/* ============================================================
   Electric Owl Consulting — site stylesheet
   Palette: Electric Owl Studios brand (cream / ink / coral;
   gold·teal·olive as rare accents). Display: Bricolage Grotesque
   (distinct from EOS). Body: Spline Sans Mono (shared technical tie).
   System: light, flat, hairline rules, structural "spec-sheet" layout.
   ============================================================ */
:root{
  /* brand palette (EOS) */
  --cream:#fffaef; --cream-2:#f6efdd; --cream-3:#efe7d2;
  --sand:#dbd2be; --sand-3:#cdc3aa;
  --ink:#2b2d2c; --ink-700:#3a3d3b; --ink-600:#4c4f4c;
  --coral:#e05f52; --coral-600:#cc4d41; --coral-700:#b13f35; --coral-100:#f9e2dd;
  --gold:#f8b116; --teal:#4e8989; --olive:#7a7837;

  --text-strong:#2b2d2c; --text-body:#34352f; --text-muted:#6c6a5c; --text-faint:#9b9783;
  --line:rgba(43,45,44,.14); --line-2:rgba(43,45,44,.26); --line-strong:rgba(43,45,44,.5); --line-ink:#2b2d2c;

  --display:'Bricolage Grotesque',sans-serif;
  --mono:'Spline Sans Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --maxw:1200px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text-body);
  font-family:var(--mono);font-size:15px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--coral);color:#fff}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}

/* type helpers */
.disp{font-family:var(--display);font-weight:700;line-height:1.0;letter-spacing:-.02em;color:var(--text-strong)}
.eyebrow{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}
.lead{font-size:16.5px;line-height:1.7;color:var(--text-body)}

/* ---------- aperture mark ---------- */
.mark{flex:none}
.mark .ap-stroke{stroke:var(--ink)}
.mark .ap-dot{fill:var(--coral)}

/* ---------- header / nav ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,250,239,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:13px}
.brand svg{width:33px;height:33px}
.brand img.mark{height:29px;width:auto;display:block}
.brand img.mark-sm{height:23px}
.brand-name{font-family:var(--display);font-weight:800;font-size:19px;line-height:.84;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink)}
.brand-name small{display:block;font-family:var(--mono);font-weight:600;font-size:9.5px;letter-spacing:.3em;color:var(--coral);margin-top:3px}
.nav-links{display:flex;gap:32px}
.nav-links a{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);transition:color .18s;position:relative;padding:4px 0}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--ink)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--coral)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-weight:600;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  padding:13px 22px;border:1.5px solid var(--ink);color:var(--ink);background:transparent;transition:background .2s,color .2s,transform .1s,border-color .2s;white-space:nowrap}
.btn:hover{background:var(--ink);color:var(--cream)}
.btn:active{transform:scale(.975)}
.btn.solid{background:var(--coral);border-color:var(--coral);color:#fff}
.btn.solid:hover{background:var(--coral-600);border-color:var(--coral-600)}
.btn.sm{padding:10px 16px}
.nav .btn{padding:11px 17px}

/* ---------- section frame ---------- */
.section{padding:92px 0;border-bottom:1.5px solid var(--ink)}
.section.tight{padding:72px 0}
.sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:46px}
.sec-head .idx{font-family:var(--mono);font-weight:600;font-size:12px;color:var(--coral);letter-spacing:.1em}
.sec-head h2{font-family:var(--display);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.6rem);letter-spacing:-.025em;margin:0;color:var(--text-strong)}
.sec-head .sub{margin-left:auto;max-width:34ch;color:var(--text-muted);font-size:13.5px;line-height:1.6}

