*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
:root{
  --navy:#080f1c;--navy2:#0d1829;--navy3:#112038;
  --accent:#2970e8;--accent-l:#5b93f0;
  --white:#fff;--off:#f0f4f9;--text:#3d5068;--muted:#6b7f96;
  --border:#dde4ef;--border-d:rgba(255,255,255,0.07);
  --green:#22c55e;
}
body{overflow-x:hidden;font-family:'Manrope',sans-serif;background:var(--off);color:var(--navy);-webkit-font-smoothing:antialiased;min-height:100vh;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:300;height:70px;display:flex;align-items:center;padding:0 48px;background:var(--navy);justify-content:space-between;border-bottom:1px solid var(--border-d);}
.nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;}
.nav-logo img{height:36px;}
.nav-logo-text{font-size:.88rem;font-weight:800;color:var(--white);}
.nav-links{display:flex;gap:36px;list-style:none;align-items:center;}
.nav-links a{font-size:.8rem;font-weight:500;color:rgba(255,255,255,.5);text-decoration:none;transition:color .15s;}
.nav-links a:hover{color:rgba(255,255,255,.95);}
.nav-right{display:flex;align-items:center;gap:24px;}
.nav-phone{font-size:.85rem;font-weight:700;color:var(--white);text-decoration:none;display:flex;align-items:center;gap:7px;}
.nav-phone::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;box-shadow:0 0 0 2px rgba(34,197,94,.25);animation:lp 2s infinite;}
@keyframes lp{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.25);}50%{box-shadow:0 0 0 5px rgba(34,197,94,.1);}}
.nav-cta{background:var(--accent);color:var(--white);font-size:.8rem;font-weight:700;padding:9px 22px;border-radius:3px;text-decoration:none;transition:background .15s;}
.nav-cta:hover{background:#1a5cd4;}

/* PAGE HEADER */
.page-header{padding-top:70px;background:var(--navy);}
.page-header-inner{padding:56px 80px 48px;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;}
.pht{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-l);margin-bottom:12px;display:flex;align-items:center;gap:10px;}
.pht::before{content:'';width:28px;height:1px;background:var(--accent);}
.page-header h1{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.8rem,5vw,4.5rem);color:var(--white);letter-spacing:.02em;line-height:.95;}
.page-header p{font-size:.95rem;color:rgba(255,255,255,.45);max-width:440px;line-height:1.75;margin-top:12px;}
.header-note{background:rgba(41,112,232,.15);border:1px solid rgba(41,112,232,.25);border-radius:4px;padding:14px 18px;flex-shrink:0;}
.header-note p{font-size:.8rem;color:rgba(255,255,255,.55);line-height:1.6;max-width:260px;}
.header-note strong{color:rgba(255,255,255,.8);}

/* MAIN */
.main{max-width:1100px;margin:0 auto;padding:48px 80px 80px;}

/* PROGRESS BAR */
.progress-wrap{margin-bottom:36px;}
.progress-steps{display:flex;gap:0;margin-bottom:12px;}
.progress-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;}
.progress-step:not(:last-child)::after{content:'';position:absolute;top:16px;left:50%;right:-50%;height:2px;background:var(--border);z-index:0;}
.progress-step.done:not(:last-child)::after{background:var(--accent);}
.ps-dot{width:32px;height:32px;border-radius:50%;background:var(--white);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--muted);position:relative;z-index:1;transition:all .25s;}
.progress-step.active .ps-dot{border-color:var(--accent);color:var(--accent);background:var(--white);}
.progress-step.done .ps-dot{background:var(--accent);border-color:var(--accent);color:var(--white);}
.ps-label{font-size:.68rem;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;text-align:center;}
.progress-step.active .ps-label{color:var(--accent);}
.progress-step.done .ps-label{color:var(--navy);}

/* CARD */
.card{background:var(--white);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.card-header{background:var(--navy);padding:28px 36px;display:flex;align-items:center;gap:16px;}
.card-step-num{font-family:'Bebas Neue',sans-serif;font-size:2.5rem;color:rgba(255,255,255,.15);letter-spacing:.04em;line-height:1;flex-shrink:0;}
.card-header-text h2{font-size:1.1rem;font-weight:700;color:var(--white);}
.card-header-text p{font-size:.82rem;color:rgba(255,255,255,.4);margin-top:3px;}
.card-body{padding:36px;}

/* SERVICE GRID */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.svc-option{border:2px solid var(--border);border-radius:6px;padding:20px 18px;cursor:pointer;transition:all .2s;position:relative;background:var(--white);}
.svc-option:hover{border-color:#bfd2f0;background:var(--off);}
.svc-option.selected{border-color:var(--accent);background:#f0f5ff;}
.svc-option.selected::after{content:'✓';position:absolute;top:10px;right:12px;font-size:.75rem;font-weight:800;color:var(--accent);}
.svc-icon{font-size:1.6rem;margin-bottom:10px;}
.svc-option h3{font-size:.9rem;font-weight:700;margin-bottom:4px;}
.svc-option .svc-rate{font-size:.75rem;color:var(--muted);font-weight:500;}
.svc-option .svc-desc{font-size:.76rem;color:var(--text);line-height:1.5;margin-top:6px;}

/* SLIDERS & INPUTS */
.input-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;}
.input-row.three{grid-template-columns:1fr 1fr 1fr;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:.82rem;font-weight:600;color:var(--navy);}
.field-hint{font-size:.74rem;color:var(--muted);margin-top:-4px;}

.num-input-wrap{display:flex;align-items:center;border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--white);}
.num-btn{width:40px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--off);border:none;font-size:1.1rem;font-weight:700;color:var(--navy);cursor:pointer;transition:background .15s;flex-shrink:0;}
.num-btn:hover{background:var(--border);}
.num-display{flex:1;text-align:center;font-size:1rem;font-weight:700;color:var(--navy);height:44px;line-height:44px;border:none;outline:none;background:transparent;}

