/* Existing Caslon/Cabin identity expanded into an illustrated theatre programme. */
main:has(.premiere){max-width:1360px;padding-top:0}.premiere{display:grid;grid-template-columns:1.05fr 1fr;background:#232821;color:#f8f5ee;margin:0 -40px;min-height:670px}.premiere-copy{padding:64px 48px 56px}.premiere h1{font-size:clamp(38px,4.8vw,66px);max-width:15ch}.premiere h1 span{display:block;color:#ead5a4}.lead{font-size:24px;line-height:1.4}.premiere .lead{font-size:30px;margin:28px 0}.premiere p:not(.lead){max-width:31ch}.premiere .button{background:#ead5a4;border-color:#ead5a4;color:#232821}.premiere .button:hover{background:#fff0ce}.lead-portrait{margin:0;position:relative;min-width:0;display:grid}.lead-portrait img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 24%}.lead-portrait figcaption{align-self:end;position:relative;background:#232821;padding:14px 22px;font:15px Cabin,sans-serif}.premise{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:85px 0;border-bottom:1px solid var(--rule)}.premise>p{font:36px/1.4 CaslonDisplay,serif;margin:0;color:var(--red)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin:65px 0 28px}.section-heading h2{margin:0}.portrait-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.portrait-strip figure,.cast-gallery figure{margin:0}.portrait-strip img,.cast-gallery img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.portrait-strip figcaption{padding:12px 0;font:19px CaslonDisplay,serif}.closing{padding:65px 0 10px;max-width:760px}.closing h2{font-size:48px}.page-opening{max-width:790px;margin-bottom:58px}.page-opening h1{font-size:clamp(44px,6vw,76px)}.kit-content{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding:45px 0;border-top:1px solid var(--rule)}.price{font:64px/1 CaslonDisplay,serif;margin:25px 0 12px}.contents{display:block}.contents dt{font-size:22px;margin:25px 0 6px}.contents dd{padding-bottom:20px;border-bottom:1px solid var(--rule)}.edition-spread{padding:50px;background:#233b33;color:#f8f5ee;margin-top:45px}.edition-spread a{color:#ead5a4}.edition-spread .aside{color:#e7ddcc}.journey-steps{list-style:none;counter-reset:journey;padding:0;max-width:850px}.journey-steps li{counter-increment:journey;position:relative;padding:34px 0 34px 85px;border-top:1px solid var(--rule)}.journey-steps li:before{content:counter(journey);position:absolute;left:0;top:28px;color:var(--red);font:64px CaslonDisplay,serif}.journey-steps h2{font-size:34px}.cast-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 26px}.cast-gallery h2{font-size:27px;margin:16px 0 5px}.cast-gallery p{margin:0;font:16px/1.5 Cabin,sans-serif}.cast-gallery .aside{display:block;margin-top:8px}.demo-info{padding:20px;background:#eae5d9;font:16px/1.55 Cabin,sans-serif}.casting-list{display:grid;grid-template-columns:1fr 1fr;gap:36px}.casting-person{display:grid;grid-template-columns:100px 1fr;gap:20px;align-items:start}.casting-person img{width:100px;height:136px;object-fit:cover}.casting-person h2{font-size:25px;margin-bottom:8px}.casting-person p{margin:0 0 15px;font-size:15px}.casting-person label{display:block;font-size:15px;margin-bottom:6px}nav a{min-height:36px;display:inline-flex;align-items:center}nav{gap:20px}.service-nav{display:none}body[data-service=true] .public-nav{display:none}body[data-service=true] .service-nav{display:flex}
@media(max-width:900px){header{flex-direction:column}.premiere-copy{padding:44px 30px}.premiere{min-height:600px}.premise{gap:40px}.kit-content{gap:40px}.cast-gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){main:has(.premiere){padding:0 22px 55px}.premiere{margin:0 -22px;grid-template-columns:1fr;min-height:0}.premiere-copy{padding:38px 24px}.premiere h1{font-size:45px;max-width:16ch}.premiere .lead{font-size:25px}.lead-portrait{height:390px}.lead-portrait img{object-position:50% 28%}.premise{grid-template-columns:1fr;gap:30px;padding:45px 0}.premise>p{font-size:30px}.section-heading{display:block;margin-top:44px}.section-heading a{display:inline-block;margin-top:18px}.portrait-strip{grid-template-columns:repeat(2,1fr);gap:22px 12px}.portrait-strip figcaption{font-size:18px}.closing h2{font-size:38px}.kit-content{grid-template-columns:1fr;gap:38px}.edition-spread{padding:28px 22px}.cast-gallery{gap:32px 14px}.cast-gallery h2{font-size:23px}.cast-gallery p{font-size:14px}.page-opening{margin-bottom:36px}.journey-steps li{padding-left:50px}.journey-steps li:before{font-size:44px}.journey-steps h2{font-size:30px}.casting-list{grid-template-columns:1fr}.casting-person{grid-template-columns:90px 1fr}.casting-person img{width:90px;height:125px}nav{font-size:15px;gap:8px 18px}.brand{font-size:24px}}

.junior-casting{margin-top:48px;padding-top:32px;border-top:1px solid var(--rule)}

/* Casting uses paired head-and-shoulder portraits with native radio controls. */
.casting-list{display:block}.casting-part{padding:30px 0;margin:0;border:0;border-top:1px solid var(--rule);min-width:0}.casting-part legend{font:30px CaslonDisplay,serif;padding:0 16px 0 0}.casting-row{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:44px;align-items:center}.role-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.role-option{display:block;cursor:pointer;margin:0;min-width:0}.role-image{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--rule)}.role-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transform:scale(1.18);transform-origin:50% 25%}.role-caption{display:flex;align-items:start;gap:8px;padding:12px 0;font:16px/1.4 Cabin,sans-serif}.role-caption input{width:18px;height:18px;min-height:0;padding:0;margin:2px 0 0;flex:none;accent-color:var(--red)}.role-option:has(input:checked) .role-image{outline:3px solid var(--red);outline-offset:3px}.role-option:focus-within{outline:2px solid var(--ink);outline-offset:7px}.role-option:hover .role-caption{color:var(--red)}.fixed-role{margin:0;max-width:201px}.fixed-role figcaption{font:16px/1.4 Cabin,sans-serif;padding:12px 0}.fixed-role small{display:block;margin-top:5px}.casting-guest{min-width:0}.casting-guest label{display:block;margin-bottom:8px}.junior-place{padding:24px 0;border-bottom:1px solid var(--rule)}.junior-portraits{max-width:420px;border:0;padding:0;min-width:0}.junior-portraits legend{margin-bottom:20px}.junior-place>fieldset{min-width:0}
@media(max-width:760px){.casting-row{grid-template-columns:1fr;gap:14px}.role-options{max-width:420px}.casting-part legend{font-size:26px}.casting-part{padding:22px 0 34px}.role-caption{font-size:15px}.role-options{gap:16px}}

