@font-face{font-family:"IBM Plex Sans";src:url("../fonts/IBMPlexSans-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/IBMPlexSans-Medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../fonts/IBMPlexSans-SemiBold.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
/* Tokens (DESIGN-SPEC §4, 2026-09-13): palette unchanged; content shell 1240px, header/footer shell 1320px. */
:root{--ink:#182128;--text:#2f3035;--muted:#53616c;--red:#bf2540;--red-dark:#991b31;--red-functional:var(--red-dark);--line:#d8dfe4;--line-dark:#bbbcc4;--paper:#fff;--surface:#f4f6f8;--surface-2:#ececef;--navy:#17232e;--max:1320px;--shell:1240px;--gutter:clamp(20px,3.2vw,52px);--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--s16:64px;--s20:80px;color-scheme:light}
*,:before,:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:140px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.65 "IBM Plex Sans",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--red-dark);text-underline-offset:.19em;text-decoration-thickness:1px}
a:hover{color:var(--red)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--red-dark);outline-offset:5px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button,a.button{min-height:48px}
h1,h2,h3,h4{font-weight:500;line-height:1.15;letter-spacing:-.025em;margin:0 0 20px;text-wrap:balance;overflow-wrap:break-word}
h1{font-size:clamp(2.3rem,4.8vw,4.25rem);line-height:1.06}
h2{font-size:clamp(1.7rem,2.7vw,2.55rem)}
h3{font-size:1.35rem}
p,ul,ol,dl{margin:0 0 22px}
ul,ol{padding-left:1.4em}
li+li{margin-top:8px}
p:last-child{margin-bottom:0}
[hidden]{display:none!important}
.container{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}
.section{padding-block:80px}
.section-tight{padding-block:20px 64px}
.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-weight:600;font-size:12px;line-height:1.4;color:var(--red-dark);margin-bottom:17px}
.lead{font-size:clamp(1.18rem,1.55vw,1.4rem);line-height:1.55;color:var(--muted);max-width:64ch}
.small{font-size:15px;line-height:1.55;color:var(--muted)}
.muted{color:#bdc8d2}
.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);border:1px solid var(--red);color:#fff;font-size:15px;font-weight:500;line-height:1.35;padding:12px 22px;text-decoration:none;border-radius:2px}
.button:hover{color:#fff;background:var(--red-dark);border-color:var(--red-dark)}
.button.outline{background:#fff;color:var(--navy);border-color:var(--line-dark)}
.button.outline:hover{border-color:var(--red);color:var(--red-dark)}
.button.light{background:white;border-color:white;color:var(--red-dark)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:27px}
.text-link{display:inline-block;font-weight:500;margin-top:26px}
.text-button{border:0;background:none;color:var(--red-dark);text-decoration:underline;padding:8px 0;font-weight:500}
.visually-hidden{position:absolute!important;height:1px;width:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:10px;left:15px;transform:translateY(-200%);background:#fff;padding:12px 20px;border:2px solid var(--red)}
.skip-link:focus{transform:translateY(0)}
.site-header{border-top:3px solid var(--red);border-bottom:1px solid var(--line);background:rgba(255,255,255,.98);position:relative;z-index:20}
.breadcrumb{width:min(calc(100% - var(--gutter)*2),var(--max));margin:22px auto 0;font-size:13px;color:var(--muted)}
.breadcrumb ol{padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0}
.breadcrumb li+li{margin:0}
.breadcrumb li+li:before{content:'/';color:#9aa5af;margin-right:12px}
.breadcrumb a{color:var(--muted);text-decoration:none}
.page-hero{padding-block:46px 45px}
.page-hero h1{max-width:27ch}
.page-hero .lead{max-width:75ch}
/* The first screen shows the portfolio's packaging concepts, not the building site
   (owner decision 2026-09-12). The grid sits in the hero's right half and collapses to one
   column with the rest of the hero at 760px. */
.home-hero{max-width:1530px;margin:28px auto 0;padding-inline:var(--gutter);display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.home-hero-copy{padding:clamp(28px,4vw,65px) clamp(26px,3.3vw,52px);border-left:4px solid var(--red);background:var(--surface)}
.home-hero h1{font-size:clamp(2.5rem,4.25vw,4.1rem);max-width:14ch}
.home-hero .lead{font-size:20px}
.home-hero .photo{background:#dce1e4;margin:0;position:relative;min-height:100%}
.home-hero .photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.home-hero .photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:18px 22px;color:#fff;background:rgba(0,0,0,.82);font-size:14px}
.stage-note{font-size:15px;line-height:1.55;color:var(--muted);margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.project-facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding-block:34px;gap:24px}
.project-facts div{border-right:1px solid var(--line);padding:0 20px 0 0}
.project-facts div:last-child{border:0}
.project-facts strong{display:block;font-size:31px;font-weight:500;letter-spacing:-.03em}
.project-facts span{display:block;font-size:15px;color:var(--muted)}
.section-heading{max-width:820px;margin-bottom:34px}
.section-heading p:not(.eyebrow){color:var(--muted)}
.feature-grid,.phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.feature-grid article{padding:27px;border:1px solid var(--line);border-top:3px solid var(--red);background:#fff}
.feature-grid article p{color:var(--muted);font-size:17px}
.feature-grid .number{color:var(--red-dark);font-size:14px;font-weight:600;margin-bottom:20px;display:block}
.feature-grid a{font-weight:500}
.surface-band{background:var(--surface)}
.dark-band{background:var(--navy);color:white}
.dark-band h2,.dark-band h3{color:white}
.dark-band .eyebrow{color:#ffc0cb}
.dark-band .phase-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:36px 0}
.phase-grid article{border-top:1px solid #52616e;padding-top:22px}
.phase-grid span{display:block;font-size:14px;color:#ffbeca;margin-bottom:24px}
.phase-grid p{font-size:17px;color:#d1d9df}
.dark-band>div>p:last-child{font-size:15px}
.photo{margin:0}
.photo img{width:100%;aspect-ratio:1600/901;object-fit:cover}
.photo figcaption{padding-top:12px;font-size:14px;color:var(--muted);line-height:1.5}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 28px;margin-bottom:30px}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.category-grid a{min-height:116px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.category-grid a:hover{background:var(--surface)}
.category-grid strong{font-size:18px;font-weight:500;line-height:1.3}
.category-grid span{font-size:14px;color:var(--muted)}
.cta-band{background:var(--red-dark);color:#fff}
.cta-band>.container{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:48px}
.cta-band h2{max-width:24ch;font-size:33px}
.cta-band .eyebrow{color:#ffe7eb}
.cta-band p{color:#fce2e7}
.cta-band .button{flex-shrink:0}
.notice{border:1px solid #d5dee5;border-left:3px solid var(--red);padding:22px 26px;background:var(--surface);margin:0 0 32px;max-width:100%}
.notice p{font-size:17px;line-height:1.6}
.notice strong{display:block;margin-bottom:8px}
.notice.compact{margin-top:28px}
.catalogue-tools{margin-top:34px}
.filter-row{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:20px}
.filter-row label,.composer label{display:block;font-size:15px;font-weight:500;margin-bottom:8px}
.filter-row input,.filter-row select,.composer input,.composer textarea,.composer select{width:100%;min-width:0;background:#fff;border:1px solid #aebac4;border-radius:2px;padding:11px 13px;font-size:17px;min-height:48px}
.filter-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:15px 0 24px;font-size:15px;color:var(--muted)}
.filter-summary p{margin:0}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalogue-card{border:1px solid var(--line);border-top:3px solid #d5dde3;transition:border-color .16s;background:#fff;min-width:0}
.catalogue-card:hover{border-color:var(--red)}
.catalogue-card>a{display:flex;flex-direction:column;height:100%;padding:24px;text-decoration:none;color:var(--ink)}
.card-meta{display:flex;justify-content:space-between;gap:15px;font-size:13px;color:var(--muted);margin-bottom:25px}
.card-meta span:first-child{font-weight:600;letter-spacing:.04em;color:var(--red-dark)}
.card-meta span:last-child{text-align:right}
.catalogue-card h3{font-size:24px;font-weight:500;overflow-wrap:anywhere}
.catalogue-card .strength{font-size:17px;color:#41505c;line-height:1.55}
.catalogue-card .card-category{font-size:14px;color:var(--muted);margin-top:auto;padding-top:13px}
.card-link{border-top:1px solid var(--line);padding-top:17px;font-size:15px;font-weight:500;display:flex;justify-content:space-between;gap:15px;color:var(--red-dark)}
.browse-links{display:flex;flex-wrap:wrap;gap:15px 30px;margin-top:35px;padding-top:25px;border-top:1px solid var(--line);font-size:16px}
.empty-results{background:var(--surface);padding:30px}
.alphabet{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:40px}
.alphabet a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);text-decoration:none}
.az-section{display:grid;grid-template-columns:90px 1fr;gap:20px;padding-block:25px;border-top:1px solid var(--line)}
.index-list{list-style:none;padding:0;margin:0}
.index-list li{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #edf0f3;margin:0}
.index-list li span{font-size:14px;color:var(--muted);white-space:nowrap}
.index-list a{font-size:17px}
.dossier-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:60px;padding-block:46px}
.dossier-hero h1{font-size:clamp(2.2rem,4vw,3.7rem);overflow-wrap:anywhere}
.dossier-hero .lead{max-width:62ch;font-size:20px}
.record-panel{align-self:start;border:1px solid var(--line);border-top:4px solid var(--red);padding:27px;background:var(--surface)}
.record-panel>strong{font-size:38px;line-height:1.2;font-weight:500;display:block;margin-bottom:15px}
.record-panel p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.55}
.identity-band{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.identity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0}
.identity-grid>dl{padding:22px 28px 22px 0;min-width:0;margin:0}
.identity-grid dt{font-size:14px;color:var(--muted);margin-bottom:6px}
.identity-grid dd{font-size:18px;font-weight:500;margin:0;overflow-wrap:anywhere}
.dossier-layout,.article-layout{display:grid;grid-template-columns:250px minmax(0,850px);gap:60px;padding-block:56px 76px;align-items:start}
.contents{border-top:3px solid var(--red);padding-top:20px;position:sticky;top:28px}
.contents nav{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.contents nav a{display:block;padding:9px 0;text-decoration:none;color:var(--muted);font-size:16px;line-height:1.4}
.contents nav a:hover{color:var(--red-dark)}
.contents>.small{border-top:1px solid var(--line);padding-top:20px;margin-top:22px}
.dossier-content,.longform{min-width:0;font-size:18px}
.dossier-content>section,.longform>section{margin-bottom:44px}
.dossier-content h2,.longform h2{font-size:30px;line-height:1.2}
.dossier-content h3,.longform h3{font-size:23px;margin-top:28px}
.dossier-content p,.longform p,.dossier-content li,.longform li{color:#394853}
.dossier-content .eyebrow,.longform .eyebrow{color:var(--red-dark)}
.longform .photo{margin-bottom:40px}
.reference-detail{border:1px solid var(--line);margin-bottom:12px;background:#fff}
.reference-detail summary{cursor:pointer;position:relative;padding:20px 24px;font-size:19px;font-weight:500;line-height:1.4;min-height:64px;list-style-position:outside;margin-left:24px}
.reference-detail summary::marker{color:var(--red)}
.reference-detail[open] summary{border-bottom:1px solid var(--line);margin-bottom:0}
.reference-detail>div,.reference-detail>.index-list{padding:24px}
.reference-detail summary span{font-size:14px;font-weight:400;color:var(--muted);margin-left:14px}
.reference-detail p:last-child{margin-bottom:0}
.source-list{padding-left:1.25em;font-size:17px;line-height:1.55}
.source-list li{margin-bottom:12px;overflow-wrap:anywhere}
.references{border-top:1px solid var(--line);padding-top:36px}
.inline-links{display:flex;flex-wrap:wrap;gap:15px 25px;font-size:16px;padding-top:10px}
.longform table{border-collapse:collapse;width:100%;font-size:16px;display:block;overflow-x:auto}
.longform th,.longform td{padding:12px;border:1px solid var(--line);vertical-align:top;text-align:left}
.longform th{background:var(--surface)}
.longform a{overflow-wrap:anywhere}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:35px}
.resource-card{padding:30px;border:1px solid var(--line)}
.resource-card h2{font-size:28px}
.resource-card h2 a{color:var(--ink);text-decoration:none}
.resource-card p:not(.eyebrow){color:var(--muted)}
.resource-card .text-link{margin-top:0}
.legal-page .page-hero{border-bottom:1px solid var(--line)}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:70px;padding-block:20px 70px}
.contact-layout h2{font-size:29px}
.contact-layout h3{margin-top:32px}
.contact-address{font-size:clamp(19px,2vw,26px);overflow-wrap:anywhere}
.composer{background:var(--surface);border:1px solid var(--line);padding:32px}
.composer label{margin-top:22px}
.composer>p{font-size:17px}
.composer textarea{resize:vertical}
.composer .hero-actions{gap:12px}
.composer [role=status]{margin-top:15px;color:var(--red-dark)}
/* the real enquiry form: POST /api/contact, Turnstile, honeypot (restored 2026-09-12) */
.contact-form{position:relative}
.contact-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}
.contact-form .form-grid>label.wide{grid-column:1/-1}
.contact-form .extra-field{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
.contact-form .cf-turnstile{margin-top:26px}
.contact-form button[type=submit]{margin-top:22px}
.form-note{font-size:15px;color:var(--muted);margin-top:18px;line-height:1.55}
.site-map-list{columns:3;column-gap:45px;list-style:none;padding:0}
.site-map-list li{break-inside:avoid;padding:8px 0;font-size:16px}
@media(min-width:1550px){.home-hero h1{font-size:68px}}
@media(max-width:1150px){.home-hero-copy{padding:32px}.home-hero h1{font-size:50px}.dossier-layout,.article-layout{grid-template-columns:215px minmax(0,1fr);gap:38px}.dossier-hero{gap:35px}.contact-layout{gap:40px}}
@media(max-width:960px){.home-hero h1{font-size:44px}.home-hero .lead{font-size:18px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{gap:18px}.feature-grid article{padding:22px}.filter-row{grid-template-columns:1fr 1fr}.filter-row>div:first-child{grid-column:1/-1}.phase-grid,.dark-band .phase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dossier-hero{grid-template-columns:minmax(0,1fr) 235px}.dossier-layout,.article-layout{grid-template-columns:1fr;gap:34px}.contents{position:static}.contents nav{flex-direction:row;flex-wrap:wrap;gap:5px 22px}.contents>.small{border:0;padding:0;margin:15px 0 0}.contents>.eyebrow{margin-bottom:8px}.contact-layout{grid-template-columns:1fr 1.1fr;gap:28px}.site-map-list{columns:2}}
@media(max-width:760px){html{scroll-padding-top:24px}.home-hero{grid-template-columns:1fr;margin-top:20px}.home-hero-copy{padding:30px 26px}.home-hero h1{font-size:clamp(39px,7.5vw,57px);max-width:20ch}.home-hero .photo{min-height:310px}.home-hero .photo img{aspect-ratio:16/10;position:relative;max-height:460px}.project-facts{grid-template-columns:repeat(2,1fr);gap:22px;padding-block:28px}.project-facts div:nth-child(2){border:0}.project-facts strong{font-size:29px}.section{padding-block:52px}.section-heading{margin-bottom:26px}.feature-grid,.photo-grid{grid-template-columns:1fr}.photo-grid{gap:28px}.photo-grid .photo img{aspect-ratio:16/10}.feature-grid article{padding:26px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid a{padding:18px;min-height:106px}.cta-band>.container{align-items:flex-start;flex-direction:column;gap:24px;padding-block:38px}.cta-band h2{font-size:30px}.page-hero{padding-block:32px}.page-hero h1{font-size:clamp(35px,7vw,48px)}.dossier-hero{grid-template-columns:1fr;padding-block:32px;gap:25px}.dossier-hero h1{font-size:clamp(35px,7vw,49px)}.record-panel{padding:20px;width:100%}.record-panel>strong{font-size:29px}.record-panel>p.eyebrow{margin-bottom:7px}.record-panel>p:not(.eyebrow){margin-bottom:7px}.identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-grid>dl{padding:18px 22px 18px 0}.identity-grid dd{font-size:17px}.dossier-layout,.article-layout{padding-block:32px 45px}.dossier-content h2,.longform h2{font-size:28px}.contact-layout{grid-template-columns:1fr;gap:35px}.composer{padding:26px}.contact-form .form-grid{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr}.gallery-grid{gap:25px 18px}.reference-detail summary{padding:18px 18px 18px 10px;margin-left:26px;font-size:18px}.reference-detail>div,.reference-detail>.index-list{padding:22px}.site-map-list{columns:1}}
@media(max-width:480px){body{font-size:17px}.home-hero-copy{padding:27px 21px}.home-hero h1{font-size:39px}.hero-actions>.button{width:100%}.project-facts strong{font-size:26px}.category-grid strong{font-size:16px}.category-grid a{padding:16px}.catalogue-grid{grid-template-columns:1fr}.filter-row{grid-template-columns:1fr}.filter-row>div:first-child{grid-column:auto}.catalogue-card h3{font-size:24px}.gallery-grid{grid-template-columns:1fr}.identity-grid{grid-template-columns:1fr}.identity-grid>dl{border-bottom:1px solid var(--line);padding:16px 0}.identity-grid>dl:last-child{border-bottom:0}.identity-grid dt{margin-bottom:3px}.contents nav{gap:3px 20px}.contents nav a{font-size:15px}.az-section{grid-template-columns:1fr;gap:0}.az-section h2{margin-bottom:12px}.index-list li{gap:15px}.index-list a{overflow-wrap:anywhere}.dark-band .phase-grid{grid-template-columns:1fr;gap:28px}.notice{padding:20px}.composer{padding:23px 20px}.composer .hero-actions .button{width:100%}.resource-card{padding:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{body{font-family:Arial,sans-serif;font-size:11pt;color:#000;background:#fff}.site-header,.contents,.hero-actions,.cta-band,.filter-row,.filter-summary,.browse-links{display:none!important}.container{width:100%;max-width:none}.page-hero,.dossier-hero{padding:12px 0}.dossier-layout,.article-layout{display:block;padding:15px 0}.dossier-hero{display:block}.record-panel{margin-top:20px}.reference-detail>div{display:block!important}.reference-detail summary{border-bottom:1px solid #ccc;list-style:none;margin-left:0}.reference-detail{break-inside:avoid}h1{font-size:26pt}h2{font-size:18pt}.identity-grid{grid-template-columns:repeat(3,1fr)}a{color:#000}.photo img{max-height:350px;object-fit:contain}.gallery-grid{grid-template-columns:repeat(2,1fr)}}
.related-resources{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin:36px 0}
.related-resources h2{font-size:24px;margin-bottom:14px}
.related-resources ul{margin:0;padding-left:1.2em}
.related-resources li{margin:7px 0}
.document-panel{padding:30px 0 38px;margin:10px 0 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.document-panel>h2{font-size:30px}
.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.document-grid article{border:1px solid var(--line);padding:25px;background:#fff}
.document-grid h3{font-size:22px}
.source-review{border-top:1px solid var(--line);padding-top:18px;margin-top:30px}
.glossary-list{margin:0}
.glossary-list dt{font-weight:600;color:var(--ink);margin-top:20px}
.glossary-list dd{margin:5px 0 0 0;color:#394853}
.site-search>label{display:block;font-weight:500;font-size:17px;margin-bottom:8px}
.site-search>input{width:min(100%,760px);min-height:50px;padding:12px 14px;font-size:18px;border:1px solid #aebac4;background:#fff}
.site-search .site-map-list{margin-top:28px}
.site-search .site-map-list li{display:block}
.site-search .site-map-list li span{display:block;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.site-search [hidden]{display:none!important}
@media(max-width:760px){.document-grid{grid-template-columns:1fr}.related-resources{margin:28px 0}.site-search>input{width:100%}}
/* B10: accessible progressive enhancement and stable print fallback. */
.visually-hidden{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}
html:not(.js-enabled) .js-only{display:none!important}
@media print{details::details-content{content-visibility:visible!important;display:block!important;height:auto!important}details>div,details>ul{display:block!important}.reference-detail{break-inside:auto}.home-hero .photo figcaption{position:static;background:#fff;color:#000}.home-hero .photo img{position:static}.home-hero{display:block}.home-hero-copy{padding:0}.composer .js-only{display:none!important}}
/* Long scientific labels must shrink within grid tracks, including 320px/text-resize views. */
.home-hero-copy,.dossier-content,.longform,.resource-card,.catalogue-card,.record-panel,.document-grid>article{min-width:0;overflow-wrap:anywhere}
.home-hero,.resource-grid{min-width:0}
@media(max-width:760px){.home-hero,.resource-grid{grid-template-columns:minmax(0,1fr)}}
/* R02: recovered Technical Editorial component rules only; system typography retained. */
.surface-band,.editorial-band{background:var(--surface)}
.chapter-label{display:flex;align-items:center;gap:12px;margin-bottom:40px;color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.chapter-label span{color:var(--red-functional);border:1px solid var(--red-functional);padding:3px 7px}
.chapter-label p{margin:0}
.home-hero{width:min(calc(100% - (var(--gutter)*2)),1536px);margin:28px auto 0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:620px;border-bottom:1px solid var(--line)}
.home-hero-copy{padding:58px 48px 48px 0;display:flex;flex-direction:column;justify-content:center}
.home-hero h1{font-size:clamp(3.15rem,5.5vw,4.55rem);max-width:16ch}
.home-hero .lead{font-size:21px;max-width:50ch}
.home-hero>.photo{position:relative;height:100%;min-height:620px}
.home-hero>.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-hero>.photo figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:10px 14px;background:white;border-top:1px solid var(--line);font-size:12px}
.status-line{display:flex;gap:12px;margin-top:34px;padding-top:20px;border-top:1px solid var(--line);max-width:670px}
.status-line.has-dot:before{content:'';width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--red-functional);margin-top:7px}
.status-line strong,.status-line span{display:block}
.status-line strong{font-size:15px}
.status-line span{font-size:13.5px;color:var(--muted);line-height:1.45;margin-top:3px}
.editorial-intro{display:grid;grid-template-columns:140px minmax(0,1fr);column-gap:44px}
.editorial-intro>.section-heading,.editorial-intro>.technical-module-grid{grid-column:2}
.technical-module-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.technical-module-grid article{padding:30px 32px 32px 0}
.technical-module-grid article+article{border-left:1px solid var(--line);padding-left:32px}
.technical-module-grid h3{font-size:27px;max-width:18ch}
.technical-module-grid p:not(.module-id){font-size:16px;color:var(--text);max-width:52ch}
.technical-module-grid a{font-size:15px;font-weight:500}
.split-scope{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px}
.split-scope>div:first-child{border-top:3px solid var(--red);padding-top:22px}
.split-scope>div:last-child{padding-top:25px}
.split-scope>div:last-child>p{max-width:var(--measure);color:var(--text)}
.link-ledger{border-top:1px solid var(--ink)}
.link-ledger a{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(0,1.5fr) 24px;gap:22px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.link-ledger a:hover span{color:var(--red-functional)}
.link-ledger span{font-weight:500}
.link-ledger small{font-size:14px;color:var(--muted)}
.link-ledger b{text-align:right;color:var(--red-functional)}
.project-record{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:70px}
.record-ledger{border-top:1px solid var(--ink)}
.record-ledger>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.record-ledger span{font-size:13px;color:var(--muted)}
.record-ledger strong{font-size:16px;font-weight:500}
.resource-ledger{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.resource-ledger article{padding:24px 28px 10px 0}
.resource-ledger article+article{border-left:1px solid var(--line);padding-left:28px}
.resource-ledger h3{font-size:23px}
.resource-ledger h3 a{color:var(--ink);text-decoration:none}
.resource-ledger h3 a:hover{color:var(--red-functional)}
.resource-ledger article>p:last-child{font-size:15.5px;color:var(--text)}
.technical-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:70px;padding-block:58px 46px;border-bottom:1px solid var(--line)}
.technical-hero h1{font-size:clamp(2.9rem,5vw,4rem);max-width:16ch}
.technical-hero .lead{font-size:20px}
.technical-visual{padding-top:34px}
.technical-visual .photo{max-width:880px;margin-left:auto}
.technical-visual .photo img{aspect-ratio:16/9;object-fit:cover;object-position:center 46%}
.technical-layout{display:grid;grid-template-columns:200px minmax(0,880px);gap:50px;align-items:start;padding-block:58px 84px}
.technical-contents{position:sticky;top:130px;border-top:3px solid var(--red-functional);padding-top:17px}
.technical-copy{font-size:18px;min-width:0}
.technical-copy>section{scroll-margin-top:130px;margin-bottom:60px}
.technical-copy h2{font-size:32px;max-width:26ch}
.technical-copy h3{font-size:21px}
.technical-copy p,.technical-copy li{color:var(--text);max-width:var(--measure)}
.table-wrap{width:100%;overflow-x:auto;border-top:1px solid var(--ink);margin:24px 0}
.technical-table{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45}
.technical-table th,.technical-table td{text-align:left;vertical-align:top;padding:14px 14px;border-bottom:1px solid var(--line)}
.technical-table th{font-size:12px;text-transform:uppercase;letter-spacing:.075em;color:var(--muted);font-weight:600;background:var(--surface)}
.technical-table td:first-child{padding-left:0}
.technical-table th:first-child{padding-left:0}
.technical-table a{overflow-wrap:anywhere}
.presentation-list{border-top:1px solid var(--ink);margin-top:25px}
.presentation-list article{display:grid;grid-template-columns:42px 1fr 90px;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);align-items:start}
.presentation-list article>span{font-size:13px;color:var(--red-functional);font-weight:600}
.presentation-list h3{margin:0 0 5px}
.presentation-list p{font-size:15px;margin:0}
.presentation-list article>strong{font-size:12px;letter-spacing:.1em;color:var(--muted);text-align:right}
.phase-ledger{margin-top:25px;border-top:1px solid var(--ink)}
.phase-ledger article{display:grid;grid-template-columns:170px 1fr;gap:30px;padding:24px 0;border-bottom:1px solid var(--line)}
.phase-ledger .phase-head span,.phase-ledger .phase-head strong{display:block}
.phase-ledger .phase-head span{color:var(--red-functional);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.phase-ledger .phase-head strong{font-size:15px;margin-top:6px}
.phase-ledger h3{font-size:21px;margin-bottom:7px}
.phase-ledger p{font-size:15px;margin:0}
.dependency-chain{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);margin-top:25px}
.dependency-chain>div{padding:22px 24px 20px 0;border-bottom:1px solid var(--line)}
.dependency-chain>div:nth-child(even){padding-left:24px;border-left:1px solid var(--line)}
.dependency-chain span{font-size:12px;color:var(--red-functional);font-weight:600}
.dependency-chain strong{display:block;margin:6px 0;font-size:18px}
.dependency-chain p{font-size:15px;margin:0}
.evidence-list{border-top:1px solid var(--ink);margin-top:25px}
.evidence-facts>dl{margin:0}
.evidence-list>dl{display:grid;grid-template-columns:180px 1fr;gap:24px;border-bottom:1px solid var(--line);padding:15px 0;margin:0}
.evidence-list dt{font-size:13px;color:var(--muted)}
.evidence-list dd{margin:0;font-size:15.5px}
.two-col-ledger{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.two-col-ledger>div{padding:25px 26px 10px 0}
.two-col-ledger>div+div{border-left:1px solid var(--line);padding-left:26px}
.two-col-ledger h3{font-size:19px}
.two-col-ledger li{font-size:15.5px}
.variant-table td:nth-child(2),.variant-table td:nth-child(3),.variant-table td:nth-child(4){white-space:nowrap}
.basis-note{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}
.safety-panel{padding:30px!important;border:1px solid #e3b0b7;border-top:4px solid var(--red-functional);background:#fff8f9}
.safety-panel h2{max-width:23ch}
.safety-panel p{max-width:62ch}
.document-status-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);margin:24px 0}
.document-status-grid article{padding:20px 22px 18px 0;border-bottom:1px solid var(--line)}
.document-status-grid article:nth-child(even){border-left:1px solid var(--line);padding-left:22px}
.document-status-grid span,.document-status-grid strong{display:block}
.document-status-grid span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.document-status-grid strong{font-size:17px;margin:5px 0}
.document-status-grid p{font-size:14.5px;margin:0}
.review-status{border-top:1px solid var(--ink);margin-top:28px;padding-top:18px}
.review-status p{font-size:14.5px;margin-bottom:7px}
.related-minimal{border-top:1px solid var(--line)}
.corp-hero{padding-block:58px 50px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr);gap:34px}
.corp-hero-photo{grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:end}
.corp-hero-copy{max-width:820px}
.corp-hero h1{font-size:clamp(2.7rem,4.7vw,4.15rem);max-width:18ch}
.corp-hero .lead{max-width:60ch}
.corp-hero>.photo img{aspect-ratio:4/3;min-height:390px}
.corp-status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:34px 0 0;max-width:920px}
.corp-status>dl{padding:15px 18px 16px 0;margin:0}
.corp-status>dl+dl{border-left:1px solid var(--line);padding-left:18px}
.corp-status dt{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.corp-status dd{margin:5px 0 0;font-size:15px;font-weight:500;line-height:1.4;color:var(--ink)}
.corporate-layout{display:grid;grid-template-columns:205px minmax(0,820px);justify-content:space-between;gap:70px;padding-block:58px 74px}
.corporate-contents{position:sticky;top:130px;align-self:start}
.corporate-copy{min-width:0}
.corporate-copy>section{scroll-margin-top:145px;margin-bottom:70px}
.corporate-copy>section:last-child{margin-bottom:0}
.corporate-copy h2{font-size:clamp(2rem,3vw,2.85rem);max-width:19ch}
.corporate-copy h3{font-size:1.28rem}
.corporate-copy>section>p{max-width:66ch;color:var(--text)}
.corporate-copy .notice{max-width:70ch}
.corporate-mobile-contents{display:none}
.programme-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin-top:30px}
.programme-grid article{padding:26px 28px 28px 0}
.programme-grid article+article{border-left:1px solid var(--line);padding-left:28px}
.programme-grid article>span,.job-spec-grid article>span{display:block;margin-bottom:28px;font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--red-functional)}
.programme-grid h3{min-height:2.5em}
.programme-grid p{font-size:16px;color:var(--text)}
.programme-grid a{font-size:15px;font-weight:500}
.evidence-matrix{border-top:1px solid var(--ink);margin-top:28px}
.evidence-matrix>div{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(0,1.6fr);gap:28px;padding:17px 0;border-bottom:1px solid var(--line)}
.evidence-matrix span{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.evidence-matrix strong{font-size:17px;line-height:1.48;font-weight:500;color:var(--ink)}
.documentary-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}
.documentary-pair .photo img{aspect-ratio:4/3}
.stage-track{margin-top:30px;border-top:2px solid var(--ink)}
.stage-track>div{display:grid;grid-template-columns:48px 165px minmax(0,1fr);gap:18px;align-items:start;padding:19px 0;border-bottom:1px solid var(--line)}
.stage-track span{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--red-functional)}
.stage-track strong{font-size:17px}
.stage-track p{margin:0;font-size:16px;color:var(--text)}
.definition-ledger,.process-ledger,.territory-ledger,.measurement-ledger{margin-top:28px;border-top:2px solid var(--ink)}
.definition-ledger>div,.process-ledger>div,.territory-ledger>div,.measurement-ledger>div{display:grid;grid-template-columns:minmax(145px,.7fr) minmax(0,1.5fr);gap:28px;padding:18px 0;border-bottom:1px solid var(--line)}
.definition-ledger span,.process-ledger span,.territory-ledger span,.measurement-ledger span{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.definition-ledger strong,.process-ledger strong,.territory-ledger strong,.measurement-ledger strong{font-weight:500;line-height:1.5}
.checklist-grid,.market-questions,.partner-type-grid,.research-grid,.responsibility-grid,.job-spec-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);margin-top:30px}
.checklist-grid article,.market-questions article,.partner-type-grid article,.research-grid article,.responsibility-grid article,.job-spec-grid article{padding:24px 28px 25px 0;border-bottom:1px solid var(--line)}
.checklist-grid article:nth-child(even),.market-questions article:nth-child(even),.partner-type-grid article:nth-child(even),.research-grid article:nth-child(even),.responsibility-grid article:nth-child(even),.job-spec-grid article:nth-child(even){border-left:1px solid var(--line);padding-left:28px}
.checklist-grid h3,.market-questions h3,.partner-type-grid h3,.research-grid h3,.responsibility-grid h3,.job-spec-grid h3{font-size:20px;margin-bottom:10px}
.checklist-grid p,.market-questions p,.partner-type-grid p,.research-grid p,.responsibility-grid p,.job-spec-grid p{font-size:16px;color:var(--text)}
.boundary-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.boundary-tags span{border:1px solid var(--line-dark);padding:7px 10px;font-size:13px;font-weight:600;line-height:1.3;background:var(--surface)}
.related-minimal{border-top:1px solid var(--line)}
.journey-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:76px;padding-block:64px}
.journey-intro>div:first-child{border-top:3px solid var(--red);padding-top:20px}
.journey-intro>div:last-child{padding-top:22px}
.journey-intro p{color:var(--text)}
.journey-section-head{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:70px;margin-bottom:34px}
.journey-section-head .eyebrow{grid-column:1}
.journey-section-head h2{grid-column:1;max-width:18ch}
.journey-section-head>p:last-child{grid-column:2;grid-row:1/4;align-self:end;color:var(--text);max-width:58ch}
.journey-source{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:70px}
.journey-source .evidence-matrix{margin-top:0}
@media (max-width:1360px){.corp-hero-photo{grid-template-columns:1fr .88fr}.corporate-layout{grid-template-columns:190px minmax(0,820px);gap:45px}.home-hero{grid-template-columns:1fr .9fr}.home-hero-copy{padding-right:35px}.home-hero h1{font-size:57px}.technical-layout{grid-template-columns:190px minmax(0,1fr);gap:38px}}
@media (max-width:1120px){.corp-hero-photo{grid-template-columns:1fr 1fr}.corporate-layout{grid-template-columns:1fr;gap:0}.corporate-layout>.corporate-contents{display:none}.corporate-mobile-contents{display:block}.programme-grid{grid-template-columns:1fr 1fr}.programme-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.journey-source{grid-template-columns:1fr;gap:25px}.home-hero{grid-template-columns:1fr 1fr;min-height:520px}.home-hero>.photo{min-height:520px}.home-hero h1{font-size:49px}.editorial-intro{grid-template-columns:100px 1fr;gap:30px}.split-scope,.project-record{gap:45px}.resource-ledger{grid-template-columns:1fr 1fr}.resource-ledger article:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:0}.technical-layout{grid-template-columns:1fr}.technical-contents{position:static}.technical-layout>.technical-contents{display:none}}
@media (max-width:760px){.corp-hero,.corp-hero-photo{grid-template-columns:1fr;padding-block:42px 34px;gap:28px}.corp-hero h1{font-size:38px}.corp-hero .lead{font-size:18px}.corp-hero>.photo img{min-height:0;aspect-ratio:4/3}.corp-status{grid-template-columns:1fr}.corp-status>dl{padding:13px 0}.corp-status>dl+dl{border-left:0;border-top:1px solid var(--line);padding-left:0}.corporate-layout{padding-block:38px 56px}.corporate-copy>section{margin-bottom:50px}.corporate-copy h2{font-size:29px}.programme-grid,.checklist-grid,.market-questions,.partner-type-grid,.research-grid,.responsibility-grid,.job-spec-grid{grid-template-columns:1fr}.programme-grid article:nth-child(n),.checklist-grid article:nth-child(n),.market-questions article:nth-child(n),.partner-type-grid article:nth-child(n),.research-grid article:nth-child(n),.responsibility-grid article:nth-child(n),.job-spec-grid article:nth-child(n){border-left:0;padding:22px 0;border-top:0;border-bottom:1px solid var(--line)}.programme-grid article>span,.job-spec-grid article>span{margin-bottom:16px}.programme-grid h3{min-height:0}.evidence-matrix>div,.definition-ledger>div,.process-ledger>div,.territory-ledger>div,.measurement-ledger>div{grid-template-columns:1fr;gap:6px}.stage-track>div{grid-template-columns:36px 1fr;gap:7px 12px}.stage-track p{grid-column:2}.documentary-pair{grid-template-columns:1fr}.journey-intro,.journey-section-head,.journey-source{grid-template-columns:1fr;gap:22px}.journey-section-head .eyebrow,.journey-section-head h2,.journey-section-head>p:last-child{grid-column:1;grid-row:auto}.home-hero{grid-template-columns:1fr;width:100%;margin-top:0;min-height:0}.home-hero-copy{padding:46px var(--gutter) 36px}.home-hero h1{font-size:40px;max-width:15ch}.home-hero .lead{font-size:18px}.home-hero>.photo{min-height:330px}.home-hero>.photo img{position:relative;height:330px}.home-hero>.photo figcaption{position:relative}.editorial-intro{display:block}.chapter-label{margin-bottom:24px}.technical-module-grid{grid-template-columns:1fr}.technical-module-grid article{padding:23px 0}.technical-module-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.split-scope,.project-record{grid-template-columns:1fr;gap:24px}.record-ledger>div{grid-template-columns:120px 1fr}.resource-ledger{grid-template-columns:1fr}.resource-ledger article:nth-child(n){border-left:0;border-top:1px solid var(--line);padding:22px 0}.link-ledger a{grid-template-columns:1fr 22px;gap:5px 12px}.link-ledger small{grid-column:1}.link-ledger b{grid-column:2;grid-row:1/3;align-self:center}.technical-hero{grid-template-columns:1fr;gap:34px;padding-block:42px 34px}.technical-hero h1{font-size:38px}.technical-hero .lead{font-size:18px}.technical-visual{padding-top:24px}.technical-visual .photo{max-width:none}.technical-visual .photo img{aspect-ratio:4/3}.technical-layout{padding-block:36px 55px}.technical-copy>section{margin-bottom:48px}.technical-copy h2{font-size:28px}.presentation-list article{grid-template-columns:34px 1fr}.presentation-list article>strong{grid-column:2;text-align:left}.phase-ledger article{grid-template-columns:1fr;gap:12px}.dependency-chain,.two-col-ledger,.document-status-grid{grid-template-columns:1fr}.dependency-chain>div:nth-child(even),.two-col-ledger>div+div,.document-status-grid article:nth-child(even){border-left:0;padding-left:0}.two-col-ledger>div+div{border-top:1px solid var(--line)}.safety-panel{padding:22px!important}.variant-table{min-width:650px}}
@media (max-width:440px){.home-hero h1{font-size:37px}.record-ledger>div{grid-template-columns:1fr;gap:4px}.technical-table{font-size:14px}.technical-table th,.technical-table td{padding:11px 9px}}
@media  print{.home-hero{width:100%;max-width:none}.technical-hero,.corp-hero{padding:0 0 7mm;border-bottom:1px solid #aaa;display:block}.technical-visual{padding-top:5mm}.technical-layout,.corporate-layout{display:block;padding:6mm 0}.technical-copy>section,.corporate-copy>section{margin-bottom:8mm;break-inside:auto}.technical-copy h2,.corporate-copy h2{font-size:18pt}.technical-copy h3{font-size:13pt}.technical-table{display:table!important;font-size:9pt}.table-wrap{overflow:visible}.safety-panel{background:#fff;border-color:#777}.review-status,.status-line{display:block}.home-hero{display:block}.home-hero>.photo{min-height:0}.home-hero>.photo img{position:relative;height:auto}.home-hero>.photo figcaption{position:relative}.editorial-intro,.split-scope,.project-record{display:block}.technical-module-grid,.resource-ledger,.programme-grid,.evidence-matrix,.stage-track,.definition-ledger,.process-ledger,.territory-ledger,.measurement-ledger,.job-spec-grid{break-inside:avoid}.corp-status{grid-template-columns:repeat(3,1fr)}.corp-hero>.photo img{max-height:75mm}.journey-intro,.journey-section-head,.journey-source{display:block}}
.b05-status-band{margin-top:30px;margin-bottom:8px;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.b05-status-band>div{padding:18px 20px 18px 0}
.b05-status-band>div+div{border-left:1px solid var(--line);padding-left:20px}
.b05-status-band span{display:block;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:6px}
.b05-status-band strong{font-size:15px;line-height:1.35}
.b05-status-band>p{grid-column:1/-1;border-top:1px solid var(--line);margin:0;padding:15px 0;color:var(--muted);font-size:14px}
.b05-longform>section{scroll-margin-top:130px}
.b05-callout{border-left:4px solid var(--accent);padding:18px 20px;background:var(--surface);margin:22px 0}
.b05-callout>strong{display:block;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:7px}
.b05-callout p{margin:0}
.b05-status-ledger{border-top:2px solid var(--ink);margin:24px 0 30px}
.b05-status-ledger>div{display:grid;grid-template-columns:180px 220px 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.b05-status-ledger span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.b05-status-ledger strong{font-size:15px}
.b05-status-ledger p{margin:0}
.b05-evidence-chain{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:24px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.b05-evidence-chain span{border:1px solid var(--line-dark);padding:9px 11px;font-size:12px;font-weight:500;background:white}
.b05-evidence-chain b{font-weight:500;color:var(--muted)}
.b05-fact-grid{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);margin:22px 0}
.b05-fact-grid>div{padding:17px 0;border-bottom:1px solid var(--line)}
.b05-fact-grid>div:nth-child(even){border-left:1px solid var(--line);padding-left:20px}
.b05-fact-grid span{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.b05-link-ledger{border-top:2px solid var(--ink);margin:20px 0}
.b05-link-ledger a{display:grid;grid-template-columns:minmax(180px,.7fr) 1fr;gap:24px;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none}
.b05-link-ledger a:hover span{text-decoration:underline}
.b05-link-ledger span{font-weight:600}
.b05-link-ledger b{font-weight:400;color:var(--muted)}
.b05-legal .page-hero,.b05-core .page-hero{border-bottom:0}
.b05-legal .longform h2,.b05-core .longform h2{max-width:22ch}
.b05-legal .source-list{font-size:13px}
.b05-legal code,.b05-core code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--surface);padding:.1em .35em}
@media (max-width:760px){.b05-status-band{grid-template-columns:1fr}.b05-status-band>div{padding:14px 0}.b05-status-band>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.b05-status-ledger>div{grid-template-columns:1fr;gap:6px}.b05-fact-grid{grid-template-columns:1fr}.b05-fact-grid>div:nth-child(even){border-left:0;padding-left:0}.b05-link-ledger a{grid-template-columns:1fr;gap:5px}.b05-evidence-chain{align-items:flex-start;flex-direction:column}.b05-evidence-chain b{transform:rotate(90deg);margin-left:12px}}
@media  print{.b05-status-band{display:grid!important;grid-template-columns:repeat(3,1fr);break-inside:avoid;margin:0 0 6mm}.b05-status-band>p{display:block!important}.b05-status-ledger>div{grid-template-columns:35mm 42mm 1fr;break-inside:avoid}.b05-callout,.b05-fact-grid,.b05-link-ledger{break-inside:avoid}.b05-link-ledger a{display:grid;grid-template-columns:48mm 1fr}.b05-evidence-chain{display:flex}}
.b06-catalogue .page-hero{padding-bottom:34px}
.portfolio-ledger,.category-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink);border-bottom:1px solid var(--line);margin:26px 0 34px}
.portfolio-ledger>div,.category-facts>div{padding:17px 18px 17px 0}
.portfolio-ledger>div+div,.category-facts>div+div{border-left:1px solid var(--line);padding-left:18px}
.portfolio-ledger span,.category-facts span{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.portfolio-ledger strong,.category-facts strong{font-size:20px;font-weight:500}
.b06-filter-row{grid-template-columns:minmax(260px,1.65fr) minmax(160px,.8fr) minmax(160px,.8fr) minmax(190px,1fr)}
.card-review-flag{display:inline-flex;align-self:flex-start;margin:0 0 15px;border:1px solid var(--line-dark);padding:4px 7px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--surface)}
.category-directory{margin-top:58px;padding-top:36px;border-top:1px solid var(--line)}
.category-directory h2{font-size:31px}
.az-index>section{display:grid;grid-template-columns:70px 1fr;border-top:1px solid var(--line);padding:20px 0}
.az-index>section h2{margin:0;font-size:25px}
.az-index ul{list-style:none;margin:0;padding:0}
.az-index li+li{margin-top:0}
.az-index a{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #eeeeef;padding:9px 0;text-decoration:none}
.az-index small{color:var(--muted)}
.b06-dossier-hero{grid-template-columns:minmax(0,1fr) 340px;gap:64px;border-bottom:1px solid var(--line)}
.b06-record-panel>strong{font-size:22px;line-height:1.28}
.b06-record-panel>span{display:block;border-top:1px solid var(--line);padding-top:12px;margin-top:16px;font-size:12px;color:var(--muted)}
.b06-identity-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.b06-dossier-layout{grid-template-columns:205px minmax(0,900px);gap:50px}
.b06-contents{position:sticky;top:130px}
.b06-dossier-content>section{scroll-margin-top:140px;margin-bottom:62px}
.b06-dossier-content h2{font-size:32px;max-width:27ch}
.b06-dossier-content>section>p{max-width:68ch}
.b06-boundary-grid{margin-top:26px}
.b06-variant-table{min-width:850px}
.b06-variant-table th:nth-child(1){width:75px}
.b06-variant-table td:nth-child(2),.b06-variant-table td:nth-child(3){white-space:normal}
.dossier-controls{display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0 14px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.dossier-controls .text-button{font-size:13px}
.document-requirements{border-top:2px solid var(--ink);margin-top:26px}
.document-requirements>div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding:15px 0;border-bottom:1px solid var(--line);align-items:start}
.document-requirements span{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--red-functional)}
.document-requirements p{margin:0!important;font-size:15.5px;max-width:none!important}
.b06-review-status{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--red-functional);padding:18px 20px;margin-top:28px}
.b06-review-status p{margin:0 0 6px}
.b06-review-status p:last-child{margin-bottom:0}
.b06-source-table{min-width:760px}
.b06-source-table td:first-child{min-width:270px}
.b06-source-table td:first-child small{display:block;margin-top:5px;font-size:12px;color:var(--muted)}
.b06-related-ledger{margin-top:22px}
.b06-diagnostic .b06-record-panel{border-top-color:var(--ink)}
.b06-diagnostic .card-review-flag{border-color:var(--ink)}
@media (max-width:1120px){.b06-filter-row{grid-template-columns:1fr 1fr}.b06-filter-row .filter-search{grid-column:1/-1}.b06-dossier-hero{grid-template-columns:minmax(0,1fr) 290px;gap:36px}.b06-dossier-layout{grid-template-columns:185px minmax(0,1fr);gap:34px}}
@media (max-width:760px){.portfolio-ledger,.category-facts{grid-template-columns:1fr 1fr}.portfolio-ledger>div:nth-child(3),.category-facts>div:nth-child(3){border-left:0}.portfolio-ledger>div:nth-child(n/**/+3),.category-facts>div:nth-child(n/**/+3){border-top:1px solid var(--line)}.b06-filter-row{grid-template-columns:1fr}.b06-filter-row .filter-search{grid-column:auto}.b06-dossier-hero{grid-template-columns:1fr;gap:26px;padding-block:42px 34px}.b06-record-panel{padding:19px}.b06-identity-grid{grid-template-columns:1fr}.b06-dossier-layout{display:block;padding-block:34px 56px}.b06-contents{display:none}.b06-dossier-content h2{font-size:28px}.b06-variant-table{min-width:720px}.dossier-controls{display:grid;grid-template-columns:1fr 1fr}.dossier-controls .text-button{text-align:left}.b06-related-ledger a{grid-template-columns:1fr 24px}.b06-related-ledger small{grid-column:1}.b06-related-ledger b{grid-column:2;grid-row:1/3}.az-index>section{grid-template-columns:42px 1fr}.az-index a{display:grid;grid-template-columns:1fr}.az-index small{font-size:12px}}
@media (max-width:420px){.portfolio-ledger,.category-facts{grid-template-columns:1fr}.portfolio-ledger>div+div,.category-facts>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.dossier-controls{grid-template-columns:1fr}}
@media  print{.dossier-controls{display:none!important}.portfolio-ledger,.category-facts{display:grid!important;grid-template-columns:repeat(4,1fr);break-inside:avoid}.b06-dossier-layout{display:block;padding:6mm 0}.b06-dossier-content>section{margin-bottom:8mm}.b06-record-panel{break-inside:avoid}.b06-variant-table,.b06-source-table{min-width:0;font-size:8.5pt}.document-requirements,.b06-review-status,.b06-related-ledger{break-inside:avoid}.card-review-flag{border:1px solid #777}}
@media (max-width:800px){.b06-catalogue .catalogue-grid{grid-template-columns:1fr}.b06-catalogue .category-grid{grid-template-columns:1fr 1fr}.b06-catalogue .category-grid a:nth-child(n){padding:15px;border-left:1px solid var(--line)}.b06-filter-row{grid-template-columns:1fr}.b06-filter-row .filter-search{grid-column:auto}.b06-dossier-hero{grid-template-columns:1fr;gap:26px}.b06-identity-grid{grid-template-columns:1fr}.b06-dossier-layout{display:block;padding-block:34px 56px}.b06-contents{display:none}.b06-boundary-grid{grid-template-columns:1fr}.b06-boundary-grid>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}}
/* R02 reconciliation overrides. Keep these after recovered component rules. */
.site-header{position:relative;background:#fff}
.contents{min-width:0}
.contents-disclosure{margin:0;padding:0;border:0}
.contents-disclosure>summary{font-size:17px;font-weight:600;min-height:44px;cursor:pointer;line-height:1.5;padding:8px 0;margin-bottom:10px}
.contents-disclosure>.eyebrow{display:none}
.contents-disclosure nav{max-width:100%}
.table-wrap{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
.table-wrap:focus-visible{outline:3px solid var(--red-dark);outline-offset:4px}
.technical-table caption{text-align:left;font-size:14px;line-height:1.5;color:var(--muted);padding:12px 0;font-weight:500}
.technical-table th,.technical-table td{overflow-wrap:anywhere;max-width:36ch}
.archival-boundary{margin-top:22px}
.archival-boundary p{font-size:16px}
.record-holds{margin-top:24px}
.record-holds li strong{display:inline}
.home-hero{background:#fff;border:0;box-shadow:none}
.home-hero-copy{background:#fff;min-width:0}
.technical-home .photo img{position:static;aspect-ratio:848/480;object-fit:contain;height:auto;max-height:none}
.technical-home .photo{align-self:center;min-height:0;background:#fff}
.technical-home .photo figcaption{position:static;background:#fff;color:var(--muted);padding:14px 0;font-size:14px;line-height:1.55}
.two-col-ledger,.technical-module-grid{min-width:0}
.two-col-ledger>div{min-width:0;overflow-wrap:anywhere}
.technical-module-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.technical-module-grid>article{padding:24px;border:1px solid var(--line);min-width:0}
.corporate-copy,.technical-copy,.corp-hero-copy,.technical-hero>div,.b05-status-band>div{min-width:0;overflow-wrap:anywhere}
.catalogue-card,.dossier-content,.longform,.resource-card,.record-panel,.document-grid>article{min-width:0;overflow-wrap:anywhere}
.b06-variant-table td,.b06-source-table td{white-space:normal!important}
.b06-source-table td:first-child{min-width:0}
html:not(.js-enabled) .js-only{display:none!important}
@media(max-width:1120px){.corporate-layout>.corporate-contents{display:block;position:static;margin-bottom:30px}.corporate-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:960px){.b06-dossier-layout,.technical-layout,.corporate-layout{grid-template-columns:minmax(0,1fr);display:block}.b06-contents,.technical-contents,.corporate-contents{display:block!important;position:static;top:auto;margin-bottom:32px}.contents-disclosure>summary{display:list-item}.technical-home{grid-template-columns:minmax(0,1fr)}.technical-home .home-hero-copy{padding:28px 0}.editorial-intro{display:block}.editorial-intro>.chapter-label{margin-bottom:25px}.technical-hero,.corp-hero-photo,.split-scope,.project-record,.journey-intro,.journey-source{grid-template-columns:minmax(0,1fr);gap:32px}.technical-module-grid,.documentary-pair{grid-template-columns:minmax(0,1fr)}.resource-ledger{grid-template-columns:minmax(0,1fr)}.resource-ledger article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.technical-layout,.corporate-layout{padding-block:32px 52px}.link-ledger a{grid-template-columns:minmax(0,1fr) 24px;gap:10px}.link-ledger small{grid-column:1}.link-ledger b{grid-column:2;grid-row:1/3}.corp-status{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:760px){.b06-contents{display:block!important}.b06-dossier-hero{grid-template-columns:minmax(0,1fr)}.b06-filter-row,.category-template-b06 .b06-filter-row{grid-template-columns:minmax(0,1fr)}.two-col-ledger,.dependency-chain,.programme-grid,.research-grid,.checklist-grid,.market-questions,.partner-type-grid,.responsibility-grid,.job-spec-grid{grid-template-columns:minmax(0,1fr)}.two-col-ledger>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.programme-grid>div,.programme-grid>article{border-left:0!important;padding-left:0!important}.home-hero h1,.corp-hero h1{font-size:clamp(32px,8vw,44px)}.phase-ledger article,.evidence-list>dl,.evidence-matrix>div,.definition-ledger>div,.process-ledger>div,.measurement-ledger>div{grid-template-columns:minmax(0,1fr);gap:10px}.presentation-list article{grid-template-columns:32px minmax(0,1fr);gap:12px}.presentation-list article>strong{grid-column:2}.b05-status-band{grid-template-columns:minmax(0,1fr)}.technical-copy h2,.corporate-copy h2{font-size:28px}.journey-gallery{grid-template-columns:minmax(0,1fr)!important}.journey-frame-pair,.construction-frames{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:480px){.category-directory .category-grid{grid-template-columns:minmax(0,1fr)}}
@media print{.site-header,.contents,.hero-actions,.cta-band,.dossier-controls,.filter-row,.filter-summary,.browse-links{display:none!important}details::details-content{content-visibility:visible!important;display:block!important;height:auto!important}details>div,details>ul{display:block!important}.reference-detail{break-inside:auto}.home-hero,.corp-hero,.corporate-layout,.technical-layout,.b06-dossier-layout{display:block}.home-hero .photo figcaption{position:static;background:#fff;color:#000}.home-hero .photo img{position:static}.composer .js-only{display:none!important}.table-wrap{overflow:visible;border:0}.technical-table,.b06-variant-table,.b06-source-table{min-width:0!important;width:100%;table-layout:fixed;font-size:9pt}.technical-table th,.technical-table td{white-space:normal!important;overflow-wrap:anywhere;min-width:0!important;padding:5px}.technical-table tr{break-inside:avoid}.document-requirements,.b06-review-status,.b06-related-ledger{break-inside:auto}.technical-copy>section,.corporate-copy>section,.dossier-content>section{margin-bottom:9mm}}
/* R02: explicit contact treatment must override shared link/current-route colours. */
/* Recovered component dependencies: source status, comparison/evidence ledgers and documentary grids. */
.source-status{border-top:3px solid var(--red-dark);padding-top:19px;align-self:start;min-width:0;overflow-wrap:anywhere}
.source-status strong,.source-status span{display:block}
.source-status strong{font-size:20px;line-height:1.3;margin-bottom:8px}
.source-status span{font-size:14px;color:var(--muted);margin-bottom:18px}
.source-status>p:last-child{font-size:16px;color:var(--text)}
.compare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line-dark);margin-top:30px}
.compare-grid article{padding:22px 24px 22px 0;min-width:0;overflow-wrap:anywhere}
.compare-grid article+article{border-left:1px solid var(--line-dark);padding-left:24px}
.compare-grid strong,.compare-grid span{display:block}
.compare-grid strong{font-size:18px;margin-bottom:9px}
.compare-grid span{font-size:16px;color:var(--muted)}
.evidence-ladder{counter-reset:ladder;margin:30px 0 0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.evidence-ladder li{counter-increment:ladder;position:relative;padding:17px 0 17px 54px;border-bottom:1px solid var(--line);margin:0;overflow-wrap:anywhere}
.evidence-ladder li:before{content:counter(ladder,decimal-leading-zero);position:absolute;left:0;top:19px;font-size:13px;font-weight:600;letter-spacing:.1em;color:var(--red-dark)}
.construction-triptych{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.825fr) minmax(0,.825fr);gap:18px;align-items:start}
.construction-triptych .photo:first-child{grid-row:span 2}
.construction-triptych .photo img{aspect-ratio:4/3}
.documentary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}
.documentary-grid .photo img{aspect-ratio:4/3}
.documentary-grid .photo:nth-child(1),.documentary-grid .photo:nth-child(8){grid-column:span 2}
.documentary-grid .photo:nth-child(1) img,.documentary-grid .photo:nth-child(8) img{aspect-ratio:2/1}
@media(max-width:1120px){.documentary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.construction-triptych,.documentary-grid,.compare-grid{grid-template-columns:minmax(0,1fr)}.construction-triptych .photo:first-child,.documentary-grid .photo:nth-child(1),.documentary-grid .photo:nth-child(8){grid-column:auto;grid-row:auto}.construction-triptych .photo img,.documentary-grid .photo img,.documentary-grid .photo:nth-child(1) img,.documentary-grid .photo:nth-child(8) img{aspect-ratio:4/3}.compare-grid article+article{border-left:0;border-top:1px solid var(--line-dark);padding-left:0}}
@media(max-width:440px){.source-status strong{font-size:19px}}
@media print{.source-status{margin-top:6mm;break-inside:avoid}.source-table a:after{content:" (" attr(href) ")";font-size:8pt;overflow-wrap:anywhere}.documentary-grid,.construction-triptych{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.documentary-grid .photo,.construction-triptych .photo{grid-column:auto!important;grid-row:auto!important}}
/* Product packaging concept imagery restored for catalogue presentation. */
.catalogue-card>a{padding:0;overflow:hidden}
.catalogue-card .card-copy{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.product-card-figure{margin:0;background:#f3f5f6;border-bottom:1px solid var(--line);overflow:hidden}
.product-card-figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .22s ease}
.catalogue-card:hover .product-card-figure img{transform:scale(1.025)}
.catalogue-card .card-meta{margin-bottom:20px}
.dossier-visual-stack{display:flex;flex-direction:column;gap:16px;min-width:0}
.product-dossier-figure{margin:0;background:#f3f5f6;border:1px solid var(--line);overflow:hidden}
.product-dossier-figure img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.product-dossier-figure figcaption{padding:10px 13px 12px;border-top:1px solid var(--line);font-size:12px;line-height:1.45;color:var(--muted);background:#fff}
.dossier-visual-stack .record-panel{width:100%}
.product-profile .dossier-hero,.b06-dossier-hero{align-items:start}
.product-profile .dossier-hero{grid-template-columns:minmax(0,1fr) 390px}
.b06-dossier-hero{grid-template-columns:minmax(0,1fr) 390px}
.product-mockup{background:#f3f5f6}
@media(max-width:1150px){.product-profile .dossier-hero,.b06-dossier-hero{grid-template-columns:minmax(0,1fr) 330px;gap:36px}}
@media(max-width:760px){.product-profile .dossier-hero,.b06-dossier-hero{grid-template-columns:1fr}.dossier-visual-stack{max-width:520px}.product-dossier-figure figcaption{font-size:12px}}
@media print{.product-dossier-figure{max-width:82mm}.product-dossier-figure figcaption{font-size:8pt}.product-card-figure{display:none}}
/* Project roadmap and status band, fed by source/data/milestones.json (2026-09-13). */
.project-status-band{display:flex;flex-wrap:wrap;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:22px 0 12px;max-width:760px}
.project-status-band>div{flex:1 1 180px;padding:12px 16px 13px 0}
.project-status-band>div+div{border-left:1px solid var(--line);padding-left:16px}
.project-status-band span{display:block;font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.project-status-band strong{display:block;margin-top:4px;font-size:15px;font-weight:500;line-height:1.4}
.roadmap-ledger{list-style:none;margin:24px 0 0;padding:0;border-top:2px solid var(--ink)}
.roadmap-ledger li{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid var(--line)}
.roadmap-ledger h3{margin:0;font-size:17px}
.roadmap-ledger .roadmap-when{margin:3px 0 0;font-size:14px;color:var(--muted)}
.roadmap-step{font-size:13px;font-weight:600;color:var(--muted)}
.roadmap-ledger strong{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.roadmap-ledger .roadmap-in-progress strong,.roadmap-ledger .roadmap-done strong{color:var(--red-functional)}
.roadmap-events-head{margin:34px 0 0}
.roadmap-events,.news-list{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--ink)}
.roadmap-events li{display:grid;grid-template-columns:minmax(130px,.4fr) minmax(0,1.6fr);gap:6px 22px;padding:14px 0;border-bottom:1px solid var(--line)}
.roadmap-events time{font-weight:600}
.roadmap-events small{grid-column:2;color:var(--muted);font-size:13.5px}
.news-list li{padding:20px 0;border-bottom:1px solid var(--line)}
.news-list h2{margin:6px 0 8px;font-size:22px}
@media(max-width:760px){.project-status-band>div+div{border-left:0;padding-left:0}.roadmap-ledger li{grid-template-columns:36px minmax(0,1fr)}.roadmap-ledger strong{grid-column:2}.roadmap-events li{grid-template-columns:1fr}.roadmap-events small{grid-column:1}}

/* Header and footer, sitewide (DESIGN-SPEC R8/R9, 2026-09-13): 96px masthead, 14px/500 navigation,
   red 2px current-route rule, one native disclosure menu below 1200px, navy footer. */
.site-header{border-top:3px solid var(--red);border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:30}
.topbar{background:var(--surface);border-bottom:1px solid var(--line);font-size:12px;line-height:1.4;color:var(--muted)}
.topbar-inner{width:min(calc(100% - var(--gutter)*2),var(--max));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:4px 24px;flex-wrap:wrap;min-height:36px}
.topbar-inner p{margin:0;font-weight:600;letter-spacing:.03em}
.topbar-inner p a{color:var(--red-dark);text-decoration:none;font-weight:500;letter-spacing:0;margin-left:10px}
.topbar-inner a:hover{text-decoration:underline}
.utility-nav{display:flex;gap:20px}
.utility-nav a{min-height:36px;display:inline-flex;align-items:center;color:var(--navy);font-weight:500;text-decoration:none}
.masthead{width:min(calc(100% - var(--gutter)*2),var(--max));margin:auto;min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{flex:0 0 auto}.brand img{display:block;width:176px;height:auto}
.desktop-nav{display:flex;align-items:center;gap:4px 16px}
.nav-item{position:relative}
.nav-item-line{display:flex;align-items:center}
.nav-parent{min-height:48px;display:flex;align-items:center;text-decoration:none;font-size:14px;font-weight:500;color:var(--navy);border-bottom:2px solid transparent;white-space:nowrap}
.nav-parent:hover{color:var(--red-dark)}
.nav-parent[aria-current]{border-color:var(--red);color:var(--red-dark)}
.nav-expander{background:transparent;border:0;width:24px;min-height:44px;padding:0;color:var(--muted);font-size:15px;line-height:1}
.nav-expander[aria-expanded="true"]{color:var(--red-dark)}
.nav-panel{position:absolute;top:100%;left:-12px;width:300px;max-width:calc(100vw - 36px);z-index:90;border:1px solid var(--line);border-top:2px solid var(--red);background:#fff}
.nav-item:nth-last-child(-n+3) .nav-panel{left:auto;right:0}
#nav-panel-capabilities{width:600px}#nav-panel-capabilities ul{columns:2;column-gap:28px}
.nav-panel-inner{padding:16px 22px 18px}
.nav-panel-kicker{font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.nav-panel ul{list-style:none;margin:0;padding:0}.nav-panel li,.nav-panel li+li{margin:0;break-inside:avoid}
.nav-panel a{display:flex;align-items:center;min-height:40px;padding:6px 0;font-size:15px;line-height:1.35;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--line)}
.nav-panel a:hover{color:var(--red-dark)}
.nav-contact{min-height:44px;display:inline-flex;align-items:center;padding:0 18px;background:var(--navy);color:#fff;text-decoration:none;font-size:14px;font-weight:500;margin-left:4px}
.nav-contact:hover,.nav-contact[aria-current]{background:var(--red-dark);color:#fff}
html:not(.js-enabled) .nav-expander{display:none}
.mobile-menu{display:none;position:relative}
.mobile-menu>summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;padding:0 18px;border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--navy)}
.mobile-menu>summary::-webkit-details-marker,.mobile-group>summary::-webkit-details-marker{display:none}
.mobile-menu[open]>summary{border-color:var(--navy)}
.mobile-menu>nav{position:absolute;right:0;top:calc(100% + 12px);width:min(380px,calc(100vw - 40px));max-height:calc(100vh - 150px);overflow:auto;background:#fff;border:1px solid var(--line);border-top:2px solid var(--red);padding:6px 20px 20px;z-index:90}
.mobile-group{border-bottom:1px solid var(--line)}
.mobile-group>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;font-size:16px;font-weight:500;color:var(--navy)}
.mobile-group>summary::after{content:"+";color:var(--red-dark);font-size:20px;font-weight:400}
.mobile-group[open]>summary::after{content:"−"}
.mobile-group ul{list-style:none;margin:0 0 10px;padding:0}.mobile-group li,.mobile-group li+li{margin:0}
.mobile-group a{display:flex;align-items:center;min-height:44px;font-size:15px;line-height:1.35;color:var(--ink);text-decoration:none}
.mobile-contact{margin-top:16px;min-height:48px;display:flex;align-items:center;justify-content:center;background:var(--red);color:#fff;text-decoration:none;font-weight:500}
.mobile-contact:hover{background:var(--red-dark);color:#fff}
@media(max-width:1199px){.desktop-nav{display:none}.mobile-menu{display:block}.masthead{min-height:82px}}
@media(max-width:680px){.masthead{min-height:72px}.brand img{width:146px}.topbar-inner{padding-block:6px}.topbar-inner p a{display:block;margin:2px 0 0}}
.site-footer{background:var(--navy);color:#d8dfe4;padding:56px var(--gutter) 28px}
.site-footer>div,.site-footer>.footer-notice{max-width:var(--max);margin-inline:auto}
.footer-head{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:40px;border-bottom:1px solid #53616c}
.site-footer .eyebrow{color:#d8dfe4}
.site-footer .footer-head h2{color:#fff;font-size:29px;max-width:28ch;margin-bottom:12px}
.footer-head p:not(.eyebrow){font-size:15px;color:#d8dfe4;margin:0}
.footer-email{color:#fff;font-size:18px;white-space:nowrap;border-bottom:2px solid var(--red);text-decoration:none;padding-bottom:4px}
.footer-email:hover{color:#fff;border-color:#fff}
.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;padding-block:40px}
.site-footer .footer-grid h3{font-size:12px;font-weight:600;letter-spacing:.085em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li,.footer-grid li+li{margin:0}
.footer-grid a{display:flex;align-items:center;min-height:36px;color:#d8dfe4;font-size:14px;line-height:1.4;text-decoration:none}
.footer-grid a:hover{color:#fff;text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;gap:30px;padding-top:22px;border-top:1px solid #53616c;font-size:13px;color:#d8dfe4}
.footer-bottom p{margin:0}.footer-bottom a{color:#fff}.footer-bottom a:hover{color:#fff}
.footer-notice{margin-top:22px!important;margin-bottom:0;color:#c3ccd3;font-size:13px;line-height:1.65}
.site-footer a:focus-visible{outline-color:#fff}
@media(max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.site-footer{padding-top:40px}.footer-head{flex-direction:column;align-items:flex-start;gap:22px;padding-bottom:28px}.footer-head h2{font-size:26px}.footer-grid{gap:28px 20px}.footer-bottom{flex-direction:column;gap:10px}}
@media(max-width:420px){.footer-grid{grid-template-columns:1fr}}
@media print{.topbar,.desktop-nav,.mobile-menu,.site-footer,.section-index,.actions,.enquiry-band{display:none!important}}

/* Shared status, basis, table and figure components (sitewide) and the design-v2 template layer
   (body.design-v2, DESIGN-SPEC R9: eight templates in Release A, the rest in Release B). */
.shell{width:min(calc(100% - var(--gutter)*2),var(--shell));margin-inline:auto}
.status{display:inline-flex;gap:8px;align-items:center;white-space:nowrap;padding:3px 9px;border:1px solid var(--red-dark);color:var(--red-dark);font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.075em;font-weight:600;background:#fff}
.status::before{content:"";width:5px;height:5px;background:currentColor;flex:none}
.basis{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 9px;border:1px solid var(--line-dark);color:var(--navy);font-size:12px;line-height:1.4;letter-spacing:.02em;font-weight:500;background:var(--surface)}
.service-labels{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.data-table{border-collapse:collapse;width:100%;text-align:left;line-height:1.55;font-size:15px}
.data-table caption{text-align:left;padding:14px 0;font-size:14px;color:var(--muted)}
.data-table th{font-size:12px;text-transform:uppercase;letter-spacing:.055em;background:var(--surface);color:var(--muted);font-weight:600}
.data-table th[scope="row"]{font-size:15px;text-transform:none;letter-spacing:normal;background:transparent;color:var(--navy);font-weight:500}
.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}
.data-table th:first-child,.data-table td:first-child{padding-left:0}
.data-table small{display:block;margin-top:4px;font-size:13px;color:var(--muted);font-weight:400}
.data-table a{text-underline-offset:4px}
.table-scroll{overflow-x:auto;border-top:1px solid var(--navy);max-width:100%;margin:24px 0}
.table-scroll:focus-visible{outline:3px solid var(--red-dark);outline-offset:4px}
.portfolio-table th[scope="row"]{min-width:200px}
.field-note{max-width:34ch}
.figure-s,.figure-m{margin:0;min-width:0;background:var(--surface);border:1px solid var(--line)}
.figure-s img,.figure-m img{display:block;width:100%;height:auto;aspect-ratio:auto}
.figure-s figcaption,.figure-m figcaption{padding:8px 10px;font-size:12px;line-height:1.45;color:var(--muted);border-top:1px solid var(--line);overflow-wrap:anywhere}
.figure-note{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 0}
.presentation-table .figure-s{width:132px}
.design-v2{--gutter:32px}
.design-v2 main{overflow-x:clip}
.design-v2 .breadcrumb{width:min(calc(100% - var(--gutter)*2),var(--shell));margin-top:24px;font-size:13px}
/* zero-specificity defaults: every component rule below overrides them */
:where(.design-v2 main) :is(h1,h2,h3,h4){font-weight:500;color:var(--navy);letter-spacing:-.03em}
:where(.design-v2 main) h2{font-size:clamp(30px,2.8vw,40px);line-height:1.12}
:where(.design-v2 main) h3{font-size:25px;line-height:1.22;letter-spacing:-.018em}
.design-v2 .hero{padding-block:48px 64px}
.design-v2 .hero-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;align-items:start}
.design-v2 .hero-copy{grid-column:span 7;min-width:0;padding-right:32px;padding-top:12px}
.design-v2 .hero-copy h1{font-size:clamp(40px,4.1vw,58px);line-height:1.1;max-width:18ch;margin-bottom:24px}
.design-v2.home .hero-copy h1{font-size:clamp(42px,4.55vw,64px);max-width:17ch}
.design-v2 .hero-copy .lead{font-size:20px;line-height:1.6;max-width:58ch}
.design-v2 .hero-panel{grid-column:span 5;min-width:0}
.design-v2 .hero .actions{margin-top:28px}
.design-v2 .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.design-v2 .button{gap:18px}
.design-v2 .hero .service-labels{margin-top:24px}
.design-v2 .status-line{max-width:620px}
.project-panel{background:var(--navy);padding:30px;color:#fff}
.project-panel h2{color:#fff;font-size:clamp(32px,3vw,42px);margin:14px 0}
.project-panel p{color:#fff}
.project-panel .panel-label{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #53616c;padding-bottom:16px;margin:0;font-size:12px;font-weight:600;letter-spacing:.075em;text-transform:uppercase}
.project-panel .panel-foot{border-top:1px solid #53616c;margin:24px 0 0;padding-top:16px;font-size:14px;color:#d8dfe4}
.project-panel .location{color:#d8dfe4}
.project-panel a{color:#fff}
.project-panel .status,.status-band .status,.section.dark .status,.record-review .status{color:#fff;border-color:#d8dfe4;background:transparent}
.panel-numeral{font-size:76px;line-height:1.05;font-weight:400;letter-spacing:-.06em;margin:18px 0 0}
.object-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.design-v2 .source-status{margin-top:20px;border-top:2px solid var(--red)}
.design-v2 .hero-panel .photo img{aspect-ratio:4/3;object-fit:cover}
.design-v2 .hero-panel .photo figcaption{font-size:13px}
.design-v2 .pack-figure .product-dossier-figure{max-width:300px;margin:0 0 16px}
.design-v2 .pack-figure figcaption{font-size:12px}
.record-review{background:var(--navy);padding:26px;color:#fff}
.record-review h2,.record-review h3{color:#fff;font-size:22px;line-height:1.3;margin:10px 0}
.record-review .eyebrow{color:#d8dfe4;margin:0}
.record-review p{color:#fff;font-size:15px}
.record-review .small,.record-review .small time{color:#d8dfe4}
.status-band{background:var(--navy);color:#fff}
.status-band .fact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:26px;margin:0}
.status-band .fact-grid>dl{margin:0;padding-inline:24px;border-left:1px solid #53616c;min-width:0}
.status-band .fact-grid>dl:first-child{padding-left:0;border-left:0}
.status-band dt{font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:.085em;margin-bottom:8px;color:#d8dfe4;font-weight:600}
.status-band dd{margin:0;font-size:18px;line-height:1.4;font-weight:500;color:#fff;overflow-wrap:anywhere}
.status-band dd small{display:block;color:#d8dfe4;font-weight:400;font-size:13px;margin-top:6px}
.status-band .horizon{box-shadow:inset 0 2px 0 var(--red);padding-top:12px}
.status-band time{color:#fff}
.status-note{color:#d8dfe4;font-size:14px;margin:0;padding-bottom:20px}
.section-index{border-bottom:1px solid var(--line);background:#fff}
.section-index .shell{display:flex;flex-wrap:wrap;gap:0 28px;padding-block:8px}
.section-index a{display:flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none;color:var(--muted)}
.section-index a:hover{color:var(--red-dark)}
.design-v2 .section{padding-block:80px;scroll-margin-top:12px}
.design-v2 .section.soft{background:var(--surface)}
.design-v2 .section.dark{background:var(--navy);color:#fff}
.design-v2 .section.dark h2,.design-v2 .section.dark h3,.design-v2 .section.dark p,.design-v2 .section.dark strong,.design-v2 .section.dark .section-heading p:not(.eyebrow){color:#fff}
.design-v2 .section.dark .eyebrow{color:#d8dfe4}
.design-v2 .section.dark a{color:#fff}
.design-v2 .section.dark .section-heading .eyebrow{border-color:var(--red)}
.design-v2 .section.dark .feature-record{border-color:#53616c}
.design-v2 .section-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
.design-v2 .section-heading{grid-column:span 4;padding-right:32px;max-width:none;margin:0}
.design-v2 .section-body{grid-column:span 8;min-width:0}
.design-v2 .section-heading .eyebrow{border-top:2px solid var(--red);padding-top:18px}
.design-v2 .section-heading h2{font-size:34px}
.design-v2 .section-heading p:not(.eyebrow){font-size:16px;color:var(--muted)}
.design-v2 .section-title{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:32px}
.design-v2 .section-title h2{max-width:24ch;margin:0}
.design-v2 .section-title>p{max-width:44ch;font-size:16px;color:var(--muted);margin:0}
.design-v2 .section-title .eyebrow{border-top:2px solid var(--red);padding-top:18px;display:inline-block}
.design-v2 .section-body>p,.design-v2 .section-body li{max-width:68ch}
.design-v2 .subhead{font-size:24px;margin:40px 0 14px}
.design-v2 .section-body>.subhead:first-child{margin-top:0}
.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--navy)}
.module-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.module{padding:26px 26px 26px 0;min-width:0}
.module+.module{border-left:1px solid var(--line);padding-left:26px}
.module .module-id{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.module h3{font-size:24px;max-width:23ch}
.module p{font-size:16px;color:var(--muted)}
.design-v2 .ledger{border-top:1px solid var(--navy);margin:24px 0}
.design-v2 .ledger>dl{margin:0;display:grid;grid-template-columns:minmax(140px,.8fr) minmax(0,1.8fr);gap:28px;padding:16px 0;border-bottom:1px solid var(--line)}
.design-v2 .ledger dt{font-size:14px;color:var(--muted)}
.design-v2 .ledger dd{margin:0;line-height:1.6;overflow-wrap:anywhere}
.design-v2 .ledger dd small{display:block;margin-top:4px;font-size:14px;color:var(--muted)}
.design-v2 .notice{border:0;border-left:3px solid var(--red);background:var(--surface);padding:22px 26px;margin:28px 0;font-size:15px}
.design-v2 .section.soft .notice{background:#fff}
.design-v2 .notice h3{font-size:19px;margin:0 0 8px}
.design-v2 .notice p{font-size:15px}.notice .text-link{display:inline;min-height:0;margin:0 0 0 4px;white-space:nowrap}.feature-record .text-link{white-space:nowrap;margin-top:0}
.roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--navy)}
.roadmap li{padding:22px 22px 22px 0;margin:0;border-bottom:1px solid var(--line);min-width:0}
.roadmap li:not(:nth-child(4n+1)){border-left:1px solid var(--line);padding-left:22px}
.roadmap .roadmap-step{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:10px}
.roadmap .when{display:block;font-size:13px;color:var(--red-dark);font-weight:600;margin:12px 0 0}
.roadmap h3{font-size:19px;margin:12px 0 8px}
.roadmap p{font-size:14px;color:var(--muted)}
.roadmap .current{background:var(--surface);box-shadow:inset 0 2px 0 var(--red)}
.roadmap .roadmap-done .status{color:var(--navy);border-color:var(--navy)}
.design-v2 .section.soft .roadmap .current{background:#fff}
.source-note{font-size:13px;color:var(--muted);margin-top:20px;max-width:90ch}
.quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin:24px 0}
.quality-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.quality-cell{background:#fff;padding:24px;min-width:0}
.quality-cell .eyebrow{margin-bottom:12px}
.quality-cell h3{font-size:20px;margin:14px 0 10px}
.quality-cell p{font-size:15px;color:var(--muted)}
.flow{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:0;margin:24px 0}
.flow li{border-top:2px solid var(--red);padding-top:16px;margin:0;min-width:0}
.flow span{font-size:12px;font-weight:600;color:var(--muted)}
.flow h3{font-size:19px;margin:10px 0 8px}
.flow p{font-size:15px;color:var(--muted)}
.feature-record{border:1px solid var(--line);padding:26px;display:flex;gap:32px;justify-content:space-between;align-items:center;margin:28px 0;background:#fff}
.section.dark .feature-record{background:transparent}
.feature-record h3{margin:10px 0}
.category-nav{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.category-nav a{padding:8px 12px;min-height:44px;display:inline-flex;align-items:center;border:1px solid var(--line);font-size:13px;text-decoration:none;color:var(--navy);background:#fff}
.category-nav a:hover{border-color:var(--red-dark)}
.portfolio-group,.scope-group{border-top:1px solid var(--navy);scroll-margin-top:16px;background:transparent}
.portfolio-group:last-of-type,.scope-group:last-of-type{border-bottom:1px solid var(--line)}
.portfolio-group>summary,.scope-group>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:16px 0;cursor:pointer;list-style:none;font-size:21px;font-weight:500;color:var(--navy)}
.portfolio-group>summary::-webkit-details-marker,.scope-group>summary::-webkit-details-marker,.question>summary::-webkit-details-marker{display:none}
.portfolio-group>summary::after,.scope-group>summary::after,.question>summary::after{content:"+";color:var(--red-dark);font-size:26px;font-weight:400;flex:none}
.portfolio-group[open]>summary::after,.scope-group[open]>summary::after,.question[open]>summary::after{content:"−"}
.portfolio-group>summary small,.scope-group>summary small{display:block;font-size:13px;font-weight:400;color:var(--muted);margin-top:2px}
.portfolio-group>div,.scope-group>div{padding:0 0 28px}
.portfolio-group:target,.scope-group:target{outline:2px solid var(--red-dark);outline-offset:6px}
.scope-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin:8px 0 18px}
.scope-heading h3{font-size:25px;margin:0}
.scope-heading p{font-size:15px;color:var(--muted);margin:0}
.service-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;gap:24px;border-top:1px solid var(--line);padding:16px 0;align-items:start}
.service-row h4{font-size:18px;margin:0;letter-spacing:-.012em}
.service-row p{font-size:14px;color:var(--muted);margin:0}
.service-row .service-labels{justify-content:flex-end}
.service-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:40px}
.service-summary a{padding:20px 22px;background:#fff;text-decoration:none;color:var(--navy);font-size:17px;line-height:1.4;font-weight:500}
.service-summary a small{display:block;margin-top:10px;font-size:12px;font-weight:600;color:var(--red-dark);text-transform:uppercase;letter-spacing:.08em}
.service-summary a:hover{background:var(--surface)}
.question{border-bottom:1px solid var(--line)}
.question:first-child{border-top:1px solid var(--navy)}
.question>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:14px 0;cursor:pointer;list-style:none;font-size:17px;font-weight:500;color:var(--navy)}
.question>div{padding:0 0 20px}
.enquiry-band{background:var(--surface);padding-block:48px;border-top:1px solid var(--line)}
.enquiry-band .shell{display:flex;align-items:center;justify-content:space-between;gap:48px}
.enquiry-band h2{font-size:32px;margin:0 0 12px}
.enquiry-band p{font-size:16px;max-width:65ch;color:var(--text)}
.enquiry-band .button{flex-shrink:0;gap:18px}
.design-v2 .text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:12px;font-size:15px;font-weight:500}
.design-v2 .link-ledger{margin:24px 0}
.design-v2 .browse-links{margin-top:28px}
.design-v2 .catalogue-tools{margin-top:24px}
.design-v2 .filter-row input,.design-v2 .filter-row select{background:#fff}
.design-v2 .archival-boundary{margin-block:0 28px}
.design-v2 .dossier-controls{margin-top:20px}
.design-v2 .reference-detail summary{font-weight:500}
@media(max-width:1100px){.design-v2 .hero-copy{padding-right:8px}.design-v2 .hero-grid,.design-v2 .section-grid{gap:24px}.design-v2 .section-heading{padding-right:12px}.design-v2 .section-heading h2{font-size:30px}.status-band .fact-grid>dl{padding-inline:16px}.roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap li:not(:nth-child(4n+1)){border-left:0;padding-left:0}.roadmap li:nth-child(2n){border-left:1px solid var(--line);padding-left:22px}}
@media(max-width:900px){.design-v2 .hero-grid,.design-v2 .section-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.design-v2 .hero-copy{grid-column:span 8;padding:0}.design-v2 .hero-panel{grid-column:span 8;max-width:560px}.design-v2 .section-heading{grid-column:span 8;padding:0}.design-v2 .section-body{grid-column:span 8}.status-band .fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-band .fact-grid>dl{padding:14px 16px 14px 0;border-left:0}.status-band .fact-grid>dl:nth-child(2n){border-left:1px solid #53616c;padding-left:16px}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow{grid-template-columns:repeat(2,minmax(0,1fr))}.service-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:1fr}.module,.module+.module{border-left:0;border-bottom:1px solid var(--line);padding:22px 0}.service-row{grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}.service-row p:not(.service-labels){grid-column:1/-1;grid-row:2}.service-row .service-labels{grid-column:2;grid-row:1}.scope-heading{grid-template-columns:1fr;gap:10px}}
@media(max-width:680px){.design-v2{--gutter:20px}.design-v2 .hero{padding-block:32px 40px}.design-v2 .hero-copy h1,.design-v2.home .hero-copy h1{font-size:38px;line-height:1.1;max-width:20ch}.design-v2 .hero-copy .lead{font-size:18px}.design-v2 .actions .button{flex:1 1 100%;justify-content:space-between}.project-panel{padding:24px}.panel-numeral{font-size:60px}.object-strip{gap:8px}.status-band .fact-grid{padding-block:8px}.status-band dd{font-size:16px}.status-band .fact-grid>dl{border-bottom:1px solid #53616c}.status-band .fact-grid>dl:nth-last-child(-n+2){border-bottom:0}.design-v2 .section{padding-block:52px}.design-v2 .section-heading h2,.design-v2 .section-title h2{font-size:30px}.design-v2 .section-title{display:block;margin-bottom:24px}.design-v2 .section-title h2{margin-bottom:14px}.module-grid.two{grid-template-columns:1fr}.design-v2 .ledger>dl{grid-template-columns:1fr;gap:4px}.design-v2 .ledger dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em}.quality-grid,.quality-grid.two,.flow,.roadmap{grid-template-columns:1fr}.roadmap li,.roadmap li:nth-child(2n),.roadmap li:not(:nth-child(4n+1)){border-left:1px solid var(--line);padding:18px 16px}.service-summary{grid-template-columns:1fr}.feature-record{display:block;padding:22px}.enquiry-band{padding-block:36px}.enquiry-band .shell{display:block}.enquiry-band h2{font-size:28px}.enquiry-band .button{margin-top:22px;display:flex;justify-content:space-between}.data-table{min-width:640px;font-size:14px}.data-table.compact,.presentation-table{min-width:560px}.portfolio-group>summary,.scope-group>summary{font-size:19px}.design-v2 .notice{padding:20px}}
@media print{.status-band,.project-panel,.record-review,.design-v2 .section.dark{background:#fff;color:#000;border:1px solid #777}.status-band *,.project-panel *,.record-review *,.design-v2 .section.dark *{color:#000!important}.table-scroll{overflow:visible}.data-table{min-width:0!important;font-size:9pt}.design-v2 .hero-grid,.design-v2 .section-grid{display:block}.design-v2 .section{padding:12px 0}.portfolio-group>div,.scope-group>div,.question>div{display:block!important}.status{border-color:#000}}
