@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--bg:#101211;--panel:#191c19;--gold:#dfbd74;--muted:#afb3a9;--line:#36392f;--text:#f6f3e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{outline-offset:5px}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold)}.preview{text-align:center;background:#24271e;color:#ddcfaa;padding:8px;font-size:11px;letter-spacing:1px}header,main,footer{max-width:1240px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding:22px 38px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font-weight:600;font-size:17px;letter-spacing:1.5px}.brand img{width:56px;height:56px;border-radius:50%;object-fit:cover}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--gold)}nav{display:flex;align-items:center;gap:30px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--gold);color:#171a14;padding:15px 23px;border:1px solid var(--gold);font-weight:700;font-size:14px;border-radius:4px;transition:.2s}.button:hover{background:#f1d69c;transform:translateY(-1px)}.button.small{padding:10px 16px}.button.outline{background:transparent;color:var(--gold)}section{padding:72px 38px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;min-height:600px;background:radial-gradient(ellipse at 85% 50%,#80704415,transparent 65%)}.eyebrow{font-size:10px;letter-spacing:2.5px;color:var(--gold);font-weight:700;margin:0 0 20px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.15;margin:0}h1{font-size:clamp(40px,4.6vw,63px);letter-spacing:-1.6px}em{font-weight:500;color:var(--gold)}h2{font-size:39px}h3{font-size:27px}.intro{font-size:16px;max-width:450px;color:var(--muted);margin:25px 0}.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.text-link{font-size:13px;text-decoration:underline;text-underline-offset:5px}.hero-notes{display:flex;gap:20px;margin-top:35px;font-size:10px;color:var(--muted)}.hero-notes span:before{content:'✦';color:var(--gold);margin-right:7px}.brand-art{position:relative;text-align:center}.brand-art img{position:relative;width:90%;max-width:410px;border-radius:50%;box-shadow:0 18px 75px #0008}.brand-art p{letter-spacing:4px;font-size:9px;color:var(--gold);margin-top:28px}.orbit{position:absolute;inset:-15px 2% 35px;border:1px solid #d3b16d22;border-radius:50%}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-head .eyebrow{margin-bottom:13px}.vehicle-toggle{display:flex;padding:4px;border:1px solid var(--line);border-radius:5px;white-space:nowrap}.vehicle-toggle button{background:transparent;color:var(--muted);border:0;padding:9px 14px;border-radius:3px;font-size:12px}.vehicle-toggle button.selected{background:var(--gold);color:#171a14}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);padding:26px 22px;border-radius:7px;position:relative}.card.recommended{border-color:var(--gold);background:linear-gradient(160deg,#37302177,#191c19 65%)}.card .number{color:var(--gold);font-size:12px;margin-bottom:25px;letter-spacing:3px}.card h3{font-size:25px;min-height:58px}.card .tag{font-size:11px;color:var(--gold);min-height:35px}.price{font-size:29px;font-weight:500;letter-spacing:-1px}.card .description{color:var(--muted);font-size:12px;flex:1;min-height:95px}.card button{background:transparent;color:var(--gold);padding:12px 0;border:0;border-top:1px solid var(--line);text-align:left;font-size:13px}.seats-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px;margin-top:22px;background:#21241e;border-radius:7px}.seats-banner p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:680px;margin-bottom:0}.seats-banner .eyebrow{margin-bottom:9px}.seats-banner .button{flex-shrink:0}.fine{font-size:11px;color:var(--muted);line-height:1.7}.fine a{color:var(--gold);text-decoration:underline}.booking-section{border-top:1px solid var(--line);background:#141714}.muted{color:var(--muted);font-size:14px}.booking-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:42px;align-items:start}fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 30px;margin:0 0 30px}legend{font-size:18px;margin-bottom:23px}legend b{display:inline-block;margin-right:13px;color:var(--gold);font-size:12px;border:1px solid var(--line);padding:5px 9px;border-radius:50%}label{display:block;font-size:12px;color:#dbddd5}input,select{color:var(--text);border:1px solid #4a4d42;background:#1e211c;padding:13px;width:100%;border-radius:4px;margin-top:8px;color-scheme:dark}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.extras{margin-top:18px}.extras label{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:13px}.extras input{width:17px;height:17px;accent-color:var(--gold);margin:0;flex-shrink:0}.extras small{display:block;color:var(--muted);font-size:11px}.extras label:has(input:disabled){opacity:.4}.hint{font-size:11px;color:var(--muted)}.notice{font-size:12px;color:#e6d4aa;background:#d9b56810;border-left:2px solid var(--gold);padding:12px 15px;margin-bottom:20px}.summary{position:sticky;top:25px;padding:30px;background:#21241e;border:1px solid #5c533e;border-radius:8px}.summary dl{margin:25px 0}.summary dl div{display:flex;justify-content:space-between;font-size:13px;padding:8px 0;gap:20px}.summary dd{margin:0;white-space:nowrap}.total{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between}.total span{font-size:13px}.total strong{font-size:30px;color:var(--gold)}.summary #duration{font-size:12px}.summary .button{width:100%;margin-top:15px}.summary .text-link{display:block;margin-top:20px}.slots{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.slots button{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:8px 14px;border-radius:4px;font-size:13px}.slots button.selected{background:var(--gold);color:#151712}.coverage{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-bottom:1px solid var(--line)}.coverage .muted{max-width:420px;margin:22px 0}.coverage-list div{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:14px}.coverage-list strong{color:var(--gold);font-size:13px;white-space:nowrap}.coverage-list p{font-size:13px;color:var(--muted);line-height:2.3}.coverage-list b{color:var(--text);margin-left:15px}.faq{max-width:870px;margin:auto}.faq h2{margin-bottom:30px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:15px}details p{color:var(--muted);font-size:13px}footer{border-top:1px solid var(--line);padding:35px 38px;display:flex;justify-content:space-between;align-items:center;gap:25px}footer a{display:block;font-size:12px;color:var(--muted)}footer p{font-size:11px;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:960px){.hero{gap:15px}.services{grid-template-columns:1fr 1fr}.seats-banner{align-items:start;flex-direction:column}.booking-layout{gap:22px}.coverage{gap:35px}.hero-notes{gap:10px;flex-wrap:wrap}nav{gap:15px}h2{font-size:33px}}
@media(max-width:650px){header{padding:18px 20px}.brand{font-size:12px}.brand img{width:42px;height:42px}.brand small{font-size:7px}nav>a:not(.button){display:none}nav .button.small{padding:8px;font-size:10px}section{padding:45px 20px}.hero{grid-template-columns:1fr;padding-top:42px;gap:40px}.hero h1{font-size:45px}.brand-art img{max-width:260px}.brand-art{max-width:320px;margin:auto}.brand-art p{font-size:8px}.section-head{align-items:start;flex-direction:column}.services{gap:10px}.card{padding:20px 15px}.card h3{font-size:23px}.card .price{font-size:25px}.card .description{min-height:120px}.booking-layout,.coverage{grid-template-columns:1fr}.summary{position:static}.two{grid-template-columns:1fr}.seats-banner{padding:22px}.seats-banner .button{white-space:normal;width:100%;font-size:12px}.hero-notes{font-size:9px}footer{flex-direction:column;align-items:start;padding:30px 20px}.coverage-list div{font-size:12px}.faq h2{font-size:32px}.intro{font-size:15px}}

