:root{
  --navy:#0c2d52;--navy-2:#143f69;--teal:#0f9db0;--teal-dark:#087d8e;--coral:#ee6b36;
  --ink:#172638;--muted:#637387;--line:#dbe5ed;--soft:#f1f6f8;--paper:#fff;--cream:#fbfaf6;
  --green:#198665;--red:#ba3d35;--shadow:0 18px 50px rgba(12,45,82,.10);--radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
a{color:var(--teal-dark)}
.site-header{height:74px;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:auto;padding:0 24px}
.brand{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none}
.brand-mark{width:39px;height:39px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,var(--navy),var(--teal));color:#fff;font:800 12px Georgia,serif;letter-spacing:-.03em;box-shadow:0 8px 18px rgba(12,45,82,.2)}
.brand strong{font:700 17px Georgia,"Times New Roman",serif;display:block;line-height:1.1}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.04em;margin-top:3px}
.bilingual-badge{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;color:var(--navy);font-weight:700;font-size:12px}
main{max-width:1180px;margin:auto;padding:0 24px 80px}
.hero{min-height:355px;border-radius:28px;background:radial-gradient(650px 320px at 82% -10%,rgba(15,157,176,.38),transparent 65%),linear-gradient(145deg,#081f3a,var(--navy));color:#fff;padding:60px 68px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-180px;bottom:-210px;box-shadow:0 0 0 55px rgba(255,255,255,.03),0 0 0 110px rgba(255,255,255,.025)}
.eyebrow{margin:0;color:#75d8e4;font-size:12px;letter-spacing:.16em;font-weight:800}
.hero h1{margin:12px 0 12px;color:#fff;font:700 clamp(38px,5vw,62px)/1.07 Georgia,"Songti SC",serif;letter-spacing:-.035em}.hero h1 em{font-style:normal;color:#f4b857}
.hero-en{max-width:590px;margin:0;color:#c8dbea;font-size:18px;line-height:1.5}
.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.hero-meta span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:7px 11px;border-radius:999px;color:#e8f2f8;font-size:12px;font-weight:650}
.hero-actions{display:flex;align-items:center;gap:14px;margin-top:17px;flex-wrap:wrap}.print-link{display:inline-flex;align-items:center;gap:5px;border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:9px 14px;color:#fff;text-decoration:none;font-size:12px;font-weight:800;background:rgba(255,255,255,.08)}.print-link:hover{background:rgba(255,255,255,.14)}.print-link small{font-weight:500;color:#bcd1df}.hero-actions>span{color:#8fadc2;font-size:9.5px;line-height:1.4}
.hero-note{border-left:2px solid var(--teal);padding:4px 0 4px 25px;position:relative;z-index:1}.hero-note .note-number{display:block;color:#6fcbd6;font:700 13px Georgia,serif;letter-spacing:.12em;margin-bottom:10px}.hero-note p{margin:0 0 12px;color:#eef6fb;font-size:15px}.hero-note .en{color:#a9c3d7;font-size:13px}
.assessment-shell{margin-top:28px;display:grid;grid-template-columns:275px minmax(0,1fr);gap:24px;align-items:start}
.step-nav{background:var(--navy);color:#fff;border-radius:var(--radius);padding:24px 18px;position:sticky;top:18px;box-shadow:var(--shadow)}
.progress-head{padding:0 7px 20px;border-bottom:1px solid rgba(255,255,255,.13)}.progress-head>span{display:flex;justify-content:space-between;color:#bcd0df;font-size:12px}.progress-head b{color:#fff}.progress-track{height:4px;background:rgba(255,255,255,.13);margin-top:10px;border-radius:99px;overflow:hidden}.progress-track i{display:block;height:100%;width:16.666%;background:var(--teal);border-radius:99px;transition:width .25s}
.step-nav ol{padding:15px 0;margin:0;list-style:none}.step-nav li button{width:100%;display:flex;gap:14px;align-items:center;background:transparent;border:0;color:#8eabc0;padding:11px 8px;text-align:left;cursor:pointer;border-radius:10px}.step-nav li button:hover{background:rgba(255,255,255,.06)}.step-nav li b{font:700 12px Georgia,serif;color:#6688a2}.step-nav li span{font-size:14px;font-weight:700}.step-nav li small{display:block;color:#7291a8;font-size:10px;font-weight:500;margin-top:2px}.step-nav li.active button{color:#fff;background:rgba(15,157,176,.13)}.step-nav li.active b{color:#67d3df}.step-nav li.active small{color:#a9c5d7}.step-nav li.done b{color:#63ccad}.step-nav li.done b::after{content:" ✓"}
.privacy-mini{border-top:1px solid rgba(255,255,255,.13);padding:18px 8px 0;display:flex;gap:10px;color:#89a6bb;font-size:11px}.privacy-mini p{margin:0}.privacy-mini a{color:#a9dce3}
#assessmentForm{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.form-step{display:none;padding:42px 46px 22px}.form-step.active{display:block;animation:fade .2s ease-out}@keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.section-heading{padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:28px}.section-no{color:var(--teal-dark)!important;letter-spacing:.14em;font-weight:800;font-size:11px!important}.section-heading h2{font:700 31px/1.2 Georgia,"Songti SC",serif;color:var(--navy);margin:7px 0 3px}.section-heading p{margin:0;color:var(--muted);font-size:13px}
.field-grid{display:grid;gap:22px}.field-grid.two{grid-template-columns:1fr 1fr}
[hidden]{display:none!important}.age-question{padding-bottom:24px;margin-bottom:24px}.data-min-note{margin:-7px 0 12px;color:var(--muted);font-size:11px}.age-stop{border:1px solid #e6aaa6;background:#fff7f6;border-radius:13px;padding:19px 20px;color:#63342f}.age-stop strong{display:block;color:var(--red);font-size:16px}.age-stop p{font-size:12px;margin:7px 0}.age-stop .btn{margin-top:7px;width:max-content;max-width:100%}
.field{display:block}.field>span,.question legend>span{display:inline-block;font-weight:750;color:var(--navy);font-size:14px;margin-bottom:7px}.field span small,.question legend small{color:var(--muted);font-weight:500;margin-left:5px}.field span i,.question legend>i{color:var(--coral);font-style:normal;margin-left:4px}.field input,.field select,.field textarea{display:block;width:100%;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:12px 13px;outline:0;transition:border-color .16s,box-shadow .16s}.field textarea{resize:vertical;min-height:88px}.field input:focus,.field select:focus,.field textarea:focus,.essay-card textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,157,176,.1)}.field em{display:block;color:var(--muted);font-size:10.5px;font-style:normal;margin-top:6px;line-height:1.45}.field.full{margin-top:18px}.field.compact{max-width:520px;margin-top:18px}.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:var(--red)}
.question{border:0;padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line);min-width:0}.question:last-of-type{border-bottom:0;margin-bottom:0}.question legend{width:100%;padding:0;margin:0 0 13px;display:flex;align-items:start;justify-content:space-between}.question legend>span{font-size:16px}
.choice-grid{display:grid;gap:10px}.choice-grid.two{grid-template-columns:repeat(2,1fr)}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-grid.four{grid-template-columns:repeat(4,1fr)}
.choice{position:relative;cursor:pointer;min-width:0}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{min-height:58px;display:flex;flex-direction:column;justify-content:center;border:1.5px solid var(--line);border-radius:11px;padding:10px 13px;color:var(--ink);font-size:13px;font-weight:700;transition:.15s;background:#fff}.choice small{display:block;color:var(--muted);font-weight:500;font-size:10.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}.choice input:checked+span{border-color:var(--teal);background:#edf9fa;color:var(--navy);box-shadow:inset 3px 0 var(--teal)}.choice input:focus-visible+span{outline:3px solid rgba(15,157,176,.2);outline-offset:2px}.choice:hover span{border-color:#a8c9d0}
.question.invalid .choice span{border-color:#e6aaa6}.group-error{color:var(--red);font-size:12px;margin:8px 0 0}
.rating-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;background:var(--soft);border-radius:12px;padding:13px 15px}.rating-wrap>span{font-size:13px;font-weight:700;color:var(--navy)}.rating-wrap>span small{font-weight:500;color:var(--muted);display:block;font-size:10px}.rating{display:flex;gap:6px}.rating label{cursor:pointer}.rating input{position:absolute;opacity:0}.rating span{display:grid;place-items:center;width:38px;height:34px;border-radius:8px;background:#fff;border:1.5px solid var(--line);color:var(--muted);font-weight:750;font-size:13px}.rating input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}.rating input:focus-visible+span{outline:3px solid rgba(15,157,176,.25)}.rating.invalid span{border-color:#e6aaa6}
.profile-ratings .rating-wrap{margin-top:10px}
.essay-card{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}.essay-card label>span{display:block;color:var(--navy);font-weight:750;font-size:15px;padding-right:20px}.essay-card label>span b{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:7px;border-radius:50%;background:var(--navy);color:#fff;font:700 12px Georgia,serif}.essay-card label>span small{display:block;color:var(--muted);font-weight:500;font-size:12px;margin:5px 0 0 33px}.essay-card textarea{width:100%;margin-top:13px;border:1.5px solid var(--line);border-radius:11px;padding:13px;resize:vertical;outline:0;background:#fff}.essay-card em{display:block;text-align:right;color:var(--muted);font-size:11px;font-style:normal;margin-top:5px}.essay-card.invalid{border-color:#e6aaa6;background:#fff7f6}
.consent{display:flex;gap:13px;align-items:flex-start;border:1px solid #c9ded9;background:#f0f9f6;padding:16px;border-radius:12px;cursor:pointer}.consent input{margin-top:4px;accent-color:var(--teal);width:17px;height:17px;flex:none}.consent span{font-size:12px;color:#24493f}.consent small{display:block;margin-top:4px;color:#50736a}.consent.invalid{border-color:#e6aaa6;background:#fff7f6}
.review-note{display:flex;gap:12px;margin-top:17px;padding:16px;border-left:3px solid var(--teal);background:#f7fbfc;color:var(--muted);font-size:12px}.review-note>span{color:var(--teal);font-weight:900}.review-note p{margin:0}.review-note b{color:var(--navy)}
.form-error{display:none;margin:0 46px 15px;padding:11px 13px;border-radius:9px;background:#fff0ef;color:var(--red);font-size:13px}.form-error.show{display:block}
.form-actions{border-top:1px solid var(--line);padding:18px 46px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:#fbfcfd}.form-actions p{margin:0;text-align:center;color:var(--muted);font-size:11px}.btn{border:0;border-radius:999px;padding:12px 20px;font-weight:800;cursor:pointer;transition:transform .15s,box-shadow .15s;display:inline-flex;justify-content:center;align-items:center;gap:5px;text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn span{font-weight:500;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn.secondary{justify-self:start;background:#eef3f6;color:var(--navy)}.btn.primary,.btn.submit{justify-self:end;background:var(--coral);color:#fff;box-shadow:0 8px 20px rgba(238,107,54,.24)}.btn.submit[hidden],.btn.primary[hidden]{display:none}.btn.loading{pointer-events:none;opacity:.7}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important}
.success-card{max-width:700px;margin:40px auto 0;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:54px;text-align:center}.success-card[hidden]{display:none}.success-mark{width:60px;height:60px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e9f8f2;color:var(--green);font-size:28px;font-weight:900}.success-card h2{font:700 34px Georgia,"Songti SC",serif;color:var(--navy);margin:8px 0 0}.success-en{color:var(--muted);margin:4px 0 22px}.success-card>p:not(.eyebrow):not(.success-en){max-width:520px;margin:20px auto;color:var(--muted)}.code-box{display:inline-flex;flex-direction:column;background:var(--soft);border:1px solid var(--line);padding:14px 28px;border-radius:12px}.code-box small{color:var(--muted);font-size:10px}.code-box strong{color:var(--navy);font:700 20px Georgia,serif;letter-spacing:.08em;margin-top:3px}.success-card .btn{justify-self:auto}.success-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.success-actions .btn.secondary{background:var(--soft);color:var(--navy)}
.site-footer{max-width:1180px;margin:auto;border-top:1px solid var(--line);padding:28px 24px 40px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.site-footer nav{display:flex;gap:18px}.site-footer a{text-decoration:none;color:var(--muted)}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding:44px;gap:28px}.hero-note{max-width:600px}.assessment-shell{grid-template-columns:1fr}.step-nav{position:static;padding:18px}.step-nav ol{display:none}.privacy-mini{display:none}.progress-head{padding:0;border:0}.field-grid.two{grid-template-columns:1fr}.choice-grid.three{grid-template-columns:repeat(2,1fr)}.choice-grid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.site-header{height:66px;padding:0 16px}.bilingual-badge{display:none}main{padding:0 12px 50px}.hero{border-radius:18px;padding:34px 24px;min-height:0}.hero h1{font-size:38px}.hero-en{font-size:15px}.assessment-shell{margin-top:12px;gap:12px}.form-step{padding:30px 20px 15px}.section-heading h2{font-size:27px}.choice-grid.two,.choice-grid.three,.choice-grid.four{grid-template-columns:1fr}.rating-wrap{align-items:flex-start;flex-direction:column}.rating{width:100%}.rating label{flex:1}.rating span{width:100%}.form-actions{padding:15px 20px;grid-template-columns:1fr 1fr}.form-actions p{display:none}.form-error{margin:0 20px 12px}.btn{padding:11px 15px}.success-card{padding:38px 20px}.site-footer{flex-direction:column;gap:15px}.site-footer nav{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.form-step.active{animation:none}.btn{transition:none}}
