/* =================================================================
   AMANA PARTNERSHIP — shared stylesheet (WordPress-ready)
   Style: Exaggerated Minimalism + Editorial Grid · brand identity
   ================================================================= */
:root{
  --paper:#ffffff; --paper-2:#f5f7f6; --paper-3:#eceeed;
  --ink:#121a1f; --ink-2:#2a3138;
  --ink-dim:rgba(18,26,31,.64); --ink-faint:rgba(18,26,31,.42); --ink-line:rgba(18,26,31,.12);
  --mint:#00d1a0; --mint-press:#00b389; --mint-bright:#2bf0c0; --mint-tint:rgba(0,209,160,.1);
  --coral:#00d1a0; --purple:#0aa886; /* retuned to the disciplined palette: white · navy · gunmetal · mint */
  --navy:#0f1c27; --navy-2:#121a1f; --gun:#1a232a;
  --fg-dim:rgba(255,255,255,.72); --line:rgba(255,255,255,.13);
  --font:"Inter Tight",-apple-system,Helvetica,Arial,sans-serif;
  /* "serif" token now maps to the clean sans — pure-sans direction (Avanade) */
  --serif:"Inter Tight",-apple-system,Helvetica,Arial,sans-serif;
  --mono:"Inter Tight",system-ui,sans-serif;
  --maxw:1440px; --gut:clamp(24px,4.5vw,64px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
/* modern web baseline: anchor offset under fixed nav + balanced headings, tidy paragraphs */
[id]{scroll-margin-top:100px}
h1,h2,h3,h4{text-wrap:balance}
p,li,.acc-intro,.hero-sub{text-wrap:pretty}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
::selection{background:var(--mint);color:#08231c}
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:4px}
.dark :focus-visible{outline-color:var(--mint-bright)}
/* pure-sans direction — remove italic from former serif accents & copy */
em,i,.italic-serif,.hero-sub,.story .lead,.quote .mark,.marquee span,.flow .verb,.meaning .ar{font-style:normal !important}

[data-rv]{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
[data-rv].in{opacity:1;transform:none}
[data-rv-d="1"]{transition-delay:.08s}[data-rv-d="2"]{transition-delay:.16s}[data-rv-d="3"]{transition-delay:.24s}[data-rv-d="4"]{transition-delay:.32s}[data-rv-d="5"]{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){[data-rv]{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto}}

.kick{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--coral);font-weight:500;display:inline-flex;align-items:center;gap:12px}
.kick::before{content:"";width:26px;height:1px;background:var(--coral)}
.kick.on{color:var(--coral)}.kick.on::before{background:var(--coral)}

.btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:14px 26px;border-radius:999px;font-weight:600;font-size:15px;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn .a{width:16px;height:10px;position:relative;transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.btn .a::before{content:"";position:absolute;top:50%;left:0;right:2px;height:1.5px;background:currentColor;transform:translateY(-50%)}
.btn .a::after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:translateY(-50%) rotate(45deg)}
.btn:hover .a{transform:translateX(4px)}
.btn-mint{background:var(--mint);color:#08231c;font-weight:700}.btn-mint:hover{background:var(--mint-bright)}
.btn-ghost{border-color:var(--ink-line);color:var(--ink)}.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-ghost-l{border-color:var(--line);color:#fff}.btn-ghost-l:hover{background:rgba(255,255,255,.1)}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .35s,box-shadow .35s,backdrop-filter .35s}
.nav.scrolled{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(1.2) blur(14px);backdrop-filter:saturate(1.2) blur(14px);box-shadow:0 1px 0 var(--ink-line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:inline-flex;align-items:center;gap:12px}
.brand img{width:44px;height:44px;border-radius:11px}
.brand-tx b{display:block;font-weight:700;font-size:16px;letter-spacing:-.02em;line-height:1}
.brand-tx span{font-size:11px;color:var(--ink-dim);letter-spacing:.04em}
.nav-links{display:flex;gap:6px;align-items:center}
.nav-links a{padding:10px 16px;font-weight:500;font-size:15px;color:var(--ink-2);border-radius:999px;position:relative}
.nav-links a::after{content:"";position:absolute;left:16px;right:16px;bottom:6px;height:1.5px;background:var(--mint);transform:scaleX(0);transform-origin:0;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.nav-links a:hover::after,.nav-links a.current::after{transform:scaleX(1)}
.nav-cta{display:flex;align-items:center;gap:14px}
.burger{display:none;flex-direction:column;gap:5px;width:46px;height:46px;align-items:center;justify-content:center;background:none;border:0}
.burger span{width:22px;height:2px;background:var(--ink);border-radius:2px}
@media(max-width:900px){.nav-links{display:none}.nav-cta .btn{display:none}.burger{display:flex}}

/* hero */
.hero{padding:clamp(150px,20vh,230px) 0 clamp(60px,9vh,110px)}
.hero-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(28px,5vh,56px)}
.hero-sub{font-family:var(--font);font-size:clamp(17px,1.45vw,21px);line-height:1.55;color:var(--ink-dim);max-width:60ch;margin:clamp(22px,3.2vh,34px) 0 0}
.hero h1{font-weight:800;font-size:clamp(46px,8.6vw,128px);line-height:1.02;letter-spacing:-.02em;margin:0;text-wrap:balance}
.hero h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--coral);letter-spacing:-.02em}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-top:clamp(36px,6vh,72px)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-scroll{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);display:inline-flex;align-items:center;gap:10px}
.hero-scroll .ln{width:46px;height:1px;background:var(--ink-line);position:relative;overflow:hidden}
.hero-scroll .ln::after{content:"";position:absolute;inset:0;background:var(--mint);transform:translateX(-100%);animation:slide 2.4s ease-in-out infinite}
@keyframes slide{50%{transform:translateX(0)}100%{transform:translateX(100%)}}
@media(max-width:760px){.hero-sub{text-align:left}.hero-top{align-items:flex-start}}
@media(max-width:520px){.hero-cta{flex-direction:column;align-items:stretch;width:100%}.hero-cta .btn{width:100%;justify-content:center}}

/* page banner (interior heroes) */
.pbanner{padding:clamp(140px,18vh,210px) 0 clamp(50px,7vh,90px);background:var(--navy);color:#fff;position:relative;overflow:hidden}
.pbanner::before{content:"";position:absolute;inset:0;background:url(amana-hero-poster.jpg) center 30%/cover no-repeat;opacity:.26;filter:grayscale(.55) brightness(.66) contrast(1.05);pointer-events:none}
.pbanner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,20,.3),rgba(10,16,20,.72)),linear-gradient(112deg,rgba(255,255,255,.06) 0%,rgba(255,255,255,0) 26%),radial-gradient(60% 70% at 88% 6%,rgba(43,240,192,.15),transparent 62%);pointer-events:none}
.pbanner .wrap{position:relative;z-index:2}
.pbanner .kick{position:relative}
.pbanner h1{position:relative;font-weight:800;font-size:clamp(46px,7.4vw,108px);line-height:1.06;letter-spacing:-.018em;margin:28px 0 0;max-width:24ch;text-wrap:balance}
.pbanner h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--coral)}
.pbanner p{position:relative;font-family:var(--serif);font-size:clamp(17px,1.5vw,22px);line-height:1.5;color:var(--fg-dim);margin:26px 0 0;max-width:46ch}

/* marquee */
.marquee{border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);padding:22px 0;overflow:hidden;white-space:nowrap}
.marquee-tr{display:inline-flex;animation:mq 28s linear infinite;will-change:transform}
.marquee:hover .marquee-tr{animation-play-state:paused}
.marquee span{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.6vw,34px);color:var(--ink-2);padding:0 28px;display:inline-flex;align-items:center;gap:28px}
.marquee span::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--mint)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-tr{animation:none}}

/* sections */
.sec{padding:clamp(80px,11vw,150px) 0}
.sec.alt{background:var(--paper-2)}
.sec.dark{background:var(--navy);color:#fff}
/* numbered editorial section headers — hairline rule, mono side label, heading right */
body{counter-reset:sec}
.shead{display:grid;grid-template-columns:minmax(150px,210px) 1fr;column-gap:clamp(24px,4vw,72px);align-items:start;max-width:none;border-top:1px solid var(--ink-line);padding-top:clamp(20px,2.4vw,30px);margin-bottom:clamp(44px,5vw,72px);counter-increment:sec}
.sec.dark .shead,.cta .shead{border-top-color:var(--line)}
.shead .kick{grid-column:1;margin-top:9px}
.shead .kick::before{content:counter(sec,decimal-leading-zero);width:auto;height:auto;background:none;color:var(--ink-faint);font-weight:500}
.dark .shead .kick::before{color:rgba(255,255,255,.38)}
.shead h2{grid-column:2;font-weight:800;font-size:clamp(34px,4.6vw,68px);line-height:1.1;letter-spacing:-.018em;margin:0}
.shead h2 em,.cta-h em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--coral)}
.dark .shead h2 em,.dark .cta-h em{color:var(--coral)}
.shead p{grid-column:2;font-family:var(--serif);font-size:clamp(17px,1.4vw,21px);line-height:1.55;color:var(--ink-dim);margin-top:18px;max-width:54ch}
.dark .shead p{color:var(--fg-dim)}
@media(max-width:760px){.shead{grid-template-columns:1fr;row-gap:14px}.shead .kick{margin-top:0}.shead h2,.shead p{grid-column:1}}

/* the meaning of amana — split identity statement */
.meaning{display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(32px,5vw,80px);align-items:center}
.meaning .ar{font-family:var(--serif);font-size:clamp(80px,11vw,180px);line-height:.9;color:var(--mint);font-style:italic}
.meaning-body p{font-family:var(--serif);font-size:clamp(21px,2.3vw,34px);line-height:1.32;letter-spacing:-.01em;color:var(--ink);max-width:26ch}
.meaning-body p em{color:var(--coral);font-style:italic}
.meaning-body .small{font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink-dim);margin-top:26px;max-width:52ch}
@media(max-width:820px){.meaning{grid-template-columns:1fr;gap:28px}}

/* services editorial list */
.srv{border-top:1px solid var(--ink-line)}
.srv a{display:grid;grid-template-columns:auto 1.1fr 1.4fr auto;gap:28px;align-items:center;padding:clamp(26px,3vw,40px) 6px;border-bottom:1px solid var(--ink-line);transition:padding-left .4s cubic-bezier(.16,1,.3,1),background .4s}
.srv a:hover{padding-left:22px;background:var(--mint-tint)}
.srv-n{font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:var(--ink-faint);transition:color .3s}
.srv a:hover .srv-n{color:var(--mint)}
.srv-t{font-weight:700;font-size:clamp(22px,2.6vw,38px);letter-spacing:-.018em;line-height:1.08}
.srv-d{font-family:var(--serif);font-size:16px;line-height:1.5;color:var(--ink-dim);max-width:42ch}
.srv-c{width:46px;height:46px;border-radius:999px;border:1px solid var(--ink-line);display:grid;place-items:center;transition:background .35s,border-color .35s,color .35s,transform .35s;flex-shrink:0}
.srv a:hover .srv-c{background:var(--mint);border-color:var(--mint);color:#fff;transform:translateX(4px)}
@media(max-width:820px){.srv a{grid-template-columns:auto 1fr auto;gap:16px}.srv-d{display:none}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,52px)}
.stat{border-top:1px solid var(--line)}
.stat .n{display:block;font-weight:800;font-size:clamp(54px,6vw,96px);letter-spacing:-.03em;line-height:.96;color:var(--mint-bright);margin-top:24px}
.stat .nm{display:block;margin-top:24px}
.stat .nm i{display:block;font-style:normal;font-weight:800;font-size:clamp(25px,2.7vw,40px);letter-spacing:-.02em;line-height:1.12;color:var(--mint-bright)}
.stat p{font-family:var(--serif);font-size:16px;color:var(--fg-dim);margin:14px 0 0;max-width:24ch}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr;gap:32px 28px}}

/* approach flow */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.5vw,36px);counter-reset:s}
.flow .step{padding-top:34px;border-top:1px solid var(--ink-line);position:relative}
.dark .flow .step{border-top-color:var(--line)}
.flow .step::before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;top:-1px;left:0;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--mint)}
.flow .step::after{content:"";position:absolute;top:-1px;left:0;width:36px;height:2px;background:var(--mint)}
.flow h3{font-size:clamp(20px,1.9vw,26px);letter-spacing:-.02em;margin:0 0 8px}
.flow .verb{font-family:var(--serif);font-style:italic;color:var(--mint);font-size:15px;display:block;margin-bottom:10px}
.flow p{font-family:var(--serif);font-size:15.5px;line-height:1.5;color:var(--ink-dim)}
.dark .flow p{color:var(--fg-dim)}
@media(max-width:880px){.flow{grid-template-columns:1fr 1fr;gap:36px 28px}}
@media(max-width:480px){.flow{grid-template-columns:1fr}}

/* story (about) */
.story{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.story-media{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden}
.story-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04)}
.story-media .ov{position:absolute;inset:auto 0 0 0;padding:26px;background:linear-gradient(transparent,rgba(7,16,29,.92));color:#fff;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.5}
.story h2{font-weight:800;font-size:clamp(34px,4.4vw,62px);line-height:1.06;letter-spacing:-.02em;margin:18px 0 0}
.story .lead{font-family:var(--serif);font-style:italic;font-size:clamp(18px,1.7vw,24px);color:var(--mint);margin-top:18px}
.story p{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--ink-dim);margin-top:18px;max-width:52ch}
@media(max-width:820px){.story{grid-template-columns:1fr}}

/* quote card (philosophy) */
.quote{background:var(--navy);color:#fff;border-radius:24px;padding:clamp(36px,5vw,72px);position:relative;overflow:hidden}
.quote::after{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 92% 0%,rgba(43,240,192,.16),transparent 60%);pointer-events:none}
.quote .mark{font-family:var(--serif);font-style:italic;font-size:clamp(28px,3.4vw,52px);line-height:1.18;letter-spacing:-.01em;position:relative;max-width:24ch}
.quote .cite{position:relative;margin-top:30px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint-bright)}
.principles{display:grid;gap:0;margin-top:clamp(36px,4vw,56px)}
.principle{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:26px 0;border-top:1px solid var(--ink-line);align-items:baseline}
.principle .pn{font-family:var(--mono);font-size:12px;color:var(--mint)}
.principle b{font-weight:700;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.02em}
.principle p{font-family:var(--serif);color:var(--ink-dim);margin:8px 0 0;max-width:60ch}

/* partners — B&W image, mint overlay on hover */
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.partner{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/5;background:var(--navy-2)}
.partner img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .5s}
.partner:hover img{filter:grayscale(.15)}
.partner-base{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:22px;color:#fff;background:linear-gradient(transparent,rgba(7,16,29,.85));transition:opacity .35s}
.partner-base b{display:block;font-weight:700;font-size:19px;letter-spacing:-.02em}
.partner-base span{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint-bright)}
.partner-ov{position:absolute;inset:0;z-index:2;background:rgba(0,209,160,.95);color:#fff;padding:clamp(22px,2.4vw,30px);display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transition:opacity .4s}
.partner:hover .partner-ov{opacity:1}
.partner:hover .partner-base{opacity:0}
.partner-ov b{font-weight:700;font-size:20px;letter-spacing:-.02em}
.partner-ov .role{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;margin:4px 0 14px;color:rgba(255,255,255,.85)}
.partner-ov p{font-family:var(--serif);font-size:15px;line-height:1.5;color:#fff}
@media(max-width:820px){.partners{grid-template-columns:1fr}.partner{aspect-ratio:16/10}.partner-ov{opacity:1;background:linear-gradient(transparent,rgba(0,209,160,.96));justify-content:flex-end}.partner-base{display:none}}

/* values */
.values{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.value{position:relative;min-height:clamp(220px,26vh,260px);padding:24px;border:1px solid var(--ink-line);border-radius:16px;background:#fff;color:var(--ink);display:flex;flex-direction:column;overflow:hidden}
.value::before{content:"";position:absolute;top:0;left:0;height:2px;width:0;background:var(--mint);transition:width .5s cubic-bezier(.16,1,.3,1)}
.value:hover::before{width:100%}
.value .vn{font-family:var(--mono);font-size:12px;color:var(--mint);letter-spacing:.14em}
.value h3{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.8vw,25px);letter-spacing:-.01em;margin:auto 0 0;line-height:1.1}
.value p{font-family:var(--serif);font-size:14px;line-height:1.45;color:var(--ink-dim);margin-top:10px}
@media(max-width:1100px){.values{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.values{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.values{grid-template-columns:1fr}}

/* featured */
.feat{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,64px);align-items:center}
.feat-media{aspect-ratio:5/4;border-radius:20px;overflow:hidden;background:var(--paper-3)}
.feat-media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.03)}
.feat h2{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.6vw,52px);line-height:1.08;letter-spacing:-.01em;margin:16px 0}
.feat p{font-family:var(--serif);font-size:18px;line-height:1.6;color:var(--ink-dim);max-width:46ch}
@media(max-width:820px){.feat{grid-template-columns:1fr}}

/* cta band */

.cta::before{content:"";position:absolute;inset:0;background:url(amana-hero-poster.jpg) center/cover no-repeat;opacity:.3;filter:grayscale(.45) brightness(.62) contrast(1.06);pointer-events:none}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(14,20,22,.72),rgba(14,20,22,.3)),radial-gradient(55% 75% at 88% 16%,rgba(43,240,192,.2),transparent 58%);pointer-events:none}
.cta .wrap{position:relative;z-index:2}
.cta-grid{display:flex;justify-content:space-between;align-items:center;gap:28px 48px;flex-wrap:wrap}
.cta-h{font-weight:800;font-size:clamp(30px,4vw,56px);line-height:1.06;letter-spacing:-.025em;margin:0;max-width:22ch}
.cta-sub{font-size:clamp(15px,1.3vw,18px);line-height:1.55;color:var(--fg-dim);margin:14px 0 0;max-width:48ch}
.cta-btn{font-size:16px;padding:18px 34px;min-height:60px;flex:none}
.cta-arrow{width:clamp(80px,9vw,116px);height:clamp(80px,9vw,116px);border-radius:999px;background:var(--mint-bright);color:var(--navy);display:grid;place-items:center;flex-shrink:0;transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
.cta-arrow:hover{transform:scale(1.05);box-shadow:0 0 0 8px rgba(43,240,192,.16)}
.cta-arrow svg{width:38%;height:38%;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.cta-arrow:hover svg{transform:rotate(45deg)}
@media(max-width:600px){.cta-btn{width:100%;justify-content:center}.cta-grid{align-items:stretch}}

/* footer */
/* ===== streamlined minimal footer ===== */

.foot .brand img{width:38px;height:38px;border-radius:10px}
.foot .brand-tx b{color:#fff}
.foot-in{display:flex;justify-content:space-between;align-items:flex-start;gap:28px 48px;flex-wrap:wrap;padding-bottom:clamp(26px,3.2vw,40px);border-bottom:1px solid var(--line)}
.foot-lead{max-width:38ch}
.foot-lead p{color:var(--fg-dim);font-size:14px;line-height:1.55;margin:14px 0 0}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 30px;align-items:center;padding-top:6px}
.foot-links a{color:rgba(255,255,255,.82);font-size:15px;letter-spacing:-.01em;padding:5px 0;transition:color .25s}
.foot-links a:hover{color:var(--mint-bright)}
.foot-base{display:flex;justify-content:space-between;align-items:center;gap:10px 28px;flex-wrap:wrap;margin-top:22px;font-size:13px;color:rgba(255,255,255,.45)}
.foot-base a{color:rgba(255,255,255,.6);transition:color .25s}
.foot-base a:hover{color:var(--mint-bright)}
@media(max-width:680px){.foot-in{flex-direction:column;gap:22px}.foot-base{flex-direction:column;align-items:flex-start;gap:8px}}

/* scroll progress */
.progress{position:fixed;top:0;left:0;height:2.5px;width:100%;transform:scaleX(0);transform-origin:0;background:linear-gradient(90deg,var(--mint),var(--mint-bright));z-index:300;pointer-events:none}

/* ===== THE LENS — glowing concentric rings ===== */
.lens{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px,5vw,72px);align-items:center}
.lens-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.lens-item{position:relative;width:100%;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;padding:22px 12px 22px 14px;border-bottom:1px solid var(--line);background:none;border-left:0;border-right:0;border-top:0;color:inherit;transition:padding-left .36s,background .36s}
.lens-item::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:2px;background:var(--mint-bright);transform:scaleY(0);transition:transform .36s}
.lens-item.on{padding-left:22px;background:rgba(255,255,255,.03)}
.lens-item.on::before{transform:scaleY(1)}
.lens-mark{width:12px;height:12px;margin-top:7px;border-radius:50%;border:1.5px solid var(--line);transition:background .32s,border-color .32s,box-shadow .32s}
.lens-item.on .lens-mark{background:var(--mint-bright);border-color:var(--mint-bright);box-shadow:0 0 0 5px rgba(43,240,192,.16)}
.lens-t{display:block;font-weight:700;font-size:clamp(19px,2vw,25px);letter-spacing:-.025em;color:var(--fg-dim);transition:color .3s}
.lens-item.on .lens-t,.lens-item:hover .lens-t{color:#fff}
.lens-d{display:block;font-family:var(--serif);font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.6);max-height:0;opacity:0;overflow:hidden;transition:max-height .36s,opacity .36s,margin-top .36s}
.lens-item.on .lens-d{margin-top:8px;max-height:90px;opacity:1}
.lens-viz{position:relative;width:100%;max-width:480px;margin:0 auto;justify-self:center}
/* concentric rings — energy ripples outward from the centre */
.lens-ripple{position:absolute;left:50%;top:50%;width:72%;aspect-ratio:1;margin:0;border-radius:50%;border:0;background:radial-gradient(circle,rgba(43,240,192,.22),transparent 66%);transform:translate(-50%,-50%);filter:blur(24px);opacity:.5;pointer-events:none;animation:lensglow 9s ease-in-out infinite;will-change:transform,opacity}
.lens-ripple:nth-of-type(2){width:52%;background:radial-gradient(circle,rgba(0,209,160,.2),transparent 68%);animation-delay:-3s}
.lens-ripple:nth-of-type(3){width:92%;background:radial-gradient(circle,rgba(43,240,192,.1),transparent 72%);animation-delay:-6s}
@keyframes lensglow{0%,100%{transform:translate(-53%,-47%) scale(.9);opacity:.34}50%{transform:translate(-47%,-53%) scale(1.1);opacity:.62}}
.lens-svg{position:relative;width:100%;height:auto;display:block;overflow:visible;z-index:2}
.lens-ring-hit{fill:none;stroke:transparent;stroke-width:30;cursor:pointer;pointer-events:stroke}
.lens-ring{fill:none;stroke:rgba(255,255,255,.1);stroke-width:1.25;pointer-events:none;transition:stroke .55s ease,stroke-width .55s ease,filter .55s ease}
.lens-ring.on{stroke:var(--mint-bright);stroke-width:2.25;filter:drop-shadow(0 0 12px rgba(43,240,192,.55))}
.lens-core{fill:rgba(14,20,22,.9);stroke:rgba(43,240,192,.55);stroke-width:1.25}
.lens-coretext{fill:#fff;font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;text-anchor:middle}
.lens-node{fill:rgba(14,20,22,.9);stroke:rgba(43,240,192,.4);stroke-width:1.25;cursor:pointer;filter:drop-shadow(0 0 5px rgba(43,240,192,.3));transition:fill .5s ease,stroke .5s ease,r .6s cubic-bezier(.22,1,.36,1),filter .5s ease}
.lens-node.on{fill:var(--mint-bright);stroke:var(--mint-bright);filter:drop-shadow(0 0 20px rgba(43,240,192,.9)) drop-shadow(0 0 8px rgba(43,240,192,.6))}
.lens-callout{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,4vw,56px);align-items:center;margin-top:clamp(40px,5vw,64px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--line)}
.lens-callout h3{font-weight:800;font-size:clamp(22px,2.6vw,34px);letter-spacing:-.02em;line-height:1.16;margin:0;max-width:20ch}
.lens-callout h3 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--coral)}
.lens-callout p{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--fg-dim);max-width:52ch}
@media(max-width:860px){.lens{grid-template-columns:1fr;gap:40px}.lens-viz{order:-1;max-width:330px}.lens-callout{grid-template-columns:1fr;gap:16px}}
@media(prefers-reduced-motion:reduce){.lens-ripple{animation:none;opacity:.45;transform:translate(-50%,-50%)}}

/* ===== capabilities — indexed method spine (service pages) ===== */
.cap{--rail:clamp(58px,6.5vw,100px);--cgap:clamp(24px,3.4vw,56px);position:relative;display:block}
/* the connecting spine */
.cap::before{content:"";position:absolute;top:12px;bottom:0;left:calc(var(--rail) + var(--cgap)/2);width:1px;background:linear-gradient(180deg,var(--ink-line) 0%,var(--ink-line) 88%,transparent);pointer-events:none}
.cap-item{position:relative;display:grid;grid-template-columns:var(--rail) 1fr;column-gap:var(--cgap);align-items:start;padding:clamp(42px,5vw,78px) 0 clamp(42px,5vw,78px)}
.cap-item:first-child{padding-top:clamp(6px,1.4vw,18px)}
.cap-item+.cap-item{border-top:1px solid var(--ink-line)}
.cap-head{display:contents;text-align:left;font:inherit}
.cap-n{position:relative;grid-column:1;justify-self:end;font-weight:300;font-size:clamp(34px,4.2vw,62px);line-height:.9;letter-spacing:-.02em;color:rgba(18,26,31,.2)}
/* mint node sitting on the spine */
.cap-n::after{content:"";position:absolute;top:.36em;right:calc(-1 * var(--cgap)/2);transform:translate(50%,-50%);width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--mint);box-shadow:0 0 0 6px var(--paper),0 0 16px rgba(0,209,160,.18)}
.cap-tw{grid-column:2}
.cap-tw b{display:block;font-weight:600;font-size:clamp(26px,3.2vw,44px);letter-spacing:-.02em;line-height:1.1;color:var(--ink)}
.cap-tw span{display:block;margin-top:14px;font-size:clamp(16px,1.3vw,18.5px);line-height:1.55;color:var(--ink-dim);max-width:62ch}
.cap-tog{display:none}
.cap-panel{grid-column:2;display:block}
.cap-panel-in{overflow:visible}
.cap-sublabel{display:none}
.cap-subs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2vw,34px) clamp(26px,2.6vw,46px);margin-top:clamp(28px,3.2vw,46px)}
.cap-sub{position:relative;padding-top:17px;border-top:1px solid var(--ink-line)}
.cap-sub::before{content:"";position:absolute;left:0;top:-1px;width:28px;height:2px;background:var(--mint);transition:width .4s cubic-bezier(.16,1,.3,1)}
.cap-sub:hover::before{width:48px}
.cap-sub .si{display:none}
.cap-sub h4{font-weight:600;font-size:clamp(15.5px,1.2vw,17.5px);letter-spacing:-.015em;margin:0;color:var(--ink);transition:color .3s}
.cap-sub:hover h4{color:var(--mint)}
.cap-sub p{font-size:14px;line-height:1.55;color:var(--ink-dim);margin:8px 0 0}
@media(max-width:980px){.cap-subs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.cap::before{display:none}.cap-item{grid-template-columns:1fr;column-gap:0;padding:clamp(34px,8vw,48px) 0}.cap-n{justify-self:start;font-size:clamp(32px,9vw,44px);margin-bottom:8px}.cap-n::after{display:none}.cap-tw,.cap-panel{grid-column:1}.cap-subs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.cap-sub::before{transition:none}}

