/* Endura Decommissioning, design system 7.0 (Stippled Cartography)
   Type: IBM Plex Sans and IBM Plex Mono, the families the Endura logo is drawn in.
   Colour: logo ink #1A1A1A, logo orange #E87722, warm ivory paper, warm night.
   This file loads after the legacy base stylesheet and owns tokens, shell,
   mastheads, homepage and the re-theme of legacy components. */

@font-face{font-family:"Plex";src:url(../fonts/ibm-plex-sans-var.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Mono";src:url(../fonts/ibm-plex-mono-medium.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Plex Fallback";src:local("Arial"),local("Helvetica Neue"),local("Helvetica");size-adjust:101%;ascent-override:101%;descent-override:27%;line-gap-override:0%}

/* ---------- 1. Tokens ---------- */
:root{
  color-scheme:light;
  --paper:#FAF7F1; --card:#FFFDF9; --band:#F2EEE6; --wash:#F5F2EB;
  --ink:#1A1A1A; --ink-2:#45433F; --ink-3:#5F5B55;
  --rule:#E1DCD2; --rule-2:#CBC5BA; --stone:#8C8C8C;
  --brand-orange:#E87722; --orange-ink:#A84D0E; --orange-wash:#F6E7D9; --orange:var(--orange-ink);
  --night:#131312; --night-2:#1C1B19; --night-3:#24231F; --night-rule:#33312D;
  --ivory:#F3F0EA; --ivory-2:#B8B3A9; --ivory-3:#9C978E;
  --surface:var(--paper); --surface-2:var(--card); --text:var(--ink); --text-2:var(--ink-2); --text-3:var(--ink-3); --line-c:var(--rule);
  --sans:"Plex","Plex Fallback",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono-f:"Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  --gutter:clamp(20px,4.2vw,64px); --max-w:1360px;
  --hh:92px;
  --ease:cubic-bezier(.2,.7,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --t-hero:clamp(2.75rem,1.2rem + 4.9vw,6.25rem);
  --t-h1:clamp(2.5rem,1.45rem + 3.4vw,5rem);
  --t-h2:clamp(1.95rem,1.3rem + 2.05vw,3.4rem);
  --t-h3:clamp(1.25rem,1.12rem + .5vw,1.6rem);
  --t-lead:clamp(1.13rem,1.02rem + .42vw,1.42rem);
  --t-body:1.0625rem; --t-small:.9375rem; --t-micro:.8125rem;
  --sec:clamp(84px,9.5vw,152px);
  /* Legacy bridge: older components read these names. */
  --bg:var(--paper); --bg-raised:var(--card); --bg-strong:var(--band); --bg-soft:var(--wash);
  --muted:var(--ink-3); --line:var(--rule); --line-2:var(--rule-2);
  --orange-2:#8E3E0B; --orange-soft:var(--orange-wash); --teal:var(--ink); --teal-2:var(--ink-2); --focus:var(--orange-ink);
  --footer:var(--night); --footer-text:var(--ivory); --footer-muted:var(--ivory-2);
  --font:var(--sans); --font-display:var(--sans); --serif:var(--sans); --mono:var(--mono-f);
  --v4-navy:var(--night); --v4-deep:var(--night); --v4-copper:var(--orange-ink); --v4-pale:var(--wash);
  --action:var(--ink); --action-hover:#000; --card-radius:0px; --radius:0; --radius-sm:0;
  --nav:var(--paper); --glass:var(--card); --header-h:var(--hh); --max:var(--max-w);
}
:root[data-theme=dark],html[data-theme=dark]{
  color-scheme:dark;
  --paper:#131312; --card:#1B1A18; --band:#1F1E1B; --wash:#181715;
  --ink:#F3F0EA; --ink-2:#C9C4BA; --ink-3:#A39E95;
  --rule:#2F2D2A; --rule-2:#423F3A; --stone:#5C5C5C;
  --orange-ink:#F08A3C; --orange-wash:#2A1D12; --orange:var(--orange-ink);
  --night:#0C0C0B; --night-2:#161513; --night-3:#1E1D1A; --night-rule:#2C2A27;
  --bg:var(--paper); --bg-raised:var(--card); --bg-strong:var(--band); --bg-soft:var(--wash);
  --muted:var(--ink-3); --line:var(--rule); --line-2:var(--rule-2);
  --orange-2:#F08A3C; --orange-soft:var(--orange-wash); --teal:var(--ink); --teal-2:var(--ink-2); --focus:var(--brand-orange);
  --footer:var(--night); --footer-text:var(--ivory); --footer-muted:var(--ivory-2);
  --v4-navy:var(--night); --v4-deep:var(--night); --v4-copper:var(--orange-ink); --v4-pale:var(--wash);
  --action:var(--ink); --action-hover:#fff; --nav:var(--paper); --glass:var(--card);
}
@media (max-width:860px){:root{--hh:68px}}

/* ---------- 2. Base ---------- */
html{background:var(--paper);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + 16px)}
body{background:var(--paper)!important;color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.62;font-weight:400;letter-spacing:0;font-kerning:normal;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:var(--brand-orange);color:#1A1A1A}
h1,h2,h3,h4,h5,h6{font-family:var(--sans);color:inherit;font-style:normal;text-wrap:balance}
h1{font-weight:300;letter-spacing:-.03em;line-height:1.02}
h2{font-weight:350;letter-spacing:-.022em;line-height:1.08}
h3{font-weight:500;letter-spacing:-.01em;line-height:1.25}
h4{font-weight:500;letter-spacing:0}
p{text-wrap:pretty}
em,i,cite{font-style:normal}
strong,b{font-weight:600}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
:where(main) :where(p,li,dd,td) a:not([class]){text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 38%,transparent);transition:text-decoration-color .2s}
:where(main) :where(p,li,dd,td) a:not([class]):hover{text-decoration-color:var(--brand-orange)}
:focus-visible{outline:2px solid var(--brand-orange)!important;outline-offset:3px!important;border-radius:0}
img,svg,video,canvas{max-width:100%}
hr{border:0;border-top:1px solid var(--rule)}
code,kbd,samp,.mono{font-family:var(--mono-f)}
.wrap{width:min(calc(100% - var(--gutter) * 2),var(--max-w))!important;max-width:none!important;margin-inline:auto!important;padding-inline:0!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip{position:fixed;left:16px;top:-80px;z-index:300;background:var(--ink);color:var(--paper);padding:12px 18px;font-weight:500;text-decoration:none;transition:top .2s}
.skip:focus{top:16px}

/* Labels: one style for every overline, eyebrow and small kicker. */
.overline{display:block}
.eyebrow,.kicker{display:inline-flex}
.eyebrow,.overline,.kicker{align-items:center;gap:.6em;font-family:var(--mono-f)!important;font-size:.75rem!important;font-weight:400!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--ink-3)!important;line-height:1.4!important;margin:0 0 1.1rem!important;font-style:normal!important}
.eyebrow::before,.kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-orange);flex:none}

