:root { --navy:#07142f; --ink:#17213a; --muted:#6c7892; --blue:#2d6bff; --cyan:#41d8ff; --violet:#7b4dff; --paper:#f4f7fc; }
* { box-sizing:border-box; }
html { background:#e9eef7; }
body { margin:0; color:var(--ink); font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif; background:linear-gradient(135deg,#edf2fa,#f8fbff); }
button,input { font:inherit; }
button { -webkit-tap-highlight-color:transparent; }
.shell { position:relative; width:100%; max-width:520px; min-height:100dvh; margin:0 auto; overflow:hidden; background:var(--paper); box-shadow:0 0 70px rgba(16,32,72,.14); }
.intro-shell { padding:22px 22px 34px; color:white; background:radial-gradient(circle at 82% 18%,rgba(57,115,255,.32),transparent 28%),linear-gradient(165deg,#08152f 0%,#0d2355 58%,#102f70 100%); }
.ambient { position:absolute; border-radius:50%; filter:blur(2px); opacity:.3; }
.ambient-one { width:220px;height:220px;right:-110px;top:220px;border:1px solid #4bdcff;box-shadow:0 0 90px #246eff inset; }
.ambient-two { width:150px;height:150px;left:-90px;bottom:110px;background:#6e4cff;filter:blur(55px); }
.brand { position:relative; display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:.8px;font-size:14px; }
.brand-mark { display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#07142f;background:linear-gradient(135deg,#78eeff,#6f8cff);font-weight:1000; }
.brand em { margin-left:auto;font-style:normal;font-size:11px;font-weight:600;color:#92a4ca;letter-spacing:0; }
.hope-brand { min-height:100px;gap:10px;align-items:center; }
.hope-logo-crop { position:relative;display:block;flex:0 0 112px;width:112px;height:100px;overflow:visible;border-radius:0;background:transparent; }
.hope-logo-crop img { position:absolute;left:0;top:-6px;width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 5px 10px rgba(0,0,0,.2)); }
.hope-brand>strong { display:none; }
.hope-brand>em { margin-left:auto;color:#9fb2d8;font-size:12px;font-weight:800;line-height:1.4;text-align:right; }
.hero-card { position:relative;padding-top:24px;text-align:center; }
.lawyer-scene { position:relative;min-height:440px;margin:0 -22px 12px;overflow:hidden;text-align:left; }
.lawyer-scene:after { content:"";position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(transparent,#0d2355 82%);pointer-events:none; }
.lawyer-scene img { position:absolute;z-index:4;right:-54px;bottom:-10px;width:330px;height:420px;object-fit:cover;object-position:50% 15%;border-radius:0;mix-blend-mode:screen;filter:saturate(.9) contrast(1.04);pointer-events:none; }
.speech-card { position:relative;z-index:3;width:61%;margin:14px 0 0 22px;padding:8px 0;background:transparent;text-shadow:0 3px 14px rgba(0,0,0,.6); }
.speech-card:after { display:none; }
.speech-card h1 { margin:0;color:white;font-size:25px;line-height:1.4;letter-spacing:-1.1px; }
.speech-card h1 strong { color:#79e9ff;text-shadow:0 0 22px rgba(89,224,255,.36); }
.speech-card h1 em { color:#84e583;font-style:normal;text-shadow:0 0 22px rgba(74,214,104,.3); }
.speech-card p { margin:15px 0 0;padding-top:13px;border-top:1px solid rgba(255,255,255,.22);color:#f0f5ff;font-size:17px;font-weight:900;line-height:1.6;letter-spacing:-.35px;text-shadow:0 2px 9px rgba(0,0,0,.75); }
.lawyer-name { position:absolute;z-index:5;right:15px;bottom:18px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:rgba(5,16,42,.84);box-shadow:0 8px 25px rgba(0,0,0,.24);backdrop-filter:blur(8px);text-align:left; }
.lawyer-name b,.lawyer-name span { display:block; }.lawyer-name b { color:white;font-size:12px; }.lawyer-name span { margin-top:3px;color:#86ddf7;font-size:9px; }
.hero-orbit { position:relative;width:170px;height:170px;margin:0 auto 30px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(112,221,255,.32);border-radius:50%;background:radial-gradient(circle,rgba(51,110,255,.28),rgba(18,35,81,.2) 60%,transparent 61%);box-shadow:0 0 50px rgba(41,112,255,.25),inset 0 0 40px rgba(68,222,255,.08);animation:float 4s ease-in-out infinite; }
.hero-orbit:before,.hero-orbit:after { content:"";position:absolute;border:1px solid rgba(107,130,255,.18);border-radius:50%; }
.hero-orbit:before { inset:-12px; }.hero-orbit:after { inset:18px; }
.hero-orbit span { z-index:1;display:grid;place-items:center;width:55px;height:55px;border-radius:18px;background:linear-gradient(145deg,rgba(59,127,255,.85),rgba(79,58,186,.9));box-shadow:0 10px 30px rgba(0,0,0,.25);font-weight:900; }
.hero-orbit i { z-index:1;color:#82dafc;font-size:11px;font-style:normal; }
.kicker { margin:0 0 10px;color:#67dcff;font-size:13px;font-weight:800;letter-spacing:.4px; }
.result-hero h1 { margin:0;font-size:33px;line-height:1.28;letter-spacing:-1.6px; }
.hero-card h1 strong { color:#77eaff;text-shadow:0 0 25px rgba(69,221,255,.45); }
.hero-copy { margin:18px auto 22px;max-width:360px;color:#b7c4df;font-size:14px;line-height:1.75; }
.trust-row { display:grid;grid-template-columns:repeat(3,1fr);padding:15px 6px;margin:0 0 22px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.05);backdrop-filter:blur(15px); }
.trust-row div:not(:last-child) { border-right:1px solid rgba(255,255,255,.1); }
.trust-row b,.trust-row span { display:block; }.trust-row b { font-size:16px; }.trust-row span { margin-top:4px;color:#8195bd;font-size:10px; }
.primary-button { width:100%;height:58px;border:0;border-radius:18px;color:white;background:linear-gradient(100deg,#2968ff,#634cff);box-shadow:0 14px 30px rgba(37,88,226,.25);font-size:16px;font-weight:900;cursor:pointer;transition:.2s; }
.primary-button span { float:right;margin-right:20px;font-size:20px; }.primary-button:active { transform:scale(.985); }.primary-button:disabled { opacity:.35;box-shadow:none;cursor:not-allowed; }
.glow { box-shadow:0 15px 38px rgba(40,101,255,.42),0 0 30px rgba(67,211,255,.12); }
.resume-button { margin-top:14px;border:0;background:transparent;color:#9cb4e2;font-size:13px;text-decoration:underline;cursor:pointer; }
.notice { position:relative;display:flex;gap:12px;margin-top:22px;padding:14px;border-radius:16px;background:rgba(87,210,255,.08);color:#aac0e7;text-align:left;font-size:11px;line-height:1.5; }
.notice>span { display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;color:#73e4ff;background:rgba(84,210,255,.15); }.notice p { margin:0; }.notice b { display:block;color:#dce7ff;font-size:12px; }
.legal-mini { position:relative;margin:16px 8px 0;color:#647ba8;text-align:center;font-size:9px;line-height:1.55; }
@keyframes float { 50% { transform:translateY(-7px) rotate(1deg); } }

.quiz-shell { display:flex;flex-direction:column;padding:0 20px 92px;background:linear-gradient(#f8faff,#eef3fa); }
.quiz-header { display:flex;align-items:center;justify-content:space-between;padding:18px 0 13px; }
.quiz-header>div { text-align:center; }.quiz-header span,.quiz-header b { display:block; }.quiz-header span { color:#71809a;font-size:11px;font-weight:700; }.quiz-header b { margin-top:2px;font-size:12px; }
.icon-button { width:38px;height:38px;border:1px solid #e0e6f0;border-radius:13px;background:white;color:#22304d;font-size:30px;line-height:1;cursor:pointer; }
.save-pill { padding:8px 11px;border:0;border-radius:20px;background:#e8f0ff;color:#3470e7;font-size:10px;font-weight:800; }
.save-pill:before { content:"✓";margin-right:4px; }
.progress-track { width:100%;height:6px;border-radius:10px;background:#dfe6f1;overflow:hidden; }.progress-track span { display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2b69ff,#62d8ff);box-shadow:0 0 12px #46a8ff;transition:width .35s ease; }
.question-card { flex:1;padding:38px 0 18px;animation:slide-in .3s ease both; }.question-card.back { animation-name:slide-back; }
@keyframes slide-in { from { opacity:0;transform:translateX(18px); } } @keyframes slide-back { from { opacity:0;transform:translateX(-18px); } }
.question-eyebrow { margin:0 0 10px;color:#3473f3;font-size:12px;font-weight:900; }.question-card h2 { margin:0;color:#111c36;font-size:25px;line-height:1.42;letter-spacing:-1px;white-space:pre-line; }
.question-help { margin:12px 0 0;color:#7b879e;font-size:13px;line-height:1.6; }
.option-list { display:grid;gap:11px;margin-top:28px; }.option { display:flex;align-items:center;gap:14px;width:100%;min-height:65px;padding:13px 16px;border:1.5px solid #e1e7f0;border-radius:18px;background:white;color:#23304b;text-align:left;cursor:pointer;box-shadow:0 4px 14px rgba(42,60,99,.035);transition:.18s; }.option.selected { border-color:#3c74ff;background:linear-gradient(105deg,#f3f7ff,#f7f4ff);box-shadow:0 9px 25px rgba(45,104,242,.13);transform:translateY(-1px); }.option>span:last-child { flex:1; }.option b,.option small { display:block; }.option b { font-size:15px; }.option small { margin-top:4px;color:#8994a9;font-size:11px;line-height:1.45; }.radio { display:grid;place-items:center;width:23px;height:23px;border:2px solid #ccd5e4;border-radius:50%; }.option.selected .radio { border-color:#3973ff; }.option.selected .radio i { width:11px;height:11px;border-radius:50%;background:#3973ff;box-shadow:0 0 10px rgba(57,115,255,.5); }
.number-field { position:relative;margin-top:35px;padding:22px;border:1px solid #e1e7f1;border-radius:20px;background:white;box-shadow:0 12px 35px rgba(40,58,95,.06); }.number-field input { width:calc(100% - 55px);border:0;outline:0;color:#1b2a47;background:transparent;font-size:31px;font-weight:900;text-align:right; }.number-field>span { display:inline-block;width:50px;color:#6c7890;font-size:15px;font-weight:800;text-align:right; }.number-field small { display:block;margin-top:15px;padding-top:13px;border-top:1px solid #edf0f5;color:#3b6fda;text-align:right;font-size:12px; }
.bottom-action { position:absolute;left:0;right:0;bottom:0;padding:13px 20px calc(13px + env(safe-area-inset-bottom));background:rgba(248,250,255,.88);backdrop-filter:blur(14px);border-top:1px solid rgba(218,226,238,.8); }

.result-shell { padding-bottom:35px;background:#f0f4fa; }
.result-hero { position:relative;padding:22px 22px 82px;color:white;background:radial-gradient(circle at 95% 20%,rgba(71,118,255,.4),transparent 28%),linear-gradient(155deg,#07142f,#102c68);overflow:hidden; }.result-hero:after { content:"";position:absolute;width:230px;height:230px;right:-120px;bottom:-100px;border:1px solid rgba(93,222,255,.3);border-radius:50%;box-shadow:0 0 70px rgba(50,111,255,.4) inset; }.brand.light { margin-bottom:38px; }.result-hero h1 { font-size:29px; }.recommend-badge { display:inline-flex;flex-direction:column;margin-top:22px;padding:10px 14px;border:1px solid rgba(102,219,255,.24);border-radius:13px;background:rgba(67,145,255,.13); }.recommend-badge span { color:#8bdcff;font-size:9px; }.recommend-badge strong { margin-top:3px;font-size:14px; }
.score-panel { position:relative;z-index:2;display:grid;grid-template-columns:1fr;gap:16px;margin:-55px 16px 0; }.score-card { min-width:0;padding:24px 20px 22px;border-radius:24px;background:white;box-shadow:0 15px 35px rgba(36,52,91,.1);text-align:center; }.score-title { display:flex;justify-content:center;align-items:flex-start;gap:10px;text-align:left; }.score-title i { flex:0 0 10px;height:10px;margin-top:7px;border-radius:50%; }.blue-dot { background:#2f75ff;box-shadow:0 0 8px #4e91ff; }.violet-dot { background:#7d54ff;box-shadow:0 0 8px #8b6cff; }.score-title b,.score-title span { display:block; }.score-title b { color:#1b2945;font-size:20px;line-height:1.25; }.score-title span { color:#72809a;font-size:13px;line-height:1.45; }
.donut { --value:0deg;display:grid;place-items:center;width:168px;height:168px;margin:20px auto;border-radius:50%;background:conic-gradient(var(--ring) var(--value),#e9eef6 0);box-shadow:0 10px 35px rgba(45,91,187,.14);animation:pop .6s ease both; }.donut:before { content:"";position:absolute;width:128px;height:128px;border-radius:50%;background:white; }.donut.blue { --ring:linear-gradient(#2f73ff,#51d6ff); background:conic-gradient(#36a2ff var(--value),#e9eef6 0); }.donut.violet { background:conic-gradient(#7657ff var(--value),#e9eef6 0); }.donut-core { position:relative;z-index:1; }.donut strong { display:block;color:#14213d;font-size:40px;line-height:1;letter-spacing:-2px; }.donut small { font-size:20px;letter-spacing:0; }.donut span { display:block;margin-top:9px;color:#66748e;font-size:13px;font-weight:900; }
@keyframes pop { from { transform:scale(.75);opacity:0; } }
.score-card>p { max-width:350px;margin:0 auto;color:#5f6f8a;font-size:16px;line-height:1.75; }
.score-card>.score-message { margin-top:4px;line-height:1.55; }
.score-message b,.score-message span { display:block; }
.score-message b { color:#172541;font-size:19px;letter-spacing:-.45px; }
.score-message span { margin-top:7px;color:#687792;font-size:15px; }
.insight-card,.consult-card { margin:16px;padding:24px 20px;border-radius:22px;background:white;box-shadow:0 10px 28px rgba(38,54,91,.07); }.section-heading { display:flex;align-items:center;gap:14px;margin-bottom:20px; }.section-heading>span { display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:15px;color:#3a78ff;background:#edf4ff;font-size:20px; }.section-heading p,.section-heading h2 { margin:0; }.section-heading p { color:#6e7c95;font-size:12px;font-weight:700; }.section-heading h2 { margin-top:3px;font-size:23px;line-height:1.3; }
.reason-group { padding:18px 16px;border-radius:18px; }.reason-group+.reason-group { margin-top:14px; }.reason-group>b { display:block;margin-bottom:13px;font-size:17px; }.reason-group p { display:flex;align-items:flex-start;gap:11px;margin:13px 0;color:#3f4e69;font-size:16px;line-height:1.7; }.reason-group p span { display:grid;place-items:center;flex:0 0 24px;height:24px;margin-top:1px;border-radius:50%;font-size:12px;font-weight:900; }.positive { background:#f0f8ff; }.positive>b { color:#2169c9; }.positive p span { color:#2475dc;background:#dceeff; }.caution { background:#fff8eb; }.caution>b { color:#a96708; }.caution p span { color:#a96708;background:#ffebbf; }
.consult-card { padding:30px 22px;color:white;background:radial-gradient(circle at 90% 10%,rgba(71,116,255,.45),transparent 30%),linear-gradient(145deg,#0b1f4e,#17377f);text-align:center;box-shadow:0 18px 38px rgba(18,46,107,.22); }.consult-icon { display:grid;place-items:center;width:58px;height:58px;margin:0 auto 15px;border:1px solid rgba(105,225,255,.2);border-radius:18px;color:#70e3ff;background:rgba(80,211,255,.13);font-size:25px; }.consult-card .consult-kicker { margin:0;color:#86e8ff;font-size:15px;font-weight:900; }.consult-card h2 { margin:10px 0 18px;font-size:22px;line-height:1.5;letter-spacing:-.6px; }.consult-card h2 strong { color:#8cecff;font-size:24px; }.consult-benefits { display:grid;gap:10px;margin:0 0 20px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.07);text-align:left; }.consult-benefits span { color:#e1ebff;font-size:15px;line-height:1.55; }.consult-benefits span::first-letter { color:#77e5ff; }.consult-button { height:72px;background:linear-gradient(100deg,#3178ff,#7257ff);box-shadow:0 17px 40px rgba(39,98,255,.46),0 0 28px rgba(90,220,255,.14); }.consult-button b,.consult-button small { display:block;margin-left:22px;text-align:left; }.consult-button b { font-size:19px; }.consult-button small { margin-top:3px;color:#d4e2ff;font-size:12px; }.consult-card .privacy-note { margin:13px 0 0;color:#a9b9d9;font-size:12px;line-height:1.55; }
.result-actions { display:flex;justify-content:center;gap:18px;margin:18px 16px; }.result-actions button { border:0;background:transparent;color:#63718c;font-size:11px;text-decoration:underline;cursor:pointer; }.legal-mini.dark { color:#8a95aa;margin-left:25px;margin-right:25px; }
@media (min-width:700px) { .shell { margin:24px auto;min-height:calc(100dvh - 48px);border-radius:28px; } }
@media (prefers-reduced-motion:reduce) { * { animation:none!important;scroll-behavior:auto!important; } }

.consult-shell { padding:0 20px 35px;background:linear-gradient(#f8faff,#eef3fa); }
.consult-header { display:flex;align-items:center;gap:14px;padding:17px 0; }
.consult-header div { display:flex;flex-direction:column; }.consult-header b { font-size:17px; }.consult-header span { margin-top:2px;color:#71809a;font-size:11px; }
.lead-card { margin:6px 0 18px;padding:26px 22px;border-radius:22px;color:white;background:radial-gradient(circle at 95% 15%,rgba(82,214,255,.28),transparent 35%),linear-gradient(145deg,#081731,#153673);box-shadow:0 15px 35px rgba(22,53,116,.2); }
.lead-card p { margin:0 0 9px;color:#75e6ff;font-size:13px;font-weight:900; }.lead-card h1 { margin:0;font-size:27px;line-height:1.35;letter-spacing:-1px; }.lead-card>span { display:block;margin-top:14px;color:#b7c7e7;font-size:12px;line-height:1.6; }
.consult-form { display:grid;gap:18px;padding:24px 20px;border-radius:22px;background:white;box-shadow:0 12px 32px rgba(38,54,91,.08); }
.consult-form>label>span,.consult-form legend { display:block;margin-bottom:8px;color:#26334e;font-size:14px;font-weight:900; }
.consult-form input[type="text"],.consult-form input[type="tel"],.consult-form input:not([type]) { width:100%;height:54px;padding:0 15px;border:1.5px solid #dfe6f0;border-radius:14px;outline:0;background:#fbfcff;font-size:17px; }
.consult-form input:focus { border-color:#3975ff;box-shadow:0 0 0 3px rgba(57,117,255,.1); }
.birth-input { display:flex;align-items:center;border:1.5px solid #dfe6f0;border-radius:14px;background:#fbfcff;overflow:hidden; }.birth-input:focus-within { border-color:#3975ff;box-shadow:0 0 0 3px rgba(57,117,255,.1); }.birth-input input { flex:1;min-width:0;border:0!important;box-shadow:none!important; }.birth-input b { padding-right:15px;color:#65728b; }
.consult-form fieldset { margin:0;padding:0;border:0; }.gender-options { display:grid;grid-template-columns:repeat(3,1fr);gap:9px; }.gender-options label { position:relative; }.gender-options input { position:absolute;opacity:0; }.gender-options span { display:grid;place-items:center;height:50px;margin:0!important;border:1.5px solid #dfe6f0;border-radius:14px;background:#fbfcff;color:#5e6b83!important;cursor:pointer; }.gender-options input:checked+span { border-color:#3975ff;color:#2868ed!important;background:#eef4ff;box-shadow:0 0 0 3px rgba(57,117,255,.08); }
.consent-check { display:flex;align-items:flex-start;gap:10px;padding:15px;border-radius:14px;background:#f3f6fb; }.consent-check input { flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;accent-color:#3975ff; }.consent-check>span { margin:0!important;color:#4e5c75!important;font-size:12px!important;line-height:1.55; }.consent-check b { color:#2e70f4; }.consent-check small { display:block;margin-top:5px;color:#7c899f;font-size:10px;line-height:1.5; }
.submit-consult { margin-top:2px; }.form-error { margin:0;padding:12px;border-radius:11px;color:#a42f2f;background:#fff0f0;font-size:13px;line-height:1.5; }
.success-shell { display:grid;place-items:center;padding:28px;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(54,124,255,.35),transparent 35%),linear-gradient(155deg,#07142f,#12316f);color:white; }.success-shell section { width:100%; }.success-icon { display:grid;place-items:center;width:86px;height:86px;margin:0 auto 25px;border:1px solid rgba(110,233,255,.35);border-radius:50%;color:#73e7ff;background:rgba(76,205,255,.12);box-shadow:0 0 40px rgba(70,179,255,.22);font-size:42px; }.success-shell section>p:first-of-type { color:#79e7ff;font-weight:900; }.success-shell h1 { margin:8px 0;font-size:34px;line-height:1.3; }.receipt { display:inline-block;margin:18px 0;padding:11px 17px;border-radius:12px;background:rgba(255,255,255,.1); }.receipt b { color:#82eaff; }.success-copy { margin:0 0 30px;color:#b9c7e3;line-height:1.7; }.success-shell .primary-button { max-width:360px; }
.success-actions { display:grid;gap:14px;width:100%;max-width:360px;margin:0 auto; }
.success-actions .primary-button { max-width:none; }
.success-home-button { height:48px;border:0;color:#b7c8e7;background:transparent;font-size:14px;font-weight:800;text-decoration:underline;cursor:pointer; }

/* 결과 화면 고령층 가독성 */
.result-shell { font-family:"Noto Sans KR",Pretendard,"Malgun Gothic",sans-serif; }
.result-hero .kicker { font-size:16px;line-height:1.55; }
.result-hero h1 { font-size:32px;line-height:1.4; }
.recommend-badge span { font-size:13px; }
.recommend-badge strong { margin-top:5px;font-size:18px;line-height:1.45; }
.score-title b { font-size:23px; }
.score-title span { font-size:16px;line-height:1.55; }
.donut span { font-size:15px; }
.score-message b { font-size:21px;line-height:1.55;word-break:keep-all; }
.score-message span { font-size:17px;line-height:1.7;word-break:keep-all; }
.section-heading p { font-size:15px; }
.section-heading h2 { font-size:27px;line-height:1.4; }
.reason-group>b { font-size:20px;line-height:1.5; }
.reason-group p { gap:12px;font-size:18px;font-weight:600;line-height:1.8;letter-spacing:-.2px;word-break:keep-all; }
.reason-group p span { flex-basis:28px;height:28px;font-size:14px; }
.consult-card .consult-kicker { font-size:17px;line-height:1.5; }
.consult-card h2 { font-size:24px;line-height:1.6; }
.consult-card h2 strong { font-size:26px; }
.consult-card .privacy-note { font-size:14px;line-height:1.65; }
.legal-mini.dark { font-size:12px;line-height:1.7; }

/* 무료상담 전환 안내 */
.consult-why { margin:0 0 14px;padding:16px;border:1px solid rgba(116,226,255,.18);border-radius:16px;background:rgba(62,178,255,.09);text-align:left; }
.consult-why b { color:#87e9ff;font-size:16px; }
.consult-why p { margin:7px 0 0;color:#d8e5ff;font-size:16px;line-height:1.7;word-break:keep-all; }
.consent-notice { padding:15px;border-radius:14px;background:#edf5ff; }
.consent-notice b { color:#2769d5;font-size:16px; }
.consent-notice p { margin:6px 0 0;color:#56657e;font-size:14px;line-height:1.65; }
.optional-note { margin:-4px 2px 0;color:#77849a;font-size:13px;line-height:1.6;text-align:center; }
.consent-check>span { font-size:14px!important;line-height:1.65; }
.consent-check small { font-size:12px;line-height:1.65; }

@media(max-width:420px) {
  .result-hero h1 { font-size:30px; }
  .score-card { padding-left:18px;padding-right:18px; }
  .insight-card,.consult-card { margin-left:12px;margin-right:12px;padding-left:18px;padding-right:18px; }
  .reason-group { padding:17px 14px; }
}

/* 선택 답변을 연결한 상세 진단 설명 */
.result-direction{margin:0 0 18px;padding:18px;border-left:5px solid #4e79ff;border-radius:4px 16px 16px 4px;color:#253858;background:#f4f7ff;font-family:"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;font-size:18px;font-weight:750;line-height:1.8;word-break:keep-all}
@media(max-width:380px){.result-direction{padding:16px;font-size:17px;line-height:1.75}}

/* 파산관재인 변호사 상담 안내 */
.law-office-card{position:relative;overflow:hidden;margin:-10px -10px 26px;padding:25px 20px 22px;border:1px solid rgba(126,225,255,.32);border-radius:22px;background:linear-gradient(145deg,#102d68 0%,#0a1e49 58%,#082f55 100%);box-shadow:0 15px 35px rgba(0,8,35,.28);text-align:left}
.law-office-card:after{content:"";position:absolute;right:-55px;top:-65px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(39,220,255,.2),transparent 68%);pointer-events:none}
.law-office-card>p:first-child{position:relative;z-index:1;margin:0 0 12px;color:#8cecff;font-size:18px;font-weight:900;letter-spacing:.02em}
.consult-card .law-office-card h2{position:relative;z-index:1;margin:0 0 19px;color:#fff;font-size:30px;font-weight:900;line-height:1.38;letter-spacing:-.04em;word-break:keep-all}
.consult-card .law-office-card h2 span{color:#ffdc61;font-size:24px}
.trust-explanation{position:relative;z-index:1;padding:17px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(1,13,42,.38)}
.trust-explanation b{display:block;margin-bottom:7px;color:#ffdf6f;font-size:18px;line-height:1.45}
.trust-explanation p,.lawyer-introduction{color:#edf5ff;font-size:17px;font-weight:600;line-height:1.8;letter-spacing:-.01em;word-break:keep-all}
.trust-explanation p{margin:0}
.lawyer-introduction{position:relative;z-index:1;margin:17px 2px 0}
@media(max-width:420px){.law-office-card{margin:-6px -5px 24px;padding:22px 17px 20px}.consult-card .law-office-card h2{font-size:27px}.consult-card .law-office-card h2 span{font-size:22px}.trust-explanation p,.lawyer-introduction{font-size:16px;line-height:1.78}}

/* 자가진단 질문 화면: 한 화면 안에서 빠르게 선택하고 이동 */
.quiz-shell{min-height:100dvh;padding:0 18px 24px;overflow-y:auto;overscroll-behavior:contain}
.quiz-header{padding:9px 0 7px}
.quiz-header .icon-button{width:34px;height:34px;border-radius:11px;font-size:27px}
.save-pill{padding:6px 9px}
.progress-track{height:5px}
.question-card{flex:0 0 auto;padding:18px 0 8px}
.question-eyebrow{margin-bottom:6px;font-size:11px}
.question-card h2{font-size:23px;line-height:1.32}
.question-help{margin-top:7px;font-size:12px;line-height:1.45}
.option-list{gap:7px;margin-top:17px}
.option{min-height:52px;padding:9px 13px;border-radius:15px;gap:11px}
.option b{font-size:14px;line-height:1.35}
.option small{margin-top:2px;font-size:10px;line-height:1.3}
.radio{width:21px;height:21px}
.number-field{margin-top:20px;padding:17px;border-radius:17px}
.number-field input{font-size:28px}
.number-field small{margin-top:10px;padding-top:9px}
.bottom-action{position:static;margin-top:8px;padding:0 0 calc(9px + env(safe-area-inset-bottom));border-top:0;background:transparent;backdrop-filter:none}
.bottom-action .primary-button{height:52px;border-radius:15px}
@media(max-height:700px){.question-card{padding-top:12px}.question-card h2{font-size:21px}.option-list{gap:5px;margin-top:12px}.option{min-height:47px;padding:7px 12px}.bottom-action .primary-button{height:48px}}

/* 희망진단소 메인 전환 문구 */
.hope-hero-copy{width:66%;padding-top:2px}
.speech-card.hope-hero-copy .lawyer-made{margin:0 0 12px;padding:9px 10px;border:1px solid rgba(121,233,255,.32);border-radius:11px;color:#fff;background:rgba(0,17,48,.58);font-size:12px;font-weight:800;line-height:1.45;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.speech-card.hope-hero-copy .lawyer-made b,.speech-card.hope-hero-copy .lawyer-made span{display:block}
.speech-card.hope-hero-copy .lawyer-made b{color:#88ecff;font-size:13px}
.speech-card.hope-hero-copy .lawyer-made span{margin-top:2px;color:#fff}
.speech-card.hope-hero-copy .hero-question{margin:0 0 10px;padding:0;border:0;color:#ffdf68;font-size:16px;font-weight:900;line-height:1.45;text-shadow:0 2px 10px rgba(0,0,0,.75)}
.speech-card.hope-hero-copy h1{font-size:31px;line-height:1.3;letter-spacing:-1.6px}
.speech-card.hope-hero-copy h1 strong{display:inline-block;color:#7cecff;font-size:34px;line-height:1.25}
.speech-card.hope-hero-copy .hero-direction{margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.24);color:#f5f8ff;font-size:17px;font-weight:900;line-height:1.62}
.diagnosis-benefits{position:relative;z-index:6;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:-2px 0 14px;text-align:left}
.diagnosis-benefits p{display:flex;align-items:center;gap:8px;margin:0;padding:11px 10px;border:1px solid rgba(127,221,255,.16);border-radius:13px;color:#edf5ff;background:rgba(255,255,255,.065);font-size:13px;font-weight:800;line-height:1.35;word-break:keep-all}
.diagnosis-benefits span{display:grid;place-items:center;flex:0 0 21px;height:21px;border-radius:50%;color:#07142f;background:#71e3ff;font-size:12px;font-weight:1000}
.no-contact-message{margin:13px 0 15px;color:#dbe8ff;font-size:17px;font-weight:750;line-height:1.55;text-align:center;word-break:keep-all}
.no-contact-message b{color:#91f095;font-size:20px}
.no-contact-message strong{color:#fff;font-size:18px}
.hero-start-button{height:64px;padding-left:15px;font-size:17px;letter-spacing:-.45px}
.hero-start-button span{margin-right:12px}
.choice-note{margin:10px 0 0;color:#aabde2;font-size:12px;font-weight:700}
.hero-start-middle{position:relative;z-index:7;margin:0 0 0}
.hero-choice-middle{margin:9px 0 15px}
@media(max-width:420px){.hope-hero-copy{width:68%}.speech-card.hope-hero-copy .hero-question{font-size:14px}.speech-card.hope-hero-copy h1{font-size:27px}.speech-card.hope-hero-copy h1 strong{font-size:30px}.speech-card.hope-hero-copy .hero-direction{font-size:15px}.diagnosis-benefits p{padding:10px 8px;font-size:12px}.hero-start-button{font-size:15px}}

/* 결과지 빚 독촉 대응 강조 */
.collection-stop-card{position:relative;overflow:hidden;margin:-10px -10px 20px;padding:25px 20px;border:1px solid rgba(255,120,120,.28);border-radius:22px;background:radial-gradient(circle at 100% 0,rgba(255,85,85,.23),transparent 35%),linear-gradient(145deg,#401526,#1b1735 62%,#101f48);box-shadow:0 16px 38px rgba(20,5,25,.3);text-align:left}
.collection-alert{margin:0 0 7px;color:#ffcd6c;font-size:17px;font-weight:900;line-height:1.45}
.consult-card .collection-stop-card h2{margin:0;color:#fff;font-size:34px;font-weight:1000;line-height:1.23;letter-spacing:-1.2px;text-shadow:0 3px 15px rgba(0,0,0,.4)}
.collection-lead{margin:17px 0;color:#f4eaf0;font-size:17px;font-weight:700;line-height:1.75;word-break:keep-all}
.collection-methods{display:grid;gap:9px}
.collection-methods p{margin:0;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.07)}
.collection-methods b,.collection-methods span{display:block}.collection-methods b{color:#86e9ff;font-size:17px}.collection-methods span{margin-top:5px;color:#e1e8f5;font-size:15px;font-weight:600;line-height:1.65;word-break:keep-all}
.collection-closing{display:block;margin-top:17px;padding:13px;border-radius:13px;color:#311020;background:linear-gradient(100deg,#ffdc68,#ff9e75);font-size:18px;font-weight:1000;line-height:1.45;text-align:center;word-break:keep-all}
.collection-consult-button{height:auto;min-height:68px;padding:12px 9px 12px 15px}.collection-consult-button b{font-size:16px;letter-spacing:-.5px}.collection-consult-button small{font-size:11px}
@media(max-width:420px){.collection-stop-card{margin:-6px -5px 18px;padding:21px 16px}.consult-card .collection-stop-card h2{font-size:31px}.collection-lead{font-size:16px}.collection-methods b{font-size:16px}.collection-methods span{font-size:14px}.collection-closing{font-size:17px}.collection-consult-button b{font-size:14px}}

/* 진성법률사무소 공통 하단 정보 */
.office-footer{position:relative;margin:24px 16px 0;padding:17px 10px;border-top:1px solid #dce3ef;color:#6d7a91;text-align:center;font-size:11px;line-height:1.55}
.office-title-row,.office-detail-row{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2px 0}
.office-footer strong{color:#263750;font-size:15px}.office-title-row span{color:#465772;font-weight:700}
.office-title-row>*:not(:last-child):after,.office-detail-row>*:not(:last-child):after{content:"·";display:inline-block;margin:0 7px;color:#a7b1c0}
.office-footer address{margin:0;font-style:normal}.office-footer a{color:#2469dd;font-size:12px;font-weight:900;text-decoration:none}
.office-footer small{display:block;margin-top:6px;color:#94a0b2;font-size:10px}
.intro-shell .office-footer,.success-shell .office-footer{border-top-color:rgba(255,255,255,.14);color:#9fb0d0}
.intro-shell .office-footer strong,.success-shell .office-footer strong{color:#fff}
.intro-shell .office-footer div,.success-shell .office-footer div{color:#cbd8ee}
.intro-shell .office-footer a,.success-shell .office-footer a{color:#79e7ff}
.intro-shell .office-footer small,.success-shell .office-footer small{color:#7288b2}
@media(max-width:420px){.office-footer{margin:20px 8px 0;padding:14px 4px;font-size:10px;line-height:1.5}.office-footer strong{font-size:13px}.office-title-row,.office-detail-row{gap:1px 0}.office-title-row>*:not(:last-child):after,.office-detail-row>*:not(:last-child):after{margin:0 4px}.office-footer a{font-size:11px}.office-footer small{margin-top:5px;font-size:9px}}
