
:root{--ink:#241b2e;--muted:#6d6175;--plum:#2f2240;--p2:#5d426e;--rose:#e8aec4;--paper:#fffafd;--soft:#f8f1f6;--line:#e8dce6;--good:#2d6a54;--warn:#7a5424;--max:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-rendering:optimizeLegibility}
a{color:inherit;text-underline-offset:.16em}
button,select,input{font:inherit}
button{cursor:pointer}
.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--ink);padding:9px 12px;border-radius:8px;z-index:99}
.skip:focus{left:12px}
:focus-visible{outline:3px solid #9b5f85;outline-offset:3px}
.hdr{position:sticky;top:0;z-index:20;background:#fffafdf2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:9px;font-weight:950;letter-spacing:.08em;text-decoration:none;white-space:nowrap}
.mark{display:grid;place-items:center;width:35px;height:35px;background:var(--plum);color:#fff;border-radius:11px}
.links{display:flex;align-items:center;gap:22px}
.links a{text-decoration:none;font-weight:750;color:var(--muted)}
.links a:hover{color:var(--ink)}
.mobileMenu{display:none;position:relative}
.mobileMenu summary{cursor:pointer;font-weight:850;list-style:none;border:1px solid var(--line);border-radius:10px;padding:7px 11px;background:#fff}
.mobileMenu summary::-webkit-details-marker{display:none}
.mobilePanel{position:absolute;right:0;top:44px;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:0 18px 50px #2f224024}
.mobilePanel a{display:block;padding:10px 11px;border-radius:9px;text-decoration:none;font-weight:750}
.mobilePanel a:hover{background:var(--soft)}
.hero{padding:82px 0 66px;background:radial-gradient(circle at 80% 15%,#f2c9d9 0,transparent 28%),linear-gradient(#fffafd,#fbf4f8)}
.heroGrid{display:grid;grid-template-columns:1.15fr .75fr;gap:64px;align-items:center}
.eyebrow{display:block;color:var(--p2);font-size:.76rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}
h1,h2,h3{line-height:1.13;letter-spacing:-.025em}
h1{font-size:clamp(2.55rem,6vw,5.2rem);margin:.18em 0 .24em}
h2{font-size:clamp(1.7rem,3vw,2.65rem)}
h3{font-size:1.18rem}
.lede{font-size:1.16rem;color:var(--muted);max-width:760px}
.button,.primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 17px;border-radius:12px;text-decoration:none;font-weight:900}
.primary{background:var(--plum);color:#fff;border:1px solid var(--plum)}
.primary:hover{background:#443054}
.secondary{background:#fff;border:1px solid var(--line)}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 18px 55px #2f22401c}
.pill,.status{display:inline-flex;align-items:center;gap:5px;background:#eaf4ef;color:var(--good);padding:6px 9px;border-radius:999px;font-size:.8rem;font-weight:900}
.status.warn{background:#fff5e7;color:var(--warn)}
.section{padding:70px 0}
.grid3,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.feature,.guide{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.guide{text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}
.guide:hover{transform:translateY(-2px);box-shadow:0 12px 32px #2f224012}
.guide p,.prose p,.prose li{color:#514657}
.guide b{color:var(--p2)}
.soft{background:var(--soft);border-block:1px solid var(--line)}
.page{padding:42px 0 75px}
.crumbs{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.87rem;margin-bottom:28px}
.tool{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 18px 55px #2f22401c}
.toolHead,.form{padding:30px}
.prep{margin:20px 0 0;padding:17px 19px;background:var(--soft);border:1px solid var(--line);border-radius:16px}
.prep ol{margin:.5em 0 0;padding-left:1.2em}
.form fieldset{border:0;border-top:1px solid var(--line);padding:22px 0;margin:0}
.form legend{font-weight:950;padding-right:8px}
.g2,.g3{display:grid;gap:14px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
label{display:flex;flex-direction:column;gap:6px;font-weight:800}
select{width:100%;padding:12px;border:1px solid #cdbfcd;border-radius:11px;background:#fff;color:var(--ink)}
.check{flex-direction:row;align-items:center;padding-top:27px;font-weight:750}
.check input{width:18px;height:18px}
.result{margin:0 30px 30px;padding:24px;background:#f3edf5;border:1px solid #ded0df;border-radius:18px}
.result[hidden]{display:none}
.result h2{margin:.28em 0}
.next{font-size:clamp(1.45rem,3vw,2.05rem);font-weight:950;line-height:1.25;margin:.2em 0 .55em}
.resultGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.box{background:#fff;border:1px solid var(--line);border-radius:13px;padding:16px}
.box h3{margin-top:0}.box ul{padding-left:1.2em}
.route{border-left:4px solid var(--rose)}
.article{max-width:900px}.article h1{font-size:clamp(2.3rem,5vw,4.35rem)}
.prose{max-width:820px}
.prose h2{font-size:1.6rem;margin-top:2em}
.prose h3{margin-top:1.6em}
.prose ul,.prose ol{padding-left:1.25em}
.note,.callout{padding:16px 18px;border-left:4px solid var(--rose);background:#f7eef3;border-radius:0 10px 10px 0}
.callout.good{border-left-color:#6ca68c;background:#eef7f2}
.faq{margin-top:42px}
.faq details{border-top:1px solid var(--line);padding:15px 0}
.faq summary{cursor:pointer;font-weight:850}
.sourceList a{overflow-wrap:anywhere}
.footer{background:#221a2b;color:#fff;padding:48px 0 22px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}
.foot a{display:block;color:#eee4ef;text-decoration:none;margin:7px 0}
.fine{color:var(--muted);font-size:.88rem}
.footer .fine{color:#cbbfce}
@media(max-width:850px){.heroGrid,.grid3,.cards,.resultGrid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.links{display:none}.mobileMenu{display:block}.hero{padding:55px 0}.heroGrid,.grid3,.cards,.g2,.g3,.resultGrid,.foot{grid-template-columns:1fr}.toolHead,.form{padding:20px}.result{margin:0 20px 20px}.check{padding-top:4px}h1{font-size:2.65rem}.page{padding-top:28px}}
@media(max-width:420px){.wrap{width:min(var(--max),calc(100% - 24px))}.hero h1{font-size:2.35rem}.button,.primary{width:100%}.actions{display:grid}.card{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.guide{transition:none}}
