@import url('https://fonts.googleapis.com/css2?family=Abel&family=Inter:wght@400;500;600;700&display=swap');
:root{--navy:#003264;--midnight:#120602;--clay:#BC4D20;--tan:#DFC7AF;--calm:#557186;--seagull:#EEEBE2;--sage:#6D7957;--ink:#17324a;--white:#fff;--max:1240px}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--seagull);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.5}
h1,h2,h3,.eyebrow,.topbar,nav,.btn,.price,summary,.service-price{font-family:Abel,Arial,sans-serif}
.topbar{background:var(--navy);color:#fff;text-align:center;padding:8px 18px;letter-spacing:.16em;font-size:13px}
header{position:sticky;top:0;z-index:20;background:rgba(238,235,226,.96);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:12px max(22px,calc((100vw - var(--max))/2));border-bottom:1px solid rgba(0,50,100,.08)}
.brand img{width:220px;max-height:62px;object-fit:contain} nav{display:flex;gap:22px;align-items:center} nav a{color:var(--navy);text-decoration:none;font-size:17px}.menu{display:none;background:none;border:0;font-size:28px;color:var(--navy)}
.btn{background:var(--clay);color:white;border:1px solid var(--clay);padding:15px 22px;text-transform:uppercase;letter-spacing:.08em;font-family:Abel;font-size:17px;text-decoration:none;cursor:pointer;border-radius:3px;display:inline-block}.btn.small{padding:10px 15px}.btn.cream{background:var(--seagull);color:var(--navy);border-color:var(--seagull)}.btn.ghost{background:transparent;color:var(--navy);border-color:var(--navy)}.btn.ghost-light{background:rgba(238,235,226,.08);border-color:white;color:white}
.hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(120deg,#466a7f,#0a3962 55%,#122a40)}
.hero-fallback{position:absolute;inset:0;background:radial-gradient(circle at 75% 42%,rgba(223,199,175,.24),transparent 23%),linear-gradient(120deg,rgba(0,50,100,.15),rgba(18,6,2,.15)),repeating-radial-gradient(ellipse at 85% 45%,transparent 0 60px,rgba(238,235,226,.08) 61px 62px)}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,35,70,.9) 0 43%,rgba(0,35,70,.52) 60%,rgba(0,35,70,.18) 100%);z-index:1}
.hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 44px));margin:auto;padding:80px 0;color:white}.hero-content h1{font-size:70px;line-height:.96;max-width:760px;margin:0 0 22px}.hero-content p{font-size:20px;max-width:650px}.eyebrow{color:var(--navy);letter-spacing:.22em;font-size:15px;margin-bottom:14px}.eyebrow.light{color:var(--tan)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.service-intro{max-width:var(--max);margin:auto;padding:72px 32px;background:#fbf8f0}.service-intro h2{font-size:46px;color:var(--navy);max-width:850px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.service-grid article{padding:30px;background:white;border-top:4px solid var(--tan);min-height:250px;box-shadow:0 10px 28px rgba(0,50,100,.06)}.service-grid article.flag{border-top-color:var(--clay)}.service-grid .num{font:24px Abel;color:var(--clay)}.service-grid h3{font-size:31px;color:var(--navy);margin:9px 0}.service-price{font-size:20px;color:var(--clay);margin-top:18px}
.quiz-band{background:var(--navy);color:white;padding:48px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.quiz-band h2{font-size:39px;max-width:780px;margin:0}
.road-trail{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr}.road-card,.trail-card{min-height:360px;position:relative;padding:28px;display:flex;align-items:flex-end;color:white;overflow:hidden}.road-card{background:linear-gradient(145deg,#7e99a5,#47697a 48%,#223f52)}.trail-card{background:linear-gradient(145deg,#987f63,#675a43 48%,#314337)}.road-card:after,.trail-card:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 42px,rgba(255,255,255,.06) 43px 44px)}.photo-label{position:absolute;top:24px;left:24px;font:15px Abel;letter-spacing:.2em}.photo-copy{position:relative;z-index:2;max-width:480px}.photo-copy h3{font-size:34px;margin:0 0 6px}
.assessment{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;background:linear-gradient(120deg,#f7f0e4,var(--tan))}.assessment-copy{padding:72px 48px}.assessment h2{font-size:58px;line-height:1;color:var(--navy);margin:0}.assessment h3{font-size:30px;color:var(--navy)}.assessment p{font-size:18px;max-width:700px}.price{font-size:24px;color:var(--midnight);margin-top:20px}.assessment-details{padding:72px 48px;background:rgba(255,255,255,.35)}.assessment-details h3{font-size:34px}.assessment-details ul{list-style:none;padding:0}.assessment-details li{padding:15px 0;border-bottom:1px solid rgba(0,50,100,.15);font-family:Abel;font-size:21px}.assessment-details li:before{content:"→";color:var(--clay);margin-right:12px}
.about{max-width:var(--max);margin:auto;padding:70px 42px;background:#fbf8f0;display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center}.about h2{font-size:44px;color:var(--navy);margin:0}.about p{font-size:19px}
.booking{background:linear-gradient(120deg,var(--navy),#0c4b78);color:white;padding:64px max(24px,calc((100vw - var(--max))/2))}.booking h2{font-size:45px;margin:0 0 28px}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-card{background:var(--seagull);border:0;padding:28px;text-align:left;cursor:pointer;color:var(--navy)}.booking-card strong{font:32px Abel}.booking-card span{display:block;margin-top:7px;color:var(--clay)}
.faq{max-width:980px;margin:auto;padding:72px 28px}.faq h2{font-size:44px;color:var(--navy)}details{background:white;margin:12px 0;padding:0 22px;border-left:4px solid var(--tan)}summary{cursor:pointer;padding:19px 0;font-size:24px;color:var(--navy)}details p{padding:0 0 20px;margin:0}
.contact{background:var(--clay);color:white;padding:60px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:44px;margin:0}
footer{background:var(--midnight);color:var(--tan);padding:34px max(24px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;align-items:center}footer img{width:260px;max-height:82px;object-fit:contain}
dialog{border:0;border-radius:8px;max-width:760px;width:92%;padding:0;box-shadow:0 30px 80px rgba(0,0,0,.3)}dialog::backdrop{background:rgba(0,28,54,.72)}.quiz-shell{padding:34px;position:relative}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;color:var(--navy);cursor:pointer}.progress{height:7px;background:#ddd;margin:12px 0 30px;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;width:25%;background:var(--clay)}.quiz-shell h2{font-size:38px;color:var(--navy)}.quiz-answers{display:grid;gap:10px}.quiz-answer{border:1px solid #cbc5bc;background:white;padding:15px;text-align:left;cursor:pointer;border-radius:4px;font-size:16px}.quiz-answer:hover{border-color:var(--clay);background:#fff8f2}.recommendation{background:#f7f0e4;padding:24px;border-left:5px solid var(--clay)}.recommendation h3{font-size:34px;color:var(--navy);margin:4px 0}.rec-price{font:25px Abel;color:var(--clay)}
@media(max-width:900px){.menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:86px;background:var(--seagull);padding:20px 28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #ccc}header.menu-open nav{display:flex}.hero-content h1{font-size:54px}.service-grid{grid-template-columns:1fr}.road-trail,.assessment,.about{grid-template-columns:1fr}.quiz-band,.contact{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.topbar{font-size:10px}.brand img{width:170px}.hero{min-height:580px}.hero-content{padding:60px 0}.hero-content h1{font-size:45px}.road-card,.trail-card{min-height:280px}.booking-grid{grid-template-columns:1fr}.assessment-copy,.assessment-details,.service-intro,.about{padding:48px 24px}footer{flex-direction:column;align-items:flex-start;gap:12px}}