/* ---------- 3. Links and buttons ---------- */
.text-link,.arrow-link{display:inline;color:inherit;font-weight:500;font-size:var(--t-small);text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:.32em;text-decoration-color:currentColor;background:none!important;padding:0!important;transition:text-decoration-color .2s,color .2s;min-height:0!important;min-width:0!important;align-self:center}
.text-link:hover,.arrow-link:hover{text-decoration-color:var(--brand-orange)!important;color:inherit}
.text-link .arrow-tail,.text-link .arrow-label{text-decoration:inherit}
button.text-link{appearance:none;-webkit-appearance:none;border:0!important;background:transparent!important;padding:0!important;font-family:var(--sans)!important;color:var(--ink)!important;cursor:pointer;box-shadow:none!important}
.btn-solid,.btn-outline,.btn,.button{display:inline-flex!important;align-items:center;justify-content:center!important;gap:.7em;min-height:50px;padding:0 24px!important;font-family:var(--sans)!important;font-size:.95rem!important;font-weight:500!important;letter-spacing:0!important;line-height:1!important;text-decoration:none!important;border-radius:0!important;border:1px solid var(--ink)!important;transition:background .25s var(--ease),color .25s,border-color .25s,transform .25s var(--ease)!important;cursor:pointer;box-shadow:none!important}
.btn-solid,.btn{background:var(--ink)!important;color:var(--paper)!important}
.btn-solid::before,.btn::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-orange);flex:none;transition:transform .3s var(--ease)}
.btn-solid:hover,.btn:hover{background:var(--action-hover)!important;border-color:var(--action-hover)!important}
.btn-solid:hover::before,.btn:hover::before{transform:scale(1.35)}
.btn-outline{background:transparent!important;color:var(--ink)!important}
.btn-outline:hover{background:var(--ink)!important;color:var(--paper)!important}
.on-night .btn-solid,.on-night .btn{background:var(--ivory)!important;color:#1A1A1A!important;border-color:var(--ivory)!important}
.on-night .btn-solid:hover,.on-night .btn:hover{background:#fff!important;border-color:#fff!important}
.on-night .btn-outline{color:var(--ivory)!important;border-color:color-mix(in srgb,var(--ivory) 45%,transparent)!important}
.on-night .btn-outline:hover{background:var(--ivory)!important;color:#1A1A1A!important}
.arrow-label{display:inline}
.arrow-tail{white-space:nowrap}

/* ---------- 4. Header ---------- */
.site-nav{position:sticky;top:0;z-index:100;height:var(--hh);background:var(--paper);color:var(--ink);border-bottom:1px solid var(--rule);transition:background-color .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease)}
.site-nav .nav-row{height:100%;display:flex;align-items:center;gap:clamp(16px,2.4vw,40px)}
.site-nav .brand{display:inline-flex;align-items:center;color:inherit;text-decoration:none;flex:none;margin-right:auto;--brand-rule:var(--stone)}
.brand-svg{display:block;height:60px;width:auto;aspect-ratio:449/132;overflow:visible}
.site-nav .nav-links{display:flex;align-items:center;gap:clamp(18px,2.1vw,34px)}
.site-nav .nav-links>a{position:relative;font-size:.9375rem;font-weight:450;color:inherit;text-decoration:none;padding:6px 0;white-space:nowrap;opacity:.86;transition:opacity .2s}
.site-nav .nav-links>a:hover,.site-nav .nav-links>a[aria-current=page]{opacity:1}
.site-nav .nav-links>a::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.site-nav .nav-links>a:hover::after{transform:scaleX(1)}
.site-nav .nav-links>a[aria-current=page]::after{transform:scaleX(1);background:var(--brand-orange);height:2px}
.site-nav .mobile-contact,.site-nav .mobile-nav-contact{display:none}
.site-nav .nav-actions{display:flex;align-items:center;gap:14px;flex:none}
.theme-btn{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;border-radius:50%;transition:border-color .2s}
.theme-btn:hover{border-color:currentColor}
.theme-btn svg{width:19px;height:19px}
.nav-contact{display:inline-flex;align-items:center;gap:.65em;height:44px;padding:0 18px;background:var(--ink);color:var(--paper);font-size:.9rem;font-weight:500;text-decoration:none;white-space:nowrap;border:1px solid var(--ink);transition:background .25s,color .25s,border-color .25s}
.nav-contact::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-orange)}
.nav-contact:hover{background:transparent;color:var(--ink)}
.menu-btn{display:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .35s var(--ease),top .35s var(--ease)}
.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:26px}
body.nav-open .menu-btn span:first-child{top:21.5px;transform:rotate(45deg)}
body.nav-open .menu-btn span:last-child{top:21.5px;transform:rotate(-45deg)}
/* Over a dark cover the header turns ivory until the cover scrolls away. */
.site-nav.over-dark{background:transparent;color:var(--ivory);border-bottom-color:rgba(243,240,234,.14);--brand-rule:#5C5C5C}
.site-nav.over-dark .nav-contact{background:var(--ivory);color:#1A1A1A;border-color:var(--ivory)}
.site-nav.over-dark .nav-contact:hover{background:transparent;color:var(--ivory)}
html[data-theme=dark] .site-nav{--brand-rule:#5C5C5C}
html[data-theme=dark] .site-nav .nav-contact{background:var(--ivory);color:#1A1A1A;border-color:var(--ivory)}
html[data-theme=dark] .site-nav .nav-contact:hover{background:transparent;color:var(--ivory)}
body.page-home .site-nav,body.has-cover .site-nav{position:fixed;left:0;right:0;top:0}
body.page-home main,body.has-cover main{padding-top:0}
@media (max-width:1180px){.site-nav .nav-links{gap:20px}.site-nav .nav-links>a{font-size:.9rem}.nav-contact{padding:0 14px}}
@media (max-width:1080px){
  .brand-svg{height:50px}
  .menu-btn{display:inline-block}
  .nav-contact{display:none}
  .site-nav .nav-links{position:fixed;left:0;right:0;top:var(--hh);bottom:0;z-index:99;display:none;flex-direction:column;align-items:stretch;gap:0;padding:28px var(--gutter) 40px;background:var(--night);color:var(--ivory);overflow-y:auto}
  body.nav-open .site-nav .nav-links{display:flex;animation:navIn .45s var(--ease-out) both}
  body.nav-open .site-nav{background:var(--night);color:var(--ivory);border-bottom-color:var(--night-rule);--brand-rule:#5C5C5C}
  .site-nav .nav-links>a{font-size:clamp(1.9rem,7vw,2.6rem);font-weight:300;letter-spacing:-.02em;padding:14px 0;border-bottom:1px solid var(--night-rule);opacity:1}
  .site-nav .nav-links>a::after{display:none}
  .site-nav .nav-links>a[aria-current=page]{color:var(--brand-orange)}
  .site-nav .mobile-contact{display:flex!important;align-items:center;gap:.6em;margin-top:28px;font-size:1.05rem!important;font-weight:500!important;letter-spacing:0!important;border:0!important;color:var(--ivory)}
  .site-nav .mobile-contact::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand-orange)}
  .site-nav .mobile-nav-contact{display:flex;flex-direction:column;gap:8px;margin-top:22px;font-family:var(--mono-f);font-size:.875rem;color:var(--ivory-2)}
  .site-nav .mobile-nav-contact a{color:inherit;text-decoration:none;padding:6px 0}
}
@media (max-width:860px){.brand-svg{height:50px}.site-nav .nav-actions{gap:6px}}
@keyframes navIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* ---------- 5. Mastheads (inner pages) ---------- */
.page-hero,.article-header{position:relative;isolation:isolate;background:var(--night)!important;color:var(--ivory)!important;padding:calc(var(--hh) + clamp(48px,7vw,104px)) 0 clamp(56px,7vw,104px)!important;margin-block:0!important;border:0!important;overflow:hidden}
.page-hero{margin-inline:0!important}
.article-header.wrap{margin-inline:auto!important;box-shadow:0 0 0 100vmax var(--night);clip-path:inset(0 -100vmax);overflow:visible}
.page-hero::after,.article-header::after{content:"";position:absolute;z-index:-1;pointer-events:none;width:min(62vw,880px);aspect-ratio:1;right:max(-22vw,-300px);top:50%;transform:translateY(-46%) rotate(-8deg);background:url(../brand/ring-texture-ivory.svg) center/contain no-repeat;opacity:.085}
.article-header::after{right:calc(-1 * var(--gutter) - 12vw)}
.page-hero .wrap{position:relative}
.page-hero h1,.article-header h1{font-size:var(--t-h1)!important;font-weight:300!important;letter-spacing:-.032em!important;line-height:1.02!important;color:var(--ivory)!important;max-width:15ch;margin:0!important;font-family:var(--sans)!important}
.article-header h1{max-width:22ch;font-size:clamp(2.2rem,1.35rem + 2.9vw,4.25rem)!important}
.page-hero .eyebrow,.article-header .eyebrow,.page-hero .overline{color:var(--ivory-2)!important;margin-bottom:clamp(20px,2.4vw,32px)!important}
.page-hero-grid{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;gap:clamp(28px,5vw,96px)!important;align-items:end!important}
.page-hero-grid>div,.page-hero-grid>p{color:var(--ivory-2)!important;font-size:var(--t-lead)!important;line-height:1.55!important;font-weight:350;max-width:34em}
.page-hero-grid p{color:var(--ivory-2)!important;margin:0 0 1rem}
.page-hero-grid p:last-child{margin-bottom:0}
.page-hero .text-link,.article-header .text-link{color:var(--ivory)!important}
.article-header .standfirst{color:var(--ivory-2)!important;font-size:var(--t-lead)!important;line-height:1.55!important;font-weight:350!important;max-width:40em;margin:clamp(22px,2.4vw,32px) 0 0!important;font-style:normal!important}
.article-meta{display:flex!important;flex-wrap:wrap;gap:8px 26px!important;margin-top:clamp(28px,3vw,40px)!important;padding-top:20px!important;border-top:1px solid var(--night-rule)!important;font-family:var(--mono-f)!important;font-size:.8125rem!important;letter-spacing:.02em!important;color:var(--ivory-3)!important}
.article-meta *{color:inherit!important;font-family:inherit!important}
.breadcrumbs{display:flex!important;flex-wrap:wrap;gap:6px 0;list-style:none!important;margin:0 0 clamp(26px,3.2vw,44px)!important;padding:0!important;font-size:.8125rem!important;font-family:var(--sans)!important;letter-spacing:0!important;text-transform:none!important}
.breadcrumbs li{display:inline-flex;align-items:center;color:var(--ivory-3)!important}
.breadcrumbs li+li::before{content:"/"!important;margin:0 .7em;color:var(--night-rule)!important;opacity:1!important;background:none!important;width:auto!important;height:auto!important}
.breadcrumbs a{color:var(--ivory-2)!important;text-decoration:none!important;min-height:0!important;min-width:0!important}
.breadcrumbs a:hover{color:var(--ivory)!important}
@media (max-width:860px){
  .page-hero-grid{grid-template-columns:1fr!important;align-items:start!important}
  .page-hero::after{width:118vw;right:-62vw;top:34%}
}

/* ---------- 6. Section rhythm and legacy re-theme ---------- */
main{background:var(--paper)}
.section{padding-block:var(--sec)!important}
.section.compact{padding-block:clamp(48px,6vw,88px)!important}
main h2{font-size:var(--t-h2);font-weight:350;letter-spacing:-.024em;line-height:1.08}
main h3{font-size:var(--t-h3)}
main p{color:var(--ink-2)}
main li{color:var(--ink-2)}
main h1,main h2,main h3,main h4,main strong{color:var(--ink)}
.small-note{font-size:var(--t-small)!important;color:var(--ink-3)!important;line-height:1.55}
.reveal{opacity:1!important;transform:none!important}

/* ---------- 7. Footer ---------- */
.footer{position:relative;background:var(--night)!important;color:var(--ivory)!important;padding:clamp(72px,8vw,120px) 0 36px!important;margin:0!important;border:0!important;--brand-rule:#5C5C5C;overflow:hidden;isolation:isolate}
.footer::before{content:"";position:absolute;z-index:-1;left:50%;bottom:-30vw;width:min(110vw,1500px);aspect-ratio:1;transform:translateX(-50%);background:url(../brand/ring-texture-ivory.svg) center/contain no-repeat;opacity:.05;pointer-events:none}
.footer a{color:inherit;text-decoration:none}
.footer-top{display:grid!important;grid-template-columns:auto 1fr auto;align-items:end;gap:28px 48px;padding-bottom:clamp(44px,5vw,72px)!important;border-bottom:1px solid var(--night-rule)!important;margin:0!important}
.footer-brand{display:block;color:var(--ivory)}
.footer-brand .brand-svg{height:clamp(64px,7vw,92px)}
.footer-statement{margin:0!important;max-width:30ch;font-size:var(--t-lead)!important;font-weight:300;line-height:1.4!important;color:var(--ivory-2)!important;justify-self:start}
.back-top{font-family:var(--mono-f);font-size:.8125rem;letter-spacing:.04em;color:var(--ivory-2)!important;padding:8px 0;white-space:nowrap}
.back-top:hover{color:var(--ivory)!important}
.footer-grid{display:grid!important;grid-template-columns:1.25fr 1fr 1fr 1.15fr!important;gap:36px clamp(24px,4vw,64px)!important;padding:clamp(40px,5vw,64px) 0!important;margin:0!important}
.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.footer-grid .overline{color:var(--ivory-3)!important;margin-bottom:14px!important}
.footer-grid .overline::before{display:none}
.footer-grid p{color:var(--ivory-2)!important;font-size:var(--t-small)!important;line-height:1.6!important;margin:0!important;max-width:32ch}
.footer-grid a{font-size:var(--t-small);line-height:1.5;color:var(--ivory)!important;opacity:.82;padding:5px 0;transition:opacity .2s}
.footer-grid a:hover{opacity:1}
.footer-grid a:hover{text-decoration:underline;text-decoration-color:var(--brand-orange);text-underline-offset:.3em}
.pdf-meta{font-family:var(--mono-f);font-size:.75rem;letter-spacing:.02em;opacity:.75;margin-left:.5em;white-space:nowrap}
.phone-zone{font-family:var(--mono-f);font-size:.7rem;letter-spacing:.06em;opacity:.7;margin-left:.3em}
.footer-bottom{display:flex!important;flex-wrap:wrap;justify-content:space-between;gap:18px 40px;padding-top:28px!important;border-top:1px solid var(--night-rule)!important;font-size:.8125rem!important;line-height:1.6!important;color:var(--ivory-3)!important;margin:0!important}
.footer-bottom span{color:inherit!important}
.footer-association{color:var(--ivory-2)!important;text-decoration:underline!important;text-decoration-color:rgba(243,240,234,.25)!important;text-underline-offset:.25em;display:inline-block;padding:4px 0;min-height:24px}
.footer-association:hover{color:var(--ivory)!important;text-decoration-color:var(--brand-orange)!important}
@media (max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr!important}.footer-top{grid-template-columns:1fr auto}.footer-statement{grid-column:1/-1;grid-row:2}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr!important}.footer-top{grid-template-columns:1fr}.back-top{justify-self:start}.footer-brand .brand-svg{height:58px}}

/* ---------- 8. Motion ---------- */
.js-reveal [data-reveal]{opacity:0;transform:translate3d(0,22px,0);transition:opacity .9s var(--ease-out),transform 1.1s var(--ease-out);transition-delay:var(--d,0s)}
.js-reveal [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js-reveal [data-reveal]{opacity:1;transform:none}
}

/* ---------- 9. Night surfaces ---------- */
.on-night{background:var(--night)!important;color:var(--ivory)}
.on-night h1,.on-night h2,.on-night h3,.on-night h4,.on-night strong{color:var(--ivory)}
.on-night p,.on-night li,.on-night dd{color:var(--ivory-2)}
.on-night .kicker,.on-night .eyebrow,.on-night .overline{color:var(--ivory-3)!important}
.on-night .text-link{color:var(--ivory)}
.on-night .hx-note{color:var(--ivory-3)}
.footer{border-top:1px solid var(--night-rule)!important}

/* ---------- 10. Homepage ---------- */
.page-home main{padding:0!important}
.hx-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:18px clamp(32px,5vw,96px);align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.hx-head .kicker{grid-column:1/-1;margin:0!important}
.hx-head h2{margin:0;max-width:17ch}
.hx-head-copy{margin:0;max-width:34em;color:var(--ink-2)}
.hx-head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 48px}
.hx-head-row .kicker{margin-bottom:18px!important}
.hx-head-row .hx-head-copy{max-width:28em}
.hx-note{font-size:.8125rem;line-height:1.55;color:var(--ink-3);margin:20px 0 0;max-width:42em}

/* Hero: the Endura logo, full size */
.hx-hero{position:relative;isolation:isolate;min-height:max(720px,min(100svh,1060px));display:flex;flex-direction:column;padding-top:var(--hh);overflow:hidden;--ring-ink:#F3F0EA;--brand-rule:#5C5C5C}
.hx-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(48vw 40vw at 18% 42%,rgba(232,119,34,.07),transparent 64%)}
.hx-hero::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hx-hero-media{position:absolute;z-index:-1;top:0;right:0;bottom:0;width:58%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 46%),linear-gradient(0deg,transparent 0%,#000 26%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 46%),linear-gradient(0deg,transparent 0%,#000 26%);mask-composite:intersect}
.hx-hero-media picture,.hx-hero-media img{display:block;width:100%;height:100%}
.hx-hero-media img{object-fit:cover;object-position:52% 38%;opacity:.9;transform:scale(calc(1.02 + var(--p,0) * .08)) translateY(calc(var(--p,0) * 4%));animation:heroPhoto 2.6s var(--ease-out) both}
@keyframes heroPhoto{from{transform:scale(1.09)}to{transform:scale(1.02)}}
.hx-hero-inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:clamp(36px,6vh,96px) clamp(40px,6vh,88px)}
.hx-brand{position:relative;width:min(100%,920px,calc((100svh - var(--hh)) * 1.2));margin:0 0 clamp(28px,5vh,56px) -1px}
.hx-brand svg{display:block;width:100%;height:auto;overflow:visible}
.hx-brand-s{display:none!important}
.hx-ring-area{position:absolute;left:0;top:0;height:100%;aspect-ratio:1;pointer-events:none}
.hx-ring-area canvas{position:absolute;left:-25%;top:-25%;width:150%;height:150%;max-width:none}
.hx-brand .hb-ring{transition:opacity .4s}
.hx-brand.ring-live .hb-ring,html.ring-intro .hx-brand .hb-ring{opacity:0}
.hx-brand .hb-rule{fill:#5C5C5C;transform-box:fill-box;transform-origin:center}
.hx-brand .hb-word,.hx-brand .hb-desc{transform-box:fill-box}
html.ring-intro .hx-brand .hb-rule{animation:hbRule .7s var(--ease-out) .75s both}
html.ring-intro .hx-brand .hb-word{animation:hbWord 1.1s var(--ease-out) .95s both}
html.ring-intro .hx-brand .hb-desc{animation:hbDesc 1.1s var(--ease-out) 1.45s both}
@keyframes hbRule{from{transform:scaleY(0)}to{transform:none}}
@keyframes hbWord{from{opacity:0;transform:translateY(14%);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
@keyframes hbDesc{from{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
.hx-hero h1{font-size:clamp(1.9rem,1.1rem + 2.3vw,3.4rem)!important;font-weight:300!important;letter-spacing:-.03em!important;line-height:1.06!important;color:var(--ivory)!important;margin:0!important;max-width:22ch}
.hx-hero-lead{font-size:var(--t-lead)!important;line-height:1.5;font-weight:350;color:var(--ivory-2)!important;max-width:34em;margin:clamp(16px,2.4vh,24px) 0 0!important}
.hx-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;margin-top:clamp(26px,4vh,44px)}
.hx-hero-actions .text-link{color:var(--ivory)}
html.ring-intro .hx-hero-lead,html.ring-intro .hx-hero-actions{animation:heroIn 1s var(--ease-out) .35s both}
@keyframes heroIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hx-hero-cap{position:absolute;z-index:2;right:var(--gutter);bottom:clamp(104px,13vh,128px);margin:0!important;font-family:var(--mono-f);font-size:.7rem!important;letter-spacing:.05em;color:var(--ivory-3)!important}
/* Home only: the header logo hands over from the hero logo */
.page-home .site-nav .brand{transition:opacity .45s var(--ease),transform .45s var(--ease)}
.page-home .site-nav:not(.brand-in) .brand{opacity:0;transform:translateY(-6px);pointer-events:none}
html.no-js .page-home .site-nav .brand{opacity:1;transform:none;pointer-events:auto}
body.nav-open.page-home .site-nav .brand{opacity:1;transform:none;pointer-events:auto}

.hx-index{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--night-rule);margin-top:auto!important;position:relative;z-index:2}
.hx-index a{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px 40px 28px 0;color:var(--ivory);text-decoration:none;transition:background .3s}
.hx-index a+a{padding-left:24px;border-left:1px solid var(--night-rule)}
.hx-index-k{font-size:.95rem;font-weight:500;letter-spacing:-.005em}
.hx-index-v{font-family:var(--mono-f);font-size:.72rem;letter-spacing:.03em;color:var(--ivory-3)}
.hx-index a::after{content:"→";position:absolute;right:18px;top:22px;color:var(--brand-orange);opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .4s var(--ease)}
.hx-index a:hover::after,.hx-index a:focus-visible::after{opacity:1;transform:none}
.hx-index a:hover .hx-index-k{color:#fff}
@media (max-width:860px){
  .hx-hero{min-height:0}
  .hx-hero-media{width:100%;height:78%;bottom:auto;opacity:.42;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 30%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 30%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
  .hx-hero-inner{align-items:center;text-align:center;padding-block:28px 40px}
  .hx-brand{width:min(80vw,380px);margin:0 auto 26px}
  .hx-brand-h{display:none!important}
  .hx-brand-s{display:block!important}
  .hx-ring-area{width:100%;height:auto}
  .hx-hero h1{margin-inline:auto!important}
  .hx-hero-lead{margin-inline:auto!important}
  .hx-hero-actions{justify-content:center}
  .hx-hero-cap{display:none}
}

/* Scale */
.hx-scale{padding-block:var(--sec)}
.hx-scale-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(40px,6vw,120px);align-items:end}
.hx-figure{display:flex;align-items:flex-start;flex-wrap:wrap;margin:6px 0 0!important;color:var(--ink)!important;line-height:.82}
.hx-figure-cur{font-family:var(--mono-f);font-size:clamp(.85rem,.7rem + .5vw,1.15rem);letter-spacing:.08em;color:var(--ink-3);padding-top:.9em;margin-right:.6em}
.hx-figure-num{font-size:clamp(6.2rem,2.4rem + 13vw,15.5rem);font-weight:200;letter-spacing:-.065em;margin-left:-.04em}
.hx-figure-dot{color:var(--brand-orange)}
.hx-figure-unit{align-self:flex-end;font-size:clamp(1.3rem,1rem + 1.2vw,2.2rem);font-weight:300;letter-spacing:-.02em;margin:0 0 .35em .3em;color:var(--ink)}
.hx-figure-cap{max-width:38em;font-size:var(--t-small)!important;line-height:1.6!important;color:var(--ink-2)!important;margin:clamp(24px,3vw,36px) 0 10px!important;padding-top:20px;border-top:1px solid var(--rule)}
.hx-figure-src{font-family:var(--mono-f);font-size:.75rem!important;letter-spacing:.02em;color:var(--ink-3)!important;margin:0!important}
.hx-figure-src a{color:inherit}
.hx-statement{font-size:clamp(1.45rem,1.05rem + 1.25vw,2.3rem)!important;font-weight:300;line-height:1.25!important;letter-spacing:-.018em;color:var(--ink)!important;margin:0 0 22px!important}
.hx-scale-copy>p:not(.hx-statement){margin:0 0 28px;max-width:32em}

/* Services */
.hx-services{padding-block:0 var(--sec)}
.hx-svc{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);counter-reset:none}
.hx-svc li{margin:0;padding:0}
.hx-svc a{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1.3fr) 44px;gap:10px clamp(20px,3vw,48px);padding:clamp(26px,3vw,40px) 0;border-bottom:1px solid var(--rule);color:inherit;text-decoration:none}
.hx-svc a::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.hx-svc a:hover::before{transform:scaleX(1)}
.hx-svc-n{grid-row:1/3;font-family:var(--mono-f);font-size:.8rem;color:var(--orange-ink);padding-top:.7em}
.hx-svc-t{grid-row:1/3;font-size:clamp(1.55rem,1.05rem + 1.3vw,2.45rem);font-weight:300;letter-spacing:-.025em;line-height:1.08;color:var(--ink);transition:transform .5s var(--ease)}
.hx-svc a:hover .hx-svc-t{transform:translateX(8px)}
.hx-svc-d{grid-column:3;color:var(--ink-2);font-size:1rem;line-height:1.6}
.hx-svc-l{grid-column:3;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.84rem;line-height:1.5;color:var(--ink-3)}
.hx-svc-l span{display:inline-flex;align-items:center;gap:8px}
.hx-svc-l span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--brand-orange);flex:none}
.hx-svc-go{grid-column:4;grid-row:1;justify-self:end;font-size:1.35rem;line-height:1.2;color:var(--ink-3);transition:transform .4s var(--ease),color .3s}
.hx-svc a:hover .hx-svc-go{transform:translateX(6px);color:var(--orange-ink)}
.hx-outputs{margin-top:clamp(56px,7vw,104px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);gap:32px clamp(32px,5vw,96px);padding:clamp(28px,3.6vw,52px);background:var(--card);border:1px solid var(--rule)}
.hx-outputs-head h3{font-size:var(--t-h3);font-weight:400;margin:0 0 12px}
.hx-outputs-head p{margin:0;font-size:var(--t-small);color:var(--ink-2)}
.hx-outputs-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px;margin:0}
.hx-outputs-list div{padding-top:16px;border-top:1px solid var(--rule)}
.hx-outputs-list dt{font-weight:500;color:var(--ink);margin:0 0 6px}
.hx-outputs-list dd{margin:0;color:var(--ink-2);font-size:var(--t-small);line-height:1.55}
.hx-outputs-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px 36px;padding-top:24px;border-top:1px solid var(--rule)}

