*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,"Helvetica Neue",Arial,sans-serif;color:#24302f;background:#fbf6ee;line-height:1.55;font-size:17px}
img{max-width:100%;display:block}
h1,h2{font-family:"Playfair Display",Georgia,serif;font-weight:700;line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,7vw,4.4rem);color:#fff}
h2{font-size:clamp(1.8rem,4.5vw,2.6rem);color:#1f3a3d}
a{color:#b5562f}
a:focus-visible,summary:focus-visible{outline:3px solid #e8a33d;outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.wrap{max-width:1120px;margin:0 auto;padding:64px 20px}
.center{text-align:center}
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;background:#1f3a3d}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,26,28,.10) 0%,rgba(16,26,28,.45) 35%,rgba(16,26,28,.88) 100%)}
.hero-text{position:relative;text-shadow:0 1px 3px rgba(0,0,0,.45);max-width:1120px;margin:0 auto;padding:40px 20px 64px;width:100%;color:#fff}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:600;margin:0 0 .6em;color:#f6d9a8}
.lede{font-size:1.15rem;max-width:36em;margin:0 0 1.4em}
.small{font-size:.9rem;opacity:.9;margin:.8em 0 0}
.btn{display:inline-block;background:#25a35a;color:#fff;font-weight:700;text-decoration:none;padding:15px 28px;border-radius:40px;font-size:1.05rem;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.btn:hover{background:#1e8c4c}.btn.light{background:#fff;color:#1f3a3d}
.intro{margin-top:-.2em;color:#5b6563}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:28px 0 36px}
.card{background:#fff;border-radius:18px;padding:28px 24px;box-shadow:0 8px 30px rgba(31,58,61,.08);border:1px solid #efe4d3;position:relative}
.card.feature{border:2px solid #e8a33d}
.badge{position:absolute;top:-13px;left:22px;background:#e8a33d;color:#2b1d07;font-size:.75rem;font-weight:700;padding:4px 12px;border-radius:20px;margin:0;text-transform:uppercase;letter-spacing:.06em}
.tier{font-family:"Playfair Display",Georgia,serif;font-size:1.45rem;font-weight:700;color:#1f3a3d;margin:0}
.price{font-size:2rem;font-weight:800;color:#b5562f;margin:.2em 0 .3em}.price span{font-size:.9rem;font-weight:500;color:#5b6563}
.desc{color:#5b6563;margin:0 0 1em}
.card ul{padding-left:1.1em;margin:0}.card li{margin:.35em 0}
.band{background:#f2e7d5}
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
.split img{border-radius:18px;width:100%;height:auto}
.steps{padding-left:1.2em}.steps li{margin:.8em 0}
.note{display:inline-block;background:#fff;border-left:4px solid #e8a33d;padding:10px 14px;border-radius:6px;font-weight:600;margin-top:.6em}
details{background:#fff;border:1px solid #efe4d3;border-radius:12px;padding:14px 18px;margin:12px 0}
summary{cursor:pointer;font-weight:700;color:#1f3a3d}
.cta{background:#1f3a3d;color:#f3ece0}.cta h2{color:#fff}
.foot{padding:32px 20px 110px;color:#5b6563;font-size:.85rem;text-align:center}
.float{position:fixed;right:16px;bottom:16px;background:#25a35a;color:#fff;text-decoration:none;font-weight:700;padding:13px 20px;border-radius:40px;box-shadow:0 6px 20px rgba(0,0,0,.25);z-index:5}
@media (max-width:860px){.cards{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:28px}.wrap{padding:48px 18px}.hero{min-height:82vh}}

.brandbar{position:absolute;top:0;left:0;right:0;z-index:2;max-width:1120px;margin:0 auto;padding:18px 20px}
.brandbar img{height:76px;width:auto;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.sponsor{background:#f2e7d5;border-top:4px solid #e8a33d}
.sponsor-in{padding:34px 20px;text-align:center}
.sp-label{margin:0;text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:700;color:#b5562f}
.sp-name{margin:.15em 0 .35em;font-family:"Playfair Display",Georgia,serif;font-size:1.7rem;font-weight:700}
.sp-name a{color:#1f3a3d;text-decoration:none}.sp-name a:hover{text-decoration:underline}
.sp-ride{margin:0;color:#5b6563;font-size:.95rem}.sp-ride a{color:#1f3a3d;font-weight:600}
.foot-logo{height:64px;width:auto;margin:0 auto 14px;opacity:.95}
@media (max-width:860px){.brandbar img{height:60px}}

/* ===== v2 (16 Oct 2026) ===== */
body{font-family:Inter,"Helvetica Neue",Arial,sans-serif}
.kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;color:#b5562f;margin:0 0 .4em}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{border:0;cursor:pointer;font-family:inherit}
.btn.ghost{background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.85);box-shadow:none;backdrop-filter:blur(4px)}
.btn.sm{padding:11px 22px;font-size:.95rem;margin-top:14px;background:#1f3a3d}
.btn.sm:hover{background:#2b4f53}
.btn.wide{width:100%;font-size:1.1rem;padding:17px}
.cards{grid-template-columns:repeat(3,1fr)}
.card{padding:0;overflow:visible;display:flex;flex-direction:column}
.card>img{width:100%;aspect-ratio:4/5;max-height:260px;object-fit:cover;border-radius:18px 18px 0 0}
.card-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.card-body ul{flex:1;font-size:.95rem;color:#3b4746}
.card .badge{z-index:2}
.card .tier{font-size:1.35rem}
.card .price{font-size:1.75rem;margin:.1em 0 .15em}
.card .desc{margin:0 0 .6em;font-size:.97rem}
.season{background:#fff;border:1px dashed #e0c9a6;border-radius:14px;padding:16px 18px;margin:8px 0 0;color:#3b4746}
.narrow{max-width:640px}
.form{background:#fff;border-radius:20px;padding:24px 20px;box-shadow:0 10px 34px rgba(31,58,61,.10);border:1px solid #efe4d3;margin-top:18px}
.form label{display:block;font-weight:600;color:#1f3a3d;font-size:.92rem;margin:0 0 14px}
.form input,.form select,.form textarea{display:block;width:100%;margin-top:6px;font:inherit;font-weight:400;font-size:16px;color:#24302f;background:#fbf8f3;border:1.5px solid #e3d6c2;border-radius:12px;padding:12px 13px;min-height:48px;-webkit-appearance:none;appearance:none}
.form select{background-image:linear-gradient(45deg,transparent 50%,#1f3a3d 50%),linear-gradient(135deg,#1f3a3d 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px;background-repeat:no-repeat;padding-right:34px}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:#e8a33d;box-shadow:0 0 0 3px rgba(232,163,61,.25)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opt{font-weight:400;color:#7a8381}
.err{background:#fdecea;color:#8a2a1c;border-radius:10px;padding:10px 12px;font-weight:600;margin:0 0 12px}
.small.dark{color:#5b6563;opacity:1;text-align:center}
.faqwrap{padding-top:0}
@media (max-width:980px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cards{grid-template-columns:1fr}.card>img{max-height:220px;aspect-ratio:auto}.form .row{grid-template-columns:1fr}.hero-btns .btn{flex:1;text-align:center;padding:14px 16px}}
.card>img{object-position:center 45%}
.form label.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.form label.check input{width:22px;min-height:22px;height:22px;margin:2px 0 0;flex:0 0 22px;-webkit-appearance:checkbox;appearance:auto;accent-color:#25a35a}
.soft{background:#fff6e5;color:#6b4a12;border-radius:10px;padding:10px 12px;font-weight:600;margin:0 0 12px}
.small.dark.left{text-align:left;margin:-6px 0 14px}
[hidden]{display:none!important}
.hero-img{object-position:center 30%}
@media (max-width:620px){.hero-btns .btn{white-space:nowrap;font-size:.98rem;padding:14px 10px}}