/* ===== capabilities — interactive stage (index + cross-fading panel) ===== */
.capx{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(40px,5.2vw,96px);align-items:center;margin-top:clamp(16px,2.4vw,36px)}
/* LEFT — numbered index / tablist */
.capx-nav{position:relative;display:flex;flex-direction:column;gap:clamp(14px,1.6vw,24px);padding-left:28px}
.capx-nav::before{content:"";position:absolute;left:1px;top:6px;bottom:6px;width:1px;background:var(--ink-line)}
.capx-ind{position:absolute;left:0;top:0;width:3px;height:54px;border-radius:3px;background:linear-gradient(180deg,var(--mint-bright),var(--mint));box-shadow:0 0 14px rgba(43,240,192,.5);transition:transform .42s cubic-bezier(.22,1,.36,1),height .42s cubic-bezier(.22,1,.36,1)}
.capx-tab{display:grid;grid-template-columns:26px 1fr;align-items:baseline;gap:14px;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:clamp(8px,0.9vw,13px) 14px;border-radius:12px;transition:background .3s}
.capx-tab:hover{background:rgba(18,26,31,.025)}
.capx-tab-n{font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;color:var(--ink-faint);transition:color .3s}
.capx-tab-t{font-weight:600;font-size:clamp(17px,1.6vw,22px);letter-spacing:-.02em;line-height:1.12;color:var(--ink-dim);transition:color .3s}
.capx-tab.is-active .capx-tab-n{color:var(--mint)}
.capx-tab.is-active .capx-tab-t{color:var(--ink)}
.capx-tab:focus-visible{outline:2px solid var(--mint);outline-offset:2px}
/* RIGHT — stage */
.capx-stage{position:relative;min-height:clamp(440px,38vw,540px);display:flex;align-items:center;border-radius:24px;overflow:hidden;background:linear-gradient(155deg,#18242b 0%,#0f1c27 60%);border:1px solid rgba(255,255,255,.06);color:#fff;padding:clamp(40px,4vw,68px)}
.capx-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.capx-ghost{position:absolute;right:-1.5vw;top:-5vw;font-weight:800;font-size:clamp(240px,30vw,460px);line-height:.78;letter-spacing:-.05em;color:rgba(255,255,255,.045);transform:translate3d(var(--px,0),calc(var(--py,0) + var(--pmy,0)),0);transition:transform .3s ease-out;will-change:transform}
.capx-blob{position:absolute;width:52%;aspect-ratio:1;right:4%;bottom:-16%;border-radius:50%;background:radial-gradient(circle,rgba(43,240,192,.32),rgba(43,240,192,0) 64%);filter:blur(26px);transform:translate3d(var(--px,0),calc(var(--py,0) + var(--pmy,0)),0);transition:transform .3s ease-out;will-change:transform}
.capx-mesh{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:40px 40px;-webkit-mask:radial-gradient(120% 120% at 85% -10%,#000,transparent 62%);mask:radial-gradient(120% 120% at 85% -10%,#000,transparent 62%)}
.capx-panels{position:relative;display:grid;width:100%}
.capx-panel{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .35s ease;pointer-events:none}
.capx-panel.is-active{opacity:1;visibility:visible;pointer-events:auto}
.capx-row{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(32px,3.6vw,64px);align-items:center}
.capx-head-c{min-width:0}
.capx-kick{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mint-bright)}
.capx-panel h3{font-weight:700;font-size:clamp(26px,2.7vw,38px);letter-spacing:-.018em;line-height:1.12;margin:18px 0 0;color:#fff}
.capx-intro{font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;color:rgba(255,255,255,.76);margin:16px 0 0;max-width:42ch}
.capx-outcome{margin:clamp(24px,2.6vw,34px) 0 0;padding-top:clamp(18px,2vw,24px);border-top:1px solid rgba(255,255,255,.12);font-size:clamp(14px,1.1vw,16px);line-height:1.6;color:rgba(255,255,255,.82);max-width:44ch}
.capx-outcome b{display:block;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mint-bright);margin-bottom:7px}
.capx-media{position:relative;align-self:stretch;min-height:clamp(232px,21vw,300px);border-radius:18px;overflow:hidden;background:radial-gradient(125% 120% at 50% 42%,#1a232a,#0a1626);border:1px solid rgba(255,255,255,.08)}
.capx-rings{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(43,240,192,.2),transparent 42%),repeating-radial-gradient(circle at 50% 46%,transparent 0 29px,rgba(255,255,255,.07) 29px 30px,transparent 30px 999px);-webkit-mask:radial-gradient(circle at 50% 46%,#000 24%,rgba(0,0,0,.55) 55%,transparent 74%);mask:radial-gradient(circle at 50% 46%,#000 24%,rgba(0,0,0,.55) 55%,transparent 74%)}
.capx-rings::after{content:"";position:absolute;inset:0;background:conic-gradient(from -12deg at 50% 46%,transparent 0 78%,rgba(43,240,192,.4) 90%,transparent 100%);-webkit-mask:radial-gradient(circle at 50% 46%,transparent 22%,#000 24%,#000 72%,transparent 74%);mask:radial-gradient(circle at 50% 46%,transparent 22%,#000 24%,#000 72%,transparent 74%);animation:capsweep 7s linear infinite}
.capx-medianum{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:clamp(72px,8vw,118px);letter-spacing:-.04em;color:#fff;text-shadow:0 0 34px rgba(43,240,192,.5);transform:translate3d(var(--px,0),calc(var(--py,0) + var(--pmy,0)),0);transition:transform .3s ease-out;will-change:transform}
.capx-tag{position:absolute;left:14px;bottom:14px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:#fff;background:rgba(14,20,22,.5);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 12px}
@keyframes capsweep{to{transform:rotate(360deg)}}
.capx-subs-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.42);margin:clamp(34px,3.6vw,50px) 0 0}
.capx-subs{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(38px,3.8vw,68px);row-gap:clamp(24px,2.8vw,40px);margin-top:clamp(18px,2vw,26px)}
.capx-sub{display:grid;grid-template-columns:14px 1fr;gap:14px;align-items:baseline;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(14px)}
.capx-panel.is-active .capx-sub{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i) * 80ms + 140ms)}
.capx-ch{color:var(--mint-bright);font-size:17px;line-height:1.3;font-weight:700}
.capx-sub h4{font-weight:600;font-size:clamp(15px,1.15vw,17px);letter-spacing:-.01em;margin:0;color:#fff}
.capx-sub p{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.62);margin:6px 0 0}
@media(max-width:1120px){.capx-row{grid-template-columns:1fr;gap:22px}.capx-media{min-height:clamp(180px,30vw,240px)}}
@media(max-width:880px){
  .capx{grid-template-columns:1fr;gap:22px}
  .capx-nav{position:static;padding-left:0;flex-direction:row;flex-wrap:wrap;gap:6px}
  .capx-nav::before,.capx-ind{display:none}
  .capx-tab{width:auto;grid-template-columns:auto;gap:0;padding:9px 14px;border:1px solid var(--ink-line);border-radius:999px}
  .capx-tab .capx-tab-n{display:none}
  .capx-tab.is-active{background:var(--ink);border-color:var(--ink)}
  .capx-tab.is-active .capx-tab-t{color:#fff}
  .capx-stage{min-height:0;align-items:stretch}
  .capx-subs{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.capx-ind,.capx-ghost,.capx-blob,.capx-medianum{transition:none}.capx-rings::after{animation:none}.capx-panel.is-active .capx-sub{transition:none;transition-delay:0s}}

/* reasons checklist */
.reasons{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,4vw,56px)}
.reason{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.5;color:rgba(255,255,255,.86)}
.reason .tick{flex-shrink:0;width:22px;height:22px;margin-top:1px;border-radius:50%;border:1.5px solid var(--mint-bright);display:grid;place-items:center;color:var(--mint-bright)}
@media(max-width:760px){.reasons{grid-template-columns:1fr}}

/* intro split (service pages) */
.intro2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,60px)}
.intro2 .stmt{font-family:var(--serif);font-size:clamp(24px,2.9vw,40px);line-height:1.3;letter-spacing:-.004em;color:var(--ink);max-width:24ch}
.intro2 .stmt em{font-style:italic;color:var(--coral)}
.intro2 p{font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink-dim)}
@media(max-width:760px){.intro2{grid-template-columns:1fr;gap:20px}}

/* services overview cards (Accenture-style tall) */
.svc-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.svc-card{position:relative;display:block;aspect-ratio:3/4.3;border-radius:16px;overflow:hidden;background:var(--navy-2)}
.svc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.svc-card:hover img{transform:scale(1.06)}
.svc-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,16,29,.1) 24%,rgba(7,16,29,.55) 62%,rgba(7,16,29,.92) 100%)}
.svc-card .top{position:absolute;top:0;left:0;right:0;height:3px;width:0;background:var(--mint-bright);z-index:2;transition:width .46s cubic-bezier(.16,1,.3,1)}
.svc-card:hover .top{width:100%}
.svc-card .bd{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:22px 20px;color:#fff}
.svc-card .bd .n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--mint-bright)}
.svc-card .bd h3{color:#fff;font-size:clamp(17px,1.35vw,20px);letter-spacing:-.02em;margin:9px 0 0;line-height:1.12}
@media(max-width:1024px){.svc-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.svc-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:440px){.svc-cards{grid-template-columns:1fr}.svc-card{aspect-ratio:16/10}}

/* ===== sectors ===== */
.sector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sector-card{position:relative;display:flex;flex-direction:column;border:1px solid var(--ink-line);border-radius:16px;overflow:hidden;background:#fff;transition:box-shadow .42s,border-color .42s,transform .42s}
.sector-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px rgba(18,26,31,.08);border-color:rgba(18,26,31,.18)}
.sector-card .media{aspect-ratio:16/10;overflow:hidden}
.sector-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.sector-card:hover .media img{transform:scale(1.05)}
.sector-card .bd{padding:24px}
.sector-card .bd h3{font-size:22px;letter-spacing:-.02em;margin:10px 0 0}
.sector-card .bd p{font-family:var(--serif);font-size:15px;line-height:1.55;color:var(--ink-dim);margin-top:8px}
@media(max-width:980px){.sector-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.sector-grid{grid-template-columns:1fr}}

/* geography */
.geo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center}
.geo-map{position:relative;aspect-ratio:4/3;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:radial-gradient(120% 120% at 50% 0%,rgba(43,240,192,.18),rgba(43,240,192,0)),var(--navy-2)}
.geo-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--mint-bright);box-shadow:0 0 0 3px rgba(43,240,192,.22);animation:pulse 2.2s ease-in-out infinite}
.geo-dot span{position:absolute;left:18px;top:-4px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim);white-space:nowrap}
@keyframes pulse{0%,100%{box-shadow:0 0 0 3px rgba(43,240,192,.22);transform:scale(1)}50%{box-shadow:0 0 0 8px rgba(43,240,192,.05);transform:scale(1.18)}}
.geo-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px}
.geo-list li{display:flex;align-items:baseline;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.geo-list b{font-weight:600;font-size:20px;min-width:100px}
.geo-list span{font-family:var(--serif);color:var(--fg-dim);font-size:15px}
@media(max-width:880px){.geo{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.geo-dot{animation:none}}

/* insights grid */
.in-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.in-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--ink-line);border-radius:16px;overflow:hidden;transition:box-shadow .42s,border-color .42s,transform .42s}
.in-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px rgba(18,26,31,.08);border-color:rgba(18,26,31,.18)}
.in-card .media{aspect-ratio:16/10;overflow:hidden}
.in-card .media img{width:100%;height:100%;object-fit:cover}
.in-card .bd{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.in-tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.in-card h3{font-size:20px;letter-spacing:-.02em}
.in-meta{margin-top:auto;font-size:13px;color:var(--ink-faint)}
@media(max-width:900px){.in-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.in-grid{grid-template-columns:1fr}}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(36px,5vw,72px);align-items:start}
.contact-method{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-bottom:1px solid var(--ink-line)}
.contact-method .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.contact-method a{font-size:19px;letter-spacing:-.02em;color:var(--ink)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
.field input,.field textarea{font-family:var(--font);font-size:16px;padding:13px 16px;min-height:50px;border:1px solid var(--ink-line);border-radius:10px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px var(--mint-tint)}
.form-note{font-size:14px;color:var(--ink-faint);margin-top:6px}
.form-panel{background:var(--paper-2);border:1px solid var(--ink-line);border-radius:20px;padding:clamp(22px,2.8vw,38px)}
.form-panel .field input,.form-panel .field textarea{background:#fff}
.form-locs{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;padding-top:24px;border-top:1px solid var(--ink-line)}
.floc{display:flex;flex-direction:column;gap:5px}
.floc-city{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.floc span:last-child{font-size:14px;line-height:1.5;color:var(--ink-dim)}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}
@media(max-width:540px){.form-grid{grid-template-columns:1fr}.form-locs{grid-template-columns:1fr;gap:14px}}

/* =================================================================
   FLAGSHIP POLISH — motion, a11y, art direction
   ================================================================= */
/* smart nav — hides on scroll down, returns on scroll up */
.nav{transition:background .35s,box-shadow .35s,backdrop-filter .35s,transform .5s cubic-bezier(.22,1,.36,1)}
.nav.hidden{transform:translateY(-102%)}

/* skip link */
.skip{position:fixed;left:16px;top:-60px;z-index:300;background:var(--navy);color:#fff;font-weight:600;font-size:14px;padding:12px 20px;border-radius:12px;transition:top .3s}
.skip:focus{top:14px}

/* keyboard focus */
:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:4px}

/* masked word-rise reveals (spans injected by script.js) */
.rl{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.rw{display:inline-block;transform:translateY(115%);transition:transform .85s cubic-bezier(.22,1,.36,1)}
.words-in .rw{transform:translateY(0)}

/* image clip + scale reveals (clip the img, observe the wrapper) */
.img-rv img{clip-path:inset(0 0 100% 0);transform:scale(1.12);transition:clip-path 1s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1)}
.img-rv.in img{clip-path:inset(0 0 0 0);transform:scale(1)}

/* unified imagery treatment — navy→mint duotone so every photo is on-brand */
.feat-media,.sector-card .media,.in-card .media,.story-media{position:relative}
.feat-media img,.in-card .media img{filter:grayscale(1) contrast(1.1) brightness(.96)}
.story-media img{filter:saturate(.92) contrast(1.03)}
.sector-card .media img{filter:none}
.feat-media::after,.in-card .media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,#0f1c27 0%,#06453a 55%,#00d1a0 100%);mix-blend-mode:color}
.story-media::after{z-index:0}

/* film grain — subtle depth across the whole site */
body::after{content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* proof — outcomes + testimonial */
.proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(34px,4vw,56px)}
.proof-card{position:relative;border:1px solid var(--ink-line);border-radius:18px;padding:clamp(24px,2.4vw,34px);background:var(--paper);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s}
.proof-card:hover{transform:translateY(-4px);box-shadow:0 24px 54px rgba(18,26,31,.08)}
.proof-card .pc-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mint)}
.proof-card .pc-r{display:block;font-weight:800;font-size:clamp(34px,3.2vw,52px);letter-spacing:-.025em;line-height:1;color:var(--ink);margin:16px 0 10px}
.proof-card .pc-r em{font-style:normal;color:var(--mint)}
.proof-card p{font-size:15px;line-height:1.6;color:var(--ink-dim);margin:0}
.testi{margin-top:clamp(40px,5vw,72px);display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,3vw,48px);align-items:start;border-top:1px solid var(--ink-line);padding-top:clamp(34px,4vw,56px)}
.testi .tq{font-family:var(--mono);font-size:clamp(40px,4vw,64px);line-height:.8;color:var(--mint)}
.testi blockquote{margin:0;font-weight:500;font-size:clamp(20px,2vw,30px);letter-spacing:-.015em;line-height:1.4;color:var(--ink);max-width:30ch}
.testi figcaption{margin-top:20px;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
@media(max-width:880px){.proof-grid{grid-template-columns:1fr}.testi{grid-template-columns:1fr;gap:14px}}
/* testimonials band — two quotes above the trust logo strip */
.testi-band{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);margin-bottom:clamp(40px,5vw,64px);padding-bottom:clamp(38px,4.5vw,58px);border-bottom:1px solid var(--ink-line)}
.testi-band .testi{margin-top:0;border-top:0;padding-top:0;gap:clamp(16px,2vw,28px)}
.testi-band .testi blockquote{font-size:clamp(18px,1.6vw,24px);max-width:34ch}
@media(max-width:880px){.testi-band{grid-template-columns:1fr;gap:34px}}

/* 404 */
.err{padding:clamp(140px,16vw,210px) 0 clamp(90px,10vw,150px)}
.err-in{max-width:680px}
.err-rings{position:relative;width:min(100%,420px);height:230px;border-radius:20px;overflow:hidden;background:radial-gradient(120% 120% at 50% 40%,#1a232a,#0a1626);border:1px solid rgba(255,255,255,.08);margin-bottom:38px}
.err-num{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:84px;letter-spacing:-.03em;color:#fff;text-shadow:0 0 34px rgba(43,240,192,.5)}
.err h1{font-weight:800;font-size:clamp(40px,5.6vw,72px);letter-spacing:-.02em;line-height:1.06;margin:20px 0 0}
.err p{font-size:18px;line-height:1.6;color:var(--ink-dim);margin:18px 0 0;max-width:46ch}
.err .hero-cta{margin-top:30px;display:flex;gap:14px}

@media(prefers-reduced-motion:reduce){
  .nav.hidden{transform:none}
  .rw{transform:none;transition:none}
  .img-rv img{clip-path:none;transform:none;transition:none}
}

/* ===== premium UX layer ===== */
/* mint selection */
::selection{background:var(--mint);color:#08231c}
/* refined scrollbar */
html{scrollbar-color:rgba(18,26,31,.28) transparent;scroll-padding-top:96px}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(18,26,31,.22);border-radius:999px;border:2.5px solid var(--paper)}
::-webkit-scrollbar-thumb:hover{background:var(--mint)}
/* page-transition veil */
.veil{position:fixed;inset:0;z-index:9970;background:var(--navy);opacity:1;pointer-events:none;transition:opacity .5s ease}
body.loaded .veil{opacity:0}
body.leaving .veil{opacity:1;transition:opacity .3s ease}
/* trailing cursor ring (fine pointers only) */
.cur-ring{position:fixed;left:0;top:0;z-index:9985;width:34px;height:34px;margin:0;border-radius:50%;border:1.5px solid rgba(43,240,192,.65);pointer-events:none;opacity:0;transition:opacity .35s,width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),border-color .3s;mix-blend-mode:difference}
.cur-ring.on{width:58px;height:58px;border-color:var(--mint-bright)}
@media(hover:none),(pointer:coarse){.cur-ring{display:none}}
/* button shine + arrow nudge */
.btn{position:relative;overflow:hidden}
.btn::after{content:"";position:absolute;top:0;left:-140%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-20deg);transition:left .65s ease;pointer-events:none}
.btn:hover::after{left:170%}
.btn .a{display:inline-block;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.btn:hover .a{transform:translateX(4px)}
@media(prefers-reduced-motion:reduce){.veil{display:none}.cur-ring{display:none}.btn::after{display:none}}

/* ===== why you're here / what sets us apart — glow blocks ===== */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.2vw,36px)}
.why-item{position:relative;padding:clamp(22px,2.2vw,30px) 0 0;border-top:1px solid var(--ink-line);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.why-item::before{content:"";position:absolute;left:0;top:-1px;width:34px;height:2px;background:var(--mint);transition:width .45s cubic-bezier(.22,1,.36,1)}
.why-item::after{content:"";position:absolute;inset:-18px -16px;border-radius:16px;background:radial-gradient(75% 75% at 50% 18%,rgba(43,240,192,.12),transparent 70%);opacity:0;transition:opacity .45s;pointer-events:none}
.why-item:hover{transform:translateY(-4px)}
.why-item:hover::before{width:64px}
.why-item:hover::after{opacity:1}
.why-item h3{font-weight:700;font-size:clamp(18px,1.5vw,22px);letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--ink);transition:color .3s}
.why-item:hover h3{color:var(--mint)}
.why-item p{font-size:15px;line-height:1.6;color:var(--ink-dim);margin:10px 0 0}
.why-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--ink-line);padding-top:clamp(26px,3vw,38px)}
.why-cta p{font-weight:600;font-size:clamp(19px,1.8vw,26px);letter-spacing:-.02em;margin:0;color:var(--ink)}
.why-cta p em{font-style:normal;color:var(--coral)}
.why-item.coral::before{background:var(--coral)}
.why-item.coral::after{background:radial-gradient(75% 75% at 50% 18%,rgba(0,209,160,.12),transparent 70%)}
.why-item.coral:hover h3{color:var(--coral)}
.apart-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:1020px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.why-grid,.apart-grid{grid-template-columns:1fr}}

/* ===== fresh imagery — hero accent + dark stats band ===== */
.hero{position:relative}
.hero::before{content:"";position:absolute;top:0;right:0;width:56%;height:82%;background:url(amana-hero-poster.jpg) center/cover no-repeat;opacity:.12;filter:grayscale(1) contrast(1.05);-webkit-mask:radial-gradient(80% 80% at 76% 16%,#000,transparent 70%);mask:radial-gradient(80% 80% at 76% 16%,#000,transparent 70%);pointer-events:none}
.hero .wrap{position:relative}
#impact{position:relative;overflow:hidden}
#impact::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,19,21,.93) 0%,rgba(13,25,22,.9) 100%),url(amana-hero-poster.jpg) center/cover no-repeat;background-attachment:fixed;pointer-events:none}
#impact::after{display:none}
#impact .wrap{position:relative;z-index:2}

/* ===== home services — image tiles ===== */
.svc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.4vw,22px)}
.svc-tile{display:flex;flex-direction:column;min-width:0}
.svc-tile .media{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;margin-bottom:18px}
.svc-tile .media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1) brightness(.96);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.svc-tile .media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,#0f1c27 0%,#06453a 55%,#00d1a0 100%);mix-blend-mode:color}
.svc-tile:hover .media img{transform:scale(1.06)}
.st-n{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--mint)}
.svc-tile h3{font-weight:700;font-size:clamp(18.5px,1.5vw,23px);letter-spacing:-.02em;line-height:1.16;margin:9px 0 0;color:var(--ink);transition:color .3s}
.svc-tile:hover h3{color:var(--mint)}
.svc-tile p{font-size:14.5px;line-height:1.62;color:var(--ink-dim);margin:11px 0 0;flex:1}
.st-more{display:inline-flex;align-items:center;gap:7px;margin-top:16px;font-weight:600;font-size:14px;color:var(--ink)}
.st-more i{font-style:normal;color:var(--mint);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.svc-tile:hover .st-more i{transform:translateX(4px)}
@media(max-width:1080px){.svc-tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.svc-tiles{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.svc-tiles{grid-template-columns:1fr}}

/* ===== insights — filter chips + newsletter ===== */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 clamp(28px,3vw,40px)}
.chip{font-family:var(--font);font-weight:600;font-size:13.5px;letter-spacing:-.01em;color:var(--ink-dim);background:none;border:1px solid var(--ink-line);border-radius:999px;padding:9px 18px;cursor:pointer;transition:all .3s}
.chip:hover{border-color:var(--mint);color:var(--mint)}
.chip.on{background:var(--mint);border-color:var(--mint);color:#08231c}
.in-card.hide{display:none}
.nlb{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,3vw,48px);align-items:center;background:linear-gradient(155deg,#18242b,#0f1c27 65%);border-radius:22px;padding:clamp(32px,3.6vw,56px);color:#fff;margin-top:clamp(44px,5vw,68px);position:relative;overflow:hidden}
.nlb::after{content:"";position:absolute;inset:0;background:radial-gradient(55% 80% at 88% 10%,rgba(43,240,192,.2),transparent 60%);pointer-events:none}
.nlb h3{font-weight:700;font-size:clamp(22px,2.2vw,32px);letter-spacing:-.02em;line-height:1.15;margin:0;position:relative}
.nlb p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.72);margin:12px 0 0;position:relative}
.nlb-form{display:flex;gap:10px;position:relative}
.nlb-form input{flex:1;min-width:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:14px 18px;color:#fff;font-family:var(--font);font-size:15px}
.nlb-form input::placeholder{color:rgba(255,255,255,.45)}
.nlb-form input:focus{outline:none;border-color:var(--mint-bright);box-shadow:0 0 0 3px rgba(43,240,192,.18)}
@media(max-width:780px){.nlb{grid-template-columns:1fr}.nlb-form{flex-direction:column}}
/* ===== What We Think: placeholder tags, featured category, social band, posts ===== */
.wt-ph{display:inline-block;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:var(--coral);border-radius:5px;padding:3px 8px;margin-left:10px;vertical-align:middle}
.feat .cat,.in-card .in-meta .cat{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral)}
.feat .cat{display:block;margin-bottom:10px}
.nlb-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px;position:relative}
.btn-li{display:inline-flex;align-items:center;gap:9px;background:var(--mint);color:#08231c;font-weight:700;border-radius:999px;padding:13px 22px;font-size:15px;transition:background .25s}
.btn-li:hover{background:var(--mint-bright)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(26px,3vw,40px);position:relative}
.post{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px;transition:border-color .3s,transform .3s}
.post:hover{border-color:var(--mint-bright);transform:translateY(-3px)}
.post .pcat{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.post p{font-size:14px;line-height:1.5;color:rgba(255,255,255,.85);margin:10px 0 0}
.post .pmeta{font-size:12px;color:rgba(255,255,255,.4);margin-top:12px;display:block}
@media(max-width:780px){.posts{grid-template-columns:1fr}}
/* per-article footer: related reading + connect-to-pillar + soft CTA */
.art-more{max-width:74ch;margin:clamp(34px,4vw,52px) auto 0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,44px)}
.art-more h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--coral);margin:0 0 12px}
.art-more a{display:block;color:var(--ink);font-weight:600;font-size:15px;line-height:1.35;padding:9px 0;border-top:1px solid var(--ink-line);transition:color .25s}
.art-more a:hover{color:var(--mint-press)}
.art-cta{max-width:74ch;margin:clamp(24px,3vw,36px) auto 0;padding:20px 26px;background:var(--paper-2);border:1px solid var(--ink-line);border-radius:16px;display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap}
.art-cta p{margin:0;font-size:16px;color:var(--ink);font-weight:500}
@media(max-width:680px){.art-more{grid-template-columns:1fr;gap:18px}}

/* ===== careers — roles list ===== */
.roles{display:flex;flex-direction:column}
.role{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(22px,2.4vw,32px) 8px;border-top:1px solid var(--ink-line);transition:padding-left .4s cubic-bezier(.22,1,.36,1),background .3s}
.role:last-child{border-bottom:1px solid var(--ink-line)}
.role:hover{padding-left:22px;background:var(--mint-tint)}
.role h3{font-weight:700;font-size:clamp(18px,1.7vw,24px);letter-spacing:-.02em;margin:0;color:var(--ink);transition:color .3s}
.role:hover h3{color:var(--mint)}
.role p{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--ink-faint);margin:8px 0 0}
.role-c{font-size:22px;color:var(--mint);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.role:hover .role-c{transform:translateX(6px)}

/* ===== markets — region cards (UAE / KSA / UK) ===== */
.regions{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.6vw,22px);margin-top:clamp(38px,4.4vw,60px)}
.region{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.03);transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .5s,background .5s}
.region:hover{transform:translateY(-4px);border-color:rgba(43,240,192,.42);background:rgba(0,209,160,.05)}
.region-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--paper-3)}
.region-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.region:hover .region-img img{transform:scale(1.06)}
.region-img::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(11,18,20,.28),transparent 50%)}
.region-bd{display:flex;flex-direction:column;flex:1;padding:clamp(20px,2.1vw,28px)}
.region-code{position:absolute;top:13px;left:13px;z-index:2;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.06em;color:#08231c;background:var(--mint-bright);border-radius:6px;padding:4px 9px}
.region-city{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);display:block;margin:0 0 10px}
.region h3{font-weight:800;font-size:clamp(20px,1.9vw,26px);letter-spacing:-.02em;line-height:1.1;margin:0 0 9px;color:#fff}
.region p{font-size:14.5px;line-height:1.6;color:var(--fg-dim);margin:0 0 18px}
.region-fw{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:auto 0 0;padding:0}
.region-fw li{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--mint-bright);border:1px solid rgba(43,240,192,.35);border-radius:999px;padding:5px 11px}
.region-foot{font-family:var(--serif);font-size:clamp(15px,1.3vw,17px);line-height:1.6;color:var(--fg-dim);max-width:64ch;margin:clamp(30px,3.4vw,44px) 0 0}
@media(max-width:880px){.regions{grid-template-columns:1fr}}

/* ===== who we work with (credibility) ===== */
.creds-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,2vw,28px);margin-top:clamp(32px,3.6vw,52px)}
.cred-col{border-top:2px solid var(--ink);padding-top:22px}
.cred-col.no{border-top-color:var(--ink-line)}
.cred-col .ck{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mint);margin-bottom:16px;display:block}
.cred-col.no .ck{color:var(--ink-faint)}
.cred-col ul{list-style:none;margin:0;padding:0}
.cred-col li{position:relative;font-size:clamp(16px,1.4vw,18.5px);line-height:1.5;letter-spacing:-.01em;color:var(--ink);padding:11px 0 11px 28px;border-top:1px solid var(--ink-line)}
.cred-col li:first-child{border-top:0}
.cred-col li::before{content:"";position:absolute;left:0;top:18px;width:13px;height:2px;background:var(--mint)}
.cred-col.no li{color:var(--ink-dim)}
.cred-col.no li::before{width:13px;height:13px;top:14px;background:none;border:1px solid var(--ink-line);border-radius:50%}
@media(max-width:720px){.creds-grid{grid-template-columns:1fr}}

/* ===== booking / calendly ===== */
.book-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4vw,64px);align-items:center;margin-top:clamp(8px,1vw,16px)}
.cal-embed{position:relative;min-height:clamp(420px,52vw,640px);border:1px solid var(--ink-line);border-radius:18px;overflow:hidden;background:var(--paper-2)}
.cal-embed iframe{width:100%;height:100%;border:0;position:absolute;inset:0}
.cal-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:32px}
.cal-ph .ic{width:54px;height:54px;border-radius:14px;background:var(--mint-tint);display:grid;place-items:center;color:var(--mint)}
.cal-ph b{font-weight:700;font-size:18px;color:var(--ink)}
.cal-ph span{font-size:14px;color:var(--ink-dim);max-width:34ch}
.cal-ph code{font-family:var(--mono);font-size:12px;color:var(--mint);background:var(--mint-tint);padding:3px 8px;border-radius:6px}
.book-list{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}
.book-list li{position:relative;padding-left:28px;font-size:clamp(15px,1.2vw,17px);line-height:1.5;color:var(--ink)}
.book-list li::before{content:"";position:absolute;left:0;top:9px;width:14px;height:2px;background:var(--mint);border-radius:2px}
@media(max-width:820px){.book-grid{grid-template-columns:1fr}}

/* ===== legal pages ===== */
.legal{max-width:74ch;margin:0 auto}
.legal h2{font-weight:700;font-size:clamp(20px,2vw,26px);letter-spacing:-.02em;margin:clamp(34px,4vw,52px) 0 12px;color:var(--ink)}
.legal h2:first-child{margin-top:0}
.legal p{font-size:16px;line-height:1.65;color:var(--ink-dim);margin:0 0 14px}
.legal p b{color:var(--ink)}
.legal a{color:var(--mint);text-decoration:underline;text-underline-offset:2px}
.legal .upd{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:clamp(24px,3vw,38px)}
/* article / insight prose */
.article{max-width:74ch;margin:0 auto}
.article .lead{font-size:clamp(19px,1.9vw,24px);line-height:1.5;color:var(--ink);font-weight:500;margin:0 0 30px}
.article h2{font-weight:700;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;margin:clamp(36px,4.4vw,56px) 0 14px;color:var(--ink)}
.article h3{font-weight:700;font-size:clamp(18px,1.6vw,21px);letter-spacing:-.01em;margin:30px 0 10px;color:var(--ink)}
.article p{font-size:17px;line-height:1.7;color:var(--ink-dim);margin:0 0 16px}
.article p b,.article li b{color:var(--ink);font-weight:600}
.article ul{margin:4px 0 20px;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.article li{position:relative;padding-left:26px;font-size:17px;line-height:1.6;color:var(--ink-dim)}
.article li::before{content:"";position:absolute;left:0;top:11px;width:13px;height:2px;background:var(--mint);border-radius:2px}
.article blockquote{margin:30px 0;padding:6px 0 6px 26px;border-left:3px solid var(--mint);font-size:clamp(19px,2vw,25px);line-height:1.45;color:var(--ink);font-weight:500}
.article blockquote p{font-size:inherit;color:inherit;margin:0}
.article-meta{font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:16px;display:flex;gap:8px 16px;flex-wrap:wrap}
.article-foot{margin:clamp(40px,5vw,64px) 0 0;padding-top:26px;border-top:1px solid var(--ink-line)}
.article-foot p{font-size:17px;color:var(--ink);margin:0}
.article-foot a{color:var(--mint);text-decoration:underline;text-underline-offset:2px;font-weight:600}

/* ===== service areas (natural scroll, replaces scroll-jacking) ===== */
.svc-areas{padding:clamp(8px,1.5vw,20px) 0 clamp(56px,8vw,104px)}
.svc-areas .shead{margin-bottom:clamp(28px,3.6vw,52px)}
.sarea{padding:clamp(34px,4.2vw,60px) 0;border-top:1px solid var(--ink-line)}
.sarea:first-of-type{border-top:0;padding-top:0}
.sarea-head{display:flex;gap:clamp(14px,2.2vw,30px);align-items:baseline;margin-bottom:clamp(24px,2.8vw,38px)}
.sarea-n{font-family:var(--mono);font-weight:500;font-size:clamp(22px,3vw,40px);line-height:1;color:var(--mint);letter-spacing:-.02em;flex:none}
.sarea-intro{max-width:64ch}
.sarea-intro .kick{margin-bottom:12px}
.sarea-intro h2{font-weight:800;font-size:clamp(25px,3.1vw,40px);letter-spacing:-.03em;line-height:1.04;margin:0 0 12px;color:var(--ink)}
.sarea-intro h2 em{font-family:var(--serif);font-style:normal;color:var(--coral)}
.sarea-intro>p{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:var(--ink-dim);margin:0}
.sarea-subs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sarea-sub{padding:24px 22px 26px;border:1px solid var(--ink-line);border-radius:16px;background:var(--paper);transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s,border-color .42s}
.sarea-sub:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(18,26,31,.08);border-color:rgba(0,209,160,.45)}
.sarea-sub .ssn{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--mint)}
.sarea-sub h3{font-weight:700;font-size:17px;letter-spacing:-.01em;margin:14px 0 8px;color:var(--ink);line-height:1.2}
.sarea-sub p{font-size:14.5px;line-height:1.55;color:var(--ink-dim);margin:0}
@media(max-width:1040px){.sarea-subs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.sarea-subs{grid-template-columns:1fr}.sarea-head{gap:12px}}

.creds-strip{margin-top:clamp(18px,2.2vw,30px)}