/* Execution band */
.hx-exec{padding-block:var(--sec)}
.hx-exec-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:clamp(32px,5vw,96px);align-items:center}
.hx-exec-copy h2{margin:0 0 22px;max-width:14ch}
.hx-exec-copy p{margin:0 0 28px;max-width:30em}
.hx-exec-lead{margin:0}
.hx-exec-lead picture,.hx-exec-lead img{display:block;width:100%}
.hx-exec-lead img{height:auto;aspect-ratio:16/9;object-fit:cover;filter:saturate(.82) contrast(1.04)}
.hx-exec-lead figcaption,.hx-model figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:12px;font-family:var(--mono-f);font-size:.72rem;letter-spacing:.03em;color:var(--ivory-3)}
.hx-exec-sub{margin:clamp(72px,8vw,128px) 0 28px!important;font-size:var(--t-h3)!important;font-weight:400!important;color:var(--ivory)!important}
.hx-photos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(40px,4.4vw,64px) clamp(18px,2vw,28px)}
.hx-photos li:nth-child(4n+1),.hx-photos li:nth-child(4n+4){grid-column:span 7}
.hx-photos li:nth-child(4n+2),.hx-photos li:nth-child(4n+3){grid-column:span 5}
.hx-photos li{margin:0}
.hx-photos figure{margin:0}
.hx-photos picture{display:block;overflow:hidden}
.hx-photos img{display:block;width:100%;height:clamp(240px,31vw,460px);object-fit:cover;filter:saturate(.94) contrast(1.02);transition:transform 1.4s var(--ease),filter .6s}
.hx-photos li:hover img{transform:scale(1.03);filter:saturate(1.02) contrast(1.03)}
.hx-photos figcaption{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;row-gap:6px;padding-top:18px;margin-top:18px;border-top:1px solid var(--night-rule);font-family:var(--sans)!important;font-size:inherit!important;letter-spacing:0!important;text-transform:none!important}
.hx-ph-n{font-family:var(--mono-f);font-size:.72rem;color:var(--brand-orange);grid-row:span 2;padding-top:.3em}
.hx-photos strong{font-weight:500;font-size:1.06rem;color:var(--ivory)}
.hx-photos figcaption span:last-child{font-size:.875rem;line-height:1.5;color:var(--ivory-3)}
.hx-provenance{margin:40px 0 0!important;font-family:var(--mono-f);font-size:.75rem!important;letter-spacing:.02em;color:var(--ivory-3)!important}

/* Model */
.hx-model{padding-block:var(--sec)}
.hx-model-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,6vw,112px);align-items:center}
.hx-model-visual{position:relative;display:block;overflow:hidden;background:var(--band);color:inherit;text-decoration:none}
.hx-model-visual img{display:block;width:100%;height:auto;transition:transform 1.4s var(--ease)}
.hx-model-visual:hover img{transform:scale(1.035)}
.hx-model-badge{position:absolute;left:20px;bottom:20px;display:inline-flex;align-items:center;gap:10px;padding:11px 15px;background:var(--ink);color:var(--paper);font-size:.85rem;font-weight:500}
.hx-model-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-orange)}
/* 7.1: the dot pulses twice when the card comes into view and again on hover, then rests (no endless loop) */
.hx-model-visual.is-in .hx-model-dot{animation:pulse 2.2s var(--ease) .9s 2}
.hx-model-visual:hover .hx-model-dot,.hx-model-visual:focus-visible .hx-model-dot{animation:pulseB 2.2s var(--ease) 2}
@keyframes pulseB{0%{box-shadow:0 0 0 0 rgba(232,119,34,.55)}70%{box-shadow:0 0 0 10px rgba(232,119,34,0)}100%{box-shadow:0 0 0 0 rgba(232,119,34,0)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,119,34,.55)}70%{box-shadow:0 0 0 10px rgba(232,119,34,0)}100%{box-shadow:0 0 0 0 rgba(232,119,34,0)}}
.hx-model-copy h2{margin:0 0 22px}
.hx-model-copy>p{margin:0 0 8px;max-width:32em}
.hx-model-facts{list-style:none;display:flex;flex-wrap:wrap;gap:20px 48px;margin:30px 0!important;padding:22px 0 0!important;border-top:1px solid var(--rule)}
.hx-model-facts li{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--ink-3)}
.hx-model-facts span{font-size:clamp(2.4rem,1.8rem + 1.6vw,3.4rem);font-weight:200;letter-spacing:-.05em;line-height:.95;color:var(--ink)}
.hx-model-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px}

