.colony-page { color:#fff; }
.colony-wrap { width:min(1120px, calc(100% - 3rem)); margin-inline:auto; }
.colony-hero { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:4rem; padding-block:6rem; }
.colony-eyebrow { color:#fecd66; font-size:.75rem; letter-spacing:.12em; text-transform:uppercase; }
.colony-page h1 { margin:1.5rem 0; font-size:clamp(3rem,6.4vw,6rem); line-height:1.02; letter-spacing:-.065em; }
.colony-page h1 em { color:#fecd66; font-style:normal; }
.colony-lead { max-width:520px; color:#c8c2d3; line-height:1.8; }
.colony-button { display:inline-flex; align-items:center; min-height:52px; margin-top:1rem; padding:.9rem 1.4rem; border-radius:999px; color:#171022; background:#fecd66; text-decoration:none; }
.season-card { position:relative; padding:3rem 2rem; background:linear-gradient(140deg,#34224d,#181020); border:1px solid #69517d; border-radius:32px; text-align:center; }
.season-sun { display:block; color:#fecd66; font-size:5rem; line-height:1.2; }
.season-card strong { display:block; font-size:clamp(2rem,4vw,3.3rem); letter-spacing:-.06em; }
.season-card p { color:#ddd0ee; }
.season-age { display:inline-block; padding:.6rem 1rem; margin-top:1.5rem; border-radius:999px; background:#fecd66; color:#171022; }
.colony-strip { padding:.9rem 1rem; color:#171022; background:#fecd66; text-align:center; }
.colony-strip p { margin:0; font-size:.8rem; line-height:1.7; word-spacing:.3em; }
.colony-section { padding-block:4rem; }
.colony-page h2 { margin:.8rem 0 2rem; font-size:clamp(2rem,4vw,3.5rem); line-height:1.12; letter-spacing:-.05em; }
.activity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.activity-grid article { padding:1.7rem; background:#17141e; border:1px solid #39313f; border-radius:20px; }
.activity-grid article > span { color:#fecd66; font-size:.8rem; }
.activity-grid h3 { font-size:1.1rem; margin:1.5rem 0 .6rem; }
.activity-grid p,.colony-contact p { color:#c8c2d3; font-size:.9rem; line-height:1.8; }
.shift-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.shift-card { padding:2rem; background:#fecd66; color:#171022; border-radius:24px; }
.shift-card h3 { margin:1rem 0; font-size:clamp(1.6rem,3vw,2.7rem); letter-spacing:-.04em; }
.shift-card small { font-size:1rem; }
.shift-card a { display:inline-flex; align-items:center; min-height:48px; color:inherit; text-underline-offset:5px; }
.shift-card.extended { background:#482875; color:#fff; }
.colony-contact { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; scroll-margin-top:2rem; }
.colony-contact address { margin-block:2rem; font-style:normal; line-height:2; }
.colony-contact a,.colony-footer a { color:#fecd66; }
.colony-note { font-size:.8rem!important; }
.colony-footer { display:flex; justify-content:space-between; gap:2rem; padding-block:2rem; border-top:1px solid #39313f; font-size:.75rem; color:#c8c2d3; }
.colony-page a:focus-visible,.colony-footer a:focus-visible { outline:3px solid #fff; outline-offset:5px; }
@media(max-width:760px) { .colony-hero,.colony-contact { grid-template-columns:1fr; gap:2rem; } .colony-hero { padding-block:3rem; } .activity-grid { grid-template-columns:1fr 1fr; } .shift-grid { grid-template-columns:1fr; } .colony-footer { flex-direction:column; gap:1rem; } }
@media(max-width:460px) { .colony-wrap { width:calc(100% - 2rem); } .activity-grid { grid-template-columns:1fr; } .colony-section { padding-block:2.5rem; } }

/* Universo summer: cinematic opening, illustrated adventures and clear planning. */
body[data-page="colonia"] { --summer-ink:#100d17; --summer-purple:#482875; --summer-sun:#fecd66; }
body[data-page="colonia"] main { background-color:var(--summer-ink); }
.colony-page { overflow:clip; }
.colony-wrap { width:min(1200px,calc(100% - 5rem)); }
.colony-page section[id] { scroll-margin-top:90px; }
.colony-cinema { min-height:760px; min-height:min(900px,calc(100svh - 78px)); position:relative; display:flex; align-items:end; isolation:isolate; background:radial-gradient(ellipse at 70% 15%,#705583,#21172d 60%,#100d17); }
.colony-film,.cinema-shade { position:absolute; inset:0; width:100%; height:100%; }
.colony-film { z-index:-2; object-fit:cover; object-position:center 45%; }
.cinema-shade { z-index:-1; background:linear-gradient(0deg,#100d17 0%,rgb(16 13 23 / 85%) 12%,rgb(16 13 23 / 10%) 76%),linear-gradient(90deg,rgb(16 13 23 / 35%),transparent 80%); }
.cinema-top { position:absolute; top:2rem; left:0; right:0; display:flex; justify-content:space-between; gap:1rem; color:#fff; font-size:.65rem; letter-spacing:.16em; text-shadow:0 1px 8px #000; }
.cinema-copy { padding-block:8rem 5rem; }
.colony-page .cinema-copy h1 { max-width:1000px; margin:1rem 0 1.4rem; font-size:clamp(3.5rem,7.7vw,7.5rem); line-height:.99; letter-spacing:-.07em; }
.cinema-copy > p:not(.colony-eyebrow) { max-width:600px; color:#e9e1ef; font-size:clamp(.9rem,1.3vw,1.1rem); line-height:1.7; }
.cinema-actions { display:flex; align-items:center; gap:2rem; margin-top:1.6rem; flex-wrap:wrap; }
.colony-button { margin-top:0; gap:2rem; font-size:.85rem; font-weight:700; }
.cinema-secondary { display:inline-flex; align-items:center; min-height:48px; color:#fff; font-size:.8rem; text-decoration:none; }
.film-toggle { position:absolute; right:2rem; bottom:1.5rem; min-height:44px; padding:.6rem 1rem; color:#fff; border:1px solid #a79aaf; border-radius:999px; background:rgb(16 13 23 / 60%); font:inherit; font-size:.7rem; cursor:pointer; }
.film-toggle:focus-visible { outline:3px solid #fecd66; outline-offset:4px; }
.colony-subnav { position:sticky; top:var(--site-nav-height); z-index:10; background:#1b1523; border-block:1px solid #3c3149; }
html:has(body[data-page="colonia"]) { scroll-padding-top:calc(var(--site-nav-height) + 82px); }
.colony-subnav > div { display:flex; align-items:center; gap:2rem; overflow:auto; scrollbar-width:thin; }
.colony-subnav a { display:flex; align-items:center; flex-shrink:0; min-height:66px; font-size:.75rem; color:#e3dae9; text-decoration:none; }
.colony-subnav a:hover { color:#fecd66; }
.colony-subnav .subnav-cta { margin-left:auto; color:#fecd66; }
.colony-intro { display:grid; grid-template-columns:.65fr 1.35fr; gap:5rem; align-items:center; padding-block:6rem 4rem; }
.intro-mark { display:grid; justify-items:center; text-align:center; }
.intro-mark > span { color:#fecd66; font-size:9rem; line-height:1; }
.intro-mark small { margin-top:1rem; color:#c7b8d2; font-size:.65rem; line-height:1.8; letter-spacing:.19em; transform:rotate(-7deg); }
.colony-page .colony-intro h2 { margin-bottom:1.2rem; }
.colony-facts { display:grid; grid-template-columns:repeat(3,1fr) 1.1fr; align-items:center; padding:1.6rem 2rem; border:1px solid #4b3a59; border-radius:18px; background:#21172d; }
.colony-facts > div { display:grid; gap:.5rem; border-right:1px solid #4b3a59; padding-inline:1.3rem; }
.colony-facts span { color:#b5a6c3; font-size:.6rem; letter-spacing:.1em; }
.colony-facts strong { font-size:1.15rem; }
.colony-facts small { font-size:.7rem; color:#c7b8d2; }
.colony-facts > a { padding-left:1.8rem; color:#fecd66; text-decoration:none; font-size:.8rem; }
.colony-facts > a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin-inline:1rem; padding:.8rem 1.25rem; border-radius:999px; background:#fff; color:#000; text-align:center; text-decoration:none; font-weight:700; }
.colony-facts > a:hover { background:#eee; color:#000; }
.colony-facts > a:focus-visible { outline:3px solid #fecd66; outline-offset:4px; }
.colony-facts > a span { font-size:1.5rem; margin-left:1rem; color:inherit; }
.colony-section { padding-block:5rem; }
.section-lead { max-width:650px; margin:-.6rem 0 2.5rem; color:#c7b8d2; line-height:1.9; font-size:.9rem; }
.activity-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.2rem; }
.activity-grid .adventure-card { padding:0; overflow:hidden; border-radius:16px; border:1px solid #4a3a58; background:#201727; }
.activity-art { position:relative; display:grid; place-items:center; height:220px; overflow:hidden; background:var(--art); color:#22182e; }
.aqua { --art:#87d8d0; }.lime { --art:#c6dc8c; }.lilac { --art:#c2a6e0; }.peach { --art:#fecd66; }
.activity-art::before { content:""; position:absolute; width:200px; height:200px; border:1px solid rgb(34 24 46 / 18%); border-radius:50%; right:-40px; top:-45px; }
.activity-art svg { width:75%; max-width:200px; height:150px; fill:none; stroke:currentColor; stroke-width:4; stroke-linecap:round; stroke-linejoin:round; }
.activity-art img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.activity-art:has(img)::before { content:none; }
.activity-art:has(img) span { z-index:1; color:#fff; background:rgb(0 0 0 / 72%); width:fit-content; margin-inline:auto; padding:.35rem .65rem; border-radius:6px; }
.activity-art span { position:absolute; bottom:1rem; left:1.2rem; font-size:.58rem; letter-spacing:.1em; }
.activity-copy { padding:1.5rem; text-align:center; }
.activity-grid .activity-copy h3 { margin:0 0 .8rem; font-size:1.2rem; line-height:1.3; letter-spacing:-.03em; }
.activity-grid .activity-copy p { font-size:.78rem; line-height:1.9; min-height:4.5rem; }
.activity-copy a { display:flex; align-items:center; justify-content:center; gap:.6rem; min-height:48px; margin-top:1rem; color:#fecd66; font-size:.68rem; text-decoration:none; }
#experiencias > .section-lead { max-width:none; text-wrap:pretty; }
.activity-grid .activity-art span { left:0; right:0; text-align:center; }
.activity-copy a span { font-size:1.4rem; }
.adventure-card .activity-art svg { transition:transform 220ms ease; }
@media(hover:hover) { .adventure-card:hover .activity-art svg { transform:translateY(-5px) rotate(-3deg); } }
.summer-callout { position:relative; padding-block:4rem; background:#482875; border-radius:50% 50% 0 0 / 12% 12% 0 0; }
.summer-callout > div { display:grid; grid-template-columns:.5fr 2fr 1fr; align-items:center; gap:2rem; }
.summer-callout span { color:#fecd66; font-size:6rem; text-align:center; }
.summer-callout p { margin:0; font-size:clamp(2rem,4.2vw,4rem); letter-spacing:-.055em; line-height:1.15; }
.summer-callout em { color:#fecd66; font-style:normal; }
.summer-callout a { color:#fff; line-height:1.8; text-underline-offset:6px; font-size:.8rem; }
.shift-grid { gap:1.5rem; }
.shift-card { background:#fecd66; padding:2.5rem; border-radius:20px; }
.shift-card.extended { background:#c2a6e0; color:#21122e; }
.shift-heading { display:flex; justify-content:space-between; align-items:center; }
.shift-heading p { font-size:.65rem; letter-spacing:.1em; }
.shift-heading span { font-size:2rem; }
.shift-card > p { font-size:.8rem; }
.price-list { margin-block:2rem 1rem; }
.price-list > div { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.9rem 0; border-top:1px solid rgb(33 18 46 / 22%); }
.price-list dt { font-size:.8rem; }
.price-list dd { margin:0; font-size:1.2rem; font-weight:800; letter-spacing:-.03em; }
.price-list .season-price { margin-top:1rem; padding:1rem; border:1px solid rgb(33 18 46 / 35%); border-radius:12px; background:rgb(255 255 255 / 20%); }
.season-price dt { max-width:100px; line-height:1.5; }
.season-price dd { font-size:1.6rem; }
.shift-card > a { width:100%; justify-content:center; margin-top:1rem; border-radius:999px; background:#21122e; color:#fff; text-decoration:none; font-size:.8rem; }
.location-section { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.location-art { min-height:330px; display:grid; place-content:center; position:relative; overflow:hidden; border-radius:24px; background:#22182e; border:1px solid #53405f; }
.location-art svg { width:100%; max-width:480px; fill:none; stroke:#fecd66; stroke-width:3; }
.location-art svg > circle:first-of-type { fill:#482875; stroke:#8e6eb0; }
.location-art .map-road { stroke:#604a71; stroke-width:12; }
.location-art > span { position:absolute; bottom:1.3rem; left:1.5rem; color:#fecd66; font-size:.65rem; letter-spacing:.1em; }
.location-section address { font-style:normal; font-size:1.2rem; line-height:1.7; margin-bottom:1.5rem; }
.faq-section { display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; }
.faq-list details { border-bottom:1px solid #4a3a58; }
.faq-list summary { cursor:pointer; min-height:70px; padding:1.4rem .3rem; font-size:.85rem; line-height:1.6; }
.faq-list p { font-size:.8rem; color:#c7b8d2; line-height:1.9; padding:0 1rem 1rem .3rem; }
.colony-contact { border-top:1px solid #4a3a58; }
.colony-contact quick-inquiry-modal { display:block; min-width:0; }
.colony-footer { padding-right:4rem; }
@media(max-width:1000px) { .activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .colony-wrap { width:calc(100% - 3rem); } .colony-facts { padding:1.4rem .5rem; } .colony-facts > div { padding-inline:.8rem; } .colony-facts > a { padding-left:1rem; } .colony-intro,.location-section { gap:2rem; } }
@media(max-width:760px) {
  .colony-cinema { min-height:700px; min-height:85svh; }
  .cinema-copy { padding-block:8rem 5rem; }
  .colony-page .cinema-copy h1 { font-size:clamp(3rem,10vw,5rem); }
  .cinema-top { top:1.5rem; font-size:.5rem; }
  .cinema-top span:last-child { display:none; }
  .cinema-actions { gap:1rem; }
  .colony-subnav > div { gap:1.4rem; }
  .colony-subnav a { min-height:56px; font-size:.68rem; }
  .colony-intro { grid-template-columns:1fr; gap:1.5rem; padding-block:3rem; }
  .intro-mark { display:flex; gap:1rem; justify-content:start; text-align:left; }
  .intro-mark > span { font-size:4rem; }.intro-mark small { font-size:.5rem; margin:0; }
  .colony-facts { grid-template-columns:1fr 1fr; gap:1.5rem 0; padding:1.5rem .5rem; }
  .colony-facts > div:nth-child(2) { border-right:0; }.colony-facts strong { font-size:1rem; }
  .colony-section { padding-block:3rem; }
  .summer-callout > div { grid-template-columns:1fr; gap:1rem; }.summer-callout span { font-size:3rem; text-align:left; }
  .location-section,.faq-section { grid-template-columns:1fr; gap:1.5rem; }
  .shift-card { padding:1.5rem; }.colony-contact { gap:2rem; }
  .colony-footer { padding-right:3rem; }
}
@media(max-width:460px) { .colony-wrap { width:calc(100% - 2rem); } .activity-grid { grid-template-columns:1fr; } .activity-art { height:220px; } .activity-grid .activity-copy p { min-height:0; } .film-toggle { right:1rem; }.season-price dd { font-size:1.3rem; } }
@media(prefers-reduced-motion:reduce) { .adventure-card .activity-art svg { transition:none; } }

.hero-essentials { font-weight:750; color:#fff!important; max-width:740px!important; }
.pricing-conditions { color:#baadc7; font-size:.75rem; line-height:1.8; margin-top:-2rem; margin-bottom:2rem; }
.shift-card .saving-note { padding:.75rem 0; font-size:.75rem; line-height:1.7; }
.shift-card > a.season-link { color:#21122e; background:transparent; text-decoration:underline; text-underline-offset:4px; font-size:.7rem; }
.trust-section { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:4rem; }
.trust-topics { display:grid; gap:1rem; }
.trust-topics article { padding:1.3rem; border:1px solid #4b3a59; border-radius:16px; background:#21172d; }
.trust-topics span { color:#fecd66; font-size:.6rem; letter-spacing:.1em; }
.trust-topics h3 { font-size:1.05rem; margin:.6rem 0; }
.trust-topics p { color:#c7b8d2; font-size:.8rem; line-height:1.8; margin:0; }
.activity-art .brand-orbit { stroke-width:1.2; opacity:.35; }
.activity-art .brand-star { stroke-width:1.5; fill:currentColor; }
.colony-subnav a[aria-current="location"] { color:#fecd66; text-decoration:underline; text-underline-offset:7px; }
@keyframes colony-title-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:no-preference) { .cinema-copy h1 { animation:colony-title-in 650ms ease-out both; } .cinema-copy .hero-essentials { animation:colony-title-in 650ms 100ms ease-out both; } .saving-note strong { background:linear-gradient(transparent 55%,rgb(255 255 255 / 50%) 55%); } }
@media(max-width:760px) {
  .trust-section { grid-template-columns:1fr; gap:1rem; }
  .colony-cinema { min-height:650px; min-height:78svh; }
  .cinema-copy { padding-bottom:4.5rem; }
  .colony-page .hero-essentials { max-width:320px!important; font-size:.8rem; }
  .colony-intro { padding-block:2rem 1.5rem; gap:.8rem; }
  .colony-page .colony-intro h2 { font-size:1.9rem; }
  .colony-intro .colony-lead { font-size:.8rem; }
  .colony-section { padding-block:2.2rem; }
  .activity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .activity-art { height:135px; }
  .activity-art svg { height:95px; }
  .activity-art span { left:.7rem; font-size:.43rem; }
  .activity-copy { padding:1rem .8rem; }
  .activity-grid .activity-copy h3 { font-size:.92rem; }
  .activity-grid .activity-copy p { font-size:.7rem; min-height:0; }
  .activity-copy a { font-size:.62rem; line-height:1.6; }
  .summer-callout { padding-block:2rem; }
  .summer-callout > div { grid-template-columns:40px 1fr; }
  .summer-callout p { font-size:1.8rem; }.summer-callout a { grid-column:2; }
  .location-art { min-height:220px; }.location-art svg { max-height:220px; }
  .colony-subnav > div { gap:1.1rem; padding-right:1rem; }
  .colony-subnav { box-shadow:inset -20px 0 18px -20px #fecd66; }
  .pricing-conditions { margin-top:-.5rem; }
}
