@import url('/foundation.css');
:root{font-family:Pretendard,'Noto Sans KR','Apple SD Gothic Neo',system-ui,sans-serif;color:#15221d;background:#fafcfb;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}input,textarea,select{color:#14251d}button{cursor:pointer}:focus-visible{outline:3px solid #237d60;outline-offset:3px}[hidden]{display:none!important}
.diag-container{width:min(1320px,calc(100% - 80px));margin-inline:auto}
.skip{position:absolute;top:-100px;left:10px;background:white;padding:12px;z-index:999}.skip:focus{top:10px}
.diag-header{position:sticky;top:0;z-index:80;background:#fffffff2;border-bottom:1px solid #dce4df;backdrop-filter:blur(12px)}
.diag-header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.diag-logo img{display:block;width:148px;height:auto}.diag-header nav{display:flex;align-items:center;gap:clamp(15px,2.5vw,36px);font-size:14px;font-weight:720}.diag-nav-contact{border:1px solid #17291f;padding:14px 22px;white-space:nowrap}
.diag-hero{padding:clamp(55px,7vw,110px) 0 96px;background:linear-gradient(140deg,#f7faf8,#e9f2ee 85%);border-bottom:1px solid #dce7e1}
.diag-hero-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.diag-overline{font-family:Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:.12em;display:flex;gap:13px;align-items:center;flex-wrap:wrap;color:#31544a}
.diag-pill{font-size:10px;letter-spacing:.06em;background:#223d37;color:#cbf8e9;padding:8px 10px;border-radius:2px}
.diag-intro h1{font-size:clamp(58px,6.2vw,100px);letter-spacing:-.075em;line-height:1.13;word-break:keep-all;margin:50px 0 31px;font-weight:900}
.diag-intro h1 em{font-style:normal;color:#24886e}.diag-lead{font-size:clamp(18px,1.65vw,24px);line-height:1.68;letter-spacing:-.043em;max-width:565px}.diag-lead strong{display:block;font-weight:800}
.diag-disclaimer{font-size:13px;line-height:1.95;max-width:520px;color:#5b6c65;margin:23px 0 38px}
.diag-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:520px}
.diag-steps span{display:flex;align-items:center;gap:14px;padding:13px 8px;border-top:1px solid #becfc5;font-size:13px;font-weight:740}.diag-steps b{color:#397964;font-size:11px}
.diag-form-surface{background:white;border:1px solid #d9e3dc;box-shadow:0 25px 65px #20362d16;padding:clamp(24px,3vw,42px)}
.diag-form-head{display:flex;justify-content:space-between;gap:20px;padding-bottom:21px;border-bottom:1px solid #dce8e0}.diag-form-head span{font-size:11px;letter-spacing:.11em;color:#587568}.diag-form-head strong{font-size:13px}
.diag-availability{border-left:3px solid #458f70;background:#edf7f1;padding:12px 14px;margin:21px 0;font-size:13px;line-height:1.7;color:#274738}
.diag-availability.disabled{border-color:#8e9c94;background:#f4f5f4;color:#617168}
.diag-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}
.diag-fields label,.diag-consult-grid form>label:not(.diag-checkbox){display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:760}
.diag-fields label span,.diag-checkbox b{color:#ba3c40}
.diag-full{grid-column:1 / -1}
.diag-fields input,.diag-fields textarea,.diag-consult-grid input,.diag-consult-grid select{width:100%;min-width:0;padding:13px 15px;background:#f8faf9;border:1px solid #d6e0da;border-radius:0;font-size:14px;outline-color:#258d70}
.diag-fields input::placeholder,.diag-fields textarea::placeholder{color:#94a39a;font-weight:400}
.diag-fields textarea{resize:vertical;min-height:74px}.diag-honeypot{position:absolute;left:-9999px;height:0;opacity:0;pointer-events:none}
.diag-consent-wrap{margin:25px 0 18px}.diag-checkbox{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;font-weight:580}
.diag-checkbox input{flex:none;margin-top:4px;width:17px;height:17px;accent-color:#276b53}
.diag-privacy{margin:9px 0 0 27px;color:#63776b;font-size:12px;line-height:1.85}.diag-privacy summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.diag-privacy p{padding:10px 0 0;margin:0;line-height:1.9}
.diag-primary{border:1px solid #15271c;background:#15271c;color:white;width:100%;padding:19px 22px;font-weight:840;font-size:15px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.diag-primary:hover:not(:disabled){background:#245947}.diag-primary:disabled{background:#a4afa9;color:#fff;border-color:#a4afa9;cursor:not-allowed}
.diag-primary span{font-size:19px}.diag-small{font-size:12px;color:#697970;line-height:1.85;margin:13px 0 0}
.diag-error{padding:15px;border:1px solid #e0bfc0;background:#fff1f0;color:#8b2b35;font-size:13px;line-height:1.7;margin:18px 0 0}
.diag-stage{padding-block:75px 100px}.diag-stage h2,.diag-results h2,.diag-consult h2{font-size:clamp(33px,4.5vw,58px);line-height:1.25;letter-spacing:-.056em;word-break:keep-all;margin:19px 0}
.diag-stage p{line-height:1.8;color:#64766c}.diag-stage-top{display:flex;align-items:center;gap:12px;color:#5c786d;font:750 11px Arial,sans-serif;letter-spacing:.11em}
.diag-step-no{display:inline-flex;align-items:center;justify-content:center;background:#17291f;color:white;width:30px;height:30px;font-weight:800}
.diag-progressbar{height:6px;margin:33px 0 16px;background:#dae6df;max-width:730px;overflow:hidden}
.diag-progressbar span{display:block;height:100%;width:40%;background:#2d8a6c;animation:diag-loading 2.2s ease-in-out infinite}
@keyframes diag-loading{0%{transform:translateX(-110%)}100%{transform:translateX(280%)}}
.diag-secondary{border:1px solid #15271c;background:#fff;color:#15271c;font-size:14px;font-weight:770;padding:15px 21px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:51px}
.diag-secondary:hover{background:#f1f7f3}
.diag-results{padding:87px 0 100px;background:#fff;border-top:1px solid #d8e4dc;border-bottom:1px solid #dce7df}
.diag-results-note{font-size:14px;max-width:830px;line-height:1.95;color:#68796e;margin:16px 0 35px}
.diag-score-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px}
.diag-score{background:#17392f;color:#fff;display:flex;flex-direction:column;align-items:flex-start;padding:35px}.diag-score>span{font-size:13px;color:#c4ead8}.diag-score strong{font-size:86px;letter-spacing:-.07em;margin:22px 0 10px;font-weight:820}.diag-score small{color:#a3d2b9;font-size:12px}
.diag-score-more{border:1px solid #dce7e0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.diag-score-more>div{padding:33px 24px;border-right:1px solid #dce7e0;display:flex;flex-direction:column;gap:24px;justify-content:space-between}
.diag-score-more>div:last-child{border:0}.diag-score-more span{color:#708074;font-size:13px;line-height:1.5}.diag-score-more b{font-size:clamp(18px,2.4vw,30px);line-height:1.4;word-break:break-word}
.diag-issue{background:#f2f7f4;margin:25px 0;padding:30px}.diag-issue h3{font-size:18px;margin:0 0 10px}.diag-issue p{white-space:pre-line;color:#435f4f;font-size:14px;line-height:2;margin:0}
.diag-evidence-title{font-size:25px;margin:40px 0 19px;letter-spacing:-.04em}
.diag-evidence-entry{padding:20px 0;border-top:1px solid #dce5df}.diag-evidence-entry summary{font-size:15px;font-weight:770;cursor:pointer;line-height:1.65}
.diag-evidence-entry p{margin:12px 0;color:#53685b;font-size:13px;line-height:1.75}
.diag-evidence-entry ul{padding-left:18px;font-size:12px;line-height:1.8;color:#456756}.diag-evidence-entry a{text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.diag-method{font-size:12px;color:#7a8b80;line-height:1.8;margin-top:30px}
.diag-next{display:flex;gap:30px;justify-content:space-between;align-items:center;background:#172c24;color:#fff;padding:45px;margin-top:43px}
.diag-next span{color:#9dc7b3;font-size:11px;letter-spacing:.13em}.diag-next h3{font-size:clamp(25px,3vw,40px);line-height:1.35;letter-spacing:-.04em;margin:15px 0}
.diag-next p{font-size:14px;line-height:1.85;color:#bdcfc5;max-width:460px}.diag-next a{white-space:nowrap}
.diag-consult{background:#ecf4ee;padding:95px 0 115px}
.diag-consult-grid{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(35px,7vw,100px);margin-top:25px}
.diag-consult-grid>div:first-child p{color:#64766b;font-size:15px;line-height:1.95;max-width:500px}.diag-text-link{display:inline-block;border-bottom:1px solid #2d765a;margin-top:15px;padding:6px 0;color:#2e614a;font-weight:760;font-size:14px}
.diag-consult-grid form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:33px;background:#fff;border:1px solid #d6e2da}
.diag-consult-grid form label{font-size:13px;font-weight:700;line-height:1.55}
.diag-consult-grid form label input,.diag-consult-grid select{margin-top:8px}
.diag-consult-grid form .diag-checkbox input{margin-top:3px}
.diag-consult-grid form button{grid-column:1/-1}
.diag-confirm{padding:25px;background:#d6efdf;color:#225136;font-size:15px;font-weight:750;line-height:1.8;border:1px solid #abd5b7}
.diag-footer{background:#17271e;color:#fff;padding:37px 0}
.diag-footer .diag-container{display:flex;justify-content:space-between;gap:15px;align-items:center}
.diag-footer strong{font-weight:900}.diag-footer span{font:700 10px Arial,sans-serif;letter-spacing:.12em;color:#a8c3ae}.diag-footer a{font-size:12px;text-decoration:underline}
@media(max-width:990px){.diag-container{width:min(100% - 48px,850px)}.diag-hero-grid,.diag-consult-grid{grid-template-columns:1fr}.diag-intro h1{margin-top:28px}.diag-hero{padding-bottom:68px}.diag-score-layout{grid-template-columns:1fr}.diag-score{min-height:200px}.diag-score strong{margin:6px 0}}
@media(max-width:640px){.diag-container{width:calc(100% - 32px)}.diag-header-inner{height:68px;gap:10px}.diag-logo img{width:119px}.diag-header nav{gap:11px;font-size:11px}.diag-header nav a:not(.diag-nav-contact){display:none}.diag-nav-contact{padding:10px 12px}.diag-hero{padding-top:47px}.diag-intro h1{font-size:clamp(48px,11vw,72px)}.diag-overline{font-size:10px}.diag-lead{font-size:17px}.diag-fields{grid-template-columns:1fr}.diag-form-surface{padding:22px 18px}.diag-steps{gap:7px}.diag-steps span{font-size:11px;gap:6px}.diag-steps b{font-size:10px}.diag-score-more{grid-template-columns:1fr}.diag-score-more>div{min-height:82px;padding:15px 20px;border-right:0;border-bottom:1px solid #dce7e0;gap:5px}.diag-next{padding:25px;align-items:stretch;flex-direction:column}.diag-consult-grid form{grid-template-columns:1fr;padding:20px}.diag-footer .diag-container{flex-wrap:wrap}.diag-stage,.diag-results,.diag-consult{padding-block:60px}.diag-score strong{font-size:66px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.diag-progressbar span{animation:none;width:65%}}


/* Real existing ANDY model sheets: cropped character portraits, no newly invented faces. */
.diag-character-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 25px;max-width:540px}
.diag-person{margin:0;background:#111925;border:1px solid #7dc9b655;box-shadow:0 10px 28px #0b22152c;min-width:0;overflow:hidden;border-radius:12px}
.diag-portrait{position:relative;width:100%;height:clamp(168px,17vw,230px);overflow:hidden;background:radial-gradient(circle at 50% 30%,#284a4c,#111a27)}
.diag-portrait img{position:absolute;top:0;left:-9.615%;width:431.54%;max-width:none;height:auto;object-fit:initial;transform:translateY(-36.38%);pointer-events:none;user-select:none}
.diag-portrait-dy img{left:-10.85%;width:434.88%;transform:translateY(-32.67%)}
.diag-person figcaption{display:flex;flex-direction:column;gap:4px;min-height:71px;padding:14px 14px 13px;color:#f9fdfc}
.diag-person figcaption b{font-size:17px;letter-spacing:-.045em}
.diag-person figcaption b span{font-size:11px;color:#a4dcb8;font-weight:650;margin-left:6px;letter-spacing:0}
.diag-person figcaption small{font-size:11px;color:#abbfb4;line-height:1.65}
.diag-hero .diag-intro h1{margin-bottom:25px}
.diag-disclaimer{font-size:12px}
.diag-form-head strong{color:#217457}
.diag-primary:not(:disabled){background:linear-gradient(100deg,#183e2d,#235e45);box-shadow:0 8px 22px #2f7a5030}
.diag-primary:focus-visible{outline:3px solid #2eab76;outline-offset:3px}
@media(max-width:990px){.diag-character-duo{max-width:590px}.diag-portrait{height:220px}}
@media(max-width:640px){.diag-character-duo{gap:10px;margin:22px 0}.diag-portrait{height:165px}.diag-person figcaption{padding:11px 9px;min-height:76px}.diag-person figcaption b{font-size:15px}.diag-person figcaption b span{font-size:10px;display:block;margin:2px 0 0}.diag-person figcaption small{font-size:10px}.diag-hero .diag-intro h1{margin-top:16px}}

.diag-jump-cta{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:540px;min-height:62px;background:#d3ff86;color:#1f422c;border:2px solid #a3dd67;border-radius:10px;padding:16px 19px;font-size:18px;font-weight:900;letter-spacing:-.04em;box-shadow:0 9px 25px #5e9d592f;margin:27px 0 0}
.diag-jump-cta span:last-child{font-size:25px}
.diag-jump-cta:hover{background:#c6f46c;transform:translateY(-2px)}
#diag-form{scroll-margin-top:135px}
@media(max-width:640px){.diag-jump-cta{font-size:16px;min-height:56px;padding:12px 17px;margin-top:15px}#diag-form{scroll-margin-top:96px}}
@media(prefers-reduced-motion:reduce){.diag-jump-cta:hover{transform:none}}

/* Optional Gemini analysis: invisible until backend config confirms a trusted bridge. */
.diag-deep{margin:38px 0 20px;padding:30px;background:linear-gradient(130deg,#edf7f1,#f6f9fe);border:1px solid #c8e0d2;border-left:5px solid #4aaf83}
.diag-deep h3{font-size:clamp(23px,2.5vw,34px);letter-spacing:-.05em;margin:13px 0}
.diag-deep>p:not(.diag-overline){font-size:14px;line-height:1.9;color:#4a6255;max-width:830px}
.diag-deep .diag-checkbox{margin:18px 0}
.diag-deep-button{background:#153c2b;color:#fff}
.diag-deep-button:hover:not(:disabled){background:#26543c;color:#fff}
.diag-deep-button:disabled{opacity:.5;cursor:wait}
.diag-deep-report{background:#fff;border:1px solid #cadfd1;padding:22px 25px;margin-top:24px}
.diag-deep-report section{padding:17px 0;border-top:1px solid #e0e9e3}
.diag-deep-report h4{font-size:16px;margin:0 0 8px}
.diag-deep-report p{font-size:14px;line-height:1.9;white-space:pre-line;margin:0;color:#45594c}
@media(max-width:640px){.diag-deep{padding:20px}.diag-deep-report{padding:18px}}
