/* v33a — metric-matched fallbacks so swap does not jump typography */
@font-face{font-family:"Barlow Fallback";src:local("Arial"),local("Helvetica Neue"),local("Helvetica"),local("Liberation Sans");size-adjust:116.3%;ascent-override:86%;descent-override:17.2%;line-gap-override:0%;font-style:normal;font-weight:100 900}
@font-face{font-family:"Display Fallback";src:local("Arial Narrow"),local("Liberation Sans Narrow"),local("Helvetica Condensed"),local("Arial");size-adjust:112.5%;ascent-override:88.9%;descent-override:17.8%;line-gap-override:0%;font-style:normal;font-weight:100 900}
@font-face{font-family:"Bebas Fallback";src:local("Arial Narrow"),local("Liberation Sans Narrow"),local("Helvetica Condensed"),local("Arial");size-adjust:87.8%;ascent-override:102.5%;descent-override:34.2%;line-gap-override:0%;font-style:normal;font-weight:400}

@font-face{font-family:Display;src:url('/assets/fonts/display.woff2') format('woff2'),url('/assets/fonts/display.ttf') format('truetype');font-display:swap}@font-face{font-family:Body;src:url('/assets/fonts/body.woff2') format('woff2'),url('/assets/fonts/body.ttf') format('truetype');font-display:swap}
:root{--bg:#080808;--ink:#f5f5f2;--muted:#bdbdbd;--panel:#131313;--rule:#353535;--field:#191919;--pink:#FF007A;--display:clamp(40px,4.6vw,72px);--h2:clamp(28px,2.5vw,44px);--body:clamp(16px,1.15vw,20px);--small:clamp(14px,1vw,16px);--pad:5vw;--content-max:1320px;--header-height:156px}
html[data-theme=light]{--bg:#fff;--ink:#101010;--muted:#484848;--panel:#f4f4f1;--rule:#ccc;--field:#f4f4f1}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:170px}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--body)/1.5 Body,Barlow,"Barlow Fallback",Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2{font-family:Display,"Display Fallback","Arial Narrow",sans-serif;font-weight:800;letter-spacing:-.015em;line-height:1.04}h1{font-size:var(--display)}h2{font-size:var(--h2)}h3{font:600 var(--body)/1.25 Body,Barlow,"Barlow Fallback",Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--pink)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}button:disabled{cursor:default}a,button,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--pink);outline-offset:5px}[hidden]{display:none!important}.pink,.status-note{color:var(--pink)}.small{font-size:var(--small)}.section-pad{padding:46px var(--pad)}.arrow,.bolt{width:24px;height:60px;stroke-width:2;vector-effect:non-scaling-stroke;vertical-align:middle}.arrow{width:19px;height:19px;stroke-width:2;vertical-align:middle}.bolt{width:.25em;height:.85em;stroke-width:1.1;vertical-align:-.03em}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:var(--small);font-weight:600;line-height:1.4;padding:8px 0}.text-link:hover .arrow{transform:translate(2px,-2px)}.arrow{transition:transform .2s ease}.skip{position:fixed;left:10px;top:-100px;z-index:100;padding:12px 18px;background:var(--pink);color:white}.skip:focus{top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* One wordmark, generous branding; readable navigation and context stay on screen. */
.site-header{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--rule)}.header-brand{height:86px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:0 var(--pad);transition:height .2s ease}.logo{grid-column:2;display:block;width:min(420px,34vw);line-height:0;transition:width .2s ease}.logo img{display:block;width:100%;height:auto}.office-links{display:flex;gap:20px;align-items:center;font-size:var(--small);grid-column:1;grid-row:1}.office-links [aria-current=true]{color:var(--pink)}.theme-control{display:flex;justify-self:end;gap:3px;grid-column:3;grid-row:1;border:1px solid var(--rule);border-radius:24px;padding:3px}.theme-control button{font-size:var(--small);padding:5px 10px;min-height:32px;border-radius:20px}.theme-control button[aria-pressed=true]{background:var(--ink);color:var(--bg)}#main-nav{display:flex;justify-content:center;align-items:center;gap:24px;min-height:38px;padding:0 var(--pad);font-size:var(--small);line-height:1.4}#main-nav [aria-current=page]{color:var(--pink);box-shadow:inset 0 -1px var(--pink)}#main-nav a{padding:5px 0}.context-bar{display:flex;align-items:center;gap:10px;min-height:31px;padding:3px var(--pad) 5px;font-size:var(--small);color:var(--muted);border-top:1px solid var(--rule);line-height:1.4}.context-bar>a{flex-shrink:0}.context-bar>[aria-current=page]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--ink)}.menu-toggle,.mobile-offices{display:none}.site-header.compact .header-brand{height:60px}.site-header.compact .logo{width:min(360px,31vw)}.site-header.compact #main-nav{min-height:34px}.site-header.compact .context-bar{min-height:29px}
.entry-hero{display:flex;flex-direction:column;min-height:calc(100svh - var(--header-height))}.hero-media{position:relative;flex:none;width:100%;aspect-ratio:16/9;height:auto;min-height:0;background:#101010;overflow:hidden}.hero-media>img,.hero-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-media>video{opacity:0;z-index:2}.hero-media>video.playing{opacity:1}.hero-media>iframe{position:absolute;inset:0;width:100%;height:100%;border:0;transform:none;pointer-events:none;opacity:0;z-index:2}.hero-media>iframe.playing{opacity:1}.entry-band{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:25px var(--pad) 28px;border-bottom:1px solid var(--rule)}.entry-band h1{font-size:var(--display);line-height:.99}.home-statement{padding-top:30px;padding-bottom:28px}.home-statement p{font:800 var(--h2)/1.12 Display;letter-spacing:-.015em}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.project-index{padding-top:30px;padding-bottom:30px}.project-index h1{max-width:100%;font-size:var(--display)}.work-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:25px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.work-tabs button{min-height:52px;padding:12px 16px;font-size:var(--small);line-height:1.3;text-align:left;border-right:1px solid var(--rule)}.work-tabs button:first-child{padding-left:0}.work-tabs button:last-child{border:0}.work-tabs [aria-selected=true]{color:var(--pink);box-shadow:inset 0 -2px var(--pink)}.work-tabs button:hover{background:var(--panel)}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}.project{min-width:0}.film{display:block;position:relative;width:100%;padding:0;aspect-ratio:16/9;background:var(--panel);overflow:hidden}.film>img{display:block;width:100%;height:100%;object-fit:cover}.preview-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.preview-layer>video,.preview-layer>iframe{width:100%;height:100%;object-fit:cover;opacity:0;border:0;display:block}.preview-layer>.playing{opacity:1}.film-open{position:absolute;right:12px;bottom:12px;border:1px solid #ffffff80;background:#080808b3;border-radius:50%;display:grid;place-items:center;width:38px;height:38px}.film-open .arrow{width:21px;height:21px}.project h3{margin:9px 0 6px}.project-facts{display:flex;flex-wrap:wrap;gap:3px 20px;font-size:var(--small);line-height:1.4;color:var(--muted)}.project-facts b{font-weight:400;color:var(--ink)}.project-foot{display:flex;justify-content:space-between;gap:14px;margin-top:6px;font-size:var(--small);line-height:1.4;color:var(--muted)}.project-foot>span{min-width:0}.project-foot>a{white-space:nowrap;color:var(--ink)}.project-foot .arrow{width:15px;height:15px}.view-more{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:26px;font-size:var(--small);font-weight:600}.facts-note{color:var(--muted);margin-top:10px}.work-empty{padding:45px 30px;min-height:230px;background:var(--panel);display:grid;gap:18px;align-content:center}.work-empty p{max-width:600px}.work-empty .empty-category{color:var(--pink)}
.explore{padding-top:25px;padding-bottom:30px}.teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 36px}.teaser{border-top:1px solid var(--rule);padding-top:20px;display:flex;flex-direction:column;align-items:start;gap:12px;min-width:0}.teaser h2{font-size:var(--h2)}.teaser p{color:var(--muted);max-width:380px}.teaser .text-link{margin-top:auto}.team-strip{display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid var(--rule);padding-top:30px;padding-bottom:30px}.team-strip .text-link{margin-top:8px}.avatar-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;max-width:600px;width:52%}.avatar-frame{aspect-ratio:4/5;position:relative;overflow:hidden;background:var(--panel);border:1px solid var(--rule)}.avatar-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.silhouette{position:absolute;inset:12% 14% 9%;opacity:.45}.silhouette>span{display:block;position:absolute;left:29%;top:4%;width:42%;height:35%;border-radius:50%;background:var(--muted)}.silhouette>i{display:block;position:absolute;left:5%;bottom:0;width:90%;height:49%;border-radius:52% 52% 0 0;background:var(--muted)}.avatar-frame.loaded .silhouette{display:none}.departures{background:var(--panel);padding-top:30px;padding-bottom:30px}.departures .section-heading{margin-bottom:20px}.board{border-top:1px solid var(--rule)}.board-row{display:grid;grid-template-columns:95px 1fr 90px;align-items:center;gap:20px;border-bottom:1px solid var(--rule);padding:13px 0}.board-row>b{font:800 var(--h2)/1 Display}.board-row>span:last-child{text-align:right;color:var(--muted)}.board-row:last-child>b{color:var(--pink)}.board-note{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.board-note p{color:var(--muted)}.contact-cta{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:35px;padding-bottom:35px;border-bottom:1px solid var(--rule)}.contact-cta h2{max-width:700px}.site-footer{padding:28px var(--pad) 20px}.site-footer>p{font-size:var(--body);font-weight:600}.footer-links{display:flex;gap:8px 28px;flex-wrap:wrap;margin-top:13px}.footer-note{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:var(--small);padding-top:18px;margin-top:16px;border-top:1px solid var(--rule)}
/* Section pages: one idea per block, no duplicated home chapters or generic CTA stack. */
.page-intro{padding-top:36px;padding-bottom:28px}.page-intro h1{max-width:1100px}.intro-copy{max-width:760px;color:var(--muted);margin-top:22px}.content-blocks{padding-top:0;max-width:1100px}.content-blocks>article{display:grid;grid-template-columns:1fr 1.2fr;gap:35px;padding:25px 0;border-top:1px solid var(--rule)}.content-blocks article p{color:var(--muted)}.content-blocks blockquote{border-left:1px solid var(--pink);padding:0 0 0 22px;margin:25px 0}.content-blocks cite{display:block;font-size:var(--small);font-style:normal;color:var(--muted);margin-top:12px}.inline-links{display:flex;gap:30px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding-top:0}.service-grid article{border-top:1px solid var(--rule);padding-top:22px}.service-grid p{color:var(--muted);margin-top:17px}.page-next{padding-top:0;padding-bottom:25px}.page-intro+.section-pad{padding-top:10px}.process-list{list-style:none;counter-reset:steps;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 40px}.process-list li{counter-increment:steps;border-top:1px solid var(--rule);padding:18px 0 0 42px;position:relative}.process-list li:before{content:counter(steps,decimal-leading-zero);position:absolute;left:0;top:24px;color:var(--pink);font-size:var(--small)}.process-list h2{font-size:var(--h2)}.process-list p{margin-top:12px;color:var(--muted)}.team-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:25px 18px}.team-grid h2{font-size:var(--h2);margin:14px 0 8px}.team-grid p{color:var(--muted)}.team-email{display:block;margin-top:12px;overflow-wrap:anywhere}.network-page{max-width:1100px}.hubs{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:25px}.hubs article{border-top:1px solid var(--rule);padding-top:20px}.hubs p{margin-top:12px}.network-page>p{max-width:830px;color:var(--muted)}.network-page>.text-link{margin-top:18px}.journal-list{padding-top:0}.journal-list article{display:grid;grid-template-columns:150px 1fr 100px;gap:25px;align-items:center;padding:24px 0;border-top:1px solid var(--rule)}.journal-list h2{max-width:850px}.journal-list .text-link{justify-self:end}.article-page{max-width:1050px;margin:0 auto;min-height:50vh}.article-page h1{margin:20px 0 25px}.article-page>p+p{margin-top:25px}.article-page>p{max-width:760px}.edit-issue{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center;padding-top:10px}.edit-issue>img{width:100%;height:auto;max-height:350px;object-fit:cover;aspect-ratio:16/9}.edit-issue p{margin:18px 0;color:var(--muted)}.case-page{padding-top:25px}.case-page h1{margin:18px 0 25px;max-width:1200px}.case-page .film{max-width:1050px;margin:0 auto}.case-meta{display:flex;flex-wrap:wrap;gap:8px 30px;margin:20px 0 28px;font-size:var(--small);color:var(--muted)}.case-notes{max-width:850px}.case-notes p+p{margin-top:15px}.case-page>.text-link:last-child{margin-top:22px}.contact-section{display:grid;grid-template-columns:minmax(0,850px) 1fr;gap:45px;padding-top:0}form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}label{font-size:var(--body)}input,select,textarea{display:block;border:1px solid var(--rule);border-radius:0;background:var(--field);width:100%;padding:12px;color:var(--ink);font-size:var(--body);margin-top:7px;min-height:48px}textarea{resize:vertical;min-height:125px}.full{grid-column:1/-1}.submit-button{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:16px 0;text-align:left;font-size:var(--small);font-weight:600}.form-note{color:var(--muted)}.form-feedback{color:var(--pink)}.contact-section aside{border-top:1px solid var(--rule);padding-top:20px}.contact-section aside .text-link{margin-top:15px}dialog{padding:22px;background:var(--bg);color:var(--ink);border:1px solid var(--rule);width:min(1100px,94vw);max-height:94svh}dialog::backdrop{background:#000e}dialog .close{display:block;margin-left:auto;padding:0 0 18px;font-size:var(--small);min-height:40px}#player-slot{aspect-ratio:16/9}#player-slot iframe{width:100%;height:100%;border:0}dialog>p{margin-top:14px;font-size:var(--small)}
@media(min-width:1600px){:root{--pad:5vw}}
@media(max-width:1100px) and (min-width:761px){.office-links{gap:12px;flex-direction:column;align-items:start}.logo{width:340px}#main-nav{gap:14px;flex-wrap:wrap}.theme-control button{padding:5px 8px}.teaser-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-section{grid-template-columns:1fr}.journal-list article{grid-template-columns:110px 1fr 80px}.entry-band h1{font-size:var(--display)}}
@media(max-width:760px){:root{--pad:6vw;--display:clamp(32px,8vw,48px);--h2:28px;--body:16px;--small:14px;--header-height:142px}html{scroll-padding-top:155px}.section-pad{padding:30px var(--pad)}.header-brand{display:block;position:relative;height:112px;padding:0}.logo{position:absolute;top:19px;left:50%;transform:translateX(-50%);width:min(290px,78vw)}.office-links{display:none}.theme-control{position:absolute;right:var(--pad);bottom:10px;padding:2px}.theme-control button{font-size:var(--small);padding:3px 8px;min-height:30px}.menu-toggle{position:absolute;left:var(--pad);bottom:13px;display:block;font-size:var(--small);padding:4px 0;min-height:34px}.context-bar{min-height:30px;padding-top:3px;padding-bottom:4px;gap:8px}.site-header.compact .header-brand{height:96px}.site-header.compact .logo{width:min(260px,72vw);top:13px}.site-header.compact .context-bar{min-height:30px}#main-nav{display:none}.site-header.menu-open #main-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:10px var(--pad) 20px;justify-content:start;max-height:60svh;overflow-y:auto}.mobile-offices{display:flex;grid-column:1/-1;gap:30px;padding-top:12px;border-top:1px solid var(--rule)}.entry-hero{min-height:calc(100svh - var(--header-height))}.hero-media{min-height:0;height:auto;aspect-ratio:16/9}.entry-band{display:block;padding:20px var(--pad) 22px}.entry-band h1{font-size:var(--display);line-height:1.02}.home-statement{padding-top:24px;padding-bottom:20px}.project-index{padding-top:24px;padding-bottom:24px}.section-heading{gap:18px;margin-bottom:20px}.section-heading>.text-link{max-width:135px;text-align:right}.work-tabs{grid-template-columns:1fr 1fr;margin-bottom:20px}.work-tabs button{font-size:var(--small);min-height:50px;padding:12px;border-right:0;border-bottom:1px solid var(--rule)}.work-tabs button:first-child{padding-left:12px}.work-tabs button:nth-child(odd){border-right:1px solid var(--rule)}.work-tabs button:nth-child(n+3){border-bottom:0}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}.project h3{margin:8px 0 6px;min-height:2.5em;overflow-wrap:anywhere}.project-facts{display:grid;gap:4px;font-size:var(--small)}.project-foot{display:flex;flex-direction:column;gap:7px;font-size:var(--small)}.project-foot>span{min-height:2.8em}.project-foot>a{align-self:start}.film-open{width:27px;height:27px;bottom:7px;right:7px}.film-open .arrow{width:16px;height:16px}.view-more{margin-top:22px;padding:16px 0}.facts-note{margin-top:10px}.work-empty{min-height:230px;padding:28px 22px;gap:15px}.explore{padding-top:15px;padding-bottom:22px}.teaser-grid{grid-template-columns:1fr;gap:20px}.teaser{padding-top:18px;gap:8px}.teaser p{max-width:100%}.teaser .text-link{padding-top:4px}.team-strip{display:block;padding-top:24px;padding-bottom:26px}.team-strip>div{display:flex;justify-content:space-between;align-items:center;gap:20px}.team-strip .text-link{margin:0;max-width:150px}.avatar-strip{width:100%;max-width:none;gap:7px;margin-top:18px}.departures{padding-top:28px;padding-bottom:26px}.board-row{grid-template-columns:60px minmax(0,1fr) 72px;gap:12px;padding:12px 0}.board-note{display:block;margin-top:16px}.board-note>.text-link{margin-top:10px}.contact-cta{display:block;padding-top:28px;padding-bottom:28px}.contact-cta .text-link{margin-top:15px}.site-footer{padding:26px var(--pad) 20px}.footer-links{display:grid;grid-template-columns:1fr;gap:3px;margin-top:12px}.footer-links .text-link{padding:6px 0}.footer-note{display:grid;gap:10px;padding-top:15px;margin-top:14px}.page-intro{padding-top:25px;padding-bottom:20px}.page-intro h1{font-size:var(--display);overflow-wrap:anywhere}.intro-copy{margin-top:20px}.content-blocks{padding-top:0}.content-blocks>article{grid-template-columns:1fr;gap:15px;padding:22px 0}.content-blocks blockquote{padding-left:18px;margin:18px 0 25px}.inline-links{gap:22px;flex-wrap:wrap}.service-grid{grid-template-columns:1fr;gap:25px;padding-top:0}.service-grid article{padding-top:18px}.service-grid p{margin-top:12px}.page-next{padding-top:0;padding-bottom:20px}.process-list{grid-template-columns:1fr;gap:20px}.process-list li{padding:16px 0 0 34px}.process-list li:before{top:21px}.process-list p{margin-top:10px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.team-grid h2{margin-top:12px}.team-email{margin-top:10px}.journal-list{padding-top:0}.journal-list article{grid-template-columns:1fr;gap:14px;padding:23px 0}.journal-list .text-link{justify-self:start}.article-page{padding-top:24px;min-height:50svh}.article-page h1{margin:18px 0 22px;overflow-wrap:anywhere}.edit-issue{grid-template-columns:1fr;gap:22px}.edit-issue p{margin:16px 0}.case-page{padding-top:24px}.case-page h1{font-size:var(--display);overflow-wrap:anywhere;margin:18px 0 22px}.case-meta{display:grid;gap:8px;margin:18px 0 23px}.case-notes p+p{margin-top:14px}.hubs{gap:24px;margin-bottom:24px}.network-page>.text-link{overflow-wrap:anywhere}.contact-section{grid-template-columns:1fr;gap:30px;padding-top:0}form{grid-template-columns:1fr;gap:19px}input,select,textarea{font-size:var(--body)}.full{grid-column:1}.form-note{margin-top:-4px}dialog{padding:15px}.entry-band h1 .bolt{width:24px}}
@media(max-width:350px){.logo{width:78vw}.entry-band h1{font-size:var(--display)}.works-grid{grid-template-columns:1fr}.project h3,.project-foot>span{min-height:0}.project-facts{display:flex;flex-wrap:wrap}.project-foot{flex-direction:row}.project-foot>span{max-width:72%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}.hero-media>video,.hero-media>iframe,.preview-layer{display:none!important}}

#main-nav,.theme-control button{font-weight:600}.office-links,.context-bar{font-weight:500}

/* Review pass: readable selected labels on white, and no artificial caption gaps. */
html[data-theme=light] #main-nav [aria-current=page],html[data-theme=light] .work-tabs [aria-selected=true]{color:var(--ink)}
html[data-theme=light] .office-links [aria-current=true]{color:var(--ink);box-shadow:inset 0 -1px var(--pink)}
html[data-theme=light] .status-note,html[data-theme=light] .work-empty .empty-category,html[data-theme=light] .process-list li:before{color:var(--muted)}
html[data-theme=light] .form-feedback{color:var(--ink)}
@media(max-width:760px){.project h3,.project-foot>span{min-height:0}.project-foot{gap:6px}}

/* v8: two brand slogans, three large entry links, one outline brand icon. */
.bolt path{vector-effect:non-scaling-stroke}
.entry-band{flex-direction:column;align-items:flex-start;gap:16px}
.hero-cta{display:inline-flex;align-items:center;gap:18px;font-size:var(--body);font-weight:600;padding:12px 18px;border:1px solid var(--pink);min-height:48px}
.hero-cta:hover{background:var(--pink);color:var(--ink)}
#main-nav a.nav-contact{border:1px solid var(--pink);padding:7px 16px;box-shadow:none}
.home-statement .statement-detail{font:400 var(--body)/1.5 Body,Barlow,"Barlow Fallback",Arial,sans-serif;letter-spacing:normal;color:var(--muted);margin-top:12px;max-width:760px}
.teaser-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.teaser{padding:24px 0;border-bottom:1px solid var(--rule)}
.teaser h2{width:100%}
.teaser-link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.teaser-link .arrow{width:24px;height:24px}
.journal-list article{grid-template-columns:150px 1fr}
@media(max-width:760px){
 :root{--header-height:146px}
 .header-brand,.site-header.compact .header-brand{height:76px}
 .logo,.site-header.compact .logo{top:12px;width:min(290px,78vw)}
 .office-links{position:absolute;left:3vw;bottom:8px;display:flex;flex-direction:row;gap:12px;font-size:var(--small);line-height:30px}
 .theme-control{right:3vw;bottom:8px}
 .theme-control button{padding:3px 6px}
 .menu-toggle{display:none}
 #main-nav,.site-header.menu-open #main-nav{display:flex;justify-content:space-between;gap:8px;min-height:40px;padding:4px 3vw;font-size:var(--small);overflow:visible;flex-wrap:nowrap}
 #main-nav a{padding:5px 0;white-space:nowrap}
 #main-nav a.nav-contact{padding:5px 7px}
 .is-home .context-bar{display:none}
 .is-home{--header-height:116px}
 .hero-media{flex:none;min-height:0;height:auto;aspect-ratio:16/9}
 .entry-hero{min-height:0}
 .entry-band{display:flex;gap:12px;padding:16px var(--pad)}
 .entry-band h1{line-height:1.02}
 
 .hero-cta{padding:9px 12px;min-height:44px}
 .teaser-grid{grid-template-columns:1fr;gap:16px}
 .teaser{padding:16px 0}
 .teaser-link{min-height:48px}
 .journal-list article{grid-template-columns:1fr;gap:12px}
}

/* v9 — portfolio first. Only two signature effects: flap and a brief page reveal. */
.arrow,.bolt{fill:none;stroke:var(--pink);stroke-linejoin:round;stroke-linecap:round;flex-shrink:0}
.bolt{width:24px;height:60px;stroke-width:2;vertical-align:middle}
.bolt path{vector-effect:non-scaling-stroke}
.header-brand,.logo,.arrow{transition:none}
.text-link:hover .arrow{transform:none}
#main-nav,.site-header.menu-open #main-nav{justify-content:center}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;text-align:center}
.site-footer>p,.footer-note{text-align:center}
.footer-note{justify-content:center}
.inline-links{justify-content:center}
.page-next{text-align:center}
.teaser-link{justify-content:center}
.teaser{align-items:center;text-align:center}
.entry-band{align-items:center;justify-content:center;text-align:center;border-bottom:0;padding-top:24px;padding-bottom:24px}
.entry-band h1{font-size:var(--h2);line-height:1.08}
.home-statement{padding-top:48px;padding-bottom:80px;text-align:center}
.home-statement p{font:400 var(--body)/1.5 Body,Barlow,"Barlow Fallback",Arial,sans-serif;letter-spacing:normal;max-width:1080px;margin:0 auto}
.home-statement p+p{margin-top:6px;color:var(--muted)}
.editorial-work{padding:0 0 100px}
.editorial-row+.editorial-row{margin-top:96px}
.editorial-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4vw;padding:0 var(--pad)}
.editorial-bleed .project-caption{padding-right:var(--pad);padding-left:var(--pad)}
.editorial-work .project-caption{padding-top:14px}
.editorial-work .project h3{margin:0 0 5px}
.editorial-work .project-foot{margin-top:5px}
.project-caption .project-foot{display:block}
.split-flap-section{padding:100px var(--pad) 80px;text-align:center;background:var(--panel)}
.split-flap-section .section-heading{justify-content:center;gap:24px;margin-bottom:42px}
.flap-display{display:flex;justify-content:center;align-items:center;gap:32px;flex-wrap:wrap;perspective:700px}
.flap-group{display:inline-flex;justify-content:center;gap:.08em;white-space:pre}
.flap-code{font:800 var(--display)/1 Display;color:var(--pink)}
.flap-city{font:600 var(--body)/1 Body,Barlow,"Barlow Fallback",Arial,sans-serif;letter-spacing:0}
.flap-cell{display:inline-block;position:relative;width:.85em;height:1.35em;line-height:1.35;overflow:hidden;perspective:400px;background:var(--bg);border-radius:2px;color:inherit}
.flap-cell:before,.flap-cell:after,.flap-leaf{position:absolute;inset:0;display:block;text-align:center;white-space:pre;background:var(--bg);backface-visibility:hidden}
.flap-cell:before{content:attr(data-current);clip-path:inset(0 0 50%)}
.flap-cell:after{content:attr(data-next);clip-path:inset(50% 0 0)}
.flap-leaf{clip-path:inset(0 0 50%);transform-origin:50% 50%;z-index:2}
.flap-cell.flipping .flap-leaf{animation:flap-turn .18s ease-in both}
.flap-group{position:relative}
.flap-group:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rule);z-index:3;pointer-events:none}
.board-hubs{font-size:var(--small);color:var(--muted);margin:28px 0 18px}
.board-hubs .pink{margin:0 10px}
.contact-cta{display:flex;justify-content:center;align-items:center;text-align:center;padding-top:120px;padding-bottom:120px;border-bottom:0}
.contact-cta h2{font-size:var(--display);max-width:none}
.contact-cta h2 a{display:inline-flex;align-items:center;justify-content:center;gap:24px}
.contact-cta .arrow{width:32px;height:32px}
#main{animation:page-reveal .22s ease-out both}
@keyframes flap-turn{from{transform:rotateX(0)}to{transform:rotateX(-90deg)}}
@keyframes page-reveal{from{opacity:.65}to{opacity:1}}
@media(max-width:760px){
 #main-nav,.site-header.menu-open #main-nav{justify-content:center;gap:8px}
 .footer-links{display:flex;gap:8px 20px}
 .footer-note{display:flex;flex-wrap:wrap;gap:10px 20px}
 .entry-band{padding:20px var(--pad);gap:12px}
 .home-statement{padding-top:32px;padding-bottom:48px}
 .home-statement p+p{margin-top:10px}
 .editorial-work{padding-bottom:60px}
 .editorial-row+.editorial-row{margin-top:48px}
 .editorial-pair{gap:16px}
 .editorial-work .project-caption{padding-top:10px}
 .project-caption .project-foot{min-height:0}
 .split-flap-section{padding:60px var(--pad) 48px}
 .split-flap-section .section-heading{gap:16px;margin-bottom:30px}
 .flap-display{flex-direction:column;gap:22px}
 .flap-code{font-size:var(--display)}
 .board-hubs{line-height:1.6}
 .contact-cta{padding-top:72px;padding-bottom:72px}
 .contact-cta h2 a{gap:14px}
 .contact-cta .arrow{width:26px;height:26px}
}
@media(max-width:350px){.editorial-pair{grid-template-columns:1fr;gap:32px}}
@media(prefers-reduced-motion:reduce){#main{animation:none}.flap-cell.flipping .flap-leaf{animation:none}.flap-leaf{transform:none}}
/* The Work index uses the same full / pair cadence, with filters only here. */
.project-index .works-grid{gap:80px 4vw}
.project-index .works-grid>.project:nth-child(3n+1){grid-column:1/-1;margin-left:calc(-1 * var(--pad));margin-right:calc(-1 * var(--pad))}
.project-index .works-grid>.project:nth-child(3n+1) .project-caption{padding-left:var(--pad);padding-right:var(--pad)}
@media(max-width:760px){.project-index .works-grid{gap:44px 16px}}

/* v10 — every project has the same media footprint, in a 3 / 2 / 1 grid. */
.portfolio-work{padding-top:0;padding-bottom:80px}
.works-grid,.project-index .works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}
.project-index .works-grid>.project:nth-child(3n+1){grid-column:auto;margin-left:0;margin-right:0}
.project-index .works-grid>.project:nth-child(3n+1) .project-caption{padding-left:0;padding-right:0}
.project-caption{padding-top:10px}
.project-caption h3{margin-top:0}
@media(min-width:761px) and (max-width:1100px){.works-grid,.project-index .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}}
@media(max-width:760px){.works-grid,.project-index .works-grid{grid-template-columns:1fr;gap:32px}.portfolio-work{padding-top:0;padding-bottom:48px}}

