:root{--red:#e30613;--red-dark:#bd0010;--navy:#111d2a;--muted:#5e6976;--paper:#f4f7f9;--line:#dce3e8;--blue:#eaf1f7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--navy);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.topbar{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px max(24px,calc((100vw - 1160px)/2));background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}.topbar.compact{min-height:74px}.brand{display:flex;align-items:center;color:var(--navy);text-decoration:none}.brand-logo{display:block;width:auto;height:66px;object-fit:contain}.compact .brand-logo{height:54px}.topnav{display:flex;align-items:center;gap:25px}.topnav a{color:var(--muted);font-size:14px;font-weight:750;text-decoration:none}.topnav a:hover{color:var(--red)}.topnav .nav-login{padding:11px 16px;border-radius:11px;background:var(--navy);color:#fff}.landing{max-width:1160px;margin:auto;padding:68px 24px 76px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:60px}.intro h1,.about-hero h1{font-size:clamp(42px,5vw,68px);line-height:1.03;letter-spacing:-.045em;margin:20px 0}.intro h1 em{color:var(--red);font-style:normal}.eyebrow,.kicker{display:inline-block;color:var(--red);font-size:13px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.lead{font-size:19px;line-height:1.7;color:var(--muted);max-width:650px}.hero-logo-wrap{padding:18px;background:#fff;border:1px solid var(--line);border-radius:36px;box-shadow:0 28px 80px #111d2a17;transform:rotate(1deg)}.hero-logo-wrap img{display:block;width:100%;border-radius:24px}.entry-actions{display:flex;gap:12px;margin-top:28px}.call,.navigate,button{border:0;border-radius:12px;min-height:50px;padding:0 19px;font:750 15px/1 Inter,ui-sans-serif,system-ui;text-decoration:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.call,button{background:var(--red);color:#fff}.call:hover,button:hover{background:var(--red-dark)}.navigate,.secondary-action{background:#fff;color:var(--navy);border:1px solid var(--line)}button:disabled{opacity:.58;cursor:not-allowed}.steps-section{padding:72px max(24px,calc((100vw - 1160px)/2));background:var(--navy);color:#fff}.steps-section>h2{font-size:clamp(30px,4vw,46px);margin:10px 0 34px;max-width:680px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article{padding:26px;border:1px solid #ffffff25;border-radius:22px;background:#ffffff0b}.steps article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--red);font-size:18px;font-weight:900}.steps h3{font-size:20px;margin:20px 0 8px}.steps p{margin:0;color:#cbd4dc;line-height:1.6}.signup-section{max-width:1160px;margin:auto;padding:82px 24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.signup-copy{position:sticky;top:30px}.signup-copy h2{font-size:42px;letter-spacing:-.035em;margin:10px 0 18px}.signup-copy>p{color:var(--muted);line-height:1.7}.privacy-card{padding:18px;border-left:4px solid var(--red);background:#fff;border-radius:0 14px 14px 0}.card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:0 20px 60px #111d2a12}.card h1,.card h2{margin:7px 0 12px}.card>p{color:var(--muted);line-height:1.6}.card form,.portal-card{display:grid;gap:17px}.card label{display:grid;gap:8px;font-size:13px;font-weight:750}.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{width:100%;min-height:48px;border:1px solid #cfd8df;border-radius:11px;padding:0 13px;font:inherit;font-size:16px;background:#fff;color:var(--navy)}textarea{padding-top:12px;min-height:110px}.code{text-transform:uppercase;letter-spacing:.14em}.consent{display:flex!important;align-items:flex-start;gap:12px!important;padding:15px;border-radius:13px;background:var(--blue);color:var(--muted);font-weight:550!important;line-height:1.5}.consent input{width:auto;min-height:auto;margin-top:4px}.message{margin:0!important;color:var(--red)!important;font-size:13px}.success{padding:22px;border-radius:15px;background:#e7f7ee;color:#185d36}.success h3{margin:0 0 8px}.success .call{margin-top:18px}.login-prompt{text-align:center;margin:21px 0 0!important}.login-prompt a{color:var(--red);font-weight:800}footer{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:28px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px}footer a{text-decoration:none}footer strong{color:var(--navy)}.portal-body{min-height:100vh}.portal-shell{width:min(1000px,100%);margin:auto;padding:34px 20px 70px}.auth-wrap{width:min(550px,100%);margin:28px auto}.portal-card{margin-top:20px}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.portal-heading h1{margin:6px 0}.secondary-action{color:var(--red)}.notice{position:sticky;top:10px;z-index:4;padding:14px 16px;background:#e8f7f1;border:1px solid #bfe2cf;border-radius:12px}.notice.error{background:#fdebed;color:#8c1320;border-color:#f4c4ca}.record-list{display:grid;gap:10px}.record-list article{display:grid;gap:5px;padding:16px;border-radius:13px;background:var(--paper);border:1px solid var(--line)}.record-list span,.record-list small,.muted-text{color:var(--muted)}.about-shell{max-width:1160px;margin:auto;padding:64px 24px 80px}.about-hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:60px}.about-hero p{font-size:18px;line-height:1.7;color:var(--muted)}.about-hero img{width:100%;border-radius:30px;box-shadow:0 25px 70px #111d2a16}.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:65px}.about-grid article{padding:26px;border-radius:22px;background:#fff;border:1px solid var(--line)}.about-grid h2{margin:0 0 12px}.about-grid p{color:var(--muted);line-height:1.65}.about-cta{margin-top:26px;padding:34px;border-radius:24px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px}.about-cta h2{margin:0}.finder-body{min-height:100vh;display:grid;place-items:center;padding:24px}.finder-card{width:min(580px,100%);background:#fff;border:1px solid var(--line);border-radius:30px;padding:38px;text-align:center;box-shadow:0 24px 70px #111d2a18}.finder-logo{display:block;width:auto;max-width:min(100%,320px);max-height:180px;object-fit:contain;margin:0 auto 18px}.finder-card p{color:var(--muted);line-height:1.65}.code-box{margin:28px 0;padding:20px;border-radius:16px;background:var(--blue)}.code-box small,.code-box strong{display:block}.code-box strong{font-size:30px;letter-spacing:.18em;margin-top:8px}.finder-map-stage{height:250px!important;background:#dce7dc!important}.finder-map-marker{width:24px;height:24px;border-radius:50%;border:4px solid #fff;box-shadow:0 2px 10px #0005}.finder-map-marker.destination{display:grid;place-items:center;width:38px;height:38px;background:var(--red);color:#fff;border-radius:12px;font-size:22px;font-weight:900}.finder-map-marker.user{background:#2364aa}.privacy{font-size:12px!important}
@media(max-width:840px){.landing,.signup-section,.about-hero{grid-template-columns:1fr}.hero-logo-wrap{max-width:520px}.signup-copy{position:static}.steps,.about-grid{grid-template-columns:1fr}.topnav a:not(.nav-login){display:none}.about-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.portal-grid,.cols{grid-template-columns:1fr}.portal-heading{align-items:flex-start}.entry-actions{flex-direction:column}.card{padding:23px}.landing{padding-top:40px;gap:35px}.intro h1,.about-hero h1{font-size:42px}.brand-logo{height:56px}.topbar{min-height:74px;padding:8px 16px}.signup-section{padding-top:60px}.signup-copy h2{font-size:34px}}
.topnav .nav-portal{padding:11px 16px;border-radius:11px;background:var(--red);color:#fff}.topnav .nav-portal:hover{background:var(--red-dark);color:#fff}@media(max-width:840px){.topnav a.nav-portal{display:flex}}@media(max-width:700px){.brand-logo{height:50px}.topbar{min-height:70px;padding:8px 12px}.topnav{gap:7px}.topnav .nav-login,.topnav .nav-portal{padding:10px 11px;font-size:12px}}