.live-booking{display:block;width:100%;height:1450px;border:1px solid var(--line);border-radius:8px;background:#141714;color-scheme:normal}@media(max-width:650px){.live-booking{height:1780px}}

.honeypot{display:none}#native-booking input,#native-booking select{font-size:16px}#native-booking label{margin-top:15px}#native-booking button:disabled{opacity:.5;cursor:wait}#booking-result{white-space:pre-wrap;color:var(--gold)}#booking-success{position:static}html{overscroll-behavior-y:auto}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reserva integrada: un solo desplazamiento y resumen junto a confirmar. */
:root{--muted:#ced0c7}body{font-size:16px}.booking-layout{display:block;max-width:820px;margin:auto}.summary{position:static}#reservation-summary{margin:28px 0 16px;padding:24px}.summary dl div{font-size:16px;align-items:start;border-bottom:1px solid var(--line);padding:10px 0}.summary dt{color:var(--muted)}.summary dd{white-space:normal;text-align:right;overflow-wrap:anywhere;max-width:65%}.summary #duration{font-size:15px}.summary .total{gap:15px}.summary .total span{font-size:16px}#price-note{color:#f2d795;font-size:15px}.fine,.hint,.notice,.extras small,details p,.seats-banner p:not(.eyebrow){font-size:15px}.muted,label,.extras label,.text-link,.card .description{font-size:16px}.card .description{min-height:0}.card .tag{font-size:14px}.card button,.button,.vehicle-toggle button,.slots button{font-size:16px;min-height:48px}.extras input{width:22px;height:22px}.extras label:has(input:disabled){opacity:.75}.promo{padding:28px;border:1px solid var(--gold);border-radius:8px;background:#28251d;margin-bottom:24px}.promo strong{color:#f1d69c}.promo-card{font-size:15px;color:#f1d69c}.regular-label{display:block;font-size:14px;color:var(--muted);letter-spacing:normal}.help{white-space:normal;text-align:center}.evaluation{display:flex;align-items:start;gap:12px}.evaluation input{width:22px;height:22px;flex-shrink:0;accent-color:var(--gold)}#confirm{width:100%}#receipt{white-space:pre-line}.eyebrow{font-size:12px}.total strong{white-space:nowrap}.services{grid-template-columns:repeat(2,1fr)}
@media(max-width:650px){.services{grid-template-columns:1fr}.card{padding:25px}.card h3{min-height:0;font-size:28px}.card .tag{min-height:0}.card .description{min-height:0}.card .price{font-size:32px}.card .number{margin-bottom:14px}.promo{padding:22px}.seats-banner .button{font-size:16px}.hero-notes{font-size:13px}nav .button.small{font-size:13px;min-height:44px}.vehicle-toggle{white-space:normal}.vehicle-toggle button{padding:10px}.summary dl div{display:block}.summary dd{text-align:left;max-width:100%;font-weight:600}.total{flex-wrap:wrap}#reservation-summary{padding:20px}.coverage-list div,.coverage-list strong,.coverage-list p{font-size:15px}.help{width:100%}footer a{font-size:15px;overflow-wrap:anywhere}footer{max-width:100%}.brand small{font-size:8px}}