/* Root entrance: the supplied wordmark, two destinations, the city board as atmosphere. */
.is-entrance{overflow-x:hidden;background:var(--bg)}
.entrance-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;display:grid;grid-template-rows:repeat(8,minmax(0,1fr));gap:4px;padding:6px;opacity:.16;color:var(--ink);font:800 clamp(24px,7.8vw,140px)/1 Display,Arial,sans-serif;contain:layout paint;user-select:none}
.entrance-board-row{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:4px;min-height:0}
.entrance-backdrop .flap-cell{width:100%;height:100%;border:1px solid var(--rule);border-radius:2px;line-height:1;background:var(--panel)}
.entrance-backdrop .flap-cell:before,.entrance-backdrop .flap-cell:after,.entrance-backdrop .flap-leaf{display:grid;place-items:center;background:var(--panel);line-height:1}
.entrance-backdrop .flap-cell:after{box-shadow:inset 0 1px var(--rule)}
.entrance-board-row{position:relative}
.entrance-board-row:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rule);z-index:3}
.entrance-main{position:relative;z-index:1;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(44px,9svh,100px);padding:100px 4vw 80px;isolation:isolate}
.entrance-main:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,var(--bg) 0%,transparent 72%);opacity:.8;pointer-events:none}
.entrance-wordmark{width:100%;margin:0;line-height:0}
.entrance-wordmark img{display:block;width:100%;height:auto}
.entrance-access{display:flex;justify-content:center;align-items:stretch;gap:24px;width:min(1040px,100%)}
.entrance-access>a{display:flex;align-items:center;justify-content:center;gap:18px;flex:1;min-width:0;min-height:88px;padding:24px 20px;border:1px solid var(--ink);background:var(--bg);font-size:var(--body);font-weight:600;text-align:center;line-height:1.4}
.entrance-access>a:hover{border-color:var(--pink);color:var(--ink)}
.entrance-access>a:focus-visible{outline:3px solid var(--pink);outline-offset:6px}
.entrance-dot{color:var(--pink);padding:0 3px}
.region-flag{display:block;width:36px;height:24px;flex-shrink:0;border-radius:1px}
.entrance-theme.theme-control{position:fixed;top:max(20px,env(safe-area-inset-top));right:max(4vw,env(safe-area-inset-right));bottom:auto;z-index:5;background:var(--bg)}
html[data-theme=light] .entrance-backdrop{opacity:.12}
@media(max-width:760px){
 .entrance-main{padding:100px 4vw 64px;gap:48px}
 .entrance-access{flex-direction:column;gap:16px;width:min(440px,100%)}
 .entrance-access>a{min-height:76px;padding:20px 14px;gap:14px;font-size:var(--body)}
 .entrance-theme.theme-control{top:max(16px,env(safe-area-inset-top));bottom:auto;right:4vw}
 .region-flag{width:30px;height:20px}
 .entrance-backdrop,.entrance-board-row{gap:2px}
}
@media(prefers-reduced-motion:reduce){.entrance-backdrop .flap-leaf{animation:none!important;transform:none}}

/* v10 polish — a real edge-to-edge airport grid, not a centered ANY column. */
.entrance-backdrop{inset:0;width:100%;height:100%;padding:0;gap:2px;opacity:.32;font-size:clamp(10px,2.5vw,44px)}
.entrance-board-row{grid-template-columns:minmax(0,12fr) minmax(0,11fr) minmax(0,12fr);gap:3px}
.entrance-city-side,.entrance-center{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;min-width:0;min-height:0}
.entrance-center{grid-template-columns:repeat(11,minmax(0,1fr))}
.entrance-backdrop .flap-cell{border-color:var(--rule);will-change:auto}
.entrance-backdrop .flap-cell.flipping .flap-leaf{will-change:transform;animation:flap-turn .18s ease-in both}
html[data-theme=light] .entrance-backdrop{opacity:.24}
.entrance-main:before{opacity:.7}
@media(max-width:760px){
 .entrance-backdrop{gap:1px}
 .entrance-board-row{gap:2px}
 .entrance-city-side,.entrance-center{gap:1px}
}
@media(prefers-reduced-motion:reduce){.entrance-backdrop .flap-cell.flipping .flap-leaf{animation:none!important;will-change:auto}}

/* v11 — an ordered two-column departure board. */
.entrance-board-row{grid-template-columns:minmax(0,12fr) minmax(0,11fr)}
.entrance-destination{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:2px;min-width:0;min-height:0}
.entrance-backdrop{font-size:clamp(14px,4.1vw,64px)}
/* Regional home media aligns to the same viewport edges as the hero. */
.portfolio-work.section-pad{padding-left:0;padding-right:0;width:100%;max-width:none}
.portfolio-work .works-grid{column-gap:6px;row-gap:32px}
.portfolio-work .project-caption{padding-left:12px;padding-right:12px}
.home-statement p{font:800 var(--h2)/1.18 Display,"Display Fallback","Arial Narrow",sans-serif;letter-spacing:-.01em;max-width:1440px;margin-left:auto;margin-right:auto;text-align:center}
.home-statement p+p{margin-top:14px;color:var(--ink)}
.social-block{margin-top:28px;padding:24px 0;border-top:1px solid var(--rule);text-align:center}
.social-block h2{font:600 var(--body)/1.3 Body,Barlow,"Barlow Fallback",Arial,sans-serif;margin-bottom:18px}
.social-links{display:flex;justify-content:center;align-items:stretch;gap:24px 48px;flex-wrap:wrap}
.social-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;min-height:58px;font-size:var(--small);line-height:1.4;font-weight:600}
.social-detail{color:var(--muted);font-weight:400}
.social-pending{cursor:default}
@media(max-width:760px){
 .entrance-destination{gap:1px}
 .portfolio-work .works-grid{column-gap:4px;row-gap:28px}
 .portfolio-work .project-caption{padding-left:10px;padding-right:10px}
 .home-statement p{font-size:var(--h2);line-height:1.2}
 .home-statement p+p{margin-top:16px}
 .social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
}
/* v11 entrance spacing fix: equal halves, explicit gutter, bounded left-aligned text. */
.entrance-board-row{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(20px,4vw,64px)}
.entrance-city-left,.entrance-destination{overflow:hidden;min-width:0}
.entrance-backdrop .flap-cell{min-width:0;overflow:hidden}
.entrance-backdrop .flap-cell:before,.entrance-backdrop .flap-cell:after,.entrance-backdrop .flap-leaf{justify-items:start;text-align:left;padding-left:2px}
@media(max-width:760px){.entrance-board-row{column-gap:16px}.entrance-backdrop{font-size:clamp(10px,3.4vw,24px)}.entrance-backdrop .flap-cell:before,.entrance-backdrop .flap-cell:after,.entrance-backdrop .flap-leaf{padding-left:1px}}

/* v12 — print campaigns: full artwork, uniform editorial frames, no new case pages. */
.print-home{padding:48px 0 72px}
.print-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 var(--pad);margin-bottom:28px;text-align:center}
.print-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 6px}
.print-card{min-width:0}
.print-cover{display:block;width:100%;padding:0;aspect-ratio:4/3;background:var(--panel);overflow:hidden}
.print-cover img{display:block;width:100%;height:100%;object-fit:cover}
.print-caption{padding:10px 12px 0}
.print-caption h3{font-size:var(--body);line-height:1.3;overflow-wrap:anywhere}
.print-details{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:3px 12px;margin-top:5px;color:var(--muted);font-size:var(--small);line-height:1.4}
#print-gallery{padding-top:6px}
#print-player{width:min(1200px,96vw);height:min(94svh,1000px);padding:18px;overflow:hidden}
#print-player[open]{display:flex;flex-direction:column;gap:12px}
.print-dialog-top{display:flex;justify-content:space-between;align-items:start;gap:20px;flex-shrink:0}
.print-dialog-top h2{font-size:var(--h2);line-height:1.1}
.print-dialog-credit{color:var(--muted);margin-top:6px}
.print-close{min-height:44px;padding:0 0 0 16px;white-space:nowrap;font-size:var(--small)}
.print-stage{display:flex;justify-content:center;align-items:center;flex:1;min-height:100px;overflow:hidden;background:var(--panel)}
.print-large{display:block;width:100%;height:100%;object-fit:contain;max-height:calc(94svh - 225px)}
.print-controls{display:flex;justify-content:center;align-items:center;gap:25px;flex-shrink:0;font-size:var(--small)}
.print-controls button{min-height:44px;padding:8px 4px}
.print-controls button:disabled{color:var(--muted);opacity:.6}
.print-thumbnails{display:flex;justify-content:center;align-items:center;gap:8px;overflow-x:auto;flex-shrink:0;padding:4px}
.print-thumbnails button{width:72px;height:54px;flex:0 0 72px;padding:0;border:1px solid var(--rule);background:var(--panel)}
.print-thumbnails button[aria-pressed=true]{border:2px solid var(--pink)}
.print-thumbnails img{display:block;width:100%;height:100%;object-fit:contain}
@media(min-width:761px) and (max-width:1100px){.print-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
 .print-home{padding-top:32px;padding-bottom:48px}
 .print-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 4px}
 .print-caption{padding:9px 10px 0}
 .print-details{display:block}
 .print-details>span{display:block}
 #print-player{padding:12px}
 .print-dialog-top{gap:12px}
 .print-controls{gap:14px}
 .print-thumbnails{justify-content:flex-start}
 .print-large{max-height:calc(94svh - 250px)}
}
/* Four discipline filters; ALL/TODOS removed. */
.work-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.work-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.work-tabs button{border-bottom:1px solid var(--rule)!important}.work-tabs button:nth-child(n+3){border-bottom:0!important}.work-tabs button:last-child{grid-column:auto;border-bottom:0!important}}
@media(max-height:500px){#print-player[open]{overflow-y:auto}.print-stage{flex:0 0 55svh}.print-large{max-height:55svh}}

/* v12 home preview: same centered text-link treatment as the Print access. */
.home-work-link{display:flex;justify-content:center;align-items:center;text-align:center;padding:28px var(--pad) 0}

/* v13 — format is an explicit, consistent frame, never a mix within a row. */
.format-tabs{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 24px;margin:0 0 28px;padding:14px var(--pad);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:var(--small);line-height:1.4}
.format-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:6px 0;font-size:var(--small)}
.format-tabs button[aria-pressed=true]{box-shadow:inset 0 -2px var(--pink);color:var(--ink)}
.format-tabs button:disabled{opacity:.4;cursor:default}
.format-count{color:var(--muted);font-size:var(--small);font-weight:400}
.format-heading{font:600 var(--small)/1.4 Body,Barlow,"Barlow Fallback",Arial,sans-serif;text-align:center;margin:0 0 18px;padding:0 12px;letter-spacing:.03em}
.print-format-group+.print-format-group{margin-top:44px}
.print-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.print-grid[data-format=horizontal] .print-cover{aspect-ratio:3/2}
.print-grid[data-format=vertical] .print-cover{aspect-ratio:2/3}
.print-grid[data-format=square] .print-cover{aspect-ratio:1/1}
.print-thumbnails{display:block;max-height:220px;overflow:auto;width:100%;padding:4px}
.print-thumbnails .format-tabs{margin-bottom:14px;padding:6px 0;gap:6px 16px;position:sticky;top:0;background:var(--bg);z-index:1}
.print-thumbnails .format-tabs button{min-height:34px}
.print-thumbnails .format-heading{margin-bottom:10px}
.print-thumb-group+.print-thumb-group{margin-top:20px}
.print-thumb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:340px;margin:0 auto}
.print-thumbnails .print-thumb-grid button{width:100%;height:auto;min-width:0;flex:none}
.print-thumb-grid[data-format=horizontal] button{aspect-ratio:3/2}
.print-thumb-grid[data-format=vertical] button{aspect-ratio:2/3}
.print-thumb-grid[data-format=square] button{aspect-ratio:1}
.print-thumb-grid img{display:block;width:100%;height:100%;object-fit:cover}
.work-format-controls .format-tabs{margin-bottom:24px;padding:8px 0;border-top:0}
@media(max-width:760px){
 .print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .format-tabs{gap:6px 14px;padding:10px 12px}
 .print-format-group+.print-format-group{margin-top:32px}
 .print-thumbnails{max-height:200px}
 .print-thumbnails .format-tabs{position:static;gap:6px 12px}
}
.print-thumbnails .format-tabs button{width:auto;height:auto;flex:0 1 auto;padding:6px 0;border:0;background:none}

