/* Kashif Ventures — site styles
   Brand: white #FFFFFF, midnight navy #10243A, royal blue #1D4ED8, deep teal #0F766E (accent only).
   Type: Barlow Condensed (display) + Manrope (text), both OFL, files in /fonts. */
@font-face{font-family:Barlow;src:url(/fonts/BarlowCondensed-SemiBold.ttf) format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:Barlow;src:url(/fonts/BarlowCondensed-Medium.ttf) format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url(/fonts/Manrope.ttf) format("truetype");font-weight:200 800;font-display:swap}

:root{
  --navy:#10243a;--navy-2:#0b1a2b;--blue:#1d4ed8;--blue-d:#163ca8;--blue-soft:#a9c2ed;--blue-tint:#eaf0fd;
  --teal:#0f766e;--teal-tint:#e6f3f1;
  --ink:#10243a;--muted:#4f6075;--line:#dce3eb;--line-dark:#ffffff26;--paper:#f3f5f8;--white:#fff;
  --pad:clamp(20px,5vw,72px);--max:1320px;--gap:clamp(20px,2.4vw,32px);
  --section:clamp(72px,9vw,128px);
  --display:Barlow,"Arial Narrow",sans-serif;--text:Manrope,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.section--navy :focus-visible,.closing :focus-visible,.hero :focus-visible,.site-footer :focus-visible,.is-dark:not(.is-scrolled) :focus-visible{outline-color:#fff}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin-top:0}
h1,h2{font-family:var(--display);font-weight:600;text-transform:uppercase;line-height:.95;letter-spacing:-.01em}
h1{font-size:clamp(52px,7.4vw,118px);margin-bottom:28px}
h2{font-size:clamp(40px,4.9vw,76px);margin-bottom:24px}
h3{font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
h4{font-size:16px;font-weight:700;margin-bottom:6px}
p{max-width:68ch}
ul,ol{padding:0;list-style:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;z-index:200;left:12px;top:-80px;background:var(--blue);color:#fff;padding:12px 16px;font-weight:700}
.skip:focus{top:12px}
.wrap{width:100%;max-width:calc(var(--max) + var(--pad)*2);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px;color:var(--blue)}
.section--navy .eyebrow,.closing .eyebrow,.hero .eyebrow,.founder .eyebrow{color:var(--blue-soft)}
.lead{font-size:clamp(18px,1.6vw,22px);line-height:1.5;font-weight:500;letter-spacing:-.015em}
.muted{color:var(--muted)}
.blue{color:var(--blue)}
.caption{font-size:12.5px;color:var(--muted);line-height:1.6;margin:20px 0 0;max-width:80ch}
.caption--light{color:#b9c9db}
.ico{width:18px;height:18px;flex:none}
a.inline{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.icon-inline{display:inline}

/* Buttons & links */
.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:13px 22px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-size:14px;font-weight:700;line-height:1.3;letter-spacing:.005em;transition:background .2s,border-color .2s,color .2s,transform .2s var(--ease)}
.button:hover{background:var(--blue-d);border-color:var(--blue-d)}
.button:hover .ico{transform:translate(2px,-2px)}
.button .ico{transition:transform .2s var(--ease)}
.button--sm{min-height:42px;padding:9px 16px;font-size:13px}
.button--outline{background:transparent;color:var(--ink);border-color:#b8c4d2}
.button--outline:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.button--ghost{background:transparent;color:#fff;border-color:#ffffff80}
.button--ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.button--light{background:#fff;color:var(--navy);border-color:#fff}
.button--light:hover{background:var(--blue-tint);border-color:var(--blue-tint)}
.button--quiet{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.button--quiet:hover{background:var(--line);border-color:var(--line)}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.text-link{display:inline-flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid currentColor;font-size:14px;font-weight:700;color:var(--ink)}
.text-link .ico{transition:transform .2s var(--ease)}
a:hover>.text-link .ico,.text-link:hover .ico{transform:translateX(4px)}
.text-link--light{color:#fff}
.section--navy .text-link{color:#fff}

/* Status chips */
.status{display:inline-flex;align-items:center;gap:8px;padding:5px 10px 5px 9px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1.3;border:1px solid}
.status i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.status--focus{color:var(--blue);background:var(--blue-tint);border-color:#c9d7f8}
.status--development{color:var(--teal);background:var(--teal-tint);border-color:#bfe0db}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:background .25s,border-color .25s,box-shadow .25s}
.header-inner{display:flex;align-items:center;gap:28px;height:84px}
.brand{width:164px;flex:none}
.brand img{width:100%;height:auto}
.logo-white{display:none}
.main-nav{margin-left:auto}
.main-nav ul{display:flex;align-items:center;gap:4px;margin:0}
.main-nav li{position:relative;display:flex;align-items:center}
.main-nav li>a{display:block;padding:10px 12px;font-size:14px;font-weight:600;position:relative}
.main-nav li>a::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.main-nav li>a:hover::after,.main-nav li>a[aria-current]::after{transform:scaleX(1)}
.submenu-toggle{background:none;border:0;padding:6px;margin-left:-8px;display:grid;place-items:center}
.submenu-toggle .ico{width:16px;height:16px;transition:transform .2s}
.has-menu.is-open .submenu-toggle .ico{transform:rotate(180deg)}
.submenu{position:absolute;top:calc(100% + 10px);left:-12px;width:360px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 18px 40px -18px rgba(16,36,58,.35);padding:10px;display:grid;gap:2px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s var(--ease),visibility .18s}
.submenu::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.has-menu.is-open .submenu,html:not(.js) .has-menu:hover .submenu,html:not(.js) .has-menu:focus-within .submenu{opacity:1;visibility:visible;transform:none}
.submenu-item{display:flex;gap:14px;align-items:center;padding:8px;transition:background .15s}
.submenu-item:hover,.submenu-item[aria-current]{background:var(--paper)}
.submenu-item img{width:56px;height:56px;object-fit:cover;background:var(--paper)}
.submenu-item small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.submenu-item b{font-size:15px}
.submenu-all{display:flex;justify-content:space-between;align-items:center;padding:12px 10px 6px;margin-top:4px;border-top:1px solid var(--line);font-size:13px;font-weight:700;color:var(--blue)}
.menu-button{display:none;background:none;border:1px solid var(--line);padding:9px 14px;align-items:center;gap:10px;font-size:13px;font-weight:700;min-height:44px}
.menu-lines{width:18px;height:12px;position:relative}
.menu-lines::before,.menu-lines::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .2s,top .2s}
.menu-lines::before{top:1px}.menu-lines::after{top:9px}
.menu-button[aria-expanded=true] .menu-lines::before{top:5px;transform:rotate(45deg)}
.menu-button[aria-expanded=true] .menu-lines::after{top:5px;transform:rotate(-45deg)}
.mobile-menu{border-top:1px solid var(--line);background:#fff;color:var(--ink);max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px);overflow-y:auto}
.mobile-menu nav{display:flex;flex-direction:column;padding:12px var(--pad) 28px}
.mobile-menu nav>a{padding:13px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:17px}
.mobile-menu .mobile-sub{padding-left:14px;font-size:15px;font-weight:600;display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.mobile-menu .mobile-sub small{font-size:11px;color:var(--muted);font-weight:600;text-align:right}
.mobile-group{margin:18px 0 0;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.mobile-menu .button{margin-top:22px;border-bottom:0}
.mobile-contact{margin:18px 0 0;font-size:14px;color:var(--muted);line-height:2}
/* Dark (home) header: transparent over the hero until scrolled */
.page-home .site-header{position:fixed;left:0;right:0}
.site-header.is-dark:not(.is-scrolled):not(.menu-open){background:transparent;border-bottom-color:#ffffff26;color:#fff}
.site-header.is-dark:not(.is-scrolled):not(.menu-open) .logo-color{display:none}
.site-header.is-dark:not(.is-scrolled):not(.menu-open) .logo-white{display:block}
.site-header.is-dark:not(.is-scrolled):not(.menu-open) .main-nav li>a::after{background:#fff}
.site-header.is-dark:not(.is-scrolled):not(.menu-open) .menu-button{border-color:#ffffff60}
.site-header.is-dark:not(.is-scrolled):not(.menu-open) .nav-cta{background:#fff;color:var(--navy);border-color:#fff}
.site-header.is-scrolled{box-shadow:0 8px 24px -20px rgba(16,36,58,.5)}

/* Hero */
.hero{position:relative;min-height:max(680px,100vh);min-height:max(680px,100svh);max-height:1080px;background:var(--navy);color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.hero picture,.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-video{opacity:0;transition:opacity .6s}
.hero-video.ready{opacity:1}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,42,.94) 0%,rgba(9,24,42,.72) 38%,rgba(9,24,42,.1) 78%),linear-gradient(0deg,rgba(9,24,42,.6),transparent 35%)}
.hero-content{position:relative;z-index:2;padding-top:150px;padding-bottom:120px}
.hero h1{font-size:clamp(58px,8vw,128px);line-height:.88;margin-bottom:30px;max-width:9ch}
.hero h1 span{color:var(--blue-soft)}
.hero-lead{font-size:clamp(16px,1.35vw,19px);line-height:1.6;color:#dbe4ef;max-width:560px;margin-bottom:34px}
.hero-bottom{position:absolute;z-index:3;left:0;right:0;bottom:0;display:flex;align-items:center;gap:24px;min-height:64px;font-size:13px;color:#cfdbea}
.hero-bottom::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;border-top:1px solid #ffffff30}
.hero-bottom>span:first-child{margin-right:auto}
.hero-note{font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.film-toggle{color:#fff;border:1px solid #ffffff50;background:none;width:40px;height:40px;display:grid;place-items:center;padding:0}
.film-toggle svg{width:16px;height:16px}

/* Facts strip */
.facts{border-bottom:1px solid var(--line);background:#fff}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.fact{padding:28px 24px 26px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-width:0}
.fact:first-child{border-left:0;padding-left:0}
.fact>span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.fact>b{font-size:15.5px;line-height:1.4;overflow-wrap:anywhere}
.fact>a{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--blue);margin-top:4px}
.fact .ico{width:14px;height:14px}
.fact a.plain{color:inherit}

/* Sections & layout */
.section{padding:var(--section) 0}
.section--tight{padding:clamp(48px,6vw,80px) 0}
.section--grey{background:var(--paper)}
.section--navy{background:var(--navy);color:#fff}
.section--navy p{color:#cdd8e6}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,7vw,120px);align-items:start}
.split--top{align-items:start}
.sticky-col{position:sticky;top:120px}
.section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(36px,4.5vw,60px)}
.section-head h2{margin-bottom:0}
.section-head>p{color:var(--muted);margin-bottom:6px}
.section--navy .section-head>p{color:#cdd8e6}

/* Capabilities */
.capabilities{counter-reset:c;margin:36px 0 28px;border-top:1px solid var(--line)}
.capabilities li{counter-increment:c;display:grid;grid-template-columns:48px 190px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.capabilities li::before{content:counter(c,decimal-leading-zero);font-family:var(--display);font-size:22px;color:var(--blue)}
.capabilities b{font-size:16px}
.capabilities span{color:var(--muted);font-size:15px}

/* Divisions on home */
.division-hero{position:relative;display:block;overflow:hidden;background:var(--navy);color:#fff;min-height:520px}
.division-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.division-hero:hover img{transform:scale(1.025)}
.division-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,24,42,.9),rgba(9,24,42,.45) 50%,transparent 80%)}
.division-hero-copy{position:relative;z-index:1;padding:clamp(32px,5vw,64px);max-width:560px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:520px;justify-content:flex-end}
.division-hero-copy h3{font-family:var(--display);font-size:clamp(36px,4vw,56px);text-transform:uppercase;line-height:.95;font-weight:600;margin:4px 0 0}
.division-hero-copy p{color:#dbe4ef;margin:0 0 6px}
.division-hero .status--focus{background:#fff;border-color:#fff}
.division-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:var(--gap)}
.division-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);background:#fff;border:1px solid var(--line);transition:border-color .2s}
.division-card:hover{border-color:#b8c4d2}
.division-card-img{overflow:hidden;background:var(--navy)}
.division-card-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;transition:transform .8s var(--ease)}
.division-card:hover .division-card-img img{transform:scale(1.03)}
.division-card-copy{padding:clamp(22px,2.6vw,36px);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.division-card-copy h3{font-family:var(--display);font-size:clamp(28px,2.6vw,38px);text-transform:uppercase;font-weight:600;line-height:.98;margin:6px 0 0}
.division-card-copy p{color:var(--muted);font-size:15px;margin-bottom:auto}
.future{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,3vw,48px);align-items:center;margin-top:var(--gap);padding:28px clamp(22px,3vw,40px);border:1px dashed #b8c4d2;background:#fff}
.future .future-n{font-family:var(--display);font-size:46px;line-height:1;color:#b8c4d2;margin:0}
.future h3{margin-bottom:4px}
.future p{color:var(--muted);font-size:15px;margin:0}
.future--large{padding:clamp(28px,4vw,56px)}
.future--large h2{font-size:clamp(32px,3.4vw,48px);margin-bottom:10px}

/* Product grid & cards */
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap)}
.product-grid--compact{margin-top:clamp(36px,4vw,56px)}
.product-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:0;transition:border-color .2s,box-shadow .25s}
.product-card:hover{border-color:#b8c4d2;box-shadow:0 16px 32px -26px rgba(16,36,58,.45)}
.section--grey .product-card{border-color:#e3e8ee}
.product-image{display:block;overflow:hidden;background:#e9ecef;aspect-ratio:1/1}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.product-card:hover .product-image img{transform:scale(1.035)}
.product-body{padding:20px 20px 18px;display:flex;flex-direction:column;flex:1}
.product-body h3{font-size:17px;margin-bottom:6px}
.product-body>p{font-size:14px;line-height:1.55;color:var(--muted);margin-bottom:14px}
.spec-tags{display:flex;flex-wrap:wrap;gap:6px;margin:auto 0 16px!important}
.spec-tags span{font-size:11.5px;font-weight:700;padding:3px 8px;background:var(--paper);color:var(--ink);letter-spacing:.01em}
.card-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;font-weight:700;color:var(--blue)}
.card-cta .ico{transition:transform .2s var(--ease)}
.card-cta:hover .ico{transform:translateX(4px)}
.grid-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:8px;flex-wrap:wrap}

/* Journey teaser */
.journey-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:0 0 48px;border-top:1px solid var(--line-dark)}
.journey-strip li{padding:28px 22px 8px 0;position:relative}
.journey-strip li+li{padding-left:22px;border-left:1px solid var(--line-dark)}
.journey-n{display:block;font-family:var(--display);font-size:44px;line-height:1;color:var(--blue-soft);margin-bottom:18px}
.journey-strip h3{color:#fff;font-size:17px}
.journey-strip p{font-size:14px;line-height:1.55}

/* Commitments */
.commitments{display:grid;gap:0;border-top:1px solid var(--line);margin:0}
.commitments li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:24px 0;border-bottom:1px solid var(--line)}
.commitments span{font-family:var(--display);font-size:22px;color:var(--blue);line-height:1.2}
.commitments p{color:var(--muted);margin:0;font-size:15px}
.commitments--dark{border-color:var(--line-dark)}
.commitments--dark li{border-color:var(--line-dark)}
.commitments--dark span{color:var(--blue-soft)}
.commitments--dark p{color:#cdd8e6}

/* Founder band (home) */
.founder-band{background:var(--paper);padding:var(--section) 0}
.founder-band-inner{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:center}
.founder-photo{position:relative;display:block;overflow:hidden;background:var(--navy);aspect-ratio:4/5;max-width:440px}
.founder-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .8s var(--ease)}
.founder-photo:hover img{transform:scale(1.03)}
.play-badge{position:absolute;left:16px;top:16px;display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--navy);padding:10px 14px;font-size:13px;font-weight:700}

/* Closing CTA */
.closing{background:var(--blue);color:#fff;padding:clamp(64px,8vw,110px) 0}
.closing-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:end}
.closing h2{margin:0;font-size:clamp(42px,5.4vw,84px)}
.closing p{color:#e3eaff}
.closing-contact{display:flex;flex-wrap:wrap;gap:12px 36px;margin:30px 0 0;padding-top:22px;border-top:1px solid #ffffff40}
.closing-contact li{display:flex;flex-direction:column;font-size:15px;font-weight:600}
.closing-contact li>span:first-child{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#c3d3fb}
.closing-contact a:hover{text-decoration:underline;text-underline-offset:3px}

/* Footer */
.site-footer{background:var(--navy-2);color:#fff;padding:72px 0 32px;font-size:14px}
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:48px}
.footer-brand img{width:170px;margin-bottom:22px}
.footer-brand p{color:#b9c9db;max-width:34ch}
.footer-top>div:not(.footer-brand){display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.footer-top a{color:#dbe4ef}
.footer-top a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer-top span{color:#b9c9db}
.footer-h{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-soft);margin-bottom:6px}
.footer-legal{border-top:1px solid #ffffff22;padding-top:24px;display:grid;gap:8px}
.footer-legal p{font-size:12.5px;color:#9fb0c4;margin:0;max-width:none}
.footer-legal b{color:#dbe4ef;font-weight:700}
.footer-legal a{color:#dbe4ef;text-decoration:underline;text-underline-offset:3px}

/* Page intro */
.page-intro{padding:clamp(56px,8vw,112px) 0 clamp(40px,5vw,72px)}
.page-intro h1{margin-bottom:30px}
.page-intro-lead{max-width:760px}
.page-intro-lead .lead{color:var(--muted)}
.legend{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;align-items:center;margin-top:28px;font-size:14px;color:var(--muted)}
.legend .status{justify-self:start}

/* Divisions page blocks */
.division-block{padding:clamp(56px,7vw,100px) 0;border-top:1px solid var(--line)}
.division-block--alt{background:var(--paper)}
.division-block-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.division-block--alt .division-block-img{order:2}
.division-block-img{overflow:hidden;background:var(--navy)}
.division-block-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.division-block-copy{display:flex;flex-direction:column;align-items:flex-start}
.division-block-copy h2{margin:16px 0 18px;font-size:clamp(40px,4.4vw,68px)}
.division-block-copy .lead{color:var(--muted);font-size:clamp(17px,1.4vw,19px)}
.division-n{font-family:var(--display);font-size:20px;color:var(--muted);margin-bottom:12px;letter-spacing:.04em}
.group-list{width:100%;margin:8px 0 28px;border-top:1px solid var(--line)}
.group-list li{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:14px}
.group-list span{color:var(--muted)}

/* Division page */
.division-hero-page{background:var(--paper);overflow:hidden}
.division-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,80px);align-items:stretch;min-height:clamp(520px,64vh,720px);padding-right:0}
.division-hero-text{padding:clamp(28px,4vw,48px) 0 clamp(48px,6vw,80px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.division-hero-text h1{margin:18px 0 22px;font-size:clamp(48px,6vw,96px)}
.division-hero-text .lead{color:var(--muted);max-width:520px;margin-bottom:30px}
.division-hero-img{position:relative;min-height:360px}
.division-hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted);margin-bottom:28px}
.breadcrumb a:hover{color:var(--ink);text-decoration:underline}
.readiness{border:1px solid #bfe0db;background:var(--teal-tint);padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.readiness p{margin:0;font-size:15.5px}
.readiness--focus{border-color:#c9d7f8;background:var(--blue-tint)}
.readiness--focus .status--focus{background:#fff}
.readiness .status--development{background:#fff}
.group-nav{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 44px}
.group-nav a{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid #c9d3de;background:#fff;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s}
.group-nav a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.group-nav small{font-size:12px;color:var(--muted)}
.group-nav a:hover small{color:#cdd8e6}
.product-group+.product-group{margin-top:clamp(48px,6vw,80px)}
.group-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:24px;align-items:baseline;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid #cfd8e2}
.group-head h3{font-family:var(--display);font-size:clamp(26px,2.4vw,34px);text-transform:uppercase;font-weight:600;margin:0}
.group-head p{color:var(--muted);margin:0;font-size:15px}

/* Spec guides */
.guide{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.guide-block{border:1px solid var(--line);padding:clamp(22px,3vw,40px);min-width:0}
.guide-block--wide{grid-column:1/-1}
.guide-block>p{color:var(--muted);font-size:15px}
.guide-note{font-size:13px!important;margin:18px 0 0;padding-top:14px;border-top:1px dashed var(--line)}
.gsm-scale{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:28px 0 0}
.gsm-scale li{padding:0 0 4px}
.gsm-scale li::before{content:"";display:block;height:calc(10px + var(--w)*9px);background:var(--blue);opacity:calc(.25 + var(--w)*.19);margin:calc((4 - var(--w))*9px) 0 14px;transition:opacity .2s}
.gsm-scale li:hover::before{opacity:1}
.gsm-scale b{font-family:var(--display);font-size:28px;font-weight:600;display:block;line-height:1}
.gsm-scale span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.gsm-scale p{font-size:14px;color:var(--muted);margin:8px 0 0;padding-right:12px}
.spec-table{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:16px}
.spec-table th,.spec-table td{text-align:left;padding:11px 12px 11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table thead th{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.spec-table tbody th{font-weight:700;width:44%}
.spec-table td{color:var(--muted)}
.glossary{margin:16px 0 0}
.glossary div{padding:12px 0;border-bottom:1px solid var(--line)}
.glossary dt{font-weight:700;font-size:15px}
.glossary dd{margin:2px 0 0;color:var(--muted);font-size:14.5px}
.compare{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:20px}
.compare>div{border-top:3px solid var(--blue);padding-top:16px}
.compare p{font-size:14.5px;color:var(--muted);margin:0}

/* Customisation */
.custom-list{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line-dark);margin:0}
.custom-list li{padding:26px 24px 22px 0;border-bottom:1px solid var(--line-dark)}
.custom-list li:nth-child(even){padding-left:24px;border-left:1px solid var(--line-dark)}
.custom-list h3{color:#fff}
.custom-list p{font-size:15px;margin:0}
.custom-imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}
.custom-imgs img{width:100%;aspect-ratio:4/3;object-fit:cover}
.custom-imgs img:only-child{grid-column:1/-1;aspect-ratio:16/9}

/* Buyers */
.buyer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:0}
.buyer-grid li{padding:26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.buyer-grid p{color:var(--muted);font-size:14.5px;margin:0}

/* Quote / sample */
.quote-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px)}
.checklist{margin:24px 0}
.checklist li{position:relative;padding:10px 0 10px 32px;border-bottom:1px solid var(--line)}
.checklist li::before{content:"";position:absolute;left:2px;top:17px;width:14px;height:8px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.checklist--sm li{font-size:14px;padding:8px 0 8px 28px}
.checklist--sm li::before{top:14px;width:12px;height:7px}
.crosslist{margin:24px 0}
.crosslist li{position:relative;padding:10px 0 10px 32px;border-bottom:1px solid var(--line)}
.crosslist li::before,.crosslist li::after{content:"";position:absolute;left:4px;top:21px;width:14px;height:2px;background:#9aa9ba;transform:rotate(45deg)}
.crosslist li::after{transform:rotate(-45deg)}
.sample-card{background:#fff;border:1px solid var(--line);padding:clamp(24px,3vw,40px)}
.sample-card p:not(.eyebrow){color:var(--muted)}
.process-mini{margin-top:var(--gap);padding:clamp(24px,3vw,40px);background:var(--navy);color:#fff}
.process-mini .eyebrow{color:var(--blue-soft)}
.process-mini ol{margin:0 0 18px}
.process-mini li{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--line-dark);font-size:15px;font-weight:600}
.process-mini li span{font-family:var(--display);color:var(--blue-soft);font-size:18px;width:26px}
.process-mini .text-link{color:#fff}

/* FAQ */
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-weight:700;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{color:var(--muted);padding-bottom:22px;margin:0}

/* Other divisions */
.other-divisions{display:grid;grid-template-columns:auto 1fr 1fr;gap:var(--gap);align-items:center}
.other-divisions .eyebrow{margin:0}
.other-division{display:flex;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);padding:12px 20px 12px 12px;transition:border-color .2s}
.other-division:hover{border-color:#b8c4d2}
.other-division img{width:72px;height:72px;object-fit:cover}
.other-division span{flex:1}
.other-division small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.other-division b{font-size:17px}

/* Approach */
.agreed{display:grid;grid-template-columns:auto 1fr;gap:16px 40px;align-items:center;padding:clamp(24px,3vw,40px);background:var(--blue-tint);border:1px solid #c9d7f8}
.agreed .eyebrow{margin:0;grid-row:span 2}
.agreed ul{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.agreed li{background:#fff;padding:7px 12px;font-weight:700;font-size:14px;border:1px solid #c9d7f8}
.agreed p{margin:0;color:var(--muted);font-size:14.5px}
.journey{padding-top:0}
.stages{position:relative;margin:0}
.stages::before{content:"";position:absolute;left:39px;top:20px;bottom:20px;width:1px;background:var(--line)}
.stage{position:relative;padding:0 0 clamp(48px,6vw,80px)}
.stage-head{display:grid;grid-template-columns:80px 1fr;gap:clamp(20px,3vw,40px);align-items:start}
.stage-n{position:relative;z-index:1;width:80px;height:80px;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--display);font-size:34px;font-weight:600}
.stage h2{font-size:clamp(32px,3.4vw,52px);margin:6px 0 12px}
.stage .lead{color:var(--muted);max-width:720px}
.stage-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin:28px 0 0 calc(80px + clamp(20px,3vw,40px))}
.stage-cols>div{border-top:2px solid var(--line);padding-top:16px}
.stage-cols h3{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.stage-cols p{font-size:15px;margin:0}
.stage-cols .stage-next{border-top-color:var(--blue)}
.stage-cols .stage-next h3{color:var(--blue)}
.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);margin:0}
.diff-grid li{padding:30px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.diff-grid span{display:block;font-family:var(--display);font-size:22px;color:var(--blue);margin-bottom:22px}
.diff-grid p{color:var(--muted);font-size:15px;margin:0}
.never{margin:0;border-top:1px solid var(--line)}
.never li{padding:20px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.never b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}

/* About */
.wide-figure{margin:0}
.wide-figure img{width:100%;aspect-ratio:21/9;object-fit:cover;background:var(--navy)}
.wide-figure figcaption{font-size:12.5px;color:var(--muted);padding-top:12px}
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap)}
.role-grid h3{font-family:var(--display);font-size:28px;text-transform:uppercase;font-weight:600;margin:0}
.anchor-alias{position:absolute;margin-top:-96px}
.founder{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:center}
.message-film{position:relative;margin:0;max-width:420px;aspect-ratio:9/16;background:#000;overflow:hidden}
.message-film video{width:100%;height:100%;object-fit:cover}
.message-play{position:absolute;inset:0;width:100%;border:0;background:linear-gradient(0deg,rgba(9,24,42,.75),transparent 55%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:14px;padding:0 0 32px;font-weight:700}
.message-play .ring{width:68px;height:68px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;transition:transform .2s var(--ease)}
.message-play:hover .ring{transform:scale(1.06)}
.message-play[hidden]{display:none}
.person{display:flex;flex-direction:column;margin:0 0 20px;padding:14px 0;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.person b{font-size:18px;color:#fff}
.person span{font-size:14px;color:#b9c9db}
.people{margin:0 0 20px;border-top:1px solid var(--line)}
.people li{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line)}
.people b{font-size:19px}
.people span{color:var(--muted)}
.pk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin:0}
.pk-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:20px;background:var(--navy)}
.pk-grid p{color:var(--muted);font-size:15px}
.company-card{margin:0;background:#fff;border:1px solid var(--line);padding:clamp(22px,3vw,40px)}
.company-card>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.company-card dt{font-size:13px;font-weight:700;color:var(--muted)}
.company-card dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.company-card a{color:var(--blue)}
.company-card .company-verify{display:block;border:0;padding-top:22px}
.company-card .company-verify a{color:#fff}

/* Enquiry */
.enquiry{padding:clamp(48px,6vw,88px) 0 var(--section)}
.enquiry-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.enquiry-main h1{font-size:clamp(48px,6vw,92px);margin-bottom:20px}
.enquiry-main>.lead{color:var(--muted);max-width:620px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:36px 0 32px}
.steps li{border-top:3px solid var(--line);padding-top:10px;font-size:13px;font-weight:700;color:var(--muted);transition:border-color .2s,color .2s}
.steps li span{display:block;font-family:var(--display);font-size:18px}
.steps li.is-active{border-top-color:var(--blue);color:var(--ink)}
.steps li.is-done{border-top-color:var(--navy);color:var(--ink)}
.brief-form fieldset{border:0;padding:0;margin:0;min-width:0}
.brief-form legend{font-family:var(--display);font-size:clamp(28px,2.6vw,38px);font-weight:600;text-transform:uppercase;line-height:1;margin-bottom:24px;padding:0}
.brief-form legend:focus{outline:none}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:22px;min-width:0}
.field>label,.field>.label{font-size:14px;font-weight:700}
.field em{font-style:normal;font-weight:600;font-size:12px;color:var(--muted);margin-left:6px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.brief-form input:not([type=radio]):not([type=checkbox]),.brief-form select,.brief-form textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #b8c4d2;background:#fff;border-radius:0;font-size:16px;transition:border-color .15s,box-shadow .15s}
.brief-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 8 5 5 5-5' fill='none' stroke='%2310243a' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.brief-form textarea{min-height:110px;resize:vertical;line-height:1.5}
.brief-form input:hover,.brief-form select:hover,.brief-form textarea:hover{border-color:#8a9bb0}
.brief-form input:focus,.brief-form select:focus,.brief-form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #1d4ed833}
.brief-form [aria-invalid=true]{border-color:#b42318!important}
.field-error{color:#b42318;font-size:13px;font-weight:600;margin:0}
.form-help{color:var(--muted);font-size:14px;margin:-12px 0 22px}
.division-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;inset:0}
.choice span{display:flex;flex-direction:column;gap:2px;height:100%;padding:16px 16px 14px 48px;border:1px solid #b8c4d2;background:#fff;transition:border-color .15s,background .15s;position:relative}
.choice span::before{content:"";position:absolute;left:16px;top:18px;width:18px;height:18px;border:1.5px solid #8a9bb0;border-radius:50%;background:#fff;transition:border .15s}
.choice b{font-size:15.5px}
.choice small{font-size:12.5px;color:var(--muted)}
.choice:hover span{border-color:#8a9bb0}
.choice input:checked+span{border-color:var(--blue);background:var(--blue-tint)}
.choice input:checked+span::before{border:6px solid var(--blue)}
.choice input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.pill-choice{display:flex;flex-wrap:wrap;gap:8px}
.pill{position:relative;cursor:pointer}
.pill input{position:absolute;opacity:0;inset:0}
.pill span{display:inline-block;padding:10px 14px;border:1px solid #b8c4d2;font-size:14px;font-weight:600;background:#fff;transition:all .15s}
.pill:hover span{border-color:#8a9bb0}
.pill input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.pill input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.checks{display:flex;flex-wrap:wrap;gap:8px}
.dynamic-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.dynamic-fields .field--wide{grid-column:1/-1}
.form-nav{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:12px;padding-top:24px;border-top:1px solid var(--line)}
.form-nav [data-next]{margin-left:auto}
.brief-ref{display:flex;gap:10px;align-items:baseline;font-size:13px;color:var(--muted);margin-bottom:14px}
.brief-ref b{font-family:var(--display);font-size:22px;color:var(--ink);letter-spacing:.04em}
.brief-summary{border:1px solid var(--line);padding:4px 24px;margin-bottom:24px}
.brief-summary h3{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:20px 0 4px}
.brief-summary dl{margin:0}
.brief-summary dl>div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.brief-summary dl>div:last-child{border-bottom:0}
.brief-summary dt{color:var(--muted);font-weight:600}
.brief-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.brief-summary dd.empty{color:#8a9bb0}
.send-box{background:var(--paper);padding:24px}
.send-box>p{font-size:14.5px;color:var(--muted)}
.send-box>p b{color:var(--ink)}
.send-actions{display:flex;flex-wrap:wrap;gap:10px}
.send-status{margin:14px 0 0;font-size:14px;font-weight:600;color:var(--teal);min-height:1.2em}
.send-status.is-error{color:#b42318}
.brief-done{border:1px solid #c9d7f8;background:var(--blue-tint);padding:clamp(24px,4vw,48px);margin-top:8px}
.brief-done:focus{outline:none}
.brief-done h2{font-size:clamp(36px,4vw,56px)}
.done-steps{counter-reset:d;margin:24px 0 28px}
.done-steps li{counter-increment:d;position:relative;padding:14px 0 14px 46px;border-bottom:1px solid #c9d7f8}
.done-steps li::before{content:counter(d,decimal-leading-zero);position:absolute;left:0;top:12px;font-family:var(--display);font-size:22px;color:var(--blue)}
.done-steps a{color:var(--blue);text-decoration:underline}
.notice{background:#fff7e6;border:1px solid #f3d9a4;padding:14px 16px}
.enquiry-aside{position:sticky;top:110px;display:grid;gap:16px}
.aside-card{background:var(--navy);color:#fff;padding:28px}
.aside-card h2{font-size:32px;margin-bottom:18px}
.aside-card .eyebrow{color:var(--blue-soft)}
.contact-list{margin:0 0 20px}
.contact-list li{display:flex;flex-direction:column;padding:11px 0;border-bottom:1px solid var(--line-dark);font-size:15px;font-weight:600;overflow-wrap:anywhere}
.contact-list li>span:first-child{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9fb0c4}
.contact-list a:hover{text-decoration:underline;text-underline-offset:3px}
.aside-person{display:flex;align-items:center;gap:14px}
.aside-person img{width:56px;height:56px;object-fit:cover;object-position:50% 25%;border-radius:50%}
.aside-person p{margin:0;display:flex;flex-direction:column;font-size:14px}
.aside-person span{color:#b9c9db;font-size:13px}
.aside-card--plain{background:var(--paper);color:var(--ink)}
.aside-card--plain .eyebrow{color:var(--blue)}
.aside-card--plain .checklist{margin:0 0 14px}
.aside-legal{font-size:12px;color:var(--muted);margin:0}
.aside-legal a{text-decoration:underline}

/* 404 */
.notfound h1{font-size:clamp(56px,8vw,120px)}
.notfound-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;border-top:1px solid var(--line);margin-top:32px}
.notfound-links a{display:flex;justify-content:space-between;align-items:center;padding:18px 16px 18px 0;border-bottom:1px solid var(--line);font-weight:700}
.notfound-links a:hover{color:var(--blue)}


/* ---------- v8: trust-led home ---------- */
.util-bar{background:var(--navy-2);color:#c9d5e3;font-size:12.5px;transition:background .25s}
.util-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:36px}
.util-inner p{margin:0;display:flex;align-items:center;gap:8px;max-width:none}
.util-inner .ico{width:15px;height:15px;color:var(--blue-soft)}
.util-inner a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ffffff55}
.util-inner a:hover{text-decoration-color:#fff}
.util-contact{gap:20px!important}
.site-header.is-dark:not(.is-scrolled):not(.menu-open) .util-bar{background:rgba(6,16,28,.55)}

.hero--home{justify-content:center}
.hero--home .hero-media-wrap{position:absolute;inset:0}
.hero--home .hero-media{object-position:100% 100%}
.hero--home h1{font-size:clamp(52px,5.6vw,92px);max-width:none}
.hero--home .hero-lead{max-width:500px}
.hero--home picture{position:absolute;inset:0}
.hero--home .hero-content{padding-top:168px;padding-bottom:48px}
.hero--home .hero-divisions{margin-top:40px;max-width:780px}
.hero-divisions a{font-size:14px}
.hero--home .hero-shade{background:linear-gradient(90deg,rgba(9,24,42,.92) 0%,rgba(9,24,42,.7) 32%,rgba(9,24,42,.1) 58%,transparent 75%),linear-gradient(0deg,rgba(9,24,42,.7),transparent 30%)}
.hero-divisions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:760px;margin:56px 0 0;border-top:1px solid #ffffff30}
.hero-divisions a{display:flex;flex-direction:column;gap:2px;padding:16px 18px 4px 0;font-weight:700;font-size:15px;color:#fff;transition:color .2s}
.hero-divisions li+li a{padding-left:18px;border-left:1px solid #ffffff30}
.hero-divisions a span{font-family:var(--display);font-size:15px;color:var(--blue-soft);font-weight:600}
.hero-divisions small{font-size:12px;font-weight:600;color:#aebdd0}
.hero-divisions a:hover{color:var(--blue-soft)}

.who-grid{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(32px,7vw,110px);align-items:start}
.who-film{position:sticky;top:150px;max-width:400px}
.who-copy h2{margin-bottom:22px}
.who-copy>.lead{color:var(--muted);margin-bottom:34px}
.verify-list{margin:0;border-top:1px solid var(--line)}
.verify-list li{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:26px 0;border-bottom:1px solid var(--line)}
.verify-n{font-family:var(--display);font-size:26px;color:var(--blue);line-height:1.1}
.verify-list h3{font-size:19px}
.verify-list p{color:var(--muted);margin-bottom:10px}
.verify-list p b{color:var(--ink)}
.verify-contacts{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0!important}
.verify-contacts a{color:var(--blue);font-weight:700}
.verify-contacts span{color:var(--muted)}

.div-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.div-card{display:flex;flex-direction:column;background:#fff;border:1px solid #e3e8ee;transition:border-color .2s,box-shadow .25s}
.div-card:hover{border-color:#b8c4d2;box-shadow:0 18px 36px -28px rgba(16,36,58,.5)}
.div-card-img{display:block;overflow:hidden;background:var(--navy);aspect-ratio:4/3}
.div-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.div-card:hover .div-card-img img{transform:scale(1.03)}
.div-card-body{padding:clamp(20px,2.2vw,30px);display:flex;flex-direction:column;flex:1}
.div-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.div-card-n{font-family:var(--display);font-size:22px;color:#9aa9ba}
.div-card h3{font-family:var(--display);font-size:clamp(28px,2.5vw,36px);text-transform:uppercase;font-weight:600;line-height:1;margin-bottom:12px}
.div-card h3 a:hover{color:var(--blue)}
.div-card-body>p{color:var(--muted);font-size:15px}
.div-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 14px}
.div-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;background:#e9ecef}
.div-thumbs span{display:block;font-size:12px;line-height:1.35;font-weight:600;margin-top:6px;color:var(--ink)}
.div-count{font-size:12.5px!important;margin-top:auto;margin-bottom:16px}

.writing-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,96px);align-items:start}
.writing-grid .lead{color:var(--muted)}
.st-legend{margin:28px 0 22px;display:grid;gap:12px}
.st-legend li{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center;font-size:14.5px;color:var(--muted)}
.st{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.04em;padding:4px 8px;white-space:nowrap;border:1px solid;justify-self:start}
.st--req{color:var(--navy);background:#eef2f6;border-color:#cfd8e2}
.st--ok{color:var(--teal);background:var(--teal-tint);border-color:#bfe0db}
.st--open{color:#92400e;background:#fff7e6;border-color:#f3d9a4}
.sheet-wrap{border:1px solid var(--line);background:#fff;box-shadow:0 30px 60px -40px rgba(16,36,58,.45)}
.sheet-tabs{display:flex;border-bottom:1px solid var(--line);background:var(--paper);overflow-x:auto}
.sheet-tabs button{flex:1;background:none;border:0;border-bottom:3px solid transparent;padding:14px 16px;font-size:14px;font-weight:700;color:var(--muted);white-space:nowrap;transition:color .15s,border-color .15s,background .15s}
.sheet-tabs button:hover{color:var(--ink)}
.sheet-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--blue);background:#fff}
.sheet{padding:clamp(20px,3vw,34px)}
.sheet-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:2px solid var(--ink);margin-bottom:6px}
.sheet-head small{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sheet-head b{display:block;font-family:var(--display);font-size:30px;text-transform:uppercase;font-weight:600;line-height:1.05;margin-top:4px}
.sheet-head span{font-size:13px;color:var(--muted)}
.sheet-ref{text-align:right;font-family:var(--display);font-size:20px;white-space:nowrap}
.sheet-table{width:100%;border-collapse:collapse;font-size:14px}
.sheet-table thead th{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;padding:12px 10px 8px 0}
.sheet-table tbody th{text-align:left;font-weight:700;width:22%;padding:12px 10px 12px 0;vertical-align:top;border-top:1px solid var(--line)}
.sheet-table td{padding:12px 10px 12px 0;vertical-align:top;border-top:1px solid var(--line)}
.sheet-table td small{display:block;color:#92400e;font-size:12.5px;margin-top:2px}
.sheet-table td:last-child{width:1%;padding-right:0}
.sheet-foot{font-size:12.5px;color:var(--muted);margin:16px 0 0;padding-top:14px;border-top:1px dashed var(--line)}
.faq--large summary{font-size:19px;padding:24px 44px 24px 0}
.faq--large details p{font-size:16px}
.diff-grid--white{background:#fff}

@media (max-width:1180px){
}
@media (max-width:960px){
  .util-contact{display:none!important}
  .who-grid,.writing-grid{grid-template-columns:minmax(0,1fr)}
  .who-film{position:relative;top:0;max-width:340px}
  .hero--home .hero-content{padding-top:150px}
}
@media (max-width:700px){
  .util-bar{font-size:11.5px}
  .util-long{display:none}
  .who-film{max-width:260px}
  .util-inner{min-height:32px}
  .hero--home{min-height:0;display:block;padding-top:104px}
  .hero--home .hero-media-wrap{position:relative;aspect-ratio:16/11}
  .hero--home .hero-media{object-position:50% 50%}
  .hero--home picture{position:relative;display:block;height:100%}
  .hero--home .hero-shade{display:none}
  .hero--home .hero-content{padding-top:32px;padding-bottom:40px}
  .hero-divisions{grid-template-columns:1fr;margin-top:32px}
  .hero-divisions a,.hero-divisions li+li a{flex-direction:row;align-items:baseline;gap:10px;padding:13px 0;border-left:0;border-bottom:1px solid #ffffff20}
  .hero-divisions small{margin-left:auto}
  .div-cards{grid-template-columns:1fr}
  .verify-list li{grid-template-columns:40px 1fr;gap:10px}
  .st-legend li{grid-template-columns:1fr;gap:4px}
  .sheet-table thead{display:none}
  .sheet-table tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;border-top:1px solid var(--line);padding:12px 0}
  .sheet-table tbody th,.sheet-table td{border:0;padding:0;width:auto}
  .sheet-table td:nth-child(2){grid-column:1/-1;grid-row:2}
  .sheet-table td:last-child{grid-column:2;grid-row:1;width:auto}
  .sheet-head b{font-size:24px}
  .faq--large summary{font-size:17px}
}


/* ---------- v9: buyer tools, quality, comparison ---------- */
.submenu--text{width:320px}
.submenu--text .submenu-item{padding:12px 10px}
.submenu--text .submenu-item b{display:block}
.submenu--text .submenu-item small{text-transform:none;letter-spacing:0;font-weight:500;font-size:13px}
.st--meas{color:#fff;background:var(--teal);border-color:var(--teal)}

/* Core set */
.core-set{background:linear-gradient(180deg,#fff 0,#fff 30%,var(--paper) 30%)}
.core-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center}
.core-copy .lead{color:var(--muted)}
.core-status{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:14px;color:var(--muted);padding:18px 0;margin:6px 0 26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none}
.core-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);background:#fff;border:1px solid var(--line);box-shadow:0 30px 60px -44px rgba(16,36,58,.5)}
.core-card>img{width:100%;height:100%;object-fit:cover;background:#e9ecef;min-height:100%}
.core-table-wrap{padding:clamp(18px,2.4vw,28px)}
.core-table{width:100%;border-collapse:collapse;font-size:14px}
.core-table th,.core-table td{text-align:left;padding:10px 8px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.core-table thead th{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.core-table tbody th{font-weight:700}
.core-table small{display:block;color:var(--muted);font-size:12.5px}
.core-specs{margin:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.core-specs dt{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.core-specs dd{margin:0;font-size:14px;font-weight:600}
.core-foot{font-size:12.5px;color:var(--muted);margin:16px 0 0;padding-top:12px;border-top:1px dashed var(--line)}

/* Converter */
.converter{border:1px solid var(--line);background:#fff;padding:clamp(18px,2.6vw,30px)}
.guide-extra{margin-top:var(--gap)}
.guide-extra>p{margin-bottom:18px}
.conv-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.pill-btn{background:#fff;border:1px solid #b8c4d2;padding:8px 12px;font-size:13.5px;font-weight:700;display:inline-flex;gap:8px;align-items:baseline;transition:all .15s}
.pill-btn small{font-weight:500;color:var(--muted);font-size:12px}
.pill-btn:hover{border-color:var(--ink)}
.pill-btn.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.pill-btn.is-on small{color:#cdd8e6}
.conv-grid{display:grid;grid-template-columns:1fr;gap:18px}
.conv-grid fieldset{border:0;padding:0;margin:0;min-width:0}
.conv-grid legend{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;padding:0}
.conv-inline{display:flex;align-items:center;gap:8px}
.conv-inline input,.conv-inline select{width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid #b8c4d2;background:#fff;font-size:17px;font-weight:600;border-radius:0}
.conv-inline input:focus,.conv-inline select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #1d4ed833}
.conv-inline select{font-size:14px;width:auto;flex:none}
.conv-inline>span{color:var(--muted);font-weight:700}
.conv-weight .conv-inline{align-items:flex-end}
.conv-weight .conv-inline>span{padding-bottom:12px}
.conv-field{display:flex;flex-direction:column;flex:1;min-width:0}
.conv-field span{order:-1;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:4px}
.conv-field input{font-size:20px!important}
.conv-out{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:22px;background:var(--navy);color:#fff}
.conv-out div{padding:16px 18px;border-left:1px solid var(--line-dark)}
.conv-out div:first-child{border-left:0}
.conv-out span{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9fb0c4}
.conv-out b{font-size:15.5px}

/* Resources cards */
.res-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);margin:0}
.res-cards a{display:flex;flex-direction:column;height:100%;padding:26px 24px 22px;border:1px solid var(--line);transition:border-color .2s,background .2s}
.res-cards a:hover{border-color:var(--ink);background:var(--paper)}
.res-k{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.res-cards p{color:var(--muted);font-size:14.5px;margin-bottom:18px}
.res-cards .text-link{margin-top:auto;align-self:flex-start}

/* Comparison */
.compare-table{border:1px solid var(--line);background:#fff}
.ct-row{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr) minmax(0,1fr);border-top:1px solid var(--line)}
.ct-row:first-child{border-top:0}
.ct-row>*{padding:18px 22px;font-size:15px}
.ct-row>b{font-weight:700}
.ct-row>span{color:var(--muted)}
.ct-row .ct-us{color:var(--ink);background:var(--blue-tint);font-weight:600;border-left:3px solid var(--blue)}
.ct-head>span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:14px;padding-bottom:14px}
.ct-head>span:last-child{color:var(--blue);background:var(--blue-tint);border-left:3px solid var(--blue)}

/* Quality page */
.qc-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:0;border-top:3px solid var(--navy)}
.qc-steps li{padding:24px 20px 10px 0;position:relative}
.qc-steps li+li{padding-left:20px;border-left:1px solid #cfd8e2}
.qc-n{display:block;font-family:var(--display);font-size:40px;color:var(--blue);line-height:1;margin-bottom:16px}
.qc-steps li:last-child .qc-n{color:#92400e}
.qc-steps p{color:var(--muted);font-size:14.5px}
.quote-list{margin:0;border-top:1px solid var(--line)}
.quote-list>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.quote-list dt{font-weight:700}
.quote-list dd{margin:0;color:var(--muted)}
.custom-list--single{grid-template-columns:1fr 1fr}

/* Resources page */
.toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:-24px;margin-bottom:8px}
.toc a{padding:9px 14px;border:1px solid #c9d3de;font-size:14px;font-weight:600}
.toc a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.inco-table tbody th{width:12%;font-family:var(--display);font-size:20px}
.inco-table td:nth-child(2){width:26%;color:var(--ink);font-weight:600}
.gloss-more{display:grid;gap:var(--gap);margin-top:var(--gap)}

/* Privacy */
.prose{max-width:820px}
.prose h2{font-size:clamp(32px,3.4vw,48px);margin:40px 0 18px}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:28px}
.prose p{color:var(--muted)}
.prose a{color:var(--blue);text-decoration:underline}
.company-card--plain{margin:8px 0 20px}

/* Form additions */
.qty{display:flex}
.qty input{flex:1;min-width:0}
.qty select{width:auto!important;flex:none;border-left:0!important;background-color:var(--paper)!important}
.field-help{font-size:13px;color:var(--blue);text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--muted);margin:4px 0 8px;cursor:pointer}
.consent input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--blue)}
.consent a{color:var(--blue);text-decoration:underline}

@media (max-width:1180px){
  .res-cards{grid-template-columns:1fr 1fr}
  .qc-steps{grid-template-columns:1fr 1fr 1fr;row-gap:24px}
  .qc-steps li:nth-child(4){padding-left:0;border-left:0}
  .core-card{grid-template-columns:1fr}
  .core-card>img{aspect-ratio:16/9;min-height:0}
}
@media (max-width:960px){
  .core-grid{grid-template-columns:minmax(0,1fr)}
  .core-set{background:var(--paper)}
  .custom-list--single{grid-template-columns:1fr}
}
@media (max-width:700px){
  .conv-grid{grid-template-columns:1fr}
  .conv-out{grid-template-columns:1fr}
  .conv-out div{border-left:0;border-top:1px solid var(--line-dark)}
  .conv-out div:first-child{border-top:0}
  .res-cards{grid-template-columns:1fr}
  .ct-head{display:none}
  .ct-row{grid-template-columns:1fr}
  .ct-row>*{padding:10px 16px}
  .ct-row>b{padding-top:16px;background:var(--paper)}
  .ct-row>span:not(.ct-us)::before{content:"Going direct: ";font-weight:700;color:var(--ink)}
  .ct-row .ct-us::before{content:"With us: ";font-weight:800;color:var(--blue)}
  .ct-row .ct-us{padding-bottom:14px}
  .qc-steps{grid-template-columns:1fr;border-top:0}
  .qc-steps li,.qc-steps li+li{padding:18px 0 6px 60px;border-left:0;border-top:1px solid #cfd8e2}
  .qc-n{position:absolute;left:0;top:16px;font-size:32px}
  .quote-list>div{grid-template-columns:1fr;gap:2px}
  .core-specs{grid-template-columns:1fr}
  .core-table{font-size:13px}
  .inco-table thead{display:none}
  .inco-table tr{display:grid;grid-template-columns:auto 1fr;gap:0 12px;border-bottom:1px solid var(--line);padding:10px 0}
  .inco-table th,.inco-table td{border:0;padding:0!important;width:auto!important}
  .inco-table td:last-child{grid-column:1/-1}
  .toc{margin-top:-12px}
}

@media (min-width:701px) and (max-width:1180px){
  .hero--home .hero-shade{background:linear-gradient(90deg,rgba(9,24,42,.96) 0%,rgba(9,24,42,.88) 45%,rgba(9,24,42,.35) 70%,transparent 90%)}
  .hero--home .hero-media{object-position:100% 100%}
}
/* Home hero v10: image as a right-hand panel that fades into navy, so the full scene shows on any screen shape */
@media (min-width:701px){
  .hero--home{background:#0d1c30}
  .hero--home .hero-media-wrap{inset:0}
  .hero--home picture{position:absolute;inset:0}
  .hero--home .hero-media{object-fit:cover;object-position:100% 55%}
  .hero--home .hero-shade{background:linear-gradient(0deg,rgba(9,24,42,.45),transparent 25%),linear-gradient(90deg,rgba(13,28,48,.55) 0,transparent 40%)}
  .hero--home .hero-content{max-width:calc(var(--max) + var(--pad)*2)}
  .hero--home .hero-lead{max-width:470px}
}
@media (min-width:701px) and (max-width:1180px){
  .hero--home .hero-media{object-position:100% 55%}
  .hero--home .hero-shade{background:linear-gradient(90deg,rgba(13,28,48,.85) 0,rgba(13,28,48,.4) 50%,transparent 75%)}
}
@media (min-width:1181px){.div-card{flex-direction:row}.div-card-img{width:42%;flex:none;aspect-ratio:auto}}
@media (min-width:701px) and (max-width:1180px){.hero-divisions{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-divisions li:nth-child(3) a{padding-left:0;border-left:0}.hero-divisions li:nth-child(n+3){border-top:1px solid #ffffff20}}
/* Reveal motion: content is visible without JS; one quiet settle per element. */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .main-nav li>a{padding:10px 9px;font-size:13.5px}
  .header-inner{gap:18px}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .journey-strip{grid-template-columns:repeat(3,1fr);row-gap:28px}
  .journey-strip li:nth-child(4){padding-left:0;border-left:0}
  .footer-top{grid-template-columns:1fr 1fr 1fr}
  .footer-brand{grid-column:1/-1}
  .capabilities li{grid-template-columns:40px 1fr}
  .capabilities span{grid-column:2}
}
@media (max-width:960px){
  .main-nav,.nav-cta{display:none}
  .menu-button{display:inline-flex;margin-left:auto}
  html:not(.js) .main-nav{display:block}
  .header-inner{height:72px}
  .brand{width:146px}
  html{scroll-padding-top:84px}
  .split,.section-head,.closing-inner,.founder-band-inner,.founder,.quote-grid,.division-block-top,.enquiry-grid{grid-template-columns:minmax(0,1fr)}
  .sticky-col,.enquiry-aside{position:static}
  .division-block--alt .division-block-img{order:0}
  .facts-grid{grid-template-columns:1fr 1fr}
  .fact{padding:22px 20px}
  .fact:nth-child(3){border-left:0;padding-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .division-pair{grid-template-columns:1fr}
  .division-hero-grid{grid-template-columns:1fr;min-height:0;padding-right:var(--pad)}
  .division-hero-img{min-height:0;order:-1;margin:0 calc(var(--pad)*-1)}
  .division-hero-img img{position:static;aspect-ratio:16/10}
  .guide{grid-template-columns:1fr}
  .stage-cols{grid-template-columns:1fr;margin-left:calc(80px + clamp(20px,3vw,40px))}
  .diff-grid,.pk-grid{grid-template-columns:1fr 1fr}
  .other-divisions{grid-template-columns:1fr}
  .founder-photo,.message-film{max-width:360px}
  .agreed{grid-template-columns:1fr}
  .agreed .eyebrow{grid-row:auto}
  .group-head{grid-template-columns:1fr;gap:6px}
}
@media (max-width:700px){
  body{font-size:15.5px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product-body{padding:14px 14px 12px}
  .product-body h3{font-size:15.5px}
  .product-body>p{font-size:13px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .spec-tags span{font-size:10.5px;padding:2px 6px}
  .card-cta{font-size:12.5px}
  .card-cta .ico{display:none}
  .cta-long{display:none}
  .hero{min-height:max(640px,100svh)}
  .hero-content{padding-top:120px;padding-bottom:96px}
  .hero-shade{background:linear-gradient(0deg,rgba(9,24,42,.96) 0%,rgba(9,24,42,.82) 45%,rgba(9,24,42,.35) 100%)}
  .hero .actions .button{flex:1 1 100%}
  .hero-note{display:none}
  .division-hero,.division-hero-copy{min-height:460px}
  .division-hero::after{background:linear-gradient(0deg,rgba(9,24,42,.95),rgba(9,24,42,.5) 60%,rgba(9,24,42,.1))}
  .division-card{grid-template-columns:1fr}
  .division-card-img img{aspect-ratio:16/10}
  .future{grid-template-columns:1fr;gap:12px}
  .journey-strip{grid-template-columns:1fr;border-top:0}
  .journey-strip li,.journey-strip li+li{padding:18px 0 14px 64px;border-left:0;border-top:1px solid var(--line-dark)}
  .journey-n{position:absolute;left:0;top:18px;font-size:34px}
  .custom-list{grid-template-columns:1fr}
  .custom-list li:nth-child(even){padding-left:0;border-left:0}
  .group-list li{grid-template-columns:1fr;gap:2px}
  .gsm-scale{grid-template-columns:1fr 1fr;row-gap:24px}
  .compare{grid-template-columns:1fr}
  .diff-grid,.pk-grid,.role-grid{grid-template-columns:1fr}
  .stages::before{left:23px}
  .stage-head{grid-template-columns:48px 1fr;gap:16px}
  .stage-n{width:48px;height:48px;font-size:22px}
  .stage-cols{margin-left:64px}
  .company-card>div{grid-template-columns:1fr;gap:2px}
  .form-row,.dynamic-fields,.division-choice{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(4,1fr);font-size:0}
  .steps li{font-size:0}
  .steps li span{font-size:16px}
  .steps li.is-active{font-size:12px}
  .brief-summary{padding:4px 16px}
  .brief-summary dl>div{grid-template-columns:1fr;gap:0}
  .send-actions .button{flex:1 1 100%}
  .form-nav .button{flex:1}
  .footer-top{grid-template-columns:1fr 1fr}
  .wide-figure img{aspect-ratio:4/3}
  .legend{grid-template-columns:1fr;gap:6px}
  .legend span:not(.status){margin-bottom:10px}
  .people li{flex-direction:column;gap:2px}
}
@media (max-width:420px){
  .facts-grid{grid-template-columns:1fr}
  .fact{border-left:0!important;padding-left:0!important;border-top:1px solid var(--line)}
  .fact:first-child{border-top:0}
  .footer-top{grid-template-columns:1fr}
  .product-grid{gap:10px}
  .spec-tags{display:none!important}
}
/* ---------- Typography v11: one consistent scale ----------
   Display (uppercase Barlow) is reserved for page titles and section headings, at sizes that read
   as confident rather than shouting. Headings wrap naturally (no forced breaks) and are balanced.
   Hierarchy at 1440px: home hero 76 · page title 64 · section heading 44 · card title 28 · h3 18 · body 16 · fine print >= 12. */
h1,h2{text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(40px,4.4vw,68px);line-height:.98}
h2{font-size:clamp(30px,3.05vw,46px);line-height:1;margin-bottom:20px}
h1 .blue,h2 .blue,.hero h1 span{display:block}
h3{font-size:18px}
.lead{font-size:clamp(17px,1.3vw,19.5px);line-height:1.55}
p{text-wrap:pretty}

.page-intro{padding:clamp(48px,6vw,88px) 0 clamp(32px,4vw,56px)}
.page-intro h1{max-width:18ch;margin-bottom:24px}
.section-head h2{max-width:19ch}
.split h2,.sticky-col h2,.writing-grid h2,.quote-grid h2,.core-copy h2,.who-copy h2{max-width:18ch}
.division-hero-text h1{font-size:clamp(40px,4.3vw,64px);max-width:12ch}
.division-block-copy h2{font-size:clamp(32px,3.2vw,48px)}
.closing h2{font-size:clamp(34px,3.6vw,56px);max-width:20ch}
.enquiry-main h1{font-size:clamp(40px,4.4vw,64px)}
.notfound h1{font-size:clamp(44px,5vw,76px)}
.stage h2{font-size:clamp(24px,2.2vw,32px);margin:10px 0 10px}
.stage-n{width:64px;height:64px;font-size:28px}
.stages::before{left:31px}
.stage-head{grid-template-columns:64px 1fr}
.stage-cols{margin-left:calc(64px + clamp(20px,3vw,40px))}
.future--large h2{font-size:clamp(28px,2.6vw,38px)}
.brief-done h2{font-size:clamp(30px,3vw,44px)}
.prose h2{font-size:clamp(28px,2.6vw,38px)}
.aside-card h2{font-size:28px}
.brief-form legend{font-size:clamp(24px,2.2vw,32px)}
.div-card h3{font-size:clamp(24px,2vw,30px)}
.division-card-copy h3{font-size:clamp(24px,2.2vw,32px)}
.group-head h3{font-size:clamp(22px,2vw,28px)}
.role-grid h3{font-size:24px}
.sheet-head b{font-size:24px}
.journey-n{font-size:34px}
.qc-n{font-size:32px}
.verify-n,.diff-grid span,.commitments span,.capabilities li::before{font-size:20px}
.future .future-n{font-size:38px}
.gsm-scale b{font-size:24px}
.faq summary,.faq--large summary{font-size:17px}
.faq--large details p{font-size:15.5px}

/* Fine print: nothing below 12px, most at 13px+ */
.eyebrow{font-size:12px;letter-spacing:.14em}
.status,.st{font-size:12px}
.sheet-head small,.ct-head>span,.gsm-scale span,.other-division small,.submenu-item small,.division-n{font-size:12px}
.spec-tags span{font-size:12px}
.caption,.guide-note,.core-foot,.sheet-foot,.div-count,.aside-legal,.wide-figure figcaption{font-size:13px!important}
.spec-table thead th,.sheet-table thead th,.core-table thead th,.conv-out span,.contact-list span,.closing-contact span,.fact>span,.footer-h,.res-k,.submenu-item small,.core-specs dt,.stage-cols h3,.mobile-group,.conv-grid legend{font-size:12px}
.core-table small,.sheet-table td small,.div-thumbs span,.hero-divisions small,.mobile-menu .mobile-sub small{font-size:12.5px}
.footer-legal p{font-size:13px}
.util-bar{font-size:13px}

@media (max-width:700px){
  h1{font-size:clamp(36px,9.5vw,44px)}
  h2{font-size:clamp(28px,7.4vw,34px)}
  .hero h1,.hero--home h1{font-size:clamp(42px,11vw,52px)}
  .division-hero-text h1{font-size:clamp(36px,9.5vw,44px)}
  .closing h2{font-size:clamp(30px,8vw,38px)}
  .stage h2{font-size:22px}
  .stage-n{width:44px;height:44px;font-size:20px}
  .stages::before{left:21px}
  .stage-head{grid-template-columns:44px 1fr}
  .stage-cols{margin-left:60px}
  .lead{font-size:17px}
  .util-bar{font-size:11.5px}
  .product-body>p{font-size:13.5px}
  .spec-tags span{font-size:11.5px}
}

/* Sentence breaks in headings are kept; a phrase wrapped in a coloured span starts its own line anyway */
h1 .blue+br,h2 .blue+br{display:none}
.who-copy h2{max-width:24ch}
@media (min-width:1181px){.hero--home h1{font-size:clamp(56px,5vw,84px)}}
@media (min-width:1181px) and (max-height:960px){.hero--home h1{font-size:clamp(54px,4.6vw,76px)}}
/* Team (real photos) */
.avatar{border-radius:50%;object-fit:cover;flex:none;background:var(--paper)}
.team-mini{margin:4px 0 14px;display:grid;gap:12px}
.team-mini li{display:flex;align-items:center;gap:14px}
.team-mini span{display:flex;flex-direction:column;font-size:14px;color:var(--muted);line-height:1.4}
.team-mini b{color:var(--ink);font-size:15.5px}
.team-mini small{font-size:13px}
.phone-list{margin:0;display:grid;gap:6px}
.phone-list li{display:grid;grid-template-columns:120px 1fr;gap:10px;font-size:15px}
.phone-list li>span:first-child{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.phone-list a{color:var(--blue);font-weight:700}
.team-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap);margin:0;max-width:640px}
.team-card{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);border:1px solid var(--line);background:#fff}
.team-card img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;aspect-ratio:4/5}
.phone-line{white-space:nowrap}
.team-body{padding:24px 22px;display:flex;flex-direction:column}
.team-body h3{font-size:20px;margin-bottom:4px}
.team-role{font-weight:700;color:var(--blue);font-size:14.5px;margin:0 0 6px}
.team-base{color:var(--muted);font-size:14px;margin:0 0 auto}
.team-contact{font-size:14px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}
.team-contact a{color:var(--blue);font-weight:700}
.team-also{margin-top:22px;font-size:14px}
.aside-team{margin:0;display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line-dark)}
.aside-team li{display:flex;align-items:center;gap:12px}
.aside-team p{margin:0;display:flex;flex-direction:column;font-size:14px}
.aside-team span{color:#b9c9db;font-size:13px}
.contact-list li a+a,.footer-phone a+a{margin-left:0}
.footer-phone{color:#b9c9db}
.footer-phone b{display:block;color:#dbe4ef;font-weight:600}
.footer-phone a{color:#dbe4ef}
.util-contact a{white-space:nowrap}
@media (max-width:960px){.team-grid{grid-template-columns:1fr}}
@media (max-width:700px){.team-card{grid-template-columns:1fr}.team-card img{aspect-ratio:4/4.4}.phone-list li{grid-template-columns:1fr;gap:0}}
.team-sub{margin:44px 0 16px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.team-regional{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin:0}
.team-regional .team-role{color:var(--blue);font-weight:700;font-size:13.5px;margin:2px 0}
.team-contact-sm{margin-top:6px;font-size:13.5px}.team-contact-sm a{color:var(--blue);font-weight:700}
@media (max-width:1100px){.team-regional{grid-template-columns:1fr}}
.team-regional li{display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:#fff;padding:14px}
.team-regional img{width:104px;height:104px;object-fit:cover;flex:none}
.team-regional div{display:flex;flex-direction:column;font-size:14px;color:var(--muted)}
.team-regional b{font-size:18px;color:var(--ink)}
/* Home hero: stronger left shade where the photo sits behind the headline (must stay last) */
@media (min-width:1181px){
  /* Photo is sized by width (never by hero height), anchored bottom-right and faded into the navy:
     no zooming, no blur, and it never sits behind the headline. */
  .hero--home{background:#0d1c30;min-height:max(640px,100vh);min-height:max(640px,100svh);max-height:none}
  .hero--home .hero-media-wrap{inset:auto;right:0;bottom:0;width:76vw;max-width:1680px;aspect-ratio:16/9;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%),linear-gradient(180deg,transparent 0,#000 16%);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent 0,#000 24%),linear-gradient(180deg,transparent 0,#000 16%);mask-composite:intersect}
  .hero--home picture{position:absolute;inset:0}
  .hero--home .hero-media{object-fit:cover;object-position:100% 100%}
  .hero--home .hero-shade{display:none}
  .hero--home .hero-content{padding-bottom:56px}
  .hero--home .hero-divisions{max-width:620px}
  .hero--home h1{font-size:clamp(56px,5.2vw,96px)}
}
@media (min-width:1181px) and (max-height:960px){
  .hero--home .hero-content{padding-top:140px;padding-bottom:36px}
  .hero--home h1{font-size:clamp(52px,4.6vw,76px);margin-bottom:20px}
  .hero--home .hero-lead{margin-bottom:24px}
  .hero--home .hero-divisions{margin-top:28px}
  .hero--home .hero-divisions a{padding-top:12px}
  .hero--home .eyebrow{margin-bottom:14px}
}
@media (min-width:701px) and (max-width:1180px){
  .hero--home{display:block;min-height:0;max-height:none;padding-top:120px}
  .hero--home .hero-media-wrap{position:relative;inset:auto;aspect-ratio:16/8.2}
  .hero--home picture{position:absolute;inset:0}
  .hero--home .hero-media{object-position:88% 50%}
  .hero--home .hero-shade{display:none}
  .hero--home .hero-content{padding-top:48px;padding-bottom:48px}
  .hero--home .hero-lead{max-width:620px}
}
@media (min-width:961px) and (max-width:1180px){
  .hero--home .hero-media-wrap{aspect-ratio:16/6}
  .hero--home .hero-media{object-position:90% 40%}
  .hero--home .hero-content{padding-top:36px}
}
@media print{.site-header,.site-footer,.closing,.enquiry-aside,.send-box,.form-nav{display:none}}
/* v12: core-set pointer on the Textiles card */
.div-card .div-core{display:inline-flex;margin:0 0 14px;font-size:14px}

/* v12: Divisions / How we work are single toggle buttons styled like the nav links */
.main-nav .nav-menu-btn{display:flex;align-items:center;gap:4px;margin:0;padding:10px 12px;font:inherit;font-size:14px;font-weight:600;color:inherit;cursor:pointer;position:relative}
.main-nav .nav-menu-btn::after{content:"";position:absolute;left:12px;right:30px;bottom:4px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.main-nav .nav-menu-btn:hover::after,.main-nav .nav-menu-btn.is-current::after,.has-menu.is-open .nav-menu-btn::after{transform:scaleX(1)}
.site-header.is-dark:not(.is-scrolled):not(.menu-open) .main-nav .nav-menu-btn::after{background:#fff}
@media (max-width:1180px){.main-nav .nav-menu-btn{padding:10px 9px;font-size:13.5px}}