.range-wrap{position:relative;}
input[type=range]{width:100%;height:6px;-webkit-appearance:none;appearance:none;border-radius:3px;background:var(--border);outline:none;cursor:pointer;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px rgba(41,112,232,.3);}
.range-labels{display:flex;justify-content:space-between;margin-top:6px;}
.range-labels span{font-size:.72rem;color:var(--muted);}
.range-val{font-size:1rem;font-weight:700;color:var(--accent);text-align:center;margin-bottom:8px;}

/* TOGGLE BUTTONS */
.toggle-group{display:flex;gap:8px;flex-wrap:wrap;}
.toggle-btn{padding:9px 18px;border:1px solid var(--border);border-radius:4px;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .15s;background:var(--white);}
.toggle-btn:hover{border-color:#bfd2f0;color:var(--navy);}
.toggle-btn.active{background:var(--accent);border-color:var(--accent);color:var(--white);}

/* CHECKBOX DAYS */
.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;}
.day-btn{padding:10px 4px;border:1px solid var(--border);border-radius:4px;font-size:.75rem;font-weight:700;color:var(--muted);cursor:pointer;transition:all .15s;background:var(--white);text-align:center;}
.day-btn:hover{border-color:#bfd2f0;}
.day-btn.active{background:var(--accent);border-color:var(--accent);color:var(--white);}

/* ESTIMATE RESULT */
.result-card{background:var(--navy);border-radius:8px;overflow:hidden;margin-top:0;}
.result-header{background:var(--accent);padding:24px 36px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;}
.result-header h2{font-family:'Bebas Neue',sans-serif;font-size:1.6rem;color:var(--white);letter-spacing:.04em;}
.result-badge{background:rgba(255,255,255,.15);border-radius:20px;padding:5px 14px;font-size:.72rem;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.06em;text-transform:uppercase;}

.result-body{padding:36px;}
.result-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:rgba(255,255,255,.07);border-radius:6px;overflow:hidden;margin-bottom:28px;}
.result-block{background:var(--navy2);padding:28px 24px;text-align:center;}
.result-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:8px;}
.result-range{font-family:'Bebas Neue',sans-serif;font-size:2rem;color:var(--white);letter-spacing:.02em;line-height:1;}
.result-range.highlight{color:var(--accent-l);}
.result-sub{font-size:.74rem;color:rgba(255,255,255,.3);margin-top:4px;}

.result-breakdown{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:22px 24px;margin-bottom:24px;}
.result-breakdown h3{font-size:.8rem;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:.86rem;}
.breakdown-row:last-child{border-bottom:none;}
.breakdown-row span:first-child{color:rgba(255,255,255,.45);}
.breakdown-row span:last-child{color:var(--white);font-weight:600;}

.result-note{font-size:.8rem;color:rgba(255,255,255,.3);line-height:1.65;text-align:center;margin-bottom:24px;}

.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.btn-result-primary{display:block;background:var(--white);color:var(--navy);font-size:.88rem;font-weight:800;padding:15px;border-radius:4px;text-decoration:none;text-align:center;transition:opacity .15s;}
.btn-result-primary:hover{opacity:.88;}
.btn-result-secondary{display:block;border:1px solid rgba(255,255,255,.2);color:var(--white);font-size:.88rem;font-weight:500;padding:15px;border-radius:4px;text-decoration:none;text-align:center;transition:border-color .15s;}
.btn-result-secondary:hover{border-color:rgba(255,255,255,.55);}

