:root{--navy:#0d1836;--dark:#06112b;--blue:#004aac;--blue2:#125ccd;--muted:#64728b;--bg:#f4f7fc;--line:#dce5f1;--mint:#e5f8f0;--red:#fff0ed;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--navy);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
button,input{font:inherit}
button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #5ea5ff;outline-offset:3px}
button{cursor:pointer}
.container{width:min(1192px,calc(100% - 48px));margin-inline:auto}
.site-header{background:#030b29;border-bottom:1px solid rgba(255,255,255,.12)}
.header-inner{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.brand img{width:178px;max-width:100%;height:auto;display:block}
.top-nav{display:flex;align-items:center;gap:22px}
.top-nav a{color:#e6efff;font-weight:600;font-size:.91rem;text-decoration:none}
.top-nav a:hover{text-decoration:underline}
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:11px;padding:25px 0 10px;font-size:.86rem;color:var(--muted)}
.breadcrumbs a{color:#385780}
.hero{position:relative;overflow:hidden;padding:40px 45px 44px;margin-top:16px;background:linear-gradient(126deg,#061a47 0%,#004aac 75%,#2673df 100%);border-radius:26px;color:#fff}
.hero:after{content:"";position:absolute;right:-110px;top:-140px;width:380px;height:380px;border-radius:50%;border:70px solid rgba(255,255,255,.07);pointer-events:none}
.eyebrow{display:inline-flex;align-items:center;gap:7px;color:inherit;font-weight:750;letter-spacing:.08em;font-size:.73rem;text-transform:uppercase}
.hero .eyebrow{color:#acd5ff}
h1,h2,h3,h4,p{margin-top:0}
h1{font-weight:800;max-width:830px;font-size:clamp(2rem,4.3vw,3.8rem);letter-spacing:-.048em;line-height:1.11;margin:16px 0}
h1 em{color:#8ecbff;font-style:normal}
.lead{max-width:760px;font-size:clamp(1rem,1.7vw,1.18rem);line-height:1.7;color:#deecff;margin:0}
.hero-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.hero-points span{border:1px solid rgba(255,255,255,.22);border-radius:30px;background:rgba(255,255,255,.1);padding:6px 12px;font-size:.82rem;font-weight:650}
.tool-section{margin:48px 0}
.section-intro{margin-bottom:22px}
.section-intro h2{font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1.25;letter-spacing:-.035em;margin:0 0 5px}
.section-intro p{margin:0;color:var(--muted)}
.tool-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:22px;align-items:start}
.card,.content-card{border-radius:20px;border:1px solid var(--line);background:white;box-shadow:0 14px 32px rgba(19,40,78,.04)}
.card-head{padding:24px 28px 18px;border-bottom:1px solid var(--line)}
.step-label{display:block;color:var(--blue);font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}
.card-head h3{font-size:1.45rem;letter-spacing:-.027em;line-height:1.3;margin-bottom:4px}
.card-head p{color:var(--muted);font-size:.9rem;margin:0}
.form-body{padding:0 28px 27px}
fieldset{margin:0;padding:23px 0 20px;border:0;border-bottom:1px solid var(--line);min-width:0}
legend{padding:20px 0 0;font-size:.94rem;font-weight:800;color:#22385c}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field-wide{grid-column:span 2}
.field span{font-weight:700;font-size:.88rem}
.field input{display:block;width:100%;background:#f9fbff;border:1px solid #cbd7e7;border-radius:10px;padding:12px 13px;line-height:1.3;color:var(--navy);font-weight:750;font-size:1rem;min-width:0;transition:border .18s,box-shadow .18s}
.field input:hover{border-color:#8fb4e8}
.field input:focus{background:white;border-color:#2164cb;box-shadow:0 0 0 3px rgba(35,107,215,.12)}
.field input[aria-invalid="true"]{border-color:#dc3c48;background:#fff5f5}
.field small{font-size:.73rem;line-height:1.5;color:var(--muted)}
.field.emphasis input{background:#edf5ff;border-color:#a5c3ed}
.action-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:21px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;line-height:1.3;border:1px solid transparent;border-radius:11px;font-size:.88rem;font-weight:750;padding:13px 16px;min-height:47px;transition:background .16s,transform .16s}
.btn:active{transform:translateY(1px)}
.btn-main{background:var(--blue);border-color:var(--blue);color:white}
.btn-main:hover{background:#003887;color:white}
.btn-quiet{background:#f0f5fd;border-color:#dce8f6;color:#174887}
.btn-quiet:hover{background:#e4efff}
.form-note{font-size:.78rem;color:var(--muted);line-height:1.65;margin:17px 0 0}
.error{padding:12px 14px;background:#fff0f1;border:1px solid #eeafb5;color:#a31d2c;border-radius:10px;margin:14px 0 0;font-size:.9rem}
.result-card{position:sticky;top:16px;overflow:hidden}
.result-empty{text-align:center;padding:68px 38px 78px;color:var(--muted)}
.empty-icon{font-size:3.9rem;display:block;color:#8fb4e8;margin-bottom:9px;line-height:1}
.result-empty h4{color:var(--navy);font-size:1.25rem;margin:0 0 6px}
.result-empty p{margin:0}
#result-content{padding:22px 27px 27px}
.result-state{border-radius:11px;padding:11px 14px;margin-bottom:17px;font-size:.88rem;font-weight:750;line-height:1.5}
.result-state.success{background:#e2f6ec;color:#0a6b45;border:1px solid #9ddcbf}
.result-state.warning{background:#fff3e0;color:#8a4908;border:1px solid #f3ce8f}
.result-primary{padding:22px;border-radius:15px;background:linear-gradient(133deg,#061b4a,#0757b9);color:white;margin-bottom:14px}
.result-primary span,.result-primary small{display:block;color:#d1e6ff;font-size:.8rem}
.result-primary strong{display:block;font-size:clamp(2.5rem,4.2vw,3.45rem);font-weight:850;letter-spacing:-.05em;line-height:1.2;margin:6px 0}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.metric{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fbfdff}
.metric span{font-size:.76rem;color:var(--muted);display:block;line-height:1.45;min-height:34px}
.metric strong{display:block;margin-top:7px;font-size:1.36rem;line-height:1.2;letter-spacing:-.025em;color:var(--navy)}
.capacity-bar{margin:22px 0 25px}
.bar-title{display:flex;justify-content:space-between;gap:10px;font-size:.83rem;margin-bottom:8px}
.bar-title strong{color:var(--blue)}
.bar-track{width:100%;height:10px;border-radius:30px;background:#e9eff8;overflow:hidden}
.bar-fill{height:100%;width:0;background:linear-gradient(90deg,#2c74df,#0baf9f);border-radius:30px;transition:width .25s}
.detail-title{font-size:1rem;margin:22px 0 10px;letter-spacing:-.01em}
.breakdown,.schedule{border-collapse:collapse;width:100%;font-size:.85rem}
.breakdown th,.breakdown td,.schedule th,.schedule td{padding:10px 2px;border-bottom:1px solid #edf1f6;vertical-align:top}
.breakdown th{text-align:left;color:#52627b;font-weight:550}
.breakdown td{text-align:right;font-weight:750;white-space:nowrap}
.schedule thead{background:#edf3fc}
.schedule thead th{font-weight:750;color:#30496c;font-size:.75rem;white-space:nowrap;text-align:left;padding:9px}
.schedule td{padding:10px 9px}
.schedule td:last-child{text-align:right}
.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:11px}
.micro-note{font-size:.77rem;color:#64728b;line-height:1.65;margin:8px 0 12px}
.editorial{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px;margin:35px 0}
.content-card{padding:27px}
.content-card h2{font-size:1.35rem;line-height:1.3;letter-spacing:-.02em;margin-bottom:12px}
.content-card p,.content-card li{color:#4e5f77;font-size:.93rem}
.content-card ul{padding-left:21px}
.content-card li{margin-bottom:8px}
.content-card p:last-child{margin-bottom:0}
.faq{grid-column:span 2}
.faq details{padding:15px 0;border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;font-weight:750;color:#1f416f}
.faq details p{margin:10px 0 0}
.affiliate-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(115deg,#ebf3ff,#fff);border:1px solid #c7dcf6;border-radius:20px;padding:29px 33px;margin:36px 0}
.affiliate-card h2{font-size:1.43rem;letter-spacing:-.02em;line-height:1.3;margin:6px 0 8px}
.affiliate-card p{font-size:.91rem;max-width:680px;color:#415573;margin-bottom:8px}
.affiliate-card .eyebrow{color:var(--blue)}
.affiliate-card .affiliate-note{font-size:.77rem;color:#687994;margin:12px 0 0}
.affiliate-card .btn{flex-shrink:0}
.back-link{text-align:center;margin:30px 0 46px;font-weight:750;font-size:.9rem}
[hidden]{display:none!important}
@media (max-width:980px){.tool-grid{grid-template-columns:1fr}.result-card{position:static}.editorial{grid-template-columns:1fr}.faq{grid-column:auto}}
@media (max-width:630px){.container{width:calc(100% - 26px)}.header-inner{min-height:69px}.brand img{width:145px}.top-nav{gap:10px}.top-nav a{font-size:.74rem}.top-nav a:last-child{display:none}.hero{padding:30px 22px;border-radius:17px;margin-top:10px}.hero:after{right:-210px}.hero-points{gap:6px}.hero-points span{font-size:.69rem}.breadcrumbs{padding-top:18px}.tool-section{margin:35px 0}.card-head{padding:21px}.form-body{padding:0 20px 22px}#result-content{padding:20px}.field-grid{gap:13px}.field-grid .field{grid-column:span 2}.field input{min-height:47px}.result-primary{padding:19px}.result-empty{padding:40px 20px 48px}.metric strong{font-size:1.22rem}.metric span{min-height:38px}.content-card{padding:21px}.affiliate-card{display:block;padding:24px 21px}.affiliate-card .btn{margin-top:17px;width:100%}.action-row .btn{flex:1 1 130px}.top-nav{flex-shrink:0}}
@media print{body{background:#fff}.site-header,.breadcrumbs,.hero-points,.action-row,.affiliate-card,.back-link,.editorial,.form-card,.form-note{display:none!important}.container{width:100%}.hero{background:none;color:#101a32;border:0;padding:5px}.hero h1,.hero em{color:#111}.lead{color:#333}.tool-grid{display:block}.result-card{border:0;box-shadow:none}#result-content{padding:8px 0}.result-primary{background:none;color:#111;border:1px solid #aaa}.result-primary span,.result-primary small{color:#222}.metric,.table-scroll{break-inside:avoid}.ent-site-footer{display:none!important}}
