:root { --orange:#ee5a24; --amber:#f5a11a; --ink:#0b0d0d; --ink-soft:#171a19; --paper:#f1eee7; --paper-deep:#e4dfd5; --white:#fff; --grey:#a9ada9; --line:rgba(11,13,13,.16); --page:1440px; --ease:cubic-bezier(.22,1,.36,1); --scroll-progress:0; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; overflow-x:clip; color:var(--ink); background:var(--paper); font-family:"Assistant",Arial,sans-serif; font-size:17px; line-height:1.5; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
button { color:inherit; }
.ui-arrow { width:1em; height:1em; display:inline-block; flex:0 0 auto; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.75; stroke-linecap:square; stroke-linejoin:miter; vertical-align:-.08em; }
.ui-arrow path { vector-effect:non-scaling-stroke; }
:focus-visible { outline:3px solid var(--amber); outline-offset:4px; }
.page-width { width:min(calc(100% - 96px),var(--page)); margin-inline:auto; }
.section-space { padding:clamp(92px,10vw,170px) 0; }
.light-surface { background:var(--paper); }
.dark-surface { color:var(--white); background:var(--ink); }
.skip-link { position:fixed; z-index:1000; top:12px; left:12px; padding:12px 16px; color:#fff; background:#111; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.scroll-progress { position:fixed; z-index:500; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--amber),var(--orange)); transform:scaleX(var(--scroll-progress)); transform-origin:left; will-change:transform; }
.power-rail { position:fixed; z-index:88; top:50%; right:18px; width:24px; height:270px; display:flex; flex-direction:column; align-items:center; gap:12px; color:#fff; transform:translateY(-50%); pointer-events:none; mix-blend-mode:difference; }
.power-rail-track { position:relative; width:1px; height:170px; display:block; background:rgba(255,255,255,.28); }
.power-rail-fill { position:absolute; inset:0; display:block; background:#fff; transform:scaleY(var(--scroll-progress)); transform-origin:top; }
.power-rail-current { position:absolute; top:var(--rail-position,0%); left:50%; width:7px; height:18px; display:block; border-radius:999px; background:#fff; box-shadow:0 0 12px #fff,0 0 24px var(--orange); transform:translate(-50%,-50%); }
.power-rail-number { color:#fff; font-family:"Barlow Condensed",sans-serif; font-size:18px; font-weight:800; line-height:1; }
.power-rail-label { color:#fff; font-size:8px; font-weight:800; letter-spacing:.16em; line-height:1; text-transform:uppercase; white-space:nowrap; writing-mode:vertical-rl; }
.section-marker { display:flex; align-items:center; gap:14px; margin-bottom:50px; color:#343735; font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.section-marker span { color:var(--orange); }
.section-marker::after { content:""; width:54px; height:2px; background:currentColor; opacity:.35; transform:scaleX(0); transform-origin:left; transition:transform .8s var(--ease) .18s; }
.section-marker.light { color:#d6d8d6; }
.reveal.visible .section-marker::after,.reveal.section-marker.visible::after { transform:scaleX(1); }
.js .reveal { opacity:0; transform:translateY(20px); transition:opacity .58s var(--ease),transform .58s var(--ease); }
.js .reveal.visible { opacity:1; transform:none; }
.js [data-stagger]>* { opacity:0; transform:translateY(18px); transition:opacity .52s var(--ease),transform .52s var(--ease); transition-delay:var(--stagger-delay,0ms); }
.js [data-stagger].visible>*,.js .visible [data-stagger]>* { opacity:1; transform:none; }
.media-reveal { position:relative; isolation:isolate; overflow:hidden; }
.media-reveal::after { display:none; }
.js .media-reveal.reveal { opacity:.8; transform:none; transition:opacity .34s ease,transform .48s var(--ease); }
.js .media-reveal.reveal.visible { opacity:1; transform:none; }
.js .media-focus img { filter:saturate(.62) contrast(.96); transition:filter .46s ease,transform 1s var(--ease); }
.js .media-focus.visible img { filter:none; }
.js .media-rise.reveal { opacity:.86; transform:translateY(16px); }
.js .media-rise.reveal.visible { opacity:1; transform:none; }
.js .media-dissolve.reveal { opacity:.68; transform:none; transition-duration:.32s; }
.js .media-dissolve.reveal.visible { opacity:1; }

.site-header { position:absolute; z-index:100; inset:0 0 auto; color:#fff; transition:background .25s ease,box-shadow .25s ease,transform .25s ease; }
.site-header.scrolled { position:fixed; background:rgba(11,13,13,.94); box-shadow:0 12px 40px rgba(0,0,0,.22); backdrop-filter:blur(14px); }
.header-inner { width:min(calc(100% - 48px),var(--page)); min-height:96px; margin:auto; display:grid; grid-template-columns:225px 1fr auto; gap:36px; align-items:center; border-bottom:1px solid rgba(255,255,255,.22); }
.site-header.scrolled .header-inner { min-height:78px; border-color:transparent; }
.logo-link { width:200px; display:block; background:transparent; transition:width .25s var(--ease),transform .25s var(--ease); }
.logo-link img { width:100%; height:auto; transition:filter .25s ease; }
.menu-open .logo-link img { filter:brightness(0); }
.logo-link:hover { transform:translateY(-2px); }
.site-header.scrolled .logo-link { width:172px; }
.desktop-nav { display:flex; justify-content:flex-end; align-items:center; gap:clamp(19px,2.2vw,40px); }
.desktop-nav a { position:relative; padding:12px 0; color:#fff; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.desktop-nav a::after { content:""; position:absolute; inset:auto 100% 5px 0; height:2px; background:var(--orange); transition:inset .2s ease; }
.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after { right:0; }
.desktop-nav a[aria-current="page"]::after { right:0; }
.phone-link { min-height:48px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; gap:34px; color:var(--ink); background:var(--orange); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; transition:background .2s ease,transform .2s ease; }
.phone-link .ui-arrow,.hero-cta .ui-arrow,.solid-link .ui-arrow { width:18px; height:18px; }
.phone-link:hover,.phone-link:focus-visible { background:var(--amber); transform:translateY(-2px); }
.menu-toggle { display:none; }
.mobile-nav { display:none; }

.hero { position:relative; min-height:clamp(780px,82vh,860px); padding-top:96px; display:flex; align-items:stretch; overflow:hidden; color:#fff; background:#111 url("/assets/home-hero.jpg") center/cover no-repeat; }
.hero-video { position:absolute; top:-12px; left:0; width:100%; height:calc(100% + 24px); object-fit:cover; opacity:0; transform:translate3d(0,var(--hero-shift,0),0); transition:opacity .8s ease; will-change:transform; }
.hero.video-ready .hero-video { opacity:1; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,8,8,.94) 0,rgba(6,8,8,.78) 45%,rgba(6,8,8,.24) 78%),linear-gradient(0deg,rgba(6,8,8,.72),transparent 55%); }
.hero::after { content:""; position:absolute; z-index:1; inset:0; background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.055) 25%); pointer-events:none; }
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1fr) 235px; gap:70px; align-items:center; padding:82px 0 125px; }
.hero-content .eyebrow { margin:0 0 42px; display:flex; align-items:center; gap:16px; color:#e3e4e1; font-size:12px; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.hero-content .eyebrow::before { content:""; width:60px; height:3px; background:var(--orange); }
.hero h1,.manifesto h2,.sector-heading h2,.work-copy h2,.ownership-copy h2,.testimonial-intro h2,.social-copy h2,.accreditation-heading h2,.careers-copy h2 { margin:0; font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-weight:800; letter-spacing:-.035em; line-height:.9; text-transform:uppercase; }
.hero h1 { max-width:1030px; font-size:clamp(78px,8.6vw,138px); line-height:.83; letter-spacing:-.05em; }
.hero-line { display:block; overflow:hidden; }
.hero-line>span { display:block; }
.hero-line-accent { color:var(--orange); }
.hero-bottomline { max-width:970px; margin-top:52px; padding-top:28px; display:grid; grid-template-columns:1fr auto; gap:54px; align-items:center; border-top:1px solid rgba(255,255,255,.25); }
.hero-bottomline p { max-width:670px; margin:0; color:#d5d7d4; font-size:19px; }
.hero-cta,.solid-link { min-height:62px; padding:0 22px; display:inline-flex; align-items:center; justify-content:space-between; gap:42px; color:var(--ink); background:var(--orange); font-size:11px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; transition:transform .2s ease,background .2s ease; }
.hero-cta:hover,.hero-cta:focus-visible,.solid-link:hover,.solid-link:focus-visible { transform:translateY(-4px); background:var(--amber); }
.hero-index { min-height:390px; padding-left:28px; display:grid; align-content:center; border-left:1px solid rgba(255,255,255,.24); }
.hero-index a { padding:23px 0; display:grid; grid-template-columns:38px 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.16); }
.hero-index span { color:var(--orange); font-size:10px; letter-spacing:.15em; }
.hero-index strong { font-family:"Barlow Condensed",sans-serif; font-size:22px; letter-spacing:.03em; text-transform:uppercase; }
.hero-index a:hover strong { color:var(--orange); }
.hero-video-toggle { position:absolute; z-index:5; right:max(48px,calc((100vw - var(--page))/2)); bottom:88px; min-height:38px; padding:0 13px; display:flex; align-items:center; gap:9px; border:1px solid rgba(255,255,255,.5); color:#fff; background:rgba(5,7,7,.38); backdrop-filter:blur(10px); cursor:pointer; font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.hero-video-toggle[hidden] { display:none; }
.video-toggle-icon { width:12px; font-size:11px; letter-spacing:-.16em; }
.hero-video-toggle[aria-pressed="true"] .video-toggle-icon { letter-spacing:0; }
.hero-ticker { position:absolute; z-index:3; inset:auto 0 0; min-height:66px; overflow:hidden; color:#111; background:var(--paper); }
.ticker-track { width:max-content; min-height:66px; display:flex; align-items:center; animation:ticker-current 28s linear infinite; }
.ticker-track span { width:25vw; min-width:280px; padding-left:17px; border-left:3px solid var(--orange); font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
@keyframes ticker-current { to { transform:translateX(-50%); } }

.js .hero-content .eyebrow,.js .hero-bottomline,.js .hero-index a,.js .hero-video-toggle { opacity:0; transform:translateY(18px); }
.js .hero-line>span { transform:translateY(112%); }
.js.is-ready .hero-content .eyebrow,.js.is-ready .hero-bottomline,.js.is-ready .hero-index a,.js.is-ready .hero-video-toggle { opacity:1; transform:none; transition:opacity .4s var(--ease),transform .4s var(--ease); }
.js.is-ready .hero-content .eyebrow { transition-delay:.03s; }
.js.is-ready .hero-line>span { transform:none; transition:transform 1s var(--ease); }
.js.is-ready .hero-line:nth-child(1)>span { transition-delay:.14s; }
.js.is-ready .hero-line:nth-child(2)>span { transition-delay:.24s; }
.js.is-ready .hero-bottomline { transition-delay:.14s; }
.js.is-ready .hero-index a:nth-child(1) { transition-delay:.18s; }
.js.is-ready .hero-index a:nth-child(2) { transition-delay:.22s; }
.js.is-ready .hero-index a:nth-child(3) { transition-delay:.26s; }
.js.is-ready .hero-video-toggle { transition-delay:.28s; }

.manifesto-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(70px,9vw,150px); align-items:start; }
.manifesto h2 { max-width:860px; font-size:clamp(62px,7.4vw,112px); color:var(--ink); }
.manifesto h2 em,.sector-heading h2 em,.ownership-copy h2 em,.accreditation-heading h2 em { color:var(--orange); font-style:normal; }
.manifesto-copy { padding-top:12px; }
.manifesto-copy p { margin:0 0 24px; color:#3f4240; font-size:20px; line-height:1.65; }
.text-link { margin-top:20px; padding-bottom:8px; display:inline-flex; gap:24px; border-bottom:1px solid currentColor; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.text-link .ui-arrow { width:15px; height:15px; color:var(--orange); }

.sectors { padding:clamp(100px,10vw,165px) 0 0; }
.sector-heading { margin-bottom:90px; display:flex; align-items:end; justify-content:space-between; gap:80px; }
.sector-heading h2 { font-size:clamp(66px,7vw,108px); }
.sector-heading>p { max-width:420px; margin:0 0 10px; color:#b8bbb7; font-size:19px; }
.sector-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.sector-card { --sector-image:none; position:relative; min-height:690px; padding:32px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; color:#fff; background:#222; border-right:1px solid rgba(255,255,255,.18); }
.sector-card::before { content:""; position:absolute; inset:0; background:var(--sector-image) center/cover no-repeat; transition:transform .85s var(--ease); }
.sector-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.9)); transition:background .5s ease; }
.sector-card:hover::before,.sector-card:focus-visible::before { transform:scale(1.045); }
.sector-card:hover::after,.sector-card:focus-visible::after { background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.84)); }
.sector-number { position:relative; z-index:1; color:#fff; font-size:11px; letter-spacing:.16em; }
.sector-content { position:relative; z-index:1; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; }
.sector-content p { grid-column:1/-1; margin:0 0 16px; color:#d9dad7; font-size:14px; }
.sector-content h3 { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(58px,6vw,96px); line-height:.9; text-transform:uppercase; }
.sector-arrow { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.55); font-size:22px; transition:color .2s ease,background .2s ease,transform .2s ease; }
.sector-arrow .ui-arrow { width:21px; height:21px; }
.sector-card:hover .sector-arrow,.sector-card:focus-visible .sector-arrow { color:var(--ink); background:var(--orange); border-color:var(--orange); transform:translate(4px,-4px); }

.proof-band { display:grid; grid-template-columns:repeat(4,1fr); color:#111; background:var(--orange); }
.proof-item { min-height:190px; padding:34px; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(0,0,0,.18); }
.proof-item strong { font-family:"Barlow Condensed",sans-serif; font-size:72px; line-height:.9; }
.proof-item span { margin-top:12px; max-width:180px; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }

.work-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(60px,8vw,135px); align-items:center; }
.work-image { position:relative; min-height:680px; overflow:hidden; background:#ddd; }
.work-image::before { content:""; position:absolute; z-index:2; inset:0; box-shadow:inset 0 0 0 1px rgba(0,0,0,.1); pointer-events:none; }
.work-image img { width:100%; height:680px; object-fit:cover; transition:transform 1s var(--ease); }
.work-grid:hover .work-image img { transform:scale(1.018); }
.image-tag { position:absolute; z-index:3; inset:auto 0 0 auto; min-width:230px; padding:22px 26px; color:var(--ink); background:var(--orange); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.work-copy .kicker { margin:0 0 26px; color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.work-copy h2 { font-size:clamp(60px,6vw,92px); }
.work-copy>p { margin:30px 0; color:#454845; font-size:19px; line-height:1.65; }
.work-copy ul { margin:0 0 38px; padding:0; list-style:none; }
.work-copy li { padding:17px 0; display:flex; gap:24px; border-top:1px solid var(--line); font-weight:700; }
.work-copy li span { color:var(--orange); font-size:11px; }
.solid-link { color:#fff; background:var(--ink); }

.ownership-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(70px,9vw,150px); align-items:center; }
.ownership-visual { position:relative; min-height:720px; overflow:hidden; }
.ownership-visual img { width:100%; height:720px; object-fit:cover; object-position:top; }
.ownership-label { position:absolute; inset:auto 0 0; padding:20px 24px; display:flex; flex-direction:column; color:#111; background:var(--orange); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ownership-label span { font-family:"Barlow Condensed",sans-serif; font-size:30px; letter-spacing:0; }
.ownership-copy h2 { max-width:760px; font-size:clamp(68px,7vw,108px); }
.ownership-copy>p { max-width:680px; margin:34px 0; color:#b9bcb8; font-size:19px; line-height:1.65; }
.ownership-copy blockquote { margin:42px 0; padding:30px 0 30px 30px; border-left:3px solid var(--orange); color:#fff; font-family:"Barlow Condensed",sans-serif; font-size:30px; font-weight:600; line-height:1.2; }
.light-link { color:#fff; }

.testimonial-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(70px,9vw,150px); }
.testimonial-layout>*,.social-grid>*,.work-grid>*,.ownership-grid>* { min-width:0; }
.testimonial-intro h2 { font-size:clamp(60px,6vw,92px); }
.stars { width:170px; margin-top:34px; }
.testimonial-stage { position:relative; min-height:420px; padding:50px 60px 34px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--line); background:#f8f5ef; }
.testimonial-stage-measure { position:fixed!important; top:0!important; left:-200vw!important; width:var(--testimonial-measure-width)!important; height:auto!important; min-height:0!important; visibility:hidden!important; pointer-events:none!important; transition:none!important; }
.quote-mark { position:absolute; top:-44px; right:25px; color:var(--orange); font-family:Georgia,serif; font-size:150px; line-height:1; }
.testimonial-card { position:relative; z-index:1; margin:0; }
.testimonial-card>p { margin:0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(34px,3.2vw,52px); font-weight:600; line-height:1.14; }
.testimonial-card footer { margin-top:32px; display:flex; flex-direction:column; color:var(--orange); font-size:12px; letter-spacing:.1em; text-transform:uppercase; }
.testimonial-controls { display:grid; grid-template-columns:46px 1fr 46px; align-items:center; gap:20px; }
.slider-arrow,.video-arrow { min-height:44px; border:1px solid var(--line); background:transparent; cursor:pointer; transition:color .2s ease,background .2s ease; }
.slider-arrow:hover,.slider-arrow:focus-visible { color:#fff; background:var(--orange); border-color:var(--orange); }
.slider-dots { display:flex; justify-content:center; gap:0; }
.slider-dots button { position:relative; width:40px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; }
.slider-dots button::after { content:""; position:absolute; top:50%; left:50%; width:6px; height:6px; border-radius:50%; background:#b9bbb8; transform:translate(-50%,-50%); transition:background .2s ease,transform .2s ease; }
.slider-dots button.active::after { background:var(--orange); transform:translate(-50%,-50%) scale(1.45); }
.testimonial-card { transition:opacity .18s ease,transform .18s var(--ease); }
.testimonial-card.is-changing { opacity:0; transform:translateY(10px); }

.social-stream { color:#fff; background:#b94018; }
.social-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(60px,8vw,120px); align-items:center; }
.social-copy h2 { font-size:clamp(58px,6vw,92px); }
.social-copy>p { max-width:550px; margin:28px 0; font-size:19px; }
.youtube-count { display:inline-flex; align-items:center; gap:18px; padding:13px 17px; color:#111; background:#fff; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.youtube-count span { padding:3px 7px; color:#fff; background:#111; }
.video-slider { display:grid; grid-template-columns:48px 1fr 48px; gap:16px; align-items:center; }
.video-arrow { color:#fff; border-color:rgba(255,255,255,.5); }
.video-card { position:relative; aspect-ratio:16/10; overflow:hidden; background:#111; box-shadow:20px 20px 0 rgba(0,0,0,.14); }
.video-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.video-card:hover img,.video-card:focus-visible img { transform:scale(1.04); }
.play-button { position:absolute; inset:50% auto auto 50%; width:78px; height:78px; display:grid; place-items:center; border:2px solid #fff; border-radius:50%; background:rgba(0,0,0,.25); transform:translate(-50%,-50%); }

.accreditation-heading { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; align-items:end; }
.accreditation-heading h2 { max-width:900px; font-size:clamp(62px,6.5vw,100px); }
.accreditation-heading>p { margin:0 0 10px; color:#4d504d; font-size:19px; }
.accreditation-grid { margin-top:80px; display:grid; grid-template-columns:repeat(7,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.accreditation-grid img { width:100%; height:170px; padding:32px; object-fit:contain; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); filter:grayscale(1); transition:filter .25s ease,background .25s ease; }
.accreditation-grid img:hover { filter:none; background:#fff; }

.careers-callout { min-height:640px; display:grid; grid-template-columns:1.25fr .75fr; color:#fff; background:var(--ink-soft); }
.careers-image { position:relative; min-width:0; min-height:640px; margin:0; overflow:hidden; background:#111313; }
.careers-image img { width:100%; height:100%; min-height:640px; object-fit:contain; object-position:center; }
.careers-copy { padding:clamp(56px,5vw,90px); align-self:center; }
.careers-copy h2 { max-width:680px; font-size:clamp(62px,6vw,92px); }
.careers-copy>p { max-width:580px; margin:30px 0 38px; color:#c4c7c3; font-size:19px; }
.contact-callout { position:relative; padding:100px 0; overflow:hidden; isolation:isolate; }
.contact-callout .page-width { position:relative; z-index:2; display:grid; grid-template-columns:1fr auto; align-items:end; gap:40px; }
.contact-callout p { grid-column:1/-1; margin:0 0 18px; color:var(--orange); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.contact-callout a { display:inline-flex; align-items:flex-start; gap:clamp(14px,1.5vw,26px); font-family:"Barlow Condensed",sans-serif; font-size:clamp(70px,9vw,142px); font-weight:800; line-height:.84; letter-spacing:-.04em; text-transform:uppercase; }
.contact-callout a .ui-arrow { width:.34em; height:.34em; margin-top:.06em; color:var(--orange); stroke-width:1.5; }
.contact-meta { padding-bottom:4px; display:flex; flex-direction:column; color:#aeb1ad; font-size:14px; text-align:right; }

.site-footer { padding:90px 0 26px; color:#fff; background:#050606; border-top:1px solid rgba(255,255,255,.12); }
.footer-grid { display:grid; grid-template-columns:1.3fr .75fr .75fr 1fr; gap:70px; }
.footer-company img { width:190px; height:auto; }
.footer-company p { margin:34px 0 0; font-family:"Barlow Condensed",sans-serif; font-size:30px; font-weight:700; line-height:1; text-transform:uppercase; }
.footer-links,.footer-legal,.footer-contact { display:flex; flex-direction:column; align-items:flex-start; }
.footer-grid p { margin:0 0 22px; color:var(--orange); font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.footer-links a,.footer-legal a,.footer-contact a,.footer-contact address { color:#c2c5c1; font-size:14px; line-height:1.85; font-style:normal; }
.footer-links a:hover,.footer-legal a:hover,.footer-contact a:hover { color:#fff; }
.footer-links a[aria-current="page"],.footer-legal a[aria-current="page"] { color:#fff; text-decoration:underline; text-decoration-color:var(--orange); text-underline-offset:5px; }
.footer-contact address { margin-bottom:20px; }
.footer-bottom { margin-top:74px; padding-top:22px; display:grid; grid-template-columns:1fr 1fr auto; gap:30px; color:#777b78; border-top:1px solid rgba(255,255,255,.12); font-size:11px; }
.footer-bottom div { display:flex; gap:22px; }
.footer-bottom a:hover { color:#fff; }

.cookie-banner { position:fixed; z-index:300; inset:auto 20px 20px; max-width:640px; padding:18px 20px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:18px; color:#fff; background:#171918; box-shadow:0 14px 50px rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.17); }
.cookie-banner[hidden] { display:none; }
.cookie-banner p { margin:0; font-size:13px; }
.cookie-banner div { display:flex; gap:8px; }
.cookie-banner button { min-width:72px; padding:9px 13px; border:1px solid rgba(255,255,255,.5); color:#fff; background:transparent; cursor:pointer; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.cookie-banner button:last-child { border-color:var(--orange); color:var(--ink); background:var(--orange); }

.button { min-height:48px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; border:0; color:#fff; background:var(--ink); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.orange-button { color:var(--ink); background:var(--orange); }
.section-kicker,.kicker { color:var(--orange); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }

@media (max-width:1180px) {
  .power-rail { display:none; }
  .page-width { width:min(calc(100% - 56px),var(--page)); }
  .header-inner { width:calc(100% - 32px); grid-template-columns:180px 1fr auto; gap:20px; }
  .logo-link { width:166px; }
  .desktop-nav { gap:18px; }
  .desktop-nav a { font-size:10px; }
  .hero-grid { grid-template-columns:minmax(0,1fr) 185px; }
  .accreditation-grid { grid-template-columns:repeat(4,1fr); }
  .footer-grid { gap:40px; }
}

@media (max-width:900px) {
  .page-width { width:calc(100% - 42px); }
  .section-space { padding:90px 0; }
  .site-header { position:absolute; }
  .site-header.scrolled { position:fixed; }
  .header-inner { position:relative; z-index:2; min-height:82px; grid-template-columns:1fr auto auto; }
  .logo-link { width:148px; }
  .desktop-nav { display:none; }
  .phone-link { min-height:42px; gap:16px; }
  .menu-toggle { width:44px; height:44px; padding:10px; display:grid; align-content:center; gap:6px; border:1px solid rgba(255,255,255,.55); background:transparent; cursor:pointer; }
  .menu-toggle span { display:block; height:2px; background:#fff; transition:transform .2s ease,opacity .2s ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
  .mobile-nav { position:fixed; z-index:1; inset:0; padding:110px 28px 28px; flex-direction:column; justify-content:center; color:#fff; background:var(--orange); }
  .mobile-nav.open { display:flex; }
  .mobile-nav>a,.mobile-nav-group>a { padding:8px 0; display:grid; grid-template-columns:40px 1fr; align-items:center; font-family:"Barlow Condensed",sans-serif; font-size:48px; font-weight:800; line-height:1; text-transform:uppercase; }
  .mobile-nav>a span,.mobile-nav-group>a span { color:#111; font-family:"Assistant",sans-serif; font-size:10px; }
  .hero { min-height:830px; padding-top:82px; }
  .hero-grid { grid-template-columns:1fr; padding:78px 0 120px; }
  .hero-index { display:none; }
  .hero h1 { font-size:clamp(65px,13vw,108px); }
  .manifesto-grid,.work-grid,.ownership-grid,.testimonial-layout,.social-grid,.accreditation-heading { grid-template-columns:1fr; gap:52px; }
  .manifesto h2,.sector-heading h2,.work-copy h2,.ownership-copy h2,.testimonial-intro h2,.social-copy h2,.accreditation-heading h2 { font-size:72px; }
  .sector-heading { align-items:start; flex-direction:column; gap:30px; }
  .sector-grid { grid-template-columns:1fr; }
  .sector-card { min-height:520px; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .proof-band { grid-template-columns:1fr 1fr; }
  .work-image,.work-image img,.ownership-visual,.ownership-visual img { min-height:560px; height:560px; }
  .testimonial-stage { min-height:390px; }
  .accreditation-grid { grid-template-columns:repeat(3,1fr); }
  .careers-callout { grid-template-columns:1fr; }
  .careers-image,.careers-image img { min-height:500px; }
  .contact-callout .page-width { grid-template-columns:1fr; }
  .contact-meta { text-align:left; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:54px; }
}

@media (max-width:560px) {
  .page-width { width:calc(100% - 34px); }
  .section-space { padding:74px 0; }
  .header-inner { min-height:72px; width:calc(100% - 24px); grid-template-columns:1fr auto auto; gap:10px; }
  .logo-link { width:110px; }
  .site-header.scrolled .logo-link { width:110px; }
  .phone-link { min-height:38px; padding:0 11px; font-size:9px; }
  .phone-link .ui-arrow { display:none; }
  .menu-toggle { width:39px; height:39px; padding:9px; }
  .hero { min-height:770px; padding-top:72px; }
  .hero::after { display:none; }
  .hero-shade { background:linear-gradient(90deg,rgba(6,8,8,.86),rgba(6,8,8,.35)),linear-gradient(0deg,rgba(6,8,8,.84),transparent 60%); }
  .hero-grid { padding:58px 0 110px; }
  .hero-content .eyebrow { margin-bottom:30px; font-size:9px; }
  .hero-content .eyebrow::before { width:34px; }
  .hero h1 { font-size:58px; line-height:.87; }
  .hero-bottomline { grid-template-columns:1fr; gap:26px; margin-top:34px; }
  .hero-bottomline p { font-size:16px; }
  .hero-cta { width:100%; }
  .hero-ticker,.ticker-track { min-height:62px; }
  .ticker-track span { width:58vw; min-width:220px; }
  .hero-video-toggle { right:17px; bottom:78px; }
  .section-marker { margin-bottom:34px; }
  .manifesto-grid { gap:34px; }
  .manifesto h2,.sector-heading h2,.work-copy h2,.ownership-copy h2,.testimonial-intro h2,.social-copy h2,.accreditation-heading h2,.careers-copy h2 { font-size:58px; }
  .manifesto-copy p,.sector-heading>p,.work-copy>p,.ownership-copy>p,.social-copy>p,.accreditation-heading>p,.careers-copy>p { font-size:17px; }
  .sectors { padding-top:74px; }
  .sector-heading { margin-bottom:58px; }
  .sector-card { min-height:460px; padding:24px; }
  .sector-content h3 { font-size:clamp(56px,17vw,66px); }
  .proof-item { min-height:150px; padding:22px; }
  .proof-item strong { font-size:54px; }
  .work-image,.work-image img,.ownership-visual,.ownership-visual img { min-height:430px; height:430px; }
  .image-tag { min-width:190px; padding:16px 18px; }
  .ownership-copy blockquote { font-size:25px; }
  .testimonial-stage { min-height:430px; padding:42px 26px 24px; }
  .testimonial-card>p { font-size:32px; }
  .testimonial-controls { grid-template-columns:42px minmax(0,1fr) 42px; gap:8px; }
  .slider-dots button { width:32px; }
  .social-grid { gap:44px; }
  .video-slider { grid-template-columns:34px 1fr 34px; gap:7px; }
  .play-button { width:58px; height:58px; }
  .accreditation-grid { margin-top:50px; grid-template-columns:1fr 1fr; }
  .accreditation-grid img { height:140px; padding:23px; }
  .careers-image,.careers-image img { min-height:380px; }
  .careers-copy { padding:68px 22px; }
  .contact-callout { padding:74px 0; }
  .contact-callout a { font-size:66px; }
  .footer-grid { grid-template-columns:1fr; gap:42px; }
  .footer-bottom { grid-template-columns:1fr; }
  .cookie-banner { inset:auto 10px 10px; grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .hero-video { display:none; }
  .power-rail,.hero-video-toggle { display:none; }
  .ticker-track { width:100%; animation:none; }
  .ticker-track span[aria-hidden="true"] { display:none; }
  .ticker-track span { flex:1; min-width:0; }
  html.js .reveal,html.js [data-stagger]>*,html.js .hero-content .eyebrow,html.js .hero-bottomline,html.js .hero-index a { opacity:1; transform:none; }
  html.js .hero-line>span { transform:none; }
  .media-reveal::after { display:none; }
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; }
}

/* Premium motion system */
@view-transition { navigation:auto; }
::view-transition-old(root) { animation:page-out .18s ease both; }
::view-transition-new(root) { animation:page-in .32s var(--ease) both; }

@keyframes page-out {
  to { opacity:0; transform:scale(.992); }
}

@keyframes page-in {
  from { opacity:.72; transform:translateY(8px) scale(.997); }
}

body::before { content:""; position:fixed; z-index:450; inset:0; pointer-events:none; opacity:.055; background:radial-gradient(circle,rgba(255,255,255,.65) .55px,transparent .75px); background-size:5px 5px; mix-blend-mode:soft-light; }
.power-rail { padding:13px 7px; height:296px; border:1px solid rgba(255,255,255,.14); background:rgba(5,6,6,.42); backdrop-filter:blur(9px); mix-blend-mode:normal; }
.power-rail-fill { background:var(--orange); box-shadow:0 0 16px rgba(238,90,36,.7); }
.power-rail-current { background:var(--amber); box-shadow:0 0 12px var(--amber),0 0 26px var(--orange); }

.hero-video { clip-path:none; transition:opacity .34s ease; }
.hero.video-ready .hero-video { clip-path:none; }
.hero-shade { overflow:hidden; }
.hero-shade::after { content:""; position:absolute; inset:0; opacity:.65; background:radial-gradient(620px circle at var(--mx,72%) var(--my,44%),rgba(238,90,36,.2),transparent 58%); transition:opacity .35s ease; pointer-events:none; }
.hero-charge { position:absolute; z-index:2; inset:-18% auto -18% -24%; width:17%; opacity:0; background:linear-gradient(90deg,transparent,rgba(245,161,26,.18),rgba(238,90,36,.82),rgba(255,255,255,.7),transparent); transform:skewX(-11deg) translateX(-170%); pointer-events:none; }
.js.is-ready .hero-charge { animation:hero-charge 1.22s var(--ease) .08s both; }
.js.is-ready .hero-line-accent>span { transition:none; animation:hero-accent-settle 1.02s var(--ease) .24s both; }
.hero:not(.hero-in-view) .ticker-track { animation-play-state:paused; }

@keyframes hero-charge {
  0% { opacity:0; transform:skewX(-11deg) translateX(-170%); }
  18% { opacity:1; }
  82% { opacity:1; }
  100% { opacity:0; transform:skewX(-11deg) translateX(790%); }
}

@keyframes hero-accent-settle {
  0% { transform:translateY(112%); }
  76% { transform:translateY(-6px); }
  100% { transform:none; }
}

.hero-cta,.solid-link,.youtube-count,.phone-link,.button { background-image:linear-gradient(var(--amber),var(--amber)); background-position:100% 0; background-size:0 100%; background-repeat:no-repeat; transition:background-size .38s var(--ease),background-position 0s .38s,transform .25s var(--ease),color .25s ease; }
.hero-cta:hover,.hero-cta:focus-visible,.solid-link:hover,.solid-link:focus-visible,.youtube-count:hover,.youtube-count:focus-visible,.phone-link:hover,.phone-link:focus-visible,.button:hover,.button:focus-visible { background-position:0 0; background-size:100% 100%; }
.hero-cta .ui-arrow,.solid-link .ui-arrow,.phone-link .ui-arrow,.text-link .ui-arrow { transition:transform .32s var(--ease); }
.hero-cta:hover .ui-arrow,.hero-cta:focus-visible .ui-arrow,.solid-link:hover .ui-arrow,.solid-link:focus-visible .ui-arrow,.phone-link:hover .ui-arrow,.phone-link:focus-visible .ui-arrow,.text-link:hover .ui-arrow,.text-link:focus-visible .ui-arrow { transform:translate(4px,-4px); }

.motion-title { opacity:0; clip-path:inset(0 0 100%); transform:translateY(24px); transition:opacity .72s var(--ease),clip-path .92s var(--ease),transform .92s var(--ease); }
.motion-title.is-in-view,.visible .motion-title,.motion-title.visible { opacity:1; clip-path:inset(0); transform:none; }
.section-watermark { position:absolute; z-index:0; top:clamp(28px,5vw,80px); right:clamp(26px,6vw,100px); color:currentColor; font-family:"Barlow Condensed",sans-serif; font-size:clamp(170px,22vw,350px); font-weight:800; letter-spacing:-.08em; line-height:.75; opacity:.025; pointer-events:none; }
[data-scroll-section] { position:relative; isolation:isolate; }
[data-scroll-section]>.page-width,[data-scroll-section]>.content-wrap,[data-scroll-section]>.intro-grid,[data-scroll-section]>.inner-hero-shell { position:relative; z-index:1; }
.motion-parallax { --parallax-y:0px; transform:translate3d(0,var(--parallax-y),0) scale(1.045); transition:transform .72s var(--ease); }
.work-grid:hover .motion-parallax,.video-card:hover .motion-parallax,.project-card:hover .motion-parallax { transform:translate3d(0,var(--parallax-y),0) scale(1.075); }

.proof-item { position:relative; overflow:hidden; }
.proof-item::after { content:""; position:absolute; inset:0; background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.32),transparent 80%); transform:translateX(-110%); pointer-events:none; }
.proof-band.visible .proof-item::after { animation:proof-current .72s var(--ease) calc(var(--stagger-delay,0ms) + 80ms) both; }
@keyframes proof-current { to { transform:translateX(110%); } }

.js .media-video-settle.reveal { opacity:.82; transform:translateY(14px) rotate(.65deg); transition:opacity .34s ease,transform .52s var(--ease); }
.js .media-video-settle.reveal.visible { opacity:1; transform:none; }
.js .accreditation-grid.visible img,.js .visible .accreditation-grid img { filter:none; }

.contact-callout { --contact-fill:0%; }
.contact-callout::before { content:""; position:absolute; z-index:4; inset:auto 0 0; height:4px; background:linear-gradient(90deg,var(--amber),var(--orange)); transform:scaleX(var(--contact-progress,0)); transform-origin:left; box-shadow:0 0 28px rgba(238,90,36,.75); }
.contact-callout a { color:transparent; background:linear-gradient(90deg,var(--orange) 0,var(--orange) var(--contact-fill),#fff var(--contact-fill),#fff 100%); background-clip:text; -webkit-background-clip:text; }
.contact-callout a .ui-arrow { color:var(--orange); }
.contact-callout.is-charged a .ui-arrow { transform:translate(8px,-8px); }

@media (min-width:901px) and (min-height:680px) {
  .sectors { padding-bottom:0; overflow:clip; }
  .sector-heading { margin-bottom:70px; }
  .sector-grid { width:min(calc(100% - 96px),var(--page)); margin-inline:auto; padding:0 0 15vh; display:block; }
  .sector-card { --stack-scale:1; --stack-opacity:1; position:sticky; top:96px; z-index:1; width:100%; min-height:calc(100svh - 128px); margin-bottom:15vh; border:1px solid rgba(255,255,255,.2); box-shadow:0 34px 90px rgba(0,0,0,.42); opacity:var(--stack-opacity); transform:scale(var(--stack-scale)); transform-origin:center top; }
  .sector-card:nth-child(2) { top:108px; z-index:2; }
  .sector-card:nth-child(3) { top:120px; z-index:3; margin-bottom:0; }
  .sector-card::before { transform:scale(1.065) translate3d(0,var(--sector-drift,0),0); }
  .sector-card:hover::before,.sector-card:focus-visible::before { transform:scale(1.095) translate3d(0,var(--sector-drift,0),0); }
  .sector-card::after { background:radial-gradient(520px circle at var(--mx,50%) var(--my,50%),rgba(238,90,36,.3),transparent 64%),linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.91)); }
  .sector-content h3 { font-size:clamp(100px,13vw,190px); }
  .sector-content p { font-size:16px; }
  .sector-arrow { width:70px; height:70px; font-size:28px; }
}

@media (max-width:900px) {
  .section-watermark { font-size:170px; right:20px; }
  .motion-parallax { transform:translate3d(0,calc(var(--parallax-y) * .45),0) scale(1.025); }
  .sector-grid { width:auto; margin:0; padding:0; display:grid; }
  .sector-card:nth-child(n) { position:relative; top:auto; z-index:auto; margin:0; opacity:1; transform:none; }
}

@media (prefers-reduced-motion:reduce) {
  ::view-transition-old(root),::view-transition-new(root) { animation:none!important; }
  body::before,.hero-charge,.section-watermark { display:none!important; }
  .hero-video { clip-path:none!important; }
  .motion-title { opacity:1!important; clip-path:none!important; transform:none!important; }
  .motion-parallax { transform:none!important; will-change:auto!important; }
  .sector-card:nth-child(n) { position:relative!important; top:auto!important; margin-bottom:0!important; opacity:1!important; transform:none!important; }
  .contact-callout a { color:#fff!important; background:none!important; }
  .contact-callout::before { display:none!important; }
}

/* Mobile experience */
@media (max-width:900px) {
  html { overflow-x:clip; }
  body::before { display:none; }
  body.menu-open { overscroll-behavior:none; }
  .site-header.scrolled { background:#0b0d0d; box-shadow:0 8px 28px rgba(0,0,0,.24); backdrop-filter:none; }
  .site-header.scrolled .header-inner { min-height:82px; }
  .site-header.scrolled .logo-link { width:148px; }
  body.menu-open .site-header,
  body.menu-open .site-header.scrolled { position:fixed; inset:0; height:100dvh; min-height:100svh; overflow:hidden; background:var(--orange); box-shadow:none; backdrop-filter:none; }
  body.menu-open .header-inner { border-color:rgba(11,13,13,.24); }
  body.menu-open .phone-link { opacity:0; visibility:hidden; pointer-events:none; }
  body.menu-open .menu-toggle { border-color:rgba(11,13,13,.56); }
  body.menu-open .menu-toggle span { background:var(--ink); }
  body.menu-open::before { display:none; }
  .mobile-nav {
    height:100dvh;
    min-height:100svh;
    padding:calc(104px + env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));
    display:flex;
    justify-content:flex-start;
    overflow-y:auto;
    overscroll-behavior:contain;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translate3d(0,-12px,0);
    transition:visibility 0s linear .28s,opacity .2s ease,transform .28s var(--ease);
  }
  .mobile-nav::before { content:"TN"; position:absolute; right:-5vw; bottom:-4vh; color:rgba(11,13,13,.07); font-family:"Barlow Condensed",sans-serif; font-size:min(64vw,500px); font-weight:900; letter-spacing:-.09em; line-height:.72; pointer-events:none; }
  .mobile-nav.open { visibility:visible; opacity:1; pointer-events:auto; transform:none; transition-delay:0s; }
  .mobile-nav-group { position:relative; z-index:1; }
  .mobile-nav>a,.mobile-nav-group>a { position:relative; z-index:1; min-height:54px; padding:7px 4px; grid-template-columns:34px minmax(0,1fr); border-bottom:1px solid rgba(11,13,13,.18); color:#fff; font-size:clamp(38px,10vw,48px); }
  .mobile-nav-children { margin:0; padding:8px 0 12px 34px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; list-style:none; border-bottom:1px solid rgba(11,13,13,.18); }
  .mobile-nav-children li { min-width:0; }
  .mobile-nav-children a { min-height:46px; padding:9px 12px; display:flex; align-items:center; color:#fff; background:rgba(11,13,13,.12); border:1px solid rgba(11,13,13,.14); font-family:"Assistant",sans-serif; font-size:15px; font-weight:750; letter-spacing:.01em; line-height:1.25; text-transform:none; }
  .mobile-nav-children a:hover,.mobile-nav-children a:focus-visible { color:var(--ink); background:var(--amber); }
  .mobile-nav>a:last-child { min-height:62px; margin-top:14px; padding:10px 16px; color:#fff; background:var(--ink); border-bottom:0; }
  .mobile-nav>a:last-child span { color:var(--orange); }
  .mobile-nav>a[aria-current="page"],.mobile-nav-group>a[aria-current="page"] { padding-left:16px; background:rgba(11,13,13,.12); box-shadow:inset 4px 0 0 var(--ink); }
  .mobile-nav-children a[aria-current="page"] { color:var(--ink); background:var(--amber); border-color:var(--ink); box-shadow:inset 3px 0 0 var(--ink); }
  .mobile-nav>a:last-child[aria-current="page"] { box-shadow:inset 4px 0 0 var(--amber); }
  .mobile-nav.open>* { animation:mobile-nav-item-in .34s var(--ease) both; }
  .mobile-nav.open>:nth-child(2) { animation-delay:25ms; }
  .mobile-nav.open>:nth-child(3) { animation-delay:50ms; }
  .mobile-nav.open>:nth-child(4) { animation-delay:75ms; }
  .mobile-nav.open>:nth-child(5) { animation-delay:100ms; }
  .mobile-nav.open>:nth-child(6) { animation-delay:125ms; }
  .mobile-nav.open>:nth-child(7) { animation-delay:150ms; }
  .motion-title,
  .motion-title.is-in-view { opacity:1; clip-path:none; transform:none; transition:none; }
  .motion-parallax,
  .work-grid:hover .motion-parallax,
  .video-card:hover .motion-parallax,
  .project-card:hover .motion-parallax { transform:none; transition:none; }
  .js .reveal { transform:translateY(12px); transition-duration:.38s; }
  .js [data-stagger]>* { transform:translateY(10px); transition-duration:.38s; }
  .manifesto-grid>*,.work-grid>*,.ownership-grid>*,.testimonial-layout>*,.social-grid>*,.accreditation-heading>* { min-width:0; }
}

@keyframes mobile-nav-item-in {
  from { opacity:0; transform:translateY(10px); }
  to { opacity:1; transform:none; }
}

@media (max-width:700px) {
  :root { scroll-padding-top:72px; }
  .page-width { width:calc(100% - 34px); }
  .section-space { padding:72px 0; }
  .section-marker { margin-bottom:30px; }
  .header-inner { width:calc(100% - 24px); min-height:72px; grid-template-columns:1fr auto auto; gap:10px; }
  .site-header.scrolled .header-inner { min-height:72px; }
  .logo-link,.site-header.scrolled .logo-link { width:132px; }
  .phone-link,.menu-toggle { min-height:44px; }
  .menu-toggle { width:44px; height:44px; padding:11px; }
  .mobile-nav { padding-top:calc(86px + env(safe-area-inset-top)); align-content:start; }
  .mobile-nav-children { grid-template-columns:1fr; padding-left:28px; }

  .hero { min-height:100svh; padding-top:72px; }
  .hero-grid { min-height:calc(100svh - 72px); padding:58px 0 96px; align-items:end; }
  .hero-shade { background:linear-gradient(90deg,rgba(6,8,8,.9),rgba(6,8,8,.32)),linear-gradient(0deg,rgba(6,8,8,.94),rgba(6,8,8,.12) 72%); }
  .hero-content .eyebrow { margin-bottom:25px; font-size:9px; line-height:1.35; }
  .hero h1 { font-size:clamp(48px,15vw,62px); line-height:.86; }
  .hero-bottomline { margin-top:27px; padding:18px; gap:18px; border:1px solid rgba(255,255,255,.2); background:rgba(8,10,10,.62); backdrop-filter:blur(8px); }
  .hero-bottomline p { font-size:15px; line-height:1.48; }
  .hero-cta { min-height:54px; }
  .hero-video-toggle { right:17px; bottom:70px; width:44px; height:44px; min-height:44px; padding:0; justify-content:center; border-radius:50%; }
  .hero-video-toggle .video-toggle-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .hero-ticker,.ticker-track { min-height:56px; }
  .ticker-track span { width:64vw; min-width:210px; }
  .js.is-ready .hero-content .eyebrow,.js.is-ready .hero-bottomline { transition-duration:.4s; }
  .js.is-ready .hero-line>span { transition-duration:.62s; }
  .js.is-ready .hero-line:nth-child(2)>span { transition-delay:.12s; }
  .js.is-ready .hero-bottomline { transition-delay:.14s; }
  .js.is-ready .hero-charge { animation-duration:.82s; }

  .manifesto h2,.sector-heading h2,.work-copy h2,.testimonial-intro h2,.careers-copy h2 { font-size:clamp(50px,14vw,58px); line-height:.88; }
  .ownership-copy h2,.social-copy h2,.accreditation-heading h2 { font-size:clamp(47px,13vw,54px); line-height:.88; }
  .manifesto-grid { gap:30px; }
  .manifesto-copy p,.sector-heading>p,.work-copy>p,.ownership-copy>p,.social-copy>p,.accreditation-heading>p,.careers-copy>p { font-size:16px; line-height:1.6; }

  .sectors { padding-top:72px; padding-bottom:46px; overflow:hidden; }
  .sector-heading { margin-bottom:44px; gap:22px; }
  .sector-grid { width:100%; margin:0; padding:0 17px 20px; display:flex; gap:12px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-padding-inline:17px; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .sector-grid::-webkit-scrollbar { display:none; }
  .sector-card:nth-child(n) { flex:0 0 calc(100vw - 50px); min-height:440px; padding:24px; scroll-snap-align:start; border:1px solid rgba(255,255,255,.18); }
  .sector-content h3 { font-size:clamp(54px,16vw,66px); }
  .sector-arrow { width:48px; height:48px; }

  .proof-item { min-height:132px; padding:20px 17px; }
  .proof-item strong { font-size:50px; }
  .proof-item span { margin-top:9px; font-size:9px; line-height:1.35; }

  .work-grid { gap:0; }
  .work-image,.work-image img { min-height:360px; height:360px; }
  .work-copy { position:relative; z-index:2; margin:-34px 10px 0; padding:26px 18px 0; background:var(--paper); }
  .work-copy>p { margin:22px 0; }
  .work-copy li { padding:14px 0; gap:17px; }
  .solid-link { width:100%; min-height:54px; }
  .image-tag { min-width:172px; padding:14px 16px; font-size:9px; }

  .ownership-grid { gap:44px; }
  .ownership-visual,.ownership-visual img { min-height:0; height:auto; aspect-ratio:4/5; }
  .ownership-visual img { object-position:center top; }
  .ownership-label { padding:15px 17px; }
  .ownership-copy blockquote { margin:30px 0; padding:22px 0 22px 22px; font-size:24px; }

  .testimonial-layout { gap:36px; }
  .testimonial-stage { min-height:390px; padding:38px 22px 22px; }
  .testimonial-card>p { font-size:clamp(27px,8vw,32px); }
  .testimonial-controls { grid-template-columns:44px minmax(0,1fr) 44px; }
  .slider-arrow,.slider-dots button { min-width:44px; min-height:44px; }
  .slider-dots button { width:clamp(26px,8vw,36px); }

  .social-grid { gap:34px; }
  .youtube-count { width:100%; min-height:52px; justify-content:space-between; }
  .video-slider { position:relative; display:block; }
  .video-card { width:100%; box-shadow:10px 10px 0 rgba(0,0,0,.15); }
  .video-arrow { position:absolute; z-index:3; top:50%; width:44px; min-height:44px; color:#fff; background:rgba(11,13,13,.72); transform:translateY(-50%); }
  .video-prev { left:8px; }
  .video-next { right:8px; }

  .accreditation-grid { margin-top:42px; padding-bottom:14px; display:flex; gap:10px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-padding-inline:0; scroll-snap-type:x mandatory; border:0; scrollbar-width:none; }
  .accreditation-grid::-webkit-scrollbar { display:none; }
  .accreditation-grid img { flex:0 0 42vw; width:42vw; max-width:none; height:120px; padding:20px; scroll-snap-align:start; border:1px solid var(--line); filter:none; }

  .careers-callout { min-height:0; display:block; overflow:hidden; }
  .careers-image { position:relative; min-height:0; aspect-ratio:3/2; }
  .careers-image img { width:100%; height:100%; min-height:0; object-fit:cover; object-position:center; }
  .careers-copy { min-height:0; padding:58px 17px 64px; display:flex; flex-direction:column; justify-content:flex-start; background:var(--ink-soft); }
  .careers-copy>p { margin:22px 0 28px; }
  .careers-copy .hero-cta { width:100%; }

  .contact-callout { padding:68px 0; }
  .contact-callout a { font-size:clamp(54px,17vw,72px); overflow-wrap:anywhere; }
  .contact-meta { margin-top:20px; }

  .site-footer { padding-top:68px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:38px 24px; }
  .footer-company,.footer-contact { grid-column:1/-1; }
  .footer-company img { width:170px; }
  .footer-links a,.footer-legal a,.footer-contact a { min-height:38px; display:flex; align-items:center; }
  .footer-bottom { margin-top:54px; grid-template-columns:1fr; gap:16px; }
  .footer-bottom a { min-height:38px; display:flex; align-items:center; }
  .cookie-banner { inset:auto 10px calc(10px + env(safe-area-inset-bottom)); padding:16px; }
  .cookie-banner button { min-height:44px; }
}

@media (max-width:480px) {
  .header-inner { grid-template-columns:1fr auto; }
  .phone-link { display:none; }
  .logo-link,.site-header.scrolled .logo-link { width:138px; }
}

@media (max-width:340px) {
  .page-width { width:calc(100% - 28px); }
  .logo-link,.site-header.scrolled .logo-link { width:124px; }
  .mobile-nav { padding-inline:16px; }
  .mobile-nav>a,.mobile-nav-group>a { min-height:48px; font-size:36px; }
  .hero h1 { font-size:46px; }
  .hero-bottomline { padding:15px; }
  .hero-bottomline p { font-size:14px; }
  .ownership-copy h2,.social-copy h2,.accreditation-heading h2 { font-size:44px; overflow-wrap:anywhere; }
  .sector-card:nth-child(n) { flex-basis:calc(100vw - 42px); }
  .contact-callout a { font-size:50px; }
}

.video-toggle-icon svg { width:14px; height:14px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.video-toggle-icon svg path[d^="m9"] { fill:currentColor; stroke:none; }

/* Calm interaction layer and expanded service navigation */
.nav-group { position:relative; display:flex; align-items:center; }
.nav-flyout { position:absolute; z-index:20; top:calc(100% - 2px); left:-18px; width:260px; padding:10px; display:grid; gap:2px; color:#fff; background:rgba(11,13,13,.98); border:1px solid rgba(255,255,255,.14); box-shadow:0 22px 52px rgba(0,0,0,.28); opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s ease,transform .2s var(--ease),visibility 0s linear .2s; }
.nav-flyout-wide { width:340px; }
.desktop-nav .nav-flyout a { min-height:46px; padding:12px 14px; display:flex; align-items:center; color:#e6e7e4; font-size:11px; line-height:1.25; letter-spacing:.075em; }
.desktop-nav .nav-flyout a::after { display:none; }
.desktop-nav .nav-flyout a:hover,.desktop-nav .nav-flyout a:focus-visible { color:var(--ink); background:var(--orange); }
.nav-group:hover .nav-flyout,.nav-group:focus-within .nav-flyout { opacity:1; visibility:visible; transform:none; transition-delay:0s; }

.who-we-help { color:var(--ink); }
.who-we-help-heading { margin-bottom:54px; display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.55fr); gap:clamp(42px,7vw,110px); align-items:end; }
.who-we-help-heading h2 { max-width:850px; margin:0; font-family:"Barlow Condensed",sans-serif; font-size:clamp(58px,6.4vw,96px); font-weight:800; letter-spacing:-.04em; line-height:.9; text-transform:uppercase; }
.who-we-help-heading>p { margin:0 0 8px; color:#444744; font-size:19px; line-height:1.6; }
.audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.audience-grid a { min-height:250px; padding:30px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.3); transition:color .22s ease,background .22s ease,transform .22s var(--ease); }
.audience-grid a>span { color:#a83d16; font-size:11px; font-weight:800; letter-spacing:.15em; }
.audience-grid a strong { max-width:320px; margin-top:auto; font-family:"Barlow Condensed",sans-serif; font-size:clamp(31px,3vw,44px); line-height:.95; text-transform:uppercase; }
.audience-grid a p { margin:14px 0 0; color:#555955; font-size:14px; }
.audience-grid a:hover,.audience-grid a:focus-visible { color:#fff; background:var(--ink); transform:translateY(-3px); }
.audience-grid a:hover p,.audience-grid a:focus-visible p { color:#c9cbc8; }
.audience-grid a:hover>span,.audience-grid a:focus-visible>span { color:var(--orange); }

.slider-arrow .ui-arrow,.video-arrow .ui-arrow { width:20px; height:20px; }
.slider-arrow,.video-arrow { display:grid; place-items:center; }
.play-button .ui-play { width:30px; height:30px; fill:currentColor; stroke:none; }
.hero-charge { display:none; }
html.js .hero-line>span { opacity:0; transform:none; animation:calm-rise .38s var(--ease) both; }
html.js .hero-line:nth-child(1)>span { animation-delay:40ms; }
html.js .hero-line:nth-child(2)>span { animation-delay:100ms; }
html.js.is-ready .hero-line>span,html.js.is-ready .hero-line-accent>span { transform:none; transition:none; animation-name:calm-rise; }
.js .reveal { transform:translateY(12px); transition-duration:.36s; }
.js [data-stagger]>* { transform:translateY(10px); transition-duration:.36s; }
.motion-title { clip-path:none; transform:translateY(12px); transition:opacity .36s var(--ease),transform .36s var(--ease); }
.hero-cta,.solid-link,.youtube-count,.phone-link,.button { transition-duration:.22s; }
.hero-cta:hover .ui-arrow,.hero-cta:focus-visible .ui-arrow,.solid-link:hover .ui-arrow,.solid-link:focus-visible .ui-arrow,.phone-link:hover .ui-arrow,.phone-link:focus-visible .ui-arrow,.text-link:hover .ui-arrow,.text-link:focus-visible .ui-arrow { transform:translate(3px,-3px); }

@keyframes calm-rise {
  from { opacity:0; transform:translateY(12px); }
  to { opacity:1; transform:none; }
}

@media (max-width:1180px) and (min-width:901px) {
  .desktop-nav { gap:13px; }
  .desktop-nav>a,.desktop-nav>.nav-group>a { font-size:9px; letter-spacing:.07em; }
  .phone-link { padding-inline:13px; gap:12px; font-size:9px; }
}

@media (max-width:900px) {
  .who-we-help-heading { grid-template-columns:1fr; gap:24px; }
  .audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:700px) {
  .who-we-help-heading { margin-bottom:36px; }
  .who-we-help-heading h2 { font-size:clamp(48px,14vw,62px); }
  .who-we-help-heading>p { font-size:16px; }
  .audience-grid { grid-template-columns:1fr; }
  .audience-grid a { min-height:190px; padding:24px; }
  .audience-grid a strong { font-size:38px; }
}

@media (prefers-reduced-motion:reduce) {
  html.js .hero-line>span { opacity:1; animation:none; }
  .nav-flyout,.audience-grid a { transition:none; }
}

@media (max-width:700px) and (max-height:700px) {
  .hero { min-height:100svh; }
  .hero-grid { min-height:calc(100svh - 72px); padding-top:18px; padding-bottom:64px; }
  .hero-content .eyebrow { margin-bottom:12px; }
  .hero h1 { font-size:clamp(42px,12.8vw,52px); }
  .hero-bottomline { margin-top:14px; padding:12px; gap:9px; }
  .hero-bottomline p { font-size:13px; line-height:1.42; }
  .hero-cta { min-height:46px; }
  .hero-ticker,.ticker-track { min-height:52px; }
  .mobile-nav { padding-top:78px; justify-content:flex-start; }
  .mobile-nav>a,.mobile-nav-group>a { min-height:45px; font-size:36px; }
  .mobile-nav>a:last-child { min-height:54px; }
}

@media (prefers-reduced-motion:reduce) {
  .mobile-nav,.mobile-nav.open,.mobile-nav.open>* { animation:none!important; transition:none!important; }
}

/* Photography woven into the page */
@media (min-width:1001px) {
  .featured-work { overflow:hidden; }
  .featured-work>.page-width { width:100%; max-width:none; }
  .featured-work>.page-width>.section-marker { width:min(calc(100% - 96px),var(--page)); margin-inline:auto; }
  .work-grid { grid-template-columns:minmax(0,66vw) minmax(360px,1fr); gap:0; }
  .work-image,.work-image img { width:100%; height:clamp(620px,78svh,860px); min-height:0; }
  .work-copy { position:relative; z-index:3; margin-left:clamp(-96px,-6vw,-56px); padding:clamp(48px,5.5vw,84px); background:var(--paper); }

  .ownership { padding:0; overflow:hidden; }
  .ownership-grid.page-width { width:100%; max-width:none; grid-template-columns:43vw 57vw; gap:0; }
  .ownership-visual,.ownership-visual img { width:100%; height:clamp(760px,100svh,980px); }
  .ownership-copy { padding:clamp(72px,8vw,128px) max(48px,calc((100vw - var(--page))/2)); }

  .careers-callout { min-height:0; grid-template-columns:60vw minmax(0,1fr); align-items:stretch; }
  .careers-image { min-height:0; aspect-ratio:1100/665; }
  .careers-image img { width:100%; height:100%; min-height:0; object-fit:cover; }
  .careers-copy { padding:clamp(48px,5vw,78px); }
}

@media (max-width:700px) {
  .featured-work { overflow:hidden; }
  .featured-work>.page-width { width:100%; }
  .featured-work>.page-width>.section-marker { width:calc(100% - 34px); margin-inline:auto; }
  .work-grid { display:block; }
  .work-image,.work-image img { width:100%; height:78vw; min-height:300px; }
  .work-copy { position:relative; z-index:3; width:calc(100% - 34px); margin:-24px auto 0; padding:42px 0 0; background:var(--paper); }
  .image-tag { right:0; }

  .ownership { padding:0; overflow:hidden; }
  .ownership-grid.page-width { width:100%; }
  .ownership-visual { width:100%; height:auto; min-height:0; aspect-ratio:4/5; }
  .ownership-visual img { width:100%; height:100%; }
  .ownership-copy { padding:72px 17px; }

  .careers-image { aspect-ratio:1100/665; }
}

/* Responsive desktop density */
.motion-title.is-in-view,.visible .motion-title,.motion-title.visible { clip-path:none; }

@media (min-width:901px) {
  :root { --page:1280px; }
  .section-space { padding:clamp(76px,10vh,112px) 0; }
}

@media (min-width:1001px) {
  .hero { min-height:clamp(680px,94svh,800px); }
  .hero-grid { padding:clamp(54px,8vh,78px) 0 104px; }
  .hero h1 { max-width:900px; font-size:clamp(72px,6.6vw,112px); }
  .hero-bottomline { max-width:900px; margin-top:38px; padding-top:22px; }

  .manifesto h2 { font-size:clamp(58px,5.4vw,90px); }
  .sector-heading h2 { font-size:clamp(60px,5.4vw,90px); }
  .work-copy h2 { font-size:clamp(56px,4.8vw,80px); }
  .ownership-copy h2 { font-size:clamp(62px,4.6vw,82px); }
  .testimonial-intro h2,.social-copy h2,.accreditation-heading h2,.careers-copy h2 { font-size:clamp(56px,4.8vw,82px); }

  .sectors { padding-top:clamp(76px,10vh,108px); }
  .sector-heading { margin-bottom:54px; }
  .sector-grid { padding-bottom:8vh; }
  .sector-card { margin-bottom:8vh; }

  .featured-work>.page-width { width:min(100%,1540px); margin-inline:auto; }
  .featured-work>.page-width>.section-marker { width:min(calc(100% - 64px),var(--page)); }
  .work-grid { width:100%; grid-template-columns:minmax(0,1.16fr) minmax(390px,.84fr); }
  .work-image,.work-image img { height:clamp(520px,72svh,700px); }
  .work-copy { margin-left:-52px; padding:clamp(42px,4vw,64px); }
  .work-copy>p { margin:24px 0; font-size:18px; }
  .work-copy li { padding:14px 0; }

  .ownership-grid.page-width { width:min(100%,1540px); max-width:1540px; margin-inline:auto; grid-template-columns:minmax(480px,.88fr) minmax(0,1.12fr); align-items:stretch; }
  .ownership-visual { width:100%; height:auto; min-height:clamp(640px,82svh,760px); }
  .ownership-visual img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:cover; }
  .ownership-copy { min-width:0; padding:clamp(54px,8vh,72px) clamp(48px,4.2vw,72px); display:flex; align-items:center; }
  .ownership-copy-inner { width:min(100%,720px); margin-inline:auto; }
  .ownership-copy>p,.ownership-copy-inner>p { margin:24px 0; font-size:18px; }
  .ownership-copy blockquote { margin:26px 0; padding:22px 0 22px 24px; font-size:26px; }

  .testimonial-stage { min-height:360px; padding:42px 48px 30px; }
  .social-grid { gap:clamp(46px,6vw,88px); }
  .accreditation-heading { gap:clamp(46px,6vw,88px); }

  .careers-callout { width:min(100%,1600px); margin-inline:auto; grid-template-columns:minmax(0,1.16fr) minmax(420px,.84fr); }
  .careers-copy { padding:clamp(42px,4vw,64px); }
}

@media (min-width:1001px) and (max-height:820px) {
  .sectors { padding-top:72px; }
  .sector-grid { padding-bottom:7vh; }
  .sector-card { margin-bottom:7vh; }
  .proof-item { min-height:160px; }
  .contact-callout { padding:76px 0; }
}

@media (min-width:901px) and (max-width:1100px) {
  .featured-work>.page-width { width:100%; }
  .featured-work>.page-width>.section-marker { width:calc(100% - 56px); }
  .work-grid { display:block; }
  .work-image,.work-image img { width:100%; height:500px; min-height:0; }
  .work-copy { width:min(calc(100% - 56px),720px); margin:-52px auto 0; padding:46px; }
  .work-copy h2 { font-size:64px; }
}

@media (min-width:901px) and (max-height:679px) {
  .sector-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sector-card:nth-child(n) { position:relative; top:auto; z-index:auto; min-height:500px; margin:0; padding:24px; opacity:1; transform:none; }
  .sector-content h3 { font-size:clamp(38px,4vw,58px); }
  .sector-arrow { width:48px; height:48px; }
}

@media (max-width:700px) {
  .sector-content { grid-template-columns:1fr; gap:14px; }
  .sector-content h3 { font-size:clamp(46px,14vw,58px); }
  .sector-arrow { justify-self:end; }
}

@media (max-width:340px) {
  .work-copy h2 { font-size:44px; }
  .testimonial-controls { grid-template-columns:44px 1fr 44px; grid-template-rows:auto auto; }
  .slider-dots { grid-column:1/-1; grid-row:1; }
  .slider-dots button { width:38px; min-width:38px; }
  .testimonial-prev { grid-column:1; grid-row:2; }
  .testimonial-next { grid-column:3; grid-row:2; }
}
