/* v23: genuine light faces, consistent cards and full portrait mobile media. */
@font-face{font-family:'Novanta Lato';src:url('fonts/Lato-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Novanta Fine Display';src:url('fonts/CormorantGaramond-Italic-Variable.ttf') format('truetype');font-weight:300 700;font-style:italic;font-display:swap}
body.public-site{font-weight:300;font-synthesis:none}
body.public-site :is(p,span,a,li,label,legend,input,textarea,select,button,strong,b,.button){font-weight:300!important}
body.public-site :is(h1,h2,h3,h4,h5,h6),body.public-site .home-separator .separator-copy :is(h2,h3),body.public-site.legal-page .legal-card h2,body.public-site .site-drawer .drawer-head>span{font-family:'Novanta Fine Display',Georgia,serif!important;font-weight:300!important;font-style:italic!important}
body.public-site :is(.scene-copy,.separator-copy,.editorial-copy,.closing-film-copy,.event-overview-copy){--topic-heading:36px;--topic-title:#fff;--topic-copy:#fff;text-align:left!important}
body.public-site :is(.scene-copy,.separator-copy,.editorial-copy,.closing-film-copy,.event-overview-copy)>:is(h2,h3){font-weight:300!important;text-align:left!important;font-size:36px!important;line-height:1.2!important;color:var(--topic-title)!important}
body.public-site :is(.scene-copy,.separator-copy,.editorial-copy,.closing-film-copy,.event-overview-copy)>p:not(.eyebrow){font-size:23.4px!important;font-weight:300!important;line-height:1.6!important;max-width:none!important;margin-inline:0!important;text-align:left!important}
body.public-site .scene-inner{display:flex;justify-content:center}
body.public-site .scene-copy,body.public-site .scene-right .scene-copy{width:min(100%,760px);max-width:760px;margin-inline:auto;background:#000c;border:1px solid #ffffff24;border-top:1px solid var(--gold);border-radius:24px;padding:36px;box-sizing:border-box}
body.public-site .scene-copy .actions,body.public-site .separator-actions{justify-content:flex-start}
body.public-site .home-separator .separator-inner{align-items:stretch;gap:24px}
body.public-site .separator-copy,body.public-site .separator-triple .separator-copy+.separator-copy{padding:28px!important;border:1px solid #ffffff24;border-top:1px solid var(--gold);border-radius:24px;background:#000;box-sizing:border-box}
body.public-site .separator-quote .separator-inner{max-width:1440px;text-align:left}
body.public-site .separator-quote .actions{justify-content:flex-start}
body.public-site .editorial-copy{padding:28px;border:1px solid #ffffff24;border-top:1px solid var(--gold);border-radius:24px;background:#000}
body.public-site .editorial-row .editorial-media,body.public-site .editorial-row.reverse .editorial-media{order:1}
body.public-site .editorial-row .editorial-copy,body.public-site .editorial-row.reverse .editorial-copy{order:2}
body.public-site .form-panel,.public-site .form-grid,.public-site .form-grid>.field{min-width:0;max-width:100%}
body.public-site .field{font-size:16px!important;min-width:0}
body.public-site .field :is(input,select,textarea){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:100%!important;font-size:16px!important;text-align:left;min-height:48px}
body.public-site .field :is(input,select,textarea){height:48px}
body.public-site .field textarea{resize:vertical}
body.public-site .check{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:12px;width:100%;max-width:100%;font-size:16px;text-align:left;line-height:1.6}
body.public-site .check input{width:20px;height:20px;margin:4px 0 0;flex:none}
body.public-site .check span{display:block;min-width:0;text-wrap:pretty;overflow-wrap:normal}
body.public-site .check span a{display:inline!important;white-space:normal;overflow-wrap:normal}
body.public-site .form-panel>.actions{align-items:stretch;flex-direction:column}
body.public-site .cookie-banner{color:#fff;background:#000;max-height:calc(100dvh - 40px);overflow-y:auto}
body.public-site .cookie-banner :is(p,h2,a){color:#fff!important}
body.public-site .cookie-banner .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
body.public-site .cookie-banner .actions button{width:100%;min-width:0;margin:0;font-size:14px}
body.public-site .cookie-banner .actions button:last-child{grid-column:1/-1}
body.public-site .cookie-settings-link{background:transparent!important;color:#fff!important;border:0!important;padding:8px!important;min-height:44px;text-decoration:underline;border-radius:0}
body.public-site nav.onetap-plugin-onetap :is(h1,h2,h3,h4,h5,h6,p,label,span,button){font-family:Arial,Helvetica,sans-serif!important;font-style:normal!important;font-weight:400!important}
@media(max-width:780px){
 body.public-site .hero.hero-centered{width:100%;height:auto;min-height:0!important;aspect-ratio:9/16;display:block}
 body.public-site .hero.hero-centered>img,body.public-site .hero.hero-centered>video{width:100%;height:100%!important;aspect-ratio:9/16;object-fit:cover;inset:0}
 body.public-site .hero.hero-centered .hero-content{top:25%;width:86%;text-align:center}
 body.public-site .hero.hero-centered .hero-content h1.hero-flair{font-size:30px!important}
 body.public-site .hero.hero-centered .hero-content>p{font-size:18px!important;line-height:1.5!important}
 body.public-site :is(.scene-copy,.separator-copy,.editorial-copy,.closing-film-copy,.event-overview-copy){--topic-heading:30px;text-align:left!important}
 body.public-site :is(.scene-copy,.separator-copy,.editorial-copy,.closing-film-copy,.event-overview-copy)>:is(h2,h3){font-size:30px!important;text-align:left!important;line-height:1.2!important}
 body.public-site :is(.scene-copy,.separator-copy,.editorial-copy,.closing-film-copy,.event-overview-copy)>p:not(.eyebrow){font-size:19.5px!important;line-height:1.55!important;text-align:left!important}
 body.public-site .scene-inner{padding:28px 20px;min-height:100%}
 body.public-site .scene-copy,body.public-site .scene-right .scene-copy{width:100%;max-width:100%;padding:24px;margin:0;min-height:240px}
 body.public-site .scene-copy .actions{justify-content:center}
 body.public-site .home-scene{min-height:calc(100vw * 16 / 9);aspect-ratio:9/16}
 body.public-site .home-scene:has(.scene-video){aspect-ratio:9/16;min-height:calc(100vw * 16 / 9)}
 body.public-site .scene-backdrop,body.public-site .scene-backdrop:has(>img){inset:0;height:100%;aspect-ratio:9/16}
 body.public-site .scene-backdrop>img{width:100%;height:100%;aspect-ratio:9/16;object-fit:cover}
 body.public-site :is(.gallery img,.editorial-media img,.event-overview-card>img,.card>img,.partner-logo img,.closing-film>img){width:100%;height:auto!important;aspect-ratio:9/16;object-fit:cover}
 body.public-site .transition-stage{height:auto;aspect-ratio:9/16}
 body.public-site .gallery-zoom{aspect-ratio:9/16;height:auto}
 body.public-site .transition-slide .gallery-zoom{height:100%;aspect-ratio:9/16}
 body.public-site .closing-film.video-placeholder{aspect-ratio:9/16}
 body.public-site .split>div:not(.form-panel){padding:24px;border:1px solid #ffffff24;border-top:1px solid var(--gold);border-radius:24px;text-align:left}
 body.public-site main>.section :is(h2,h3){text-align:left}
 body.public-site .form-panel{padding:24px;width:100%;box-sizing:border-box}
 body.public-site .form-grid{gap:20px}
 body.public-site .form-panel .check{text-align:left;font-size:16px}
 body.public-site .contact-detail a{justify-content:flex-start;font-size:16px;overflow-wrap:anywhere}
 body.public-site .cookie-banner{bottom:calc(82px + env(safe-area-inset-bottom));left:12px;right:12px;width:auto;max-height:calc(100dvh - 110px);padding:18px}
 body.public-site .cookie-banner .actions{display:grid!important;grid-template-columns:1fr}
 body.public-site .cookie-banner .actions button:last-child{grid-column:auto}
 body.public-site .cookie-banner h2{font-size:26px!important;text-align:left}
 body.public-site .cookie-banner p{font-size:15px!important;text-align:left}
}

/* v24: content-sized mobile cards; consistent native date/time controls. */
body.public-site .home-separator .separator-inner{align-items:start;grid-template-columns:1fr}
body.public-site .separator-triple .separator-inner{grid-template-columns:repeat(3,minmax(0,1fr))}
body.public-site .separator-split .separator-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
body.public-site .separator-calculator .separator-inner{grid-template-columns:1fr 1.1fr}
body.public-site .mini-price.form-panel{grid-row:1;grid-column:2}
body.public-site .scene-copy{align-self:center;height:auto;min-height:0}
body.public-site .field :is(input:not([type=checkbox]),select){box-sizing:border-box!important;width:100%!important;inline-size:100%!important;min-width:0!important;min-inline-size:0!important;max-width:100%!important;max-inline-size:100%!important;height:48px!important;min-height:48px!important;max-height:48px!important;padding:10px 12px!important;line-height:26px!important;margin:0;display:block;appearance:none;-webkit-appearance:none}
body.public-site .field :is(input[type=date],input[type=time])::-webkit-date-and-time-value{min-height:26px;text-align:left;margin:0}
body.public-site .field :is(input[type=date],input[type=time])::-webkit-datetime-edit{padding:0;display:inline-flex;min-width:0;align-items:center}
body.public-site .field input::-webkit-calendar-picker-indicator{margin:0;flex:none}
@media(max-width:780px){
 body.public-site.home-page .home-scene,body.public-site.home-page .home-scene:has(.scene-video){height:auto!important;min-height:0!important;aspect-ratio:auto!important;display:block}
 body.public-site.home-page .scene-inner{height:auto!important;min-height:0!important;padding:24px 20px!important;display:block}
 body.public-site.home-page .scene-copy,body.public-site.home-page .scene-right .scene-copy{width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;align-self:start;padding:22px!important;box-sizing:border-box}
 body.public-site.home-page .scene-backdrop,body.public-site.home-page .scene-backdrop:has(>img){height:100%;aspect-ratio:auto;inset:0}
 body.public-site.home-page .scene-backdrop>img{height:100%;aspect-ratio:auto;object-fit:cover}
 body.public-site.home-page .scene-copy>h2{margin:0 0 12px!important}
 body.public-site.home-page .scene-copy>p:not(.eyebrow){margin:0!important}
 body.public-site.home-page .home-separator .separator-inner{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:start!important;gap:16px!important;padding:24px 20px!important}
 body.public-site.home-page .separator-copy{width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;padding:22px!important;margin:0!important;box-sizing:border-box}
 body.public-site.home-page .separator-copy>:is(h2,h3){margin:0 0 12px!important}
 body.public-site.home-page .separator-copy>p:not(.eyebrow){margin:0!important}
 body.public-site.home-page .mini-price.form-panel{grid-column:1!important;grid-row:auto!important;width:100%;min-height:0;height:auto}
 body.public-site .form-grid{grid-template-columns:minmax(0,1fr)}
 body.public-site .field{width:100%;max-width:100%;min-width:0}
}

/* v25: a single column of equal-width legal cards instead of a topic grid. */
body.public-site.legal-page .legal-hub{width:100%;max-width:960px;margin-inline:auto;padding-block:40px 64px}
body.public-site.legal-page .legal-cards{display:flex!important;flex-direction:column;align-items:stretch;gap:24px;width:100%;min-width:0}
body.public-site.legal-page .legal-card,body.public-site.legal-page .legal-card:nth-child(3n),body.public-site.legal-page .legal-contact{width:100%;min-width:0;max-width:100%;box-sizing:border-box;grid-column:auto;background:#000;color:#fff;border:0;border-top:1px solid var(--gold);border-radius:24px;padding:36px;box-shadow:0 8px 26px #0000000d;text-align:left;scroll-margin-top:96px}
body.public-site.legal-page .legal-card>.eyebrow{display:block;color:var(--gold)!important;font-size:13px;letter-spacing:2px;margin:0 0 12px}
body.public-site.legal-page .legal-card h2,body.public-site.legal-page .legal-contact h2{font-size:32px!important;line-height:1.25!important;margin:0 0 20px!important;padding:0!important;border:0!important;text-align:left!important;overflow-wrap:anywhere;text-wrap:pretty}
body.public-site.legal-page .legal-card-content p,body.public-site.legal-page .legal-contact p{color:#fff!important;font-size:17px!important;font-weight:300!important;line-height:1.75!important;margin:0 0 16px!important;max-width:none;overflow-wrap:anywhere;text-align:left}
body.public-site.legal-page .legal-card-content p:last-child{margin-bottom:0!important}
body.public-site.legal-page .legal-contact{margin-top:24px}
@media(max-width:780px){
 body.public-site .hero.hero-centered .hero-content{top:34%!important}
 body.public-site.legal-page .shell{padding-inline:20px}
 body.public-site.legal-page .legal-hub{padding-block:28px 40px}
 body.public-site.legal-page .legal-cards{gap:18px}
 body.public-site.legal-page .legal-card,body.public-site.legal-page .legal-card:nth-child(3n),body.public-site.legal-page .legal-contact{padding:24px;border-radius:22px;scroll-margin-top:88px}
 body.public-site.legal-page .legal-card h2,body.public-site.legal-page .legal-contact h2{font-size:28px!important;margin-bottom:16px!important}
 body.public-site.legal-page .legal-card-content p,body.public-site.legal-page .legal-contact p{font-size:16px!important;line-height:1.7!important}
}

/* v26: one card per blurred mobile scene, separated by every photo gallery. */
body.public-site .mobile-footer-scene{display:none!important}
@media(max-width:780px){
 body.public-site .hero.hero-centered .hero-content h1.hero-flair{color:var(--gold)!important}
 body.public-site.home-page .home-scenes>.transition-gallery,body.public-site.home-page .home-scenes>.transition-gallery[data-mobile-hidden]{display:block!important}
 body.public-site.home-page .home-scene .scene-inner{padding:56px 20px!important}
 body.public-site.home-page .home-scene .scene-backdrop{filter:blur(5px);transform:scale(1.045);overflow:hidden}
 body.public-site.home-page .home-scene .scene-copy{background:#000b!important}
 body.public-site.home-page .mobile-footer-scene{display:block!important;width:100vw;margin-inline:calc(50% - 50vw);overflow:hidden;isolation:isolate}
 body.public-site.home-page .mobile-footer-scene .scene-inner{padding:64px 20px!important}
}
