:root{--green:#4dac26;--deep:#123f23;--dark:#296f2c;--pale:#f3f7f1;--ink:#12251a;--muted:#596b60;--line:#d5e0d1;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--pale);color:var(--ink);font-family:Sora,Arial,sans-serif;font-size:15px;line-height:1.7}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--green);outline-offset:4px}h1,h2,h3{line-height:1.1;letter-spacing:-.055em;margin:0 0 24px;font-weight:800}h1{font-size:clamp(42px,6.5vw,92px)}h2{font-size:clamp(32px,4vw,55px)}h3{font-size:23px;letter-spacing:-.035em}p{margin:0 0 20px}.wrap{width:min(1280px,calc(100% - 72px));margin-inline:auto}.site-header{width:min(1400px,calc(100% - 72px));min-height:105px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:800;line-height:1.15;letter-spacing:-.025em;text-decoration:none}.brand-mark{width:47px;height:47px;background:var(--green);color:var(--deep);border-radius:50%;display:grid;place-items:center;font-size:12px;letter-spacing:0}.site-header nav{display:flex;align-items:center;gap:26px;font-size:13px;font-weight:600}.site-header nav a{text-decoration:none}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:15px;padding:16px 25px;border-radius:999px;border:1px solid transparent;background:var(--deep);color:white;text-decoration:none;font-weight:600;line-height:1.4;cursor:pointer;min-height:50px}.button:hover,button:hover{background:var(--dark)}.button.small{padding:12px 20px;font-size:12px}.button.light{background:white;color:var(--deep)}.button.outline{background:transparent;border-color:var(--deep);color:var(--deep)}button:disabled{opacity:.5;cursor:not-allowed}.test-notice{background:#f5e2a9;text-align:center;padding:8px 16px;font-size:11px;font-weight:600;letter-spacing:.06em}.hero{display:grid;grid-template-columns:1.25fr .85fr;gap:70px;align-items:center;padding-block:80px 90px}.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;font-size:11px;letter-spacing:.14em;font-weight:700;margin-bottom:27px}.dot{background:var(--green);width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 5px #4dac2620}.accent{color:var(--dark)}.hero .intro{max-width:630px;font-size:18px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.muted{color:var(--muted)}.hero-card{background:var(--deep);color:white;padding:40px;border-radius:24px;position:relative;overflow:hidden}.hero-card:before{content:"";width:180px;height:180px;border:1px solid #ffffff20;border-radius:50%;position:absolute;right:-65px;top:-55px;box-shadow:0 0 0 34px #ffffff08,0 0 0 68px #ffffff04}.hero-card>*{position:relative}.hero-card .eyebrow{color:#bbe3a8}.hero-card h2{font-size:44px}.hero-card .price{font-size:52px;line-height:1;font-weight:800;letter-spacing:-.06em;margin:30px 0 9px}.hero-card .price span{font-size:14px;letter-spacing:0;font-weight:400}.hero-card .details{border-top:1px solid #ffffff30;padding-top:22px;margin-top:25px;display:grid;gap:10px}.status{display:inline-block;padding:5px 11px;border:1px solid currentColor;border-radius:99px;font-size:11px;font-weight:600;letter-spacing:.03em}.ticker{background:var(--green);color:var(--deep);display:flex;gap:25px;justify-content:space-around;flex-wrap:wrap;padding:22px 35px;font-size:15px;font-weight:700}.section{padding-block:85px}.section .section-intro{max-width:720px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:35px}.card{background:white;border:1px solid var(--line);border-radius:18px;padding:30px}.card .number{font-size:12px;color:var(--dark);font-weight:700;display:block;margin-bottom:40px}.card p{font-size:14px;color:var(--muted);margin-bottom:0}.updates{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--deep);color:white;border-radius:25px;padding:50px}.updates h2{font-size:44px}.updates .muted{color:#c0d3c2}.updates-form{background:white;color:var(--ink);border-radius:16px;padding:28px}.updates-form button{width:100%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.event-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:22px;margin-top:30px}.event-card{padding:30px;border-radius:20px;background:white;border:1px solid var(--line)}.event-card .event-price{font-weight:800;font-size:25px}.event-card .button{width:100%;margin-top:15px}.site-footer{border-top:1px solid var(--line);padding-block:38px;margin-top:70px;display:grid;gap:16px}.site-footer div{display:flex;flex-wrap:wrap;gap:22px;font-size:12px}.site-footer p{font-size:13px;margin:0;color:var(--muted)}.site-footer small{font-size:11px;color:var(--muted)}.page-title{padding-block:65px 28px}.page-title h1{font-size:clamp(38px,5vw,62px)}.booking-layout{display:grid;grid-template-columns:1.45fr .8fr;gap:35px;align-items:start}.panel{background:white;border:1px solid var(--line);padding:32px;border-radius:20px}.summary{position:sticky;top:24px}.summary .total{font-size:35px;font-weight:800;border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:grid;gap:6px;font-size:13px;font-weight:500;margin-bottom:18px}input,select,textarea{width:100%;color:var(--ink);padding:12px;border:1px solid #a9bba8;border-radius:8px;background:white;font-size:14px}textarea{resize:vertical}input[type=checkbox]{width:19px;height:19px;flex:0 0 auto;accent-color:var(--deep);margin:3px 0 0}.check{display:flex;gap:10px;font-size:12px;line-height:1.7;font-weight:400}.hint{font-size:12px;color:var(--muted)}fieldset{border:1px solid var(--line);border-radius:12px;padding:22px;margin:0 0 22px;min-width:0}legend{font-size:15px;font-weight:700;padding:0 8px}.notice{padding:18px 22px;background:#e3efdc;border-left:4px solid var(--green);border-radius:8px;margin-block:25px}.notice.error{background:#fff0eb;border-color:#b14e2e}.hidden{display:none!important}.honeypot{position:absolute;left:-10000px}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.narrow{max-width:700px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{white-space:nowrap}.admin-nav{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px}.admin-nav form{margin:0}.admin-nav button{padding:12px 18px;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0}.metric{padding:20px;background:white;border:1px solid var(--line);border-radius:12px}.metric strong{display:block;font-size:28px}.metric span{font-size:12px;color:var(--muted)}.inline-form{display:inline}.inline-form button{font-size:12px;padding:10px 14px}.text-link{font-size:13px;color:var(--dark);font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere}.body-copy{white-space:pre-wrap}.date{font-size:13px;font-weight:500}body:has(.admin-nav) .wrap{width:min(1440px,calc(100% - 40px))}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:35px;padding-block:45px}.hero h1{max-width:850px}.hero-card h2{font-size:38px}.cards{grid-template-columns:1fr}.card .number{margin-bottom:18px}.updates{grid-template-columns:1fr;gap:25px;padding:30px}.booking-layout{grid-template-columns:1fr}.summary{position:static;grid-row:1}.section{padding-block:50px}.site-header nav{gap:13px}.section-heading{display:block}}
@media(max-width:560px){.wrap,.site-header{width:calc(100% - 32px)}.site-header{min-height:90px}.site-header nav>a:not(.button){display:none}.brand{font-size:11px;gap:8px}.brand-mark{width:37px;height:37px}.site-header .button{padding:11px 15px;font-size:10px}.hero{padding-top:35px}h1{font-size:49px}.hero-card{padding:28px}.hero .intro{font-size:16px}.ticker{gap:15px;padding:18px;font-size:12px}.updates{padding:24px 18px;border-radius:15px}.updates h2{font-size:36px}.updates-form,.panel{padding:22px}.two-col{grid-template-columns:1fr;gap:0}.metrics{grid-template-columns:1fr}.notice{font-size:13px}.section-heading h2{font-size:35px}.actions .button{flex:1}.site-footer{margin-top:45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
