:root{
  --navy:#0d3560;--navy2:#082746;--green:#1f9b55;--green2:#167b43;--red:#d9303e;
  --ink:#223344;--muted:#687988;--line:#dce5ec;--bg:#f4f7f9;--white:#fff;
  --amber:#a66b00;--shadow:0 12px 36px rgba(13,53,96,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea,select{font:inherit}
.site-header{background:#fff;border-bottom:1px solid var(--line);padding:10px 4vw;position:sticky;top:0;z-index:30}
.brand-wrap{max-width:1480px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand-wrap img{width:min(430px,58vw);height:auto;display:block}
.header-badge{font-size:12px;font-weight:850;color:var(--green2);background:#eaf7ef;padding:9px 12px;border-radius:999px;white-space:nowrap}
.page-shell{max-width:1480px;margin:auto}
.hero{display:grid;grid-template-columns:1fr 280px;gap:30px;padding:40px 4vw 24px;align-items:end}
.kicker{font-size:12px;letter-spacing:.14em;color:var(--green2);font-weight:900}
.hero h1{font-size:clamp(34px,4.7vw,62px);line-height:.98;letter-spacing:-.045em;color:var(--navy);margin:8px 0 14px}
.hero p{font-size:17px;line-height:1.6;color:var(--muted);margin:0;max-width:900px}
.hero-panel{background:var(--navy);color:#fff;border-radius:18px;padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}
.hero-panel strong{font-size:18px}.hero-panel span{font-size:13px;line-height:1.45;color:#d9e6ef}
.important-note{margin:0 4vw 24px;background:#fff7e8;border:1px solid #eed49b;border-left:5px solid #d4a12b;padding:14px 16px;border-radius:12px;font-size:13px;line-height:1.5}
.builder-layout{display:grid;grid-template-columns:285px minmax(0,1fr);gap:24px;padding:0 4vw 55px}
.builder-sidebar{position:sticky;top:105px;align-self:start;display:flex;flex-direction:column;gap:14px}
.score-card,.reference-card,.builder-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.score-card{padding:17px}.score-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.score-top span{font-size:12px;color:var(--muted);display:block}.score-top strong{font-size:22px;color:var(--navy);display:block;margin-top:3px}
.score-circle{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green) 0%,#e5ebf0 0);position:relative}
.score-circle:after{content:"";position:absolute;width:49px;height:49px;border-radius:50%;background:white}.score-circle b{position:relative;z-index:1;color:var(--navy);font-size:12px}
.score-card p{font-size:12px;line-height:1.45;color:var(--muted);margin:12px 0 0}
.step-nav{display:flex;flex-direction:column;gap:5px}.step{border:0;background:transparent;padding:10px 11px;border-radius:11px;text-align:left;display:flex;gap:10px;align-items:center;color:#526575;cursor:pointer;font-weight:750}
.step span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#eaf0f4;font-size:12px}
.step:hover{background:#edf3f6}.step.active{background:var(--navy);color:#fff}.step.active span{background:var(--green);color:#fff}
.reference-card{padding:16px}.reference-card h3{font-size:15px;color:var(--navy);margin:0 0 8px}.reference-card a{display:block;text-decoration:none;color:var(--navy);font-size:12px;line-height:1.35;padding:8px 0;border-top:1px solid #eef2f5}.reference-card a:hover{text-decoration:underline}
.reference-card .mini{font-size:11px;line-height:1.4;color:var(--muted);margin:10px 0 0}
.builder-card{overflow:hidden;min-height:760px}.form-step{display:none;padding:28px 32px 10px}.form-step.active{display:block}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}
.section-heading>div{display:flex;gap:12px;align-items:center}.section-number{background:#e9f6ee;color:var(--green2);font-size:12px;font-weight:900;border-radius:7px;padding:6px 8px}
.section-heading h2{margin:0;color:var(--navy);font-size:25px}.section-heading p{font-size:13px;line-height:1.4;color:var(--muted);margin:1px 0 0;max-width:420px;text-align:right}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
label{display:block;font-size:13px;font-weight:800;color:#344a5e;margin-bottom:16px}
input,textarea,select{width:100%;margin-top:7px;border:1px solid #cbd8e2;border-radius:10px;padding:11px 12px;outline:none;background:#fff;color:var(--ink);font-weight:500}
textarea{resize:vertical;min-height:100px;line-height:1.48}
input:focus,textarea:focus,select:focus{border-color:#5c91bd;box-shadow:0 0 0 3px rgba(92,145,189,.14)}
.alert{margin:0 0 16px;border-radius:10px;background:#fff1f1;border:1px solid #efb9bd;padding:11px 13px;color:#913239;font-size:13px;line-height:1.45}
.hidden{display:none}.info-box{background:#edf5fa;border:1px solid #c9ddec;color:#315d7d;padding:12px 14px;border-radius:11px;font-size:13px;line-height:1.45;margin-bottom:10px}
.bottom-nav{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:19px 32px 26px;margin-top:15px}
button,.file-button{border:0;border-radius:10px;padding:10px 15px;cursor:pointer;font-weight:850;font-size:14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.primary{background:var(--navy);color:#fff}.primary:hover{background:var(--navy2)}.secondary,.file-button{background:#edf2f5;color:var(--navy)}.secondary:hover,.file-button:hover{background:#e2eaef}
.action-row{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}.file-button{margin:0}.file-button input{display:none}
.policy-preview{border:1px solid #ccd9e2;background:#fff;padding:46px 54px;max-height:720px;overflow:auto;box-shadow:inset 0 0 0 10px #f8fafb;font-family:Arial,sans-serif}
.policy-preview .doc-logo{width:290px;max-width:80%;margin-bottom:25px}
.policy-preview h1{font-size:28px;color:var(--navy);margin:0 0 12px}.policy-preview h2{font-size:19px;color:var(--navy);margin:28px 0 9px;border-bottom:1px solid #dbe4ea;padding-bottom:5px}.policy-preview h3{font-size:14px;color:#315e83;margin:18px 0 5px}
.policy-preview p,.policy-preview li{font-size:13px;line-height:1.6}.policy-preview table{border-collapse:collapse;width:100%;font-size:12px}.policy-preview td{border:1px solid #d8e1e8;padding:7px;vertical-align:top}.policy-preview td:first-child{font-weight:700;background:#f6f8fa;width:34%}
.policy-preview a{color:#225e92}.check-list{list-style:none;padding:0}.check-list li{display:flex;gap:8px}.ok{color:var(--green2);font-weight:900}.notyet{color:var(--amber);font-weight:900}
.footer{border-top:1px solid var(--line);padding:22px 4vw 38px;display:flex;align-items:center;gap:18px;color:var(--muted);font-size:12px}.footer img{width:190px;height:auto}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.hero-panel{max-width:500px}.builder-layout{grid-template-columns:1fr}.builder-sidebar{position:static}.step-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reference-card{display:none}.two-col{grid-template-columns:1fr}.section-heading{display:block}.section-heading p{text-align:left;margin-top:8px}}
@media(max-width:600px){.site-header{padding:9px 16px}.header-badge{display:none}.brand-wrap img{width:100%;max-width:390px}.hero{padding:28px 18px 18px}.hero p{font-size:15px}.important-note{margin:0 18px 18px}.builder-layout{padding:0 18px 40px}.step-nav{grid-template-columns:1fr 1fr}.step{font-size:11px;padding:8px}.form-step{padding:22px 18px 8px}.section-heading h2{font-size:21px}.bottom-nav{padding:16px 18px 22px}.policy-preview{padding:26px 19px}.footer{padding-left:18px;padding-right:18px;flex-direction:column;align-items:flex-start}}
@media print{body{background:#fff}.site-header,.hero,.important-note,.builder-sidebar,.section-heading,.action-row,.bottom-nav,.footer{display:none!important}.builder-layout{display:block;padding:0}.builder-card{border:0;box-shadow:none}.form-step{display:none!important}.form-step[data-panel="8"]{display:block!important;padding:0}.policy-preview{border:0;box-shadow:none;max-height:none;overflow:visible;padding:0}}
