*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.top-0{top:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.my-8{margin-bottom:2rem;margin-top:2rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-px{height:1px}.min-h-12{min-height:3rem}.min-h-screen{min-height:100vh}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-7xl{max-width:80rem}.max-w-xl{max-width:36rem}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-white\/20{border-color:hsla(0,0%,100%,.2)}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity,1))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.bg-cyan-50{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.bg-cyan-700{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity,1))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity,1))}.bg-slate-950\/35{background-color:rgba(2,6,23,.35)}.bg-slate-950\/75{background-color:rgba(2,6,23,.75)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-\[linear-gradient\(120deg\2c rgba\(2\2c 44\2c 64\2c \.9\)\2c rgba\(0\2c 151\2c 178\2c \.65\)\)\2c url\(\'\/assets\/images\/hero\.webp\'\)\]{background-image:linear-gradient(120deg,rgba(2,44,64,.9),rgba(0,151,178,.65)),url(/assets/images/hero.webp)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.from-slate-950\/20{--tw-gradient-from:rgba(2,6,23,.2) var(--tw-gradient-from-position);--tw-gradient-to:rgba(2,6,23,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),transparent var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-slate-950\/80{--tw-gradient-to:rgba(2,6,23,.8) var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-14{padding-bottom:3.5rem;padding-top:3.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-widest{letter-spacing:.1em}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity,1))}.text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity,1))}.text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity,1))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity,1))}.text-cyan-50{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity,1))}.text-cyan-50\/90{color:rgba(236,254,255,.9)}.text-cyan-700{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity,1))}.text-cyan-800{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-cyan-100{--tw-ring-opacity:1;--tw-ring-color:rgb(207 250 254/var(--tw-ring-opacity,1))}.ring-orange-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 237 213/var(--tw-ring-opacity,1))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity,1))}.ring-white\/30{--tw-ring-color:hsla(0,0%,100%,.3)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-cyan-50:hover{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity,1))}.hover\:bg-cyan-600:hover{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.hover\:bg-emerald-400:hover{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity,1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-cyan-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(165 243 252/var(--tw-ring-opacity,1))}.focus\:ring-emerald-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity,1))}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-emerald-200:focus-visible{outline-color:#a7f3d0}.focus-visible\:outline-white:focus-visible{outline-color:#fff}@media (min-width:640px){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media (min-width:768px){.md\:h-16{height:4rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1\.1fr_\.9fr\]{grid-template-columns:1.1fr .9fr}.md\:p-10{padding:2.5rem}.md\:p-8{padding:2rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@font-face {
  font-family: "Elms Sans";
  src: url("/assets/fonts/elms-sans/ElmsSans-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Elms Sans";
  src: url("/assets/fonts/elms-sans/ElmsSans-Italic-Variable.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  font-family: "Elms Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
}
body { overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 3px solid rgba(34, 211, 238, .75); outline-offset: 3px; }

.glass { background: rgba(255, 255, 255, 0.92); backdrop-filter: blur(16px); }
.hero-bg { background-image: linear-gradient(120deg, rgba(2, 44, 64, 0.88), rgba(0, 151, 178, 0.58)), var(--hero-image, url("/assets/images/hero-mobile.webp")); background-size: cover; background-position: center center; }
.site-header { min-height: 60px; }
.header-inner { min-height: 60px; gap: .75rem; }
.header-actions { flex-shrink: 0; }
.site-logo { height: 34px; width: auto; max-width: 128px; object-fit: contain; }
.nav-link { transition: color .2s ease; white-space: nowrap; }
.nav-link:hover, .nav-link:focus-visible { color: #a5f3fc; outline: none; }
.lang-btn { display: inline-flex; width: 38px; height: 38px; min-width: 38px; min-height: 38px; flex: 0 0 38px; align-items: center; justify-content: center; appearance: none; border-radius: 9999px; border: 1px solid rgba(255,255,255,.3); background: transparent; padding: 0; color: inherit; font-family: inherit; font-size: .82rem; font-weight: 800; line-height: 1; text-align: center; text-decoration: none; vertical-align: middle; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.lang-btn:hover, .lang-btn:focus-visible, .lang-active { background: #fff; color: #020617; border-color: #fff; outline: none; }
.mobile-cta { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; border-radius: 9999px; background: #047857; padding: .45rem .85rem; color: #fff; font-size: .82rem; font-weight: 900; line-height: 1; box-shadow: 0 12px 26px rgba(6, 78, 59, .28); transition: transform .2s ease, background .2s ease; }
.mobile-cta:hover, .mobile-cta:focus-visible { background: #065f46; transform: translateY(-1px); }

.section-padding { padding-top: 4rem; padding-bottom: 4rem; }
@supports (content-visibility: auto) {
  body[data-page="home"] main > section:not(.hero-section) { content-visibility: auto; contain-intrinsic-size: auto 720px; }
}
.hero-section { min-height: auto; padding-top: 4.75rem; }
.hero-inner { width: 100%; padding-top: 3rem; padding-bottom: 3.5rem; }
.hero-copy, .price-panel, .list-card, .info-card, .schedule-card, .requirement-card, .faq-item { min-width: 0; overflow-wrap: anywhere; }
.hero-copy h1 { font-size: clamp(2.05rem, 9vw, 3.75rem); line-height: 1.03; letter-spacing: 0; }
.hero-copy p { overflow-wrap: anywhere; }
.hero-actions a, .btn-whatsapp, .btn-light, .section-padding a[data-whatsapp-link]:not(.floating-whatsapp) { width: 100%; min-height: 48px; justify-content: center; }
.btn-whatsapp { display: inline-flex; align-items: center; justify-content: center; border-radius: 9999px; background: #047857; padding: 1rem 1.35rem; text-align: center; font-weight: 800; color: #fff; box-shadow: 0 18px 35px rgba(6, 78, 59, .3); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.btn-whatsapp:hover, .btn-whatsapp:focus-visible { background: #065f46; transform: translateY(-1px); outline: none; box-shadow: 0 22px 40px rgba(6, 78, 59, .35); }
.btn-light { display: inline-flex; align-items: center; justify-content: center; border-radius: 9999px; background: #fff; padding: 1rem 1.35rem; text-align: center; font-weight: 800; color: #020617; transition: transform .2s ease, background .2s ease; }
.btn-light:hover, .btn-light:focus-visible { background: #ecfeff; transform: translateY(-1px); outline: none; }

.price-panel { border-radius: 1.35rem; }
.price-card { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 1rem; border-radius: 1rem; border: 1px solid #cffafe; background: #fff; padding: 1rem; box-shadow: 0 1px 3px rgba(15, 23, 42, .06); }
.price-card .text-right { text-align: left; }
.info-card { border-radius: 1.1rem; background: #ecfeff; padding: 1.25rem; }
.list-card { border-radius: 1.1rem; background: #fff; padding: 1.25rem; box-shadow: 0 1px 3px rgba(15, 23, 42, .06); border: 1px solid #f1f5f9; }
.schedule-card { display: flex; gap: 1rem; border-radius: 1rem; background: rgba(255,255,255,.1); padding: 1.1rem; }
.requirement-card { border-radius: 1rem; background: #fff; padding: 1.1rem; }
.payment-card { border-radius: 1rem; background: rgba(255,255,255,.1); padding: 1rem; font-weight: 800; transition: background .2s ease, transform .2s ease; overflow-wrap: anywhere; }
.payment-card:hover { background: rgba(255,255,255,.16); transform: translateY(-1px); }
.faq-item { border-radius: 1rem; background: #fff; padding: 1.25rem; box-shadow: 0 1px 3px rgba(15, 23, 42, .06); border: 1px solid #f1f5f9; }
.faq-item summary { cursor: pointer; font-weight: 800; }
.faq-item summary:focus-visible { outline: 2px solid #0891b2; outline-offset: 4px; border-radius: .5rem; }

[data-cards="highlights"], [data-list="includes"], .split-grid, .bring-grid, .payments-grid { grid-template-columns: minmax(0, 1fr) !important; }
.payments-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

.floating-whatsapp { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); z-index: 50; display: flex; height: 3.1rem; width: 3.1rem; align-items: center; justify-content: center; border-radius: 9999px; background: #047857; color: #fff; font-size: .86rem; font-weight: 900; box-shadow: 0 20px 35px rgba(6, 78, 59, .35); transition: transform .2s ease, background .2s ease; }
.floating-whatsapp:hover, .floating-whatsapp:focus-visible { background: #065f46; transform: translateY(-2px) scale(1.03); outline: 3px solid rgba(167, 243, 208, .7); outline-offset: 3px; }

@media (max-width: 359px) {
  .header-inner { padding-left: .75rem; padding-right: .75rem; gap: .45rem; }
  .site-logo { height: 30px; max-width: 96px; }
  .header-actions { gap: .35rem; }
  .lang-btn { width: 34px; height: 34px; min-width: 34px; min-height: 34px; flex-basis: 34px; font-size: .75rem; }
  .mobile-cta { min-height: 34px; padding: .35rem .58rem; font-size: .74rem; }
  .hero-copy h1 { font-size: 1.9rem; }
  .price-panel, #schedule, #requirements, .bring-grid > section { padding: 1.25rem !important; }
  .payments-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (min-width: 480px) {
  .site-logo { height: 38px; max-width: 160px; }
  .hero-actions a, .btn-whatsapp, .btn-light, .section-padding a[data-whatsapp-link]:not(.floating-whatsapp) { width: auto; min-width: 12rem; }
  .price-card { flex-direction: row; align-items: flex-start; padding: 1.25rem; }
  .price-card .text-right { text-align: right; }
}

@media (min-width: 768px) {
  .hero-bg { background-image: linear-gradient(120deg, rgba(2, 44, 64, 0.88), rgba(0, 151, 178, 0.58)), var(--hero-image, url("/assets/images/hero.webp")); }
  .site-header, .header-inner { min-height: 72px; }
  .site-logo { height: 48px; max-width: 210px; }
  .mobile-cta { display: none; }
  .section-padding { padding-top: 5rem; padding-bottom: 5rem; }
  .hero-section { min-height: 100vh; padding-top: 5.25rem; }
  .hero-inner { padding-top: 5rem; padding-bottom: 5rem; }
  .hero-copy h1 { font-size: clamp(3.25rem, 6vw, 4.65rem); }
  [data-cards="highlights"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  [data-list="includes"], .bring-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .payments-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .floating-whatsapp { height: 3.5rem; width: 3.5rem; right: 1.25rem; bottom: 1.25rem; font-size: .95rem; }
}

@media (min-width: 1024px) {
  .hero-bg { background-position: center center; }
  .hero-inner { align-items: center; }
  [data-cards="highlights"] { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  [data-list="includes"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .split-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (min-width: 1440px) {
  .hero-inner, .header-inner, .section-padding > div { max-width: 80rem; }
  .hero-copy h1 { font-size: 4.75rem; }
}

.why-book-section { background: linear-gradient(180deg, #ffffff 0%, #ecfeff 100%); }
.why-book-grid { grid-template-columns: minmax(0, 1fr) !important; }
.why-book-card { min-width: 0; border-radius: 1.1rem; border: 1px solid rgba(14, 165, 233, .14); background: rgba(255, 255, 255, .92); padding: 1.35rem; box-shadow: 0 10px 28px rgba(15, 23, 42, .06); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; overflow-wrap: anywhere; }
.why-book-card:hover { transform: translateY(-2px); border-color: rgba(8, 145, 178, .32); box-shadow: 0 18px 38px rgba(15, 23, 42, .1); }
.why-book-icon { display: inline-flex; height: 2.75rem; width: 2.75rem; align-items: center; justify-content: center; border-radius: 9999px; background: #cffafe; font-size: 1.35rem; }
.why-book-card h3 { margin-top: 1rem; font-size: 1.05rem; font-weight: 900; color: #0f172a; }
.why-book-card p { margin-top: .6rem; color: #475569; line-height: 1.65; }

@media (min-width: 768px) {
  .why-book-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (min-width: 1024px) {
  .why-book-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .site-header nav { gap: 1rem; }
}

@media (min-width: 1280px) {
  .site-header nav { gap: 1.5rem; }
}

.gallery-section { background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); }
.gallery-grid { grid-template-columns: minmax(0, 1fr) !important; }
.gallery-card { min-width: 0; overflow: hidden; border-radius: 1.15rem; background: #e2e8f0; box-shadow: 0 12px 32px rgba(15, 23, 42, .09); aspect-ratio: 4 / 3; transition: transform .2s ease, box-shadow .2s ease; }
.gallery-card[hidden] { display: none !important; }
.gallery-image { height: 100%; width: 100%; object-fit: cover; transition: transform .35s ease; }
.gallery-card:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(15, 23, 42, .13); }
.gallery-card:hover .gallery-image { transform: scale(1.04); }

@media (min-width: 768px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (min-width: 1024px) {
  .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

.children-policy-section { background: linear-gradient(180deg, #ffffff 0%, #ecfeff 100%); }
.children-policy-grid { grid-template-columns: minmax(0, 1fr) !important; }
.children-policy-card { min-width: 0; border-radius: 1.1rem; border: 1px solid rgba(14, 165, 233, .16); background: rgba(255, 255, 255, .94); padding: 1.25rem; box-shadow: 0 10px 28px rgba(15, 23, 42, .06); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; overflow-wrap: anywhere; }
.children-policy-card:hover { transform: translateY(-2px); border-color: rgba(8, 145, 178, .34); box-shadow: 0 18px 38px rgba(15, 23, 42, .1); }
.children-policy-icon { display: inline-flex; height: 2.75rem; width: 2.75rem; align-items: center; justify-content: center; border-radius: 9999px; background: #cffafe; font-size: 1.3rem; }
.children-policy-card h3 { margin-top: 1rem; font-size: 1.05rem; font-weight: 900; color: #0f172a; }
.children-policy-card p { margin-top: .6rem; color: #475569; line-height: 1.65; }

@media (min-width: 768px) {
  .children-policy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (min-width: 1024px) {
  .children-policy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

.airport-transfer-compact { background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); }
.airport-transfer-compact-card { min-width: 0; display: grid; gap: 1.5rem; border-radius: 1.25rem; border: 1px solid rgba(14, 165, 233, .16); background: rgba(255, 255, 255, .96); padding: 1.5rem; box-shadow: 0 18px 45px rgba(15, 23, 42, .08); overflow-wrap: anywhere; }
.airport-transfer-compact-actions { display: flex; flex-direction: column; gap: .75rem; }
.airport-transfer-view-rates { border: 1px solid #bae6fd; }
.airport-transfer-page { min-height: 100vh; }
.airport-transfer-hero { padding-top: 8rem; padding-bottom: 4.5rem; background-image: linear-gradient(120deg, rgba(2, 44, 64, 0.95), rgba(0, 151, 178, 0.72)), var(--airport-transfer-hero-image, url("/assets/images/hero.webp")); background-position: center; background-size: cover; color: #fff; }
.airport-transfer-section { background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%); }
.airport-transfer-note { border-radius: 1rem; border: 1px solid rgba(14, 165, 233, .18); background: #ecfeff; padding: 1rem 1.25rem; color: #155e75; font-weight: 700; line-height: 1.65; }
.airport-transfer-grid { grid-template-columns: minmax(0, 1fr) !important; }
.airport-transfer-card { min-width: 0; overflow: hidden; border-radius: 1.1rem; border: 1px solid rgba(14, 165, 233, .16); background: rgba(255, 255, 255, .96); padding: 1.25rem; box-shadow: 0 10px 28px rgba(15, 23, 42, .06); }
.airport-transfer-card h2, .airport-transfer-card h3 { color: #0f172a; font-size: 1.12rem; font-weight: 900; }
.airport-transfer-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: .9rem; border: 1px solid #e2e8f0; }
.airport-transfer-table { width: 100%; min-width: 34rem; border-collapse: collapse; background: #fff; font-size: .92rem; }
.airport-transfer-table-wide { min-width: 46rem; }
.airport-transfer-table th, .airport-transfer-table td { padding: .8rem .9rem; text-align: left; border-bottom: 1px solid #e2e8f0; white-space: nowrap; }
.airport-transfer-table th { background: #f0fdfa; color: #0f766e; font-weight: 900; }
.airport-transfer-table td:first-child { color: #0f172a; font-weight: 800; }
.airport-transfer-table tr:last-child td { border-bottom: 0; }
.airport-transfer-age-policy { border-radius: 1.25rem; border: 1px solid rgba(14, 165, 233, .16); background: rgba(255, 255, 255, .96); padding: 1.25rem; box-shadow: 0 10px 28px rgba(15, 23, 42, .06); }
.airport-transfer-age-grid { grid-template-columns: minmax(0, 1fr) !important; }
.airport-transfer-age-card { min-width: 0; border-radius: 1rem; background: #f8fafc; padding: 1.1rem; overflow-wrap: anywhere; }
.airport-transfer-age-card h3 { margin-top: .9rem; color: #0f172a; font-weight: 900; }
.airport-transfer-age-card p { margin-top: .45rem; color: #475569; line-height: 1.58; }
.airport-transfer-form { border-radius: 1.25rem; border: 1px solid rgba(14, 165, 233, .16); background: rgba(255, 255, 255, .96); padding: 1.25rem; box-shadow: 0 18px 45px rgba(15, 23, 42, .08); }
.airport-transfer-form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.airport-transfer-error { margin-top: 1rem; border-radius: .9rem; background: #fef3c7; padding: .85rem 1rem; color: #92400e; font-weight: 800; }
.airport-transfer-submit { margin-top: 1.25rem; display: inline-flex; width: 100%; min-height: 52px; align-items: center; justify-content: center; border-radius: 9999px; background: #047857; padding: 1rem 1.35rem; color: #fff; font-weight: 900; box-shadow: 0 16px 32px rgba(6, 78, 59, .26); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.airport-transfer-submit:hover, .airport-transfer-submit:focus-visible { background: #065f46; transform: translateY(-1px); box-shadow: 0 20px 38px rgba(6, 78, 59, .32); outline: none; }

@media (min-width: 768px) {
  .airport-transfer-compact-card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding: 2rem; }
  .airport-transfer-compact-actions { align-items: flex-end; }
  .airport-transfer-age-policy { padding: 1.5rem; }
  .airport-transfer-age-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .airport-transfer-form { padding: 1.5rem; }
  .airport-transfer-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .airport-transfer-submit { width: auto; min-width: 18rem; }
}

@media (min-width: 1024px) {
  .airport-transfer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .airport-transfer-card-wide { grid-column: 1 / -1; }
}

.booking-section { background: linear-gradient(180deg, #ecfeff 0%, #ffffff 100%); }
.booking-card { border-radius: 1.25rem; border: 1px solid rgba(14, 165, 233, .16); background: rgba(255, 255, 255, .94); padding: 1.25rem; box-shadow: 0 18px 45px rgba(15, 23, 42, .08); }
.booking-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.booking-field { min-width: 0; }
.booking-field-full { grid-column: 1 / -1; }
.booking-label { display: block; margin-bottom: .45rem; color: #0f172a; font-size: .94rem; font-weight: 850; }
.booking-input, .booking-textarea { width: 100%; min-height: 48px; border-radius: .9rem; border: 1px solid #cbd5e1; background: #fff; padding: .85rem 1rem; color: #0f172a; font: inherit; transition: border-color .2s ease, box-shadow .2s ease; }
.booking-textarea { min-height: 7rem; resize: vertical; }
.booking-input:focus, .booking-textarea:focus { border-color: #0891b2; box-shadow: 0 0 0 4px rgba(8, 145, 178, .16); outline: none; }
.booking-help { margin-top: .45rem; color: #64748b; font-size: .86rem; line-height: 1.45; }
.booking-assistant-notice { margin-top: .8rem; text-align: center; }
.booking-total-field { border-radius: .9rem; border: 1px solid #bae6fd; background: #ecfeff; padding: .85rem 1rem; }
.booking-calculated-total { display: block; color: #0e7490; font-size: 2rem; font-weight: 950; line-height: 1; }
.booking-error { margin-top: 1rem; border-radius: .9rem; background: #fef3c7; padding: .85rem 1rem; color: #92400e; font-weight: 800; }
.booking-submit { margin-top: 1.25rem; display: inline-flex; width: 100%; min-height: 52px; align-items: center; justify-content: center; border-radius: 9999px; background: #047857; padding: 1rem 1.35rem; color: #fff; font-weight: 900; box-shadow: 0 16px 32px rgba(6, 78, 59, .26); transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.booking-submit:hover, .booking-submit:focus-visible { background: #065f46; transform: translateY(-1px); box-shadow: 0 20px 38px rgba(6, 78, 59, .32); outline: none; }

@media (min-width: 768px) {
  .booking-card { padding: 1.5rem; }
  .booking-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-submit { width: auto; min-width: 16rem; }
}

.booking-notes-section { background: linear-gradient(180deg, #ffffff 0%, #fffbeb 100%); }
.booking-notes-grid { grid-template-columns: minmax(0, 1fr) !important; }
.booking-note-card { min-width: 0; display: flex; gap: 1rem; border-radius: 1.1rem; border: 1px solid rgba(217, 119, 6, .18); background: rgba(255, 255, 255, .94); padding: 1.25rem; box-shadow: 0 10px 28px rgba(15, 23, 42, .06); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; overflow-wrap: anywhere; }
.booking-note-card:hover { transform: translateY(-2px); border-color: rgba(217, 119, 6, .34); box-shadow: 0 18px 38px rgba(15, 23, 42, .1); }
.booking-note-icon { flex: 0 0 auto; display: inline-flex; height: 2.75rem; width: 2.75rem; align-items: center; justify-content: center; border-radius: 9999px; background: #fef3c7; font-size: 1.3rem; }
.booking-note-card h3 { font-size: 1.03rem; font-weight: 900; color: #0f172a; }
.booking-note-card p { margin-top: .45rem; color: #475569; line-height: 1.62; }

.site-footer { background: #020617; padding: 2.5rem 1rem 1.5rem; color: #94a3b8; font-size: .9rem; }
.footer-inner { width: min(100%, 80rem); margin: 0 auto; }
.footer-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; text-align: center; }
.footer-brand-name { display: inline-block; color: #fff; font-size: 1.15rem; font-weight: 950; line-height: 1.3; }
.footer-tagline { margin-top: .55rem; color: #94a3b8; line-height: 1.55; }
.footer-section-title { color: #67e8f9; font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.footer-link-list { display: grid; justify-items: center; gap: .65rem; margin: .85rem 0 0; padding: 0; list-style: none; }
.footer-link-list a { color: #cbd5e1; line-height: 1.4; transition: color .2s ease; }
.footer-link-list a:hover, .footer-link-list a:focus-visible { color: #fff; outline: none; text-decoration: underline; text-decoration-color: #22d3ee; text-underline-offset: .24rem; }
.footer-link-list .footer-whatsapp { color: #6ee7b7; font-weight: 800; }
.footer-bottom { margin-top: 2.25rem; border-top: 1px solid rgba(148, 163, 184, .2); padding-top: 1.25rem; color: #94a3b8; text-align: center; font-size: .8rem; line-height: 1.5; }

@media (min-width: 768px) {
  .site-footer { padding: 3rem 1.5rem 1.5rem; }
  .footer-grid { grid-template-columns: minmax(12rem, 1.35fr) repeat(3, minmax(9rem, 1fr)); gap: 2.5rem; text-align: left; }
  .footer-brand { max-width: 17rem; }
  .footer-link-list { justify-items: start; }
  .footer-bottom { text-align: left; }
}

.travel-guides-section { background: linear-gradient(180deg, #f8fafc 0%, #ecfeff 100%); }
.travel-guides-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.travel-guide-card { min-width: 0; border: 1px solid rgba(14, 165, 233, .18); border-radius: 1.15rem; background: rgba(255, 255, 255, .96); padding: 1.35rem; box-shadow: 0 12px 30px rgba(15, 23, 42, .07); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.travel-guide-card:hover { transform: translateY(-2px); border-color: rgba(8, 145, 178, .4); box-shadow: 0 18px 38px rgba(15, 23, 42, .1); }
.travel-guide-card-label { color: #0e7490; font-size: .76rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.travel-guide-card h3 { margin-top: .55rem; color: #0f172a; font-size: 1.1rem; font-weight: 900; line-height: 1.4; }
.travel-guide-card h3 a { color: inherit; }
.travel-guide-card h3 a::after { content: " →"; color: #0891b2; }
.travel-guide-card > p:last-child { margin-top: .65rem; color: #475569; line-height: 1.65; }

.guide-page { min-height: 100vh; background: #f8fafc; padding-top: 5rem; color: #334155; }
.guide-breadcrumb { width: min(100% - 2rem, 72rem); margin: 0 auto; padding: 1.15rem 0; display: flex; gap: .55rem; align-items: center; overflow: hidden; color: #64748b; font-size: .85rem; white-space: nowrap; }
.guide-breadcrumb a { flex: 0 0 auto; color: #0e7490; font-weight: 800; }
.guide-breadcrumb span:last-child { overflow: hidden; text-overflow: ellipsis; }
.guide-hero { width: min(100% - 2rem, 72rem); margin: 0 auto; display: grid; overflow: hidden; border: 1px solid #bae6fd; border-radius: 1.4rem; background: #083344; box-shadow: 0 22px 55px rgba(15, 23, 42, .14); }
.guide-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: 2rem 1.35rem; color: #fff; }
.guide-eyebrow { color: #0891b2; font-size: .78rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.guide-hero .guide-eyebrow, .guide-booking-cta .guide-eyebrow { color: #a5f3fc; }
.guide-hero h1 { margin-top: .7rem; color: #fff; font-size: clamp(2rem, 5vw, 3.6rem); font-weight: 950; letter-spacing: -.04em; line-height: 1.04; }
.guide-deck { margin-top: 1rem; max-width: 45rem; color: #cffafe; font-size: 1.05rem; line-height: 1.7; }
.guide-byline { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-top: 1.25rem; color: #bae6fd; font-size: .85rem; font-weight: 700; }
.guide-hero > img { width: 100%; height: 100%; min-height: 15rem; object-fit: cover; }
.guide-document { width: min(100%, 52rem); margin: 0 auto; padding: 3rem 1.25rem 4.5rem; }
.guide-intro { margin-bottom: 2.25rem; border-left: 4px solid #06b6d4; padding-left: 1.25rem; color: #164e63; font-size: 1.15rem; font-weight: 650; line-height: 1.8; }
.guide-document > section { padding: 1.65rem 0; border-bottom: 1px solid #e2e8f0; }
.guide-document h2 { color: #0f172a; font-size: clamp(1.4rem, 3vw, 1.85rem); font-weight: 950; letter-spacing: -.015em; line-height: 1.25; }
.guide-document h3 { margin-top: 1.35rem; color: #1e293b; font-size: 1.08rem; font-weight: 900; line-height: 1.4; }
.guide-document section > p, .guide-document aside p { margin-top: .85rem; line-height: 1.8; }
.guide-document section > ul, .guide-document section > ol { margin-top: .9rem; padding-left: 1.35rem; line-height: 1.75; }
.guide-document section > ul { list-style: disc; }
.guide-document section > ol { list-style: decimal; }
.guide-document li + li { margin-top: .5rem; }
.guide-document section a, .guide-author a { color: #0e7490; font-weight: 800; text-decoration: underline; text-underline-offset: .2rem; }
.guide-fact-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; margin-top: 1.25rem; }
.guide-fact-grid > div { display: flex; flex-direction: column; gap: .25rem; border: 1px solid #bae6fd; border-radius: .9rem; background: #ecfeff; padding: 1rem; }
.guide-fact-grid strong { color: #0e7490; }
.guide-fact-grid span { color: #334155; line-height: 1.5; }
.guide-important, .guide-quick-answer { margin: 2rem 0; border-radius: 1.1rem; padding: 1.4rem; }
.guide-important { border: 1px solid #fcd34d; background: #fffbeb; }
.guide-important h2 { color: #78350f; }
.guide-important p { color: #78350f; }
.guide-quick-answer { border: 1px solid #67e8f9; background: #ecfeff; }
.guide-quick-answer h2 { color: #155e75; }
.guide-quick-answer p { color: #164e63; }
.guide-steps { counter-reset: guide-step; list-style: none !important; padding-left: 0 !important; }
.guide-steps li { position: relative; min-height: 2.5rem; padding-left: 3.25rem; }
.guide-steps li::before { counter-increment: guide-step; content: counter(guide-step); position: absolute; left: 0; top: -.1rem; display: inline-flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; border-radius: 9999px; background: #0e7490; color: #fff; font-weight: 900; }
.guide-timeline { margin-top: 1.2rem; border-left: 2px solid #67e8f9; padding-left: 1.25rem; }
.guide-timeline > div { position: relative; display: grid; gap: .35rem; padding: 0 0 1.35rem .6rem; }
.guide-timeline > div::before { content: ""; position: absolute; left: -1.72rem; top: .35rem; width: .85rem; height: .85rem; border: 3px solid #ecfeff; border-radius: 9999px; background: #0891b2; }
.guide-timeline time { color: #0e7490; font-weight: 900; }
.guide-timeline p { margin: 0; line-height: 1.65; }
.guide-author { display: grid; gap: 1.25rem; margin-top: 2.5rem; border: 1px solid #cbd5e1; border-radius: 1.1rem; background: #fff; padding: 1.35rem; box-shadow: 0 12px 30px rgba(15, 23, 42, .06); }
.guide-author img { width: min(100%, 12rem); height: auto; align-self: center; }
.guide-author h2 { font-size: 1.25rem; }
.guide-related { margin-top: 2.5rem; border-bottom: 0 !important; }
.guide-related > h2 { margin-top: .45rem; }
.guide-related-grid { display: grid; gap: .85rem; margin-top: 1.15rem; }
.guide-related-grid article { border: 1px solid #bae6fd; border-radius: 1rem; background: #fff; padding: 1.15rem; }
.guide-related-grid h3 { margin: 0; }
.guide-related-grid h3 a { color: #0e7490; text-decoration: none; }
.guide-related-grid p { margin-top: .45rem; color: #64748b; line-height: 1.6; }
.guide-booking-cta { display: grid; gap: 1.3rem; align-items: center; margin-top: 2.5rem; border-radius: 1.25rem; background: linear-gradient(125deg, #083344, #0e7490); padding: 1.5rem; color: #fff; }
.guide-booking-cta h2 { margin-top: .4rem; color: #fff; }
.guide-booking-cta p { color: #cffafe; }
.guide-booking-cta > a { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; border-radius: 9999px; background: #047857; padding: .85rem 1.25rem; color: #fff; font-weight: 900; text-align: center; transition: background .2s ease, transform .2s ease; }
.guide-booking-cta > a:hover, .guide-booking-cta > a:focus-visible { background: #065f46; transform: translateY(-1px); outline: none; }

@media (min-width: 768px) {
  .travel-guides-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .guide-hero { grid-template-columns: minmax(0, 1.05fr) minmax(20rem, .95fr); }
  .guide-hero-copy { padding: 3rem; }
  .guide-document { padding-top: 4rem; padding-bottom: 6rem; }
  .guide-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-timeline > div { grid-template-columns: 7rem minmax(0, 1fr); gap: 1rem; }
  .guide-author { grid-template-columns: 12rem minmax(0, 1fr); align-items: center; padding: 1.6rem; }
  .guide-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-booking-cta { grid-template-columns: minmax(0, 1fr) auto; padding: 2rem; }
  .guide-booking-cta > a { min-width: 17rem; }
}

.legal-page { min-height: 100vh; background: #f8fafc; padding-top: 5rem; color: #334155; }
.legal-hero { background: linear-gradient(125deg, #082f49, #0e7490); padding: 4rem 1.25rem 3.5rem; color: #fff; }
.legal-hero-inner, .legal-document { width: min(100%, 52rem); margin: 0 auto; }
.legal-eyebrow { color: #a5f3fc; font-size: .78rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.legal-hero h1 { margin-top: .75rem; color: #fff; font-size: clamp(2.1rem, 5vw, 3.6rem); font-weight: 950; letter-spacing: -.035em; line-height: 1.05; }
.legal-updated { margin-top: 1rem; color: #cffafe; font-size: .95rem; }
.legal-document { padding: 3rem 1.25rem 4rem; }
.legal-intro { margin-bottom: 2rem; border: 1px solid #bae6fd; border-radius: 1rem; background: #ecfeff; padding: 1.25rem; color: #155e75; font-size: 1.05rem; line-height: 1.75; }
.legal-section { padding: 1.5rem 0; border-bottom: 1px solid #e2e8f0; }
.legal-section:last-child { border-bottom: 0; }
.legal-section h2 { color: #0f172a; font-size: 1.3rem; font-weight: 900; line-height: 1.3; }
.legal-section h3 { margin-top: 1.1rem; color: #1e293b; font-size: 1.05rem; font-weight: 850; }
.legal-section p { margin-top: .8rem; line-height: 1.75; }
.legal-section ul, .legal-section ol { margin-top: .8rem; padding-left: 1.35rem; line-height: 1.7; }
.legal-section ul { list-style: disc; }
.legal-section ol { list-style: decimal; }
.legal-section li + li { margin-top: .45rem; }
.legal-section a, .legal-contact a { color: #0e7490; font-weight: 800; text-decoration: underline; text-underline-offset: .2rem; }
.legal-contact { margin-top: 1rem; border-radius: 1rem; background: #e0f2fe; padding: 1.25rem; color: #164e63; line-height: 1.7; }
.legal-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.legal-actions a { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; border-radius: 9999px; padding: .75rem 1.2rem; font-weight: 900; text-decoration: none; }
.legal-home-link { border: 1px solid #bae6fd; background: #fff; color: #0e7490; }
.legal-whatsapp-link { background: #059669; color: #fff; }

@media (min-width: 768px) {
  .legal-hero { padding-top: 5rem; padding-bottom: 4.5rem; }
  .legal-document { padding-top: 4rem; padding-bottom: 5rem; }
  .legal-intro, .legal-contact { padding: 1.5rem; }
}

@media (min-width: 768px) {
  .booking-notes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (min-width: 1024px) {
  .booking-notes-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* Home layout inspired by the supplied spatial reference. */
body[data-page="home"] { background: #f8fafc; }
body[data-page="home"] .site-header { border-color: rgba(15, 23, 42, .1); background: rgba(255, 255, 255, .94); color: #0f172a; box-shadow: 0 8px 28px rgba(15, 23, 42, .08); }
body[data-page="home"] .site-header .nav-link:hover,
body[data-page="home"] .site-header .nav-link:focus-visible { color: #0e7490; }
body[data-page="home"] .site-header .lang-btn { border-color: rgba(15, 23, 42, .18); }
body[data-page="home"] .site-header .lang-btn:hover,
body[data-page="home"] .site-header .lang-btn:focus-visible,
body[data-page="home"] .site-header .lang-active { background: #0e7490; border-color: #0e7490; color: #fff; }

body[data-page="home"] .hero-bg { background-image: linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.68) 42%, rgba(2,44,64,.18) 100%), var(--hero-image, url("/assets/images/hero-mobile.webp")); color: #0f172a; }
body[data-page="home"] .hero-bg > .absolute { display: none; }
body[data-page="home"] .hero-section { min-height: auto; padding-top: 4.5rem; }
body[data-page="home"] .hero-inner { align-items: center; padding-top: 2.5rem; padding-bottom: 4rem; }
body[data-page="home"] .hero-copy { border-radius: 1.5rem; background: rgba(255,255,255,.78); padding: 1.5rem; box-shadow: 0 18px 45px rgba(15,23,42,.08); backdrop-filter: blur(8px); }
body[data-page="home"] .hero-copy h1 { color: #062f4f; text-transform: uppercase; letter-spacing: -.025em; }
body[data-page="home"] .hero-copy p { color: #334155; }
body[data-page="home"] .hero-copy > p:first-child { background: #ecfeff; color: #0e7490; box-shadow: inset 0 0 0 1px #a5f3fc; }
body[data-page="home"] .hero-copy .text-cyan-50\/90 { color: #155e75; }

.hero-booking-card { width: 100%; max-width: 31rem; justify-self: end; background: rgba(255,255,255,.97); }
.hero-price-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hero-price-options .price-card { display: block; min-width: 0; padding: .9rem; }
.hero-price-options .price-card .text-right { margin-top: .65rem; text-align: left; }
.hero-price-options .price-card h3 { font-size: .88rem; line-height: 1.2; }
.hero-price-options .price-card h3 + p { display: none; }
.hero-price-options .price-card [data-price] { font-size: 1.65rem; }
.hero-booking-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.hero-booking-form .booking-label { margin-bottom: .3rem; font-size: .78rem; line-height: 1.25; }
.hero-booking-form .booking-input { min-height: 43px; border-radius: .7rem; padding: .65rem .75rem; font-size: .9rem; }
.hero-booking-form .booking-help { font-size: .74rem; }
.hero-booking-form .booking-total-field { padding: .7rem .8rem; }
.hero-booking-form .booking-calculated-total { font-size: 1.55rem; }
.hero-booking-form .booking-submit { width: 100%; min-height: 48px; margin-top: .9rem; padding: .8rem 1rem; }
.hero-booking-notes { border-radius: .7rem; border: 1px solid #cbd5e1; background: #fff; padding: .65rem .75rem; }
.hero-booking-notes summary { cursor: pointer; margin: 0; }
.hero-booking-notes .booking-textarea { min-height: 5rem; margin-top: .6rem; border-radius: .65rem; }
.hero-document-warning { line-height: 1.35; }

body[data-page="home"] #highlights { position: relative; z-index: 3; margin-top: -2rem; background: transparent; padding: 0 1rem 2rem; }
body[data-page="home"] #highlights > div { border-radius: 1rem; background: #062f4f; padding: 1rem; box-shadow: 0 18px 45px rgba(2, 44, 64, .22); }
body[data-page="home"] #highlights .info-card { background: transparent; color: #fff; box-shadow: none; }
body[data-page="home"] #highlights .info-card h3 { color: #fff; }
body[data-page="home"] #highlights .info-card p { color: #cffafe; }
body[data-page="home"] .section-padding { padding-top: 3.75rem; padding-bottom: 3.75rem; }
body[data-page="home"] #highlights.section-padding { padding-top: 0; }
body[data-page="home"] #schedule,
body[data-page="home"] #requirements,
body[data-page="home"] .bring-grid > section { border-radius: 1rem; }
body[data-page="home"] .gallery-grid { gap: .75rem; }
body[data-page="home"] .gallery-card { border-radius: .8rem; }
body[data-page="home"] #final-cta { margin: 1rem; border-radius: 1.25rem; background-image: linear-gradient(90deg, rgba(6,95,70,.92), rgba(8,145,178,.72)), url("/assets/images/hero.webp"); background-position: center; background-size: cover; }

@media (max-width: 767px) {
  body[data-page="home"] .hero-copy { padding: 1.25rem; }
  .hero-booking-card { max-width: none; }
  .hero-price-options { grid-template-columns: minmax(0, 1fr); }
  .hero-booking-grid { grid-template-columns: minmax(0, 1fr); }
  .hero-booking-grid .booking-field-full { grid-column: auto; }
  body[data-page="home"] #highlights { margin-top: -1.25rem; }
}

@media (min-width: 768px) {
  body[data-page="home"] .hero-bg { background-image: linear-gradient(90deg, rgba(255,255,255,.93) 0%, rgba(255,255,255,.63) 45%, rgba(2,44,64,.12) 100%), var(--hero-image, url("/assets/images/hero.webp")); }
  body[data-page="home"] .hero-inner { padding-top: 4rem; padding-bottom: 5rem; }
  body[data-page="home"] .hero-copy { padding: 2rem; }
}

@media (min-width: 1024px) {
  body[data-page="home"] .hero-inner { grid-template-columns: minmax(0, 1.12fr) minmax(25rem, .88fr); gap: 3.5rem; }
  body[data-page="home"] .hero-copy h1 { font-size: clamp(3.65rem, 5.6vw, 5.5rem); }
  body[data-page="home"] #highlights > div { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