/* Library */
.hx-library{padding-block:var(--sec);border-top:1px solid var(--rule)}
.hx-notes{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.hx-notes li{margin:0}
.hx-notes a{display:grid;grid-template-columns:118px minmax(0,1fr) 170px 150px 28px;gap:16px 24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule);color:inherit;text-decoration:none;transition:background .3s,padding .45s var(--ease)}
.hx-notes a:hover{background:var(--card);padding-inline:18px}
.hx-note-id,.hx-note-rev{font-family:var(--mono-f);font-size:.76rem;letter-spacing:.02em;color:var(--ink-3)}
.hx-note-id{color:var(--orange-ink)}
.hx-note-t{font-size:clamp(1.05rem,.95rem + .42vw,1.38rem);font-weight:400;letter-spacing:-.012em;line-height:1.3;color:var(--ink)}
.hx-note-topic{font-size:.875rem;color:var(--ink-2)}
.hx-note-go{justify-self:end;color:var(--ink-3);transition:transform .35s var(--ease),color .3s}
.hx-notes a:hover .hx-note-go{transform:translateX(5px);color:var(--orange-ink)}
.hx-brief{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 40px;margin-top:clamp(36px,4vw,56px);padding:clamp(28px,3.6vw,52px);background:var(--night);color:var(--ivory);text-decoration:none}
.hx-brief::after{content:"";position:absolute;z-index:-1;right:-110px;top:-150px;width:440px;aspect-ratio:1;background:url(../brand/ring-texture-ivory.svg) center/contain no-repeat;opacity:.09;transition:transform 1.4s var(--ease)}
.hx-brief:hover::after{transform:rotate(-10deg) scale(1.04)}
.hx-brief-id{grid-column:1/-1;font-family:var(--mono-f);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ivory-3)}
.hx-brief-t{font-size:clamp(1.6rem,1.15rem + 1.4vw,2.6rem);font-weight:300;letter-spacing:-.025em;line-height:1.1}
.hx-brief-d{grid-column:1;color:var(--ivory-2);max-width:36em}
.hx-brief-go{grid-column:2;grid-row:2/4;align-self:end;font-weight:500;white-space:nowrap;padding-bottom:3px;background:linear-gradient(var(--brand-orange),var(--brand-orange)) 0 100%/100% 1px no-repeat}

/* Records and map */
.hx-records{padding-block:var(--sec)}
.hx-records-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,6vw,120px);align-items:center}
.hx-records-copy h2{margin:0 0 22px;max-width:14ch}
.hx-records-copy>p{max-width:32em}
.hx-records-stats{display:flex;flex-wrap:wrap;gap:20px clamp(28px,4vw,56px);margin:30px 0 10px!important;padding:22px 0!important;border-block:1px solid var(--night-rule)}
.hx-records-stats div{display:flex;flex-direction:column-reverse;gap:6px}
.hx-records-stats dt{font-size:.8125rem;color:var(--ivory-3)}
.hx-records-stats dd{margin:0;font-size:clamp(2.6rem,2rem + 1.8vw,3.8rem);font-weight:200;letter-spacing:-.05em;line-height:.95;color:var(--ivory)!important}
.hx-records .btn-outline{margin-top:28px}
.hx-map{position:relative;margin:0}
.hx-map-box{position:relative;aspect-ratio:400/372}
.hx-map-svg{display:block;width:100%;height:100%;color:rgba(243,240,234,.30);overflow:visible}
.hx-map-edge{stroke:rgba(243,240,234,.16);stroke-width:.7;stroke-linejoin:round}
.hx-pin{fill:var(--brand-orange)}
.hx-pin-halo{fill:rgba(232,119,34,.14);stroke:rgba(232,119,34,.5);stroke-width:.7;transform-box:fill-box;transform-origin:center;transform:scale(.85);opacity:.55}
/* 7.1: each halo breathes once as the chart comes into view (all done within 4.3 s), then rests */
.hx-map.is-in .hx-pin-halo{animation:halo 2.4s var(--ease) .4s 1 both}
.hx-map.is-in .hx-map-pins g:nth-child(2) .hx-pin-halo{animation-delay:.9s}.hx-map.is-in .hx-map-pins g:nth-child(3) .hx-pin-halo{animation-delay:1.4s}.hx-map.is-in .hx-map-pins g:nth-child(4) .hx-pin-halo{animation-delay:1.9s}
@keyframes halo{0%,100%{transform:scale(.85);opacity:.55}50%{transform:scale(1.15);opacity:1}}
.hx-map-labels{list-style:none;margin:0!important;padding:0!important;position:absolute;inset:0;pointer-events:none}
.hx-map-labels li{position:absolute;left:var(--x);top:var(--y);display:flex;align-items:baseline;gap:7px;padding:3px 8px;background:var(--night);font-size:.82rem;line-height:1.3;color:var(--ivory)!important;white-space:nowrap}
.hx-map-labels strong{font-family:var(--mono-f);font-weight:400;color:var(--brand-orange)!important}
.hx-ml-nw{transform:translate(26px,-50%)}
.hx-ml-ac{transform:translate(calc(-100% - 24px),-50%)}
.hx-ml-nt{transform:translate(24px,-50%)}
.hx-ml-gp{transform:translate(-50%,28px)}
.hx-map-labels strong{display:none}
.hx-pin-n{font-family:var(--mono-f);font-size:11px;fill:#1A1A1A;text-anchor:middle}
.hx-map figcaption{margin-top:18px;font-family:var(--mono-f);font-size:.72rem;letter-spacing:.02em;line-height:1.55;color:var(--ivory-3);max-width:46em}

/* Tools */
.hx-tools{padding-block:var(--sec)}
.hx-tool-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.hx-tool-list li{margin:0;display:flex}
.hx-tool-list a{flex:1;display:flex;flex-direction:column;padding:28px clamp(16px,2vw,28px) 32px 0;border-right:1px solid var(--rule);color:inherit;text-decoration:none}
.hx-tool-list li+li a{padding-left:clamp(16px,2vw,28px)}
.hx-tool-list li:last-child a{border-right:0}
.hx-tool-n{font-size:clamp(3.2rem,2rem + 3.4vw,5.4rem);font-weight:200;letter-spacing:-.06em;line-height:.9;color:var(--ink);transition:color .3s}
.hx-tool-u{font-family:var(--mono-f);font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:10px 0 28px}
.hx-tool-list strong{font-weight:500;font-size:1.08rem;margin:0 0 8px;color:var(--ink)}
.hx-tool-d{font-size:.9rem;line-height:1.55;color:var(--ink-2)}
.hx-tool-go{margin-top:auto;padding-top:24px;color:var(--ink-3);transition:transform .35s var(--ease),color .3s}
.hx-tool-list a:hover .hx-tool-n{color:var(--orange-ink)}
.hx-tool-list a:hover .hx-tool-go{transform:translateX(6px);color:var(--orange-ink)}

/* Principal */
.hx-principal{padding-block:var(--sec);background:var(--band)}
.hx-principal-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.4fr);gap:clamp(40px,7vw,128px);align-items:start}
.hx-portrait{margin:0;position:sticky;top:calc(var(--hh) + 32px)}
.hx-portrait-frame{position:relative;display:block;width:100%;max-width:400px;aspect-ratio:1}
.hx-portrait-frame::before{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid var(--rule-2)}
.hx-portrait-frame::after{content:"";position:absolute;width:5.2%;aspect-ratio:1;border-radius:50%;background:var(--brand-orange);left:83.6%;top:8%}
.hx-portrait img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;filter:contrast(1.02)}
.hx-portrait figcaption{display:flex;flex-direction:column;gap:2px;max-width:400px;margin-top:34px;padding-top:14px;border-top:1px solid var(--rule-2);font-size:.9rem;color:var(--ink-3)}
.hx-portrait figcaption strong{color:var(--ink);font-weight:500;font-size:1rem}
.hx-principal-copy h2{margin:0 0 26px;max-width:16ch}
.hx-principal-lead{font-size:var(--t-lead)!important;font-weight:350;line-height:1.45!important;color:var(--ink)!important;max-width:30em}
.hx-principal-copy>p{max-width:36em}
.hx-principal-actions{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:30px}
.hx-facts{display:grid;grid-template-columns:repeat(4,minmax(0,auto));justify-content:start;gap:20px clamp(24px,3vw,48px);margin:44px 0 0!important;padding-top:24px;border-top:1px solid var(--rule-2)}
.hx-facts dt{font-family:var(--mono-f);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.hx-facts dd{margin:5px 0 0;font-weight:500;font-size:.95rem;color:var(--ink)}

/* decomm.ai band */
.hx-platform{padding-block:clamp(64px,7.5vw,112px)}
.hx-platform-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px clamp(40px,6vw,120px);align-items:end}
.hx-platform h2{font-size:clamp(2.8rem,1.7rem + 3.4vw,5rem)!important;font-weight:300!important;letter-spacing:-.045em!important;line-height:1!important;margin:0!important}
.hx-platform-lead{margin:12px 0 0!important;font-size:var(--t-lead)!important;color:var(--ink-2)}
.hx-platform-grid>div:last-child p{margin:0 0 24px;max-width:36em}
.hx-platform-actions{display:flex;flex-wrap:wrap;gap:14px 32px}

/* Closing call to action */
.hx-cta{padding-block:clamp(96px,11vw,180px);position:relative;isolation:isolate;overflow:hidden}
.hx-cta::before{content:"";position:absolute;z-index:-1;left:-12vw;bottom:-26vw;width:min(70vw,900px);aspect-ratio:1;background:url(../brand/ring-texture-ivory.svg) center/contain no-repeat;opacity:.06;transform:rotate(18deg)}
.hx-cta-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px clamp(40px,6vw,120px);align-items:end}
.hx-cta h2{font-size:var(--t-h1)!important;font-weight:300!important;letter-spacing:-.035em!important;line-height:1.02!important;margin:0 0 24px!important;max-width:15ch}
.hx-cta-grid>div:first-child p{margin:0;max-width:30em}
.hx-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.hx-cta-actions .btn-solid{margin-bottom:10px}
.hx-cta-line{font-family:var(--mono-f);font-size:.9rem;color:var(--ivory-2)!important;text-decoration:none;padding:4px 0}
.hx-cta-line:hover{color:var(--ivory)!important}

