/* Shared margins and upright, readable editorial typography. */
:root{--page-gutter:clamp(22px,6vw,120px)}
h2,h3{line-height:1.14}h2{letter-spacing:-.012em}.scene-inner{width:calc(100% - var(--page-gutter)*2)}
.site-header{padding-inline:var(--page-gutter)}.experience .journey-footer{left:var(--page-gutter);right:var(--page-gutter)}
.section-description{line-height:1.7}.about-essay>p{line-height:1.75}.scene-head h2,.guest-copy h3{overflow-wrap:break-word}
.inline-rating{float:right;letter-spacing:.02em}.card-summary{line-height:1.6}
.editorial-card .card-copy{padding-inline:clamp(22px,4vw,42px)}
.interview-panel .guest-copy,.interview-controls{padding-inline:clamp(22px,4vw,42px)}
.magazine-archives{display:flex;flex-wrap:wrap;gap:10px 25px;margin-top:14px}.magazine-archives .archive-link{margin-top:0}
.article-type-cover{aspect-ratio:16/9;padding:clamp(22px,4vw,52px);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(130deg,#2e1934,#784267 65%,#ad6d98);color:#fff}.article-type-cover small{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.article-type-cover strong{font:500 clamp(24px,3vw,47px)/1.12 Display,serif;max-width:18ch}.article-archive-note{font-size:17px;line-height:1.75;color:#786571;border-top:1px solid var(--line);padding-top:26px;max-width:670px}
.reading-index{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:16px 30px;padding:35px var(--page-gutter);border-top:1px solid var(--line);font-size:14px;background:#fff}.experience .reading-index{display:none}
/* An oversized chapter scrolls locally; it never disables the other 3D scenes. */
.experience .scene.scene-overflow .scene-inner{overflow-y:auto;overflow-x:hidden;align-content:start;grid-template-rows:auto;scrollbar-width:thin;padding-block:2px 20px;pointer-events:auto;scroll-padding:20px}
.experience .scene.scene-overflow .scene-inner>*{min-height:min-content;align-self:start}
.experience .scene[inert].scene-overflow .scene-inner{pointer-events:none}
/* Photographs lead the interview cards; profiles and full videos are distinct links. */
.interview-deck{max-width:570px}.interview-featured{border-top:0;padding:0 0 8px;background:transparent}
.guest-photo{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#f7f3f6}
.guest-copy{padding-top:18px}.interview-kicker{margin-bottom:8px;line-height:1.45;font-size:12px;letter-spacing:.08em}
.interview-panel h3{min-height:0;font-size:clamp(30px,2.8vw,43px);line-height:1.15}
.guest-role{margin-top:10px;min-height:0;font-size:16px;line-height:1.6}
.interview-meta{margin-top:10px;font-size:12px}.interview-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:7px}
.interview-actions .watch-interview{margin:0;min-height:40px}.interview-actions .text-link{font-size:14px;min-height:40px;padding:6px 0}
.interview-controls{margin-top:4px}.interview-controls select{font-size:14px}
/* Film distribution, separated from the event. */
.scene-cinema{--ink:#641159;--muted:#786571;--accent:#a34b91;--line:#64115930;color:var(--ink);background:#fff}
.cinema-grid h2{font-size:clamp(34px,4.2vw,68px);white-space:nowrap}
.distribution-feature{width:100%;max-width:590px;justify-self:center}.distribution-feature>img{width:100%;height:auto;aspect-ratio:1.9;object-fit:cover}
.territories{display:flex;justify-content:space-between;gap:14px;font-size:12px;line-height:1.6;letter-spacing:.07em;text-transform:uppercase;padding:17px 0;border-bottom:1px solid var(--line);margin-bottom:20px}
.distribution-feature h3{font-size:32px;margin-bottom:13px}.distribution-feature>p:not(.territories){font-size:16px;line-height:1.65;color:var(--muted)}
.distribution-feature .underline-link{margin-top:12px}.distribution-feature .edition-note{font-size:12px!important;line-height:1.55!important;max-width:440px;margin-top:12px}
/* The screening is a cinematic spread, with text and image on separate planes. */
.scene-events{--ink:#fff;--muted:#e4d9e5;--line:#ffffff40;--accent:#f9b4eb;color:#fff;background:#2e1934}
.event-stage{min-height:660px;display:flex;align-items:center;isolation:isolate;overflow:visible}
.experience .event-stage{min-height:0}.event-art{position:absolute;inset:0 0 0 25%;z-index:-1;overflow:hidden}
.event-art img{height:100%;width:100%;object-fit:cover;object-position:58% center;opacity:.8}
.event-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#2e1934,transparent 48%),linear-gradient(0deg,#2e1934cc,transparent 55%)}
.event-copy{max-width:57%;padding:20px 0;position:relative;z-index:2}.event-copy h2{font-size:clamp(42px,5.7vw,88px);line-height:1.13}
.event-copy .overline{color:#ead8e6}.event-film{font-size:18px;letter-spacing:.07em;margin-top:28px}.event-film>span{display:block;font:500 27px/1.4 Display,serif;letter-spacing:0;margin-top:5px}
.event-venue{font-size:14px;margin-top:16px;color:#e4d9e5}.event-copy>.underline-link{margin-top:16px}.event-archive-link{display:block;width:fit-content;font-size:12px;min-height:44px;padding:12px 0;color:#e4d9e5}
.event-date{position:absolute;right:4%;bottom:5%;display:flex;flex-direction:column;text-align:center;color:#fff;pointer-events:none}.event-date>span{font:500 clamp(110px,14vw,210px)/.9 Display,serif;letter-spacing:-.06em}.event-date>small{font:400 12px/1.5 Modern,sans-serif;letter-spacing:.2em;margin-top:20px}
/* Static, linkable editorial pages. */
.editorial-page{background:#fff}.editorial-page .site-header{border-bottom:1px solid #eee7ec;background:#fffffff5}
.editorial-main{padding:150px var(--page-gutter) 90px;max-width:1680px;margin-inline:auto}
.archive-heading{max-width:1040px;margin-bottom:62px}.archive-heading .overline{margin-bottom:22px}.archive-heading h1{font-weight:500;font-size:clamp(44px,5.3vw,84px);line-height:1.14;letter-spacing:-.016em;text-wrap:balance;overflow-wrap:break-word}
.archive-description{max-width:690px;font-size:18px;line-height:1.75;color:#786571;margin-top:26px}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 50px}
.archive-card{min-width:0}.archive-cover{display:block;overflow:hidden;background:#faf6f9}.archive-cover>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;transition:transform .55s ease}.archive-cover:hover>img{transform:scale(1.025)}
.archive-card-copy{padding:23px clamp(22px,3vw,36px);border-bottom:1px solid var(--line)}.archive-card-copy .overline{font-size:12px;letter-spacing:.09em;margin-bottom:12px}
.archive-card-copy h2{font-size:clamp(27px,2.5vw,38px);line-height:1.25;letter-spacing:-.01em}.archive-card-copy>p:not(.overline):not(.review-rating){font-size:16px;line-height:1.7;margin-top:15px;color:#786571;max-width:570px}.archive-card-copy>.underline-link{margin-top:16px}
.shop-intro{max-width:760px;margin:-18px 0 52px;padding:22px 0 0;border-top:1px solid var(--line)}.shop-intro p{font-size:17px;line-height:1.75;color:#675660}
.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.shop-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #e8dce5}.shop-image{aspect-ratio:4/3;background:#f6f1f4;overflow:hidden}.shop-image img{width:100%;height:100%;object-fit:contain;display:block}.shop-copy{padding:clamp(20px,2.4vw,32px);display:flex;flex:1;flex-direction:column}.shop-copy .overline{font-size:12px;line-height:1.45;letter-spacing:.1em;margin-bottom:12px}.shop-copy h2{font-size:clamp(26px,2.3vw,34px);line-height:1.2}.shop-copy>p:not(.overline){font-size:16px;line-height:1.65;color:#675660;margin:15px 0 25px}.shop-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}.shop-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid #641159;color:#641159;font-size:14px;line-height:1.45;text-align:center}.shop-actions a:hover,.shop-actions a:focus-visible{color:#fff;background:#641159}.shop-footer{border-top:1px solid var(--line);margin-top:68px;padding-top:30px}.shop-footer p{font-size:17px;line-height:1.6;color:#675660}.shop-footer .solid-link{margin-top:15px}
@media(max-width:1050px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.shop-intro{margin:-25px 0 38px}.shop-grid{grid-template-columns:1fr;gap:25px}.shop-image{aspect-ratio:1.45}.shop-copy{padding:22px}.shop-copy h2{font-size:30px}.shop-footer{margin-top:45px}}
.review-type-cover{aspect-ratio:16/9;display:flex;flex-direction:column;justify-content:center;padding:10%;background:linear-gradient(135deg,#f1e7f0,#fbf8fa);color:#641159}.review-type-cover>span{font:500 clamp(40px,5vw,78px)/1.12 Display,serif;letter-spacing:-.035em}.review-type-cover>small{font-size:12px;letter-spacing:.13em;text-transform:uppercase;margin-top:20px}
.review-rating{display:flex;gap:16px;align-items:center;margin:18px 0;font:400 14px/1.6 Modern,Arial,sans-serif;letter-spacing:.12em}.review-rating>span+span{font-size:12px;letter-spacing:.06em}.empty-stars{color:#b89db1}
.article-hero{margin:0 0 62px}.article-hero>img{width:100%;height:auto;max-height:680px;object-fit:contain;background:#f8f4f7}.article-hero>figcaption{font-size:12px;line-height:1.6;color:#786571;margin-top:12px}
.article-body{max-width:720px;margin-inline:auto}.article-body h2{font-size:clamp(28px,3vw,40px);line-height:1.3;margin:48px 0 22px}.article-body h2:first-child{margin-top:0}.article-body>p{font-size:18px;line-height:1.85;color:#675660;margin:22px 0}.article-body>.article-format{font-size:12px;letter-spacing:.04em;color:#92768a;margin:0 0 30px}.article-body>.review-rating{font-size:16px;line-height:1.6;color:#641159;margin:0 0 18px}
.article-fulltext>p:not(.article-format){white-space:pre-line}.article-points{margin:28px 0;padding-left:1.45em;font-size:17px;line-height:1.8;color:#675660}.article-points li{padding-left:.2em;margin:5px 0}.article-inline-media{margin:40px 0 50px}.article-inline-media img{display:block;width:100%;height:auto;max-height:610px;object-fit:contain;background:#f8f4f7}.article-inline-media figcaption{font-size:12px;color:#786571;text-align:right;margin-top:10px}
.article-date{font-size:13px;letter-spacing:.08em;color:#786571;margin:-30px 0 38px;text-transform:uppercase}
.interview-playlist{display:grid;grid-template-columns:minmax(230px,.62fr) minmax(0,1.38fr);gap:clamp(30px,5vw,80px);align-items:center;padding:clamp(25px,4vw,55px);margin:0 0 76px;background:linear-gradient(135deg,#2b162f,#5f2857);color:#fff}.playlist-intro h2{font-size:clamp(34px,3.8vw,57px);line-height:1.13;margin:12px 0 19px}.playlist-intro p:not(.overline){font-size:16px;line-height:1.7;color:#eadce8}.playlist-frame{aspect-ratio:16/9;background:#180d1d;box-shadow:0 20px 55px #10071966}.playlist-frame iframe{width:100%;height:100%;display:block;border:0}.interview-existing>h2{font-size:clamp(30px,3.5vw,50px);margin:0 0 35px}
@media(max-width:760px){.interview-playlist{grid-template-columns:1fr;margin-bottom:55px;gap:22px;padding:25px 18px}.playlist-intro h2{font-size:35px;margin:6px 0 10px}.playlist-intro p:not(.overline){font-size:15px}.article-inline-media figcaption{text-align:left}.article-points{font-size:16px}}
.solid-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;font-size:16px;line-height:1.5;border:1px solid #641159;padding:12px 25px;background:#641159;color:#fff;margin-top:20px}.solid-link:hover{background:#813074}.article-return{margin-top:55px;padding-top:18px;border-top:1px solid var(--line)}
.editorial-footer{padding:42px var(--page-gutter);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:12px;letter-spacing:.04em}.editorial-footer>a{grid-column:1/-1;font-size:14px}.editorial-footer nav{display:flex;flex-wrap:wrap;gap:0 22px}.editorial-footer nav a{display:flex;align-items:center;min-height:38px;color:#786571}
.event-listing{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.event-listing h2{font-size:clamp(30px,3vw,45px);line-height:1.25}.event-listing p:not(.overline){font-size:16px;line-height:1.7;color:#786571;margin-top:20px}.event-listing .underline-link{margin-top:22px}
.event-detail .editorial-main{max-width:none;padding:92px 0 90px}.event-page-hero{position:relative;isolation:isolate;color:#fff;background:#2e1934;min-height:640px;height:min(820px,calc(100svh - 92px));display:flex;align-items:end;padding:70px var(--page-gutter)}
.event-page-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:58% center;opacity:.85}.event-page-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#26142cdc,transparent 85%),linear-gradient(0deg,#26142c,transparent 80%)}
.event-page-copy .overline{color:#e6d4e3}.event-page-copy h1{font-size:clamp(40px,8.5vw,142px);font-weight:500;line-height:1.1;letter-spacing:-.025em}.event-version{font:500 clamp(28px,4vw,54px)/1.35 Display,serif;margin-top:12px}.event-page-date{font-size:17px;letter-spacing:.06em;margin-top:32px}.event-page-date>span{margin-left:25px}.light-link{background:#fff;color:#641159;border-color:#fff;margin-top:30px}.light-link:hover{background:#f8edf5}
.event-page-content{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,8vw,140px);margin:90px auto;padding-inline:var(--page-gutter);max-width:1480px}.event-page-content h2{font-size:clamp(34px,4vw,56px);line-height:1.23}.event-page-content p:not(.overline){font-size:17px;line-height:1.8;color:#786571;margin-top:25px}.event-facts{border-top:1px solid var(--line)}.event-facts dl{margin:0}.event-facts dl>div{display:grid;grid-template-columns:85px 1fr;gap:15px;border-bottom:1px solid var(--line);padding:22px 0}.event-facts dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#786571;padding-top:3px}.event-facts dd{font-size:16px;line-height:1.6;margin:0}.event-edition{padding:0 24px}
@media(min-width:761px) and (max-height:800px){
 .interview-deck{max-width:min(500px,calc((100vh - 405px)*1.7778))}.guest-copy{padding-top:12px}.interview-panel h3{font-size:31px}.guest-role{font-size:16px;line-height:1.5;margin-top:7px}.interview-kicker{margin-bottom:5px}.interview-meta{margin-top:6px}.interview-actions{margin-top:3px}
 .distribution-feature{max-width:470px}.distribution-feature>img{max-height:220px;object-fit:cover}.territories{padding:12px 0;margin-bottom:14px}.distribution-feature h3{font-size:29px}
 .event-copy .overline{margin-bottom:18px}.event-film{margin-top:20px}.event-copy h2{font-size:min(5.7vw,10vh)}.event-film>span{font-size:25px}.event-date>span{font-size:150px}
}
@media(max-width:760px){
 .scene-inner{width:calc(100% - var(--page-gutter)*2)}.intro-grid{width:92.5%;margin-left:6%;margin-right:1.5%}.scene-head .archive-link{display:inline-flex;font-size:12px;margin-top:6px;min-height:35px}.section-description{line-height:1.6}
 .scene-magazine .scene-head .magazine-archives{position:absolute;right:0;top:0;margin:0;display:flex;flex-direction:column;gap:0;align-items:flex-end;max-width:53%}.scene-magazine .scene-head .archive-link,.scene-interviste .scene-head .archive-link{margin:0;border:0;text-decoration:underline;text-underline-offset:5px;text-align:right;justify-content:flex-end;font-size:12px;min-height:30px}.scene-interviste .scene-head .archive-link{position:absolute;right:0;top:0;max-width:50%}
 .scene-interviste .scene-head,.scene-magazine .scene-head{position:relative}.scene-magazine .scene-head>.overline,.scene-interviste .scene-head>.overline{padding-right:50%}
 .guest-photo{max-height:clamp(110px,21vh,190px);aspect-ratio:16/9;object-fit:contain}.interview-deck{max-width:425px}.guest-copy{padding-top:12px}.interview-kicker{display:none}.interview-panel h3{font-size:29px;line-height:1.18}.guest-role{font-size:16px;line-height:1.5;margin-top:8px}.interview-meta{font-size:12px;margin-top:8px}.interview-actions{margin-top:4px}.interview-actions .watch-interview,.interview-actions .text-link{min-height:40px;font-size:14px}.interview-controls select{min-height:40px;font-size:12px}
 .about-essay>p{line-height:1.6}.about-essay>.about-lead{line-height:1.6}.about-links{gap:0 23px}
 .cinema-grid{gap:20px}.cinema-grid h2{font-size:clamp(29px,8vw,42px)}.cinema-grid .section-description{font-size:16px;line-height:1.55;margin-top:14px}.cinema-grid .archive-link{margin-top:9px}.distribution-feature{max-width:425px}.distribution-feature>img{aspect-ratio:2.7}.territories{padding:13px 0;margin-bottom:12px;font-size:12px;gap:7px;letter-spacing:.025em}.distribution-feature h3{font-size:26px;margin-bottom:6px}.distribution-feature>p:not(.territories):not(.edition-note){display:none}.distribution-feature .underline-link{margin-top:2px;font-size:14px;min-height:38px}.distribution-feature .edition-note{font-size:12px!important;margin-top:8px}
 .event-stage{min-height:660px}.event-art{inset:0 -7% 0 10%}.event-art img{object-position:53% center;opacity:.8}.event-art:after{background:linear-gradient(90deg,#2e1934ee,transparent 90%),linear-gradient(0deg,#2e1934,transparent 65%)}.event-copy{max-width:100%;padding:12px 0}.event-copy h2{font-size:clamp(39px,10vw,57px);line-height:1.16}.event-copy .overline{font-size:12px;letter-spacing:.075em;max-width:100%}.event-film{font-size:15px;margin-top:28px}.event-film>span{font-size:27px;margin-top:4px}.event-venue{font-size:14px}.event-date{display:none}.event-copy>.underline-link{margin-top:12px}.event-archive-link{font-size:12px}
 .editorial-main{padding-top:120px;padding-bottom:60px}.archive-heading{margin-bottom:38px}.archive-heading h1{font-size:clamp(34px,10vw,55px);line-height:1.18}.archive-heading .overline{font-size:12px;margin-bottom:18px}.archive-description{font-size:16px;line-height:1.7;margin-top:22px}.archive-grid{grid-template-columns:1fr;gap:42px}.archive-card-copy{padding-top:20px}.archive-card-copy h2{font-size:30px;line-height:1.25}.archive-card-copy .overline{font-size:12px}.review-type-cover>span{font-size:49px}
 .article-hero{margin-bottom:36px}.article-hero>figcaption{font-size:12px}.article-body>p{font-size:16px;line-height:1.8}.article-body h2{margin-top:35px;font-size:28px;line-height:1.3}.article-body .article-format{font-size:12px;line-height:1.7}.article-return{margin-top:38px}.editorial-footer{grid-template-columns:1fr;padding-block:28px;gap:15px}.editorial-footer nav{gap:0 19px}
 .event-listing{grid-template-columns:1fr;gap:25px}.event-listing h2{font-size:32px}.event-listing p:not(.overline){font-size:16px;margin-top:16px}
 .event-detail .editorial-main{padding-top:82px}.event-page-hero{min-height:530px;height:calc(90svh - 82px);padding:40px var(--page-gutter)}.event-page-hero>img{object-position:57% center}.event-page-copy h1{font-size:clamp(28px,8.7vw,58px)}.event-version{font-size:31px}.event-page-date{font-size:14px;line-height:1.6;margin-top:25px}.event-page-date>span{display:block;margin:5px 0 0}.event-page-content{grid-template-columns:1fr;gap:35px;margin-block:48px}.event-page-content h2{font-size:34px}.event-page-content p:not(.overline){font-size:16px;margin-top:20px}.event-facts dl>div{grid-template-columns:70px 1fr;gap:12px;padding:18px 0}.event-facts dd{font-size:15px}.event-edition{padding-inline:var(--page-gutter)}
}
@media(max-width:760px) and (max-height:690px){
 .guest-photo{max-height:125px}.interview-panel h3{font-size:27px}.guest-copy{padding-top:9px}.guest-role{margin-top:6px}.interview-meta{margin-top:6px}.interview-featured{padding-bottom:4px}.interview-controls{margin-top:0}
 .cinema-grid .section-description{font-size:16px;line-height:1.5;margin-top:10px}.cinema-grid{gap:14px}.distribution-feature>img{max-height:116px}.territories{padding:9px 0;margin-bottom:9px}.distribution-feature h3{font-size:23px}.distribution-feature .edition-note{margin-top:5px}.event-film{margin-top:18px}.event-copy h2{font-size:40px}.event-copy .overline{margin-bottom:18px}.event-venue{margin-top:12px}
}
.social-archive{margin-top:65px;border-top:1px solid var(--line);padding-top:26px}.social-archive>a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:70px;font-size:18px}.social-archive small{font-size:12px;color:#786571}.social-archive>a:hover>span{text-decoration:underline;text-underline-offset:5px}
.past-events{margin-top:80px;border-top:1px solid var(--line);padding-top:30px}.past-events article{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:20px 0}.past-events time{font-size:16px;color:#786571}.past-events h2{font-size:38px}.past-events p{font-size:16px;line-height:1.75;color:#786571;max-width:650px;margin-top:18px}.past-events .underline-link{margin-top:16px}
@media(max-width:760px){.social-archive>a{align-items:start;flex-direction:column;gap:7px;padding:12px 0;font-size:17px}.past-events{margin-top:50px}.past-events article{grid-template-columns:1fr;gap:16px}.past-events h2{font-size:32px}}
/* Bangkok: a real photograph on the journey and a tactile photo archive. */
.scene-bangkok{--ink:#fff;--muted:#e8d9e5;--line:#ffffff40;--accent:#f9b4eb;color:#fff;background:#25122b}
.bangkok-grid{align-items:center}.bangkok-grid .scene-head{position:relative;z-index:2}.bangkok-grid h2{font-size:clamp(45px,5vw,80px)}.bangkok-grid .section-description{max-width:490px}.bangkok-card{display:block;position:relative;overflow:hidden;width:100%;max-width:640px;aspect-ratio:1.34;justify-self:center;background:#4a1838;color:#fff;box-shadow:0 25px 70px #0c051455}.bangkok-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 36%;filter:saturate(.8)}.bangkok-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#1c0929dd,transparent 72%)}.bangkok-card-caption{position:absolute;z-index:1;inset:auto 7% 7%;display:grid;gap:6px}.bangkok-card-caption small{font-size:12px;letter-spacing:.18em}.bangkok-card-caption strong{font:500 clamp(50px,6vw,96px)/.95 Display,Georgia,serif;letter-spacing:-.03em}.bangkok-card-caption em{font-size:14px;font-style:normal;text-decoration:underline;text-underline-offset:5px;margin-top:10px}
.trip-exhibit{max-width:1150px;margin:0 auto 85px;perspective:1600px}.trip-postcard{display:block;width:100%;aspect-ratio:1.78;padding:0;background:transparent;cursor:pointer;text-align:left}.trip-postcard-inner{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.75,.25,1)}.trip-postcard.is-flipped .trip-postcard-inner{transform:rotateY(180deg)}.trip-face{position:absolute;inset:0;display:flex;backface-visibility:hidden;overflow:hidden;box-shadow:0 26px 75px #2c102530}.trip-front{align-items:end;color:#fff}.trip-front img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.trip-front:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#1d0e23a8,transparent 65%)}.trip-front>span{position:relative;z-index:1;margin:5%;font:500 clamp(26px,4vw,62px)/1.1 Display,serif;letter-spacing:.06em}.trip-back{transform:rotateY(180deg);flex-direction:column;justify-content:center;align-items:center;background:#3b183f;color:#fff;text-align:center;gap:20px;padding:40px}.trip-back small{font-size:12px;letter-spacing:.22em}.trip-back strong{font:500 clamp(54px,10vw,145px)/1 Display,serif}.trip-back>span{font-size:18px}.trip-caption{display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#786571;margin-top:15px}.trip-caption button{font-size:14px;text-decoration:underline;text-underline-offset:5px;color:#641159}.trip-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,8vw,130px);padding:65px 0;border-top:1px solid var(--line);max-width:1150px;margin:auto}.trip-story h2{font-size:clamp(35px,4vw,58px)}.trip-story p:not(.overline){font-size:18px;line-height:1.8;color:#675660;margin:0 0 22px}.trip-gallery{max-width:1150px;margin:40px auto 0}.trip-gallery h2{font-size:clamp(34px,4vw,52px);margin-bottom:30px}.trip-gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.trip-photo{display:block;padding:0;text-align:left;color:#641159;cursor:zoom-in}.trip-photo img{width:100%;height:380px;object-fit:cover;background:#f2eaf0}.trip-photo:first-child img{object-position:center 38%}.trip-photo>span{display:block;padding:12px 0;font-size:14px;line-height:1.5}.trip-lightbox{position:fixed;inset:0;margin:auto;border:0;background:#1c1023;color:#fff;padding:50px 30px 20px;max-width:min(1000px,calc(100vw - 30px));max-height:95svh;box-shadow:0 30px 100px #0008}.trip-lightbox::backdrop{background:#140918dc}.trip-lightbox img{display:block;max-width:100%;max-height:calc(95svh - 115px);width:auto;height:auto;object-fit:contain;margin:auto}.trip-lightbox p{font-size:14px;text-align:center;margin:14px 0 0}.trip-lightbox .dialog-close{color:#fff;top:4px;right:7px}
@media(max-width:760px){.bangkok-grid{gap:23px}.bangkok-grid h2{font-size:clamp(38px,9vw,55px)}.bangkok-card{aspect-ratio:1.5;max-height:44svh}.bangkok-card-caption strong{font-size:clamp(40px,11vw,67px)}.bangkok-grid .section-description{display:block!important}.trip-exhibit{margin-bottom:48px}.trip-postcard{aspect-ratio:1.1}.trip-caption{display:block;line-height:1.6}.trip-caption button{display:block;margin-top:7px}.trip-story{grid-template-columns:1fr;gap:22px;padding:43px 0}.trip-story p:not(.overline){font-size:16px}.trip-gallery{margin-top:25px}.trip-gallery-grid{grid-template-columns:1fr 1fr;gap:15px}.trip-photo:first-child{grid-column:1/-1}.trip-photo img{height:230px}.trip-photo:first-child img{height:260px}.trip-back{padding:20px;gap:12px}.trip-back>span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.trip-postcard-inner{transition:none}}
/* Original GL project and the Rome community gathering. */
.scene-projects{background:#fdf6fb}.project-feature{display:flex;flex-direction:column;justify-content:space-between;width:100%;max-width:620px;aspect-ratio:1.55;padding:clamp(28px,4vw,60px);background:#4a1838;color:#fff;box-shadow:15px 20px 0 #f5c0d8;justify-self:center}.project-number{font-size:14px;letter-spacing:.18em}.project-feature strong{font:500 clamp(44px,5vw,76px)/1.04 Display,Georgia,serif;letter-spacing:-.02em}.project-status{font-size:14px;text-decoration:underline;text-underline-offset:6px}.original-project{min-height:450px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(35px,6vw,90px);background:#4a1838;color:#fff;margin:0 auto 65px;max-width:1250px}.original-project .project-eyebrow{font-size:14px;letter-spacing:.2em}.original-project strong{font:500 clamp(50px,7vw,110px)/1.02 Display,Georgia,serif;letter-spacing:-.03em}.original-project>span{font-size:16px}.rome-feature{min-height:320px;display:flex;flex-direction:column;justify-content:space-between;padding:45px;background:#351a3e;color:#fff;margin:0 auto 65px;max-width:1250px}.rome-feature>span{font:500 clamp(70px,12vw,180px)/1 Display,Georgia,serif;letter-spacing:.06em}.rome-feature p{font-size:18px}.rome-cover{display:grid;place-items:center;aspect-ratio:16/9;background:#351a3e;color:#fff;font:500 clamp(58px,8vw,130px)/1 Display,serif;letter-spacing:.08em}.rome-listing{margin-top:75px;padding-top:70px;border-top:1px solid var(--line)}
@media(max-width:760px){.project-feature{aspect-ratio:1.45;max-height:40svh;padding:27px;box-shadow:8px 9px 0 #f5c0d8}.project-feature strong{font-size:clamp(38px,11vw,60px)}.original-project{min-height:360px;padding:30px;margin-bottom:45px}.original-project strong{font-size:clamp(46px,12vw,68px)}.rome-feature{min-height:230px;padding:28px;margin-bottom:45px}.rome-listing{margin-top:45px;padding-top:45px}}
/* The activity archives use photographs held locally by this site. */
.project-feature,.original-project{position:relative;isolation:isolate;overflow:hidden}
.project-feature>img,.original-project>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.project-feature:before,.original-project:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#2b132acf,#2b132a53),linear-gradient(0deg,#2b132add,transparent 66%)}
.project-feature>span,.project-feature>strong,.original-project>p,.original-project>strong,.original-project>span{position:relative;z-index:1}
.project-feature strong,.original-project strong{text-shadow:0 2px 20px #180b1966}
.trip-gallery{margin-top:80px}.trip-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.trip-photo{min-width:0;transition:transform .25s ease}.trip-photo:hover{transform:translateY(-4px)}.trip-photo:focus-visible{outline:3px solid #641159;outline-offset:4px}
.trip-photo img{display:block;width:100%;height:auto;aspect-ratio:1.1;object-fit:cover}.trip-photo:first-child img{object-position:center}
.trip-lightbox{width:min(1100px,calc(100vw - 26px));max-width:min(1100px,calc(100vw - 26px));padding:52px 25px 20px}
.trip-lightbox img{max-height:calc(95svh - 160px)}.trip-lightbox .dialog-close{position:absolute;z-index:1}
.lightbox-controls{display:flex;justify-content:space-between;gap:20px;margin-top:14px}.lightbox-controls button{color:#fff;border:1px solid #ffffff77;padding:10px 16px;min-height:44px;cursor:pointer}.lightbox-controls button:hover,.lightbox-controls button:focus-visible{background:#ffffff20}
.event-detail .trip-gallery{max-width:1150px;margin-inline:auto;padding-inline:var(--page-gutter)}
.rome-page .article-hero img{max-height:720px;object-fit:cover;object-position:center 35%}
.event-listing .archive-cover>img{object-fit:cover}.event-page-hero>img{object-position:center 40%}
@media(max-width:760px){.trip-gallery{margin-top:55px}.trip-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.trip-photo:first-child{grid-column:auto}.trip-photo img,.trip-photo:first-child img{height:auto;aspect-ratio:1;object-fit:cover}.trip-photo>span{font-size:12px;line-height:1.45}.trip-lightbox{padding:52px 12px 14px}.trip-lightbox img{max-height:calc(95svh - 165px)}.lightbox-controls{gap:8px}.lightbox-controls button{font-size:12px;padding:9px}.event-detail .trip-gallery{padding-inline:var(--page-gutter)}}
.trip-lightbox.is-zoomed{overflow:auto}.trip-lightbox.is-zoomed img{max-width:none;max-height:none;width:auto;height:auto;margin:0}.trip-lightbox.is-zoomed .lightbox-controls{position:sticky;bottom:0;background:#1c1023;padding:10px 0}
.review-card .archive-cover>img{aspect-ratio:4/3;object-fit:cover;object-position:center top}
.review-fulltext{border-top:1px solid var(--line);padding-top:34px;margin-bottom:65px}.review-fulltext h2{margin:0 0 20px}.review-fulltext>p{color:#332c32}.review-fulltext .article-format{color:#786571}
.review-gallery-help{max-width:720px;margin:60px auto 0;color:#786571;font-size:16px;line-height:1.7}
.review-page .trip-gallery{margin-top:24px}.review-page .trip-gallery-grid{grid-template-columns:minmax(0,760px);justify-content:center;gap:32px}
.review-page .trip-photo img,.review-page .trip-photo:first-child img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.review-page .trip-photo>span{text-align:right;border-bottom:1px solid var(--line);padding-bottom:16px}
.review-return{max-width:760px;margin:80px auto 0}
@media(max-width:760px){.review-fulltext{margin-bottom:45px}.review-gallery-help{margin-top:35px}.review-page .trip-gallery-grid{grid-template-columns:minmax(0,1fr);gap:26px}.review-page .trip-photo img,.review-page .trip-photo:first-child img{aspect-ratio:auto}.review-return{margin-top:50px}}
/* First-party journeys, projects and event stories. */
.experience-notes,.event-sequence,.project-work{max-width:1150px;margin:90px auto 30px;border-top:1px solid var(--line);padding-top:42px}
.experience-notes h2,.event-sequence h2,.project-work h2{font-size:clamp(34px,4vw,56px);max-width:800px;margin:16px 0 38px}
.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 55px}.experience-grid article{border-top:1px solid #e8dce5;padding-top:20px}.experience-grid article>span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8b6c81}.experience-grid h3{font-size:clamp(26px,3vw,38px);margin:14px 0}.experience-grid p,.project-story p:not(.overline){font-size:17px;line-height:1.8;color:#675660}.experience-grid .underline-link{margin-top:16px}
.project-story{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(35px,8vw,130px);max-width:1150px;margin:80px auto 0;padding-top:45px;border-top:1px solid var(--line)}.project-story h2{font-size:clamp(34px,4vw,56px)}.project-story p:not(.overline){margin:0 0 22px}
.event-detail .event-sequence{padding-inline:var(--page-gutter)}
.travel-entry,.project-archive-lead{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;max-width:1250px;margin:0 auto 75px}.travel-entry>a,.project-archive-lead>a{display:block;overflow:hidden;background:#f4e9f0}.travel-entry img,.project-archive-lead img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover;transition:transform .4s ease}.travel-entry a:hover img,.project-archive-lead a:hover img{transform:scale(1.025)}.travel-entry h2,.project-archive-lead h2{font-size:clamp(34px,4.2vw,60px);margin:14px 0}.travel-entry p:not(.overline),.project-archive-lead p:not(.overline){font-size:18px;line-height:1.75;color:#675660;margin:18px 0}.project-archive-lead:first-child img{object-position:center 35%}.project-archive-lead:nth-child(even){grid-template-columns:1fr 1.05fr}.project-archive-lead:nth-child(even)>a{order:2}
@media(max-width:760px){.experience-notes,.event-sequence,.project-work{margin-top:60px;padding-top:30px}.experience-grid{grid-template-columns:1fr;gap:28px}.experience-grid p,.project-story p:not(.overline){font-size:16px}.project-story{grid-template-columns:1fr;gap:22px;margin-top:55px}.travel-entry,.project-archive-lead,.project-archive-lead:nth-child(even){grid-template-columns:1fr;gap:18px;margin-bottom:55px}.project-archive-lead:nth-child(even)>a{order:0}.travel-entry img,.project-archive-lead img{aspect-ratio:1.5}.travel-entry p:not(.overline),.project-archive-lead p:not(.overline){font-size:16px}}
.project-partners{max-width:1150px;margin:80px auto 0;padding-top:42px;border-top:1px solid var(--line)}.project-partners h2{font-size:clamp(34px,4vw,56px);margin:15px 0 35px}.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 55px}.partner-grid .partner-item{min-width:0}.partner-grid .partner-item h3{font-size:clamp(26px,2.7vw,38px)}.partner-grid .partner-role{max-width:500px;line-height:1.7}.partner-grid a{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.project-partners{margin-top:55px;padding-top:30px}.partner-grid{grid-template-columns:1fr}.partner-grid .partner-item{padding:20px 0}.partner-grid .partner-role{font-size:15px}}
/* Series frames lead into the complete Italian articles; animated clips stay in the page. */
.editorial-card .review-home-cover{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(22px,4vw,42px);color:#fff;background:#351136}
.review-home-cover:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#1d0c1dcc,#1d0c1d33),linear-gradient(0deg,#1d0c1dbb,transparent 70%)}
.review-home-cover>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.review-home-cover>span{font:500 clamp(54px,7vw,102px)/.83 Display,Georgia,serif;letter-spacing:-.045em}.review-home-cover>small{font-size:12px;letter-spacing:.16em}
.review-card .review-type-cover{position:relative;isolation:isolate;min-height:250px;justify-content:end;overflow:hidden;background:#2b1931;color:#fff}
.review-card .review-type-cover:after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#1a0c1be8 0%,#1a0c1b16 80%)}
.review-card .review-type-cover>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.review-card .archive-cover:hover img{transform:scale(1.035)}
.review-card .review-type-cover>span{overflow-wrap:anywhere;position:relative;text-shadow:0 2px 24px #15081588}
.review-page .review-fulltext{margin-top:45px}.review-page .review-fulltext>p{color:#3d303a}
.review-visual{margin:0 auto 50px;max-width:1040px}.review-inset{max-width:720px;margin:40px 0 50px}
.review-media-frame{position:relative;overflow:hidden;background:#f5eff3}.review-visual img,.review-visual video{display:block;width:100%;height:auto;max-height:690px;object-fit:contain}
.review-hero .review-media-frame{max-height:690px}.review-visual figcaption{font-size:12px;line-height:1.55;color:#806b79;margin-top:11px;text-align:right}
.motion-toggle{position:absolute;right:14px;bottom:14px;min-width:98px;min-height:40px;padding:8px 15px;border-radius:999px;background:#211325d9;color:#fff;font:600 12px/1.2 Modern,Arial,sans-serif;letter-spacing:.04em;cursor:pointer;backdrop-filter:blur(8px)}
.motion-toggle:hover,.motion-toggle:focus-visible{background:#641159;outline:2px solid #fff;outline-offset:2px}
@media(max-width:760px){.editorial-card .review-home-cover,.editorial-card .card-copy,.interview-panel .guest-copy,.interview-controls,.archive-card-copy{padding-inline:20px}.editorial-card .review-home-cover{padding-block:20px}.review-home-cover>span{font-size:clamp(48px,13vw,70px)}.review-home-cover>small{font-size:11px}.review-card .review-type-cover{min-height:190px}.review-card .review-type-cover>span{font-size:clamp(38px,10vw,55px)}}
@media(max-width:760px){.review-visual{margin-bottom:30px}.review-inset{margin:28px 0 35px}.review-visual figcaption{text-align:left}.motion-toggle{right:10px;bottom:10px}}
.interview-video-hero{max-width:1040px;margin-inline:auto}.interview-player{position:relative;aspect-ratio:16/9;background:#25162b;overflow:hidden}.interview-player>img,.interview-player>iframe{display:block;width:100%;height:100%;object-fit:cover;border:0}.interview-player>img{filter:brightness(.74)}
.interview-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;min-height:58px;white-space:nowrap;padding:12px 22px;background:#fff;color:#641159;font:600 15px/1.3 Modern,Arial,sans-serif;cursor:pointer;box-shadow:0 15px 40px #1b0a1a66}.interview-play>span{font-size:19px}.interview-play:hover,.interview-play:focus-visible{background:#f7e8f3;outline:3px solid #641159;outline-offset:4px}
.interview-fallback{margin-top:28px}.interview-video-hero figcaption{font-size:12px;color:#786571;margin-top:11px}
@media(max-width:760px){.interview-play{font-size:13px;min-height:48px;padding:10px 14px;gap:8px}.interview-play>span{font-size:14px}}

/* Bangkok photo carousel: full photographs, no visible captions. */
.bangkok-carousel{max-width:1150px;margin:0 auto 85px}.bangkok-carousel-frame{position:relative;isolation:isolate;overflow:hidden;width:100%;aspect-ratio:1.78;background:#271629;box-shadow:0 26px 75px #2c102530}.bangkok-carousel-slide{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;overflow:hidden;background:transparent;cursor:zoom-in}.bangkok-carousel-slide[hidden]{display:none}.bangkok-carousel-slide::before{content:'';position:absolute;inset:-28px;background-image:var(--photo);background-size:cover;background-position:center;filter:blur(22px) brightness(.46);transform:scale(1.08)}.bangkok-carousel-slide img{position:relative;display:block;width:100%;height:100%;object-fit:contain}.bangkok-carousel-slide:focus-visible{outline:3px solid #f9b4eb;outline-offset:-4px}.bangkok-carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:20px;margin-top:13px;color:#641159}.bangkok-carousel-controls button{width:48px;height:48px;border:1px solid #cbb9c7;border-radius:50%;font-size:22px;line-height:1;display:grid;place-items:center;cursor:pointer}.bangkok-carousel-controls button:hover{background:#f7edf3}.bangkok-carousel-count{font:14px/1.3 Modern,Arial,sans-serif;letter-spacing:.13em;font-variant-numeric:tabular-nums;min-width:64px;text-align:center}.trip-lightbox .lightbox-counter{font-size:14px;text-align:center;margin-top:12px;letter-spacing:.13em;font-variant-numeric:tabular-nums}
@media(max-width:760px){.bangkok-carousel{margin-bottom:52px}.bangkok-carousel-frame{aspect-ratio:1.04}.bangkok-carousel-controls{gap:17px}.bangkok-carousel-controls button{width:44px;height:44px}}
.bangkok-carousel-slide{display:flex;align-items:center;justify-content:center}.bangkok-photo-stage{position:relative;z-index:1;display:block;height:100%;aspect-ratio:var(--photo-aspect);max-width:100%}.bangkok-photo-stage>img{display:block;width:100%;height:100%;object-fit:cover}.photo-watermark{position:absolute;right:2.3%;bottom:2.5%;display:block;width:clamp(34px,9%,94px);aspect-ratio:1;border-radius:14%;background:rgba(255,255,255,.84) url('/assets/glsi-logo-mobile.png') center/137% no-repeat;border:1px solid #ffffff9e;box-shadow:0 3px 18px #130b1c38;backdrop-filter:blur(5px);pointer-events:none}.trip-lightbox .lightbox-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.trip-lightbox .lightbox-watermark{right:auto;bottom:auto;left:0;top:0}
@media(max-width:760px){.bangkok-photo-stage.is-landscape{width:100%;height:auto}}
.bangkok-card::before,.travel-entry>a:first-child::after{content:'';position:absolute;right:3%;bottom:3%;z-index:3;width:clamp(34px,9%,80px);aspect-ratio:1;border-radius:14%;background:rgba(255,255,255,.84) url('/assets/glsi-logo-mobile.png') center/137% no-repeat;border:1px solid #ffffff9e;box-shadow:0 3px 18px #130b1c38;pointer-events:none}.travel-entry>a:first-child{position:relative}
.trip-lightbox.is-zoomed .lightbox-image-wrap{width:max-content}
.bangkok-carousel-controls button{border:0;border-radius:0;background:transparent;font-size:32px}.bangkok-carousel-controls button:hover{background:transparent;color:#a33c8d}.bangkok-carousel-controls button:focus-visible{outline:2px solid #641159;outline-offset:2px}
.photo-watermark,.bangkok-card::before,.travel-entry>a:first-child::after{border:0;border-radius:0;box-shadow:none;backdrop-filter:none;background:transparent url('/assets/glsi-logo-mobile.png') center/137% no-repeat;filter:drop-shadow(0 1px 1px #ffffffc4) drop-shadow(0 2px 5px #130b1c80)}
/* The image styles select individual tone curves and straighten visibly tilted frames. */
.bangkok-grade-defs{position:absolute;width:0;height:0;overflow:hidden}
.bangkok-photo-stage{overflow:hidden}
.trip-lightbox .lightbox-image-wrap{overflow:hidden}
