/* Shared shell: full-width visual surfaces, bounded reading columns. */
:root{--page-gutter:clamp(24px,5.5vw,112px);--opening-title-size:clamp(38px,3.8vw,84px);--opening-lead-size:clamp(20px,1.85vw,40px);--reading-width:1320px}
html{scroll-padding-top:calc(var(--chrome-h) + 16px)}
body{min-width:0}*,*::before,*::after{box-sizing:border-box}
.pasc-chrome{gap:clamp(12px,2vw,32px);padding-inline:var(--page-gutter)}
.pasc-chrome nav{min-width:0}
.pasc-chrome>:is(.theme-toggle,.sound-toggle,.audio-toggle,.site-playback,.atlas-playback,.engage-playback){flex-shrink:0}
.site-playback{display:flex;align-items:center;margin-left:auto}
.pasc-chrome .site-playback button{display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:1px solid var(--site-line);border-radius:50%;background:transparent;color:var(--site-ink);cursor:pointer}
.pasc-chrome .site-playback svg{width:20px;height:20px;fill:currentColor}
body[data-page=making] main{width:100%;max-width:none;padding:0}
body[data-page=making] :is(.map-top,.map-caption,.collection-head,.detail-bar){padding-inline:var(--page-gutter)}
body[data-page=making] .map-window>.intro{padding-left:var(--page-gutter)}
body[data-page=home] .california{padding-inline:0}
body[data-page=home] .cal-copy{padding-left:var(--page-gutter)}
body[data-page=home] .cal-selector button{padding-inline:clamp(16px,2vw,32px)}
body[data-page=fun] :is(.fun-hero.banner,.band.split){width:100%;max-width:none;padding-inline:var(--page-gutter)}
body[data-page=fun] .band.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
body[data-page=fun] .band-col{min-width:0}
body[data-page=fun] .band-col:not(.media){max-width:640px}
body[data-page=fun] .band-head{max-width:var(--reading-width)}
body[data-page=stage] .stage-page{max-width:none;padding-inline:var(--page-gutter)}
.talk-story-track>.talk-slide{overflow:hidden;min-width:0}
.talk-story-track>.talk-slide>*{min-width:0;max-width:100%}
@media(max-width:800px){
 :root{--page-gutter:clamp(24px,5.5vw,44px);--opening-title-size:clamp(34px,8vw,44px);--opening-lead-size:22px;--chrome-h:110px}
 .pasc-chrome{display:grid;grid-template-columns:minmax(80px,1fr) auto auto auto;grid-template-rows:44px 42px;gap:0 10px;height:110px;padding:8px 16px}
 .pasc-chrome .pasc-brand{grid-column:1;grid-row:1}
 .pasc-chrome nav{grid-column:1/-1;grid-row:2;width:100%;gap:0;justify-content:space-between;overflow:visible}
 .pasc-chrome nav a{font-size:10px;letter-spacing:.02em;min-height:42px;padding:0 3px}
 .pasc-chrome :is(.site-playback,.atlas-playback,.engage-playback){grid-column:2;grid-row:1;order:initial;margin:0}
 .pasc-chrome .theme-toggle{grid-column:3;grid-row:1;margin:0}
 .pasc-chrome>button:not(.theme-toggle){grid-column:4;grid-row:1;margin:0}
 .pasc-chrome :is(.site-playback,.atlas-playback,.engage-playback) button{width:34px;height:34px;min-height:34px}
 .pasc-chrome>:is(.theme-toggle,button){width:34px;height:34px;min-height:34px;padding:0}
 /* HOME: portrait lands on the offering bar; its glass detail follows on mobile. */
 body[data-page=home] .cal-stage{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0!important;padding:0 var(--page-gutter)!important}
 body[data-page=home] .cal-copy{position:relative;width:100%;max-width:none;padding:28px 0 20px}
 body[data-page=home] .cal-portrait{position:relative;inset:auto!important;align-self:center;width:min(120vw,700px)!important;max-width:none;height:auto!important;aspect-ratio:1/1.08125;margin:0}
 body[data-page=home] .cal-landscape{inset:var(--home-copy-height,500px) 0 0;height:auto}
 body[data-page=home] #cal-offer{position:relative;inset:auto!important;width:calc(100% - 40px)!important;max-width:420px;margin:20px auto;height:auto!important;min-height:var(--mobile-offer-height,0px);transform:none}
 body[data-page=home] .cal-offer-measure{max-width:calc(100% - 40px)}
 body[data-page=home] .cal-scene-caption{display:none}
 body[data-page=home] .cal-view-controls{top:auto;bottom:16px;right:24px}
 body[data-page=home] .cal-view-controls #cal-reset{display:none}
 body[data-page=home] .cal-selector{display:flex;overflow-x:auto;scroll-snap-type:x proximity}
 body[data-page=home] .cal-selector button{flex:0 0 190px;padding:18px 16px;border-top:0;scroll-snap-align:center}
 body[data-page=home] .cal-selector strong{font-size:14px}
 /* ENGAGE glass stays in the reading flow, independent of tab position. */
 .engage-opening{padding:32px var(--page-gutter);gap:12px}
 .engage-opening h1{font-size:clamp(34px,8vw,48px)}
 .profile-stage{padding:12px var(--page-gutter) 22px;min-height:0!important}
 #profile-panel{position:relative;inset:auto!important;width:100%!important;max-width:420px;margin:auto;height:auto!important;min-height:var(--mobile-profile-height,0px)}
 .profile-measure{max-width:calc(100% - 40px)}
 #profile-panel:after{display:none}
 .profile-tabs{scroll-snap-type:x proximity}.profile-tabs button{scroll-snap-align:center}
 .engage-system{width:85%;max-width:350px}
 .radar-workspace,.radar-panel{min-width:0}.radar-visual svg{max-width:100%}
 /* MAKING: map and selected card have separate, stable space. */
 body[data-page=making] .atlas>.intro{padding:28px var(--page-gutter) 0;display:block}
 body[data-page=making] .map-layout{height:460px;min-height:460px;margin:0 12px}
 body[data-page=making] .map-window{height:100%;width:calc(100% - 90px);--destination-column:90px}
 body[data-page=making] .node span{display:none}
 body[data-page=making] .node.selected span{display:block;font-size:11px;max-width:95px}
 body[data-page=making] .cone-path{font-size:10px;padding:5px;width:90px}
 body[data-page=making] .scenario-labels .destination{font-size:11px}
 body[data-page=making] .scenario-labels .destination-1{font-size:14px}
 body[data-page=making] .scenario-labels .destination-2{font-size:12px}
 body[data-page=making] #glass{position:relative;inset:auto!important;width:calc(100% - 40px);max-width:420px;max-height:none;margin:12px auto 24px;min-height:310px;overflow:visible}
 body[data-page=making] .map-caption{height:auto;min-height:35px}
 body[data-page=making] .paths{width:100%;height:auto;min-height:110px;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}
 body[data-page=making] .paths button{flex:0 0 190px;padding:16px;scroll-snap-align:center}
 body[data-page=making] .atlas>.phase-axis{position:relative;inset:auto;width:100%;display:grid;grid-template-columns:1fr 1fr;pointer-events:auto;padding:20px;gap:20px}
 body[data-page=making] .atlas>.phase-axis li{position:static;width:auto;padding:0;min-width:0}
 body[data-page=making] .atlas>.phase-axis h2{font-size:14px!important}
 body[data-page=making] .atlas>.phase-axis p{font-size:12px}
 /* STAGE: each chapter owns its text and media; no adjacent content can spill. */
 .stage-page .talk-hero-gallery{padding-inline:0}
 .talk-story-track>.talk-slide{display:flex;flex-direction:column;gap:24px;height:auto}
 .talk-story-track .chapter-copy{position:static;min-height:0;height:auto;background:none}
 .talk-story-track .chapter-media{position:static;width:100%}
 .talk-story-track .chapter-copy>p{line-height:1.65}
 .talk-story-track .speaker-faces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .talk-story-track .story-edge{display:none}
 .talk-story-controls{padding-top:16px}
 .innovit-speaker-slots>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .book-shelf,.mentions-grid{min-width:0}
 /* FUN: editorial columns stack; galleries retain their own horizontal movement. */
 body[data-page=fun] .band.split{grid-template-columns:minmax(0,1fr);gap:24px}
 body[data-page=fun] .fun-hero{padding:32px var(--page-gutter)}
 body[data-page=fun] :is(.media-solo,.embeds-wrap){max-width:100%;padding-inline:var(--page-gutter)}
 body[data-page=fun] :is(iframe,video){max-width:100%}
 .pasc-site-footer{padding-inline:var(--page-gutter)}
}
@media(max-width:360px){.pasc-chrome{padding-inline:10px;gap:0 7px}.pasc-chrome nav a{font-size:9px;padding-inline:2px}.pasc-brand{width:80px}}
@media(max-width:800px){
 html body .pasc-chrome nav{gap:0;justify-content:space-between}
 html body .pasc-chrome nav a{font-size:11px;letter-spacing:0;flex:1;min-width:0;justify-content:center;padding:0 2px}
 html body .pasc-chrome nav a[aria-current=page]:after{left:5px;right:5px}
}
@media(max-width:360px){html body .pasc-chrome nav a{font-size:10px}}
@media(max-width:800px){
 .talk-hero-gallery .story-side-glow{left:0;right:0}
 body[data-page=home] .cal-view-controls{position:absolute;inset:14px 16px auto auto;margin:0}
 body[data-page=home] .cal-view-controls #cal-reset{display:grid;place-items:center}
}
.talk-hero-gallery .story-side-glow{left:0;right:0}