/* Homepage responsive */
@media (max-width:1180px){
  .hx-notes a{grid-template-columns:110px minmax(0,1fr) 150px 28px}
  .hx-note-rev{display:none}
}
@media (max-width:1080px){
  .hx-svc a{grid-template-columns:52px minmax(0,1fr) 36px}
  .hx-svc-t{grid-row:auto;grid-column:2}
  .hx-svc-n{grid-row:auto}
  .hx-svc-d,.hx-svc-l{grid-column:2}
  .hx-svc-go{grid-column:3}
  .hx-tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hx-tool-list li:nth-child(2) a{border-right:0}
  .hx-tool-list li:nth-child(n+3) a{border-top:1px solid var(--rule)}
  .hx-tool-list li:nth-child(3) a{padding-left:0}
  .hx-photos{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}
  .hx-photos li:nth-child(n){grid-column:auto}
  .hx-photos img{height:auto;aspect-ratio:3/2}
}
@media (max-width:960px){
  .hx-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hx-index a:nth-child(3){padding-left:0;border-left:0}
  .hx-index a:nth-child(n+3){border-top:1px solid var(--night-rule)}
  .hx-scale-grid,.hx-exec-top,.hx-model-grid,.hx-records-grid,.hx-principal-grid,.hx-platform-grid,.hx-cta-grid,.hx-outputs,.hx-head{grid-template-columns:1fr}
  .hx-portrait{position:static;max-width:360px}
  .hx-facts{grid-template-columns:repeat(2,minmax(0,auto))}
  .hx-notes a{grid-template-columns:minmax(0,1fr) 28px;gap:6px 16px;padding:20px 0}
  .hx-note-id{grid-column:1}
  .hx-note-t{grid-column:1}
  .hx-note-topic{display:none}
  .hx-note-go{grid-column:2;grid-row:1/3;align-self:center}
  .hx-brief{grid-template-columns:1fr}
  .hx-brief-go{grid-column:1;grid-row:auto;justify-self:start;margin-top:14px}
}
@media (max-width:640px){
  .hx-hero{min-height:0}
  .hx-outputs-list{grid-template-columns:1fr}
  .hx-tool-list{grid-template-columns:1fr}
  .hx-tool-list li a{border-right:0!important;padding-left:0!important;border-top:1px solid var(--rule)}
  .hx-tool-list li:first-child a{border-top:0}
  .hx-photos{grid-template-columns:1fr}
  .hx-svc a{grid-template-columns:40px minmax(0,1fr) 24px;gap:8px 14px}
  .hx-records-stats{gap:20px 28px}
  .hx-map-labels li{font-size:.72rem;padding:2px 6px}
  .hx-index a{padding-right:16px}
}
@media print{.js-reveal [data-reveal]{opacity:1!important;transform:none!important}}
@media (max-width:640px){
  .hx-map-labels{position:static!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:14px!important}
  .hx-map-labels li{position:static!important;transform:none!important;padding:0!important;background:none!important;font-size:.82rem!important}
  .hx-map-labels strong{display:inline}
}

/* ---------- 11. Inner pages ---------- */
/* Forms */
main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),main select,main textarea{font-family:var(--sans)!important;font-size:1rem!important;color:var(--ink)!important;background-color:var(--card)!important;border:1px solid var(--rule-2)!important;border-radius:0!important;min-height:50px;padding:12px 16px!important;box-shadow:none!important;transition:border-color .2s,background-color .2s}
main textarea{min-height:140px;line-height:1.55}
main select{padding-right:44px!important;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%)!important;background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%!important;background-size:6px 6px,6px 6px!important;background-repeat:no-repeat!important}
main input:hover,main select:hover,main textarea:hover{border-color:var(--ink-3)!important}
main input:focus,main select:focus,main textarea:focus{border-color:var(--ink)!important;outline:2px solid var(--brand-orange)!important;outline-offset:1px!important}
main input::placeholder,main textarea::placeholder{color:var(--ink-3);opacity:1}
main label{font-size:.875rem;font-weight:500;color:var(--ink)}
main input[type=checkbox],main input[type=radio]{accent-color:var(--ink)}
html[data-theme=dark] main input[type=checkbox],html[data-theme=dark] main input[type=radio]{accent-color:var(--brand-orange)}

/* Atlas */
.records-explainer{background:var(--card)!important;border:1px solid var(--rule)!important;border-left:0!important;padding:clamp(24px,3vw,40px)!important;margin-top:clamp(40px,5vw,72px)!important;position:relative}
.records-explainer::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand-orange)}
div.records-explainer{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px clamp(28px,4vw,64px);align-items:start}
.atlas-purpose p{margin:0 0 .6em!important;color:var(--ink-2)!important;font-size:1rem!important}
.atlas-purpose p:first-child{font-size:var(--t-lead)!important;color:var(--ink)!important;font-weight:350;line-height:1.45!important}
.atlas-corrections{margin:0!important;padding:0 0 0 clamp(20px,3vw,40px)!important;border-left:1px solid var(--rule)!important;font-size:.875rem!important}
section.records-explainer{margin-top:16px!important}
section.records-explainer h2{font-size:var(--t-h3)!important;font-weight:400!important;margin:0 0 10px!important}
section.records-explainer p{max-width:46em}
.atlas-record summary h2{font-size:clamp(1.15rem,1rem + .5vw,1.5rem)!important;font-weight:400!important;letter-spacing:-.012em!important}
.record-code{font-family:var(--mono-f)!important;font-size:.75rem!important;color:var(--orange-ink)!important;letter-spacing:.02em}
.record-summary-meta span{font-family:var(--mono-f);font-size:.75rem;letter-spacing:.02em}
.region-panel{background:var(--card)!important}
.region-panel h2{font-size:var(--t-h3)!important;font-weight:400!important}
.region-panel button[aria-pressed=true]{color:var(--orange-ink)!important}
@media (max-width:860px){div.records-explainer{grid-template-columns:1fr}.atlas-corrections{border-left:0!important;border-top:1px solid var(--rule)!important;padding:18px 0 0!important}}

/* Library */
.library-filters button,.service-jump a,[data-region-filter]{font-family:var(--sans)!important;font-size:.875rem!important;font-weight:450!important;border-radius:0!important}
.library-filters button[aria-pressed=true]{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
.note-entry h2{font-size:clamp(1.3rem,1.05rem + .8vw,1.75rem)!important;font-weight:350!important;letter-spacing:-.018em!important;line-height:1.2!important}
.note-number{font-family:var(--mono-f)!important;color:var(--orange-ink)!important;font-size:.78rem!important}
.note-entry{transition:background .3s}
.note-entry:hover{background:var(--card)}

/* About */
.portrait-figure{border:0!important;background:none!important;padding:0!important;max-width:360px}
.portrait-window{width:100%!important;height:auto!important;aspect-ratio:1;overflow:visible!important;background:none!important;padding:14px;position:relative}
.portrait-window .hx-portrait-frame{max-width:none}
.portrait-window img{position:static!important;width:100%!important;height:100%!important;max-width:none!important;border-radius:50%!important;object-fit:cover}
.portrait-figure figcaption{display:flex;flex-direction:column;margin-top:22px;padding-top:14px!important;border-top:1px solid var(--rule-2);font-size:.9rem;color:var(--ink-3)}
.portrait-figure figcaption span:first-child{color:var(--ink);font-weight:500}
.large-copy{font-size:var(--t-lead)!important;font-weight:350!important;line-height:1.45!important;color:var(--ink)!important}

/* Articles */
.article-layout{gap:clamp(32px,6vw,112px)!important;padding-block:clamp(56px,7vw,104px)!important}
.article-aside{font-size:.875rem}
.article-aside nav a{color:var(--ink-2)!important;text-decoration:none!important;border-left:1px solid var(--rule);padding:7px 0 7px 14px!important;display:block;transition:border-color .2s,color .2s}
.article-aside nav a:hover{color:var(--ink)!important;border-left-color:var(--brand-orange)}
.prose{font-size:1.09rem;line-height:1.72;max-width:42rem}
.prose h2{font-size:clamp(1.5rem,1.2rem + .9vw,2rem)!important;font-weight:400!important;letter-spacing:-.018em!important;line-height:1.2!important;margin:2.4em 0 .8em!important}
.prose h2:first-child{margin-top:0!important}
.prose p,.prose li{color:var(--ink-2)}
.prose strong{color:var(--ink)}
.technical-figure{background:var(--card);border:1px solid var(--rule)!important;padding:clamp(20px,2.4vw,32px)!important;margin:2.2em 0!important}
.technical-figure figcaption{font-family:var(--mono-f);font-size:.75rem;letter-spacing:.02em;color:var(--ink-3);margin-top:16px}
.standfirst{font-style:normal!important}

/* Contact */
.contact-card{background:var(--card)!important;border:1px solid var(--rule)!important;border-radius:0!important;box-shadow:none!important}
.contact-item strong{font-family:var(--mono-f);font-size:.72rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)!important}