/* Match face scale from the approved sources without altering facial identity. */
.role-image img{transform:scale(1.06);transform-origin:50% 28%}
.role-image img[src$="/graves.webp"]{transform:scale(1.65);transform-origin:50% 15%}
.role-image img[src$="/freya.webp"],.role-image img[src$="/isabelle.webp"]{transform:scale(1.55);transform-origin:50% 24%}
.role-image img[src$="/isaac.webp"],.role-image img[src$="/james.webp"]{transform:scale(1.3);transform-origin:50% 26%}
.role-image img[src$="/edward.webp"]{transform:scale(1.18)}

.couple-settings{margin:16px 0;font:15px/1.5 Cabin,sans-serif}.couple-settings label{display:flex;align-items:start;gap:10px}.couple-settings input{width:18px;height:18px;min-height:0;margin:3px 0 0;flex:none;accent-color:var(--red)}

.couple-caption{display:block;margin-top:8px;font-size:14px;line-height:1.45}.couple-toggle{font-size:15px;padding:10px 14px}.junior-casting{margin:0 0 44px;padding-top:0;border-top:0}

.flow-page{max-width:900px}.review-roster{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-roster article{display:flex;gap:20px;border-top:1px solid var(--rule);padding:24px 0;min-width:0}.review-roster img{width:90px;height:120px;object-fit:cover}.review-roster h2{font-size:28px;overflow-wrap:anywhere}.review-roster p{margin:6px 0}.flow-page>img{width:180px;height:240px;object-fit:cover}.delivery-list article{border-top:1px solid var(--rule);padding:28px 0}.delivery-list h2{font-size:28px}.journey-links li{padding:10px 0}.flow-page select{margin-bottom:24px}@media(max-width:640px){.review-roster{grid-template-columns:1fr}.flow-page h1{font-size:44px}}
.pack-status-card{margin:24px 0;padding:18px 22px;background:#eae5d9;border-left:4px solid var(--red)}.pack-status-card p{margin:0;max-width:65ch}.pack-status-card #pack-progress:not([hidden]){display:block;width:min(100%,480px);height:10px;margin:0 0 18px;accent-color:var(--red)}.pack-status-card #pack-retry:not([hidden]){margin-top:18px}
.pack-paper-note{max-width:65ch;margin:4px 0 22px;font:16px/1.5 Cabin,sans-serif}

.review-roster .role-image{width:90px;height:112.5px;flex:none}.review-roster .role-image img{width:100%;height:100%}
/* Approved landscape scenes keep their complete framing on small screens. */
.scene-section{position:relative;isolation:isolate;overflow:hidden}
.scene-image{display:block;width:100%;height:auto}
.scene-section{margin:42px 0 60px}
.scene-caption{padding:10px 0;color:var(--muted,#645f58);font:14px/1.4 Cabin,sans-serif}
.scene-copy{padding:32px;background:var(--paper,#f8f5ee)}
.pack-preview{margin:12px 0 52px}
.pack-preview img{display:block;width:100%;height:auto}
.pack-preview figcaption{padding:12px 0;color:var(--muted,#645f58);font:15px/1.5 Cabin,sans-serif}
.account-save{margin-top:40px;padding:24px;border-top:1px solid var(--rule)}
@media(min-width:761px){.scene-section[data-overlay="approved"] .scene-copy{position:absolute;inset:auto auto 0 0;max-width:50%;background:rgba(248,245,238,.94)}}
@media(max-width:760px){.scene-section .scene-image{position:static;aspect-ratio:auto;object-fit:contain;height:auto}.scene-section .scene-copy{position:static;max-width:none;padding:24px}}

/* Let the approved opening scenes set the hero's height. */
.premiere{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);min-height:0;align-items:stretch}
.premiere-copy{padding:42px 38px;display:flex;flex-direction:column;justify-content:center}
.premiere h1{font-size:clamp(36px,3.5vw,54px);line-height:1.04;max-width:16ch;margin:0}
.premiere .lead{font-size:clamp(22px,2.1vw,27px);line-height:1.22;margin:18px 0 12px}
.premiere p:not(.lead){font-size:18px;line-height:1.45;max-width:34ch;margin:0}
.premiere-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px;font:15px/1.4 Cabin,sans-serif}
.premiere-actions .button{white-space:nowrap}
.premiere-actions>a:not(.button){color:#ead5a4}
body[data-admin=true]{--paper:#f3f5f7;--ink:#202936;--red:#174e85;--rule:#d5dbe2;background:var(--paper);color:var(--ink);font:15px/1.5 Arial,sans-serif}
body[data-admin=true] header{max-width:none;background:#1c2938;color:white;padding:14px clamp(20px,4vw,56px);border:0}
body[data-admin=true] header .brand{font:600 17px Arial,sans-serif;color:white}
body[data-admin=true] header nav,body[data-admin=true] header .service-nav,body[data-admin=true] header .public-nav{display:none}
body[data-admin=true] header .brand img{display:none}
body[data-admin=true] header .brand:after{content:' / Admin';font-weight:400;color:#adbac9}
body[data-admin=true] main{max-width:1480px;padding:36px clamp(20px,4vw,56px) 70px}
body[data-admin=true] .flow-page{max-width:none}
body[data-admin=true] h1,body[data-admin=true] h2,body[data-admin=true] h3{font-family:Arial,sans-serif;font-weight:650;line-height:1.25}
body[data-admin=true] h1{font-size:30px;margin-bottom:10px}
body[data-admin=true] h2{font-size:22px}
body[data-admin=true] h3{font-size:18px}
body[data-admin=true] p{max-width:none}
body[data-admin=true] button,body[data-admin=true] .button{font:600 14px Arial,sans-serif;border-radius:5px;min-height:40px;padding:9px 14px}
body[data-admin=true] input,body[data-admin=true] textarea,body[data-admin=true] select{font:15px Arial,sans-serif;border:1px solid #aab5c2;border-radius:5px;background:white;min-height:40px}
body[data-admin=true] label,body[data-admin=true] summary{font:600 14px Arial,sans-serif}
body[data-admin=true] #admin-login{max-width:430px;background:white;padding:28px;border:1px solid var(--rule);border-radius:8px}
body[data-admin=true] #admin-login label{display:block;margin:14px 0 5px}
body[data-admin=true] #admin-login button[type=submit]{margin-top:20px}
.staff-tabs{position:sticky;top:0;z-index:10;display:flex;flex-wrap:nowrap;align-items:center;gap:2px;margin:-36px 0 28px;padding:16px 0 0;background:#f3f5f7;border-bottom:1px solid #c9d2dc;font:600 14px Arial,sans-serif}
.staff-tabs a{display:block;padding:12px 18px;color:#314257;text-decoration:none;border-bottom:3px solid transparent;white-space:nowrap}
.staff-tabs a:hover{color:#174e85;background:#e9edf2}
.staff-tabs a[aria-current=page]{color:#174e85;border-bottom-color:#174e85}
.staff-tabs a:focus-visible{outline:3px solid #174e85;outline-offset:-3px}
.admin-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:28px 0 16px}
.admin-toolbar form{flex:1;max-width:630px}
.admin-toolbar form>div{display:flex;gap:8px;margin-top:7px}
.admin-toolbar input{flex:1}
.admin-table-wrap{overflow-x:auto;background:white;border:1px solid #d5dbe2;border-radius:8px}
.admin-table{border-collapse:collapse;width:100%;font:14px Arial,sans-serif;text-align:left}
.admin-table th,.admin-table td{padding:12px 16px;border-bottom:1px solid #e3e7ec;vertical-align:middle}
.admin-table thead{background:#e9edf2}
.admin-table tbody tr:hover{background:#f5f8fb}
.admin-table button{white-space:nowrap}
.campaign-table{min-width:1360px;font-variant-numeric:tabular-nums}
.campaign-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:18px 0 12px;font:14px Arial,sans-serif}
.campaign-filters label{display:block;min-width:155px}
.campaign-filters select{display:block;width:100%;margin-top:5px;padding:6px}
.campaign-filters input[type=checkbox]{margin-right:6px}
.campaign-filters #campaign-filter-count{margin-left:auto;color:#526071}
.organic-plan{margin:24px 0 34px;padding:18px;border:1px solid #d5dbe2;border-radius:8px;background:#f6f8fb}
.organic-plan .admin-table{min-width:760px}
.organic-plan small{display:block;margin-top:4px;color:#4b5563}
.organic-plan summary{cursor:pointer;color:#183b60;font-weight:600}
.organic-plan details>p{max-width:65ch;line-height:1.55}
.organic-plan .campaign-review-gallery{max-width:560px;margin:12px 0}
.organic-plan-manage{margin-top:8px}
.campaign-table small{display:block;color:#4b5563;margin-top:4px}
.campaign-table thead{background:#e3e9f0;color:#243142}
.campaign-table td:nth-child(3){min-width:125px}
.campaign-table th:first-child{min-width:240px}
.campaign-preview-trigger{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:transparent;color:#183b60;border:0;cursor:pointer}
body[data-admin=true] .campaign-preview-trigger{padding:0;min-height:98px;font-weight:400}
.campaign-preview-trigger strong{display:block;font-size:15px;line-height:1.25}
.campaign-preview-trigger small{font-weight:400}
.campaign-preview-trigger:hover strong{text-decoration:underline}
.campaign-preview-trigger:focus-visible{outline:3px solid #174e85;outline-offset:4px}
.campaign-thumb{display:block;width:78px;height:98px;object-fit:cover;border:1px solid #d5dbe2;border-radius:4px;flex:none}
.campaign-media-pending{display:grid;place-items:center;width:78px;height:98px;background:#e9edf2;border:1px solid #d5dbe2;color:#4b5563;text-align:center;font-size:12px;flex:none}
.campaign-state{display:inline-block;padding:3px 8px;border-radius:4px;background:#e9edf2;color:#344154;text-transform:capitalize;font-weight:600}
.campaign-state-live{background:#ddf2e5;color:#176140}
.campaign-state-paused{background:#fff0cf;color:#77510a}
.campaign-state-stopped{background:#e7e9ed;color:#46505f}
.campaign-detail-row[hidden]{display:none}
.campaign-detail-row>td{background:#f6f8fb;padding:22px}
.campaign-review{display:grid;grid-template-columns:minmax(220px,310px) minmax(300px,1fr) minmax(220px,270px);gap:28px;align-items:start}
.campaign-review-image{display:block;width:100%;max-height:460px;object-fit:contain;object-position:top;background:#e9edf2;border:1px solid #d5dbe2}
.campaign-review-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.campaign-review-gallery figure{margin:0;min-width:0}
.campaign-review-gallery .campaign-review-image{aspect-ratio:1;max-height:none}
.campaign-review-gallery-portrait .campaign-review-image{aspect-ratio:9/16}
.campaign-review-gallery video.campaign-review-image{aspect-ratio:9/16}
.campaign-review-gallery figcaption{font:12px/1.4 Arial,sans-serif;color:#526071;margin-top:3px}
.campaign-review-pending{display:grid;place-items:center;min-height:240px;background:#e9edf2;border:1px solid #d5dbe2;color:#4b5563}
.campaign-review-copy h3,.campaign-form h3{margin:0 0 12px}
.campaign-review-copy p{max-width:55ch;font:15px/1.6 Arial,sans-serif;white-space:pre-line}
.campaign-review-copy dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid #d5dbe2;padding-top:16px;margin-top:20px}
.campaign-review-copy dt{color:#526071;font-size:12px}
.campaign-review-copy dd{margin:3px 0 0;font-weight:600}
.campaign-visibility-button{margin-top:16px;padding:7px 11px}
.campaign-visibility-note{display:block;margin-top:5px;color:#526071;font:12px/1.4 Arial,sans-serif}
.campaign-form{min-width:210px;font:13px/1.4 Arial,sans-serif}
.campaign-form label{display:block;margin:8px 0}
.campaign-form input,.campaign-form select{display:block;box-sizing:border-box;width:100%;margin-top:3px;padding:7px;font:inherit}
.campaign-form button{margin-top:6px}
@media(max-width:900px){.campaign-review{grid-template-columns:minmax(160px,250px) minmax(0,1fr)}.campaign-form{grid-column:1/-1;max-width:360px}}
@media(max-width:600px){.campaign-review{display:block}.campaign-review-image{max-width:320px}.campaign-form{margin-top:26px}}
body[data-admin=true] #customer-detail{background:white;border:1px solid #d5dbe2;border-radius:8px;padding:0 24px;margin-top:24px}
body[data-admin=true] #customer-detail:empty{display:none}
body[data-admin=true] #customer-detail article{border-top:1px solid #e3e7ec;padding:12px 0}
body[data-admin=true] #customer-detail article p{margin:5px 0}
body[data-admin=true] .admin-delete{border-top:1px solid #d5dbe2;margin:28px 0;padding-top:12px}
body[data-admin=true] .admin-links{display:flex;flex-wrap:wrap;gap:20px;margin:28px 0;font:14px Arial,sans-serif}
.budget-table{min-width:1050px;font-variant-numeric:tabular-nums}
.budget-table th:first-child{min-width:210px}
.budget-table small{display:block;color:#526071;font-weight:400;margin-top:4px}
.budget-totals{padding:13px 0;margin:8px 0 18px;font:14px Arial,sans-serif;border-top:1px solid #d5dbe2}
.budget-totals strong{font-size:17px}
.budget-empty{padding:20px 22px;background:white;border:1px solid #d5dbe2;border-radius:8px}
.budget-detail-row[hidden]{display:none}
.budget-detail-row>td{background:#f6f8fb;padding:24px}
.budget-detail{display:grid;grid-template-columns:2fr 1fr;gap:36px;margin-bottom:26px}
.budget-detail h3,.budget-guidance h2{margin-top:0}
.budget-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}
.budget-plan-form label,.budget-spend-form label{display:block}
.budget-plan-form input,.budget-plan-form select,.budget-spend-form input{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:7px}
.budget-plan-form button,.budget-spend-form button{margin-top:16px}
.budget-plan-form small{display:block;margin-top:8px;color:#526071}
.budget-spend-form label+label{margin-top:12px}
.budget-new{margin:26px 0;padding:20px 24px;background:white;border:1px solid #d5dbe2;border-radius:8px}
.budget-new summary{cursor:pointer}
.budget-new[open] summary{margin-bottom:20px}
.budget-guidance{max-width:850px;margin-top:30px}
body[data-admin=true] footer{font:12px Arial,sans-serif}
@media(max-width:900px){.budget-detail{display:block}.budget-detail section+section{margin-top:28px}}
@media(max-width:700px){.staff-tabs{overflow-x:auto;margin:-36px -20px 24px;padding:16px 20px 0}.admin-toolbar{display:block}.admin-toolbar>button{margin-top:10px}.admin-table th,.admin-table td{padding:10px}body[data-admin=true] #customer-detail{padding:0 14px}.budget-form-grid{grid-template-columns:1fr}}
.opening-gallery{min-width:0;align-self:stretch;background:#171b18;display:flex;flex-direction:column;justify-content:center}
.premiere .opening-gallery{align-self:start;display:block}
.opening-slides{position:relative;width:100%;aspect-ratio:2720/1536}
.opening-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;visibility:hidden;transition:opacity 1s ease-in-out,visibility 0s linear 1s}
.opening-slide.is-active{opacity:1;visibility:visible;transition:opacity 1s ease-in-out,visibility 0s}
@media(prefers-reduced-motion:reduce){.opening-slide,.opening-slide.is-active{transition:none}}
.opening-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 20px;font:14px/1.4 Cabin,sans-serif}
.opening-pause{background:transparent;border:0;color:#e7ddc6;min-height:44px;padding:8px 12px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.opening-pause:hover{background:#e7ddc6;color:#171b18}
.opening-pause:focus-visible,.premiere-actions a:focus-visible{outline-color:#ead5a4}
.opening-caption{font:14px/1.4 Cabin,sans-serif;color:#e7ddc6;margin:0}
@media(max-width:1180px){.premiere{display:flex;flex-direction:column}.premiere .opening-gallery{width:100%}.premiere-copy{width:100%;padding:36px 32px 42px}.premiere h1{max-width:18ch}}
@media(max-width:760px){.premiere{margin:0 -22px}}
@media(max-width:600px){.premiere-copy{padding:30px 24px 38px}.premiere h1{font-size:clamp(35px,9vw,48px)}.premiere .lead{font-size:23px}.opening-footer{padding:7px 12px}.opening-caption{font-size:13px}}

.cast-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}
.cast-card{min-width:0;border-top:1px solid var(--rule);padding-top:18px}
.cast-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.cast-variants--fixed{grid-template-columns:minmax(0,1fr);max-width:48%;margin-inline:auto}
.cast-variants figure{min-width:0}
.cast-variants figcaption{padding-top:10px}
.cast-gallery .cast-variants h2{font-size:clamp(18px,2vw,24px);line-height:1.15;margin:0}
.cast-card p{margin:14px 0 0;font:16px/1.5 Cabin,sans-serif}
@media(max-width:650px){.cast-gallery{grid-template-columns:minmax(0,1fr);gap:32px}.cast-variants{gap:10px}}

.guest-return{position:sticky;top:0;z-index:20;display:block;padding:10px 22px;background:#ead5a4;color:#232821;text-align:center;font:600 15px/1.4 Cabin,sans-serif;text-decoration:underline;text-underline-offset:4px;border-bottom:1px solid #b7a780}.guest-return:hover{color:#6c1824}

/* The pack's Fairfax seal closes the larger site wordmark. */
header{align-items:center}
.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font:34px/1 CaslonDisplay,serif}
.brand img{display:block;width:52px;height:52px;object-fit:contain}
@media(max-width:900px){header{align-items:flex-start}}
@media(max-width:600px){.brand{font-size:clamp(22px,6vw,28px);gap:7px}.brand img{width:40px;height:40px}}

/* Show the same staircase with both approved casts, keeping its full frame. */
.cast-stair-gallery{margin:42px 0 60px;min-width:0}
.cast-stair-gallery .opening-slides{width:100%}
@media(max-width:600px){.cast-stair-gallery{margin:32px 0 44px}}

/* The arrival film leads the home page. The mobile cut is framed shot by shot. */
html:has(.arrival-film){scrollbar-color:#a89578 #232821}
.arrival-film{min-width:0;position:relative;overflow:hidden;background:#10100f}
.arrival-film-screen{position:relative;padding:8px;border:3px solid #b99a62;background:#3a2020;box-shadow:inset 0 0 0 1px #ead5a4}
.arrival-film video{display:block;width:100%;height:auto;max-height:min(80svh,760px);object-fit:contain;background:#10100f;border:0;outline:0;clip-path:inset(1px)}
.arrival-film-sound{position:absolute;top:18px;right:18px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #b99a62;background:#171715e6;color:#fff;font:600 14px/1.2 Cabin,sans-serif;cursor:pointer}
.arrival-film-sound:hover{background:#3a2020;border-color:#ead5a4}
.arrival-film-sound svg{display:block;width:20px;height:20px;flex:none}
.arrival-film-sound .sound-active-mark{display:none}
.arrival-film-sound[aria-pressed=true] .sound-muted-mark{display:none}
.arrival-film-sound[aria-pressed=true] .sound-active-mark{display:block}
.arrival-film-sound:focus-visible,.arrival-film-landscape:focus-visible{outline:3px solid #ead5a4;outline-offset:3px}
.arrival-film-landscape{display:block;padding:8px 14px;text-align:right;color:#ead5a4;font:14px/1.4 Cabin,sans-serif}
@media(max-width:1180px){.arrival-film{width:100%}}
@media(max-width:760px){
 .arrival-film video{max-height:78svh}
 .arrival-film[data-widescreen=true] .arrival-film-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px}
 .arrival-film[data-widescreen=true] .arrival-film-sound{position:static;z-index:auto;flex:none;padding:5px 7px;gap:5px;font-size:12px}
 .arrival-film[data-widescreen=true] .arrival-film-sound svg{width:16px;height:16px}
 .arrival-film[data-widescreen=true] .arrival-film-landscape{padding:4px 0;font-size:12px;text-align:right}
}
.kit-film-entry{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);align-items:center;gap:0;margin:0 0 48px;background:#232821;color:#f8f5ee}
.kit-film-offer{padding:30px}.kit-film-offer>p:first-child{font:22px/1.2 CaslonDisplay,serif;color:#ead5a4;margin:0}.kit-film-offer .price{margin:22px 0 10px;color:#f8f5ee}.kit-film-offer>p:not(:first-child):not(.price){font:16px/1.45 Cabin,sans-serif}.kit-film-offer .button{display:inline-block;margin-top:12px;background:#ead5a4;border-color:#ead5a4;color:#232821}
.kit-film-offer .kit-offer-steps{color:#ead5a4}
.kit-quick-proof{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px;padding:16px 0;border-bottom:1px solid var(--rule);font:16px/1.55 Cabin,sans-serif}
.kit-quick-proof p{max-width:68ch;margin:0}.kit-quick-proof a{flex:none}
.kit-faq{max-width:850px;margin:64px auto 0}.kit-faq h2{margin-bottom:22px}.kit-faq details{border-top:1px solid var(--rule);padding:15px 0}.kit-faq details:last-of-type{border-bottom:1px solid var(--rule)}.kit-faq summary{cursor:pointer;font:600 19px/1.4 Cabin,sans-serif}.kit-faq details p{max-width:65ch;margin:12px 0 4px;font:16px/1.55 Cabin,sans-serif}.kit-faq-help{margin-top:20px}
.kit-final-action{margin:60px 0 20px;padding:32px;background:#233b33;color:#f8f5ee}.kit-final-action h2{margin:0 0 10px}.kit-final-action p{font:16px/1.5 Cabin,sans-serif}.kit-final-action .button{display:inline-block;background:#ead5a4;border-color:#ead5a4;color:#232821}
@media(max-width:760px){.kit-quick-proof{display:block}.kit-quick-proof a{display:inline-block;margin-top:10px}.kit-final-action{margin-inline:-22px;padding:28px 22px}}
@media(max-width:760px){.kit-film-entry{display:flex;flex-direction:column;margin:0 -22px 38px}.kit-film-offer{order:-1;width:100%;box-sizing:border-box;padding:23px 24px 28px}.kit-film-offer .price{font-size:46px;margin:12px 0 5px}}
.analytics-choice{position:fixed;z-index:100;inset:auto 16px 16px;max-width:680px;margin:auto;padding:16px 18px;background:#232821;color:#f8f5ee;border:1px solid #b99a62;box-shadow:0 8px 30px #0008;font:15px/1.45 Cabin,sans-serif}
.analytics-choice p{margin:0 0 10px}.analytics-choice a{color:#ead5a4;text-decoration:underline}
.analytics-choice>div{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.analytics-choice button{border:1px solid #ead5a4;padding:7px 12px;background:transparent;color:#f8f5ee;font:600 14px Cabin,sans-serif;cursor:pointer}
.analytics-choice button[data-choice=yes]{background:#ead5a4;color:#232821}
.analytics-choice button:focus-visible{outline:3px solid #fff;outline-offset:2px}
