/* A technical layer over the architectural, editorial design. */
:root{--ink:#17262d;--muted:#51616a;--soft:#f0f3f2;--line:#d3dcdd;--accent:#b93d26;--bright:#f5aa94;--signal:#a4d7da;--signal-ink:#296572;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
.eyebrow,.phase-number,.source-note,.article-meta,.breadcrumbs,.card-read,.chapter-nav a>span,.utility-bar,.filter-button,.search-status{font-family:var(--mono)}
.eyebrow{letter-spacing:.12em;font-weight:500}
.utility-bar{background:#14242b;color:#d8e5e8}
.utility-bar .wrap>span{display:flex;align-items:center;gap:11px}
.utility-bar .wrap>span:before{content:"";width:5px;height:5px;background:var(--bright);box-shadow:0 0 0 3px #f5aa9415}
.utility-bar a:hover{color:var(--bright)}
.header{border-bottom-color:#c6d2d5;box-shadow:0 5px 30px #17262d05}
.header:after{content:"";position:absolute;inset:auto 0 -1px;height:2px;background:linear-gradient(90deg,var(--accent),var(--signal));transform-origin:left;transform:scaleX(0);pointer-events:none}
@supports(animation-timeline:scroll()){
 .header:after{animation:reading-line linear both;animation-timeline:scroll(root)}
 @keyframes reading-line{to{transform:scaleX(1)}}
}
.brand-mark{transition:transform .25s}
.brand:hover .brand-mark{transform:translateY(-2px)}
.header nav>a:not(.button){position:relative;border:0}
.header nav>a:not(.button):after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.header nav>a:not(.button):hover:after,.header nav>a[aria-current]:after{transform:scaleX(1)}
.button{position:relative;isolation:isolate;transition:background .22s,border-color .22s,box-shadow .22s;box-shadow:inset 0 1px 0 #ffffff22}
.button:after{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;opacity:.55;pointer-events:none}
.button .arrow{padding-left:18px;border-left:1px solid #ffffff50;font-size:19px;transition:transform .22s}
.button-small .arrow,.button-outline .arrow,.button-light .arrow{border-color:#17262d40}
.button:hover{box-shadow:0 6px 18px #17262d16}
.text-link{transition:color .2s,border-color .2s}
.hero{background:#10212a}
.hero:after{background:linear-gradient(90deg,#11232b 0%,#12242bec 29%,#13252bc4 44%,#14272b35 76%,#10232b30)}
.hero:before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(#afd9dc0a 1px,transparent 1px),linear-gradient(90deg,#afd9dc0a 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(90deg,transparent 20%,#000);pointer-events:none}
.hero-image img{filter:saturate(.65) contrast(1.07)}
.hero-inner{z-index:2}
.hero h1 .signal-word{color:#b3e0e1}
.hero h1 .signal-word:after{content:"";display:inline-block;width:11px;height:11px;margin:0 0 9px 16px;background:#f08a6e;vertical-align:baseline}
.hero .eyebrow{font-size:10px;letter-spacing:.13em}
.hero .eyebrow:before{width:24px;height:8px;background:linear-gradient(90deg,var(--bright) 0 3px,transparent 3px 7px,var(--bright) 7px 10px,transparent 10px 14px,var(--bright) 14px 17px,transparent 17px)}
.hero-actions{margin-top:35px}
.signal-map{position:absolute;pointer-events:none;z-index:1;width:min(53vw,740px);aspect-ratio:1;right:0;top:45%;transform:translateY(-50%);background:url('/assets/signal-map.svg') center/contain no-repeat;opacity:.67}
.signal-map:before{content:"";position:absolute;left:50%;top:50%;width:64%;height:64%;border:1px solid #b6e3e523;border-radius:50%;transform:translate(-50%,-50%)}
.hero-caption{padding:15px 18px;border:1px solid #a4d7da55;border-left:2px solid var(--bright);background:#10232cd9;bottom:31px;align-items:start;gap:5px;backdrop-filter:blur(8px)}
.hero-caption span:first-child{font:10px/1.5 var(--mono);color:#b3e0e1;letter-spacing:.1em}
.hero-caption span:last-child{font-size:11px;color:#e1eaec}
.hero-index{display:flex;align-items:center;gap:20px;margin-top:38px;color:#bacdd1;font:9px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.hero-index span{display:flex;align-items:center;gap:9px}
.hero-index span:before{content:"+";color:var(--bright);font-size:13px}
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:hero-enter .65s ease-out both}
 .signal-map{animation:map-enter 1.1s ease-out both}
 @keyframes hero-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
 @keyframes map-enter{from{opacity:0;transform:translateY(-50%) scale(1.04)}to{opacity:.67;transform:translateY(-50%) scale(1)}}
}
.chapter-nav{background:#edf2f2}
.chapter-nav a{position:relative;transition:background .2s,color .2s}
.chapter-nav a:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.chapter-nav a:hover:after,.chapter-nav a:focus-visible:after{transform:scaleX(1)}
.chapter-nav a:hover{background:#e2ebec}
.chapter-nav a>span{border:1px solid #b8c8cd;padding:3px 6px;line-height:1.4;color:var(--signal-ink)}
.section-label>.eyebrow{display:flex;align-items:center;gap:14px}
.section-label>.eyebrow:before{content:"";width:9px;height:9px;border:1px solid var(--accent);box-shadow:3px 3px 0 #b93d2615}
.engagement-links>a{border-top-color:#a9bfc4;transition:background .25s,padding .25s}
.engagement-links>a:before{content:"";position:absolute;left:0;top:-1px;width:28px;height:2px;background:var(--accent);transition:width .25s}
.engagement-links>a:hover:before{width:100%}
.engagement-links>a:hover{background:#f0f5f5;padding-left:14px}
.engagement-links .eyebrow{color:var(--signal-ink)}
.approach-section{background:#122730}
.approach-visual:before{content:"";position:absolute;inset:20px;z-index:-1;border:1px solid #b3e0e13a;background:linear-gradient(90deg,#b3e0e1 18px,transparent 18px) left top/100% 1px no-repeat}
.approach-content{background-image:radial-gradient(#a4d7da17 .8px,transparent .8px);background-size:19px 19px}
.phase{position:relative;border-top-color:#a4d7da36;transition:background .25s}
.phase-number{width:30px;height:30px;display:grid;place-items:center;border:1px solid #a4d7da55;color:var(--signal);padding:0;font-size:10px}
.phase:not(:last-child):after{content:"";position:absolute;left:14px;top:53px;bottom:0;width:1px;background:#a4d7da2b}
.phase h3{padding-top:3px}
.phase:hover{background:#a4d7da07}
.fact-row>div{position:relative;border-top-color:#a4b8be}
.fact-row>div:before{content:"";position:absolute;top:-3px;right:0;width:5px;height:5px;background:var(--signal-ink)}
.fact{font-variant-numeric:tabular-nums;color:#254c58}
.evidence-section{background-color:#edf2f1;background-image:linear-gradient(90deg,#2a667006 1px,transparent 1px);background-size:80px 100%}
.evidence-list>div>span{font-family:var(--mono);color:var(--signal-ink)}
.card-image,.feature-heading-image,.collection-image{position:relative;isolation:isolate;overflow:hidden;background:#19343d}
.card-image:after,.feature-heading-image:after,.collection-image:after{content:"";position:absolute;inset:12px;pointer-events:none;background:linear-gradient(var(--signal),var(--signal)) left top/18px 1px no-repeat,linear-gradient(var(--signal),var(--signal)) left top/1px 18px no-repeat,linear-gradient(var(--signal),var(--signal)) right bottom/18px 1px no-repeat,linear-gradient(var(--signal),var(--signal)) right bottom/1px 18px no-repeat;opacity:.9}
.feature-heading-image:before,.collection-image:before{content:"";position:absolute;inset:0;background:url('/assets/signal-map.svg') center/115% auto no-repeat;z-index:1;opacity:.3;pointer-events:none}
.feature-heading-image img,.collection-image img{filter:saturate(.72)}
.insight-card{transition:border-color .25s}
.insight-card:hover{border-bottom-color:var(--accent)}
.card-read .arrow{display:grid;place-items:center;width:30px;height:30px;border:1px solid #c3d3d6;transition:background .25s,color .25s,border-color .25s}
.insight-card:hover .card-read .arrow{background:var(--accent);border-color:var(--accent);color:white}
.card-top .fine{font-family:var(--mono);color:var(--muted)}
.readiness-band{background:#eaf0f0;border-top:1px solid #cad8da;border-bottom:1px solid #cad8da}
.cta-band{background:#10252e}
.cta-band:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url('/assets/signal-map.svg') right -180px center/660px no-repeat;opacity:.32}
.cta-inner{position:relative;z-index:1}
.cta-inner h2 em{color:#abd3d8}
.cta-aside{border-left:1px solid #a4d7da60;padding-left:32px}
footer{background:#102129;border-top:3px solid #a4d7da33}
.footer-top{position:relative}
.footer-top:before{content:"";position:absolute;left:0;top:-3px;width:64px;height:3px;background:var(--bright)}
.footer-top .eyebrow{color:#a4d7da}
.footer-top>div>a:not(.brand){transition:color .2s}
.footer-top>div>a:not(.brand):hover{color:#a4d7da}
.footer-bottom{border-top-color:#a4d7da33}
/* Quiet technical details keep long-form and legal pages easy to read. */
.editorial-heading,.feature-heading{position:relative;isolation:isolate;overflow:hidden}
.editorial-heading{background:#edf2f1}
.editorial-heading:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#2a66700a 1px,transparent 1px),linear-gradient(90deg,#2a66700a 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(90deg,transparent 30%,#000)}
.editorial-heading:after{content:"+";position:absolute;right:max(35px,calc((100vw - 1312px)/2));bottom:30px;font:36px/1 var(--mono);color:#6e989e80;pointer-events:none}
.feature-heading{background:radial-gradient(ellipse at 90% 10%,#274854,#122730 70%)}
.feature-heading-grid{position:relative}
.page-heading .eyebrow{display:flex;align-items:center;gap:12px}
.page-heading .eyebrow:before{content:"";width:17px;height:7px;border:1px solid currentColor;border-left-width:4px;flex-shrink:0}
.collection-title{position:relative;max-width:none;border-bottom:1px solid var(--line);margin-bottom:32px;background:radial-gradient(#2a667023 .7px,transparent .7px) right top/16px 16px}
.collection-title:after{content:"";position:absolute;right:0;top:44px;width:43px;height:43px;border-top:1px solid #67949f;border-right:1px solid #67949f;pointer-events:none}
.collection-title h1,.collection-title .lead{max-width:790px}
.collection-title .lead{background:linear-gradient(90deg,#fff 65%,#ffffff00)}
.collection-heading{border-bottom:1px solid var(--line);padding-bottom:40px}
.toc{padding:22px 18px 20px;border:1px solid var(--line);border-top:2px solid var(--accent);background:#f6f8f7}
.toc nav a{border-left:2px solid transparent;padding-left:11px;transition:color .2s,border-color .2s}
.toc nav a:hover,.toc nav a[aria-current="location"]{border-left-color:var(--accent);color:#9b321f;text-decoration:none}
.toc .eyebrow{color:var(--signal-ink)}
.prose>section+section{position:relative}
.prose>section+section:before{content:"";position:absolute;left:0;top:-1px;width:25px;height:2px;background:#5b8b97}
.prose .sources{border-top-color:var(--signal-ink);background:#eef3f3}
.callout{background:#eef3f3;border-left-color:var(--signal-ink);box-shadow:inset 0 0 0 1px #dce6e7}
thead{background:#e8eff0}
th{font-size:11px;letter-spacing:.015em}
.faq-list summary{list-style:none;position:relative;padding-right:40px}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:0;color:var(--signal-ink);font:25px/1.2 var(--mono)}
.faq-list details[open] summary:after{content:"−";color:var(--accent)}
.faq-list details{transition:background .2s}
.faq-list details[open]{background:#f6f8f7;padding-left:18px;padding-right:18px}
.blog-tools{border-top:2px solid var(--signal-ink)}
.search-status{font-size:11px}
.search-results li{position:relative;padding-left:22px;border-left:1px solid var(--line);transition:background .2s}
.search-results li:before{content:"";position:absolute;left:-3px;top:32px;width:5px;height:5px;background:var(--signal-ink)}
.search-results li:hover{background:#f4f7f7}
.inline-links a{padding:8px 12px;border:1px solid var(--line);font-size:12px;text-decoration:none;transition:border-color .2s}
.inline-links a:hover{border-color:var(--signal-ink)}
.resource-banner{background:#152f39 url('/assets/signal-map.svg') right -90px center/430px no-repeat;border-left-color:#ee947c}
.contact-info{position:relative;isolation:isolate;overflow:hidden;background:#16303a;color:white;border-top-color:var(--bright)}
.contact-info:before{content:"";position:absolute;inset:0;z-index:-1;background:url('/assets/signal-map.svg') right -175px bottom -150px/520px no-repeat;opacity:.2;pointer-events:none}
.contact-info .eyebrow{color:var(--bright)}
.contact-info p{color:#d1e0e4}
.contact-info strong{color:white}
.contact-info a{color:#b8e2e5}
label{letter-spacing:.015em}
input:not([type=checkbox]),textarea,select{background:#f9fbfa;border-color:#adbfc5;transition:border-color .2s,background .2s,box-shadow .2s}
input:not([type=checkbox]):hover,textarea:hover,select:hover{border-color:#648892}
input:not([type=checkbox]):focus,textarea:focus,select:focus{background:#fff;border-color:var(--signal-ink);box-shadow:none;outline:1px solid var(--signal-ink);outline-offset:0}
form button:focus-visible,form a:focus-visible{outline:1px solid var(--signal-ink);outline-offset:2px}
.form-note{border-top:1px solid var(--line);padding-top:20px}
.directory a:hover{color:var(--signal-ink)}
@media(max-width:1030px){
 .hero-index{gap:16px;font-size:8px}
 .hero-caption{font-size:9px;right:0}
 .hero-caption span:first-child{font-size:8px}
 .hero-caption span:last-child{font-size:9px}
 .toc{padding:18px 12px}
}
@media(max-width:760px){
 .hero:after{background:linear-gradient(90deg,#10232bf2,#10232bc9 65%,#10232ba8)}
 .hero:before{background-size:52px 52px;mask-image:linear-gradient(90deg,transparent,#000)}
 .signal-map{width:400px;right:-160px;top:43%;opacity:.26;animation:none}
 .hero h1 .signal-word:after{width:6px;height:6px;margin:0 0 5px 9px}
 .hero .eyebrow{font-size:8px;letter-spacing:.045em;gap:9px}
 .hero .eyebrow:before{width:17px;flex-shrink:0}
 .hero-index{gap:17px;flex-wrap:wrap;margin-top:32px;font-size:8px;letter-spacing:.055em}
 .hero-index span{gap:6px}
 .hero-index span:before{font-size:11px}
 .button .arrow{padding-left:13px;font-size:17px}
 .chapter-nav a>span{font-size:8px}
 .section-label>.eyebrow{gap:10px;font-size:9px}
 .section-label>.eyebrow:before{width:7px;height:7px}
 .approach-visual:before{inset:12px}
 .phase-number{font-size:10px}
 .cta-aside{padding-left:20px}
 .cta-band:before{background-position:right -260px center;opacity:.22}
 .collection-title{padding-right:0;background-image:none;margin-bottom:25px}
 .collection-title:after{width:20px;height:20px;top:25px}
 .collection-heading{padding-bottom:30px;margin-bottom:30px}
 .editorial-heading:after{display:none}
 .toc{padding:17px 16px 20px}
 .toc nav{gap:11px 17px}
 .toc nav a{padding-left:8px}
 .page-heading .eyebrow{font-size:9px}
 .page-heading .eyebrow:before{width:13px;height:6px}
 .article-meta{font-size:9px}
 .resource-banner{background-position:right -160px center}
 .search-results li{padding-left:17px}
}
@media(max-width:360px){.hero-index{gap:12px;font-size:7px}.hero .eyebrow{font-size:7px}.hero h1 .signal-word:after{margin-left:6px}}
@media(prefers-reduced-motion:reduce){.header:after{animation:none;transform:scaleX(0)}}
@media print{.signal-map,.hero-index,.editorial-heading:before,.editorial-heading:after,.collection-title:after{display:none!important}.collection-title{background:none}.toc{display:none}.feature-heading,.editorial-heading{background:white;color:var(--ink)}}

/* Sector masthead: long names remain readable without crowding navigation. */
.brand{font-size:21px}.brand small{font-size:8px}.hero h1{font-size:clamp(3rem,4.8vw,5rem)}.hero-copy{max-width:650px}.hero-lead{max-width:590px}.header nav{gap:20px}.report-hero h1{font-size:clamp(2.7rem,4.6vw,4.5rem)}
@media(max-width:1150px){.header nav{gap:13px}.header nav>a{font-size:11px}.brand{font-size:18px}}
@media(max-width:760px){.brand{font-size:19px}.hero h1{font-size:clamp(2.8rem,11vw,4.8rem)}.hero-copy{max-width:none}}
