/* Templates of the Northline design system: home, Ripple, Atlas, Pulse, sharing, services and report pages. Everything is scoped to main.wide so it cannot disturb the long-form pages. */
.wide h1,.wide h2,.wide h3,.wide h4,.wide p,.wide ol,.wide ul,.wide dl,.wide dd,.wide figure,.wide blockquote,.wide fieldset{margin:0;padding:0;border:0}
.wide fieldset{min-width:0}
.wide .switch,.wide .episodes{position:relative}
.wide ol,.wide ul{list-style:none}.wide li{margin:0}
.wide h2{font:360 clamp(2.1rem,4.3vw,4rem)/1.04 var(--serif-head);letter-spacing:-.02em;font-variation-settings:"opsz" 96}
.wide h3{font:420 1.34rem/1.2 var(--serif);letter-spacing:-.008em;font-variation-settings:"opsz" 30}
.wide .only-narrow{display:none}
.wide ol.steps{counter-reset:none}.wide ol.steps li{padding:0;counter-increment:none}.wide ol.steps li::before{content:none;display:none}
.wide .sec-head{border-top:0;padding-top:0;margin-top:0;margin-bottom:clamp(28px,3.5vw,52px);max-width:62rem}.wide .sec-head .kicker{margin-bottom:12px}
.wide .thread{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:1}.wide .thread path{fill:none;stroke:var(--signal);stroke-width:1.6}.wide .thread circle{fill:var(--paper);stroke:var(--hair-2);stroke-width:1.4;transition:fill .3s,stroke .3s}.wide .thread circle.on{fill:var(--signal);stroke:var(--signal)}
/* the chart language */
.wide .chart{display:block;width:100%;height:auto;overflow:visible}
.wide .chart .grid line{stroke:var(--hair);stroke-width:1;vector-effect:non-scaling-stroke}
.wide .chart .grid line.zero{stroke:var(--hair-2)}
.wide .chart .ylabels text,.wide .chart .xaxis text{fill:var(--muted);font-size:13px;font-family:var(--sans);font-variant-numeric:tabular-nums}
.wide .chart .ylabels text{paint-order:stroke;stroke:var(--paper);stroke-width:7px;stroke-linejoin:round}
@media screen and (max-width:900px){.wide .chart.pre text,.wide .d-map .map-label{display:none}}
.wide .chart .xaxis text{text-anchor:middle}
.wide .chart .xaxis text.first{text-anchor:start}
.wide .chart .xaxis line{stroke:var(--hair-2);vector-effect:non-scaling-stroke}
.wide .chart.no-x .xaxis{display:none}
.wide .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.wide .ln.signal{stroke:var(--signal);stroke-width:2.5}
.wide .ln.ink{stroke:var(--ink-2)}
.wide .ln.context{stroke:var(--hair-2);stroke-width:1}
.wide .ln.corrline{stroke-dasharray:1 5}
.wide .dot.signal{fill:var(--signal)}
.wide .dot.ink{fill:var(--ink-2)}
.wide .ring{fill:var(--paper)}
.wide .endv{font:600 15px var(--sans);fill:var(--ink);font-variant-numeric:tabular-nums}
.wide .endn{font:400 12.5px var(--sans);fill:var(--muted)}
.wide .endn.strong{fill:var(--ink-2);font-size:13px}
.wide .leader{stroke:var(--hair-2);stroke-width:1;vector-effect:non-scaling-stroke}
.wide .band rect{fill:var(--paper-2)}
.wide .band text{font:500 13px var(--sans);fill:var(--ink-2);paint-order:stroke;stroke:var(--paper);stroke-width:3.5px;stroke-linejoin:round}
.wide .cursor line{stroke:var(--ink);stroke-width:1;vector-effect:non-scaling-stroke}
.wide .cursor circle{stroke:var(--paper);stroke-width:2}
.wide .spark{overflow:visible}
.wide .spark path{fill:none;stroke:var(--ink-2);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.wide .spark circle{fill:var(--ink-2)}
.wide .sample{flex:none;stroke:var(--ink);overflow:visible}
.wide .tv{margin-top:12px;font-size:14px}
.wide .tv summary{cursor:pointer;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.wide .tv-scroll{overflow:auto;border-block:1px solid var(--hair);margin-top:8px}
.wide details .tv-scroll{max-height:320px}
.wide .tv table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.wide .tv caption{text-align:left;color:var(--muted);padding:8px 0;font-size:13.5px}
.wide .tv th,.wide .tv td{padding:5px 10px 5px 0;text-align:left;font-weight:400;border-bottom:1px solid var(--hair);white-space:nowrap}
.wide .tv thead th{font-weight:600;position:sticky;top:0;background:var(--paper)}
/* home */
.wide .hero{padding:clamp(22px,4.2vh,52px) var(--gut) 0}
.wide .hero h1{position:relative;z-index:2;font:330 clamp(46px,8.05vw,146px)/.985 var(--serif-hero);letter-spacing:-.031em;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;max-width:10.6em;text-wrap:balance}
.wide .hero h1 em{font-style:italic;font-weight:300;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 1}
.wide .hero-fig{position:relative;z-index:1;margin:clamp(-46px,-2.6vw,-12px) calc(var(--gut)*-1) 0;pointer-events:none}
.wide .hero-fig figcaption{padding:2px var(--gut) 0;font-size:13.5px;color:var(--muted)}
.wide .hero-chart{width:100%;height:auto;overflow:visible}
.wide .hero-axis line{stroke:var(--hair-2);vector-effect:non-scaling-stroke}
.wide .hero-axis text{font:400 13px var(--sans);fill:var(--muted);text-anchor:middle;font-variant-numeric:tabular-nums}
.wide .the-path{fill:none;stroke:var(--signal);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.wide .endv.big{font-size:26px;letter-spacing:-.01em}
@media (prefers-reduced-motion:no-preference){
.wide .hero-chart .the-path{stroke-dasharray:1 1;stroke-dashoffset:1;animation:draw 1.9s cubic-bezier(.65,.02,.3,1) .15s forwards}
.wide .hero-note{opacity:0;animation:fadein .5s ease 1.7s forwards}
.wide .arrived .hero-chart .the-path{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
.wide .arrived .hero-note{animation:none;opacity:1}
}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadein{to{opacity:1}}
.wide .hero-foot{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);align-items:end;padding:18px 0 clamp(36px,6vh,72px)}
.wide .trigger{grid-column:1/7;font:400 clamp(19px,1.55vw,23px)/1.4 var(--serif);font-variation-settings:'opsz' 28,'SOFT' 0,'WONK' 0;color:var(--ink);max-width:34em}
.wide .hero-go{grid-column:7/9;align-self:end;padding-bottom:4px}
.wide .place-search{grid-column:9/13}
.wide .place-search label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
.wide .field{display:flex;border-bottom:2px solid var(--ink)}
.wide .field input{flex:1;min-width:0;min-height:44px;background:none;border:0;padding:0;font-size:18px;outline-offset:2px}
.wide .field input::placeholder{color:var(--muted);opacity:1}
.wide .field button,.wide button[type=submit]{min-height:44px;background:none;border:0;padding:0 2px 0 14px;font-weight:600;cursor:pointer}
.wide .place-search .fine{margin-top:6px;min-height:1.5em}
.wide .door,.wide .places,.wide .pulse,.wide .commission,.wide .whole,.wide .timing,.wide .reach,.wide .numbers,.wide .vital,.wide .built,.wide .how,.wide .receive{padding:clamp(48px,8vw,120px) var(--gut) 0}
.wide .hero-what{position:relative;z-index:2;max-width:46rem;margin:clamp(12px,1.4vw,20px) 0 clamp(14px,2.8vw,46px);font:400 clamp(17px,1.35vw,20px)/1.4 var(--sans);color:var(--ink-2)}
.wide .latest{padding:clamp(48px,8vw,120px) var(--gut) 0}
.wide .latest-list{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.wide .latest-list li{border-left:1px solid var(--hair)}
.wide .latest-list li:first-child{border-left:0}
.wide .latest-list a{display:flex;flex-direction:column;gap:10px;height:100%;padding:16px clamp(10px,1.4vw,22px) 18px;text-decoration:none;transition:background .2s}
.wide .latest-list li:first-child a{padding-left:0}
.wide .latest-list a:hover{background:var(--paper-2)}
.wide .latest-list h3{font-size:clamp(21px,1.85vw,27px);line-height:1.12}
@media (max-width:760px){.wide .latest-list{grid-template-columns:1fr}.wide .latest-list li{border-left:0;border-top:1px solid var(--hair)}.wide .latest-list li:first-child{border-top:0}.wide .latest-list a{padding-left:0}}
.wide .door-chain{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ink)}
.wide .door-chain li{border-left:1px solid var(--hair)}
.wide .door-chain li:first-child{border-left:0}
.wide .door-chain a{display:flex;flex-direction:column;gap:12px;height:100%;padding:16px clamp(10px,1.4vw,22px) 18px;text-decoration:none;transition:background .2s}
.wide .door-chain li:first-child a{padding-left:0}
.wide .door-chain a:hover{background:var(--paper-2)}
.wide .door-chain li:first-child a:hover{background:none}
.wide .dc-n{font:600 14px var(--sans);font-variant-numeric:tabular-nums}
.wide .door-chain h3{font-size:clamp(21px,1.85vw,27px);line-height:1.12;min-height:2.3em}
.wide .dc-ev{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink-2);margin-top:auto;line-height:1.25}
.wide .door .note{margin-top:18px}
.wide .places-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);align-items:start}
.wide .places-grid>div{grid-column:1/8}
.wide .map-fig{grid-column:8/13;position:sticky;top:calc(var(--mast) + 24px)}
.wide .gazetteer{border-top:2px solid var(--ink)}
.wide .gazetteer li{border-bottom:1px solid var(--hair)}
.wide .gazetteer li[hidden]{display:none}
.wide .gazetteer a{display:flex;align-items:center;gap:12px;min-height:49px;text-decoration:none;padding:4px 0}
.wide .gazetteer a:hover .g-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.wide .g-name{font:430 21px/1.2 var(--serif);font-variation-settings:'opsz' 30,'SOFT' 0,'WONK' 0;letter-spacing:-.008em}
.wide .g-prov{font-size:14px;color:var(--muted);white-space:nowrap}
.wide .g-leader{flex:1;min-width:16px;height:1px;margin-top:8px;background-image:radial-gradient(circle,var(--hair-2) 1px,transparent 1.2px);background-size:7px 3px;background-repeat:repeat-x}
.wide .g-val{font-weight:600;font-variant-numeric:tabular-nums;min-width:3.3em;text-align:right}
.wide .gazetteer li:first-child .g-name{font-weight:560}
.wide .gazetteer li:first-child .spark path{stroke:var(--signal)}
.wide .gazetteer li:first-child .spark circle{fill:var(--signal)}
.wide .places .fine{margin-top:10px}
/* the map */
.wide .map-wrap{position:relative}
.wide .map-wrap img{display:block;width:100%;height:auto}
.wide .map-over{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wide .map-over .here-prov{fill:var(--mark);stroke:var(--ink);stroke-width:1.1;vector-effect:non-scaling-stroke}
.wide .map-over .pt{fill:var(--paper);stroke:var(--ink);stroke-width:1.4;vector-effect:non-scaling-stroke}
.wide .map-over .city.here .pt{fill:var(--signal);stroke:var(--paper);stroke-width:2}
.wide .map-over .city.hot .pt,.wide .map-over .city.pinned .pt{fill:var(--ink);stroke:var(--paper)}
.wide .map-over .hit{fill:transparent;cursor:pointer}
.wide .map-label{font:600 26px var(--sans);fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:6px;stroke-linejoin:round}
/* pulse */
.wide .pulse{display:block}
.wide .pulse-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);row-gap:40px;align-items:start}
.wide .ledger{grid-column:1/7;border-collapse:collapse;width:100%;border-top:2px solid var(--ink)}
.wide .ledger th,.wide .ledger td{padding:9px 10px 9px 0;border-bottom:1px solid var(--hair);text-align:left;font-weight:400;vertical-align:middle}
.wide .ledger thead th{font-size:13px;color:var(--muted);padding-block:8px}
.wide .ledger thead th.num{text-align:right}
.wide .ledger tbody th{font-weight:500}
.wide .ledger td.big{font:600 25px/1.15 var(--sans);letter-spacing:-.01em;font-variant-numeric:proportional-nums;white-space:nowrap}
.wide .ledger .muted{font-size:14px;padding-left:12px}
.wide .sparkcell{width:130px;padding-right:0}
.wide .upcoming{grid-column:7/10}
.wide .upcoming h3,.wide .brief h3{font-size:22px;padding-bottom:9px;border-bottom:2px solid var(--ink);margin-bottom:0}
.wide .upcoming li{display:grid;grid-template-columns:96px 1fr;column-gap:10px;padding:8px 0;border-bottom:1px solid var(--hair);font-size:15px;line-height:1.3}
.wide .upcoming time{font-weight:600;font-variant-numeric:tabular-nums;grid-row:span 2}
.wide .upcoming .muted{font-size:13.5px}
.wide .upcoming .fine{margin-top:10px}
.wide .brief{grid-column:10/13}
.wide .brief p:not(.form-done){font-size:15px;line-height:1.4;margin:10px 0 14px;color:var(--ink-2)}
.wide .brief label{font-weight:600;font-size:14px}
.wide .form-done[hidden]{display:none}
.wide .form-done{margin-top:10px;font-size:14px;font-weight:500;background:var(--mark);padding:.1em .3em;line-height:1.7;display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone}
/* commission */
.wide .commission{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);align-items:center;padding-bottom:clamp(56px,8vw,120px)}
.wide .com-text{grid-column:1/8}
.wide .com-text .kicker{margin-bottom:12px}
.wide .com-text .lede{margin:18px 0 18px}
.wide .com-text .plain-list{margin-bottom:26px;max-width:34em;border-bottom:1px solid var(--hair)}
.wide .paper-thumb{grid-column:9/13;display:flex;flex-direction:column;gap:12px;aspect-ratio:8.5/11;background:var(--sheet);padding:9% 9% 8%;box-shadow:0 1px 1px rgba(30,25,15,.08),0 18px 40px -18px rgba(30,25,15,.28);text-decoration:none;transform:rotate(1.3deg);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.wide .paper-thumb:hover{transform:rotate(0) translateY(-4px)}
.wide .pt-k{font:400 clamp(24px,2.5vw,36px)/1.06 var(--serif);letter-spacing:-.015em;font-variation-settings:'opsz' 72,'SOFT' 0,'WONK' 0}
.wide .pt-rule{height:2px;background:var(--signal);width:42%}
.wide .pt-s{font-size:14px;line-height:1.42;color:var(--ink-2)}
.wide .pt-tag{margin-top:auto;font-size:12.5px;color:var(--ink-2)}
/* ripple */
.wide .r-hero{padding:clamp(28px,5vw,72px) var(--gut) 0}
.wide .r-hero h1{font:340 clamp(44px,6.5vw,104px)/1 var(--serif-hero);letter-spacing:-.028em;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;max-width:13.5em;margin:12px 0 26px;text-wrap:balance}
.wide .r-hero .note{margin-top:14px}
.wide .r-line{margin:clamp(14px,2vw,28px) calc(var(--gut)*-1) 0;pointer-events:none}
.wide .sheet[hidden]{display:none}
.wide .pg-rule{height:8px;margin-top:0}
@media (prefers-reduced-motion:no-preference){
html{scroll-behavior:smooth}
}
.wide .howto{padding:clamp(36px,5vw,64px) var(--gut) 0}
.wide .howto h2{font-size:clamp(24px,2.2vw,32px);font-variation-settings:'opsz' 48,'SOFT' 0,'WONK' 0}
.wide .howto>p{color:var(--ink-2);margin:6px 0 18px}
.wide .ev-legend{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--col-gap);border-top:2px solid var(--ink)}
.wide .ev-legend li{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair);font-size:14px;line-height:1.35}
.wide .ev-legend .sample{margin-top:6px}
.wide .ev-legend b{display:block;font-weight:600;font-size:15px}
.wide .ev-legend span{color:var(--ink-2)}
.wide .controls{padding:clamp(28px,4vw,48px) var(--gut) 0}
.wide .episodes{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.wide .episodes legend{font-weight:600;font-size:15px;float:left;width:100%;padding:10px 0 2px}
.wide .episodes label{flex:1 1 200px;cursor:pointer;display:block;min-height:64px}
.wide .episodes input{position:absolute;opacity:0;width:1px;height:1px}
.wide .episodes label span{display:block;padding:9px 16px 10px 0;border-top:2px solid transparent;margin-top:-1px}
.wide .episodes b{display:block;font:430 19px/1.25 var(--serif);font-variation-settings:'opsz' 30,'SOFT' 0,'WONK' 0}
.wide .episodes i{font-style:normal;font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.wide .episodes input:checked+span{border-top-color:var(--signal)}
.wide .episodes input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.wide .story{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);padding:clamp(24px,3vw,40px) var(--gut) 0;align-items:start}
.wide .steps{grid-column:1/6;grid-row:1}
.wide .stage{grid-column:6/13;grid-row:1;position:sticky;top:calc(var(--mast) + 12px);height:calc(100vh - var(--mast) - 24px);height:calc(100dvh - var(--mast) - 24px);display:flex;flex-direction:column;min-height:440px}
.wide .chain{position:relative;flex:none}
.wide .chain svg{width:100%;height:clamp(46px,8vh,84px);overflow:visible}
.wide .arc{fill:none;stroke:var(--hair-2);stroke-width:1.6;vector-effect:non-scaling-stroke;transition:stroke .3s}
.wide .arc.corr{stroke-width:1.6}
.wide .arc.on{stroke:var(--signal);stroke-width:2.2}
.wide .chain .gap{stroke:var(--hair-2);stroke-dasharray:2 7;stroke-width:1;vector-effect:non-scaling-stroke}
.wide .chain ol{display:grid;grid-template-columns:repeat(5,1fr);margin-top:-1px}
.wide .chain li{text-align:center}
.wide .chain a{display:flex;flex-direction:column;align-items:center;gap:5px;min-height:44px;text-decoration:none;font-size:13.5px;line-height:1.18;color:var(--ink-2)}
.wide .chain i{display:block;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-2);margin-top:-7px;transition:background .25s,border-color .25s}
.wide .chain li.on a{color:var(--ink);font-weight:600}
.wide .chain li.on i{background:var(--signal);border-color:var(--signal)}
.wide .chain li.past i{background:var(--ink-2)}
.wide .stage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:clamp(6px,1.6vh,18px);flex:none}
.wide .stage-k{font-size:13.5px;color:var(--muted)}
.wide .stage-t{font:430 clamp(18px,1.5vw,22px)/1.2 var(--serif);font-variation-settings:'opsz' 30,'SOFT' 0,'WONK' 0;max-width:24em}
.wide .stage-v{font:600 clamp(30px,3vw,44px)/1 var(--sans);letter-spacing:-.015em;white-space:nowrap;text-align:right}
.wide .stage-v span{display:block;font:400 13.5px/1.4 var(--sans);letter-spacing:0;color:var(--muted);font-variant-numeric:tabular-nums}
.wide .stage-chart{flex:1;min-height:0;margin-top:6px;cursor:crosshair;touch-action:pan-y;outline-offset:4px}
.wide .stage-chart .chart{height:100%;width:100%}
.wide .stage-note{flex:none;font-size:13px;line-height:1.35;color:var(--ink-2);padding:6px 0 0;border-top:1px solid var(--hair)}
.wide .step{padding:clamp(40px,12vh,120px) 0;border-top:1px solid var(--hair)}
.wide .step:first-child{border-top:0;padding-top:clamp(20px,6vh,60px)}
.wide .step:last-child{padding-bottom:clamp(40px,14vh,160px)}
.wide .step-n{font-size:14px;color:var(--muted);margin-bottom:6px}
.wide .step h3{font:360 clamp(32px,3.2vw,48px)/1.06 var(--serif);letter-spacing:-.02em;font-variation-settings:'opsz' 96,'SOFT' 0,'WONK' 0}
.wide .step .plain{font-size:18px;color:var(--ink-2);margin-top:8px}
.wide .step-chart{display:none;margin-top:18px}
.wide .computed{margin-top:18px;font:400 clamp(19px,1.45vw,21px)/1.45 var(--serif);font-variation-settings:'opsz' 24,'SOFT' 0,'WONK' 0}
.wide .tag{display:block;font:600 13px/1.5 var(--sans);color:var(--ink-2);margin-bottom:2px}
.wide .slip{margin-top:26px;border-top:2px solid var(--ink);padding-top:10px}
.wide .slip.corr{border-top:1px dotted var(--ink-2);margin-top:22px}
.wide .slip-class{display:flex;align-items:center;gap:12px}
.wide .slip h4{font:600 17px/1.3 var(--sans)}
.wide .slip-plain{font-size:15px;color:var(--ink-2);margin-top:2px}
.wide .slip-status{font-size:14.5px;line-height:1.5;margin-top:10px}
.wide .flag{font-weight:600;background:var(--mark);padding:.06em .28em;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.wide .draft{margin-top:14px;padding-left:16px;border-left:2px dotted var(--ink-2)}
.wide .draft p{font:400 17.5px/1.45 var(--serif);font-variation-settings:'opsz' 18,'SOFT' 0,'WONK' 0}
.wide .draft footer{font-size:13px;color:var(--muted);margin-top:4px}
.wide .slip dl{margin-top:12px;font-size:14.5px;line-height:1.45}
.wide .slip dl>div{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:7px 0;border-top:1px solid var(--hair)}
.wide .slip dt{font-weight:600}
.wide .slip dd{color:var(--ink-2);overflow-wrap:anywhere}
.wide .slip q{display:block;margin-top:3px;font:italic 400 15px/1.4 var(--serif);font-variation-settings:'opsz' 16,'SOFT' 0,'WONK' 0;quotes:'\201C' '\201D'}
.wide .lagtab{border-collapse:collapse;margin-top:10px;font-size:14.5px;font-variant-numeric:tabular-nums;width:100%}
.wide .lagtab th,.wide .lagtab td{padding:4px 12px 4px 0;text-align:left;font-weight:400;border-bottom:1px solid var(--hair)}
.wide .lagtab thead th{color:var(--muted);font-size:13px}
.wide .lagtab td{font-weight:600}
.wide .slip .fine{margin-top:8px}
.wide .step>.fine{margin-top:12px}
.wide .gapnote{display:grid;grid-template-columns:56px 1fr;gap:14px;margin-top:22px;padding:12px 0;border-block:1px solid var(--hair);font-size:15px;line-height:1.4}
.wide .gapnote svg{margin-top:7px;overflow:visible}
.wide .gapnote path{fill:none;stroke:var(--ink);stroke-width:1.6}
.wide .gapnote.big{font:400 clamp(20px,1.7vw,25px)/1.36 var(--serif);font-variation-settings:'opsz' 30,'SOFT' 0,'WONK' 0;margin-top:0}
.wide .gapnote.big svg{margin-top:11px}
.wide .mults{position:relative;border-top:2px solid var(--ink);touch-action:pan-y}
.wide .mults-read{position:sticky;top:calc(var(--mast) + 6px);z-index:2;display:inline-block;margin:10px 0 0;min-height:32px;line-height:32px;font-weight:600;font-variant-numeric:tabular-nums;background:var(--paper);padding-right:10px}
.wide .mult{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);align-items:center;border-bottom:1px solid var(--hair);padding:6px 0}
.wide .mult-label{grid-column:1/4}
.wide .mult-label h3{font-size:19px;line-height:1.2}
.wide .mult-label p{font-size:13.5px;line-height:1.3;color:var(--muted)}
.wide .mult-label .mult-val{font:600 21px/1.2 var(--sans);color:var(--ink);margin-top:4px;font-variant-numeric:tabular-nums}
.wide .mult-val span{font:400 13px var(--sans);color:var(--muted);margin-left:6px}
.wide .mult-chart{grid-column:4/13;min-width:0;cursor:crosshair}
.wide .timing-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);row-gap:36px}
.wide .timing-grid figure{grid-column:1/8}
.wide .timing-grid figcaption{font-size:14px;line-height:1.45;color:var(--ink-2);margin-top:8px;max-width:48em}
.wide .timing-grid>div{grid-column:8/13}
.wide .peaks{border-top:2px solid var(--ink);margin:10px 0}
.wide .peaks li{display:grid;grid-template-columns:128px 1fr auto;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--hair);line-height:1.3}
.wide .peaks time{font-weight:600;font-variant-numeric:tabular-nums}
.wide .peaks b{font-weight:600;font-variant-numeric:tabular-nums}
.wide .reach-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);row-gap:32px;align-items:start}
.wide .reach-grid>aside{grid-column:1/8}
.wide .reach-grid>div{grid-column:8/13}
.wide .reach-grid .go{margin-top:16px}
.wide .also{border-top:2px solid var(--ink);margin-top:8px}
.wide .also li{display:grid;grid-template-columns:48px 1fr;column-gap:10px;padding:6px 0;border-bottom:1px solid var(--hair);font-size:15px;line-height:1.3;align-items:center}
.wide .also .muted{grid-column:2;font-size:13.5px}
.wide .calc{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);row-gap:14px}
.wide .calc-in{grid-column:1/5;display:flex;flex-direction:column;gap:6px}
.wide .calc-in label{font-weight:600;font-size:14.5px;margin-top:10px}
.wide .calc-in input,.wide .calc-in select,.wide .request input,.wide .request textarea{width:100%;min-height:46px;background:var(--sheet);border:1px solid var(--hair-2);border-radius:0;padding:8px 10px;font-size:18px}
.wide .calc-out{grid-column:5/13;border-collapse:collapse;border-top:2px solid var(--ink);width:100%}
.wide .calc-out th,.wide .calc-out td{padding:10px 8px 10px 0;border-bottom:1px solid var(--hair);text-align:left;font-weight:400}
.wide .calc-out thead th{font-size:13.5px;color:var(--muted)}
.wide .calc-out thead th.num,.wide .calc-out td.num{text-align:right}
.wide .calc-out tbody th{font-weight:500}
.wide .calc-out td.big{font:600 25px/1.15 var(--sans);letter-spacing:-.01em;white-space:nowrap}
.wide .calc>.fine{grid-column:5/13}
.wide .calc-default{display:none}
.wide .onward{display:grid;grid-template-columns:repeat(3,1fr);margin:clamp(56px,8vw,120px) var(--gut) clamp(48px,6vw,88px);border-top:2px solid var(--ink)}
.wide .onward a,.wide .onward button{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:16px clamp(12px,2vw,28px) 22px;text-decoration:none;background:none;border:0;border-left:1px solid var(--hair);text-align:left;cursor:pointer;min-height:44px}
.wide .onward>:first-of-type{border-left:0;padding-left:0}
.wide .onward h2+a{border-left:0;padding-left:0}
.wide .onward .k{font-size:13.5px;color:var(--muted)}
.wide .onward b{font:400 clamp(26px,2.6vw,38px)/1.08 var(--serif);letter-spacing:-.018em;font-variation-settings:'opsz' 72,'SOFT' 0,'WONK' 0}
.wide .onward a:hover b,.wide .onward button:hover b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.wide .onward span:last-child{color:var(--ink-2);font-size:15.5px;line-height:1.35}
.wide .watch[aria-pressed=true] b::before{content:'\2713\00a0'}
/* atlas */
.wide .a-hero{padding:clamp(28px,5vw,72px) var(--gut) 0}
.wide .a-hero h1{font:340 clamp(46px,7.2vw,116px)/.99 var(--serif-hero);letter-spacing:-.03em;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;margin:10px 0 18px}
.wide .a-hero .place-search{max-width:420px;margin-top:22px}
.wide .a-line{margin-top:26px}
.wide .d-hero{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);padding:clamp(20px,3.5vw,52px) var(--gut) 0;align-items:end}
.wide .d-title{grid-column:1/9}
.wide .d-title h1{font:320 clamp(68px,13.4vw,232px)/.9 var(--serif-hero);letter-spacing:-.042em;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;margin:6px 0 .2em -.04em;white-space:nowrap}
.wide .d-title.long h1{font-size:clamp(50px,8.6vw,150px)}
.wide .d-map{grid-column:9/13;align-self:start}
.wide .compare{padding:clamp(24px,3vw,44px) var(--gut) 0}
.wide .cmp-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px;border-top:2px solid var(--ink);padding-top:12px}
.wide .cmp-head h2{font-size:clamp(28px,3vw,44px);font-variation-settings:'opsz' 72,'SOFT' 0,'WONK' 0}
.wide .cmp-sub{display:block;font:400 15px/1.4 var(--sans);letter-spacing:0;color:var(--muted);margin-top:4px}
.wide .switch{display:flex;flex-wrap:wrap;gap:0 18px}
.wide .switch label{cursor:pointer}
.wide .switch input{position:absolute;opacity:0;width:1px;height:1px}
.wide .switch span{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--ink-2);border-bottom:2px solid transparent}
.wide .switch input:checked+span{color:var(--ink);font-weight:600;border-bottom-color:var(--signal)}
.wide .switch input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.wide .cmp-chart{margin-top:14px;cursor:crosshair;touch-action:pan-y;outline-offset:4px;min-height:200px}
.wide .cmp-read{min-height:1.6em;font-size:15px;font-weight:500;font-variant-numeric:tabular-nums;margin-top:4px}
.wide .pins{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;align-items:baseline;margin-top:10px}
.wide .pins>p:first-child{font-weight:600;font-size:15px}
.wide .pins ul{display:flex;flex-wrap:wrap;gap:0 12px}
.wide .pin{display:inline-flex;align-items:center;gap:8px;min-height:44px;background:none;border:0;padding:0 2px;cursor:pointer;font-size:15px;color:var(--ink-2)}
.wide .pin i{width:16px;height:3px;background:var(--hair-2);flex:none}
.wide .pin[aria-pressed=true]{color:var(--ink);font-weight:600}
.wide .pin[aria-pressed=true] i{background:var(--pin,var(--ink));height:4px}
.wide .pins .fine{grid-column:2}
.wide .cmp-strip{margin-top:10px;min-height:92px}
.wide .pins ul{min-height:88px}
.wide .strip{width:100%;height:auto;overflow:visible}
.wide .strip .axis{stroke:var(--hair-2);vector-effect:non-scaling-stroke}
.wide .strip circle.other{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.4;vector-effect:non-scaling-stroke}
.wide .strip circle.me{fill:var(--signal);stroke:var(--paper);stroke-width:2;vector-effect:non-scaling-stroke}
.wide .strip circle.pinned{stroke:var(--paper);stroke-width:2;vector-effect:non-scaling-stroke}
.wide .vit td.big{font-size:23px}
.wide .vit .muted{font-size:13.8px;line-height:1.3}
.wide .ledger.vit{border-top:2px solid var(--ink)}
.wide .vital .fine{margin-top:10px}
.wide .bars{border-top:2px solid var(--ink)}
.wide .bars li{display:grid;grid-template-columns:minmax(150px,290px) 1fr 148px;gap:16px;align-items:center;min-height:40px;border-bottom:1px solid var(--hair);font-size:15px;line-height:1.2}
.wide .b-track{position:relative;height:12px}
.wide .b-track i{position:absolute;left:0;top:3px;height:6px;background:var(--ink);border-radius:0 3px 3px 0}
.wide .b-track u{position:absolute;top:-2px;width:2px;height:16px;background:var(--signal);text-decoration:none}
.wide .b-val{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.wide .b-val .muted{font-weight:400;font-size:13.5px}
.wide .built .fine{margin-top:10px}
/* share */
.wide .s-hero{padding:clamp(24px,3vw,44px) var(--gut) 0}
.wide .s-top{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);align-items:end}
.wide .s-top>div{grid-column:1/8}
.wide .s-top .lede{grid-column:8/13;font-size:clamp(17px,1.3vw,20px)}
.wide .s-hero h1{font:340 clamp(40px,4.9vw,80px)/1 var(--serif-hero);letter-spacing:-.028em;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;margin:8px 0 0;text-wrap:balance}
.wide .s-hero .rule{margin-top:18px;height:10px}
.wide .charts{margin-top:6px}
.wide .proofs{display:flex;align-items:flex-start;gap:clamp(12px,1.6vw,24px);padding:26px var(--gut) 18px;background:var(--paper-2);margin-top:12px}
.wide .proof{min-width:0}
.wide .p-land{flex:1.7778 1 0}
.wide .p-square{flex:1 1 0}
.wide .p-vert{flex:.5625 1 0}
.wide .p-print{flex:.7727 1 0}
.wide .proof-img{position:relative;background:var(--sheet);box-shadow:0 0 0 1px var(--hair-2)}
.wide .proof-img::before,.wide .proof-img::after{content:'';position:absolute;width:14px;height:14px;pointer-events:none;border:solid var(--ink);border-width:1px 0 0 1px;left:-8px;top:-8px}
.wide .proof-img::after{left:auto;top:auto;right:-8px;bottom:-8px;border-width:0 1px 1px 0}
.wide .proof canvas{display:block;width:100%;height:auto;cursor:zoom-in}
.wide .proof figcaption{font-size:13.5px;line-height:1.35;color:var(--ink-2);padding-top:10px}
.wide .proof figcaption b{display:block;font:430 19px/1.25 var(--serif);font-variation-settings:'opsz' 30,'SOFT' 0,'WONK' 0;color:var(--ink)}
.wide .proof figcaption span{display:block}
.wide .dl{display:inline-flex;align-items:center;min-height:44px;background:none;border:0;border-bottom:2px solid var(--signal);padding:0;font-weight:600;cursor:pointer;font-size:15px;margin-top:4px}
.wide .paper{aspect-ratio:8.5/11;overflow:hidden;container-type:inline-size}
.wide .sheet{background:var(--sheet);padding:7cqw;font-size:3.1cqw;line-height:1.35;height:100%;display:flex;flex-direction:column;gap:2.6cqw}
.wide .sheet header{display:flex;justify-content:space-between;font-size:3cqw}
.wide .sheet-brand{display:inline-flex;align-items:center;gap:.5em;font:500 1.15em/1 var(--serif);font-variation-settings:'opsz' 30,'SOFT' 0,'WONK' 0}
.wide .sheet .mark{width:2.6em;height:auto}
.wide .sheet h2{font-size:7.2cqw;line-height:1.05;font-variation-settings:'opsz' 72,'SOFT' 0,'WONK' 0}
.wide .sheet-note{color:var(--ink-2)}
.wide .sheet .chart{flex:1;min-height:0}
.wide .sheet-ev{display:flex;align-items:center;gap:.6em}
.wide .sheet-ev .sample{width:9cqw}
.wide .sheet footer{border-top:1px solid var(--hair);padding-top:1.6cqw;font-size:2.6cqw;color:var(--ink-2)}
.wide .sheet footer .fine{font-size:2.4cqw}
.wide .share-more{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;padding:16px var(--gut) clamp(48px,6vw,88px)}
.wide .link-btn{min-height:44px;background:none;border:0;border-bottom:2px solid var(--signal);padding:0;font-weight:600;cursor:pointer}
.wide .noscript-note{display:none}
.wide dialog.zoom{padding:0;border:0;background:none;max-width:94vw;max-height:94vh}
.wide dialog.zoom::backdrop{background:rgba(20,23,27,.82)}
.wide dialog.zoom canvas{display:block;max-width:94vw;max-height:88vh;width:auto;height:auto}
.wide dialog.zoom button{display:block;width:100%;min-height:44px;background:var(--paper);border:0;font-weight:600;cursor:pointer}
/* services */
.wide .sv-hero{padding:clamp(28px,5vw,72px) var(--gut) 0}
.wide .sv-hero h1{font:340 clamp(46px,7.2vw,120px)/.99 var(--serif-hero);letter-spacing:-.03em;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;margin:10px 0 20px;max-width:9.6em}
.wide .rule{width:100%;height:20px;margin-top:clamp(20px,3vw,44px);overflow:visible}
.wide .rule path{fill:none;stroke:var(--signal);stroke-width:2.5;vector-effect:non-scaling-stroke}
.wide .offers{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);row-gap:36px;padding:clamp(20px,3vw,40px) var(--gut) 0}
.wide .offer{grid-column:span 4}
.wide .offer.first{grid-column:1/6}
.wide .offer h2{font-size:clamp(30px,3.1vw,46px);margin-top:8px}
.wide .wn{font-size:13.5px;color:var(--muted);margin-top:4px}
.wide .offer .lede{margin:14px 0 16px;font-size:clamp(18px,1.35vw,20px)}
.wide .offer .plain-list{border-bottom:1px solid var(--hair)}
.wide .price{margin-top:14px;font-weight:500;font-size:15px}
.wide .excl{grid-column:span 3}
.wide .excl h2{font-size:clamp(22px,2vw,30px);margin-bottom:10px;margin-top:29px}
.wide .excl .plain-list{border-bottom:1px solid var(--hair)}
.wide .excl .fine{margin-top:10px}
.wide .steps-list{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--ink)}
.wide .steps-list li{padding:14px clamp(10px,1.4vw,22px) 16px;border-left:1px solid var(--hair)}
.wide .steps-list li:first-child{border-left:0;padding-left:0}
.wide .steps-list .n{font-weight:600;font-variant-numeric:tabular-nums}
.wide .steps-list h3{margin:8px 0 6px;min-height:2.4em}
.wide .steps-list p{font-size:15px;line-height:1.4;color:var(--ink-2)}
.wide .receive{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);row-gap:32px;padding-bottom:18px}
.wide .rc-text{grid-column:1/7}
.wide .rc-text h2,.wide .request h2{font-size:clamp(28px,3vw,44px);margin-bottom:14px}
.wide .rc-text .plain-list{border-bottom:1px solid var(--hair);margin-bottom:16px}
.wide .request{grid-column:8/13;display:flex;flex-direction:column;gap:6px;background:var(--sheet);padding:clamp(18px,2.2vw,32px);box-shadow:0 0 0 1px var(--hair-2)}
.wide .request label{font-weight:600;font-size:14.5px;margin-top:8px}
.wide .request button{margin-top:14px;min-height:48px;background:var(--ink);color:var(--paper);border:0;font-weight:600;padding:0 18px;align-self:flex-start;cursor:pointer}
.wide .wrap-fine{padding:6px var(--gut) clamp(48px,6vw,80px)}
/* report */
.wide .desk{background:var(--paper-2);padding:12px var(--gut) clamp(40px,6vw,88px)}
.wide .desk-bar{display:flex;justify-content:space-between;align-items:center;max-width:850px;margin:0 auto 10px}
.wide .doc{max-width:850px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.wide .pg{position:relative;background:var(--sheet);padding:clamp(24px,6.4vw,68px);padding-bottom:64px;box-shadow:0 0 0 1px rgba(30,25,15,.05),0 14px 30px -18px rgba(30,25,15,.3);min-height:calc(850px*1.294);font-size:15.5px;line-height:1.5}
.wide .pg .ring{fill:var(--sheet)}
.wide .pg .chart .ylabels text,.wide .sheet .chart .ylabels text{stroke:var(--sheet)}
.wide .pg-head{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13.5px;color:var(--ink-2);border-bottom:2px solid var(--ink);padding-bottom:10px}
.wide .status{margin-top:12px;font-size:13.5px;font-weight:600;background:var(--mark);padding:.1em .3em;line-height:1.75;display:inline}
.wide .status{-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.wide .src-flags{display:flex;flex-direction:column;gap:6px;margin:2px 0 12px}
.wide .src-flags .status{margin:0}
.wide .pg h1{font:340 clamp(42px,6.4vw,70px)/1.02 var(--serif-hero);letter-spacing:-.026em;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;margin-top:30px}
.wide .sub{font:400 19px/1.4 var(--serif);font-variation-settings:'opsz' 24,'SOFT' 0,'WONK' 0;color:var(--ink-2);margin-top:8px;max-width:32em}
.wide .meta{display:grid;grid-template-columns:1fr 2fr 1fr;gap:16px;margin-top:22px;border-block:1px solid var(--hair);padding:9px 0;font-size:14px;line-height:1.35}
.wide .meta dt{font-size:12.5px;color:var(--muted)}
.wide .pg h2{font-size:26px;font-variation-settings:'opsz' 40,'SOFT' 0,'WONK' 0;margin:26px 0 8px;letter-spacing:-.012em}
.wide .summary{counter-reset:s;border-top:2px solid var(--ink)}
.wide .summary li{counter-increment:s;display:grid;grid-template-columns:26px 1fr;padding:7px 0;border-bottom:1px solid var(--hair);font:400 16.5px/1.42 var(--serif);font-variation-settings:'opsz' 18,'SOFT' 0,'WONK' 0}
.wide .summary li::before{content:counter(s);font:600 13.5px/1.75 var(--sans)}
.wide .pg figure{margin-top:18px}
.wide .pg figcaption{font-size:13px;color:var(--muted);margin-top:4px}
.wide .r-table{width:100%;border-collapse:collapse;border-top:2px solid var(--ink);font-size:14px;line-height:1.35;font-variant-numeric:tabular-nums}
.wide .r-table th,.wide .r-table td{padding:6px 8px 6px 0;border-bottom:1px solid var(--hair);text-align:left;font-weight:400;vertical-align:top}
.wide .r-table thead th{font-weight:600;font-size:13px;color:var(--ink-2);vertical-align:bottom}
.wide .r-table td.num,.wide .r-table th.num{text-align:right;white-space:nowrap}
.wide .r-table tr.me th,.wide .r-table tr.me td{font-weight:600}
.wide .r-table.src td{font-size:13px;color:var(--ink-2)}
.wide .r-table .nw{white-space:nowrap}
.wide .r-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.wide .pg .bars li{grid-template-columns:minmax(120px,230px) 1fr 122px;min-height:30px;font-size:14px}
.wide .pg .fine{margin-top:6px}
.wide .pg .plain-list{border-bottom:1px solid var(--hair)}
.wide .pg-foot{position:absolute;left:clamp(24px,6.4vw,68px);right:clamp(24px,6.4vw,68px);bottom:22px;display:flex;justify-content:space-between;gap:16px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--hair);padding-top:6px}
/* studio handoff */
.wide .st{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--col-gap);padding-left:var(--gut);min-height:calc(100vh - var(--mast) - 120px)}
.wide .st-text{grid-column:1/7;padding:clamp(28px,5vw,72px) 0 clamp(40px,6vw,88px)}
.wide .st-text h1{font:340 clamp(44px,6vw,100px)/1 var(--serif-hero);letter-spacing:-.028em;font-variation-settings:'opsz' 144,'SOFT' 0,'WONK' 0;margin:10px 0 18px;text-wrap:balance}
.wide .carry{margin:24px 0 20px;border-top:2px solid var(--ink)}
.wide .carry legend{font-weight:600;font-size:15px;padding:0 0 8px;float:left;width:100%;margin-top:10px}
.wide .carry label{display:block;border-bottom:1px solid var(--hair);cursor:pointer;clear:both}
.wide .carry input{position:absolute;opacity:0;width:1px;height:1px}
.wide .carry label>span{display:block;padding:10px 0 11px 24px;position:relative}
.wide .carry label>span::before{content:'';position:absolute;left:0;top:20px;width:14px;height:2px;background:var(--hair-2)}
.wide .carry input:checked+span::before{background:var(--signal);height:3px}
.wide .carry input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.wide .carry-direct{display:none}
.wide .carry b{display:block;font:430 21px/1.25 var(--serif);font-variation-settings:'opsz' 30,'SOFT' 0,'WONK' 0}
.wide .carry i{display:block;font-style:normal;font-size:15px;color:var(--ink-2)}
.wide .st .fine{margin-top:12px}
.wide .instrument{grid-column:7/13;position:relative;background:var(--night);color:#efeae0;display:flex;align-items:center;padding:clamp(24px,4vw,64px);overflow:hidden;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.2px);background-size:22px 22px}
.wide .st-line{position:absolute;left:0;top:50%;width:46%;height:120px;transform:translateY(-50%);overflow:visible;z-index:2}
.wide .st-line path{fill:none;stroke:var(--signal);stroke-width:3;vector-effect:non-scaling-stroke}
.wide .inst-panel{position:relative;z-index:3;margin-left:auto;width:min(100%,430px);background:#1e2227;border:1px solid #3c4147;padding:18px 20px}
.wide .inst-k{font-size:14px;font-weight:600;color:#cfc9bc}
.wide .inst-panel ul{margin-top:6px}
.wide .inst-panel li{padding:8px 0;border-bottom:1px solid #33383e;font-size:15px;line-height:1.3}
.wide .inst-panel b{display:block;font-weight:500}
.wide .inst-panel code{font:400 12.5px var(--mono);color:#c2bcaf;overflow-wrap:anywhere}
.wide .inst-foot{font-size:13px;color:#c2bcaf;margin-top:10px;line-height:1.4}
/* footer */
.wide code{font-family:var(--mono);font-size:.9em}
.wide footer code{font-family:inherit;font-size:inherit}
/* the line itself, between pages */
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
/* thread */
.wide .thread{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:0}
.wide .thread path{fill:none;stroke:var(--signal);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.wide .thread circle{fill:var(--paper);stroke:var(--signal);stroke-width:1.6}
/* tablet */
@media (max-width:1100px){
.wide .places-grid>div{grid-column:1/13}
.wide .map-fig{grid-column:1/13;position:static;margin-top:28px;max-width:560px}
.wide .ledger{grid-column:1/13}
.wide .upcoming{grid-column:1/7}
.wide .brief{grid-column:7/13}
.wide .story{display:block;padding-inline:0}
.wide .stage{position:sticky;top:calc(var(--mast) + 0px);height:auto;min-height:0;background:var(--paper);z-index:5;padding:8px var(--gut) 8px;border-bottom:1px solid var(--hair)}
.wide .stage-chart{height:30vh;flex:none}
.wide .steps{padding-inline:var(--gut)}
.wide .timing-grid figure,.wide .timing-grid>div,.wide .reach-grid>aside,.wide .reach-grid>div{grid-column:1/13}
.wide .ev-legend{grid-template-columns:repeat(2,1fr)}
.wide .offer,.wide .offer.first,.wide .excl{grid-column:1/13}
.wide .rc-text,.wide .request{grid-column:1/13}
.wide .door-chain{grid-template-columns:repeat(3,1fr)}
.wide .door-chain li:nth-child(4){border-left:0}
.wide .door-chain li:nth-child(4) a{padding-left:0}
.wide .door-chain li{border-bottom:1px solid var(--hair)}
.wide .st{display:block;padding-left:0}
.wide .st-text{padding-inline:var(--gut)}
.wide .instrument{min-height:420px}
.wide .st-line{width:30%}
}
/* phone: designed for the thumb */
@media (max-width:640px){
.wide a.link,.wide .page-tools a{display:inline-flex;align-items:center;min-height:44px}
:root{--mast:66px;--gut:20px}
body{font-size:16.5px;padding-bottom:calc(58px + env(safe-area-inset-bottom))}
.wide .only-wide{display:none}
.wide .only-narrow{display:block}
.wide .nav{position:fixed;z-index:45;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:var(--paper);border-top:1px solid var(--hair-2);padding-bottom:env(safe-area-inset-bottom)}
.wide .hero{padding-top:18px}
.wide .hero h1{font-size:clamp(44px,13.4vw,62px);line-height:1.0;letter-spacing:-.028em}
.wide .hero-fig{margin-top:6px}
.wide .hero-fig figcaption{position:static;padding:4px var(--gut) 0;background:none;max-width:none}
.wide .hero-foot{display:flex;flex-direction:column;padding-top:10px}
.wide .hero-go{order:-1;margin:6px 0 14px}
.wide .place-search{margin-top:6px}
.wide .door-chain{grid-template-columns:1fr;border-top:2px solid var(--ink)}
.wide .door-chain li,.wide .door-chain li:nth-child(4){border-left:0}
.wide .door-chain a,.wide .door-chain li:first-child a,.wide .door-chain li:nth-child(4) a{display:grid;grid-template-columns:24px 1fr auto;column-gap:10px;row-gap:4px;padding:12px 0;align-items:center}
.wide .door-chain h3{min-height:0;font-size:22px}
.wide .door-chain .spark{grid-column:3;grid-row:1;width:92px;height:auto}
.wide .dc-ev{grid-column:2/4;margin-top:0}
.wide .g-prov{display:none}
.wide .gazetteer .spark{width:60px}
.wide .ledger td.big{font-size:21px}
.wide .ledger .muted{padding-left:8px;font-size:13px}
.wide .ledger .sparkcell{display:none}
.wide .ledger thead th:last-child{display:none}
.wide .upcoming,.wide .brief{grid-column:1/13}
.wide .com-text{grid-column:1/13}
.wide .paper-thumb{grid-column:2/12;margin-top:30px}
.wide .ev-legend{grid-template-columns:1fr}
.wide .episodes{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.wide .episodes legend{position:sticky;left:0}
.wide .episodes label{flex:0 0 62%;scroll-snap-align:start}
.wide .stage{top:var(--mast);padding-block:4px 6px}
.wide .chain svg{height:30px}
.wide .chain a{font-size:12px;gap:3px;min-height:44px}
.wide .chain i{width:10px;height:10px;margin-top:-6px}
.wide .stage-head{margin-top:0;gap:12px}
.wide .stage-t{font-size:16px}
.wide .stage-v{font-size:26px}
.wide .stage-k{display:none}
.wide .stage-chart{height:25vh;min-height:150px}
.wide .stage-note{font-size:12px;padding-top:4px}
.wide .step{padding-block:44px}
.wide .step:first-child{padding-top:28px}
.wide .slip dl>div{grid-template-columns:64px 1fr}
.wide .mults-read{min-height:44px;line-height:44px;margin-top:2px}
.wide .mult{display:block;padding:10px 0}
.wide .mult-label h3{display:inline}
.wide .mult-label p:not(.mult-val){display:none}
.wide .peaks li{grid-template-columns:110px 1fr auto}
.wide .calc-in,.wide .calc-out,.wide .calc>.fine{grid-column:1/13}
.wide .calc-out thead th:last-child,.wide .calc-out td:last-child{display:none}
.wide .onward{grid-template-columns:1fr}
.wide .onward a,.wide .onward button,.wide .onward>:first-of-type{border-left:0;padding:14px 0;border-bottom:1px solid var(--hair)}
.wide .d-hero{display:block}
.wide .d-title h1{white-space:normal;font-size:clamp(68px,22vw,120px)}
.wide .d-title.long h1{font-size:clamp(46px,14vw,88px)}
.wide .d-map{max-width:150px;margin:12px 0 0 auto}
.wide .d-map .map-label{display:none}
.wide .map-label{font-size:62px;stroke-width:14px}
.wide .endv.big{font-size:22px}
.wide .switch{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);-webkit-overflow-scrolling:touch}
.wide .switch label{flex:none}
.wide .pins{display:block}
.wide .pins ul{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);min-height:44px}
.wide .pins li{flex:none}
.wide .vit thead th:nth-child(4),.wide .vit td:nth-child(4){display:none}
.wide .bars li{grid-template-columns:1fr auto;grid-template-rows:auto 14px;row-gap:2px;padding:8px 0}
.wide .b-track{grid-column:1/3;grid-row:2}
.wide .s-top{display:block}
.wide .s-top .lede{margin-top:12px}
.wide .proofs{display:flex;flex-direction:column;gap:30px}
.wide .proof{width:100%;flex:none}
.wide .p-vert{width:62%}
.wide .p-square{width:84%}
.wide .steps-list{grid-template-columns:1fr}
.wide .steps-list li,.wide .steps-list li:first-child{display:grid;grid-template-columns:28px 1fr;column-gap:6px;border-left:0;padding:10px 0;border-bottom:1px solid var(--hair)}
.wide .steps-list h3{margin:0;min-height:0}
.wide .steps-list p{grid-column:2}
.wide .desk{padding-inline:0}
.wide .desk-bar{padding-inline:var(--gut)}
.wide .pg{min-height:0;padding-bottom:60px}
.wide .meta{grid-template-columns:1fr}
.wide .instrument{min-height:380px;padding-top:80px;align-items:flex-end}
.wide .st-line{top:44px;width:100%;transform:none;height:60px}
}
/* reduced motion: every state is the final state */
@media (prefers-reduced-motion:reduce){
.wide *,.wide *::before,.wide *::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
/* print: the share sheet or the report, nothing else */
@page{margin:14mm}
@media print{
body{background:#fff;font-size:11pt;padding:0}
html{background:#fff}
.wide .desk-bar,.wide .s-hero,.wide .share-more,.wide .thread,.wide .switch,.wide .pins,.wide .onward,.wide .proof-img::before,.wide .proof-img::after,main[data-page=report]~footer,main[data-page=share]~footer{display:none !important}
.wide .desk{background:none;padding:0}
.wide .doc{max-width:none;gap:0;display:block}
.wide .pg{box-shadow:none;background:#fff;padding:0;min-height:0;break-after:page;page-break-after:always;font-size:10.5pt;line-height:1.42}
.wide .pg:last-child{break-after:auto;page-break-after:auto}
.wide .pg-foot{position:static;margin-top:6mm;left:auto;right:auto;font-size:8.5pt}
.wide .pg h1{font-size:36pt;margin-top:14pt}
.wide .pg h2{font-size:16pt;margin:12pt 0 5pt}
.wide .sub{font-size:13pt;margin-top:4pt}
.wide .meta{margin-top:10pt;font-size:9.5pt;padding:5pt 0}
.wide .meta dt{font-size:8.5pt}
.wide .summary li{font-size:11pt;line-height:1.35;padding:4pt 0}
.wide .pg figure{margin-top:8pt}
.wide .pg figcaption{font-size:8.5pt}
.wide .pg .fine{font-size:9pt}
.wide .r-table{font-size:9.5pt}
.wide .r-table.src td{font-size:8.8pt}
.wide .pg .bars li{font-size:9.5pt;min-height:0;padding:3pt 0}
.wide .pg figure,.wide .r-table tr,.wide .bars li,.wide .summary li{break-inside:avoid}
.wide .proofs{display:block;background:none;padding:0;margin:0}
.wide .proof:not(.p-print){display:none}
.wide .p-print figcaption{display:none}
.wide .p-print .proof-img{box-shadow:none;background:none;aspect-ratio:auto;overflow:visible;container-type:normal}
.wide .sheet{padding:0;font-size:11pt;gap:5mm;height:auto;background:#fff}
.wide .sheet header{font-size:10pt}
.wide .sheet h2{font-size:27pt}
.wide .sheet .chart{flex:none;width:100%;height:auto}
.wide .p-print .proof-img.paper{height:auto}
.wide .sheet-ev .sample{width:18mm}
.wide .sheet footer{font-size:9pt}
.wide .sheet footer .fine{font-size:8.5pt}
.wide .ring{fill:#fff}
}
/* late additions */
.wide .st-line.leaving{transition:width .4s cubic-bezier(.6,0,.2,1);width:100%}
.wide .thread circle{transition:fill .2s}
.wide .thread circle.on{fill:var(--signal)}
.wide .gazetteer li.hot .g-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}
.wide .place-search [role=status] a{font-weight:600}

/* home: additions to the template */
.wide .door-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--col-gap);margin:clamp(20px,3vw,36px) 0;padding:0;list-style:none;border-top:1px solid var(--hair)}
.wide .door-more a{display:grid;grid-template-columns:1fr auto;gap:2px 18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair);text-decoration:none}
.wide .door-more .k{grid-column:1/3;font-weight:600;font-size:.86rem;color:var(--ink-2)}
.wide .door-more b{font:420 1.22rem/1.2 var(--serif);font-variation-settings:"opsz" 30}
.wide .door-more a:hover b{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:1px}
.wide .studio-door{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,5vw,80px);align-items:end;margin-top:clamp(56px,8vw,120px);padding:clamp(48px,7vw,104px) var(--gut)}
.wide .studio-door h2,.wide .studio-door .kicker{color:var(--ink)}.wide .studio-door .lede{color:var(--ink-2);margin-top:16px}.wide .studio-door .go-row{margin-top:26px}
.wide .sd-list{list-style:none;margin:0;padding:0}.wide .sd-list li{padding:14px 0;border-top:1px solid var(--hair)}.wide .sd-list b{display:block;font-weight:600}.wide .sd-list span{color:var(--ink-2);font-size:.95rem}
.wide .trust,.wide .offer-split{padding:clamp(48px,8vw,120px) var(--gut) 0}
.wide .trust-grid{display:grid;grid-template-columns:7fr 5fr;gap:clamp(24px,5vw,80px)}
.wide .offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3.4vw,56px);margin-bottom:24px}.wide .offer-grid h3{margin-bottom:10px}.wide .offer-grid .go-row{margin-top:16px}
@media (max-width:1100px){.wide .studio-door,.wide .trust-grid{grid-template-columns:minmax(0,1fr)}.wide .offer-grid{grid-template-columns:minmax(0,1fr)}.wide .door-more{grid-template-columns:minmax(0,1fr)}}

/* ripple index */
.wide .ripple-held{margin:clamp(24px,4vw,48px) var(--gut) 0;padding-top:clamp(20px,3vw,32px);border-top:2px solid var(--ink)}
.wide .ripple-held h2{font-size:clamp(1.7rem,3vw,2.8rem)}.wide .ripple-held p{max-width:40em;margin-top:12px;color:var(--ink-2)}.wide .ripple-held .go-row{margin-top:20px}
.wide .ripple-list{padding:clamp(24px,4vw,48px) var(--gut) 0}
.wide .ripple-list ol{border-top:2px solid var(--ink)}
.wide .ripple-list a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,22rem);gap:6px clamp(20px,4vw,64px);padding:clamp(22px,3vw,40px) 0;border-bottom:1px solid var(--hair);text-decoration:none}
.wide .ripple-list .k{grid-column:1/3;font-weight:600;font-size:.86rem;color:var(--ink-2)}
.wide .ripple-list h2{font-size:clamp(1.7rem,3vw,2.8rem);grid-column:1}.wide .ripple-list .q{grid-column:1;color:var(--ink-2);max-width:40em}
.wide .ripple-list .rl-meta{grid-column:2;grid-row:2/4;display:flex;flex-direction:column;gap:10px;color:var(--muted);font-size:.9rem}
.wide .ripple-list .rl-meta svg.sample{display:inline-block;vertical-align:middle;margin-right:6px}
.wide .ripple-list a:hover h2{text-decoration:underline;text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:.12em}
@media (max-width:760px){.wide .ripple-list a{grid-template-columns:minmax(0,1fr)}.wide .ripple-list .k,.wide .ripple-list h2,.wide .ripple-list .q,.wide .ripple-list .rl-meta{grid-column:1;grid-row:auto}}

/* the Pulse */
.wide .ledger.full{grid-column:auto;min-width:760px}
.wide .ledger.full th .plain{display:block;font-size:14px;line-height:1.35;color:var(--muted);font-weight:400;margin-top:2px;max-width:44ch}
.wide .ledger.full tbody th a,.wide .ledger.vit tbody th a{display:inline-block;padding-block:12px;margin-block:-12px;color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
.wide .ledger.full td.num{text-align:right;white-space:nowrap}
.wide .ledger .is-new td.big{color:var(--signal-ink)}
.wide .new-tag{display:inline-block;margin-left:10px;font-size:12.5px;font-weight:600;background:var(--mark);padding:1px 6px;border-radius:2px;color:var(--ink)}
.wide .upcoming.wide-col{grid-column:1/9}
.wide .upcoming.wide-col h2,.wide .brief h2{font:430 26px/1.2 var(--serif);padding-bottom:9px;border-bottom:2px solid var(--ink);margin:0 0 10px}
.wide .brief{grid-column:9/13}
@media (max-width:820px){.wide .upcoming.wide-col,.wide .brief{grid-column:1/-1}}

/* the Field */
.wide .relief{padding:clamp(40px,6vw,88px) var(--gut) 0}
.wide .fld-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 32px;border-top:2px solid var(--ink);padding-top:12px}
.wide .fld-head h2{font:360 clamp(32px,4vw,56px)/1.05 var(--serif-head);letter-spacing:-.02em;margin:4px 0 0}
.wide .fld-ctl{display:flex;flex-wrap:wrap;gap:0 40px}
.wide .fld-ctl fieldset[hidden]{display:none}
.wide .fld-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 32px;min-height:48px;padding-block:6px}
.wide .fld-pick{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:600}
.wide .fld-pick[hidden]{display:none}
.wide .fld-pick select{min-height:40px;padding:4px 8px;border:1px solid var(--hair-2);border-radius:3px;background:var(--sheet);font:inherit;font-weight:400;color:var(--ink)}
.wide .fld-month{flex:1 1 320px;max-width:min(620px,100%);min-width:0}
.wide .fld-month input{flex:1;min-width:0;accent-color:var(--signal);min-height:32px}
.wide .fld-month output{font-weight:400;font-variant-numeric:tabular-nums;min-width:9.5em}
.wide .fld-stage{position:relative;aspect-ratio:16/8.4;min-height:340px;background:var(--paper);overflow:hidden;border-block:1px solid var(--hair)}
.wide .fld-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}
.wide .fld-stage canvas[hidden]{display:none}
.wide .fld-stage canvas:active{cursor:grabbing}
.wide .fld-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.wide .fld-label{position:absolute;left:0;top:0;font-size:13.5px;font-weight:500;line-height:1;white-space:nowrap;color:var(--ink);text-shadow:0 0 3px var(--paper),0 0 6px var(--paper);transform:translate3d(-999px,0,0)}
.wide .fld-label.sel{color:var(--signal-ink);font-weight:700}
.wide .fld-label.row{font-size:12.5px;color:var(--ink-2)}
.wide .fld-flat{position:absolute;inset:0;display:flex;padding:14px;overflow:auto}
.wide .fld-flat[hidden]{display:none}
.wide .fld-map{width:min(100%,560px);margin:auto}
.wide .fld-flat>div{width:100%;margin:auto}
.wide .fld-tip{position:absolute;left:12px;bottom:10px;margin:0;font-size:14px;font-weight:500;background:color-mix(in srgb,var(--paper) 86%,transparent);padding:2px 6px;pointer-events:none}
.wide .fld-tip:empty{display:none}
.wide .fld-toggle{position:absolute;right:12px;bottom:6px;background:var(--paper);padding-inline:6px}
.wide .fld-read{font-size:16px;font-weight:500;margin:12px 0 4px;max-width:78ch}
@media (max-width:900px){.wide .fld-stage{aspect-ratio:auto;height:440px}}
/* The flat view shows whole. From tablet width up the stage keeps one height, so nothing moves when 3D starts, and the map fits it. On phones the stage grows to the view, so nothing is left scrolling inside it. */
@media (min-width:761px){.wide .fld-stage{container-type:size}.wide .fld-map{width:min(100%,780px,calc((100cqh - 28px)*1.155))}}
@media (max-width:760px){.wide .fld-stage:has(.fld-flat:not([hidden])){height:auto;min-height:440px}.wide .fld-stage:has(.fld-flat:not([hidden])) .fld-flat{position:relative;inset:auto;min-height:440px;padding-bottom:48px}}
.wide .d-ladder{padding:clamp(10px,1.4vw,18px) var(--gut) 0}
.wide .d-ladder .ladder{margin:0}
.hero-map{float:right;width:min(36%,360px);margin:0 0 12px 28px}
@media (max-width:700px){.hero-map{float:none;width:min(72%,280px);margin:0 0 10px}}

/* services */
.wide .sv-hero .lede{max-width:46em;margin-top:16px}
.wide .sv-cta{margin-top:18px;align-items:center}
.wide .sv-cta .btn-primary{display:inline-flex;align-items:center;min-height:44px}
.wide .sv-list,.wide .sv-two{padding:0 var(--gut)}
.wide .sv-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink)}
.wide .sv-grid li{padding:16px clamp(12px,1.6vw,24px) 20px;border-left:1px solid var(--hair);display:flex;flex-direction:column;gap:8px}
.wide .sv-grid li:first-child{border-left:0;padding-left:0}
.wide .sv-grid.three{grid-template-columns:repeat(3,1fr)}
.wide .sv-grid ul.sv-what{list-style:none;margin:2px 0 6px;padding:0;display:grid;gap:3px}
.wide .sv-grid ul.sv-what li{border:0;padding:0 0 0 16px;display:block;position:relative;font-size:15px;line-height:1.4;color:var(--ink-2)}
.wide .sv-grid ul.sv-what li:first-child,.wide .sv-grid ul.sv-what li:nth-child(odd){padding-left:16px;border:0}
.wide .sv-grid ul.sv-what li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:2px;background:var(--signal)}
.wide .sv-grid h3{font:430 clamp(21px,1.8vw,26px)/1.18 var(--serif);min-height:2.4em}
.wide .sv-grid h3 a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
.wide .sv-grid p{font-size:15.5px;line-height:1.45;color:var(--ink-2)}
.wide .sv-grid .sv-for{font-size:14.5px;color:var(--muted);flex:1}
.wide .sv-grid .sv-for b{font-weight:600;color:var(--ink-2)}
.wide .steps-list.four{grid-template-columns:repeat(4,1fr)}
.wide .sv-two{display:grid;grid-template-columns:1fr 1fr;column-gap:var(--col-gap);padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(48px,6vw,88px)}
.wide .how .fine{margin-top:12px}
.wide .sv-note{margin-top:12px}
@media (max-width:900px){.wide .sv-grid,.wide .steps-list.four{grid-template-columns:1fr 1fr}.wide .sv-grid li:nth-child(odd){border-left:0;padding-left:0}.wide .sv-two{grid-template-columns:1fr}}
@media (max-width:900px){.wide .sv-grid.three{grid-template-columns:1fr}.wide .sv-grid.three>li{border-left:0;padding-left:0;border-bottom:1px solid var(--hair)}.wide .sv-grid.three h3{min-height:0}}
@media (max-width:560px){.wide .sv-grid,.wide .steps-list.four{grid-template-columns:1fr}.wide .sv-grid li{border-left:0;padding-left:0;border-bottom:1px solid var(--hair)}}
