/* Cinematic product pages; deliberately scoped away from the hub, studio and privacy pages. */
body.bound-cinematic-site { --campaign-bg:#121019; --campaign-ink:#f3eee4; --campaign-muted:#b6b0bd; --campaign-gold:#e0bf7d; --campaign-line:rgb(224 191 125 / 22%); background:var(--campaign-bg); color:var(--campaign-ink); }
body.bound-cinematic-site::before, body.bound-cinematic-site::after { display:none; }
body.bound-cinematic-site.is-roll { --campaign-bg:#100e17; --campaign-gold:#d6b67b; }
body.bound-lightbox-open { overflow:hidden; }
body.bound-cinematic-site.is-rolllight { color-scheme:light; --campaign-bg:#f5f2e9; --campaign-ink:#253c37; --campaign-muted:#5c6e66; --campaign-gold:#306c5c; --campaign-line:rgb(48 108 92 / 22%); --bound-text:#253c37; --bound-muted:#5c6e66; --bound-line:rgb(48 108 92 / 20%); }
.bound-cinematic-site .bound-nav { max-width:1320px; background:rgb(19 16 27 / 76%); border-color:rgb(224 191 125 / 28%); }
.bound-cinematic-site.is-rolllight .bound-nav { background:rgb(255 254 247 / 85%); border-color:var(--campaign-line); }
.bound-cinematic-site a:focus-visible, .bound-cinematic-site button:focus-visible { outline:2px solid var(--campaign-gold); outline-offset:5px; }
.campaign { position:relative; }
.campaign h1, .campaign h2, .campaign h3 { font-family:'Playfair Display',Georgia,serif; font-weight:600; letter-spacing:-.035em; }
.campaign h2 { font-size:clamp(36px,4.4vw,62px); line-height:1.14; margin:20px 0 26px; text-wrap:balance; }
.campaign p { line-height:1.8; }
.campaign-hero { position:relative; min-height:850px; height:min(980px,100svh); overflow:hidden; display:flex; align-items:center; }
.campaign-hero-art, .campaign-hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.campaign-hero-art { object-fit:cover; object-position:60% center; }
.campaign-hero-shade { background:linear-gradient(90deg,rgb(12 10 19 / 83%),rgb(12 10 19 / 42%) 32%,transparent 58%),linear-gradient(0deg,var(--campaign-bg),transparent 23%); }
.campaign-rolllight .campaign-hero-shade { background:linear-gradient(90deg,rgb(249 247 238 / 86%),rgb(249 247 238 / 52%) 32%,transparent 60%),linear-gradient(0deg,var(--campaign-bg),transparent 23%); }
.campaign-hero-copy { position:relative; margin:105px 0 80px max(6vw,calc((100vw - 1260px)/2)); width:470px; max-width:40%; z-index:1; }
.campaign-product-label { display:flex; align-items:center; gap:14px; margin-bottom:30px; font-size:22px; font-weight:800; letter-spacing:-.04em; }
.campaign-product-label img { width:52px; height:52px; border-radius:13px; box-shadow:0 8px 24px rgb(0 0 0 / 20%); }
.campaign-kicker { display:block; color:var(--campaign-gold); font-size:11px; font-weight:800; line-height:1.7; letter-spacing:.16em; text-transform:uppercase; }
.campaign-hero h1 { font-size:clamp(54px,5.5vw,82px); line-height:1.05; margin:19px 0 25px; text-wrap:balance; }
.campaign-hero-copy > p { color:var(--campaign-ink); opacity:.83; max-width:420px; font-size:16px; }
.campaign-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:34px; }
.campaign-button { align-items:center; background:#ead5a5; border:1px solid #ead5a5; border-radius:5px; color:#211b29; display:inline-flex; font-size:14px; font-weight:800; gap:22px; min-height:54px; padding:14px 22px; text-decoration:none; transition:transform .2s,box-shadow .2s; }
.campaign-button:hover { transform:translateY(-3px); box-shadow:0 10px 35px rgb(224 191 125 / 20%); }
.campaign-rolllight .campaign-button { background:#306c5c; border-color:#306c5c; color:#fffaf0; }
.campaign-link { text-decoration:none; font-size:13px; font-weight:700; display:inline-flex; gap:14px; align-items:center; padding:8px 0; border-bottom:1px solid var(--campaign-line); }
.campaign-link:hover { color:var(--campaign-gold); }
.campaign-hero-foot { position:absolute; bottom:30px; left:6vw; right:6vw; display:flex; justify-content:space-between; gap:16px; align-items:center; font-size:10px; letter-spacing:.13em; color:var(--campaign-muted); }
.campaign-hero-foot a { text-decoration:none; }
.campaign-facts { display:flex; justify-content:center; gap:clamp(35px,9vw,130px); border-bottom:1px solid var(--campaign-line); padding:35px 24px 40px; font-size:12px; color:var(--campaign-muted); }
.campaign-facts span { display:flex; gap:16px; align-items:center; }
.campaign-facts b { color:var(--campaign-gold); font-size:32px; font-family:Georgia,serif; font-weight:400; }
.campaign-section { width:calc(100% - 12vw); max-width:1260px; margin:0 auto; padding:100px 0; scroll-margin-top:30px; }
.campaign-heading { max-width:720px; margin-bottom:40px; }
.campaign-heading p { color:var(--campaign-muted); max-width:590px; font-size:15px; margin:0; }
.campaign-world-tabs { display:flex; flex-wrap:wrap; border-top:1px solid var(--campaign-line); border-bottom:1px solid var(--campaign-line); margin-bottom:24px; gap:0 12px; }
.campaign-world-tabs button { background:transparent; color:var(--campaign-muted); cursor:pointer; border:0; border-bottom:2px solid transparent; padding:19px 14px; display:flex; gap:10px; align-items:center; font:600 12px Manrope,system-ui,sans-serif; transition:color .2s,border-color .2s; }
.campaign-world-tabs button[aria-selected=true] { color:var(--campaign-ink); border-color:var(--campaign-gold); }
.campaign-world-dot { background:var(--world-color); width:5px; height:5px; border-radius:50%; box-shadow:0 0 12px var(--world-color); }
.campaign-world-panel { position:relative; min-height:650px; isolation:isolate; overflow:hidden; border:1px solid var(--campaign-line); border-radius:8px; }
.campaign-world-panel[hidden] { display:none; }
.campaign-world-panel::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgb(9 11 16 / 95%),rgb(9 11 16 / 15%) 55%,transparent 75%); z-index:-1; }
.campaign-world-art { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:left center; z-index:-2; }
.campaign-world-body { padding:36px 42px 30px; min-height:650px; display:flex; align-items:flex-end; gap:30px; justify-content:space-between; }
.campaign-world-copy { max-width:510px; padding-bottom:10px; }
.campaign-world-copy h3 { margin:14px 0 18px; font-size:40px; line-height:1.14; text-wrap:balance; }
.campaign-world-copy p { color:#d1ccd3; font-size:14px; margin-bottom:20px; max-width:430px; }
.campaign-mechanics { font-size:11px; font-weight:700; letter-spacing:.06em; color:#e5cb9e; }
.campaign-phone { margin:0; flex:0 0 250px; width:250px; border-radius:26px; background:#171321; padding:9px; box-shadow:0 25px 65px rgb(0 0 0 / 48%); border:1px solid rgb(234 213 165 / 36%); overflow:hidden; position:relative; }
.campaign-phone img { width:100%; height:auto; display:block; border-radius:18px; }
.campaign-phone figcaption { padding:12px 4px 4px; text-align:center; font-size:9px; letter-spacing:.04em; color:#c6c0cf; }
.campaign-large-phone { width:310px; flex-basis:auto; justify-self:center; margin:0 auto; transform:rotate(-3deg); }
.campaign-rolllight .campaign-large-phone { transform:rotate(3deg); box-shadow:0 30px 80px rgb(46 89 73 / 20%); border-color:rgb(48 108 92 / 22%); }
.campaign-split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(45px,8vw,125px); padding-top:50px; }
.campaign-poster { max-width:410px; margin:0 auto; position:relative; }
.campaign-poster::before { content:''; position:absolute; inset:30px -25px -25px 25px; border:1px solid var(--campaign-line); pointer-events:none; }
.campaign-poster img { display:block; width:100%; height:auto; border-radius:6px; position:relative; box-shadow:0 30px 70px rgb(0 0 0 / 28%); }
.campaign-editorial p { font-size:15px; color:var(--campaign-muted); }
.campaign-checks { list-style:none; padding:0; margin:28px 0; font-size:13px; line-height:1.6; }
.campaign-checks li { padding:13px 0 13px 24px; position:relative; border-bottom:1px solid var(--campaign-line); }
.campaign-checks li::before { content:'✦'; font-size:10px; color:var(--campaign-gold); position:absolute; left:0; top:17px; }
.campaign-editorial .campaign-small { font-size:12px; }
.campaign-story-reel { max-width:none; width:100%; padding-top:35px; }
.campaign-story-reel .campaign-heading { margin-left:max(6vw,calc((100vw - 1260px)/2)); margin-right:6vw; }
.campaign-story-track { display:flex; overflow:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:8px max(6vw,calc((100vw - 1260px)/2)) 28px; gap:20px; scrollbar-color:var(--campaign-gold) transparent; scrollbar-width:thin; }
.campaign-story-track figure { flex:0 0 clamp(230px,23vw,330px); margin:0; scroll-snap-align:center; }
.campaign-story-track button { cursor:zoom-in; display:block; padding:0; border:1px solid var(--campaign-line); background:transparent; border-radius:6px; width:100%; overflow:hidden; transition:transform .3s; }
.campaign-story-track button:hover { transform:translateY(-5px); }
.campaign-story-track img { display:block; width:100%; height:auto; }
.campaign-story-track figcaption { padding-top:17px; font-size:11px; color:var(--campaign-muted); display:flex; gap:14px; }
.campaign-story-track figcaption span { color:var(--campaign-gold); }
.campaign-realm-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.campaign-realm-grid figure { margin:0; min-width:0; }
.campaign-realm-image { height:400px; overflow:hidden; border-radius:7px; border:1px solid var(--campaign-line); }
.campaign-realm-image img { width:400%; max-width:none; height:100%; object-fit:cover; object-position:var(--realm-position) center; transform:translateX(calc(var(--realm-position) * -.75)); }
.campaign-realm-grid figcaption { margin-top:20px; }
.campaign-realm-grid figcaption span { color:var(--campaign-gold); font-size:10px; letter-spacing:.1em; }
.campaign-realm-grid h3 { margin:8px 0 0; font-size:25px; line-height:1.2; }
.campaign-collection { height:660px; position:relative; overflow:hidden; margin:30px 0 60px; display:flex; align-items:center; }
.campaign-collection > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.campaign-collection::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgb(12 10 18 / 85%),rgb(12 10 18 / 35%) 40%,transparent 65%),linear-gradient(0deg,var(--campaign-bg),transparent 15%); }
.campaign-collection > div { position:relative; z-index:1; margin-left:max(6vw,calc((100vw - 1260px)/2)); width:380px; max-width:38%; }
.campaign-collection p { font-size:15px; color:#c7c0ce; }
.campaign-benefits { padding-top:50px; }
.campaign-feature-list > div { display:grid; grid-template-columns:55px 1fr 24px; align-items:center; gap:20px; padding:22px 0; border-bottom:1px solid var(--campaign-line); }
.campaign-feature-list span { color:var(--campaign-gold); font-size:11px; }
.campaign-feature-list p { margin:0; font-size:16px; }
.bound-cinematic-site .bound-gallery { width:calc(100% - 12vw); max-width:1260px; padding:60px 0 90px; margin:0 auto; }
.bound-cinematic-site .bound-section-head span { color:var(--campaign-gold); font-size:11px; }
.bound-cinematic-site .bound-section-head h2 { color:var(--campaign-ink); font-size:clamp(36px,4.4vw,62px); letter-spacing:-.035em; }
.bound-cinematic-site .bound-gallery-heading > p { color:var(--campaign-muted); }
.bound-cinematic-site .bound-gallery-tabs button { color:var(--campaign-ink); border-color:var(--campaign-line); background:transparent; }
.bound-cinematic-site .bound-gallery-tabs button[aria-selected=true] { background:var(--campaign-gold); color:var(--campaign-bg); border-color:var(--campaign-gold); }
.bound-cinematic-site .bound-gallery-track { scrollbar-color:var(--campaign-gold) transparent; }
.bound-cinematic-site .bound-gallery-heading { padding:0; }
.bound-cinematic-site .bound-gallery-tabs { margin-left:0; margin-right:0; }
.bound-cinematic-site .bound-gallery-track { padding-left:0; padding-right:0; scroll-padding-inline:0; }
.bound-cinematic-site .bound-gallery-track img { aspect-ratio:auto; object-fit:contain; }
.bound-cinematic-site .bound-gallery-track figure { background:transparent; border-color:var(--campaign-line); border-radius:7px; }
.bound-cinematic-site .bound-gallery-track figcaption { color:var(--campaign-muted); }
.bound-cinematic-site .bound-lightbox { color:#f3eee4; background:#121019; }
.bound-cinematic-site .bound-lightbox figure { margin:0; }
.bound-cinematic-site .bound-lightbox-close, .bound-cinematic-site .bound-lightbox-arrow { color:#f3eee4; border-color:rgb(234 213 165 / 30%); width:44px; height:44px; }
.bound-cinematic-site .bound-lightbox::backdrop { background:rgb(8 6 14 / 90%); backdrop-filter:blur(12px); }
.campaign-notes { padding-top:20px; padding-bottom:90px; max-width:820px; border-top:1px solid var(--campaign-line); }
.campaign-notes h2 { font-size:30px; margin-top:35px; }
.campaign-notes p { color:var(--campaign-muted); font-size:14px; }
.campaign-finale { position:relative; min-height:780px; overflow:hidden; display:flex; align-items:flex-end; justify-content:center; }
.campaign-finale-art { position:absolute; inset:0; height:100%; width:100%; object-fit:cover; object-position:50% 40%; }
.campaign-finale::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,var(--campaign-bg),rgb(18 16 25 / 65%) 18%,transparent 55%); }
.campaign-rolllight .campaign-finale::after { background:linear-gradient(0deg,var(--campaign-bg),rgb(245 242 233 / 80%) 18%,transparent 60%); }
.campaign-finale-copy { text-align:center; position:relative; z-index:1; padding:50px 20px 65px; }
.campaign-finale-copy h2 { font-size:clamp(38px,5vw,64px); }
.bound-cinematic-site .campaign-footer { margin-top:0; border-color:var(--campaign-line); color:var(--campaign-muted); }
.campaign-world-panel.is-entering { animation:campaign-world-enter .55s ease both; }
.campaign-enhanced [data-reveal] { transition:opacity .6s ease,transform .6s cubic-bezier(.22,1,.36,1),filter .6s ease; }
.campaign-enhanced [data-reveal].is-pending { opacity:0; transform:translateY(24px); filter:blur(4px); }
@keyframes campaign-world-enter { from { opacity:.3; transform:translateY(10px); filter:blur(5px); } to { opacity:1; transform:none; filter:none; } }
@media(min-width:1600px) { .campaign-hero-copy { width:480px; } }
@media(max-width:1050px) {
 .campaign-hero { min-height:780px; } .campaign-hero-copy { max-width:44%; width:420px; } .campaign-hero h1 { font-size:62px; }
 .campaign-world-body { padding:25px; gap:25px; } .campaign-world-copy { max-width:430px; } .campaign-world-copy h3 { font-size:34px; } .campaign-phone { width:230px; flex-basis:230px; } .campaign-large-phone { width:290px; }
 .campaign-realm-image { height:320px; } .campaign-split { gap:50px; }
}
@media(max-width:760px) {
 .bound-cinematic-site .bound-nav { top:16px; width:calc(100% - 32px); padding:10px 12px 10px 16px; border-radius:8px; } .bound-cinematic-site .bound-nav nav { gap:10px; } .bound-cinematic-site .bound-nav nav > a { display:none; } .bound-cinematic-site .bound-brand { font-size:11px; }
 .campaign-hero { display:block; height:auto; min-height:0; padding-top:0; } .campaign-hero-art { position:relative; height:380px; object-position:72% center; display:block; } .campaign-hero-shade { height:385px; background:linear-gradient(0deg,var(--campaign-bg),transparent 45%); } .campaign-rolllight .campaign-hero-shade { background:linear-gradient(0deg,var(--campaign-bg),transparent 40%); }
 .campaign-hero-copy { width:auto; max-width:none; margin:-15px 25px 0; padding:0 0 28px; } .campaign-product-label { margin-bottom:23px; font-size:21px; } .campaign-product-label img { width:42px; height:42px; } .campaign-hero h1 { font-size:49px; max-width:440px; } .campaign-hero-copy > p { font-size:14px; max-width:480px; } .campaign-kicker { font-size:9px; letter-spacing:.12em; } .campaign-actions { gap:18px; margin-top:25px; } .campaign-button { font-size:12px; gap:16px; padding:13px 17px; min-height:49px; } .campaign-link { font-size:12px; }
 .campaign-hero-foot { position:relative; left:auto; right:auto; bottom:auto; margin:0 25px; padding:20px 0 26px; border-top:1px solid var(--campaign-line); font-size:8px; letter-spacing:.05em; } .campaign-hero-foot > span:nth-child(2) { display:none; }
 .campaign-facts { gap:18px; padding:24px 18px; justify-content:space-between; font-size:9px; } .campaign-facts span { flex-direction:column; gap:6px; text-align:center; } .campaign-facts b { font-size:27px; }
 .campaign-section { width:calc(100% - 44px); padding:65px 0; } .campaign-heading { margin-bottom:30px; } .campaign h2 { font-size:38px; margin:16px 0 22px; } .campaign-heading p { font-size:13px; }
 .campaign-world-tabs { gap:0 5px; } .campaign-world-tabs button { padding:15px 8px; font-size:10px; gap:7px; } .campaign-world-body { flex-direction:column; align-items:center; min-height:0; gap:30px; padding:340px 22px 30px; } .campaign-world-copy { max-width:none; width:100%; } .campaign-world-copy h3 { font-size:31px; } .campaign-world-copy p { font-size:13px; } .campaign-world-panel { min-height:0; } .campaign-world-art { height:420px; object-position:left center; } .campaign-world-panel::after { background:linear-gradient(0deg,#0e1118 48%,transparent 78%); } .campaign-world-body .campaign-phone { width:240px; flex-basis:auto; }
 .campaign-split { grid-template-columns:1fr; gap:55px; } .campaign-poster { width:80%; max-width:350px; } .campaign-editorial p { font-size:14px; } .campaign-large-phone { width:280px; } .campaign-split.is-reversed .campaign-large-phone { grid-row:1; }
 .campaign-story-reel { width:100%; padding-top:20px; } .campaign-story-reel .campaign-heading { margin-left:22px; margin-right:22px; } .campaign-story-track { padding-left:22px; padding-right:22px; gap:14px; } .campaign-story-track figure { flex-basis:250px; }
 .campaign-realm-grid { grid-template-columns:repeat(2,1fr); gap:30px 14px; } .campaign-realm-image { height:300px; } .campaign-realm-grid h3 { font-size:24px; }
 .campaign-collection { height:auto; flex-direction:column; margin:20px 0; align-items:stretch; } .campaign-collection > img { position:relative; height:340px; object-position:65% center; } .campaign-collection::after { height:345px; background:linear-gradient(0deg,var(--campaign-bg),transparent 40%); } .campaign-collection > div { width:auto; max-width:none; margin:-10px 22px 30px; }
 .campaign-feature-list > div { grid-template-columns:30px 1fr 14px; gap:10px; padding:20px 0; } .campaign-feature-list p { font-size:13px; }
 .bound-cinematic-site .bound-gallery { width:calc(100% - 44px); padding:30px 0 65px; } .bound-cinematic-site .bound-section-head h2 { font-size:38px; } .bound-cinematic-site .bound-gallery-heading { gap:20px; } .bound-cinematic-site .bound-gallery-heading > p { font-size:13px; } .bound-cinematic-site .bound-gallery-tabs { gap:8px; } .bound-cinematic-site .bound-gallery-tabs button { padding:10px 11px; font-size:10px; }
 .campaign-notes h2 { font-size:28px; } .campaign-finale { min-height:560px; } .campaign-finale-art { object-position:50% top; } .campaign-finale-copy { padding-bottom:40px; } .campaign-finale-copy h2 { font-size:38px; } .campaign-footer { gap:20px; font-size:11px; }
}
@media(max-width:360px) { .campaign-hero h1 { font-size:43px; } .campaign-hero-art { height:320px; } .campaign-hero-shade { height:325px; } .campaign-hero-copy { margin-left:22px; margin-right:22px; } .campaign-actions { gap:12px; } .campaign-realm-image { height:250px; } .campaign-realm-grid h3 { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .campaign-enhanced [data-reveal], .campaign-world-panel.is-entering { animation:none; transition:none; filter:none; transform:none; opacity:1; } .campaign-enhanced [data-reveal].is-pending { opacity:1; transform:none; filter:none; } .campaign-button, .campaign-story-track button { transition:none; } }