/* ---------- hero ---------- */
.hero{border-bottom:1.5px solid var(--ink);position:relative;overflow:hidden;background:var(--cream)}
.hero-inner{padding:84px 0 92px}
.hero .eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.hero .eyebrow .bar{width:44px;height:3px;background:var(--coral)}
.hero .eyebrow .bolt-icon{height:24px;width:auto;display:block}
h1.hero-h{font-family:var(--display);font-weight:700;font-size:clamp(2.9rem,6.6vw,5.6rem);margin:0;max-width:17ch;letter-spacing:-.03em;line-height:1.0;color:var(--text-strong)}
h1.hero-h .accent{color:var(--coral)}
.hero-sub{max-width:56ch;margin:30px 0 0;color:var(--text-body);font-size:16.5px;line-height:1.72}
.hero-sub b{color:var(--ink);font-weight:600}
.hero-cta{display:flex;gap:13px;margin-top:36px;flex-wrap:wrap}
.hero-data{display:grid;grid-template-columns:repeat(4,1fr);margin-top:68px;border-top:1.5px solid var(--ink)}
.hero-data .d{padding:26px 28px 30px;border-right:1px solid var(--line)}
.hero-data .d:last-child{border-right:none}
.hero-data .d .n{font-family:var(--display);font-weight:800;font-size:clamp(2.3rem,4.2vw,3.4rem);line-height:.86;letter-spacing:-.03em;color:var(--ink)}
.hero-data .d:first-child .n{color:var(--coral)}
.hero-data .d .l{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-top:12px}

/* ---------- expertise band ---------- */
.expertise{background:var(--ink);color:var(--cream);border-bottom:1.5px solid var(--ink)}
.expertise .wrap{padding-top:84px;padding-bottom:84px}
.expertise .lead-row{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:48px}
.expertise .eyebrow{color:var(--gold)}
.expertise h2{font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,3.6vw,2.8rem);letter-spacing:-.02em;margin:14px 0 0;color:var(--cream);line-height:1.04}
.expertise h2 .accent{color:var(--coral)}
.expertise .lead-row p{margin:0;color:rgba(255,250,239,.72);font-size:15px;line-height:1.7}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,250,239,.16);border:1px solid rgba(255,250,239,.16)}
.exp-cell{background:var(--ink);padding:28px 26px 30px;display:flex;flex-direction:column;gap:10px;transition:background .25s}
.exp-cell:hover{background:var(--ink-700)}
.exp-cell .xn{font-family:var(--mono);font-size:11px;color:var(--gold);letter-spacing:.14em}
.exp-cell h3{font-family:var(--display);font-weight:700;font-size:1.35rem;margin:0;line-height:1.02;color:var(--cream);letter-spacing:-.01em}
.exp-cell p{margin:0;font-size:13.5px;color:rgba(255,250,239,.66);line-height:1.6}

/* ---------- problem ---------- */
.problem-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px}
.problem-lead{font-family:var(--display);font-weight:600;font-size:clamp(1.5rem,2.7vw,2.15rem);line-height:1.12;letter-spacing:-.02em;color:var(--text-strong)}
.problem-lead .accent{color:var(--coral)}
.problem-body{color:var(--text-body)}
.problem-body p+p{margin-top:18px}
.problem-body b{color:var(--ink);font-weight:600}

/* ---------- engaged ---------- */
.engaged{background:var(--cream-2)}
.engaged-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.states{display:flex;border:1.5px solid var(--ink);background:var(--cream)}
.state-card{flex:1;padding:26px 24px;position:relative}
.state-card+.state-card{border-left:1.5px solid var(--ink)}
.state-card .st{font-family:var(--display);font-weight:800;font-size:38px;line-height:.85;letter-spacing:-.02em;color:var(--ink)}
.state-card .sl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-top:10px}
.state-card .dot{position:absolute;top:22px;right:22px;width:9px;height:9px;background:var(--coral);border-radius:50%}
.engaged-copy h3{font-family:var(--display);font-weight:700;font-size:1.5rem;margin:0 0 14px;letter-spacing:-.01em;color:var(--text-strong)}
.engaged-copy p{color:var(--text-body);margin:0;max-width:48ch}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.tag{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--line-2);padding:7px 11px;background:var(--cream)}

