/* Hallpass architectural concept. See concepts/skyline/DESIGN.md. */
:root {
  --paper:#f8efd9; --paper-alt:#f0e6cd; --ink:#223c3a; --ink-soft:#354e47;
  --ink-mute:#59615a; --sage:#298b9b; --sage-deep:#a83d21; --sage-light:#ece1c5; --sage-pale:#f4bb35;
  --orange:#e85427; --yellow:#f4bb35; --blue:#298b9b;
  --sans:"Archivo",Arial,sans-serif; --serif:"Archivo",Arial,sans-serif;
  --wrap:min(100% - 7rem,1320px); --sect:clamp(5rem,8vw,8rem);
  --rule:rgba(72,77,54,.25); --rule-soft:rgba(72,77,54,.13);
}
body{font-size:1.0625rem;background:var(--paper) url('assets/skyline-paper.svg');padding-bottom:42px}
html{scroll-padding-top:110px}
h1,h2,h3{font-weight:550}
h2{font-size:clamp(2.4rem,4vw,3.75rem);line-height:1.06;letter-spacing:-.04em}
h1 em,h2 em,h3 em{font-family:var(--sans);font-weight:inherit;font-style:normal;letter-spacing:inherit;color:var(--sage-deep)}
h1 em::after,h2 em::after{display:none}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.btn{border-radius:0;min-height:50px;font-size:.82rem;font-weight:550;letter-spacing:0;padding:15px 20px;transition:background .2s,color .2s}
.btn-fill{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}
.btn-fill:hover{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.btn-row{gap:1.2rem}
.masthead{background:var(--paper) url('assets/skyline-paper.svg');border-bottom:1px solid var(--rule);position:relative;z-index:20}
.masthead-inner{min-height:98px}
.wm-img{width:157px}
.nav{gap:1.8rem;font-size:.78rem}
.nav-panel{border-radius:0;background:var(--paper);border:1px solid var(--rule)}
.nav-toggle-btn{font-family:var(--sans);font-size:inherit}
.nav>.btn{padding:11px 18px;min-height:44px}
.sky-hero{height:1120px;position:relative;background-image:linear-gradient(rgba(149,120,70,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(149,120,70,.10) 1px,transparent 1px);background-size:42px 42px;border-bottom:1px solid var(--rule)}
.sky-hero-stage{position:sticky;top:0;height:810px;overflow:hidden}
.sky-hero-inner{height:100%;position:relative}
.sky-hero-copy{position:relative;z-index:2;padding-top:85px;width:54%;pointer-events:none}
.sky-hero-copy a{pointer-events:auto}
.sky-kicker{font-size:.66rem;text-transform:uppercase;letter-spacing:.15em;display:flex;align-items:center;gap:10px;margin-bottom:28px;font-weight:600}
.sky-kicker>span{width:7px;height:7px;border-radius:50%;background:var(--orange);display:block;flex-shrink:0}
.sky-hero h1{font-size:clamp(3.4rem,6.5vw,6rem);line-height:.98;letter-spacing:-.04em;font-weight:600;margin:0 0 28px;text-wrap:initial}
.sky-hero h1 em{color:var(--orange)}
.sky-lede{font-size:1.05rem;line-height:1.65;max-width:380px;margin-bottom:29px}
.sky-actions{display:flex;align-items:flex-start;gap:18px;flex-direction:column}
.sky-actions .btn{gap:24px}
.text-link{font-size:.8rem;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}
.text-link span{padding-left:30px}
.sky-hero-art{position:absolute;width:67%;right:-8%;top:40px;pointer-events:none}
.city-svg{width:100%;height:auto;overflow:visible}
.building{transform-origin:0 var(--base-y);transform:scaleY(1)}
.city-annotation{opacity:1}
.city-route{stroke-dasharray:1;stroke-dashoffset:0}
.hero-floor{position:absolute;bottom:27px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding-top:21px;font-size:.69rem;letter-spacing:.025em;z-index:3}
.hero-floor>a{text-decoration:none;display:flex;align-items:center;gap:12px}
.scroll-note>span{font-size:1.4rem;line-height:1}
.sky-credentials{background:var(--paper);position:relative}
.hero-proof{margin:0;padding:38px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-bottom:1px solid var(--rule);border-top:0}
.hero-proof li{font-size:.8rem;display:block;padding:0;max-width:260px;border:0}
.hero-proof b{display:block;font-size:2rem;font-weight:550;color:var(--ink);margin-bottom:3px}
.credibility-strip{margin:0;padding:35px 0 40px;border:0;background:none;gap:70px}
.credential-label{font-size:.6rem;letter-spacing:.1em;color:var(--ink-mute)}
.recognition-awards{gap:10px}.award-emblem{height:72px}.award-logo{max-height:45px}
.publication-logos{gap:25px;opacity:.85}
.section{position:relative;border-top:1px solid var(--rule)}
.bg-alt{background:var(--paper-alt) url('assets/skyline-paper.svg')}
.split{grid-template-columns:1fr 1fr;gap:8%}
.plan-section{background-color:var(--paper);background-image:linear-gradient(rgba(149,120,70,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(149,120,70,.075) 1px,transparent 1px),url('assets/skyline-paper.svg');background-size:42px 42px,42px 42px,240px 240px;padding-bottom:65px}
.plan-section .split{align-items:center}
.plan-section .split-head{position:relative}
.plan-section h2{max-width:370px;margin-bottom:0}
.plan-city{width:112%;margin:-50px 0 -10px -16%}
.plan-city .city-annotation{display:none}
.plan-section .split>div:last-child{font-size:1.13rem;line-height:1.75}
.plan-section .split>div:last-child p+p{margin-top:30px}
.map-caption{font-size:.67rem;color:var(--ink-mute)}
.dark{background:var(--ink) url('assets/skyline-paper.svg');color:var(--paper)}
.dark h2 em{color:var(--yellow)}
.wt h2{max-width:770px;margin-bottom:65px}
.wt-grid{gap:6%}
.wt-label{font-size:.65rem;letter-spacing:.06em}
.wt-label-live{color:var(--yellow)}
.wt-label-dead{color:#c4c4ac}
.wt-list li{color:#c7cbbb;padding:12px 0}
.wt-list li::before{color:#bcc6b6}
.wt-verdict{color:#e2dfc9}
.wt-result-line{font-size:1.22rem}
.wt-stats{gap:25px;margin:40px 0}
.wt-stats b{font-family:var(--sans);color:var(--yellow);font-size:clamp(2.3rem,4vw,3.4rem);font-weight:500}
.wt-stats span{color:#e2dfc9}
.wt-credo{font-size:1rem}
.case-study{align-items:start}
.case-study h2{font-size:clamp(2.4rem,3.6vw,3.5rem)}
.case-photo{margin:32px 0 0}
.case-photo img{aspect-ratio:1.65;object-fit:cover}
.case-photo figcaption{margin-top:10px;font-size:.65rem;color:var(--ink-mute)}
.eyebrow{font-size:.64rem;font-weight:600;letter-spacing:.07em;color:var(--ink-mute)}
.stats{border-top:1px solid var(--rule);padding-top:28px;gap:22px;grid-template-columns:1fr 1fr 1fr}
.stat b{font-family:var(--sans);font-size:2.65rem;font-weight:500;color:var(--sage-deep)}
.stat span{font-size:.76rem}
.programs-section{background:var(--yellow) url('assets/skyline-paper.svg')}
.programs-section h2 em{color:var(--ink)}
.programs-section .lede{font-size:1.05rem;color:var(--ink)}
.program-list{border-top:1px solid var(--ink)}
.program-row{padding:30px 0;grid-template-columns:1fr 1.3fr .65fr;gap:30px;background:transparent;border-bottom:1px solid rgba(34,60,58,.35)}
.program-row--featured{background:transparent;box-shadow:none;border-left:0}
.program-row h3{font-size:1.65rem;max-width:280px;letter-spacing:-.035em}
.program-kicker{font-size:.61rem;color:var(--ink);letter-spacing:.08em}
.program-row p{font-size:.9rem;line-height:1.7;color:var(--ink)}
.arrow-link{font-size:.81rem;color:var(--ink)}
.card-grid{gap:0;border-top:1px solid var(--rule)}
.card-link{border:0;border-bottom:1px solid var(--rule);border-radius:0;padding:40px 28px 30px 0;background:none;box-shadow:none}
.card-link+.card-link{padding-left:28px;border-left:1px solid var(--rule)}
.card-link:hover{transform:none;background:#eee2c4;box-shadow:none;border-color:var(--rule)}
.card-link h3{font-size:1.55rem;line-height:1.1;max-width:230px}
.card-link:nth-child(1) h3{color:#ac3d22}.card-link:nth-child(2) h3{color:#176675}
.card-link p{font-size:.9rem;margin-top:24px}.card-cta{font-size:.66rem;letter-spacing:0;color:var(--ink)}
.steps{gap:45px}.step-n{color:var(--sage-deep);font-family:var(--sans);font-size:3rem;font-weight:400;border:0;line-height:1;margin-bottom:25px}
.step h3{font-size:1.7rem}.step-meta{color:var(--ink-mute)}.step p{font-size:.92rem}
.cta-band{overflow:hidden;padding:120px 0 135px;background:var(--blue)}
.cta-band .wrap{position:relative;z-index:2}
.cta-band h2{max-width:690px;color:var(--paper);font-size:clamp(2.9rem,5vw,4.7rem)}
.cta-band h2 em{color:var(--yellow)}
.cta-band .lede{color:var(--paper);max-width:520px;font-size:1.1rem}
.cta-band .btn-fill{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.cta-band .btn-fill:hover{background:var(--paper);border-color:var(--paper)}
.closing-city{position:absolute;width:680px;right:-150px;bottom:-180px;opacity:.55;pointer-events:none}
.closing-city .city-annotation,.closing-city .map-ground{display:none}
.footer{background:var(--ink);color:var(--paper);padding-top:65px;border-top:1px solid rgba(248,239,217,.2)}
.footer .wordmark{display:inline-block}.footer-grid{gap:45px}.footer-col h2{font-size:.75rem;font-weight:550;letter-spacing:0}
.footer-tag,.footer-col a,.footer-meta,.footer-lockup{color:#d3d5c2}
.footer-meta{border-top:1px solid rgba(248,239,217,.2)}
.concept-toolbar{position:fixed;bottom:0;left:0;right:0;z-index:40;height:42px;background:var(--paper);border-top:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:.66rem;letter-spacing:.02em}
.concept-toolbar a{text-decoration:none}.concept-toolbar>span{color:var(--ink-mute)}
.motion-toggle{font:inherit;color:var(--ink);border:0;border-left:1px solid var(--rule);padding:7px 0 7px 18px;background:none;cursor:pointer;min-height:34px}
@media(min-width:1600px){.sky-hero-stage{height:860px}.sky-hero-art{right:-4%;width:65%}.sky-hero-copy{padding-top:110px}}
@media(max-width:1100px){:root{--wrap:calc(100% - 4rem)}.nav{gap:1.1rem}.sky-hero-art{width:68%;right:-10%;top:85px}.sky-hero-copy{width:57%}.sky-lede{max-width:330px}.sky-hero{height:1050px}.sky-hero-stage{height:780px}.sky-kicker{font-size:.56rem}.credibility-strip{gap:35px}.program-row{grid-template-columns:1fr 1.25fr .65fr}}
@media(max-width:900px){.masthead-inner{min-height:82px}.menu-btn{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;padding:25px 32px;background:var(--paper);border-bottom:1px solid var(--rule);align-items:stretch;gap:14px}.nav.is-open{display:flex;flex-direction:column}.nav-panel{position:static;box-shadow:none;border:0;padding:10px 15px;background:var(--paper-alt)}.nav-group{width:100%}.nav-toggle-btn{width:100%;text-align:left;justify-content:space-between}.sky-hero-copy{padding-top:65px;width:62%}.sky-hero-art{width:74%;right:-20%;top:130px}.sky-hero h1{font-size:4.1rem}.sky-hero-stage{height:800px}.sky-kicker{max-width:300px;line-height:1.8}.sky-hero-art .city-annotation{display:none}.hero-floor>span{display:none}.hero-proof{gap:25px}.credibility-strip{grid-template-columns:1fr;gap:28px}.credential-award,.credential-press{padding:0;border:0}.recognition-awards{justify-content:flex-start;gap:35px}.publication-logos{justify-content:flex-start}.split{gap:45px;grid-template-columns:1fr}.plan-section .split{grid-template-columns:1fr 1fr;gap:25px}.plan-section .split>div:last-child{font-size:.98rem}.plan-city{width:145%;margin-left:-35%}.plan-section h2{font-size:2.6rem}.wt-grid{grid-template-columns:1fr;gap:40px}.wt-pane+.wt-pane{border:0;padding:0}.case-study{grid-template-columns:1fr 1fr;gap:35px}.stats{grid-template-columns:1fr;gap:20px}.stat{display:flex;gap:20px;align-items:center}.stat b{min-width:90px;margin:0}.program-row{grid-template-columns:1fr 1.5fr}.program-row .arrow-link{grid-column:2}.card-grid--three{grid-template-columns:1fr}.card-link,.card-link+.card-link{border-left:0;padding:25px 0}.card-link h3{max-width:none}.card-link p{margin-top:10px}.steps{grid-template-columns:1fr;gap:40px}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){:root{--wrap:calc(100% - 3rem);--sect:70px}.wm-img{width:135px}.masthead-inner{min-height:75px}.sky-hero{height:auto}.sky-hero-stage{position:relative;height:1010px}.sky-hero-copy{width:100%;padding-top:45px}.sky-kicker{font-size:.55rem;max-width:none;margin-bottom:23px}.sky-hero h1{font-size:clamp(3.25rem,12.3vw,4.2rem);margin-bottom:22px}.sky-lede{font-size:.94rem;max-width:340px;line-height:1.65}.sky-actions{gap:15px}.sky-actions .btn{font-size:.71rem;gap:13px;padding:14px 14px;min-height:49px}.sky-hero-art{top:445px;right:-9%;width:116%}.hero-floor{bottom:22px;padding-top:17px}.hero-proof{gap:22px;grid-template-columns:1fr;padding:28px 0}.hero-proof li{max-width:none;display:grid;grid-template-columns:95px 1fr;align-items:center;gap:20px;font-size:.75rem}.hero-proof b{font-size:1.75rem;margin:0}.credibility-strip{padding:28px 0;gap:30px}.recognition-awards{gap:8px}.award-emblem{height:58px;width:68px}.publication-logos{gap:18px}.credential-label{font-size:.54rem}.plan-section .split,.case-study{grid-template-columns:1fr;gap:40px}.plan-section h2{font-size:3.2rem;max-width:300px}.plan-city{width:113%;margin:-50px 0 -25px -14%}.plan-section .split>div:last-child{font-size:1.02rem}.plan-section .split>div:last-child p+p{margin-top:22px}.plan-section{padding-bottom:70px}.wt h2{font-size:2.8rem;margin-bottom:40px}.wt-list li{font-size:.75rem}.wt-stats{gap:15px}.wt-stats b{font-size:2.3rem}.wt-stats span{font-size:.7rem}.wt-credo{font-size:.92rem}.case-study h2{font-size:2.9rem}.stats{grid-template-columns:repeat(3,1fr);gap:16px}.stat{display:block}.stat b{font-size:2.5rem;min-width:0;margin-bottom:9px}.stat span{font-size:.68rem}.program-row{grid-template-columns:1fr;gap:15px;padding:28px 0}.program-row .arrow-link{grid-column:auto}.program-row h3{max-width:none}.programs-section h2{font-size:2.8rem}.program-row p{max-width:50ch}.card-link h3{font-size:1.8rem}.steps{gap:45px}.step-n{font-size:2.6rem;margin-bottom:16px}.cta-band{padding:75px 0 190px}.cta-band h2{font-size:3.05rem}.cta-band .lede{font-size:1rem}.closing-city{width:400px;right:-110px;bottom:-180px;opacity:.35}.footer-grid{gap:35px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-col a{font-size:.78rem}.footer-meta{font-size:.65rem}.concept-toolbar{padding:0 13px;font-size:.6rem}.concept-toolbar>span{display:none}.motion-toggle{padding-left:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.building{transform:none!important}.city-route{stroke-dashoffset:0!important}.city-annotation{opacity:1!important}.sky-hero{height:auto}.sky-hero-stage{position:relative}}

.motion-toggle:disabled{cursor:default;color:var(--ink-mute)}
.wordmark .wm-img{height:30px;width:auto}
.nav a,.nav-toggle-btn{font-size:.82rem}
/* Clear the incumbent sticky-heading offset inside the concept's new grids. */
.split > .split-head{position:static;top:auto}
/* Keep the story readable immediately; reserve motion for architecture. */
.wt-list li{opacity:1;transform:none;transition:none}
.hero-proof li{font-family:var(--sans);text-transform:none;letter-spacing:0;line-height:1.5}
@media(max-width:600px){.sky-hero h1{font-size:clamp(2.6rem,11.9vw,4.2rem)}}
@media(min-width:901px) and (max-height:850px){
  .sky-hero{height:calc(100svh + 212px);min-height:910px}
  .sky-hero-stage{height:calc(100svh - 140px);min-height:560px}
  .sky-hero-copy{padding-top:40px}
  .sky-kicker{margin-bottom:18px}
  .sky-hero h1{font-size:clamp(3.5rem,10svh,6rem);margin-bottom:22px}
  .sky-lede{font-size:.96rem;line-height:1.6;max-width:410px;margin-bottom:20px}
  .sky-actions{flex-direction:row;align-items:center;gap:24px}
  .sky-actions .btn{font-size:.73rem;padding:13px 16px;gap:15px}
  .sky-actions .text-link{font-size:.73rem;white-space:nowrap}
  .sky-actions .text-link span{padding-left:12px}
  .sky-hero-art{width:min(67%,calc((100svh - 160px)*1.17));top:-40px;right:-7%}
  .hero-floor{bottom:18px;padding-top:14px}
}
.program-row--featured{margin-inline:0;padding-inline:0}

/* Research translates selection criteria into the work Hallpass performs. */
.selection-research{background:var(--paper) url('assets/skyline-paper.svg')}
.selection-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:end;margin-bottom:48px}
.selection-intro h2{max-width:570px;margin-bottom:0}
.selection-premise{font-size:1rem;line-height:1.65}
.selection-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}
.selection-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.selection-table th,.selection-table td{border-bottom:1px solid var(--rule);padding:25px 0;vertical-align:top}
.selection-table thead th{font-size:.68rem;letter-spacing:.035em;font-weight:500;padding:14px 0;border-top:1px solid var(--ink);color:var(--ink-mute)}
.selection-table thead th:first-child{width:34%}
.selection-table thead th:nth-child(2){width:17%}
.selection-table thead th:last-child{width:49%}
.selection-table tbody th{padding-right:35px;font-weight:500}
.selection-topic{display:block;font-size:1.35rem;line-height:1.2;letter-spacing:-.02em;max-width:300px}
.selection-question{display:block;margin-top:10px;font-size:.78rem;line-height:1.5;font-weight:400;color:var(--ink-mute);max-width:270px}
.selection-table .selection-percent{font-family:var(--sans);font-size:2rem;font-weight:500;line-height:1.15;color:var(--sage-deep);font-variant-numeric:tabular-nums}
.selection-percent span{font-size:1.1rem;margin-left:2px}
.selection-table td p{font-size:.93rem;line-height:1.65;max-width:60ch}
.selection-source{font-size:.72rem;line-height:1.65;color:var(--ink-mute);max-width:105ch;margin:20px 0 0}
.selection-source a{color:var(--ink);text-underline-offset:3px}
.selection-connection{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin:40px 0 25px;padding-top:28px;border-top:1px solid var(--rule)}
.selection-connection p{font-size:.91rem;line-height:1.65;margin:0}
.selection-connection strong{font-weight:600}
.selection-connection a{white-space:nowrap;font-size:.76rem}
@media(max-width:700px){
  .selection-intro,.selection-connection{grid-template-columns:1fr;gap:24px}
  .selection-intro{margin-bottom:30px}
  .selection-intro h2{font-size:2.8rem}
  .selection-table,.selection-table tbody{display:block}
  .selection-table thead{display:none}
  .selection-table tr{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:15px 20px;padding:25px 0;border-top:1px solid var(--rule)}
  .selection-table tbody tr:last-child{border-bottom:1px solid var(--rule)}
  .selection-table th,.selection-table td{border:0;padding:0}
  .selection-table tbody th{padding-right:0}
  .selection-table td:last-child{grid-column:1/-1}
  .selection-table .selection-percent{text-align:right}
  .selection-topic{font-size:1.3rem}
  .selection-question{font-size:.77rem}
  .selection-table td p{font-size:.92rem}
  .selection-source{font-size:.7rem;margin-top:22px}
  .selection-connection{margin-top:28px;padding-top:25px}
}
