/* Mighty — refresh design system (shared) · cinematic + colour-block */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');

:root{
  --ink:#0A2038; --navy:#24334A; --blue:#1F2ADE; --orange:#FF5424;
  --tint:#EDF1F5; --line:#C3CEDA; --caption:#8494A6; --body:#4C5B6E;
  --lineW:rgba(255,255,255,.16);
  --maxw:1300px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Poppins',sans-serif;color:#fff;background:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
.k{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;}
.huge{font-weight:800;font-size:clamp(34px,5.4vw,78px);line-height:1.02;letter-spacing:-.025em;max-width:22ch;}
.lead{margin-top:24px;font-size:19px;max-width:56ch;opacity:.92;}
.subtle{margin-top:16px;font-size:16px;opacity:.75;}

/* brand arrow */
.ba{width:auto;display:inline-block;vertical-align:middle;}
.ba.sm{height:13px;} .ba.md{height:18px;} .ba.lg{height:26px;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:11px;font-weight:700;font-size:15px;padding:16px 30px;cursor:pointer;border:0;font-family:inherit;}
.btn.orange{background:var(--orange);color:#fff;}
.btn.ghost{border:1px solid rgba(255,255,255,.45);color:#fff;background:transparent;}
.btn.white{background:#fff;color:var(--orange);}
.btn.navy{background:var(--ink);color:#fff;}
.arrowlink{display:inline-flex;align-items:center;gap:12px;font-weight:700;}

/* ---------- header (solid ink; transparent over hero on .home) ---------- */
header.site{position:sticky;top:0;z-index:50;background:var(--ink);padding:18px 0;}
body.home header.site{position:absolute;top:0;left:0;right:0;background:transparent;}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;}
.logo img{height:44px;}
.nav{display:flex;gap:28px;font-size:14px;font-weight:500;align-items:center;color:#fff;}
.nav a:hover{color:var(--orange);}
.nav .talk{font-weight:600;color:#fff;background:var(--orange);padding:10px 20px;}
.nav .talk:hover{color:#fff;}
.burger{display:none;background:none;border:0;color:#fff;cursor:pointer;width:44px;height:44px;}
/* mega */
.navitem{position:relative;}
.navitem.has-mega{padding-bottom:18px;margin-bottom:-18px;}
.navitem>a{display:inline-flex;align-items:center;gap:7px;cursor:pointer;}
.navitem .caret{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-bottom:3px;transition:transform .2s;}
header.site:has(.has-mega:hover) .caret{transform:rotate(-135deg);margin-bottom:-2px;}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;color:var(--navy);box-shadow:0 26px 44px rgba(10,32,56,.24);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s;z-index:60;}
header.site:has(.has-mega:hover) .mega,.mega:hover{opacity:1;visibility:visible;transform:none;}
.mega .inner{display:grid;grid-template-columns:1fr 1fr .9fr;}
.mega .col{padding:36px 40px;border-left:1px solid var(--line);}
.mega .col:first-child{border-left:0;}
.mega .ch{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--body);margin-bottom:16px;}
.mega .mlink{display:block;padding:10px 0;border-bottom:1px solid var(--line);}
.mega .mlink:last-child{border-bottom:0;}
.mega .mlink b{display:block;font-weight:600;font-size:15px;color:var(--navy);}
.mega .mlink span{display:block;font-weight:400;font-size:12.5px;color:var(--body);margin-top:2px;}
.mega .mlink:hover b{color:var(--blue);}
.mega .promo{background:var(--ink);color:#fff;}
.mega .promo .ch{color:rgba(255,255,255,.55);}
.mega .promo h4{font-weight:700;font-size:20px;line-height:1.2;}
.mega .promo p{margin-top:12px;font-size:13.5px;color:rgba(255,255,255,.8);line-height:1.6;}
.mega .promo .go{margin-top:18px;display:inline-flex;gap:9px;align-items:center;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);}
#mobilemenu{display:none;}
@media(max-width:980px){.nav{display:none;}.burger{display:block;}
  #mobilemenu{position:fixed;inset:0;z-index:70;background:var(--ink);padding:80px 40px;flex-direction:column;gap:2px;overflow:auto;}
  #mobilemenu.open{display:flex;}
  #mobilemenu a{padding:14px 0;font-size:20px;border-bottom:1px solid var(--lineW);color:#fff;}
  #mobilemenu .close{position:absolute;top:22px;right:34px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;}
}

/* ---------- home hero (full-bleed) ---------- */
.hero{position:relative;min-height:92vh;display:flex;align-items:flex-end;overflow:hidden;}
.hero .bg{position:absolute;inset:0;}
.hero .bg img{width:100%;height:100%;object-fit:cover;}
.hero .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,32,56,.55),rgba(10,32,56,.35) 40%,rgba(10,32,56,.97));}
.hero .wrap{position:relative;padding-bottom:88px;padding-top:150px;width:100%;}/* .hero is a flex row, so without width:100% the wrap shrank to its content and centred, pushing the headline in from the logo */
.hero .badge{display:inline-flex;align-items:center;gap:9px;font-size:13px;letter-spacing:.14em;color:rgba(255,255,255,.85);margin-bottom:22px;}
.hero .dot{width:9px;height:9px;border-radius:50%;background:var(--orange);}
.hero h1{font-weight:800;font-size:clamp(46px,7vw,104px);line-height:.94;letter-spacing:-.03em;max-width:15ch;}
.hero h1 span{color:var(--orange);}
.hero .row{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}

/* ---------- interior page hero (ink band) ---------- */
.phero{background:var(--ink);color:#fff;padding:96px 0 100px;}
.phero .k{color:var(--orange);}
.phero h1{margin-top:18px;font-weight:800;font-size:clamp(40px,5.6vw,80px);line-height:.98;letter-spacing:-.03em;max-width:16ch;}
.phero h1 span{color:var(--orange);}
.phero .sub{margin-top:24px;font-size:19px;color:rgba(255,255,255,.8);max-width:56ch;}
.crumb{font-size:13px;font-weight:500;color:rgba(255,255,255,.6);margin-bottom:8px;}
.crumb a:hover{color:var(--orange);}

/* ---------- colour blocks ---------- */
.block{padding:110px 0;}
.st-orange{background:var(--orange);color:#fff;}
.st-blue{background:var(--blue);color:#fff;}
.st-teal{background:var(--tint);color:var(--navy);}
.st-cream{background:var(--tint);color:var(--navy);}
.st-pale{background:var(--tint);color:var(--navy);}
.st-navy{background:var(--ink);color:#fff;}
.st-ink{background:var(--ink);color:#fff;}
.st-white{background:#fff;color:var(--navy);}
.st-tint{background:var(--tint);color:var(--navy);}

/* work grid */
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.tiles{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.tile{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--tint);}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.tile:hover img{transform:scale(1.04);}
.tile .cap{position:absolute;left:0;bottom:0;right:0;padding:22px;background:linear-gradient(180deg,transparent,rgba(10,32,56,.86));color:#fff;}
.tile .cap b{font-weight:700;font-size:19px;display:block;}
.tile .cap span{font-size:13px;opacity:.85;}
@media(max-width:860px){.tiles{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.tiles{grid-template-columns:1fr;}}
.filters{margin-top:34px;display:flex;flex-wrap:wrap;gap:10px;}
.fbtn{font-family:inherit;font-size:13.5px;font-weight:600;color:#fff;background:transparent;border:1px solid rgba(255,255,255,.4);padding:10px 20px;cursor:pointer;}
.fbtn:hover{border-color:#fff;}
.fbtn.on{background:var(--orange);border-color:var(--orange);color:#fff;}
.wt.hide{display:none;}

/* founding / big-arrow device */
.found{display:grid;grid-template-columns:200px 1fr;gap:56px;align-items:center;}
.found .device img{height:190px;}
.found h2{font-weight:800;font-size:clamp(30px,4.4vw,58px);line-height:1.08;letter-spacing:-.02em;max-width:24ch;}
.found h2 b{color:var(--orange);}
.found p{margin-top:22px;font-size:18px;color:rgba(255,255,255,.82);max-width:62ch;}
@media(max-width:820px){.found{grid-template-columns:1fr;gap:28px;}.found .device img{height:120px;}}

/* simple list (situations, services) */
.slist{margin-top:44px;border-top:2px solid currentColor;}
.srow{display:flex;align-items:baseline;gap:24px;padding:24px 0;border-bottom:1px solid rgba(255,255,255,.22);}
.srow b{font-weight:700;font-size:clamp(22px,3vw,40px);letter-spacing:-.02em;min-width:11ch;}
.srow span{font-size:16px;font-weight:500;opacity:.82;}
@media(max-width:640px){.srow{flex-direction:column;gap:6px;}}

/* doorways (services) */
.dgrid{margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.door{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:34px 32px;display:block;color:#fff;}
.door:hover{background:rgba(255,255,255,.14);}
.door .di{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--caption);}
.door .dn{margin-top:12px;font-weight:700;font-size:23px;line-height:1.18;letter-spacing:-.01em;}
.door .dpain{margin-top:14px;font-size:15px;font-style:italic;color:rgba(255,255,255,.7);line-height:1.6;}
.door .dhelp{margin-top:14px;font-size:14.5px;color:rgba(255,255,255,.9);line-height:1.7;}
@media(max-width:760px){.dgrid{grid-template-columns:1fr;}}

/* method spine */
.phase{display:grid;grid-template-columns:120px 1fr;gap:40px;padding:44px 0;border-top:1px solid var(--line);}
.phase .num{font-weight:800;font-size:66px;line-height:.85;color:rgba(36,51,74,.18);letter-spacing:-.03em;}
.phase .pk{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);}
.phase h3{margin:8px 0 12px;font-weight:700;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.01em;}
.phase p{font-size:16px;line-height:1.8;color:var(--body);max-width:62ch;}
@media(max-width:680px){.phase{grid-template-columns:1fr;gap:6px;}.phase .num{font-size:48px;}}

/* capabilities */
.capgrid{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.capcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);padding:30px 28px;display:block;color:#fff;}
.capcard:hover{background:rgba(255,255,255,.12);}
.capcard .cn{font-weight:800;font-size:14px;color:var(--caption);}
.capcard h3{margin:12px 0 10px;font-weight:700;font-size:20px;}
.capcard p{font-size:14.5px;color:rgba(255,255,255,.78);line-height:1.65;}
.capcard .tool{display:inline-block;margin-top:14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--blue);padding:5px 10px;}
@media(max-width:900px){.capgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.capgrid{grid-template-columns:1fr;}}

/* payoff / outcomes */
.outs{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.out .on{font-weight:800;font-size:14px;opacity:.6;}
.out .opill{margin-top:12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8;}
.out h4{margin-top:6px;font-weight:700;font-size:19px;line-height:1.25;}
.out p{margin-top:8px;font-size:13.5px;opacity:.85;line-height:1.5;}
@media(max-width:820px){.outs{grid-template-columns:1fr 1fr;}}

/* stats */
.sg{margin-top:56px;display:grid;grid-template-columns:repeat(3,1fr);}
.sg .st{border-left:1px solid var(--lineW);padding:0 34px;}
.sg .st:first-child{border-left:0;padding-left:0;}
.sg .n{font-weight:800;font-size:clamp(56px,7vw,104px);line-height:.85;letter-spacing:-.03em;}
.sg .l{margin-top:16px;font-weight:500;font-size:16px;opacity:.9;}
.sg.four{grid-template-columns:repeat(4,1fr);}
@media(max-width:760px){.sg,.sg.four{grid-template-columns:1fr 1fr;gap:36px 20px;}.sg .st{border-left:0;padding-left:0;}}

/* clients */
.wall{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
.wall .c{display:flex;align-items:center;justify-content:center;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.wall img{max-height:42px;max-width:120px;object-fit:contain;mix-blend-mode:multiply;filter:grayscale(1) opacity(.72);}
.wall .c:hover img{filter:none;}
@media(max-width:860px){.wall{grid-template-columns:1fr 1fr;}}

/* multiply ad grid */
.adgrid{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.ad{background:#fff;color:var(--navy);padding:24px 22px 26px;}
.ad .brand{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;}
.ad .brand i{color:var(--orange);font-style:normal;}
.ad .line{margin-top:14px;font-size:16px;line-height:1.5;}
.ad .line b{font-weight:700;color:var(--blue);}
.ad .loc{margin-top:20px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--body);}
.note{margin-top:34px;font-size:15px;opacity:.75;}
@media(max-width:1000px){.adgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.adgrid{grid-template-columns:1fr;}}

/* team */
.team{margin-top:52px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.tcard{position:relative;overflow:hidden;background:var(--tint);}
.tcard img{width:100%;height:340px;object-fit:cover;object-position:center top;filter:grayscale(1);}
.tface{height:340px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:48px;background:var(--caption);}
.tovl{position:absolute;left:0;right:0;bottom:0;padding:44px 18px 16px;background:linear-gradient(180deg,transparent,rgba(10,32,56,.85));}
.tcard b{display:block;font-weight:700;font-size:17px;color:#fff;}
.tcard span{display:block;font-size:13px;color:rgba(255,255,255,.82);margin-top:2px;}
@media(max-width:860px){.team{grid-template-columns:1fr 1fr;}}

/* narrative */
.narr{max-width:820px;}
.narr .nlead{font-weight:700;font-size:clamp(22px,2.6vw,32px);line-height:1.35;letter-spacing:-.01em;}
.narr p{margin-top:22px;font-size:18px;line-height:1.85;opacity:.85;}

/* partners */
.pgrid{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.pcard{background:#fff;padding:32px 30px;color:var(--navy);}
.pcard .plogo{height:56px;display:flex;align-items:center;margin-bottom:20px;}
.pcard .plogo img{max-height:56px;max-width:170px;object-fit:contain;}
.pcard p{font-size:14.5px;color:var(--body);line-height:1.7;}
@media(max-width:820px){.pgrid{grid-template-columns:1fr;}}

/* case study */
.cshero img{width:100%;height:clamp(320px,50vw,540px);object-fit:cover;}
.chips2{margin-top:20px;display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border:1px solid rgba(255,255,255,.4);padding:6px 13px;}
.chip.axis{color:var(--ink);background:var(--orange);border-color:var(--orange);}
.facts{border-bottom:1px solid var(--line);}
.facts .row{display:grid;grid-template-columns:repeat(5,1fr);}
.facts .c{padding:26px 22px;border-left:1px solid var(--line);}
.facts .c:first-child{border-left:0;padding-left:0;}
.facts .fl{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--body);}
.facts .fv{font-weight:600;font-size:15.5px;margin-top:6px;}
@media(max-width:860px){.facts .row{grid-template-columns:1fr 1fr;}.facts .c{border-left:0;}}
.cs{padding:52px 0;}
.cs .grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:60px;align-items:start;}
.cs .lab h2{font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
.cs .lab h3{font-weight:700;font-size:clamp(23px,2.4vw,30px);line-height:1.2;margin-top:12px;}
.cs .bd p{font-size:17.5px;line-height:1.8;color:var(--body);max-width:700px;}
.cs .bd p+p{margin-top:16px;}
@media(max-width:860px){.cs .grid{grid-template-columns:1fr;gap:14px;}}
.pull blockquote{border-left:4px solid var(--orange);padding-left:28px;font-weight:700;font-size:clamp(26px,3.4vw,44px);line-height:1.3;letter-spacing:-.02em;max-width:20ch;}

/* CTA */
.ctablk h2{font-weight:800;font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.02em;max-width:18ch;}

/* footer */
footer{background:var(--ink);color:#fff;padding:78px 0 46px;}
footer .grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:44px;}
footer .fl img{height:32px;}
footer .tag{margin-top:14px;color:rgba(255,255,255,.65);max-width:32ch;font-size:15px;}
footer h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:14px;}
footer li{list-style:none;margin-bottom:9px;font-size:15px;color:rgba(255,255,255,.82);}
footer li a:hover{color:var(--orange);}
footer .partners{margin-top:28px;display:flex;gap:24px;align-items:center;}
footer .partners span{height:38px;display:inline-flex;align-items:center;}
footer .partners span:nth-child(2){height:48px;}
footer .partners img{height:100%;width:auto;}
footer .legal{margin-top:52px;padding-top:20px;border-top:1px solid var(--lineW);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;color:rgba(255,255,255,.45);}
@media(max-width:860px){footer .grid{grid-template-columns:1fr;gap:30px;}}

/* ---------- image-led case study (full-width) ---------- */
.cshero2{position:relative;height:clamp(460px,78vh,860px);overflow:hidden;}
.cshero2>img{width:100%;height:100%;object-fit:cover;}
.cshero2 .grad{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,56,.92) 0%,rgba(10,32,56,.45) 34%,rgba(10,32,56,0) 70%);}
.cshero2 .cap{position:absolute;left:0;right:0;bottom:0;}
.cshero2 .cap .wrap{padding-top:56px;padding-bottom:54px;}
.cshero2 .k{color:var(--orange);}
.cshero2 .client{margin-top:14px;font-weight:800;font-size:clamp(44px,7vw,104px);line-height:.9;letter-spacing:-.03em;color:#fff;}
.cshero2 .tagline{margin-top:16px;font-weight:600;font-size:clamp(20px,2.4vw,32px);line-height:1.15;color:#fff;max-width:22ch;}
.cshero2 .chips2{margin-top:20px;}
.bleed{display:block;width:100%;height:clamp(360px,66vh,780px);object-fit:cover;}
.bleedcap{padding:14px 40px 0;font-size:13px;color:var(--body);max-width:var(--maxw);margin:0 auto;}
.trio{display:grid;grid-template-columns:repeat(3,1fr);}
.trio figure{position:relative;overflow:hidden;}
.trio img{width:100%;height:clamp(260px,32vw,460px);object-fit:cover;display:block;}
.trio figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 20px 16px;background:linear-gradient(180deg,transparent,rgba(10,32,56,.82));color:#fff;font-weight:600;font-size:14px;}
@media(max-width:760px){.trio{grid-template-columns:1fr;}}

/* work index — big 2-up image tiles (old-site style) */
.worktiles{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.worktiles .tile{aspect-ratio:3/2;}
.worktiles .tile .cap{padding:34px;background:linear-gradient(180deg,transparent,rgba(10,32,56,.9));}
.worktiles .tile .cap b{font-size:32px;letter-spacing:-.02em;}
.worktiles .tile .cap span{font-size:15px;}
@media(max-width:760px){.worktiles{grid-template-columns:1fr;}}

/* ---------- editorial (serious / long-form: insights, articles) ---------- */
.ed-hero{background:#fff;color:var(--navy);padding:84px 0 58px;border-bottom:1px solid var(--line);}
.ed-hero .erule{width:52px;height:4px;background:var(--orange);margin-bottom:22px;}
.ed-hero .k{color:var(--orange);}
.ed-hero h1{margin-top:16px;font-weight:700;font-size:clamp(34px,4.4vw,58px);line-height:1.08;letter-spacing:-.02em;max-width:24ch;color:var(--navy);}
.ed-hero h1 span{color:var(--blue);}
.ed-hero .stand{margin-top:22px;font-size:20px;line-height:1.6;color:var(--body);max-width:60ch;}
.tagpill{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:rgba(31,42,222,.09);padding:6px 12px;display:inline-block;}
.edmeta{margin-top:22px;font-size:14px;color:var(--body);display:flex;gap:16px;flex-wrap:wrap;align-items:center;}

.feat{background:#fff;padding:66px 0;border-bottom:1px solid var(--line);}
.feat .g{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.feat .im{aspect-ratio:16/11;overflow:hidden;}
.feat .im img{width:100%;height:100%;object-fit:cover;display:block;}
.feat .k{color:var(--orange);}
.feat h2{font-weight:700;font-size:clamp(28px,3.4vw,46px);line-height:1.06;letter-spacing:-.02em;margin-top:10px;}
.feat h2 a{color:inherit;} .feat h2 a:hover{color:var(--blue);}
.feat p{margin-top:16px;color:var(--body);font-size:18px;line-height:1.7;max-width:54ch;}
.feat .rd{margin-top:14px;font-size:13px;color:var(--body);}
@media(max-width:820px){.feat .g{grid-template-columns:1fr;gap:26px;}}

.artwrap{background:#fff;padding:64px 0 96px;}
.artgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 36px;}
.artcard{display:block;color:var(--navy);}
.artcard .thumb{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;background:var(--tint);}
.artcard .tag{margin-top:16px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);}
.artcard h3{margin-top:8px;font-weight:700;font-size:21px;line-height:1.2;letter-spacing:-.01em;}
.artcard p{margin-top:8px;color:var(--body);font-size:15px;line-height:1.6;}
.artcard .rd{margin-top:10px;font-size:13px;color:var(--body);}
.artcard:hover h3{color:var(--blue);}
@media(max-width:860px){.artgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.artgrid{grid-template-columns:1fr;}}

.article{background:#fff;color:var(--navy);padding:56px 0 20px;}
.prose{max-width:760px;margin:0 auto;}
.prose p{font-size:19px;line-height:1.85;color:var(--body);margin:0 0 22px;}
.prose p.stand{font-size:23px;line-height:1.6;color:var(--navy);font-weight:500;margin-bottom:30px;}
.prose h2{font-weight:700;font-size:26px;letter-spacing:-.01em;margin:48px 0 12px;color:var(--navy);position:relative;padding-top:22px;}
.prose h2::before{content:"";position:absolute;top:0;left:0;width:44px;height:3px;background:var(--orange);}
.prose blockquote{margin:36px 0;padding-left:26px;border-left:4px solid var(--blue);font-weight:700;font-size:clamp(24px,3vw,34px);line-height:1.3;letter-spacing:-.01em;color:var(--navy);}
.prose figure{margin:34px 0;}
.prose figure img{width:100%;display:block;}
.prose figcaption{margin-top:10px;font-size:13px;color:var(--body);}
.prose a{color:var(--blue);text-decoration:underline;}
.byline{max-width:760px;margin:26px auto 0;border-top:1px solid var(--line);padding-top:22px;font-size:14px;color:var(--body);}

/* ---------- editorial article: two-column with sticky sidebar + TOC ---------- */
.backlink{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-weight:600;font-size:14px;margin-bottom:14px;}
.backlink img{height:11px;transform:rotate(180deg);}
.artlayout{background:#fff;padding:56px 0 20px;}
.artlayout .g{display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;align-items:start;}
.artside{position:sticky;top:92px;}
.artside .lbl{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--body);}
.artside .who{display:flex;gap:12px;align-items:center;margin:10px 0 0;padding-bottom:22px;}
.artside .avatar{width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex:none;}
.artside .who b{display:block;font-weight:700;color:var(--navy);font-size:15px;}
.artside .who span{display:block;color:var(--body);font-size:13px;}
.artside .blk{padding:20px 0;border-top:1px solid var(--line);}
.artside .blk .v{margin-top:8px;color:var(--body);font-size:14px;}
.toc a{display:block;padding:8px 0 8px 14px;border-left:2px solid var(--line);color:var(--body);font-size:14px;line-height:1.4;margin-top:2px;}
.toc a:hover{color:var(--blue);}
.toc a.on{border-left-color:var(--blue);color:var(--blue);font-weight:600;}
.share a{color:var(--blue);margin-right:16px;font-size:14px;}
.artlayout .prose{max-width:none;margin:0;}
.artend{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.artend .share{color:var(--body);font-size:14px;}
@media(max-width:900px){.artlayout .g{grid-template-columns:1fr;gap:28px;}.artside{position:static;}}

/* read next — brand colour-block cards */
.readnext{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:36px;}
.rncard{position:relative;display:block;aspect-ratio:3/2;padding:28px;color:#fff;overflow:hidden;}
.rncard .cat{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.9;}
.rncard h3{position:absolute;left:28px;right:28px;bottom:26px;font-weight:700;font-size:21px;line-height:1.18;letter-spacing:-.01em;margin:0;}
.rncard.c1{background:var(--orange);} .rncard.c2{background:var(--tint);color:var(--navy);} .rncard.c3{background:var(--navy);}
.rncard:hover{opacity:.94;}
@media(max-width:760px){.readnext{grid-template-columns:1fr;}}

/* ---------- editorial "What We Do" pages (light canvas, colour as accent) ---------- */
body.edp .phero{background:#fff;color:var(--navy);border-bottom:1px solid var(--line);padding:84px 0 56px;}
body.edp .phero .k{color:var(--orange);}
body.edp .phero h1{color:var(--navy);font-weight:700;font-size:clamp(34px,4.6vw,60px);line-height:1.06;letter-spacing:-.02em;max-width:22ch;}
body.edp .phero h1 span{color:var(--blue);}
body.edp .phero .sub{color:var(--body);}
body.edp .phero .crumb{color:var(--body);} body.edp .phero .crumb a{color:var(--blue);}
body.edp .phero .erule{width:52px;height:4px;background:var(--orange);margin-bottom:22px;}
.softsec{background:#fff;padding:76px 0;border-top:1px solid var(--line);color:var(--navy);}
.softsec.tint{background:var(--tint);}
.edk{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);}
.edh{font-weight:700;font-size:clamp(28px,3.6vw,50px);line-height:1.08;letter-spacing:-.02em;color:var(--navy);margin-top:12px;max-width:24ch;}
.edh span{color:var(--blue);}
.edlead{margin-top:18px;font-size:18px;line-height:1.75;color:var(--body);max-width:68ch;}
.edcards{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.edcard{border:1px solid var(--line);padding:26px 24px;background:#fff;display:block;color:var(--navy);}
.edcard .n{font-weight:800;font-size:14px;color:var(--orange);}
.edcard h3{margin:12px 0 8px;font-weight:700;font-size:19px;color:var(--navy);}
.edcard p{font-size:14.5px;line-height:1.62;color:var(--body);}
.edcard .tool{display:inline-block;margin-top:14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--blue);padding:5px 10px;}
a.edcard:hover{border-color:var(--blue);} a.edcard:hover h3{color:var(--blue);}
.edlist{margin-top:26px;border-top:2px solid var(--navy);}
.edrow{display:flex;align-items:baseline;gap:22px;padding:22px 0;border-bottom:1px solid var(--line);color:var(--navy);}
.edrow b{font-weight:700;font-size:clamp(20px,2.6vw,32px);letter-spacing:-.02em;min-width:11ch;color:var(--navy);}
.edrow span{color:var(--body);font-size:15px;}
a.edrow:hover b{color:var(--blue);}
.edphase{display:grid;grid-template-columns:96px 1fr;gap:34px;padding:32px 0;border-top:1px solid var(--line);}
.edphase .num{font-weight:800;font-size:52px;line-height:.85;color:rgba(36,51,74,.16);letter-spacing:-.03em;}
.edphase .pk{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);}
.edphase h3{margin:6px 0 10px;font-weight:700;font-size:clamp(20px,2.4vw,26px);color:var(--navy);}
.edphase p{font-size:16px;line-height:1.8;color:var(--body);max-width:64ch;}
@media(max-width:860px){.edcards{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.edcards{grid-template-columns:1fr;}.edphase{grid-template-columns:1fr;gap:6px;}}

/* ===== editorial hero — Direction A: dark masthead band ===== */
.edhero-dark{background:var(--ink);color:#fff;padding:104px 0 86px;}
.edhero-dark .crumb{color:rgba(255,255,255,.55);margin-bottom:8px;} .edhero-dark .crumb a{color:var(--orange);}
.edhero-dark .erule{width:52px;height:4px;background:var(--orange);margin-bottom:22px;}
.edhero-dark .k{color:var(--orange);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;}
.edhero-dark h1{margin-top:16px;font-weight:700;font-size:clamp(38px,5.2vw,72px);line-height:1.02;letter-spacing:-.03em;max-width:20ch;color:#fff;}
.edhero-dark h1 span{color:var(--orange);}
.edhero-dark .sub{margin-top:22px;font-size:19px;color:rgba(255,255,255,.82);max-width:60ch;}

/* ===== editorial hero — Direction B: framed light masthead + on-page nav ===== */
.edhero-frame{background:var(--tint);border-bottom:1px solid var(--line);padding:76px 0;color:var(--navy);}
.edhero-frame .hg{display:grid;grid-template-columns:1.5fr .5fr;gap:56px;align-items:end;}
.edhero-frame .crumb{color:var(--body);margin-bottom:8px;} .edhero-frame .crumb a{color:var(--blue);}
.edhero-frame .erule{width:52px;height:4px;background:var(--orange);margin-bottom:20px;}
.edhero-frame .k{color:var(--orange);font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;}
.edhero-frame h1{margin-top:16px;font-weight:700;font-size:clamp(34px,4.6vw,60px);line-height:1.06;letter-spacing:-.02em;max-width:22ch;color:var(--navy);}
.edhero-frame h1 span{color:var(--blue);}
.edhero-frame .sub{margin-top:20px;font-size:18px;color:var(--body);max-width:58ch;}
.edhero-frame .hnav{border-left:2px solid var(--orange);padding-left:22px;}
.edhero-frame .hnav .hl{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--body);margin-bottom:12px;}
.edhero-frame .hnav a{display:block;padding:9px 0;color:var(--navy);font-weight:600;font-size:15px;border-bottom:1px solid var(--line);}
.edhero-frame .hnav a:last-child{border-bottom:0;} .edhero-frame .hnav a:hover{color:var(--blue);}
@media(max-width:820px){.edhero-frame .hg{grid-template-columns:1fr;gap:26px;}}

/* ===== Showreel reel frames (home hero background) ===== */
#reel{background:#0A2038;}
.sr-frame{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;}
.sr-frame.active{opacity:1;}
.sr-bleed{width:100%;height:100%;object-fit:cover;display:block;}
@keyframes srken{0%{transform:scale(1)}100%{transform:scale(1.12)}}
img.sr-ken{animation:srken 8s ease-in-out infinite alternate;}
.sr-devbg{position:absolute;inset:0;background:#0A2038;overflow:hidden;}
.sr-devin{position:absolute;top:0;left:50%;transform:translateX(-50%);height:100%;}
.sr-devin>img{height:100%;width:auto;display:block;}
.sr-devscr{position:absolute;left:25.77%;top:16.32%;width:53.79%;height:60.05%;overflow:hidden;background:#fff;}
.sr-devscr>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:top;background:#fff;}
.sr-montage{position:absolute;inset:0;background:#0A2038;padding:44px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:14px;}
.sr-cell{position:relative;overflow:hidden;background:#000;}
.sr-cell video{width:100%;height:100%;object-fit:cover;}
.sr-cell span{position:absolute;left:12px;bottom:10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6);}
@media (prefers-reduced-motion:reduce){.sr-frame,img.sr-ken{animation-duration:.001ms!important;}}
@media(max-width:640px){.sr-montage{padding:20px;gap:8px;}}

/* ===================== CASE STUDY (body.csA) — light editorial, original flow ===================== */
body.csA{background:#fff;color:var(--navy);}
/* header: text-first (kicker + headline + chips), then a contained hero image */
.csA .chead{padding:64px 0 0;}
.csA .chead .k{font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);}
.csA .chead h1{margin-top:16px;font-weight:400;font-size:clamp(30px,4.4vw,56px);line-height:1.08;letter-spacing:-.02em;max-width:20ch;color:var(--navy);}
.csA .chead h1 span{font-weight:500;color:var(--blue);}
.csA .chead .chips2{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px;}
.csA .chead .chip{font-weight:500;font-size:12px;letter-spacing:.02em;padding:7px 13px;border:1px solid var(--line);color:var(--navy);background:#fff;}
.csA .chead .chip.axis{border-color:var(--blue);color:var(--blue);}
.csA .herofig{max-width:calc(var(--maxw) - 80px);margin:34px auto 0;overflow:hidden;border:1px solid var(--line);}
.csA .herofig img{width:100%;height:clamp(320px,46vw,520px);object-fit:cover;object-position:center;transform:scale(1.14);display:block;}
/* facts strip: light */
.csA .facts .fv{font-weight:500;}
/* intro (small, calm — not dominant) */
.csA .leadsec{padding:56px 0 8px;}
.csA .lead{max-width:62ch;margin:0;font-weight:400;font-size:clamp(19px,1.9vw,24px);line-height:1.6;letter-spacing:-.005em;color:var(--navy);}
/* cs (challenge/diagnosis/outcome): label sidebar + light body */
.csA .cs{padding:48px 0;}
.csA .cs .lab h2{font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
.csA .cs .lab h3{font-weight:500;font-size:clamp(22px,2.3vw,29px);line-height:1.25;margin-top:12px;letter-spacing:-.01em;}
.csA .cs .bd p{font-size:17px;line-height:1.8;color:var(--body);}
/* approach: text + framed image side by side */
.csA .pair{max-width:var(--maxw);margin:26px auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.csA .pair figure{margin:0;}
.csA .pair img{width:100%;height:auto;display:block;border:1px solid var(--line);}
.csA .pair .cap{margin-top:11px;font-size:13px;color:var(--body);}
.csA .pair .lab{font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
.csA .pair h3{font-weight:600;font-size:clamp(23px,2.4vw,32px);line-height:1.2;margin:12px 0 16px;letter-spacing:-.01em;}
.csA .pair p{font-size:17px;line-height:1.78;color:var(--body);}
@media(max-width:840px){.csA .pair{grid-template-columns:1fr;gap:24px;}}
/* work showcase: heading, feature image, 3 captioned items */
.csA .work{background:var(--tint);color:var(--navy);padding:64px 0;margin:52px 0 0;}
.csA .work .hd{max-width:var(--maxw);margin:0 auto 24px;padding:0 40px;}
.csA .work .hd .lab{font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);}
.csA .work .hd h3{font-weight:600;font-size:clamp(24px,2.7vw,34px);margin-top:10px;letter-spacing:-.01em;}
.csA .work .feat{max-width:calc(var(--maxw) - 80px);margin:0 auto 22px;overflow:hidden;border:1px solid var(--line);}
.csA .work .feat img{width:100%;height:clamp(300px,40vw,480px);object-fit:cover;object-position:center;transform:scale(1.08);display:block;}
.csA .items{max-width:var(--maxw);margin:0 auto;padding:0 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.csA .items figure{margin:0;}
.csA .items img{width:100%;height:clamp(210px,22vw,280px);object-fit:cover;display:block;border:1px solid var(--line);}
.csA .items figcaption b{display:block;font-weight:600;font-size:14px;color:var(--navy);margin-top:11px;}
.csA .items figcaption span{display:block;font-size:12.5px;color:var(--body);margin-top:2px;}
@media(max-width:840px){.csA .items{grid-template-columns:1fr 1fr;}}
/* related: light, orange CTA kept as the single colour anchor */
.csA .block.st-cream{background:#fff !important;color:var(--navy) !important;border-top:1px solid var(--line);}
.csA .block.st-cream .huge{font-weight:500 !important;font-size:clamp(26px,3vw,38px) !important;}
.csA .edhero-dark h1{font-weight:600;letter-spacing:-.02em;}
.csA .edhero-dark .sub{max-width:60ch;}
.csA .edhero-dark .chips2{margin-top:24px;display:flex;flex-wrap:wrap;gap:8px;}
.csA .edhero-dark .chip{font-weight:500;font-size:12px;letter-spacing:.02em;padding:7px 13px;border:1px solid rgba(255,255,255,.32);color:#fff;background:transparent;}
.csA .edhero-dark .chip.axis{border-color:var(--orange);color:var(--orange);}

/* ---- ANZ network map (home consistency band) ---- */
.mapwrap{margin-top:40px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;}
.mapbox{position:relative;}
.mapbox svg{width:100%;height:auto;display:block;}
.maplabel{margin-top:10px;font-size:13px;font-weight:500;color:var(--body);}
.maplabel b{font-weight:700;color:var(--navy);}
.mapside .town{color:var(--blue);}
.mapside .mapnote{margin-top:18px;font-size:15px;line-height:1.65;color:var(--body);}
.netmap .coast{fill:rgba(36,51,74,.055);stroke:rgba(36,51,74,.45);stroke-width:0.9;
  stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.netmap .dot{fill:rgba(36,51,74,.3);}
.netmap .dot.sub{fill:rgba(36,51,74,.18);}
.netmap .dot.hub{fill:var(--orange);}
.netmap .dot.hub.active{fill:var(--orange);}
.netmap .dot.hub.origin{fill:var(--blue);}
/* Marker size and pulse amplitude scale with how much work runs in that centre.
   t1 major centres also get a second, delayed ring, so they read as busier. */
.netmap .ring{fill:none;stroke:var(--orange);stroke-width:2;opacity:0;}
.netmap .ring.on.t1{animation:ringt1 2.8s ease-out infinite;}
.netmap .ring.on.t2{animation:ringt2 2.5s ease-out infinite;}
.netmap .ring.on.t3{animation:ringt3 2.2s ease-out infinite;}
.netmap .ring.d2{animation-delay:.75s;}
@keyframes ringt1{0%{opacity:.95;r:7;stroke-width:2.6;}100%{opacity:0;r:42;stroke-width:.5;}}
@keyframes ringt2{0%{opacity:.85;r:5;stroke-width:2;}100%{opacity:0;r:27;stroke-width:.5;}}
@keyframes ringt3{0%{opacity:.75;r:3.6;stroke-width:1.6;}100%{opacity:0;r:18;stroke-width:.5;}}
.netmap .arc{fill:none;stroke:rgba(31,42,222,.1);stroke-width:1;transition:opacity .25s ease;}
.netmap .arc.live{stroke:var(--orange);stroke-width:2;opacity:1;}
/* cross-Tasman arcs stay invisible until they fire, or the Tasman fills with lines */
.netmap .arc.x{opacity:0;}
.netmap .arc.x.live{opacity:1;stroke-width:2.2;}
.netmap .mapname{font-family:'Poppins',sans-serif;font-size:11px;font-weight:500;fill:var(--caption);opacity:0;}
.netmap .mapname.active{fill:var(--navy);font-weight:700;opacity:1;}
.netmap .mapname.always{opacity:1;fill:var(--blue);font-weight:700;}
@media(max-width:920px){.mapwrap{grid-template-columns:1fr;gap:32px;}}
@media(prefers-reduced-motion:reduce){
  .netmap .ring.on.t1,.netmap .ring.on.t2,.netmap .ring.on.t3{animation:none;}
}

/* ---- platform band, two-group split ---- */
.pgroup{margin-top:44px;}
.pgroup .pglabel{display:flex;align-items:baseline;gap:14px;padding-bottom:14px;border-bottom:2px solid currentColor;}
.pgroup .pglabel b{font-weight:700;font-size:clamp(19px,2.2vw,26px);letter-spacing:-.01em;}
.pgroup .pglabel span{font-size:14px;font-weight:500;opacity:.75;}
.pgroup .edcards{margin-top:24px;}

/* ---- situation picker: segmented bar + one panel (home "Begin with your situation") ----
   Colour lives in six vars on .c1, so a palette change is a one-line override.
   Current treatment is V1, electric blue on the st-blue band. */
.c1{
  --c1fg:#fff;
  --c1line:rgba(255,255,255,.4);
  --c1hover:rgba(255,255,255,.1);
  --c1onbg:#fff;
  --c1onfg:var(--navy);
  --c1num:var(--orange);
}
.c1bar{margin-top:36px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--c1line);}
.c1btn{padding:20px;background:none;border:0;border-right:1px solid var(--c1line);
  color:var(--c1fg);font-family:inherit;font-size:15px;font-weight:600;line-height:1.35;cursor:pointer;
  text-align:left;transition:background .15s ease,color .15s ease;}
.c1btn:last-child{border-right:0;}
.c1btn .c1n{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.6;margin-bottom:8px;}
.c1btn:hover{background:var(--c1hover);}
.c1btn.on{background:var(--c1onbg);color:var(--c1onfg);}
.c1btn.on .c1n{color:var(--c1num);opacity:1;}
.c1btn:focus-visible{outline:2px solid var(--orange);outline-offset:-4px;}
.c1panel{display:none;border:1px solid var(--c1line);border-top:0;padding:38px 34px;color:var(--c1fg);}
.c1panel.on{display:block;}
.c1panel .q{font-size:clamp(21px,2.7vw,32px);font-weight:500;line-height:1.3;max-width:32ch;}
.c1panel .a{margin-top:20px;font-size:16.5px;line-height:1.72;opacity:.9;max-width:60ch;}
.c1panel .go{margin-top:26px;display:inline-flex;align-items:center;gap:12px;font-weight:700;color:var(--c1fg);}
.c1panel .go:hover{text-decoration:underline;text-underline-offset:5px;}
@media(max-width:780px){
  .c1bar{grid-template-columns:1fr 1fr;}
  .c1btn:nth-child(2){border-right:0;}
  .c1btn:nth-child(1),.c1btn:nth-child(2){border-bottom:1px solid var(--c1line);}
}
@media(max-width:460px){
  .c1bar{grid-template-columns:1fr;}
  .c1btn{border-right:0;border-bottom:1px solid var(--c1line);}
  .c1btn:last-child{border-bottom:0;}
  .c1panel{padding:28px 22px;}
}


/* ---- two-tab start navigator (home "Begin with your situation. Or the skill you need.") ---- */
.nav2{margin-top:34px;}
.nav2modes{display:inline-flex;border:1px solid rgba(255,255,255,.4);margin-bottom:26px;}
.nav2mode{padding:14px 28px;background:none;border:0;border-right:1px solid rgba(255,255,255,.4);color:#fff;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;}
.nav2mode:last-child{border-right:0;}
.nav2mode.on{background:#fff;color:var(--navy);}
.nav2grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.4);}
.nav2grid[hidden]{display:none;}
.nav2list{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.4);}
.nav2row{display:flex;align-items:center;gap:16px;padding:22px 24px;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.22);color:#fff;font-family:inherit;text-align:left;cursor:pointer;position:relative;transition:background .15s;}
.nav2row:last-child{border-bottom:0;}
.nav2row .rn{font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.6;min-width:20px;}
.nav2row .rt{flex:1;}
.nav2row .rt b{display:block;font-weight:700;font-size:17px;letter-spacing:-.01em;}
.nav2row .rt span{display:block;font-size:13px;opacity:.72;margin-top:3px;font-weight:400;}
.nav2row .rc{width:9px;height:9px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);opacity:.5;flex:none;}
.nav2row:hover{background:rgba(255,255,255,.1);}
.nav2row.on{background:rgba(255,255,255,.1);}
.nav2row.on::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--orange);}
.nav2row.on .rn{color:var(--orange);opacity:1;}
.nav2panels{padding:40px 36px;}
.nav2panel{display:none;}
.nav2panel.on{display:block;}
.nav2panel .pk{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.nav2panel h3{margin-top:14px;font-weight:700;font-size:clamp(24px,2.9vw,38px);line-height:1.12;letter-spacing:-.01em;}
.nav2panel p{margin-top:18px;font-size:16.5px;line-height:1.72;opacity:.9;max-width:44ch;}
.nav2panel .go{margin-top:26px;display:inline-flex;align-items:center;gap:12px;font-weight:700;color:#fff;}
.nav2panel .go:hover{text-decoration:underline;text-underline-offset:5px;}
@media(max-width:820px){
  .nav2grid{grid-template-columns:1fr;}
  .nav2list{border-right:0;border-bottom:1px solid rgba(255,255,255,.4);}
}
@media(max-width:460px){
  .nav2modes{display:flex;width:100%;}
  .nav2mode{flex:1;text-align:center;padding:14px 10px;}
  .nav2panels{padding:28px 22px;}
}


/* ===================== v5 home page ===================== */
/* Selected work: 6-col regrid (3 x span-2, 2 x span-3) */
.tiles.six{grid-template-columns:repeat(6,1fr);}
.tiles.six .w2{grid-column:span 2;aspect-ratio:4/3;}
.tiles.six .w3{grid-column:span 3;aspect-ratio:16/9;}
@media(max-width:860px){.tiles.six{grid-template-columns:1fr 1fr;}.tiles.six .w2,.tiles.six .w3{grid-column:auto;aspect-ratio:4/3;}}
@media(max-width:560px){.tiles.six{grid-template-columns:1fr;}}

/* Where to start: heading + tabs on one row */
.nav2head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:26px;}
.nav2head .huge{font-size:clamp(28px,3.4vw,46px);}

/* Where to start: light band variant (light rows, navy answer panel) */
.nav2.light .nav2modes{border-color:var(--line);margin-bottom:0;}
.nav2.light .nav2mode{background:#fff;color:var(--navy);border-right-color:var(--line);}
.nav2.light .nav2mode.on{background:var(--ink);color:#fff;}
.nav2.light .nav2grid{border-color:var(--line);background:#fff;}
.nav2.light .nav2list{border-right-color:var(--line);}
.nav2.light .nav2row{color:var(--navy);border-bottom-color:#E1E7EE;}
.nav2.light .nav2row .rn{color:var(--caption);opacity:1;}
.nav2.light .nav2row .rt span{color:var(--body);opacity:1;}
.nav2.light .nav2row .rc{border-color:var(--caption);opacity:.55;}
.nav2.light .nav2row:hover,.nav2.light .nav2row.on{background:#F6F8FA;}
.nav2.light .nav2row.on .rn{color:var(--orange);}
.nav2.light .nav2row.on::before{background:var(--orange);}
.nav2.light .nav2panels{background:var(--ink);color:#fff;}
.nav2.light .nav2panel h3{color:#fff;}
.nav2.light .nav2panel p{color:rgba(255,255,255,.85);}
.nav2.light .nav2panel .pk{color:rgba(255,255,255,.7);}

/* Clients: two rotating logo lines, full colour */
.mq{margin-top:56px;display:flex;flex-direction:column;gap:22px;}
.mqrow{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.mqtrack{display:flex;width:max-content;will-change:transform;}
.mqslot{flex:none;width:210px;height:120px;padding:30px 32px;display:flex;align-items:center;justify-content:center;}
.mqslot img{max-height:60px;max-width:160px;width:auto;height:auto;object-fit:contain;display:block;}
@keyframes mtrackL{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes mtrackR{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media (prefers-reduced-motion: reduce){[data-marquee]{animation:none !important;}}

/* Statement + lead-project: collapse the 210px columns on small screens */
@media(max-width:820px){
  .v5stmt{grid-template-columns:1fr !important;gap:26px !important;padding:64px 24px 56px !important;}
  .v5stmt img{max-width:120px !important;}
  .v5lead-img{padding:0 !important;}
  .v5lead-txt{grid-template-columns:1fr !important;gap:12px !important;padding:28px 24px 76px !important;}
}

/* ===== v9 (25 Sep 2026): mobile fixes, capability template, home restructure, polish ===== */
/* bug: the hidden mega-menu still takes layout width on phones and caused sideways scroll */
@media(max-width:980px){.mega{display:none !important;}}
html,body{overflow-x:clip;}
/* card grids: responsive modifiers (replace inline grid styles that beat the media queries) */
.edcards.two{grid-template-columns:1fr 1fr;}
.edcards.four{grid-template-columns:repeat(4,1fr);}
/* polish: a grid of exactly four cards sits 2x2, never 3+1 */
.edcards:has(> :nth-child(4):last-child):not(.four){grid-template-columns:1fr 1fr;}
@media(max-width:980px){.edcards.four{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.edcards.two,.edcards.four,.edcards:has(> :nth-child(4):last-child){grid-template-columns:1fr;}}
/* polish: one emphasis colour. Orange marks the key word in a page H1; section headings don't recolour words */
.edh span{color:inherit;}
.mapside .town{color:var(--orange);}

/* ---- capability page template (5 bands) ---- */
.caphero .chg{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:end;}
.caphero .chimg{aspect-ratio:4/3;overflow:hidden;background:rgba(255,255,255,.06);}
.caphero .chimg img{width:100%;height:100%;object-fit:cover;display:block;}
.caphero{padding:96px 0 80px;}
.caphero h1{font-size:clamp(36px,4.4vw,62px);}
.capsplit{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.capsplit .edh{margin-top:0;font-size:clamp(26px,2.8vw,40px);}
.capsplit .edlead{font-size:17px;}
.caplist{border-top:2px solid var(--navy);}
.caplist .ci{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);}
.caplist .ci .n{font-weight:800;font-size:14px;color:var(--orange);padding-top:3px;}
.caplist .ci h3{font-weight:700;font-size:18px;color:var(--navy);}
.caplist .ci p{margin-top:4px;font-size:15px;line-height:1.6;color:var(--body);}
.capproof{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center;}
.capproof .cpimg{display:block;aspect-ratio:16/10;overflow:hidden;background:#fff;}
.capproof .cpimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.capproof .cpimg:hover img{transform:scale(1.03);}
.cph{font-weight:700;font-size:clamp(26px,2.8vw,40px);line-height:1.08;letter-spacing:-.02em;color:var(--navy);margin-top:12px;}
.capproof .edlead{font-size:17px;margin-top:14px;}
.capmix{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.capmix .mixlead{margin-top:12px;font-size:19px;line-height:1.6;color:var(--navy);max-width:40ch;}
.capmix .fitfor{margin-top:28px;font-size:13px;font-weight:600;color:var(--body);}
.chips{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;}
.chips a{display:inline-block;padding:9px 14px;border:1px solid var(--line);font-size:14px;font-weight:600;color:var(--navy);background:#fff;}
.chips a:hover{border-color:var(--orange);color:var(--orange);}
.capmix .edlist{margin-top:0;}
.capmix .edrow{flex-direction:column;gap:4px;padding:18px 0;}
.capmix .edrow b{font-size:clamp(20px,2vw,26px);min-width:0;}
@media(max-width:900px){.caphero .chg,.capsplit,.capproof,.capmix{grid-template-columns:1fr;gap:36px;}.caphero .chimg{aspect-ratio:16/10;}}

/* ---- home v6 ---- */
.hero .sub{margin-top:26px;font-size:clamp(17px,1.6vw,21px);max-width:52ch;color:rgba(255,255,255,.88);}
/* polish: stronger scrim so showreel frames with type don't compete with the headline */
.hero .grad{background:linear-gradient(180deg,rgba(10,32,56,.62),rgba(10,32,56,.55) 40%,rgba(10,32,56,.97));}
.whofor .found{align-items:start;}
.whofor .found h2{font-size:clamp(28px,3.6vw,48px);}
.wcards{margin-top:56px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--lineW);}
.wcard{display:flex;flex-direction:column;padding:28px 26px 30px;border-right:1px solid var(--lineW);color:#fff;transition:background .2s;}
.wcard:last-child{border-right:0;}
.wcard .n{font-weight:800;font-size:13px;color:var(--orange);}
.wcard h3{margin-top:14px;font-weight:700;font-size:20px;line-height:1.2;}
.wcard p{margin-top:10px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.75);flex:1;}
.wcard .go{margin-top:20px;display:inline-flex;gap:9px;align-items:center;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);}
.wcard:hover{background:rgba(255,255,255,.05);}
@media(max-width:900px){.wcards{grid-template-columns:1fr 1fr;}.wcard:nth-child(2){border-right:0;}.wcard{border-bottom:1px solid var(--lineW);}}
@media(max-width:520px){.wcards{grid-template-columns:1fr;}.wcard{border-right:0;}}
.proof .huge{font-size:clamp(30px,4vw,56px);max-width:24ch;}
.proof .sg{margin-top:64px;padding-top:40px;border-top:1px solid var(--line);}
.proof .sg .st{border-left:1px solid var(--line);}
.proof .sg .st:first-child{border-left:0;}
.proof .sg .n{color:var(--navy);font-size:clamp(48px,5.6vw,84px);}
.proof .sg .l{color:var(--body);}
.standa{margin-top:28px;padding:22px 24px;background:var(--tint);}
.standa p{font-size:15px;line-height:1.65;color:var(--body);}
.standa a{display:inline-flex;gap:9px;align-items:center;margin-top:10px;font-weight:700;font-size:14px;color:var(--navy);}
/* polish: one-colour logo wall, colour returns on hover */
.mqslot img{filter:grayscale(1);opacity:.72;transition:filter .25s,opacity .25s;}
.mqslot:hover img{filter:none;opacity:1;}
@media(prefers-reduced-motion:reduce){.capproof .cpimg img{transition:none;}}
@media(max-width:760px){.proof .sg .st{border-left:0;padding-left:0;}}
/* polish: logos sit on white tiles when the clients band is tinted (jpg logos have white grounds) */
.st-tint .mqslot{background:#fff;margin-right:14px;}
/* polish: heading tiers. One display headline per page (the hero); section headings use tier 2 */
.huge.t2{font-size:clamp(30px,4vw,56px);max-width:26ch;}

/* ===== v10 (25 Sep 2026): v9 polish rolled out site-wide ===== */
/* heading tiers: every section heading is tier 2; page H1s and the closing CTA stay display size */
.huge{font-size:clamp(30px,4vw,56px);max-width:26ch;}
/* one emphasis colour: highlighted words in any page H1 are orange, never blue */
.ed-hero h1 span,body.edp .phero h1 span,.edhero-frame h1 span{color:var(--orange);}
/* one-colour logo walls everywhere (About), colour on hover */
.wall img{filter:grayscale(1);opacity:.72;transition:filter .25s,opacity .25s;}
.wall .c:hover img{filter:none;opacity:1;}
/* four-item grids sit 2x2, never 3+1 */
.capgrid:has(> :nth-child(4):last-child),.trio:has(> :nth-child(4):last-child){grid-template-columns:1fr 1fr;}
@media(max-width:560px){.capgrid:has(> :nth-child(4):last-child),.trio:has(> :nth-child(4):last-child){grid-template-columns:1fr;}}

/* ===== v11 (25 Sep 2026): one What We Do template, built from content/what-we-do.json ===== */
.steps3{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--navy);}
.steps3 .step{padding:26px 28px 28px 0;border-right:1px solid var(--line);margin-right:28px;}
.steps3 .step:last-child{border-right:0;margin-right:0;padding-right:0;}
.steps3 .pk{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);}
.steps3 h3{margin:10px 0 8px;font-weight:700;font-size:20px;line-height:1.25;color:var(--navy);}
.steps3 p{font-size:15px;line-height:1.65;color:var(--body);}
.steps3 .tags{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;}
.steps3 .tags a{font-size:12px;font-weight:600;color:var(--navy);border:1px solid var(--line);background:#fff;padding:5px 9px;}
.steps3 .tags a:hover{border-color:var(--orange);color:var(--orange);}
.softsec .fitfor{margin-top:30px;font-size:13px;font-weight:600;color:var(--body);}
.capproof.noimg{grid-template-columns:1fr;max-width:760px;}
.sitcards{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.sitcard{display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;color:var(--navy);}
.sitcard .si{aspect-ratio:16/10;overflow:hidden;background:var(--tint);}
.sitcard .si img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.sitcard:hover .si img{transform:scale(1.03);}
.sitcard .sb{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.sitcard h3{font-weight:700;font-size:21px;}
.sitcard .sp{margin-top:10px;font-size:15px;line-height:1.55;color:var(--navy);font-weight:500;}
.sitcard p{margin-top:10px;font-size:14.5px;line-height:1.6;color:var(--body);flex:1;}
.sitcard .go,.slimrow img{margin-top:18px;display:inline-flex;gap:9px;align-items:center;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);}
.sitcard:hover{border-color:var(--orange);}
.slimrow,.wslim{margin-top:24px;display:flex;align-items:center;gap:18px;padding:18px 22px;border:1px solid var(--line);background:#fff;color:var(--navy);}
.slimrow b,.wslim b{font-weight:700;font-size:17px;white-space:nowrap;}
.slimrow span,.wslim span{flex:1;font-size:15px;color:var(--body);}
.slimrow img{margin-top:0;}
.slimrow:hover,.wslim:hover{border-color:var(--orange);}
.whofor .wcards{grid-template-columns:repeat(3,1fr);}
.whofor .wslim{background:transparent;border-color:var(--lineW);color:#fff;}
.whofor .wslim span{color:rgba(255,255,255,.75);}
@media(max-width:900px){.steps3,.sitcards{grid-template-columns:1fr;}.steps3 .step{border-right:0;margin-right:0;padding-right:0;border-bottom:1px solid var(--line);}.whofor .wcards{grid-template-columns:1fr;}.whofor .wcard{border-right:0;}}
@media(max-width:560px){.slimrow,.wslim{flex-direction:column;align-items:flex-start;gap:6px;}.slimrow b,.wslim b{white-space:normal;}}

/* ===== v12 (25 Sep 2026): labels orange (one emphasis colour), facts row copes with a missing cell ===== */
.cs .lab h2,.csA .cs .lab h2,.csA .pair .lab,.csA .work .hd .lab{color:var(--orange);}
.csA .chead h1 span{color:var(--orange);}
.csA .chead .chip.axis{border-color:var(--orange);color:var(--orange);}
.tagpill{color:var(--orange);background:rgba(255,84,36,.09);}
.prose blockquote{border-left-color:var(--orange);}
.facts .row:has(> .c:nth-child(4):last-child){grid-template-columns:repeat(4,1fr);}
@media(max-width:860px){.facts .row:has(> .c:nth-child(4):last-child){grid-template-columns:1fr 1fr;}}
.capproof .cplogo{display:block;height:34px;width:auto;margin-top:14px;}

/* ===== v14 (28 Sep 2026): What We Do redesign (Claude Design handoff). Research → Strategy → Creative → Channels, Standa under all four ===== */
/* body copy on white and tint bands is navy; #8494A6 is for captions only */
.softsec .edlead,.caplist .ci p,.steps3 p,.sitcard p,.slimrow span,.capproof .edlead{color:var(--navy);}
/* mega-menu: plain title-case column headers, column 2 in sequence order */
.mega .ch{font-size:14px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--caption);}
.mega .mseq{display:flex;align-items:baseline;gap:12px;padding:8px 0;color:var(--navy);}
.mega .mseq i{font-style:normal;font-size:12px;font-weight:700;color:var(--orange);min-width:18px;}
.mega .mseq b{font-weight:600;font-size:15px;}
.mega a.mseq:hover b{color:var(--blue);}
.mega .mchan{display:flex;flex-direction:column;gap:9px;padding:4px 0 12px 30px;}
.mega .mchan a{font-size:14px;font-weight:600;color:var(--navy);}
.mega .mchan a:hover{color:var(--blue);}
.mega .mplat{display:block;margin-top:6px;padding-top:12px;border-top:1px solid var(--line);}
.mega .mplat b{display:block;font-weight:600;font-size:15px;color:var(--navy);}
.mega .mplat span{display:block;font-size:12.5px;color:var(--caption);margin-top:2px;}
.mega .mplat:hover b{color:var(--blue);}
/* hero placeholder (dashed box until the real image exists) */
.ph{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:14px;color:var(--caption);}
.caphero .chimg.ph{background:transparent;border:1px dashed var(--body);}
.capproof .cpimg.ph{display:flex;background:transparent;border:1px dashed var(--caption);}
/* links in the case study and "See all work" are orange, navy on hover */
.capproof .arrowlink,.softsec .head .arrowlink{color:var(--orange);}
.capproof .arrowlink:hover,.softsec .head .arrowlink:hover{color:var(--navy);}
/* proof bar: navy band under the situation hero */
.proofbar{background:var(--navy);color:#fff;padding:28px 0;}
.proofbar .pbg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px 40px;}
.proofbar b{display:block;font-weight:800;font-size:17px;}
.proofbar span{display:block;margin-top:4px;font-size:14px;line-height:1.45;color:var(--line);}
.proofbar + .softsec{border-top:0;}
/* intro list: numbered items in a two-column grid, each with its own rule */
.caplist{border-top:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:28px 32px;}
.caplist .ci{display:flex;flex-direction:column;gap:8px;padding:16px 0 0;border-top:2px solid var(--navy);border-bottom:0;}
.caplist .ci .n{font-size:13px;font-weight:700;padding-top:0;}
.caplist .ci h3{font-size:17px;font-weight:800;line-height:1.3;}
.caplist .ci p{margin-top:0;}
/* client logo row (Corporates) */
.logorow{margin-top:26px;display:flex;flex-wrap:wrap;gap:12px;}
.logorow span{width:108px;height:60px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:10px;background:#fff;}
.logorow img{max-width:100%;max-height:100%;object-fit:contain;}
/* gallery (Creative) */
.softsec.flush{border-top:0;padding-top:0;}
.capgal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;}
.capgal figure{margin:0;}
.capgal img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.capgal figcaption{margin-top:10px;font-size:14px;font-weight:600;color:var(--navy);}
/* situation steps: no rules, plain "Uses" links */
.steps3{border-top:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:32px 40px;}
.steps3 .step,.steps3 .step:last-child{padding:0;margin:0;border:0;}
.steps3 .pk{font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;}
.steps3 h3{font-size:19px;font-weight:800;line-height:1.3;}
.uses{margin-top:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;font-size:14px;color:var(--navy);}
.uses a{font-weight:600;color:var(--orange);text-decoration:underline;text-underline-offset:3px;}
.uses a:hover{color:var(--navy);}
/* case study kicker as a plain line */
.cpk{font-size:15px;font-weight:600;color:var(--navy);}
.cpk + .cph,.cpk + .cplogo{margin-top:12px;}
/* step bar at the foot of each capability page */
.stepbar{background:#fff;border-top:1px solid var(--line);padding:40px 0;color:var(--navy);}
.stepbar .sbg{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;}
.stepbar .sbt{flex:1;min-width:280px;}
.stepbar .sbt b{display:block;font-size:15px;font-weight:700;}
.stepbar .sbt p{margin-top:6px;font-size:16px;line-height:1.55;}
.stepbar .sbsib{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px 22px;}
.stepbar .sbsib a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--orange);}
.stepbar .sbsib a:hover{color:var(--navy);}
.btn.sbnext{background:var(--navy);color:#fff;padding:14px 24px;transition:background .15s;}
.btn.sbnext:hover{background:var(--orange);}
/* hub sequence: four columns, each with its own rule so wrapped rows line up */
.seqgrid{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px;}
.sqcol{display:flex;flex-direction:column;gap:12px;padding:24px 0 28px;border-top:2px solid var(--navy);}
.sqtop{display:flex;align-items:center;justify-content:space-between;}
.sqtop span{font-size:13px;font-weight:700;color:var(--orange);}
.sqtop img{height:12px;width:auto;}
.sqcol h3{font-size:22px;font-weight:800;line-height:1.2;color:var(--navy);}
.sqcol p{font-size:15px;line-height:1.55;color:var(--navy);flex:1;}
.sqlinks{display:flex;flex-direction:column;gap:6px;}
.sqlinks a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--orange);}
.sqlinks a:hover{color:var(--navy);}
@media(max-width:1000px){.seqgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.seqgrid{grid-template-columns:1fr;}}
.platbar{margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;background:var(--navy);color:#fff;padding:24px 28px;}
.platbar b{font-size:17px;font-weight:800;}
.platbar span{flex:1;min-width:260px;font-size:15px;line-height:1.5;color:var(--line);}
.platbar em{font-style:normal;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--orange);}
.platbar:hover{background:var(--ink);}
/* hub situation cards: problem line only, normal-case link */
.sitcard h3{font-weight:800;font-size:22px;}
.sitcard p{font-size:16px;line-height:1.5;margin-top:14px;}
.sitcard .go{font-size:15px;letter-spacing:0;text-transform:none;}
.slimrow b{font-weight:800;font-size:18px;}
/* hub recent work: image with caption underneath */
.recwork{margin-top:32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px;}
.rwcard{display:flex;flex-direction:column;color:var(--navy);}
.rwcard .ri{aspect-ratio:4/3;overflow:hidden;background:var(--tint);}
.rwcard .ri img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.rwcard:hover .ri img{transform:scale(1.03);}
.rwcard b{margin-top:12px;font-size:17px;font-weight:700;}
.rwcard span{font-size:14px;color:var(--caption);}
/* CTA is heading + button only */
.ctablk h2{max-width:20ch;}
@media(prefers-reduced-motion:reduce){.rwcard .ri img{transition:none;}}
.mega .promo .go{font-size:14px;letter-spacing:0;text-transform:none;}
/* ===================== v15 (30 Sep 2026): case study motion + uncropped ad creative ===================== */
/* Silent looping clips sit where images do. .fit shows the whole piece (ads with copy) on a panel instead of cropping it. */
.csA .herofig video{width:100%;height:clamp(320px,46vw,520px);object-fit:cover;display:block;}
.csA .work .feat video{width:100%;height:clamp(300px,40vw,480px);object-fit:cover;display:block;}
.csA .items video{width:100%;height:clamp(210px,22vw,280px);object-fit:cover;display:block;border:1px solid var(--line);}
.csA .pair video{width:100%;height:auto;display:block;border:1px solid var(--line);}
.csA .pair img,.csA .pair video{max-height:680px;object-fit:contain;background:var(--fitbg,#fff);}
.csA .fit img,.csA .fit video{object-fit:contain !important;transform:none !important;background:var(--fitbg,#eef1f5);}
.csA .herofig.fit img,.csA .herofig.fit video,.csA .work .feat.fit img,.csA .work .feat.fit video{padding:clamp(12px,2vw,28px);box-sizing:border-box;}
.csA .items figure.fit img,.csA .items figure.fit video{padding:10px;box-sizing:border-box;}
.csA mark.confirm{background:#fff1a8;color:var(--navy);padding:0 4px;font-weight:500;}

/* v17 (6 Oct 2026): mega-menu as a stand-alone panel, video heroes on What We Do pages, home Laser image + award */
.mega{background:transparent;box-shadow:none;pointer-events:none;}
.mega .inner{background:#fff;pointer-events:auto;box-shadow:0 24px 56px rgba(4,12,26,.45),0 2px 8px rgba(4,12,26,.18);outline:1px solid rgba(255,255,255,.12);}
.mega .promo{background:var(--navy);}
.caphero .chimg video{width:100%;height:100%;object-fit:cover;display:block;}
.v5duo{display:grid;grid-template-columns:3fr 1fr;gap:16px;}
.v5duo a{display:block;position:relative;overflow:hidden;}
.v5duo .main img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;}
.v5duo .award img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;display:block;transition:transform .5s;}
.v5duo .award:hover img{transform:scale(1.03);}
.v5duo .award .acap{position:absolute;left:0;right:0;bottom:0;padding:18px 20px 20px;background:linear-gradient(to top,rgba(14,26,44,.92),rgba(14,26,44,.70) 70%,rgba(14,26,44,0));color:#fff;}
.v5duo .award .acap span{display:block;font-size:12.5px;color:rgba(255,255,255,.78);}
.v5duo .award .acap b{display:block;margin-top:4px;font-size:clamp(15px,1.3vw,19px);font-weight:700;line-height:1.2;}
@media(max-width:700px){.v5duo{grid-template-columns:1fr;}.v5duo .award{aspect-ratio:4/3;}}
@media(prefers-reduced-motion:reduce){.v5duo .award img{transition:none;}}
.feat h2{color:var(--navy);}

/* v18 (7 Oct 2026 copy check): white text on the navy "who we work for" band; map origins in navy, not bright blue */
.whofor .found p,.whofor .wcard p,.whofor .wslim span{color:#fff;}
.netmap .dot.hub.origin{fill:var(--navy);}
.netmap .mapname.always{fill:var(--navy);}
.netmap .arc{stroke:rgba(36,51,74,.12);}
.mapside .maplink{margin-top:22px;color:var(--orange);}
.frow .fbtn.aw{margin-left:14px;}
@media(max-width:700px){.frow .fbtn.aw{margin-left:0;}}
.sitcard .si{aspect-ratio:4/3;}

/* v20 (8 Oct 2026): case study Selected work as a click-through carousel. site.js builds .wcar from .feat + .items */
.csA .wcar{width:calc(100% - 80px);max-width:calc(var(--maxw) - 80px);margin:0 auto;}
.csA .wtrack{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;outline:none;}
.csA .wtrack::-webkit-scrollbar{display:none;}
.csA .wslide{flex:0 0 100%;scroll-snap-align:start;height:clamp(280px,38vw,500px);background:var(--fitbg,#dfe6ed);border:1px solid var(--line);overflow:hidden;box-sizing:border-box;}
.csA .wslide img,.csA .wslide video{width:100%;height:100%;object-fit:cover;display:block;border:0;transform:none;}
.csA .wslide.fit img,.csA .wslide.fit video{object-fit:contain;padding:clamp(12px,2vw,28px);box-sizing:border-box;}
.csA .wbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px;min-height:48px;}
.csA .wcap b{display:block;font-weight:600;font-size:15px;color:var(--navy);}
.csA .wcap span{display:block;font-size:13px;color:var(--body);margin-top:2px;}
.csA .wnav{display:flex;align-items:center;gap:8px;flex:none;}
.csA .wcount{font-size:14px;font-weight:600;color:var(--navy);margin-right:10px;font-variant-numeric:tabular-nums;}
.csA .wbtn{width:48px;height:48px;padding:0;border:1.5px solid var(--navy);border-radius:0;background:transparent;color:var(--navy);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s;}
.csA .wbtn:hover{background:var(--navy);color:#fff;}
.csA .wbtn svg{width:20px;height:20px;}
.csA .wbtn.prev svg{transform:rotate(180deg);}
.csA .wbtn:focus-visible,.csA .wtrack:focus-visible{outline:2px solid var(--blue);outline-offset:3px;}
@media(max-width:760px){.csA .wcar{width:calc(100% - 40px);}.csA .wtrack{gap:10px;}.csA .wslide{flex-basis:88%;height:clamp(230px,72vw,420px);}}
@media(prefers-reduced-motion:reduce){.csA .wbtn{transition:none;}}

/* a hero shown whole (e.g. a website screenshot) rather than cropped to the band */
.csA .herofig.whole img{height:auto;object-fit:contain;transform:none;}
@media(max-width:900px){.csA .wpiece.plain.tall,.csA .wpiece.phone{flex-basis:calc((100% - var(--gx)) / 2);}}
@media(max-width:600px){.csA .wgal{width:calc(100% - 40px);}.csA .wpiece,.csA .wpiece.plain.tall,.csA .wpiece.wlead{flex-basis:100%;}.csA .wpiece.phone{flex-basis:calc((100% - var(--gx)) / 2);}.csA .wpiece.phone .wframe{border-radius:26px;padding:8px;}.csA .wpiece.phone .wscreen{border-radius:19px;}}

/* ===== v25: case studies v2 (12 Oct 2026), built by tools/build-cs.py =====
   .cs2-story = the client's work behind the headline (home page hero treatment) + brief / made / work / result.
   .cs2-short = headline, summary, fact line and the images. Both keep body.csA for the light page. */
.cs2 figure{margin:0;}
.cs2 .crumb{font-size:13px;color:var(--caption);}
.cs2 .crumb a{color:var(--orange);}
.cs2 .factline{display:flex;flex-wrap:wrap;gap:6px 28px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--body);}
.cs2 .factline b{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--caption);font-weight:700;margin-bottom:2px;}

/* story: hero */
.cs2-story header.site{position:absolute;top:0;left:0;right:0;background:transparent;}
.cs2-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:#fff;}
.cs2-hero .bg{position:absolute;inset:0;overflow:hidden;}
.cs2-hero .bg img,.cs2-hero .bg video{width:100%;height:100%;object-fit:cover;display:block;object-position:var(--pos,50% 50%);transform:scale(var(--z,1));transform-origin:var(--zo,50% 50%);}
.cs2-hero .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,32,56,.62),rgba(10,32,56,.5) 40%,rgba(10,32,56,.97));}
.cs2-hero .wrap{position:relative;width:100%;padding-top:150px;padding-bottom:72px;}
.cs2-hero .crumb{color:rgba(255,255,255,.7);}
.cs2-hero .crumb a{color:#fff;}
.cs2-hero h1{margin:18px 0 0;font-weight:800;font-size:clamp(40px,5.6vw,84px);line-height:.98;letter-spacing:-.03em;max-width:16ch;color:#fff;}
.cs2-hero .stand{margin:26px 0 0;font-size:clamp(17px,1.5vw,20px);line-height:1.55;max-width:56ch;color:rgba(255,255,255,.88);}
.cs2-hero .factline{border-top-color:rgba(255,255,255,.25);color:rgba(255,255,255,.88);max-width:900px;}
.cs2-hero .factline b{color:rgba(255,255,255,.6);}

/* story: body */
.cs2-text{padding:96px 0 40px;}
.cs2 .row3{display:grid;grid-template-columns:220px minmax(0,62ch);gap:24px 64px;padding:34px 0;border-top:1px solid var(--line);}
.cs2 .row3:first-child{border-top:0;padding-top:0;}
.cs2 .row3 h2{font-size:15px;font-weight:700;color:var(--navy);letter-spacing:0;margin:4px 0 0;}
.cs2 .row3 p{font-size:18px;line-height:1.6;color:var(--body);margin:0 0 14px;}
.cs2 .row3 p:last-child{margin-bottom:0;}
.cs2-work{padding:24px 0 80px;}
.cs2-results{background:var(--tint);padding:72px 0;}
.cs2-results h2{font-size:26px;font-weight:600;letter-spacing:-.01em;margin:0 0 26px;color:var(--navy);}
.cs2 .nums{max-width:900px;}
.cs2 .num{display:grid;grid-template-columns:260px 1fr;gap:8px 40px;padding:20px 0;border-top:1px solid var(--line);}
.cs2 .num:last-child{border-bottom:1px solid var(--line);}
.cs2 .num b{font-size:16px;font-weight:700;line-height:1.4;color:var(--navy);}
.cs2 .num span{font-size:21px;line-height:1.4;font-weight:500;letter-spacing:-.01em;color:var(--navy);}
.cs2-results .note{margin:36px 0 0;font-size:18px;line-height:1.6;color:var(--body);max-width:62ch;}

/* short */
.cs2-head{padding:72px 0 40px;}
.cs2-head .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px 72px;align-items:end;}
.cs2-head .wrap > *{min-width:0;}
.cs2-head h1{margin:14px 0 0;font-size:clamp(34px,4vw,54px);line-height:1.05;letter-spacing:-.025em;font-weight:600;color:var(--navy);max-width:17ch;}
.cs2-head .stand{font-size:18.5px;line-height:1.6;color:var(--navy);margin:0;}
.cs2-work.short{padding-top:0;}

@media(max-width:900px){
  .cs2-hero{min-height:80vh;}
  .cs2-hero .wrap{padding-top:120px;padding-bottom:48px;}
  .cs2-hero .grad{background:linear-gradient(180deg,rgba(10,32,56,.8),rgba(10,32,56,.72) 40%,rgba(10,32,56,.97));}
  .cs2-hero .bg img,.cs2-hero .bg video{object-position:var(--posm,var(--pos,50% 50%));transform:scale(var(--zm,var(--z,1)));transform-origin:var(--zom,var(--zo,50% 50%));}
  .cs2-head .wrap{grid-template-columns:1fr;}
  .cs2 .row3{grid-template-columns:1fr;gap:10px;}
  .cs2 .num{grid-template-columns:1fr;gap:4px;}
  .cs2-text{padding-top:64px;}
}

/* ===== v26: case study Previous / Next (12 Oct 2026), built by tools/build-cs.py ===== */
.cs2-nav{border-top:1px solid var(--line);background:#fff;}
.cs2-nav .wrap{display:grid;grid-template-columns:1fr 1fr;}
.cs2-nav a{display:flex;flex-direction:column;gap:8px;padding:44px 40px 48px 0;color:var(--navy);min-width:0;}
.cs2-nav a.next{align-items:flex-end;text-align:right;padding:44px 0 48px 40px;border-left:1px solid var(--line);}
.cs2-nav small{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--orange);}
.cs2-nav a.prev .ba{transform:scaleX(-1);}
.cs2-nav .ba{transition:transform .25s ease;}
.cs2-nav a.next:hover .ba{transform:translateX(4px);}
.cs2-nav a.prev:hover .ba{transform:scaleX(-1) translateX(4px);}
.cs2-nav b{font-size:clamp(22px,2.2vw,32px);line-height:1.1;font-weight:700;letter-spacing:-.02em;transition:color .2s;}
.cs2-nav a:hover b{color:var(--orange);}
.cs2-nav span{font-size:16px;line-height:1.45;color:var(--body);max-width:40ch;}
@media(max-width:700px){
  .cs2-nav a{padding:28px 16px 32px 0;}
  .cs2-nav a.next{padding:28px 0 32px 16px;}
  .cs2-nav b{font-size:19px;}
  .cs2-nav span{display:none;}
}

/* ===== v27: header stays pinned on pages where it floats over the hero (home, full case studies) (12 Oct 2026)
   Transparent over the hero at the top, navy once the page scrolls (site.js adds .scrolled). ===== */
body.home header.site,.cs2-story header.site{position:fixed;top:0;left:0;right:0;background:transparent;transition:background-color .25s ease,box-shadow .25s ease;}
body.home header.site.scrolled,.cs2-story header.site.scrolled{background:var(--ink);box-shadow:0 1px 0 rgba(255,255,255,.08);}

/* ===== v28: case study gallery re-think (13 Oct 2026) =====
   Every piece sits on a tint stage at its own shape. Width is capped by the stage, by the image's real
   pixel width (--nat, so nothing is stretched soft) and by a height cap (--mh x --ar, so square and
   portrait work stays a readable size). Optional device frames: laptop (websites), phone (vertical
   social video), tv (films). Built by src/components/cs/Gallery.astro. */
.cs2-row{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:24px;--mh:600px;}
.cs2-row:first-child{margin-top:0;}
.cs2-row.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);--mh:520px;}
.cs2-row.half{max-width:calc(50% - 12px);margin-left:auto;margin-right:auto;--mh:520px;}
.cs2 .gi{margin:0;display:flex;flex-direction:column;min-width:0;}
.cs2 .gi .stage{flex:1;background:var(--tint);padding:clamp(20px,4vw,56px);display:flex;align-items:center;justify-content:center;min-width:0;}
.cs2 .gi .box{width:min(100%,var(--nat),calc(var(--mh) * var(--ar)));}
.cs2 .gi .box img,.cs2 .gi .box video{display:block;width:100%;height:auto;box-shadow:0 10px 30px -12px rgba(10,32,56,.28);}
.cs2 .gi figcaption{margin-top:10px;font-size:13px;color:var(--caption);}
/* devices */
.cs2 .dev .device{width:100%;}
.cs2 .dev .scr{position:relative;overflow:hidden;background:#000;}
.cs2 .dev .scr img,.cs2 .dev .scr video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0;}
.cs2 .dev-laptop .device{max-width:min(100%,940px);margin:0 auto;}
.cs2 .dev-laptop .scr video{object-fit:contain;}
.cs2 .dev-laptop .scr{aspect-ratio:16/10;border:solid #16181d;border-width:14px 14px 16px;border-radius:16px 16px 0 0;}
.cs2 .dev-laptop .base{position:relative;height:16px;width:116%;margin-left:-8%;background:linear-gradient(#e4e6ea,#b4b8bf);border-radius:2px 2px 14px 14px;box-shadow:0 18px 30px -16px rgba(10,32,56,.45);}
.cs2 .dev-laptop .base::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:16%;height:6px;background:#a3a7ae;border-radius:0 0 8px 8px;}
.cs2 .dev-tv .device{max-width:min(100%,980px);margin:0 auto;}
.cs2 .dev-tv .scr{aspect-ratio:16/9;border:10px solid #111317;border-radius:8px;box-shadow:0 24px 40px -22px rgba(10,32,56,.55);}
.cs2 .dev-tv .stand{width:26%;height:34px;margin:0 auto;background:linear-gradient(#3a3d44,#1c1e22);clip-path:polygon(38% 0,62% 0,72% 70%,100% 80%,100% 100%,0 100%,0 80%,28% 70%);}
.cs2 .dev-phone .device{width:min(100%,calc(var(--mh) * var(--ar)),300px);margin:0 auto;}
.cs2 .dev-phone .scr{aspect-ratio:var(--ar);border:10px solid #16181d;border-radius:34px;box-shadow:0 24px 40px -20px rgba(10,32,56,.5);}
.cs2 .dev-phone .scr::after{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:28%;height:16px;background:#16181d;border-radius:10px;z-index:1;}
@media(max-width:900px){
  .cs2-row,.cs2-row.two{grid-template-columns:minmax(0,1fr);--mh:460px;}
  .cs2-row.half{max-width:none;}
  .cs2 .dev-laptop .scr{border-width:8px 8px 10px;border-radius:10px 10px 0 0;}
  .cs2 .dev-laptop .base{height:10px;width:108%;margin-left:-4%;}
}

/* ===== v29: brighter case studies (13 Oct 2026), after the orange pages on the old mighty.nz =====
   The body of every case study (short header, brief, what we made, the work) sits on Mighty orange with white
   type, and the work sits straight on the orange (no grey panels), the way the old site showed it.
   The navy hero and The result band stay as they were. Remove this block to go back to the white version. */
.cs2-head,.cs2-text,.cs2-work{background:var(--orange);color:#fff;}
.cs2-head h1,.cs2-head .stand{color:#fff;}
.cs2-head .crumb,.cs2-head .crumb a{color:rgba(255,255,255,.85);}
.cs2-head .factline,.cs2-text .factline{border-top-color:rgba(255,255,255,.35);color:#fff;}
.cs2-head .factline b{color:rgba(255,255,255,.75);}
.cs2-text .row3{border-top-color:rgba(255,255,255,.3);}
.cs2-text .row3 h2,.cs2-text .row3 p{color:#fff;}
.cs2-work{padding-bottom:96px;}
.cs2 .gi .stage{background:transparent;padding:0;align-items:flex-start;}
.cs2 .gi .box img,.cs2 .gi .box video{box-shadow:0 22px 44px -24px rgba(60,12,0,.55);}
.cs2 .gi figcaption{color:rgba(255,255,255,.88);font-size:13.5px;}
.cs2-row{margin-top:40px;gap:40px;}
.cs2-row.full{--mh:720px;}
.cs2-row.two{--mh:600px;}
@media(max-width:900px){ .cs2-row{margin-top:24px;gap:24px;} }
/* lighter hero wash on wide screens, so the work keeps its colour (darker only behind the headline, left) */
@media(min-width:901px){
  .cs2-hero .grad{background:linear-gradient(180deg,rgba(10,32,56,.5),rgba(10,32,56,0) 22%),linear-gradient(90deg,rgba(10,32,56,.86) 0%,rgba(10,32,56,.7) 40%,rgba(10,32,56,.15) 74%,rgba(10,32,56,0) 100%);}
}

/* ===== v30: service pages (14 Oct 2026), form "service" in case-study-pages.json (Service.astro) =====
   One service across several clients: the orange case study header, then a band per client alternating
   orange and ink, each with logo, name, what we did, label-then-value result rows and the work. */
.svc-client{background:var(--orange);color:#fff;padding:88px 0 96px;border-top:1px solid rgba(255,255,255,.25);}
.svc-client.alt{background:var(--ink);border-top:0;}
.svc-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px 72px;align-items:start;margin-bottom:52px;}
.svc-intro > *{min-width:0;}
.svc-logo{display:inline-flex;align-items:center;justify-content:center;background:#fff;padding:14px 20px;margin-bottom:24px;}
.svc-logo img{display:block;max-height:46px;max-width:190px;width:auto;height:auto;}
.svc-id h2{font-size:clamp(28px,3vw,42px);line-height:1.05;letter-spacing:-.02em;font-weight:700;margin:0;color:#fff;}
.svc-what{margin:12px 0 0;font-size:15px;line-height:1.5;color:rgba(255,255,255,.82);max-width:34ch;}
.svc-copy p{font-size:18px;line-height:1.6;margin:0 0 14px;color:#fff;max-width:62ch;}
.svc-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px;max-width:62ch;margin:26px 0 4px;padding-top:20px;border-top:1px solid rgba(255,255,255,.35);}
.svc-nums span{display:block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:rgba(255,255,255,.75);}
.svc-nums b{display:block;margin-top:6px;font-size:19px;line-height:1.35;font-weight:600;color:#fff;}
.svc-more{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-weight:700;font-size:15px;color:#fff;border-bottom:2px solid rgba(255,255,255,.45);padding-bottom:4px;}
.svc-more:hover{border-color:#fff;}
.svc-client.alt .gi .box img,.svc-client.alt .gi .box video{box-shadow:0 22px 44px -24px rgba(0,0,0,.75);}
.svc-client .cs2-row:first-of-type{margin-top:0;}
@media(max-width:900px){
  .svc-client{padding:56px 0 64px;}
  .svc-intro{grid-template-columns:1fr;margin-bottom:32px;}
}

/* v31 (15 Oct 2026) go-live mobile fixes */
/* stats: the right padding stayed on phones and squeezed "160+" against the edge */
@media(max-width:760px){.sg .st{padding-right:0;}}
/* footer partner badges wrap instead of running off a small phone */
footer .partners{flex-wrap:wrap;}
@media(max-width:420px){footer .partners{gap:20px;}footer .partners span{height:34px;}footer .partners span:nth-child(2){height:44px;}}
/* About: founding clients row (was three fixed columns, the third ran off the screen on phones) */
.founders{margin-top:48px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--lineW);}
.founders > div{padding:26px 30px 0;}
.founders > div:first-child{padding-left:0;}
.founders > div:last-child{padding-right:0;}
.founders > div + div{border-left:1px solid var(--lineW);}
.founders b{font-weight:700;font-size:22px;}
.founders span{display:block;margin-top:6px;color:rgba(255,255,255,.72);}
@media(max-width:760px){.founders{grid-template-columns:1fr;}.founders > div{padding:22px 0;}.founders > div + div{border-left:0;border-top:1px solid var(--lineW);}}
/* bigger touch area on phones for small text links, without moving anything */
@media(max-width:860px){.crumb a,.arrowlink,.backlink,.svc-more{padding-top:10px;padding-bottom:10px;margin-top:-10px;margin-bottom:-10px;}.crumb a{display:inline-block;}}
/* careers: job card lists, two columns on desktop, stacked on phones */
.jobcols{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;gap:44px;}
@media(max-width:760px){.jobcols{grid-template-columns:1fr;gap:24px;}}
/* a case study tile image in the Featured case study block keeps the 4:3 crop it has on Related work */
.capproof .cpimg.tile{aspect-ratio:4/3;}