/* ---------- engagement footprint ---------- */
.footprint{display:grid;grid-template-columns:repeat(5,1fr);border:1.5px solid var(--ink);background:var(--cream)}
.fp-card{padding:30px 22px;position:relative;border-right:1.5px solid var(--ink)}
.fp-card:last-child{border-right:none}
.fp-card .st{font-family:var(--display);font-weight:800;font-size:34px;line-height:.85;letter-spacing:-.02em;color:var(--ink)}
.fp-card .sl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-top:10px}
.fp-card .dot{position:absolute;top:18px;right:18px;width:9px;height:9px;background:var(--coral);border-radius:50%}
.fp-foot{display:flex;justify-content:space-between;gap:36px;margin-top:22px;flex-wrap:wrap;align-items:flex-start}
.fp-legend{display:flex;align-items:center;gap:9px;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0;white-space:nowrap}
.fp-legend .dot{width:9px;height:9px;background:var(--coral);border-radius:50%;flex:none}
.fp-note{margin:0;max-width:66ch;color:var(--text-body);font-size:14px;line-height:1.6}

/* ---------- spec rows (track record) ---------- */
.spec{border:1.5px solid var(--ink)}
.spec-row{display:grid;grid-template-columns:240px 300px 1fr;border-bottom:1px solid var(--line);align-items:stretch;transition:background .2s}
.spec-row:last-child{border-bottom:none}
.spec-row:hover{background:var(--cream-2)}
.spec-num{padding:34px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;background:var(--cream-3)}
.spec-num .big{font-family:var(--display);font-weight:800;font-size:2.5rem;line-height:.82;letter-spacing:-.03em;color:var(--ink)}
.spec-num .unit{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-top:10px}
.spec-id{padding:34px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:9px}
.spec-id .badge{align-self:flex-start;white-space:nowrap;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;background:var(--coral-100);color:var(--coral-700);border:1px solid var(--coral)}
.spec-id h3{font-family:var(--display);font-weight:700;font-size:1.5rem;margin:0;line-height:.98;letter-spacing:-.015em;color:var(--text-strong)}
.spec-id .loc{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.spec-desc{padding:34px 30px;display:flex;align-items:center;color:var(--text-body);font-size:14.5px;line-height:1.6}
.spec-desc b{color:var(--ink);font-weight:600}

/* ---------- track-record cases (image + stat + detail, unified) ---------- */
.cases{border:1.5px solid var(--ink)}
.case{display:grid;grid-template-columns:300px 188px 1fr;border-bottom:1px solid var(--line);transition:background .2s}
.case:last-child{border-bottom:none}
.case:hover{background:var(--cream-2)}
.case-img{position:relative;overflow:hidden;border-right:1px solid var(--line);min-height:236px}
.case-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.02);transition:transform .6s var(--ease)}
.case:hover .case-img img{transform:scale(1.04)}
.case-num{padding:30px 26px;border-right:1px solid var(--line);background:var(--cream-3);display:flex;flex-direction:column;justify-content:center}
.case-num .big{font-family:var(--display);font-weight:800;font-size:2.4rem;line-height:.82;letter-spacing:-.03em;color:var(--ink)}
.case-num .unit{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-top:10px}
.case-c{padding:30px 32px;display:flex;flex-direction:column;justify-content:center;gap:9px}
.case-c .badge{align-self:flex-start;white-space:nowrap;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:4px 9px;background:var(--coral-100);color:var(--coral-700);border:1px solid var(--coral)}
.case-c h3{font-family:var(--display);font-weight:700;font-size:1.5rem;margin:0;line-height:.98;letter-spacing:-.015em;color:var(--text-strong)}
.case-c .loc{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.case-c p{margin:4px 0 0;color:var(--text-body);font-size:14px;line-height:1.55}
.case-c p b{color:var(--ink);font-weight:600}

/* ---------- who ---------- */
.who-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1.5px solid var(--ink)}
.who-card{padding:34px 28px 38px;display:flex;flex-direction:column;gap:14px;min-height:280px;transition:background .25s}
.who-card:hover{background:var(--cream-2)}
.who-card+.who-card{border-left:1px solid var(--line)}
.who-card .wn{font-family:var(--display);font-weight:800;font-size:26px;color:var(--coral);line-height:1}
.who-card h3{font-family:var(--display);font-weight:700;font-size:1.4rem;margin:0;line-height:1.04;letter-spacing:-.01em;color:var(--text-strong)}
.who-card p{margin:0;color:var(--text-body);font-size:14px}
.who-card .arrow{margin-top:auto;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);transition:color .2s}
.who-card:hover .arrow{color:var(--coral)}

