@font-face{font-family:'Source Sans 3';src:url(/fonts/source-sans-3-latin.woff2) format('woff2');font-weight:200 900;font-display:swap}
[hidden]{display:none!important}
@font-face{font-family:'Source Serif 4';src:url(/fonts/source-serif-4-latin.woff2) format('woff2');font-weight:200 900;font-display:swap}
:root{--cream:#F6F1E7;--paper:#FFFDF8;--green:#123B2E;--green2:#1F5A45;--gold:#C8962E;--ink:#1D1A14;--mut:#6B6253;--line:#E4DACA;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.55 'Source Sans 3',system-ui,sans-serif}
h1,h2,.brand,.tNum,.strip b,summary{font-family:'Source Serif 4',Georgia,serif}
h1{font-size:clamp(42px,6vw,84px);line-height:1;margin:0;font-weight:700;letter-spacing:-.02em;max-width:12ch}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.1;margin:0;font-weight:700;letter-spacing:-.01em}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.sec{padding:72px 24px}
.wrap.sec{padding:72px 24px}
.ah{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;background:var(--ink);color:#F6F1E7;font-size:15px;padding:8px 16px;text-align:center}
.ah a{background:var(--gold);color:var(--ink);font-weight:700;text-decoration:none;padding:5px 14px;border-radius:6px}
.sw{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:700}
.sw input{width:18px;height:18px;accent-color:var(--gold)}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 28px;background:var(--green);color:var(--cream)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:24px;font-weight:700;line-height:1}
.brand small{display:block;font:600 12px 'Source Sans 3',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.top nav{display:flex;gap:26px;font-weight:600}
.top nav a{text-decoration:none;opacity:.85}.top nav a:hover{opacity:1;color:var(--gold)}
.langs{display:flex;align-items:center;gap:4px}
.langs button{background:transparent;border:1px solid rgba(246,241,231,.35);color:var(--cream);font:inherit;font-size:14px;font-weight:700;padding:7px 11px;min-height:40px;border-radius:6px;cursor:pointer}
.langs button[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.b{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-radius:6px;border:0;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}
.b:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.b.gold{background:var(--gold);color:var(--ink)}
.b.ghost{border:2px solid var(--cream);color:var(--cream)}
.b.green{background:var(--green);color:var(--cream)}
.b.wa{background:#1F7A4D;color:#FFFFFF}
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:flex-end;color:var(--cream);overflow:hidden}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,59,46,.94) 0%,rgba(18,59,46,.78) 45%,rgba(18,59,46,.15) 100%)}
.heroIn{position:relative;z-index:1;max-width:1180px;width:100%;margin:0 auto;padding:80px 24px;display:flex;flex-direction:column;gap:22px}
.kick{margin:0;color:var(--gold);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:14px}
.lead{margin:0;font-size:21px;max-width:520px;opacity:.92}
.row{display:flex;gap:12px;flex-wrap:wrap}
.strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-bottom:1px solid var(--line)}
.strip div{padding:26px 24px;display:flex;align-items:baseline;gap:12px;justify-content:center;border-right:1px solid var(--line)}
.strip div:last-child{border-right:0}
.strip b{font-size:44px;color:var(--green2);line-height:1}
.strip span{color:var(--mut);font-weight:600}
.secHead{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.quote{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:start}
.qQs{display:flex;flex-direction:column;gap:22px}
fieldset{border:0;margin:0;padding:0}
legend{font-weight:700;font-size:19px;margin-bottom:10px}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{background:var(--paper);border:1.5px solid var(--line);border-radius:6px;padding:10px 16px;min-height:46px;font:inherit;font-size:16px;font-weight:600;cursor:pointer;color:var(--ink)}
.opt[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--cream)}
.ticket{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:28px;box-shadow:0 20px 50px rgba(29,26,20,.1);background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(200,150,46,.12) 31px 32px)}
.ticket::before{content:'';display:block;height:6px;margin:-28px -28px 22px;background:var(--gold)}
.tLbl{margin:0;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.tNum{margin:4px 0 14px;font-size:64px;line-height:1;color:var(--green);font-weight:700;font-variant-numeric:tabular-nums}
#tLines{list-style:none;margin:0 0 12px;padding:0;border-top:1px dashed var(--line)}
#tLines li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--line);font-variant-numeric:tabular-nums}
.tNote{color:var(--mut);font-size:14px;margin:8px 0}
.tAct{display:flex;flex-direction:column;gap:10px;align-items:flex-start;margin-top:14px}
.toast{background:#E8F3EC;color:#14532D;border-radius:6px;padding:12px 14px;font-size:15px;font-weight:600;margin:12px 0 0}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.duo figure{margin:0}
.duo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px;box-shadow:18px 18px 0 var(--gold)}
.duo p{font-size:20px;color:var(--mut)}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;font-weight:600}
.ticks li::before{content:'—  ';color:var(--gold);font-weight:800}
.bookSec{background:var(--green);color:var(--cream)}
.bookSec .tNote{color:rgba(246,241,231,.7)}
.book{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);gap:24px;align-items:start}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal .dh{font-size:12px;text-transform:uppercase;letter-spacing:.08em;text-align:center;opacity:.7;font-weight:700}
.day{aspect-ratio:1;border:1px solid rgba(246,241,231,.25);background:transparent;color:var(--cream);border-radius:6px;font:inherit;font-weight:700;cursor:pointer;min-height:40px}
.day[disabled]{opacity:.25;cursor:default}
.day[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.slots{display:flex;flex-direction:column;gap:8px}
.slot{border:1px solid rgba(246,241,231,.3);background:transparent;color:var(--cream);font:inherit;font-weight:700;padding:10px;border-radius:6px;cursor:pointer;min-height:44px}
.slot[aria-pressed="true"]{background:var(--cream);color:var(--green)}
.who{display:flex;flex-direction:column;gap:14px}
.who label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.who input[type=text]{font:inherit;padding:12px 14px;border-radius:6px;border:0;min-height:48px}
.chk{flex-direction:row!important;align-items:center;flex-wrap:wrap;gap:10px!important;font-weight:600!important}
.chk input{width:20px;height:20px;accent-color:var(--gold)}
.err{color:#FCA5A5;font-weight:700;margin:0}
.ok{background:var(--cream);color:var(--green);border-radius:6px;padding:12px 14px;font-weight:700;margin:0}
details{border-bottom:1px solid var(--line);padding:18px 0}
details:first-of-type{margin-top:24px;border-top:1px solid var(--line)}
summary{font-size:22px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:'+';color:var(--gold)}details[open] summary::after{content:'–'}
details p{color:var(--mut);margin:10px 0 0}
.end{position:relative;border-radius:4px;overflow:hidden;min-height:340px;display:flex;align-items:center}
.end img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.end::after{content:'';position:absolute;inset:0;background:rgba(18,59,46,.72)}
.end div{position:relative;z-index:1;padding:48px;color:var(--cream);display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:30px 24px 60px;color:var(--mut);font-size:15px}
.ft{display:none}
.tour .ft{display:inline-flex}
.ftB{display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:var(--ink);border:0;border-radius:999px;font:700 13px 'Source Sans 3',sans-serif;padding:6px 12px;cursor:pointer;min-height:32px;box-shadow:0 0 0 0 rgba(200,150,46,.6);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(200,150,46,0)}100%{box-shadow:0 0 0 0 rgba(200,150,46,0)}}
.tourBox{position:fixed;right:20px;bottom:20px;z-index:40;width:min(360px,calc(100vw - 32px));background:var(--ink);color:var(--cream);border-radius:10px;padding:22px;box-shadow:0 24px 60px rgba(0,0,0,.35);animation:up .25s ease}
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.tourBox p{margin:0 0 8px}
.tbK{color:var(--gold);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.tbT{font:700 22px 'Source Serif 4',serif}
.tbD{opacity:.85}
.tbP{font-weight:700;color:var(--gold)}
.tbX{background:transparent;border:1px solid rgba(246,241,231,.4);color:var(--cream);font:inherit;font-weight:700;border-radius:6px;padding:8px 14px;cursor:pointer;min-height:40px}
input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
@media (max-width:900px){.top nav{display:none}.quote,.duo,.book{grid-template-columns:1fr}.ticket{position:static}.duo{gap:32px}}
@media (max-width:560px){.langs .ft{position:absolute;right:16px;top:100%;margin-top:8px}.strip{grid-template-columns:1fr}.strip div{border-right:0;border-bottom:1px solid var(--line);justify-content:flex-start}.top{padding:12px 16px}.brand{font-size:20px}.end div{padding:28px}}
@media print{.ah,.top,.hero,.strip,.duo,.bookSec,#faq,.end,.foot,.qQs,.tAct,.tourBox,.secHead .ft{display:none!important}body{background:#FFFFFF}.quote{display:block}.ticket{box-shadow:none;border:1px solid #999;background-image:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
