/* v13: the same visual identity, clearer evidence and compact navigation. */
[hidden]{display:none!important}
:root{--header-height:5rem}
html{scroll-padding-top:var(--nav-offset,calc(var(--header-height) + 4.5rem))}
.site-header{position:sticky;top:0;height:var(--header-height)}
.page-nav{top:var(--header-height);height:3.5rem;scrollbar-width:thin;scrollbar-color:#757d6d #10120f}
.page-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;flex-shrink:0;border-bottom:2px solid transparent}
.page-nav a.is-current{color:#fff;border-bottom-color:var(--family,var(--lime))}
.page-nav a:focus-visible,.demo-controls button:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
html [id]{scroll-margin-top:0}
.site-header nav a,.header-link{font-size:.875rem}
.route-card p{font-size:.875rem}
.route-card small{font-size:.75rem}
.route-lab{background:#f3f8e8}
.site-footer{min-height:6rem;height:auto;padding-top:1.5rem;padding-bottom:1.5rem}
.forecast-console{grid-template-columns:minmax(140px,.55fr) minmax(0,2.5fr) minmax(200px,.85fr)}
.forecast-console>*{min-width:0}
.forecast-chart .plan-line{stroke:#7893ff;stroke-dasharray:8 5}
.trace-legend .plan-key{background:#7893ff}
.trace-legend .revised-key{background:#73dca3}
.forecast-metrics{grid-template-columns:1fr}
.forecast-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.forecast-metrics b{color:#10120f;font-size:1rem;margin:0;white-space:nowrap}
.forecast-metrics span{color:#51584c;font-size:.875rem}
.contribution-label strong{display:block;color:var(--lime);font-size:1.65rem;line-height:1.2}
.contribution-label small{color:#b3bba9}
.forecast-chart svg text{fill:#aeb8a2}
.trace-legend,.forecast-case small,.forecast-case em,.diagnosis-panel>small,.chart-head small{font-size:.875rem}
.trace-legend{flex-wrap:wrap}
.metric-definition,.forecast-note{font-size:.875rem;line-height:1.65}
.work-overview{padding-block:4rem;display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem}
.work-overview h2{font-size:2.3rem;line-height:1.1;letter-spacing:-.04em;margin:1rem 0}
.work-overview p{font-size:1rem;color:var(--muted)}
.work-overview-steps{display:grid;gap:1.2rem}
.work-overview-steps>div{border-bottom:1px solid var(--line);padding-bottom:1rem}
.work-overview-steps b{font-size:1rem}
#errorBreakdown>div{display:grid;grid-template-columns:5rem 1fr 4rem;gap:.7rem;align-items:center;margin:.65rem 0;font-size:.875rem}
#errorBreakdown i{height:6px;background:#e0e4da;border-radius:5px;overflow:hidden}
#errorBreakdown i b{display:block;height:100%;background:var(--blue);border-radius:5px}
#errorBreakdown strong{text-align:right}
.process-grid details{min-width:0}
.process-grid summary h3{display:inline-block;vertical-align:top;max-width:95%}
.reconciliation{padding:2rem;margin-top:2rem;background:#fff;border:1px solid var(--line);border-radius:1.2rem;display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:start}
.reconciliation h3{font-size:1.7rem;line-height:1.2;margin:.8rem 0}
.reconciliation p{font-size:1rem;color:var(--muted)}
.table-scroll{min-width:0;overflow-x:auto}
.table-scroll table{border-collapse:collapse;width:100%;font-size:.875rem;font-variant-numeric:tabular-nums}
.table-scroll caption{text-align:left;color:var(--muted);font-size:.8rem;margin-bottom:.75rem}
.table-scroll th,.table-scroll td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
.table-scroll thead{background:#f5f6f2}
.match-label{color:#225f41}.diff-label{color:#9e4c15}
.demo-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.demo-controls button{padding:.55rem .85rem;min-height:44px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.875rem;cursor:pointer}
.demo-controls button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.demo-note{font-size:.85rem!important;line-height:1.55!important;color:var(--muted)!important}
.work-impact{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;background:#182012;color:#fff;padding:2.4rem;border-radius:1.2rem;margin:1.5rem 0 2rem}
.work-impact .eyebrow{color:#b6c4a8}
.work-impact strong{display:block;color:var(--lime);font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.05em;margin:.8rem 0}
.work-impact p{color:#c8d0c0;font-size:1rem}
.work-impact h3{font-size:1.5rem;margin:.5rem 0}
.work-impact b{font-size:.875rem;font-weight:500;color:#c8ff45}
.uap-evidence-panels{grid-template-columns:minmax(0,1fr)}
.uap-evidence-panels>div{background:#fff;border:1px solid var(--line);border-radius:1rem;padding:1.5rem}
.uap-evidence-panels>div[data-uap-evidence="fit"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:1.5rem}
.module-evidence h3{font-size:1.6rem;margin:.65rem 0 1rem;line-height:1.2}
.module-evidence .project-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.module-evidence .project-facts>div{display:block;border-top:1px solid var(--line);padding-top:1rem}
.module-evidence .project-facts dd{margin:.5rem 0 0}
.method-bars{display:grid;gap:.8rem;margin:1.5rem 0;max-width:45rem}
.method-bars>div{display:grid;grid-template-columns:9rem 1fr 3rem;gap:1rem;align-items:center;font-size:.875rem}
.method-bars i{height:9px;background:#f4e7d8;border-radius:6px;overflow:hidden}
.method-bars i b{display:block;height:100%;background:var(--family);border-radius:6px}
.method-bars strong{text-align:right}
.rfm-demo{border-top:1px solid var(--line);padding-top:1rem!important;margin-top:1rem}
.rfm-demo>summary{font-size:1rem;font-weight:700;cursor:pointer}
.rfm-values{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:1rem 0}
.rfm-values>div{background:#fbedeb;border-radius:.6rem;padding:.7rem}
.rfm-values span{font-size:.8rem;display:block;color:#7d433a}
.rfm-values b{font-size:1.5rem;display:block;font-variant-numeric:tabular-nums}
.rfm-demo p{font-size:.95rem;line-height:1.6}
.marketing-result{font-size:1rem;line-height:1.6;margin:1rem 0;color:#30372d}
.marketing-result>b{display:block;font-size:.8rem;color:#7e432e;letter-spacing:.06em;margin-bottom:.35rem}
.media-cover strong{white-space:pre-line}
.source-image-stage{position:relative;min-height:10rem}
.source-loading .source-image-stage::after,.source-error .source-image-stage::after{position:absolute;inset:0;display:grid;place-items:center;background:#fff;color:#30372d;padding:2rem;text-align:center}
.source-loading .source-image-stage::after{content:"Загрузка изображения…"}
.source-error .source-image-stage::after{content:"Изображение не загрузилось. Закройте окно и попробуйте ещё раз."}
.source-dialog{overflow:hidden;max-height:94dvh;display:none}
.source-dialog[open]{display:flex;flex-direction:column}
.source-dialog-bar{flex-shrink:0}
.source-image-stage{flex:1;min-height:0;overflow:auto}
.source-dialog-help{flex-shrink:0;font-size:.8rem}
.image-zoomed .source-image-stage img{width:var(--source-native-width,1400px);height:auto;max-width:none;max-height:none}
.source-dialog .source-dialog-bar button{font-size:.875rem}
.evidence-image img{max-width:100%}
@media(max-width:1100px){
 .forecast-console{grid-template-columns:10rem minmax(0,1fr)}
 .diagnosis-panel{grid-column:1/-1;display:block;border-top:1px solid var(--darkline)}
 .work-overview,.reconciliation{gap:1.5rem}
 .site-header nav{gap:1.2rem}
}
@media(max-width:760px){
 :root{--header-height:4.2rem}
 .site-header{grid-template-columns:auto 1fr;padding:0 .85rem;gap:1rem}
 .site-header .header-link{display:none}
 .site-header nav{justify-self:end;gap:1rem;letter-spacing:0;text-transform:none}
 .site-header nav a{font-size:.875rem}
 .page-nav{padding-inline:.8rem;gap:1.1rem;height:3.25rem}
 .page-nav>span{display:none}
 .intro-copy h1{font-size:clamp(3.7rem,13vw,4.5rem);line-height:.98}
 .lab-map{gap:.55rem}
 .lab-map-card{display:grid;grid-template-columns:2.1rem 1fr;gap:.2rem .55rem;padding:1rem;min-height:0}
 .lab-map-card .map-number{grid-column:1;grid-row:1/3;font-size:.8rem}
 .lab-map-card .map-number b{display:none}
 .lab-map-card h2{grid-column:2;grid-row:1;font-size:1.15rem;line-height:1.2;margin:0;max-width:none}
 .lab-map-card small{grid-column:2;grid-row:2;font-size:.8rem;margin:0}
 .lab-map-card>p,.lab-map-card .map-open{display:none}
 .forecast-console{grid-template-columns:minmax(0,1fr)}
 .forecast-sidebar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding:.8rem;border-right:0}
 .forecast-sidebar>.tiny-label{grid-column:1/-1}
 .forecast-sidebar .metric-stack{display:none}
 .forecast-case{padding:.6rem;display:block;margin:0}
 .forecast-case small{font-size:.75rem;overflow-wrap:anywhere}
 .forecast-case em{display:block;font-size:.9rem;margin-top:.3rem}
 .forecast-chart{padding:1rem;border-right:0}
 .chart-head{flex-wrap:wrap;gap:.7rem}
 .chart-head>div:first-child{flex:1 1 13rem}
 .contribution-label{text-align:left;min-width:0;display:flex;align-items:center;gap:.8rem}
 .contribution-label small{max-width:8rem}
 .forecast-metrics{grid-template-columns:1fr}
 .forecast-metrics>div{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem}
 .forecast-metrics b{white-space:normal;overflow-wrap:anywhere}
 .work-overview,.reconciliation,.work-impact,.module-evidence .project-facts,.uap-evidence-panels>div[data-uap-evidence="fit"]{grid-template-columns:1fr;gap:1.2rem}
 .work-overview{padding-block:2rem}
 .reconciliation,.work-impact{padding:1.2rem}
 .module-evidence .project-facts{gap:.6rem}
 .uap-evidence-panels>div{padding:1rem}
 .method-bars>div{grid-template-columns:8rem 1fr 2.2rem;gap:.5rem}
 .football-evidence .evidence-image img{aspect-ratio:1.25}
 .source-dialog-bar{position:static;gap:.6rem;flex-wrap:wrap}
 .source-dialog-bar p{width:100%;font-size:.875rem}
 .source-dialog{padding:.65rem;width:calc(100% - 1rem)}
 .table-scroll th,.table-scroll td{padding:.6rem .3rem}
 .table-scroll{font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Content follows its own height; diagrams and labels never share an absolute box. */
.page-hero>* ,.section-title>*,.lab-grid>*,.mini-grid>*,.source-grid>*,.work-impact>*,.reconciliation>*,.job-architecture>*{min-width:0}
.page-hero h1{line-height:1;letter-spacing:-.06em;overflow-wrap:normal}
.section-title h2,.next-route h2{line-height:1.07}
.source-copy h2,.lab-card h3{line-height:1.17;overflow-wrap:anywhere}
.card-meta{align-items:flex-start;line-height:1.5;gap:.65rem 1rem}
.card-meta>b{font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:none}
.project-facts dd{overflow-wrap:anywhere}
.lab-family .project-facts dd{font-size:1rem}
.lab-family .project-facts dt{font-size:.875rem}
.source-thumb>span{min-height:3.2rem;align-items:flex-start}
.source-thumb>span b{flex-shrink:0}
.marketing-result{margin:0 1.25rem 1.2rem;padding:1rem 1.1rem;border-left:3px solid #bd613b;background:#fbf3ee;border-radius:0 .65rem .65rem 0}
.source-details dt{font-size:.8rem}
.geo-board b,.digest-visual li{font-size:1rem;line-height:1.45}
.geo-board small,.digest-visual>div span{font-size:.8rem}
.media-cover{gap:1rem;min-height:16rem}
.media-cover strong{font-size:clamp(1.7rem,2.5vw,2.5rem);line-height:1.15;margin:.6rem 0}
.media-cover small,.media-cover span{font-size:.8rem;line-height:1.5}
.uap-flow{grid-template-columns:repeat(5,minmax(0,1fr))}
.uap-flow button{min-height:0;padding:1.1rem;display:flex;flex-direction:column;gap:.65rem}
.uap-flow button b{margin:.2rem 0;line-height:1.3;overflow-wrap:anywhere;font-size:1rem}
.uap-flow button p{font-size:.8rem;line-height:1.4}
.uap-detail{grid-template-columns:minmax(0,.65fr) minmax(0,1fr) minmax(0,1.5fr);gap:1rem}
.uap-detail>span{font-size:.8rem}.uap-detail p{font-size:1rem;line-height:1.55}
.reconcile-depth{grid-column:1/-1;padding-top:1.1rem;border-top:1px solid var(--line)}
.reconcile-depth summary{cursor:pointer;font-weight:700;font-size:1rem;line-height:1.5}
.grain-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.grain-example>div{background:#f2f5ef;border-radius:.7rem;padding:1rem;display:grid;gap:.65rem}
.grain-example span{font-size:.75rem;letter-spacing:.04em;color:#526146}
.grain-example b{font-size:.9rem;font-weight:500}
.grain-example strong{font-size:1rem;color:#23391e}
.source-dialog{height:min(92dvh,70rem)}
.source-image-stage{display:flex;align-items:center;justify-content:center;min-height:8rem}
.source-image-stage img{max-height:100%;width:100%;height:100%;object-fit:contain}
.image-zoomed .source-image-stage{display:block}
.image-zoomed .source-image-stage img{width:var(--source-native-width,1400px);height:auto;max-height:none;max-width:none}
.source-dialog-bar p{overflow-wrap:anywhere;min-width:0}

.scouting-section{background:#141916;color:#f4f7f0;border:1px solid #334237;border-top:3px solid #ec91c2;border-radius:1.4rem;padding:clamp(1.1rem,3vw,2.5rem);margin-bottom:1.5rem}
.scouting-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:end;margin-bottom:1.75rem}
.scouting-kicker{color:#efa3cf;font-size:.8rem;font-weight:700;letter-spacing:.12em}
.scouting-header h2{font-size:clamp(2.2rem,4.3vw,4.1rem);letter-spacing:-.045em;line-height:1.08;margin:.8rem 0 0}
.scouting-header p{font-size:1rem;line-height:1.65;color:#d4ddd0;margin:0 0 1rem}
.scouting-source{display:block;font-size:.8rem;color:#abb8a7;line-height:1.5}
.scouting-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0 1.5rem}
.scouting-tabs button{border:1px solid #415045;border-radius:.65rem;background:#1b231e;color:#d9e0d4;padding:1rem;text-align:left;cursor:pointer;min-height:48px;font-size:.95rem;line-height:1.4;transition:background .18s ease}
.scouting-tabs button span{font-size:.75rem;color:#a7b4a2;margin-right:.6rem}
.scouting-tabs button[aria-pressed="true"]{background:#f3b5d8;color:#28202a;border-color:#f3b5d8}
.scouting-tabs button[aria-pressed="true"] span{color:#6d3556}
.scouting-tabs button:hover{border-color:#f3b5d8}
.scouting-tabs button:focus-visible,.scouting-method summary:focus-visible{outline:3px solid #f3b5d8;outline-offset:3px}
.scouting-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(1rem,2.5vw,2rem);align-items:start}
.scouting-layout>*{min-width:0}
.scouting-visual{background:#1b251e;border:1px solid #35483a;border-radius:1rem;padding:1.1rem}
.scouting-visual-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;font-size:.75rem;color:#afc1aa;line-height:1.5}
.scouting-visual-head b{font-weight:400}
#scoutPitch{width:100%;height:auto;aspect-ratio:640/430;display:block;margin:.75rem 0}
.scout-field-line{fill:none;stroke:#405245;stroke-width:1.5}
.scout-path{fill:none;stroke:#f395c5;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.scout-node{fill:#f3b5d8;stroke:#141916;stroke-width:4}
.scout-node-symbol{text-anchor:middle;fill:#28202a;font-size:18px;font-weight:700}
.scout-player{text-anchor:middle;fill:#f6f9f2;font-size:23px;font-weight:700}
.scout-role{text-anchor:middle;fill:#bccdb5;font-size:19px}
.scouting-caption{font-size:.85rem;color:#aebeaa;line-height:1.55;margin:.8rem 0 1rem}
.scouting-evidence{border-top:1px solid #405245;padding-top:1rem}
.scouting-evidence>span{font-size:.75rem;color:#f3b5d8;letter-spacing:.08em;font-weight:700}
.scouting-evidence p{font-size:.95rem;color:#d9e5d2;line-height:1.65;margin:.55rem 0 0}
.scouting-status{display:block;color:#f3b5d8;font-size:.8rem;line-height:1.5;margin-bottom:.75rem}
.scouting-story h3{font-size:clamp(1.5rem,2.5vw,2.05rem);line-height:1.18;letter-spacing:-.03em;margin:0 0 1rem}
.scouting-story p{font-size:1rem;line-height:1.65;color:#d3dfcc;margin:.5rem 0 0}
.scouting-story>p{margin-bottom:1.1rem}
.scouting-risk,.scouting-check{border-top:1px solid #39493d;padding-top:1rem;margin-top:1rem}
.scouting-story div>span{display:block;font-size:.75rem;letter-spacing:.07em;font-weight:700;color:#b2c2ab}
.scouting-decision{background:#263b2b;border-left:3px solid #a4d3a4;border-radius:0 .75rem .75rem 0;margin-top:1.2rem;padding:1.1rem}
.scouting-decision>span{color:#bce2bc!important}
.scouting-decision p{color:#eff7e9}
.striker-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.5rem 0}
.striker-comparison>div{padding:1.2rem;border:1px solid #52614b;border-radius:.8rem;background:#202e23}
.striker-comparison>div:nth-child(2){background:#2e252d;border-color:#624657}
.striker-comparison span{font-size:.75rem;font-weight:700;color:#c5d9bb}
.striker-comparison h3{font-size:1.8rem;line-height:1.15;margin:1.3rem 0 .8rem}
.striker-comparison p{font-size:1rem;line-height:1.6;color:#d1deca}
.striker-comparison b{display:block;font-size:.875rem;color:#f3b5d8;border-top:1px solid #55614c;padding-top:.8rem;line-height:1.5}
.scouting-method{border-top:1px solid #405245;margin-top:1.75rem;padding-top:.2rem}
.scouting-method summary{cursor:pointer;padding:1rem 0;font-size:1rem;line-height:1.5;font-weight:600}
.scouting-method-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:2rem;padding:1rem 0}
.scouting-method-grid p{font-size:.95rem;line-height:1.7;color:#c7d7bf}
.scouting-method-grid h3{font-size:1.3rem;margin:0 0 1rem}
.scouting-method-grid .evidence-image{align-self:start}
.scouting-section .epl-strip{margin-top:1.2rem;gap:1.2rem}
.scouting-section .epl-strip p{font-size:.95rem;line-height:1.65}
.scouting-mobile-key{display:none}
.site-header{height:auto;min-height:var(--header-height);padding-block:.6rem}
.site-header nav{flex-wrap:wrap;min-width:0}
.site-header nav a{line-height:1.6}
@media(max-width:1050px){
 .scouting-layout{grid-template-columns:minmax(0,1fr)}
 .scouting-visual{max-width:100%}
 #scoutPitch{max-width:680px;margin-inline:auto}
 .scouting-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.5rem}
 .scouting-status,.scouting-story>h3,.scouting-story>p,.scouting-decision{grid-column:1/-1}
 .scouting-risk,.scouting-check{margin:0}
 .scouting-decision{margin-top:.8rem}
 .uap-flow button{padding:.8rem}
}
@media(max-width:760px){
 .scouting-header,.scouting-method-grid,.scouting-story,.grain-example{grid-template-columns:minmax(0,1fr);gap:1rem}
 .scouting-header h2{font-size:2.4rem}
 .scouting-tabs{grid-template-columns:minmax(0,1fr);gap:.4rem}
 .scouting-tabs button{padding:.75rem 1rem;min-height:44px}
 .scouting-layout{gap:1.5rem}
 .scouting-visual{padding:.8rem}
 .scouting-visual-head{font-size:.75rem}
 .scouting-risk,.scouting-check{grid-column:1/-1}
 .scouting-method-grid{padding-top:.5rem}
 .striker-comparison{grid-template-columns:minmax(0,1fr)}
 .striker-comparison h3{margin:.7rem 0}
 .uap-flow{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:.8rem}
 .uap-flow button{border:0;border-bottom:1px solid var(--line);min-height:90px}
 .uap-flow button:last-child{grid-column:1/-1}
 .uap-flow button p{display:none}
 .uap-detail{grid-template-columns:minmax(0,1fr)}
 .marketing-result{margin:0 1rem 1rem;padding:.9rem}
 .page-hero{padding-block:3.5rem}
 .page-hero h1{font-size:clamp(2.5rem,10vw,4rem);letter-spacing:-.045em}
 .section-title h2{font-size:clamp(2rem,8vw,3rem)}
 .source-gallery{gap:.5rem}
 .source-thumb>span{font-size:.875rem;padding:.65rem;line-height:1.5}
 .source-dialog{height:92dvh}
}
@media(max-width:480px){
 .scouting-mobile-key{display:grid;gap:.4rem;margin:.5rem 0 1rem}
 .scouting-mobile-key>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .75rem;font-size:.875rem;border-bottom:1px solid #3e5141;padding:.4rem 0}
 .scouting-mobile-key span{color:#b8cdb0}
 .scout-player,.scout-role{display:none}
 .scout-node-symbol{font-size:25px}
 .scout-node{r:26px}
 .source-gallery{grid-template-columns:minmax(0,1fr)}
 .source-thumb:first-child{grid-column:auto}
 .scouting-tabs button{font-size:.875rem}
 .uap-flow{grid-template-columns:minmax(0,1fr)}
 .uap-flow button{min-height:0;flex-direction:row;align-items:center;gap:.75rem}
 .uap-flow button:last-child{grid-column:auto}
}

/* v14: readable process cards and concrete project demonstrations. */
.process-grid summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;list-style:none;position:relative;line-height:1.5}
.process-grid summary::-webkit-details-marker{display:none}
.process-grid summary>span{display:block;grid-column:1;position:static;line-height:1.5;max-width:none}
.process-grid summary h3{display:block;grid-column:1;position:static;max-width:none;margin:0;line-height:1.35}
.process-grid summary::after{content:'+';grid-column:2;grid-row:1/3;align-self:center;font-size:1.5rem;color:var(--blue)}
.process-grid details[open]>summary::after{content:'−'}
.process-grid details[open]>summary{margin-bottom:1.2rem}
.survey-visual{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem;padding:2.5rem;align-content:center}
.survey-ring{width:9.5rem;height:9.5rem;border-width:.85rem;max-width:100%}
.survey-ring span{font-size:.7rem;text-align:center}
.survey-tracks{width:100%;min-width:0;display:grid;gap:2rem}
.survey-tracks>div>small{font-size:.72rem;letter-spacing:.1em;color:#e0e6ff}
.survey-tracks p{font-size:.85rem;line-height:1.5;color:#e0e6ff;margin:.7rem 0 0}
.survey-pipeline{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem;margin:.6rem 0 0}
.survey-pipeline span{min-width:0;width:100%;padding:.65rem .3rem;font-size:.85rem}
.survey-pipeline b{font-size:1.3rem}
.survey-visual>small{position:static;grid-column:1/-1;text-align:center;font-size:.8rem;letter-spacing:.04em;margin-top:.6rem}
.live-visual{padding:2.2rem 1.5rem;align-content:center;gap:1.8rem}
.live-frame{width:min(26rem,100%)}
.live-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;width:min(28rem,100%);gap:1rem;margin:0}
.live-flow span{font-size:1rem;padding:.65rem .8rem;text-align:center;color:#e2e9dc}
.live-flow b{font-size:1.7rem;font-weight:400}
.geo-board .geo-main{gap:1.3rem;padding:1.2rem}
.geo-board .geo-main b{font-size:1.4rem;line-height:1.3;margin:0}
.geo-board .geo-main span{font-size:.9rem;opacity:1;line-height:1.5}
.geo-board>div{gap:.7rem;min-width:0}
.media-cover p{color:#e0dcf3;font-size:.95rem;margin:0;line-height:1.65}
.uap-evidence-panels>div[data-uap-evidence="fit"] h3{font-size:1.6rem;line-height:1.25;margin:.6rem 0 1rem}
.distribution-crop{width:100%;aspect-ratio:1628/1140;overflow:hidden;background:white}
.distribution-crop img{display:block;width:100%;height:auto;max-width:none}
.news-demo,.digest-demo{margin:1.5rem 0;padding:1.1rem;border:1px solid #c9ded0;border-radius:1rem;background:#f2f8f3;min-width:0}
.demo-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.6rem 1rem;margin-bottom:1rem}
.demo-heading small{font-size:.7rem;letter-spacing:.07em;font-weight:700;color:#326247}
.demo-heading>span{font-size:.8rem;color:#53675a}
.news-inputs{display:grid;gap:.6rem}
.news-inputs>div{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;border:1px solid #d7e3d9;border-radius:.6rem;background:#fff;padding:.8rem 1rem}
.news-inputs span{font-size:.72rem;color:#596f60}
.news-inputs b{font-size:.95rem;line-height:1.45;font-weight:600}
.news-inputs small{font-size:.75rem;color:#617065;line-height:1.5}
.news-inputs em{font-size:.75rem;color:#2b6544;font-style:normal}
.news-inputs .news-repeat{background:#edf0e9;border-style:dashed}
.news-repeat em{color:#796644}
.news-output{padding:1rem;border:1px solid #b3ceb9;border-radius:.6rem;background:white}
.output-label{font-size:.7rem;letter-spacing:.08em;color:#326247}
.news-output>div{display:grid;grid-template-columns:1.6rem minmax(0,1fr) auto;align-items:start;gap:.75rem;border-bottom:1px solid #d7e3d9;padding:1rem 0}
.news-output>div>strong{font-size:1rem;color:#58916a;font-weight:500}
.news-output>div>p{font-size:.95rem;line-height:1.5;margin:0}
.news-output p small{display:block;font-size:.8rem;color:#617065;margin-top:.4rem}
.news-output>div>b{font-size:.85rem;font-variant-numeric:tabular-nums;color:#326247}
.news-demo>.demo-note,.digest-demo>.demo-note{margin-bottom:0}
.digest-sources{display:flex;flex-wrap:wrap;gap:.4rem}
.digest-sources>span{padding:.45rem .7rem;border:1px solid #c5d9cb;border-radius:2rem;font-size:.8rem;background:white}
.digest-selection{padding:1.1rem .1rem;display:grid;gap:.35rem}
.digest-selection>b{font-size:.9rem;font-weight:600}
.digest-selection>span{font-size:.8rem;color:#596f60;line-height:1.6}
.digest-message{padding:1.2rem;border:1px solid #c5d9cb;background:#fff;border-radius:.2rem 1rem 1rem}
.digest-message>small{font-size:.7rem;letter-spacing:.09em;color:#47815a}
.digest-message h4{font-size:1.15rem;line-height:1.35;margin:.7rem 0 1rem}
.digest-message>div+div{border-top:1px solid #dce6de;margin-top:1rem;padding-top:1rem}
.digest-message b{font-size:.9rem;font-weight:600}
.digest-message p{font-size:.9rem;line-height:1.6;margin:.4rem 0}
.digest-message div>span{font-size:.75rem;color:#548365}
.record-demo,.analysis-lenses{margin:1.2rem 0;padding:1.1rem;border:1px solid #d1dfd4;background:#f6faf5;border-radius:.8rem}
.record-demo>span,.analysis-lenses>span{font-size:.7rem;letter-spacing:.07em;color:#326247;display:block;margin-bottom:.8rem}
.record-demo>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem;border-top:1px solid #dce6de;padding:.65rem 0}
.record-demo b{font-size:.85rem;font-weight:600;line-height:1.5}
.record-demo small{font-size:.8rem;color:#617065;line-height:1.5}
.record-demo>p{font-size:.85rem;line-height:1.6;margin:.7rem 0 0;color:#53675a}
.analysis-lenses>div{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding:.8rem 0;border-top:1px solid #dce6de}
.analysis-lenses b{font-size:.9rem;color:#326247}
.analysis-lenses p{margin:0;font-size:.9rem;line-height:1.55}
.rpg-window{margin:1.4rem 0;background:#211d2b;color:#f0e9fb;border-radius:.8rem;border:1px solid #514461;overflow:hidden}
.rpg-window-bar{display:flex;align-items:center;gap:.35rem;padding:.8rem 1rem;background:#302a3c}
.rpg-window-bar i{width:6px;height:6px;border-radius:50%;background:#9c83b4}
.rpg-window-bar>span{margin-left:.4rem;font-size:.75rem;color:#c5b5d7}
.rpg-state{display:grid;gap:.65rem;margin:1.2rem;padding:1rem;border-left:2px solid #c59ae8;background:#2d2638}
.rpg-state>span{font-size:.7rem;letter-spacing:.1em;color:#bda4d3}
.rpg-state>b{font-size:.95rem;font-weight:500;line-height:1.5}
.rpg-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.2rem}
.rpg-actions>span{font-size:.8rem;color:#dbc2f3;background:#362a45;border:1px solid #5c426e;border-radius:.5rem;padding:.6rem .7rem}
.rpg-window>p{font-size:.9rem!important;line-height:1.6;color:#d2c3e0!important;margin:1.2rem}
.rpg-window>small{display:block;margin:1.2rem;font-size:.75rem;color:#bda4d3}
.marketing-page .page-hero h1{font-size:clamp(2.5rem,5.2vw,5.4rem);line-height:1.08;letter-spacing:-.045em}
.city-takeaway{margin:0 1rem 1.2rem;padding:1.2rem;border:1px solid #e8d592;background:#fffbed;border-radius:.8rem}
.city-takeaway>span{font-size:.72rem;letter-spacing:.06em;color:#7d6428}
.city-takeaway h3{font-size:1.35rem;line-height:1.3;margin:.65rem 0 1rem}
.city-takeaway>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.city-takeaway section{border-top:2px solid #dfc267;padding-top:.8rem}
.city-takeaway section:nth-child(2){border-color:#9ea9ad}
.city-takeaway b{font-size:.95rem;font-weight:600}
.city-takeaway p{font-size:.9rem;line-height:1.6;margin:.4rem 0}
.city-takeaway>small{display:block;font-size:.8rem;color:#736b52;line-height:1.6;margin-top:1rem}
#cities .source-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
#cities .source-thumb img{aspect-ratio:16/9;object-fit:contain}
@media(max-width:1100px){.survey-visual{grid-template-columns:minmax(0,1fr);gap:1.5rem;padding:2rem}.survey-tracks{max-width:25rem}.survey-ring{width:8rem;height:8rem}.survey-tracks{gap:1.4rem}}
@media(max-width:760px){.process-grid{grid-template-columns:minmax(0,1fr)}.process-grid details{padding:1.1rem}.live-flow{gap:.5rem}.live-flow span{font-size:.9rem;padding:.65rem .5rem}.live-flow b{font-size:1.3rem}.record-demo>div{grid-template-columns:minmax(0,1fr);gap:.25rem}.city-takeaway>div{grid-template-columns:minmax(0,1fr)}.news-demo,.digest-demo{padding:.85rem}.analysis-lenses>div{grid-template-columns:minmax(0,1fr);gap:.4rem}}

/* v15: one calculation perimeter and compact source evidence. */
.composition-demo{grid-column:1/-1;border:1px solid #dce2d6;background:#fff;border-radius:1.2rem;padding:clamp(1rem,3vw,2rem);margin-top:.6rem;min-width:0}
.composition-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;align-items:end}
.composition-heading h3{font-size:clamp(1.5rem,2.7vw,2.2rem);line-height:1.2;margin:.7rem 0 0;letter-spacing:-.03em}
.composition-heading>p{font-size:1rem;line-height:1.6;margin:0}
.composition-controls{display:flex;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding:1.5rem 0 .5rem}
.composition-controls>div>span{font-size:.875rem;font-weight:600;color:#526146}
.composition-controls .demo-controls{margin:.6rem 0}
.composition-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0 1.4rem}
.composition-metrics>div{background:#f2f5ee;border-radius:.7rem;padding:1rem;min-width:0}
.composition-metrics span{font-size:.875rem;line-height:1.5;display:block;color:#526146}
.composition-metrics b{display:block;font-size:clamp(1.5rem,3vw,2.4rem);line-height:1.2;margin-top:.6rem;font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.composition-table-wrap{overflow-x:auto;min-width:0}
.composition-table{width:100%;border-collapse:collapse;table-layout:fixed}
.composition-table th,.composition-table td{padding:.85rem .5rem;border-bottom:1px solid #e4e8de;text-align:left;vertical-align:middle;font-size:.95rem}
.composition-table th:first-child{width:34%}
.composition-table th:nth-child(2){width:25%}
.composition-table thead th{font-size:.875rem;font-weight:500;color:#526146;line-height:1.4}
.composition-table caption,.news-evidence caption{text-align:left;font-size:.875rem;color:#526146;line-height:1.5;margin-bottom:.75rem}
.composition-table th b{font-size:.95rem;font-weight:600;display:block}
.composition-table th small{font-size:.8rem;display:block;color:#68755f;font-weight:400;margin-top:.3rem}
.composition-table td{font-variant-numeric:tabular-nums}
.composition-table td:last-child{position:relative}
.composition-track{display:inline-block;vertical-align:middle;width:calc(100% - 5rem);height:.5rem;background:#e8ede1;border-radius:1rem;overflow:hidden;margin-right:.75rem}
.composition-track i{display:block;background:var(--blue);height:100%;border-radius:1rem}
.composition-table td strong{font-size:.875rem;font-weight:600}
.composition-conclusion{padding:1rem 1.2rem;background:#edf1ff;border-left:3px solid var(--blue);border-radius:0 .65rem .65rem 0;color:#283969!important;line-height:1.6;margin:1rem 0}
.news-evidence{margin:1.3rem 0;padding:1.1rem;border:1px solid #c9ded0;background:#f2f8f3;border-radius:.8rem}
.news-evidence h4{font-size:1.25rem;line-height:1.35;margin:.75rem 0 1rem;font-weight:600;letter-spacing:-.025em}
.news-evidence table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.news-evidence th,.news-evidence td{font-size:.875rem;text-align:left;padding:.65rem .3rem;border-bottom:1px solid #d2e0d4}
.news-evidence th{font-weight:500;color:#326247}
.news-evidence p{font-size:.95rem;line-height:1.6;margin:1rem 0 .6rem}
.news-evidence>small{font-size:.8rem;line-height:1.6;display:block;color:#526b59}
.lab-card .news-explainer{padding:0}
.lab-card .news-explainer .news-demo{margin:1rem 0}
.news-inputs span,.news-inputs small,.news-inputs em,.digest-message div>span,.record-demo small,.analysis-lenses b{font-size:.875rem}
.demo-controls button:focus-visible,.uap-flow button:focus-visible,.forecast-case:focus-visible,.source-thumb:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.forecast-case:focus-visible{outline-color:var(--lime)}
@media(max-width:760px){.composition-heading{grid-template-columns:minmax(0,1fr);gap:1rem}.composition-controls{gap:.6rem}.composition-metrics{grid-template-columns:minmax(0,1fr)}.composition-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:1rem}.composition-metrics b{margin:0;font-size:1.6rem}.composition-track{display:block;width:100%;margin:0 0 .4rem}.composition-table th,.composition-table td{padding:.75rem .35rem}.composition-table th:first-child{width:39%}.composition-table th:nth-child(2){width:29%}.composition-conclusion{padding:.85rem}.news-evidence{padding:.85rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Public contact links. */
.site-footer .footer-contacts{grid-column:1/-1;width:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4rem 2rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);text-transform:none;letter-spacing:0}
.footer-contacts a{display:inline-flex;align-items:center;gap:.6rem;min-height:44px;font-size:.95rem;line-height:1.5;color:var(--blue);overflow-wrap:anywhere;max-width:100%}
.footer-contacts a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-contacts a:focus-visible{outline:2px solid var(--blue);outline-offset:4px;border-radius:3px}
@media(max-width:760px){.site-footer .footer-contacts{justify-content:flex-start;gap:.3rem 1.5rem}.footer-contacts a{font-size:.875rem}}

#cities>.source-details>.source-thumb{display:block;width:100%;margin-top:1rem}

.header-contacts{display:flex;align-items:center;justify-self:end;gap:.5rem;min-width:0}
.header-contacts a{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:44px;padding:.35rem .65rem;font-size:.875rem;line-height:1.4;border:1px solid var(--line);border-radius:999px;color:var(--ink);white-space:nowrap}
.header-contacts a:hover{background:#edf1ff;border-color:var(--blue);color:var(--blue)}
.header-contacts a:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:760px){.site-header .header-contacts{grid-column:1/-1;justify-self:end;gap:.5rem;padding-top:.25rem}.header-contacts a{min-height:36px;font-size:.8rem;padding:.25rem .7rem}}

/* Keep each marketing row aligned while content remains naturally sized. */
.source-card>.marketing-result{margin-top:auto}
.source-card>.source-details{flex-shrink:0}
