/* The next action stays in view while the guest reads or changes an answer. */
.card-action-dock{flex-shrink:0;padding:10px 0 18px;position:relative;z-index:2;background:var(--ivory)}
.card-action-dock .gold-button{margin:0;width:100%;min-height:48px;font-size:12px;letter-spacing:.02em}
.original-card-action{display:none!important}
.card-front:has(.card-action-dock:not([hidden])) .card-footer{min-height:32px}
.card-front:has(.card-action-dock:not([hidden])) .card-scroll-next{position:static;width:auto;min-height:30px;padding:4px 8px;font-size:9px;background:transparent}
.card-front:has(.card-action-dock:not([hidden])) .card-footer #question-status{display:none}
.gold-button:focus-visible,.quiet-button:focus-visible{outline:2px solid #ead9b3;outline-offset:4px}

/* Films occupy the entire viewport. Contain preserves every part of the shot. */
body.cinema-active{overflow:hidden}
.coffee-dialog{padding:0!important;overflow:hidden;background:#050504}
.coffee-layout{position:relative;width:100%;height:100%;max-width:none;min-height:0;display:block}
.coffee-layout .coffee-view{position:absolute;inset:0;margin:0;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;background:#050504}
.coffee-view video,.coffee-hold{width:100%;height:100%;object-fit:contain}
.coffee-layout>#coffee-kicker,.coffee-layout>#coffee-title,.coffee-layout>#coffee-warm,.coffee-layout>#coffee-replay{display:none}
.coffee-layout>#coffee-note{position:absolute;left:24px;bottom:26px;z-index:4;color:#e4d7c0;max-width:60%;font-size:11px;margin:0;text-shadow:0 1px 4px #000}
.coffee-layout>#coffee-continue{position:absolute;right:24px;bottom:18px;z-index:4;width:auto;min-width:0;min-height:44px;margin:0;padding:10px 16px;background:#171610bd;border:1px solid #ad956b80;color:#d8c8a8;font-size:10px}
.coffee-dialog .film-recovery{position:absolute;inset:auto 5% 90px;z-index:8}
.handoff-scene{inset:0!important;padding:0!important;z-index:1000;background:#050504;overflow:hidden}
.handoff-scene .handoff-view{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;aspect-ratio:auto}
.handoff-scene>.eyebrow,.handoff-scene>h2,.handoff-scene>p,.handoff-scene>small{display:none}
.handoff-scene>#close-handoff{position:absolute;right:24px;bottom:18px;z-index:4;min-height:44px;padding:10px 16px;background:#171610bd;border:1px solid #ad956b80}
body.cinema-active>#experience>#film-recovery{position:fixed;z-index:1002;inset:auto 5% 90px;max-width:600px;margin:auto}

/* A quiet, single-purpose final step with an always-visible submit area. */
.experience:has(#submission:not([hidden])) .reading-area,.experience:has(#finish:not([hidden])) .reading-area{position:fixed;inset:104px 18px 62px;width:min(660px,calc(100% - 36px));max-width:none;height:auto;margin:auto;perspective:none;z-index:5}
#submission.welcome{padding:26px 30px 0;justify-content:flex-start;overflow:hidden;outline:none;border-radius:8px;text-align:left;align-items:stretch}
#submission>.monogram,#submission>.submission-checklist,#submission>.preview-boundary{display:none}
#submission>h2{font-size:36px;margin:10px 0 4px}
#submission>p{max-width:none;font-size:12px;margin:0 0 16px;color:#c8bdab}
#request-form{flex:1;min-height:0;display:flex;flex-direction:column;width:100%;text-align:left}
.intake-fields{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:10px}
.intake-fields>label:not(.confirmation){margin:0 0 14px;font-size:12px;gap:6px}
.intake-fields input:not([type=radio]):not([type=checkbox]){min-height:44px;padding:11px 12px}
.intake-optional,.intake-disclosure{border-top:1px solid #b49b5530;padding:12px 0;color:#b9ac98;font-size:11px;line-height:1.6}
.intake-optional summary,.intake-disclosure summary{cursor:pointer;min-height:24px}
.intake-optional label{display:grid;gap:8px;padding:10px 0}
.intake-disclosure p{max-width:none!important;font-size:11px!important}
.intake-fields .intake-notice{max-width:none;font-size:10px;line-height:1.6;margin:6px 0 12px}
.mn-consent{margin:12px 0;padding:10px 12px 12px;border-radius:4px}
.mn-consent legend{font-size:11px;line-height:1.5;padding:0 4px}
.mn-consent label{margin:8px 12px 0 0!important;font-size:12px}
.mn-consent a{font-size:10px;margin-top:10px}
.submission-actions{flex-shrink:0;padding:14px 0 8px;border-top:1px solid #b49b5560;background:#11120f}
.submission-actions .confirmation{font-size:11px;line-height:1.5;display:flex;gap:10px;text-align:left;margin:0 0 12px}
.submission-actions input{flex-shrink:0;width:18px;height:18px;accent-color:#d2b77d}
.submission-actions .gold-button{min-height:52px;width:100%;margin:0;font-size:14px;letter-spacing:.02em}
.submission-actions .gold-button:disabled{opacity:1;background:#39352b;color:#c3b9a6;border:1px solid #857453;cursor:not-allowed}
#submit-readiness{min-height:14px;font-size:10px;color:#c3b9a6;margin:6px 0 0;max-width:none}
#intake-error:empty{display:none}
#intake-error{font-size:11px;color:#efbca3;margin:0 0 8px;max-width:none}
#back-to-review{align-self:center;margin:2px 0 6px;padding:6px;min-height:28px;font-size:10px}
#finish.welcome{justify-content:center;overflow:auto}
#finish .monogram{font-size:40px;margin:8px}
#finish>.gold-button{width:100%;min-height:52px;font-size:14px;margin:20px 0 8px}
#finish>.quiet-button{min-height:40px}
#finish small{margin-top:5px}
#review-dialog .review-action{position:sticky;bottom:-28px;z-index:3}
.private-media-heading .adult-mark{font-size:24px;border-radius:50%;width:32px;height:32px;line-height:30px}
.private-media-heading>.eyebrow{font-size:9px}
.media-content-notice{font-size:11px!important;line-height:1.6;letter-spacing:.05em}
.media-path-mark{font-size:24px}
.private-media-actions>.gold-button{position:sticky;bottom:0;z-index:3;min-height:48px;box-shadow:0 -8px 16px #160f14}
.private-media-actions .media-return,.private-media-actions .media-previous{min-height:40px;font-size:11px}
.media-required{font-size:11px}
@media(max-width:720px){
 .card-action-dock{padding:6px 0 12px}.card-action-dock .gold-button{font-size:11px;min-height:46px}
 .experience:has(#submission:not([hidden])) .reading-area,.experience:has(#finish:not([hidden])) .reading-area{inset:88px 10px 46px;width:calc(100% - 20px)}
 #submission.welcome{padding:18px 18px 0}#submission>h2{font-size:29px}#submission>p{font-size:11px;margin-bottom:12px}
 .intake-fields{padding-right:7px}.intake-fields>label:not(.confirmation){margin-bottom:10px}
 .mn-consent{padding:8px;margin:10px 0}.mn-consent legend{font-size:10px}.mn-consent label{font-size:11px;gap:6px}
 .submission-actions{padding-top:10px}.submission-actions .gold-button{min-height:48px;font-size:13px}
 .submission-actions .confirmation{font-size:10px;margin-bottom:10px}
 .coffee-layout>#coffee-note{left:16px;bottom:76px;max-width:calc(100% - 32px);font-size:10px}
 .coffee-layout>#coffee-continue,.handoff-scene>#close-handoff{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}
}
@media(max-height:560px){#submission>p,#submission>.eyebrow{display:none}#submission>h2{font-size:24px}.experience:has(#submission:not([hidden])) .reading-area{inset:65px 14px 20px}#submission.welcome{padding-top:12px}}
/* Completion screens give all visual priority to the guest's next step. */
.experience:has(#submission:not([hidden])) #house-gift,.experience:has(#finish:not([hidden])) #house-gift,.experience:has(#receipt:not([hidden])) #house-gift,
.experience:has(#submission:not([hidden])) .aside-stack,.experience:has(#finish:not([hidden])) .aside-stack,.experience:has(#receipt:not([hidden])) .aside-stack,
.experience:has(#submission:not([hidden])) .journey,.experience:has(#finish:not([hidden])) .journey,.experience:has(#receipt:not([hidden])) .journey,
.experience:has(#submission:not([hidden])) .scene-caption,.experience:has(#finish:not([hidden])) .scene-caption,.experience:has(#receipt:not([hidden])) .scene-caption{display:none}
#submission>.final-house-gift{display:none}
#finish>.final-house-gift{border:0;margin:8px 0;padding:0}
#finish>.final-house-gift strong{font:400 12px/1.5 NoirelleSans,sans-serif;color:#c4ae88}
#finish>.final-house-gift p{display:none}
.experience:has(#submission:not([hidden])) .reading-area{z-index:10}
.experience:has(#receipt:not([hidden])) .reading-area{position:fixed;inset:104px 18px 62px;width:min(660px,calc(100% - 36px));height:auto;margin:auto;perspective:none;z-index:10}
.experience:has(#submission:not([hidden])) .footer>*:not(#open-processing-status),.experience:has(#finish:not([hidden])) .footer>*:not(#open-processing-status){display:none}
@media(max-width:720px){.experience:has(#receipt:not([hidden])) .reading-area{inset:88px 10px 46px;width:calc(100% - 20px)}}

/* One line of orientation. Optional controls live behind a quiet settings icon. */
.masthead{display:grid;grid-template-columns:1fr minmax(220px,340px) auto;gap:34px;height:94px;padding:18px 4%;align-items:center;background:#0b0a09}
.masthead .wordmark{font-size:21px}.masthead .wordmark small{display:none}
.masthead .progress-wrap{width:100%;margin:0;gap:9px;font-size:10px;letter-spacing:.02em}
#progress-caption{font-size:10px;letter-spacing:.02em}#progress-number,#progress-number.part-countdown{font:400 11px/1.3 NoirelleSans,sans-serif;color:#e5d6bb;letter-spacing:.04em}
#progress-detail{display:none}.progress-track{height:1px}
.masthead .header-controls{position:static;display:flex;flex-direction:row;align-items:center;gap:18px;min-width:0}
.language-switch{gap:6px}.language-switch button{min-height:40px;min-width:30px;padding:10px 5px;font-size:10px}
.experience-settings{position:relative;color:#ceb991}
.experience-settings>summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:40px;height:40px;border:1px solid transparent;border-radius:2px}
.experience-settings>summary::-webkit-details-marker{display:none}
.experience-settings[open]>summary{border-color:#b49c6c66;background:#242019}
.experience-settings>summary:focus-visible{outline:1px solid #d9c39b;outline-offset:3px}
.experience-settings-panel{position:absolute;right:0;top:calc(100% + 10px);width:220px;padding:12px 20px;background:#171611;border:1px solid #b49c6c66;box-shadow:0 12px 35px #0009;z-index:25}
.masthead .experience-settings-panel .quiet-button{display:block;position:static;min-height:42px;width:100%;text-align:left;font-size:11px;padding:10px 0;max-width:none;white-space:normal;color:#ddd0b9;text-shadow:none}
#experience-extra-controls{border-top:1px solid #b49c6c44;margin-top:7px;padding-top:7px}
.masthead:has(.experience-settings[open]){z-index:30}
.journey,.aside-stack,.scene-caption,.deal-label{display:none}
.house-gift{display:none}
.house-gift.has-gift{display:flex;position:absolute;left:4%;bottom:80px;top:auto;right:auto;min-width:0;width:auto;max-width:none;height:auto;min-height:0;margin:0;padding:10px 13px;gap:13px;align-items:center;flex-direction:row;background:#0d0d0ace;border:1px solid #b49c6c44;border-radius:2px;box-shadow:none;z-index:3}
.house-gift .gift-heading{display:block;min-height:0;padding:0}.house-gift .gift-heading>.eyebrow{display:none}
.house-gift .gift-total{display:flex;flex-direction:row;align-items:baseline;gap:7px;margin:0}
.house-gift .gift-total strong{font:400 17px/1 NoirelleSerif,serif}.house-gift .gift-total>span{font:400 8px/1.4 NoirelleSans,sans-serif;color:#cbbd9f;letter-spacing:.04em}
.house-gift #chip-tray,.house-gift>.gift-breakdown,.house-gift>.gift-condition,.house-gift>.next-impression{display:none}
.house-gift #gift-explain{display:block;position:absolute;inset:0;width:100%;height:100%;font-size:0;color:transparent}
.house-gift #gift-explain:focus-visible{outline:1px solid #d9c39b;outline-offset:3px}
.house-gift .gift-message{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;margin:0}
.card-front{padding:0 30px}.card-top,.question-art{display:none}
.question-body{padding:27px 0 15px}.question-body h2{min-height:0;font-size:34px;line-height:1.12;margin-bottom:16px}
.question-hint{font-size:11px;line-height:1.65;margin-bottom:22px}
.card-footer{border:0;min-height:0;padding:0}.card-footer>#question-status,.card-footer>span:last-child{display:none}
.card-footer:has(.card-scroll-next[hidden]){display:none}
.card-footer .card-scroll-next{position:static;width:100%;min-height:36px;font-size:10px;border:0;background:transparent;box-shadow:none;margin:0 0 6px;padding:8px;text-align:center}
.has-card-scroll .card-footer{min-height:0;padding-bottom:0}.has-more-below .card-footer{box-shadow:0 -12px 18px -7px var(--ivory)}
.footer{min-height:50px;padding:4px 4%;gap:28px;justify-content:flex-end}
.footer>span,.footer>#personal-notes{display:none}.footer .quiet-button{font-size:11px;min-height:40px;line-height:1.5;padding:10px 0}
@media(min-width:721px){.cinema{top:94px;bottom:50px}.reading-area{top:117px;bottom:73px}.option{min-height:46px;font-size:12px}.answer-secondary button{font-size:10px;min-height:32px}}
@media(max-width:1000px) and (min-width:721px){.masthead{gap:18px;grid-template-columns:1fr minmax(180px,240px) auto}.masthead .wordmark{font-size:18px}}
@media(max-width:720px){
 :root{--mobile-head:88px;--mobile-foot:48px;--mobile-hero:clamp(200px,30svh,270px)}
 .experience{height:100svh}
 .masthead{height:calc(var(--mobile-head) + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 15px 12px;grid-template-columns:1fr auto;grid-template-rows:40px auto;gap:7px 12px;align-items:center}
 .masthead .wordmark{font-size:16px;letter-spacing:.1em;margin:0}.masthead .header-controls{grid-column:2;grid-row:1;gap:6px}
 .masthead .progress-wrap{grid-column:1/-1;grid-row:2;gap:8px;width:100%;font-size:9px}#progress-caption{font-size:9px}#progress-number.part-countdown{font-size:10px}
 .language-switch{gap:3px}.language-switch>span{display:none}.language-switch button{font-size:9px;min-width:30px;padding:10px 5px;min-height:36px}
 .experience-settings>summary{width:34px;height:36px}.experience-settings-panel{top:calc(100% + 7px)}
 .cinema{left:0;right:0;top:calc(var(--mobile-head) + env(safe-area-inset-top));width:100%;height:var(--mobile-hero);bottom:auto;overflow:hidden}
 .cinema img,.cinema video,.cinema .cinema-hold{width:100%;height:100%;object-fit:cover;object-position:left top}
 .reading-area{top:calc(var(--mobile-hero) + 10px);bottom:8px;left:10px;right:10px;width:auto;height:auto;margin:0}
 .card-front{padding:0 24px}.question-body{padding:25px 0 13px}.question-body h2{font-size:29px;line-height:1.12;margin-bottom:13px;min-height:0}
 .question-hint{font-size:11px;line-height:1.6;margin-bottom:20px}.option{font-size:12px;min-height:44px}.art-options{gap:10px}.art-options>.option{padding:10px 6px;font-size:12px}.art-options .option-art{width:65px;height:65px}
 .answer-secondary{margin-top:13px;padding-top:10px}.answer-secondary button{font-size:10px;min-height:32px}
 .card-action-dock{padding-bottom:16px}.card-action-dock .gold-button{font-size:12px;min-height:47px}
 .house-gift.has-gift{top:calc(var(--mobile-hero) - 46px);bottom:auto;left:auto;right:16px;padding:8px 10px}.house-gift .gift-total strong{font-size:16px}.house-gift .gift-total>span{font-size:8px}
 .footer{height:calc(var(--mobile-foot) + env(safe-area-inset-bottom));min-height:0;padding:2px 20px calc(2px + env(safe-area-inset-bottom));justify-content:space-between;gap:20px}.footer .quiet-button{font-size:10px;min-height:42px;padding:10px 0}
 .experience:has(#submission:not([hidden])) .reading-area,.experience:has(#finish:not([hidden])) .reading-area,.experience:has(#receipt:not([hidden])) .reading-area{top:calc(var(--mobile-head) + env(safe-area-inset-top) + 10px);bottom:calc(var(--mobile-foot) + env(safe-area-inset-bottom) + 8px)}
}
@media(max-width:360px){.masthead{padding-inline:12px;column-gap:7px}.masthead .wordmark{font-size:14px}.masthead .header-controls{gap:4px}.card-front{padding-inline:21px}.question-body h2{font-size:27px}.question-hint{font-size:10px}.art-options>.option{font-size:11px}}
@media(max-width:720px) and (max-height:700px){:root{--mobile-hero:clamp(150px,26svh,185px)}.question-body{padding-top:18px}.question-body h2{font-size:25px}.question-hint{margin-bottom:13px}.art-options .option-art{width:48px;height:48px}.card-action-dock{padding-bottom:10px}}
/* Keep the animated house gift as a small visual collection beside the film. */
.house-gift.has-gift{display:flex;flex-direction:column;gap:2px;align-items:center;padding:8px 6px 10px;width:105px;background:#0d0d0a80;border-color:#b49c6c25}
.house-gift .gift-heading{order:2}.house-gift #chip-tray{display:flex;position:relative;isolation:isolate;align-items:flex-end;justify-content:center;gap:0;width:91px;height:90px;min-height:90px;max-height:90px;overflow:hidden;margin:0;padding:0}
.house-gift .chip-group.single-group,.house-gift .has-tens .single-group,.house-gift .has-tens .premium-group{display:block;position:relative;width:91px;flex:1 1 0;height:90px;min-height:90px;max-height:90px;min-width:0}
.house-gift .chip-group:empty{display:none}
.house-gift .green-chip-photo,.house-gift .has-tens .green-chip-photo{width:125px;height:84px;left:calc(50% - 62.5px);bottom:calc(-14px + var(--chip-index)*3px)}
.house-gift .gold-chip-photo{width:82px;height:82px;left:calc(50% - 41px);bottom:calc(-4px + var(--chip-index)*4px)}
.house-gift .has-tens{flex-direction:row}.house-gift .has-tens .green-chip-photo{width:92px;height:62px;left:calc(50% - 46px);bottom:calc(-7px + var(--chip-index)*3px)}.house-gift .has-tens .gold-chip-photo{width:65px;height:65px;left:calc(50% - 32.5px);bottom:4px}
.green-chip-photo:last-child,.gold-chip-photo:last-child{animation:chip-placed .7s ease-out both}
@keyframes chip-placed{from{opacity:0;translate:0 -14px}to{opacity:1;translate:0 0}}
@media(max-width:720px){.house-gift.has-gift{top:calc((var(--mobile-hero) - 113px)/2);right:14px;left:auto;bottom:auto;width:90px;padding:4px 2px 10px;background:#0d0d0a60}.house-gift #chip-tray{width:82px}.house-gift .gift-total{gap:5px}.house-gift .gift-total>span{font-size:7px}.house-gift .gift-total strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.green-chip-photo:last-child,.gold-chip-photo:last-child{animation:none}}
