/* Inyeongwan proportions, adapted to Jaehoegwan's original artwork and copy. */
:root{--ink:#080502;--paper:#f3e8ce;--gold:#c6a36a;--seal:#a93625}
html,body,.stage{background:var(--ink)}
.stage{border:0}
header{height:52px;padding:0 15px;background:none}
header button{font-size:12px;color:#a38c63}
header .brand{position:static;transform:none;font-size:13px;letter-spacing:.18em;font-weight:900;color:#c8a15b}
.meter{display:none}
#count{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.scene{min-height:100svh;padding:90px 26px 132px;align-items:center}
.scene img{filter:brightness(.68) saturate(.8)}
.scene:before,.illustrated:before{background:linear-gradient(#0805029c,transparent 24%,#08050228 50%,#08050299 77%,#080502 100%)}
.scene .words{margin-top:0;text-shadow:0 2px 16px #0009}
.scene p,.scene .support{font-size:20px;line-height:2.05;font-weight:600}
.scene h2{font-size:25px;line-height:1.85;font-weight:900}
.scene .space{height:22px}
.scene .gold{color:#e2c48d}
.hero{align-items:flex-start;padding-top:47svh}
.hero .words{margin:0}
.hero h1{font-size:clamp(29px,9.2vw,42px);line-height:1.5;letter-spacing:-.045em;font-weight:900;color:#fff2d7}
.hero .support{font-size:23px;line-height:1.8;font-weight:400;margin-top:34px;color:#f1deba}
.hero:before{background:linear-gradient(#08050299,transparent 20%,#08050215 42%,#0805028c 70%,#080502 91%)}
.visit .words,.master .words,.warning .words{padding-top:22svh}
.illustrated .words{padding-top:15svh}
.illustrated.return .words{padding-top:28svh}
.ending.illustrated{padding-top:60px;padding-bottom:115px}
.ending.illustrated .words{padding-top:24svh}
.ending.illustrated .label{font-size:12px;line-height:1.8;margin-bottom:18px}
.ending.illustrated h2{font-size:25px;line-height:1.7}
.ending.illustrated .support{font-size:16px;line-height:1.9;margin-top:22px}
.ending.illustrated .footnote{font-size:12px;line-height:1.7;color:#a2967e;margin-top:20px}
.controls{bottom:22px;padding:0 18px;min-height:44px;justify-content:center}
#previous{position:absolute;left:15px;font-size:23px;padding:8px;opacity:.55}
#previous:disabled{visibility:hidden}
#next{flex:0 1 auto;font-size:13px;letter-spacing:.18em;color:#a58c60;padding:12px}
.story-skip{top:auto;bottom:5px;right:0;left:0;margin:auto;width:max-content;background:none;border:0;border-radius:0;padding:5px 12px;font-size:12px;color:#907b58}
.scene .cta,.field-0 .cta,.book-checkout .cta,.preview-dock button{border-radius:1px;border:1px solid #b2452d;background:linear-gradient(115deg,#b9402b,#99301e 55%,#b23a25);box-shadow:inset 0 0 0 2px #c66b3522,0 8px 20px #0003;color:#fff0d5;letter-spacing:.07em}
.scene .cta{margin-top:26px;font-size:16px}
body.in-funnel,#reunion-flow,.reunion-preview{background:var(--ink)}
.flow-head{height:48px;padding:0 16px;border:0}
.flow-head button{font-size:12px;color:#aa936b}
.flow-head span{font-size:13px;font-weight:900;letter-spacing:.18em;color:#c8a15b}
.flow-form{min-height:calc(100svh - 48px)}
.input-portrait{inset:-48px 0 0}
.input-portrait img,.person-partner .input-portrait img{filter:blur(7px) brightness(.49) saturate(.62);transform:scale(1.04);object-position:50% 35%}
.input-portrait:after{background:linear-gradient(#080502e8 0%,#080502c7 30%,#08050218 63%,#080502d9 100%)}
.question-content{padding:calc(15svh - 48px) 26px 30px}
.flow-form h1,.journey-form h1{font-size:26px;line-height:1.5;font-weight:900;letter-spacing:-.045em;max-width:none;margin:0}
.form-intro{font-size:13px!important;line-height:1.7;margin:12px 0 0;color:#c2ae89}
.field-1 #person-form{margin-top:44px;grid-template-columns:118px minmax(0,1fr);gap:12px}
.field-1 .calendar-options .choice{font-size:12px;line-height:1.6;padding:8px 2px}
.field-1 input[name=birth]{font-size:23px;padding:9px 0;min-height:48px}
.field-1 #person-form>.cta{margin-top:28px;font-size:14px;min-height:46px;max-width:220px;background:#eadfc4;color:#48331e;border-color:#eadfc4}
.field-0 #person-form{margin-top:44px;max-width:290px}
.field-0 input[name=name]{font-size:25px;padding:10px 2px;min-height:48px}
.field-0 .cta{max-width:240px;margin-top:34px;min-height:68px;font-size:18px}
.flow-form .flow-note{font-size:12px;line-height:1.75;color:#ac9a7c;font-weight:400}
.field-3 .question-content{padding-bottom:0}
.field-3 #person-form{border-radius:14px 14px 0 0;background:#efe5cd;padding:23px 18px max(23px,env(safe-area-inset-bottom));margin-top:auto;box-shadow:0 -18px 70px #0006}
.field-3 .choice{border-radius:3px;padding:12px 7px;font-size:13px}
.field-3 .time-fields label{font-size:12px;margin-top:13px}
.field-3 .time-fields select{border-radius:3px;font-size:15px;min-height:42px}
.hour-grid{gap:7px;margin-top:12px}
.hour-grid button{min-height:43px;padding:8px 4px;font-size:15px;border-radius:3px;background:#fff8e32b}
.field-3 .flow-note{color:#79664a;margin-top:12px}
.field-3 .cta{margin-top:14px;min-height:46px;font-size:15px}
.journey-form:not(:has(.advisor-opening)){min-height:calc(100svh - 48px);padding-top:calc(15svh - 48px);background:linear-gradient(#080502df,#08050245 65%,#080502aa),url('assets/consultation.webp') center/cover}
.journey-options{padding-top:24px;background:#efe5cd;border-radius:14px 14px 0 0}
.journey-options button{font-size:15px;min-height:77px;border-radius:3px}
#context-skip{font-size:13px;background:#efe5cd}
.advisor-opening{min-height:calc(100svh - 48px);padding-top:260px;padding-bottom:58px;text-align:center}
.advisor-opening img{object-position:center 30%;filter:brightness(.64)}
.advisor-opening h1{font-size:27px;line-height:1.8;font-weight:900}
.advisor-opening>p:not(.eyebrow){font-size:18px;line-height:2}
.advisor-opening .cta{font-size:13px;letter-spacing:.16em}
.preview-opening{min-height:0;padding:62px 24px 30px;text-align:center;background:none}
.letter-portrait{display:block;width:100%;height:150px;object-fit:cover;object-position:center 30%;mask-image:radial-gradient(ellipse 47% 66% at 50% 45%,#000 15%,transparent 76%);margin:0 auto 14px;filter:brightness(.8)}
.preview-opening>.eyebrow{font-size:13px;letter-spacing:.16em;margin-bottom:18px;color:#c5aa7b}
.preview-opening h1{font-size:28px;line-height:1.7;font-weight:900;color:#ecd6aa}
.preview-opening>p:not(.eyebrow):not(.flow-note){font-size:16px;line-height:1.95;margin-top:24px}
.preview-opening .scroll-invitation{font-size:12px;line-height:1.7;margin:22px 0 0;color:#bda06d}
.preview-opening .flow-note{font-size:12px;line-height:1.8;margin-top:20px;color:#aa9776}
.personal-letter{padding:22px 24px 34px}
.personal-letter .eyebrow{font-size:12px;color:#baa179;margin-bottom:24px}
.personal-letter>p:not(.eyebrow){font-size:17px;line-height:2.05;font-weight:400;margin-bottom:28px}
.personal-letter .letter-emphasis{font-size:21px!important;line-height:1.9;color:#dfb87a}
.story-card-section{padding:0 22px 46px}
.card-narration{font-size:19px;line-height:1.95;color:#e3c898;margin:0 0 22px}
.fate-card{border-color:#c4a164;background:#1b1712;padding:6px}
.card-visual{aspect-ratio:4/5}
.card-visual:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,transparent 35%,#0009 100%);pointer-events:none}
.card-visual .card-image{filter:blur(2px) brightness(.94);object-position:center;transform:scale(1.025)}
.card-visual .lock-mark{top:50%;border-color:#d5b96f;filter:drop-shadow(0 2px 6px #000)}
.lock-mark:before{border-color:#d5b96f}
.lock-mark span{width:3px;height:9px;background:#d5b96f}
.card-seal{position:absolute;right:16px;top:16px;z-index:3;border:1px solid #c17446;outline:1px solid #c1744670;outline-offset:2px;padding:3px 6px;color:#ce8e57;font-size:14px;line-height:1.2;transform:rotate(5deg)}
.card-body{padding:14px 10px 5px}
.card-body h2{font-size:16px;font-weight:600;color:#e0c38c;margin:0 0 8px;line-height:1.7}
.card-body dl{margin:0}
.card-body dl>div{gap:12px;padding:10px 2px;line-height:1.6;border-color:#c9a35f35}
.card-body dt{min-width:0;flex:0 0 112px;font-size:13px;color:#c9a35f}
.card-body dd{font-size:15px;min-width:0;flex:1}
.card-body small{display:block;font-size:12px;margin-top:9px;color:#a79578;line-height:1.6}
.seller-message{margin:0 0 24px;padding:335px 26px 24px}
.seller-message img{height:425px;object-position:center 26%;mask-image:radial-gradient(ellipse 65% 60% at 50% 42%,#000 25%,transparent 80%)}
.seller-message .eyebrow{font-size:12px}
.seller-message h2{font-size:26px;line-height:1.85;font-weight:900}
.seller-message>p:last-child{font-size:19px;line-height:2;margin-top:24px;color:#dfb77a}
.book-checkout{background:#efe5cd;border:1px solid #bba783;box-shadow:inset 0 0 0 5px #efe5cd,inset 0 0 0 6px #bca98799;margin:0 22px 30px}
.book-checkout>div{padding:30px 22px}
.book-checkout .eyebrow{font-size:12px;color:#86643c}
.book-checkout h2{font-size:25px;line-height:1.6;font-weight:900}
.book-checkout>div>p:not(.eyebrow):not(.flow-note){font-size:15px;line-height:1.85;color:#776247}
.book-checkout .report-contents li{padding:20px 0;min-height:112px;border-bottom:1px solid #aa916c70}
.book-checkout .report-contents li:last-child{border:0}
.book-checkout .report-contents h3{font-size:16px;line-height:1.75;color:#4b3520;margin-right:20px}
.book-checkout .report-contents li p{font-size:14px;line-height:1.85;color:#857153}
.sealed-line{font-size:14px;margin-top:6px}
.mini-seal{font-size:14px}
.book-checkout .book-price{font-size:30px!important;color:#863526!important;margin:10px 0 22px!important}
.book-checkout .price-caption{font-size:13px!important;margin-top:22px!important}
.book-checkout .cta{font-size:18px;padding:17px 12px}
.book-checkout .flow-note,.book-checkout .text-button{font-size:12px;color:#796144}
.testimonials>h2{font-size:20px;color:#dfc99c}
.testimonials>.flow-note{font-size:12px;line-height:1.8;color:#b5a17f}
.review-card{border-left:3px solid #b3452d;border-radius:10px;background:#f7f1e4;padding:18px}
.review-author{font-size:13px}.review-tag,.sample-badge{font-size:12px}
.review-card h3{font-size:16px;line-height:1.8}.review-card blockquote{font-size:14px;line-height:1.9;color:#75634b}
.preview-dock{padding:12px 18px max(12px,env(safe-area-inset-bottom));background:#281b0df5;border-top:1px solid #9c754244}
.preview-dock span{font-size:13px;margin-bottom:10px;color:#d9bd8d}
.preview-dock button{font-size:19px;line-height:1.6;padding:14px}
.preview-footer{font-size:12px;line-height:1.9;color:#af9b79;padding:12px 25px 165px}
.chart-section>summary,.service-guide>summary{font-size:16px}
.reveal{transition:opacity .8s ease,transform .8s ease;transform:translateY(14px)}
.reveal.revealed{transform:none}
@media(max-width:360px){.hero h1{font-size:29px}.hero .support{font-size:20px}.scene p,.scene .support{font-size:18px}.scene h2{font-size:23px}.flow-form h1,.journey-form h1{font-size:23px}.question-content{padding-inline:22px}.field-1 #person-form{grid-template-columns:110px minmax(0,1fr);gap:8px}.field-1 input[name=birth]{font-size:20px}.field-1 .calendar-options .choice{font-size:12px}.card-body dt{flex-basis:100px}.card-body dd{font-size:14px}.book-checkout>div{padding:25px 17px}.review-card{padding:15px}}
@media(max-height:740px){.hero{padding-top:43svh}.hero .support{margin-top:22px}.scene{padding-bottom:108px}.scene p{font-size:18px}.scene h2{font-size:24px}.scene .space{height:14px}.ending.illustrated .words{padding-top:12svh}.question-content{padding-top:28px}.field-3 .question-content{padding-top:18px}.field-3 #person-form{margin-top:22px}.field-3 .form-intro{margin:10px 0 12px}.hour-grid button{min-height:38px;padding:7px 4px}.advisor-opening{padding-top:200px}}
.field-1 .calendar-options .choice:last-child span{white-space:nowrap}
@media(max-width:360px){.field-3 #person-form{margin-inline:-22px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
/* One-tap birth-time sheet, matching the reference's visible time ranges. */
.field-3 .form-intro{display:none}
.field-3 .birth-summary{font-size:21px;line-height:1.7;color:#c8af80;text-align:center;margin:48px 0 28px;border-bottom:1px solid #9a7b473d;padding:8px 0;letter-spacing:.03em}
.field-3 #person-form{margin-top:auto;padding:24px 18px 14px;background:radial-gradient(ellipse at 20% 0%,#fffbedaa,transparent 70%),#efe5cd;border-radius:17px 17px 0 0}
.time-range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.time-range-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:57px;padding:7px 2px;background:#fffaf038;border:1px solid #baa481;border-radius:8px;color:#64543e;font:14px/1.4 'Noto Serif KR',serif}
.time-range-grid button span{font-size:12px;letter-spacing:.05em;color:#9b8563}
.time-range-grid button strong{font-size:13px;font-weight:400;white-space:nowrap}
.time-range-grid button[aria-pressed=true],.time-range-grid button:hover{background:#dfcca7;border-color:#886738}
.time-range-grid button:focus-visible{outline:2px solid #886738;outline-offset:2px}
.exact-time{margin-top:12px;color:#7c6748;font:12px/1.7 'Noto Sans KR',sans-serif}
.exact-time summary{text-align:center;cursor:pointer;padding:6px;list-style:none;text-decoration:underline;text-underline-offset:3px}
.exact-time summary::-webkit-details-marker{display:none}
.field-3 .exact-time label{font-size:14px;color:#625034;margin-top:14px}
.field-3 .exact-time input{background:#fffaf0;color:#43331e;border:1px solid #bca581;color-scheme:light;font-size:20px;margin-top:8px}
#use-exact-time{display:block;width:100%;background:#4b3720;border:0;border-radius:4px;color:#fff0d1;padding:13px;font-size:15px;margin:12px 0 4px}
@media(max-width:360px){.field-3 #person-form{padding-inline:14px}.time-range-grid{gap:6px}.time-range-grid button strong{font-size:12px}.field-3 .birth-summary{font-size:19px}}
@media(max-height:740px){.field-3 .birth-summary{margin:22px 0 24px}.field-3 #person-form{margin-top:auto;padding-top:18px}.time-range-grid button{min-height:52px}}
/* Floating promotion: countdown strip, time gauge, and a large red action. */
.preview-dock.has-promotion{padding:0 0 max(12px,env(safe-area-inset-bottom));background:#100a04;border-top:1px solid #d9a45b59;animation:promotion-rise .55s ease both}
.promotion-strip{position:relative;display:flex;align-items:baseline;justify-content:center;gap:10px;padding:10px 12px 13px;background:#281c0d}
.preview-dock .promotion-label{display:inline;margin:0;font-size:14px;letter-spacing:.025em;color:#eee1c7;white-space:nowrap}
.promotion-label b{font-size:20px;color:#ff8a65;letter-spacing:0}
.promotion-clock{font-size:19px;line-height:1.4;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#f2c766;white-space:nowrap}
.promotion-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#d9a45b24}
.promotion-progress i{display:block;position:relative;height:100%;background:linear-gradient(90deg,#8a5a2b,#e8b95e 60%,#ffdc94);transition:width 1s linear}
.promotion-progress i:after{content:'';position:absolute;right:0;top:-2px;width:7px;height:7px;border-radius:50%;background:#ffdc94;box-shadow:0 0 9px #f2c766;animation:promotion-glow 2.4s ease-in-out infinite}
.preview-dock.has-promotion button{display:block;width:calc(100% - 32px);margin:12px 16px 0;border-radius:10px;padding:16px 10px;font-size:19px;box-shadow:0 8px 24px -10px #b23a26aa}
.preview-dock.has-promotion button:hover{background:#922c1e}
.promotion-hot .promotion-clock{color:#ff8a65}.promotion-hot .promotion-progress i{background:linear-gradient(90deg,#7a2a1c,#d4472f,#ff8a65)}
.promotion-ended .promotion-progress i:after{display:none}.promotion-ended button:disabled{opacity:.6;cursor:default}
.promotion-original{display:block;text-align:center;font-size:15px;color:#8c775b;margin-top:22px}
.book-checkout .promotion-rate{font-size:23px;color:#b23a26;margin-right:9px}.promotion-sale{font-weight:700}
@keyframes promotion-rise{from{translate:0 100%}to{translate:0 0}}
@keyframes promotion-glow{50%{opacity:.55;scale:.8}}
@media(max-width:360px){.promotion-strip{gap:7px}.preview-dock .promotion-label{font-size:13px}.promotion-label b{font-size:19px}.promotion-clock{font-size:17px}}
@media(prefers-reduced-motion:reduce){.preview-dock.has-promotion,.promotion-progress i:after{animation:none}.promotion-progress i{transition:none}}
.preview-dock .promotion-preview-label{font:12px/1.4 'Noto Sans KR',sans-serif;color:#c9b28d;margin:0;display:inline;white-space:nowrap}
@media(max-width:360px){.promotion-strip{gap:8px}.preview-dock .promotion-preview-label{font-size:12px}.promotion-label b{font-size:18px}}
.promotion-strip{flex-wrap:wrap}.preview-dock .promotion-preview-label{flex-basis:100%;text-align:center;font-size:12px;line-height:1.5}.promotion-strip:has(.promotion-preview-label){row-gap:5px;padding-bottom:10px}
/* Leave enough scroll room for the fixed action after removing the footer. */
.reunion-preview{padding-bottom:185px}
.advisor-opening .advisor-element{font-size:24px!important;line-height:1.8!important;color:#e5c58c;margin:0 0 23px!important;font-weight:600!important}
.advisor-opening:has(.advisor-element) h1{font-size:23px;line-height:1.8}
@media(max-height:740px){.advisor-opening:has(.advisor-element){padding-top:160px}.advisor-opening .advisor-element{font-size:22px!important;margin-bottom:18px!important}}
.gender-form .journey-options{padding-bottom:max(30px,env(safe-area-inset-bottom))}
.gender-form .journey-options button{font-size:18px;min-height:68px}
/* Close portrait and staggered dialogue, scoped to the early advisor scenes. */
.journey-form:has(.cinematic-advisor){padding:0;overflow:hidden}
.advisor-opening.cinematic-advisor{min-height:calc(100svh - 48px);padding:44svh 25px 44px;overflow:hidden;justify-content:flex-end;isolation:isolate}
.cinematic-advisor img{inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 24%;transform-origin:50% 28%;filter:brightness(.79) contrast(1.08);animation:advisor-close 5.5s ease-out both}
.cinematic-advisor:after{inset:0;background:linear-gradient(#08050208 5%,transparent 26%,#08050230 43%,#080502dc 66%,#080502fa 91%),radial-gradient(ellipse at 50% 30%,transparent 30%,#08050285 100%)}
.cinematic-advisor>.eyebrow{font-size:12px;letter-spacing:.15em;color:#c3a575;margin-bottom:20px;animation:dialogue-appear 1s .1s both}
.cinematic-advisor .advisor-element{font-size:25px!important;line-height:1.8!important;letter-spacing:-.03em;margin:0 0 22px!important;color:#f3e3c3;text-shadow:0 2px 16px #000}
.cinematic-line{display:block;animation:dialogue-appear 1.2s var(--line-delay,.3s) both}
.potential-scene .cinematic-line:nth-child(3){margin-top:15px;color:#bda780;font-size:20px}
.potential-scene .cinematic-line:last-child{color:#efcb88}
.cinematic-advisor #element-next{margin-top:12px;min-height:44px;animation:dialogue-appear 1s 1.4s both}
.potential-scene #element-next{animation-delay:3.4s}
@keyframes dialogue-appear{from{opacity:0;filter:blur(5px);transform:translateY(8px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes advisor-close{from{transform:scale(1.16)}to{transform:scale(1.32)}}
@media(max-width:360px){.cinematic-advisor .advisor-element{font-size:23px!important}.advisor-opening.cinematic-advisor{padding-inline:20px}}
@media(max-height:740px){.advisor-opening.cinematic-advisor{padding-top:35svh;padding-bottom:25px}.cinematic-advisor .advisor-element{font-size:22px!important;line-height:1.7!important}.cinematic-advisor>.eyebrow{margin-bottom:14px}.potential-scene .cinematic-line:nth-child(3){margin-top:10px}}
@media(prefers-reduced-motion:reduce){.cinematic-advisor img{animation:none;transform:scale(1.32)}.cinematic-advisor>.eyebrow,.cinematic-line,.cinematic-advisor #element-next{animation:none;opacity:1;filter:none;transform:none}}

/* New portrait and candlelit record sequences. */
.cinematic-advisor img{object-position:50% 24%;transform-origin:50% 25%}
@keyframes advisor-close{from{transform:scale(1.02)}to{transform:scale(1.09)}}
.ritual-scene{position:relative;isolation:isolate;overflow:hidden;padding-top:49svh!important}
.ritual-scene picture{position:absolute;inset:0;z-index:-2}
.ritual-scene picture img{inset:0;margin:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:brightness(.65);mask-image:linear-gradient(#000 35%,transparent 90%)}
.ritual-scene h1,.ritual-scene>p{position:relative;text-shadow:0 2px 14px #000;animation:dialogue-appear 1.2s both}
.seller-message{padding-top:365px}
.seller-message img{height:420px;object-position:center 55%;mask-image:linear-gradient(#000 45%,transparent)}
.seller-message h2{font-size:21px;font-weight:400;line-height:1.9}
.seller-message>p:last-child{font-size:20px;line-height:2.1;color:#d9c6a4}
.seller-message strong{font-weight:700;color:#efce8e}
@media(max-height:740px){.ritual-scene{padding-top:42svh!important}}
@media(prefers-reduced-motion:reduce){.cinematic-advisor img{transform:scale(1.09)}.ritual-scene h1,.ritual-scene>p{animation:none}}

/* Intimate static portrait at the checkout invitation. */
.seller-closeup{padding-top:360px;background:#080502}
.seller-closeup .seller-portrait{position:absolute;inset:0 0 auto;height:490px;z-index:-1;overflow:hidden;pointer-events:none}
.seller-closeup .seller-portrait img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;object-position:50% 22%;transform:scale(1.8);transform-origin:50% 25%;filter:brightness(.75) contrast(1.1);mask-image:none;z-index:0}
.seller-closeup .seller-portrait:after{content:'';position:absolute;inset:-1px;background:radial-gradient(ellipse 48% 40% at 50% 36%,transparent 12%,#08050270 49%,#080502ed 83%,#080502 100%),linear-gradient(transparent 38%,#080502 96%)}
.seller-closeup>p:last-child{font-weight:700}
@media(max-width:360px){.seller-closeup{padding-top:325px}.seller-closeup .seller-portrait{height:450px}}

.book-checkout .report-contents li p{white-space:pre-line;color:#655037;line-height:1.95}
.book-checkout .sealed-line{display:block;max-width:94%;font-size:13px;line-height:1.9;filter:blur(4px);opacity:.68;pointer-events:none}

/* Sealed reunion timing chapter, beneath both natal charts. */
.reunion-luck{position:relative;margin:30px -4px 12px;overflow:hidden;border:1px solid #80633b66;background:#100b06;text-align:center}
.luck-art{height:240px;overflow:hidden}.luck-art img{width:100%;height:100%;object-fit:cover;object-position:48% 50%;mask-image:linear-gradient(#000 52%,transparent)}
.luck-copy{position:relative;margin-top:-24px;padding:0 18px 24px}
.luck-copy>.eyebrow{font-size:10px;letter-spacing:.1em;color:#a99069;margin:0 0 12px}
.luck-copy h3{font-size:23px;color:#e7cf9f;font-weight:600;line-height:1.6;margin:0}
.luck-subtitle{font-size:12px;letter-spacing:.2em;color:#b2925d;margin:8px 0 30px}
.luck-opening{font-size:22px;line-height:1.8;color:#eadabd;margin:0 0 20px}
.luck-body{font-size:14px;line-height:2;color:#bca98b;margin:0 0 28px}
.luck-seal{display:flex;align-items:center;gap:12px;text-align:left;border-block:1px solid #745a353f;padding:20px 0}
.luck-seal>span{color:#b64d3c;border:1px solid #a74637;font-size:23px;padding:2px 4px;transform:rotate(-7deg);flex:none}
.luck-seal p{font-size:15px;line-height:1.8;color:#debd80;margin:0}
.luck-timing{margin:6px 0 24px;text-align:left}.luck-timing>div{padding:17px 0;border-bottom:1px solid #745a353f}
.luck-timing dt{font-size:12px;color:#b49b76;margin-bottom:11px}.luck-timing dd{position:relative;margin:0;padding-right:30px;min-height:24px}
.luck-hidden{display:block;filter:blur(5px);opacity:.65;color:#e4cc9b;font-size:15px;user-select:none;pointer-events:none}
.luck-lock{position:absolute;right:3px;top:0;color:#b95643;font-size:17px;border:1px solid #943e30;line-height:1.2;padding:2px;transform:rotate(-7deg)}
.luck-closing{font-size:17px;line-height:1.9;color:#d5c0a0;margin:28px 0}
.luck-cta{width:100%;font-size:14px;min-height:51px;background:#9d3024;color:#fff0cc;border:1px solid #bf5038;border-radius:5px}
.luck-preview{font-size:10px;color:#8e7c60;margin:13px 0 0}
@media(max-width:360px){.luck-art{height:210px}.luck-copy{padding-inline:14px}.luck-opening{font-size:19px}.luck-copy h3{font-size:21px}}

/* Shared reference treatment: a full-height book, dark edges, and a rising paper sheet. */
.flow-form,.journey-form:not(:has(.advisor-opening)){
 --question-vignette:radial-gradient(ellipse at 50% 45%,#0a060226,#0a0602c7 78%);
 --question-shade:linear-gradient(#0b0602e0 0%,#0b0602b8 38%,#0b06024d 66%,#080502b3 100%);
}
.journey-form:not(:has(.advisor-opening)){
 min-height:calc(100svh - 48px);padding:calc(15svh - 48px) 26px 0;
 isolation:isolate;background:#080502;overflow:hidden;
}
.journey-form:not(:has(.advisor-opening)):before{
 content:'';position:absolute;inset:-48px 0 0;z-index:-2;pointer-events:none;
 background:url('assets/jaehoerok.webp') 50% 50%/cover;filter:blur(6px) brightness(.8);transform:scale(1.04);
}
.journey-form:not(:has(.advisor-opening)):after{
 content:'';position:absolute;inset:-48px 0 0;z-index:-1;pointer-events:none;
 background:var(--question-shade),var(--question-vignette);
}
.flow-form .input-portrait{position:absolute;inset:-48px 0 0;height:auto;z-index:-2;overflow:hidden;pointer-events:none}
.flow-form .input-portrait img,.person-partner .input-portrait img{
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;
 filter:blur(6px) brightness(.8);transform:scale(1.04);mask-image:none;
}
.flow-form .input-portrait:after{background:var(--question-shade),var(--question-vignette)}
.flow-form .question-content{padding-top:calc(15svh - 48px)}
.flow-form h1,.journey-form:not(:has(.advisor-opening)) h1{
 font-size:clamp(25px,6.6vw,32px);line-height:1.45;letter-spacing:-.045em;color:#f6ebd3;
 animation:question-arrive .65s ease both;
}
.journey-form:not(:has(.advisor-opening)) .journey-options{
 grid-template-columns:1fr;gap:8px;margin-top:auto;padding:33px 18px max(18px,env(safe-area-inset-bottom));
 border-radius:16px 16px 0 0;
 background:radial-gradient(ellipse at 20% 10%,#fffbee80,transparent 65%),repeating-linear-gradient(105deg,#a08b5908 0 1px,transparent 1px 5px),#f0e7d0;
 box-shadow:0 -14px 40px -22px #000c;animation:question-sheet .5s .2s cubic-bezier(.28,.74,.28,1) both;
}
.journey-form:not(:has(.advisor-opening)) .journey-options button{
 min-height:70px;padding:20px 8px;border:1px solid #785a2d6b;border-radius:9px;
 background:#fffaec6b;font-size:18.5px;line-height:1.5;
}
.journey-form:not(:has(.advisor-opening)) .journey-options button[aria-pressed=true]{background:#dfd0ac;border-color:#937344}
.field-3 #person-form{animation:question-sheet .5s .2s cubic-bezier(.28,.74,.28,1) both}
.scene:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 30%,#0a060280 100%)}
@keyframes question-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes question-sheet{from{opacity:.5;transform:translateY(100%)}to{opacity:1;transform:none}}
@media(max-height:640px){.flow-form .question-content,.journey-form:not(:has(.advisor-opening)){padding-top:max(12px,calc(9svh - 48px))}}
@media(prefers-reduced-motion:reduce){.flow-form h1,.journey-form h1,.journey-form .journey-options,.field-3 #person-form{animation:none!important}}

/* Scroll-led narrative: independent lines, then independent cards. */
.reunion-preview .scroll-line{display:block;min-height:1em}
.reunion-preview .scroll-line-gap{margin-top:1em}
.reunion-preview .scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity .85s ease var(--scroll-delay,0ms),transform 1s cubic-bezier(.2,.65,.3,1) var(--scroll-delay,0ms)}
.reunion-preview .scroll-line.scroll-reveal{transform:translateY(10px);transition-duration:.8s,.9s}
.reunion-preview .scroll-reveal.revealed{opacity:1;transform:none}
.reunion-preview .story-card-section{padding-bottom:64px}
@media(prefers-reduced-motion:reduce){.reunion-preview .scroll-reveal{opacity:1;transform:none;transition:none}}

.card-glimpse{display:block;color:#e6c990;font-size:12px;line-height:1.9;margin-bottom:5px;filter:none}
.card-body dd:has(.card-glimpse) .blur-example{display:block;font-size:12px}
.book-checkout .sealed-preview{margin-top:12px!important;line-height:1.9!important}
.sealed-glimpse{color:#665034;font-weight:600;font-size:13px}
.book-checkout .sealed-preview .sealed-line{display:block;margin-top:3px}
.social-toast{position:fixed;z-index:24;left:max(10px,calc(50% - 270px));top:auto;bottom:var(--social-bottom,180px);display:flex;align-items:center;gap:12px;max-width:245px;padding:16px 19px 15px 14px;border-left:3px solid #b94b35;border-radius:0 0 17px 0;background:#f4ecda;color:#65543a;box-shadow:0 6px 28px #0003;pointer-events:none;opacity:0;transform:translateX(-24px);transition:opacity .65s,transform .65s}
.social-toast.visible{opacity:1;transform:none}.social-seal{font-size:19px;color:#b7332b;border:1px solid #b7332b;transform:rotate(-6deg);line-height:1.1;padding:1px}.social-toast p{font-size:14px;margin:0 0 6px}.social-toast small{font:10px/1.4 sans-serif;color:#99896c}.social-count-preview{text-align:center;font-size:12px;color:#e6cc9b;margin-top:8px}.social-count-preview small{display:block;font:9px/1.7 sans-serif;color:#bba889}.copy-editing .social-toast,.copy-picking .social-toast{display:none}@media(prefers-reduced-motion:reduce){.social-toast{transition:none}}

/* Optional district beside the visitor name. */
.field-0 #person-form>.region-field{margin-top:28px}.field-0 #person-form>.region-field>span{display:block;font-size:14px;color:#d4c6ae}.field-0 input[name=region]{background:transparent;border:0;border-bottom:1px solid #8a7659;border-radius:0;padding:12px 3px;font-size:16px;min-height:48px}.region-note{font:12px/1.7 "Noto Sans KR",sans-serif;color:#ac9a7c;margin-top:8px}

.partner-gender{border:0;padding:0;margin:28px 0 0;min-width:0}.partner-gender legend{font-size:14px;color:#d4c6ae;margin-bottom:10px}.partner-gender>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.flow-form .partner-gender .choice{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;padding:14px 10px;border:1px solid #8a7659;border-radius:6px;font-size:16px}.partner-gender input[type=radio]{width:16px;height:16px;min-height:0;margin:0;padding:0;accent-color:#d4b578}.partner-gender .choice:has(input:checked){background:#f0e7cf;color:#342b1c;border-color:#f0e7cf}
