*{box-sizing:border-box}html{scroll-behavior:smooth}[hidden]{display:none!important}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Helvetica Neue",sans-serif;color:#17324d;background:#fff}header{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid #e7edf3;position:sticky;top:0;background:#fff;z-index:10}.logo{font-size:25px;font-weight:850;letter-spacing:-1px;color:#0b3e75;text-decoration:none}.logo span{color:#f28b31}.mini{background:#f28b31;color:#fff;text-decoration:none;padding:10px 14px;border-radius:9px;font-weight:700;font-size:13px}.hero{text-align:center;padding:55px 20px 62px;background:linear-gradient(180deg,#eef8ff,#fff)}.pill{display:inline-block;background:#dff2ff;color:#1267a8;padding:8px 14px;border-radius:30px;font-weight:700;font-size:13px}.hero h1{font-size:34px;line-height:1.35;margin:22px auto 14px;letter-spacing:-1.5px}.hero h1 em{font-style:normal;color:#1171b8}.hero p{line-height:1.8;color:#526b80}.cta{display:block;max-width:430px;margin:28px auto 10px;padding:18px;background:#f28b31;color:white;border-radius:12px;text-decoration:none;font-size:17px;font-weight:800;box-shadow:0 7px 18px #f28b3140}.cta b{float:right}.hero small{color:#718397}.benefits,.steps,.estimate{padding:60px 20px}.benefits h2,.steps h2,.estimate h2{text-align:center;font-size:28px;line-height:1.4}.cards{display:grid;gap:15px;max-width:900px;margin:30px auto}.cards article{border:1px solid #e2eaf0;border-radius:16px;padding:24px;text-align:center;background:#fff}.cards i{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#eaf6ff;color:#1171b8;font-style:normal;font-weight:900}.cards p{color:#647789;line-height:1.65}.steps{background:#f7fafc}.steps ol{list-style:none;padding:0;max-width:650px;margin:30px auto}.steps li{display:flex;gap:16px;padding:17px}.steps li b{min-width:38px;height:38px;border-radius:50%;background:#1171b8;color:#fff;display:grid;place-items:center}.steps strong{display:block;margin-bottom:6px}.steps span{color:#627589}.steps strong{color:#17324d}.estimate{max-width:720px;margin:auto;text-align:center}.progress{height:6px;background:#e8eef3;border-radius:10px}.progress span{display:block;width:15%;height:100%;background:#1171b8;border-radius:10px}.step{color:#1171b8;font-weight:800;font-size:12px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:28px 0}.choice{border:1px solid #dce5ec;background:white;border-radius:11px;padding:15px 8px;font-weight:700;color:#29465f}.choice.active{border:2px solid #1171b8;background:#edf8ff;color:#1171b8}button#next{width:100%;border:0;border-radius:12px;padding:17px;background:#1171b8;color:white;font-weight:800;font-size:16px}button#next:disabled{background:#c7d2dc}.done{padding:35px 10px}.done .check{font-size:48px}.done p{color:#607487;line-height:1.8}footer{background:#0b3155;color:#dce9f4;padding:42px 20px;text-align:center}footer .logo{color:white}footer p{font-size:13px}footer small{opacity:.7}@media(min-width:720px){.hero h1{font-size:46px}.cards{grid-template-columns:repeat(3,1fr)}.choices{grid-template-columns:repeat(3,1fr)}}.fields{display:grid;gap:12px;margin:26px 0}.fields input,textarea{width:100%;padding:16px;border:1px solid #d7e1e9;border-radius:10px;font:inherit;color:#17324d;background:#fff}textarea{margin:25px 0;resize:vertical}.upload{margin:28px 0;padding:25px;border:2px dashed #cbdbe7;border-radius:14px;background:#f8fbfd}.upload input{max-width:100%}.upload p{font-size:13px;color:#718397}.nav{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-top:24px}.nav button{border:0;border-radius:12px;padding:17px;font-weight:800;font-size:16px}.nav #back{background:#edf2f6;color:#4f6578}.nav #go{background:#1171b8;color:#fff}.nav #go:disabled{background:#c7d2dc}.consent{text-align:left;font-size:12px;line-height:1.6;color:#607487;padding:8px}.consent input{width:auto;margin-right:7px}.progress span{transition:width .25s}.estimate button{cursor:pointer}
/* Contractor portal */
.contractor-page{background:#f5f8fb}.contractor-link{background:#0b3e75}.portal-shell{min-height:calc(100vh - 68px);padding:42px 18px;display:grid;place-items:start center}.portal-card{width:min(100%,520px);background:#fff;border:1px solid #e0e8ef;border-radius:18px;padding:30px;box-shadow:0 12px 35px #163a5b12}.portal-card.wide{width:min(100%,820px)}.portal-card h1{margin:4px 0 10px;font-size:28px}.portal-kicker{font-size:11px;letter-spacing:1.4px;color:#1171b8;font-weight:900}.portal-note{color:#657b8e;line-height:1.7}.portal-form{display:grid;gap:16px;margin-top:24px}.portal-form.two-col{grid-template-columns:1fr 1fr}.portal-form label{display:grid;gap:7px;font-weight:750;font-size:14px}.portal-form input,.portal-form select,.portal-form textarea{width:100%;padding:14px;border:1px solid #d4e0e9;border-radius:10px;font:inherit;background:#fff}.portal-form small{font-weight:400;color:#718397}.portal-form .full{grid-column:1/-1}.consent-box{display:flex!important;align-items:start}.consent-box input{width:auto}.portal-primary,.portal-secondary{display:block;width:100%;border:0;border-radius:11px;padding:15px;text-align:center;font-weight:850;font-size:15px;text-decoration:none}.portal-primary{background:#1171b8;color:#fff}.portal-secondary{background:#edf6fc;color:#0d609d}.portal-text-link{display:block;text-align:center;margin:17px 0;color:#1171b8}.portal-card hr{border:0;border-top:1px solid #e4ebf0;margin:25px 0}.form-error{background:#fff0f0;color:#b42318;padding:11px;border-radius:8px}.portal-done{background:#eef9f2;color:#22663b;padding:16px;border-radius:10px;margin-top:20px}.portal-logout{border:0;cursor:pointer}.dashboard-shell{max-width:980px;margin:auto;padding:36px 18px 70px}.dashboard-tabs{display:flex;gap:8px;margin:24px 0;overflow:auto}.dashboard-tabs button{white-space:nowrap;border:1px solid #d7e2ea;background:#fff;padding:11px 15px;border-radius:10px;font-weight:800;color:#51697d}.dashboard-tabs button.active{background:#1171b8;color:#fff;border-color:#1171b8}.case-list{display:grid;gap:14px}.case-card{background:#fff;border:1px solid #dfe8ef;border-radius:15px;padding:20px}.case-card h2{font-size:18px;margin:0 0 5px}.case-card small{color:#8090a0}.check-field{border:1px solid #dce6ed;border-radius:12px;padding:16px;margin:0;min-width:0}.check-field legend{font-weight:800;font-size:14px;padding:0 7px}.check-field legend span{font-weight:500;color:#718397}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:5px 0 10px}.portal-form .check-grid label{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid #dbe5ec;border-radius:9px;background:#f9fbfd;font-weight:650;cursor:pointer}.portal-form .check-grid input{width:18px;height:18px;margin:0;accent-color:#1171b8}.portal-form .check-grid label:has(input:checked){border-color:#1171b8;background:#edf7ff;color:#0d609d}@media(max-width:620px){.portal-form.two-col{grid-template-columns:1fr}.portal-card{padding:22px}.check-grid{grid-template-columns:1fr 1fr}}
