:root { --navy:#061a3a; --ink:#10213d; --cyan:#21d5ff; --blue:#1677ff; --yellow:#ffd54d; --mist:#f4f8ff; --line:#dbe8fa; --start:#18c83e; --intermediate:#168dff; --pro:#ff7a14; --lab:#8d2cff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.5; }
a { color:inherit; }
.site-header { height:76px; max-width:1200px; padding:0 28px; margin:auto; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; font-size:1.05rem; font-weight:600; letter-spacing:.01em; }
.brand strong { color:var(--blue); }
.brand-mark { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#06214a; background:var(--yellow); font-weight:850; }
nav { display:flex; align-items:center; gap:24px; font-size:.92rem; font-weight:600; }
nav a { text-decoration:none; }
.nav-button { padding:9px 14px; color:#fff; background:var(--navy); border-radius:8px; }
.hero { min-height:590px; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; color:white; background:radial-gradient(circle at 62% 0%,#0e61c8 0,transparent 31%),linear-gradient(125deg,#04142d 0%,#092e65 100%); }
.hero-copy { max-width:620px; padding:110px clamp(28px,8vw,130px); padding-right:36px; align-self:center; }
.eyebrow { margin:0 0 12px; color:var(--cyan); font-size:.75rem; font-weight:800; letter-spacing:.13em; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:690px; margin-bottom:22px; font-size:clamp(2.65rem,5vw,4.6rem); line-height:1.04; letter-spacing:-.055em; }
.hero-intro { max-width:545px; color:#d8e7fb; font-size:1.12rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.button { display:inline-block; padding:13px 19px; border:1px solid transparent; border-radius:9px; font-weight:750; text-decoration:none; }
.button-primary { color:#061a3a; background:var(--yellow); }
.button-secondary { color:white; border-color:#6284b7; }
.small-note { margin-top:18px; color:#a9c4e9; font-size:.83rem; }
.hero-visual { min-height:410px; position:relative; overflow:hidden; }
.hero-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#092a5a 0%,transparent 38%),linear-gradient(0deg,rgba(2,16,39,.3),transparent 45%); }
.hero-visual img { width:100%; height:100%; min-height:590px; object-fit:cover; object-position:51% center; }
.section { max-width:1200px; margin:auto; padding:104px 28px; }
.section-heading h2,.join h2 { margin-bottom:0; font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.045em; line-height:1.1; }
.how { display:grid; grid-template-columns:.7fr 1.3fr; align-items:center; gap:70px; }
.steps { display:grid; gap:28px; margin:0; padding:0; list-style:none; }
.steps li { display:grid; grid-template-columns:70px 1fr; gap:18px; padding-bottom:27px; border-bottom:1px solid var(--line); }
.steps span { color:var(--blue); font-weight:850; font-size:1.15rem; }
.steps h3 { margin-bottom:4px; font-size:1.08rem; }.steps p { margin:0; color:#60708a; }
.routes { max-width:none; background:var(--mist); }.route-heading { max-width:1200px; margin:0 auto 36px; }.route-heading > p:last-child { max-width:560px; margin-top:15px; color:#53637c; }
.route-grid { max-width:1200px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }
.route-card { min-height:360px; padding:22px 26px 26px; display:flex; flex-direction:column; border:1px solid var(--line); border-top:4px solid var(--start); background:#fff; border-radius:13px; box-shadow:0 12px 35px rgba(26,75,139,.06); }.route-card.intermediate { border-top-color:var(--intermediate); }.route-card.pro { border-top-color:var(--pro); }.route-card.lab { border-top-color:var(--lab); }
.route-badge { width:86px; height:58px; margin:0 0 6px -8px; object-fit:contain; object-position:left center; mix-blend-mode:multiply; }.route-number { margin-bottom:15px; color:var(--start); font-size:.72rem; font-weight:850; letter-spacing:.06em; }.route-card.intermediate .route-number,.route-card.intermediate .route-label,.route-card.intermediate a span { color:var(--intermediate); }.route-card.pro .route-number,.route-card.pro .route-label,.route-card.pro a span { color:var(--pro); }.route-card.lab .route-number,.route-card.lab .route-label,.route-card.lab a span { color:var(--lab); }.route-card h3 { margin-bottom:2px; font-size:1.5rem; letter-spacing:-.035em; }.route-label { margin-bottom:18px; color:var(--start); font-size:.87rem; font-weight:750; }.route-card > p:nth-of-type(3) { color:#5e6d82; font-size:.94rem; }.route-card a { margin-top:auto; color:#062960; font-size:.9rem; font-weight:800; text-decoration:none; }.route-card a span { color:var(--start); font-size:1.2rem; }
.join { max-width:1200px; margin:0 auto; padding:90px 28px; display:flex; align-items:center; justify-content:space-between; gap:34px; }.join h2 { max-width:640px; }
footer { max-width:1200px; margin:auto; padding:27px 28px; display:flex; justify-content:space-between; color:#64748b; border-top:1px solid var(--line); font-size:.85rem; }footer a { color:#365379; }
@media (max-width:860px) { nav > a:not(.nav-button) { display:none; }.hero { grid-template-columns:1fr; }.hero-copy { padding:80px 28px 42px; }.hero-visual { min-height:360px; }.hero-visual img { min-height:360px; object-position:center 62%; }.how { grid-template-columns:1fr; gap:38px; }.route-grid { grid-template-columns:repeat(2,1fr); }.join { align-items:flex-start; flex-direction:column; padding:70px 28px; } }
@media (max-width:520px) { .site-header { padding:0 18px; }.hero-copy,.section { padding-left:20px; padding-right:20px; }.route-grid { grid-template-columns:1fr; }.routes { padding-left:20px; padding-right:20px; }.route-heading { padding:0; }.route-card { min-height:270px; } footer { padding:24px 20px; flex-direction:column; gap:8px; } }