/* Keep desktop text spacing independent of the space reserved for the glass. */
@media(min-width:801px){body[data-page=home] .cal-copy{padding-bottom:32px}}
@media(max-width:800px){body[data-page=home] #cal-offer:after{display:none}}

@media(max-width:800px){body[data-page=home] .cal-selector .cal-number{flex-shrink:0}body[data-page=home] .cal-selector button>span:last-child{min-width:0}}

/* One opening scale and one page edge for HOME, MAKING and ENGAGE. */
html body:is([data-page=home],[data-page=making],[data-page=engage]) :is(.cal-copy,.intro,.engage-opening) h1{font-size:var(--opening-title-size);line-height:1.04;letter-spacing:-.045em}
body[data-page=engage] .engage-opening{max-width:none;padding-inline:var(--page-gutter)}
html body[data-page=home] .cal-copy>p:not(.cal-bio),html body[data-page=engage] .engage-opening>div>.lead:last-child{font-size:var(--opening-lead-size);line-height:1.3}
html body[data-page=home] .cal-copy .cal-bio{font-size:clamp(18px,1.6vw,36px);line-height:1.35}
body[data-page=making] .map-window>.intro{left:0;padding-left:var(--page-gutter);max-width:100%}
@media(max-width:800px){
 body[data-page=making] .atlas>.intro{padding-inline:var(--page-gutter)}
 html body[data-page=home] .cal-copy .cal-bio{font-size:19px}
 body[data-page=home] .cal-copy{padding-left:0}
}

@media(min-width:801px){body[data-page=home] .cal-copy{width:42%}}

/* ENGAGE: the profile glass shares the lower part of the animated cover. */
body[data-page=engage] .engage-opening{padding-top:32px;padding-bottom:0;align-items:start}
body[data-page=engage] .engage-opening h1{margin-top:12px}
body[data-page=engage] .engage-system{width:100%;max-width:520px;justify-self:end}
body[data-page=engage] .profiles-section{position:relative;margin-top:calc(-1 * var(--profile-overlap,0px))}
@media(max-width:800px){
 body[data-page=engage] .engage-opening{gap:0;padding-top:24px}
 body[data-page=engage] .engage-system{width:85%;max-width:320px;justify-self:center}
 body[data-page=engage] .profile-stage{padding-top:0}
}

/* Keep MAKING's editorial edges aligned with the shared page gutter. */
html body[data-page=making] :is(.map-window>.intro,.atlas>.intro){padding-inline:var(--page-gutter);left:0;max-width:100%}
html body[data-page=making] #project-list{padding-inline:var(--page-gutter);scroll-padding-inline:var(--page-gutter)}
html body[data-page=making] .paths button{padding-inline:clamp(20px,2.2vw,36px)}
html body[data-page=making] #detail-content{padding-inline:var(--page-gutter)}

/* Two navigation groups: HOME STAGE ENGAGE | MAKING REAL FUN. */
.pasc-nav-separator{display:block;align-self:center;flex:0 0 1px;width:1px;height:18px;background:var(--site-line);margin-inline:clamp(3px,.6vw,10px)}
@media(max-width:800px){.pasc-chrome nav .pasc-nav-separator{height:14px;margin-inline:4px}}