/* v14 — one edge-to-edge portfolio system; format stays internal. */
.brand-impact{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}
.brand-impact .logo{position:static;transform:none}
.brand-tagline{display:flex;justify-content:center;align-items:center;gap:10px;font:600 var(--small)/1.25 Body,Barlow,"Barlow Fallback",Arial,sans-serif;white-space:nowrap}
.brand-tagline .bolt{width:13px;height:30px;stroke-width:1.5}
.is-home .header-brand{height:86px}
.is-home .site-header.compact .header-brand{height:60px}
.is-home .brand-impact-empty{min-width:0}
.entry-hero{min-height:0}
.hero-media{aspect-ratio:16/9;width:100%;height:auto;min-height:0;flex:none}
.hero-media>#home-hero{inset:0;width:100%;height:100%;transform:none;z-index:2}
.project-index.section-pad,.portfolio-work.section-pad,.print-home{width:100%;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}
.project-index>.section-heading,.work-heading{padding-left:var(--pad);padding-right:var(--pad);justify-content:center;text-align:center}
.work-heading{margin-bottom:28px}
.work-heading h2,.print-heading h2,.catalog-category-title{font:800 var(--display)/1.04 Display,"Display Fallback","Arial Narrow",sans-serif;letter-spacing:-.015em}
.catalog-category-title{padding:0 var(--pad);text-align:center;margin:0 0 28px}
.project-index .works-grid,.portfolio-work .works-grid,.print-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:6px;row-gap:32px;width:100%;max-width:none;margin:0}
.project-index .project-caption,.portfolio-work .project-caption{padding-left:12px;padding-right:12px}
.project-index .work-tabs button{text-align:center;padding-left:12px}
.preview-layer>iframe{position:absolute;left:50%;top:50%;width:var(--preview-width,100%);height:var(--preview-height,100%);transform:translate(-50%,-50%)}
.print-format-group+.print-format-group{margin-top:32px}
.contact-cta{justify-content:center;text-align:center}
.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid var(--pink);padding:20px 30px;min-height:60px;font:800 var(--h2)/1.1 Display,"Display Fallback","Arial Narrow",sans-serif}
.contact-button:hover{background:var(--pink);color:var(--ink)}
#main-nav{position:relative}
.nav-social>summary{list-style:none;cursor:pointer;min-height:34px;padding:7px 0;font-size:var(--small);font-weight:600}
.nav-social>summary::-webkit-details-marker{display:none}
.nav-social>summary:after{content:' +';color:var(--pink)}
.nav-social[open]>summary:after{content:' −'}
.nav-social>summary:focus-visible{outline:2px solid var(--pink);outline-offset:4px}
.nav-social>.social-block{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:min(720px,94vw);margin:0;padding:24px;background:var(--bg);border:1px solid var(--rule);box-shadow:0 12px 25px #0003;z-index:45}
.nav-social:not([open])>.social-block{display:none}
.nav-social .social-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.nav-social .social-item{min-width:0}
.entrance-wordmark{color:var(--ink);line-height:0}
.entrance-vector{display:block;width:100%;height:auto;overflow:visible}
@media(min-width:761px) and (max-width:1100px){
 .project-index .works-grid,.portfolio-work .works-grid,.print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .brand-impact{position:absolute;top:12px;left:50%;transform:translateX(-50%);gap:7px}
 .brand-impact .logo,.site-header.compact .brand-impact .logo{position:static;top:auto;left:auto;transform:none;width:min(290px,78vw)}
 .is-home .header-brand,.is-home .site-header.compact .header-brand{height:96px}
 .is-home .brand-impact-empty{display:none}
 .brand-tagline{gap:8px;font-size:var(--small)}
 .brand-tagline .bolt{width:10px;height:25px}
 .site-header #main-nav,.site-header.menu-open #main-nav{flex-wrap:wrap;justify-content:center;gap:2px 18px;padding:5px 3vw}
 .hero-media{aspect-ratio:16/9;height:auto}
 .project-index .works-grid,.portfolio-work .works-grid{grid-template-columns:1fr;column-gap:4px;row-gap:28px}
 .print-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4px;row-gap:28px}
 .project-index .project-caption,.portfolio-work .project-caption{padding-left:10px;padding-right:10px}
 .print-heading{gap:14px}
 .print-heading>.text-link{max-width:none;text-align:center}
 .nav-social .social-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
 .contact-button{padding:18px 24px}
}
.project-index .works-grid>.project:nth-child(3n+1) .project-caption{padding-left:12px;padding-right:12px}
@media(max-width:760px){.project-index .works-grid>.project:nth-child(3n+1) .project-caption{padding-left:10px;padding-right:10px}}

/* v15 — local silent previews, full official films loaded only on click. */
.film-preview-badge{position:absolute;right:10px;bottom:10px;padding:5px 9px;border:1px solid #ffffff80;background:#080808cc;color:#fff;font-size:var(--small);line-height:1.3}
.video-dialog-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:16px}
.video-dialog-top h2{font-size:var(--h2);line-height:1.1}
.video-dialog-top>.close{padding:0;min-height:40px;margin:0;white-space:nowrap;flex-shrink:0}
#player-slot>video{display:block;width:100%;height:100%;object-fit:contain;background:#080808}
#video-dialog-note{color:var(--muted);margin-top:12px}
@media(max-width:760px){.video-dialog-top{gap:12px}.video-dialog-top h2{font-size:var(--body)}.film-preview-badge{right:7px;bottom:7px}}

/* v16 — official extended wordmark, auto-traced from brand artwork, never re-typeset. */
.castingland-mark{display:block;width:100%;height:auto;color:#fff;overflow:visible}
html[data-theme=light] .castingland-mark{color:#000}
.logo>.castingland-mark{width:100%;height:auto}
.entrance-wordmark>.castingland-mark{width:100%;height:auto}
.footer-logo{display:block;width:min(340px,65vw);margin:0 auto 22px;line-height:0}
/* Full-bleed airport departures: every destination has its own mechanical clock. */
.network-board-section{width:100%;max-width:none;padding:88px 0 64px;background:var(--bg)}
.network-board-section>.section-heading{justify-content:center;padding:0 var(--pad);text-align:center;margin:0 0 32px}
.network-board-section h2{font-size:var(--display);overflow-wrap:normal}
.network-departures{display:grid;gap:6px;width:100%;padding:0;perspective:1000px}
.network-row{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2px,.35vw,6px);width:100%}
.network-row:after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:var(--rule);z-index:5;pointer-events:none}
.network-row .network-cell{width:100%;height:clamp(48px,9vw,126px);font:600 clamp(26px,7.4vw,108px)/1 Body,Barlow,"Barlow Fallback",Arial,sans-serif;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:2px;min-width:0;contain:layout paint}
.network-row .flap-cell:before,.network-row .flap-cell:after,.network-row .flap-leaf,.network-row .flap-under{position:absolute;inset:0;display:grid;place-items:center;line-height:1;background:var(--panel);color:inherit;white-space:pre;backface-visibility:hidden;transform-origin:50% 50%}
.network-row .flap-cell:before{content:attr(data-current);clip-path:inset(0 0 50%)}
.network-row .flap-cell:after{content:attr(data-current);clip-path:inset(50% 0 0)}
.network-row .flap-cell.flipping:before{content:attr(data-next)}
.network-row .flap-leaf{clip-path:inset(0 0 50%);z-index:3}
.network-row .flap-under{clip-path:inset(50% 0 0);transform:rotateX(90deg);z-index:4}
.network-row .flap-cell.flipping .flap-leaf{animation:network-flap-top .13s ease-in both}
.network-row .flap-cell.flipping .flap-under{animation:network-flap-bottom .13s .13s ease-out both}
.network-access{display:flex;justify-content:center;padding:30px var(--pad) 0;text-align:center}
.network-access .text-link{border-bottom:1px solid var(--pink)}
@keyframes network-flap-top{from{transform:rotateX(0)}to{transform:rotateX(-90deg)}}
@keyframes network-flap-bottom{from{transform:rotateX(90deg)}to{transform:rotateX(0)}}
@media(max-width:760px){
 .network-board-section{padding:54px 0 44px}
 .network-board-section>.section-heading{margin-bottom:24px;padding-left:3vw;padding-right:3vw}
 .network-board-section h2{font-size:clamp(28px,7vw,42px)}
 .network-departures{gap:4px}
 .network-row .network-cell{height:clamp(42px,10vw,76px);font-size:clamp(19px,6.4vw,48px)}
 .network-access{padding-top:24px}
}
@media(prefers-reduced-motion:reduce){.network-row .flap-cell.flipping .flap-leaf,.network-row .flap-cell.flipping .flap-under{animation:none!important}.network-row .flap-under{display:none}}

