:root{--primary:#004aac;--navy:#101c38;--muted:#52617c;--stroke:#dce5f4;--bg:#f3f7ff}
[hidden]{display:none!important}
body{background:linear-gradient(180deg,#eaf2ff 0,#f7f9fd 390px)}
.wrapper{width:min(100% - 36px,1140px)}
main{padding-top:32px}
main>nav{font-size:.9rem;color:#53647a}
h1{letter-spacing:-.035em;max-width:850px;font-size:clamp(2.05rem,5vw,3.2rem);line-height:1.12}
.lede{font-size:1.13rem;color:#4f6078;max-width:810px;margin-bottom:32px}
.tool-card,.editorial{background:#fff;border:1px solid var(--stroke);border-radius:24px;padding:clamp(18px,3.3vw,34px);box-shadow:0 12px 38px rgba(8,30,75,.045);margin:22px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:#1453a9;font-size:.73rem;font-weight:800}
.tool-card h2,.editorial h2{line-height:1.2;color:var(--navy);font-size:clamp(1.35rem,3vw,1.9rem);margin:9px 0 12px}
.hint,.help{color:#62738a;font-size:.89rem}
.examples{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 26px}
button{transition:background .15s ease,transform .15s ease;font-weight:700}
button:hover{background:#003c8b}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #89baf7;outline-offset:3px}
button:active{transform:translateY(1px)}
button.secondary{background:#eaf2ff;color:#174b8e;border:1px solid #bdd3ee}
button.secondary:hover{background:#dae9ff}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field.wide{grid-column:1/-1}
.field label{font-weight:720;font-size:.94rem;line-height:1.35}
.field input,.field select{width:100%;max-width:none;padding:12px 13px;border:1px solid #bfcde1;border-radius:11px;color:#18233d;background:#fff;font-size:1rem;min-height:48px}
.field select{cursor:pointer}
.field .help{margin:0}
fieldset{margin:25px 0 0;border:1px solid #d9e4f4;border-radius:16px;padding:18px}
legend{font-weight:800;color:#143765;padding:0 8px}
.form-actions,.download-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:23px}
.form-actions button{min-height:49px}
.error{border-left:4px solid #af2525;background:#fff3f3;padding:13px;border-radius:8px;color:#861b1b;margin-top:14px}
.status{font-size:.9rem;color:var(--muted);margin-top:12px}
.results{margin-top:30px;border-top:1px solid var(--stroke);padding-top:25px}
.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.metric{background:#f3f7ff;border:1px solid #e0eafb;border-radius:14px;padding:16px}
.metric.primary{background:#ebf2ff;border-color:#b8d5ff}
.metric .name{font-size:.83rem;color:#51627a;display:block}
.metric .value{font-size:clamp(1.3rem,2.5vw,1.85rem);font-weight:820;color:#073e92;display:block;line-height:1.35;overflow-wrap:anywhere}
.result-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center}
.result-details dt{color:#53647c;font-size:.86rem}
.result-details dd{margin:0 0 10px;font-weight:800;color:#182847}
.preview-shell{background:#f3f6fc;border:1px solid #d8e3f4;border-radius:15px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:12px}
.label-preview{width:min(100%,350px);background:linear-gradient(135deg,#dfeafa,#fff);border:2px dashed #1c56ab;box-shadow:0 3px 12px rgba(0,35,100,.1);min-height:3px}
.preview-shell small{text-align:center;color:#51617a}
.notice{border-left:4px solid #d69b27;background:#fff8e7;color:#654911;padding:12px 15px;border-radius:7px;margin:18px 0}
.illustration-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;list-style:none}
.illustration-steps li{border:1px solid #e0e8f5;border-radius:14px;padding:14px;background:#f9fbff}
.illustration-steps strong{display:block;color:#12428b}
details{padding:15px 0;border-bottom:1px solid #e5ebf6}
summary{cursor:pointer;font-weight:750;color:#173761}
details p{margin-bottom:0;color:#526179}
.referral{background:linear-gradient(135deg,#edf5ff,#fff)}
.referral .cta-link{display:inline-block;background:#004aac;color:white;text-decoration:none;padding:13px 18px;border-radius:10px;font-weight:750;margin-top:8px}
.referral .cta-link:hover{background:#003b86}
.referral small{display:block;margin-top:14px;color:#526179}
@media(max-width:720px){.field-grid,.result-details{grid-template-columns:1fr}.illustration-steps{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.wrapper{width:calc(100% - 24px)}.tool-card,.editorial{border-radius:16px;padding:16px}.metric{padding:11px}.metric .value{font-size:1.18rem}.form-actions button,.download-actions button{width:100%}}
@media print{header,footer,.examples,.form-actions,.download-actions,main>nav{display:none!important}body{background:white}.tool-card,.editorial{box-shadow:none}.results{display:block!important}}