/* ---------- clients / networks ---------- */
.clients{background:var(--cream-2)}
.clients-grid{display:grid;grid-template-columns:repeat(4,1fr);border:0.75px solid var(--ink)}
.client{display:grid;place-items:center;padding:30px 22px;min-height:116px;border:0.75px solid var(--ink)}
.client img{max-height:34px;max-width:142px;width:auto;height:auto;filter:grayscale(1);opacity:.58;transition:filter .25s,opacity .25s}
.client:hover img{filter:none;opacity:1}

/* ---------- principals (home) ---------- */
.ph-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ph-card{display:grid;grid-template-columns:148px 1fr;gap:26px;border:1.5px solid var(--ink);padding:26px;background:var(--cream);transition:background .2s}
.ph-card:hover{background:var(--cream-2)}
.ph-photo img{width:100%;display:block;filter:grayscale(1) contrast(1.04);border:1px solid var(--ink)}
.ph-info .ph-role{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--coral);margin-bottom:8px}
.ph-info h3{font-family:var(--display);font-weight:800;font-size:1.6rem;margin:0 0 12px;letter-spacing:-.02em;color:var(--text-strong);line-height:1}
.ph-info p{margin:0 0 16px;color:var(--text-body);font-size:14px;line-height:1.6}
.ph-link{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);transition:color .2s}
.ph-card:hover .ph-link{color:var(--coral)}

/* ---------- cta ---------- */
.cta{background:var(--ink);color:var(--cream);text-align:center;border-bottom:1.5px solid var(--ink)}
.cta .wrap{padding:104px 40px}
.cta .eyebrow{color:var(--gold);justify-content:center;display:flex;margin-bottom:18px}
.cta h2{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,5vw,3.8rem);margin:0 0 22px;letter-spacing:-.03em;color:var(--cream)}
.cta p{color:rgba(255,250,239,.74);max-width:50ch;margin:0 auto 34px;font-size:15.5px}
.cta .btn{border-color:var(--cream);color:var(--cream)}
.cta .btn:hover{background:var(--cream);color:var(--ink)}
.cta .btn.solid{background:var(--coral);border-color:var(--coral);color:#fff}
.cta .btn.solid:hover{background:var(--coral-600);border-color:var(--coral-600)}

/* ---------- footer ---------- */
.site-footer{background:var(--cream);padding:56px 0 48px}
.foot{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.foot .fnote{max-width:50ch;color:var(--text-faint);font-size:12.5px;line-height:1.7;margin:16px 0 0}
.foot .fcols{display:flex;gap:64px;flex-wrap:wrap}
.foot .fcol h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);margin:0 0 14px}
.foot .fcol a{display:block;font-size:13px;color:var(--text-body);margin-bottom:9px;transition:color .18s}
.foot .fcol a:hover{color:var(--coral)}

/* ---------- page hero (interior pages) ---------- */
.page-hero{border-bottom:1.5px solid var(--ink);padding:72px 0 64px}
.page-hero .eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.page-hero .eyebrow .bar{width:44px;height:3px;background:var(--coral)}
.page-hero h1{font-family:var(--display);font-weight:700;font-size:clamp(2.4rem,5.2vw,4.2rem);margin:0;letter-spacing:-.03em;line-height:1.0;max-width:18ch;color:var(--text-strong)}
.page-hero p{max-width:60ch;margin:24px 0 0;color:var(--text-body);font-size:16.5px;line-height:1.7}

