:root{--bg:#f8f5f0;--surface:#ffffff;--ink:#1f2a2e;--ink-2:#4a5558;--muted:#5b666a;--line:#ece8e1;--brand:#2f5d62;--brand-ink:#1f4246;--brand-soft:#e7efec;--peach:#f6e3d4;--peach-ink:#8a4a2b;--sand:#fbebd3;--sand-ink:#7a4a0c;--lilac:#e4e7f3;--wheat:#f3e9d2;--ok:#e1f0e3;--ok-ink:#245c2e;--no-ink:#8a2e12;--dot:#e08a5f;--shadow-sm:0 1px 2px rgba(31,42,46,0.06);--shadow:0 4px 20px rgba(31,42,46,0.06);--shadow-lg:0 12px 40px rgba(31,42,46,0.08);--font-sans:var(--font-figtree),system-ui,sans-serif;--font-serif:var(--font-instrument),Georgia,serif}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--brand)}a:hover{color:var(--brand-ink)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:3px solid var(--dot);outline-offset:2px}img{max-width:100%;display:block}.container{max-width:1320px;margin:0 auto;padding-left:24px;padding-right:24px}.accent{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--brand)}.h-section{margin:0;font-size:clamp(34px,4vw,54px);letter-spacing:-.03em;line-height:1.05;font-weight:600}.muted{color:var(--muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pill{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-radius:999px;border:none;text-decoration:none;font-size:15px;font-weight:600}.pill-primary{background:var(--brand);color:#fff}.pill-primary:hover{background:var(--brand-ink);color:#fff}.pill-soft{background:var(--brand-soft);color:var(--brand-ink)}.pill-white{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:500}.pill-dark{background:var(--ink);color:#fff}.pill-dark:hover{color:#fff}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip[aria-pressed=true]{background:var(--brand);color:#fff;font-weight:600;box-shadow:none}.card{background:var(--surface);border-radius:24px}.eyebrow{display:inline-flex;padding:8px 14px;border-radius:999px;background:var(--peach);color:var(--peach-ink);font-size:14px;font-weight:600}.placeholder{justify-content:center;text-align:center;color:#3a4549;font-size:13px;font-weight:600}.placeholder,.site-header{display:flex;align-items:center}.site-header{flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px}.logo{font-weight:700;font-size:28px;letter-spacing:-.03em;text-decoration:none;color:var(--ink)}.logo span{color:var(--dot)}.main-nav{display:flex;flex-wrap:wrap;gap:6px;background:var(--surface);padding:6px;border-radius:999px;box-shadow:var(--shadow-sm)}.main-nav a{text-decoration:none;color:var(--ink);padding:10px 18px;border-radius:999px;font-size:16px;font-weight:500}.main-nav a[aria-current=page]{background:var(--brand-soft)}.header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lang-switch{display:flex;gap:2px;background:var(--surface);padding:4px;border-radius:999px;box-shadow:var(--shadow-sm)}.lang-switch a{min-width:44px;height:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--muted);font-size:14px;font-weight:600;text-decoration:none}.lang-switch a[aria-current=true]{background:var(--brand);color:#fff}.menu-toggle{display:none}@media (max-width:960px){.site-header{flex-wrap:wrap;gap:0;padding-top:14px;padding-bottom:14px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:999px;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);cursor:pointer}.menu-icon,.menu-icon:after,.menu-icon:before{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,background-color .2s ease}.menu-icon{position:relative}.menu-icon:after,.menu-icon:before{content:"";position:absolute;left:0}.menu-icon:before{top:-6px}.menu-icon:after{top:6px}.is-open .menu-icon{background:transparent}.is-open .menu-icon:before{transform:translateY(6px) rotate(45deg)}.is-open .menu-icon:after{transform:translateY(-6px) rotate(-45deg)}.site-header .header-tools,.site-header .main-nav{display:none}.site-header.is-open .main-nav{display:flex;flex-direction:column;flex-wrap:nowrap;flex-basis:100%;gap:2px;margin-top:14px;padding:8px;border-radius:24px}.site-header.is-open .main-nav a{padding:14px 16px;border-radius:16px;font-size:17px}.site-header.is-open .header-tools{display:flex;flex-basis:100%;flex-wrap:nowrap;justify-content:space-between;gap:10px;margin-top:10px}.site-header.is-open .lang-switch{flex:0 0 auto}.site-header.is-open .header-tools .pill{flex:1 1 auto;min-height:48px}}.breadcrumb{font-size:14px;margin-bottom:18px}.breadcrumb,.breadcrumb a{color:var(--muted)}.site-footer{padding-bottom:24px}.site-footer .inner{background:var(--surface);border-radius:32px;padding:44px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px}.site-footer nav{display:flex;flex-wrap:wrap;gap:48px;font-size:15px}.site-footer nav div{display:flex;flex-direction:column;gap:10px}.site-footer nav a{color:var(--ink);text-decoration:none}.hero{display:flex;flex-wrap:wrap;gap:40px;align-items:center;padding-top:40px;padding-bottom:72px}.hero-main{flex:1 1 540px;min-width:0;display:flex;flex-direction:column;gap:36px}.hero h1{margin:18px 0 0;font-size:clamp(46px,6.4vw,88px);line-height:1;letter-spacing:-.035em;font-weight:600}.hero .lead{margin:24px 0 0;font-size:20px;line-height:1.55;max-width:520px;color:var(--muted)}.search{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border-radius:28px;background:var(--surface);box-shadow:var(--shadow-lg)}.search label{flex:1 1 150px;display:flex;flex-direction:column;gap:2px;padding:12px 18px;border-radius:20px;background:var(--bg)}.search label:first-child{flex:2 1 200px}.search label span{font-size:13px;font-weight:600;color:var(--muted)}.search input,.search select{border:none;outline:none;font-size:17px;padding:4px 0;background:transparent;min-width:0;color:var(--ink)}.search button{flex:0 1 140px;min-height:64px;border:none;border-radius:20px;background:var(--brand);color:#fff;font-size:17px;font-weight:600}.today{flex:1 1 420px;min-width:0;background:var(--surface);border-radius:28px;padding:28px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:6px}.today-row{display:flex;align-items:center;gap:16px;padding:12px;border-radius:18px;background:var(--bg)}.today-row .time{flex:0 0 64px;text-align:center;font-size:17px;font-weight:600;color:var(--brand)}.status{flex:0 0 auto;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px}.status-ok{background:var(--ok);color:var(--ok-ink)}.status-few{background:var(--sand);color:var(--sand-ink)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:20px;gap:20px}.grid-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.product-card{background:var(--surface);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}.product-card .tile{margin:10px 10px 0;border-radius:18px;height:180px;display:flex;align-items:flex-end;justify-content:space-between;padding:16px 18px;color:#3a4549;font-size:13px;font-weight:600}.product-card .tile .city{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.7)}.product-card h3{margin:0;font-size:20px;line-height:1.25;font-weight:600}.price-line{font-size:15px;color:var(--muted)}.price-line strong{color:var(--ink);font-size:18px}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.faq details{background:var(--surface);border-radius:20px;padding:20px 24px}.faq summary{cursor:pointer;font-size:18px;font-weight:600;min-height:32px}.faq p{margin:10px 0 0;color:var(--muted);font-size:16px;line-height:1.6}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.fact{background:var(--surface);border-radius:20px;padding:16px 18px}.fact p{margin:0}.fact .label,.label{font-size:13px;color:var(--muted)}.fact .value{margin-top:4px;font-size:16px;font-weight:600}.check-list{display:flex;flex-direction:column;gap:10px}.check-list li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.45}.check-list svg{flex:0 0 20px;margin-top:2px}.booking{flex:1 1 400px;min-width:0;background:var(--surface);border-radius:28px;padding:28px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:24px;position:-webkit-sticky;position:sticky;top:16px}.booking .step-title{margin:0 0 12px;font-size:15px;font-weight:600}.day-grid,.slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.day-btn{min-height:64px;border:none;border-radius:16px;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.day-btn .dow{font-size:13px;color:var(--muted)}.day-btn .num{font-size:18px;font-weight:700}.day-btn[aria-pressed=true]{background:var(--brand);color:#fff}.day-btn[aria-pressed=true] .dow{color:#fff}.day-btn:disabled,.slot-btn:disabled{border:1px dashed #d5d0c6;background:transparent;color:#6b7477}.day-btn:disabled .num,.slot-btn:disabled{text-decoration:line-through}.slot-btn{min-height:48px;border:none;border-radius:14px;background:var(--bg);color:var(--ink);font-size:16px;font-weight:600}.slot-btn[aria-pressed=true]{background:var(--brand);color:#fff}.counter{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;border-radius:16px;background:var(--bg)}.counter button{width:44px;height:44px;background:var(--surface);font-size:20px}.big-btn,.counter button{border:none;border-radius:999px}.big-btn{min-height:56px;font-size:17px;font-weight:600;width:100%}.big-btn.primary{background:var(--brand);color:#fff}.big-btn.primary:disabled{background:#e3e0d9;color:var(--muted)}.big-btn.soft{background:var(--bg);color:var(--ink);min-height:52px;font-size:16px}.doc-layout{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start}.doc-toc{flex:1 1 260px;min-width:0;background:var(--surface);border-radius:24px;padding:24px;position:-webkit-sticky;position:sticky;top:16px}.doc-toc a{display:flex;gap:10px;align-items:baseline;min-height:36px;padding:6px 10px;border-radius:12px;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.35}.doc-toc a:hover{background:var(--bg)}.doc-body{flex:999 1 600px;min-width:0;background:var(--surface);border-radius:28px;padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;gap:28px}.doc-body section{scroll-margin-top:24px}.doc-body h2{margin:0 0 8px;font-size:22px;font-weight:600;letter-spacing:-.01em}.doc-body p{margin:0;font-size:17px;line-height:1.65;color:#3a4549;max-width:720px}@media (max-width:720px){.booking,.doc-toc{position:static}.site-footer .inner{padding:28px}}.photo{position:relative;overflow:hidden;background:#e8e2d6}.photo-credit{position:absolute;top:8px;right:8px;max-width:calc(100% - 16px);padding:1px 8px;border-radius:999px;background:rgba(20,24,26,.5);color:#fff;font-size:10.5px;font-weight:500;line-height:1.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.product-card .tile{position:relative;overflow:hidden}.product-card .tile .photo{position:absolute;inset:0}.product-card .tile .city{position:relative;z-index:1}.credits-table{width:100%;border-collapse:collapse;font-size:14px}.credits-table td,.credits-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line,#e6e0d4);vertical-align:top}.credits-table td a{word-break:break-word}.ticket-gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;grid-gap:10px;gap:10px;height:340px}.ticket-gallery .photo{border-radius:24px}.ticket-gallery .main{grid-row:span 2}@media (max-width:720px){.ticket-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 130px;height:auto}.ticket-gallery .main{grid-row:auto;grid-column:span 2}}.booking .field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.booking .field input{font:inherit;font-size:16px;font-weight:400;min-height:52px;padding:0 16px;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink)}.booking .field input:focus{outline:2px solid var(--brand);outline-offset:1px}.today-skeleton{height:64px;margin-bottom:8px;opacity:.6}