/* Generic light panels from earlier releases */
.resource-directory{background:var(--band)!important}
.scope-finder-result{border-left-color:var(--brand-orange)!important;background:var(--card)!important}
.expertise-row summary h2{font-size:clamp(1.3rem,1.05rem + .9vw,1.9rem)!important;font-weight:300!important;letter-spacing:-.02em!important}
.row-index{font-family:var(--mono-f)!important;color:var(--orange-ink)!important}
.leadership-grid{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)!important;gap:clamp(32px,6vw,112px)!important;align-items:start!important}
.leadership-grid .portrait-figure{max-width:340px;width:100%}
html,body{overflow-x:clip}
.site-nav.over-dark.is-scrolled{background:rgba(19,19,18,.94);-webkit-backdrop-filter:saturate(1.1) blur(12px);backdrop-filter:saturate(1.1) blur(12px)}
.page-hero .btn-solid,.article-header .btn-solid{background:var(--ivory)!important;color:#1A1A1A!important;border-color:var(--ivory)!important}
.page-hero .btn-solid:hover,.article-header .btn-solid:hover{background:#fff!important;border-color:#fff!important}
.page-hero .btn-outline,.article-header .btn-outline{color:var(--ivory)!important;border-color:rgba(243,240,234,.45)!important;background:transparent!important}
.page-hero .btn-outline:hover,.article-header .btn-outline:hover{background:var(--ivory)!important;color:#1A1A1A!important}
.page-hero .small-note,.article-header .small-note{color:var(--ivory-3)!important}
.page-hero a:not([class]){color:var(--ivory)}
html:has(body.nav-open){background:var(--night)}

/* ---------- 12. Page transitions (supporting browsers only) ---------- */
@view-transition{navigation:auto}
.site-nav{view-transition-name:site-header}
::view-transition-old(root){animation:vtOut .22s var(--ease) both}
::view-transition-new(root){animation:vtIn .38s var(--ease-out) both}
@keyframes vtOut{to{opacity:0}}
@keyframes vtIn{from{opacity:0;transform:translateY(8px)}}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* Closing enquiry bands from earlier releases */
.project-enquiry{background:var(--night)!important;color:var(--ivory)!important;padding-block:clamp(72px,8vw,128px)!important}
.project-enquiry h2{color:var(--ivory)!important;font-size:clamp(1.9rem,1.3rem + 2vw,3.2rem)!important;font-weight:300!important;letter-spacing:-.025em!important;line-height:1.08!important}
.project-enquiry p{color:var(--ivory-2)!important}
.project-enquiry .eyebrow{color:var(--ivory-3)!important}
.project-enquiry .btn-solid,.project-enquiry .btn{background:var(--ivory)!important;color:#1A1A1A!important;border-color:var(--ivory)!important}
.project-enquiry a:not(.btn-solid):not(.btn){color:var(--ivory)!important}

/* ---------- 13. Print ---------- */
@media print{
  :root,html[data-theme=dark]{--paper:#fff;--card:#fff;--band:#fff;--wash:#fff;--ink:#000;--ink-2:#222;--ink-3:#444;--rule:#bbb;--rule-2:#999;--ivory:#000;--ivory-2:#222;--ivory-3:#444;--night:#fff}
  html,body{background:#fff!important;color:#000!important}
  .site-nav,.skip,.theme-btn,.menu-btn,.nav-contact,.hx-index,.back-top{display:none!important}
  .page-hero,.article-header,.on-night,.footer,.project-enquiry,.hx-brief{background:#fff!important;color:#000!important;box-shadow:none!important;clip-path:none!important}
  .page-hero,.article-header{padding:12mm 0 6mm!important}
  .page-hero::after,.article-header::after,.footer::before,.hx-cta::before,.hx-brief::after,.hx-hero::before{display:none!important}
  .page-hero h1,.article-header h1,.on-night h2,.on-night h3,.footer a,.page-hero-grid p,.article-header .standfirst,.article-meta,.breadcrumbs li,.breadcrumbs a{color:#000!important}
  .footer{padding:8mm 0 0!important;border-top:1px solid #999!important}
  .footer-grid,.footer-top .footer-brand{display:none!important}
  a[href^="http"]:not([class])::after{content:" (" attr(href) ")";font-size:.8em;color:#444}
}


/* ---------- 14. Review fixes ---------- */
[hidden]{display:none!important}
html.no-js .site-nav.over-dark{background:var(--night)}
/* Cover ring sits clear of the text, and varies from page to page */
.page-hero::after{width:min(46vw,640px);right:max(-24vw,-340px);top:-18%;transform:rotate(-14deg);opacity:.075}
.page-services .page-hero::after,.page-tools .page-hero::after{top:auto;bottom:-46%;transform:rotate(32deg)}
.page-about .page-hero::after,.page-contact .page-hero::after{top:-40%;transform:rotate(62deg)}
.page-diagnostic .page-hero::after,.page-checklist .page-hero::after{top:auto;bottom:-52%;right:-30vw;transform:rotate(-48deg)}
@media (max-width:860px){.page-hero::after,.article-header::after{width:96vw;right:-58vw;top:-24%;opacity:.06}}
/* Mastheads without the two-column grid */
.page-hero p,.article-header p{color:var(--ivory-2)}
.page-hero h1+p,.page-hero h1+div,.article-header h1+p{margin-top:clamp(20px,2.4vw,32px)!important}
.page-hero .hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:28px}
/* Atlas */
.record-scope .overline{display:block!important;margin:0 0 6px!important}
.records-explainer{margin-top:clamp(28px,3.4vw,48px)!important;padding:clamp(22px,2.4vw,32px)!important}
section.records-explainer{background:none!important;border:0!important;border-top:1px solid var(--rule)!important;padding:20px 0 0!important}
section.records-explainer::before{display:none}
@media (min-width:900px){.atlas-tools{display:grid!important;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) auto!important;align-items:end;gap:16px!important}}
/* Contact */
.contact-card{padding:clamp(24px,3vw,40px)!important}
#contactForm label{display:block!important}
.required-indicator{display:inline!important;font-family:var(--mono-f);font-size:.7rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
/* Enquiry bands: actions spaced */
.project-enquiry-grid>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.project-email{color:var(--ivory)!important}
/* About */
.portrait-window{padding:0!important;aspect-ratio:auto!important}
.portrait-figure figcaption{margin-top:30px!important}
@media (max-width:860px){.leadership-grid{grid-template-columns:1fr!important}.leadership-grid .portrait-figure{max-width:260px}}
/* Library and articles */
.reading-pack{align-items:center!important}
.prose .article-service h2{margin-top:0!important}
/* Briefing consent */
.consent-row{display:grid!important;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;margin:18px 0!important;font-size:.9rem;color:var(--ink-2)}
.consent-row input{margin:2px 0 0!important}
/* decomm.ai demo card text follows the theme tokens */
.readout-k,.readout p,.meter-label span,.demo-footnote{color:var(--ink-3)!important}
.readout h2,.readout .domain-readout-heading{color:var(--ink)!important}
/* Homepage refinements */
.hx-tool-list a{position:relative}
.hx-tool-go{position:absolute;top:30px;right:clamp(16px,2vw,28px);margin:0!important;padding:0!important}
.hx-tool-list li:last-child .hx-tool-go{right:0}
.hx-svc-l{flex-direction:column;gap:4px!important}
.v4-service-finder{padding-bottom:clamp(28px,3.5vw,56px)!important}
.v4-service-finder+.section{padding-top:clamp(40px,5vw,72px)!important}
.article-aside .text-link{display:inline-block!important;padding:7px 0!important;line-height:1.45;text-underline-offset:.3em}

/* ---------- 15. Release 6.1: the logo leads ---------- */
.site-nav .brand{--brand-word:#E87722;--brand-desc:#E87722}
/* Footer: the full lockup signs off every page */
.footer::before{display:none!important}
.footer-top{grid-template-columns:minmax(0,1fr) auto!important}
.footer-statement{max-width:34ch}
.footer-sign{display:block;color:var(--ivory)!important;padding:clamp(28px,4vw,56px) 0 clamp(28px,3.4vw,44px);border-top:1px solid var(--night-rule);--brand-rule:#5C5C5C;opacity:1!important}
.footer-lockup{display:block;width:100%;height:auto;aspect-ratio:449/132;overflow:visible}
.footer-sign:hover{opacity:1}
/* Inner covers carry the full mark, clear of the text */
.page-hero::after,.article-header::after{background-image:url(../brand/cover-mark.svg)!important;opacity:1!important;width:min(44vw,600px)!important;right:max(-9vw,-150px)!important;top:50%!important;bottom:auto!important;transform:translateY(-44%)!important}
.page-hero-grid{grid-template-columns:minmax(0,1fr)!important;max-width:min(100%,780px)}
.page-hero-grid>div,.page-hero-grid>p{max-width:36em}
.page-hero h1,.article-header h1{max-width:18ch}
.page-decomm-ai .page-hero::after{display:none}
@media (min-width:861px){.page-decomm-ai .page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;max-width:none}}
@media (max-width:1100px){.page-hero::after,.article-header::after{width:min(52vw,520px)!important;right:-18vw!important;opacity:.55!important}}
@media (max-width:860px){.page-hero::after,.article-header::after{width:300px!important;right:-120px!important;top:calc(var(--hh) + 10px)!important;transform:none!important;opacity:.5!important}}
/* 6.1 hero refinements */
.hx-hero-media{width:54%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 56%),linear-gradient(0deg,transparent 0%,#000 26%);mask-image:linear-gradient(90deg,transparent 0%,#000 56%),linear-gradient(0deg,transparent 0%,#000 26%)}
.hx-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,19,18,.78) 0%,rgba(19,19,18,0) 24%)}
.hx-hero-cap{bottom:clamp(112px,14vh,136px)}

/* Cover mark: the whole ring stays in view, orange point included */
.page-hero::after,.article-header::after{width:min(34vw,460px)!important;right:clamp(16px,5vw,88px)!important;top:50%!important;transform:translateY(-42%)!important;opacity:1!important}
@media (max-width:1199px){.page-hero::after,.article-header::after{width:min(30vw,300px)!important;right:3vw!important}}
@media (max-width:860px){.page-hero::after,.article-header::after{width:76px!important;right:var(--gutter)!important;top:calc(var(--hh) + 30px)!important;transform:none!important;opacity:.8!important}}

/* 6.1 hero composition: the logo owns the left, the photograph starts where the wordmark ends */
.hx-hero{--brand-w:min(calc(100vw - var(--gutter) * 2),800px,62vw,calc((100svh - var(--hh)) * 1.15));--brand-l:max(var(--gutter),calc((100% - var(--max-w)) / 2))}
.hx-brand{width:min(100%,var(--brand-w))}
.hx-hero-media{left:calc(var(--brand-l) + var(--brand-w) - 150px);width:auto;right:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5) 130px,#000 290px),linear-gradient(0deg,transparent 0%,#000 24%);
  mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5) 130px,#000 290px),linear-gradient(0deg,transparent 0%,#000 24%)}
.hx-hero-media img{opacity:1}
.hx-hero-cap{color:var(--ivory-2)!important;text-shadow:0 1px 14px rgba(0,0,0,.85),0 0 2px rgba(0,0,0,.6)}
@media (max-width:860px){
  .hx-hero-inner{order:0}
  .hx-index{order:1}
  .hx-hero-media{position:relative!important;order:2;z-index:0;opacity:1;top:auto;left:auto;right:auto;bottom:auto;width:100%;height:auto;aspect-ratio:4/5;overflow:hidden;margin-top:clamp(28px,6vw,48px);
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 20%);mask-image:linear-gradient(180deg,transparent 0,#000 20%)}
  .hx-hero-media::after{display:block;background:linear-gradient(0deg,rgba(12,12,11,.62) 0%,rgba(12,12,11,0) 26%)}
  .hx-hero-media img{object-position:50% 46%}
  .hx-hero-cap{display:block!important;position:absolute;left:var(--gutter);right:auto;bottom:16px;margin:0!important;z-index:2}
}
@media (max-width:600px){.page-hero::after,.article-header::after{display:none!important}}
@media (min-width:861px){.hx-hero-lead{max-width:min(34em,var(--brand-w))}}
.text-link .pdf-meta{display:inline-block;margin-left:.85em}
.page-hero-grid .platform p.demo-footnote,.page-hero-grid .platform .readout p{color:var(--ink-3)!important}

/* =====================================================================
   7.0  Stippled Cartography
   Paper ground, ink stipple, one ember accent. Plex Sans 600 headings,
   Plex Sans 400 body, Plex Mono 500 labels (Endura logo master sheet).
   ===================================================================== */
:root{--t-h1:clamp(2.15rem,1.45rem + 2.25vw,3.7rem);--t-h2:clamp(1.7rem,1.22rem + 1.5vw,2.75rem);--t-h3:clamp(1.15rem,1.05rem + .4vw,1.42rem);--plate-ink:#1A1A1A;--hair:#D3CDC1}
/* dark plates follow the theme set by theme-boot.js; without JavaScript the site is always the light theme */
:root[data-theme=dark],html[data-theme=dark]{--plate-ink:#F3F0EA;--hair:#3A3833}
body{background:var(--paper)!important}
h1,h2,h3,.page-hero h1,.article-header h1,.hx-cta h2,.hx-platform h2,.project-enquiry h2,.expertise-row summary h2,.hx-brief-t,.hx-svc-t{font-weight:600!important;font-family:var(--sans)!important}
h1,.page-hero h1,.article-header h1{letter-spacing:-.024em!important;line-height:1.06!important}
h2{letter-spacing:-.02em!important;line-height:1.1!important}
.kicker,.overline,.eyebrow{font-family:var(--mono-f)!important;font-weight:500!important}

/* header: paper, hairline, the master horizontal logo at full presence */
.site-nav,.site-nav.over-dark,.site-nav.is-scrolled{background:var(--paper)!important;color:var(--ink)!important;border-bottom:1px solid var(--rule)!important;box-shadow:none!important;backdrop-filter:none!important}
.site-nav .nav-links>a,.site-nav.over-dark .nav-links>a{color:var(--ink)!important}
.site-nav.over-dark .theme-btn,.site-nav.over-dark .menu-btn{color:var(--ink)!important}
.site-nav.over-dark .menu-btn span{background:var(--ink)!important}
.site-nav .brand,.site-nav.over-dark .brand{color:var(--ink)!important;--brand-word:currentColor;--brand-desc:#E87722;--brand-rule:var(--hair);opacity:1!important;transform:none!important}
.page-home .site-nav:not(.brand-in) .brand{opacity:1!important;transform:none!important;pointer-events:auto!important}
.brand-svg{height:64px}
@media (max-width:1080px){.brand-svg{height:54px}}
@media (max-width:860px){.brand-svg{height:46px}}
.site-nav .nav-contact,.site-nav.over-dark .nav-contact{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
.site-nav .nav-contact:hover{background:#000!important}

/* ---------- hero plate ---------- */
.hx7-hero{position:relative;padding:calc(var(--hh) + clamp(20px,3.2vh,44px)) 0 0;background:var(--paper);border-bottom:1px solid var(--rule);overflow:hidden}
.hx7-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);align-items:center;min-height:calc(100svh - var(--hh) - 150px)}
.hx7-copy{position:relative;z-index:2;max-width:620px;padding-block:clamp(12px,2vh,32px)}
.hx7-sheet{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 clamp(22px,3.4vh,40px)!important;padding-bottom:12px;border-bottom:1px solid var(--rule);font-family:var(--mono-f);font-weight:500;font-size:.68rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)!important}
.hx7-sheet span:first-child{color:var(--ink)}
.hx7-sheet span:last-child{margin-left:auto}
.hx7-copy .kicker{margin-bottom:16px!important}
.hx7-hero h1{font-size:var(--t-h1)!important;max-width:15ch;margin:0!important;color:var(--ink)!important}
.hx7-lead{font-size:var(--t-lead)!important;line-height:1.55;color:var(--ink-2)!important;max-width:31em;margin:clamp(16px,2.2vh,24px) 0 0!important}
.hx7-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;margin-top:clamp(24px,3.4vh,36px)}
.hx7-pillars{list-style:none;margin:clamp(34px,5vh,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.hx7-pillars li{margin:0}
.hx7-pillars a{display:grid;gap:4px;height:100%;padding:16px 16px 6px 0;color:var(--ink);text-decoration:none;border-right:1px solid var(--rule);transition:background .3s}
.hx7-pillars li+li a{padding-left:16px}
.hx7-pillars li:last-child a{border-right:0}
.hx7-pillars strong{font-weight:600;font-size:1rem;letter-spacing:-.005em}
.hx7-pillars span:not(.hx7-n){font-size:.86rem;line-height:1.45;color:var(--ink-3)}
.hx7-pillars a:hover strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.hx7-n{font-family:var(--mono-f);font-weight:500;font-size:.68rem;letter-spacing:.1em;color:var(--orange-ink)}
.hx7-dai{display:block;margin-top:4px}
.hx7-dai svg{display:block;width:min(100%,200px);height:auto;--dai-ink:var(--ink);--dai-grey:var(--ink-3);--dai-rule:var(--hair);overflow:visible}

.hx7-figure{position:relative;margin:0;justify-self:end;width:min(100%,calc(100svh - var(--hh) - 236px),760px);min-width:min(100%,420px)}
.hx7-plate{position:relative;aspect-ratio:1;width:100%;color:var(--plate-ink);touch-action:pan-y}
.hx7-plate canvas{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none}
/* the mark as SVG, registered to the canvas plate (mark space 600 = plate space 1000 = the full box) */
.hx7-fallback{position:absolute;inset:0;width:100%;height:100%;transition:opacity .4s}
.hx7-plate.plate-live .hx7-fallback,html.ring-intro .hx7-fallback{opacity:0}
/* if the plate script never arrives, the mark returns once the intro would have finished */
html.ring-intro .hx7-plate:not(.plate-live):not(.plate-static) .hx7-fallback{animation:hx7Late .4s 3.6s forwards}
@keyframes hx7Late{to{opacity:1}}
/* static plate: the stippled platform for visitors without JavaScript or canvas, inked like the live plate.
   The image is requested only when one of these two rules applies. */
.hx7-static{position:absolute;inset:0;display:none;background:var(--plate-ink);pointer-events:none}
html.no-js .hx7-static,.hx7-plate.plate-static .hx7-static{display:block;-webkit-mask:url(../img/plate-static.webp) center/100% 100% no-repeat;mask:url(../img/plate-static.webp) center/100% 100% no-repeat}
/* crop marks: the plate sits on its sheet */
.hx7-plate::before,.hx7-plate::after{content:"";position:absolute;width:22px;height:22px;pointer-events:none;border-color:var(--rule-2);border-style:solid}
.hx7-plate::before{left:-6px;top:-6px;border-width:1px 0 0 1px}
.hx7-plate::after{right:-6px;bottom:-6px;border-width:0 1px 1px 0}
.hx7-leaders{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.hx7-leaders path{fill:none;stroke:var(--ink-3);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:2 3}
.hx7-leaders circle{fill:var(--paper);stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.hx7-notes{list-style:none;margin:0;padding:0;position:absolute;inset:0;pointer-events:none}
.hx7-notes li{position:absolute;left:var(--x);top:var(--y);transform:translateY(calc(-100% - 6px));display:grid;gap:2px;font-family:var(--mono-f);font-weight:500;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}
.hx7-notes li b{font-weight:500;color:var(--ink)}
.hx7-notes li.r{transform:translate(-100%,calc(-100% - 6px));text-align:right}
.hx7-notes li.e b{color:var(--orange-ink)}
html.ring-intro .hx7-notes li,html.ring-intro .hx7-leaders{animation:heroIn .9s var(--ease-out) 2.3s both}
.hx7-figure figcaption{display:flex;gap:12px;margin-top:14px;padding-top:10px;border-top:1px solid var(--rule);font-size:.8rem!important;line-height:1.45;color:var(--ink-3)!important;font-family:var(--sans)!important;letter-spacing:0!important;text-transform:none!important}
.hx7-figure figcaption span{font-family:var(--mono-f);font-weight:500;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);white-space:nowrap;padding-top:.15em}
.hx7-figure .hx7-cap{display:flex;gap:12px;flex:1 1 300px;margin:0;max-width:none;font:inherit;line-height:inherit;color:inherit!important}
.hx7-figure figcaption{flex-wrap:wrap}   /* on narrow screens Replay drops below the caption instead of squeezing it */
/* Replay: draws the plate again on request */
.hx7-replay{flex:none;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;min-height:30px;margin:-4px 0 0 auto;padding:0 11px;border:1px solid var(--rule-2);border-radius:0;background:transparent;color:var(--ink);font-family:var(--mono-f);font-weight:500;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;line-height:1;cursor:pointer;transition:border-color .2s,color .2s}
.hx7-replay[hidden]{display:none}
/* present from first paint (no layout shift); not offered without JavaScript, without canvas or with reduced motion */
html.no-js .hx7-replay,.hx7-plate.plate-static+figcaption .hx7-replay{display:none}
@media (prefers-reduced-motion:reduce){.hx7-replay{display:none}}
.hx7-replay svg{width:12px;height:12px;flex:none}
.hx7-replay:hover{border-color:var(--ink);color:var(--orange-ink)}
.hx7-replay:active svg{transform:rotate(-40deg)}
html.ring-intro .hx7-sheet,html.ring-intro .hx7-actions,html.ring-intro .hx7-pillars{animation:heroIn .9s var(--ease-out) both}
html.ring-intro .hx7-actions{animation-delay:.2s}
html.ring-intro .hx7-pillars{animation-delay:.34s}
.hx7-index{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(24px,3vh,40px)!important;border-top:1px solid var(--rule)}
.hx7-index a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:3px;padding:18px 28px 22px 0;color:var(--ink);text-decoration:none}
.hx7-index a+a{padding-left:22px;border-left:1px solid var(--rule)}
.hx7-index .hx7-n{grid-row:span 2;padding-top:.25em;color:var(--ink-3)}
.hx7-index .hx-index-k{font-size:.95rem;font-weight:600}
.hx7-index .hx-index-v{font-family:var(--mono-f);font-weight:500;font-size:.68rem;letter-spacing:.04em;color:var(--ink-3)}
.hx7-index a:hover .hx-index-k{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
@media (max-width:1180px){.hx7-notes li{font-size:.58rem}}
@media (max-width:960px){
  .hx7-grid{grid-template-columns:1fr;min-height:0;gap:28px}
  .hx7-copy{max-width:none}
  .hx7-figure{justify-self:center;width:min(100%,640px)}
  .hx7-index{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hx7-index a:nth-child(3){padding-left:0;border-left:0}
  .hx7-index a:nth-child(n+3){border-top:1px solid var(--rule)}
}
@media (max-width:640px){
  .hx7-pillars{grid-template-columns:1fr}
  .hx7-pillars a{border-right:0;border-bottom:1px solid var(--rule);padding:14px 0!important;grid-template-columns:28px minmax(0,1fr);column-gap:10px}
  .hx7-pillars .hx7-n{grid-row:span 2;padding-top:.3em}
  .hx7-notes,.hx7-leaders{display:none}
  .hx7-sheet span:last-child{margin-left:0}
}
@media (max-width:480px){.hx7-index{grid-template-columns:1fr}.hx7-index a{padding-left:0!important;border-left:0!important;border-top:1px solid var(--rule)}.hx7-index a:first-child{border-top:0}}

/* ---------- 7.0 homepage sections ---------- */
.hx7-band{background:var(--band)!important;color:var(--ink)}
/* figures read as instrument read-outs: Plex Mono 500 */
.hx-figure-num{font-family:var(--mono-f)!important;font-weight:500!important;letter-spacing:-.06em!important;font-size:clamp(4.6rem,1.6rem + 9.4vw,11.5rem)!important;line-height:.86}
.hx-figure-unit{font-family:var(--mono-f);font-weight:500;letter-spacing:.02em;font-size:clamp(1rem,.8rem + .8vw,1.6rem);text-transform:uppercase}
.hx-statement{font-weight:400!important;letter-spacing:-.012em!important}
.hx-model-facts span,.hx-records-stats dd,.hx-tool-n{font-family:var(--mono-f)!important;font-weight:500!important;letter-spacing:-.04em!important}
.hx-tool-n{font-size:clamp(2.8rem,1.9rem + 2.6vw,4.4rem)!important}
.hx-svc-t{letter-spacing:-.018em!important}
/* execution: photographs as plates */
.hx-exec .kicker{color:var(--ink-3)!important}
.hx-exec h2,.hx-exec h3,.hx-exec strong{color:var(--ink)!important}
.hx-exec p,.hx-exec li{color:var(--ink-2)}
.hx-exec .text-link{color:var(--ink)!important}
.hx-exec-sub{color:var(--ink)!important;font-weight:600!important}
.hx-exec-lead figcaption,.hx-model figcaption{color:var(--ink-3)!important;border-top:1px solid var(--rule-2);padding-top:10px}
.hx-photos figcaption{border-top-color:var(--rule-2)!important}
.hx-photos figcaption span:last-child{color:var(--ink-3)!important}
/* 7.1: photographs and the model render keep their real colour for every visitor (the 6.x grade above applies).
   7.3: licensed photographs replace the supplied ones; the lead is no longer lifted */
.hx-exec-lead img{filter:saturate(.94) contrast(1.02)}
.hx-model-visual{background:var(--band)}
.hx-exec-lead picture,.hx-photos picture{background:var(--band)}
.hx-exec .hx-note,.hx-exec .hx-photos-note{color:var(--ink-3)!important}
/* offshore records: the stippled chart on paper */
.hx-records{background:var(--paper)!important;color:var(--ink)}
.hx-records h2,.hx-records strong{color:var(--ink)!important}
.hx-records p,.hx-records li{color:var(--ink-2)}
.hx-records .kicker{color:var(--ink-3)!important}
.hx-records-stats{border-color:var(--rule)!important}
.hx-records-stats dt{color:var(--ink-3)!important}
.hx-records-stats dd{color:var(--ink)!important}
.hx-records .btn-outline{color:var(--ink)!important;border-color:var(--ink)!important}
.hx-records .btn-outline:hover{background:var(--ink)!important;color:var(--paper)!important}
.hx-map-svg{color:color-mix(in srgb,var(--ink) 62%,transparent)!important}
.hx-map-edge{stroke:color-mix(in srgb,var(--ink) 30%,transparent)!important}
.hx-map-labels li{background:var(--paper)!important;color:var(--ink)!important;border:1px solid var(--rule)}
.hx-map figcaption{color:var(--ink-3)!important;border-top:1px solid var(--rule);padding-top:10px}
.hx-map-badge,.hx-pin-n{fill:#1A1A1A}
/* briefing card: a reversed plate */
.hx-brief{background:var(--ink)!important;color:var(--paper)!important}
.hx-brief .hx-brief-t{color:var(--paper)!important}
.hx-brief-d{color:color-mix(in srgb,var(--paper) 72%,transparent)!important}
.hx-brief-id{color:color-mix(in srgb,var(--paper) 62%,transparent)!important}
.hx-brief-go{color:var(--paper)!important}
.hx-brief::after{background-image:url(../brand/cover-mark.svg)!important;opacity:.32!important;width:360px!important;right:-60px!important;top:-90px!important}
/* enquiry: paper, the ring standing behind */
.hx-cta{background:var(--paper)!important;color:var(--ink);border-top:1px solid var(--rule)}
.hx-cta h2{color:var(--ink)!important}
.hx-cta p{color:var(--ink-2)!important}
.hx-cta .kicker{color:var(--ink-3)!important}
.hx-cta::before{display:none!important}
.hx-cta .btn-solid{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
.hx-cta-line{color:var(--ink-2)!important}
.hx-cta-line:hover{color:var(--ink)!important}
/* decomm.ai: plate IV, reversed */
.hx7-dai-band{background:#131312!important;color:#F3F0EA;--pulse-ink:#F3F0EA;padding-block:clamp(72px,9vw,140px)!important}
.hx7-dai-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(40px,6vw,110px);align-items:center}
.hx7-dai-band .hx7-sheet{border-color:#33312D;color:#9C978E!important}
.hx7-dai-band .hx7-sheet span:first-child{color:#F3F0EA}
.hx7-dai-band h2{margin:6px 0 0!important;font-size:inherit!important}
.hx7-dai-lockup{display:block;width:min(100%,520px);height:auto;overflow:visible;--dai-ink:#F3F0EA;--dai-grey:#9C978E;--dai-rule:#4A4843}
.hx7-dai-band .hx-platform-lead{color:#F3F0EA!important;font-size:var(--t-lead)!important;margin:26px 0 12px!important;font-weight:400}
.hx7-dai-band p{color:#B8B3A9!important;max-width:36em}
.hx7-dai-band .hx-platform-actions{margin-top:28px;align-items:center;gap:16px 30px}
.hx7-pulse{position:relative;aspect-ratio:1;width:min(100%,560px);justify-self:center}
.hx7-pulse canvas{position:absolute;inset:0;width:100%;height:100%;max-width:none}
.hx7-pulse-fallback{position:absolute;inset:0;width:100%;height:100%;--dai-ink:#F3F0EA;transition:opacity .4s}
.hx7-pulse.pulse-live .hx7-pulse-fallback{opacity:0}
@media (max-width:960px){.hx7-dai-grid{grid-template-columns:1fr}.hx7-pulse{width:min(100%,420px)}}

/* ---------- 7.0 inner page covers: paper plates ---------- */
.page-hero,.article-header{--ivory:var(--ink);--ivory-2:var(--ink-2);--ivory-3:var(--ink-3);--night:var(--paper);--night-rule:var(--rule-2);border-bottom:1px solid var(--rule)}
.page-hero .btn-solid,.article-header .btn-solid{color:var(--paper)!important}
.page-hero .btn-outline:hover,.article-header .btn-outline:hover{color:var(--paper)!important}
.page-hero::after,.article-header::after{background-image:url(../brand/cover-mark-ink.svg)!important}
html[data-theme=dark] .page-hero::after,html[data-theme=dark] .article-header::after{background-image:url(../brand/cover-mark.svg)!important}
.page-hero .eyebrow,.article-header .eyebrow{display:flex!important;align-items:center;gap:14px}
.page-hero .eyebrow::after,.article-header .eyebrow::after{content:"";flex:0 1 120px;height:1px;background:var(--rule-2)}
.breadcrumbs li+li::before{color:var(--rule-2)!important}

/* ---------- 7.0 footer: the two marks sign off every page ---------- */
.footer-marks{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:end;padding-top:clamp(36px,4vw,56px);margin-top:clamp(24px,3vw,40px);border-top:1px solid var(--night-rule)}
.footer-marks .footer-sign{margin:0!important;padding:0!important;border:0!important}
.footer-dai{display:block;padding:0 0 clamp(6px,1vw,14px) clamp(20px,3vw,48px);border-left:1px solid var(--night-rule);--dai-ink:#F3F0EA;--dai-grey:#9C978E;--dai-rule:#4A4843;transition:opacity .3s}
.footer-dai svg{display:block;width:100%;height:auto;overflow:visible}
.footer-dai:hover{opacity:.82}
.footer .footer-lockup{--brand-word:#F3F0EA;--brand-desc:#E87722;color:#F3F0EA}
@media (max-width:760px){.footer-marks{grid-template-columns:1fr}.footer-dai{border-left:0;padding-left:0;max-width:320px}}
/* decomm.ai page: its own mark on the cover */
.dai-cover-lockup{display:block;width:min(100%,460px);height:auto;margin:0 0 clamp(26px,3vw,40px);overflow:visible;--dai-ink:var(--ink);--dai-grey:var(--ink-3);--dai-rule:var(--rule-2)}

.page-decomm-ai .page-hero-grid{align-items:start!important}
@media (max-width:960px){.hx-brief{grid-template-columns:minmax(0,1fr)!important}.hx-brief>*{min-width:0}.hx-brief-go{white-space:normal!important}}
.hx-exec .hx-ph-n{color:var(--orange-ink)!important}
.hx-exec .hx-provenance{color:var(--ink-3)!important}
.hx-cta .phone-zone{color:var(--ink-3)!important;opacity:1!important}

/* ---------- 7.1: technical library search ---------- */
.lib-search-wrap{margin-bottom:22px}
html.no-js .lib-search-wrap{display:none}   /* shown from first paint with JavaScript, so nothing shifts */
.lib-search{display:grid;gap:9px;max-width:720px}
.lib-search label{font-family:var(--mono-f);font-weight:500;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.lib-search-field{position:relative;display:flex;align-items:stretch}
.lib-search-field svg{position:absolute;left:16px;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--ink-3);pointer-events:none}
.lib-search input{flex:1;min-width:0;height:52px;margin:0;border:1px solid var(--rule-2);border-radius:0;background:var(--card);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.2;-webkit-appearance:none;appearance:none}
main #noteSearch{min-height:52px;padding:0 16px 0 46px!important;border-right:0!important}   /* outranks the general form-field rule */
.lib-search input::placeholder{color:var(--ink-3);opacity:1}
.lib-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
.lib-search input:hover{border-color:var(--ink-3)}
.lib-search-clear{flex:none;height:52px;padding:0 18px;border:1px solid var(--rule-2);border-radius:0;background:transparent;color:var(--ink);font-family:var(--mono-f);font-weight:500;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.lib-search-clear:hover{border-color:var(--ink);color:var(--orange-ink)}
.lib-empty{margin-top:8px;margin-bottom:28px}
.lib-empty p{max-width:none;margin:0;padding:22px 24px;border:1px dashed var(--rule-2);color:var(--ink-2)}
.lib-empty-clear{display:inline;padding:0;border:0;background:none;color:var(--ink);font:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;cursor:pointer}
.lib-empty-clear:hover{color:var(--orange-ink)}
@media (max-width:640px){main #noteSearch{padding-left:42px!important}.lib-search-field svg{left:14px}.lib-search-clear{padding:0 14px}}

/* ---------- 7.1.3: audit fixes ---------- */
/* hero pillars: titles line up whatever the length of each summary */
.hx7-pillars a{align-content:start}
/* focus ring: deep orange on light surfaces (7.4:1 on paper), brand orange on dark bands */
html:not([data-theme=dark]) :focus-visible{outline-color:var(--orange-ink)!important}
html:not([data-theme=dark]) .on-night :focus-visible{outline-color:var(--brand-orange)!important}
/* About: each heading sits level with the start of its own text */
.about-story-grid{align-items:start!important}
/* decomm.ai page: the two calls to action sit in one wrapping row */
.dai-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:28px}
.dai-cta-row>a{margin:0!important}
/* without JavaScript, controls that need it are not shown */
html.no-js .library-filters,html.no-js .theme-btn{display:none!important}

/* ---------- 7.2: fewer devices, real figures ---------- */
/* labels keep their words, lose the decorative dot */
.eyebrow::before,.kicker::before{display:none!important;content:none!important}
/* article header: the summary stays clear of the ring */
@media (min-width:961px){.article-header .standfirst{max-width:min(40em,58%)!important}}
/* wide screens: text keeps a reading measure, figures use the full width beside the contents */
@media (min-width:1200px){
  .article-layout{grid-template-columns:250px minmax(0,1fr)!important}
  .prose{max-width:none!important}
  .prose>*{max-width:42rem}
  .prose>.fig-wide{max-width:none}
}
/* Fig. 04.1: what each public record shows */
.fig-read .fr-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.fig-read .fr-steps li{padding:14px 16px 4px 0;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:10px}
.fig-read .fr-steps li+li{padding-left:16px}
.fig-read .fr-steps li:last-child{border-right:0}
.fig-read .fr-n{font-family:var(--mono-f);font-weight:500;font-size:.72rem;letter-spacing:.06em;color:var(--orange-ink)}
.fig-read b{font-weight:600;font-size:1rem;color:var(--ink);line-height:1.3}
.fig-read .fr-steps p{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink-2)}
.fig-read .fr-steps p span{display:block;font-family:var(--mono-f);font-weight:500;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}
.fig-read .fr-yes span{color:var(--ink)}
.fig-read .fr-no span{color:var(--orange-ink)}
.fig-read .fr-no{padding-top:10px;border-top:1px dashed var(--rule-2)}
.fig-read .fr-lanes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.fig-read .fr-lanes div{padding:14px 16px;border:1px solid var(--rule);background:var(--paper)}
.fig-read .fr-lanes b{display:block;margin-bottom:4px}
.fig-read .fr-lanes p{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink-2)}
/* Fig. 04.2: one asset, several accepted scopes */
.fig-scopes .fs-key{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:18px;font-size:.82rem;color:var(--ink-2)}
.fig-scopes .fs-key span{display:inline-flex;align-items:center;gap:8px}
.fs-k-mark{width:9px;height:9px;background:var(--brand-orange);transform:rotate(45deg);display:inline-block}
.fs-k-check{width:0;height:14px;border-left:1.5px dashed var(--ink);display:inline-block}
.fs-k-fore{width:22px;height:9px;display:inline-block;background:repeating-linear-gradient(135deg,var(--ink-3) 0 1.5px,transparent 1.5px 5px);border:1px solid var(--ink-3)}
.fig-scopes .fs-rows{list-style:none;margin:0;padding:0;position:relative}
.fig-scopes .fs-rows li{display:grid;grid-template-columns:9.5rem minmax(0,1fr);align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--rule)}
.fig-scopes .fs-rows li:first-child{border-top:1px solid var(--rule)}
.fig-scopes .fs-label{font-size:.92rem;font-weight:500;color:var(--ink)}
.fig-scopes .fs-track{position:relative;height:16px}
.fig-scopes .fs-track::after{content:"";position:absolute;left:var(--check);top:-10px;bottom:-10px;border-left:1.5px dashed var(--ink)}
.fig-scopes .fs-bar{position:absolute;left:var(--a);width:calc(var(--b) - var(--a));top:3px;height:10px;background:linear-gradient(90deg,var(--ink) 0 calc((var(--check) - var(--a)) / (var(--b) - var(--a)) * 100%),transparent 0),repeating-linear-gradient(135deg,var(--ink-3) 0 1.5px,transparent 1.5px 5px);border:1px solid var(--ink)}
.fig-scopes .fs-bar::before{content:"";position:absolute;left:-6px;top:-1px;width:10px;height:10px;background:var(--brand-orange);transform:rotate(45deg)}
/* Fig. 04.3: record map */
.fig-map .fm-scroll{overflow-x:auto}
.fig-map table{width:100%;border-collapse:collapse;font-size:.9rem;line-height:1.5;min-width:620px}
.fig-map th,.fig-map td{text-align:left;vertical-align:top;padding:11px 14px 11px 0;border-bottom:1px solid var(--rule);color:var(--ink-2)}
.fig-map thead th{font-family:var(--mono-f);font-weight:500;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--ink)}
.fig-map tbody th{font-weight:600;color:var(--ink);width:24%}
.fig-map td:last-child{color:var(--orange-ink)}
.fig-map figcaption a{color:inherit}
.prose h3#worked-example{margin-top:2em}
@media (max-width:760px){
  .fig-read .fr-steps{grid-template-columns:1fr 1fr;row-gap:18px}
  .fig-read .fr-steps li:nth-child(2){border-right:0}
  .fig-read .fr-steps li:nth-child(3){padding-left:0}
  .fig-read .fr-lanes{grid-template-columns:1fr}
}
@media (max-width:480px){
  .fig-read .fr-steps{grid-template-columns:1fr}
  .fig-read .fr-steps li{border-right:0;padding-left:0!important;border-bottom:1px solid var(--rule);padding-bottom:14px}
  .fig-scopes .fs-rows li{grid-template-columns:6.8rem minmax(0,1fr);gap:10px}
  .fig-scopes .fs-label{font-size:.84rem}
}
/* About: career record */
.career-section{border-top:1px solid var(--rule)}
.career-head{max-width:46rem;margin-bottom:clamp(28px,3vw,44px)}
.career-head h2{margin:10px 0 14px}
.career-head p{color:var(--ink-2)}
.career-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.career-list li{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:22px;padding:20px 0;border-bottom:1px solid var(--rule)}
.cr-yr{font-family:var(--mono-f);font-weight:500;font-size:.78rem;letter-spacing:.04em;color:var(--ink-3);padding-top:.2em}
.career-list b{display:block;font-weight:600;font-size:1.05rem;color:var(--ink);line-height:1.35}
.cr-org{display:block;margin-top:3px;font-size:.95rem;color:var(--orange-ink)}
.career-list p{margin:8px 0 0;max-width:46rem;color:var(--ink-2);line-height:1.6}
.career-certs{margin-top:32px}
.career-certs ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.career-certs li{padding:7px 12px;border:1px solid var(--rule-2);font-size:.9rem;color:var(--ink)}
.article-meta .byline a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media (max-width:640px){.career-list li{grid-template-columns:1fr;gap:6px}}

/* note sidebar: download links stack, never touch */
.article-aside>.btn-outline{display:inline-flex;margin-bottom:10px}
.article-aside>.text-link{display:table!important;margin-top:2px}
/* Fig. 04.3 on phones: each question becomes a labelled card */
@media (max-width:640px){
  .fig-map table{min-width:0}
  .fig-map thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .fig-map tr,.fig-map tbody th,.fig-map td{display:block;width:auto!important}
  .fig-map tr{padding:12px 0;border-bottom:1px solid var(--rule)}
  .fig-map tbody th,.fig-map td{border:0;padding:3px 0}
  .fig-map tbody th{font-size:1rem;margin-bottom:6px}
  .fig-map td::before{content:attr(data-label);display:block;font-family:var(--mono-f);font-weight:500;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}
}
