:root{--ink:#171c19;--ink-soft:#3d4943;--muted:#6b746f;--paper:#fbfaf6;--canvas:#efede6;--line:#d9d6cc;--line-strong:#bbb8ae;--green:#1e5b43;--green-dark:#133e2d;--green-pale:#dfeae4;--lime:#d8f06f;--amber:#a95c17;--amber-pale:#fff2df;--red:#9f3d32;--shadow:0 24px 80px #1e262117;--radius-lg:30px;--radius-md:18px;--radius-sm:12px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 4%, #d8f06f33, transparent 28rem), radial-gradient(circle at 94% 18%, #1e5b431a, transparent 34rem), var(--canvas);min-width:320px;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,Pretendard,Noto Sans KR,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button,label,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #0f6343}.site-shell{width:min(1120px,100% - 32px);margin:0 auto;padding:28px 0 72px}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:10px 2px 42px;display:flex}.brand{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:14px;font-weight:850;display:inline-flex}.brand-mark{background:var(--ink);width:34px;height:34px;color:var(--lime);border-radius:50%;place-items:center;font-size:12px;display:grid}.top-meta{color:var(--muted);font-size:13px}.hero{grid-template-columns:minmax(0,1.7fr) minmax(250px,.75fr);align-items:end;gap:42px;padding:26px 2px 50px;display:grid}.eyebrow{color:var(--green);letter-spacing:.13em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:850}.hero h1,.legal-card>h1{letter-spacing:-.055em;text-wrap:balance;max-width:850px;margin:0;font-family:Georgia,Times New Roman,Noto Serif KR,serif;font-size:clamp(42px,6.2vw,78px);font-weight:500;line-height:.99}.hero-copy{max-width:720px;color:var(--ink-soft);word-break:keep-all;margin:23px 0 0;font-size:clamp(16px,2vw,19px);line-height:1.72}.hero-aside{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfaf685;border:1px solid #171c191f;gap:14px;padding:22px;display:grid}.hero-stat{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:18px;padding-bottom:12px;font-size:13px;display:flex}.hero-stat:last-child{border-bottom:0;padding-bottom:0}.hero-stat strong{color:var(--ink);font-weight:800}.survey-card,.result-card{border-radius:var(--radius-lg);background:var(--paper);box-shadow:var(--shadow);border:1px solid #171c191f;overflow:hidden}.progress-shell{border-bottom:1px solid var(--line);background:#ffffff61;padding:22px 30px 19px}.progress-head{color:var(--muted);justify-content:space-between;gap:20px;margin-bottom:13px;font-size:12px;font-weight:760;display:flex}.progress-track{background:#e7e4db;border-radius:999px;height:8px;overflow:hidden}.progress-value{border-radius:inherit;background:linear-gradient(90deg, var(--green), #4c8b68);height:100%;transition:width .24s}.step-panel{padding:clamp(26px,5vw,58px)}.step-kicker{color:var(--green);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:9px;margin-bottom:11px;font-size:12px;font-weight:850;display:inline-flex}.step-kicker:before{background:var(--green);content:"";width:20px;height:2px}.step-title{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,Noto Serif KR,serif;font-size:clamp(30px,4.4vw,48px);font-weight:500;line-height:1.08}.step-description{max-width:740px;color:var(--muted);word-break:keep-all;margin:13px 0 32px;font-size:15px;line-height:1.7}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.field{gap:8px;display:grid}.field-full{grid-column:1/-1}.field-label,.group-label{color:var(--ink-soft);font-size:13px;font-weight:800}.required:after{color:var(--red);content:"*";margin-left:3px}.text-input,.select-input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;min-height:50px;color:var(--ink);background:#fff;padding:13px 14px;transition:border-color .16s,box-shadow .16s}.text-input::placeholder{color:#9a9e9b}.text-input:hover,.select-input:hover{border-color:#8d968f}.text-input[aria-invalid=true],.select-input[aria-invalid=true]{border-color:var(--red)}.field-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.choice-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:15px;align-items:flex-start;gap:12px;min-height:83px;padding:16px;transition:transform .15s,border-color .15s,background .15s;display:flex;position:relative}.choice-card:hover{border-color:#949d97;transform:translateY(-1px)}.choice-card.selected{border-color:var(--green);background:var(--green-pale)}.choice-card:focus-within{outline-offset:2px;outline:3px solid #0f6343}.choice-card input{width:17px;height:17px;accent-color:var(--green);flex:none;margin:2px 0 0}.choice-card strong,.choice-card small{display:block}.choice-card strong{font-size:14px;line-height:1.4}.choice-card small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.48}.section-block{border-top:1px solid var(--line);margin-top:29px;padding-top:28px}.section-block:first-of-type{border-top:0;margin-top:0;padding-top:0}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:13px;display:flex}.section-heading p{color:var(--muted);margin:0;font-size:12px}.question-list{gap:13px;display:grid}.question-card{border:1px solid var(--line);background:#fff;border-radius:16px;margin:0;padding:20px}.question-card legend{width:100%;color:var(--ink-soft);padding:0 0 14px;font-size:14px;font-weight:720;line-height:1.55}.question-number{color:var(--green);margin-right:7px;font-weight:850}.scale-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.scale-choice{border:1px solid var(--line);background:var(--paper);min-height:44px;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;font-size:12px;font-weight:800;display:grid}.scale-choice input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.scale-choice.selected{border-color:var(--green);background:var(--green);color:#fff}.scale-choice:focus-within{outline-offset:2px;outline:3px solid #0f6343}.scale-caption{color:var(--muted);justify-content:space-between;margin:0 0 8px;font-size:11px;display:flex}.consent-box{border:1px solid var(--line);background:#f5f4ef;border-radius:16px;gap:13px;margin-top:28px;padding:19px;display:grid}.consent-row{color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;display:flex}.consent-row input{width:17px;height:17px;accent-color:var(--green);flex:none;margin-top:2px}.text-link{color:var(--green);text-underline-offset:3px;font-weight:800}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.step-error,.submit-error{color:var(--red);background:#fff1ed;border:1px solid #e7b8ad;border-radius:11px;margin:20px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.actions{justify-content:space-between;gap:12px;margin-top:34px;display:flex}.button{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 21px;font-size:14px;font-weight:850;text-decoration:none;transition:transform .15s,background .15s,opacity .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:wait;opacity:.58}.primary-button{background:var(--green);color:#fff}.primary-button:hover:not(:disabled){background:var(--green-dark)}.secondary-button{border:1px solid var(--line);color:var(--ink);background:#ebe9e2}.button-arrow{font-size:17px;line-height:1}.footer-note{color:var(--muted);text-align:center;margin:23px 0 0;font-size:12px;line-height:1.6}.result-card{padding:clamp(26px,5vw,58px)}.result-header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);align-items:end;gap:24px;padding-bottom:36px;display:grid}.result-header h2{letter-spacing:-.05em;margin:0;font-family:Georgia,Times New Roman,Noto Serif KR,serif;font-size:clamp(34px,5.2vw,62px);font-weight:500;line-height:1}.result-summary{max-width:680px;color:var(--ink-soft);margin:17px 0 0;font-size:16px;line-height:1.7}.result-email-note{max-width:680px;color:var(--green);margin:14px 0 0;font-size:13px;font-weight:700;line-height:1.6}.result-email-note.email-unavailable{color:var(--muted);font-weight:600}.submission-ticket{background:var(--green);color:#fff;border-radius:16px;padding:18px}.submission-ticket span,.submission-ticket strong{display:block}.submission-ticket span{color:#ffffffb8;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.submission-ticket strong{overflow-wrap:anywhere;margin-top:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-height:128px;padding:19px}.metric-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:850}.metric-value{letter-spacing:-.025em;margin-top:9px;font-size:19px;font-weight:850;line-height:1.35}.result-section{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:28px;padding:24px}.result-section h3{letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;font-size:13px}.bar-list{gap:14px;display:grid}.bar-row{grid-template-columns:90px minmax(0,1fr) 42px;align-items:center;gap:13px;font-size:13px;display:grid}.bar-label{font-weight:800}.bar-track{background:#e9e7df;border-radius:999px;height:10px;overflow:hidden}.bar-value{border-radius:inherit;background:linear-gradient(90deg, var(--green), #6d9a77);height:100%}.bar-score{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.pill{background:var(--green-pale);color:var(--green-dark);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:780}.result-disclaimer{color:var(--muted);background:#f3f1eb;border-radius:13px;margin-top:23px;padding:15px;font-size:12px;line-height:1.62}.result-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;display:flex}.result-action-group{flex-wrap:wrap;gap:9px;display:flex}.legal-shell{place-items:center;min-height:100vh;padding:32px 16px;display:grid}.legal-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper);width:min(760px,100%);box-shadow:var(--shadow);padding:clamp(26px,6vw,58px)}.legal-card>h1{font-size:clamp(34px,6vw,56px)}.legal-updated{color:var(--muted);margin:16px 0 35px;font-size:12px}.legal-card section{margin-top:28px}.legal-card section h2{margin:0 0 8px;font-size:16px}.legal-card section p,.legal-card>p:not(.eyebrow):not(.legal-updated){color:var(--ink-soft);margin:0;line-height:1.75}.legal-notice{background:var(--amber-pale);color:#744216;border:1px solid #e5c79a;border-radius:13px;margin:31px 0 24px;padding:15px;font-size:12px;line-height:1.6}.compact-card{text-align:center}.inline-button{margin-top:24px}@media (max-width:820px){.hero,.result-header{grid-template-columns:1fr}.hero{gap:26px}.hero-aside{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stat{border-bottom:0;gap:5px;padding:0;display:grid}.result-grid{grid-template-columns:1fr}}@media (max-width:640px){.site-shell{width:min(100% - 20px,1120px);padding-top:14px}.topbar{padding-bottom:22px}.top-meta{display:none}.hero{padding:18px 4px 34px}.hero-aside{grid-template-columns:1fr}.hero-stat{border-bottom:1px solid var(--line);padding-bottom:10px;display:flex}.progress-shell{padding:18px 20px 15px}.field-grid,.choice-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.step-panel{padding:28px 20px}.question-card{padding:17px 13px}.scale-row{gap:5px}.actions,.result-actions{flex-direction:column-reverse;align-items:stretch}.actions .button,.result-actions .button,.result-action-group{width:100%}.bar-row{grid-template-columns:76px minmax(0,1fr) 34px;gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