/* ---------- track-record image strip ---------- */
.work-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}
.work-card{border:1.5px solid var(--ink);overflow:hidden;background:var(--cream)}
.work-card .wimg{aspect-ratio:16/10;overflow:hidden;border-bottom:1.5px solid var(--ink)}
.work-card .wimg img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02);transition:transform .6s var(--ease)}
.work-card:hover .wimg img{transform:scale(1.045)}
.work-card .wcap{padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.work-card .wcap .t{font-family:var(--display);font-weight:700;font-size:14px;color:var(--ink)}
.work-card .wcap .m{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap}

/* ---------- services list ---------- */
.svc-list{border-top:1.5px solid var(--ink)}
.svc-item{display:grid;grid-template-columns:120px 1fr;gap:36px;padding:44px 0;border-bottom:1px solid var(--line)}
.svc-item:last-child{border-bottom:none}
.svc-item .svc-n{font-family:var(--display);font-weight:800;font-size:3rem;line-height:.78;color:var(--coral);letter-spacing:-.03em}
.svc-c h3{font-family:var(--display);font-weight:700;font-size:1.6rem;margin:0 0 12px;letter-spacing:-.015em;color:var(--text-strong)}
.svc-c p{margin:0;color:var(--text-body);max-width:70ch;font-size:15px}
.svc-c p b{color:var(--ink);font-weight:600}
.svc-c ul{margin:18px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 30px}
.svc-c li{position:relative;padding-left:18px;font-size:13px;color:var(--text-muted);line-height:1.45}
.svc-c li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;background:var(--coral)}

/* ---------- engagement / fees panel ---------- */
.engage{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center;background:var(--ink);color:var(--cream);padding:52px;border:1.5px solid var(--ink)}
.engage .eyebrow{color:var(--gold)}
.engage .fee{font-family:var(--display);font-weight:800;font-size:clamp(2.6rem,5vw,3.8rem);line-height:.86;letter-spacing:-.03em;color:var(--cream);margin:14px 0 8px}
.engage .fee small{font-size:.3em;color:var(--gold);letter-spacing:.1em;display:block;margin-top:14px;font-weight:600}
.engage-r p{margin:0 0 14px;color:rgba(255,250,239,.78);font-size:15px;line-height:1.7}
.engage-r p:last-child{margin-bottom:0}
.engage-r b{color:var(--cream);font-weight:600}

/* ---------- principals (about) ---------- */
.principal{display:grid;grid-template-columns:300px 1fr;gap:52px;padding:60px 0;border-bottom:1.5px solid var(--ink);align-items:start}
.principal .photo{border:1.5px solid var(--ink);background:var(--cream-3);overflow:hidden;position:relative}
.principal .photo img{width:100%;display:block;filter:grayscale(1) contrast(1.04) brightness(.98)}
.principal .photo .ptag{position:absolute;left:0;bottom:0;background:var(--ink);color:var(--cream);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:7px 12px}
.principal .prole{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);margin-bottom:10px}
.principal .pname{font-family:var(--display);font-weight:800;font-size:2.1rem;margin:0 0 4px;letter-spacing:-.02em;color:var(--text-strong);line-height:1}
.principal .pwhich{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin-bottom:20px}
.principal .pbio p{margin:0 0 14px;color:var(--text-body);max-width:70ch}
.principal .pbio p b{color:var(--ink);font-weight:600}
.pcred{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.pcred span{font-size:11px;letter-spacing:.04em;color:var(--text-muted);border:1px solid var(--line-2);padding:6px 11px;background:var(--cream)}

/* ---------- big statement (why) ---------- */
.statement{background:var(--ink);color:var(--cream)}
.statement .wrap{padding:96px 40px}
.statement .eyebrow{color:var(--gold);margin-bottom:24px}
.statement p{font-family:var(--display);font-weight:600;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.2;letter-spacing:-.02em;color:var(--cream);max-width:24ch;margin:0}
.statement p .accent{color:var(--coral)}

/* ---------- contact form ---------- */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:start}
.contact-intro h2{font-family:var(--display);font-weight:700;font-size:clamp(1.6rem,3vw,2.2rem);margin:0 0 16px;letter-spacing:-.02em;color:var(--text-strong)}
.contact-intro p{color:var(--text-body);max-width:46ch;margin:0 0 28px;font-size:15.5px;line-height:1.7}
.contact-meta{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}
.contact-meta .row{display:flex;gap:14px;margin-bottom:14px;align-items:baseline}
.contact-meta .row .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint);width:90px;flex:none}
.contact-meta .row .v{color:var(--text-body);font-size:14px}
.form{background:var(--cream-2);border:1.5px solid var(--ink);padding:38px}
.field{margin-bottom:22px}
.field>label{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:9px}
.field input,.field textarea{width:100%;background:var(--cream);border:1.5px solid var(--line-2);padding:13px 14px;font-family:var(--mono);font-size:14px;color:var(--ink);border-radius:0;transition:border-color .18s}
.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}
.field input:focus,.field textarea:focus{border-color:var(--coral);outline:none}
.field textarea{min-height:128px;resize:vertical;line-height:1.6}
.choice{display:flex;gap:9px;flex-wrap:wrap}
.choice label{border:1.5px solid var(--line-2);padding:10px 14px;cursor:pointer;font-size:12.5px;letter-spacing:.02em;transition:background .18s,color .18s,border-color .18s;background:var(--cream)}
.choice label:hover{border-color:var(--ink)}
.choice input{position:absolute;opacity:0;width:0;height:0}
.choice label:has(input:checked){background:var(--ink);color:var(--cream);border-color:var(--ink)}
.form .btn{width:100%;justify-content:center;margin-top:6px}
.form-note{font-size:11.5px;color:var(--text-faint);margin:14px 0 0;line-height:1.6}
.form-ok{display:none;background:var(--ink);color:var(--cream);padding:38px;border:1.5px solid var(--ink);text-align:center}
.form-ok.show{display:block}
.form-ok .chk{width:46px;height:46px;border:2px solid var(--coral);border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;color:var(--coral)}
.form-ok h3{font-family:var(--display);font-weight:700;font-size:1.5rem;margin:0 0 10px;color:var(--cream)}
.form-ok p{color:rgba(255,250,239,.74);margin:0;font-size:14px}