/* ===== service accordion (lean, editorial, brand pattern) ===== */
.svc-acc-sec{padding:clamp(6px,1.4vw,20px) 0 clamp(46px,6vw,84px)}
.svc-acc-sec .shead{margin-bottom:clamp(18px,2.4vw,34px)}
.svc-acc{border-top:1px solid var(--ink-line)}
.acc-row{border-bottom:1px solid var(--ink-line)}
.acc-head{position:relative;display:flex;align-items:center;gap:clamp(14px,2.2vw,30px);width:100%;text-align:left;background:none;border:0;padding:clamp(21px,2.4vw,31px) 2px;cursor:pointer;color:var(--ink)}
.acc-head::before{content:"";position:absolute;inset:0 -20px;background:var(--paper-2);border-radius:14px;opacity:0;transition:opacity .38s;z-index:0}
.acc-head:hover::before{opacity:1}
.acc-head>*{position:relative;z-index:1}
.acc-n{font-family:var(--mono);font-size:13px;color:var(--mint);flex:none;width:22px;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.acc-row.open .acc-n{transform:translateY(-1px) scale(1.08)}
.acc-ttl{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.acc-ttl b{font-weight:700;font-size:clamp(19px,2vw,27px);letter-spacing:-.025em;line-height:1.1}
.acc-teaser{font-size:13.5px;color:var(--ink-faint);transition:color .3s}
.acc-head:hover .acc-ttl b{color:var(--mint-press)}
.acc-ic{flex:none;width:27px;height:27px;border-radius:50%;border:1px solid var(--ink-line);position:relative;transition:transform .45s cubic-bezier(.16,1,.3,1),background .3s,border-color .3s}
.acc-ic::before,.acc-ic::after{content:"";position:absolute;left:50%;top:50%;background:var(--ink-2);transition:opacity .3s,background .3s}
.acc-ic::before{width:1.6px;height:11px;transform:translate(-50%,-50%)}
.acc-ic::after{height:1.6px;width:11px;transform:translate(-50%,-50%)}
.acc-head:hover .acc-ic{border-color:var(--mint)}
.acc-row.open .acc-ic{background:var(--mint);border-color:var(--mint);transform:rotate(90deg)}
.acc-row.open .acc-ic::before{opacity:0}
.acc-row.open .acc-ic::after{background:#08231c}
.acc-body{max-height:0;overflow:hidden;transition:max-height .55s cubic-bezier(.16,1,.3,1)}
.acc-inner{position:relative;padding:0 2px clamp(26px,2.8vw,38px) 0}
.acc-inner::before{display:none}
@media(max-width:680px){.acc-inner::before{display:none}}
.acc-intro{font-size:clamp(16px,1.4vw,19px);line-height:1.58;color:var(--ink-dim);margin:0 0 clamp(20px,2.2vw,30px);max-width:66ch}
.acc-subs{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(16px,1.8vw,26px) clamp(30px,3.4vw,56px)}
.acc-sub b{display:block;font-weight:600;font-size:16px;letter-spacing:-.01em;color:var(--ink);margin-bottom:5px}
.acc-sub b::before{content:"";display:inline-block;width:12px;height:2px;background:var(--mint);border-radius:2px;vertical-align:middle;margin-right:11px}
.acc-sub p{font-size:14.5px;line-height:1.55;color:var(--ink-dim);margin:0;padding-left:23px}
@media(max-width:680px){.acc-subs{grid-template-columns:1fr;gap:18px}.acc-inner{padding-left:2px}.acc-sub p{padding-left:0}}
@media(prefers-reduced-motion:reduce){.acc-body{transition:none}.acc-ic{transition:none}}

/* ===== service tabs (click-to-navigate, no scroll-jacking) ===== */
.svc-tabs{padding:clamp(10px,2vw,28px) 0 clamp(56px,8vw,104px)}
.svc-tabs .shead{margin-bottom:clamp(26px,3.4vw,48px)}
.stabs{display:grid;grid-template-columns:minmax(238px,300px) 1fr;gap:clamp(22px,3.4vw,56px);align-items:start}
.stabs-nav{display:flex;flex-direction:column;gap:9px;position:sticky;top:94px}
.stab{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:17px 18px;border:1px solid var(--ink-line);border-radius:14px;background:var(--paper);color:var(--ink-dim);cursor:pointer;transition:background .3s,color .3s,border-color .3s,transform .3s}
.stab:hover{border-color:rgba(0,209,160,.45);color:var(--ink);transform:translateX(2px)}
.stab.on{background:var(--navy);border-color:var(--navy);color:#fff}
.stab-n{font-family:var(--mono);font-size:13px;color:var(--mint);flex:none}
.stab.on .stab-n{color:var(--mint-bright)}
.stab-t{font-weight:600;font-size:15.5px;letter-spacing:-.01em;line-height:1.25}
.stab-panel{display:block}
.stab-panel+.stab-panel{margin-top:36px;padding-top:36px;border-top:1px solid var(--ink-line)}
.stabs.js .stab-panel{display:none;margin:0;padding:0;border:0;animation:stabin .5s cubic-bezier(.16,1,.3,1)}
.stabs.js .stab-panel.on{display:block}
@keyframes stabin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.stab-head{margin-bottom:clamp(20px,2.4vw,30px)}
.stab-head .kick{margin-bottom:11px}
.stab-head h3{font-weight:800;font-size:clamp(24px,2.9vw,36px);letter-spacing:-.03em;line-height:1.05;margin:0 0 12px;color:var(--ink)}
.stab-head h3 em{font-family:var(--serif);font-style:normal;color:var(--coral)}
.stab-head>p{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:var(--ink-dim);margin:0;max-width:60ch}
.stab-subs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.stab-sub{padding:24px 22px 26px;border:1px solid var(--ink-line);border-radius:16px;background:var(--paper);transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s,border-color .42s}
.stab-sub:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(18,26,31,.08);border-color:rgba(0,209,160,.45)}
.stab-sub .ssn{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--mint)}
.stab-sub h4{font-weight:700;font-size:17px;margin:13px 0 8px;color:var(--ink);letter-spacing:-.01em;line-height:1.2}
.stab-sub p{font-size:14.5px;line-height:1.55;color:var(--ink-dim);margin:0}
@media(max-width:860px){
 .stabs{grid-template-columns:1fr;gap:20px}
 .stabs-nav{flex-direction:row;overflow-x:auto;position:static;gap:8px;padding-bottom:4px;scrollbar-width:none}
 .stabs-nav::-webkit-scrollbar{display:none}
 .stab{flex:none;white-space:nowrap;padding:12px 15px}
}
@media(max-width:520px){.stab-subs{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.stabs.js .stab-panel{animation:none}.stab:hover{transform:none}}

/* ===== FAQ accordion ===== */
.faq{max-width:80ch}
.faq-item{border-top:1px solid var(--ink-line)}
.faq-item:last-child{border-bottom:1px solid var(--ink-line)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;background:none;border:0;cursor:pointer;padding:clamp(20px,2.2vw,28px) 4px;font-weight:600;font-size:clamp(17px,1.5vw,21px);letter-spacing:-.02em;color:var(--ink);transition:color .3s}
.faq-q:hover{color:var(--mint)}
.faq-ic{flex:none;position:relative;width:18px;height:18px}
.faq-ic::before,.faq-ic::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;background:var(--mint);transform:translate(-50%,-50%);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.faq-ic::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.open .faq-ic::after{transform:translate(-50%,-50%) rotate(0)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.22,1,.36,1)}
.faq-a p{font-size:16px;line-height:1.65;color:var(--ink-dim);margin:0 0 22px;max-width:70ch}
.dark .faq-item{border-color:var(--line)}
.dark .faq-q{color:#fff}
.dark .faq-a p{color:var(--fg-dim)}

/* ===== client experience logo strip ===== */
.logos{margin-top:clamp(44px,5vw,68px);border-top:1px solid var(--ink-line);padding-top:clamp(28px,3vw,40px)}
.logos-label{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:clamp(20px,2.2vw,30px)}
.logo-strip{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:clamp(16px,2vw,28px) clamp(28px,3.4vw,56px);align-items:center}
.logo-strip li{font-weight:700;font-size:clamp(15px,1.3vw,19px);letter-spacing:-.015em;color:rgba(18,26,31,.34);transition:color .35s;cursor:default}
.logo-strip li:hover{color:var(--ink)}

/* ===== mega menu ===== */
.nl-mega{display:contents}
.nl-svc,.nl-da{display:inline-flex;align-items:center;gap:7px}
.nl-svc svg,.nl-da svg{transition:transform .3s;opacity:.55}
.nl-mega.open .nl-svc svg,.nl-mega.open .nl-da svg{transform:rotate(180deg)}
.mega{position:absolute;left:0;right:0;top:100%;background:linear-gradient(178deg,rgba(255,255,255,.98) 0%,rgba(243,247,246,.98) 100%);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--ink-line);box-shadow:0 40px 80px rgba(18,26,31,.13);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility 0s .35s;overflow:hidden}
.mega::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(58% 130% at 86% -20%,rgba(0,209,160,.1),transparent 58%);z-index:0}
.mega .wrap{position:relative;z-index:1}
.nl-mega.open .mega{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1)}
.nav.mega-open{background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.mega-in{display:grid;grid-template-columns:.85fr 2.15fr;gap:clamp(28px,4vw,72px);padding-top:clamp(30px,3vw,44px);padding-bottom:clamp(30px,3vw,44px)}
.mega-intro p{font-weight:700;font-size:clamp(19px,1.6vw,24px);letter-spacing:-.02em;line-height:1.2;color:var(--ink);margin:14px 0 0;max-width:16ch}
.mega-all{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-weight:600;font-size:14px;color:var(--mint)}
.mega-all:hover{text-decoration:underline;text-underline-offset:3px}
.mega-row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding-top:clamp(24px,2.4vw,34px);padding-bottom:clamp(24px,2.4vw,34px)}
.mega-row.cols-4{grid-template-columns:repeat(4,1fr);max-width:1100px}
.mega-row.cols-6{grid-template-columns:repeat(6,1fr)}
.mega-row .mega-item{grid-template-columns:1fr;gap:8px;padding:18px 16px 20px;border:0;border-radius:14px;background:transparent;transition:background .4s ease,transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease}
.mega-row .mega-item:hover{background:linear-gradient(165deg,rgba(0,209,160,.12),rgba(0,209,160,.02) 72%);transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,209,160,.1)}
.mega-row .mega-item:hover .mi-n{color:var(--coral)}
.mega-row .mi-n{display:block;transition:color .3s}
/* About dropdown */
.nl-drop{position:relative;display:inline-flex}
.nl-da{display:inline-flex;align-items:center;gap:7px}
.nl-da svg{transition:transform .3s;opacity:.55}
.nl-drop:hover .nl-da svg,.nl-drop:focus-within .nl-da svg{transform:rotate(180deg)}
.drop{position:absolute;left:6px;top:calc(100% + 10px);min-width:215px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--ink-line);border-radius:14px;box-shadow:0 26px 56px rgba(18,26,31,.16);padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility 0s .3s;z-index:120}
.drop::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.nl-drop:hover .drop,.nl-drop:focus-within .drop{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.drop a{padding:10px 14px;border-radius:9px;font-weight:550;font-size:14.5px;color:var(--ink-2);transition:background .25s,color .25s}
.drop a:hover{background:var(--mint-tint);color:var(--mint)}
.drop a::after{display:none}
@media(max-width:880px){.drop{display:none}}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px clamp(20px,2.4vw,40px)}
.mega-item{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:baseline;padding:13px 14px;border-radius:12px;transition:background .3s}
.mega-item:hover{background:var(--mint-tint)}
.mega-item .mi-n{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--ink-faint)}
.mega-item b{display:block;font-weight:650;font-size:15.5px;letter-spacing:-.015em;color:var(--ink);transition:color .3s}
.mega-item:hover b{color:var(--mint)}
.mega-item span{display:block;font-size:13px;line-height:1.5;color:var(--ink-dim);margin-top:3px}
@media(max-width:880px){.mega{display:none}}

/* ===== mobile drawer ===== */
.burger{position:relative;z-index:210}
.mob-menu{position:fixed;inset:0;z-index:205;background:linear-gradient(168deg,#10223c,#0f1c27 60%);display:flex;flex-direction:column;justify-content:center;padding:90px var(--gut) 40px;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s .4s}
body.menu-open .mob-menu{opacity:1;visibility:visible;transition:opacity .4s ease}
body.menu-open{overflow:hidden}
.mob-menu a{display:block;color:#fff;font-weight:700;font-size:clamp(28px,7vw,40px);letter-spacing:-.02em;padding:10px 0;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}
body.menu-open .mob-menu a{opacity:1;transform:none}
.mob-menu a:nth-child(2){transition-delay:.05s}.mob-menu a:nth-child(3){transition-delay:.1s}.mob-menu a:nth-child(4){transition-delay:.15s}.mob-menu a:nth-child(5){transition-delay:.2s}.mob-menu a:nth-child(6){transition-delay:.25s}
.mob-menu .mm-svc{font-size:15px;font-weight:500;color:rgba(255,255,255,.62);padding:7px 0}
.mob-menu .mm-label{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--mint-bright);margin:26px 0 8px;opacity:0;transition:opacity .5s ease .3s}
body.menu-open .mob-menu .mm-label{opacity:1}
body.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);background:#fff}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background:#fff}
@media(min-width:881px){.mob-menu{display:none}}

/* =================================================================
   SCROLLY — full-viewport capability chapters (service pages)
   ================================================================= */
.scrolly{position:relative;background:linear-gradient(168deg,#10223c 0%,#0f1c27 55%);color:#fff}
.scrolly-track{position:relative}
.scrolly-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;align-items:center}
/* kinetic chapter number — fills the right of the viewport */
.scrolly-ghost{position:absolute;right:-2vw;top:50%;transform:translateY(-50%) translateY(calc(var(--gp,0) * -7vh));font-weight:800;font-size:clamp(300px,44vw,720px);line-height:1;letter-spacing:-.06em;color:rgba(255,255,255,.04);pointer-events:none;will-change:transform}
.scrolly-mesh{position:absolute;inset:0;pointer-events:none;background-size:cover;background-position:center;opacity:.24;filter:grayscale(.82) brightness(.62) contrast(1.06);-webkit-mask:linear-gradient(100deg,transparent 6%,rgba(0,0,0,.8) 46%,#000 80%);mask:linear-gradient(100deg,transparent 6%,rgba(0,0,0,.8) 46%,#000 80%)}
.scrolly-glow{position:absolute;left:-12%;bottom:-28%;width:56vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(43,240,192,.16),transparent 62%);filter:blur(30px);pointer-events:none}
.scrolly-in{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(40px,5.5vw,100px);align-items:center;width:100%;position:relative}
/* left rail — chapter index driven by scroll */
.scrolly-side .kick{color:var(--coral)}
.scrolly-side h2{font-weight:800;font-size:clamp(25px,2.5vw,38px);letter-spacing:-.018em;line-height:1.12;margin:16px 0 0;color:#fff;max-width:16ch}
.scrolly-side h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--coral)}
.scrolly-steps{list-style:none;margin:clamp(28px,3vw,44px) 0 0;padding:0;display:flex;flex-direction:column}
.scrolly-steps li{display:flex;align-items:center;gap:16px;padding:clamp(10px,1.1vw,14px) 0;cursor:pointer;font-weight:600;font-size:clamp(15px,1.15vw,17px);letter-spacing:-.01em;color:rgba(255,255,255,.42);transition:color .35s}
.scrolly-steps li i{flex:none;width:24px;height:1.5px;background:rgba(255,255,255,.22);transition:width .4s cubic-bezier(.22,1,.36,1),background .35s,box-shadow .35s}
.scrolly-steps li:hover{color:rgba(255,255,255,.75)}
.scrolly-steps li.done{color:rgba(255,255,255,.6)}
.scrolly-steps li.done i{background:var(--mint)}
.scrolly-steps li.on{color:#fff}
.scrolly-steps li.on i{width:46px;background:var(--mint-bright);box-shadow:0 0 14px rgba(43,240,192,.55)}
.scrolly-hint{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(26px,3vw,40px);font-family:var(--mono);font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.scrolly-hint::after{content:"";width:1.5px;height:26px;background:linear-gradient(var(--mint-bright),transparent);animation:shint 1.8s ease-in-out infinite}
@keyframes shint{0%,100%{opacity:.3;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
/* right — chapter content, cross-fading in place */
.scrolly-main{display:grid;min-width:0}
.scrolly-panel{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1),visibility 0s .45s;pointer-events:none}
.scrolly-panel.on{opacity:1;visibility:visible;transform:none;transition:opacity .45s ease .1s,transform .55s cubic-bezier(.22,1,.36,1) .1s;pointer-events:auto}
.sp-kick{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mint-bright)}
.scrolly-panel h3{font-weight:800;font-size:clamp(34px,3.8vw,60px);letter-spacing:-.022em;line-height:1.04;margin:16px 0 0;color:#fff}
.sp-intro{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:rgba(255,255,255,.74);margin:16px 0 0;max-width:46ch}
.sp-outcome{display:block;margin:clamp(22px,2.4vw,32px) 0 0;padding-left:20px;border-left:2px solid var(--mint-bright);font-size:clamp(14.5px,1.15vw,16.5px);line-height:1.6;color:rgba(255,255,255,.85);max-width:48ch}
.sp-outcome b{display:block;font-family:var(--mono);font-weight:500;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mint-bright);margin-bottom:6px}
.sp-tag{display:inline-block;margin-left:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--mint-bright);border:1px solid rgba(43,240,192,.4);border-radius:999px;padding:3px 11px;vertical-align:2px}
.sp-subs{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(32px,3.2vw,56px);row-gap:clamp(16px,1.8vw,24px);margin-top:clamp(26px,3vw,42px)}
.sp-sub{padding-top:14px;border-top:1px solid rgba(255,255,255,.12);opacity:0;transform:translateY(12px)}
.scrolly-panel.on .sp-sub{opacity:1;transform:none;transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i) * 70ms + 220ms)}
.sp-sub h4{position:relative;font-weight:600;font-size:clamp(15px,1.15vw,17px);letter-spacing:-.01em;margin:0;color:#fff;padding-left:18px}
.sp-sub h4::before{content:"\203A";position:absolute;left:0;top:-1px;color:var(--mint-bright);font-weight:700}
.sp-sub p{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.6);margin:6px 0 0;padding-left:18px}
/* mobile + reduced motion — unpinned, stacked chapters */
@media(max-width:880px),(prefers-reduced-motion:reduce){
  .scrolly-track{height:auto !important}
  .scrolly-pin{position:static;height:auto;overflow:visible;align-items:flex-start;padding:clamp(56px,9vw,90px) 0}
  .scrolly-ghost,.scrolly-hint{display:none}
  .scrolly-in{grid-template-columns:1fr;gap:34px;align-items:start}
  .scrolly-steps{display:none}
  .scrolly-main{display:block}
  .scrolly-panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .scrolly-panel+.scrolly-panel{margin-top:clamp(48px,9vw,80px);padding-top:clamp(40px,7vw,64px);border-top:1px solid rgba(255,255,255,.12)}
  .scrolly-panel .sp-sub{opacity:1;transform:none}
  .sp-subs{grid-template-columns:1fr}
}

.acc-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.acc-list li{position:relative;padding-left:24px;font-size:15px;line-height:1.5;color:var(--ink-dim)}
.acc-list li::before{content:"";position:absolute;left:0;top:10px;width:12px;height:2px;background:var(--mint);border-radius:2px}
.acc-foot{font-family:var(--serif);font-size:clamp(16px,1.4vw,19px);line-height:1.6;color:var(--ink-dim);margin:clamp(26px,3vw,38px) 0 0;max-width:60ch}

.field select{font-family:var(--font);font-size:16px;padding:13px 16px;min-height:50px;border:1px solid var(--ink-line);border-radius:10px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M2 3.5l3 3 3-3' stroke='%23121a1f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px}
.field select:focus{outline:none;border-color:var(--mint);box-shadow:0 0 0 3px var(--mint-tint)}

/* ===== service components: numbered editorial index (replaces flat card dump) ===== */
.svc-comp{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(40px,5vw,84px);border-top:1px solid var(--ink-line)}
.sc-item{display:flex;gap:clamp(14px,1.4vw,20px);padding:clamp(22px,2.3vw,28px) 2px;border-bottom:1px solid var(--ink-line);transition:background .3s}
.sc-item:hover{background:linear-gradient(90deg,var(--paper-2),transparent)}
.sc-item .sc-n{font-family:var(--mono);font-size:13px;color:var(--coral);flex:none;padding-top:3px;min-width:24px;font-weight:500}
.sc-item h3{font-weight:700;font-size:clamp(17px,1.45vw,20px);letter-spacing:-.02em;line-height:1.25;margin:0;color:var(--ink);transition:color .3s}
.sc-item p{font-size:14.5px;line-height:1.55;color:var(--ink-dim);margin:7px 0 0}
.sc-item:hover h3{color:var(--mint-press)}
@media(max-width:760px){.svc-comp{grid-template-columns:1fr;column-gap:0;border-top:0}}

/* ===== engagement models: depth ladder ===== */
.models{display:flex;flex-direction:column;border-top:1px solid var(--ink-line)}
.model{display:grid;grid-template-columns:42px 1fr auto;gap:clamp(14px,2vw,30px);align-items:center;padding:clamp(22px,2.6vw,32px) 2px;border-bottom:1px solid var(--ink-line);transition:background .3s}
.model:hover{background:linear-gradient(90deg,var(--paper-2),transparent)}
.model .m-n{font-family:var(--mono);font-size:14px;color:var(--coral);font-weight:500}
.model .m-bd h3{font-weight:700;font-size:clamp(18px,1.6vw,23px);letter-spacing:-.02em;margin:0;color:var(--ink);transition:color .3s}
.model:hover .m-bd h3{color:var(--mint-press)}
.model .m-bd p{font-size:15px;line-height:1.55;color:var(--ink-dim);margin:6px 0 0;max-width:62ch}
.model .m-depth{display:flex;gap:6px;align-items:center}
.model .m-depth i{width:9px;height:9px;border-radius:50%;background:var(--ink-line);transition:background .3s}
.model .m-depth i.on{background:var(--mint)}
.model .m-depth-l{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-top:8px;text-align:right}
@media(max-width:640px){.model{grid-template-columns:32px 1fr}.model .m-depth{display:none}}

/* ===== journey flow (horizontal, connected) ===== */
.jflow{position:relative;display:grid;gap:clamp(16px,1.8vw,28px);margin-top:clamp(10px,1.4vw,20px)}
.jflow.j5{grid-template-columns:repeat(5,1fr)}
.jflow.j6{grid-template-columns:repeat(6,1fr)}
.jflow::before{content:"";position:absolute;top:9px;left:9px;right:9px;height:2px;background:linear-gradient(90deg,var(--ink-line),var(--mint));z-index:0}
.jstep{position:relative;padding-top:40px;z-index:1}
.jstep::before{content:"";position:absolute;top:1px;left:0;width:17px;height:17px;border-radius:50%;background:var(--paper);border:2px solid var(--mint);box-shadow:0 0 0 5px var(--paper)}
.jstep .j-tag{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin:0 0 7px}
.jstep h3{font-weight:700;font-size:clamp(16px,1.4vw,21px);letter-spacing:-.02em;line-height:1.15;margin:0 0 6px;color:var(--ink)}
.jstep p{font-size:13.5px;line-height:1.5;color:var(--ink-dim);margin:0}
@media(max-width:860px){
 .jflow.j5,.jflow.j6{grid-template-columns:1fr;gap:0}
 .jflow::before{left:8px;right:auto;top:9px;bottom:9px;width:2px;height:auto;background:linear-gradient(180deg,var(--ink-line),var(--mint))}
 .jstep{padding:0 0 clamp(22px,4vw,30px) 34px}
 .jstep:last-child{padding-bottom:0}
 .jstep::before{top:1px;left:0}
}

/* ===== depth flow (vertical timeline, connected) ===== */
.vflow{position:relative;display:flex;flex-direction:column;margin-top:clamp(6px,1vw,14px)}
.vflow::before{content:"";position:absolute;top:9px;bottom:14px;left:11px;width:2px;background:linear-gradient(180deg,var(--ink-line) 5%,var(--mint))}
.vstep{position:relative;padding:0 0 clamp(24px,3vw,40px) clamp(42px,4.2vw,60px)}
.vstep:last-child{padding-bottom:0}
.vstep::before{content:"";position:absolute;left:3px;top:1px;width:18px;height:18px;border-radius:50%;background:var(--paper);border:2px solid var(--mint);box-shadow:0 0 0 4px var(--paper);transition:background .3s}
.vstep:hover::before{background:var(--mint)}
.vstep .v-tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);display:block;margin:1px 0 6px}
.vstep h3{font-weight:700;font-size:clamp(18px,1.7vw,24px);letter-spacing:-.02em;margin:0 0 6px;color:var(--ink);transition:color .3s}
.vstep:hover h3{color:var(--mint-press)}
.vstep p{font-size:15px;line-height:1.55;color:var(--ink-dim);margin:0;max-width:62ch}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px)}
@media(max-width:760px){.two-col{grid-template-columns:1fr;gap:32px}}

/* ===== interactive depth spectrum (fluid, replaces list-flow) ===== */
.spectrum{margin-top:clamp(12px,1.6vw,24px)}
.spec-track{position:relative;display:grid;grid-template-columns:repeat(6,1fr)}
.spec-track::before{content:"";position:absolute;top:13px;left:7%;right:7%;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--ink-line),var(--mint-bright))}
.spec-node{position:relative;background:none;border:0;cursor:pointer;padding:0 6px 4px;display:flex;flex-direction:column;align-items:center;gap:13px;z-index:1}
.spec-node .sn-dot{width:18px;height:18px;border-radius:50%;background:var(--paper);border:2px solid var(--mint);box-shadow:0 0 0 6px var(--paper);transition:transform .45s cubic-bezier(.16,1,.3,1),background .3s,box-shadow .3s}
.spec-node:hover .sn-dot{transform:scale(1.12)}
.spec-node.on .sn-dot{background:var(--mint);transform:scale(1.3);box-shadow:0 0 0 6px var(--paper),0 0 18px rgba(0,209,160,.65)}
.spec-node .sn-label{font-size:12.5px;font-weight:600;color:var(--ink-faint);letter-spacing:-.01em;text-align:center;line-height:1.25;transition:color .3s}
.spec-node:hover .sn-label,.spec-node.on .sn-label{color:var(--ink)}
.spec-panel{position:relative;margin-top:clamp(26px,3vw,44px);background:linear-gradient(150deg,var(--paper-2),#fff);border:1px solid var(--ink-line);border-radius:20px;padding:clamp(26px,3.2vw,44px);overflow:hidden}
.spec-panel::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--mint),var(--mint-bright))}
.spec-item{display:none}
.spec-item.on{display:block;animation:specin .5s cubic-bezier(.16,1,.3,1)}
@keyframes specin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.spec-item .si-tag{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);display:flex;align-items:center;gap:10px;margin-bottom:12px}
.spec-item .si-tag b{font-weight:500;color:var(--ink-faint)}
.spec-item h3{font-weight:800;font-size:clamp(26px,3.4vw,44px);letter-spacing:-.03em;line-height:1.02;margin:0 0 14px;color:var(--ink)}
.spec-item h3 em{font-style:normal;color:var(--coral)}
.spec-item p{font-size:clamp(16px,1.45vw,20px);line-height:1.6;color:var(--ink-dim);margin:0;max-width:62ch}
@media(max-width:760px){
 .spec-track{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:minmax(120px,1fr);overflow-x:auto;scrollbar-width:none;gap:4px;padding-bottom:6px}
 .spec-track::-webkit-scrollbar{display:none}
 .spec-track::before{display:none}
 .spec-node{border:1px solid var(--ink-line);border-radius:12px;padding:12px 10px;gap:9px}
 .spec-node.on{border-color:var(--mint)}
 .spec-node .sn-dot{box-shadow:none;width:12px;height:12px}
}

.spec-scale{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px}
@media(max-width:760px){.spec-scale{display:none}}
.spec-item{position:relative}
.spec-item .si-watermark{position:absolute;top:-18px;right:6px;font-family:var(--mono);font-weight:700;font-size:clamp(80px,12vw,150px);line-height:1;color:var(--mint);opacity:.06;pointer-events:none;z-index:0}
.spec-item>*{position:relative;z-index:1}