/* v16b — one horizontal, independently timed city strip; scroll on small screens. */
.network-board-section h2{display:inline-flex;align-items:center;justify-content:center;gap:.22em;white-space:nowrap}
.network-rocket{display:inline-block;flex:0 0 auto;width:.67em;height:.82em;stroke:currentColor;overflow:visible}
.network-departures{grid-template-columns:repeat(5,minmax(250px,1fr));gap:clamp(8px,1vw,16px);overflow-x:auto;overflow-y:hidden;max-width:100%;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--pink) var(--panel)}
.network-departures:focus-visible{outline:1px solid var(--pink);outline-offset:4px}
.network-row{gap:1px;scroll-snap-align:start;--city-ink:#fff}
.network-row:nth-child(even){--city-ink:#FF007A}
.network-row .network-cell{height:clamp(44px,4vw,68px);font-size:clamp(17px,1.65vw,29px);color:var(--city-ink)}
html[data-theme=light] .network-row:nth-child(odd){--city-ink:#101010}
/* Subdued airport atmosphere, with a fine stationary alignment grid. */
.is-entrance:after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.055) 1px,transparent 1px);background-size:64px 64px}
html[data-theme=light] .is-entrance:after{background-image:linear-gradient(to right,rgba(0,0,0,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(0,0,0,.055) 1px,transparent 1px)}
.is-entrance .entrance-backdrop{opacity:.085}
html[data-theme=light] .is-entrance .entrance-backdrop{opacity:.065}
@media(max-width:760px){
 .network-board-section h2{font-size:clamp(24px,6.5vw,42px)}
 .network-row .network-cell{height:48px;font-size:19px}
 .is-entrance:after{background-size:40px 40px}
}

/* v17 — one signature typography system for every visible brand tagline. */
@font-face{font-family:BrandBarlow;src:url('/assets/fonts/Barlow-Regular.woff2') format('woff2'),url('/assets/fonts/Barlow-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:BrandBarlow;src:url('/assets/fonts/BarlowSemiCondensed-Bold.woff2') format('woff2'),url('/assets/fonts/BarlowSemiCondensed-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
.brand-tagline,.site-footer>.brand-tagline{font-family:BrandBarlow,Barlow,"Barlow Fallback",Arial,sans-serif;font-style:normal;font-weight:400;font-size:var(--small);line-height:1.25;letter-spacing:0;font-synthesis:none;gap:10px}
.brand-tagline strong{font-family:inherit;font-weight:700}
.brand-tagline .bolt{width:11px;height:27px;fill:none;stroke:#FF007A;stroke-width:1.3;flex:0 0 auto}
.site-footer>.brand-tagline{margin:0 auto 24px;justify-content:center}
@media(max-width:760px){.brand-tagline,.site-footer>.brand-tagline{font-size:14px;gap:8px}.brand-tagline .bolt{width:9px;height:23px}}

/* v17b — reference-checked signature slogan: measured spacing and stronger, slightly taller ending. */
.brand-tagline>span{letter-spacing:.075em}
.brand-tagline strong{font-size:1.1em;letter-spacing:.035em}

/* === v18 nav/footer/contact/social/sections === */
.region-flag{display:none!important}
.entrance-access>a{gap:0}
.site-footer{padding:36px var(--pad) 28px;text-align:center}
.site-footer .footer-logo{margin:0 auto 18px}
.site-footer .footer-links,.site-footer .brand-tagline{display:none}
.footer-note{display:block;border:0;margin:0;padding:0;text-align:center;color:var(--muted);font-size:var(--small)}
.section-title,.page-intro h1{font-size:var(--display);line-height:1.02;letter-spacing:-.02em;max-width:1100px}
.network-copy{padding-top:8px;padding-bottom:48px}
.network-copy p{max-width:830px;margin:0 auto;text-align:center;color:var(--muted)}
.contact-section aside.contact-aside,.contact-aside{border-top:1px solid var(--rule);padding-top:20px;display:grid;gap:28px}
.contact-aside .social-block h2{font-size:var(--h2);margin:0 0 16px}
.contact-aside .social-links{display:grid;grid-template-columns:1fr;gap:14px}
.contact-aside .social-item{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid var(--rule)}
.contact-aside .social-item:last-child{border-bottom:0}
.contact-aside .social-detail{color:var(--muted)}
.blog-coming-soon .status-note{color:var(--pink);font-size:var(--small);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin:8px 0 18px}
.blog-coming-soon .blog-next{margin-top:36px;padding-top:24px;border-top:1px solid var(--rule)}
.blog-coming-soon .blog-next h2{font-size:var(--h2);margin-bottom:10px}
#main-nav a.is-current, #main-nav a[aria-current=page]{color:var(--pink)}
@media(max-width:760px){
  .contact-aside .social-links{grid-template-columns:1fr}
  .network-copy{padding-bottom:36px}
}



/* === v20 — hero logo high, credit base-left, network eyebrow + centered board, home rhythm === */
.is-home{--header-height:124px}
.is-home .brand-impact-empty{pointer-events:none}
.entry-hero{min-height:0!important;display:block}
.hero-media{position:relative;width:100%;aspect-ratio:16/9;height:auto;min-height:0;max-height:none;flex:none;background:#101010;overflow:hidden}
.hero-media>.hero-poster,.hero-media>img.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:1}
.hero-media>#home-hero,.hero-media>iframe#home-hero{position:absolute;inset:0;width:100%;height:100%;max-width:none;border:0;transform:none;pointer-events:none;opacity:0;z-index:2}
.hero-media>#home-hero.playing,.hero-media>iframe#home-hero.playing{opacity:1}
.hero-overlay{position:absolute;inset:0;z-index:3;pointer-events:none}
.hero-overlay a{pointer-events:auto}

/* Soft top scrim for logo legibility (not bottom) */
.hero-scrim{position:absolute;left:0;right:0;top:0;bottom:auto;width:100%;height:46%;transform:none;background:linear-gradient(to bottom,rgba(0,0,0,.62) 0%,rgba(0,0,0,.34) 42%,rgba(0,0,0,.1) 72%,rgba(0,0,0,0) 100%);pointer-events:none}

/* Institutional logo high under menu, with air — not over faces */
.hero-brand{position:absolute;left:50%;top:clamp(16px,3.8%,34px);bottom:auto;transform:translateX(-50%);width:min(780px,84vw);display:flex;flex-direction:column;align-items:stretch;gap:10px;z-index:4}
.hero-logo{display:block;width:100%;line-height:0;color:#fff}
.hero-logo>.castingland-mark,.hero-logo .hero-vector{width:100%;height:auto;color:#fff;overflow:visible;filter:drop-shadow(0 2px 16px rgba(0,0,0,.5))}
.hero-tagline,.brand-tagline.hero-tagline{display:flex;justify-content:flex-end;align-items:baseline;align-self:stretch;margin:0;padding:0 3.4% 0 0;gap:0;color:#fff;white-space:nowrap;text-align:right;font-family:BrandBarlow,Barlow,"Barlow Fallback",Arial,sans-serif;font-weight:400;font-size:clamp(12px,1.45vw,18px);line-height:1.2;letter-spacing:0;font-synthesis:none;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.hero-tagline>span,.brand-tagline.hero-tagline>span{letter-spacing:.075em}
.hero-tagline strong,.brand-tagline.hero-tagline strong{font-family:inherit;font-weight:700;font-size:1.1em;letter-spacing:.035em}
.brand-tagline .bolt,.hero-tagline .bolt{display:none!important}

/* Credit: far left, near base, readable */
.hero-credit{position:absolute;left:clamp(16px,1.6vw,24px);bottom:clamp(12px,1.5vw,16px);z-index:5;margin:0;padding:4px 8px 4px 0;max-width:min(340px,42vw);color:#fff;font:400 clamp(11px,1.05vw,13px)/1.35 Body,Barlow,"Barlow Fallback",Arial,sans-serif;letter-spacing:.02em;text-transform:none;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.55);pointer-events:none}
.hero-credit,.hero-credit>span{text-transform:none!important}
.hero-credit>span{display:block}

/* Wide + short viewports: keep true 16:9 (no aggressive crop); allow page scroll */
@media(max-height:750px) and (min-width:900px){
  .hero-media{aspect-ratio:16/9;height:auto}
  .hero-brand{top:clamp(12px,3%,28px);width:min(680px,72vw)}
  .hero-tagline,.brand-tagline.hero-tagline{font-size:clamp(11px,1.2vw,15px)}
}

/* Network: eyebrow label + centered city strip that always fits */
.network-board-section{width:100%;max-width:none;padding:48px 0 40px;background:var(--bg)}
.network-board-section>.section-heading{justify-content:center;padding:0 var(--pad);text-align:center;margin:0 0 18px}
.network-board-section h2{display:inline-flex;align-items:center;justify-content:center;gap:.28em;white-space:nowrap;font:600 clamp(12px,1.05vw,15px)/1.2 Body,Barlow,"Barlow Fallback",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;overflow-wrap:normal;color:var(--muted)}
.network-rocket{display:inline-block;flex:0 0 auto;width:.95em;height:1.05em;stroke:currentColor;overflow:visible;opacity:.9}
.network-departures{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(6px,.8vw,12px);width:min(1080px,calc(100% - 2*var(--pad)));max-width:100%;margin:0 auto;padding:0;overflow-x:hidden;overflow-y:hidden;perspective:1000px;box-sizing:border-box;scroll-snap-type:none}
.network-departures:focus-visible{outline:1px solid var(--pink);outline-offset:4px}
.network-row{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1px;width:100%;min-width:0;--city-ink:#fff}
.network-row:nth-child(even){--city-ink:#FF007A}
.network-row .network-cell{width:100%;min-width:0;height:clamp(30px,3vw,44px);font:600 clamp(11px,1.15vw,18px)/1 Body,Barlow,"Barlow Fallback",Arial,sans-serif;color:var(--city-ink);background:var(--panel);border:1px solid var(--rule);border-radius:2px;contain:layout paint}
html[data-theme=light] .network-row:nth-child(odd){--city-ink:#101010}

/* Home rhythm: consistent lateral pad + vertical cadence */
.home-statement{padding:56px var(--pad) 40px;text-align:center}
.home-statement p{font:800 clamp(22px,2.6vw,36px)/1.18 Display,"Display Fallback","Arial Narrow",sans-serif;letter-spacing:-.012em;max-width:920px;margin:0 auto;text-align:center;color:var(--ink)}
.home-statement p+p{margin-top:12px;color:var(--ink)}
.portfolio-work.section-pad{padding-top:28px;padding-bottom:64px}
.work-heading{margin-bottom:24px;padding-left:var(--pad);padding-right:var(--pad)}
.work-heading h2,.print-heading h2{font:800 clamp(28px,3.2vw,48px)/1.04 Display,"Display Fallback","Arial Narrow",sans-serif;letter-spacing:-.015em}
.print-home{padding-top:12px;padding-bottom:48px}
.print-heading{padding-left:var(--pad);padding-right:var(--pad);margin-bottom:24px}
.contact-cta{padding-top:28px;padding-bottom:48px}
.home-work-link{display:flex;justify-content:center;padding:22px var(--pad) 0}

@media(max-width:760px){
  .is-home{--header-height:110px}
  .is-home .header-brand,.is-home .site-header.compact .header-brand{height:64px}
  .is-home .menu-toggle{bottom:16px;top:auto}
  .is-home .theme-control{bottom:14px;top:auto}
  .hero-scrim{height:48%}
  .hero-brand{top:clamp(12px,3.5%,22px);width:min(320px,86vw);gap:7px}
  .hero-tagline,.brand-tagline.hero-tagline{font-size:clamp(10px,2.6vw,13px)}
  .hero-credit{left:16px;bottom:12px;font-size:11px;max-width:48vw;padding-right:6px;line-height:1.3;text-transform:none}
  .network-board-section{padding:36px 0 32px}
  .network-board-section>.section-heading{margin-bottom:14px}
  .network-board-section h2{font-size:12px;letter-spacing:.1em}
  .network-departures{width:min(100%,calc(100% - 2*var(--pad)));gap:4px}
  .network-row .network-cell{height:34px;font-size:11px}
  .home-statement{padding:36px var(--pad) 28px}
  .home-statement p{font-size:clamp(20px,5.5vw,28px)}
  .portfolio-work.section-pad{padding-top:20px;padding-bottom:48px}
  .work-heading{margin-bottom:18px}
  .work-heading h2,.print-heading h2{font-size:clamp(26px,7vw,36px)}
}
@media(max-width:390px){
  .hero-brand{width:min(300px,88vw)}
  .hero-credit{left:16px;bottom:12px;font-size:10px;max-width:52vw} /* min 10 mobile */
}


/* === v20b — full-bleed board + breathing nav + credit/text-wrap === */
/* Nav: justified across full width, own breathing bar */
@media(min-width:761px){
  .is-home{--header-height:148px}
  .is-home .header-brand,.is-home .site-header.compact .header-brand{height:64px}
  #main-nav,.site-header.menu-open #main-nav,.site-header #main-nav{
    display:flex!important;
    justify-content:space-between;
    align-items:center;
    flex-wrap:nowrap;
    gap:0;
    width:100%;
    box-sizing:border-box;
    padding:12px var(--pad);
    min-height:52px;
    font-size:var(--small);
  }
  #main-nav a{padding:8px 0;white-space:nowrap}
  #main-nav a.nav-contact{padding:7px 16px;margin-left:0}
  /* Extra air between nav bar and hero logo */
  .is-home .hero-brand{top:clamp(22px,4.5%,42px)}
}
@media(min-width:1101px){
  #main-nav,.site-header #main-nav{padding-left:var(--pad);padding-right:var(--pad)}
}
@media(min-width:761px) and (max-width:1100px){
  #main-nav,.site-header #main-nav{gap:0;justify-content:space-between;flex-wrap:nowrap;font-size:12px}
  #main-nav a.nav-contact{padding:6px 10px}
}

/* Board: edge-to-edge equal columns; letters already centered via centerPadCity */
.network-board-section{padding:48px 0 40px}
.network-departures{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(4px,.55vw,10px);
  width:100%;
  max-width:none;
  margin:0;
  padding:0 clamp(8px,1.2vw,20px);
  overflow-x:hidden!important;
  box-sizing:border-box;
}
.network-row{
  width:100%;
  min-width:0;
  justify-items:center;
  gap:1px;
}
.network-row .network-cell{
  height:clamp(34px,3.4vw,52px);
  font:600 clamp(12px,1.35vw,22px)/1 Body,Barlow,"Barlow Fallback",Arial,sans-serif;
  text-align:center;
}
/* flap glyphs already place-items:center */

.home-statement p{text-wrap:balance}

@media(max-width:760px){
  /* Keep existing mobile nav behavior; don't force space-between */
  .network-departures{
    display:flex!important;
    flex-wrap:wrap;
    justify-content:center;
    align-items:stretch;
    gap:6px;
    width:100%;
    padding:0 var(--pad);
  }
  .network-row{
    flex:0 0 calc((100% - 12px) / 3);
    width:calc((100% - 12px) / 3);
    max-width:calc((100% - 12px) / 3);
  }
  .network-row .network-cell{height:36px;font-size:12px}
  .hero-credit{font-size:11px}
  .home-statement p{text-wrap:balance}
}
@media(max-width:390px){
  .network-row{
    flex-basis:calc((100% - 6px) / 2);
    width:calc((100% - 6px) / 2);
    max-width:calc((100% - 6px) / 2);
  }
  .hero-credit{font-size:10px}
}


/* === v22 — about body, likes, representation === */
.about-body{max-width:920px;margin:0 auto}
.about-lead{font:800 clamp(22px,2.4vw,34px)/1.2 Display,"Display Fallback","Arial Narrow",sans-serif;letter-spacing:-.012em;margin:0 0 28px;text-wrap:balance}
.about-body>p{color:var(--muted);margin:0 0 18px;max-width:820px;text-wrap:pretty}
.about-likes{margin:36px 0 28px}
.about-likes h2{font-size:var(--h2);margin:0 0 16px}
.about-likes ul{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.about-likes li{border-top:1px solid var(--rule);padding-top:14px;color:var(--muted);text-wrap:pretty}
.about-staff{margin:28px 0 0;font-weight:600;color:var(--ink)}
.about-representation{max-width:920px;margin:0 auto;border-top:1px solid var(--rule)}
.about-representation .rep-label{font:600 12px/1.2 Body,Barlow,"Barlow Fallback",Arial,sans-serif;letter-spacing:.12em;color:var(--muted);margin:0 0 12px}
.about-representation h2{font-size:var(--h2);margin:0 0 16px;text-wrap:balance}
.about-representation>p{color:var(--muted);max-width:820px}
.about-representation .rep-cta{margin:22px 0 10px}
.about-representation .rep-note{color:var(--muted);margin:0}
.team-page:empty,.team-page:not(:has(.team-grid)){min-height:0}
.home-statement p{text-wrap:balance}
@media(max-width:760px){
  .about-lead{font-size:clamp(22px,6vw,30px);margin-bottom:22px}
  .about-likes{margin-top:28px}
}


/* === v25a — polish: nav, statement, uniform print thumbs, network center === */

/* NAV desktop: justified edge-to-edge, slightly larger; mobile unchanged */
@media (min-width: 761px) {
  #main-nav,
  .site-header #main-nav,
  .site-header.menu-open #main-nav {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    width: 100%;
    padding: 10px var(--pad) !important;
    min-height: 48px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.01em;
  }
  #main-nav a { padding: 10px 0; white-space: nowrap; }
  #main-nav a.nav-contact { padding: 9px 18px; }
  .site-header.compact #main-nav { min-height: 44px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  #main-nav, .site-header #main-nav { font-size: 12.5px; }
  #main-nav a.nav-contact { padding: 7px 12px; }
}

/* HOME STATEMENT: left editorial, readable size, breathes */
.home-statement {
  padding: 48px var(--pad) 40px !important;
  text-align: left !important;
  width: 100%;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box;
}
.home-statement .home-voice-line,
.home-statement p {
  font: 400 clamp(22px, 2.35vw, 34px) / 1.32 Display, 'Arial Narrow', sans-serif !important;
  letter-spacing: -0.015em !important;
  max-width: min(1080px, 100%) !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
  color: var(--muted) !important;
  text-wrap: balance;
}
.home-statement .home-voice-line + .home-voice-line,
.home-statement p + p { margin-top: 14px !important; }
.home-statement strong {
  color: var(--ink) !important;
  font-weight: 800;
}
.home-statement .pink { color: var(--pink) !important; }
@media (max-width: 760px) {
  .home-statement { padding: 32px var(--pad) 28px !important; }
  .home-statement .home-voice-line,
  .home-statement p {
    font-size: clamp(20px, 5.6vw, 26px) !important;
    line-height: 1.34 !important;
    text-wrap: pretty;
  }
}

/* Network board spacing after statement */
.home-statement + .network-board-section,
.home-statement + #network {
  margin-top: 8px;
}

/* NETWORK COPY: centered under board */
section.network-copy.section-pad,
.network-copy {
  display: block;
  width: min(720px, 100%);
  max-width: 720px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--pad);
  padding-right: var(--pad);
  box-sizing: border-box;
  text-align: center;
}
.network-copy p {
  color: var(--muted);
  margin: 0 auto 14px;
  max-width: 100%;
  text-align: center;
  text-wrap: pretty;
}
.network-copy p:first-child { color: var(--ink); }
.network-region { color: var(--muted) !important; }
.network-region strong { color: var(--ink); font-weight: 700; }
.network-closing { color: var(--ink) !important; font-weight: 600; margin-top: 6px; }

/* PRINT LISTING: compact uniform thumbs (crop OK). Full image only in lightbox. */
.print-home {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 28px 0 56px !important; /* match commercials edge padding pattern */
}
.print-heading {
  padding-left: var(--pad);
  padding-right: var(--pad);
  margin-bottom: 18px;
}
.print-browser { width: 100%; margin: 0; padding: 0; }
.print-grid,
.print-grid.print-grid-thumbs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 6px !important;
  row-gap: 28px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 var(--pad) !important;
  box-sizing: border-box;
}
.print-format-group { margin: 0 0 28px; }
.print-card {
  min-width: 0;
  display: block !important;
  flex: none !important;
  width: auto !important;
  background: transparent;
}
.print-title { display: none !important; }
.print-caption { display: block !important; margin-top: 10px; }
.print-caption h3 {
  margin: 0;
  padding: 0 !important;
  font: 650 15px/1.25 Body, Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ink);
  text-wrap: balance;
}
.print-details {
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  margin-top: 4px;
  color: var(--muted);
  font-size: var(--small);
  line-height: 1.35;
}
.print-cover {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  line-height: 0;
  aspect-ratio: 3 / 2 !important; /* uniform compact thumbs like v22 horizontal */
  height: auto !important;
  background: var(--panel);
  overflow: hidden !important;
}
.print-grid .print-cover img,
.print-grid[data-format] .print-cover img,
.print-cover img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
/* neutralize leftover bleed/nocrop */
.print-browser.print-bleed,
.print-grid-bleed,
.print-grid-nocrop,
.print-row { display: contents; }

@media (min-width: 761px) and (max-width: 1100px) {
  .print-grid, .print-grid.print-grid-thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .print-home { padding: 24px 0 40px !important; }
  .print-grid, .print-grid.print-grid-thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 4px !important;
    row-gap: 22px !important;
  }
}

/* Lightbox / campaign: NEVER crop */
#print-player .print-stage {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
#print-player .print-large,
.print-large {
  object-fit: contain !important;
  width: auto !important;
  height: auto !important;
  max-width: 100%;
  max-height: calc(94svh - 225px);
}

/* Team: keep 3-col desktop readable */
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 22px;
}
@media (max-width: 760px) {
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
}
@media (max-width: 390px) {
  .team-grid { grid-template-columns: 1fr; }
}

/* Edit / about representation already OK — keep edit-page from earlier if needed */
.edit-page { max-width: 1100px; margin: 0 auto; }
.edit-copy { max-width: 820px; margin: 0 0 36px; }
.edit-copy p { color: var(--muted); margin: 0 0 16px; text-wrap: pretty; }
.edit-copy p:first-child { color: var(--ink); font-weight: 600; }
.edit-note { font-weight: 700; color: var(--ink) !important; }
.edit-issue {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 28px;
  align-items: center;
  border-top: 1px solid var(--rule);
  padding-top: 28px;
}
.edit-issue > img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }
@media (max-width: 760px) {
  .edit-issue { grid-template-columns: 1fr; gap: 18px; }
}


/* === v25b — full-width menu + statement (no centering max-width) === */
@media (min-width: 761px) {
  .site-header,
  .site-header .header-brand,
  #main-nav,
  .site-header #main-nav,
  .site-header.menu-open #main-nav {
    width: 100% !important;
    max-width: none !important;
  }
  .header-brand {
    padding-left: var(--pad) !important;
    padding-right: var(--pad) !important;
    box-sizing: border-box;
  }
  #main-nav,
  .site-header #main-nav,
  .site-header.menu-open #main-nav {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    box-sizing: border-box;
    padding: 12px var(--pad) !important;
    min-height: 52px;
    font-size: 16.5px !important;
    font-weight: 600;
    letter-spacing: 0.01em;
  }
  #main-nav a { padding: 10px 0; white-space: nowrap; }
  #main-nav a.nav-contact { padding: 9px 18px; margin-left: 0; }
  .site-header.compact #main-nav { min-height: 46px; font-size: 16px !important; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  #main-nav, .site-header #main-nav { font-size: 14px !important; }
  #main-nav a.nav-contact { padding: 7px 12px; }
}
@media (min-width: 1441px) {
  #main-nav, .site-header #main-nav { font-size: 17px !important; }
}

/* Statement: full useful width, same lateral pad, no 1080 cap */
.home-statement {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 48px var(--pad) 40px !important;
  text-align: left !important;
  box-sizing: border-box;
}
.home-statement .home-voice-line,
.home-statement p {
  display: block;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  box-sizing: border-box;
  font: 400 clamp(26px, 2.6vw, 56px) / 1.28 Display, 'Arial Narrow', sans-serif !important;
  letter-spacing: -0.018em !important;
  color: var(--muted) !important;
  text-wrap: pretty;
}
.home-statement .home-voice-line + .home-voice-line,
.home-statement p + p { margin-top: 16px !important; }
.home-statement strong { color: var(--ink) !important; font-weight: 800; }
.home-statement .pink { color: var(--pink) !important; }
@media (max-width: 760px) {
  .home-statement { padding: 32px var(--pad) 28px !important; }
  .home-statement .home-voice-line,
  .home-statement p {
    font-size: clamp(22px, 6vw, 28px) !important;
    line-height: 1.32 !important;
    text-wrap: pretty;
  }
}

/* Kill any leftover statement max-width from earlier layers */
.home-statement p,
.home-statement .home-voice-line,
section.home-statement p {
  max-width: none !important;
}

/* v25b-nowrap-balance: fill lines edge-to-edge */
.home-statement .home-voice-line,
.home-statement p{
  text-wrap: pretty !important;
  text-align: left !important;
  max-width: none !important;
  width: 100% !important;
}


/* v25b-wide: kill 1440-centered pad; true full-width justify */
@media (min-width: 1441px) {
  :root { --pad: 5vw; }
  .header-brand,
  #main-nav,
  .site-header #main-nav,
  .home-statement {
    padding-left: 5vw !important;
    padding-right: 5vw !important;
  }
}


/* === v26a — print gallery, about editorial, network maps === */
:root{ --pink:#FF007A; }

/* Full-screen print gallery — one full image visible, never cropped, never covered */
html.print-gallery-open, html.print-gallery-open body{ overflow:hidden; }
#print-player.print-gallery{
  --pg-header: 88px;
  --pg-thumbs: 78px;
  --pg-nav: 52px;
  --pg-gap: 16px;
  width:100vw; max-width:100vw; height:100vh; max-height:100dvh;
  margin:0; padding:0; border:0; background:var(--bg); color:var(--ink);
  display:none; flex-direction:column;
}
#print-player.print-gallery[open]{ display:flex; }
#print-player.print-gallery::backdrop{ background:#000e; }
#print-player.print-gallery:not(:has(.print-thumbs-row:not([hidden]))){
  --pg-thumbs: 0px;
}
.print-gallery-bar{
  flex:none;
  z-index:5;
  display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
  padding:14px var(--pad) 10px;
  min-height:var(--pg-header);
  box-sizing:border-box;
  background:var(--bg);
  border-bottom:1px solid var(--rule);
}
.print-gallery-heading h2{
  font:800 clamp(22px,3.6vw,48px)/.95 Display,"Display Fallback","Arial Narrow",sans-serif;
  letter-spacing:-.04em; text-transform:uppercase; text-wrap:balance;
  margin:0;
}
.print-gallery-heading .print-dialog-credit{ color:var(--muted); margin-top:4px; }
.print-gallery .print-close{
  flex:none; font-size:var(--small); font-weight:700; padding:8px 0; min-height:40px;
  letter-spacing:.04em;
}
.print-gallery-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding: var(--pg-gap) var(--pad);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: var(--pg-gap);
  scroll-snap-type: y mandatory;
  -webkit-overflow-scrolling: touch;
}
.print-gallery-figure{
  margin:0;
  width:100%;
  max-width:100%;
  height: calc(100dvh - var(--pg-header) - var(--pg-thumbs) - var(--pg-nav) - (var(--pg-gap) * 2));
  max-height: calc(100dvh - var(--pg-header) - var(--pg-thumbs) - var(--pg-nav) - (var(--pg-gap) * 2));
  display:flex;
  justify-content:center;
  align-items:center;
  scroll-snap-align: center;
  scroll-snap-stop: always;
  flex:none;
}
.print-gallery-figure img{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center;
}
.print-thumbs-row{
  flex:none;
  display:flex; gap:8px; overflow-x:auto; overflow-y:hidden;
  padding:10px var(--pad);
  min-height:var(--pg-thumbs);
  box-sizing:border-box;
  border-top:1px solid var(--rule);
  background:var(--bg);
  scrollbar-width:thin;
  z-index:4;
}
.print-thumbs-row[hidden]{ display:none !important; }
.print-thumbs-row button{
  flex:none; width:72px; height:54px; padding:0; border:1px solid var(--rule);
  background:var(--panel); overflow:hidden;
}
.print-thumbs-row button[aria-pressed=true]{ border-color:var(--pink); }
.print-thumbs-row img{ display:block; width:100%; height:100%; object-fit:cover; }
.print-gallery-nav{
  flex:none;
  display:flex; justify-content:center; align-items:center; gap:22px;
  padding:6px var(--pad) 12px;
  min-height:var(--pg-nav);
  box-sizing:border-box;
  background:var(--bg);
  border-top:1px solid var(--rule);
}
.print-nav-btn{ font-size:22px; min-width:44px; min-height:40px; }
@media(max-width:760px){
  #print-player.print-gallery{
    --pg-header: 76px;
    --pg-thumbs: 70px;
    --pg-nav: 48px;
    --pg-gap: 10px;
  }
  .print-gallery-heading h2{ font-size:clamp(20px,7vw,32px); }
  .print-thumbs-row button{ width:64px; height:48px; }
}

