:root{--navy:#092f4f;--blue:#0878da;--sky:#e8f4ff;--mint:#e7f8f1;--ink:#15202b;--muted:#667784;--line:#d8e1e8;--white:#fff;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Malgun Gothic",sans-serif;color:var(--ink);background:#f8fbfd}a{text-decoration:none;color:inherit}.hero{min-height:620px;background:linear-gradient(135deg,rgba(4,41,68,.97),rgba(0,100,164,.86)),radial-gradient(circle at 85% 20%,#35c6ca,transparent 36%);color:#fff;padding:22px max(6vw,22px) 70px}.hero nav{max-width:1120px;margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{font-size:25px;font-weight:800;letter-spacing:-1px}.badge{border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:8px 12px;font-size:12px}.hero-copy{max-width:1120px;margin:100px auto 0}.eyebrow,.section-head>p{font-size:12px;font-weight:800;letter-spacing:2px;color:#4ec8e8}.hero h1{font-size:clamp(44px,8vw,84px);letter-spacing:-4px;line-height:1.04;margin:14px 0 25px}.hero h1 span{color:#75e1c4}.lead{font-size:18px;line-height:1.7;max-width:630px;color:#e7f4fb}.primary{display:inline-block;background:#ffcb45;color:#1d2b37;border:0;border-radius:14px;padding:16px 22px;font-weight:800;margin-top:18px;cursor:pointer}.problem{max-width:1120px;margin:-45px auto 70px;display:grid;grid-template-columns:repeat(3,1fr);gap:15px;padding:0 20px}.problem div{background:#fff;padding:30px;border-radius:var(--radius);box-shadow:0 10px 35px rgba(8,50,77,.1)}.problem strong{color:var(--blue)}.problem h2{font-size:20px}.problem p{color:var(--muted);line-height:1.6}.planner,.results,.contact{max-width:1050px;margin:70px auto;padding:0 20px}.section-head{text-align:center;margin-bottom:28px}.section-head>p{color:var(--blue);margin-bottom:7px}.section-head h2{font-size:clamp(29px,5vw,45px);letter-spacing:-2px;margin:0 0 10px}.section-head>span{color:var(--muted)}form{background:#fff;border:1px solid var(--line);padding:28px;border-radius:var(--radius);display:grid;grid-template-columns:repeat(2,1fr);gap:20px;box-shadow:0 10px 40px rgba(20,54,74,.06)}label{font-weight:800;font-size:14px}input,select{width:100%;margin-top:9px;padding:15px;border:1px solid #b9c8d2;border-radius:12px;background:#fff;font-size:16px;color:var(--ink)}.submit{grid-column:1/-1;font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(20,54,74,.07)}.card img{width:100%;height:180px;object-fit:cover;background:var(--sky)}.card-body{padding:18px}.card h3{margin:0 0 8px;font-size:20px}.card p{margin:5px 0;color:var(--muted);line-height:1.5}.card .tag{display:inline-block;background:var(--sky);color:#0465ab;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.route-box{margin-top:22px;background:var(--navy);color:#fff;border-radius:18px;padding:23px;display:flex;justify-content:space-between;gap:20px;align-items:center}.route-box small{display:block;color:#8ddbea;margin-bottom:8px}.route-box strong{line-height:1.6}.route-box a{background:#fff;color:var(--navy);padding:12px 16px;border-radius:12px;font-weight:800;white-space:nowrap}.contact{background:linear-gradient(135deg,var(--mint),var(--sky));border-radius:28px;padding:45px;display:flex;justify-content:space-between;gap:30px;align-items:center}.contact h2{font-size:35px;margin:8px 0}.contact p{max-width:650px;line-height:1.65}.contact .primary{white-space:nowrap}footer{background:#071f33;color:#d9e9f3;padding:40px max(6vw,22px);text-align:center}footer strong{font-size:24px}footer p{margin:9px}.small{font-size:12px;color:#8ba3b3}.loading,.error{grid-column:1/-1;padding:28px;text-align:center;background:#fff;border-radius:16px}.error{color:#a13b2d}
@media(max-width:720px){.hero{min-height:560px}.hero-copy{margin-top:75px}.hero h1{letter-spacing:-2.5px}.problem{grid-template-columns:1fr;margin-top:-30px}.problem div{padding:22px}form{grid-template-columns:1fr;padding:20px}.submit{grid-column:auto}.cards{grid-template-columns:1fr}.route-box,.contact{flex-direction:column;align-items:stretch}.contact{padding:30px}.contact h2{font-size:28px}.contact .primary,.route-box a{text-align:center}.badge{font-size:10px}}
