/* Universo: summer campaign, paper cutouts and editorial collage. */
body[data-page="colonia"] { --poster-paper:#f6f0df; --poster-ink:#20241d; --poster-blue:#1662ba; --poster-coral:#ef563d; --poster-yellow:#f9da38; background:var(--poster-paper); }
body[data-page="colonia"]::before { display:none; }
body[data-page="colonia"] main { color:var(--poster-ink); background-color:var(--poster-paper); background-image:radial-gradient(#27281812 .7px,transparent .7px); background-size:5px 5px; }
.colony-page h2 { font-size:clamp(2rem,1.15rem + 3vw,3.8rem); font-weight:900; letter-spacing:-.055em; text-wrap:balance; }
.colony-eyebrow { color:var(--poster-blue); font-weight:800; letter-spacing:.08em; }
.colony-lead,.section-lead,.activity-grid p,.colony-contact p,.trust-topics p,.faq-list p { color:#53584e; }
.colony-cinema { min-height:780px; min-height:max(720px,calc(100svh - var(--site-nav-height))); align-items:center; background:#175eac; overflow:hidden; }
.colony-film { opacity:.35; filter:saturate(.75); }
.cinema-shade { background:linear-gradient(90deg,#124f91e8,#124f91c9 48%,#124f912b); }
.cinema-top { font-size:.65rem; }
.cinema-copy { position:relative; z-index:2; padding-block:6rem 4rem; }
.cinema-copy .colony-eyebrow { display:table; color:#20241d; background:var(--poster-yellow); padding:.5rem .85rem; transform:rotate(-2deg); }
.colony-page .cinema-copy h1 { max-width:650px; font-size:clamp(3.3rem,1.3rem + 6.2vw,7rem); font-weight:900; line-height:.92; letter-spacing:-.065em; margin-block:1.5rem 2rem; }
.cinema-copy h1 > span:first-child { display:table; color:var(--poster-coral); background:var(--poster-paper); padding:.02em .14em .1em; transform:rotate(-3deg); box-shadow:5px 5px 0 #183450; }
.cinema-copy h1 .poster-connector { display:table; margin:.05em 0 .05em 1.5em; font-size:.38em; color:#fff; letter-spacing:-.02em; }
.colony-page .cinema-copy h1 em { display:table; padding:.02em .12em .13em; background:var(--poster-yellow); color:var(--poster-blue); transform:rotate(2deg); box-shadow:5px 5px 0 #183450; }
.cinema-copy > p:not(.colony-eyebrow) { max-width:470px; color:#fff; }
.cinema-copy .hero-essentials { max-width:510px!important; }
.colony-button { background:var(--poster-blue); color:#fff; border-radius:8px; box-shadow:3px 4px 0 #20241d; padding:1rem 1.4rem; }
.cinema-actions .colony-button { background:var(--poster-coral); }
.poster-collage { position:absolute; right:max(4%,calc((100vw - 1200px)/2)); width:35%; top:23%; z-index:1; }
.poster-photo { padding:12px 12px 20px; background:var(--poster-paper); transform:rotate(7deg); box-shadow:12px 15px 0 #12325280; }
.poster-photo img { width:100%; height:290px; object-fit:cover; filter:saturate(.85); }
.poster-photo > span { display:block; color:var(--poster-blue); padding:1rem .4rem 0; font-weight:900; font-size:clamp(.9rem,.6rem + 1vw,1.5rem); }
.poster-photo::before { content:""; position:absolute; top:-15px; left:34%; width:90px; height:30px; background:#f9da38d9; transform:rotate(-11deg); }
.poster-stamp { position:absolute; right:-10px; bottom:-65px; display:grid; place-content:center; width:130px; aspect-ratio:1; border-radius:50%; color:#20241d; background:var(--poster-yellow); font-weight:900; font-size:1.7rem; line-height:1.1; text-align:center; transform:rotate(12deg); border:2px dashed #20241d; }
.poster-stamp strong { font-size:1rem; }
.poster-spark { position:absolute; top:-110px; right:12%; color:var(--poster-yellow); font-size:7rem; line-height:1; }
.poster-season { position:absolute; left:-25px; bottom:-75px; font-size:2.3rem; color:white; background:var(--poster-coral); padding:.5rem .8rem; font-weight:900; line-height:.9; transform:rotate(-6deg); }
.colony-subnav { background:var(--poster-yellow); border-color:#20241d30; }
.colony-subnav a,.colony-subnav .subnav-cta { color:#20241d; font-weight:800; }
.colony-subnav a:hover,.colony-subnav a[aria-current="location"] { color:var(--poster-blue); }
.intro-mark { background:var(--poster-coral); color:var(--poster-paper); padding:2rem 1rem; transform:rotate(-5deg); border:8px solid var(--poster-paper); box-shadow:4px 6px 0 #20241d; }
.intro-mark > span { color:var(--poster-yellow); }
.intro-mark small { color:#fff; transform:none; font-weight:800; }
.colony-facts { background:var(--poster-blue); color:white; border:0; border-radius:4px; box-shadow:5px 5px 0 #20241d; }
.colony-facts span,.colony-facts small { color:#e3eaff; }
.colony-facts > a { color:var(--poster-yellow); }
.shift-grid { gap:2rem; padding:.5rem; }
.shift-card { background:var(--poster-yellow); border:2px solid #20241d; border-radius:4px; box-shadow:7px 8px 0 #20241d; transform:rotate(-1deg); }
.shift-card.extended { background:#9dded8; color:var(--poster-ink); transform:rotate(1deg); }
.shift-heading p { font-size:.8rem; font-weight:900; }
.shift-card h3 { font-weight:900; }
.price-list .season-price { background:var(--poster-paper); border:2px solid #20241d; border-radius:2px; }
.shift-card > a { border-radius:6px; background:var(--poster-blue); font-size:.9rem; }
.pricing-conditions { color:#53584e; }
.activity-grid .adventure-card { border:2px solid #20241d; border-radius:3px; background:var(--poster-paper); box-shadow:4px 5px 0 #20241d; }
.adventure-card:nth-child(odd) { transform:rotate(-1.5deg); }.adventure-card:nth-child(even) { transform:rotate(1.5deg); }
.activity-art { border-bottom:2px solid #20241d; }
.aqua { --art:#64c5db; }.lime { --art:#c9df57; }.lilac { --art:#b6a0dd; }.peach { --art:#f5a274; }
.activity-copy a { color:var(--poster-blue); font-size:.78rem; font-weight:800; }
.summer-callout { background:var(--poster-coral); border-radius:0; color:var(--poster-paper); transform:rotate(-1deg); margin-block:1rem; }
.summer-callout p { font-weight:900; }.summer-callout em,.summer-callout span { color:var(--poster-yellow); }
.trust-topics article { border:2px solid #20241d; border-radius:3px; background:#e4dbf3; box-shadow:4px 4px 0 #20241d; }
.trust-topics article:nth-child(2) { background:#c7e5df; }.trust-topics article:nth-child(3) { background:#f8e69a; }
.trust-topics span { color:var(--poster-blue); }
.location-art { background:var(--poster-blue); border:8px solid white; border-radius:2px; transform:rotate(-3deg); box-shadow:5px 6px 0 #20241d; }
.faq-list details,.colony-contact { border-color:#20241d40; }
.faq-list summary { font-size:1rem; }.faq-list p { font-size:.9rem; }
.colony-contact > div > a { color:var(--poster-blue); }.colony-contact address a { color:var(--poster-blue); }
.colony-page a:focus-visible { outline:3px solid var(--poster-coral); outline-offset:5px; }
.colony-footer { color:#444b41; border-color:#20241d40; }.colony-footer a { color:var(--poster-blue); }
@media(max-width:1000px) { .poster-collage { width:32%; right:4%; top:30%; }.poster-photo img { height:220px; }.poster-stamp { width:100px; font-size:1.3rem; }.cinema-copy > p:not(.colony-eyebrow) { max-width:52%; }.colony-page .cinema-copy h1 { font-size:clamp(3.2rem,1rem + 6vw,6rem); } }
@media(max-width:760px) {
  .colony-cinema { min-height:0; display:flex; flex-direction:column; align-items:stretch; padding-bottom:3rem; }
  .cinema-copy { padding-block:5rem 1.5rem; }.colony-page .cinema-copy h1 { font-size:clamp(3rem,1.4rem + 8vw,5rem); }
  .cinema-copy > p:not(.colony-eyebrow),.colony-page .hero-essentials { max-width:100%!important; }
  .poster-collage { position:relative; top:auto; right:auto; width:65%; max-width:340px; margin:1.5rem auto 4rem; }
  .poster-photo img { height:180px; }.poster-spark { font-size:5rem; top:-55px; right:-45px; }.poster-stamp { bottom:-40px; right:-35px; }.poster-season { font-size:1.7rem; bottom:-35px; }
  .film-toggle { right:auto; left:1rem; bottom:.75rem; }.intro-mark { max-width:320px; padding:1.5rem; }
  .colony-subnav a { min-height:56px; font-size:.75rem; }.shift-grid { gap:1.6rem; }.shift-card { padding:1.4rem; }
  .activity-grid { gap:1rem; }.activity-grid .adventure-card { transform:none; }.activity-copy { padding:1rem; }
  .activity-grid .activity-copy h3 { font-size:1rem; }.activity-grid .activity-copy p { font-size:.8rem; }.activity-copy a { font-size:.75rem; }
  .summer-callout p { font-size:clamp(1.6rem,1rem + 3vw,2.5rem); }.trust-topics p { font-size:.9rem; }
}
@media(max-width:420px) { .activity-grid { grid-template-columns:1fr; }.activity-art { height:190px; }.poster-collage { width:70%; }.season-price dd { font-size:1.3rem; } }

/* Refined component language: readable copy, consistent edges and clear actions. */
.colony-page { --card-edge:1.5px solid #20241d; --card-shadow:4px 5px 0 #20241d; font-weight:500; }
.colony-page p { text-wrap:pretty; }
.colony-page h2 { line-height:1.12; font-weight:800; }
.colony-lead,.section-lead,.colony-contact p { font-size:1rem; line-height:1.75; max-width:62ch; }
.colony-eyebrow { font-size:.75rem; line-height:1.5; }
.colony-button,.shift-card > a:not(.season-link) { min-height:52px; justify-content:center; gap:.75rem; border:var(--card-edge); border-radius:12px; box-shadow:3px 4px 0 #20241d; font-size:.95rem; font-weight:750; line-height:1.4; text-align:center; transition:background-color 160ms ease,box-shadow 160ms ease,transform 160ms ease; }
.colony-button { background:#1454a2; }
.cinema-actions .colony-button { color:#20241d; background:var(--poster-yellow); }
.shift-card > a:not(.season-link) { background:#1454a2; }
.colony-button:active,.shift-card > a:not(.season-link):active { transform:translate(2px,2px); box-shadow:1px 2px 0 #20241d; }
.colony-page :is(a,button,summary):focus-visible { outline:3px solid #20241d; outline-offset:4px; }
.colony-cinema :is(a,button):focus-visible { outline-color:#fff; }
.shift-card { display:flex; flex-direction:column; border:var(--card-edge); border-radius:14px; box-shadow:var(--card-shadow); }
.shift-card h3 { font-size:clamp(1.7rem,1.2rem + 1.7vw,2.7rem); line-height:1.15; font-weight:800; }
.shift-card > p { font-size:.95rem; line-height:1.6; }
.shift-heading p { margin:0; line-height:1.5; }
.price-list { font-variant-numeric:tabular-nums; }
.price-list dt { font-size:.95rem; }
.price-list dd { font-size:1.4rem; font-weight:800; white-space:nowrap; }
.price-list .season-price { border:var(--card-edge); border-radius:10px; gap:1rem; }
.season-price dd { font-size:clamp(1.45rem,1rem + 1.2vw,2rem); }
.shift-card .saving-note { font-size:.85rem; margin-bottom:1rem; }
.shift-card > a:not(.season-link) { margin-top:auto; padding:.85rem 1rem; }
.shift-card > a.season-link { min-height:44px; font-size:.85rem; line-height:1.5; padding:.6rem .25rem; }
.activity-grid .adventure-card { display:flex; flex-direction:column; border:var(--card-edge); border-radius:14px; box-shadow:3px 4px 0 #20241d; }
.activity-art { border-bottom:var(--card-edge); }
.activity-copy { display:flex; flex:1; flex-direction:column; padding:1.4rem; }
.activity-grid .activity-copy h3 { font-size:1.2rem; font-weight:800; line-height:1.3; text-wrap:balance; }
.activity-grid .activity-copy p { min-height:0; font-size:.95rem; line-height:1.7; margin-block:0 1rem; }
.activity-copy a { margin-top:auto; border-top:1px solid #20241d30; padding-top:.7rem; min-height:48px; font-size:.85rem; line-height:1.4; color:#1454a2; }
.trust-topics article { border:var(--card-edge); border-radius:12px; box-shadow:3px 4px 0 #20241d; padding:1.5rem; }
.trust-topics h3 { font-weight:800; line-height:1.35; }.trust-topics p { font-size:.95rem; line-height:1.7; }
.faq-list { display:grid; gap:.7rem; }
.faq-list details { border:1px solid #20241d45; border-radius:12px; background:#fffaf0; overflow:clip; }
.faq-list summary { padding:1.15rem; font-weight:700; min-height:60px; }
.faq-list summary:focus-visible { outline-offset:-5px; }
.faq-list details[open] { border-color:#1454a2; }
.faq-list details[open] summary { color:#1454a2; border-bottom:1px solid #20241d20; }
.faq-list p { padding:1rem 1.15rem; margin:0; font-size:.95rem; line-height:1.7; }
@media(hover:hover) {
  .colony-button:hover,.shift-card > a:not(.season-link):hover { background:#0c4387; color:white; transform:translateY(-2px); box-shadow:3px 6px 0 #20241d; }
  .cinema-actions .colony-button:hover { color:#20241d; background:#ffe96b; }
  .activity-copy a:hover { text-decoration:underline; text-underline-offset:4px; }
  .faq-list summary:hover { background:#f1ead8; }
}
@media(prefers-reduced-motion:reduce) { .colony-button,.shift-card > a:not(.season-link) { transition:none; }.colony-button:hover,.shift-card > a:not(.season-link):hover { transform:none; } }
@media(max-width:760px) { .shift-card { transform:none; }.activity-copy { padding:1.1rem; }.colony-page .activity-copy h3 { font-size:1.1rem; }.colony-page .activity-copy p { font-size:.9rem; }.price-list dt { font-size:.9rem; } }
@media(forced-colors:active) { .shift-card,.activity-grid .adventure-card,.trust-topics article,.faq-list details { border:1px solid CanvasText; box-shadow:none; } }

/* Camp-poster cover: paper, purple tag and yellow/orange dimensional lettering. */
.colony-cinema { background:#f4f1e8; background-image:radial-gradient(#24221c24 .65px,transparent .8px); background-size:3px 3px; }
.colony-film { opacity:1; filter:none; }.cinema-shade { background:none; }
.cinema-top { color:#fff; text-shadow:0 2px 5px #000; }
.cinema-copy .colony-eyebrow { background:#7725b8; color:#fff; box-shadow:none; font-size:.8rem; padding:.65rem 1rem; }
.colony-page .cinema-copy h1 { max-width:650px; margin:1.5rem 0 1rem; font-family:Impact,"Arial Narrow","Avenir Next Condensed",sans-serif; font-size:clamp(3.8rem,1.7rem + 6vw,7.5rem); letter-spacing:-.025em; line-height:.95; text-transform:uppercase; transform:rotate(-2deg); }
.cinema-copy h1 > span:first-child,.colony-page .cinema-copy h1 em { display:block; width:fit-content; padding:0; background:none; box-shadow:none; color:#efd12f; transform:none; font-style:normal; -webkit-text-stroke:1.5px #24231f; paint-order:stroke fill; text-shadow:0 5px 0 #ed6230,0 10px 0 #24231f; }
.cinema-copy h1 .poster-connector { display:table; font-family:"Avenir Next",Avenir,sans-serif; font-size:.18em; letter-spacing:.08em; color:#fff; background:#1b9d3e; margin:.9em 0 .35em 1.8em; padding:.25em .6em; line-height:1.1; }
.cinema-copy h1 .poster-years { display:table; width:fit-content; margin:.65em 0 0; padding:.18em .35em .23em; color:#fff; background:#20201e; font-size:.42em; letter-spacing:-.03em; line-height:1; text-shadow:none; box-shadow:3px 4px 0 rgb(0 0 0 / 25%); transform:rotate(1deg); }
.poster-years b { color:#ed6230; font-weight:inherit; }
.poster-months { display:flex; flex-wrap:wrap; gap:.4rem; margin:1.5rem 0; transform:rotate(-1deg); }
.poster-months span { padding:.45rem .7rem; color:#20241d; background:#efd12f; font-size:clamp(.8rem,.7rem + .4vw,1.1rem); font-weight:900; text-transform:uppercase; }
.poster-months span:nth-child(2) { background:#ed6230; color:#fff; }.poster-months span:nth-child(3) { background:#1b9d3e; color:#fff; }
.cinema-copy > p:not(.colony-eyebrow),.colony-page .cinema-copy .hero-essentials { color:#fff!important; text-shadow:0 2px 5px rgb(0 0 0 / 90%); }
.cinema-secondary { color:#20241d; }.cinema-actions .colony-button { background:#efd12f; }
.poster-photo { background:#7725b8; padding:12px; }.poster-photo img { filter:grayscale(1) contrast(1.1); }.poster-photo > span { color:#fff; font-size:1.05rem; padding:.8rem .3rem .4rem; }
.poster-spark { color:#1b9d3e; }.poster-season { background:#ed6230; }.poster-stamp { background:#efd12f; }
.film-toggle { color:#20241d; background:#f4f1e8; border-color:#20241d; }
.colony-cinema :is(a,button):focus-visible { outline-color:#7725b8; }
@media(max-width:760px) { .colony-page .cinema-copy h1 { font-size:clamp(3.8rem,2rem + 8vw,6.5rem); }.poster-collage { margin-top:2rem; }.cinema-copy { padding-bottom:0; } }
.poster-season-row { display:flex; align-items:center; flex-wrap:wrap; gap:.8rem; margin-block:1.5rem 1rem; }
.poster-season-row .poster-years { margin:0; padding:.5rem .8rem; color:#fff; background:#20201e; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem); line-height:1.1; white-space:nowrap; }
.poster-season-row .colony-eyebrow { margin:0; max-width:290px; transform:none; font-size:.75rem; line-height:1.6; }
.poster-season-row .poster-years,.cinema-copy .colony-eyebrow,.poster-months span,.cinema-copy h1 .poster-connector { border-radius:12px; }
.colony-page .shift-card,.colony-page .activity-grid .adventure-card,.colony-page .trust-topics article { border-radius:24px; }
.colony-page .colony-facts,.colony-page .location-art,.colony-page .faq-list details { border-radius:20px; }
.colony-page .price-list .season-price,.colony-page .colony-button,.colony-page .shift-card > a:not(.season-link) { border-radius:16px; }
.colony-subnav > .colony-wrap { justify-content:center; }
.colony-facts { text-align:center; }
.colony-facts > div { justify-items:center; }
.colony-facts > a { display:flex; justify-content:center; align-items:center; padding-inline:1rem; }
#turnos > .section-lead { max-width:none; text-wrap:wrap; }
@media(max-width:760px) { .colony-subnav > .colony-wrap { justify-content:flex-start; } }
.colony-subnav { background:#111; border-color:#ffffff25; box-shadow:none; }
.colony-subnav a,.colony-subnav a:hover,.colony-subnav a[aria-current="location"] { color:#fff; }
.colony-subnav a:focus-visible { outline-color:#fff; }
.colony-intro { display:grid; grid-template-columns:130px minmax(0,1.2fr) minmax(230px,.8fr); gap:0; padding:0; margin-block:4rem; color:#fff; background:#3671d8; border:2px solid #26354b; border-radius:24px; box-shadow:6px 7px 0 #24324a; overflow:hidden; align-items:stretch; }
.ticket-stub { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1.5rem; padding:2rem 1rem; background:#f3e5c8; color:#1b2843; border-right:3px dashed #3671d8; }
.ticket-stub::before,.ticket-stub::after { content:""; position:absolute; right:-14px; width:25px; height:25px; border-radius:50%; background:var(--poster-paper); z-index:2; }.ticket-stub::before { top:-13px; }.ticket-stub::after { bottom:-13px; }
.ticket-stub strong { writing-mode:vertical-rl; transform:rotate(180deg); font-size:2.7rem; font-weight:900; letter-spacing:.05em; color:#3671d8; }
.ticket-barcode { height:100px; width:65px; background:repeating-linear-gradient(90deg,#171c24 0 3px,transparent 3px 6px,#171c24 6px 8px,transparent 8px 12px,#171c24 12px 17px,transparent 17px 20px); }
.ticket-stub > span { writing-mode:vertical-rl; font-size:.65rem; letter-spacing:.07em; }
.ticket-body { position:relative; padding:2.5rem; background-image:radial-gradient(#ffffff16 1px,transparent 1px); background-size:5px 5px; }
.ticket-body .colony-eyebrow { color:#fff4d4; margin:0 0 1rem; }
.colony-page .ticket-body h2 { margin:0 0 1.2rem; color:#ffdc4c; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(2rem,1.1rem + 2.5vw,3.5rem); letter-spacing:-.015em; line-height:1.05; text-transform:uppercase; text-shadow:2px 3px 0 #172e5e; }
.ticket-body h2 em { color:#fff4d4; font-style:normal; }
.ticket-ages { display:table; color:#fff; background:#e8573c; padding:.35rem .7rem; border-radius:8px; font-weight:800; transform:rotate(-2deg); }
.ticket-body .colony-lead { color:#fff; font-size:.95rem; line-height:1.7; }
.ticket-months { display:flex; flex-wrap:wrap; gap:.45rem; margin-block:1.2rem; }.ticket-months span { padding:.4rem .6rem; border:1px solid #ffffff80; border-radius:8px; font-size:.75rem; font-weight:700; }
.ticket-body .colony-button { background:#ffdc4c; color:#162b50; font-size:.9rem; }
.ticket-disclaimer { margin:1rem 0 0; font-size:.7rem; line-height:1.6; color:#e6edff; }
.ticket-photo { position:relative; min-height:100%; overflow:hidden; }.ticket-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 68%; }
.ticket-photo > span { position:absolute; bottom:1.5rem; right:1rem; padding:.6rem 1rem; color:#fff; background:#e8573c; border:2px solid #182a46; border-radius:12px; font-size:1.5rem; font-weight:900; transform:rotate(-8deg); }
@media(max-width:900px) { .colony-intro { grid-template-columns:90px minmax(0,1fr); }.ticket-photo { grid-column:2; height:230px; }.ticket-stub { grid-row:span 2; }.ticket-body { padding:1.7rem; }.ticket-stub strong { font-size:2.2rem; } }
@media(max-width:480px) { .colony-intro { grid-template-columns:58px minmax(0,1fr); margin-block:2.5rem; }.ticket-stub { padding:1rem .4rem; }.ticket-stub strong { font-size:1.7rem; }.ticket-barcode { width:35px; height:75px; }.ticket-body { padding:1.3rem 1rem; }.ticket-body .colony-eyebrow { font-size:.65rem; }.colony-page .ticket-body h2 { font-size:2rem; }.ticket-body .colony-lead { font-size:.85rem; }.ticket-photo { height:200px; } }

/* Compact admission-ticket proportions, with an independent tear-off stub. */
.colony-intro { width:min(1040px,calc(100% - 3rem)); grid-template-columns:100px minmax(0,1.3fr) minmax(210px,.8fr); margin-block:3rem; border-radius:18px; box-shadow:4px 5px 0 #24324a; }
.ticket-stub { gap:1rem; padding:1.2rem .7rem; border-right:2px dashed #4476c9; background-color:#f3e5c8; background-image:radial-gradient(#73644518 .7px,transparent .7px); background-size:3px 3px; }
.ticket-stub strong { font-size:2rem; letter-spacing:.08em; }
.ticket-barcode { height:65px; width:56px; }
.ticket-stub > span { transform:rotate(180deg); font-size:.6rem; }
.ticket-body { padding:1.7rem 2rem; }
.ticket-body::after { content:"UNIVERSO / COLONIA DE VERANO"; display:block; margin-top:1rem; padding-top:.6rem; border-top:1px dashed #ffffff65; color:#e6edff; font-size:.55rem; letter-spacing:.12em; }
.colony-page .ticket-body h2 { font-size:clamp(1.9rem,1.15rem + 1.8vw,2.9rem); margin-bottom:.8rem; }
.ticket-body .colony-eyebrow { margin-bottom:.7rem; font-size:.68rem; }
.ticket-ages { margin-block:.7rem; font-size:.85rem; }
.ticket-body .colony-lead { font-size:.87rem; line-height:1.65; margin-block:.8rem; }
.ticket-months { margin-block:.85rem; gap:.35rem; }.ticket-months span { font-size:.68rem; padding:.3rem .5rem; }
.ticket-body .colony-button { min-height:44px; font-size:.85rem; padding:.65rem 1rem; }
.ticket-disclaimer { font-size:.63rem; margin-top:.75rem; }
.ticket-photo { border-left:2px dashed #ffffff65; }
.ticket-photo > span { font-size:1.15rem; bottom:1rem; }
@media(max-width:900px) { .colony-intro { grid-template-columns:75px minmax(0,1fr) minmax(160px,.65fr); }.ticket-stub { grid-row:auto; }.ticket-photo { grid-column:auto; height:auto; }.ticket-body { padding:1.4rem; }.ticket-stub strong { font-size:1.8rem; } }
@media(max-width:640px) { .colony-intro { width:calc(100% - 2rem); grid-template-columns:58px minmax(0,1fr); }.ticket-stub { grid-row:span 2; }.ticket-photo { grid-column:2; height:160px; border-left:0; border-top:2px dashed #ffffff65; }.ticket-body { padding:1.2rem; }.ticket-stub strong { font-size:1.7rem; }.ticket-barcode { width:35px; height:65px; } }
.ticket-photo { min-height:0; }
.ticket-universo-logo { position:absolute; top:1rem; right:1rem; width:95px; height:36px; object-fit:contain; pointer-events:none; }
.ticket-body > .colony-eyebrow { padding-right:105px; min-height:36px; display:flex; align-items:center; }
@media(max-width:640px) { .ticket-universo-logo { width:70px; height:28px; top:.8rem; right:.8rem; }.ticket-body > .colony-eyebrow { padding-right:78px; min-height:28px; } }
.ticket-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 83%; }
.ticket-body { padding:1.3rem 1.6rem; }
.ticket-stub { gap:.65rem; }
.ticket-body::after { margin-top:.7rem; }
.colony-page .shift-grid { gap:1rem; padding:1rem; background:#e9e8e4; border-radius:28px; }
.colony-page .shift-card,.colony-page .shift-card.extended { position:relative; container-type:inline-size; padding:2rem 2rem 6.5rem; transform:none; color:#202124; background:#fff; border:1px solid #dededb; border-radius:18px; box-shadow:0 2px 7px rgb(0 0 0 / 5%); }
.shift-card::before,.shift-card::after { content:""; position:absolute; top:12px; width:5px; height:5px; border-radius:50%; background:#dadbd7; box-shadow:0 1px 2px #0002; }
.shift-card::before { left:12px; }.shift-card::after { right:12px; }
.shift-heading p { color:#363936; letter-spacing:.03em; }.shift-heading > span { color:#6e736c; font-size:1.3rem; }
.colony-page .shift-card h3 { font-weight:750; letter-spacing:-.045em; }
.colony-page .shift-card > p { color:#60645f; }
.shift-card .price-list > div { border-color:#ededeb; }.shift-card .price-list dd { color:#202124; }
.colony-page .shift-card .season-price { background:#f6f6f3; border:1px solid #e5e5e0; border-radius:12px; }
.colony-page .shift-card > a:not(.season-link) { align-self:flex-start; width:auto; max-width:100%; padding:.75rem 1.15rem; min-height:46px; color:#fff; background:#171917; border:1px solid #171917; border-radius:999px; box-shadow:none; font-size:.85rem; }
.colony-page .shift-card > a.season-link { justify-content:flex-start; width:auto; text-align:left; color:#545b54; margin-top:.5rem; font-size:.8rem; }
.shift-planet { position:absolute; right:1.4rem; bottom:1.25rem; width:76px; height:76px; display:grid; place-items:center; background:#171917; border-radius:50%; }
.shift-planet img { display:block; width:60px; height:60px; object-fit:contain; }
@container(max-width:320px) { .price-list > div { flex-wrap:wrap; gap:.4rem; }.price-list dd { font-size:1.2rem; }.season-price dt { max-width:none; } }
@media(hover:hover) { .colony-page .shift-card > a:not(.season-link):hover { background:#373c37; box-shadow:none; transform:none; } }
@media(max-width:640px) { .colony-page .shift-grid { padding:.65rem; }.colony-page .shift-card,.colony-page .shift-card.extended { padding:1.5rem 1.25rem 6.5rem; } }
@media(max-width:640px) { .ticket-body { padding:1rem; }.ticket-photo { min-height:145px; height:145px; }.ticket-photo img { object-position:center 72%; } }
.colony-page .shift-grid { max-width:960px; margin-inline:auto; }
.colony-page .shift-card,.colony-page .shift-card.extended { padding:1.35rem 1.4rem 4.8rem; }
.shift-heading p { font-size:.7rem; }
.colony-page .shift-card h3 { margin:.8rem 0 .6rem; font-size:clamp(1.45rem,1rem + 1.4vw,2rem); }
.colony-page .shift-card > p { margin-block:.4rem; font-size:.83rem; line-height:1.5; }
.shift-card .price-list { margin:1rem 0 .65rem; }
.shift-card .price-list > div { padding:.55rem 0; }
.shift-card .price-list dt { font-size:.85rem; }
.shift-card .price-list dd { font-size:1.1rem; }
.colony-page .shift-card .season-price { margin-top:.55rem; padding:.65rem; }
.shift-card .season-price dt { max-width:none; }
.shift-card .season-price dd { font-size:1.35rem; }
.colony-page .shift-card .saving-note { margin:.5rem 0 1rem; font-size:.75rem; line-height:1.5; }
.colony-page .shift-card > a:not(.season-link) { min-height:42px; padding:.6rem 1rem; font-size:.8rem; }
.colony-page .shift-card > a.season-link { min-height:36px; font-size:.72rem; margin-top:.3rem; }
.shift-planet { width:54px; height:54px; bottom:1rem; right:1rem; }.shift-planet img { width:44px; height:44px; }
.colony-page .shift-grid { background:#eeeae1; }
.colony-page .shift-card { --shift-accent:#efd12f; --shift-tint:#fffbed; border-top:4px solid var(--shift-accent); }
.colony-page .shift-card.extended { --shift-accent:#7725b8; --shift-tint:#f8f2fc; border-top:4px solid var(--shift-accent); }
.shift-card .shift-heading p { display:inline-block; padding:.3rem .6rem; background:#fff4b6; color:#34321e; border-radius:999px; }
.shift-card.extended .shift-heading p { background:#eee2f7; color:#60248c; }
.colony-page .shift-card .season-price { background:var(--shift-tint); border-color:#d9c96e; }
.colony-page .shift-card.extended .season-price { border-color:#cbb2df; }
.shift-card .saving-note strong { color:#24643e; background:#eaf5ed; padding:.1rem .25rem; border-radius:4px; }
.colony-page .shift-card > a:not(.season-link) { color:#25251f; background:#efd12f; border-color:#474323; }
.colony-page .shift-card.extended > a:not(.season-link) { color:#fff; background:#7725b8; border-color:#60208f; }
.shift-card .shift-planet { background:#22251e; outline:3px solid #f4e8a3; outline-offset:2px; }
.shift-card.extended .shift-planet { outline-color:#e5d5f2; }
@media(hover:hover) { .colony-page .shift-card > a:not(.season-link):hover { color:#25251f; background:#ffe769; }.colony-page .shift-card.extended > a:not(.season-link):hover { color:#fff; background:#622097; } }
@media(forced-colors:active) { .colony-page .shift-card,.colony-page .shift-card.extended { border:1px solid CanvasText; }.shift-card .saving-note strong { color:CanvasText; }.shift-card .shift-planet { outline-color:CanvasText; } }
.colony-page .shift-card > a:not(.season-link),.colony-page .shift-card > a.season-link { align-self:center; justify-content:center; text-align:center; }
.pricing-conditions { text-align:center; }
.colony-page .trust-section h2,.colony-page .trust-topics h3 { -webkit-text-stroke:1px #29291f; paint-order:stroke fill; }
.colony-page .trust-topics h3 { font-size:1.65rem; line-height:1.2; }
.colony-page .trust-section { background:transparent; border:0; border-radius:0; padding-inline:0; box-shadow:none; }
.colony-page .trust-topics article,.colony-page .trust-topics article:nth-child(2),.colony-page .trust-topics article:nth-child(3) { background:#fff; border:1px solid #dededb; border-radius:20px; box-shadow:0 3px 10px rgb(32 36 29 / 5%); }
.colony-page .activity-grid { gap:1.2rem; }
.colony-page .activity-grid .adventure-card { --activity-accent:#7725b8; color:#fff; background:#22221f; border:1px solid #33352e; border-radius:24px; box-shadow:0 5px 0 #111; transform:none; }
.activity-grid .adventure-card:nth-child(2) { --activity-accent:#168e3a; }.activity-grid .adventure-card:nth-child(3) { --activity-accent:#e95f2a; }.activity-grid .adventure-card:nth-child(4) { --activity-accent:#7725b8; }
.activity-grid .activity-art { border-bottom:4px solid var(--activity-accent); }
.activity-grid .activity-art > span { color:#fff; background:var(--activity-accent); padding:.45rem .65rem; border-radius:10px; letter-spacing:.04em; font-weight:800; }
.colony-page .activity-grid .activity-copy h3 { color:#efd12f; font-family:Impact,"Arial Narrow","Avenir Next Condensed",sans-serif; font-weight:800; font-size:clamp(1.45rem,1.1rem + .7vw,1.9rem); line-height:1.12; letter-spacing:.005em; text-transform:uppercase; -webkit-text-stroke:.5px #20201e; paint-order:stroke fill; text-shadow:0 2px 0 #ed6230,0 4px 0 #111; margin-bottom:1rem; }
.colony-page .activity-grid .activity-copy p { color:#f0eee6; font-size:.9rem; line-height:1.7; }
.activity-grid .activity-copy a { color:#fff; border-top:1px solid #ffffff30; font-weight:700; }
.activity-grid .activity-copy a span { color:#efd12f; }
.activity-grid .activity-copy a:focus-visible { outline-color:#efd12f; }
.location-art.location-map { display:block; min-height:0; background:#fff; transform:none; border-radius:20px; overflow:hidden; }
.location-map img { display:block; width:100%; height:auto; }
.activity-grid .activity-copy a { color:#efd12f; }
.activity-grid .activity-copy a:hover { color:#ffea72; }
#experiencias > .colony-eyebrow { display:table; padding:.5rem .85rem; border-radius:12px; background:#efd12f; color:#22221f; font-weight:800; }
.colony-page .trust-section { padding:clamp(1.5rem,3vw,3rem); margin-block:2rem; background:#245db0; color:#fff; border:1px solid #164581; border-radius:28px; gap:2.5rem; }
.trust-section > div > .colony-eyebrow { color:#fff0a3; }
.colony-page .trust-section h2,.colony-page .trust-topics h3 { color:#efd12f; font-family:Impact,"Arial Narrow","Avenir Next Condensed",sans-serif; font-weight:800; letter-spacing:.005em; text-transform:uppercase; line-height:1.12; text-shadow:0 2px 0 #ed6230,0 4px 0 #17376b; }
.colony-page .trust-section h2 { font-size:clamp(2rem,1.25rem + 2.5vw,3.5rem); }
.trust-section .section-lead,.trust-section .trust-topics p { color:#fff; }
.colony-page .trust-topics article { background:#3d379a; border:1px solid #ffffff35; box-shadow:0 3px 0 #163d7a; }
.colony-page .trust-topics article:nth-child(2) { background:#185787; }.colony-page .trust-topics article:nth-child(3) { background:#6540a1; }
.trust-section .trust-topics span { color:#fff1a7; font-weight:700; }
.colony-page .trust-topics h3 { font-size:1.65rem; line-height:1.2; }
.trust-section .colony-button { background:#efd12f; color:#20241d; border-color:#d4b92c; box-shadow:0 3px 0 #17376b; }
.trust-section a:focus-visible { outline-color:#fff; }
@media(max-width:760px) { .colony-page .trust-section { width:calc(100% - 2rem); gap:1.5rem; }.colony-page .trust-topics article { padding:1.2rem; } }
.colony-page .trust-section { background:transparent; color:#202124; border:0; border-radius:0; padding-inline:0; box-shadow:none; }
.trust-section > div > .colony-eyebrow { color:#545b54; }
.trust-section .section-lead,.trust-section .trust-topics p { color:#53584e; }
.colony-page .trust-topics article,.colony-page .trust-topics article:nth-child(2),.colony-page .trust-topics article:nth-child(3) { background:#fff; border:1px solid #dededb; border-radius:20px; box-shadow:0 3px 10px rgb(32 36 29 / 5%); }
.trust-section .trust-topics span { color:#60665e; }
.trust-section .colony-button { border-color:#474323; box-shadow:0 3px 0 #b7b8ad; }
.trust-section a:focus-visible { outline-color:#202124; }
@media(max-width:760px) { .colony-page .activity-grid .activity-copy h3 { font-size:1.45rem; } }
