/* Edge Analytics — approved navy / orange-red design direction.
   Plain, readable CSS: no framework or network dependencies.
   Design reference: ../reference/approved_homepage_visual.png
*/
:root {
  --navy-950:#07121f;
  --navy-900:#081525;
  --navy-850:#0d1b2d;
  --navy-800:#12233a;
  --navy-700:#1a2e4a;
  --orange:#ed503c;
  --orange-hover:#ff684f;
  --orange-text:#c43a2b;
  --paper:#fbfbfb;
  --paper-muted:#f1f3f5;
  --ink:#111b2b;
  --body:#3f4b5c;
  --line-light:#d7dce2;
  --line-dark:#304052;
  --rail-width:210px;
  --font:Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy-950);font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
::selection{background:#f15b47;color:#fff}
.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;z-index:100;left:12px;top:-80px;background:#fff;color:#111;padding:12px 18px;border:2px solid var(--orange)}
.skip-link:focus{top:12px}
.site-shell{min-height:100vh}
.side-rail{position:fixed;inset:0 auto 0 0;width:var(--rail-width);z-index:20;background:#091421;color:#eef2f8;border-right:1px solid #3a4758;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:16px;padding:36px 34px;color:var(--orange)}
.brand-symbol{width:32px;height:37px;flex-shrink:0}
.brand-text{color:#f5f5f7;display:flex;flex-direction:column;gap:2px;font-size:16px;line-height:1.05;letter-spacing:.045em}
.brand-text strong{font-size:18px;font-weight:650;letter-spacing:.12em}
.brand-text span{font-size:15px;font-weight:360;letter-spacing:.015em}
.nav-menu{display:flex;flex-direction:column;gap:0;margin-top:37px}
.nav-link{display:flex;align-items:center;min-height:45px;position:relative;padding:12px 18px 12px 35px;color:#d9e1eb;font-size:13px;line-height:1.35;transition:color .17s ease,background .17s ease}
.side-rail .nav-link{font-size:14px;font-weight:600}
.nav-link:hover{color:#fff;background:#16243a}
.nav-link.is-active{color:var(--orange);background:#111d30}
.nav-link.is-active::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:2px;background:var(--orange)}
.rail-bottom{padding:0 35px 42px;margin-top:auto;color:#9da8b9;font-size:11px;line-height:1.55}
.rail-bottom p{margin:15px 0 0}
.rail-rule{width:70px;border-top:1px solid #506072}
.mobile-header{display:none}
.main-area{margin-left:var(--rail-width);min-width:0}
/* Home hero: geometric image is ONLY in the right half; typography remains dominant. */
.home-hero{height:530px;min-height:530px;background:var(--navy-950);position:relative;overflow:hidden;color:#f9f9fb}
.hero-graphic{position:absolute;inset:0 0 0 42%;background:url('assets/hero-geometric.webp') center right / cover no-repeat;opacity:.89}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#081525 0%,#081525 33%,rgba(8,21,37,.90) 46%,rgba(8,21,37,.42) 68%,rgba(8,21,37,.07) 100%);pointer-events:none}
.hero-content{position:relative;z-index:2;max-width:640px;padding:64px 34px 46px 78px}
.eyebrow{font:500 10px/1.65 var(--font);text-transform:uppercase;letter-spacing:.3em;margin:0}
.eyebrow.subtle{color:#a4b2c6}
.eyebrow.red{color:var(--orange-text)}
.home-hero h1{font-weight:350;font-size:clamp(59px,5.3vw,76px);line-height:1.05;letter-spacing:-.06em;margin:24px 0 18px}
.home-hero h1 span,.inner-hero h1 span{color:var(--orange)}
.hero-lead{max-width:550px;font-size:16px;line-height:1.56;color:#dce1ea;margin:0}
.text-link{display:inline-flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.135em;text-transform:uppercase;font-weight:630;border-bottom:1px solid transparent;padding-bottom:4px;transition:color .2s ease}
.text-link span{font-size:19px;font-weight:350;transition:transform .2s}
.text-link:hover{color:var(--orange)}
.text-link:hover span{transform:translate(3px,-3px)}
.text-link.hero-cta{margin-top:27px;color:#f3f5f8}
.text-link.hero-cta::after{content:"";order:1;width:46px;border-top:1px solid var(--orange)}
.text-link.hero-cta span{order:2;color:var(--orange)}
.text-link.soft{color:#eff4f9}
.text-link.soft span{color:var(--orange)}
/* Two primary business panels: airy white editorial design */
.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--paper);scroll-margin-top:20px}
.activity-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,36%);min-width:0;min-height:285px;gap:18px;padding:30px 24px 28px 43px;border-bottom:1px solid var(--line-light)}
.activity-card+ .activity-card{border-left:1px solid var(--line-light)}
.activity-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.activity-index{display:flex;align-items:center;gap:18px;width:80%;margin-bottom:15px}
.activity-index b{font-size:22px;font-weight:400;color:var(--orange-text)}
.activity-index span{height:1px;flex:1;background:#d6dbe3}
.activity-card h3{font-size:clamp(22px,2vw,31px);letter-spacing:-.045em;line-height:1.18;font-weight:540;margin:0 0 12px}
.activity-card p{font-size:12px;line-height:1.7;color:#4c5867;max-width:370px;margin:0 0 26px}
.activity-card .text-link{margin-top:auto;font-size:9px;letter-spacing:.15em;color:#152139}
.activity-card .text-link span{font-size:16px;color:var(--orange)}
.activity-art{align-self:stretch;justify-self:stretch;width:100%;height:100%;object-fit:cover;min-height:206px;max-height:235px}
/* Research methodology section */
.approach-summary{background:#071421;color:#f5f7fa;padding:54px 44px 58px 58px;display:grid;grid-template-columns:38% 1fr;gap:32px}
.approach-intro{padding-right:24px}
.approach-intro h2{font-size:clamp(29px,3vw,42px);letter-spacing:-.035em;font-weight:350;line-height:1.22;margin:22px 0 30px}
.approach-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.pillar{padding:2px 25px 10px 23px;min-height:145px;border-left:1px solid var(--line-dark)}
.pillar-icon{color:var(--orange);display:block;height:42px;font-size:30px;font-weight:300}
.pillar h3{font-size:14px;font-weight:650;line-height:1.3;margin:8px 0 8px}
.pillar p{font-size:12px;line-height:1.62;color:#b7bfca;margin:0}
.closing-line{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:33px 57px 39px;background:var(--navy-850);border-top:1px solid #24374c;color:white}
.closing-line span{color:var(--orange);font:600 9px var(--mono);letter-spacing:.19em}
.closing-line h2{font-size:24px;line-height:1.3;letter-spacing:-.03em;font-weight:400;margin:9px 0 0}
.outline-link{border:1px solid #5d7088;padding:15px 20px;font-size:11px;font-weight:600;letter-spacing:.06em;display:flex;gap:22px;align-items:center;white-space:nowrap}
.outline-link span{color:var(--orange);font-size:17px}
.outline-link:hover{border-color:var(--orange)}
/* Shared footer */
.site-footer{background:#050e19;color:#d8e0ea;border-top:1px solid #24374b;padding:27px 40px 32px}
.footer-inner{display:flex;align-items:start;justify-content:space-between;gap:30px;max-width:1450px;margin:0 auto}
.footer-brand{font-size:12px;letter-spacing:.21em;font-weight:650}
.footer-inner p{color:#97a4b7;font-size:10px;margin:9px 0 0}
.footer-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;color:#b7c1cf;font-size:10px}
.footer-actions a:hover{color:var(--orange)}
/* Interior pages */
.inner-hero{position:relative;overflow:hidden;min-height:390px;background:var(--navy-900);color:#fff;border-bottom:1px solid #2d3b4e}
.inner-hero::after{content:"";position:absolute;inset:0 0 0 58%;background-image:linear-gradient(90deg,var(--navy-900),rgba(8,21,37,.32)),url('assets/hero-geometric.webp');background-position:center,right center;background-size:cover;opacity:.30;pointer-events:none}
.inner-container{width:min(1320px,100%);margin:0 auto;padding-left:58px;padding-right:58px}
.inner-hero .inner-container{position:relative;z-index:1;padding-top:70px;padding-bottom:70px}
.inner-hero h1{font-size:clamp(49px,5.4vw,83px);letter-spacing:-.06em;line-height:1.08;font-weight:370;margin:21px 0 25px;max-width:1020px}
.inner-hero p:not(.eyebrow){max-width:780px;color:#c6cfdc;line-height:1.67;font-size:16px;margin:0}
.inner-hero .text-link{margin-top:27px}
.content-section{padding:72px 0 78px}
.content-section.paper{background:var(--paper);color:var(--ink)}
.content-section.pale{background:var(--paper-muted);color:var(--ink)}
.content-section.dark-section{background:var(--navy-850);color:#f8fafc}
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.69fr);gap:10%;margin-bottom:35px;align-items:end}
.section-heading h2,.split-callout h2{font-size:clamp(37px,3.65vw,58px);font-weight:400;letter-spacing:-.065em;line-height:1.1;margin:16px 0 0}
.section-heading>p,.split-callout p{font-size:14px;line-height:1.78;color:#536174;margin:0}
.section-heading.dark>p,.dark-section p{color:#c2cbd8}
/* Research: table */
.table-wrap{overflow-x:auto}
.service-table{border-collapse:collapse;width:100%;table-layout:fixed;text-align:left}
.service-table th,.service-table td{border-top:1px solid var(--line-light);padding:19px 22px 23px 0;vertical-align:top}
.service-table thead th{font:650 10px/1.5 var(--mono);letter-spacing:.10em;text-transform:uppercase;color:#6c7687;border-top:2px solid #3d495b;padding:13px 22px 14px 0}
.service-table thead th:nth-child(1){width:30%}.service-table thead th:nth-child(2){width:34%}.service-table thead th:nth-child(3){width:36%}
.service-table tbody th{font-size:17px;font-weight:600;letter-spacing:-.02em}
.service-table tbody td{font-size:13px;line-height:1.75;color:#586479}
.steps-grid,.feature-three{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #b8c0cc}
.step{padding:25px 21px 6px 0;min-width:0}
.step+.step{border-left:1px solid #cad0d8;padding-left:22px}
.step span,.feature-three span{font:600 11px var(--mono);color:var(--orange-text)}
.dark-section .feature-three span{color:var(--orange)}
.step h3,.feature-three h3{font-size:19px;font-weight:560;letter-spacing:-.035em;margin:24px 0 10px}
.step p,.feature-three p{font-size:12px;line-height:1.76;color:#536174;margin:0}
.section-note{border-top:1px solid #c5ccd6;padding-top:20px;font-size:12px;line-height:1.8;color:#6b7785;margin-top:36px;max-width:960px}
.split-callout{display:grid;grid-template-columns:1fr .78fr;gap:11%;align-items:center}
.split-callout .text-link{margin-top:20px}
.split-callout .subdued{font-size:12px;color:#9facbf;margin-top:15px}
/* Trading: lifecycle and focus */
.lifecycle{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:2px solid #384759}
.lifecycle>div{border-right:1px solid #cbd1da;padding:24px 18px 11px 0;min-width:0}
.lifecycle>div+div{padding-left:18px}
.lifecycle>div:last-child{border-right:0}
.lifecycle span{color:var(--orange-text);font:650 12px var(--mono)}
.lifecycle h3{font-size:18px;font-weight:600;letter-spacing:-.03em;margin:20px 0 9px}
.lifecycle p{font-size:12px;line-height:1.73;color:#5a6575;margin:0}
.feature-three{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:38px}
.feature-three>div{padding:25px 28px 15px 0}
.feature-three>div+div{padding-left:27px;border-left:1px solid #ccd3dc}
.feature-three h3{font-size:22px}
.feature-three.on-dark{border-top-color:#617085}
.feature-three.on-dark>div+div{border-left-color:#46556b}
.feature-three.on-dark p{color:#bcc6d4}
/* Method */
.method-list{border-top:2px solid #445164}
.method-row{display:grid;grid-template-columns:65px minmax(250px,.8fr) 1fr;gap:25px;padding:25px 0;border-bottom:1px solid #d7dce2;align-items:start}
.method-row span{font:650 12px var(--mono);color:var(--orange-text)}
.method-row h3{margin:0;font-weight:580;font-size:19px;letter-spacing:-.03em}
.method-row p{margin:0;font-size:13px;line-height:1.75;color:#5e6b7a}
/* About */
.two-column-detail{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid #4e5a6e}
.two-column-detail>div{padding:32px 36px 0 0}
.two-column-detail>div+div{border-left:1px solid #d2d7df;padding-left:36px}
.two-column-detail span{color:var(--orange-text);font:600 11px var(--mono)}
.two-column-detail h3{font-size:27px;font-weight:510;letter-spacing:-.04em;margin:24px 0}
.two-column-detail p{font-size:14px;line-height:1.78;color:#596779;max-width:540px}
.two-column-detail .text-link{margin-top:14px}
/* Contact */
.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:11%}
.contact-layout h2{font-size:clamp(34px,4vw,56px);font-weight:400;letter-spacing:-.05em;margin:19px 0}
.contact-layout p{font-size:14px;line-height:1.8;color:#566274}
.contact-email{border-top:2px solid var(--orange);padding:22px 0 0;margin-top:34px;max-width:580px}
.contact-email span{display:block;color:var(--body);font-size:12px;line-height:1.5;margin-bottom:9px}
.contact-email a{display:inline-block;color:var(--ink);font-size:clamp(16px,2vw,22px);font-weight:600;line-height:1.4;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px}
.contact-email a:hover{color:var(--orange-text)}
.contact-topics>div{padding:18px 0;border-top:1px solid #d7dce2}
.contact-topics b{font-size:15px;font-weight:630}
.contact-topics p{font-size:12px;margin:5px 0 0}
.contact-boundary{font-size:12px!important;color:#6a7686!important;border-left:2px solid var(--orange);padding-left:15px;margin-top:25px}
/* Responsive */
@media(max-width:1350px){:root{--rail-width:190px}.brand{padding:30px 21px;gap:11px}.nav-link{padding-left:26px}.rail-bottom{padding-left:27px}.hero-content{padding-left:60px}.activity-card{padding-left:30px;grid-template-columns:minmax(0,1fr) 31%}.activity-card h3{font-size:25px}.activity-card p{font-size:11.5px}}
@media(max-width:1080px){.hero-content{max-width:610px}.home-hero h1{font-size:66px}.hero-graphic{left:50%}.hero-overlay{background:linear-gradient(90deg,#081525 0%,#081525 32%,rgba(8,21,37,.94) 48%,rgba(8,21,37,.32) 100%)}.activity-card{grid-template-columns:1fr}.activity-art{display:none}.approach-summary{grid-template-columns:1fr;gap:28px}.approach-intro h2{font-size:35px;margin-bottom:20px}.pillar{min-height:0}}
@media(max-width:850px){:root{--rail-width:0px}.side-rail{display:none}.mobile-header{display:flex;position:sticky;top:0;z-index:50;background:#081525;border-bottom:1px solid #374962;color:#fff;min-height:65px;align-items:center;justify-content:space-between;padding:0 21px}.mobile-header .brand{padding:8px 0;gap:9px}.mobile-header .brand-symbol{height:28px;width:27px}.mobile-header .brand-text strong{font-size:13px}.mobile-header .brand-text span{font-size:11px}.menu-toggle{padding:10px 12px;background:transparent;border:1px solid #51627b;color:#dce4ee;border-radius:0;cursor:pointer;font-size:12px}.menu-toggle span{color:var(--orange);padding-left:5px}.mobile-nav{display:none;position:absolute;top:64px;left:0;right:0;background:#0d1b2d;padding:13px 21px 24px;border-bottom:2px solid var(--orange);box-shadow:0 15px 30px #0006}.mobile-nav.is-open{display:grid}.mobile-nav .nav-link{padding:12px 15px;border-bottom:1px solid #283c54}.main-area{margin-left:0}.home-hero{height:525px;min-height:525px}.hero-content{padding-left:58px}.hero-graphic{left:47%}}
@media(max-width:640px){.home-hero{min-height:570px;height:auto}.hero-content{padding:55px 25px 58px}.home-hero h1{font-size:clamp(55px,12vw,73px);margin-top:25px}.hero-lead{font-size:15px;max-width:440px}.hero-graphic{inset:0 0 0 20%;opacity:.45}.hero-overlay{background:linear-gradient(90deg,#081525 0%,rgba(8,21,37,.95) 55%,rgba(8,21,37,.80) 100%)}.eyebrow{font-size:9px;letter-spacing:.24em}.activity-grid{grid-template-columns:1fr}.activity-card{min-height:240px;grid-template-columns:1fr 28%;padding:25px 22px;gap:12px}.activity-card+.activity-card{border-left:0;border-top:1px solid #d6dce4}.activity-art{display:block;min-height:180px;max-height:205px}.activity-card h3{font-size:23px}.activity-card p{font-size:11px}.activity-card .text-link{font-size:9px}.approach-summary{padding:47px 25px}.approach-intro h2{font-size:35px}.approach-pillars{grid-template-columns:1fr}.pillar{border-left:0;border-top:1px solid #324459;padding:17px 0;display:grid;grid-template-columns:54px 1fr;gap:0}.pillar-icon{grid-row:1/3}.pillar h3{margin:2px 0 6px}.pillar p{grid-column:2}.closing-line{padding:32px 25px;display:block}.closing-line .outline-link{display:inline-flex;margin-top:21px}.site-footer{padding:28px 24px}.footer-inner{display:block}.footer-actions{margin-top:25px}.inner-hero{min-height:0}.inner-hero .inner-container{padding-top:58px;padding-bottom:59px}.inner-hero h1{font-size:clamp(47px,10.7vw,67px)}.inner-hero p:not(.eyebrow){font-size:14px}.inner-container{padding-left:25px;padding-right:25px}.content-section{padding:60px 0 67px}.section-heading{display:block}.section-heading>p{margin-top:20px;font-size:13px}.section-heading h2,.split-callout h2{font-size:clamp(34px,9vw,49px)}.table-wrap{overflow:visible}.service-table,.service-table tbody,.service-table tr,.service-table td,.service-table th{display:block;width:100%!important}.service-table thead{display:none}.service-table tr{border-bottom:1px solid var(--line-light);padding:16px 0 20px}.service-table th,.service-table td{border-top:0;padding:5px 0}.service-table tbody th{font-size:18px}.service-table td{font-size:12px}.service-table td:nth-child(2)::before{content:'SCOPE';display:block;color:var(--orange);font:650 10px var(--mono);letter-spacing:.1em;margin-bottom:5px}.service-table td:nth-child(3)::before{content:'DELIVERABLES';display:block;color:var(--orange);font:650 10px var(--mono);letter-spacing:.1em;margin-bottom:5px}.steps-grid,.feature-three,.lifecycle,.two-column-detail,.contact-layout,.split-callout{display:block}.step,.step+.step,.feature-three>div,.feature-three>div+div,.lifecycle>div,.lifecycle>div+div,.two-column-detail>div,.two-column-detail>div+div{padding:22px 0;border-left:0;border-right:0;border-bottom:1px solid #d4dce4}.step h3,.feature-three h3,.lifecycle h3{margin-top:15px}.split-callout>div+div{margin-top:25px}.feature-three.on-dark>div+div{border-left:0;border-bottom-color:#4a5970}.method-row{grid-template-columns:34px 1fr;gap:9px 17px}.method-row p{grid-column:2;font-size:12px}.method-row h3{font-size:18px}.contact-layout>div+div{margin-top:42px}}
@media(max-width:390px){.activity-card{grid-template-columns:1fr}.activity-art{display:none}.home-hero h1{font-size:53px}}
/* Functional refinements to the approved V5 layout. */
.side-rail{overflow-y:auto}
.brand,.rail-bottom{flex-shrink:0}
.home-hero{height:auto}
.service-table caption{text-align:left}
.contact-privacy{font-size:12px!important}
@media(max-width:390px){.home-hero h1{font-size:clamp(38px,13.5vw,53px)}}
@media(max-width:850px){
  html{scroll-padding-top:85px}
  .mobile-nav{max-height:calc(100vh - 65px);max-height:calc(100dvh - 65px);overflow-y:auto;overscroll-behavior:contain}
  html:not(.js) .mobile-header{flex-wrap:wrap}
  html:not(.js) .menu-toggle{display:none}
  html:not(.js) .mobile-nav{display:grid;position:static;flex-basis:100%;max-height:none;box-shadow:none}
}
@media(max-width:640px){
  .service-table thead{display:table-header-group;position:absolute;width:1px!important;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .service-table td:nth-child(2)::before,.service-table td:nth-child(3)::before{color:var(--orange-text)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
