/* K STELLA WAY · V38 cinematic input bridge into RC111 */
body.introFlowActive{overflow:hidden;background:#030711}
#introFlowApp{position:fixed;inset:0;z-index:9999;background:#030711;color:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",sans-serif;isolation:isolate}
#introFlowApp[hidden]{display:none!important}
#introFlowApp *{box-sizing:border-box}
#introFlowApp button,#introFlowApp input,#introFlowApp select{font:inherit}
#introFlowApp button{cursor:pointer}
#introFlowApp .sw-stage{position:absolute;inset:0;overflow:hidden;background:#030711}
#introFlowApp .sw-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1);transform-origin:50% 48%;transition:transform .8s ease,opacity .2s ease}
#introFlowApp .sw-video.is-intro-closeup{transform:scale(1.055)}
#introFlowApp .sw-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,3,8,.03),transparent 56%,rgba(2,3,8,.18) 76%,rgba(2,3,8,.60) 100%)}
#introFlowApp .sw-intro-splash{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(92,118,150,.10),transparent 24%),linear-gradient(180deg,#02050b 0%,#040915 52%,#02050b 100%)}
#introFlowApp .sw-intro-splash[hidden]{display:none}
#introFlowApp .sw-intro-splash:before{content:'';position:absolute;inset:0;opacity:.34;background-image:radial-gradient(circle at 19% 24%,rgba(225,238,252,.75) 0 .7px,transparent 1px),radial-gradient(circle at 78% 31%,rgba(218,232,249,.62) 0 .7px,transparent 1px),radial-gradient(circle at 65% 71%,rgba(210,229,247,.52) 0 .65px,transparent 1px),radial-gradient(circle at 31% 78%,rgba(224,239,255,.48) 0 .6px,transparent 1px)}
#introFlowApp .sw-intro-symbol{position:relative;width:82px;height:82px;margin-bottom:30px;display:grid;place-items:center}
#introFlowApp .sw-intro-symbol i{position:relative;width:5px;height:5px;border-radius:50%;background:#f1f7ff;box-shadow:0 0 12px rgba(226,240,255,.72),0 0 34px rgba(151,181,214,.26);animation:swIntroPulse 3.8s ease-in-out infinite}
#introFlowApp .sw-intro-symbol i:before,#introFlowApp .sw-intro-symbol i:after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:999px}
#introFlowApp .sw-intro-symbol i:before{width:70px;height:1px;background:linear-gradient(90deg,transparent,rgba(240,247,255,.82),transparent)}
#introFlowApp .sw-intro-symbol i:after{width:1px;height:70px;background:linear-gradient(180deg,transparent,rgba(240,247,255,.82),transparent)}
#introFlowApp .sw-intro-copy{position:relative;z-index:1}
#introFlowApp .sw-intro-copy h1{margin:0;color:#f4f8fc;font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,8.4vw,42px);font-weight:500;letter-spacing:.18em;text-indent:.18em;text-shadow:0 0 22px rgba(194,216,240,.12)}
#introFlowApp .sw-intro-copy p{margin:12px 0 0;color:rgba(219,229,241,.56);font-size:12px;letter-spacing:.08em}
#introFlowApp .sw-start{position:absolute;z-index:8;left:50%;bottom:max(9vh,calc(env(safe-area-inset-bottom) + 42px));transform:translateX(-50%);min-width:92px;height:42px;padding:0 22px;border-radius:999px;border:1px solid rgba(213,228,244,.22);background:rgba(4,9,18,.26);color:rgba(240,246,252,.88);font-size:12px;font-weight:650;letter-spacing:.08em;backdrop-filter:blur(10px)}
#introFlowApp .sw-reset{position:absolute;z-index:8;top:max(14px,env(safe-area-inset-top));right:16px;border:0;background:transparent;color:rgba(255,255,255,.55);padding:8px 2px;font-size:11px;opacity:0;pointer-events:none}
#introFlowApp.has-started .sw-reset{opacity:1;pointer-events:auto}
#introFlowApp .sw-input-wrap{position:absolute;z-index:7;left:50%;bottom:max(5.5vh,calc(env(safe-area-inset-bottom) + 22px));transform:translateX(-50%);width:min(86vw,380px);opacity:0;pointer-events:none;transition:opacity .14s ease,transform .14s ease}
#introFlowApp .sw-input-wrap.open{opacity:1;pointer-events:auto;transform:translate(-50%,-3px)}
#introFlowApp .sw-head{display:flex;justify-content:space-between;align-items:center;margin:0 2px 8px}
#introFlowApp .sw-label{font-size:13px;font-weight:750;color:rgba(255,255,255,.95)}
#introFlowApp .sw-count{font-size:11px;color:rgba(255,255,255,.46)}
#introFlowApp .sw-row{display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:8px}
#introFlowApp .sw-field{height:44px;width:100%;border:1px solid rgba(255,255,255,.25);border-radius:11px;background:rgba(4,6,14,.52);color:#fff;padding:0 12px;outline:none;backdrop-filter:blur(8px);color-scheme:light}
#introFlowApp .sw-field:focus{border-color:rgba(255,255,255,.62);background:rgba(4,6,14,.68)}
#introFlowApp .sw-field::placeholder{color:rgba(255,255,255,.40)}
#introFlowApp .sw-main-btn,#introFlowApp .sw-choice-btn,#introFlowApp .sw-secondary{border-radius:11px;height:44px;font-weight:750}
#introFlowApp .sw-main-btn{border:0;background:rgba(255,255,255,.94);color:#111522;padding:0 15px}
#introFlowApp .sw-choice-grid{display:grid;grid-template-columns:1fr 1fr 68px;gap:8px}
#introFlowApp .sw-choice-grid.three{grid-template-columns:1fr 1fr 1fr;gap:7px}
#introFlowApp .sw-choice-grid.three .sw-main-btn{grid-column:1/-1;height:40px}
#introFlowApp .sw-choice-btn,#introFlowApp .sw-secondary{border:1px solid rgba(255,255,255,.24);background:rgba(4,6,14,.50);color:rgba(255,255,255,.86);backdrop-filter:blur(8px)}
#introFlowApp .sw-choice-btn.selected,#introFlowApp .sw-secondary.selected{border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.14);color:#fff}
#introFlowApp .sw-time-actions{display:grid;grid-template-columns:1fr 68px;gap:8px;margin-top:8px}
#introFlowApp .sw-toast{position:absolute;z-index:60;left:50%;bottom:22%;transform:translateX(-50%);background:rgba(7,8,16,.84);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 12px;font-size:12px;opacity:0;pointer-events:none;transition:.18s;white-space:nowrap;backdrop-filter:blur(8px)}
#introFlowApp .sw-toast.show{opacity:1}
#introFlowApp .intro-email-stage{position:absolute;inset:0;z-index:35;display:flex;align-items:flex-end;justify-content:center;padding:0 18px max(7vh,calc(env(safe-area-inset-bottom) + 28px));background:linear-gradient(180deg,rgba(2,4,10,.05),rgba(2,4,10,.25) 55%,rgba(2,4,10,.70))}
#introFlowApp .intro-email-stage[hidden]{display:none}
#introFlowApp .intro-email-card{width:min(88vw,390px);padding:18px 16px 16px;border-radius:18px;background:rgba(6,8,18,.64);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(12px);box-shadow:0 20px 60px rgba(0,0,0,.24)}
#introFlowApp .intro-email-card small{display:block;margin-bottom:7px;color:rgba(255,255,255,.55);letter-spacing:.08em}
#introFlowApp .intro-email-card h2{margin:0 0 7px;font-size:22px;letter-spacing:-.03em}
#introFlowApp .intro-email-card p{margin:0 0 13px;color:rgba(255,255,255,.68);font-size:12px;line-height:1.6}
#introFlowApp .intro-email-row{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px}
#introFlowApp .intro-email-error{min-height:18px;margin:7px 2px 0;font-size:11px;color:#ffd0d8}
#introFlowApp .intro-legal-links{position:absolute;z-index:40;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;gap:10px;white-space:nowrap;font-size:10px;color:rgba(255,255,255,.48)}
#introFlowApp .intro-legal-links button{padding:0;border:0;background:transparent;color:inherit}
#introFlowApp.has-started .intro-legal-links{display:none}
@keyframes swIntroPulse{0%,100%{opacity:.65;transform:scale(.86)}50%{opacity:1;transform:scale(1.08)}}
@media(min-width:700px){#introFlowApp .sw-stage{width:min(56.25vh,540px);left:50%;right:auto;transform:translateX(-50%)}}

/* bridge confirmation */
#confirmScreen .confirmWrap{max-width:720px;margin:0 auto;padding:44px 24px 50px;text-align:center}
#confirmScreen .confirmStar{font-size:34px;color:#c79839;margin-bottom:12px}
#confirmScreen h2{margin:0 0 10px;font-family:Georgia,"Noto Serif KR",serif;font-size:clamp(30px,7vw,48px);font-weight:500;letter-spacing:-.04em}
#confirmScreen .confirmLead{margin:0 auto 26px;color:#76736d;line-height:1.7}
#confirmSummary{max-width:560px;margin:0 auto 24px;border:1px solid #e3d9c4;border-radius:22px;padding:18px 20px;background:#fffdfa;text-align:left;box-shadow:0 10px 32px rgba(87,65,25,.05)}
#confirmSummary .confirmRow{display:grid;grid-template-columns:112px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid #eee7db}
#confirmSummary .confirmRow:last-child{border-bottom:0}
#confirmSummary small{color:#9b8250;font-weight:700}
#confirmSummary b{font-weight:600;color:#24221e;word-break:break-word}
#confirmScreen .confirmButtons{display:grid;grid-template-columns:1fr 2fr;gap:10px;max-width:560px;margin:0 auto}
#confirmScreen .confirmNote{margin:16px auto 0;max-width:560px;color:#99928a;font-size:12px;line-height:1.6}
@media(max-width:540px){#confirmScreen .confirmWrap{padding:34px 20px 42px}#confirmSummary .confirmRow{grid-template-columns:92px 1fr}#confirmScreen .confirmButtons{grid-template-columns:1fr 1.7fr}}

/* compact legal / business layer */
.legalLinkRow{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:11px;color:#8f8168}
.legalLinkRow button{border:0;background:transparent;color:inherit;padding:3px 0;text-decoration:underline;text-underline-offset:3px}
.checkoutEmailLine{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;margin-top:8px;border-top:1px solid #ece3d2;border-bottom:1px solid #ece3d2;font-size:13px}
.checkoutEmailLine span{color:#847762}.checkoutEmailLine b{margin-left:auto;overflow-wrap:anywhere}.checkoutEmailLine button{border:0;background:transparent;color:#9d7425;text-decoration:underline}
.checkoutConsent{margin:14px 0 4px;text-align:left;display:grid;gap:9px}
.checkoutConsent label{display:flex;align-items:center;gap:8px;color:#59534a;font-size:12px;line-height:1.4}
.checkoutConsent input{width:17px;height:17px;accent-color:#c59a45}
.checkoutConsent button{margin-left:auto;border:0;background:transparent;color:#9d7425;text-decoration:underline;font-size:11px}
.businessMini{margin-top:14px;padding-top:12px;border-top:1px solid #ece3d2;text-align:center;color:#938a7c;font-size:10.5px;line-height:1.6}
.legalModal{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(7,8,12,.56);backdrop-filter:blur(5px)}
.legalModal[hidden]{display:none}
.legalModalCard{width:min(92vw,520px);max-height:min(78vh,720px);overflow:auto;border-radius:20px;background:#fffdf9;padding:22px;border:1px solid #dfd2b8;box-shadow:0 24px 80px rgba(0,0,0,.22);color:#26231e}
.legalModalHead{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.legalModalHead h3{margin:0;font-size:22px}.legalModalHead button{border:0;background:transparent;font-size:22px;color:#7d7467}
.legalModalBody{font-size:13px;line-height:1.72;color:#5f584e}.legalModalBody dl{display:grid;grid-template-columns:126px 1fr;gap:8px 12px;margin:0}.legalModalBody dt{font-weight:700;color:#8d6a29}.legalModalBody dd{margin:0;overflow-wrap:anywhere}.legalModalBody ul{padding-left:20px;margin:8px 0}.legalModalBody p{margin:8px 0}
@media(max-width:480px){.legalModalBody dl{grid-template-columns:100px 1fr}.checkoutEmailLine{align-items:flex-start;flex-wrap:wrap}.checkoutEmailLine b{order:3;width:100%;margin-left:0}}
.siteBusinessFooter{max-width:820px;margin:34px auto 0;padding:20px 24px 32px;border-top:1px solid #e9e0d1;text-align:center;color:#8b8378;font-size:10.5px;line-height:1.65}
.siteBusinessFooter>div:first-child{display:flex;flex-direction:column;gap:2px}.siteBusinessFooter b{color:#6f5b34;font-size:11.5px}.reading .siteBusinessFooter{display:none}
