:root{
  --navy:#0B2545; --navy-2:#1D3A5C; --ink:#13293D; --muted:#4A5B6C;
  --teal:#0E7490; --orange:#C2410C; --orange-dk:#9A3412; --sand:#F4A261;
  --bg:#F5F7FA; --line:#D5DDE5; --field:#A9B8C7; --mist:#E6F1F5; --blush:#FDEBE3;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Source Sans 3',system-ui,sans-serif;font-size:18px;line-height:1.5}
h1,h2,h3{font-family:'Archivo',sans-serif;color:var(--navy);margin:0;line-height:1.1}
a{color:var(--teal)} a:hover{color:var(--navy)}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange)}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:10}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sand);outline-offset:2px}

/* header */
.site-header{background:var(--navy);color:#fff}
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;max-width:1200px;margin:0 auto}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand img{height:60px;width:auto;display:block}
.brand span{font-family:'Archivo',sans-serif;font-weight:800;font-size:22px;letter-spacing:.02em}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;font-size:16px}
.nav-links a{color:#fff;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.nav-links a:hover{text-decoration:underline;color:#fff}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border-radius:10px;font:inherit;font-weight:700;text-decoration:none;border:0;cursor:pointer}
.btn-primary{background:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-dk);color:#fff}
.btn-outline{border:2px solid var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#fff}
.nav-links .btn-primary{padding:10px 18px}

/* hero */
.hero{background:var(--navy);color:#fff;padding:40px 0 88px}
.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}
.hero-copy{display:flex;flex-direction:column;gap:24px}
.hero .eyebrow{color:var(--sand)}
.hero h1{color:#fff;font-weight:800;font-size:clamp(40px,6vw,60px);line-height:1.04}
.hero p{margin:0;font-size:20px;color:#DCE6F1;max-width:520px}
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.path{background:#fff;color:var(--navy);text-decoration:none;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:4px;transition:transform .15s}
.path:hover{transform:translateY(-2px);color:var(--navy)}
.path .tag{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.path .big{font-family:'Archivo',sans-serif;font-size:22px;font-weight:700}
.path .small{font-size:15px;color:var(--muted)}
.hero-art{border-radius:20px;background:var(--navy-2);overflow:hidden;min-height:380px;display:flex}
.hero-art svg{width:100%;height:auto;display:block}

/* sections */
.section{padding:88px 0}
.section-head{display:flex;flex-direction:column;gap:8px;margin-bottom:40px}
.section-head h2{font-size:clamp(30px,4vw,40px)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px}
.card .num{font-family:'Archivo',sans-serif;font-size:40px;font-weight:800;color:var(--teal);line-height:1}
.card h3{font-size:22px}
.card p{margin:0;color:var(--muted)}
.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:72px 0}
.band h2{font-size:32px;margin-bottom:28px}
.pills{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0}
.pills li{background:var(--mist);color:var(--navy);padding:12px 20px;border-radius:999px;font-weight:600}
.pills li.hot{background:var(--blush);color:var(--orange-dk);font-weight:700}
.marinas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.marina{background:var(--navy);color:#fff;border-radius:16px;padding:28px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.marina h3{color:#fff;font-size:26px}
.marina span{font-size:15px;color:#C9DBEE}
.novice{background:var(--blush);border-radius:20px;padding:48px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;align-items:center}
.novice h2{color:#7C2D12;font-size:36px;margin-bottom:12px}
.novice p{margin:0;color:#4A2412}
.novice .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.novice .actions a.link{color:#7C2D12;font-weight:600;min-height:44px;display:inline-flex;align-items:center;padding:0 8px}
.follow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}
.follow h2{font-size:28px;margin-bottom:6px}
.follow p{margin:0;color:var(--muted)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 20px;margin-bottom:12px}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy);padding:18px 0;min-height:44px}
.faq details p{margin:0 0 18px;color:var(--muted)}

/* footer */
.site-footer{background:var(--navy);color:#C9DBEE;padding:40px 0;font-size:15px}
.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-brand img{height:68px;width:auto}
.site-footer a{color:#fff}
.footer-links{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.social{display:flex;gap:14px}
.social-btn{width:56px;height:56px;border-radius:999px;border:2px solid var(--navy);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s}
.social-btn:hover{background:var(--navy);color:#fff}
.footer-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:#fff}
.footer-icon:hover{color:var(--sand)}

/* form page */
.form-main{max-width:760px;margin:0 auto;padding:48px 24px 96px;display:flex;flex-direction:column;gap:24px}
.form-main h1{font-size:clamp(32px,5vw,42px)}
.lede{margin:8px 0 0;color:var(--muted)}
.role-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#E3E9EF;padding:6px;border-radius:14px;border:0;margin:0}
.role-toggle legend{position:absolute;left:-9999px}
.role-toggle label{display:flex;align-items:center;justify-content:center;text-align:center;border-radius:10px;padding:14px 12px;font-weight:700;font-size:16px;min-height:52px;cursor:pointer;color:var(--muted)}
.role-toggle input{position:absolute;opacity:0;pointer-events:none}
.role-toggle input:checked + span{color:var(--navy)}
.role-toggle label:has(input:checked){background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(11,37,69,.18)}
.role-toggle label:has(input:focus-visible){outline:3px solid var(--sand)}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px;margin:0}
.panel legend,.panel .ptitle{font-weight:700;color:var(--navy);padding:0;float:left;width:100%}
.panel legend + *{clear:both}
.hint{font-size:14px;color:var(--muted);font-weight:400;display:block}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;border-radius:999px;padding:10px 18px;font-size:16px;font-weight:600;min-height:44px;cursor:pointer;background:#fff;color:var(--ink);border:1px solid var(--field);user-select:none}
.chip input:checked + span{background:var(--navy);color:#fff;border-color:var(--navy)}
.chip input:checked + span::before{content:"✓"}
.chip input:focus-visible + span{outline:3px solid var(--sand);outline-offset:2px}
.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:15px;font-weight:600}
.field input,.field textarea,.field select{font:inherit;border:1px solid var(--field);border-radius:10px;padding:12px 14px;min-height:48px;width:100%;background:#fff;color:var(--ink)}
.field textarea{resize:vertical;min-height:110px}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.consent input{width:20px;height:20px;margin-top:2px;flex:none}
.submit{font-size:19px;min-height:56px;border-radius:12px;width:100%}
.error{background:var(--blush);color:#7C2D12;border-radius:10px;padding:12px 16px;font-size:16px}
.hidden{display:none !important}
.done{background:#fff;border:1px solid var(--line);border-radius:20px;padding:48px;display:flex;flex-direction:column;gap:16px;text-align:center;align-items:center}
.done .tick{width:64px;height:64px;border-radius:999px;background:var(--mist);display:flex;align-items:center;justify-content:center}
.done p{margin:0;color:var(--muted);max-width:480px}
.prose{max-width:760px;margin:0 auto;padding:48px 24px 96px}
.prose h1{font-size:40px;margin-bottom:16px}
.prose h2{font-size:24px;margin:32px 0 8px}
.prose p,.prose li{color:var(--ink)}

@media (max-width:600px){
  .nav{padding:12px 16px}
  .brand img{height:48px}
  .wrap{padding:0 16px}
  .section{padding:64px 0}
  .novice{padding:28px}
  .hero-art{min-height:240px}
  .role-toggle label{font-size:15px;padding:10px 8px}
}