/* NAV BUTTONS */
.step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px;}
.btn-back{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--muted);background:none;border:none;cursor:pointer;font-family:'Manrope',sans-serif;transition:color .15s;padding:0;}
.btn-back:hover{color:var(--navy);}
.btn-next{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--white);font-size:.88rem;font-weight:700;padding:13px 28px;border-radius:4px;border:none;cursor:pointer;font-family:'Manrope',sans-serif;transition:background .15s;}
.btn-next:hover{background:#1a5cd4;}
.btn-next:disabled{background:var(--border);color:var(--muted);cursor:not-allowed;}

/* VALIDATION */
.field-error{font-size:.75rem;color:#dc2626;margin-top:4px;display:none;}

/* RISK ASSESSMENT */
.risk-grid { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; }
.risk-factor { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; border-bottom: 1px solid var(--border); background: var(--white); transition: background .15s; flex-wrap: wrap; }
.risk-factor-alt { background: var(--off); }
.risk-factor:last-child { border-bottom: none; }
.risk-factor-left { display: flex; align-items: flex-start; gap: 14px; flex: 1; min-width: 240px; }
.risk-q-num { font-family: 'Bebas Neue', sans-serif; font-size: 1.1rem; color: rgba(41,112,232,0.25); letter-spacing: .04em; flex-shrink: 0; padding-top: 1px; }
.risk-factor-name { font-size: .88rem; font-weight: 700; color: var(--navy); margin-bottom: 3px; }
.risk-factor-desc { font-size: .76rem; color: var(--muted); line-height: 1.45; }
.risk-input-wrap { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

/* Number input */
.risk-num-wrap { display: flex; align-items: center; gap: 8px; }
.risk-num-input { width: 90px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 4px; font-family: 'Manrope', sans-serif; font-size: .95rem; font-weight: 700; color: var(--navy); text-align: center; outline: none; transition: border-color .2s; }
.risk-num-input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(41,112,232,.1); }
.risk-num-unit { font-size: .75rem; color: var(--muted); font-weight: 500; white-space: nowrap; }

/* Yes/No */
.risk-yesno { display: flex; gap: 6px; }
.risk-yn-btn { padding: 8px 18px; border: 1px solid var(--border); border-radius: 4px; font-family: 'Manrope', sans-serif; font-size: .82rem; font-weight: 400; color: var(--muted); cursor: pointer; transition: all .15s; background: var(--white); }

/* Select */
.risk-select { padding: 9px 32px 9px 12px; border: 1px solid var(--border); border-radius: 4px; font-family: 'Manrope', sans-serif; font-size: .82rem; color: var(--navy); background: var(--white); outline: none; cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='none' stroke='%236b7f96' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; min-width: 200px; transition: border-color .2s; }
.risk-select:focus { border-color: var(--accent); }

/* Scale buttons */
.risk-scale { display: flex; gap: 4px; flex-wrap: wrap; }
.risk-scale-btn { padding: 7px 10px; border: 1px solid var(--border); border-radius: 4px; font-family: 'Manrope', sans-serif; font-size: .74rem; font-weight: 500; color: var(--muted); cursor: pointer; background: var(--white); transition: all .15s; white-space: nowrap; }
.risk-scale-btn.active { background: var(--accent); border-color: var(--accent); color: var(--white); font-weight: 600; }

/* Score dot */
.risk-score-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--border); transition: background .3s; opacity: 0.4; flex-shrink: 0; }

/* DISCLAIMER */
.disclaimer{background:var(--white);border:1px solid var(--border);border-radius:6px;padding:18px 22px;margin-top:20px;display:flex;gap:12px;align-items:flex-start;}
.disclaimer p{font-size:.78rem;color:var(--muted);line-height:1.65;}
.disclaimer strong{color:var(--navy);}

/* FOOTER */
footer{background:var(--navy);padding:56px 80px 32px;border-top:1px solid var(--border-d);margin-top:0;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:40px;border-bottom:1px solid var(--border-d);margin-bottom:24px;}
.footer-brand img{height:34px;margin-bottom:14px;opacity:.6;}
.footer-brand p{font-size:.82rem;color:rgba(255,255,255,.22);line-height:1.8;max-width:280px;}
.f-col h4{font-size:.67rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.2);margin-bottom:16px;}
.f-col ul{list-style:none;}.f-col ul li{margin-bottom:9px;}
.f-col ul li a{font-size:.83rem;color:rgba(255,255,255,.3);text-decoration:none;transition:color .15s;}
.f-col ul li a:hover{color:rgba(255,255,255,.78);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-bottom p{font-size:.74rem;color:rgba(255,255,255,.15);}
.footer-bottom a{color:rgba(255,255,255,.26);text-decoration:none;}

@media(max-width:1024px){nav{padding:0 28px;}.nav-links{display:none;}.page-header-inner{padding:48px 32px 40px;flex-direction:column;}.main{padding:36px 32px 60px;}.service-grid{grid-template-columns:1fr 1fr;}.input-row,.input-row.three{grid-template-columns:1fr;}.result-main{grid-template-columns:1fr;}.result-actions{grid-template-columns:1fr;}.days-grid{grid-template-columns:repeat(4,1fr);}footer{padding:48px 32px 28px;}.footer-top{grid-template-columns:1fr 1fr;gap:2rem;}}
@media(max-width:640px){.form-grid-2{grid-template-columns:1fr;}.service-grid{grid-template-columns:1fr;}.days-grid{grid-template-columns:repeat(4,1fr);}.footer-top{grid-template-columns:1fr;}}