.ct-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;padding:50px;background:#1b293d;border-radius:20px;color:#fff;align-items:center}
.ct-hero .sv-kicker{color:#e2c478}.ct-hero h1{font-size:clamp(2.3rem,3.6vw,3.3rem)}.ct-hero h1 em{color:#e2c478}.ct-hero .sv-lead{max-width:570px}.ct-hero .sv-button{margin-top:26px}.ct-hero-link{display:block;width:fit-content;padding:14px 0;min-height:44px;color:#e2c478!important;font-size:.9rem}
.ct-start{padding:30px;border:1px solid #647080;border-radius:14px;background:#26374c}.ct-start h2{font-size:1.7rem}.ct-start>p:not(.sv-kicker){font-size:.92rem;margin-top:18px;color:#dce3eb}.ct-start .sv-whatsapp{margin-top:22px;width:100%;border-color:#83a79a;color:#edfff6}.ct-note{font-size:.78rem!important;line-height:1.65;color:#526071;margin-top:18px!important}.ct-index{padding:24px 0;border-bottom:1px solid #dce1e5}.ct-page #ciudades{margin-top:36px}
.ct-cities{display:grid;grid-template-columns:1fr 1fr;gap:24px}.ct-city{background:#fff;border:1px solid #dce1e5;border-radius:14px;overflow:hidden}.ct-city figure{position:relative}.ct-city img{width:100%;height:280px;display:block;object-fit:cover}.ct-city figcaption{font-size:.65rem;background:#1b293d;color:#fff;padding:9px 16px}.ct-city-body{padding:28px}.ct-city h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:10px 0}.ct-city-body>p:not(.sv-kicker){font-size:.94rem;color:#526071;min-height:110px}.ct-city .sv-card-cta{margin-top:20px;border-radius:7px;padding:15px;font-size:.85rem}
.ct-page .sv-steps a{display:inline-block;padding:10px 0}.ct-travel{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;padding:40px;background:#eaf0ef;border:1px solid #d3dfdd;border-radius:14px}.ct-travel h2{margin-bottom:22px}.ct-travel>div>p:not(.sv-kicker){font-size:.95rem;color:#526071}.ct-travel .sv-button{margin-top:26px}.ct-checklist{background:#fff;padding:28px;border-radius:10px}.ct-checklist h3{font-size:1.1rem}.ct-checklist ul{padding-left:20px;margin:20px 0}.ct-checklist li{padding:7px 0;font-size:.9rem}.ct-page .sv-final p:not(.sv-kicker){font-size:.9rem;color:#dce3eb;margin-top:14px}
@media(max-width:1100px){.ct-hero{gap:24px;padding:32px}.ct-start{padding:24px}.ct-travel{gap:26px;padding:28px}.ct-city-body>p:not(.sv-kicker){min-height:0}}
@media(max-width:800px){.ct-hero,.ct-travel{grid-template-columns:1fr}.ct-cities{grid-template-columns:1fr}.ct-hero{padding:28px 24px;border-radius:12px}.ct-hero h1{font-size:2.45rem}.ct-city img{height:240px}.ct-start{padding:24px}.ct-city-body{padding:24px}.ct-travel{padding:25px;gap:25px}.ct-checklist{padding:22px}.ct-index{gap:6px}.ct-index a{font-size:.75rem}.ct-page .sv-final .sv-button{max-width:100%}}
/* Large editorial galleries; native horizontal scrolling remains usable without JS. */
.ct-cities{grid-template-columns:minmax(0,1fr);gap:36px}
.ct-city{min-width:0;display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);align-items:center}
.ct-gallery{min-width:0;background:#1b293d;color:#fff;align-self:stretch}
.ct-gallery-track{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c9af71 #1b293d}
.ct-gallery.is-ready .ct-gallery-track{scroll-snap-type:x mandatory}
.ct-city .ct-slide{flex:0 0 100%;min-width:0;margin:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column}
.ct-city .ct-slide img{height:430px;object-fit:cover}
.ct-city .ct-slide-portrait img{object-fit:contain;background:#152235}
.ct-city .ct-slide figcaption{padding:18px 22px;flex:1;line-height:1.55}
.ct-slide figcaption strong{display:block;font-size:1rem;font-weight:500;color:#fff}
.ct-photo-location{display:block;font-size:.75rem;color:#e2c478;margin-top:5px}
.ct-photo-credit{display:block;font-size:.65rem;color:#d9e1ec;margin-top:10px;overflow-wrap:anywhere}
.ct-photo-credit a{color:inherit!important;text-decoration:underline;text-underline-offset:3px}
.ct-gallery-controls{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 16px 18px}
.ct-gallery-controls[hidden]{display:none}
.ct-gallery-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;background:transparent;color:#fff;border:1px solid #788393;border-radius:50%;font:inherit;cursor:pointer}
.ct-gallery-controls button:hover{background:#34465e}
.ct-gallery-dots{display:flex;gap:0}
.ct-gallery-dots button{width:32px;border:0;border-radius:4px}
.ct-gallery-dots span{width:7px;height:7px;border-radius:50%;background:#9ca7b5}
.ct-gallery-dots button[aria-pressed=true] span{width:20px;border-radius:5px;background:#e2c478}
.ct-gallery-status{font-size:.75rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.ct-gallery button:focus-visible,.ct-gallery-track:focus-visible,.ct-photo-credit a:focus-visible{outline:3px solid #e2c478;outline-offset:-3px}
.ct-gallery-hint{font-size:.8rem;padding:14px 22px}
.ct-city-body>p:not(.sv-kicker){min-height:0}
.ct-city-body .sv-card-cta{display:block;line-height:1.65}
@media(max-width:1100px){.ct-city{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.ct-city .ct-slide img{height:390px}.ct-city-body{padding:24px}}
@media(max-width:800px){.ct-city{grid-template-columns:minmax(0,1fr)}.ct-city .ct-slide img{height:clamp(300px,60vw,420px)}.ct-city .ct-slide figcaption{padding:16px 18px}.ct-gallery-controls{gap:6px;padding-inline:10px}.ct-gallery-dots button{width:28px}.ct-gallery-controls>button{width:40px}.ct-city-body{padding:26px}}
.ct-gallery-controls{display:grid;grid-template-columns:44px 1fr 44px;gap:10px 12px}
.ct-gallery-controls [data-gallery-prev]{grid-column:1;grid-row:1}.ct-gallery-controls [data-gallery-next]{grid-column:3;grid-row:1}.ct-gallery-status{grid-column:2;grid-row:1;text-align:center}
.ct-gallery-dots{grid-column:1 / -1;grid-row:2;display:flex;justify-content:flex-start;gap:8px;overflow-x:auto;padding:4px;scrollbar-width:thin;max-width:100%}
.ct-gallery-dots button{width:80px;height:56px;flex:0 0 80px;padding:2px;border:2px solid transparent;border-radius:6px;overflow:hidden;opacity:.65}
.ct-gallery-dots button[aria-pressed=true]{border-color:#e2c478;opacity:1}
.ct-gallery-dots button:hover,.ct-gallery-dots button:focus-visible{opacity:1}
.ct-city .ct-gallery-dots img{width:100%;height:100%;object-fit:cover;border-radius:2px}
@media(max-width:800px){.ct-gallery-dots button{width:64px;height:48px;flex-basis:64px}}

/* Location hierarchy and tourism cards. */
.ct-page .ct-hero{grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);gap:64px;padding:clamp(28px,5vw,64px);background:radial-gradient(ellipse at top right,#354962 0,transparent 65%),#1b293d}
.ct-page .ct-hero h1{font-size:clamp(2.8rem,5vw,4.6rem);margin:22px 0;line-height:1.08}
.ct-hero-copy{min-width:0}
.ct-hero .sv-lead{line-height:1.8;color:#e3e9f0}
.ct-city-selector{border-top:1px solid #657184;padding-top:22px}
.ct-city-selector>.sv-kicker{margin-bottom:16px}
.ct-city-selector>a{display:flex;gap:18px;align-items:center;min-height:108px;padding:20px 0;border-bottom:1px solid #536074;text-decoration:none;color:#fff}
.ct-city-selector>a>span:last-child{margin-left:auto;color:#e2c478;font-size:1.4rem}
.ct-city-selector strong{font:400 clamp(1.35rem,2.1vw,1.9rem)/1.3 'Playfair Display',Georgia,serif;display:block}
.ct-city-selector small{display:block;color:#c8d2de;margin-top:6px;font-size:.8rem}
.ct-selector-number{align-self:flex-start;margin-top:7px;font-size:.7rem;color:#e2c478;font-variant-numeric:tabular-nums}
.ct-city-selector a:hover strong{color:#e2c478}
.ct-page .ct-index{padding:22px 0;margin:0}
.ct-page .ct-index a{background:transparent}
.ct-page .ct-index a:first-child{background:#1b293d;border-color:#1b293d;color:#fff}
.ct-page .ct-locations{margin-top:48px}
.ct-page .sv-section-heading{gap:32px}
.ct-page .sv-section-heading>div{min-width:0}
.ct-page .sv-section-heading>p{flex:0 1 330px}
.ct-page .ct-city{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);border-radius:20px;box-shadow:0 12px 32px #1b293d08;align-items:start}
.ct-page .ct-city .ct-gallery{align-self:start}
.ct-page .ct-city-body{padding:32px;min-width:0}
.ct-clinic-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #b9cec5;color:#254d40;background:#f1f7f3;padding:6px 11px;border-radius:20px;font-size:.72rem;font-weight:700;margin-bottom:28px}
.ct-clinic-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:#3d735f}
.ct-page .ct-city h3{font:400 clamp(2rem,3vw,2.8rem)/1.15 'Playfair Display',Georgia,serif;margin:10px 0 20px}
.ct-page .ct-highlights{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:20px 0 28px}
.ct-highlights li{padding:5px 9px;border:1px solid #e1e5e9;border-radius:5px;font-size:.72rem;color:#526071}
.ct-page .ct-city .sv-card-cta{display:flex;align-items:center;background:#1b293d;color:white;border:0;margin-top:0;font-size:.82rem}
.ct-page .ct-city .sv-card-cta:hover{background:#30415a}
.ct-film{border-top:1px solid #dce1e5;margin:22px 0 0;padding-top:18px;min-width:0}
.ct-film-player{aspect-ratio:16/9;background:#17263a;border-radius:8px;overflow:hidden}
.ct-film-player iframe,.ct-film-player video{display:block;width:100%;height:100%;border:0;object-fit:contain}
.ct-film-error{padding:12px;background:#fff4e6;color:#633e15;font-size:.8rem;border-radius:8px;margin-top:8px}
.ct-film-error[hidden]{display:none}
.ct-film-error p{margin:0 0 8px}
.ct-film-error button{font:inherit;padding:8px 14px;border:1px solid currentColor;border-radius:6px;background:white;color:inherit;cursor:pointer}
.ct-film-error button:focus-visible,.ct-film video:focus-visible{outline:3px solid #a47c36;outline-offset:3px}
.ct-page .ct-film-credit{font-size:.68rem;line-height:1.5;color:#526071;margin:10px 0 4px}
.ct-film-credit a{display:inline-block;padding:4px 0;text-decoration:underline}
.ct-page .ct-destinations{padding:clamp(22px,4vw,42px);background:#f3f0e9;border:1px solid #e3dccc;border-radius:20px}
.ct-page .ct-destinations .sv-section-heading{margin-bottom:22px}
.ct-page .ct-tourism-note{padding:14px 18px;border-left:3px solid #ac8951;background:#fff9;font-size:.83rem;color:#526071;margin-bottom:28px}
.ct-tourism-note strong{color:#1b293d}
.ct-destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.ct-destination{display:flex;flex-direction:column;min-width:0;min-height:235px;padding:24px;background:#fff;border:1px solid #e3dfd6;border-top:3px solid #c8b58b;border-radius:10px}
.ct-page .ct-destination>.sv-kicker{font-size:.62rem;letter-spacing:.1em}
.ct-page .ct-destination h3{font:400 1.5rem/1.25 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:12px 0}
.ct-page .ct-destination>p:not(.sv-kicker){font-size:.87rem;line-height:1.65;color:#526071}
.ct-destination .ct-film{margin-top:auto;padding-top:18px}
.ct-page :is(.ct-city-selector a,.ct-film summary):focus-visible{outline:3px solid #a47c36;outline-offset:4px}
@media(min-width:1101px){.ct-page .ct-city .ct-slide img{height:400px}}
@media(max-width:1100px){.ct-page .ct-hero{gap:32px}.ct-page .ct-city{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.ct-page .ct-city-body{padding:24px}.ct-destination-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.ct-page .ct-hero{grid-template-columns:1fr;gap:32px}.ct-city-selector>a{min-height:88px;padding:16px 0}.ct-page .ct-city{grid-template-columns:minmax(0,1fr)}.ct-page .ct-city-body{padding:26px}.ct-page .ct-city h3{font-size:2.35rem}.ct-clinic-badge{margin-bottom:18px}.ct-page .sv-section-heading{display:block}.ct-page .sv-section-heading>p{margin-top:14px;max-width:none}.ct-page .ct-film-widget{height:440px}.ct-page .ct-destinations{padding:24px 20px}.ct-page .ct-destination h3{font-size:1.4rem}}
@media(max-width:550px){.ct-destination-grid{grid-template-columns:minmax(0,1fr)}.ct-destination{min-height:0;padding:22px}.ct-page .ct-hero h1{font-size:clamp(2.35rem,10vw,3.3rem)}.ct-page .ct-index a{font-size:.72rem;padding:10px 12px}.ct-page .ct-tourism-note{padding:12px 14px}.ct-page .ct-destinations{padding:24px 16px}.ct-page .ct-city-body{padding:24px 20px}}
@media(prefers-reduced-motion:no-preference){.ct-city-selector a>span:last-child{transition:transform .2s}.ct-city-selector a:hover>span:last-child{transform:translate(3px,-3px)}.ct-destination{transition:border-color .2s,box-shadow .2s}.ct-destination:hover{border-color:#b9a477;box-shadow:0 8px 22px #1b293d08}.ct-film[open]>.ct-film-player{animation:ct-film-reveal .25s ease-out}@keyframes ct-film-reveal{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}}
