.ew-welcome { box-sizing:border-box; position:fixed; inset:0; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:radial-gradient(ellipse 36% 34% at 50% 54%,rgba(164,211,184,.16) 0%,rgba(196,226,208,.07) 45%,rgba(255,255,255,0) 100%),#fff; color:#181818; font-family:var(--font,Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif); overflow:auto; }
.ew-welcome::backdrop { background:#fff; }
.ew-welcome * { box-sizing:border-box; }
.ew-top { display:flex; align-items:center; justify-content:space-between; min-height:88px; padding:20px clamp(24px,5vw,80px); border-bottom:1px solid #e9e9e5; }
.ew-brand { color:#191919; font-size:14px; font-weight:650; letter-spacing:.025em; text-decoration:none; }
.ew-brand span { margin-left:2px; }
.ew-text { padding:10px 0; background:none; border:0; color:#58625b; font:inherit; font-size:12px; cursor:pointer; min-height:44px; }
.ew-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.8fr); min-height:calc(100dvh - 88px); max-width:1440px; margin:auto; }
.ew-content { width:100%; max-width:650px; align-self:center; padding:48px clamp(24px,6vw,88px); margin:auto; }
.ew-progress { display:flex; gap:6px; margin-bottom:38px; max-width:220px; }
.ew-progress span { flex:1; height:3px; border-radius:3px; background:#e2e2dd; }
.ew-progress .is-done { background:#20201e; }
.ew-kicker,.ew-art-label,.ew-art-foot,.ew-note small { color:#58625b; font:10px/1.5 var(--mono,monospace); letter-spacing:.045em; }
.ew-content h1 { font-size:clamp(36px,4.2vw,56px); line-height:1.03; letter-spacing:-.055em; font-weight:550; margin:12px 0 18px; overflow-wrap:anywhere; outline:none; }
.ew-welcome #ew-title:focus { outline:none; }
.ew-content #ew-form { margin-top:28px; }
.ew-description { font-size:15px; line-height:1.55; color:#58625b; margin:0 0 30px; }
.ew-label { display:block; font-size:13px; font-weight:500; margin-bottom:10px; }
.ew-label span { color:#58625b; font-weight:400; margin-left:5px; }
.ew-welcome input:not([type=radio]):not([type=file]) { display:block; width:100%; height:54px; background:#fff; color:#222; border:1px solid #ddddd7; border-radius:12px; padding:0 16px; font:inherit; font-size:16px; }
.ew-hint { color:#58625b; font-size:12px; line-height:1.65; margin:13px 0; }
.ew-choices { display:grid; gap:10px; border:0; padding:0; margin:0; }
.ew-choices label { display:flex; align-items:center; gap:12px; padding:17px; min-height:60px; border:1px solid #deded8; border-radius:12px; background:#fff; cursor:pointer; font-size:14px; }
.ew-choices label:has(:checked) { border-color:#242421; background:#f0f0ec; }
.ew-choices input { position:absolute; width:1px; height:1px; opacity:0; }
.ew-choices label:has(:focus-visible) { outline:2px solid #222; outline-offset:3px; }
.ew-radio { margin-left:auto; flex:none; width:17px; height:17px; border:1px solid #c3c3bb; border-radius:50%; }
.ew-choices :checked ~ .ew-radio { border:5px solid #222; background:#fff; }
.ew-file { position:relative; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:9px; padding:24px 18px; min-height:168px; border:1px dashed #c9c9c1; border-radius:16px; background:#f4f4f0; cursor:pointer; overflow-wrap:anywhere; text-align:center; }
.ew-file strong { font-size:14px; max-width:100%; }
.ew-file > span:last-of-type { font-size:11px; color:#58625b; }
.ew-file-mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid #ddddd7; border-radius:10px; font-size:24px; font-weight:300; background:#fff; }
.ew-file input { position:absolute; opacity:0; inset:0; width:100%; height:100%; cursor:pointer; }
.ew-file:focus-within { outline:2px solid #222; outline-offset:3px; }
.ew-help { font-size:12px; line-height:1.65; margin-top:14px; color:#60605a; }
.ew-help summary { cursor:pointer; min-height:32px; }
.ew-phone { padding:20px; border:1px solid #e0e0d9; border-radius:16px; background:#f3f3ef; }
.ew-phone input { font-size:12px!important; }
.ew-copy { margin-top:12px; padding:9px 15px; min-height:44px; background:white; border:1px solid #d5d5cf; border-radius:9px; font:inherit; font-size:12px; cursor:pointer; }
.ew-ready { display:flex; gap:16px; align-items:center; padding:21px; background:#f0f0eb; border:1px solid #ddddd5; border-radius:14px; }
.ew-ready > span { display:grid; place-items:center; width:30px; height:30px; background:#222; color:white; border-radius:50%; flex:none; }
.ew-ready strong { font-size:14px; font-weight:500; }
.ew-ready p { font-size:12px; line-height:1.6; color:#58625b; margin:7px 0 0; }
.ew-status { min-height:18px; color:#57574f; font-size:12px; line-height:1.5; }
.ew-actions { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:24px; padding-top:22px; border-top:1px solid #e3e3dd; }
.ew-next { background:#191919; color:white; border:1px solid #191919; border-radius:12px; padding:14px 25px; min-height:50px; font:inherit; font-size:14px; cursor:pointer; }
@media (hover: hover) and (pointer: fine){.ew-next:hover { background:#353531; }}
.ew-back { background:none; color:#58625b; border:0; font:inherit; font-size:13px; padding:12px 0; min-height:44px; cursor:pointer; }
.ew-art { position:relative; min-width:0; background:linear-gradient(90deg,transparent 99%,rgba(99,133,114,.07) 99%),linear-gradient(transparent 99%,rgba(99,133,114,.07) 99%); background-size:112px 112px; border-left:1px solid rgba(99,133,114,.1); overflow:hidden; }
.ew-art-label { position:absolute; top:36px; left:32px; }
.ew-orbit { position:absolute; top:19%; left:28%; width:160px; height:160px; border:1px solid #d0d0c7; border-radius:50%; display:grid; place-items:center; }
.ew-orbit::before { content:''; position:absolute; inset:16px -20px; border:1px solid #d0d0c7; border-radius:50%; transform:rotate(-35deg); }
.ew-orbit span { font-size:76px; letter-spacing:-.08em; font-weight:400; }
.ew-note { position:absolute; padding:24px; width:70%; max-width:310px; background:#fafaf8; border:1px solid #d5d5cd; border-radius:16px; box-shadow:3px 4px 0 #00000005; }
.ew-note small { display:block; margin-bottom:12px; }
.ew-note strong { font-size:23px; font-weight:450; letter-spacing:-.04em; }
.ew-note-one { left:9%; top:49%; transform:rotate(-5deg); }
.ew-note-two { left:21%; top:69%; transform:rotate(5deg); }
.ew-art-foot { position:absolute; bottom:25px; left:32px; }
.ew-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:760px) { .ew-top { min-height:72px; padding:14px 24px; }.ew-layout { grid-template-columns:1fr; min-height:calc(100dvh - 72px); }.ew-content { padding:32px 24px; max-width:520px; }.ew-art { display:none; }.ew-progress { margin-bottom:30px; }.ew-content h1 { font-size:40px; }.ew-next { min-width:150px; }.ew-actions { margin-top:18px; } }

@media(max-width:760px) { .ew-welcome { background-image:radial-gradient(ellipse 70% 28% at 50% 50%,rgba(164,211,184,.13),rgba(255,255,255,0) 100%); } }
.ew-steps { margin:0 0 22px; padding:0 0 0 20px; display:grid; gap:10px; font-size:14px; line-height:1.55; color:#2b2f2c; }
.ew-steps li::marker { font:11px var(--mono,monospace); color:#58625b; }
.ew-steps em { font-style:normal; font-weight:600; }

.ew-actions { position:sticky; bottom:0; z-index:1; background:#fff; padding-bottom:max(16px, env(safe-area-inset-bottom, 0px)); }
.ew-phone { display:flex; gap:8px; margin-top:8px; padding:0; border:0; background:none; }
.ew-phone input { min-width:0; flex:1; height:44px; padding:0 12px; border:1px solid #ddddd7; border-radius:10px; font:inherit; font-size:13px; background:#fff; }
.ew-copy { margin-top:0; min-height:44px; padding:0 16px; border:1px solid #d0d0c8; border-radius:10px; background:#fff; font:inherit; font-size:13px; cursor:pointer; }
@media (max-width:760px) { .ew-phone-help { display:none; } }
