.xl-case .nav .brand-dark { display:block; }
.xl-case .case-detail-hero { min-height:700px; }
.xl-case .case-detail-hero-media img, .xl-case .case-detail-hero-media video { object-position:center 65%; object-fit:cover; }
.xl-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.xl-tags span { padding:8px 13px; border:1px solid #ffffff55; border-radius:30px; font-size:14px; }
.xl-section { padding:90px max(24px,calc((100vw - 1200px)/2)); }
.xl-tour { background:#f7f4ef; }
.xl-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.xl-heading h2 { font-family:var(--serif); font-size:clamp(36px,4.5vw,60px); line-height:1.05; font-weight:500; letter-spacing:-.025em; margin:14px 0 0; }
.xl-link { white-space:nowrap; font-size:14px; border-bottom:1px solid; padding-bottom:5px; }
.xl-intro { max-width:700px; color:var(--body); line-height:1.7; margin:0 0 32px; }
.xl-gsv-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.xl-gsv-card { min-width:0; }
.xl-gsv-card-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin:0 0 18px; }
.xl-gsv-card-heading h3 { font-family:var(--serif); font-size:clamp(28px,3vw,40px); line-height:1.05; font-weight:500; margin:10px 0 0; }
.xl-tour-frame { width:100%; aspect-ratio:16/10; border:0; border-radius:18px; display:block; background:#e4e3dc; }
.xl-gsv-fallback { position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:18px; background:#222; color:#fff; }
.xl-gsv-fallback img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .6s ease, filter .6s ease; }
.xl-gsv-fallback::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 35%, rgba(10,10,10,.7)); }
.xl-gsv-fallback-label { position:absolute; z-index:1; left:28px; bottom:26px; padding:12px 16px; border:1px solid rgba(255,255,255,.75); border-radius:999px; background:rgba(20,20,18,.4); backdrop-filter:blur(8px); font-size:13px; }
.xl-gsv-fallback-label b { margin-left:8px; font-size:17px; font-weight:400; }
.xl-gsv-fallback:hover img { transform:scale(1.03); filter:saturate(1.08); }
.xl-films { display:grid; grid-template-columns:minmax(0,1fr); gap:72px; }
.xl-films article { scroll-margin-top:100px; }
.xl-films h3 { font-family:var(--serif); font-size:36px; font-weight:500; line-height:1.1; margin:20px 0; }
.xl-films p { color:var(--body); line-height:1.7; }
.xl-films .xl-coming { display:inline-block; font-size:13px; padding:8px 14px; border-radius:30px; background:#f0ede7; margin:16px 0 0; }
.xl-back { display:block; width:fit-content; margin:30px auto 0; font-size:14px; }
@media(max-width:700px) { .xl-case .case-detail-hero { min-height:620px; } .xl-case .case-detail-hero-copy h1 { font-size:clamp(46px,11vw,70px); } .xl-heading { flex-direction:column; align-items:flex-start; gap:24px; } .xl-section { padding:64px 24px; } .xl-gsv-grid { grid-template-columns:1fr; gap:48px; } .xl-gsv-card-heading { align-items:flex-start; flex-direction:column; gap:14px; } .xl-tour-frame, .xl-gsv-fallback { aspect-ratio:4/3; } .xl-films { grid-template-columns:1fr; gap:20px; } .xl-gsv-fallback-label { left:16px; right:16px; bottom:16px; text-align:center; } }

.xl-video-frame { margin-top:28px !important; }
.xl-video-frame video { object-fit:contain; }
.xl-video-frame .xl-play-toggle { left:18px; right:auto; }
.xl-video-error[hidden] { display:none; }
.xl-video-error a { text-decoration:underline; }
@media(max-width:700px) { .xl-films { gap:56px; } .xl-video-frame .xl-play-toggle { left:12px; } }
