/* The intro keeps the two approved scenes; native video replaces scroll frames. */
.cinema-autoplay-visual { display:none; }
.cinema-toggle { min-height:44px; padding:10px 17px; border:1px solid var(--line); border-radius:999px; background:transparent; color:var(--wine); font-size:12px; }
.cinema-toggle[hidden] { display:none; }
.cinematic--autoplay { background:#2c1b20; }
.cinematic--autoplay .cinematic-stage { height:calc(100svh - var(--header-height,96px)); min-height:470px; max-height:1000px; max-width:none; padding:0; overflow:hidden; isolation:isolate; }
.cinematic--autoplay .cinema-autoplay-visual { display:flex; position:absolute; inset:0; justify-content:center; z-index:1; }
.cinematic--autoplay .cinema-autoplay-visual video { width:auto; max-width:100%; height:100%; object-fit:contain; background:#2c1b20; }
.cinematic--autoplay .cinematic-scenes { position:absolute; inset:0; display:block; }
.cinematic--autoplay .cinema-scene { position:absolute; inset:0; opacity:var(--scene-opacity,0); pointer-events:none; }
.cinematic--autoplay .cinema-image { display:none; }
.cinematic--autoplay .cinema-backdrop { display:block; position:absolute; inset:-25px; z-index:0; }
.cinematic--autoplay .cinema-backdrop img { width:100%; height:100%; object-fit:cover; filter:blur(22px) brightness(.5); }
.cinematic--autoplay .cinema-copy { position:absolute; z-index:3; top:46%; left:50%; transform:translate(-50%,-50%); padding:0; width:min(850px,calc(100% - 52px)); max-width:none; text-align:center; opacity:var(--copy-opacity,1); transition:opacity .24s; text-shadow:0 2px 20px #211219; }
.cinematic--autoplay .cinema-copy h1,.cinematic--autoplay .cinema-copy h2 { color:var(--paper); font-size:clamp(54px,7.1vw,108px); max-width:13ch; margin-inline:auto; }
.cinematic--autoplay .cinema-copy .eyebrow,.cinematic--autoplay .cinema-description { color:var(--paper); }
.cinematic--autoplay .cinema-description { margin:24px auto 0; }
.cinematic--autoplay .cinema-scrim { display:block; position:absolute; inset:0; z-index:2; background:radial-gradient(ellipse at center,#21121999,transparent 75%); opacity:var(--copy-opacity,1); transition:opacity .24s; }
.cinematic--autoplay .cinema-controls { position:absolute; inset:auto var(--gutter) 22px; z-index:4; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin:0; }
.cinematic--autoplay .cinema-caption { display:flex; align-items:center; gap:12px; color:var(--paper); font-size:11px; }
.cinematic--autoplay [data-cinema-number] { font-family:var(--serif); font-size:28px; }
.cinematic--autoplay .cinema-toggle,.cinematic--autoplay .cinema-skip { color:var(--paper); border-color:#f6f4f077; background:#21121980; backdrop-filter:blur(8px); }
.cinematic--autoplay .cinema-toggle:focus-visible,.cinematic--autoplay .cinema-skip:focus-visible { outline-color:var(--paper); }
.cinema-actions { display:flex; gap:12px; align-items:center; }
.reading-content { max-width:760px; }
.reading-content .content-section h2 { font-size:clamp(28px,3.3vw,42px); line-height:1.18; text-wrap:balance; }
.reading-content .content-section p { line-height:1.9; }
.reading-content .content-section + .content-section { padding-top:30px; margin-top:36px; border-top:1px solid var(--line); }
.about-story h2 { font-size:clamp(34px,4vw,52px); }
.about-story p { line-height:1.9; }
.faq-answer { padding:0 48px 25px 0; max-width:790px; font-size:15px; color:var(--muted); line-height:1.85; }
.faq-categories { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.faq-categories a { padding:9px 16px; border:1px solid var(--line); border-radius:999px; font-size:12px; min-height:44px; }
.faq-group { scroll-margin-top:calc(var(--header-height,96px) + 24px); }
.faq-group + .faq-group { margin-top:46px; }
.faq-group>h2 { color:var(--wine); font-size:28px; margin-bottom:24px; }
.booking-intro h3 { font-size:26px; color:var(--wine); margin:30px 0 16px; line-height:1.2; }
.consultation-jump { margin-bottom:24px; }
#terminauswahl { scroll-margin-top:calc(var(--header-height,96px) + 20px); }
.booking-intro .consultation-section p { font-size:15px; line-height:1.9; color:var(--muted); margin-bottom:20px; }
.legal-layout { display:grid; grid-template-columns:220px minmax(0,760px); gap:70px; }
.legal-navigation { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.legal-document { scroll-margin-top:calc(var(--header-height,96px) + 24px); }
.legal-document>h2 { font-size:42px; color:var(--wine); margin-bottom:25px; overflow-wrap:anywhere; hyphens:auto; }
.legal-document+.legal-document { margin-top:70px; padding-top:45px; border-top:1px solid var(--line); }
.legal-document address { font-style:normal; line-height:1.9; }
.legal-document .content-section h3 { font-family:var(--sans); font-weight:600; font-size:17px; letter-spacing:0; line-height:1.5; margin-bottom:16px; color:var(--wine); }
.legal-document .content-section { margin-top:32px; }
.legal-document .content-section p { line-height:1.85; }
.legal-pending { padding:20px 24px; border:1px solid var(--line); border-radius:24px; background:var(--peach); margin-top:26px; }
.customer-reviews { padding-top:55px; padding-bottom:75px; }
.customer-reviews .section-heading h2 { font-size:clamp(38px,4.5vw,64px); }
.review-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-bottom:32px; }
.customer-review { margin:0; padding:30px; border-radius:32px; background:var(--peach); }
.customer-review blockquote { margin:0; }
.customer-review figcaption { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; color:var(--wine); font-size:12px; }
.customer-review figcaption a { text-decoration:underline; }
.customer-reviews>.button { margin-top:18px; }
.footer-credit { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:baseline; gap:8px; min-width:0; margin-top:26px; padding-bottom:12px; color:var(--paper); font-size:12px; line-height:1.6; }
.footer-credit strong { font-weight:600; font-size:15px; letter-spacing:.04em; }
.footer-credit a { display:inline-flex; align-items:baseline; gap:8px; min-height:44px; padding-block:10px; border-radius:8px; text-underline-offset:4px; }
.footer-credit a:hover strong,.footer-credit a:focus-visible strong { text-decoration:underline; }
@media(max-width:950px){ .legal-layout { grid-template-columns:170px minmax(0,1fr); gap:35px; } }
@media(max-width:650px){
 .cinematic--autoplay .cinematic-stage { min-height:490px; }
 .cinematic--autoplay .cinema-copy { width:calc(100% - 32px); }
 .cinematic--autoplay .cinema-copy h1,.cinematic--autoplay .cinema-copy h2 { font-size:clamp(40px,12vw,64px); }
 .cinematic--autoplay .cinema-caption { flex-basis:100%; font-size:10px; }
 .cinema-actions { justify-content:space-between; width:100%; gap:8px; }
 .cinema-toggle,.cinema-skip { padding:10px 12px; font-size:10px; }
 .faq-answer { padding-right:8px; font-size:14px; }
 .legal-layout { display:block; }
 .legal-navigation { flex-direction:row; flex-wrap:wrap; margin-bottom:38px; }
 .legal-document>h2 { font-size:34px; }
 .review-list { grid-template-columns:1fr; }
 .customer-reviews .section-heading { display:block; }
 .customer-reviews .section-heading>.text-link { margin-top:22px; }
 .footer-credit { justify-content:flex-start; margin-top:18px; }
}
@media(prefers-reduced-motion:reduce){ .cinematic--autoplay .cinema-copy,.cinematic--autoplay .cinema-scrim { transition:none; } }