/* About editorial + ticket */
.about-hero-block{ padding-top:36px; padding-bottom:20px; }
.about-kicker{
  font:700 12px/1.2 Barlow,"Barlow Fallback",Arial,sans-serif;
  letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:12px;
}
.about-display{
  font:800 clamp(40px,7vw,96px)/.92 Display,"Display Fallback","Arial Narrow",sans-serif;
  letter-spacing:-.04em; text-transform:uppercase; max-width:none; text-align:left;
}
.about-ticket{
  margin-top:28px; display:grid; grid-template-columns:110px minmax(0,1fr);
  border:1px solid var(--rule); background:var(--panel); overflow:hidden;
  max-width:920px;
  position:relative;
}
.about-ticket:before,.about-ticket:after{
  content:''; position:absolute; left:104px; width:14px; height:14px; border-radius:50%;
  background:var(--bg); z-index:2;
}
.about-ticket:before{ top:-7px; }
.about-ticket:after{ bottom:-7px; }
.ticket-stub{
  display:flex; flex-direction:column; justify-content:space-between; align-items:center;
  padding:18px 10px; border-right:1px dashed var(--rule); background:#0d0d0d;
}
.ticket-code{ font:700 14px/1 Barlow,"Barlow Fallback",Arial,sans-serif; letter-spacing:.12em; color:var(--pink); transform:rotate(-90deg); white-space:nowrap; margin-top:36px; }
.ticket-bar{
  width:42px; height:64px;
  background:repeating-linear-gradient(90deg,#111 0 2px, var(--ink) 2px 3px, #111 3px 5px);
  opacity:.85; margin-bottom:8px;
}
.ticket-main{ padding:22px 24px; }
.ticket-kicker{ font:700 11px/1.3 Barlow,"Barlow Fallback",Arial,sans-serif; letter-spacing:.16em; color:var(--muted); }
.ticket-route{
  display:flex; align-items:flex-end; gap:22px; margin-top:16px; flex-wrap:wrap;
}
.ticket-label{ display:block; font:700 10px/1 Barlow,"Barlow Fallback",Arial,sans-serif; letter-spacing:.14em; color:var(--muted); margin-bottom:6px; }
.ticket-route strong{
  display:block; font:800 clamp(36px,5vw,64px)/.9 Display,"Display Fallback","Arial Narrow",sans-serif;
  letter-spacing:-.03em; color:var(--ink);
}
.ticket-city{ display:block; margin-top:4px; color:var(--muted); font-size:var(--small); }
.ticket-arrow{ font-size:clamp(28px,4vw,48px); color:var(--pink); line-height:1; padding-bottom:10px; }
.ticket-hash{ margin-top:18px; color:var(--pink); font:700 12px/1 Barlow,"Barlow Fallback",Arial,sans-serif; letter-spacing:.12em; }

.about-editorial{ max-width:none; text-align:left; padding-top:10px; }
.about-editorial .about-lead{
  font:400 clamp(22px,2.4vw,36px)/1.28 Display,"Display Fallback","Arial Narrow",sans-serif;
  letter-spacing:-.015em; color:var(--ink); max-width:1100px; text-wrap:pretty; margin-bottom:18px;
}
.about-editorial > p{
  max-width:920px; color:var(--muted); margin:0 0 14px; text-wrap:pretty;
  font-family:Barlow,"Barlow Fallback",Arial,sans-serif;
}
.about-section-title{
  font:800 clamp(28px,4vw,52px)/.95 Display,"Display Fallback","Arial Narrow",sans-serif;
  letter-spacing:-.03em; text-transform:uppercase; margin:36px 0 18px;
}
.like-board{ list-style:none; margin:0; padding:0; border-top:1px solid var(--rule); max-width:1000px; }
.about-like-row{
  display:grid; grid-template-columns:64px minmax(0,1fr); gap:18px; align-items:start;
  padding:16px 0; border-bottom:1px solid var(--rule);
  font-family:Barlow,"Barlow Fallback",Arial,sans-serif;
}
.like-num{ font:800 18px/1 Display,"Display Fallback","Arial Narrow",sans-serif; color:var(--pink); letter-spacing:.04em; }
.like-text{ color:var(--muted); text-wrap:pretty; }
.about-staff{
  margin-top:28px; font:700 clamp(20px,2.2vw,32px)/1.2 Display,"Display Fallback","Arial Narrow",sans-serif;
  letter-spacing:-.02em; color:var(--ink);
}
.staff-mark{ color:var(--pink); margin-right:10px; letter-spacing:.12em; font-size:.7em; }
.about-team{ padding-top:20px; }
.about-team .team-intro{ max-width:820px; color:var(--muted); margin:0 0 28px; font-family:Barlow,"Barlow Fallback",Arial,sans-serif; }
.about-representation{ text-align:left; max-width:none; }
.about-representation h2{ max-width:1100px; text-align:left; }
@media(max-width:760px){
  .about-ticket{ grid-template-columns:1fr; }
  .ticket-stub{ flex-direction:row; gap:16px; border-right:0; border-bottom:1px dashed var(--rule); padding:14px 16px; }
  .ticket-code{ transform:none; margin:0; }
  .about-like-row{ grid-template-columns:48px minmax(0,1fr); gap:12px; }
}

/* Network page */
.network-page-hero .network-lead{
  margin-top:18px; max-width:900px; color:var(--muted);
  font:400 clamp(18px,1.8vw,26px)/1.35 Display,"Display Fallback","Arial Narrow",sans-serif;
  text-wrap:pretty;
}
.network-ticket{
  margin-top:24px; display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  border:1px solid var(--rule); border-left:4px solid var(--pink); padding:20px 24px; background:var(--panel); max-width:760px;
  background-image:radial-gradient(circle at left center, transparent 6px, var(--rule) 7px);
  background-size:14px 14px; background-repeat:repeat-y; background-position:0 0;
  padding-left:28px;
}
.nt-code{ font:800 clamp(28px,4vw,48px)/1 Display,"Display Fallback","Arial Narrow",sans-serif; letter-spacing:-.02em; }
.nt-sep{ color:var(--muted); margin:0 8px; font-size:28px; }
.nt-arrow{ color:var(--pink); font-size:36px; }
.nt-world{ display:block; font:800 clamp(28px,4vw,48px)/1 Display,"Display Fallback","Arial Narrow",sans-serif; letter-spacing:-.02em; }
.nt-sub{ display:block; color:var(--muted); font-size:var(--small); margin-top:4px; font-family:Barlow,"Barlow Fallback",Arial,sans-serif; }
.network-maps{
  display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:start;
}
.network-map-panel{ margin:0; border:1px solid var(--rule); background:#0a0a0a; }
.network-map-panel figcaption{
  padding:12px 14px; border-bottom:1px solid var(--rule);
  font:700 12px/1 Barlow,"Barlow Fallback",Arial,sans-serif; letter-spacing:.14em; color:var(--muted);
}
.network-map-panel .map-origin{ color:var(--pink); }
.map-frame{ position:relative; line-height:0; overflow:hidden; }
.map-frame > img{ width:100%; height:auto; display:block; opacity:1; }
.map-frame .route-overlay{
  position:absolute; inset:0; width:100%; height:100%;
  pointer-events:none;
}
.network-map-svg .map-bg{ fill:#0a0a0a; }
.network-map-svg .land{
  fill:none; stroke:var(--pink); stroke-width:1.1; stroke-linejoin:round; opacity:.9;
}
.route-overlay .flight-route{
  fill:none; stroke:var(--pink); stroke-width:1.4; stroke-linecap:round; opacity:.75;
  stroke-dasharray:4 6;
  animation:flightDash 18s linear infinite;
}
.route-overlay .city-dot{ fill:var(--pink); }
.route-overlay .city-origin{ fill:var(--ink); stroke:var(--pink); stroke-width:2; }
.route-overlay .city-leader{ stroke:var(--pink); stroke-width:.6; stroke-opacity:.45; }
.route-overlay .city-code{
  fill:var(--ink); font:700 10px Barlow,"Barlow Fallback",Arial,sans-serif; letter-spacing:.06em;
  paint-order:stroke fill; stroke:#0a0a0a; stroke-width:3px; stroke-linejoin:round;
}
.route-overlay .origin-code{ fill:var(--pink); }
@keyframes flightDash{ to{ stroke-dashoffset:-120; } }
@media (prefers-reduced-motion: reduce){
  .route-overlay .flight-route{ animation:none; stroke-dasharray:none; }
}
.network-europe-chip{
  grid-column:1 / -1; justify-self:start;
  display:inline-flex; align-items:center; gap:12px;
  border:1px solid var(--rule); padding:10px 14px; margin-top:4px;
}
.chip-code{ font:800 22px/1 Display,"Display Fallback","Arial Narrow",sans-serif; color:var(--pink); }
.chip-label{ font:700 11px/1.2 Barlow,"Barlow Fallback",Arial,sans-serif; letter-spacing:.14em; color:var(--muted); }
.network-copy-page{
  max-width:920px !important; margin-left:0 !important; margin-right:auto !important;
  text-align:left !important; width:100%;
}
.network-copy-page p{ text-align:left !important; margin-left:0 !important; color:var(--muted); }
.network-copy-page p:first-child{ color:var(--ink); }
.network-copy-page .network-region strong{ color:var(--ink); }
.network-copy-page .network-closing{ color:var(--ink); font-weight:700; }
@media(max-width:900px){
  .network-maps{ grid-template-columns:1fr; }
}

/* === v27b — Bot Designer + Critiquito About/Network + grid unify === */
@font-face{font-family:Bebas;src:url('/assets/fonts/BebasNeue-Regular.woff2') format('woff2'),url('/assets/fonts/BebasNeue-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{ --pink:#FF007A; }

/* Works/video grids = same lateral pad as PRINT */
.project-index.section-pad,
.portfolio-work.section-pad,
.print-home{
  padding-left:0 !important;
  padding-right:0 !important;
}
.works-grid,
.project-index .works-grid,
.portfolio-work .works-grid{
  width:100% !important;
  box-sizing:border-box !important;
  padding-left:var(--pad) !important;
  padding-right:var(--pad) !important;
  column-gap:6px !important;
  row-gap:28px !important;
  margin:0 !important;
}
.portfolio-work .project-caption{ padding-left:0 !important; padding-right:0 !important; }
.print-grid-thumbs,
.print-grid{
  padding-left:var(--pad) !important;
  padding-right:var(--pad) !important;
  box-sizing:border-box !important;
}
.work-tabs,
.print-heading,
.format-tabs,
.section-heading,
.catalog-category-title,
.home-work-link{
  padding-left:var(--pad);
  padding-right:var(--pad);
  box-sizing:border-box;
}
.work-tabs{ width:auto; margin-left:var(--pad); margin-right:var(--pad); padding-left:0; padding-right:0; }

/* Boarding pass ticket */
.bp-ticket{
  position:relative;
  display:grid;
  grid-template-columns:110px minmax(0,1fr) minmax(220px,320px);
  background:linear-gradient(180deg,#141414,#0d0d0d);
  border:1px solid #2a2a2a;
  border-radius:18px;
  margin:28px 0 0;
  min-height:220px;
  overflow:hidden;
  color:var(--ink);
}
.bp-ticket:before,.bp-ticket:after{
  content:""; position:absolute; width:28px; height:28px; border-radius:50%;
  background:var(--bg); border:1px solid #2a2a2a; left:96px; z-index:2;
}
.bp-ticket:before{ top:-14px; } .bp-ticket:after{ bottom:-14px; }
.bp-glow{ position:absolute; right:-80px; top:-100px; width:420px; height:420px;
  background:radial-gradient(circle,#FF007A22,transparent 62%); pointer-events:none; }
.bp-stub{
  display:flex; flex-direction:column; align-items:center; justify-content:space-between;
  padding:22px 0; border-right:2px dashed #333; color:#fff;
}
.bp-tag{ font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.2em; color:#8a8a8a; }
.bp-vcode{
  writing-mode:vertical-rl; transform:rotate(180deg);
  font:400 28px Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; color:var(--pink); letter-spacing:.12em;
}
.bp-barcode{ color:#fff; opacity:.9; }
.bp-main{ padding:28px 36px; display:flex; flex-direction:column; justify-content:space-between; position:relative; z-index:1; min-width:0; }
.bp-tagline{ font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.18em; color:#8a8a8a; text-transform:uppercase; }
.bp-route-big{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  font:400 clamp(48px,8vw,96px)/1 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif;
}
.bp-code-lg{ display:block; }
.bp-route-big small{
  display:block; font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.18em; color:#8a8a8a; margin-top:2px;
}
.bp-bar-sep{ color:#555; font-size:.65em; margin:0 2px; }
.bp-arrow-wrap{ color:var(--pink); display:flex; align-items:center; }
.bp-side{
  border-left:2px dashed #333; padding:28px 22px;
  display:grid; grid-template-columns:1fr 1fr; gap:16px 8px; align-content:space-between;
}
.bp-k{ font:700 10px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.18em; color:#777; }
.bp-vv{ font:400 clamp(18px,2vw,26px)/1.05 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; margin-top:2px; white-space:nowrap; }
.bp-vv.pink, .bp-vv.pink{ color:var(--pink); }
.about-kicker{ font:700 12px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.22em; color:var(--pink); text-transform:uppercase; margin:0 0 8px; }
.about-display{ font:400 clamp(56px,10vw,120px)/.88 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; letter-spacing:.005em; margin:0 0 8px; }

/* About 2-col */
.about-two{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,520px); gap:48px; align-items:start;
}
.about-manifest-title{
  font:400 clamp(28px,3.2vw,44px)/1.05 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; margin:0 0 22px; text-wrap:balance;
}
.about-copy-col p{ font-size:18px; line-height:1.6; color:#bdbdbd; margin:0 0 16px; max-width:60ch; }
.about-copy-col .about-staff{ color:var(--ink); margin-top:20px; }
.seat-outline{
  margin-top:40px; font:400 clamp(48px,7vw,88px)/.92 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif;
  color:transparent; -webkit-text-stroke:1.5px var(--pink); text-transform:uppercase;
}
.like-screen{
  background:#0a0a0a; border:1px solid #2a2a2a; border-radius:14px; padding:18px 22px;
  box-shadow:0 0 0 6px #0f0f0f; position:static;
}
.ls-hd{ display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #222; padding-bottom:10px; margin-bottom:4px; }
.ls-hd b{ font:400 32px Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; letter-spacing:.08em; }
.ls-live{ font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.2em; color:var(--pink); }
.like-gate-row{
  display:grid; grid-template-columns:54px minmax(0,1fr); gap:12px; padding:12px 0;
  border-top:1px solid #1b1b1b; align-items:start;
}
.like-gate-row:first-of-type{ border-top:0; }
.lg-gate{
  font:400 26px Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; color:var(--pink); border:1px solid #FF007A66;
  border-radius:6px; text-align:center; padding:2px 0;
}
.lg-head{ font:400 24px/1.05 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; letter-spacing:.04em; }
.lg-body{ font-size:14px; line-height:1.45; color:#a8a8a8; margin-top:3px; }

/* Team passes */
.team-hd-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:22px; flex-wrap:wrap; }
.team-strip-intro{ max-width:420px; text-align:right; font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.1em; color:#8a8a8a; margin:0; text-transform:uppercase; }
.team-grid-passes{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:14px !important;
  max-width:none;
}
.team-pass{
  background:linear-gradient(180deg,#141414,#0d0d0d);
  border:1px solid #2a2a2a; border-radius:14px; overflow:hidden; position:relative;
  display:flex; flex-direction:column; min-width:0;
  filter:grayscale(.25); transition:filter .2s ease, border-color .2s ease;
}
.team-pass:hover{ filter:none; border-color:var(--pink); }
.pass-ph{ position:relative; aspect-ratio:4/5; max-height:200px; overflow:hidden; border-bottom:2px dashed #333; background:var(--panel); }
.pass-ph .avatar-frame{ width:100%; max-width:none; height:100%; aspect-ratio:auto; border:0; }
.pass-ph .avatar-portrait{ object-position:center 8%; }
.pass-seat{
  position:absolute; left:8px; top:8px; z-index:2;
  font:400 16px Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; letter-spacing:.1em; color:#fff;
  background:var(--pink); padding:1px 7px; border-radius:4px;
}
.pass-bd{ padding:10px 12px 12px; }
.pass-nm{ font:400 clamp(20px,1.8vw,30px)/1 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; text-transform:uppercase; }
.pass-rl{ font:700 10px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.16em; color:#8a8a8a; margin-top:2px; }
.pass-ft{ display:flex; justify-content:space-between; align-items:flex-end; margin-top:8px; color:#fff; }
.pass-hub{ font:400 22px Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; color:var(--pink); letter-spacing:.06em; }
.pass-bar{ opacity:.85; }
.pass-place{ color:#8a8a8a; margin:6px 0 0; }
.team-pass .team-email{ display:block; margin-top:6px; font-size:11px; overflow-wrap:anywhere; }

/* Network departures board */
.dep-board{
  margin-top:22px; background:#0a0a0a; border:1px solid #2a2a2a; border-radius:14px; padding:18px 22px;
}
.dep-hd{ display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:12px; flex-wrap:wrap; }
.dep-hd b{ font:400 28px Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; letter-spacing:.1em; }
.dep-hd span{ font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.16em; color:var(--pink); }
.dep-row{
  display:grid; grid-template-columns:minmax(90px,120px) 36px minmax(0,1.1fr) minmax(0,1fr) auto;
  align-items:center; gap:10px; padding:8px 0; border-top:1px solid #1d1d1d;
}
.dep-col{ display:flex; flex-wrap:wrap; gap:2px; }
.flap-tile{
  font:400 28px/1 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; font-style:normal;
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:38px; border-radius:3px; color:#f2f2f2;
  background:linear-gradient(180deg,#1b1b1b 0 49.5%,#050505 49.5% 51%,#151515 51%);
}
.flap-tile.pink{ color:var(--pink); }
.dep-arr{ color:var(--pink); font:400 28px Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; text-align:center; }
.dep-st{ font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.16em; color:#8a8a8a; text-align:right; white-space:nowrap; }
.dep-st.active{ color:var(--ink); }
.st-dot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--pink); margin-right:8px; vertical-align:middle; }
@media (prefers-reduced-motion: no-preference){
  .dep-board[data-animated] .flap-tile{
    animation: flapIn .28s ease both;
  }
  .dep-row:nth-child(2) .flap-tile{ animation-delay:calc(var(--i,0)*30ms); }
}
@keyframes flapIn{ from{ transform:rotateX(90deg); opacity:.2 } to{ transform:rotateX(0); opacity:1 } }

/* Maps */
.maps-hd{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:16px; flex-wrap:wrap; }
.maps-hd h2{ font:400 clamp(36px,5vw,56px)/.95 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; margin:0; }
.maps-tag{ font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.18em; color:#8a8a8a; }
.map-legend{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.08em; color:#9a9a9a; margin:0 0 14px; }
.leg-swatch{ display:inline-block; width:18px; height:12px; border-radius:2px; margin-right:8px; vertical-align:middle; border:1px solid #444; }
.leg-swatch.worked{ background:#1a1016; border-color:#4a2a38; }
.leg-swatch.other{ background:#101010; border-color:#303030; }
.network-maps-60-40{
  display:grid !important;
  grid-template-columns:1.15fr .85fr !important; /* USA bigger? Critiquito said USA 60% LATAM 40% — designer shows equal; Matias+Critiquito: USA 60 */
  gap:18px; align-items:stretch;
}
/* Critiquito: USA 60% / LATAM 40% — order in HTML is latam then usa; swap visual weight */
.network-maps-60-40{ grid-template-columns:.85fr 1.15fr !important; }
.network-map-panel{
  margin:0; background:#080808; border:1px solid #2a2a2a; border-radius:18px; overflow:hidden; position:relative;
  display:flex; flex-direction:column;
}
.network-map-panel figcaption{ display:none; }
.map-cap{ padding:16px 18px 0; position:relative; z-index:2; }
.map-eyebrow{ display:block; font:700 11px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.2em; color:var(--pink); text-transform:uppercase; }
.map-title{ font:400 clamp(22px,2.4vw,36px)/1 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; margin-top:4px; }
.map-frame{ position:relative; line-height:0; flex:1; }
.map-frame > img{ width:100%; height:auto; display:block; opacity:1; }
.map-frame .route-overlay{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.map-watermark{
  position:absolute; left:50%; top:52%; transform:translate(-50%,-50%);
  font:400 clamp(40px,5vw,100px)/1 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; color:#fff; opacity:.08;
  pointer-events:none; white-space:nowrap; letter-spacing:.02em;
}
.map-chips{ display:flex; flex-wrap:wrap; gap:6px; padding:12px 16px 16px; }
.bag-chip{
  font:700 10px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.12em; color:#bbb;
  border:1px solid #2e2e2e; border-radius:99px; padding:4px 10px; background:#0b0b0bcc;
}
.bag-chip b{ color:var(--pink); margin-right:6px; }
.route-overlay .flight-route{
  fill:none; stroke:var(--pink); stroke-width:2; stroke-linecap:round;
  transition: stroke-dashoffset 2.2s ease; transition-delay: var(--dl,0s);
  filter: drop-shadow(0 0 3px #FF007A88);
}
.route-overlay .flight-route.is-drawing{ stroke-dashoffset:0 !important; }
.route-overlay .city-dot{ fill:var(--pink); }
.route-overlay .city-origin{ fill:var(--ink); stroke:var(--pink); stroke-width:2.5; }
.route-overlay .city-code{
  fill:#fff; font:700 12px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.06em;
  paint-order:stroke fill; stroke:#050505; stroke-width:3px;
}
.route-overlay .origin-code{ fill:var(--pink); font-size:13px; }
.route-overlay .city-leader{ stroke:var(--pink); stroke-width:.55; stroke-opacity:.4; }
.hub-pulse{ fill:none; stroke:var(--pink); stroke-width:1.2; opacity:.7; transform-box:fill-box; transform-origin:center; }
.hub-pulse.p1{ animation-delay:1.2s; }
@media (prefers-reduced-motion: no-preference){
  .hub-pulse{ animation:hubPulse 2.4s ease-out infinite; }
}
@media (prefers-reduced-motion: reduce){
  .route-overlay .flight-route{ transition:none; stroke-dasharray:none !important; stroke-dashoffset:0 !important; }
  .hub-pulse{ animation:none; opacity:.35; }
  .route-plane{ display:none; }
}
@keyframes hubPulse{ from{ transform:scale(.55); opacity:.85 } to{ transform:scale(3.2); opacity:0 } }
.bcn-row{ display:grid; grid-template-columns:1fr minmax(220px,340px); gap:18px; margin-top:18px; }
.atl-panel{ background:#080808; border:1px solid #2a2a2a; border-radius:18px; overflow:hidden; min-height:200px; position:relative; }
.atl-svg{ width:100%; height:160px; display:block; }
.atl-label{ fill:#fff; font:700 12px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.08em; }
.atl-route{ filter: drop-shadow(0 0 3px #FF007A88); }
.bcn-card{
  background:var(--pink); color:#fff; border-radius:18px; padding:28px 24px;
  display:flex; flex-direction:column; justify-content:center; gap:8px;
}
.bcn-card .chip-code{ font:400 42px/1 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; }
.bcn-card strong{ font:400 28px/1 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; letter-spacing:.04em; }
.bcn-card p{ margin:0; font-size:15px; line-height:1.4; opacity:.95; }
.network-board-intro{ font:400 clamp(28px,3vw,48px)/1.05 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; max-width:900px; margin:18px 0 8px; }
.net-cols{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:18px; }
.net-col-title{ font:400 32px/1 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; margin:0 0 10px; letter-spacing:.02em; }
.net-col p{ font-size:16px; line-height:1.5; color:#bdbdbd; margin:0; }
.network-closing{ margin-top:22px; color:var(--ink); font-weight:600; }
.network-europe-chip{ display:none; } /* replaced by bcn-card */

/* Mini hover ticket */
.route-tip{
  position:fixed; z-index:60; pointer-events:none;
  background:#111; border:1px solid #333; border-left:3px solid var(--pink);
  padding:8px 12px; font:700 12px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.08em;
  border-radius:4px; display:none;
}
.route-tip.on{ display:block; }

@media(max-width:1100px){
  .bp-ticket{ grid-template-columns:90px minmax(0,1fr); }
  .bp-side{ grid-column:1/-1; border-left:0; border-top:2px dashed #333; grid-template-columns:repeat(4,1fr); }
  .about-two{ grid-template-columns:1fr; }
  .like-screen{ position:static; }
  .team-grid-passes{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .network-maps-60-40{ grid-template-columns:1fr !important; }
  .net-cols{ grid-template-columns:1fr; }
  .bcn-row{ grid-template-columns:1fr; }
  .dep-row{ grid-template-columns:80px 28px 1fr; }
  .dep-row .dep-col:nth-child(4), .dep-st{ display:none; }
}
@media(max-width:760px){
  .bp-ticket{ grid-template-columns:1fr; min-height:0; }
  .bp-stub{ flex-direction:row; gap:16px; border-right:0; border-bottom:2px dashed #333; padding:14px 16px; }
  .bp-vcode{ writing-mode:horizontal-tb; transform:none; font-size:22px; }
  .bp-ticket:before,.bp-ticket:after{ display:none; }
  .bp-side{ grid-template-columns:1fr 1fr; }
  .bp-route-big{ font-size:clamp(40px,14vw,64px); }
  .team-grid-passes{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  .pass-ph{ max-height:160px; }
  .seat-outline{ font-size:clamp(36px,12vw,56px); }
  .about-display{ font-size:clamp(48px,16vw,80px); }
}
@media(max-width:420px){
  .team-grid-passes{ grid-template-columns:1fr 1fr !important; }
}

/* v27b overflow fixes */
.about-display{ max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
.bp-glow{ max-width:100%; right:0 !important; left:auto; width:min(420px,80vw) !important; }
.bp-ticket{ overflow:hidden; max-width:100%; }
.section-pad{ overflow-x:clip; }
.network-page-hero, .about-hero-block{ overflow-x:clip; max-width:100%; }
@media(max-width:760px){
  .about-display{ font-size:clamp(36px,11vw,56px) !important; }
  .dep-board{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .dep-row{ min-width:0; }
  .flap-tile{ width:16px; height:30px; font-size:20px; }
  .bp-route-big{ gap:8px; }
  .map-chips{ gap:4px; }
  .bag-chip{ font-size:9px; padding:3px 7px; }
}

/* === v28a (kept) — type scale, compact staff === */
:root{ --pink:#FF007A; --content-max:1320px; }
.section-pad > .bp-ticket,
.network-maps-wrap,
.network-copy-page,
.dep-board,
.about-two,
.about-team .team-grid,
.team-page .team-grid,
.team-hd-row,
.maps-hd,
.map-legend,
.map-preview-bar,
.network-board-intro,
.net-cols{
  max-width:var(--content-max);
  margin-left:auto;
  margin-right:auto;
  width:100%;
}
.bag-chip,
.map-legend,
.maps-tag,
.bp-tag,
.bp-tagline,
.bp-k,
.ls-live,
.team-role,
.team-place,
.team-email,
.about-kicker,
.map-eyebrow,
.dep-hd span,
.dep-st,
.lg-body,
.board-cities,
.board-cities li,
.net-col p,
.map-preview-bar,
.atl-label,
.hub-region{
  font-size:clamp(14px, 1vw, 16px) !important;
}
.bag-chip{ letter-spacing:.1em; padding:6px 12px; }
.map-legend{ font-weight:700; letter-spacing:.06em; color:#b0b0b0; }
.net-col p{ line-height:1.55; font-size:clamp(16px, 1.15vw, 18px) !important; }
.net-col-title{ font-size:clamp(28px, 2.4vw, 40px) !important; }
.map-title{ font-size:clamp(28px, 2.6vw, 44px); }
.hub-strong{ display:block; font:400 clamp(36px, 3.4vw, 56px)/.9 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif; }
.network-maps-wrap{ width:100%; }
.network-maps-60-40, .network-maps-equal{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:clamp(16px, 1.4vw, 24px);
}
.network-map-panel{ max-width:100%; }

/* Staff — no seats, no pass, centered, fill width */
.team-grid,
.team-grid-passes{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  gap:20px 16px !important;
  width:100% !important;
  max-width:var(--content-max);
  margin-left:auto !important;
  margin-right:auto !important;
  justify-items:stretch;
}
.team-card, .team-pass{
  display:flex !important;
  flex-direction:column !important;
  align-items:center;
  text-align:center;
  min-width:0;
  width:100%;
  margin:0;
  padding:0 !important;
  border:0 !important;
  border-top:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  filter:none !important;
  box-shadow:none !important;
  gap:10px;
  grid-template-columns:none !important;
}
.team-card:hover, .team-pass:hover{ filter:none !important; border-color:transparent !important; }
.team-card .avatar-frame,
.team-pass .avatar-frame,
.pass-ph{
  width:100% !important;
  max-width:none !important;
  aspect-ratio:4/5;
  height:auto !important;
  max-height:none !important;
  margin:0 auto;
  border:1px solid var(--rule);
  border-radius:0;
  overflow:hidden;
  background:var(--panel);
}
.pass-ph{ border-bottom:0 !important; }
.pass-ph .avatar-frame{ border:0; height:100%; }
.pass-seat, .pass-bar, .pass-ft, .team-pass:before, .team-pass:after{ display:none !important; }
.team-meta, .pass-bd{
  display:flex; flex-direction:column; align-items:center; gap:3px;
  padding:0 !important; width:100%;
}
.team-card h2, .team-grid h2, .pass-nm{
  font:800 clamp(16px, 1.2vw, 22px)/1.1 Display,"Display Fallback","Arial Narrow",sans-serif !important;
  letter-spacing:-.02em; text-transform:uppercase; margin:8px 0 0 !important;
  text-align:center;
}
.team-role, .pass-rl{
  color:var(--pink) !important; font-weight:700 !important; letter-spacing:.08em;
  text-transform:uppercase; margin:0 !important;
}
.team-place, .pass-place{ color:var(--muted) !important; margin:0 !important; }
.team-email{
  display:block !important; margin-top:4px !important; color:var(--ink);
  overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:3px;
}
.team-email:hover{ color:var(--pink); }
.team-hd-row{ width:100%; }
.team-strip-intro{ text-align:right; max-width:36ch; }

.map-preview-bar{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:10px var(--pad); border-bottom:1px solid var(--rule);
  font:700 14px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.1em; text-transform:uppercase;
  background:#0c0c0c;
}
.map-preview-bar span{ color:var(--muted); margin-right:6px; }
.map-preview-bar a{ color:var(--ink); padding:4px 2px; }
.map-preview-bar a[aria-current=page]{ color:var(--pink); box-shadow:inset 0 -2px var(--pink); }

.hub-poster{
  font:400 clamp(56px, 7vw, 120px)/.78 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif;
  letter-spacing:-.01em; text-transform:uppercase; margin:0; color:#fff;
  text-wrap:balance;
}
.hub-region{
  font:700 clamp(14px, 1.05vw, 16px) BrandBarlow,Barlow,"Barlow Fallback",sans-serif !important;
  letter-spacing:.2em; color:var(--pink); text-transform:uppercase; margin:8px 0 0;
}

/* A — poster */
.map-var-a .poster-panel{ position:relative; padding:0; }
.map-var-a .map-frame > img{ opacity:.5; }
.map-var-a .poster-copy{
  position:absolute; left:0; right:0; bottom:26%; z-index:3;
  padding:0 6%; pointer-events:none;
  text-shadow:0 8px 40px #000c;
}
.map-var-a .map-chips{ position:relative; z-index:3; background:linear-gradient(to top, #080808, transparent); }

/* B — departures / halftone */
.map-var-b .board-panel{ background:#070707; border:1px solid #2a2a2a; }
.map-var-b .board-head{ padding:18px 20px 8px; border-bottom:1px solid #222; }
.map-var-b .board-code{ font:700 14px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.18em; color:var(--pink); }
.map-var-b .board-head .hub-poster{ font-size:clamp(48px, 5.4vw, 96px); }
.map-var-b .board-body{ display:grid; grid-template-columns:1.15fr .85fr; gap:0; align-items:stretch; }
.map-var-b .map-frame{ position:relative; background:#000; }
.map-var-b .map-frame > img{ opacity:1; filter:grayscale(1) contrast(1.45) brightness(.9); }
.map-var-b .map-frame::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(#000 1.15px, transparent 1.35px);
  background-size:5px 5px;
  mix-blend-mode:multiply; opacity:.65;
}
.map-var-b .board-cities{
  list-style:none; margin:0; padding:12px 16px; border-left:1px solid #222;
  display:flex; flex-direction:column; justify-content:center; gap:6px;
}
.map-var-b .board-cities li{
  display:flex; justify-content:space-between; gap:10px;
  border-bottom:1px dashed #2a2a2a; padding:4px 0;
  font:700 14px BrandBarlow,Barlow,"Barlow Fallback",sans-serif; letter-spacing:.06em;
}
.map-var-b .board-cities b{ color:var(--pink); }
@media (prefers-reduced-motion: reduce){
  .map-var-b .map-frame > img{ filter:grayscale(1) contrast(1.35) brightness(.7); }
}

/* C — editorial split */
.network-maps-stack{ display:grid; gap:22px; }
.map-var-c .split-panel{
  display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:center; gap:0; overflow:hidden;
}
.map-var-c .split-name{ padding:28px 24px 28px 28px; position:relative; z-index:2; }
.hub-outline{
  font:400 clamp(64px, 8vw, 140px)/.76 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif;
  color:transparent; -webkit-text-stroke:1.6px var(--pink);
  text-transform:uppercase; margin:0; letter-spacing:-.02em;
}
.map-var-c .map-frame{ position:relative; background:#050505; }
.map-var-c .map-frame::before{
  content:""; position:absolute; inset:-10%; pointer-events:none; z-index:1;
  background:radial-gradient(circle at 50% 55%, #FF007A33, transparent 58%);
}
.map-var-c .map-frame > img{ opacity:.72; position:relative; z-index:0; }
.map-var-c .map-chips{ margin-top:16px; padding:0; }

@media(max-width:1100px){
  .team-grid, .team-grid-passes{ grid-template-columns:repeat(3, minmax(0,1fr)) !important; }
  .map-var-b .board-body, .map-var-c .split-panel, .network-maps-60-40, .network-maps-equal{ grid-template-columns:1fr !important; }
}
@media(max-width:760px){
  .team-grid, .team-grid-passes{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:16px 12px !important; }
  .hub-poster, .hub-outline{ font-size:clamp(44px, 16vw, 72px); }
}



/* === v29a — Network B+C hybrid, staff city accent, home work labels === */
.map-preview-bar{ display:none !important; }

.team-kicker{
  text-align:center;
  font:700 clamp(14px, 1.05vw, 16px)/1.3 BrandBarlow,Barlow,"Barlow Fallback",sans-serif;
  letter-spacing:.16em;
  color:var(--muted);
  text-transform:uppercase;
  margin:0 auto 22px;
  max-width:var(--content-max);
}
.team-place, .pass-place{
  color:var(--pink) !important;
  font-weight:700 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin:0 !important;
}
.team-role, .pass-rl{ display:none !important; }
.team-card h2, .team-grid h2, .pass-nm{ text-transform:uppercase; }
.team-email{ text-transform:none; }

.maps-hd{ display:block; align-items:stretch; margin-bottom:18px; }
.maps-hd h2.maps-explainer, .maps-explainer{
  font:800 clamp(26px, 2.8vw, 42px)/1.12 Display,"Display Fallback","Arial Narrow",sans-serif !important;
  letter-spacing:-.015em;
  margin:0;
  text-wrap:balance;
  max-width:22em;
  text-transform:none;
  color:var(--ink);
}
.map-legend{ font-size:14px; letter-spacing:.06em; }

.map-var-final .board-panel{ background:#070707; border:1px solid #2a2a2a; }
.map-var-final .board-head{ padding:20px 22px 12px; border-bottom:1px solid #222; }
.map-var-final .hub-outline{
  font:400 clamp(56px, 5.6vw, 104px)/.78 Bebas,"Bebas Fallback",Display,"Display Fallback",sans-serif;
  color:transparent;
  -webkit-text-stroke:1.6px var(--pink);
  text-transform:uppercase;
  margin:0;
  letter-spacing:-.02em;
}
.map-var-final .hub-region{
  font:600 clamp(14px, 1.05vw, 16px)/1.45 Body,Barlow,"Barlow Fallback",Arial,sans-serif !important;
  letter-spacing:.01em;
  color:#bdbdbd;
  text-transform:none;
  margin:8px 0 0;
}
.map-var-final .board-panel{ height:100%; display:flex; flex-direction:column; }
.map-var-final .board-body{
  display:grid;
  grid-template-columns:1.9fr .62fr;
  gap:0;
  align-items:stretch;
  flex:1;
  min-height:0;
}
.map-var-final .map-frame{
  position:relative;
  background:#050505;
  display:flex;
  align-items:center;
  min-height:100%;
}
.network-maps-equal{ align-items:stretch; }
.map-var-final .map-frame::before{
  content:"";
  position:absolute;
  inset:-10%;
  pointer-events:none;
  z-index:1;
  background:radial-gradient(circle at 50% 55%, #FF007A33, transparent 58%);
}
.map-var-final .map-frame > img{
  opacity:.88;
  position:relative;
  z-index:0;
  filter:none;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}
.map-var-final .board-cities{
  list-style:none;
  margin:0;
  padding:14px 16px;
  border-left:1px solid #222;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}
.map-var-final .board-cities li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px dashed #2a2a2a;
  padding:5px 0;
  font:700 14px BrandBarlow,Barlow,"Barlow Fallback",sans-serif;
  letter-spacing:.06em;
}
.map-var-final .board-cities b{ color:var(--pink); }
.map-var-final .board-cities span{ color:var(--ink); text-transform:uppercase; }

@media(max-width:1100px){
  .map-var-final .board-body{ grid-template-columns:1fr !important; }
  .map-var-final .board-cities{ border-left:0; border-top:1px solid #222; }
}
@media(max-width:760px){
  .map-var-final .hub-outline{ font-size:clamp(44px, 14vw, 72px); }
  .maps-explainer{ font-size:clamp(24px, 8vw, 34px); max-width:none; }
}

/* === v30a — typography, splash, pills, staff grid, edit, contact === */
@font-face{font-family:Barlow;src:url('/assets/fonts/Barlow-Regular.woff2') format('woff2'),url('/assets/fonts/Barlow-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url('/assets/fonts/Barlow-Medium.woff2') format('woff2'),url('/assets/fonts/Barlow-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Barlow;src:url('/assets/fonts/Barlow-Bold.woff2') format('woff2'),url('/assets/fonts/Barlow-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Body;src:url('/assets/fonts/Barlow-Regular.woff2') format('woff2'),url('/assets/fonts/Barlow-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Body;src:url('/assets/fonts/Barlow-Medium.woff2') format('woff2'),url('/assets/fonts/Barlow-Medium.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Body;src:url('/assets/fonts/Barlow-Bold.woff2') format('woff2'),url('/assets/fonts/Barlow-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}

body, p, li, label, input, textarea, select, button, .intro-copy, .teaser p, .lg-body, .network-copy p, .edit-copy p, .about-copy-col p, .page-intro p, .form-note, .form-feedback, .net-list {
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif;
}
body{ font:400 var(--body)/1.5 Barlow, "Barlow Fallback", Arial, sans-serif; }

/* Home statement: straight Barlow, not condensed Display */
.home-statement .home-voice-line,
.home-statement p,
section.home-statement p {
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 2.15vw, 32px) !important;
  line-height: 1.42 !important;
  letter-spacing: 0 !important;
  color: var(--muted) !important;
}
.home-statement strong {
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
}
.home-statement .pink { color: var(--pink) !important; }

/* Splash: logo width = the two buttons */
.entrance-stack{
  width: min(1040px, 100%);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(28px, 5vh, 48px);
}
.entrance-wordmark,
.entrance-access{
  width: 100%;
  max-width: none;
  margin: 0;
}
.entrance-wordmark > .castingland-mark,
.entrance-wordmark .entrance-vector{
  width: 100%;
  height: auto;
  display: block;
}
@media(max-width:760px){
  .entrance-stack{ width: min(440px, 100%); }
}

/* Segmented pills: office + theme, same language. Active = solid ink (white on dark). */
.seg-control,
.office-links.seg-control,
.theme-control.seg-control{
  display: inline-flex;
  align-items: center;
  gap: 0;
  border: 1px solid var(--rule);
  border-radius: 999px;
  padding: 3px;
  background: transparent;
  width: max-content;
  max-width: 100%;
  flex: 0 0 auto;
}
.office-links.seg-control,
.header-brand .office-links.seg-control{
  justify-self: start !important;
  align-self: center !important;
  width: max-content !important;
  max-width: 100%;
  flex: 0 0 auto;
  flex-direction: row !important;
  display: inline-flex !important;
}
.theme-control.seg-control,
.header-brand .theme-control.seg-control{
  justify-self: end !important;
  align-self: center !important;
  width: max-content !important;
  flex: 0 0 auto;
  display: inline-flex !important;
}
.seg-control a,
.seg-control button,
.office-links.seg-control a,
.theme-control.seg-control button{
  border-radius: 999px;
  padding: 5px 12px;
  min-height: 30px;
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif;
  font-size: var(--small);
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--muted);
  background: transparent;
  box-shadow: none !important;
  line-height: 1.2;
}
.seg-control a[aria-current=true],
.seg-control button[aria-pressed=true],
.office-links.seg-control a[aria-current=true],
.theme-control.seg-control button[aria-pressed=true]{
  background: var(--ink) !important;
  color: var(--bg) !important;
}
html[data-theme=light] .office-links [aria-current=true]{
  color: var(--bg) !important;
  box-shadow: none !important;
}

/* Pills for CONTACT US and similar */
.btn-pill,
.contact-button,
#main-nav a.nav-contact,
.form-actions .btn-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  border: 1px solid var(--pink);
  border-radius: 999px;
  padding: 8px 18px;
  min-height: 36px;
  font: 600 14px/1.2 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
}
.btn-pill:hover,
.contact-button:hover,
#main-nav a.nav-contact:hover{
  background: var(--pink);
  color: #fff;
}
.contact-cta{ justify-content: center; }
.contact-button .arrow,
#main-nav a.nav-contact .arrow{ width: 14px; height: 14px; }
#main-nav a.nav-contact{
  padding: 6px 14px;
  min-height: 32px;
  box-shadow: none !important;
}
#main-nav a.nav-contact[aria-current=page]{
  background: var(--pink);
  color: #fff;
  box-shadow: none !important;
}

/* About left column: same readable Barlow as WE LIKE, with hierarchy */
.about-manifest-title{
  font: 500 clamp(20px, 1.6vw, 26px)/1.4 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ink) !important;
  margin: 0 0 22px !important;
  text-wrap: pretty;
}
.about-copy-col p{
  font: 400 clamp(17px, 1.25vw, 20px)/1.55 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  color: #c8c8c8;
  margin: 0 0 16px;
  max-width: 46ch;
}
.about-copy-col .about-staff{
  font: 500 clamp(17px, 1.25vw, 20px)/1.45 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: 0 !important;
  color: var(--ink) !important;
  margin-top: 28px !important;
  text-transform: none;
}
.about-copy-col .about-staff .staff-mark{
  font: 700 13px/1 Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: .14em;
  color: var(--pink);
  margin-right: 10px;
  text-transform: uppercase;
}
.about-copy-col .seat-outline,
.seat-outline{
  margin-top: 28px !important;
  font: 700 clamp(26px, 2.4vw, 36px)/1.2 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  color: var(--pink) !important;
  -webkit-text-stroke: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  max-width: 16ch;
}
.lg-body{
  font: 400 clamp(14px, 1.05vw, 16px)/1.45 Barlow, "Barlow Fallback", Arial, sans-serif !important;
}

/* Team board grid + mail icon + role on each card */
.team-kicker{ display: none !important; }
.team-board{
  width: 100%;
  max-width: var(--content-max);
  margin: 0 auto;
  border: 1px solid #1f1f1f;
  box-sizing: border-box;
}
.team-board .team-grid,
.about-team .team-board .team-grid,
.team-page .team-board .team-grid{
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0;
}
.team-board .team-card{
  padding: 16px 14px 20px !important;
  border: 0 !important;
  border-right: 1px solid #1f1f1f !important;
  box-sizing: border-box;
}
.team-board .team-card:nth-child(6n){ border-right: 0 !important; }
.team-role, .pass-rl{
  display: block !important;
  color: #9a9a9a !important;
  font: 600 11px/1.3 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  margin: 4px 0 0 !important;
}
.team-mail{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  width: 34px;
  height: 34px;
  border: 1px solid #2a2a2a;
  border-radius: 999px;
  color: var(--ink);
}
.team-mail:hover{ color: var(--pink); border-color: var(--pink); }
.team-email{ display: none !important; }
@media(max-width:1100px){
  .team-board .team-grid,
  .about-team .team-board .team-grid,
  .team-page .team-board .team-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .team-board .team-card{ border-right: 1px solid #1f1f1f !important; border-bottom: 1px solid #1f1f1f !important; }
  .team-board .team-card:nth-child(3n){ border-right: 0 !important; }
  .team-board .team-card:nth-last-child(-n+3){ border-bottom: 0 !important; }
}
@media(max-width:760px){
  .team-board .team-grid,
  .about-team .team-board .team-grid,
  .team-page .team-board .team-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .team-board .team-card:nth-child(3n){ border-right: 1px solid #1f1f1f !important; }
  .team-board .team-card:nth-child(2n){ border-right: 0 !important; }
  .team-board .team-card:nth-last-child(-n+3){ border-bottom: 1px solid #1f1f1f !important; }
  .team-board .team-card:nth-last-child(-n+2){ border-bottom: 0 !important; }
}

/* Network copy up top, readable intro, even columns, no awkward wraps */
.network-copy-top,
.network-copy.network-copy-top{
  display: block;
  width: 100%;
  max-width: var(--content-max);
  margin: 28px auto 8px !important;
  text-align: left;
  padding: 0;
}
.network-copy-top p,
.network-copy.network-copy-top p{
  font: 400 clamp(17px, 1.3vw, 20px)/1.55 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: #c8c8c8;
  max-width: 72ch;
  margin: 0 0 16px;
  text-align: left;
}
.network-copy-top .network-regions-lead{
  font: 600 clamp(18px, 1.4vw, 22px)/1.4 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  color: var(--ink) !important;
  margin: 22px 0 16px !important;
}
.network-copy-top .net-cols{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px 32px;
  margin: 0;
  width: 100%;
  max-width: none;
  align-items: start;
}
.network-copy-top .net-col-title{
  font: 700 clamp(20px, 1.6vw, 28px)/1.15 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0 0 12px;
  color: var(--ink);
}
.network-copy-top .net-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.network-copy-top .net-list li{
  font: 400 clamp(15px, 1.1vw, 17px)/1.4 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: #c8c8c8;
  break-inside: avoid;
}
.network-copy-top .network-closing{
  font: 600 clamp(18px, 1.4vw, 22px)/1.4 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  color: var(--ink) !important;
  margin: 24px 0 0 !important;
}
@media(max-width:1100px){
  .network-copy-top .net-cols{ grid-template-columns: 1fr; gap: 22px; }
}

/* Work: Vimeo more CTA under commercials */
.work-vimeo-more{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  padding: 36px var(--pad) 8px;
  text-align: center;
}
.work-vimeo-more[hidden]{ display: none !important; }
.work-vimeo-more p{
  font: 500 clamp(20px, 1.8vw, 28px)/1.3 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: var(--ink);
  margin: 0;
}

/* The Casting Edit — editorial + device scroll + subscribe */
.edit-hero{ padding-bottom: 12px; }
.edit-lead{
  font: 400 clamp(18px, 1.4vw, 22px)/1.5 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: #c8c8c8;
  max-width: 40em;
  margin: 16px 0 0;
  text-wrap: pretty;
}
.edit-page.edit-editorial,
.edit-editorial{
  max-width: var(--content-max);
  margin: 0 auto;
  width: 100%;
}
.edit-layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 48px;
  align-items: start;
}
.edit-editorial .edit-copy{
  max-width: none;
  margin: 0;
}
.edit-editorial .edit-copy p{
  font: 400 clamp(16px, 1.15vw, 19px)/1.55 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: #c8c8c8;
  margin: 0 0 16px;
}
.edit-editorial .edit-copy p:first-child{ color: var(--ink); font-weight: 500; }
.edit-note{ font-weight: 600; color: var(--ink) !important; }
.edit-device{
  margin: 0;
  background: #111;
  border: 1px solid #2a2a2a;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
}
.edit-chrome{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 14px;
  font: 600 11px/1 Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #9a9a9a;
  border-bottom: 1px solid #2a2a2a;
  background: #0c0c0c;
}
.edit-viewport{
  position: relative;
  height: min(640px, 70vh);
  overflow: hidden;
  background: #0a0a0a;
}
.edit-scroll{
  display: flex;
  flex-direction: column;
  width: 100%;
  animation: editScroll 48s linear infinite;
}
.edit-scroll img{
  display: block;
  width: 100%;
  height: auto;
}
.edit-static-cover{ display: none; width: 100%; height: auto; }
@keyframes editScroll{
  from{ transform: translateY(0); }
  to{ transform: translateY(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .edit-scroll{ display: none !important; animation: none !important; }
  .edit-static-cover{ display: block !important; }
  .edit-viewport{ height: auto; }
}
.edit-subscribe{
  margin-top: 48px;
  padding: 28px 0 8px;
  border-top: 1px solid var(--rule);
  max-width: 560px;
}
.edit-subscribe h2{
  font: 800 clamp(28px, 3vw, 44px)/1 Display, 'Arial Narrow', sans-serif;
  margin: 0 0 10px;
}
.edit-subscribe > p{
  font: 400 16px/1.5 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: #bdbdbd;
  margin: 0 0 18px;
}
.edit-subscribe-row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.edit-subscribe input[type=email]{
  flex: 1 1 220px;
  min-height: 44px;
  margin-top: 0;
  border-radius: 999px;
  padding: 8px 16px;
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif;
}
.edit-subscribe .form-feedback{ margin-top: 12px; color: var(--muted); font-size: var(--small); }
@media(max-width:1100px){
  .edit-layout{ grid-template-columns: 1fr; }
  .edit-viewport{ height: min(520px, 60vh); }
}

/* Contact hook + social icons */
.contact-page{
  max-width: var(--content-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(220px, .7fr);
  gap: 48px 64px;
  align-items: start;
}
.contact-main{ min-width: 0; }
.contact-page .contact-aside,
.contact-aside{
  align-self: start;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: block !important;
  gap: 0;
  text-align: left;
}
.contact-aside .social-block{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: left !important;
}
.contact-aside .social-block h2,
.contact-aside .social-block #social-heading{
  text-align: left !important;
  margin: 0 0 18px !important;
  font: 800 clamp(22px, 2vw, 32px)/1.1 Display, 'Arial Narrow', sans-serif;
}
.contact-aside .social-links{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  justify-items: start;
  justify-content: start;
}
.contact-aside .social-item{
  display: flex;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: flex-start;
  gap: 4px;
  min-height: 0;
  padding: 12px 0;
  border-top: 0;
  border-bottom: 1px solid #1f1f1f;
  text-align: left;
  width: 100%;
}
.contact-aside .social-item:first-child{ padding-top: 0; }
.contact-aside .social-item:last-child{ border-bottom: 0; padding-bottom: 0; }

.contact-hook{
  font: 800 clamp(36px, 4.6vw, 68px)/1.06 Display, 'Arial Narrow', sans-serif;
  letter-spacing: -.02em;
  max-width: 16ch;
  margin: 0 0 22px;
  text-wrap: balance;
}
.contact-prompts{
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
  display: grid;
  gap: 8px;
}
.contact-prompts li{
  font: 500 clamp(18px, 1.5vw, 24px)/1.4 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: var(--ink);
}
.contact-hook-end{
  font: 600 clamp(18px, 1.4vw, 24px)/1.4 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: var(--pink);
  margin: 8px 0 36px;
}
.contact-page .contact-section{ display: contents; }
.form-actions{ margin-top: 8px; }
.social-item .social-name{
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.social-item .social-name svg{ flex: 0 0 auto; color: var(--pink); }
.social-links{ display: grid; gap: 16px; }
@media(max-width:1100px){
  .contact-page{ grid-template-columns: 1fr; }
}
@media(max-width:760px){
  .contact-hook{ font-size: clamp(28px, 9vw, 42px); max-width: none; }
  .home-statement .home-voice-line,
  .home-statement p{ font-size: clamp(18px, 5.4vw, 24px) !important; }
  .seat-outline, .about-copy-col .seat-outline{ font-size: clamp(22px, 7vw, 28px) !important; }
}

/* === v30a — The Casting Edit layout from Bot Designer page-mockup === */
@font-face{font-family:Montserrat;src:url('/assets/fonts/Montserrat-Variable.woff2') format('woff2'),url('/assets/fonts/Montserrat-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/DMSans-Variable.woff2') format('woff2'),url('/assets/fonts/DMSans-Variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}

.edit-hero{
  padding-top: 44px;
  padding-bottom: 8px;
  max-width: none;
}
.edit-display{
  font: 400 clamp(64px, 9vw, 118px)/.84 Bebas, "Bebas Fallback", Display, "Display Fallback", sans-serif;
  letter-spacing: .005em;
  margin: 0;
}
.edit-tagline{
  font: 700 clamp(12px, .95vw, 13px)/1.3 BrandBarlow, Barlow, "Barlow Fallback", sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #cfcfcf;
  margin: 18px 0 0;
}
.edit-promise{
  font: 400 clamp(32px, 4.2vw, 52px)/.9 Bebas, "Bebas Fallback", Display, "Display Fallback", sans-serif;
  letter-spacing: .02em;
  margin: 14px 0 0;
  color: var(--ink);
}
.edit-hero .edit-lead,
.edit-lead{
  max-width: 760px;
  font: 400 clamp(16px, 1.2vw, 18px)/1.55 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  color: #bdbdbd;
  margin: 22px 0 0;
  text-wrap: pretty;
}
.edit-issue-hero{
  padding-top: 40px;
  padding-bottom: 0;
  max-width: none;
}
.edit-video-frame{
  position: relative;
  width: 100%;
  max-width: var(--content-max, 1320px);
  margin: 0 auto;
  background: #1a1412;
  overflow: hidden;
  aspect-ratio: 1440 / 900;
}
.edit-loop,
.edit-loop-still{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.edit-loop-still{ display: none; }
@media (prefers-reduced-motion: reduce){
  .edit-loop{ display: none !important; }
  .edit-loop-still{ display: block !important; }
}
.edit-rail{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 36px;
  align-items: center;
  background: #f5ede3;
  color: #26221f;
  padding: 22px 32px;
  max-width: var(--content-max, 1320px);
  margin: 0 auto;
}
.edit-mark{
  font: 900 18px/1 Montserrat, sans-serif;
  letter-spacing: -.085em;
  color: #26221f;
  border: 1.5px solid #292420;
  padding: 7px 10px 6px;
  display: inline-block;
  background: #f5ede3;
}
.edit-mark span{ color: #c9887b; }
.edit-rail-meta{
  font: 700 10px BrandBarlow, Barlow, "Barlow Fallback", sans-serif;
  letter-spacing: .14em;
  color: #6f615a;
  text-transform: uppercase;
  line-height: 1.5;
  margin: 12px 0 0;
}
.edit-rail-meta strong{
  font: 900 13px Montserrat, sans-serif;
  letter-spacing: -.05em;
  color: #26221f;
  text-transform: none;
}
.edit-rail-kicker{
  font: 700 10px BrandBarlow, Barlow, "Barlow Fallback", sans-serif;
  letter-spacing: .14em;
  color: #6f615a;
  text-transform: uppercase;
  margin: 0 0 4px;
}
.edit-rail-title{
  font: 900 clamp(28px, 3vw, 42px)/.9 Montserrat, sans-serif;
  letter-spacing: -.08em;
  color: #26221f;
  margin: 0;
}
.edit-rail-title em{ font-style: normal; color: #c9887b; }
.edit-rail-blurb{
  font: 400 15px/1.45 'DM Sans', Barlow, sans-serif;
  color: #26221f;
  max-width: 420px;
  margin: 6px 0 0;
}
.edit-rail-cta{ text-align: right; }
.edit-issue-cta{
  display: inline-block;
  font: 700 12px BrandBarlow, Barlow, "Barlow Fallback", sans-serif;
  letter-spacing: .16em;
  color: #f5ede3 !important;
  background: #26221f;
  padding: 12px 18px;
  text-decoration: none;
  border-radius: 0;
}
.edit-issue-cta:hover{ background: #000; color: #fff !important; }
.edit-rail-url{
  display: block;
  font: 700 10px BrandBarlow, Barlow, "Barlow Fallback", sans-serif;
  letter-spacing: .14em;
  color: #6f615a;
  margin-top: 8px;
}
.edit-read{
  margin: 72px var(--pad) 0;
  max-width: var(--content-max, 1320px);
  margin-left: auto;
  margin-right: auto;
  background: #f5ede3;
  color: #26221f;
  padding: 56px 64px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items: center;
  box-sizing: border-box;
  width: calc(100% - 2 * var(--pad));
}
.edit-read h2{
  font: 400 clamp(44px, 6vw, 86px)/.86 Bebas, "Bebas Fallback", Display, "Display Fallback", sans-serif;
  letter-spacing: .01em;
  color: #26221f;
  margin: 0;
}
.edit-read h2 .pink{ color: #FF007A; }
.edit-read p{
  font: 400 18px/1.55 'DM Sans', Barlow, sans-serif;
  color: #26221f;
  margin: 0;
}
.edit-read-cta{ margin-top: 28px; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; }
.edit-read-cta .edit-rail-url{ margin-top: 0; display: inline-block; }
.edit-subscribe-wrap{
  max-width: var(--content-max, 1320px);
  margin: 0 auto;
  padding-top: 56px;
}
form.edit-subscribe{
  display: block;
  max-width: 560px;
  margin: 0;
  padding: 0;
  border: 0;
}
form.edit-subscribe h2{ display:block; margin: 0 0 10px; }
form.edit-subscribe > p{ display:block; margin: 0 0 18px; max-width: 40em; }
.edit-subscribe-row{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  width: 100%;
}
form.edit-subscribe .form-feedback{
  display: block;
  width: 100%;
  margin-top: 12px;
  color: var(--muted);
  font-size: var(--small);
}
form.edit-subscribe label,
form.edit-subscribe input{
  margin-top: 0;
}
@media(max-width:1100px){
  .edit-rail{ grid-template-columns: 1fr; gap: 18px; }
  .edit-rail-cta{ text-align: left; }
  .edit-read{ grid-template-columns: 1fr; padding: 36px 28px; gap: 24px; margin-top: 48px; }
}
@media(max-width:760px){
  .edit-display{ font-size: clamp(48px, 16vw, 72px); }
  .edit-promise{ font-size: clamp(28px, 9vw, 40px); }
  .edit-read{ padding: 28px 20px; width: calc(100% - 2 * var(--pad)); }
  .edit-rail{ padding: 18px 18px; }
}


/* === v31a — header into the nav, larger network board, team type, edit split, contact line === */

/* Header: drop the top pill row. Logo stays on internal pages; nav is one edge-to-edge row. */
.header-top{
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 76px;
  padding: 0 var(--pad);
  box-sizing: border-box;
}
.header-top .logo,
.site-header .header-top .logo{
  position: static;
  left: auto;
  top: auto;
  transform: none;
  display: block;
  width: min(420px, 34vw);
  line-height: 0;
  grid-column: auto;
}
.header-top .logo .castingland-mark,
.header-top .logo svg{ width: 100%; height: auto; display: block; }
.is-home .header-top{ display: none; }
.is-home{ --header-height: 64px; }
html{ scroll-padding-top: 80px; }
.is-home .site-header.compact .header-top{ display: none; }

.site-header .menu-toggle{ display: none; }

#main-nav,
.site-header #main-nav,
.site-header.menu-open #main-nav,
.site-header.compact #main-nav{
  display: flex !important;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
  padding: 10px var(--pad) !important;
  min-height: 56px;
  font-size: 15px !important;
  font-weight: 600;
}
.nav-primary{
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  gap: 8px 18px;
  min-width: 0;
}
.nav-tools{
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}
#main-nav .office-links.seg-control,
.nav-tools .office-links.seg-control{
  justify-self: auto !important;
  position: static !important;
  display: inline-flex !important;
  flex-direction: row !important;
  width: max-content !important;
  margin: 0;
}
#main-nav .office-links.seg-control a{
  padding: 4px 10px;
  min-height: 28px;
  font-size: 12.5px;
}
.theme-toggle{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 30px;
  min-width: 38px;
  padding: 0 10px;
  border: 1px solid var(--rule);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  line-height: 1;
}
.theme-toggle:hover{ color: var(--pink); border-color: var(--pink); }
.theme-toggle[aria-pressed="true"]{
  background: var(--ink);
  color: var(--bg);
}
html[data-theme=light] .theme-toggle[aria-pressed="true"]{
  background: var(--ink);
  color: var(--bg);
}

@media (min-width: 1441px){
  #main-nav, .site-header #main-nav{ font-size: 16px !important; }
}
@media (min-width: 761px) and (max-width: 1100px){
  #main-nav, .site-header #main-nav{ font-size: 12px !important; gap: 10px; }
  .nav-primary{ gap: 6px 10px; }
  #main-nav a.nav-contact{ padding: 5px 10px; }
  #main-nav .office-links.seg-control a{ padding: 3px 8px; font-size: 11px; min-height: 24px; }
  .theme-toggle{ height: 26px; min-width: 34px; padding: 0 8px; font-size: 11px; }
}

/* Mobile: hamburger, language + B/W live inside the open menu */
@media (max-width: 760px){
  :root, .is-home{ --header-height: 56px; }
  html{ scroll-padding-top: 64px; }
  .header-top,
  .is-home .header-top,
  .is-home .site-header.compact .header-top,
  .site-header.compact .header-top{
    display: flex !important;
    height: 56px !important;
    padding: 0 var(--pad);
  }
  .header-top .logo,
  .site-header.compact .header-top .logo{
    width: min(260px, 68vw);
  }
  .site-header .menu-toggle,
  .menu-toggle{
    display: block !important;
    position: absolute;
    left: var(--pad);
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    z-index: 3;
    font-size: var(--small);
    padding: 4px 0;
    min-height: 34px;
    background: none;
    border: 0;
    color: var(--ink);
  }
  #main-nav,
  .site-header #main-nav,
  .site-header.compact #main-nav{
    display: none !important;
  }
  .site-header.menu-open #main-nav{
    display: flex !important;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 6px;
    padding: 8px var(--pad) 20px !important;
    min-height: 0;
    max-height: 70svh;
    overflow-y: auto;
    font-size: 16px !important;
    border-top: 1px solid var(--rule);
  }
  .site-header.menu-open .nav-primary{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
  }
  .site-header.menu-open #main-nav a{
    display: block;
    padding: 12px 0;
    white-space: normal;
    border-bottom: 1px solid #1f1f1f;
  }
  .site-header.menu-open #main-nav .office-links a{
    display: inline-flex !important;
    align-items: center;
    padding: 6px 12px !important;
    white-space: nowrap !important;
    border-bottom: 0 !important;
    width: auto !important;
    flex: 0 0 auto !important;
  }
  .site-header.menu-open .office-links.seg-control{
    width: max-content !important;
    max-width: 100%;
    flex-wrap: nowrap !important;
  }
  .site-header.menu-open #main-nav a.nav-contact{
    display: inline-flex;
    width: max-content;
    margin: 12px 0 4px;
    padding: 8px 16px;
  }
  .site-header.menu-open .nav-tools{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding-top: 14px;
    margin-top: 6px;
    border-top: 1px solid var(--rule);
  }
}

/* Network flap board: a bit larger, 3×2 with a dedicated USA city cell */
.network-board-section{
  padding: 64px 0 56px !important;
}
.network-board-section>.section-heading{ margin: 0 0 22px !important; }
.network-board-section h2,
.network-board-section #network-title{
  font: 700 clamp(16px, 1.6vw, 22px)/1.2 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
}
.network-departures{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1.1vw, 18px) !important;
  width: min(1180px, calc(100% - 2 * var(--pad))) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}
.network-row{
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
}
.network-row .network-cell{
  height: clamp(42px, 4.4vw, 68px) !important;
  font: 600 clamp(13px, 1.45vw, 24px)/1 Barlow, "Barlow Fallback", Arial, sans-serif !important;
}
.network-usa-slot{
  position: relative;
  min-width: 0;
  padding-top: 16px;
}
.network-row-usa{ padding-top: 0; }
.network-row-kicker{
  position: absolute;
  top: 0;
  left: 0;
  font: 700 10px/1 Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--pink);
}
@media (max-width: 760px){
  .network-board-section{ padding: 44px 0 40px !important; }
  .network-departures{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: calc(100% - 2 * var(--pad)) !important;
    gap: 10px !important;
  }
  .network-row{
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
  }
  .network-row .network-cell{ height: 40px !important; font-size: 12px !important; }
}
@media (max-width: 390px){
  .network-departures{ grid-template-columns: 1fr !important; }
}

/* Team names / city / role: Barlow, not condensed Display */
.team-board .team-card h2,
.team-board .team-grid h2,
.team-card h2,
.team-grid h2,
.pass-nm{
  font: 700 clamp(14px, 1.15vw, 18px)/1.2 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  font-stretch: normal !important;
}
.team-board .team-place,
.team-place,
.pass-place{
  font: 600 clamp(12px, .95vw, 14px)/1.3 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--pink) !important;
}
.team-board .team-role,
.team-role,
.pass-rl{
  display: block !important;
  font: 400 clamp(11px, .9vw, 13px)/1.35 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #9a9a9a !important;
}

/* Network listings: two columns inside each region */
.network-copy-top .net-list{
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
  row-gap: 5px;
  flex-direction: unset;
}
.network-departures-close{
  padding-top: 20px;
  padding-bottom: 72px;
}
.network-departures-close .dep-board{ margin: 0 auto; }
@media (max-width: 760px){
  .network-copy-top .net-list{ grid-template-columns: 1fr; }
}

/* Casting Edit: 50/50 hero, text left, slow scroll right */
.edit-hero{ padding-bottom: 8px !important; }
.edit-hero .edit-promise,
.edit-hero .edit-lead{ display: none; }
.edit-split{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  max-width: var(--content-max);
  margin: 0 auto 8px;
  padding-top: 12px;
  padding-bottom: 48px;
}
.edit-split-copy{ min-width: 0; }
.edit-split-copy .edit-promise,
.edit-split .edit-promise{
  display: block;
  font: 800 clamp(36px, 4.2vw, 68px)/.98 Display, 'Arial Narrow', sans-serif;
  letter-spacing: -.02em;
  margin: 0 0 22px;
  text-wrap: balance;
}
.edit-split-text{
  font: 400 clamp(16px, 1.25vw, 20px)/1.55 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  color: #c8c8c8;
  margin: 0 0 22px;
  max-width: 38ch;
  text-wrap: pretty;
}
.edit-split-copy .edit-rail-kicker{
  margin: 0 0 8px;
  font: 700 13px/1.3 Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pink);
}
.edit-split-issue{
  font: 400 16px/1.45 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: var(--muted);
  margin: 0 0 22px;
}
.edit-split-media{ min-width: 0; }
.edit-screen,
.edit-split .edit-video-frame{
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: #111;
  border: 1px solid #2a2a2a;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 60px #0008, inset 0 0 0 1px #ffffff0d;
}
.edit-split .edit-loop,
.edit-split .edit-loop-still{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.edit-split .edit-loop-still{ display: none; }
@media (prefers-reduced-motion: reduce){
  .edit-split .edit-loop{ display: none !important; }
  .edit-split .edit-loop-still{ display: block !important; }
}
@media (max-width: 1100px){
  .edit-split{ grid-template-columns: 1fr; gap: 28px; }
  .edit-split .edit-promise{ font-size: clamp(32px, 8vw, 52px); }
}

/* Contact: prompts on one line; slightly larger SOCIAL */
.contact-prompts{
  display: block !important;
  list-style: none;
  margin: 0 0 32px !important;
  padding: 0 !important;
  font: 500 clamp(15px, 1.2vw, 19px)/1.55 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: var(--ink);
  max-width: none;
}
.contact-prompts li{ display: inline; }
.contact-hook-end{ display: none !important; }
.prompt-dot{
  display: inline;
  margin: 0 .55em;
  color: var(--muted);
  font-weight: 400;
}
.contact-aside .social-block h2,
.contact-aside .social-block #social-heading{
  font: 800 clamp(28px, 2.8vw, 48px)/1.05 Display, 'Arial Narrow', sans-serif !important;
  margin: 0 0 22px !important;
  letter-spacing: -.015em;
}
.contact-aside .social-item .social-name{
  font: 600 clamp(16px, 1.25vw, 20px)/1.3 Barlow, "Barlow Fallback", Arial, sans-serif;
  gap: 12px;
}
.contact-aside .social-item .social-name svg{
  width: 24px;
  height: 24px;
}
.contact-aside .social-detail{
  font-size: clamp(14px, 1.05vw, 16px) !important;
}
@media (max-width: 760px){
  .contact-prompts{ font-size: 15px; }
}


/* === v32a — equal nav gaps; single-row equal network cells === */

/* One flex row, space-between, every item a direct child, edge to edge on --pad. */
@media (min-width: 761px){
  #main-nav,
  .site-header #main-nav,
  .site-header.menu-open #main-nav,
  .site-header.compact #main-nav{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    padding-left: var(--pad) !important;
    padding-right: var(--pad) !important;
  }
  #main-nav .nav-primary,
  #main-nav .nav-tools{
    display: contents;
  }
  #main-nav > a,
  #main-nav > .office-links,
  #main-nav > .theme-toggle,
  #main-nav > .seg-control,
  #main-nav > button{
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  #main-nav a.nav-contact{
    margin: 0 !important;
  }
}

/* Mobile menu: stack links; keep office + B/W as a row at the end, not overlapping */
@media (max-width: 760px){
  .site-header.menu-open #main-nav{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  .site-header.menu-open #main-nav > a{
    display: block;
    padding: 12px 0;
    border-bottom: 1px solid #1f1f1f;
  }
  .site-header.menu-open #main-nav > a.nav-contact{
    display: inline-flex;
    width: max-content;
    margin: 12px 0 4px !important;
    padding: 8px 16px;
    border-bottom: 0;
  }
  .site-header.menu-open #main-nav > .office-links,
  .site-header.menu-open #main-nav > .theme-toggle{
    margin-top: 14px;
  }
  .site-header.menu-open #main-nav > .theme-toggle{
    margin-top: 10px;
    align-self: flex-start;
  }
  .site-header.menu-open #main-nav > .office-links{
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--rule);
  }
}

/* Network board: one row of equal cells (cities + USA). Typo shrinks before wrapping. */
.network-board-section{
  padding: 56px 0 48px !important;
}
.network-departures{
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: clamp(6px, .5vw, 10px) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 18px var(--pad) 0 !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}
.network-usa-slot{ display: contents; }
.network-row,
.network-row-usa,
.network-departures > .network-row{
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
  box-sizing: border-box;
}
.network-row .network-cell,
.network-row-usa .network-cell{
  width: 100% !important;
  min-width: 0 !important;
  height: clamp(40px, 3.9vw, 58px) !important;
  font: 600 clamp(9px, .92vw, 16px)/1 Barlow, "Barlow Fallback", Arial, sans-serif !important;
  box-sizing: border-box !important;
}
.network-row-kicker{
  position: absolute;
  left: 0;
  top: -14px;
  height: 12px;
  line-height: 12px;
  margin: 0;
  padding: 0;
  font: 700 10px/1 Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--pink);
  pointer-events: none;
  z-index: 1;
}
@media (max-width: 760px){
  .network-departures{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    padding: 18px var(--pad) 0 !important;
    gap: 14px 10px !important;
  }
  .network-row,
  .network-row-usa{
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
  }
  .network-row .network-cell{ height: 42px !important; font-size: 11px !important; }
}
@media (max-width: 390px){
  .network-departures{ grid-template-columns: 1fr !important; }
}


/* === v32b — larger board: 2×3 equal cells, just-enough flaps, letters fill flaps === */
.network-board-section{
  padding: 56px 0 52px !important;
}
.network-departures{
  --board-cols: 12;
  --flap-gap: 2px;
  --flap-h: 76px;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-items: stretch !important;
  gap: 20px 18px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 var(--pad) !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
}
.network-row,
.network-row-usa,
.network-departures > .network-row{
  position: relative;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: var(--flap-gap) !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 20px 6px 8px !important;
  box-sizing: border-box !important;
  grid-template-columns: none !important;
  background: transparent;
}
.network-row-label{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 18px;
  line-height: 18px;
  margin: 0;
  padding: 0;
  font: 700 11px/18px Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--pink);
  text-align: center;
  pointer-events: none;
  z-index: 1;
}
.network-row-kicker{ display: none !important; }
.network-row .network-cell,
.network-row-usa .network-cell{
  flex: 0 0 auto !important;
  width: calc((100% - (var(--board-cols) - 1) * var(--flap-gap)) / var(--board-cols)) !important;
  max-width: calc((100% - (var(--board-cols) - 1) * var(--flap-gap)) / var(--board-cols)) !important;
  min-width: 0 !important;
  height: var(--flap-h) !important;
  box-sizing: border-box !important;
  font-family: Display, 'Arial Narrow', sans-serif !important;
  font-weight: 800 !important;
  font-size: calc(var(--flap-h) * 0.7) !important;
  line-height: var(--flap-h) !important;
  letter-spacing: 0 !important;
  display: inline-block !important;
}
@media (min-width: 1920px){
  .network-departures{ --flap-h: 80px; }
}
@media (max-width: 760px){
  .network-departures{
    --flap-h: 64px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 12px !important;
  }
  .network-row,
  .network-row-usa{
    width: 100% !important;
    max-width: none !important;
    flex-wrap: nowrap !important;
  }
}
@media (max-width: 390px){
  .network-departures{
    --flap-h: 60px;
    grid-template-columns: 1fr !important;
  }
}


/* === v32c — equal 12-flap cells, seam only inside each flap === */
.network-row:after,
.network-departures .network-row:after,
.network-row-usa:after{
  display: none !important;
  content: none !important;
  background: none !important;
  height: 0 !important;
  width: 0 !important;
}
.network-departures{
  --board-cols: 12;
  --flap-gap: 2px;
  --flap-h: 76px;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr;
  justify-items: stretch !important;
  align-items: stretch !important;
  column-gap: 18px !important;
  row-gap: 20px !important;
  gap: 20px 18px !important;
}
.network-row,
.network-row-usa,
.network-departures > .network-row{
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  justify-content: stretch !important;
  align-items: stretch !important;
  gap: var(--flap-gap) !important;
  width: 100% !important;
  max-width: none !important;
  padding: 20px 0 0 !important;
  box-sizing: border-box !important;
}
.network-row .network-cell,
.network-row-usa .network-cell{
  flex: none !important;
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: var(--flap-h) !important;
  overflow: hidden !important;
  contain: layout paint !important;
  position: relative !important;
  box-sizing: border-box !important;
  font-size: calc(var(--flap-h) * 0.7) !important;
}
.network-row .flap-seam{
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  margin-top: -0.5px;
  background: var(--rule);
  z-index: 6;
  pointer-events: none;
}
@media (min-width: 1920px){
  .network-departures{ --flap-h: 80px; }
}
@media (max-width: 760px){
  .network-departures{ --flap-h: 64px; }
}
@media (max-width: 390px){
  .network-departures{ --flap-h: 56px; }
}


/* === v33a — unified page H1, work typography, legal, footer, FOUT/autoplay === */
h1.page-title,
.page-title,
.project-index h1.page-title,
.section-heading h1.page-title{
  font: 800 clamp(36px, 4.8vw, 80px)/1.02 Display, "Display Fallback", "Arial Narrow", sans-serif;
  letter-spacing: -.02em;
  text-transform: uppercase;
  margin: 0 0 24px;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
}
@media (min-width: 1100px){
  .page-title{ white-space: nowrap; }
}
@media (max-width: 760px){
  .page-title{
    font-size: clamp(32px, 9vw, 48px);
    line-height: 1.04;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Work page title: same left alignment as the other page H1s */
.project-index > .section-heading{
  justify-content: flex-start;
  text-align: left;
}
.project-index > .section-heading h1.page-title{
  text-align: left;
  margin-left: 0;
}

/* Contact hook is a subtitle under CONTACT. */
.contact-page .contact-hook{
  font: 400 clamp(20px, 2.1vw, 32px)/1.35 Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: 0;
  max-width: 32ch;
  margin: 0 0 18px;
  text-wrap: pretty;
}
@media (max-width: 760px){
  .contact-page .contact-hook{ font-size: clamp(18px, 5.4vw, 24px); max-width: none; }
}

/* Work: Barlow for texts, labels and card titles; Display only for true headings */
.work-tabs button,
.format-tabs button{
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-stretch: normal;
}
.project-caption h3,
.project h3{
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: clamp(14px, 1.05vw, 16px) !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
  font-stretch: normal;
  text-transform: none !important;
}
.project-facts,
.project-foot,
.project-caption{
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif;
  font-stretch: normal;
}
.catalog-category-title,
.work-heading h2{
  font-family: Display, "Display Fallback", "Arial Narrow", sans-serif;
}

/* Legal pages */
.legal-page{
  padding-top: 36px;
  padding-bottom: 72px;
}
.legal-page .legal-body{
  max-width: 70ch;
  font-family: Barlow, "Barlow Fallback", Arial, sans-serif;
  font-size: var(--body);
  line-height: 1.6;
  color: var(--ink);
}
.legal-page .legal-updated{
  color: var(--muted);
  margin: 0 0 28px;
  font-size: var(--small);
}
.legal-page .legal-updated{
  color: var(--muted);
}
.legal-page h2{
  font: 700 1.05em/1.3 Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  margin: 1.7em 0 .5em;
  color: var(--ink);
}
.legal-page h2.legal-part{
  font: 800 clamp(28px, 3vw, 40px)/1.1 Display, "Display Fallback", "Arial Narrow", sans-serif;
  letter-spacing: -.02em;
  text-transform: uppercase;
  margin: 2.6em 0 .8em;
}
.legal-page p{ margin: 0 0 1em; max-width: none; }
.legal-page ul{ margin: 0 0 1em; padding-left: 1.25em; }
.legal-page li{ margin: 0 0 .45em; }
.legal-page a{ color: var(--pink); text-decoration: none; }
.legal-page a:hover{ text-decoration: underline; }
.legal-page strong{ font-weight: 700; }

/* Footer legal links — discreet */
.site-footer .footer-note{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-align: center;
  border: 0;
  margin: 0;
  padding: 0;
}
.site-footer .footer-legal{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px 10px;
  font: 400 12px/1.4 Barlow, "Barlow Fallback", Arial, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}
.site-footer .footer-legal a{
  color: var(--muted);
  text-decoration: none;
}
.site-footer .footer-legal a:hover,
.site-footer .footer-legal a:focus-visible{
  color: var(--ink);
  text-decoration: underline;
}
.footer-legal-dot{ opacity: .6; }

/* No typographic or scale jumps on route entrance */
#main{ animation: page-reveal .22s ease-out both; }
@keyframes page-reveal{ from{ opacity: .65 } to{ opacity: 1 } }
@media (prefers-reduced-motion: reduce){
  #main{ animation: none; }
}


/* Show Vimeo/mp4 work previews once they are actually playing */
.preview-layer>iframe.playing,
.preview-layer>video.playing,
.film[data-preview-playing] .preview-layer>iframe,
.film[data-preview-playing] .preview-layer>video{
  opacity:1;
}


/* === v33b — Contact aligns to --pad; no redundant page kickers === */
.contact-page{
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
}


/* === v34a — taller Casting Edit issue window; board hub labels stay even === */
.edit-split{
  align-items: start;
  padding-bottom: 12px;
}
.edit-screen,
.edit-split .edit-video-frame{
  aspect-ratio: 4 / 5;
  height: auto;
  min-height: 640px;
}
.edit-split .edit-loop,
.edit-split .edit-loop-still{
  object-fit: cover;
  object-position: top center;
}
.edit-subscribe-wrap{
  padding-top: 24px;
}
@media (max-width: 1100px){
  .edit-screen,
  .edit-split .edit-video-frame{
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
}


/* === v34b — uncropped 4/5 issue loop, edit column on --pad, readable board labels === */
.edit-split{
  max-width: none;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  box-sizing: border-box;
  align-items: start;
  padding-bottom: 12px;
}
.edit-subscribe-wrap{
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.edit-screen,
.edit-split .edit-video-frame{
  aspect-ratio: 4 / 5;
  height: auto;
  min-height: 640px;
  background: #f5ede3;
}
.edit-split .edit-loop,
.edit-split .edit-loop-still{
  object-fit: contain;
  object-position: top center;
}
@media (max-width: 1100px){
  .edit-screen,
  .edit-split .edit-video-frame{
    min-height: 0;
  }
}

.network-row-label{
  left: 0 !important;
  right: auto !important;
  width: auto !important;
  height: 22px !important;
  line-height: 22px !important;
  font: 700 12px/22px Barlow, "Barlow Fallback", Arial, sans-serif !important;
  letter-spacing: .14em !important;
  text-align: left !important;
  color: var(--pink) !important;
  text-transform: uppercase !important;
}
.network-departures > .network-row,
.network-row{
  padding-top: 24px !important;
}


/* === v35a — Casting Edit: animation window aligns with page title; subscribe under left copy === */
.edit-split{
  align-items: start;
  padding-top: 46px;
  padding-bottom: 64px;
}
.edit-split-copy .page-title{
  margin: 0 0 48px;
}
.edit-split-copy .edit-subscribe-wrap{
  max-width: none;
  width: 100%;
  margin: 28px 0 0;
  padding: 0;
}
.edit-split-copy form.edit-subscribe{
  display: block;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
}
@media (max-width: 1100px){
  .edit-split{
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
@media (max-width: 760px){
  .edit-split{
    padding-top: 30px;
    padding-bottom: 40px;
  }
  .edit-split-copy .page-title{
    margin-bottom: 28px;
  }
  .edit-split-copy .edit-subscribe-wrap{
    margin-top: 24px;
  }
}


/* === v36a — LATAM about/team/work/network/inscribite; contact WhatsApp on both sites === */
.team-board-5 .team-grid,
.about-team .team-board-5 .team-grid,
.team-page .team-board-5 .team-grid{
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}
.team-board-5 .team-card:nth-child(6n){ border-right: 1px solid #1f1f1f !important; }
.team-board-5 .team-card:nth-child(5n){ border-right: 0 !important; }
@media (max-width: 1100px){
  .team-board-5 .team-grid,
  .about-team .team-board-5 .team-grid,
  .team-page .team-board-5 .team-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .team-board-5 .team-card{ border-right: 1px solid #1f1f1f !important; border-bottom: 1px solid #1f1f1f !important; }
  .team-board-5 .team-card:nth-child(5n){ border-right: 1px solid #1f1f1f !important; }
  .team-board-5 .team-card:nth-child(3n){ border-right: 0 !important; }
  .team-board-5 .team-card:nth-last-child(-n+2){ border-bottom: 0 !important; }
}
@media (max-width: 760px){
  .team-board-5 .team-grid,
  .about-team .team-board-5 .team-grid,
  .team-page .team-board-5 .team-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .team-board-5 .team-card:nth-child(3n){ border-right: 1px solid #1f1f1f !important; }
  .team-board-5 .team-card:nth-child(2n){ border-right: 0 !important; }
  .team-board-5 .team-card:nth-last-child(-n+2){ border-bottom: 0 !important; }
  .team-board-5 .team-card:nth-last-child(-n+1){ border-bottom: 1px solid #1f1f1f !important; }
}

.work-tabs.work-tabs-latam{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px){
  .work-tabs.work-tabs-latam{ grid-template-columns: 1fr; }
  .work-tabs.work-tabs-latam button{ border-right: 0 !important; border-bottom: 1px solid var(--rule) !important; }
  .work-tabs.work-tabs-latam button:last-child{ border-bottom: 0 !important; grid-column: auto; }
}

.contact-aside .contact-phone-rule,
.social-block .contact-phone-rule{
  width: 100%;
  height: 0;
  margin: 8px 0 0;
  border: 0;
  border-top: 1px solid #1f1f1f;
}
.contact-aside .social-item.contact-whatsapp,
.social-block .social-item.contact-whatsapp{
  padding-top: 16px;
  border-bottom: 0;
  width: 100%;
}

/* === v36b — LATAM team order/Booker city; Inscribite 50/50 with crowd image === */
/* === v37a — Inscribite crowd (cleaned), CSS left fade to #0a0a0a, object-position center === */
.team-board .team-role,
.team-role{
  min-height: 1.35em;
}

.inscribite-page{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: stretch;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-height: calc(100svh - var(--header-height, 160px));
  background: #0a0a0a;
}
.inscribite-copy{
  padding: 48px var(--pad) 72px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}
.inscribite-copy .page-title{
  margin: 0 0 28px;
}
.inscribite-page .inscribite-lead{
  font: 400 clamp(20px, 1.7vw, 26px)/1.45 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: var(--ink);
  max-width: 28em;
  margin: 0 0 22px;
  text-wrap: pretty;
}
.inscribite-page .inscribite-text{
  font: 400 clamp(17px, 1.35vw, 20px)/1.55 Barlow, "Barlow Fallback", Arial, sans-serif;
  color: var(--ink);
  max-width: 32em;
  margin: 0 0 18px;
  text-wrap: pretty;
}
.inscribite-page .inscribite-lead strong,
.inscribite-page .inscribite-text strong{
  font-weight: 700;
}
.inscribite-page .inscribite-cta{ margin: 28px 0 10px; }
.inscribite-page a.btn-pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: max-content;
}
.inscribite-page .inscribite-url{
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.inscribite-media{
  position: relative;
  min-height: 100%;
  background: #0a0a0a;
  overflow: hidden;
}
.inscribite-media picture,
.inscribite-media img{
  display: block;
  width: 100%;
  height: 100%;
}
.inscribite-media picture{
  position: absolute;
  inset: 0;
}
.inscribite-media img{
  object-fit: cover;
  object-position: center center;
}
.inscribite-media::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(to right, #0a0a0a 0%, rgba(10,10,10,.7) 6%, rgba(10,10,10,0) 40%);
}

@media (max-width: 1100px){
  .inscribite-page{
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .inscribite-copy{
    order: 1;
    padding: 32px var(--pad) 36px;
  }
  .inscribite-media{
    order: 2;
    min-height: 0;
    aspect-ratio: 16 / 10;
  }
  .inscribite-media::after{
    background: linear-gradient(to bottom, #0a0a0a 0%, rgba(10,10,10,.55) 8%, rgba(10,10,10,0) 36%);
  }
}
@media (max-width: 760px){
  .inscribite-copy{ padding: 30px var(--pad) 32px; }
  .inscribite-copy .page-title{ margin-bottom: 22px; }
  .inscribite-page .inscribite-lead{ font-size: clamp(18px, 5.4vw, 22px); }
  .inscribite-page .inscribite-text{ font-size: clamp(16px, 4.4vw, 18px); }
  .inscribite-media{ aspect-ratio: 4 / 3; }
}


/* Contact form honeypot — visually hidden, kept out of tab order */
.hp-field{
  position:absolute!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0;
}
.turnstile-slot{ min-height:0; margin: 4px 0; }


/* === v40 — split-flap rest state is always a complete, unclipped letter ===
   Halves (leaf/under) are used only while .flipping. Mixing a real .flap-leaf
   with ::before/::after letter copies caused the two halves to sit on
   slightly different boxes (pseudos are content-box; the leaf is border-box)
   and left ::after showing data-next, so a missed settle froze Frankenstein
   glyphs. The row-level seam also did not always sit on the cell midline. */
.flap-cell:has(.flap-full)::before,
.flap-cell:has(.flap-full)::after{
  content: none !important;
  display: none !important;
  animation: none !important;
  box-shadow: none !important;
}
.entrance-board-row::after{
  content: none !important;
  display: none !important;
}
.flap-full,
.flap-leaf,
.flap-under{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 0;
  box-sizing: border-box;
  line-height: 1;
  white-space: pre;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  color: inherit;
  background: var(--panel);
  backface-visibility: hidden;
  pointer-events: none;
}
.entrance-backdrop .flap-full,
.entrance-backdrop .flap-leaf,
.entrance-backdrop .flap-under{
  justify-content: flex-start;
  text-align: left;
  padding-left: 2px;
  background: var(--panel);
}
@media (max-width: 760px){
  .entrance-backdrop .flap-full,
  .entrance-backdrop .flap-leaf,
  .entrance-backdrop .flap-under{ padding-left: 1px; }
}
.network-row .flap-full,
.network-row .flap-leaf,
.network-row .flap-under{
  justify-content: center;
  text-align: center;
  padding: 0;
  background: var(--panel);
  line-height: 1;
}
.flap-full{ z-index: 1; visibility: visible; clip-path: none; transform: none; }
.flap-leaf{
  z-index: 3;
  clip-path: inset(0 0 50%);
  transform-origin: 50% 50%;
  transform: none;
  visibility: hidden;
}
.flap-under{
  z-index: 4;
  clip-path: inset(50% 0 0);
  transform-origin: 50% 50%;
  transform: rotateX(90deg);
  visibility: hidden;
}
.flap-cell.flipping .flap-full{ visibility: hidden; }
.flap-cell.flipping .flap-leaf,
.flap-cell.flipping .flap-under{ visibility: visible; }
.flap-cell.flipping .flap-leaf{
  will-change: transform;
  animation: network-flap-top .13s ease-in both;
}
.flap-cell.flipping .flap-under{
  will-change: transform;
  animation: network-flap-bottom .13s .13s ease-out both;
}
.entrance-backdrop .flap-cell.flipping .flap-leaf,
.network-row .flap-cell.flipping .flap-leaf{
  will-change: transform;
  animation: network-flap-top .13s ease-in both;
}
.entrance-backdrop .flap-cell.flipping .flap-under,
.network-row .flap-cell.flipping .flap-under{
  will-change: transform;
  animation: network-flap-bottom .13s .13s ease-out both;
}
.flap-cell .flap-seam,
.network-row .flap-seam,
.entrance-backdrop .flap-seam{
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  margin-top: -0.5px;
  background: var(--rule);
  z-index: 6;
  pointer-events: none;
}
.entrance-backdrop{
  font-family: Display, "Display Fallback", "Arial Narrow", Arial, sans-serif;
}
@media (prefers-reduced-motion: reduce){
  .flap-cell.flipping .flap-leaf,
  .flap-cell.flipping .flap-under,
  .entrance-backdrop .flap-cell.flipping .flap-leaf,
  .entrance-backdrop .flap-cell.flipping .flap-under,
  .network-row .flap-cell.flipping .flap-leaf,
  .network-row .flap-cell.flipping .flap-under{
    animation: none !important;
    will-change: auto;
    transform: none !important;
    visibility: hidden !important;
  }
  .flap-cell.flipping .flap-full,
  .flap-full{
    visibility: visible !important;
    transform: none !important;
    clip-path: none !important;
  }
}


/* === v40b — mobile network board: one city per row, letters sized to the flap ===
   v32c left desktop's 3-column grid in force on every width, so a phone packed
   12 flaps into ~100px and the height-based font was clipped into slivers.
   Desktop (761px+) is unchanged. */
@media (max-width: 760px){
  .network-departures{
    --flap-gap: 3px;
    --flap-h: clamp(48px, 13vw, 60px);
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    gap: 18px 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px var(--pad) 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
  .network-row,
  .network-row-usa,
  .network-departures > .network-row{
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: var(--flap-gap) !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 22px 0 0 !important;
    box-sizing: border-box !important;
  }
  .network-row .network-cell,
  .network-row-usa .network-cell{
    flex: none !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: var(--flap-h) !important;
    /* Fit type to the flap width so glyphs stay whole (not height-only). */
    font-size: min(
      calc(var(--flap-h) * 0.68),
      calc((90vw - 11 * var(--flap-gap)) / 12 * 0.86)
    ) !important;
    line-height: 1 !important;
    overflow: hidden !important;
  }
  .network-row .flap-full,
  .network-row .flap-leaf,
  .network-row .flap-under{
    justify-content: center !important;
    align-items: center !important;
    font-size: inherit !important;
    line-height: 1 !important;
  }
  .network-row-label{
    height: 18px;
    line-height: 18px;
    font-size: 11px !important;
  }
}