/* ---------- motion ---------- */
@media (prefers-reduced-motion:no-preference){
  .rise{animation:rise .6s var(--ease) both}
  .stagger>*:nth-child(1){animation-delay:.04s}
  .stagger>*:nth-child(2){animation-delay:.1s}
  .stagger>*:nth-child(3){animation-delay:.16s}
  .stagger>*:nth-child(4){animation-delay:.22s}
  @keyframes rise{from{transform:translateY(16px)}to{transform:none}}
}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .problem-grid,.engaged-grid,.expertise .lead-row{grid-template-columns:1fr;gap:34px}
  .hero-data{grid-template-columns:repeat(2,1fr)}
  .hero-data .d:nth-child(2){border-right:none}
  .exp-grid{grid-template-columns:1fr}
  .spec-row{grid-template-columns:1fr}
  .spec-num,.spec-id{border-right:none;border-bottom:1px solid var(--line)}
  .case{grid-template-columns:1fr}
  .case-img{border-right:none;border-bottom:1px solid var(--line);min-height:200px}
  .case-num{border-right:none;border-bottom:1px solid var(--line)}
  .who-grid{grid-template-columns:1fr}
  .who-card+.who-card{border-left:none;border-top:1px solid var(--line)}
  .clients-grid{grid-template-columns:repeat(3,1fr)}
  .ph-grid{grid-template-columns:1fr}
  .work-strip{grid-template-columns:1fr}
  .svc-item{grid-template-columns:1fr;gap:14px}
  .svc-c ul{grid-template-columns:1fr}
  .engage{grid-template-columns:1fr;gap:28px;padding:36px}
  .principal{grid-template-columns:1fr;gap:26px}
  .principal .photo{max-width:300px}
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .nav-links{display:none}
}
@media (max-width:620px){
  .wrap{padding:0 22px}
  .hero-data{grid-template-columns:1fr}
  .hero-data .d{border-right:none;border-bottom:1px solid var(--line)}
  .footprint{grid-template-columns:1fr}
  .fp-card{border-right:none;border-bottom:1.5px solid var(--ink)}
  .fp-card:last-child{border-bottom:none}
  .clients-grid{grid-template-columns:repeat(2,1fr)}
  .ph-card{grid-template-columns:1fr;gap:16px}
  .ph-photo{max-width:150px}
  .foot{flex-direction:column;gap:32px}
}