/* ===== locations connection map ===== */
.geomap{position:relative;border-radius:22px;overflow:hidden;background:radial-gradient(120% 150% at 82% -20%,#17262d,#0f1c27 62%);border:1px solid var(--line);aspect-ratio:1000/430;margin-top:clamp(22px,2.6vw,36px)}
.geomap::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1.2px,transparent 1.2px);background-size:25px 25px;-webkit-mask-image:radial-gradient(120% 120% at 55% 45%,#000 55%,transparent);mask-image:radial-gradient(120% 120% at 55% 45%,#000 55%,transparent)}
.geo-svg{position:absolute;inset:0;width:100%;height:100%}
.geo-arc{fill:none;stroke:url(#geograd);stroke-width:1.6;stroke-dasharray:5 7;animation:geodash 16s linear infinite}
@keyframes geodash{to{stroke-dashoffset:-240}}
.geo-core{fill:var(--mint-bright);filter:drop-shadow(0 0 9px rgba(43,240,192,.85))}
.geo-ring{fill:none;stroke:var(--mint-bright);stroke-width:1.4;opacity:0;animation:geopulse 3.2s ease-out infinite}
.geo-pin:nth-of-type(2) .geo-ring{animation-delay:1s}
.geo-pin:nth-of-type(3) .geo-ring{animation-delay:2s}
@keyframes geopulse{0%{r:7px;opacity:.65}100%{r:30px;opacity:0}}
.geo-label{fill:#fff;font-family:var(--font);font-weight:700;font-size:18px;letter-spacing:-.01em}
.geo-sub{fill:var(--mint-bright);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:600px){.geomap{aspect-ratio:1000/640}.geo-label{font-size:22px}.geo-sub{font-size:12px}}
@media(prefers-reduced-motion:reduce){.geo-arc{animation:none}.geo-ring{animation:none;opacity:.3}}

/* ===== subtle locations map (background texture, not a feature) ===== */
.geo-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.geo-bg::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(18,26,31,.06) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:radial-gradient(95% 120% at 50% 32%,#000 42%,transparent 85%);mask-image:radial-gradient(95% 120% at 50% 32%,#000 42%,transparent 85%)}
.geo-bg .geo-svg{position:absolute;inset:0;width:100%;height:100%}
.geo-bg .geo-arc{fill:none;stroke:url(#geograd);stroke-width:1.1;stroke-dasharray:4 7;animation:geodash 22s linear infinite}
.geo-bg .geo-core{fill:var(--mint)}
.geo-bg .geo-halo{fill:var(--mint);opacity:.14}
@media(prefers-reduced-motion:reduce){.geo-bg .geo-arc{animation:none}}

/* ===== dotted world map background for the metric strip ===== */
.geo-world{position:absolute;inset:0;z-index:0;pointer-events:none;display:flex;align-items:center;justify-content:center;padding:0 clamp(16px,3vw,48px)}
.geo-world svg{width:100%;height:auto;max-height:104%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.geo-world .gw-dot{fill:var(--mint-bright);opacity:.32}
.geo-world .gw-hot{fill:var(--mint-bright)}
.geo-world .gw-halo{fill:var(--mint-bright);opacity:.4}
@media(max-width:760px){.geo-world{opacity:.7}}

/* ===== Figma alignment: dark green-ripple hero + adaptive nav ===== */
.nav-links a{color:rgba(255,255,255,.85)}
.nav .brand-tx b{color:#fff}
.nav .brand-tx span{color:rgba(255,255,255,.6)}
.burger span{background:#fff}
.nav.scrolled .nav-links a,.nav.mega-open .nav-links a{color:var(--ink-2)}
.nav.scrolled .brand-tx b,.nav.mega-open .brand-tx b{color:var(--ink)}
.nav.scrolled .brand-tx span,.nav.mega-open .brand-tx span{color:var(--ink-dim)}
.nav.scrolled .burger span,.nav.mega-open .burger span{background:var(--ink)}

.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:var(--ban,linear-gradient(160deg,#122430,#0c2b26)) center/cover no-repeat;filter:grayscale(1) brightness(.5) contrast(1.12) sepia(.5) hue-rotate(118deg) saturate(2.3);opacity:.62}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,#0f1c27 12%,rgba(14,20,22,.56) 52%,rgba(14,20,22,.12) 82%),radial-gradient(58% 95% at 84% 22%,rgba(0,209,160,.22),transparent 60%)}
.hero .wrap{position:relative;z-index:2}
.hero h1{color:#fff}
.hero h1 em{color:var(--mint-bright)}
.hero-sub{color:rgba(255,255,255,.8)}
.hero .kick{color:var(--mint-bright)}
.hero .kick::before{background:var(--mint-bright)}
.hero-scroll{color:rgba(255,255,255,.55)}
.hero .btn-ghost{border-color:rgba(255,255,255,.32);color:#fff}
.hero .btn-ghost:hover{background:#fff;color:var(--navy)}

/* ===== Figma alignment: unify banners + CTA on the green ripple, footer wordmark ===== */
.pbanner::before{background:var(--ban,linear-gradient(160deg,#122430,#0c2b26)) center/cover no-repeat;filter:grayscale(.25) brightness(.58) contrast(1.08) saturate(.9);opacity:.42}
.cta::before{background:url(amana-hero-poster.jpg) center/cover no-repeat;filter:grayscale(1) brightness(.5) contrast(1.1) sepia(.5) hue-rotate(120deg) saturate(2.2);opacity:.42}
.foot{position:relative;overflow:hidden}
.foot>.wrap{position:relative;z-index:1}
.foot::after{content:"amana partnership";position:absolute;left:50%;bottom:-.24em;transform:translateX(-50%);font-family:var(--font);font-weight:800;font-size:clamp(64px,15.5vw,240px);letter-spacing:-.045em;line-height:.8;color:rgba(255,255,255,.045);white-space:nowrap;pointer-events:none;z-index:0}

/* ===== Go-live fix: .reasons tick list adapts to light sections ===== */
.sec:not(.dark) .reason{color:var(--ink);border-top-color:var(--ink-line)}
.sec:not(.dark) .reason .tick{border-color:var(--mint);color:var(--mint)}

/* ===== Uniform banner height: every banner matches the About-page proportion ===== */
.pbanner,.hero{min-height:clamp(380px,46vh,452px);padding-top:clamp(104px,13vh,150px);padding-bottom:clamp(46px,6vh,66px);display:flex;flex-direction:column;justify-content:flex-end}
.pbanner > .wrap,.hero > .wrap{width:100%}
.pbanner h1,.hero h1{font-size:clamp(38px,5vw,78px)}
.pbanner p{font-size:clamp(15px,1.25vw,18px);max-width:54ch;margin-top:16px}
.hero .hero-sub{display:none}
.hero .hero-scroll{display:none}
.hero .hero-foot{margin-top:14px}
.hero h1{line-height:1.03}
.pbanner,.hero{padding-top:clamp(92px,11vh,132px)}
@media(max-width:760px){.pbanner,.hero{min-height:auto}}

/* ===== Bento boxes: mint / coral / violet three-colour accent system ===== */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(12px,1.1vw,18px);margin-top:clamp(26px,3vw,42px)}
.bento-box{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(168px,15vw,212px);border-radius:20px;padding:clamp(22px,2vw,30px);background:var(--paper-2);border:1px solid var(--ink-line);overflow:hidden;transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s,border-color .55s}
.bento-box::before{content:"";position:absolute;inset:0;background:radial-gradient(125% 100% at 0% 0%,var(--tint),transparent 62%);pointer-events:none}
.bento-box::after{content:"";position:absolute;left:0;top:0;height:100%;width:4px;background:var(--bx)}
.bento-box:hover{transform:translateY(-5px);border-color:var(--bx);box-shadow:0 24px 50px rgba(18,26,31,.12)}
.bento-box>*{position:relative;z-index:1}
.bx-dot{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;margin-bottom:auto;background:var(--tint);color:var(--bx)}
.bx-dot b{font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.02em}
.bento-box h3{font-weight:700;font-size:clamp(18px,1.45vw,21px);letter-spacing:-.02em;line-height:1.2;margin:18px 0 8px;color:var(--ink)}
.bento-box p{font-size:14.5px;line-height:1.55;color:var(--ink-dim);margin:0}
.bento-box.c-mint{--bx:#00d1a0;--tint:rgba(0,209,160,.13)}
.bento-box.c-coral{--bx:#00d1a0;--tint:rgba(0,209,160,.13)}
.bento-box.c-violet{--bx:#0aa886;--tint:rgba(10,168,134,.15)}
.bento-box.w2{grid-column:span 2}.bento-box.w3{grid-column:span 3}.bento-box.w4{grid-column:span 4}
.sec.dark .bento-box{background:rgba(255,255,255,.04);border-color:var(--line)}
.sec.dark .bento-box h3{color:#fff}.sec.dark .bento-box p{color:var(--fg-dim)}
@media(max-width:880px){.bento{grid-template-columns:1fr 1fr}.bento-box,.bento-box.w2,.bento-box.w3,.bento-box.w4{grid-column:span 1}}
@media(max-width:520px){.bento{grid-template-columns:1fr}}


/* ===== Bento even-grid variants + figures (numbers band) ===== */
.bento.even{grid-template-columns:repeat(3,1fr)}
.bento.even.c4{grid-template-columns:repeat(4,1fr)}
.bento-box.stat-box{justify-content:flex-start}
.bento-box .n{display:block;font-weight:800;font-size:clamp(46px,4.5vw,76px);letter-spacing:-.03em;line-height:.96;color:var(--bx)}
.bento-box .nm{display:block}
.bento-box .nm i{display:block;font-style:normal;font-weight:800;font-size:clamp(22px,2.3vw,34px);letter-spacing:-.02em;line-height:1.12;color:var(--bx)}
.bento-box.stat-box p{font-family:var(--serif);font-size:15px;color:var(--fg-dim);margin:14px 0 0;max-width:26ch}
.bento-box ul.acc-list{margin:12px 0 0}
@media(max-width:980px){.bento.even.c4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:880px){.bento.even{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.bento.even,.bento.even.c4{grid-template-columns:1fr}}


/* ===== Bento: lone last-row box becomes a full-width feature bar (no orphan) ===== */
.bento.even:not(.c4) > .bento-box:last-child:nth-child(3n+1){grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px clamp(18px,2.4vw,34px);min-height:auto;padding-top:clamp(20px,1.8vw,26px);padding-bottom:clamp(20px,1.8vw,26px)}
.bento.even:not(.c4) > .bento-box:last-child:nth-child(3n+1) .bx-dot{margin-bottom:0}
.bento.even:not(.c4) > .bento-box:last-child:nth-child(3n+1) h3{margin:0;flex:0 0 auto}
.bento.even:not(.c4) > .bento-box:last-child:nth-child(3n+1) p{margin:0;flex:1 1 260px;color:var(--ink-dim)}
.bento.even:not(.c4) > .bento-box:last-child:nth-child(3n+1) ul.acc-list{flex:1 1 100%;margin-top:6px}
@media(max-width:880px){.bento.even:not(.c4) > .bento-box:last-child:nth-child(2n+1){grid-column:1/-1}}

/* ===== The Lens — light-background variant + responsive ===== */
.lens.on-light .lens-list{border-top-color:var(--ink-line)}
.lens.on-light .lens-item{border-bottom-color:var(--ink-line)}
.lens.on-light .lens-item.on{background:rgba(0,209,160,.06)}
.lens.on-light .lens-mark{border-color:rgba(18,26,31,.22)}
.lens.on-light .lens-item.on .lens-mark{background:var(--mint);border-color:var(--mint);box-shadow:0 0 0 5px rgba(0,209,160,.14)}
.lens.on-light .lens-t{color:var(--ink-dim)}
.lens.on-light .lens-item.on .lens-t,.lens.on-light .lens-item:hover .lens-t{color:var(--ink)}
.lens.on-light .lens-d{color:var(--ink-dim)}
.lens.on-light .lens-ripple{filter:blur(26px);opacity:.4}
.lens.on-light .lens-ring{stroke:rgba(18,26,31,.13)}
.lens.on-light .lens-ring.on{stroke:var(--mint);filter:drop-shadow(0 0 11px rgba(0,209,160,.45))}
.lens.on-light .lens-core{fill:#fff;stroke:var(--mint)}
.lens.on-light .lens-coretext{fill:var(--ink)}
.lens.on-light .lens-node{fill:#fff;stroke:var(--mint);filter:drop-shadow(0 0 5px rgba(0,209,160,.3))}
.lens.on-light .lens-node.on{fill:var(--mint);stroke:var(--mint);filter:drop-shadow(0 0 18px rgba(0,209,160,.8))}
.lens.on-light .lens-callout{border-top-color:var(--ink-line)}
.lens.on-light .lens-callout h3{color:var(--ink)}
.lens.on-light .lens-callout p{color:var(--ink-dim)}
@media(max-width:820px){.lens{grid-template-columns:1fr;gap:clamp(28px,5vw,40px)}.lens-viz{max-width:360px;order:-1}}

/* ===== The Lens — top-agency orbital viz (light) ===== */
.lens-viz{position:relative;width:100%;max-width:460px;margin:0 auto;justify-self:center;aspect-ratio:1}
.lens-aura{position:absolute;left:50%;top:50%;width:72%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(0,209,160,.22),transparent 64%);filter:blur(34px);pointer-events:none;z-index:0}
.lens-sweep{position:absolute;left:50%;top:50%;width:94%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,rgba(0,209,160,.18) 30deg,rgba(43,240,192,.06) 64deg,transparent 104deg);-webkit-mask:radial-gradient(circle,transparent 27%,#000 30%,#000 70%,transparent 76%);mask:radial-gradient(circle,transparent 27%,#000 30%,#000 70%,transparent 76%);animation:lensspin 15s linear infinite;pointer-events:none;z-index:1}
.lens-svg{position:relative;width:100%;height:auto;display:block;overflow:visible;z-index:2}
.lens-spin,.lens-spin-rev{transform-box:fill-box;transform-origin:center;animation:lensspin 90s linear infinite}
.lens-spin-rev{animation-duration:150s;animation-direction:reverse}
@keyframes lensspin{to{transform:rotate(360deg)}}
.lens-dash{fill:none;stroke:rgba(0,209,160,.3);stroke-width:1.5;stroke-dasharray:2 13;stroke-linecap:round}
.lens-dash.thin{stroke:rgba(18,26,31,.1);stroke-dasharray:1 16}
.lens-link{stroke:rgba(0,209,160,.14);stroke-width:1.25;transition:stroke .45s ease,stroke-width .45s ease}
.lens-link.on{stroke:var(--mint);stroke-width:1.75}
.lens.on-light .lens-ring{fill:none;stroke:rgba(18,26,31,.12);stroke-width:1.4;transition:stroke .55s ease,stroke-width .55s ease,filter .55s ease}
.lens.on-light .lens-ring.on{stroke:var(--mint);stroke-width:2.4;filter:drop-shadow(0 0 13px rgba(0,209,160,.55))}
.lens-ring-hit{fill:none;stroke:transparent;stroke-width:36;cursor:pointer;pointer-events:stroke}
.lens-core-glow{pointer-events:none}
.lens.on-light .lens-core{fill:#fff;stroke:none;filter:drop-shadow(0 10px 26px rgba(0,209,160,.2))}
.lens-core-ring{fill:none;stroke:var(--mint);stroke-width:1.4;opacity:.85}
.lens.on-light .lens-coretext{fill:var(--ink);font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;text-anchor:middle;opacity:.62}
.lens.on-light .lens-coretext.lens-coretext-b{font-size:11.5px;font-weight:600;letter-spacing:.3em;opacity:1}
.lens.on-light .lens-node{fill:#fff;stroke:var(--mint);stroke-width:1.7;cursor:pointer;filter:drop-shadow(0 0 6px rgba(0,209,160,.4));transition:r .6s cubic-bezier(.22,1,.36,1),fill .5s ease,stroke .5s ease,filter .5s ease}
.lens.on-light .lens-node.on{r:9.5;fill:var(--mint);stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 20px rgba(0,209,160,.9))}
@media(prefers-reduced-motion:reduce){.lens-spin,.lens-spin-rev,.lens-sweep{animation:none}}

/* ===== Lens interaction polish (a11y checklist) ===== */
.lens-item{cursor:pointer}
.lens-item:focus-visible{outline:2px solid var(--mint);outline-offset:3px;border-radius:8px}
.lens-ring-hit:focus-visible,.lens-node:focus-visible{outline:none}

/* ===== Site-wide consistency: unified card radius + marquee logos ===== */
.svc-tile,.in-card{border-radius:18px}
.marquee-wrap{position:relative;overflow:hidden;margin-top:8px;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-wrap .logo-strip{flex-wrap:nowrap;width:max-content;gap:clamp(40px,4.4vw,68px);animation:marquee 42s linear infinite}
.marquee-wrap:hover .logo-strip{animation-play-state:paused}
.marquee-wrap .logo-strip li{flex:0 0 auto;white-space:nowrap}
@keyframes marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-wrap .logo-strip{animation:none;flex-wrap:wrap}}

/* ===== Consistent card hover lift across the site ===== */
.in-card:hover,.sector-card:hover,.region:hover,.bento-box:hover{transform:translateY(-4px)}
.in-card:hover,.sector-card:hover{box-shadow:0 22px 46px rgba(18,26,31,.10)}

/* ===== The Lens — dark variant (radar glows on dark, consistent white text) ===== */
.lens.on-dark .lens-aura{background:radial-gradient(circle,rgba(0,209,160,.32),transparent 64%);filter:blur(40px)}
.lens.on-dark .lens-sweep{background:conic-gradient(from 0deg,transparent 0deg,rgba(43,240,192,.28) 30deg,rgba(0,209,160,.08) 64deg,transparent 104deg)}
.lens.on-dark .lens-dash{stroke:rgba(43,240,192,.34)}
.lens.on-dark .lens-dash.thin{stroke:rgba(255,255,255,.12)}
.lens.on-dark .lens-link{stroke:rgba(43,240,192,.2)}
.lens.on-dark .lens-link.on{stroke:var(--mint-bright)}
.lens.on-dark .lens-ring{fill:none;stroke:rgba(255,255,255,.12);stroke-width:1.4;transition:stroke .55s ease,stroke-width .55s ease,filter .55s ease}
.lens.on-dark .lens-ring.on{stroke:var(--mint-bright);stroke-width:2.4;filter:drop-shadow(0 0 14px rgba(43,240,192,.6))}
.lens.on-dark .lens-core{fill:rgba(14,20,22,.82);stroke:none;filter:drop-shadow(0 0 24px rgba(43,240,192,.28))}
.lens.on-dark .lens-core-ring{fill:none;stroke:var(--mint-bright);stroke-width:1.4;opacity:.9}
.lens.on-dark .lens-coretext{fill:rgba(255,255,255,.58);font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;text-anchor:middle}
.lens.on-dark .lens-coretext.lens-coretext-b{fill:#fff;font-size:11.5px;font-weight:600;letter-spacing:.3em}
.lens.on-dark .lens-node{fill:#0f1c27;stroke:var(--mint-bright);stroke-width:1.7;cursor:pointer;filter:drop-shadow(0 0 7px rgba(43,240,192,.5));transition:r .6s cubic-bezier(.22,1,.36,1),fill .5s ease,stroke .5s ease,filter .5s ease}
.lens.on-dark .lens-node.on{r:9.5;fill:var(--mint-bright);stroke:#0f1c27;stroke-width:2;filter:drop-shadow(0 0 22px rgba(43,240,192,.95))}
.lens.on-dark .lens-callout h3{color:#fff}

/* ===== Secondary palette as SOLID accents on restored cards/stats (mint/coral/violet) ===== */
.why-item:nth-child(3n+2)::before{background:var(--coral)}
.why-item:nth-child(3n+3)::before{background:var(--purple)}
.why-item:nth-child(3n+2):hover h3{color:var(--coral)}
.why-item:nth-child(3n+3):hover h3{color:var(--purple)}
.stat:nth-child(3n+2) .n,.stat:nth-child(3n+2) .nm i{color:var(--coral)}
.stat:nth-child(3n+3) .n,.stat:nth-child(3n+3) .nm i{color:var(--purple)}

/* ===== White cards: proper card design (clean, not bento) ===== */
.why-grid{counter-reset:wi}
.why-item{position:relative;counter-increment:wi;background:var(--paper,#fff);border:1px solid var(--ink-line);border-radius:16px;padding:clamp(26px,2.4vw,34px);box-shadow:0 1px 2px rgba(18,26,31,.03);overflow:hidden;--ac:var(--mint);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,border-color .45s ease}
.why-item:nth-child(3n+2){--ac:var(--coral)}
.why-item:nth-child(3n+3){--ac:var(--purple)}
.why-item::before{content:"";position:absolute;top:0;left:0;right:0;width:auto;height:3px;background:var(--ac)}
.why-item::after{content:counter(wi,decimal-leading-zero);position:absolute;top:15px;right:18px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ac);opacity:.62}
.why-item:hover{transform:translateY(-5px);box-shadow:0 24px 50px rgba(18,26,31,.10);border-color:rgba(18,26,31,.14)}
.why-item:hover::before{width:auto}
.why-item h3{padding-right:26px;margin-top:2px}
.why-item:hover h3{color:var(--ac)}

/* ============================================================
   PREMIUM POLISH PASS (10x) — global design elevation
   ============================================================ */
/* --- CTA buttons: gradient, glow, lift, shine sweep, arrow slide --- */
.btn-mint{background:linear-gradient(135deg,var(--mint-bright) 0%,var(--mint) 100%);color:#06251d;box-shadow:0 8px 22px -8px rgba(0,209,160,.55),inset 0 1px 0 rgba(255,255,255,.28)}
.btn-mint:hover{background:linear-gradient(135deg,var(--mint-bright),var(--mint-bright));transform:translateY(-2px);box-shadow:0 16px 38px -8px rgba(0,209,160,.62),inset 0 1px 0 rgba(255,255,255,.32)}
.btn-mint::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-130%);transition:transform .8s cubic-bezier(.22,1,.36,1);pointer-events:none}
.btn-mint:hover::before{transform:translateX(130%)}
.btn:hover .a{transform:translateX(5px)}
.btn-ghost{transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease}
.btn-ghost:hover{transform:translateY(-2px)}
/* --- more confident display headings --- */
.shead h2{font-size:clamp(36px,4.9vw,72px);letter-spacing:-.025em}
/* --- white cards: soft accent glow on hover --- */
.why-item:hover{box-shadow:0 26px 54px -18px rgba(18,26,31,.16),0 10px 30px -14px var(--ac)}
/* --- dark sections: subtle depth glow --- */
.sec.dark{position:relative;overflow:hidden}
.sec.dark > .wrap{position:relative;z-index:1}
.sec.dark::after{content:"";position:absolute;top:-25%;right:-8%;width:55%;height:130%;background:radial-gradient(circle,rgba(0,209,160,.09),transparent 60%);pointer-events:none;z-index:0}
/* --- smoother reveal easing --- */
[data-rv]{transition-timing-function:cubic-bezier(.22,1,.36,1)}
/* --- refined link underlines (in-body anchors) --- */
.btn,.svc-tile,.in-card,.sector-card,.region,.why-item,.lens-item,.mega-item{will-change:transform}

/* ===== The Lens — flat orb, scroll-driven expansion, colour follows the focused flow ===== */
.lens.on-dark{--lg:#00d1a0;--lg-b:#2bf0c0;--lg-s:rgba(0,209,160,.45)}
.lens-viz{position:relative;width:100%;max-width:440px;margin:0 auto;justify-self:center;aspect-ratio:1;display:grid;place-items:center;--os:.35}
.lens-orb{width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--lg) 0%,var(--lg) 58%,transparent 76%);box-shadow:0 0 64px 0 var(--lg-s);transform:scale(var(--os,.35));transform-origin:center;transition:background .55s ease,box-shadow .55s ease,transform .6s cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){.lens-orb{transition-property:background,box-shadow}}

/* ===== Stepup-style hero with inline stat callouts ===== */
.hero{min-height:clamp(580px,84vh,740px)}
.hero-stats{display:flex;gap:clamp(26px,4vw,60px);margin-top:clamp(34px,4vw,50px);padding-top:clamp(26px,3vw,38px);border-top:1px solid rgba(255,255,255,.14);max-width:780px;flex-wrap:wrap}
.hstat{display:flex;flex-direction:column;gap:7px}
.hstat-n{font-weight:800;font-size:clamp(30px,3.6vw,48px);letter-spacing:-.025em;line-height:.95;background:linear-gradient(135deg,var(--mint-bright),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent}
.hstat-l{font-size:13px;line-height:1.4;color:rgba(255,255,255,.62);max-width:20ch}
@media(max-width:600px){.hero-stats{gap:20px 30px}.hstat-n{font-size:30px}}


/* ===== Stepup-style icon chips on feature cards ===== */
.wi-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:13px;border:1.5px solid var(--ac);color:var(--ac);margin-bottom:20px;transition:background .4s ease,color .4s ease}
.wi-icon svg{display:block}
.why-item:hover .wi-icon{background:var(--ac);color:#fff}

/* ============================================================
   CLEAN MINIMAL PREMIUM PASS (ZS / Sia Partners / PPM direction)
   restraint, whitespace, flat clean surfaces, calm depth
   ============================================================ */
/* more generous whitespace */
.sec{padding:clamp(92px,12.5vw,184px) 0}
.shead{margin-bottom:clamp(40px,5vw,70px)}
/* cleaner, flatter CTAs (less glow, crisp) */
.btn-mint{box-shadow:0 4px 14px -5px rgba(0,209,160,.4)}
.btn-mint:hover{box-shadow:0 9px 22px -7px rgba(0,209,160,.45)}
/* calmer depth on dark sections (subtle, not glowy) */
.sec.dark::after{background:radial-gradient(circle,rgba(0,209,160,.05),transparent 62%)}
/* cleaner card surfaces */
.why-item{box-shadow:0 1px 3px rgba(18,26,31,.035)}
.why-item:hover{box-shadow:0 18px 42px -22px rgba(18,26,31,.16)}
.in-card:hover,.sector-card:hover{box-shadow:0 18px 42px -22px rgba(18,26,31,.14)}
/* tighter, more confident headings */
.shead h2{letter-spacing:-.028em;line-height:1.05}
/* refined kicker spacing */
.kick{letter-spacing:.2em}

/* ============================================================
   LIGHT EDITORIAL HERO (ZS/Sia/PPM) — home page
   ============================================================ */
.hero-ed{background:var(--paper);color:var(--ink);min-height:auto;display:block;overflow:visible;padding:clamp(128px,15vh,178px) 0 clamp(56px,7vw,92px)}
.hero-ed::before,.hero-ed::after{display:none!important}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(36px,5vw,78px);align-items:center;width:100%}
.hero-ed .kick{color:var(--coral)}
.hero-ed h1{color:var(--ink);font-weight:800;font-size:clamp(40px,5.1vw,72px);line-height:1.03;letter-spacing:-.03em;max-width:15ch;margin:20px 0 0;text-wrap:balance}
.hero-ed h1 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--mint)}
.hero-ed .hero-sub{display:block;color:var(--ink-dim);font-size:clamp(16px,1.3vw,19px);line-height:1.6;max-width:46ch;margin:22px 0 0}
.hero-ed .hero-cta{display:flex;gap:14px;margin-top:clamp(26px,3vw,36px);flex-wrap:wrap}
.hero-ed .btn-ghost{border-color:var(--ink-line);color:var(--ink)}
.hero-ed .btn-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.hero-media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 80px -36px rgba(18,26,31,.34)}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.25) contrast(1.05) brightness(.99)}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(155deg,rgba(0,209,160,.18),transparent 46%),linear-gradient(0deg,rgba(14,20,22,.14),transparent 40%);mix-blend-mode:multiply}
.hero-ed .hero-stats{display:flex;gap:clamp(28px,4.5vw,72px);margin-top:clamp(46px,5vw,72px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--ink-line);max-width:none;flex-wrap:wrap}
.hero-ed .hstat-n{background:none!important;-webkit-text-fill-color:var(--mint);color:var(--mint);font-weight:800}
.hero-ed .hstat-l{color:var(--ink-dim)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:30px}.hero-media{aspect-ratio:16/10;order:2}.hero-ed h1{max-width:20ch}}

/* nav: dark text on the light home hero */
body.home-light .nav:not(.scrolled):not(.mega-open){background:rgba(245,247,246,.72);-webkit-backdrop-filter:saturate(1.2) blur(14px);backdrop-filter:saturate(1.2) blur(14px);box-shadow:0 1px 0 var(--ink-line)}
body.home-light .nav:not(.scrolled) .nav-links a{color:var(--ink-2)}
body.home-light .nav:not(.scrolled) .brand-tx b{color:var(--ink)}
body.home-light .nav:not(.scrolled) .brand-tx span{color:var(--ink-dim)}
body.home-light .nav:not(.scrolled) .burger span{background:var(--ink)}

/* ===== Editorial image+text row (distinct two-column band) ===== */
.edrow-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,5.5vw,92px);align-items:center}
.edrow-media{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 40px 84px -40px rgba(18,26,31,.34)}
.edrow-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(.28) contrast(1.06)}
.edrow-media::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(0,209,160,.2),transparent 48%),linear-gradient(0deg,rgba(14,20,22,.45),transparent 46%);mix-blend-mode:normal;pointer-events:none}
.edrow-tag{position:absolute;left:20px;bottom:18px;z-index:1;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.22);padding:7px 12px;border-radius:999px}
.edrow-body h2{font-weight:800;font-size:clamp(30px,3.7vw,52px);letter-spacing:-.03em;line-height:1.05;margin:16px 0 0;color:var(--ink)}
.edrow-body h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--mint)}
.edrow-body p{color:var(--ink-dim);font-size:clamp(15.5px,1.2vw,18px);line-height:1.66;margin:22px 0 0;max-width:56ch}
.edrow-amana{padding-left:18px;border-left:2px solid var(--mint)}
.ar-inline{font-size:1.5em;color:var(--mint);margin-right:12px;line-height:1;vertical-align:-3px}
@media(max-width:880px){.edrow-grid{grid-template-columns:1fr;gap:30px}.edrow-media{aspect-ratio:16/10;order:-1}}

/* ===== Sticky-lead method section (premium UX pattern) ===== */
.edsplit{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,6vw,100px);align-items:start}
.edsplit-lead{position:sticky;top:118px}
.edsplit-lead h2{font-weight:800;font-size:clamp(30px,3.4vw,48px);letter-spacing:-.03em;line-height:1.06;margin:14px 0 0;color:var(--ink)}
.edsplit-lead h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--mint)}
.edsplit-lead p{color:var(--ink-dim);font-size:16.5px;line-height:1.65;margin:18px 0 0;max-width:42ch}
.prosteps{list-style:none;margin:0;padding:0}
.prostep{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,46px);padding:clamp(26px,3vw,40px) 0;border-top:1px solid var(--ink-line);transition:padding-left .4s cubic-bezier(.22,1,.36,1)}
.prosteps li:last-child{border-bottom:1px solid var(--ink-line)}
.ps-n{font-family:var(--mono);font-size:clamp(26px,2.6vw,40px);font-weight:600;color:var(--mint);line-height:1}
.ps-bd h3{font-weight:700;font-size:clamp(20px,1.7vw,26px);letter-spacing:-.02em;margin:0;color:var(--ink)}
.ps-bd p{color:var(--ink-dim);font-size:16px;line-height:1.62;margin:10px 0 0;max-width:56ch}
.prostep:hover{padding-left:12px}
@media(max-width:880px){.edsplit{grid-template-columns:1fr;gap:30px}.edsplit-lead{position:static}}

/* ===== Branded glyph panel (replaces stock imagery, on-brand) ===== */
.edrow-glyph{position:relative;border-radius:22px;aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;background:radial-gradient(120% 100% at 30% 18%,#10302a 0%,#0f1c27 68%);overflow:hidden;box-shadow:0 40px 84px -42px rgba(18,26,31,.34)}
.edrow-glyph::before{content:"";position:absolute;width:72%;aspect-ratio:1;left:50%;top:42%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(0,209,160,.32),transparent 64%);filter:blur(54px);pointer-events:none}
.edrow-glyph::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px;opacity:.5;pointer-events:none}
.glyph-ar{position:relative;font-size:clamp(96px,13vw,184px);line-height:1;color:var(--mint-bright);font-weight:500}
.glyph-sub{position:relative;font-family:var(--mono);font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.edrow-glyph .edrow-tag{left:50%;transform:translateX(-50%)}


/* ===== Service tiles as clean icon cards (no stock photos) ===== */
.svc-tile{padding:clamp(26px,2.3vw,36px);border:1px solid var(--ink-line);border-radius:18px;background:#fff;box-shadow:0 1px 3px rgba(18,26,31,.035);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease,border-color .5s ease}
.svc-tile:hover{transform:translateY(-6px);box-shadow:0 24px 50px -24px rgba(18,26,31,.18);border-color:rgba(0,209,160,.42)}
.svc-ico{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:14px;border:1.5px solid var(--mint);color:var(--mint);margin-bottom:20px;transition:background .4s ease,color .4s ease}
.svc-tile:hover .svc-ico{background:var(--mint);color:#fff}
.svc-ico svg{display:block}
.svc-tile h3{margin-top:6px}

/* ============================================================
   RICHER CARD DEPTH — tactile, premium elevation
   ============================================================ */
.why-item,.svc-tile,.sector-card,.in-card{box-shadow:0 1px 2px rgba(18,26,31,.04),0 14px 28px -20px rgba(18,26,31,.18)}
.why-item:hover{transform:translateY(-8px);box-shadow:0 2px 6px rgba(18,26,31,.05),0 40px 70px -30px rgba(18,26,31,.28),0 0 0 1px var(--ac,rgba(0,209,160,.45))}
.svc-tile:hover{transform:translateY(-8px);box-shadow:0 2px 6px rgba(18,26,31,.05),0 40px 70px -30px rgba(18,26,31,.26),0 0 0 1px rgba(0,209,160,.4)}
.sector-card:hover,.in-card:hover{transform:translateY(-8px);box-shadow:0 2px 6px rgba(18,26,31,.05),0 40px 70px -30px rgba(18,26,31,.24)}
/* soft accent sheen sweeps in on hover (svc-tile) */
.svc-tile{position:relative;overflow:hidden;isolation:isolate}
.svc-tile::before{content:"";position:absolute;inset:0;background:radial-gradient(130% 90% at 100% 0%,rgba(0,209,160,.08),transparent 52%);opacity:0;transition:opacity .55s ease;pointer-events:none;z-index:-1}
.svc-tile:hover::before{opacity:1}

/* ============================================================
   CUTTING-EDGE SPOTLIGHT CARDS — cursor-following glow + gradient edge
   ============================================================ */
.svc-tile,.why-item{--mx:50%;--my:50%}
/* repurpose svc-tile sheen into a cursor-following spotlight */
.svc-tile::before{background:radial-gradient(280px circle at var(--mx) var(--my),rgba(0,209,160,.14),transparent 60%)!important;inset:0!important;z-index:0!important}
.svc-tile>*{position:relative;z-index:1}
/* gradient edge that lights up on hover */
.svc-tile::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.3px;background:linear-gradient(135deg,var(--mint),var(--purple) 75%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:2}
.svc-tile:hover::after{opacity:.85}
/* spotlight on the why cards too */
.why-item{position:relative;overflow:hidden}
.why-item .spot{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(300px circle at var(--mx) var(--my),rgba(0,209,160,.1),transparent 58%);opacity:0;transition:opacity .45s ease;pointer-events:none;z-index:0}
.why-item:hover .spot{opacity:1}
.why-item>*:not(.spot){position:relative;z-index:1}

/* ============================================================
   STATS — single source, reference-style clean row (no duplication)
   ============================================================ */
.hero-ed .hero-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:clamp(44px,5vw,68px);padding-top:clamp(30px,3vw,42px);border-top:1px solid var(--ink-line)}
.hero-ed .hstat{display:flex;flex-direction:column;gap:8px;padding:2px clamp(30px,4vw,62px)}
.hero-ed .hstat:first-child{padding-left:0}
.hero-ed .hstat:not(:first-child){border-left:1px solid var(--ink-line)}
.hero-ed .hstat-n{font-size:clamp(40px,4.6vw,62px);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--mint)!important;-webkit-text-fill-color:var(--mint);background:none!important}
.hero-ed .hstat-l{font-size:13.5px;line-height:1.45;color:var(--ink-dim);font-weight:500;max-width:17ch;letter-spacing:.005em}

/* Dark band → distinct statement moment (no repeated figures) */
.impact-statement{max-width:820px}
.impact-statement .kick{color:var(--mint)}
.impact-statement h2{color:#fff;font-weight:800;font-size:clamp(32px,4.2vw,58px);letter-spacing:-.032em;line-height:1.07;margin:16px 0 0;max-width:18ch}
.sec.dark .impact-statement h2 em{color:var(--mint);font-style:normal;font-family:var(--font)}
.impact-statement p{color:rgba(255,255,255,.66);font-size:clamp(16px,1.25vw,19px);line-height:1.66;margin:24px 0 0;max-width:62ch}
.impact-statement .btn{margin-top:32px}

/* ============================================================
   FULL-BLEED DARK HERO — map backdrop + overlaid headline & stats (stepup-style)
   ============================================================ */
.hero-fb{position:relative;min-height:94vh;display:flex;align-items:center;overflow:hidden;color:#fff;padding:clamp(124px,16vh,184px) 0 clamp(58px,8vh,96px);background:radial-gradient(125% 120% at 78% 8%,#163a32 0%,#0f1c27 52%,#0a121a 100%)}
.hero-fb::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,14,.72) 0%,rgba(8,12,14,.35) 45%,transparent 72%);z-index:0;pointer-events:none}
.hero-fb-bg{position:absolute;inset:0;z-index:0;pointer-events:none;display:flex;align-items:center;justify-content:flex-end}
.hero-fb-bg .geo-world{position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:74%;height:auto;opacity:.55}
.hero-fb-bg .geo-world svg{width:100%;height:auto;display:block}
.hero-fb-inner{position:relative;z-index:1;max-width:1180px;width:100%}
.hero-fb .kick{color:var(--mint)}
.hero-fb h1{font-weight:800;font-size:clamp(44px,6.1vw,90px);line-height:1.01;letter-spacing:-.035em;max-width:17ch;margin:20px 0 0;color:#fff;text-wrap:balance}
.hero-fb h1 em{font-style:normal;color:var(--mint);display:block}
.hero-fb .hero-sub{color:rgba(255,255,255,.72);font-size:clamp(16px,1.35vw,20px);line-height:1.6;max-width:54ch;margin:24px 0 0}
.hero-fb .hero-cta{display:flex;gap:14px;margin-top:clamp(28px,3.5vw,42px);flex-wrap:wrap}
.hero-fb .btn-ghost{border-color:rgba(255,255,255,.26);color:#fff}
.hero-fb .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.hero-fb .hero-stats{display:flex;flex-wrap:wrap;gap:0;margin-top:clamp(50px,6vw,84px);padding-top:clamp(30px,3vw,44px);border-top:1px solid rgba(255,255,255,.15);max-width:none}
.hero-fb .hstat{display:flex;flex-direction:column;gap:8px;padding:2px clamp(30px,4vw,60px)}
.hero-fb .hstat:first-child{padding-left:0}
.hero-fb .hstat:not(:first-child){border-left:1px solid rgba(255,255,255,.15)}
.hero-fb .hstat-n{font-size:clamp(40px,4.7vw,66px);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--mint)!important;-webkit-text-fill-color:var(--mint);background:none!important}
.hero-fb .hstat-l{font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.62);font-weight:500;max-width:17ch}
@media(max-width:720px){.hero-fb{min-height:auto}.hero-fb-bg .geo-world{width:120%;right:-30%;opacity:.4}.hero-fb .hstat{padding:2px clamp(18px,5vw,30px)}}

/* ============================================================
   AMANA GLYPH — integrated modern geometric motif (Reem Kufi, mint on white)
   ============================================================ */
.edrow-glyph{background:none!important;box-shadow:none!important;aspect-ratio:auto;min-height:clamp(320px,34vw,470px);border-radius:24px;gap:22px}
.edrow-glyph::before{content:"";position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:80%;aspect-ratio:1.25;background:radial-gradient(closest-side,rgba(0,209,160,.18),transparent 72%);filter:blur(8px);z-index:0;pointer-events:none}
.edrow-glyph::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(0,209,160,.10) 1px,transparent 1px);background-size:26px 26px;opacity:.7;-webkit-mask:radial-gradient(68% 68% at 50% 50%,#000,transparent 76%);mask:radial-gradient(68% 68% at 50% 50%,#000,transparent 76%);z-index:0;pointer-events:none}
.glyph-ar{position:relative;z-index:2;font-family:"Reem Kufi",var(--font),sans-serif!important;font-weight:700;font-size:clamp(120px,17vw,250px)!important;color:var(--mint)!important;-webkit-text-fill-color:var(--mint);line-height:1;direction:rtl;letter-spacing:-.01em;background:none!important}
.glyph-sub{position:relative;z-index:2;color:var(--ink-dim)!important;font-family:var(--mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase}

/* ===== Exact Amana glyph (custom wordmark) as integrated design element ===== */
.edrow-glyph .glyph-img{position:relative;z-index:2;width:min(74%,440px);height:auto;display:block;filter:drop-shadow(0 16px 34px rgba(0,209,160,.24))}

/* ============================================================
   HERO BACKGROUND VIDEO + map moved to dark band + glyph as abstract feature
   ============================================================ */
.hero-fb-bg{background:#0f1c27 url(amana-hero-poster.jpg) center/cover no-repeat}
.hero-fb-bg .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media(prefers-reduced-motion:reduce){.hero-fb-bg .hero-vid{display:none}}
/* stronger overlay so text stays readable over the water */
.hero-fb::after{background:linear-gradient(90deg,rgba(8,12,14,.88) 0%,rgba(8,12,14,.62) 44%,rgba(8,12,14,.34) 100%),linear-gradient(0deg,rgba(8,12,14,.6),transparent 46%)!important}

/* map now lives in the dark band below — subtle, pushed right, behind the text */
#impact .geo-world{position:absolute;right:-7%;top:50%;left:auto;bottom:auto;transform:translateY(-50%);width:60%;height:auto;opacity:.3;pointer-events:none;z-index:0}
#impact .geo-world svg{width:100%;height:auto;display:block}

/* glyph = abstract angular shape (design feature), not the readable word */
.glyph-feature{overflow:hidden;position:relative;min-height:clamp(320px,34vw,470px);border-radius:24px}
.glyph-feature .glyph-img{position:absolute;width:172%;max-width:none;left:-46%;top:50%;transform:translateY(-50%);opacity:.95;filter:drop-shadow(0 18px 38px rgba(0,209,160,.22))}
.glyph-feature::after{display:none}

/* ============================================================
   NAV MEGA DROPDOWN — darker shade (not pure white), light text
   ============================================================ */
.mega{background:linear-gradient(180deg,rgba(14,20,22,.99) 0%,rgba(20,28,32,.99) 100%)!important;border-bottom:1px solid rgba(255,255,255,.10)!important;box-shadow:0 40px 80px rgba(0,0,0,.42)!important}
.mega-item b{color:#fff}
.mega-item>span>span{color:rgba(255,255,255,.6)}
.mega-item .mi-n{color:var(--mint)}
.mega-item:hover{background:rgba(0,209,160,.13)!important;box-shadow:none!important}
.mega-item:hover b{color:var(--mint-bright)}
.mega-item:hover .mi-n{color:var(--mint-bright)}
/* nav bar matches the dark dropdown when open */
.nav.mega-open{background:rgba(14,20,22,.99)!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:none!important}
.nav.mega-open .nav-links a{color:rgba(255,255,255,.84)!important}
.nav.mega-open .nav-links a:hover{color:var(--mint)!important}
.nav.mega-open .brand-tx b{color:#fff!important}
.nav.mega-open .brand-tx span{color:rgba(255,255,255,.6)!important}
.nav.mega-open .burger span{background:#fff!important}

/* ============================================================
   SINGLE QUOTE BAND
   ============================================================ */
.quote-sec{background:radial-gradient(120% 130% at 50% 0%,#15242e 0%,var(--navy) 62%);text-align:center}
.quote-wrap{max-width:1000px;margin:0 auto}
.quote-sec .kick{color:var(--mint)}
.big-quote{position:relative;font-size:clamp(26px,3.6vw,48px);font-weight:700;line-height:1.22;letter-spacing:-.022em;color:#fff;margin:22px 0 0;text-wrap:balance}
.big-quote::before{content:"\201C";display:block;font-size:clamp(64px,7vw,120px);line-height:.55;color:var(--mint);opacity:.55;margin-bottom:10px}
.quote-by{margin-top:32px;display:flex;flex-direction:column;gap:5px}
.qb-name{font-weight:700;color:#fff;font-size:16px}
.qb-role{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.56)}

/* ============================================================
   TWO-TONE HEADINGS SITE-WIDE — mint emphasis, bold, not italic serif
   ============================================================ */
h1 em,h2 em,h3 em,.shead h2 em,.pbanner h1 em,.edrow-body h2 em,.edsplit-lead h2 em,.impact-statement h2 em,.cta h2 em{font-family:var(--font)!important;font-style:normal!important;font-weight:inherit!important;color:var(--mint)!important}

/* ============================================================
   HERO VIDEO — subtle, gunmetal-grey + green blend, ~90% transparent
   ============================================================ */
.hero-fb{background:linear-gradient(125deg,#1c2630 0%,#121d1b 46%,#0c2b23 100%)!important}
.hero-fb-bg{background:none!important}
.hero-fb-bg .hero-vid{opacity:.16}
.hero-fb::after{background:linear-gradient(90deg,rgba(20,28,34,.5) 0%,rgba(12,40,33,.24) 58%,rgba(12,40,33,.08) 100%),linear-gradient(0deg,rgba(16,24,22,.42),transparent 50%)!important}

/* ============================================================
   STATEMENT — glyph removed, dark "meaning" card (tonal break, not stark white)
   ============================================================ */
.edrow-grid{grid-template-columns:1.06fr .94fr!important;align-items:stretch}
.amana-card{position:relative;overflow:hidden;background:linear-gradient(158deg,#16242e 0%,var(--navy) 72%);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:clamp(30px,3.2vw,46px);color:#fff;box-shadow:0 36px 72px -34px rgba(14,20,22,.45);display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:clamp(300px,30vw,400px)}
.amana-card::before{content:"";position:absolute;right:-18%;top:-26%;width:64%;aspect-ratio:1;background:radial-gradient(circle,rgba(0,209,160,.18),transparent 64%);filter:blur(18px);pointer-events:none}
.ac-label{position:relative;font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.amana-card p{position:relative;color:rgba(255,255,255,.8);font-size:clamp(15.5px,1.2vw,18px);line-height:1.62;margin:0;max-width:46ch}
.ac-tags{position:relative;display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.ac-tags span{font-size:12.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:7px 14px;border-radius:999px}
@media(max-width:880px){.edrow-grid{grid-template-columns:1fr!important}}

/* ============================================================
   CONSULTANCY-GRADE FOOTER
   ============================================================ */

.foot-top{display:grid;grid-template-columns:1.25fr 2fr;gap:clamp(40px,6vw,100px);padding:clamp(62px,7vw,100px) 0 clamp(44px,4.5vw,64px);align-items:start}
.foot-brand .brand{margin-bottom:22px}
.foot-brand .brand-tx b{color:#fff}
.foot-brand .brand-tx span{color:rgba(255,255,255,.6)}
.foot-tag{color:rgba(255,255,255,.62);font-size:15px;line-height:1.6;max-width:40ch;margin:0 0 26px}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}
.foot-col{display:flex;flex-direction:column;gap:13px}
.fc-h{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);margin-bottom:5px}
.foot-col a{color:rgba(255,255,255,.72);font-size:14.5px;text-decoration:none;transition:color .25s ease;width:fit-content}
.foot-col a:hover{color:var(--mint)}
.fc-txt{color:rgba(255,255,255,.48);font-size:14px}
.fc-social{color:#fff!important;font-weight:600;margin-top:6px}
.foot-base{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding:24px 0;color:rgba(255,255,255,.5);font-size:13px}
.foot-base a{color:rgba(255,255,255,.62);text-decoration:none}
.foot-base a:hover{color:var(--mint)}
@media(max-width:820px){.foot-top{grid-template-columns:1fr;gap:40px}.foot-cols{grid-template-columns:repeat(2,1fr)}.foot-base{flex-direction:column;align-items:flex-start;gap:8px}}
@media(max-width:480px){.foot-cols{grid-template-columns:1fr}}

/* ============================================================
   ABOUT — premium founder cards (designed around photos)
   ============================================================ */
.partner{box-shadow:0 16px 34px -20px rgba(14,20,22,.42);transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease}
.partner:hover{transform:translateY(-7px);box-shadow:0 34px 64px -28px rgba(14,20,22,.5)}
.partner-base b{font-size:20px}
.partner-ov{background:linear-gradient(0deg,rgba(8,12,14,.97) 0%,rgba(8,12,14,.78) 55%,rgba(8,12,14,.5) 100%)!important;justify-content:flex-end}
.partner-ov b{font-size:21px}
.partner-ov .role{color:var(--mint-bright)!important}
.partner-ov p{font-family:var(--font)!important;font-style:normal!important;color:rgba(255,255,255,.84)!important;line-height:1.55;margin-top:4px}
/* story image card depth */
.story-media{box-shadow:0 30px 64px -34px rgba(14,20,22,.4)}
.story-media .ov{font-family:var(--font);font-style:normal}

/* ============================================================
   FOOTER — simplified (matches reference): tagline, pills, offices, 2 short columns
   ============================================================ */
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(40px,6vw,90px);padding:clamp(60px,7vw,96px) 0 clamp(40px,4vw,56px);align-items:start}
.foot-btns{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.foot-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:rgba(255,255,255,.85);font-size:13.5px;font-weight:500;text-decoration:none;transition:border-color .3s ease,color .3s ease}
.foot-btn:hover{border-color:var(--mint);color:var(--mint)}
.foot-offices{display:flex;gap:clamp(28px,4vw,56px);flex-wrap:wrap}
.foff{display:flex;flex-direction:column;gap:4px}
.foff b{color:#fff;font-weight:700;font-size:15px}
.foot-cols{grid-template-columns:1fr 1fr!important}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr;gap:38px}}

/* ============================================================
   ABOUT — "What we live by" values unblanded (premium dark cards)
   ============================================================ */
.sec.dark .value{background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.1)!important;color:#fff!important;min-height:clamp(200px,24vh,240px);transition:transform .5s cubic-bezier(.22,1,.36,1),background .4s ease,border-color .4s ease,box-shadow .4s ease}
.sec.dark .value::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(150% 110% at 0% 0%,rgba(0,209,160,.14),transparent 55%);opacity:0;transition:opacity .45s ease;pointer-events:none}
.sec.dark .value:hover{transform:translateY(-7px);border-color:rgba(0,209,160,.42)!important;box-shadow:0 30px 60px -28px rgba(0,0,0,.55)}
.sec.dark .value:hover::before{opacity:1}
.sec.dark .value>*{position:relative;z-index:1}
.sec.dark .value .vn{color:var(--mint);font-size:13px}
.sec.dark .value h3{font-family:var(--font)!important;font-weight:700!important;color:#fff!important;font-size:clamp(19px,1.7vw,23px);line-height:1.12;margin:auto 0 0}
.sec.dark .value p{font-family:var(--font)!important;color:rgba(255,255,255,.6)!important;font-size:13.5px;line-height:1.5;margin-top:10px}

/* ============================================================
   ABOUT — "Our people and network" (de-squashed, supporting dark panel)
   ============================================================ */
.network-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:clamp(40px,5vw,82px);align-items:center;max-width:none}
.network-lead h2{font-weight:800;font-size:clamp(28px,3.4vw,46px);letter-spacing:-.03em;line-height:1.07;margin:0 0 4px;color:var(--ink)}
.network-lead p{font-size:clamp(16px,1.25vw,18px);line-height:1.66;color:var(--ink-dim);margin:18px 0 0;max-width:54ch}
.network-panel{position:relative;overflow:hidden;background:linear-gradient(158deg,#16242e 0%,var(--navy) 72%);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:clamp(30px,3.2vw,46px);color:#fff;box-shadow:0 36px 72px -34px rgba(14,20,22,.45)}
.network-panel::before{content:"";position:absolute;right:-18%;top:-26%;width:64%;aspect-ratio:1;background:radial-gradient(circle,rgba(0,209,160,.18),transparent 64%);filter:blur(18px);pointer-events:none}
.np-label{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.np-lead{position:relative;font-weight:700;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em;line-height:1.2;color:#fff;margin:14px 0 22px}
.np-tags{position:relative;display:flex;flex-wrap:wrap;gap:9px}
.np-tags span{font-size:12.5px;font-weight:600;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);padding:7px 13px;border-radius:999px}
@media(max-width:880px){.network-grid{grid-template-columns:1fr;gap:32px}}

/* ============================================================
   SERVICE PAGES — premium accordion + compact near-empty heading bands
   ============================================================ */
.acc-head{border-radius:11px;transition:background .35s ease,padding-left .35s ease}
.acc-head:hover{background:none;padding-left:0}
.acc-head[aria-expanded="true"]{background:var(--mint-tint)}
.acc-head[aria-expanded="true"] .acc-ttl b{color:var(--mint-press)}
/* kill the empty grey band: compact sections that contain only a heading */
.sec:has(> .wrap > .shead:only-child){padding-top:clamp(50px,5.5vw,80px);padding-bottom:clamp(20px,2.5vw,36px)}
.sec:has(> .wrap > .shead:only-child) .shead{margin-bottom:0}

/* ============================================================
   GLOBAL — remove green kicker eyebrows, minimalist footer, darker video overlay
   ============================================================ */
/* 1. kill the small green text above headings, site-wide */
.kick{display:none!important}
.shead h2,.shead h1{margin-top:0}

/* 2. minimalist footer */
.foot::after{display:none!important}
.foot-min{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:clamp(40px,5vw,64px) 0 clamp(26px,3vw,38px)}
.foot-nav{display:flex;gap:clamp(18px,2.5vw,38px);flex-wrap:wrap}
.foot-nav a{color:rgba(255,255,255,.72);font-size:14.5px;text-decoration:none;transition:color .25s ease}
.foot-nav a:hover{color:var(--mint)}

/* 3. darker (~90%) video overlay, gunmetal-green */
.hero-fb-bg .hero-vid{opacity:.5!important}
.hero-fb::after{background:linear-gradient(90deg,rgba(13,19,21,.94) 0%,rgba(11,28,24,.88) 55%,rgba(11,28,24,.82) 100%),linear-gradient(0deg,rgba(13,19,21,.55),transparent 55%)!important}

/* ============================================================
   CONTRAST FIXES — stat labels on light, testimonials on dark
   ============================================================ */
.sec:not(.dark) .stat p{color:var(--ink-dim)!important;font-family:var(--font)}
.sec.dark .stat p{color:rgba(255,255,255,.62)!important;font-family:var(--font)}
.sec.dark blockquote,.testi-band blockquote{color:rgba(255,255,255,.9)!important;font-family:var(--font)!important}
.testi-band figcaption{color:rgba(255,255,255,.56)!important}
.testi-band .tq,.sec.dark .tq{color:var(--mint)}

/* ============================================================
   HEADING ALIGNMENT — kicker hidden, collapse its empty label column
   ============================================================ */
.shead{grid-template-columns:1fr!important}
.shead h2,.shead h1,.shead p{grid-column:1!important}

/* ============================================================
   HERO VIDEO OVERLAY — near-opaque on the left (text), bleeding to reveal video right
   ============================================================ */
.hero-fb-bg .hero-vid{opacity:.82!important}
.hero-fb::after{background:linear-gradient(90deg,rgba(10,15,16,.985) 0%,rgba(10,20,17,.95) 24%,rgba(10,24,20,.66) 56%,rgba(10,24,20,.3) 82%,rgba(10,24,20,.12) 100%)!important}

/* ============================================================
   OUR PEOPLE & NETWORK — dark banner
   ============================================================ */
.network-banner{position:relative;overflow:hidden;background:radial-gradient(120% 140% at 16% 0%,#15242e 0%,var(--navy) 60%)}
.network-banner .nb-map{position:absolute;inset:0;background-image:radial-gradient(rgba(0,209,160,.18) 1px,transparent 1px);background-size:26px 26px;-webkit-mask:radial-gradient(72% 80% at 82% 50%,#000,transparent 72%);mask:radial-gradient(72% 80% at 82% 50%,#000,transparent 72%);opacity:.55;pointer-events:none}
.network-banner .wrap{position:relative;z-index:1}
.network-banner h2{color:#fff;font-weight:800;font-size:clamp(30px,4vw,56px);letter-spacing:-.03em;line-height:1.06;margin:0;max-width:18ch}
.network-banner h2 em{color:var(--mint)}
.network-banner p{color:rgba(255,255,255,.72);font-size:clamp(16px,1.3vw,19px);line-height:1.66;margin:22px 0 0;max-width:64ch}
.network-banner .np-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}

/* ============================================================
   ALIGNMENT FIX — hero shares the same content width/edge as every section
   ============================================================ */
.hero-fb-inner{max-width:var(--maxw)!important}

/* ============================================================
   HERO VIDEO — near-black left (text), strong fade so the right water is vivid
   ============================================================ */
.hero-fb-bg .hero-vid{opacity:1!important}
.hero-fb::after{background:linear-gradient(90deg,#0b141d 0%,rgba(9,14,15,.97) 30%,rgba(10,22,19,.72) 56%,rgba(10,24,20,.34) 80%,rgba(10,24,20,.06) 100%),linear-gradient(0deg,rgba(8,12,13,.55),transparent 52%)!important}

/* ============================================================
   HERO VIDEO — sit fully into background (~90% overlay across, gentle bleed)
   ============================================================ */
.hero-fb-bg .hero-vid{opacity:1!important}
.hero-fb::after{background:linear-gradient(90deg,rgba(9,13,14,.97) 0%,rgba(9,15,15,.93) 50%,rgba(10,20,18,.88) 100%),linear-gradient(0deg,rgba(8,12,13,.45),transparent 58%)!important}

/* ============================================================
   HERO VIDEO — flat ~90% layer, video barely visible (~10%) behind it
   ============================================================ */
.hero-fb-bg .hero-vid{opacity:1!important}
.hero-fb::after{background:linear-gradient(0deg,rgba(8,12,13,.5),transparent 46%),rgba(9,14,15,.9)!important}

/* ============================================================
   ARTICLE — related-articles band (clean 3-card grid)
   ============================================================ */
.am-label{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint);margin:0 0 24px}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.rel-card{display:flex;flex-direction:column;gap:12px;padding:clamp(22px,2.4vw,30px);border:1px solid var(--ink-line);border-radius:16px;background:#fff;box-shadow:0 1px 2px rgba(18,26,31,.04),0 14px 28px -20px rgba(18,26,31,.16);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease,border-color .5s ease;text-decoration:none;min-height:168px}
.rel-card:hover{transform:translateY(-6px);box-shadow:0 2px 6px rgba(18,26,31,.05),0 34px 60px -28px rgba(18,26,31,.22);border-color:rgba(0,209,160,.4)}
.rel-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.rel-card h3{font-weight:700;font-size:clamp(17px,1.4vw,20px);letter-spacing:-.02em;line-height:1.25;color:var(--ink);margin:0}
.rel-go{margin-top:auto;font-weight:600;font-size:14px;color:var(--ink);display:inline-flex;gap:7px;align-items:center}
.rel-go i{color:var(--mint);transition:transform .3s ease}
.rel-card:hover .rel-go i{transform:translateX(4px)}
.rel-card:hover h3{color:var(--mint-press)}
@media(max-width:820px){.rel-grid{grid-template-columns:1fr}}

/* ============================================================
   PREMIUM MEGA MENU — featured lead panel + sectioned grid (ZS/Sia class)
   ============================================================ */
.mega-in{display:grid;grid-template-columns:.92fr 2fr;gap:clamp(30px,4vw,66px);padding-top:clamp(32px,3vw,46px);padding-bottom:clamp(32px,3vw,46px);align-items:start}
.mega-lead{display:flex;flex-direction:column;gap:12px;padding-right:clamp(20px,2.2vw,40px);border-right:1px solid rgba(255,255,255,.1)}
.mega-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint)}
.mega-lead b{font-weight:800;font-size:clamp(20px,1.7vw,27px);letter-spacing:-.025em;line-height:1.1;color:#fff}
.mega-sub{font-size:14px;line-height:1.55;color:rgba(255,255,255,.6);max-width:30ch}
.mega-cta{margin-top:8px;font-weight:600;font-size:14px;color:var(--mint);display:inline-flex;gap:8px;align-items:center;text-decoration:none}
.mega-cta i{transition:transform .3s ease}
.mega-cta:hover i{transform:translateX(5px)}
.mega-grid{display:grid;gap:6px}
.mega-grid.cols-2{grid-template-columns:1fr 1fr}
.mega-grid.cols-3{grid-template-columns:1fr 1fr 1fr}
/* staggered reveal of items when the menu opens */
.mega-item{opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .45s cubic-bezier(.22,1,.36,1),background .3s ease}
.mega.open .mega-item,.nl-mega:hover .mega-item{opacity:1;transform:none}
.nl-mega:hover .mega-item{transition-delay:calc(var(--i,0)*40ms)}
.mega-lead{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.nl-mega:hover .mega-lead,.mega.open .mega-lead{opacity:1;transform:none}

/* ============================================================
   SIGNATURE MOTION — smooth scroll
   ============================================================ */
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mega-item,.mega-lead{opacity:1!important;transform:none!important}}

/* ============================================================
   QUOTE BAND — image-overlay design (on-brand water + dark/mint wash)
   ============================================================ */
.quote-sec{position:relative;overflow:hidden;background:var(--navy)!important;isolation:isolate}
.quote-sec::before{content:"";position:absolute;inset:0;z-index:-2;background:url(amana-hero-poster.jpg) center/cover no-repeat;opacity:.42;filter:grayscale(.12) contrast(1.05)}
.quote-sec::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(9,14,15,.9) 0%,rgba(11,28,24,.74) 55%,rgba(0,209,160,.16) 100%)}
.quote-sec .wrap,.quote-wrap{position:relative;z-index:1}
.big-quote::before{opacity:.7}

/* ============================================================
   IMAGE HOVER — crisp, clean zoom + soft wash
   ============================================================ */
.sector-card .media,.in-card .media,.feat-media{overflow:hidden;position:relative}
.sector-card .media img,.in-card .media img,.feat-media img{transition:transform .7s cubic-bezier(.22,1,.36,1),filter .6s ease;will-change:transform}
.sector-card:hover .media img,.in-card:hover .media img,.feat-media:hover img{transform:scale(1.05)}
.sector-card .media::after,.in-card .media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,18,20,.55),transparent 55%);opacity:.7;transition:opacity .5s ease;pointer-events:none}
.sector-card:hover .media::after,.in-card:hover .media::after{opacity:.35}

/* ============================================================
   EXPERIENCE LOGOS — image slots, theme-tinted greyscale (text fallback)
   ============================================================ */
.logo-imgs{align-items:center}
.logo-imgs li img{height:clamp(20px,2.1vw,28px);width:auto;max-width:130px;object-fit:contain;display:block;filter:grayscale(1);opacity:.5;transition:opacity .3s ease,filter .3s ease}
.logo-imgs li:hover img{opacity:.85}

/* ============================================================
   FOOTER — rich gunmetal → green gradient, clean/contemporary (Sia)
   ============================================================ */

.foot-base{border-top-color:rgba(255,255,255,.09)}

/* ============================================================
   QUOTE — sleek glass card, image barely there (95% transparent)
   ============================================================ */
.quote-sec{background:linear-gradient(155deg,#12212c 0%,#0f1c27 60%)!important}
.quote-sec::before{opacity:.06!important;filter:grayscale(.2) contrast(1.05)!important}
.quote-sec::after{background:radial-gradient(120% 100% at 50% 0%,rgba(0,209,160,.08),transparent 62%)!important}
.quote-wrap{max-width:900px;margin:0 auto;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.1);border-radius:26px;padding:clamp(42px,5vw,72px) clamp(28px,5vw,76px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 50px 90px -46px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.06)}

/* ============================================================
   HERO VIDEO — 95% transparent (darker)
   ============================================================ */
.hero-fb::after{background:linear-gradient(0deg,rgba(8,12,13,.5),transparent 55%),rgba(9,14,15,.95)!important}

/* ============================================================
   SECTION FLOW — subtle grounds so each section reads distinctly & flows
   ============================================================ */
.sec.alt{background:linear-gradient(180deg,#f4f7f6 0%,#edf2f0 100%)!important}
.sec:not(.dark){position:relative}
.sec:not(.dark)::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(18,26,31,.07) 20%,rgba(18,26,31,.07) 80%,transparent);pointer-events:none}
.sec.dark+.sec:not(.dark)::before,.hero-fb+.sec::before{display:none}

/* ============================================================
   FOOTER — flows out of the dark CTA (navy→green), richer + sleek
   ============================================================ */


.foot-top{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(36px,5vw,80px);padding:clamp(52px,6vw,84px) 0 clamp(34px,4vw,52px);align-items:start}
.foot-id{display:flex;flex-direction:column;gap:18px;max-width:46ch}
.foot-brand img{width:44px;height:44px;border-radius:12px}
.foot-brand .brand-tx b{color:#fff;font-size:18px}
.foot-brand .brand-tx span{color:rgba(255,255,255,.6)}
.foot-tag{color:rgba(255,255,255,.58);font-size:15px;line-height:1.6;margin:0}
.foot-locs{display:flex;flex-wrap:wrap;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint)}
.foot-locs span:not(:last-child)::after{content:"|";margin:0 14px;color:rgba(255,255,255,.22)}
.foot-nav{display:flex;flex-direction:column;gap:13px;justify-self:end;text-align:right}
.foot-nav a{color:rgba(255,255,255,.72);font-size:15px;text-decoration:none;transition:color .25s ease;width:fit-content;margin-left:auto}
.foot-nav a:hover{color:var(--mint)}
.foot-base{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.09);padding:22px 0;color:rgba(255,255,255,.5);font-size:13px}
.foot-base a{color:rgba(255,255,255,.6);text-decoration:none}.foot-base a:hover{color:var(--mint)}
@media(max-width:760px){.foot-top{grid-template-columns:1fr;gap:34px}.foot-nav{justify-self:start;text-align:left}.foot-nav a{margin-left:0}.foot-base{flex-direction:column;align-items:flex-start;gap:8px}}

/* ============================================================
   STATEMENT — sleek boutique (glass language from the quote card)
   ============================================================ */
.edrow{background:linear-gradient(180deg,#ffffff 0%,#f2f8f5 100%)!important}
.edrow-body h2{font-size:clamp(34px,4.3vw,62px)}
.amana-card{background:linear-gradient(160deg,#12222d 0%,#0f1c27 70%)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 50px 90px -46px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.07)!important}
.amana-card::after{content:"";position:absolute;inset:0;background:url(amana-hero-poster.jpg) center/cover no-repeat;opacity:.07;pointer-events:none}
.amana-card>*{position:relative;z-index:1}
.ac-tags span{border-color:rgba(0,209,160,.35)!important;background:rgba(0,209,160,.09)!important}

/* ============================================================
   TRUST STRIP — sleek chip treatment
   ============================================================ */
#trust{background:#fff!important}
.logos-label{color:var(--mint)!important}
.logo-strip{gap:10px!important}
.logo-strip li{border:1px solid var(--ink-line);border-radius:999px;padding:10px 20px;background:#fff;box-shadow:0 1px 2px rgba(18,26,31,.04);font-weight:600;color:var(--ink-dim);transition:border-color .3s ease,transform .3s ease,color .3s ease}
.logo-strip li:hover{border-color:rgba(0,209,160,.45);color:var(--ink);transform:translateY(-2px)}

/* ============================================================
   PAGE MARKER — you always know where you are (banner chip)
   ============================================================ */
.pbanner .kick,.hero-fb .kick{display:inline-flex!important;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint-bright);border:1px solid rgba(0,209,160,.4);background:rgba(0,209,160,.1);padding:8px 16px;border-radius:999px;width:fit-content;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pbanner .kick::before,.hero-fb .kick::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mint);flex:none}

/* ============================================================
   FOOTER v3 — horizontal, contemporary (Sia register), Dubai + Manchester
   ============================================================ */
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:20px 40px;flex-wrap:wrap}
.foot-row-top{padding:0 0 clamp(24px,2.6vw,34px);border-bottom:0}
.foot-links-h{display:flex;gap:clamp(18px,2.8vw,42px);flex-wrap:wrap}
.foot-links-h a{color:rgba(255,255,255,.75);font-size:15px;font-weight:500;text-decoration:none;transition:color .25s ease}
.foot-links-h a:hover{color:var(--mint)}
.foot-row-mid{padding:clamp(26px,3vw,40px) 0 clamp(30px,3.4vw,46px);align-items:flex-start}
.foot-meta{display:flex;flex-direction:column;align-items:flex-end;gap:16px}
@media(max-width:820px){.foot-row{flex-direction:column;align-items:flex-start}.foot-meta{align-items:flex-start}}

/* ============================================================
   AMANA CARD — glyph-masked water shape (the brand mark as design)
   ============================================================ */
.amana-card{overflow:hidden}
.ac-glyph{position:absolute;right:-7%;bottom:-10%;width:60%;aspect-ratio:395/226;background:linear-gradient(135deg,rgba(0,209,160,.65),rgba(10,168,134,.25)),url(amana-hero-poster.jpg) center/cover no-repeat;-webkit-mask:url(amana-glyph.png) center/contain no-repeat;mask:url(amana-glyph.png) center/contain no-repeat;opacity:.6;pointer-events:none;z-index:0}

/* ============================================================
   SIGNATURE — ghost section numerals (editorial, boutique)
   ============================================================ */
main{counter-reset:sec}
.shead{position:relative}
.shead::after{content:counter(sec,decimal-leading-zero);position:absolute;right:0;top:-.34em;font-weight:800;font-size:clamp(72px,10vw,168px);line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.2px rgba(18,26,31,.09);pointer-events:none;z-index:0;font-family:var(--font)}
.sec.dark .shead::after{-webkit-text-stroke:1.2px rgba(255,255,255,.1)}
.shead>*{position:relative;z-index:1}

/* ============================================================
   AMANA CARD — glyph carved out of the image, elevated; copy quieter
   ============================================================ */
.ac-glyph{width:86%!important;right:-14%!important;bottom:-16%!important;opacity:.8!important}
.amana-card p{font-size:14.5px!important;line-height:1.6!important;max-width:34ch!important;color:rgba(255,255,255,.7)!important}
.ac-label{font-size:10.5px!important;letter-spacing:.2em!important}
.ac-tags span{font-size:11.5px!important;padding:6px 12px!important}
.amana-card{justify-content:flex-start!important;gap:16px!important}

/* ============================================================
   MOTION — slow luxurious curves (anti "cheap/fast")
   ============================================================ */
.svc-tile,.why-item,.rel-card,.partner,.value{transition-duration:.55s!important;transition-timing-function:cubic-bezier(.22,1,.36,1)!important}

/* ============================================================
   MOBILE OPTIMISATION (375–640px)
   ============================================================ */
@media(max-width:640px){
 .wrap{padding:0 20px}
 .sec{padding:60px 0}
 .hero-fb{padding-top:116px;min-height:auto}
 .hero-fb h1{font-size:clamp(34px,10.5vw,44px)}
 .hero-fb .hero-sub{font-size:15.5px}
 .hero-fb .hero-stats{gap:0;margin-top:38px;padding-top:8px}
 .hero-fb .hstat{width:100%;padding:16px 0 4px;border-left:0!important;border-top:1px solid rgba(255,255,255,.14)}
 .hero-fb .hstat:first-child{border-top:0;padding-top:4px}
 .hero-fb .hstat-n{font-size:38px}
 .shead::after{display:none}
 .shead h2{font-size:clamp(26px,8vw,34px)}
 .pbanner h1{font-size:clamp(30px,9vw,40px)}
 .svc-tiles,.why-grid,.rel-grid,.in-grid,.sector-grid{grid-template-columns:1fr!important}
 .amana-card{min-height:280px}
 .ac-glyph{width:96%!important}
 .big-quote{font-size:clamp(21px,6.4vw,26px)}
 .quote-wrap{padding:34px 22px}
 .foot-row-top{padding-top:38px}
 .foot-links-h{gap:12px 20px}
 .foot-links-h a{font-size:14px;padding:6px 0}
 .btn{min-height:44px}
 .foot-btn{min-height:44px;display:inline-flex;align-items:center}
}

/* ============================================================
   BANNER LABEL — plain text, site font, no border/pill
   ============================================================ */
.pbanner .kick,.hero-fb .kick{border:0!important;background:none!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;font-family:var(--font)!important;font-weight:600!important;font-size:13.5px!important;letter-spacing:.12em!important;color:var(--mint-bright)!important}
.pbanner .kick::before,.hero-fb .kick::before{width:7px;height:7px}

/* ============================================================
   NETWORK CONSTELLATION — abstract node field (Our people & network)
   ============================================================ */
.network-sec{position:relative;overflow:hidden}
.net-viz{position:absolute;inset:0;left:34%;pointer-events:none;-webkit-mask:linear-gradient(90deg,transparent,#000 26%);mask:linear-gradient(90deg,transparent,#000 26%);opacity:.6}
.net-viz svg{width:100%;height:100%;display:block}
.nv-l{stroke:rgba(0,163,126,.18);stroke-width:1}
.nv-d{fill:rgba(0,163,126,.38)}
.nv-h{fill:var(--mint)}
.nv-halo{fill:rgba(0,209,160,.14)}
.network-grid{position:relative;z-index:1}
@media(max-width:880px){.net-viz{left:0;opacity:.25}}

/* one-line heading + services page number cleanup */
.one-line{white-space:nowrap}
@media(max-width:760px){.one-line{white-space:normal}}
.st-n{display:none!important}
.no-ghost::after{display:none!important}

/* ============================================================
   GLYPH — fully visible, image showing through the shape (green card)
   ============================================================ */
.ac-glyph{opacity:1!important;width:94%!important;right:-16%!important;bottom:-18%!important;background:url(amana-hero-poster.jpg) center/cover no-repeat!important;filter:brightness(1.28) saturate(1.15)}

/* ============================================================
   SEAMLESS IMAGE SECTION — white cards floating over brand water
   (adopted from the Stepup mission/vision pattern)
   ============================================================ */
#apart{position:relative;background:linear-gradient(180deg,rgba(13,19,21,.93) 0%,rgba(13,25,22,.88) 100%),url(amana-hero-poster.jpg) center/cover no-repeat;background-attachment:fixed}
#apart::before{display:none!important}
#apart .shead{border-top-color:rgba(255,255,255,.14)}
#apart .shead h2{color:#fff}
#apart .shead h2 em{color:var(--mint)!important}
#apart .shead p{color:rgba(255,255,255,.66)}
#apart .shead::after{-webkit-text-stroke:1.2px rgba(255,255,255,.13)}
#apart .why-item{box-shadow:0 30px 60px -26px rgba(0,0,0,.5)}
@media(max-width:880px){#apart{background-attachment:scroll}}

/* ============================================================
   AMANA CARD v3 — just the text + the FULL glyph, centred in frame
   ============================================================ */
.amana-card{display:flex;flex-direction:column;justify-content:flex-start!important;gap:0!important;min-height:0!important;padding:clamp(30px,3vw,44px) clamp(28px,3vw,44px) clamp(24px,2.6vw,36px)!important}
.amana-card p{font-size:15px!important;line-height:1.62!important;max-width:44ch!important;margin:0!important}
.ac-glyph{position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;order:9;width:78%!important;aspect-ratio:395/226;margin:clamp(24px,2.6vw,36px) auto 0!important;opacity:1!important;flex:none}

/* ============================================================
   SENIOR PARTNERS BAND — constellation instead of the world map
   ============================================================ */
#impact{overflow:hidden}
.impact-viz{position:absolute;inset:0;left:42%;pointer-events:none;-webkit-mask:linear-gradient(90deg,transparent,#000 30%);mask:linear-gradient(90deg,transparent,#000 30%);opacity:.5}
.impact-viz svg{width:100%;height:100%;display:block}
#impact .nv-l{stroke:rgba(0,209,160,.14)}
#impact .nv-d{fill:rgba(0,209,160,.32)}
#impact .nv-h{fill:var(--mint-bright)}
#impact .nv-halo{fill:rgba(0,209,160,.12)}
@media(max-width:880px){.impact-viz{left:0;opacity:.22}}

/* ============================================================
   AMANA CARD v4 — glyph FILLS the square, text underneath
   ============================================================ */
.ac-glyph{order:-1!important;width:100%!important;margin:0 0 clamp(20px,2.4vw,32px)!important}
.amana-card p{max-width:none!important}

/* ============================================================
   CONSTELLATION — pulsing nodes (alive, luxurious)
   ============================================================ */
@keyframes nvPulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.7)}}
@keyframes nvGlow{0%,100%{opacity:.6}50%{opacity:1}}
.nv-halo{transform-box:fill-box;transform-origin:center;animation:nvPulse 4.5s ease-in-out infinite}
.nv-h{transform-box:fill-box;transform-origin:center;animation:nvGlow 4.5s ease-in-out infinite}
.nv-halo:nth-of-type(odd),.nv-h:nth-of-type(odd){animation-delay:1.4s}
.nv-halo:nth-of-type(3n),.nv-h:nth-of-type(3n){animation-delay:2.6s}
@media(prefers-reduced-motion:reduce){.nv-halo,.nv-h{animation:none}}

/* ============================================================
   AMANA GLYPH — edge-to-edge fill of the square
   ============================================================ */
.ac-glyph{width:calc(100% + 2*clamp(28px,3vw,44px))!important;margin:calc(-1*clamp(30px,3vw,44px)) calc(-1*clamp(28px,3vw,44px)) clamp(18px,2vw,28px)!important;max-width:none!important}

/* ============================================================
   CARVE ACCENT — the graffiti glyph, reusable across sections
   ============================================================ */
.carve-host{position:relative;overflow:hidden}
.carve-accent{position:absolute;right:-6%;bottom:-12%;width:min(46%,560px);aspect-ratio:395/226;background:linear-gradient(135deg,rgba(0,209,160,.5),rgba(10,168,134,.2)),url(amana-hero-poster.jpg) center/cover no-repeat;-webkit-mask:url(amana-glyph.png) center/contain no-repeat;mask:url(amana-glyph.png) center/contain no-repeat;opacity:.35;pointer-events:none;z-index:0}
.carve-host>.wrap,.sec.dark>.wrap{position:relative;z-index:1}
@media(max-width:760px){.carve-accent{width:70%;opacity:.22}}

/* proof grid: 4 across, no orphan */
.proof-grid{grid-template-columns:repeat(4,1fr)!important}
@media(max-width:1100px){.proof-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:640px){.proof-grid{grid-template-columns:1fr!important}}

/* ============================================================
   ONE TYPEFACE — labels inherit Inter Tight (no techy mono)
   ============================================================ */
.foot-locs,.logos-label,.mega-eyebrow,.hstat-l,.rel-k,.in-tag,.in-meta,.article-meta,.qb-role,.fc-h,.np-label{font-weight:600}

/* ghost numerals dropped */
.shead::after{content:none!important}

/* ============================================================
   CTA — carved glyph accent on every page + animated Talk to us
   ============================================================ */
.cta{position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-5%;bottom:-18%;width:min(38%,460px);aspect-ratio:395/226;background:linear-gradient(135deg,rgba(0,209,160,.45),rgba(10,168,134,.18)),url(amana-hero-poster.jpg) center/cover no-repeat;-webkit-mask:url(amana-glyph.png) center/contain no-repeat;mask:url(amana-glyph.png) center/contain no-repeat;opacity:.32;pointer-events:none}
.cta>.wrap{position:relative;z-index:1}
@keyframes ctaPulse{0%{box-shadow:0 0 0 0 rgba(0,209,160,.5)}70%{box-shadow:0 0 0 16px rgba(0,209,160,0)}100%{box-shadow:0 0 0 0 rgba(0,209,160,0)}}
.cta .btn-mint{animation:ctaPulse 2.8s cubic-bezier(.4,0,.2,1) infinite}
@media(prefers-reduced-motion:reduce){.cta .btn-mint{animation:none}}

/* ============================================================
   AMANA CARD v5 — glyph corner to corner, text over a scrim
   ============================================================ */
.amana-card{padding:0!important;min-height:clamp(380px,34vw,480px)!important;display:block!important}
.amana-card::before{display:none!important}
.ac-glyph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;-webkit-mask-size:96% auto!important;mask-size:96% auto!important;-webkit-mask-position:center 34%!important;mask-position:center 34%!important}
.amana-card p{position:absolute!important;left:0;right:0;bottom:0;margin:0!important;padding:clamp(48px,5vw,70px) clamp(24px,3vw,40px) clamp(22px,2.6vw,32px);background:linear-gradient(0deg,rgba(8,13,12,.92) 0%,rgba(8,13,12,.4) 72%,transparent);font-size:14.5px!important;z-index:1}
/* pin the CTA carve to the right */
.cta::after{left:auto!important;top:auto!important;right:-5%!important;bottom:-18%!important}

/* ============================================================
   CTA — flat navy, no imagery; blends into the gradient footer identically on every page
   ============================================================ */

.cta::before,.cta::after{display:none!important;content:none!important}

/* ============================================================
   TESTIMONIALS — structured glass cards (no more floating quotes)
   ============================================================ */
.testi-band{display:grid!important;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px);align-items:stretch}
.testi{display:flex!important;flex-direction:column;gap:0;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.11);border-radius:20px;padding:clamp(24px,2.4vw,34px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 30px 60px -34px rgba(0,0,0,.5);margin:0!important}
.testi .tq{color:var(--mint);font-size:38px;line-height:.9;font-weight:800;display:block;margin-bottom:12px}
.testi blockquote{margin:0!important;padding:0!important;border:0!important;font-size:15.5px!important;line-height:1.6!important;color:rgba(255,255,255,.85)!important}
.testi figcaption{margin-top:auto;padding-top:18px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--mint)!important;font-weight:600}
.testi>div{display:flex;flex-direction:column;flex:1}
@media(max-width:980px){.testi-band{grid-template-columns:1fr}}

/* ============================================================
   SERVICE FLOW — heading-only sections become full-bleed water statement bands
   ============================================================ */
.sec:has(> .wrap > .shead:only-child){background:linear-gradient(120deg,rgba(13,19,21,.95) 0%,rgba(11,30,25,.88) 100%),url(amana-hero-poster.jpg) center/cover no-repeat!important;padding:clamp(72px,8vw,116px) 0!important}
.sec:has(> .wrap > .shead:only-child)::before{display:none!important}
.sec:has(> .wrap > .shead:only-child) .shead{border-top:0!important;padding-top:0!important;margin-bottom:0!important}
.sec:has(> .wrap > .shead:only-child) .shead h2{color:#fff}
.sec:has(> .wrap > .shead:only-child) .shead h2 em{color:var(--mint)!important}
.sec:has(> .wrap > .shead:only-child) .shead p{color:rgba(255,255,255,.72)}

/* service intro statement — editorial weight */
.intro2{align-items:start}
.intro2 .stmt{font-weight:700;letter-spacing:-.028em;line-height:1.22}
.intro2>p{border-left:2px solid var(--mint);padding-left:22px;color:var(--ink-dim);font-size:17px;line-height:1.72;margin-top:8px}

/* accordion — open state clearly structured */
.acc-row{border-radius:0}
.acc-row:has(.acc-head[aria-expanded="true"]){background:none;box-shadow:none}
.acc-row:has(.acc-head[aria-expanded="true"]) .acc-head{background:none}
.acc-body .acc-inner{padding-left:0}

/* ============================================================
   SERVICE PAGES v2 — one banner only; Stepup structure
   ============================================================ */
/* heading-only bands back to light + compact (no second banner) */
.sec:has(> .wrap > .shead:only-child){background:#fff!important;padding:clamp(56px,6.5vw,88px) 0 clamp(10px,1.4vw,20px)!important}
.sec:has(> .wrap > .shead:only-child) .shead h2{color:var(--ink)}
.sec:has(> .wrap > .shead:only-child) .shead h2 em{color:var(--mint)!important}
.sec:has(> .wrap > .shead:only-child) .shead p{color:var(--ink-dim)}

/* "What we do" — floating white cards over a washed brand texture (Stepup) */
.svc-grid-sec{background:linear-gradient(180deg,rgba(242,247,245,.97) 0%,rgba(233,242,238,.94) 100%),url(amana-hero-poster.jpg) center/cover no-repeat!important;position:relative}
.svc-grid-sec::before{display:none!important}
.sv-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.8vw,22px)}
.sv-card{background:#fff;border:1px solid var(--ink-line);border-top:3px solid var(--mint);border-radius:16px;padding:clamp(24px,2.4vw,32px);box-shadow:0 24px 48px -26px rgba(18,26,31,.16);transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease}
.sv-card:hover{transform:translateY(-6px);box-shadow:0 36px 64px -28px rgba(18,26,31,.24)}
.sv-card h3{font-weight:700;font-size:clamp(17.5px,1.4vw,21px);letter-spacing:-.02em;line-height:1.2;margin:0;color:var(--ink)}
.sv-card p{font-size:14.5px;line-height:1.6;color:var(--ink-dim);margin:10px 0 0}
@media(max-width:980px){.sv-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.sv-card-grid{grid-template-columns:1fr}}

/* carve reads subtle on light bands */
.sec.alt .carve-accent{opacity:.14}
.sec.alt.carve-host .shead h2,.sec.alt.carve-host .reason{color:var(--ink)}

/* ============================================================
   WORK WITH US — pathway cards
   ============================================================ */
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,26px)}
.path-card{display:flex;flex-direction:column;text-decoration:none;padding:clamp(30px,3.2vw,44px)!important}
.path-card h3{font-size:clamp(21px,1.9vw,27px)!important}
.path-card p{font-size:15.5px!important;max-width:52ch}
.path-card .rel-go{margin-top:22px;font-weight:600;font-size:14.5px;color:var(--ink);display:inline-flex;gap:8px;align-items:center}
.path-card .rel-go i{color:var(--mint);transition:transform .3s ease}
.path-card:hover .rel-go i{transform:translateX(5px)}
.path-card:hover h3{color:var(--mint-press)}
@media(max-width:760px){.path-grid{grid-template-columns:1fr}}

/* ============================================================
   BANNERS — subtle Ken Burns zoom on every page image
   ============================================================ */
@keyframes banZoom{from{transform:scale(1)}to{transform:scale(1.1)}}
.pbanner::before{animation:banZoom 22s ease-in-out infinite alternate;will-change:transform}
@media(prefers-reduced-motion:reduce){.pbanner::before{animation:none}}

/* ============================================================
   WORK WITH US — role rows + benefits (CMC-inspired, our language)
   ============================================================ */
.role-list{border-top:1px solid var(--ink-line)}
.role-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(22px,2.6vw,34px) 8px;border-bottom:1px solid var(--ink-line);text-decoration:none;transition:background .35s ease,padding-left .35s ease;border-radius:10px}
.role-row:hover{background:var(--mint-tint);padding-left:20px}
.role-row h3{font-weight:700;font-size:clamp(19px,1.7vw,25px);letter-spacing:-.02em;color:var(--ink);margin:0;transition:color .3s}
.role-row:hover h3{color:var(--mint-press)}
.role-row p{color:var(--ink-dim);font-size:15px;line-height:1.55;margin:8px 0 0;max-width:56ch}
.role-row .rel-go{flex:none;font-weight:600;font-size:14.5px;color:var(--ink);display:inline-flex;gap:8px;align-items:center}
.role-row .rel-go i{color:var(--mint);transition:transform .3s ease}
.role-row:hover .rel-go i{transform:translateX(5px)}
.benefit-list .prostep{grid-template-columns:1fr}
@media(max-width:700px){.role-row{flex-direction:column;align-items:flex-start;gap:12px}}

/* ============================================================
   IMAGE BREAK BAND — full-bleed breather between sections
   ============================================================ */
.img-band{position:relative;height:clamp(220px,28vw,360px);background:var(--iband) center/cover no-repeat;background-attachment:fixed;overflow:hidden}
.img-band::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(15,28,39,.3),rgba(15,28,39,.05))}
@media(max-width:880px){.img-band{background-attachment:scroll;height:210px}}

/* service banner with title + question sub */
.pbanner.svc-titled h1{font-size:clamp(46px,6.4vw,92px)}
.pbanner.svc-titled p{max-width:56ch;font-size:clamp(16px,1.4vw,21px)}

/* tighter page rhythm (why-us) */
.pg-tight .sec{padding:clamp(58px,7vw,104px) 0}
.pg-tight .shead{margin-bottom:clamp(24px,3vw,42px)}

/* ============================================================
   AMANA GLYPH v6 — true edge-to-edge (card matches the glyph's shape)
   ============================================================ */
.amana-card{aspect-ratio:395/250!important;min-height:0!important}
.ac-glyph{-webkit-mask-size:contain!important;mask-size:contain!important;-webkit-mask-position:center 18%!important;mask-position:center 18%!important}

/* ============================================================
   SECTORS — region notes: consistent 3-col, tight
   ============================================================ */
.region-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,36px);margin-top:clamp(26px,3vw,40px);padding-top:clamp(22px,2.4vw,32px);border-top:1px solid rgba(255,255,255,.12)}
.region-notes .rn b{display:block;color:#fff;font-size:15.5px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
.region-notes .rn p{color:rgba(255,255,255,.62);font-size:14px;line-height:1.6;margin:0}
@media(max-width:880px){.region-notes{grid-template-columns:1fr}}

/* ============================================================
   THEME: "DEPTH" — one rule: water lives ONLY in the brand mark.
   Every section gets its own texture. No repetition.
   ============================================================ */
.quote-sec::before{background:url(media/banner-about.jpg) center/cover no-repeat!important;opacity:.14!important}
#apart{background:linear-gradient(180deg,rgba(15,25,33,.94) 0%,rgba(14,26,32,.9) 100%),url(media/banner-depth.jpg) center/cover no-repeat!important}
.svc-grid-sec{background:linear-gradient(180deg,rgba(243,248,246,.97) 0%,rgba(236,243,241,.95) 100%),url(media/banner-pattern.jpg) center/cover no-repeat!important}
/* the mark keeps the water — ac-glyph + carve-accent untouched */

/* ============================================================
   SENIOR PARTNERS — integrated split (statement + the real partners)
   ============================================================ */
.impact-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(36px,5vw,80px);align-items:center}
.impact-media{position:relative;margin:0;border-radius:20px}
.impact-media img{width:100%;height:auto;display:block;border-radius:20px;filter:grayscale(.15) contrast(1.04);box-shadow:0 40px 80px -40px rgba(0,0,0,.6)}
.impact-media::after{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1.5px solid rgba(0,209,160,.4);border-radius:22px;pointer-events:none}
.impact-media figcaption{margin-top:16px;font-size:13px;color:rgba(255,255,255,.55)}
@media(max-width:880px){.impact-grid{grid-template-columns:1fr;gap:30px}}

/* ============================================================
   BANNERS — structured: breadcrumbs + anchor chips (no more floating text)
   ============================================================ */
.crumbs{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:500;letter-spacing:.04em;margin-bottom:clamp(18px,2.4vw,30px)}
.crumbs a{color:rgba(255,255,255,.55);text-decoration:none;transition:color .25s}
.crumbs a:hover{color:var(--mint)}
.crumbs span{color:rgba(255,255,255,.25)}
.crumbs b{color:var(--mint);font-weight:600}
.ban-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:clamp(22px,2.6vw,32px)}
.ban-chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border:1px solid rgba(255,255,255,.22);border-radius:999px;color:rgba(255,255,255,.85);font-size:13.5px;font-weight:600;text-decoration:none;transition:border-color .3s ease,background .3s ease,color .3s ease}
.ban-chips a:hover{border-color:var(--mint);background:rgba(0,209,160,.12);color:#fff}
/* banner grounding: hairline base so it doesn't float */
.pbanner .wrap{position:relative;z-index:2;padding-bottom:clamp(10px,1.4vw,18px)}

/* ============================================================
   SERVICE INTRO — home-style glyph card (smaller rectangle, image blends into text)
   ============================================================ */
.svc-intro-sec{padding:clamp(56px,6.5vw,92px) 0!important}
.svc-intro{position:relative;overflow:hidden;background:linear-gradient(120deg,#0f1c27 0%,#12222d 100%);border:1px solid rgba(255,255,255,.09);border-radius:22px;min-height:clamp(230px,22vw,300px);display:flex;align-items:center;box-shadow:0 40px 80px -44px rgba(0,0,0,.5)}
.si-body{position:relative;z-index:2;padding:clamp(28px,3.2vw,48px);max-width:100%}
.si-body .stmt{color:#fff;font-size:clamp(22px,2.3vw,34px);font-weight:700;letter-spacing:-.028em;line-height:1.22;margin:0;max-width:26ch}
.si-body .stmt em{color:var(--mint);font-style:normal}
.si-body p:not(.stmt){color:rgba(255,255,255,.68);font-size:15.5px;line-height:1.66;margin:16px 0 0;border:0;padding:0;max-width:64ch}
.si-art{position:absolute;top:0;right:0;bottom:0;width:52%;background:url(amana-hero-poster.jpg) center/cover no-repeat;-webkit-mask:linear-gradient(90deg,transparent 0%,#000 42%);mask:linear-gradient(90deg,transparent 0%,#000 42%);opacity:.85}
.si-glyph{position:absolute;right:-8%;bottom:-14%;width:64%;aspect-ratio:395/226;background:linear-gradient(135deg,rgba(0,209,160,.55),rgba(10,168,134,.22)),url(amana-hero-poster.jpg) center/cover no-repeat;-webkit-mask:url(amana-glyph.png) center/contain no-repeat;mask:url(amana-glyph.png) center/contain no-repeat;opacity:.9}
@media(max-width:820px){.si-body{max-width:100%;padding-bottom:120px}.si-art{width:100%;-webkit-mask:linear-gradient(180deg,transparent 30%,#000 75%);mask:linear-gradient(180deg,transparent 30%,#000 75%)}}

/* region notes + markets on light */
.sec:not(.dark) .region-notes{border-top-color:var(--ink-line)}
.sec:not(.dark) .region-notes .rn b{color:var(--ink)}
.sec:not(.dark) .region-notes .rn p{color:var(--ink-dim)}
.sec:not(.dark) .shead h2 em{color:var(--mint)}

/* services grid — breathing room ("no break" fix) */
.svc-grid-sec{padding:clamp(84px,9.5vw,140px) 0!important}
.svc-grid-sec .shead{margin-bottom:clamp(36px,4.4vw,64px)!important}
.sv-card-grid{row-gap:clamp(18px,2.2vw,28px)}
/* region cards on light */
.sec:not(.dark) .region-bd h3{color:var(--ink)!important}
.sec:not(.dark) .region-bd p{color:var(--ink-dim)!important}
.sec:not(.dark) .region-fw li{color:var(--ink-dim)!important;border-color:var(--ink-line)!important}
.sec:not(.dark) .region{background:#fff;border:1px solid var(--ink-line);box-shadow:0 20px 44px -24px rgba(18,26,31,.16)}

/* ============================================================
   MARK FRAGMENTS — the two diamonds as design touches
   ============================================================ */
.gd-host{position:relative;overflow:hidden}
#why-amana .shead{position:relative}


/* ============================================================
   FLOW-THROUGH — the banner image dissolves into the first section
   ============================================================ */
.flow-host{position:relative;overflow:hidden}
.flow-host>.wrap{position:relative;z-index:1}
@media(max-width:760px){}

/* ============================================================
   HOME INTRO BAND — abstract metaphor image below the statement
   ============================================================ */
.intro-band{position:relative;margin:0;border-radius:26px;overflow:hidden;height:clamp(250px,36vw,460px);box-shadow:0 34px 70px -34px rgba(15,28,39,.4)}
.intro-band img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.65) saturate(.8) brightness(.94) contrast(1.04)}
.intro-band::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(15,28,39,.55),rgba(10,168,134,.16) 55%,rgba(15,28,39,.7))}
.intro-band figcaption{position:absolute;left:clamp(20px,3vw,38px);right:clamp(20px,3vw,38px);bottom:clamp(18px,2.6vw,32px);z-index:1;color:#fff;display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.014em}
.intro-band figcaption .kick{margin:0}

/* Why-band ground — reads as its own room (subtle grey gradient) */
section[id="why-amana"]:not(.dark){background:linear-gradient(180deg,#fbfdfc 0%,#f2f6f4 100%)}


/* ============================================================
   GO-LIVE PASS — accordions crisp, no numbering (doc: no section numbering)
   ============================================================ */
.acc-n{display:none}
.acc-head::before{display:none}
.acc-head{padding:clamp(19px,2.2vw,27px) 0}
.acc-row{border-bottom:1px solid rgba(18,26,31,.12)}
.acc-row:first-child{border-top:1px solid rgba(18,26,31,.12)}
.acc-ic{background:#fff}
.acc-row.open .acc-ic{border-color:var(--mint);background:rgba(0,209,160,.08)}
.faq-q{padding-left:0;padding-right:0}

/* Section media — the image block sits inside the section, under its heading */
.sec-media{position:relative;margin:clamp(30px,3.6vw,52px) 0;border-radius:24px;overflow:hidden;height:clamp(300px,36vw,500px);box-shadow:0 34px 70px -34px rgba(15,28,39,.45)}
.sec-media img{width:100%;height:100%;object-fit:cover;display:block}
.sec-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,28,39,0) 45%,rgba(15,28,39,.55))}
.sec-media figcaption{position:absolute;left:clamp(20px,3vw,38px);right:clamp(20px,3vw,38px);bottom:clamp(18px,2.4vw,30px);z-index:1;color:#fff;display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.014em}
.sec-media figcaption .kick{margin:0}

/* img-band grows a caption so the strip carries content */
.img-band{margin:0}
.img-band .ib-cap{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(18px,2.4vw,30px) 0}
.img-band .ib-cap .wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.img-band .ib-cap span{color:#fff;font-weight:600;font-size:clamp(16px,1.5vw,20px);letter-spacing:-.014em;text-shadow:0 2px 18px rgba(9,14,15,.5)}

/* Home — partners as nodes on the map */
.partner-nodes{position:relative;min-height:clamp(300px,30vw,400px)}
.pn-links{position:absolute;inset:0;width:100%;height:100%}
.pn-links line{stroke:rgba(0,209,160,.4);stroke-width:1;stroke-dasharray:2 6;stroke-linecap:round}
.pn-node{position:absolute;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;width:clamp(96px,10vw,130px);margin-left:calc(clamp(96px,10vw,130px) / -2)}
.pn-node img{width:clamp(70px,6.6vw,98px);height:clamp(70px,6.6vw,98px);border-radius:50%;object-fit:cover;object-position:center 18%;border:2px solid rgba(0,209,160,.6);box-shadow:0 0 0 7px rgba(0,209,160,.1),0 20px 44px -20px rgba(0,0,0,.65);filter:grayscale(1) contrast(1.05)}
.pn-node b{font-size:13.5px;font-weight:700;color:#fff;letter-spacing:-.01em;line-height:1.25}
.pn-node i{font-style:normal;font-size:11px;color:rgba(255,255,255,.62);letter-spacing:.02em}
@media(max-width:880px){.partner-nodes{min-height:300px}}

/* About — beliefs, designed (replaces the numbered list) */
.beliefs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,28px);margin-top:clamp(36px,4vw,56px);align-items:start}
.belief{background:#fff;border:1px solid rgba(18,26,31,.08);border-radius:20px;padding:clamp(26px,2.8vw,38px);box-shadow:0 24px 50px -30px rgba(15,28,39,.35);transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s}
.belief:hover{transform:translateY(-6px);box-shadow:0 34px 64px -30px rgba(15,28,39,.45)}
.belief:nth-child(2){margin-top:clamp(20px,2.6vw,40px)}
.belief:nth-child(3){margin-top:clamp(40px,5.2vw,80px)}
.belief h3{font-size:clamp(20px,1.9vw,26px);font-weight:800;letter-spacing:-.026em;line-height:1.22;margin:0 0 12px}
.belief h3 em{font-style:normal;color:var(--mint-press,#0aa886)}
.belief p{font-size:16px;line-height:1.65;color:var(--ink-dim);margin:0}
.belief .b-rule{display:block;width:34px;height:3px;border-radius:2px;background:var(--mint);margin-bottom:18px}
@media(max-width:880px){.beliefs{grid-template-columns:1fr}.belief:nth-child(n){margin-top:0}}

/* About — What we live by atmosphere (nature image, visible, behind content) */
.wlb{position:relative;overflow:hidden}
.wlb-bg{position:absolute;inset:0;background:url(media/nature-live.jpg) center/cover no-repeat;opacity:.22;filter:brightness(.8);pointer-events:none}
.wlb-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,23,32,.82),rgba(13,23,32,.6) 55%,rgba(13,23,32,.86));pointer-events:none}
.wlb>.wrap{position:relative;z-index:1}

/* Footer — quiet diamond mark */

.sec-media.tint img{filter:grayscale(.7) saturate(.85) brightness(.95) contrast(1.05)}
.sec-media.tint::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,rgba(15,28,39,.4),rgba(10,168,134,.18));pointer-events:none}


/* ============================================================
   MASTER PASS — home meaning card, partner row, network, story
   ============================================================ */
/* Home: floating white card over the hero — text left, carved glyph art right */
.meaning-card{position:relative;display:grid;grid-template-columns:1.08fr .92fr;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 46px 90px -40px rgba(15,28,39,.55);margin-top:calc(-1*clamp(26px,3vw,48px))}
.mc-body{padding:clamp(30px,4vw,58px)}
.mc-body h2{font-weight:800;font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;line-height:1.08;margin:16px 0 18px}
.mc-body h2 em{font-style:normal;color:var(--mint-press,#0aa886)}
.mc-body>p{font-size:clamp(15.5px,1.25vw,18px);line-height:1.66;color:var(--ink-dim);max-width:56ch}
.mc-meaning{font-style:italic;border-left:2px solid var(--mint);padding-left:18px;margin-top:18px}
.mc-art{position:relative;background:linear-gradient(160deg,#0f1c27 0%,#0c2b26 62%,#0a3a2c 100%);min-height:360px}
.mc-glyph{position:absolute;inset:7% 6%;background:linear-gradient(135deg,rgba(0,209,160,.72),rgba(10,168,134,.3)),url(amana-hero-poster.jpg) center/cover no-repeat;-webkit-mask:url(amana-glyph.png) center/contain no-repeat;mask:url(amana-glyph.png) center/contain no-repeat}
@media(max-width:880px){.meaning-card{grid-template-columns:1fr;margin-top:-40px}.mc-art{min-height:250px}}

/* Home: the three partners — one neat row, no labels, blended into the band */
.partner-row{display:flex;align-items:center;justify-content:center;gap:0;min-height:clamp(240px,24vw,340px)}
.partner-row img{width:clamp(96px,9.4vw,138px);height:clamp(96px,9.4vw,138px);border-radius:50%;object-fit:cover;object-position:center 16%;border:2px solid rgba(0,209,160,.5);box-shadow:0 0 0 8px rgba(13,22,30,.72),0 26px 50px -22px rgba(0,0,0,.75);filter:grayscale(1) contrast(1.05) brightness(.98);margin-left:-16px}
.partner-row img:first-child{margin-left:0}

/* About: story in the split editorial format */
.story{align-items:stretch}
.story-media{min-height:clamp(400px,36vw,560px)}
.story-media img{width:100%;height:100%;object-fit:cover;object-position:center 24%}
.story h2{font-size:clamp(32px,3.6vw,52px);letter-spacing:-.038em;line-height:1.04}

/* About: network — quiet premium ground instead of nodes and lines */
.network-sec{position:relative;overflow:hidden}
.network-sec::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(0,209,160,.16) 1.1px,transparent 1.6px);background-size:26px 26px;-webkit-mask:linear-gradient(115deg,transparent 38%,#000 82%);mask:linear-gradient(115deg,transparent 38%,#000 82%);pointer-events:none}
.np-lead{font-size:clamp(21px,2vw,28px);font-weight:700;letter-spacing:-.024em;line-height:1.25}

/* Placeholder article thumbs — brand panel, no stock */
.in-card .media,.feat-media,.sector-card .media,.region-img{background:linear-gradient(140deg,#10302a,#0e1416 60%,#0c2b23)}


/* ===== refit: intro text-only, single dark-glossed image, reference story split ===== */
.svc-intro{grid-template-columns:1fr!important}
.sec-media img{filter:saturate(.5) brightness(.55) contrast(1.06)}
.sec-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,28,39,.35),rgba(15,28,39,.35)),linear-gradient(160deg,rgba(10,16,20,.5),rgba(10,16,20,.18) 46%,rgba(10,16,20,.62)),linear-gradient(112deg,rgba(255,255,255,.05),transparent 30%)}
.story-media{border-radius:20px;box-shadow:0 30px 60px -32px rgba(15,28,39,.35)}
@media(max-width:880px){.story-media{margin-left:0;clip-path:none;-webkit-clip-path:none;border-radius:18px}}
.mc-glyph{inset:5%}


/* ============================================================
   REFIT 2 — clean globe band, service intro overlap
   ============================================================ */
.globe-viz{position:absolute;right:-4%;top:50%;transform:translateY(-50%);width:min(44vw,560px);aspect-ratio:1;pointer-events:none;opacity:.6}
.globe-viz svg{width:100%;height:100%}
.globe-viz circle,.globe-viz ellipse,.globe-viz line{stroke:rgba(255,255,255,.07);stroke-width:1}
.globe-viz circle{stroke:rgba(0,209,160,.16)}
#impact .impact-grid{grid-template-columns:1fr}
#impact .impact-statement h2{font-size:clamp(34px,4.4vw,64px);letter-spacing:-.04em;line-height:1.04;max-width:22ch}
#impact .impact-statement p{max-width:64ch}

.svc-overlap{position:relative;z-index:2;padding-top:0;margin-top:calc(-1*clamp(26px,3vw,48px))}
.svc-overlap .svc-intro{box-shadow:0 40px 80px -36px rgba(6,12,16,.65)}


/* ============================================================
   REFIT 3 — impact split, services lead, network life
   ============================================================ */
@media(max-width:880px){#impact::before{background-attachment:scroll}}
#impact .impact-grid{grid-template-columns:1.45fr .55fr;align-items:center;gap:clamp(28px,4vw,64px)}
.impact-cta{justify-self:end}
@media(max-width:880px){#impact .impact-grid{grid-template-columns:1fr}.impact-cta{justify-self:start}}

/* Services: bold statement above, supporting text ON the one large image */
.svc-lead{padding-top:clamp(46px,5.5vw,80px)}
.svc-stmt{font-weight:800;font-size:clamp(26px,3.1vw,46px);letter-spacing:-.034em;line-height:1.1;color:var(--ink);max-width:28ch;margin:0 0 clamp(24px,3vw,40px)}
.svc-stmt em{font-style:normal;color:var(--mint-press,#0aa886)}
.sec-media figcaption{position:absolute;left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);bottom:clamp(20px,2.6vw,34px);z-index:1;display:block}
.sec-media figcaption p{color:#fff;font-size:clamp(15px,1.35vw,18.5px);line-height:1.66;margin:0;max-width:64ch;text-shadow:0 2px 18px rgba(6,10,14,.65)}

/* Our people & network — life: water texture panel, glowing chips */
.network-panel{background:linear-gradient(140deg,rgba(13,22,30,.94),rgba(9,28,24,.9)),url(amana-hero-poster.jpg) center/cover no-repeat!important;border:1px solid rgba(0,209,160,.22)!important;box-shadow:0 40px 80px -40px rgba(6,12,16,.6)}
.np-tags span{border-color:rgba(0,209,160,.35)!important;color:#dcf3ec!important;transition:background .3s,transform .3s}
.np-tags span:hover{background:rgba(0,209,160,.14);transform:translateY(-2px)}
.network-sec .carve-accent{opacity:.28}


/* ============================================================
   REFIT 4 — premium dark header in every state; quotes anchored
   ============================================================ */
.nav.scrolled{background:rgba(7,11,17,.94)!important;-webkit-backdrop-filter:saturate(1.1) blur(16px);backdrop-filter:saturate(1.1) blur(16px);box-shadow:0 1px 0 rgba(255,255,255,.06)!important}
.nav.scrolled .nav-links a{color:rgba(255,255,255,.85)}
.nav.scrolled .brand-tx b{color:#fff}
.nav.scrolled .brand-tx span{color:rgba(255,255,255,.55)}
.nav.scrolled .burger span{background:#fff}
body.home-light .nav:not(.scrolled):not(.mega-open){background:rgba(7,11,17,.92)!important;box-shadow:0 1px 0 rgba(255,255,255,.05)!important}
body.home-light .nav:not(.scrolled) .nav-links a{color:rgba(255,255,255,.85)}
body.home-light .nav:not(.scrolled) .brand-tx b{color:#fff}
body.home-light .nav:not(.scrolled) .brand-tx span{color:rgba(255,255,255,.55)}

/* quotes: cards belong to the section — no floating rules */
.testi-band{border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important;margin-top:clamp(30px,3.6vw,52px)}
.testi .tq{color:var(--mint);font-size:44px;line-height:1;display:block;margin-bottom:10px}
.testi blockquote{color:rgba(255,255,255,.88);font-size:clamp(15.5px,1.35vw,18px);line-height:1.66;margin:0}
.testi figcaption{margin-top:16px;color:var(--mint);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}


/* ============================================================
   REFIT 5 — seamless Senior Partners band, stats belong to it,
   CTA de-greened, hero floats like the source
   ============================================================ */
/* the band continues the EXACT background of the section above (#apart) */

#impact::before,#impact::after{display:none!important}

/* the text sits in its own capture area */
.impact-statement{background:rgba(8,13,17,.55);border:1px solid rgba(255,255,255,.09);border-radius:22px;padding:clamp(26px,3vw,44px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* the four metrics, spoken to by the band */
.impact-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.8vw,24px);margin-top:clamp(30px,3.4vw,48px);position:relative;z-index:1}
.istat{background:rgba(8,13,17,.5);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:clamp(20px,2.2vw,30px);display:flex;flex-direction:column;gap:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.istat .hstat-n{font-size:clamp(30px,3vw,46px);font-weight:800;color:var(--mint);letter-spacing:-.03em;line-height:1}
.istat span:last-child{color:rgba(255,255,255,.65);font-size:13.5px;line-height:1.45}
@media(max-width:880px){.impact-stats{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.impact-stats{grid-template-columns:1fr}}
/* hero floats clean like the source (stats gone) */
.meaning-card{margin-top:calc(-1*clamp(44px,5.5vw,92px))}
/* CTA band above the footer: deep navy/gunmetal, no green texture */

.cta::before,.cta::after{display:none!important}


/* ============================================================
   REFIT 6 — footer wordmark + theory steps accordion
   ============================================================ */
.foot-wordmark{height:clamp(34px,3.2vw,44px)!important;width:auto!important;border-radius:0!important;display:block}
.foot-brand{display:flex;align-items:center}

/* numbered step accordion, in brand colours */
.steps-acc{margin-top:6px}
.steps-acc .acc-n{display:block;width:auto;min-width:54px;font-family:var(--font);font-weight:800;font-size:clamp(19px,1.7vw,25px);letter-spacing:-.02em;color:rgba(18,26,31,.22);transition:color .45s cubic-bezier(.22,1,.36,1)}
.steps-acc .acc-row.open .acc-n,.steps-acc .acc-head:hover .acc-n{color:var(--mint-press,#0aa886)}
.steps-acc .acc-ttl b{font-size:clamp(17.5px,1.55vw,22px);letter-spacing:-.022em}
.steps-acc .acc-head{padding:clamp(17px,1.9vw,24px) 0}
.steps-acc .acc-intro{margin-bottom:clamp(16px,1.8vw,24px)}
.steps-acc .acc-row{border-bottom:1px solid rgba(18,26,31,.12)}
.steps-acc .acc-row:first-child{border-top:1px solid rgba(18,26,31,.12)}

/* footer content must respect the grid gutter */
.foot .wrap{padding:0 var(--gut)!important;max-width:var(--maxw)!important;margin-left:auto!important;margin-right:auto!important}

.foot-row-top{margin-bottom:clamp(40px,4.6vw,64px)}
.foot-row-mid{margin-bottom:clamp(26px,3vw,40px)}


/* ============================================================
   HOME POLISH — hero like the source, floating card, elegant stats,
   hover steps, rotating angled quotes, tight junctions
   ============================================================ */
/* 1+2. hero: text upper-middle, banner extends down, card floats on it */
.hero-fb{min-height:clamp(600px,82vh,860px)!important;justify-content:center!important;padding-top:clamp(110px,13vh,160px)!important;padding-bottom:clamp(250px,33vh,400px)!important}
.meaning-card{max-width:min(1120px,94%);margin:calc(-1*clamp(200px,26vh,330px)) auto 0}
.sec.edrow{padding-bottom:clamp(44px,5vw,68px)}

/* 3. stats: quiet, refined — no heavy boxes */
.impact-stats{grid-template-columns:repeat(3,1fr);gap:clamp(28px,3.6vw,56px);max-width:1000px}
.istat{background:none;border:0;border-top:1px solid rgba(255,255,255,.25);border-radius:0;padding:18px 0 0;-webkit-backdrop-filter:none;backdrop-filter:none}
.istat .hstat-n{font-size:clamp(34px,3.4vw,52px)}
.istat span:last-child{font-size:13px;letter-spacing:.02em}
@media(max-width:880px){.impact-stats{grid-template-columns:1fr;gap:22px}}

/* 4. theory steps: reveal on hover (click still pins on touch) */
@media(hover:hover){
.steps-acc .acc-row:hover .acc-body{max-height:240px!important}
.steps-acc .acc-row:hover .acc-n{color:var(--mint-press,#0aa886)}
.steps-acc .acc-row:hover .acc-ttl b{color:var(--mint-press,#0aa886)}
.steps-acc .acc-row:hover .acc-ic{border-color:var(--mint);background:rgba(0,209,160,.08);transform:rotate(90deg)}
}

/* 5. rotating quotes — angled card, light ground */
.q-rotor{position:relative;max-width:860px;margin:clamp(26px,3vw,40px) auto 0;min-height:clamp(300px,26vw,340px)}
.q-card{position:absolute;inset:0;margin:0;background:#fff;border:1px solid rgba(18,26,31,.08);border-radius:22px;box-shadow:0 36px 70px -36px rgba(15,28,39,.4);padding:clamp(28px,3.6vw,50px) clamp(28px,4vw,56px);transform:rotate(-1.6deg) translateY(14px);opacity:0;visibility:hidden;transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1),visibility .6s}
.q-card.is-on{opacity:1;visibility:visible;transform:rotate(-1.6deg) translateY(0)}
.q-card .tq{color:var(--mint);font-size:52px;line-height:1;display:block;margin-bottom:8px;font-weight:800}
.q-card blockquote{margin:0;font-size:clamp(17px,1.6vw,22px);line-height:1.6;letter-spacing:-.014em;color:var(--ink);font-weight:500}
.q-card figcaption{margin-top:18px;color:var(--mint-press,#0aa886);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.q-dots{position:absolute;left:50%;bottom:-40px;transform:translateX(-50%);display:flex;gap:10px}
.q-dots button{width:9px;height:9px;border-radius:50%;border:0;background:rgba(18,26,31,.18);cursor:pointer;transition:background .3s,transform .3s;padding:0}
.q-dots button.on{background:var(--mint-press,#0aa886);transform:scale(1.25)}
#voices{padding-bottom:clamp(70px,8vw,110px)}

/* 6. logo strip tight to its neighbour */
#trust{padding-top:clamp(18px,2.2vw,32px)!important}

.acc-row:hover{background:transparent!important;box-shadow:none!important}


/* ============================================================
   REFIT 8 — card floats ON the banner; clean Senior Partners;
   steps across; straight framed quotes
   ============================================================ */
/* 1+2. banner extends below the card */
.hero-fb{padding-bottom:clamp(360px,46vh,600px)!important}
.meaning-card{margin:calc(-1*clamp(320px,42vh,560px)) auto 0}

/* Senior Partners: no image — deep scheme gradient; statement transparent, borderless */

.impact-statement{background:none!important;border:0!important;padding:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;border-radius:0!important}

/* theory: four steps across, description reveals on hover */
.wsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.6vw,38px);margin-top:clamp(28px,3.2vw,44px)}
.wstep{border-top:1px solid rgba(18,26,31,.16);padding-top:18px;transition:border-color .45s ease}
.wstep .wn{display:block;font-weight:800;font-size:clamp(22px,2vw,30px);letter-spacing:-.02em;color:rgba(18,26,31,.2);transition:color .45s ease}
.wstep h3{font-size:clamp(16.5px,1.4vw,20px);font-weight:700;letter-spacing:-.02em;margin:12px 0 10px}
.wstep p{font-size:14.5px;line-height:1.62;color:var(--ink-dim);margin:0;opacity:0;transform:translateY(6px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.wstep:hover{border-top-color:var(--mint)}
.wstep:hover .wn{color:var(--mint-press,#0aa886)}
.wstep:hover p{opacity:1;transform:none}
@media(hover:none){.wstep p{opacity:1;transform:none}}
@media(max-width:880px){.wsteps{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.wsteps{grid-template-columns:1fr}.wstep p{opacity:1;transform:none}}

/* quotes: straight card, styled corner frame */
.q-card{transform:none;border:1px solid rgba(18,26,31,.09)}
.q-card.is-on{transform:none}
.q-rotor::before,.q-rotor::after{content:"";position:absolute;width:104px;height:104px;pointer-events:none;z-index:1}
.q-rotor::before{top:-14px;right:-14px;border-top:2px solid var(--mint);border-right:2px solid var(--mint);border-top-right-radius:26px}
.q-rotor::after{bottom:-14px;left:-14px;border-bottom:2px solid var(--mint);border-left:2px solid var(--mint);border-bottom-left-radius:26px}

/* the statement section is glass over the hero — banner shows around the floating card */
.sec.edrow{background:transparent!important}

.foot-row-top{margin-bottom:clamp(44px,5vw,70px)!important}
#insights{padding-bottom:clamp(54px,6vw,84px)!important}


/* ============================================================
   QUOTES — three across on white, hover flows the quote open
   ============================================================ */
.qsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,2.8vw,40px);margin-top:clamp(26px,3vw,44px)}
.qstep{margin:0;border-top:1px solid rgba(18,26,31,.16);padding-top:20px;transition:border-color .45s ease}
.qstep .tq{display:block;color:var(--mint);font-weight:800;font-size:44px;line-height:1}
.qstep figcaption{margin:6px 0 12px;color:var(--mint-press,#0aa886);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.qstep blockquote{margin:0;font-size:15.5px;line-height:1.68;color:var(--ink-dim);opacity:0;transform:translateY(10px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1)}
.qstep:hover{border-top-color:var(--mint)}
.qstep:hover blockquote{opacity:1;transform:none}
@media(hover:none){.qstep blockquote{opacity:1;transform:none}}
@media(max-width:880px){.qsteps{grid-template-columns:1fr}.qstep blockquote{opacity:1;transform:none}}
#voices{padding-bottom:clamp(60px,7vw,96px)}


/* quotes: the block slides on to the next */
.q-card{transform:translateX(64px)}
.q-card.is-on{transform:translateX(0)}

/* footer: dark blue-greyish gradient, clear separator above, logo clear of the line */



/* ============================================================
   THEORY PANELS — expanding green cards (source concept) + mint mark
   ============================================================ */
.brand img{width:auto!important;height:clamp(30px,2.6vw,38px)!important;border-radius:0!important;background:none!important}
.foot .brand img{height:clamp(34px,3.2vw,44px)!important}

.tsec{background:linear-gradient(180deg,#f4f7f6 0%,#edf2f0 100%)!important}
.tsec .shead h2{color:var(--ink)}
.tsec .shead p{color:var(--ink-dim)}
.tsec .shead h2 em{color:var(--mint)!important}


.tpanels{display:flex;gap:clamp(12px,1.4vw,20px);margin-top:clamp(28px,3.2vw,44px);min-height:clamp(210px,21vw,280px)}
.tpanel{flex:1;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(180deg,#2fbd8b 0%,#0b5c42 100%);border-radius:14px;padding:clamp(16px,1.8vw,24px);overflow:hidden;transition:flex .65s cubic-bezier(.22,1,.36,1);cursor:default}
.tpanel .tn{display:block;color:#fff;font-weight:600;font-size:14px;letter-spacing:.04em;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.55)}
.tp-bd{margin-top:auto}
.tpanel h3{color:#fff;font-size:clamp(21px,2vw,30px);font-weight:700;letter-spacing:-.022em;margin:0;line-height:1.15}
.tpanel p{color:rgba(255,255,255,.92);font-size:14.5px;line-height:1.62;margin:10px 0 0;max-width:46ch;opacity:0;max-height:0;overflow:hidden;transition:opacity .45s ease .12s,max-height .6s ease}
.tpanel.is-on{flex:2.6}
.tpanel.is-on p{opacity:1;max-height:220px}
.tpanels:hover .tpanel.is-on:not(:hover){flex:1}
.tpanels:hover .tpanel.is-on:not(:hover) p{opacity:0;max-height:0}
.tpanel:hover{flex:2.6!important}
.tpanel:hover p{opacity:1!important;max-height:220px!important}
@media(hover:none){.tpanel p{opacity:1;max-height:none}}
@media(max-width:880px){.tpanels{flex-direction:column;min-height:0}.tpanel{flex:1!important}.tpanel p{opacity:1;max-height:none}}



/* Senior partners: lighter ground */

#impact .impact-statement h2{color:#fff}
#impact .impact-statement h2 em{color:var(--mint)!important}
#impact .impact-statement p{color:rgba(255,255,255,.68)}
#impact .kick{color:var(--mint)}
.istat{border-top-color:rgba(255,255,255,.25)!important}
.istat .hstat-n{color:var(--mint)}
.istat span:last-child{color:rgba(255,255,255,.65)!important}
/* logos read as part of the proof band */
#trust{padding-top:clamp(30px,3.4vw,48px)!important}

/* services hub: aesthetic blurb under the lead image */
.lead-blurb{border-left:2px solid var(--mint);padding-left:20px;margin:clamp(24px,3vw,40px) 0 0;max-width:62ch;font-size:clamp(16px,1.4vw,19px);line-height:1.66;color:var(--ink-dim)}

/* Senior partners: literally the same background as the section above — one continuous image */
#impact{background:linear-gradient(180deg,rgba(13,19,21,.93) 0%,rgba(13,25,22,.88) 100%),url(amana-hero-poster.jpg) center/cover no-repeat!important;background-attachment:fixed!important}
@media(max-width:880px){#impact,#apart{background-attachment:scroll!important}}

/* one continuous surface: both bands share the exact same fixed background */
#apart,#impact{background:linear-gradient(180deg,rgba(15,25,33,.94) 0%,rgba(14,26,32,.9) 100%),url(amana-hero-poster.jpg) center/cover no-repeat!important;background-attachment:fixed!important}
@media(max-width:880px){#apart,#impact{background-attachment:scroll!important}}


/* ============================================================
   DESIGN-LANGUAGE PASS — stepped sectors, footer stack,
   diagonal lead, CTA oomph, glyph card on dark
   ============================================================ */
/* home glyph card sits entirely on the dark hero */
.hero-fb{padding-bottom:clamp(560px,68vh,860px)!important}
.meaning-card{margin:calc(-1*clamp(530px,64vh,820px)) auto 0}

/* sectors: stepped numbered blocks */
.ssteps{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,4vw,64px);margin-top:clamp(28px,3.2vw,44px)}
.sstep{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,2vw,28px);border-top:1px solid rgba(18,26,31,.14);padding:clamp(20px,2.2vw,30px) 0}
.sstep .sn{font-weight:800;font-size:clamp(18px,1.6vw,24px);letter-spacing:-.02em;color:rgba(18,26,31,.25);transition:color .4s}
.sstep:hover .sn{color:var(--mint-press,#0aa886)}
.sstep h3{font-size:clamp(16.5px,1.4vw,20px);font-weight:700;letter-spacing:-.02em;margin:0 0 8px}
.sstep p{font-size:14.5px;line-height:1.6;color:var(--ink-dim);margin:0}
@media(max-width:880px){.ssteps{grid-template-columns:1fr}}

/* footer: contact stacked under the logo; one block with the CTA (no hard seam) */
.foot{border-top:0!important}
.foot-left{display:flex;flex-direction:column;gap:clamp(18px,2vw,26px)}
.foot-left .foot-meta{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.foot-locs{display:flex;gap:18px;color:var(--mint);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}

.cta-h{font-size:clamp(36px,4.8vw,68px)!important;letter-spacing:-.04em!important}

/* capability lead: text and image on one line, diagonal cut where they meet */
.lead-duo{display:grid;grid-template-columns:.9fr 1.1fr;background:linear-gradient(120deg,#0f1720 0%,#0c131b 100%);border-radius:22px;overflow:hidden;min-height:clamp(250px,25vw,350px)}
.ld-txt{display:flex;align-items:center;padding:clamp(24px,3vw,46px);position:relative;z-index:1}
.ld-txt p{color:rgba(255,255,255,.86);font-size:clamp(15.5px,1.35vw,18.5px);line-height:1.68;margin:0;max-width:44ch}
.ld-img{margin:0 0 0 -14%;clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);-webkit-clip-path:polygon(16% 0,100% 0,100% 100%,0 100%);position:relative}
.ld-img::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(10,22,19,.5),rgba(9,54,40,.4))}
.ld-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.6) brightness(.7) contrast(1.05)}
@media(max-width:820px){.lead-duo{grid-template-columns:1fr}.ld-img{margin:0;clip-path:none;-webkit-clip-path:none;height:220px}}

/* ================= DEFINITIVE footer + CTA (single source of truth) ================= */
.cta{padding:clamp(80px,9.5vw,130px) 0!important;background:linear-gradient(180deg,#0f1620 0%,#0c141b 100%)!important}
.foot{color:#fff;border-top:0!important;padding:clamp(56px,6vw,84px) 0 30px!important;background:linear-gradient(180deg,#0c141b 0%,#0a1118 50%,#08211b 100%)!important}


/* ============================================================
   REFIT 10 — visible banners; About story-first; green belief
   cards; quote panel; network list; brighter capability leads
   ============================================================ */
/* page banners: background image clearly visible, never buried */
.pbanner::before{opacity:.6!important;filter:grayscale(.15) brightness(.78) contrast(1.06) saturate(1)!important}
.pbanner::after{background:linear-gradient(180deg,rgba(10,16,20,.42),rgba(10,16,20,.68)),radial-gradient(60% 70% at 88% 6%,rgba(43,240,192,.1),transparent 62%)!important}

/* About: story-first spotlight */
.story-wow .story{grid-template-columns:1.05fr 1fr;gap:clamp(36px,5vw,80px)}
.story-wow .story-media{aspect-ratio:4/4.3;border-radius:26px;box-shadow:0 48px 96px -44px rgba(15,28,39,.55)}
.story-wow .story h2{font-size:clamp(34px,4.4vw,62px);font-weight:800;letter-spacing:-.032em}
.story-wow .story p{font-family:var(--font);font-size:clamp(15.5px,1.3vw,17.5px);line-height:1.7}
.story p,.intro2 p,.intro2 .stmt,.quote .cite{font-family:var(--font)}

/* beliefs: brand-green cards (reference card language) */
.belief{background:linear-gradient(160deg,#3ba57c 0%,#14523c 100%)!important;border:0!important;box-shadow:0 34px 68px -32px rgba(12,60,44,.55)!important}
.belief h3{color:#fff!important}
.belief h3 em{color:#d9fff2!important}
.belief p{color:rgba(255,255,255,.86)!important}
.belief .b-rule{background:rgba(255,255,255,.85)!important}

/* philosophy quote: design-language panel */
.quote{background:linear-gradient(140deg,#101a24 0%,#0b241d 100%)!important;border:1px solid rgba(0,209,160,.16)}
.quote .mark{font-family:var(--font);font-weight:700;letter-spacing:-.03em;font-size:clamp(24px,3vw,44px);line-height:1.24;max-width:30ch}
.quote .cite{color:rgba(255,255,255,.6)}

/* network panel: expertise as an editorial list, not pill buttons */
.np-tags{display:grid!important;grid-template-columns:1fr 1fr;gap:0 26px}
.np-tags span{background:none!important;border:0!important;border-top:1px solid rgba(255,255,255,.14)!important;border-radius:0!important;padding:12px 2px!important;font-size:13.5px!important;font-weight:600;color:#eafff7!important;display:flex;align-items:center;gap:10px}
.np-tags span::before{content:"";width:14px;height:2px;border-radius:2px;background:var(--mint);flex:none}
.np-tags span:hover{background:none!important;transform:none!important}

/* capability lead image: clearly visible under a lighter veil */
.ld-img img{filter:saturate(.8) brightness(.84) contrast(1.05)!important}
.ld-img::after{background:linear-gradient(120deg,rgba(10,22,19,.42),rgba(9,54,40,.28))!important}

/* contact: compact, designed scheduler placeholder (no dead space) */
.cal-embed{min-height:clamp(320px,38vw,460px);background:linear-gradient(150deg,#101a24 0%,#0c1f1a 100%);border:1px solid rgba(0,209,160,.18)}
.cal-ph b{color:#fff}
.cal-ph span{color:rgba(255,255,255,.6)}
.cal-ph .ic{background:rgba(0,209,160,.14);color:var(--mint)}


/* ============================================================
   REFIT 11 — statement across; text-dominant lead; colour-block
   network; sector cards + insights strip; gunmetal footer
   ============================================================ */
/* capability lead: big text across the page, text panel dominant, image narrower */
.svc-stmt{max-width:none}
.lead-duo{grid-template-columns:1.3fr .7fr}
.ld-txt p{max-width:58ch;font-size:clamp(16px,1.5vw,20.5px)}

/* capability intro (the section below the lead): hub layout — statement + mint-rule blurb */
.svc-intro .svc-stmt{margin:16px 0 0}
.svc-intro .lead-blurb{margin-top:clamp(20px,2.4vw,32px)}

/* network panel: Step-Up colour block, no photography */
.network-panel{background:linear-gradient(160deg,#1d7a58 0%,#0c3d2c 100%)!important;border:0!important;box-shadow:0 40px 80px -40px rgba(8,40,30,.6)!important}
.network-panel::before{display:none}
.np-tags{grid-template-columns:1fr 1fr}
.np-tags span{border-top:1px solid rgba(255,255,255,.22)!important;color:#fff!important}
.np-tags span::before{background:#8df5d8}

/* sectors insights strip */
.ins-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,32px);margin-top:clamp(26px,3vw,42px)}
.ins-link{display:flex;flex-direction:column;gap:14px;border-top:2px solid rgba(18,26,31,.14);padding-top:20px;text-decoration:none;color:var(--ink);transition:border-color .35s ease}
.ins-link:hover{border-top-color:var(--mint)}
.ins-link .il-k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mint-press,#0aa886)}
.ins-link h3{font-size:clamp(16.5px,1.4vw,20px);font-weight:700;letter-spacing:-.02em;line-height:1.3;margin:0}
.ins-link .il-a{margin-top:auto;font-size:13.5px;font-weight:600;color:var(--ink-dim)}
.ins-link:hover .il-a{color:var(--mint-press,#0aa886)}
@media(max-width:820px){.ins-strip{grid-template-columns:1fr}}

/* footer: blends into gunmetal grey; green stays subtle at the side; readable text */
.foot{background:radial-gradient(48% 68% at 100% 80%,rgba(0,190,140,.13),transparent 62%),linear-gradient(180deg,#0c141b 0%,#131920 52%,#191f26 100%)!important}
.foot-links-h a{color:rgba(255,255,255,.85)!important}
.foot-links-h a:hover{color:var(--mint)!important}
.foot-base{color:rgba(255,255,255,.55)!important}
.foot-base a{color:rgba(255,255,255,.72)!important}
.foot-btn{border-color:rgba(255,255,255,.3)!important;color:#fff!important}
.foot-locs{color:var(--mint-bright,#2bf0c0)!important}


/* ============================================================
   REFIT 12 — rich dark banners; iconless clean cards w/ green
   hover; dark voices band flowing into CTA/footer
   ============================================================ */
/* banners: rich, deep, dark overlay over a visible image */
.pbanner::before{opacity:.55!important;filter:grayscale(.2) brightness(.68) contrast(1.1) saturate(.92)!important}
.pbanner::after{background:linear-gradient(180deg,rgba(8,14,19,.52) 0%,rgba(8,14,19,.84) 100%),radial-gradient(60% 70% at 88% 6%,rgba(43,240,192,.08),transparent 62%)!important}

/* cards: clean, no icons, green lift on hover */
.svc-tile,.why-item,.sv-card,.in-card{transition:transform .5s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .5s ease,background .35s ease}
.sv-card:hover{transform:translateY(-5px);border-color:var(--mint)!important;box-shadow:0 28px 56px -26px rgba(9,45,34,.3)}
.why-item:hover{background:rgba(0,209,160,.055);border-color:rgba(0,209,160,.4)}
.svc-tile:hover{border-color:rgba(0,209,160,.45)}
.in-card:hover{border-color:rgba(0,209,160,.4)!important}
.reason{position:relative;padding-left:28px}
.reason::before{content:"";position:absolute;left:0;top:.62em;width:15px;height:2px;border-radius:2px;background:var(--mint)}
.cal-ph b{margin-top:0}

/* home voices: dark band starting the CTA/footer run */
#voices{background:linear-gradient(180deg,#111a23 0%,#0f1620 100%)!important}
#voices .kick{color:var(--mint-bright,#2bf0c0)!important}
#voices .shead h2{color:#fff}
#voices .shead p{color:rgba(255,255,255,.62)}
#voices .q-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);box-shadow:0 36px 70px -36px rgba(0,0,0,.6)}
#voices .q-card blockquote{color:rgba(255,255,255,.9)}
#voices .q-card figcaption{color:rgba(255,255,255,.55)}
#voices .tq{color:var(--mint)}
#voices .q-dots button{background:rgba(255,255,255,.22)}
#voices .q-dots button.on{background:var(--mint)}


/* ============================================================
   REFIT 13 — gunmetal belief cards; Step-Up services rows +
   stats band; footer map + white footer text
   ============================================================ */
/* beliefs: dark gunmetal grey/blue, aligned, true mint accents */
.belief{background:linear-gradient(160deg,#1b242e 0%,#10171e 100%)!important;box-shadow:0 34px 68px -32px rgba(8,14,20,.6)!important}
.belief:nth-child(2),.belief:nth-child(3){margin-top:0!important}
.belief h3 em{color:var(--mint)!important}
.belief .b-rule{background:var(--mint)!important}
.belief p{color:rgba(255,255,255,.75)!important}
.quote{background:linear-gradient(140deg,#141d27 0%,#0e151d 100%)!important;border:1px solid rgba(0,209,160,.2)}

/* services hub: numbered capability rows */
.svc-rows{border-top:1px solid rgba(18,26,31,.12);margin-top:clamp(8px,1vw,16px)}
.svc-row{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(18px,3vw,44px);align-items:center;padding:clamp(22px,2.6vw,36px) clamp(4px,1vw,14px);border-bottom:1px solid rgba(18,26,31,.12);text-decoration:none;color:var(--ink);transition:background .35s ease,padding .45s cubic-bezier(.22,1,.36,1)}
.svc-row:hover{background:rgba(0,209,160,.06);padding-left:clamp(16px,2.2vw,30px)}
.sr-n{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--mint-press,#0aa886)}
.svc-row h3{font-size:clamp(22px,2.4vw,34px);font-weight:800;letter-spacing:-.03em;margin:0 0 6px;transition:color .3s ease}
.svc-row p{font-size:14.5px;line-height:1.55;color:var(--ink-dim);margin:0;max-width:64ch}
.sr-go{font-weight:600;font-size:14px;color:var(--ink-dim);white-space:nowrap;transition:color .3s ease,transform .4s cubic-bezier(.22,1,.36,1)}
.svc-row:hover h3,.svc-row:hover .sr-go{color:var(--mint-press,#0aa886)}
.svc-row:hover .sr-go{transform:translateX(6px)}
@media(max-width:700px){.svc-row{grid-template-columns:auto 1fr}.sr-go{display:none}}

/* services hub: dark stats band */
.svc-band{background:linear-gradient(180deg,#111a23 0%,#0d141c 100%)!important}
.svc-band .shead h2{color:#fff}
.svc-band .shead p{color:rgba(255,255,255,.6)}
.svc-band .istat{border-top-color:rgba(255,255,255,.16)!important}
.svc-band .hstat-n{color:var(--mint)!important}
.svc-band .istat span:last-child{color:rgba(255,255,255,.62)!important}

/* footer: white text, map graphic behind the right side */
.foot{position:relative;overflow:hidden}
.foot>.wrap{position:relative;z-index:1}
.foot-map{position:absolute;right:-1%;top:50%;transform:translateY(-50%);width:min(46%,580px);opacity:.5;pointer-events:none}
.foot-map svg{width:100%;height:auto;display:block}
@media(max-width:880px){.foot-map{display:none}}
.foot-links-h a{color:#fff!important}
.foot-btn{color:#fff!important;border-color:rgba(255,255,255,.32)!important}
.cta-sub{color:rgba(255,255,255,.72)!important}


/* ============================================================
   REFIT 14 — CTA world map; faint footer line; connect band;
   article template; careers squares
   ============================================================ */
/* CTA: dotted world map (Step-Up), faint line above the footer */
.cta{position:relative;overflow:hidden}
.cta .wrap{position:relative;z-index:1}
.cta-map{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:.5;pointer-events:none;padding:0}
.cta-map svg{width:min(94%,1200px);height:auto;-webkit-mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}
.cta-map .gw-dot{fill:var(--mint-bright,#2bf0c0);opacity:.2}
.cta-map .gw-hot{fill:var(--mint-bright,#2bf0c0)}
.cta-map .gw-halo{fill:var(--mint-bright,#2bf0c0);opacity:.22}
.foot-map{display:none!important}
.foot{border-top:1px solid rgba(255,255,255,.09)!important}

/* connect band */
.connect{position:relative;background:radial-gradient(70% 90% at 92% 0%,rgba(0,190,140,.12),transparent 60%),linear-gradient(150deg,#111a23 0%,#0d141c 100%);border:1px solid rgba(255,255,255,.07);border-radius:26px;padding:clamp(30px,4vw,58px);display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(26px,3.4vw,54px);color:#fff}
.connect h3{font-size:clamp(24px,2.7vw,40px);font-weight:800;letter-spacing:-.032em;line-height:1.12;color:#fff;margin:14px 0 0}
.connect h3 em{font-style:normal;color:var(--mint)}
.connect .cn-l>p{color:rgba(255,255,255,.66);font-size:clamp(15px,1.3vw,17.5px);line-height:1.6;margin:16px 0 22px;max-width:52ch}
.cn-note{margin:12px 0 0;font-size:13px;color:rgba(255,255,255,.42)}
.cn-r{display:flex;flex-direction:column;gap:14px;justify-content:center}
.cn-soc{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 20px;color:#fff;text-decoration:none;transition:border-color .35s ease,background .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.cn-soc:hover{border-color:rgba(0,209,160,.55);background:rgba(0,209,160,.08);transform:translateY(-3px)}
.cn-soc .cs-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(0,209,160,.14);color:var(--mint-bright,#2bf0c0);flex:none}
.cn-soc .cs-tx{display:flex;flex-direction:column;gap:2px}
.cn-soc .cs-tx b{font-size:15.5px;font-weight:700}
.cn-soc .cs-tx span{font-size:13px;color:rgba(255,255,255,.55)}
.cn-soc i{margin-left:auto;font-style:normal;color:rgba(255,255,255,.5);transition:color .3s,transform .4s}
.cn-soc:hover i{color:var(--mint);transform:translateX(4px)}
.cn-posts{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:clamp(20px,2.4vw,30px)}
.cn-feed{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:16px}
.connect .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.connect .post{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:18px 20px;text-decoration:none;transition:border-color .35s,background .35s,transform .45s cubic-bezier(.22,1,.36,1)}
.connect .post:hover{border-color:rgba(0,209,160,.5);background:rgba(0,209,160,.06);transform:translateY(-3px)}
@media(max-width:880px){.connect{grid-template-columns:1fr}.connect .posts{grid-template-columns:1fr}}

/* article template */
.art-banner h1{max-width:26ch}
.article-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.article-meta span{display:inline-flex;align-items:center;min-height:32px;padding:0 14px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.78)}
.article-meta span:first-child{border-color:rgba(0,209,160,.45);color:var(--mint-bright,#2bf0c0)}
.rel-thumb{display:flex;flex-direction:column}
.rel-thumb .rt-img{display:block;aspect-ratio:16/9;border-radius:12px;overflow:hidden;margin-bottom:16px}
.rel-thumb .rt-img img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.85) brightness(.86);transition:transform .6s cubic-bezier(.22,1,.36,1)}
.rel-thumb:hover .rt-img img{transform:scale(1.05)}

/* careers colour-block squares */
.sq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px);margin-top:clamp(26px,3vw,42px)}
.sq{min-height:clamp(200px,20vw,260px);border-radius:18px;padding:clamp(20px,2.2vw,30px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;text-decoration:none}
.sq-green{background:linear-gradient(160deg,#2fbd8b 0%,#0b5c42 100%)}
.sq-gun{background:linear-gradient(160deg,#1b242e 0%,#10171e 100%)}
.sq h3{font-size:clamp(18px,1.7vw,24px);font-weight:800;letter-spacing:-.025em;line-height:1.15;margin:0 0 10px;color:#fff}
.sq p{font-size:14px;line-height:1.55;color:rgba(255,255,255,.82);margin:0}
.sq-link{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease}
.sq-link:hover{transform:translateY(-6px);box-shadow:0 30px 60px -28px rgba(8,20,16,.55)}
.sq-link .rel-go{margin-top:16px;color:#fff;font-weight:600}
.path-grid .sq{min-height:clamp(240px,24vw,320px);justify-content:flex-start}
.path-grid .sq h3{font-size:clamp(24px,2.4vw,34px)}
.path-grid .sq p{font-size:15px;color:rgba(255,255,255,.85);max-width:46ch}
@media(max-width:980px){.sq-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sq-grid{grid-template-columns:1fr}}

/* refit14.1 — palette-lock article imagery; careers squares 2x2 */
.art-banner::before{filter:grayscale(.75) brightness(.62) contrast(1.12) saturate(.9)!important}
.rel-thumb .rt-img{position:relative}
.rel-thumb .rt-img::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(12,26,22,.38),rgba(10,20,26,.3));pointer-events:none}
.rel-thumb .rt-img img{filter:grayscale(.62) brightness(.84) contrast(1.06)}
.sq-grid{grid-template-columns:repeat(2,1fr)}
.sq{min-height:clamp(180px,17vw,230px)}
@media(max-width:560px){.sq-grid{grid-template-columns:1fr}}


/* ============================================================
   REFIT 15 — green belief band; editorial network type; dark
   contact form + locations strip; CTA map left, solid white
   ============================================================ */
/* beliefs: one green band, three columns with hairline dividers */
.beliefs{grid-template-columns:repeat(3,1fr);gap:0!important;background:linear-gradient(150deg,#2fbd8b 0%,#0b5c42 100%);border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -38px rgba(10,60,44,.55)}
.belief{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:clamp(28px,3.2vw,48px)!important;transform:none!important}
.belief:hover{transform:none!important;box-shadow:none!important}
.belief:nth-child(2){border-left:1px solid rgba(255,255,255,.28)!important;border-right:1px solid rgba(255,255,255,.28)!important}
.belief h3{color:#fff!important}
.belief h3 em{color:#d9fff2!important}
.belief p{color:rgba(255,255,255,.88)!important}
.belief .b-rule{background:rgba(255,255,255,.9)!important}
@media(max-width:880px){.beliefs{grid-template-columns:1fr}.belief:nth-child(2){border-left:0!important;border-right:0!important;border-top:1px solid rgba(255,255,255,.28)!important;border-bottom:1px solid rgba(255,255,255,.28)!important}}

/* network specialisms: editorial inline type, no bullets, no buttons */
.np-tags{display:flex!important;flex-wrap:wrap;align-items:baseline;grid-template-columns:none}
.np-tags span{border:0!important;background:none!important;padding:7px 0!important;font-size:clamp(17px,1.5vw,22px)!important;font-weight:700!important;letter-spacing:-.02em;color:#fff!important;display:inline-flex;align-items:baseline}
.np-tags span::before{display:none!important}
.np-tags span:not(:last-child)::after{content:"/";margin:0 clamp(10px,1.2vw,18px);color:rgba(255,255,255,.38);font-weight:400}

/* contact: dark design-language form panel */
.form-panel{background:radial-gradient(80% 90% at 100% 0%,rgba(0,190,140,.1),transparent 60%),linear-gradient(150deg,#111a23 0%,#0d141c 100%);border:1px solid rgba(255,255,255,.08)}
.form-panel .field label{color:rgba(255,255,255,.55)}
.form-panel .field input,.form-panel .field textarea,.form-panel .field select{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);color:#fff}
.form-panel .field input::placeholder,.form-panel .field textarea::placeholder{color:rgba(255,255,255,.35)}
.form-panel .field select{-webkit-appearance:none;appearance:none}
.form-panel .field select option{color:var(--ink)}
.form-panel .field input:focus,.form-panel .field textarea:focus,.form-panel .field select:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(0,209,160,.18)}
.form-panel .form-note{color:rgba(255,255,255,.5)}

/* contact: locations strip above the footer */
.loc-strip{background:linear-gradient(180deg,#111a23 0%,#0c141b 100%);padding:clamp(36px,4.4vw,64px) 0}
.loc-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,48px)}
.loc{display:flex;flex-direction:column;gap:8px;border-left:2px solid var(--mint);padding-left:clamp(16px,1.8vw,26px)}
.loc-city{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint-bright,#2bf0c0);font-weight:600}
.loc-add{color:rgba(255,255,255,.82);font-size:clamp(15px,1.3vw,17.5px);line-height:1.5}
@media(max-width:680px){.loc-in{grid-template-columns:1fr}}

/* CTA: map sits left near the copy; heading always solid white */
.cta-map{justify-content:flex-start;padding-left:clamp(8px,3vw,60px)}
.cta-map svg{width:min(76%,960px)}
.cta-h{color:#fff!important}
.cta-h .rl .rw{transform:none!important;opacity:1!important}
.cta-sub{color:rgba(255,255,255,.75)!important}

/* refit15.2 - hub narrative statement; CTA map right + fainter */
.svc-narrative{max-width:980px;margin:clamp(40px,5vw,72px) auto 0;text-align:left}
.svc-narrative .nar{font-weight:700;font-size:clamp(28px,3.3vw,50px);line-height:1.16;letter-spacing:-.034em;color:var(--ink);margin:0}
.svc-narrative .nar-soft{color:rgba(15,28,39,.34)}
.svc-narrative>p{margin:clamp(18px,2.2vw,28px) 0 0;font-size:clamp(15.5px,1.4vw,18.5px);line-height:1.68;color:var(--ink-dim);max-width:72ch}
.svc-lead .sec-media{margin-top:clamp(26px,3vw,44px)}
.cta-map{justify-content:flex-end;padding-left:0;padding-right:clamp(8px,3vw,56px);opacity:.32}

/* refit15.3 - statement flows into the hub image; network leaders + AI */
.svc-lead .svc-stmt{margin-bottom:0}
.flow-line{position:relative;z-index:2;width:2px;height:clamp(72px,9vw,130px);margin:clamp(10px,1.2vw,18px) 0 calc(-1*clamp(34px,4vw,60px)) clamp(20px,5%,72px);background:linear-gradient(180deg,rgba(0,209,160,0) 0%,var(--mint) 45%,var(--mint) 100%);border-radius:2px}
.flow-line::after{content:"";position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 6px rgba(0,209,160,.18)}
.sec-media.flow-into{margin-top:0}

/* refit16 - strategy enrichment: editorial pull-quote + green getting-started band */
.pq-sec{padding-top:clamp(30px,3.6vw,54px);padding-bottom:clamp(30px,3.6vw,54px)}
.pull-quote{position:relative;max-width:1000px;margin:0 auto;padding-left:clamp(28px,4vw,64px)}
.pull-quote .pq-mark{position:absolute;left:0;top:-8px;font-size:clamp(54px,6vw,96px);line-height:1;color:var(--mint);font-weight:800}
.pull-quote blockquote{margin:0;font-size:clamp(22px,2.5vw,38px);font-weight:700;letter-spacing:-.03em;line-height:1.3;color:var(--ink);max-width:30ch}
.pull-quote figcaption{margin-top:18px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}
.start-band{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:linear-gradient(150deg,#2fbd8b 0%,#0b5c42 100%);border-radius:24px;overflow:hidden;box-shadow:0 40px 80px -38px rgba(10,60,44,.55);margin-top:clamp(28px,3.4vw,46px)}
.start-step{padding:clamp(28px,3.2vw,48px)}
.start-step:nth-child(2){border-left:1px solid rgba(255,255,255,.28);border-right:1px solid rgba(255,255,255,.28)}
.start-step .st-k{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-bottom:14px}
.start-step h3{font-size:clamp(20px,1.9vw,27px);font-weight:800;letter-spacing:-.026em;color:#fff;margin:0 0 10px}
.start-step p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.85);margin:0}
@media(max-width:880px){.start-band{grid-template-columns:1fr}.start-step:nth-child(2){border-left:0;border-right:0;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}}

/* refit16.1 - capability lead: flow into full-width image + intro facts row */
.svc-lead .sec-media.flow-into{margin-top:0}
.svc-lead .sec-media figcaption p{margin:0;max-width:62ch;font-weight:600;font-size:clamp(15.5px,1.5vw,20px);line-height:1.5;text-shadow:0 2px 18px rgba(8,14,19,.55)}
.lead-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3vw,48px);margin-top:clamp(26px,3vw,44px)}
.lead-facts .lf{border-top:2px solid rgba(18,26,31,.12);padding-top:18px;transition:border-color .4s ease}
.lead-facts .lf:hover{border-top-color:var(--mint)}
.lead-facts h3{font-size:clamp(17px,1.5vw,21px);font-weight:800;letter-spacing:-.024em;margin:0 0 8px}
.lead-facts p{font-size:14.5px;line-height:1.6;color:var(--ink-dim);margin:0}
@media(max-width:820px){.lead-facts{grid-template-columns:1fr}}

/* refit16.2 - denser capability rhythm; intro deliverables panel */
.svc-lead{padding-bottom:clamp(34px,4vw,58px)!important}
.lead-facts{margin-top:clamp(20px,2.4vw,34px)}
.svc-intro{padding-top:clamp(48px,5.5vw,84px)!important;padding-bottom:clamp(48px,5.5vw,84px)!important}
.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center}
.intro-grid .svc-stmt{font-size:clamp(24px,2.6vw,40px)}
.intro-take{background:radial-gradient(80% 90% at 100% 0%,rgba(0,190,140,.1),transparent 60%),linear-gradient(150deg,#111a23 0%,#0d141c 100%);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:clamp(26px,3vw,42px);color:#fff}
.intro-take .it-k{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mint-bright,#2bf0c0);margin-bottom:18px}
.intro-take ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.intro-take li{position:relative;padding:13px 0 13px 26px;font-size:15px;line-height:1.55;color:rgba(255,255,255,.85);border-top:1px solid rgba(255,255,255,.1)}
.intro-take li:first-child{border-top:0;padding-top:2px}
.intro-take li::before{content:"";position:absolute;left:0;top:1.05em;width:14px;height:2px;border-radius:2px;background:var(--mint)}
.intro-take li:first-child::before{top:.62em}
.pq-sec{padding-top:clamp(24px,2.8vw,44px)!important;padding-bottom:clamp(24px,2.8vw,44px)!important}
.start-sec{padding-bottom:clamp(48px,5.5vw,84px)!important}
@media(max-width:880px){.intro-grid{grid-template-columns:1fr}}

/* refit16.3 - text first, image below, overlapping into the next section */
.lead-para{margin:clamp(18px,2.2vw,30px) 0 0;max-width:68ch;font-size:clamp(16.5px,1.55vw,21px);line-height:1.62;color:var(--ink-dim);border-left:2px solid var(--mint);padding-left:clamp(16px,1.8vw,24px)}
.flow-lead{padding-bottom:0!important}
.flow-lead .flow-line{margin-top:clamp(24px,2.8vw,40px)}
.flow-lead .sec-media{margin-bottom:calc(-1*clamp(64px,7.5vw,124px));position:relative;z-index:2}
.flow-lead + .svc-intro{padding-top:calc(clamp(48px,5.5vw,84px) + clamp(64px,7.5vw,124px))!important}


/* refit17 - what-we-do dark band (section rhythm: dark / light / grey / green) */
.svc-grid-sec.dark-band{background:linear-gradient(180deg,#111a23 0%,#0d141c 100%)!important}
.dark-band .shead h2{color:#fff}
.dark-band .shead p{color:rgba(255,255,255,.62)}
.dark-band .shead .kick{color:var(--mint-bright,#2bf0c0)}
.dark-band .sv-card{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.12)!important;border-top:3px solid var(--mint)!important;box-shadow:none!important}
.dark-band .sv-card h3{color:#fff}
.dark-band .sv-card p{color:rgba(255,255,255,.66)}
.dark-band .sv-card:hover{background:rgba(0,209,160,.08)!important;border-color:rgba(0,209,160,.5)!important;transform:translateY(-5px)}


/* ============================================================
   REFIT 18 — deliverables as cards; article meta bar + prev/next;
   what-we-do extras
   ============================================================ */
/* deliverables panel: cards, not a list */
.intro-take ul{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.intro-take li{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)!important;border-top:0!important;border-radius:14px;padding:38px 18px 16px!important;font-size:14px!important;line-height:1.5!important;transition:border-color .35s ease,background .35s ease}
.intro-take li::before{left:18px!important;top:18px!important}
.intro-take li:hover{border-color:rgba(0,209,160,.45)!important;background:rgba(0,209,160,.07)}
@media(max-width:540px){.intro-take ul{grid-template-columns:1fr}}

/* what-we-do: closing conversation link */
.wwd-more{margin:clamp(24px,3vw,40px) 0 0;font-size:clamp(15px,1.3vw,17.5px);color:rgba(255,255,255,.62)}
.wwd-more a{color:var(--mint-bright,#2bf0c0);font-weight:600;text-decoration:none}
.wwd-more a i{font-style:normal;display:inline-block;transition:transform .35s ease}
.wwd-more a:hover i{transform:translateX(5px)}

/* article: author/category meta bar (live-site style) */
.art-metabar{background:#fff;border-bottom:1px solid rgba(18,26,31,.08)}
.amb-in{display:flex;flex-wrap:wrap;gap:clamp(20px,3.5vw,56px);padding-top:clamp(18px,2vw,26px);padding-bottom:clamp(18px,2vw,26px)}
.amb{display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--mint);padding-left:14px}
.amb .amb-l{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}
.amb b{font-size:14px;font-weight:700;letter-spacing:.02em;color:var(--ink);text-transform:uppercase}

/* article: previous / next */
.art-nav{border-top:1px solid rgba(18,26,31,.1)}
.an-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.an{display:flex;flex-direction:column;gap:8px;padding:clamp(24px,3vw,40px) clamp(4px,1vw,16px);text-decoration:none;color:var(--ink);transition:background .3s ease}
.an span{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}
.an b{font-size:clamp(16px,1.5vw,21px);font-weight:700;letter-spacing:-.02em;line-height:1.3;transition:color .3s ease}
.an:hover b{color:var(--mint-press,#0aa886)}
.an-next{text-align:right;align-items:flex-end;border-left:1px solid rgba(18,26,31,.1)}
@media(max-width:640px){.an-grid{grid-template-columns:1fr}.an-next{text-align:left;align-items:flex-start;border-left:0;border-top:1px solid rgba(18,26,31,.1)}}


/* ------------------------------------------------------------------
   Mobile fix — .story-wow (who-we-are "It started over coffees")
   The .story-wow variant (specificity 0-2-0) overrode the .story
   mobile breakpoint (0-1-0), so the 2-col grid never collapsed and
   the media block overflowed the viewport. Added 2026-07-12.
   ------------------------------------------------------------------ */
@media (max-width: 820px){
  .story-wow .story{
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .story-wow .story-media{
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    clip-path: none;
    aspect-ratio: 4 / 4.3;
  }
  .story-wow .story-media img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}


/* ------------------------------------------------------------------
   Mobile nav fixes — added 2026-07-12
   ------------------------------------------------------------------
   1) Menu only opened full-height at the top of the page.
      header.nav gains backdrop-filter via .scrolled. A non-none
      backdrop-filter makes an element the CONTAINING BLOCK for its
      position:fixed descendants. .nav-links.is-open is fixed with
      height:100% and lives inside the header — so once scrolled, its
      100% resolved against the 128px header instead of the viewport.
      Neutralise the containing-block-creating properties (and any
      hide-on-scroll transform) whenever the menu is open.

   2) Burger showed a #cc3366 red-pink on focus/hover. That colour is
      a Hello Elementor theme default from reset.css, not from this
      design. Repoint it at the brand green (--mint / #00d1a0).
   ------------------------------------------------------------------ */
@media (max-width: 900px){
  body.menu-open header.nav{
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    filter: none;
    transform: none;
  }
  header.nav .nav-links.is-open{
    height: 100dvh;
  }
}

.burger,
.burger:hover,
.burger:focus,
.burger:focus-visible,
.burger:active{
  color: var(--mint);
  border-color: var(--mint);
  outline-color: var(--mint);
  background: none;
  -webkit-tap-highlight-color: rgba(0, 209, 160, .18);
}
.burger:focus-visible{
  outline: 2px solid var(--mint);
  outline-offset: 3px;
  border-radius: 6px;
}


/* ------------------------------------------------------------------
   work-with-us — "AI matters. People matter more." block. 2026-07-12
   ------------------------------------------------------------------
   1) Heading sat flush against the dark card on desktop.
      .svc-lead .svc-stmt sets margin-bottom:0 (0-2-0), beating the
      .svc-stmt margin (0-1-0). That zero is intentional on the other
      9 pages using .svc-stmt, so DO NOT undo it globally — instead add
      the gap only where a .lead-duo directly follows the heading.
      .lead-duo exists on work-with-us alone.

   2) The card never collapsed on mobile. An unconditional
      .lead-duo{grid-template-columns:1.3fr 0.7fr} sits AFTER the
      @media(max-width:820px){.lead-duo{1fr}} rule, so the 2-col grid
      won at every width — text crushed to ~215px, image to ~116px.
      Re-assert the single column after it, and stack image under text.
   ------------------------------------------------------------------ */
.svc-stmt + .lead-duo{
  margin-top: clamp(28px, 3vw, 44px);
}

@media (max-width: 820px){
  .lead-duo{
    grid-template-columns: 1fr;
  }
  .ld-txt{ order: 1; }
  .ld-img{
    order: 2;
    margin: 0;
    clip-path: none;
    height: 200px;
  }
  .ld-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}


/* ------------------------------------------------------------------
   Accordion open icon — plus/minus. 2026-07-12
   ------------------------------------------------------------------
   .acc-ic draws a "+" from two pseudo-elements:
     ::before = vertical bar   (1.6 x 11)
     ::after  = horizontal bar (11 x 1.6)
   On open, ::before is hidden (opacity:0), correctly leaving the
   horizontal bar — a "-". But .acc-row.open .acc-ic ALSO applied
   transform: rotate(90deg), which stood that remaining horizontal bar
   back upright, rendering a vertical bar "|" instead of a minus.

   Rotating 180deg keeps the intended spin animation while leaving the
   horizontal bar horizontal, so the minus renders correctly.
   (transform:none would also work, but loses the motion.)

   Applies to all 29 accordion rows across strategy, transformation,
   cyber-security, compliance-risk, delivery and capability.
   ------------------------------------------------------------------ */
.acc-row.open .acc-ic{
  transform: rotate(180deg);
}


/* ------------------------------------------------------------------
   Burger fallback — self-drawing bars. 2026-07-12
   ------------------------------------------------------------------
   The burger is drawn from three empty <span> elements inside the
   button. On /sectors-markets/ those spans are MISSING — the markup is
   just <button class="burger" ...></button> — so the button rendered
   46x46 and clickable, but completely invisible.

   Empty <span></span> tags are exactly what the Classic editor's
   Visual (TinyMCE) tab strips on save, which is almost certainly how
   they were lost on that one page. Rather than paste them back and
   have them stripped again next time someone opens the page in Visual
   mode, draw the bars in CSS whenever the button is empty.

   Only applies to .burger:empty, so the 17 pages whose spans are
   intact are completely unaffected — no double-drawn bars.

   Closed: one bar + two box-shadow bars = the three-line burger.
   Open:   shadows dropped, ::before rotates +45, ::after adds -45 = X.
   Matches the real span-based animation exactly.
   ------------------------------------------------------------------ */
.burger:empty{
  position: relative;
}
.burger:empty::before{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
  transform: translate(-50%, -50%);
  box-shadow: 0 -7px 0 #fff, 0 7px 0 #fff;
  transition: transform .3s, box-shadow .3s, background .3s;
}
body.home-light .nav:not(.scrolled) .burger:empty::before{
  background: var(--ink);
  box-shadow: 0 -7px 0 var(--ink), 0 7px 0 var(--ink);
}
body.menu-open .burger:empty::before{
  box-shadow: none;
  transform: translate(-50%, -50%) rotate(45deg);
  background: #fff;
}
body.menu-open .burger:empty::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}
