:root{--primary: #1d4ed8;--primary-hover: #1e40af;--text: #1a1a1a;--text-muted: #4b5563;--bg: #fff;--bg-light: #f8fafc;--border: #e2e8f0;--text-hero: clamp(2rem, 5vw, 3rem);--text-hero-sub: clamp(1rem, 2.5vw, 1.375rem);--text-h1: clamp(1.85rem, 4.5vw, 2.5rem);--text-h2: clamp(1.4rem, 2.5vw, 1.65rem);--text-lead: 1.25rem;--text-body: 1.125rem;--text-small: .9375rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-section: clamp(3.5rem, 8vw, 5rem);--content-narrow: 42rem;--content-mid: 55rem;--content-wide: 75rem;--content-text: 62rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--text-body);line-height:1.6;color:var(--text)}html{scroll-behavior:smooth}#root{min-height:100vh}a{color:inherit}.site-header{position:sticky;top:0;z-index:100;padding:.75rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg);box-shadow:0 1px 3px #0000000f}.header-inner{position:relative;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.logo{text-decoration:none;color:var(--text);font-weight:700;display:flex;align-items:center;gap:.6rem;line-height:1.2}.logo-icon{flex-shrink:0;display:block;transition:transform .25s ease}.logo:hover .logo-icon{transform:scale(1.1)}.logo-text{display:flex;flex-direction:column}.logo-line1{font-size:1rem;letter-spacing:.02em}.logo-line2{font-size:.85rem;font-weight:600;opacity:.9}.header-menu-btn{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg);cursor:pointer;color:var(--text)}.header-menu-icon{display:block;width:1.25rem;height:2px;background:currentColor;border-radius:1px;box-shadow:0 6px 0 currentColor,0 -6px 0 currentColor}.header-menu-btn:hover{background:var(--bg-light)}.header-nav{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.header-nav a{text-decoration:none;padding:.5rem .75rem;font-size:.875rem;font-weight:500}.header-nav a:not(.btn):hover{color:var(--primary)}.btn{display:inline-block;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;text-align:center;text-decoration:none;border:none;border-radius:4px;cursor:pointer;font-family:inherit}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-full{width:100%;max-width:100%}main{padding:0}.hero{position:relative;min-height:clamp(320px,45vh,420px);display:flex;align-items:center;justify-content:center;text-align:center;background-color:#0f172a;background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;padding:var(--space-3xl) var(--space-lg)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;pointer-events:none}.hero-content{position:relative;z-index:1;max-width:var(--content-mid)}.hero h1{margin:0 0 var(--space-sm);font-size:var(--text-hero);font-weight:700;line-height:1.2;letter-spacing:-.02em}.hero-subtitle{margin:0;font-size:var(--text-hero-sub);font-weight:500;opacity:.95;line-height:1.4}.section{padding:var(--space-section) var(--space-lg);background:var(--bg);border-top:4px solid var(--border)}.section-intro{background:#fff;border-top-color:var(--primary)}.section-trust{background:#f1f5f9;border-top:1px solid #e2e8f0}.section-services{background:#fff;border-top:1px solid #e2e8f0}.section-contact{background:#f1f5f9;border-top:1px solid #e2e8f0}.section-quote{background:#fff;border-top:1px solid #e2e8f0}.section-inner{max-width:var(--content-text);margin:0 auto;padding:0 var(--space-md)}.section-inner--centered .section-header,.section-inner--centered .section-body{text-align:center}.section-inner--centered .section-body,.section-inner--centered .section-separator{margin-left:auto;margin-right:auto}.section-inner--narrow{max-width:var(--content-narrow);margin-left:auto;margin-right:auto}.section-header{margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--border)}.section-intro .section-header,.section-contact .section-header{border-bottom:none;padding-bottom:var(--space-md)}.section-eyebrow{display:block;font-size:var(--text-small);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);margin-bottom:var(--space-sm)}.section-title{margin:0 0 var(--space-md);font-size:var(--text-h1);font-weight:700;line-height:1.2;color:var(--text)}.section-separator{width:4rem;height:4px;background:var(--primary);margin:var(--space-md) auto var(--space-xl);border-radius:2px}.section-body{max-width:min(100%,90ch);margin-left:auto;margin-right:auto}.section-body .lead{font-size:var(--text-lead);line-height:1.7;color:var(--text);margin-bottom:var(--space-xl);font-weight:500}.section-body p{margin:0 0 var(--space-xl);font-size:var(--text-body);color:var(--text-muted);line-height:1.8}.section-body p:last-child{margin-bottom:0}.section-intro .section-body{margin-bottom:0}.section-intro .btn-full{max-width:14rem;margin-top:var(--space-xl);margin-left:auto;margin-right:auto;display:block}.section-account{position:relative;padding:var(--space-section) var(--space-lg);color:#fff;text-align:center;border-top:4px solid #1e293b}.section-account-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0f172a,#1e293b);pointer-events:none}.section-account .section-inner{position:relative;z-index:1}.section-account .section-header{margin-bottom:var(--space-2xl)}.section-account-title{margin:0;font-size:var(--text-h1);font-weight:700;color:#fff}.portals{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;max-width:640px;margin:0 auto}.portal-card{background:#fff;color:var(--text);border-radius:6px;overflow:hidden;box-shadow:0 4px 12px #00000026;text-align:left}.portal-card-header{background:var(--primary);color:#fff;padding:.75rem 1rem;font-size:1rem;font-weight:600}.portal-card-body{padding:1.25rem}.portal-card-body .btn{width:100%;margin-bottom:.75rem}.portal-join{margin:0;font-size:.875rem;color:var(--text-muted)}.portal-join a{color:var(--primary);text-decoration:underline}.section-contact .section-inner{max-width:var(--content-wide)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:start;margin-top:var(--space-xl);text-align:left;width:100%}.section-contact .section-inner--centered .contact-grid{text-align:left}@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:var(--space-2xl)}}.contact-block h3{font-size:var(--text-h2);font-weight:600;margin:0 0 var(--space-md);color:var(--text)}.contact-info p{margin:0 0 var(--space-sm);font-size:var(--text-body);color:var(--text-muted)}.contact-info a{color:var(--primary);text-decoration:none}.contact-info a:hover{text-decoration:underline}.section-quote .section-header{margin-bottom:var(--space-xl)}.section-quote .section-title{margin-bottom:var(--space-sm)}.section-quote-desc{margin:0 0 var(--space-xl);font-size:var(--text-body);color:var(--text-muted)}.quote-form{display:flex;flex-direction:column;gap:var(--space-md)}.quote-form input,.quote-form textarea{padding:.75rem 1rem;font-size:var(--text-body);font-family:inherit;border:1px solid var(--border);border-radius:6px;background:var(--bg);transition:border-color .15s ease}.quote-form input:focus,.quote-form textarea:focus{outline:none;border-color:var(--primary)}.quote-form textarea{resize:vertical;min-height:120px}.quote-form button{margin-top:var(--space-xs)}.back-to-top{text-align:center;padding:var(--space-lg);background:var(--bg-light)}.back-to-top a{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-decoration:none;color:var(--text-muted)}.back-to-top a:hover{color:var(--primary)}.footer{padding:2rem 1.5rem;background:var(--text);color:#e2e8f0}.footer-inner{max-width:1200px;margin:0 auto}.footer-logo{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:#e2e8f0;font-weight:600;margin-bottom:1.5rem}.footer-logo:hover{color:#fff}.footer-logo-icon{flex-shrink:0;display:block;opacity:.95}.footer-logo-text{font-size:1rem}.footer-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-2xl);margin-bottom:var(--space-2xl)}.footer-col h3{margin:0 0 var(--space-md);font-size:var(--text-small);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#fff}.footer-col p{margin:0 0 var(--space-sm);font-size:var(--text-small);line-height:1.5}.footer-col a{color:#94a3b8;text-decoration:none}.footer-col a:hover{color:#fff}.footer-copyright{text-align:center;font-size:.8rem;color:#64748b;margin:0;padding-top:1rem;border-top:1px solid #334155}.login-page{min-height:60vh;padding:var(--space-3xl) var(--space-lg);display:flex;align-items:center;justify-content:center}.login-inner{width:100%;max-width:var(--content-narrow);margin:0 auto}.login-page h1{margin:0 0 var(--space-sm);font-size:var(--text-h1)}.login-intro{margin:0 0 var(--space-xl);color:var(--text-muted)}.login-error{padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-lg);background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#b91c1c;font-size:var(--text-small);line-height:1.5}.login-form{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.login-form label{font-size:var(--text-small);font-weight:600;color:var(--text)}.login-form input{padding:.75rem 1rem;font-size:var(--text-body);font-family:inherit;border:1px solid var(--border);border-radius:6px}.login-form input:focus{outline:none;border-color:var(--primary)}.login-footer{margin:0;font-size:var(--text-small);color:var(--text-muted)}.login-footer a{color:var(--primary);text-decoration:none}.login-footer a:hover{text-decoration:underline}@media(max-width:768px){.header-menu-btn{display:flex;order:2}.header-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:var(--space-sm);background:var(--bg);border-bottom:1px solid var(--border);box-shadow:0 8px 20px #00000014;max-height:0;overflow:hidden;opacity:0;transition:max-height .25s ease,opacity .2s ease}.header-nav--open{max-height:20rem;opacity:1}.header-nav a{display:block;padding:.85rem 1rem;font-size:1rem;border-radius:6px}.header-nav a:hover{background:var(--bg-light)}.header-nav .btn{margin-top:var(--space-sm);padding:.75rem 1rem;text-align:center}}@media(max-width:640px){.portals{grid-template-columns:1fr}}
