@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/barlow-condensed-500.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/barlow-condensed-600.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/barlow-condensed-700.woff2") format("woff2")}
@font-face{font-family:"Barlow Condensed";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/barlow-condensed-800.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/dm-sans-400.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/dm-sans-500.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/dm-sans-600.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:700;font-display:swap;src:url("assets/fonts/dm-sans-700.woff2") format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:800;font-display:swap;src:url("assets/fonts/dm-sans-800.woff2") format("woff2")}
@font-face{font-family:"Fredoka";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/fredoka-400.woff2") format("woff2")}
@font-face{font-family:"Fredoka";font-style:normal;font-weight:500;font-display:swap;src:url("assets/fonts/fredoka-500.woff2") format("woff2")}
@font-face{font-family:"Fredoka";font-style:normal;font-weight:600;font-display:swap;src:url("assets/fonts/fredoka-600.woff2") format("woff2")}
@font-face{font-family:"Permanent Marker";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/permanent-marker-400.woff2") format("woff2")}
@font-face{font-family:"Rock Salt";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/rock-salt-400.woff2") format("woff2")}
@font-face{font-family:"Shadows Into Light";font-style:normal;font-weight:400;font-display:swap;src:url("assets/fonts/shadows-into-light-400.woff2") format("woff2")}
:root{--wp-midnight:#062638;--wp-deep-water:#0a3547;--wp-ocean:#087f97;--wp-turquoise:#00a7bd;--wp-aqua:#0fc7d7;--wp-sun:#f3b64b;--wp-sand:#f7f3ea;--wp-foam:#f8fbfb;--wp-ink:#102638;--wp-muted:#667786;--wp-soft:#e8f2f4;--deep:var(--wp-midnight);--deep-2:var(--wp-deep-water);--ink:var(--wp-ink);--teal:var(--wp-turquoise);--teal-2:var(--wp-aqua);--gold:var(--wp-sun);--sand:var(--wp-sand);--paper:#ffffff;--muted:var(--wp-muted);--soft:var(--wp-soft);--shadow:0 22px 70px rgba(5, 36, 53, .18);--radius:26px}
*{box-sizing:border-box}
html{overflow-x:clip}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 10%,rgba(0,167,189,.12),transparent 28%),radial-gradient(circle at 85% 0,rgba(243,182,75,.13),transparent 25%),linear-gradient(180deg,#071821 0,#0a1d2d 22%,#0d1c2a 52%,#101d29 100%);overflow-x:clip}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 42px));margin:0 auto}
.topbar{position:absolute;inset:0 0 auto 0;z-index:20;padding:22px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;border-radius:18px;background:rgba(9,22,31,.42);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(14px);box-shadow:0 10px 26px rgba(3,20,31,.18)}
.brand img{height:58px;width:auto;filter:drop-shadow(0 6px 12px rgba(0,0,0,.25))}
.lang-switcher{display:flex;align-items:center;gap:8px;padding:4px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.12);position:absolute;left:20px;top:18px;z-index:30}
.lang-toggle{width:34px;height:34px;border:1px solid transparent;border-radius:50%;display:grid;place-items:center;padding:0;background:rgba(255,255,255,.06);cursor:pointer;font-size:18px;opacity:.9;transition:transform .2s ease,opacity .2s ease,border-color .2s ease,box-shadow .2s ease}
.lang-toggle:hover{opacity:1;transform:translateY(-1px);border-color:rgba(255,255,255,.4);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.lang-toggle:focus-visible{outline:2px solid rgba(15,199,215,.9);outline-offset:3px}
.lang-toggle{overflow:hidden}
.lang-toggle svg{display:none;width:23px;height:23px;border-radius:50%}
.lang-toggle[data-language=en] .flag-es,.lang-toggle[data-language=es] .flag-uk{display:block}
.lang-toggle[data-language=en] svg{display:none}
.lang-toggle[data-language=en]::before{content:"";display:block;width:23px;height:23px;border-radius:50%;background:radial-gradient(ellipse at 35% 50%,#a51920 0 7%,transparent 8%),linear-gradient(180deg,#aa151b 0 25%,#f1c232 25% 75%,#aa151b 75% 100%);box-shadow:inset 0 0 0 1px rgba(20,39,44,.16)}
.navlinks{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex:1;color:#fff;font-size:13px;font-weight:800;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.25);margin-left:72px}
.navlinks>a,.navlinks>.dropdown,.navlinks>.dropdown>.dropbtn{display:inline-flex;align-items:center;line-height:1}
.dropbtn,.navlinks>a{opacity:.96;transition:.2s ease;background:0 0;border:0;color:#fff;cursor:pointer;font:inherit;text-transform:uppercase;padding:0}
.navlinks>a,.navlinks>.dropdown>.dropbtn{line-height:1}
.dropbtn:hover,.navlinks>a:hover{transform:translateY(-1px);opacity:1}
.dropdown{position:relative}
.menu{display:none;position:absolute;top:100%;left:0;min-width:260px;background:#fff;color:#173041;border-radius:14px;box-shadow:0 24px 70px rgba(8,47,66,.18);padding:8px;margin-top:12px}
.menu a{display:block;padding:11px 12px;border-radius:10px;font-size:13px;font-weight:800;text-transform:none;color:#173041}
.menu a:hover{background:#eef7f9}
.dropdown:hover .menu,.dropdown:focus-within .menu{display:block}
.hamb{display:none;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:12px;padding:10px 12px;background:rgba(255,255,255,.08)}
.hero{min-height:660px;position:relative;display:flex;align-items:center;background:linear-gradient(90deg,rgba(3,18,25,.76),rgba(6,36,48,.54)),url('assets/img/site/home-hero-fallback.jpg') center/cover no-repeat fixed;color:#fff;overflow:hidden}
.hero-video-stack{position:absolute;inset:0;z-index:0;overflow:hidden;background:#071821}.hero-video-poster{position:absolute;inset:0;z-index:0;background:url('assets/img/site/home-hero-fallback.jpg') center/cover no-repeat}
.hero-video{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.3s ease-in-out,transform 12s ease-out;filter:saturate(1.2) contrast(1.08)}.hero-video.video-failed{opacity:0!important;visibility:hidden!important}
.hero-video.is-active{opacity:1}.hero-video:not(.is-active){visibility:hidden}
.hero-video:nth-of-type(2){transform:scale(1.05)}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,25,37,.82) 0,rgba(4,40,58,.55) 45%,rgba(4,40,58,.16) 100%),linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.2));pointer-events:none}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:105px;background:linear-gradient(180deg,transparent,rgba(248,251,251,.72));pointer-events:none}
.hero-logo-wrap{position:relative;width:min(100%,620px);max-width:100%;margin:0 auto 24px;z-index:8;pointer-events:auto;align-self:center;cursor:pointer}
.hero-logo-wrap:focus-visible{outline:2px solid var(--wp-aqua);outline-offset:5px;border-radius:6px}
.hero-sticker-logo{display:block;width:100%;max-width:620px;height:auto;position:relative;z-index:1;filter:drop-shadow(0 8px 20px rgba(0,167,189,.22))}
.logo-wave-aura{position:absolute;inset:-14% -8% -10%;z-index:0;overflow:hidden;pointer-events:none}
.logo-wave-aura:after,.logo-wave-aura:before{content:"";position:absolute;left:50%;top:72%;width:116%;height:68%;border:1px solid transparent;border-top-color:rgba(15,199,215,.72);border-radius:50%;filter:drop-shadow(0 0 8px rgba(0,167,189,.55));transform:translate(-50%,-50%) rotate(-7deg) scale(.82);animation:logo-wave-ripple 5.2s ease-out infinite}
.logo-wave-aura:after{top:80%;width:92%;border-top-color:rgba(0,167,189,.5);animation-delay:2.6s}
@keyframes logo-wave-ripple{
0%{opacity:0;transform:translate(-50%,-50%) rotate(-7deg) scale(.82)}
18%{opacity:.62}
100%{opacity:0;transform:translate(-50%,-50%) rotate(-7deg) scale(1.12)}
}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:center;padding-top:32px}
.hero-grid>div{display:flex;flex-direction:column;align-items:center;justify-self:center;text-align:center;width:min(100%,680px);max-width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;box-shadow:inset 0 0 30px rgba(255,255,255,.03)}
.eyebrow:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--teal-2);box-shadow:0 0 0 6px rgba(15,199,215,.16)}
.hero h1{margin:26px 0 20px;max-width:760px;font-size:clamp(50px, 6.6vw, 88px);line-height:.96;letter-spacing:-.035em;font-weight:400;text-wrap:balance;font-family:'Shadows Into Light','Rock Salt',sans-serif}
.hero p{max-width:690px;margin:0;font-size:clamp(18px, 2vw, 26px);line-height:1.42;font-weight:650;color:rgba(255,255,255,.88)}
.hero-actions{display:flex;gap:18px;margin-top:36px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 24px;border-radius:12px;font-size:14px;font-weight:950;text-transform:uppercase;letter-spacing:.015em;transition:.25s ease;cursor:pointer;border:1px solid rgba(255,255,255,.18)}
.btn-primary{background:linear-gradient(135deg,var(--teal),#0693ac);color:#fff;box-shadow:0 20px 45px rgba(0,167,189,.35)}
.btn-ghost{color:#fff;background:rgba(255,255,255,.1);backdrop-filter:blur(10px)}
.btn:hover{transform:translateY(-3px);filter:saturate(1.06)}
.weather-card{justify-self:end;width:100%;border-radius:22px;background:rgba(7,35,52,.78);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(18px);overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.35)}
.weather-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.14);font-weight:950;text-transform:uppercase;font-size:12px}
.weather-head small{opacity:.75;text-transform:none;font-weight:800;font-size:11px}
.weather-main{padding:18px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.14)}
.temp{font-size:46px;font-weight:1000;letter-spacing:-.08em}
.weather-icon{font-size:26px;line-height:1}
.weather-state{font-weight:900;font-size:15px}
.w-row{display:flex;align-items:center;gap:13px;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.1)}
.w-row:last-child{border-bottom:0}
.w-ico{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(0,167,189,.18);color:#83f3ff;font-size:16px;font-weight:900}
.w-value{font-size:18px;font-weight:950}
.w-label{font-size:12px;color:rgba(255,255,255,.72);font-weight:750}
.camera-status-night{display:none;padding:12px 18px;background:rgba(243,182,75,.11);color:#ffe1a2;font-weight:800;font-size:12px}
.camera-status-night.show{display:block}
section{position:relative}
.section{padding:72px 0}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}
.section-title{display:flex;align-items:center;gap:13px;font-size:25px;margin:0;font-weight:1000;letter-spacing:-.03em;text-transform:uppercase}
.section-title .sq{width:15px;height:15px;border-radius:4px;background:var(--teal);box-shadow:0 0 0 7px rgba(0,167,189,.1)}
.section-sub{color:var(--muted);font-weight:700;margin:8px 0 0;max-width:640px}
.link-more{color:#057f97;font-weight:950;text-transform:uppercase;font-size:13px}
.camera-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.camera-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 16px 42px rgba(8,47,66,.12);border:1px solid rgba(8,47,66,.08);transition:.32s cubic-bezier(.2,.8,.2,1);position:relative;cursor:pointer}
.camera-card:hover{transform:translateY(-8px);box-shadow:0 26px 70px rgba(8,47,66,.2)}
.cam-media{height:230px;position:relative;overflow:hidden;background:#0d2a39}
.cam-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .35s ease}
.camera-card:hover .cam-media img{transform:scale(1.06)}
.night-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;background:linear-gradient(180deg,rgba(2,12,21,.15),rgba(2,12,21,.64)),url('assets/camera-rest.png') center/cover no-repeat;color:#fff;opacity:0;pointer-events:none;transition:.25s ease}
body.night .night-mask.auto{opacity:1;pointer-events:auto;z-index:6}
.night-mask .moon{font-size:38px;display:block;margin-bottom:10px}
.night-mask strong{display:block;font-size:20px;font-weight:1000}
.night-mask small{display:block;opacity:.86;font-weight:700;margin-top:4px}
.coming-mask{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:linear-gradient(135deg,rgba(6,38,56,.78),rgba(0,167,189,.38));color:#fff;backdrop-filter:blur(2px)}
.coming-mask strong{font-size:24px;font-weight:1000}
.coming-mask small{display:block;margin-top:5px;opacity:.88;font-weight:750}
.badge{position:absolute;left:16px;top:16px;z-index:4;display:inline-flex;align-items:center;gap:7px;color:#fff;background:#ff3e43;font-size:12px;font-weight:1000;padding:7px 10px;border-radius:999px;box-shadow:0 10px 26px rgba(0,0,0,.2)}
.badge.rest{background:rgba(6,38,56,.82)}
.badge.soon{background:rgba(243,182,75,.96);color:#1b2630}
.cam-body{padding:18px 18px 20px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}
.cam-body h3{margin:0 0 4px;font-size:17px;font-weight:1000;text-transform:uppercase}
.cam-body p{margin:0;color:var(--muted);font-size:13px;font-weight:750}
.cam-meta{text-align:right}
.cam-meta strong{display:block;font-size:16px}
.cam-meta small{color:var(--muted);font-weight:750}
.cam-action{grid-column:1/-1;margin-top:10px;display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid #edf2f4;color:#057f97;font-size:13px;font-weight:950;text-transform:uppercase}
.sponsor-strip{padding:36px 0 52px;background:linear-gradient(180deg,rgba(5,18,25,.74),rgba(7,21,30,.9)),url('https://images.unsplash.com/photo-1493558103817-58b2924bce98?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat fixed}
.logo-rail{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.logo-tile{min-height:105px;border-radius:16px;background:#fff;display:grid;place-items:center;padding:20px;box-shadow:0 12px 32px rgba(8,47,66,.1);border:1px solid rgba(8,47,66,.08);transition:.25s ease;filter:grayscale(.2);font-weight:1000}
.logo-tile:hover{transform:translateY(-5px);filter:grayscale(0);box-shadow:0 22px 48px rgba(8,47,66,.16)}
.logo-tile img{max-height:70px;object-fit:contain;margin:auto}
.logo-text{font-size:22px;letter-spacing:.03em;text-align:center}
.gold-label{color:var(--gold)}
.after-surf{background:linear-gradient(180deg,rgba(9,18,23,.8),rgba(14,24,31,.96)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat fixed;padding:76px 0;overflow:hidden}
.after-surf:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 12%,rgba(243,182,75,.23),transparent 24%),radial-gradient(circle at 15% 100%,rgba(0,167,189,.15),transparent 28%);pointer-events:none}
.promo-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:24px}
.promo-card{position:relative;min-height:330px;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(8,47,66,.18);background:#0b2738;color:#fff;transition:.35s ease;border:1px solid rgba(255,255,255,.1)}
.promo-card:hover{transform:translateY(-7px);box-shadow:0 34px 90px rgba(8,47,66,.26)}
.promo-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.88;transition:.5s ease}
.promo-card:hover img{transform:scale(1.06)}
.promo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.78))}
.promo-content{position:absolute;inset:auto 0 0 0;padding:26px;z-index:2}
.promo-kicker{display:inline-flex;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-weight:950;font-size:12px;text-transform:uppercase;margin-bottom:14px;backdrop-filter:blur(10px)}
.promo-content h3{margin:0 0 8px;font-size:28px;font-weight:1000;letter-spacing:-.04em}
.promo-content p{margin:0 0 18px;color:rgba(255,255,255,.86);font-weight:700;line-height:1.45}
.promo-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:1000;text-transform:uppercase;font-size:13px}
.promo-card.small .promo-content h3{font-size:22px}
.why-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center}
.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.benefit{display:grid;grid-template-columns:55px 1fr;gap:16px;align-items:start}
.benefit .ico{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#068aa0,#0bb7c6);color:#fff;font-size:25px;box-shadow:0 14px 34px rgba(0,167,189,.22)}
.benefit h3{margin:0 0 6px;font-size:17px;font-weight:1000}
.benefit p{margin:0;color:var(--muted);font-weight:650;line-height:1.45;font-size:14px}
.guide-card{min-height:360px;border-radius:24px;overflow:hidden;position:relative;background:url('assets/img/guide/cover.webp') center/cover no-repeat;box-shadow:var(--shadow)}
.guide-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,24,36,.78),rgba(4,24,36,.16))}
.guide-content{position:absolute;z-index:2;inset:auto 0 0 0;color:#fff;padding:34px}
.guide-content h3{font-size:33px;margin:0 0 10px;font-weight:1000}
.guide-content p{max-width:520px;margin:0 0 22px;color:rgba(255,255,255,.85);font-weight:700}
.services{background:linear-gradient(180deg,rgba(7,21,31,.82),rgba(9,20,27,.95)),url('https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat fixed}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.service-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 38px rgba(8,47,66,.1);border:1px solid rgba(8,47,66,.08);transition:.28s ease}
.service-card:hover{transform:translateY(-8px);box-shadow:0 26px 60px rgba(8,47,66,.18)}
.service-img{height:165px;overflow:hidden}
.service-img img{width:100%;height:100%;object-fit:cover;transition:.48s ease}
.service-card:hover img{transform:scale(1.08)}
.service-body{padding:18px}
.service-body h3{margin:0 0 8px;font-size:16px;text-transform:uppercase;font-weight:1000}
.service-body p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.42;font-weight:650}
.service-body a{color:#047f98;font-weight:950;font-size:13px;text-transform:uppercase}
.newsletter{background:linear-gradient(90deg,rgba(0,127,151,.95),rgba(6,38,56,.95)),url('assets/img/site/home-hero-fallback.jpg') center/cover no-repeat;color:#fff;padding:50px 0}
.newsletter-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.newsletter h2{margin:0 0 6px;font-size:32px;font-weight:1000}
.newsletter p{margin:0;color:rgba(255,255,255,.78);font-weight:700}
.signup{display:flex;gap:12px}
.signup input{flex:1;min-height:56px;border:0;border-radius:12px;padding:0 18px;font-weight:700;outline:0}
.signup button{border:0;border-radius:12px;background:#092334;color:#fff;padding:0 25px;font-weight:1000;text-transform:uppercase}
footer{background:#061e2f;color:#dcecf0;padding:52px 0 26px}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:30px}
footer h3{color:#fff;font-size:14px;text-transform:uppercase;margin:0 0 15px}
footer a,footer p{color:rgba(220,236,240,.72);font-size:14px;line-height:1.7;font-weight:650}
footer a{display:block;margin:7px 0}
.foot-brand{font-size:28px;font-weight:1000;color:#fff;text-transform:uppercase}
.foot-bottom{margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.11);color:rgba(220,236,240,.55);font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(2,10,16,.76);z-index:1000;padding:22px}
.modal.show{display:flex}
.modal-box{width:min(1080px,100%);background:#061c2a;border-radius:24px;overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.48);color:#fff;border:1px solid rgba(255,255,255,.08)}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.09)}
.modal-title{font-size:18px;font-weight:1000;text-transform:uppercase}
.close{border:0;background:rgba(255,255,255,.08);color:#fff;width:42px;height:42px;border-radius:12px;font-size:22px;cursor:pointer}
.modal-body{aspect-ratio:16/9;background:#000}
.modal-body iframe{width:100%;height:100%;border:0;display:block}
.modal-note{padding:12px 18px 16px;color:rgba(255,255,255,.72);font-size:13px;font-weight:700}
.offline-panel{height:100%;min-height:360px;display:none;place-items:center;text-align:center;padding:34px;background:linear-gradient(180deg,rgba(3,18,28,.72),rgba(3,18,28,.92)),url('assets/camera-rest.png') center/cover no-repeat}
.offline-panel.show{display:grid}
.offline-panel .moon{font-size:52px;margin-bottom:10px;display:block}
.offline-panel h3{margin:0 0 8px;font-size:30px;font-weight:1000;letter-spacing:-.03em}
.offline-panel p{margin:0;color:rgba(255,255,255,.78);font-weight:750;line-height:1.5;max-width:620px}
@media (max-width:980px){
.navlinks{display:none}
.hamb{display:block}
.lang-switcher{left:14px;top:12px}
.hero{min-height:auto;padding:125px 0 80px}
.camera-grid,.foot-grid,.hero-grid,.newsletter-grid,.promo-grid,.service-grid,.why-grid{grid-template-columns:1fr;gap:28px}
.weather-card{justify-self:stretch;max-width:420px}
.logo-rail{grid-template-columns:repeat(2,1fr)}
.benefits{grid-template-columns:1fr}
.promo-card{min-height:300px}
}
@media (max-width:560px){
.container{width:min(100% - 28px,1180px)}
.brand img{height:46px}
.lang-switcher{left:12px;top:12px}
.hero h1{font-size:48px}
.hero p{font-size:18px}
.hero-actions{flex-direction:column}
.btn{width:100%}
.cam-media{height:210px}
.section{padding:52px 0}
.section-head{display:block}
.signup{flex-direction:column}
}
.mobile-panel{position:fixed;inset:0 0 auto 0;max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;z-index:999;transform:translateY(-110%);transition:transform .28s ease;background:rgba(4,26,39,.96);backdrop-filter:blur(18px);box-shadow:0 24px 80px rgba(0,0,0,.28);padding:18px 20px 24px;border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-panel.show{transform:translateY(0)}
.mobile-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.mobile-panel img{height:38px;width:auto}
.mobile-close{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;font-size:24px;cursor:pointer}
.mobile-menu{display:grid;gap:8px}
.mobile-dropdown-link,.mobile-dropdown-toggle,.mobile-menu a{display:flex;align-items:center;justify-content:space-between;padding:15px 14px;border-radius:14px;color:#fff;background:rgba(255,255,255,.06);font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.02em}
.mobile-dropdown-toggle{width:46px;border:0;justify-content:center;cursor:pointer;font-family:inherit;border-left:1px solid rgba(255,255,255,.12);border-radius:0 14px 14px 0}
.mobile-dropdown{display:flex;flex-wrap:wrap;gap:0}
.mobile-dropdown-link{flex:1;border-radius:14px 0 0 14px}
.mobile-dropdown.is-open .mobile-dropdown-toggle{background:rgba(255,255,255,.12)}
.mobile-submenu{display:none;flex-basis:100%;gap:6px;margin:6px 0 0 12px;padding-left:10px;border-left:1px solid rgba(255,255,255,.18)}
.mobile-dropdown.is-open .mobile-submenu{display:grid}.mobile-submenu[hidden]{display:none!important}
.mobile-submenu a{padding:11px 12px;background:rgba(255,255,255,.035);font-size:11px;text-transform:none}
.mobile-menu a small{color:rgba(255,255,255,.55);font-weight:800;text-transform:none}
@media (min-width:981px) and (max-width:1180px){
.container{width:min(100% - 34px,1100px)}
.navlinks{gap:16px;font-size:12px}
.hero-grid{grid-template-columns:minmax(0,1fr) 300px;gap:34px}
.hero h1{font-size:72px}
.hero p{font-size:22px}
.weather-card{max-width:300px}
.promo-grid{grid-template-columns:1.1fr .9fr .9fr}
.service-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
.topbar{padding:16px 0}
.brand img{height:42px}
.hamb{display:block;cursor:pointer}
.hero{min-height:auto;padding:104px 0 58px;background-position:center}
.hero-grid{grid-template-columns:1fr;gap:26px;padding-top:0}
.hero h1{max-width:760px;font-size:clamp(44px, 9vw, 72px);line-height:.98;margin:22px 0 18px}
.hero p{max-width:680px;font-size:clamp(18px, 3.2vw, 24px)}
.hero-actions{margin-top:28px}
.weather-card{justify-self:start;width:min(100%,430px)}
.weather-main{padding:15px 16px}
.temp{font-size:40px}
.weather-icon{font-size:24px}
.w-row{padding:12px 16px}
.camera-grid,.foot-grid,.newsletter-grid,.promo-grid,.why-grid{grid-template-columns:1fr}
.service-grid{grid-template-columns:repeat(2,1fr)}
.logo-rail{grid-template-columns:repeat(2,1fr)}
.benefits{grid-template-columns:1fr}
.promo-card{min-height:310px}
.guide-card{min-height:330px}
.modal{padding:14px;align-items:center}
.modal-box{border-radius:18px;width:100%}
.modal-head{padding:12px 14px}
.modal-title{font-size:15px}
.close{width:38px;height:38px;border-radius:10px}
.modal-note{font-size:12px;padding:10px 14px 13px}
}
@media (max-width:640px){
.container{width:min(100% - 28px,1180px)}
.hero{padding:94px 0 52px;background-position:center top}
.hero:after{height:74px}
.eyebrow{font-size:11px;padding:8px 13px;letter-spacing:.12em}
.hero h1{font-size:43px;letter-spacing:-.055em}
.hero p{font-size:18px;line-height:1.42}
.hero-actions{flex-direction:column;gap:12px}
.btn{width:100%;min-height:54px}
.weather-card{width:100%;border-radius:18px}
.weather-head{padding:13px 14px;font-size:11px}
.weather-head small{font-size:10px}
.weather-main{grid-template-columns:auto 1fr;gap:10px}
.temp{font-size:38px}
.w-ico{width:32px;height:32px}
.w-value{font-size:17px}
.section{padding:50px 0}
.section-head{display:block;margin-bottom:22px}
.section-title{font-size:22px;line-height:1.15}
.camera-grid,.service-grid{grid-template-columns:1fr}
.cam-media{height:205px}
.cam-body{grid-template-columns:1fr}
.cam-meta{text-align:left;display:flex;gap:8px;align-items:baseline}
.logo-rail{grid-template-columns:1fr 1fr;gap:12px}
.logo-tile{min-height:88px;padding:14px}
.logo-text{font-size:17px}
.after-surf{padding:52px 0}
.promo-card{min-height:300px}
.promo-content{padding:22px}
.promo-content h3{font-size:24px}
.benefit{grid-template-columns:48px 1fr}
.benefit .ico{width:48px;height:48px;font-size:22px}
.guide-card{min-height:300px}
.guide-content{padding:24px}
.guide-content h3{font-size:28px}
.service-img{height:190px}
.newsletter{padding:42px 0}
.signup{flex-direction:column}
.signup button{min-height:54px}
footer{padding:44px 0 24px}
.foot-grid{gap:20px}
.modal{padding:0;align-items:stretch}
.modal-box{min-height:100dvh;border-radius:0;display:flex;flex-direction:column}
.modal-body{aspect-ratio:auto;flex:1;min-height:320px;display:flex}
.modal-body iframe,.modal-body video{height:100%!important;object-fit:contain}
.offline-panel{min-height:100%}
.offline-panel h3{font-size:25px}
}
@media (max-width:390px){
.hero h1{font-size:38px}
.hero p{font-size:16px}
.weather-card{font-size:14px}
.logo-rail{grid-template-columns:1fr}
}
@media (orientation:landscape) and (max-height:560px){
.hero{min-height:auto;padding:86px 0 36px}
.hero-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:24px}
.hero h1{font-size:46px;margin:14px 0 10px}
.hero p{font-size:17px}
.hero-actions{margin-top:18px}
.weather-main{padding:12px 14px}
.w-row{padding:9px 14px}
.modal-box{width:min(92vw,980px);min-height:auto;border-radius:18px}
.modal-body{max-height:calc(100vh - 112px);aspect-ratio:16/9}
}
.camera-card{display:flex;flex-direction:column;min-height:392px}
.cam-body{flex:1;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:start;min-height:162px}
.cam-body h3{min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cam-body p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cam-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid #edf2f4}
.cam-link{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:0 12px;border-radius:11px;background:#f3f9fa;color:#057f97;font-size:12px;font-weight:1000;text-transform:uppercase;transition:.2s ease}
.cam-link:hover{background:#e1f3f6;transform:translateY(-1px)}
.cam-link.primary{background:linear-gradient(135deg,var(--teal),#087d9b);color:#fff}
.eyebrow-dark{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#e8f6f8;color:#047f98;font-size:12px;font-weight:1000;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.advertise-section{background:#fff;padding:70px 0}
.ad-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;background:radial-gradient(circle at 85% 15%,rgba(0,167,189,.14),transparent 28%),linear-gradient(135deg,#f8fbfb,#eef7f9);border:1px solid rgba(8,47,66,.08);border-radius:28px;padding:36px;box-shadow:0 18px 55px rgba(8,47,66,.1)}
.ad-grid h2{margin:0 0 12px;font-size:38px;line-height:1;letter-spacing:-.045em;font-weight:1000;color:#08293d}
.ad-grid p{margin:0;color:#506575;font-size:16px;line-height:1.55;font-weight:700}
.ad-formats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ad-format{background:#fff;border:1px solid rgba(8,47,66,.08);border-radius:18px;padding:18px;box-shadow:0 12px 30px rgba(8,47,66,.08)}
.ad-format strong{display:block;color:#08293d;font-size:16px;font-weight:1000;margin-bottom:5px}
.ad-format span{color:#667786;font-size:13px;font-weight:750;line-height:1.4}
.spot-panel{width:min(1120px,100%);max-height:92vh;overflow:auto}
.spot-modal-body{background:#f6fafb;color:#102638;padding:0}
.spot-hero{position:relative;min-height:260px;color:#fff;padding:28px;display:flex;align-items:flex-end;background:linear-gradient(180deg,rgba(4,24,36,.18),rgba(4,24,36,.82)),url('assets/img/stays/capitan-suizo/capitan.webp') center/cover no-repeat}
.spot-hero.casamaderas{background-image:linear-gradient(180deg,rgba(4,24,36,.18),rgba(4,24,36,.82)),url('assets/img/stays/casa-maderas/cover.webp')}
.spot-hero h3{margin:0 0 8px;font-size:36px;line-height:1;letter-spacing:-.04em;font-weight:1000}
.spot-hero p{margin:0;color:rgba(255,255,255,.82);font-weight:750}
.spot-data{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:20px}
.spot-card{background:#fff;border:1px solid rgba(8,47,66,.08);border-radius:16px;padding:16px;box-shadow:0 10px 24px rgba(8,47,66,.07)}
.spot-card small{display:block;color:#667786;font-weight:900;text-transform:uppercase;font-size:11px;margin-bottom:8px;letter-spacing:.06em}
.spot-card strong{display:block;color:#08293d;font-size:24px;font-weight:1000;line-height:1}
.spot-card span{display:block;margin-top:6px;color:#667786;font-size:13px;font-weight:750}
.spot-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 20px 22px}
.spot-info-block{background:#fff;border:1px solid rgba(8,47,66,.08);border-radius:18px;padding:20px}
.spot-info-block h4{margin:0 0 12px;color:#08293d;font-size:17px;text-transform:uppercase;font-weight:1000}
.spot-info-block ul{margin:0;padding-left:18px;color:#526777;font-weight:700;line-height:1.65}
.spot-note{padding:0 20px 22px;color:#667786;font-size:13px;font-weight:700;line-height:1.5}
@media (max-width:980px){
.ad-grid,.spot-info-grid{grid-template-columns:1fr}
.spot-data{grid-template-columns:repeat(2,1fr)}
.cam-actions{grid-template-columns:1fr}
}
@media (max-width:640px){
.camera-card{min-height:auto}
.cam-body h3{min-height:auto}
.ad-grid{padding:24px;border-radius:22px}
.ad-grid h2{font-size:30px}
.ad-formats,.spot-data{grid-template-columns:1fr}
.spot-panel{max-height:none}
.spot-hero{min-height:220px;padding:22px}
.spot-hero h3{font-size:30px}
}
.allies-section{padding:58px 0 68px;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,.92))}
.partner-layout{display:grid;grid-template-columns:1.08fr 1.42fr;gap:22px;align-items:stretch}
.active-sponsor-card,.after-card,.partner-card{position:relative;overflow:hidden;border-radius:22px;background:#0b2738;box-shadow:0 18px 52px rgba(8,47,66,.15);border:1px solid rgba(8,47,66,.08);transition:.28s ease}
.active-sponsor-card:hover,.after-card:hover,.partner-card:hover{transform:translateY(-6px);box-shadow:0 28px 80px rgba(8,47,66,.22)}
.active-sponsor-card{min-height:420px;cursor:pointer}
.active-sponsor-card .sponsor-preview,.active-sponsor-card img,.after-card img,.partner-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:.5s ease}
.active-sponsor-card .sponsor-preview{z-index:0;opacity:0;pointer-events:none}
.active-sponsor-card.is-preview-playing .sponsor-preview{opacity:1}
.active-sponsor-card:hover img,.after-card:hover img,.partner-card:hover img{transform:scale(1.06)}
.active-sponsor-card:hover .sponsor-preview{transform:scale(1.06)}
.active-sponsor-card:after,.after-card:after,.partner-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.78));z-index:1}
.after-content,.partner-card .partner-badge,.partner-card h3,.partner-card p,.partner-overlay{position:relative;z-index:2}
.partner-overlay{position:absolute;inset:auto 0 0 0;padding:26px;color:#fff}
.partner-badge{position:absolute;top:14px;left:14px;display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:11px;font-weight:1000;text-transform:uppercase;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);z-index:3}
.partner-badge.sponsor{position:static;margin-bottom:12px;background:rgba(0,167,189,.86);border-color:rgba(255,255,255,.22)}
.partner-badge.soon{background:rgba(243,182,75,.94);color:#152535}
.partner-card h3,.partner-overlay h3{margin:0 0 6px;color:#fff;font-size:28px;font-weight:1000;letter-spacing:-.04em;text-shadow:0 2px 18px rgba(0,0,0,.32)}
.partner-card p,.partner-overlay p{margin:0 0 15px;color:rgba(255,255,255,.82);font-weight:750;line-height:1.35}
.partner-overlay a{color:#fff;font-size:13px;font-weight:1000;text-transform:uppercase}
.partner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.partner-card{min-height:200px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#fff}
.partner-card h3{font-size:22px;margin-top:auto;min-height:52px;display:flex;align-items:flex-end}
.partner-card p{margin-bottom:0;min-height:20px}
.after-surf{background:linear-gradient(135deg,#f7f1e6 0,#eef8f8 100%);padding:76px 0}
.after-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.after-card{min-height:330px;display:flex;align-items:flex-end;color:#fff}
.after-card:after{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.82))}
.after-content{width:100%;padding:24px;position:absolute;inset:auto 0 0 0}
.after-content span{display:inline-flex;padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);font-size:11px;font-weight:1000;text-transform:uppercase;margin-bottom:12px}
.after-content h3{margin:0 0 8px;font-size:25px;line-height:1.05;font-weight:1000;letter-spacing:-.035em;min-height:54px;display:flex;align-items:flex-end}
.after-content p{margin:0 0 16px;min-height:45px;color:rgba(255,255,255,.84);line-height:1.45;font-weight:750}
.after-content a{color:#fff;font-weight:1000;text-transform:uppercase;font-size:13px}
@media (max-width:980px){
.after-grid,.partner-layout{grid-template-columns:1fr}
.active-sponsor-card,.after-card{min-height:320px}
}
@media (max-width:640px){
.partner-grid{grid-template-columns:1fr}
.partner-card{min-height:220px}
.active-sponsor-card{min-height:300px}
.after-card{min-height:310px}
}
.camera-card.camera-offline .cam-media img{filter:grayscale(1) brightness(.72)}
.camera-card.camera-offline .cam-media::after{content:"Cámara temporalmente offline";position:absolute;inset:auto 16px 16px 16px;z-index:5;padding:10px 12px;border-radius:12px;background:rgba(6,30,47,.78);color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;backdrop-filter:blur(10px)}
.camera-card.camera-offline .badge{background:rgba(6,38,56,.88)}
.cam-media iframe.cam-preview{width:100%;height:100%;border:0;display:block;pointer-events:none;background:#000}
.hero{position:relative}
.brand-hidden{width:1px;height:1px;overflow:hidden}
.cam-media iframe.cam-preview{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;display:block;pointer-events:none;background:#000}
.night-mask{visibility:hidden;z-index:10}
body.night .cam-media iframe.cam-preview{opacity:0;visibility:hidden}
body.night .night-mask.auto{opacity:1;visibility:visible;pointer-events:auto;z-index:15}
.night-mask{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;background:linear-gradient(180deg,rgba(2,12,21,.2),rgba(2,12,21,.72)),url('assets/camera-rest.png') center/cover no-repeat;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:.25s ease}
.night-mask strong{position:relative;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.night-mask small{position:relative;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.night-mask{background:linear-gradient(180deg,rgba(2,12,21,.45),rgba(2,12,21,.82)),url('assets/camera-rest.png') center/cover no-repeat}
.cam-media,.modal-body{position:relative;overflow:hidden}
.cam-media .stream-watermark{position:absolute;top:5px;right:12px;z-index:40;width:92px;height:auto;opacity:.78;padding:0;border:0;background:0 0;filter:drop-shadow(0 1px 1px rgba(0,0,0,.85)) drop-shadow(0 2px 4px rgba(0,0,0,.55));pointer-events:none}
.modal-body .modal-watermark{position:absolute;top:14px;right:18px;z-index:60;width:145px;height:auto;opacity:.78;padding:0;border:0;background:0 0;filter:drop-shadow(0 1px 2px rgba(0,0,0,.85)) drop-shadow(0 3px 7px rgba(0,0,0,.55));pointer-events:none}
body.night .modal-watermark,body.night .stream-watermark{display:none}
:root{--deep:var(--wp-midnight);--deep-2:var(--wp-deep-water);--ink:var(--wp-ink);--teal:var(--wp-turquoise);--teal-2:var(--wp-aqua);--gold:var(--wp-sun);--sand:var(--wp-sand);--paper:#ffffff;--muted:var(--wp-muted);--soft:var(--wp-soft);--shadow:0 18px 52px rgba(8, 43, 58, .12);--radius:18px}
html{scroll-behavior:smooth}
body{font-family:"DM Sans",sans-serif;color:var(--ink);background:radial-gradient(ellipse at 86% 18%,rgba(92,202,190,.28),transparent 34%),radial-gradient(ellipse at 8% 66%,rgba(243,182,75,.14),transparent 30%),linear-gradient(145deg,#e8f1ed,#f8faf7 54%,#eaf3f0);background-attachment:fixed}
.foot-brand,.section-title,h1,h2,h3,h4{font-family:"Barlow Condensed",Impact,sans-serif;letter-spacing:0}
::selection{color:#fff;background:var(--wp-ocean)}
:focus-visible{outline:3px solid var(--wp-ocean);outline-offset:4px}
.topbar{padding:18px 0}
.nav{width:fit-content;margin:0 max(21px,calc((100vw - 1180px)/ 2)) 0 auto;min-height:60px;padding:6px 0;border:0;border-radius:0;background:0 0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.container.nav{width:fit-content;max-width:calc(100% - 42px)}
.navlinks{gap:15px;font-family:"Barlow Condensed","DM Sans",sans-serif;font-size:15px;font-weight:700}
.dropbtn,.navlinks>a{position:relative;padding:9px 2px;color:rgba(255,255,255,.9);font:inherit;transition:color .2s ease,opacity .2s ease}
.dropbtn::after,.navlinks>a::after{content:"";position:absolute;left:2px;right:2px;bottom:3px;height:2px;background:linear-gradient(90deg,#88e4d2,#f4c46a);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.dropbtn:hover,.navlinks>a:hover{color:#fff;transform:none}
.dropbtn:hover::after,.dropdown:focus-within .dropbtn::after,.navlinks>a:hover::after{transform:scaleX(1)}
.menu{margin-top:16px;border:1px solid rgba(255,255,255,.48);border-radius:14px;background:rgba(248,252,250,.92);box-shadow:0 18px 44px rgba(8,43,58,.18);backdrop-filter:blur(18px);text-shadow:none}
.dropdown .menu::before{position:absolute;right:0;bottom:100%;left:0;height:18px;content:""}
.topbar>.instagram-link{display:grid}
.menu a:hover{background:rgba(7,140,145,.1)}
.hamb{border-radius:10px}
.hero{min-height:min(680px,100svh);padding-bottom:56px;background-color:var(--deep)}
.hero:before{background:linear-gradient(90deg,rgba(4,28,39,.82) 0,rgba(5,39,52,.58) 48%,rgba(5,39,52,.2) 100%),linear-gradient(180deg,rgba(5,22,30,.38),rgba(5,22,30,.12) 55%,rgba(5,22,30,.32))}
.hero:after{height:116px;background:linear-gradient(180deg,transparent,rgba(244,248,246,.84));display:none}
.hero-grid { gap: 48px; padding-top: 0; transform: translateY(62px); }
.hero h1{max-width:900px;margin:24px 0 18px;font-size:82px;line-height:.91;letter-spacing:0;font-weight:800;text-transform:uppercase}
.hero p{max-width:590px;font-size:19px;line-height:1.55;font-weight:500}
.hero-location{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:13px;margin:0 auto;color:#fff}
.hero-location-name{color:#fff;font-family:'Barlow Condensed','DM Sans',sans-serif;font-size:32px;font-weight:700;line-height:1;text-shadow:0 3px 14px rgba(0,0,0,.32)}
.country-seal{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:5px 13px 5px 7px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(208,229,230,.88));color:#17343e;box-shadow:inset 0 2px 2px rgba(255,255,255,.9),inset 0 -3px 4px rgba(16,55,66,.14),0 5px 0 rgba(10,39,49,.24),0 9px 20px rgba(0,0,0,.24);backdrop-filter:blur(12px)}
.country-seal-flag{width:31px;height:22px;flex:0 0 auto;overflow:hidden;border:1px solid rgba(14,47,61,.2);border-radius:4px;background:linear-gradient(to bottom,#183f78 0 16.66%,#fff 16.66% 33.33%,#ce2335 33.33% 66.66%,#fff 66.66% 83.33%,#183f78 83.33% 100%);box-shadow:0 1px 2px rgba(9,34,46,.2)}
.country-seal-label{font-size:12px;font-weight:900;line-height:1;text-transform:uppercase}
.btn{min-height:52px;border-radius:10px;font-size:13px;letter-spacing:0;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.btn-primary{background:linear-gradient(135deg,var(--wp-ocean),var(--wp-turquoise));color:#fff;box-shadow:0 12px 30px rgba(8,127,151,.32)}
.btn-primary:hover{background:var(--wp-deep-water);box-shadow:0 16px 34px rgba(8,127,151,.4)}
.btn-ghost{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.weather-card{border:1px solid rgba(255,255,255,.28);border-radius:18px;background:linear-gradient(145deg,rgba(9,48,63,.56),rgba(8,37,51,.42));box-shadow:0 22px 58px rgba(2,18,27,.3),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(32px) saturate(155%);-webkit-backdrop-filter:blur(32px) saturate(155%)}
.weather-head{letter-spacing:.06em}
.weather-head small{letter-spacing:0}
.temp{font-family:"Barlow Condensed",Impact,sans-serif;letter-spacing:0}
.w-ico{border-radius:9px;background:rgba(141,229,223,.15);color:#a9f3ec}
.section{padding:84px 0}
.section-head{margin-bottom:32px}
.section-title{gap:14px;color:var(--deep);font-size:34px;line-height:1;font-weight:700;letter-spacing:0}
.section-title .sq{position:relative;width:12px;height:12px;flex:0 0 12px;border-radius:2px;background:var(--wp-ocean);box-shadow:none}
.section-title .sq::after,.section-title .sq::before{content:"";position:absolute;inset:0;border:1px solid var(--wp-ocean);border-radius:2px;animation:section-marker-ripple 2.4s ease-out infinite;pointer-events:none}
.section-title .sq::after{animation-delay:1.2s}
@keyframes section-marker-ripple{
from{transform:scale(1);opacity:.55}
to{transform:scale(3.5);opacity:0}
}
@media (prefers-reduced-motion:reduce){
.section-title .sq::after,.section-title .sq::before{animation:none}
}
.section-sub{color:#607782;font-size:15px;line-height:1.6;font-weight:500}
.allies-section .section-sub{max-width:none}
.link-more,.service-body a{color:#087b82}
#camaras{isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#c5e2dc,#f2f7f3 58%,#d4e9e4)}
#camaras:before{content:"";position:absolute;inset:-18% -12%;z-index:0;background:repeating-radial-gradient(ellipse at 14% 108%,transparent 0 34px,rgba(7,140,145,.11) 36px 38px,transparent 40px 70px),radial-gradient(ellipse at 82% 16%,rgba(255,255,255,.46),transparent 42%);transform:translate3d(-1.5%,0,0) scale(1.03);animation:camera-current 32s ease-in-out infinite alternate;pointer-events:none}
#camaras>.container{position:relative;z-index:1}
@keyframes camera-current{
to{transform:translate3d(1.5%,-1%,0) scale(1.06)}
}
.camera-grid{gap:18px}
.camera-card,.service-card{border:1px solid rgba(19,63,76,.09);border-radius:16px;background:rgba(255,255,255,.58);box-shadow:0 10px 30px rgba(8,43,58,.08);backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.camera-card:hover,.service-card:hover{transform:translateY(-4px);border-color:rgba(7,140,145,.25);box-shadow:0 18px 42px rgba(8,43,58,.13)}
.camera-card{min-height:388px}
.cam-media{height:238px}
.cam-body{padding:18px}
.cam-body h3,.service-body h3{color:var(--deep);font-size:23px;line-height:1.05;font-weight:700}
.cam-body p,.service-body p{font-weight:500}
.cam-actions{border-color:rgba(8,43,58,.1)}
.cam-link{border-radius:9px;background:#edf5f3;color:#087b82}
.cam-link:hover{background:#dcefeb}
.cam-link.primary{background:#078c91}
.badge{border-radius:7px;box-shadow:0 5px 18px rgba(0,0,0,.18)}
.badge.soon{background:var(--wp-sun);color:var(--wp-midnight)}
.allies-section,.sponsor-strip{padding:74px 0;background:linear-gradient(135deg,rgba(190,223,216,.68),rgba(245,247,238,.78))}
.partner-layout{gap:18px}
.active-sponsor-card,.after-card,.partner-card{border-radius:16px;box-shadow:0 14px 38px rgba(8,43,58,.12)}
.active-sponsor-card:hover,.after-card:hover,.partner-card:hover{transform:translateY(-4px)}
.partner-grid{gap:14px}
.partner-card{min-height:210px}
.partner-badge{border-radius:7px;background:rgba(8,43,58,.58)}
.partner-badge.sponsor{background:rgba(7,140,145,.88)}
.partner-card h3,.partner-overlay h3{font-family:"Barlow Condensed",Impact,sans-serif;font-size:30px;font-weight:700;letter-spacing:0}
.partner-card h3{font-size:25px}
.sponsor-site-link{display:inline-flex;padding-bottom:3px;border-bottom:1px solid rgba(255,255,255,.64)}
.after-surf{padding:84px 0;background:linear-gradient(145deg,#edf5f1 0,#e4f1ef 55%,#f8f2e9 100%)}
.after-content span,.promo-kicker{border:1px solid rgba(255,255,255,.3);border-radius:7px;background:rgba(8,43,58,.42);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.after-content h3,.promo-content h3{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;letter-spacing:0}
.after-content h3{font-size:30px}
.services{background:linear-gradient(145deg,rgba(222,239,234,.76),rgba(250,251,247,.84) 58%,rgba(233,243,239,.72))}
.service-grid{gap:16px}
.service-img{height:178px}
.service-image-link{display:block}
.service-body{padding:18px}
.service-body h3{min-height:48px}
.service-body h3 a{color:inherit;text-decoration:none}
.service-body>a{display:inline-flex;align-items:center;min-height:36px;border-bottom:1px solid rgba(7,140,145,.25)}
.why-grid{gap:54px}
.benefits{gap:28px 22px}
.benefit{grid-template-columns:48px 1fr;gap:14px}
.benefit .ico{width:48px;height:48px;border-radius:13px;background:#dff1ee;color:#087b82;font-size:21px;box-shadow:none}
.benefit h3{color:var(--deep);font-family:"Barlow Condensed",Impact,sans-serif;font-size:22px;font-weight:700}
.benefit p{color:var(--muted);font-size:14px;font-weight:500}
.guide-card{border-radius:16px;box-shadow:0 20px 50px rgba(8,43,58,.18)}
.guide-content h3{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;letter-spacing:0}
.newsletter{padding:62px 0;background:linear-gradient(105deg,rgba(7,112,121,.94),rgba(8,43,58,.94)),url('assets/img/site/home-hero-fallback.jpg') center/cover no-repeat}
.newsletter h2{font-family:"Barlow Condensed",Impact,sans-serif;font-size:40px;line-height:1;font-weight:700}
.newsletter p{max-width:460px;line-height:1.55;font-weight:500}
.newsletter-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.newsletter-signup{min-width:0}.newsletter-status{margin:10px 2px 0;color:rgba(255,255,255,.88);font-size:13px;line-height:1.45}.newsletter-status.is-error{color:#ffd0ca}.newsletter-status.is-success{color:#d8f7e6}.newsletter-status[hidden]{display:none}
.newsletter-confetti{position:fixed;inset:0;z-index:100;overflow:hidden;pointer-events:none}.newsletter-confetti-piece{position:absolute;left:var(--left);top:-18px;width:var(--size);height:calc(var(--size) * 1.8);border-radius:2px;background:var(--color);opacity:0;animation:newsletter-confetti-fall var(--duration) cubic-bezier(.18,.76,.24,1) var(--delay) forwards}@keyframes newsletter-confetti-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}12%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),110vh,0) rotate(var(--rotation))}}
.contact-request{padding:clamp(48px,7vw,84px) 0;background:linear-gradient(135deg,#dff1ee,#f4f8f4 58%,#d3e9e5)}.contact-request.has-px{background:transparent}.contact-request.has-px .px-bg{--px-img:url('assets/img/site/backgrounds/contact-sunset-surf-unsplash.webp')}.contact-request.has-px .px-bg:after{background:linear-gradient(105deg,rgba(83,15,24,.78),rgba(44,19,28,.5) 58%,rgba(5,28,38,.78))}.contact-request.has-px .contact-request-copy h2{color:#fff;text-shadow:0 3px 22px rgba(0,0,0,.55)}.contact-request.has-px .contact-request-copy p{color:rgba(255,255,255,.9);text-shadow:0 2px 14px rgba(0,0,0,.5)}
.contact-request-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,5vw,64px)}
.contact-request-copy h2{margin:0 0 14px;color:#082b3a;font:700 clamp(34px,4vw,48px)/1.02 "Barlow Condensed",Impact,sans-serif}
.contact-request-copy p{max-width:440px;margin:0;color:#405d66;font-size:16px;line-height:1.65}
.contact-request-form{display:grid;gap:10px;padding:clamp(20px,3vw,30px);border:1px solid rgba(8,43,58,.12);border-radius:16px;background:rgba(255,255,255,.88);box-shadow:0 18px 44px rgba(8,43,58,.12)}
.contact-request-form label{margin-top:4px;color:#173b47;font-size:14px;font-weight:750}
.contact-request-form input,.contact-request-form textarea{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(8,43,58,.22);border-radius:9px;background:#fff;color:#173b47;font:500 15px/1.5 "DM Sans",sans-serif}
.contact-request-form textarea{min-height:132px;resize:vertical}
.contact-request-form input:focus-visible,.contact-request-form textarea:focus-visible{outline:3px solid rgba(8,127,135,.3);border-color:#087f87}
.contact-request-form button{min-height:48px;margin-top:8px;padding:12px 18px;border:0;border-radius:9px;background:#087f87;color:#fff;cursor:pointer;font:750 15px "DM Sans",sans-serif;transition:background .2s ease,transform .2s ease}
.contact-request-form button:hover{background:#075e6b;transform:translateY(-1px)}
.contact-request-form button:focus-visible{outline:3px solid #f3b64b;outline-offset:3px}
.contact-request-note,.contact-request-error{margin:0;color:#526a70;font-size:13px;line-height:1.5}
.contact-request-error{color:#9b2c2c;font-weight:700}
@media(max-width:720px){.contact-request-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.contact-request-form button{transition:none}}
.request-flow{background:linear-gradient(145deg,#e4f2ef,#f5f8f5 58%,#d7eae5)}.request-flow.has-px{background:transparent}.request-flow.has-px .px-bg{--px-img:url('assets/img/site/backgrounds/request-sunset-surfer.webp')}.request-flow.has-px .px-bg:after{background:linear-gradient(180deg,rgba(83,15,24,.76),rgba(44,19,28,.5) 52%,rgba(5,28,38,.8))}.request-flow.has-px .request-flow-card{background:rgba(255,255,255,.91);box-shadow:0 16px 38px rgba(25,6,13,.24)}
.request-flow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.request-flow-card{display:flex;min-height:230px;flex-direction:column;align-items:flex-start;padding:clamp(20px,2.6vw,30px);border:1px solid rgba(8,43,58,.12);border-radius:14px;background:rgba(255,255,255,.86);box-shadow:0 14px 34px rgba(8,43,58,.08)}
.request-flow-number{color:#087f87;font:700 16px/1 "Barlow Condensed",Impact,sans-serif;letter-spacing:.12em}
.request-flow-card h3{margin:18px 0 8px;color:#082b3a;font:700 25px/1.05 "Barlow Condensed",Impact,sans-serif}
.request-flow-card p{flex:1;margin:0 0 18px;color:#405d66;font-size:14px;line-height:1.6}
.request-flow-card a{color:#087f87;font-size:14px;font-weight:750;text-decoration-thickness:1px;text-underline-offset:3px}
.request-flow-card a:focus-visible,.faq-list summary:focus-visible{outline:3px solid #087f87;outline-offset:4px}
.faq-section{background:#f5f8f6}.faq-section.has-px{background:transparent}.faq-section.has-px .px-bg{--px-img:url('assets/img/site/backgrounds/faq-waves.webp')}.faq-section.has-px .px-bg:after{background:linear-gradient(180deg,rgba(3,24,34,.72),rgba(3,24,34,.54) 48%,rgba(3,24,34,.76))}.faq-section.has-px .faq-list details{background:rgba(255,255,255,.91);box-shadow:0 12px 30px rgba(2,18,27,.22)}
.faq-list{display:grid;max-width:900px;gap:12px;margin:0 auto}
.faq-list details{padding:18px 22px;border:1px solid rgba(8,43,58,.12);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(8,43,58,.06)}
.faq-list summary{color:#082b3a;cursor:pointer;font-size:16px;font-weight:750;line-height:1.4}
.faq-list details p{margin:12px 0 0;color:#405d66;font-size:14px;line-height:1.65}
@media(max-width:820px){.request-flow-grid{grid-template-columns:1fr}.request-flow-card{min-height:0}}
.signup{padding:6px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(255,255,255,.12);backdrop-filter:blur(14px)}
.signup input{min-height:48px;border-radius:8px;background:rgba(255,255,255,.94);color:#000}
.signup input::placeholder{color:#000;opacity:1}
.signup button{min-height:48px;border-radius:8px;background:var(--wp-ocean);color:#fff}
footer{padding:62px 0 28px;background:#082b3a}
.foot-brand{font-size:32px;font-weight:700}
footer h3{font-family:"Barlow Condensed",Impact,sans-serif;font-size:20px;font-weight:700}
footer a,footer p{font-size:13px;font-weight:500}
footer a:hover{color:#a9f3ec}
.foot-bottom{border-color:rgba(255,255,255,.15)}
.modal{background:rgba(4,22,30,.78);backdrop-filter:blur(10px)}
.modal-box{border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(7,34,47,.96)}
.modal-title,.offline-panel h3{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;letter-spacing:0}
.spot-modal-body{background:#f0f6f3}
.spot-card,.spot-info-block{border-color:rgba(19,63,76,.1);border-radius:12px;box-shadow:0 8px 22px rgba(8,43,58,.06)}
.spot-card strong,.spot-info-block h4{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700;letter-spacing:0}
.ad-grid{border-color:rgba(7,140,145,.12);border-radius:18px;background:linear-gradient(135deg,rgba(228,241,238,.9),rgba(255,255,255,.9));box-shadow:0 16px 42px rgba(8,43,58,.08)}
.ad-grid h2{font-family:"Barlow Condensed",Impact,sans-serif;font-size:44px;line-height:.98;font-weight:700;letter-spacing:0}
.ad-format{border-color:rgba(19,63,76,.1);border-radius:12px;box-shadow:0 8px 22px rgba(8,43,58,.06)}
.ad-format strong{font-family:"Barlow Condensed",Impact,sans-serif;font-size:20px;font-weight:700}
@media (max-width:1180px){
.hero h1{font-size:72px}
.hero-grid{gap:34px}
}
@media (max-width:980px){
.topbar{padding:14px 0}
.nav{min-height:0;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.container.nav{width:46px;min-width:46px}
.hamb{display:grid;width:46px;height:46px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.34);border-radius:13px;background:rgba(8,43,58,.56);box-shadow:0 8px 24px rgba(4,26,37,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:20px}
.hero{min-height:auto;padding:116px 0 68px}
.hero-grid{padding-top:0;gap:28px}
.hero h1{max-width:680px;font-size:64px;line-height:.94}
.hero p{max-width:620px;font-size:18px}
.weather-card{width:min(100%,430px)}
.section{padding:68px 0}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.partner-layout{grid-template-columns:1fr 1.2fr}
.why-grid{gap:34px}
.foot-grid{gap:24px}
}
@media (max-width:640px){
.container{width:min(100% - 28px,1180px)}
.hero{padding:94px 0 48px}
.hero:after{height:80px}
.hero h1{max-width:560px;font-size:52px;line-height:.96}
.hero p{font-size:17px}
.hero-actions{gap:10px}
.hero-location{margin-top:105px}
.section{padding:56px 0}
.section-title{font-size:29px}
.section-head{margin-bottom:24px}
.section-head .link-more{display:inline-flex;margin-top:14px}
.after-grid,.camera-grid,.foot-grid,.newsletter-grid,.partner-grid,.partner-layout,.service-grid,.why-grid{grid-template-columns:1fr}
.camera-card{min-height:auto}
.cam-media{height:210px}
.service-img{height:200px}
.partner-card{min-height:230px}
.active-sponsor-card,.after-card{min-height:300px}
.newsletter{padding:46px 0}
.signup{padding:7px}
.signup button,.signup input{width:100%}
.foot-grid{gap:22px}
}
@media (max-width:390px){
.hero h1{font-size:46px}
.hero p{font-size:16px}
.section-title{font-size:27px}
}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,:after,:before{transition-duration:NaNs!important}
#camaras:before{animation:none}
}
body{background:#f1f5f3}
.container.nav{width:fit-content;max-width:calc(100% - 42px)}
.brand{display:flex;align-items:center}
.brand img{height:44px;filter:none}
.navlinks{gap:20px;font-size:14px;font-weight:700;text-transform:none}
.dropbtn,.navlinks>a{letter-spacing:0;text-transform:none}
.hero h1{font-size:78px;line-height:.98;text-transform:none}
.hero-location{align-self:flex-start;justify-content:flex-start;gap:9px;padding:7px 11px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(6,38,56,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:hero-location-float 7.5s ease-in-out infinite}
.hero-location-name{color:rgba(255,255,255,.92);font-size:18px;font-weight:600;text-shadow:0 2px 10px rgba(0,0,0,.22)}
.country-seal{min-height:0;gap:7px;padding:0;border:0;border-radius:0;background:0 0;color:rgba(255,255,255,.82);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.country-seal-flag{width:19px;height:13px;border-radius:2px}
.country-seal-label{color:rgba(255,255,255,.82);font-size:10px;font-weight:600;text-transform:none}
.weather-card{position:relative;z-index:3;transform:translate3d(var(--weather-drag-x,0),var(--weather-drag-y,0),0);background:radial-gradient(ellipse at 88% 0,rgba(0,167,189,.2),transparent 42%),linear-gradient(145deg,rgba(239,251,255,.24),rgba(8,37,51,.48));border-color:rgba(229,250,255,.38);box-shadow:0 20px 52px rgba(2,18,27,.24),inset 0 1px rgba(255,255,255,.3);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);animation:weather-window-drift 7s ease-in-out infinite}
.weather-card.is-dragging{z-index:6;animation-play-state:paused;transition:none}
.weather-card:not(.is-dragging){transition:transform .35s cubic-bezier(.22,1.2,.35,1),box-shadow .25s ease,border-color .25s ease}
.weather-card:not(.is-dragging):hover{border-color:rgba(229,250,255,.58);box-shadow:0 24px 60px rgba(2,18,27,.3),inset 0 1px rgba(255,255,255,.34)}
.weather-head{cursor:grab;touch-action:none;user-select:none}
.weather-head:active{cursor:grabbing}
.weather-head:focus-visible{outline:2px solid var(--wp-aqua);outline-offset:-4px}
.section-title{font-size:38px;line-height:1.04;text-transform:none}
.cam-body h3,.service-body h3{font-size:24px;text-transform:none}
.after-content h3,.partner-card h3,.partner-overlay h3,.promo-content h3{text-transform:none}
.btn,.cam-link,.service-body a{font-weight:700;text-transform:none}
.btn-primary{background:linear-gradient(135deg,var(--wp-ocean),var(--wp-turquoise));color:#fff;box-shadow:0 10px 24px rgba(8,127,151,.28)}
.btn-primary:hover{background:var(--wp-deep-water);box-shadow:0 14px 30px rgba(8,127,151,.36)}
.camera-card,.service-card{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}
.camera-card{box-shadow:0 8px 24px rgba(8,43,58,.07)}
.service-card{box-shadow:0 8px 24px rgba(8,43,58,.06)}
footer h3{text-transform:none}
@media (max-width:980px){
.brand{display:none}
.hero-grid>div{justify-self:center}
.hero-location{align-self:center;justify-content:center}
.hero-logo-wrap{width:min(100%,470px)}
.hero-location{margin-top:0}
.weather-card{justify-self:center}
.hero h1{font-size:62px;line-height:1}
}
@media (max-width:640px){
.hero-logo-wrap{width:min(88vw,420px);margin-bottom:22px}
.hero-location{margin-top:0}
.hero-location-name{font-size:16px}
.country-seal-label{font-size:9px}
.hero h1{max-width:100%;font-size:clamp(42px, 11vw, 50px);line-height:1.02}
.section-title{font-size:32px}
}
.weather-card{border:1px solid rgba(231,249,247,.34);border-radius:20px;background:linear-gradient(145deg,rgba(225,246,242,.23),rgba(6,33,47,.34));box-shadow:0 18px 48px rgba(2,18,27,.2),inset 0 1px rgba(255,255,255,.22);backdrop-filter:blur(20px) saturate(145%);-webkit-backdrop-filter:blur(20px) saturate(145%)}
.partner-card-link{position:absolute;inset:0;z-index:2}
.partner-card h3,.partner-card p{pointer-events:none}
.partner-card .partner-badge{position:absolute;inset:14px auto auto 14px;display:inline-flex;width:max-content;max-width:calc(100% - 28px);align-self:flex-start;z-index:4;white-space:nowrap}
.partner-card .partner-badge:hover{filter:brightness(1.08)}
.partner-card:focus-within{outline:3px solid var(--wp-ocean);outline-offset:3px}
.weather-head{min-height:52px;padding:13px 18px;border-color:rgba(255,255,255,.2)}
.weather-head small{color:rgba(255,255,255,.78)}
.weather-main{min-height:104px;padding:16px 20px;grid-template-columns:1fr 1.25fr;gap:16px;border-color:rgba(255,255,255,.18)}
.temp{font-size:54px;line-height:.9}
.weather-main>div:last-child{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px}
.weather-icon{grid-row:1;position:relative;display:grid;width:72px;height:72px;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:radial-gradient(circle at 68% 26%,#ffe6a0 0 15%,transparent 16%),linear-gradient(160deg,#5fb6c4,#0d5267 75%);font-size:38px;filter:drop-shadow(0 5px 10px rgba(0, 0, 0, .16));box-shadow:inset 0 1px 10px rgba(255,255,255,.2),0 8px 20px rgba(0,0,0,.2);animation:weather-float 3.2s ease-in-out infinite}
.weather-icon img{display:block;width:100%;height:100%;object-fit:contain}
.weather-icon[data-condition=clouds]{background:radial-gradient(circle at 72% 24%,rgba(255,255,255,.68) 0 14%,transparent 15%),linear-gradient(160deg,#9ccbd0,#366c7d 75%)}
.weather-icon[data-condition=rain]{background:repeating-linear-gradient(112deg,transparent 0 12px,rgba(219,246,246,.32) 13px 14px,transparent 15px 22px),linear-gradient(160deg,#618e9b,#193f59 78%)}
.weather-icon[data-condition=storm]{background:linear-gradient(155deg,#687887,#243949 78%)}
.weather-icon[data-condition=mist]{background:repeating-linear-gradient(0deg,transparent 0 10px,rgba(238,248,245,.32) 11px 13px,transparent 14px 20px),linear-gradient(155deg,#9ab8b8,#416a76)}
.weather-icon[data-condition=night]{background:radial-gradient(circle at 68% 27%,#f4da91 0 15%,transparent 16%),radial-gradient(circle at 24% 72%,rgba(178,230,230,.32) 0 2px,transparent 3px),linear-gradient(155deg,#344c74,#09243c 80%)}
.weather-state{font-size:14px;line-height:1.2}
.weather-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:10px 12px 12px}
.w-row{display:grid;justify-items:center;gap:5px;padding:7px 5px 5px;border:0;border-right:1px solid rgba(255,255,255,.17);text-align:center}
.w-row:last-child{border-right:0}
.w-ico{width:30px;height:30px}
.w-value{font-size:18px;line-height:1.1}
.w-row:last-child .w-value{font-size:16px;white-space:nowrap}
.w-label{font-size:10px;line-height:1.2}
@keyframes weather-float{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-4px)}
}
@keyframes weather-sun{
0%,100%{transform:rotate(-5deg) scale(1)}
50%{transform:rotate(5deg) scale(1.06)}
}
@keyframes weather-clouds{
0%,100%{transform:translateX(0)}
50%{transform:translateX(3px)}
}
@keyframes weather-mist{
0%,100%{transform:translateX(-2px);opacity:.8}
50%{transform:translateX(2px);opacity:1}
}
@keyframes weather-rain{
0%,100%{transform:translateY(-1px)}
50%{transform:translateY(3px)}
}
@keyframes weather-storm{
0%,100%,88%{filter:drop-shadow(0 5px 10px rgba(0, 0, 0, .16))}
90%{filter:drop-shadow(0 0 12px rgba(255, 230, 125, .9))}
}
@keyframes weather-night{
0%,100%{transform:scale(1);opacity:.86}
50%{transform:scale(1.08);opacity:1}
}
@media (max-width:640px){
.weather-card{width:min(100%,390px)}
.weather-main{grid-template-columns:.8fr 1.2fr;padding:14px 16px}
.temp{font-size:50px}
.weather-icon{width:68px;height:68px}
.weather-icon svg{width:58px;height:47px}
.weather-main>div:last-child{grid-template-columns:68px minmax(0,1fr)}
.weather-head{min-height:48px;padding:12px 15px}
.weather-list{padding:8px 9px 10px}
.w-row{padding-inline:3px}
.w-value{font-size:17px}
.w-row:last-child .w-value{font-size:16px}
.w-label{font-size:9px}
}
@media (max-width:480px){
.weather-main{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;padding-inline:12px}
.weather-main>div:last-child{grid-template-columns:62px minmax(0,1fr);gap:7px}
.weather-icon{width:62px;height:62px}
.weather-icon svg{width:54px;height:44px}
.weather-state{font-size:13px}
.weather-list{padding-inline:6px}
.w-row:last-child .w-value,.w-value{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
.hero-location,.weather-card,.weather-icon{animation:none!important}
}
@keyframes hero-location-float{
0%,100%{transform:translateY(0) rotate(0)}
50%{transform:translateY(-3px) rotate(.35deg)}
}
@keyframes weather-window-drift{
0%,100%{translate:0 0}
50%{translate:0 -5px}
}
.topbar{position:fixed;inset:0 0 auto}
.social-link{position:absolute;left:70px;top:18px;z-index:30;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(8,43,58,.48);color:#fff;box-shadow:0 8px 24px rgba(3,20,31,.18);backdrop-filter:blur(14px);transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
.social-link svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.social-link .instagram-dot{fill:currentColor;stroke:none}
.social-link:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.55);background:rgba(8,43,58,.72)}
html{scroll-padding-top:0}
@media (max-width:980px){
.instagram-link{left:62px;top:12px}
html{scroll-padding-top:62px}
}
.camera-card,.service-card{border:1px solid rgba(11,63,77,.14);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(8,43,58,.09)}
.camera-card:hover,.service-card:hover{border-color:rgba(7,140,145,.42);box-shadow:0 22px 48px rgba(8,43,58,.16)}
.camera-card{min-height:400px}
.cam-media{height:244px;background:#07384a}
.cam-body{min-height:156px;align-items:start}
.cam-body h3,.service-body h3{font-family:"Barlow Condensed",Impact,sans-serif;font-weight:700}
.cam-meta{padding-top:2px}
.cam-actions{align-self:end}
.badge{top:14px;left:14px;border-radius:6px}
.service-card{display:flex;min-height:370px;flex-direction:column}
.service-image-link{flex:0 0 184px}
.service-img{height:184px}
.service-body{display:flex;flex:1;flex-direction:column;padding:20px}
.service-body h3{min-height:0;margin-bottom:10px;font-size:50px;line-height:1.02}
.service-body p{margin-bottom:18px}
.service-body>a{align-self:flex-start;margin-top:auto}
.active-sponsor-card,.after-card,.guide-card,.partner-card,.promo-card{border-radius:12px}
.after-card,.partner-card{box-shadow:0 14px 34px rgba(8,43,58,.15)}
.after-card:hover,.partner-card:hover{box-shadow:0 22px 48px rgba(8,43,58,.22)}
.partner-card .partner-badge{border-radius:6px}
.after-content{padding:26px}
.after-content h3{font-size:32px;line-height:1}
@media (max-width:980px){
.instagram-link{left:62px;top:12px}
.hero-grid{transform:none}
.service-card{min-height:0}
}
@media (max-width:560px){
.instagram-link{left:60px;top:12px}
.cam-media{height:220px}
}
#aliados,#guia,#servicios,.after-surf,.newsletter{isolation:isolate}
#aliados::before,#guia::before,#servicios::before,.after-surf::before,.newsletter::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none}
#servicios::before{inset:0;opacity:.58;background:repeating-linear-gradient(118deg,transparent 0 42px,rgba(7,123,130,.14) 43px 46px,transparent 47px 86px);background-size:180px 180px;animation:service-tide 34s linear infinite}
#guia::before{opacity:.62;background:repeating-radial-gradient(ellipse at 8% 90%,transparent 0 38px,rgba(7,123,130,.13) 39px 41px,transparent 42px 74px);background-size:108% 108%;background-repeat:no-repeat;animation:guide-contours 28s ease-in-out infinite alternate}
#aliados::before{opacity:.76;background:linear-gradient(112deg,transparent 22%,rgba(255,255,255,.62) 48%,transparent 72%);background-size:220% 100%;animation:ally-reflection 19s ease-in-out infinite}
.after-surf::before{z-index:0;opacity:.9;background-image:repeating-radial-gradient(ellipse at 92% 78%,transparent 0 36px,rgba(7,123,130,.15) 37px 40px,transparent 41px 72px),radial-gradient(ellipse at 76% 12%,rgba(243,182,75,.34),transparent 30%),radial-gradient(ellipse at 12% 88%,rgba(0,167,189,.28),transparent 36%);background-size:175% 175%;animation:after-surf-drift 30s ease-in-out infinite alternate}
.newsletter::before{opacity:.58;background:linear-gradient(112deg,transparent 18%,rgba(202,249,237,.5) 42%,transparent 62%);background-size:220% 100%;animation:newsletter-glint 16s ease-in-out infinite}
#aliados>.container,#guia>.container,#servicios>.container,.after-surf>.container,.newsletter>.container{position:relative;z-index:1}
@keyframes service-tide{
to{background-position:180px 90px}
}
@keyframes guide-contours{
to{background-position:100% 100%}
}
@keyframes ally-reflection{
0%,12%{background-position:100% 0}
100%,78%{background-position:0 0}
}
@keyframes after-surf-drift{
to{background-position:100% 100%}
}
@keyframes newsletter-glint{
0%,18%{background-position:100% 0}
100%,82%{background-position:0 0}
}
@media (prefers-reduced-motion:reduce){
#aliados::before,#guia::before,#servicios::before,.after-surf::before,.newsletter::before{animation:none}
}
.scroll-reveal{opacity:0;transform:translate3d(var(--reveal-x,-28px),0,0);transition:opacity .42s ease,transform .42s cubic-bezier(.2, .75, .25, 1);transition-delay:var(--reveal-delay, 0ms)}
.scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
.camera-card.scroll-reveal.is-visible:hover,.service-card.scroll-reveal.is-visible:hover{transform:translateY(-8px)}
.promo-card.scroll-reveal.is-visible:hover{transform:translateY(-7px)}
.active-sponsor-card.scroll-reveal.is-visible:hover,.after-card.scroll-reveal.is-visible:hover,.partner-card.scroll-reveal.is-visible:hover{transform:translateY(-4px)}
.hero-logo-wrap.is-arriving{animation:logo-wave-arrive 1.25s cubic-bezier(.2,.8,.25,1) both;transform-origin:center bottom}
@keyframes logo-wave-arrive{
0%{opacity:0;transform:translate3d(0,28px,0) scale(.9) rotate(-3deg)}
48%{opacity:1;transform:translate3d(0,-8px,0) scale(1.02) rotate(1.5deg)}
74%{transform:translate3d(0,3px,0) scale(.99) rotate(-.5deg)}
100%{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0)}
}
@media (prefers-reduced-motion:reduce){
.scroll-reveal,.scroll-reveal.is-visible{opacity:1;transform:none;transition:none}
.hero-logo-wrap.is-arriving,.logo-wave-aura::after,.logo-wave-aura::before{animation:none}
}
.hero-logo-wrap.is-user-replay{animation:logo-wave-arrive .85s cubic-bezier(.2,.8,.25,1) both;transform-origin:center bottom}
html{height:100%;background:#071c28;color-scheme:dark;overscroll-behavior:none!important}body{min-height:100vh;background:#071c28;overscroll-behavior:none!important}
#camaras{background:linear-gradient(135deg,#0a3443,#0d4650 56%,#092c3b)}
#camaras:before{background:repeating-radial-gradient(ellipse at 14% 108%,transparent 0 34px,rgba(139,235,224,.11) 36px 38px,transparent 40px 70px),radial-gradient(ellipse at 82% 16%,rgba(195,245,234,.12),transparent 42%)}
#aliados .section-title,#camaras .section-title,#guia .section-title,#servicios .section-title,.after-surf .section-title{color:#f3fbf7}
#aliados .section-sub,#camaras .section-sub,#guia .section-sub,#servicios .section-sub,.after-surf .section-sub{color:rgba(228,244,239,.76)}
.camera-card,.service-card{border-color:rgba(192,225,218,.24);background:linear-gradient(155deg,#e8f1ed,#f6f8f2 62%,#dfece8);box-shadow:0 16px 36px rgba(1,18,26,.28)}
.camera-card:hover,.service-card:hover{box-shadow:0 24px 52px rgba(1,18,26,.4)}
#servicios{background:linear-gradient(135deg,#123943,#17464a 52%,#0e303e)}
#servicios::before{opacity:.3}
#guia{background:linear-gradient(145deg,#092b3a,#0d4149 58%,#102f3b)}
#guia::before{opacity:.28}
.benefit h3{color:#f1faf6}
.benefit p{color:rgba(229,244,239,.72)}
.benefit .ico{background:rgba(109,207,193,.16);color:#9be5d8;border:1px solid rgba(155,229,216,.22)}
.allies-section{background:linear-gradient(145deg,#103941,#0a2d3b 52%,#174347)}
#aliados::before{opacity:.2}
.after-surf{background:linear-gradient(145deg,#0b2f3d,#123e45 52%,#092b3a)}
.after-card{color:#fff;text-decoration:none}
.after-card-cta{display:inline-flex;align-items:center;gap:10px;color:#c9fff0;font-weight:700}
.after-card-cta::after{content:"↗";transition:transform .2s ease}
.after-card:hover .after-card-cta::after{transform:translate(3px,-3px)}
.after-card:focus-visible{outline:3px solid #8be8d7;outline-offset:4px}
@media (prefers-reduced-motion:reduce){
.scroll-reveal,.scroll-reveal.is-visible{transform:none}
}
.after-card{display:block;overflow:hidden}
.after-card-cta{border-bottom:1px solid rgba(201,255,240,.5);padding-bottom:4px}
.whatsapp-float{position:fixed;z-index:1000;right:82px;bottom:20px;display:flex;align-items:center;justify-content:center;width:auto;height:36px;min-height:36px;padding:0;gap:0;border:0;background:0 0;color:#25d366;box-shadow:none;text-decoration:none;overflow:visible;transition:transform .2s ease,opacity .2s ease}
.whatsapp-float span{display:none;min-width:0}
.whatsapp-float:focus-visible,.whatsapp-float:hover{justify-content:flex-start;gap:9px}
.whatsapp-float:hover{transform:translateY(-3px);opacity:.92}
.whatsapp-float:focus-visible span,.whatsapp-float:hover span{display:block}
.whatsapp-float svg{width:42px;height:42px;flex:0 0 42px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 8px rgba(0, 20, 17, .42))}
.whatsapp-float small{display:none}
.whatsapp-float strong{color:#fff;font-size:13px;line-height:1.25;white-space:nowrap;text-shadow:0 2px 8px rgba(0,20,17,.65)}
.assistant-launcher{position:fixed;z-index:1002;right:18px;bottom:20px;display:grid;width:56px;height:56px;place-items:center;border:1px solid rgba(228,255,251,.55);border-radius:50%;background:linear-gradient(145deg,#15b6a4,#087f8d);color:#fff;box-shadow:0 14px 36px rgba(0,20,30,.34);cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}
.assistant-launcher:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 42px rgba(0,20,30,.42)}
.assistant-launcher svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.assistant-close:focus-visible,.assistant-form button:focus-visible,.assistant-launcher:focus-visible{outline:3px solid #f5bd60;outline-offset:3px}
.assistant-greeting{position:fixed;z-index:1002;right:20px;bottom:88px;display:flex;align-items:start;gap:8px;width:min(250px,calc(100vw - 36px));padding:13px 13px 13px 15px;border:1px solid rgba(255,255,255,.72);border-radius:16px 16px 4px 16px;background:#f5fbf8;color:#123943;box-shadow:0 14px 38px rgba(0,20,30,.2);font-size:13px;line-height:1.4;animation:assistant-greeting-in .55s cubic-bezier(.2,.8,.2,1) both}
.assistant-greeting{display:none}
.assistant-greeting::after{content:"";position:absolute;right:17px;bottom:-7px;width:13px;height:13px;border-right:1px solid rgba(255,255,255,.72);border-bottom:1px solid rgba(255,255,255,.72);background:#f5fbf8;transform:rotate(45deg)}
.assistant-greeting button{flex:0 0 auto;margin:-5px -5px 0 0;padding:0 4px;border:0;background:0 0;color:#54727a;font-size:20px;line-height:1;cursor:pointer}
.assistant-greeting.is-dismissed{display:none}
.assistant-panel{position:fixed;z-index:1001;right:18px;bottom:90px;display:grid;grid-template-rows:auto minmax(120px,1fr) auto auto auto;width:min(390px,calc(100vw - 28px));height:min(560px,calc(100dvh - 132px));min-height:360px;overflow:hidden;border:1px solid rgba(193,237,226,.3);border-radius:16px;background:#f1f7f3;color:#123943;box-shadow:0 24px 80px rgba(0,15,24,.42)}
.assistant-panel[hidden]{display:none}
.assistant-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;background:linear-gradient(115deg,#0a3443,#087b82);color:#fff}
.assistant-header small{display:block;color:rgba(231,255,249,.72);font-size:9px;font-weight:700;letter-spacing:.08em}
.assistant-header h2{margin:3px 0 0;font-family:"Barlow Condensed",Impact,sans-serif;font-size:26px;line-height:1;font-weight:700}
.assistant-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:22px;cursor:pointer}
.assistant-messages{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:17px 14px}
.assistant-message{max-width:88%;margin:0;padding:10px 12px;border-radius:13px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.assistant-message-bot{align-self:start;border:1px solid rgba(10,71,79,.09);border-bottom-left-radius:4px;background:#fff;color:#173e49}
.assistant-message-user{align-self:end;border-bottom-right-radius:4px;background:#d1eee5;color:#123943}
.assistant-pending{animation:assistant-pulse 1.1s ease-in-out infinite alternate}
.assistant-suggestions{display:flex;gap:7px;overflow-x:auto;padding:10px 13px;border-top:1px solid rgba(12,63,72,.08)}
.assistant-suggestions button{flex:0 0 auto;min-height:32px;padding:0 11px;border:1px solid rgba(8,123,130,.22);border-radius:999px;background:#e5f2ed;color:#12626a;font:600 11px "DM Sans",sans-serif;cursor:pointer}
.assistant-suggestions button:hover{background:#d2e9e0}
.assistant-form{display:flex;align-items:center;gap:8px;padding:11px 12px;border-top:1px solid rgba(12,63,72,.1);background:#f8fbf9}
.assistant-form input{width:100%;min-width:0;min-height:42px;padding:0 12px;border:1px solid rgba(12,63,72,.16);border-radius:9px;background:#fff;color:#173e49;font:13px "DM Sans",sans-serif}
.assistant-form input:focus{outline:2px solid #26a99c;outline-offset:1px}
.assistant-form button{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border:0;border-radius:9px;background:#087f8d;color:#fff;cursor:pointer}
.assistant-form button:disabled{opacity:.5;cursor:wait}
.assistant-form button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.assistant-disclaimer{margin:0;padding:0 14px 12px;background:#f8fbf9;color:#647a7c;font-size:10px;line-height:1.4}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
@keyframes assistant-greeting-in{
from{opacity:0;transform:translate3d(20px,8px,0) scale(.96)}
to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes assistant-pulse{
to{opacity:.55}
}
@keyframes menu-cue{
0%,100%{opacity:.55;transform:translate(-2px,-50%)}
50%{opacity:1;transform:translate(3px,-50%)}
}
@media (max-width:560px){
.site-footer{padding-bottom:108px}
.whatsapp-float{right:82px;bottom:16px;height:40px;min-height:40px}
.whatsapp-float svg{width:38px;height:38px;flex-basis:38px}
.whatsapp-float strong{font-size:12px}
.assistant-launcher{right:16px;bottom:16px;width:52px;height:52px}
.assistant-greeting{right:16px;bottom:78px;width:min(240px,calc(100vw - 32px))}
.assistant-panel{right:10px;bottom:78px;width:calc(100vw - 20px);height:min(560px,calc(100dvh - 100px));min-height:320px}
}
@media (max-width:980px){
html{overflow-x:clip}
.hero{padding-top:88px}
.container.nav{margin-right:14px}
.hamb{position:relative}
.hamb::before{content:"››";position:absolute;top:50%;right:calc(100% + 11px);color:rgba(255,255,255,.78);font-size:19px;font-weight:500;letter-spacing:-3px;white-space:nowrap;transform:translateY(-50%);animation:menu-cue 1.8s ease-in-out infinite;pointer-events:none}
.nav{border:0;background:0 0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
}
@media (max-width:980px){
.services-watermark{grid-column:1/-1;width:min(62%,280px);min-height:260px}
}
@media (max-width:640px){
.services-watermark{grid-column:1;width:min(72vw,230px);min-height:180px;margin:8px auto 0}
.hero{padding-top:50px;padding-bottom:24px;background-attachment:scroll;background-position:center 58%}
.hero-video{object-position:center 58%;transition:none}.hero-video-poster{background-position:center 58%}
.hero-grid{gap:16px}
.hero-logo-wrap{width:min(100%,360px);margin-bottom:8px}
.hero-location{margin-top:0}
.hero h1{margin:12px 0 10px;font-size:clamp(38px, 10vw, 42px);line-height:.98}
.hero p{font-size:16px;line-height:1.35}
.hero-actions{flex-direction:row;flex-wrap:nowrap;gap:8px;margin-top:14px}
.hero-actions .btn{width:auto;min-width:0;min-height:48px;flex:1 1 0;padding:0 6px;font-size:13px;line-height:1.15;white-space:nowrap}
.hero-actions .btn-primary{flex-grow:1.2}
.hero-actions .btn-ghost{flex-grow:.8}
.weather-head{padding:7px 12px}
.weather-main{min-height:76px;padding:6px 12px;grid-template-columns:.85fr 1.15fr;gap:9px}
.weather-main>div:last-child{grid-template-columns:54px minmax(0,1fr);gap:7px}
.weather-icon{width:54px;height:54px;font-size:30px}
.temp{font-size:46px}
.w-row{padding:5px 12px}
.weather-card{border-radius:16px}
.after-surf,.services,.sponsor-strip{background-attachment:scroll}
}
@media (max-width:380px){
.hero{padding-top:58px;padding-bottom:16px}
.hero-logo-wrap{width:min(100%,320px)}
.hero h1{margin:9px 0 7px;font-size:36px}
.hero p{font-size:15px;line-height:1.3}
.weather-head{min-height:46px;padding:7px 11px}
.weather-main{min-height:76px;padding:6px 11px}
.weather-main>div:last-child{grid-template-columns:52px minmax(0,1fr)}
.weather-icon{width:52px;height:52px;font-size:29px}
.w-row{padding:5px 11px}
.w-ico{width:29px;height:29px}
}
@media (prefers-reduced-motion:reduce){
.assistant-greeting,.assistant-pending{animation:none}
.hamb::before{animation:none}
}
.local-guide-page,.service-page{min-height:100vh;background:#071c28;color:#eef8f4}
.service-topbar{min-height:60px}
.service-back-link{position:absolute;top:28px;left:126px;z-index:30;color:rgba(242,252,248,.9);font:700 16px "Barlow Condensed",sans-serif;transition:color .2s ease}
.service-back-link:hover{color:#98ead9}
.service-page-hero{position:relative;isolation:isolate;display:flex;min-height:min(620px,76svh);align-items:end;overflow:hidden;padding:150px 0 68px;background:linear-gradient(90deg,rgba(3,22,31,.86),rgba(4,36,45,.5) 58%,rgba(6,40,48,.3)),url('assets/img/site/home-hero-fallback.jpg') center 42%/cover no-repeat}
.service-page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,24,33,.3),transparent 65%)}
.service-page-hero-content{width:min(100% - 42px,850px);max-width:850px;margin-left:max(21px,calc((100vw - 1180px)/ 2))}
.service-page-kicker{margin:0 0 15px;color:#99e5d8;font:700 12px "DM Sans",sans-serif;letter-spacing:.1em}
.service-page-hero h1{max-width:800px;margin:0;color:#f5fbf8;font:700 clamp(54px, 7vw, 82px)/.98 "Barlow Condensed",Impact,sans-serif;overflow-wrap:anywhere}
.service-page-intro{max-width:630px;margin:18px 0 25px;color:rgba(241,250,247,.82);font-size:17px;line-height:1.55}
.service-page-cta{display:inline-flex;min-height:48px;align-items:center;padding:0 18px;border:1px solid rgba(179,244,225,.32);border-radius:7px;background:#0b7f80;color:#fff;font-size:14px;font-weight:700;transition:transform .2s ease,background .2s ease}
.service-page-cta:hover{transform:translateY(-2px);background:#0d9991}
.guide-page-list,.service-page-list{padding:66px 0 86px;background:linear-gradient(145deg,#092c3b,#123e45 55%,#0a2c3c)}
.service-page-heading{max-width:690px;margin-bottom:28px}
.service-page-heading h2{margin:0;color:#f1faf6;font:700 44px/1.08 "Barlow Condensed",Impact,sans-serif;overflow-wrap:anywhere}
.service-offerings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.service-offering{display:grid;grid-template-columns:.86fr 1.14fr;min-height:220px;overflow:hidden;border:1px solid rgba(186,231,220,.18);border-radius:10px;background:linear-gradient(145deg,rgba(221,240,233,.12),rgba(10,43,55,.8));color:#eef8f4;text-decoration:none;transition:transform .25s ease,border-color .25s ease,background .25s ease}
.guide-offering:hover,.service-offering:hover{transform:translateY(-3px);border-color:rgba(151,230,211,.52);background-color:rgba(17,74,78,.45)}
.service-offering img{width:100%;height:100%;min-height:220px;object-fit:cover}
.service-offering div{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:21px 20px}
.guide-offering span,.service-offering span{color:#9ce8d7;font:700 10px "DM Sans",sans-serif;letter-spacing:.08em}
.guide-offering h3,.service-offering h3{margin:9px 0 7px;color:#f6fbf8;font:700 27px/1.08 "Barlow Condensed",Impact,sans-serif;overflow-wrap:anywhere}
.guide-offering p,.service-offering p{margin:0 0 16px;color:rgba(231,245,239,.73);font-size:13px;line-height:1.5}
.guide-offering strong,.service-offering strong{margin-top:auto;color:#b8f0e1;font-size:12px}
.guide-page-hero{background-image:linear-gradient(90deg,rgba(3,22,31,.82),rgba(4,36,45,.47) 58%,rgba(6,40,48,.26)),url('assets/img/stays/capitan-suizo/cover.webp')}
.guide-page-list{background:linear-gradient(140deg,#0b3542,#173f44 58%,#0a2c3b)}
.guide-offerings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.guide-offering{display:flex;flex-direction:column;overflow:hidden;min-height:390px;border:1px solid rgba(186,231,220,.18);border-radius:10px;background:linear-gradient(145deg,rgba(221,240,233,.12),rgba(10,43,55,.8));color:#eef8f4;text-decoration:none;transition:transform .25s ease,border-color .25s ease}
.guide-offering img{width:100%;height:190px;object-fit:cover}
.guide-offering div{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;padding:19px}
.guide-original-content{margin-top:0;padding:74px max(28px,calc((100% - 1180px)/ 2)) 86px;background:linear-gradient(145deg,#092c3b,#123e45 55%,#0a2c3c)}
.guide-detail-heading{max-width:820px;margin-bottom:28px}
.guide-detail-heading h2{margin:0 0 12px;color:#f1faf6;font:700 48px/1.08 "Barlow Condensed",Impact,sans-serif;overflow-wrap:anywhere}
.guide-detail-heading>p:last-child{margin:0;color:rgba(231,245,239,.78);font-size:16px;line-height:1.7}
.guide-glossary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:54px}
.guide-glossary a{display:flex;flex-direction:column;gap:7px;min-height:118px;padding:16px;border:1px solid rgba(186,231,220,.18);border-radius:12px;background:rgba(221,240,233,.07);color:#eef8f4;transition:transform .2s ease,border-color .2s ease,background .2s ease}
.guide-glossary a:hover{transform:translateY(-3px);border-color:rgba(151,230,211,.52);background:rgba(17,74,78,.45)}
.guide-glossary strong{color:#f6fbf8;font:700 22px/1 "Barlow Condensed",Impact,sans-serif}
.guide-glossary span{color:rgba(231,245,239,.68);font-size:12px;line-height:1.45}
.guide-detail-category{scroll-margin-top:28px;max-width:850px;margin:0 0 18px}
.guide-detail-category h3{margin:0 0 8px;color:#f1faf6;font:700 38px/1.08 "Barlow Condensed",Impact,sans-serif;overflow-wrap:anywhere}
.guide-detail-category>p:last-child{margin:0;color:rgba(231,245,239,.72);font-size:14px;line-height:1.6}
.guide-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 54px}
.guide-detail-card{display:grid;grid-template-columns:170px minmax(0,1fr);overflow:hidden;border:1px solid rgba(186,231,220,.18);border-radius:14px;background:linear-gradient(145deg,rgba(221,240,233,.1),rgba(10,43,55,.78));color:#eef8f4;box-shadow:0 12px 24px rgba(0,0,0,.12)}
.guide-detail-card-text-only{grid-column:1/-1;grid-template-columns:minmax(0,1fr)}
.guide-detail-card img{width:100%;height:100%;min-height:300px;object-fit:cover}
.guide-detail-card>div{min-width:0;padding:19px}
.guide-detail-card h4{margin:0 0 8px;color:#f6fbf8;font:700 27px/1.08 "Barlow Condensed",Impact,sans-serif;overflow-wrap:anywhere}
.guide-detail-card p{margin:0 0 14px;color:rgba(231,245,239,.76);font-size:12px;line-height:1.55}
.guide-detail-card ul{display:grid;gap:7px;margin:0 0 14px;padding-left:17px;color:rgba(231,245,239,.72);font-size:11px;line-height:1.45}
.guide-detail-card li strong{color:#c3f2e5}
.guide-detail-card a{color:#b8f0e1;font-size:12px;font-weight:800}
.guide-practical{margin-top:18px;padding:22px 22px 12px;border:1px solid rgba(186,231,220,.16);border-radius:18px;background:linear-gradient(180deg,rgba(221,240,233,.08),rgba(10,43,55,.78))}
.guide-practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.guide-tip-card{min-height:100%}
.guide-tip-card h4{margin-bottom:8px}
.guide-tip-card ul{margin-bottom:0}
.guide-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 8px;padding:18px 20px;border:1px solid rgba(186,231,220,.18);border-radius:14px;background:rgba(11,55,64,.8)}
.guide-callout p{margin:0;color:rgba(239,251,247,.9);font-size:14px;line-height:1.5}
.guide-callout-actions{display:flex;flex-wrap:wrap;gap:10px}
.guide-callout-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:1px solid rgba(179,244,225,.35);border-radius:999px;background:rgba(7,140,138,.24);color:#f5fff9;font-size:12px;font-weight:700;text-decoration:none}
.guide-callout-actions a:last-child{background:rgba(143,255,224,.08)}
.service-page-footer{padding:24px 0 96px;border-top:1px solid rgba(220,244,236,.12);background:#061a26}
.service-page-footer .container{display:flex;justify-content:space-between;gap:16px}
.service-page-footer a{color:rgba(235,249,244,.75);font-size:13px}
.service-page-footer a:hover{color:#9ce8d7}
@media (max-width:980px){
.service-page-hero{min-height:500px}
.service-offerings{grid-template-columns:1fr}
.guide-offerings{grid-template-columns:repeat(2,minmax(0,1fr))}
.guide-glossary{grid-template-columns:repeat(2,minmax(0,1fr))}
.guide-detail-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
.service-back-link{top:25px;left:112px;font-size:14px}
.service-page-hero{min-height:500px;padding:124px 0 48px;background-position:center}
.service-page-hero-content{margin:0 auto}
.service-page-hero h1{font-size:54px}
.service-page-intro{font-size:15px}
.guide-page-list,.service-page-list{padding:46px 0 64px}
.service-page-heading h2{font-size:36px}
.service-offering{grid-template-columns:1fr}
.service-offering img{height:190px;min-height:190px}
.service-offering div{min-height:190px}
.guide-offerings{grid-template-columns:1fr}
.guide-offering{min-height:0}
.guide-offering img{height:205px}
.guide-original-content{padding:52px 28px 64px}
.guide-detail-heading h2{font-size:38px}
.guide-glossary{grid-template-columns:1fr;margin-bottom:44px}
.guide-practical-grid{grid-template-columns:1fr}
.guide-callout{flex-direction:column;align-items:flex-start}
.guide-detail-category h3{font-size:32px}
.guide-detail-card{grid-template-columns:1fr}
.guide-detail-card img{height:205px;min-height:0}
.service-page-footer .container{flex-direction:column}
}
.weather-card{width:min(100%,348px);border-radius:20px;background:radial-gradient(circle at 88% 0,rgba(15,199,215,.24),transparent 38%),linear-gradient(145deg,rgba(8,49,64,.74),rgba(5,29,43,.78));border-color:rgba(224,251,251,.34);box-shadow:0 26px 64px rgba(1,16,26,.34),inset 0 1px rgba(255,255,255,.2)}
.weather-head{min-height:52px;padding:13px 16px 12px;border-bottom-color:rgba(227,250,250,.15)}
.weather-heading{display:inline-flex;align-items:center;gap:8px}
.weather-live-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#8df4df;box-shadow:0 0 0 4px rgba(141,244,223,.14),0 0 15px rgba(141,244,223,.7)}
.weather-head>div>span:last-child{color:rgba(239,255,251,.92);font-size:11px;font-weight:800;letter-spacing:.11em}
.weather-head small{color:rgba(226,247,244,.68);font-size:10px}
.weather-main{min-height:142px;padding:18px 16px 16px;grid-template-columns:1fr 1.12fr;gap:10px;border-bottom-color:rgba(227,250,250,.15)}
.weather-temp-block{align-self:center}
.weather-place{margin-bottom:3px;color:rgba(211,242,239,.64);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.temp{color:#f8fffc;font-size:70px;line-height:.86;text-shadow:0 4px 18px rgba(0,0,0,.18)}
.temp-unit{color:#9fe8df;font-size:.48em;vertical-align:top;letter-spacing:0}
.weather-condition{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;align-items:center;min-width:0}
.weather-icon{width:74px;height:74px;border:1px solid rgba(232,255,251,.26);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.weather-state{color:#f0fffb;font-size:14px;line-height:1.15;font-weight:700}
.weather-list{display:grid;grid-template-columns:repeat(3,1fr);padding:10px 12px 12px;gap:7px}
.w-row{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:8px 7px 7px;border:1px solid rgba(224,251,251,.13);border-radius:12px;background:rgba(255,255,255,.065)}
.w-row:last-child{border-bottom:1px solid rgba(224,251,251,.13)}
.w-ico{width:25px;height:25px;border-radius:8px;background:rgba(141,244,223,.14);color:#a9f3ec;font-size:14px}
.w-value{color:#f4fffc;font-size:17px;line-height:1;font-weight:800;white-space:nowrap}
.w-value small{margin-left:2px;color:rgba(220,248,241,.68);font-size:9px;font-weight:700}
.w-label{margin-top:3px;color:rgba(226,247,244,.66);font-size:10px;line-height:1.1;font-weight:600}
.camera-status-night{margin:0 12px 12px;padding:9px 10px;border:1px solid rgba(243,182,75,.2);border-radius:10px;background:rgba(243,182,75,.1);color:#ffe1a2;font-size:10px;line-height:1.35}
@media (max-width:980px){
.weather-card{width:min(100%,430px)}
}
@media (max-width:640px){
.weather-card{width:100%}
.weather-head{min-height:47px;padding:11px 13px 10px}
.weather-main{min-height:128px;padding:15px 13px 14px;grid-template-columns:.9fr 1.1fr}
.temp{font-size:62px}
.weather-condition{grid-template-columns:62px minmax(0,1fr);gap:8px}
.weather-icon{width:62px;height:62px}
.weather-list{padding:9px 10px 10px;gap:5px}
.w-row{padding:7px 6px 6px}
.w-value{font-size:15px}
.w-label{font-size:9px}
}
@media (max-width:380px){
.weather-main{grid-template-columns:.82fr 1.18fr;padding-inline:11px}
.temp{font-size:56px}
.weather-condition{grid-template-columns:54px minmax(0,1fr)}
.weather-icon{width:54px;height:54px}
.weather-state{font-size:12px}
.weather-list{padding-inline:8px}
.w-value{font-size:14px}
}
.weather-condition{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-width:0;padding-left:3px}
.weather-icon{flex:0 0 auto;width:66px;height:66px}
.weather-state{display:block;min-width:0;max-width:100%;color:#f0fffb;font-size:13px;line-height:1.15;overflow-wrap:anywhere;text-align:left}
.weather-place{white-space:nowrap}
@media (max-width:640px){
.weather-condition{gap:6px;padding-left:0}
.weather-icon{width:58px;height:58px}
.weather-state{font-size:12px}
}
@media (max-width:380px){
.weather-icon{width:52px;height:52px}
.weather-state{font-size:11px}
}
.weather-main>.weather-condition{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;min-width:0;padding-left:3px}
.weather-main>.weather-condition .weather-state{min-width:0;width:100%;max-width:100%;overflow-wrap:anywhere;white-space:normal}
@media (max-width:640px){
.weather-main>.weather-condition{gap:6px;padding-left:0}
}
.weather-main>.weather-condition{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;column-gap:7px;row-gap:0;padding-left:0}
.weather-main>.weather-condition .weather-icon{width:52px;height:52px;margin-left:-5px}
.weather-main>.weather-condition .weather-icon img{display:block;width:54px;height:44px;object-fit:contain}
.weather-main>.weather-condition .weather-wave-icon img{display:block;width:24px;height:24px;object-fit:contain}
.weather-main>.weather-condition .weather-state{width:auto;min-width:0;max-width:none;overflow-wrap:anywhere;text-align:left}
@media (max-width:640px){
.weather-main>.weather-condition{grid-template-columns:48px minmax(0,1fr);column-gap:6px}
.weather-main>.weather-condition .weather-icon{width:48px;height:48px;margin-left:-4px}
.weather-main>.weather-condition .weather-icon img{width:44px;height:40px}
}
.weather-main>.weather-condition{grid-template-columns:62px minmax(0,1fr);column-gap:8px}
.weather-main>.weather-condition .weather-icon{width:62px;height:62px;margin-left:0}
.weather-main>.weather-condition .weather-icon svg{display:block;width:54px;height:44px}
.weather-list .w-value{font-size:18px}
.weather-list .w-row:last-child .w-value{font-size:17px}
@media (max-width:640px){
.weather-main>.weather-condition{grid-template-columns:58px minmax(0,1fr);column-gap:6px}
.weather-main>.weather-condition .weather-icon{width:58px;height:58px}
.weather-list .w-value{font-size:17px}
}
@media (max-width:380px){
.weather-main>.weather-condition{grid-template-columns:54px minmax(0,1fr)}
.weather-main>.weather-condition .weather-icon{width:54px;height:54px}
.weather-list .w-row:last-child .w-value,.weather-list .w-value{font-size:16px}
}
.collaborator-page:not(.about-page){--collab-cover:url("assets/img/stays/red-door/cover.webp");min-height:100vh;color:#f5fbf8;background-color:#082b3a;background-image:linear-gradient(180deg,#071f2b,#082b3a);background-position:center;background-size:cover;background-attachment:scroll}
.collaborator-page.collaborator-red-door{--collab-cover:url("assets/img/stays/red-door/cover.webp")}
.collaborator-page.collaborator-capitan-suizo{--collab-cover:url("assets/img/stays/capitan-suizo/cover.webp")}
.collaborator-page.collaborator-casa-maderas{--collab-cover:url("assets/img/stays/casa-maderas/cover.webp")}
.collaborator-page.collaborator-occidental{--collab-cover:url("assets/img/stays/occidental/cover.webp")}
.collab-nav{position:absolute;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 42px));margin:0 auto;padding:24px 0;color:#fff}
.collab-nav nav{display:flex;gap:22px;font-size:13px;font-weight:700}
.collab-nav a{color:inherit}
.collab-back{font-weight:800}
.collab-nav a:hover{color:#9ce8d7}
.collab-hero{position:relative;display:flex;align-items:end;min-height:min(680px,88svh);padding:150px 0 74px;overflow:hidden;color:#f5fbf8;background-color:#082b3a;background-image:linear-gradient(90deg,rgba(3,22,31,.88),rgba(4,44,54,.58) 62%,rgba(4,44,54,.24)),var(--collab-cover);background-position:center,center;background-size:100% 100%,cover;background-repeat:no-repeat}
.collab-hero::after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(0deg,rgba(4,31,42,.88),transparent);pointer-events:none}
.collab-hero-inner{position:relative;z-index:1;width:min(100% - 42px,780px);max-width:780px;margin-left:max(21px,calc((100vw - 1180px)/ 2));margin-right:auto}
.collab-kicker,.collab-label{color:#9ce8d7;font-size:12px;font-weight:800;letter-spacing:.12em}
.collab-hero h1{max-width:740px;margin:14px 0 18px;font-family:"Barlow Condensed",Impact,sans-serif;font-size:clamp(48px, 6.8vw, 82px);line-height:.98;font-weight:700;letter-spacing:0;text-wrap:balance}
.collab-intro{max-width:610px;margin:0 0 28px;color:rgba(245,252,249,.84);font-size:18px;line-height:1.5}
.collab-content{padding:48px 0 82px;background:0 0}
.collab-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:30px;align-items:start}
.collab-layout article{max-width:680px;padding:clamp(24px,3vw,40px);border:1px solid rgba(173,232,222,.2);border-radius:18px;background:rgba(5,30,40,.78);box-shadow:0 18px 48px rgba(1,17,24,.24);backdrop-filter:blur(14px)}
.collab-layout article p:not(.collab-label){margin:0 0 22px;color:rgba(239,249,246,.88);font-size:17px;line-height:1.72}
.collab-label{margin:0 0 18px;color:#9ce8d7}
.collab-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.collab-gallery img{display:block;width:100%;height:190px;box-sizing:border-box;padding:0;border:0;border-radius:8px;object-fit:cover;object-position:center;background:0 0;box-shadow:none}
.collab-gallery img:first-child{grid-column:1/-1;height:270px}
.collaborator-casa-maderas .collab-gallery img:first-child,.collaborator-occidental .collab-gallery img:first-child{grid-column:auto;height:190px}
@media (max-width:760px){
.collab-nav{width:calc(100% - 28px);padding:18px 0}
.collab-nav nav{gap:11px;font-size:11px}
.collab-hero{min-height:560px;padding:250px 0 60px;background-position:center,center;background-size:100% 100%,cover}
.collab-hero-inner{margin:0 auto}
.collab-hero h1{font-size:clamp(48px, 12vw, 62px)}
.collab-intro{font-size:16px}
.collab-layout{grid-template-columns:1fr;gap:34px}
.collab-content{padding:56px 0 70px}
}
@media (max-width:640px){
.collaborator-page:not(.about-page){background-attachment:scroll}
.collab-gallery img:first-child{height:clamp(210px,58vw,290px)}
.collab-gallery img:not(:first-child){height:170px}
.collaborator-occidental .collab-gallery img:first-child{height:170px}
}
.collaborator-page:not(.about-page) .collab-content{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,rgba(3,24,34,.88),rgba(5,48,57,.68)),var(--collab-cover) center/cover no-repeat}
.collaborator-page:not(.about-page) .collab-content::before{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,22,31,.12),rgba(3,22,31,.52));content:""}
.collaborator-page:not(.about-page) .collab-layout{position:relative;display:flex;flex-direction:column;gap:30px}
.collaborator-page:not(.about-page) .collab-layout article{position:relative;z-index:1;order:2;width:100%;max-width:none;margin:0;border-color:rgba(193,244,232,.34);border-radius:22px;background:rgba(5,30,40,.46);box-shadow:0 24px 70px rgba(1,17,24,.32),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(18px) saturate(1.12);-webkit-backdrop-filter:blur(18px) saturate(1.12)}
.collaborator-page:not(.about-page) .collab-gallery{position:relative;z-index:1;order:1;width:100%;margin:0;padding:0;gap:16px}
.collaborator-page:not(.about-page) .collab-gallery img{cursor:zoom-in;border:1px solid rgba(218,255,244,.3);border-radius:14px;box-shadow:0 18px 44px rgba(1,17,24,.3);filter:saturate(.94) brightness(.86);transition:filter .22s ease,transform .22s ease,outline-color .22s ease}
.collaborator-page:not(.about-page) .collab-gallery img:focus-visible,.collaborator-page:not(.about-page) .collab-gallery img:hover{filter:saturate(1.04) brightness(1.02);outline:2px solid #9ce8d7;outline-offset:-2px;transform:translateY(-2px)}
.collab-floating-brand{position:fixed;z-index:1001;right:116px;bottom:90px;display:flex;align-items:center;justify-content:center;width:168px;min-height:74px;padding:0;border:0;background:0 0;box-shadow:none;transition:transform .22s ease}
.collab-floating-brand::after,.collab-floating-brand::before{position:absolute;left:50%;top:72%;width:116%;height:74%;border:1px solid transparent;border-top-color:rgba(15,199,215,.72);border-radius:50%;filter:drop-shadow(0 0 8px rgba(0, 167, 189, .55));transform:translate(-50%,-50%) rotate(-7deg) scale(.82);animation:logo-wave-ripple 5.2s ease-out infinite;content:"";pointer-events:none}
.collab-floating-brand::after{top:80%;width:92%;border-top-color:rgba(0,167,189,.5);animation-delay:2.6s}
.collab-floating-brand:hover{transform:translateY(-3px)}
.collab-floating-brand img{position:relative;z-index:1;display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0, 167, 189, .22))}
.service-page-footer{padding:14px 0 28px;border-top-color:rgba(220,244,236,.18);background:rgba(4,25,35,.88)}
.service-page-footer .container{width:min(calc(100% - 42px),760px);justify-content:center}
.collab-footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px}
.collab-footer-links a{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(193,244,232,.2);border-radius:999px;background:rgba(12,70,76,.32);color:rgba(235,249,244,.86);font-size:12px;font-weight:800;text-decoration:none}
.collab-footer-links a:hover{border-color:rgba(156,232,215,.62);color:#a9f3ec;background:rgba(12,100,102,.42)}
@media (max-width:760px){
.collaborator-page:not(.about-page) .collab-layout article{width:100%}
.collaborator-page:not(.about-page) .collab-gallery{width:100%;margin:18px 0 0}
.collab-floating-brand{right:124px;bottom:78px;width:136px;min-height:60px}
}
.allies-ticker{padding:24px 0 28px;overflow:hidden;background:#082b3a;color:#f4fbf8}
.allies-ticker-head{position:relative;z-index:1}
.allies-ticker .section-head,.allies-ticker-head .section-sub{margin-bottom:10px}
.allies-ticker .section-title{margin-bottom:3px;color:#f4fbf8;font-size:clamp(24px, 3vw, 34px)}
.allies-ticker .section-sub{max-width:760px;color:rgba(234,247,242,.7);font-size:13px}
.allies-ticker .sq{background:#48d7c1}
.allies-ticker-viewport{width:100%;max-width:1200px;margin-inline:auto;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.allies-ticker-track{display:flex;width:max-content;animation:allies-slide-left 26s linear infinite;will-change:transform}
.allies-ticker-set{display:flex;gap:12px;padding-right:12px}
.ally-tile{display:flex;align-items:center;gap:10px;width:194px;height:74px;padding:8px 12px 8px 8px;flex:0 0 auto;border:1px solid rgba(160,231,216,.2);border-radius:12px;background:rgba(255,255,255,.1);color:#f4fbf8;transition:background .2s ease}
.ally-tile:hover{background:rgba(255,255,255,.18)}
.ally-tile img{width:58px;height:58px;flex:0 0 58px;border-radius:9px;object-fit:cover}
.ally-tile span{display:grid;min-width:0;gap:3px}
.ally-tile strong{display:block;overflow:visible;font-family:"Barlow Condensed",Impact,sans-serif;font-size:20px;line-height:.95;white-space:normal;overflow-wrap:normal}
.ally-tile small{color:#a0e7d8;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ally-sponsor{border-color:rgba(255,208,106,.45)}
.ally-sponsor small{color:#ffd477}
@keyframes allies-slide-left{
from{transform:translateX(0)}
to{transform:translateX(-50%)}
}
@media (max-width:640px){
.allies-ticker{padding:20px 0 24px}
.ally-tile{width:170px;height:66px}
.ally-tile img{width:50px;height:50px;flex-basis:50px}
.ally-tile strong{font-size:18px}
}
.ally-tile{width:224px;height:88px;padding:9px 14px 9px 9px}
.ally-tile img{width:70px;height:70px;flex-basis:70px}
.ally-tile strong{font-size:22px}
.ally-tile small{font-size:11px}
@media (max-width:640px){
.ally-tile{width:194px;height:76px;padding:8px 12px 8px 8px}
.ally-tile img{width:58px;height:58px;flex-basis:58px}
.ally-tile strong{font-size:20px}
}
.allies-ticker{padding:30px 0;background:linear-gradient(112deg,#0b303b,#0d3c43 55%,#123844)}
.allies-ticker-viewport{mask-image:none;-webkit-mask-image:none}
.allies-ticker-track{animation-duration:20s;touch-action:pan-y;cursor:grab}
.allies-ticker-resist{position:relative;left:0;display:flex;width:max-content;transition:left .42s cubic-bezier(.2, .75, .25, 1)}
.allies-ticker.is-dragging .allies-ticker-track{cursor:grabbing}
.allies-ticker.is-dragging .allies-ticker-resist{transition:none}
.ally-tile img{pointer-events:none;user-select:none;-webkit-user-drag:none}
.allies-ticker-set{align-items:center;gap:14px;padding-right:14px}
.ally-heading-tile{display:grid;flex:0 0 300px;align-content:center;min-height:104px;padding:8px 12px}
.ally-heading-marker{width:34px;height:3px;margin-bottom:10px;border-radius:2px;background:#55ddc4}
.ally-heading-tile h2{margin:0;color:#f4fbf8;font:700 34px/1 "Barlow Condensed",Impact,sans-serif}
.ally-heading-tile p{max-width:290px;margin:8px 0 0;color:rgba(234,247,242,.72);font-size:12px;line-height:1.4}
.ally-tile{width:244px;height:104px;gap:13px;padding:9px;border:0;border-radius:13px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.07));box-shadow:inset 0 1px rgba(255,255,255,.16),0 10px 24px rgba(0,0,0,.12)}
.ally-tile:hover{background:linear-gradient(135deg,rgba(255,255,255,.21),rgba(255,255,255,.1))}
.ally-tile img{width:86px;height:86px;flex-basis:86px;border-radius:9px}
.ally-tile strong{font-size:23px;line-height:1}
.ally-tile small{font-size:10px}
.ally-sponsor{background:linear-gradient(135deg,rgba(255,212,128,.17),rgba(255,255,255,.07))}
.ally-sponsor:hover{background:linear-gradient(135deg,rgba(255,212,128,.23),rgba(255,255,255,.1))}
@media (max-width:640px){
.allies-ticker{padding:22px 0}
.allies-ticker-set{gap:10px;padding-right:10px}
.ally-heading-tile{flex-basis:248px;min-height:90px;padding-inline:8px}
.ally-heading-tile h2{font-size:29px}
.ally-heading-tile p{font-size:11px}
.ally-tile{width:218px;height:90px;gap:11px;padding:8px}
.ally-tile img{width:72px;height:72px;flex-basis:72px}
.ally-tile strong{font-size:21px}
}
@media (prefers-reduced-motion:reduce){
.allies-ticker-track{animation-duration:48s}
}
.service-offerings-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-offerings-catalog .service-offering{min-height:236px}
.service-offerings-catalog .service-offering img{min-height:236px}
.service-page-heading .service-page-intro{max-width:720px;margin:14px 0 0}
.detail-hero{position:relative;isolation:isolate;display:flex;min-height:min(590px,74svh);align-items:end;overflow:hidden;padding:150px 0 72px;background:linear-gradient(90deg,rgba(3,22,31,.9),rgba(4,36,45,.54) 62%,rgba(6,40,48,.2)),var(--service-detail-image) center/cover no-repeat}
.detail-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,24,33,.34),transparent 64%)}
.detail-hero-content{position:relative;z-index:1;width:min(760px,calc(100% - 42px));margin-left:max(21px,calc((100vw - 1180px)/ 2));padding:clamp(18px,2.2vw,32px) clamp(20px,3vw,32px) clamp(18px,2.2vw,28px);border:1px solid rgba(199,250,235,.32);border-radius:26px;background:rgba(4,22,31,.28);box-shadow:0 18px 48px rgba(3,17,25,.2);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.detail-index{margin:0 0 12px;color:#b8f0e1;font:700 12px "DM Sans",sans-serif;letter-spacing:.1em}
.detail-hero h1{max-width:900px;margin:0;color:#f5fbf8;font:700 clamp(56px, 8vw, 104px)/.88 "Barlow Condensed",Impact,sans-serif;letter-spacing:-.02em}
.detail-hero-intro{max-width:620px;margin:18px 0 0;color:rgba(241,250,247,.9);font-size:18px;line-height:1.5}
.detail-content{padding:80px 0 110px;background:linear-gradient(145deg,#f1f5f3,#dfede9);color:#12313b}
.service-detail-page{background-color:#e4efeb;background-image:linear-gradient(145deg,rgba(241,245,243,.68),rgba(223,237,233,.72)),var(--service-detail-image);background-position:center;background-size:cover;background-attachment:fixed}
.service-detail-page .detail-content{background:0 0}
.service-detail-page .detail-request{background:rgba(255,255,255,.84);backdrop-filter:blur(14px)}
.accommodation-detail-page .accommodation-rate-note{backdrop-filter:blur(12px)}
.accommodation-detail-page .accommodation-card{background:rgba(255,255,255,.9);backdrop-filter:blur(12px)}
.service-detail-page .service-page-footer{background:rgba(6,26,38,.78);backdrop-filter:blur(14px)}
.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:66px;align-items:start}
.detail-story{max-width:690px}
.detail-story .service-page-kicker{color:#087f87}
.detail-request h2,.detail-story h2{margin:0 0 18px;font:700 clamp(38px, 5vw, 62px)/.94 "Barlow Condensed",Impact,sans-serif;letter-spacing:-.015em}
.detail-story>p:not(.service-page-kicker){margin:0 0 34px;color:#45606a;font-size:18px;line-height:1.75}
.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-gallery img{width:100%;height:188px;border-radius:14px;object-fit:contain;background:rgba(11,49,60,.08);box-shadow:0 14px 32px rgba(8,43,58,.14)}
.detail-gallery img:first-child{display:none}
.detail-request{position:sticky;top:22px;padding:28px;border:1px solid rgba(8,43,58,.12);border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 24px 60px rgba(8,43,58,.13)}
.detail-request-head{padding-bottom:21px;margin-bottom:6px;border-bottom:1px solid rgba(8,43,58,.1)}
.detail-request h2{font-size:46px}
.detail-request-head>p:last-child{margin:0;color:#56717a;font-size:14px;line-height:1.55}
.detail-question{display:block;margin:22px 0 0;padding:0;border:0}
.detail-question legend,.detail-question>span{display:block;width:100%;margin-bottom:9px;color:#183c47;font-size:14px;line-height:1.35;font-weight:800}
.detail-optional{color:#789098;font-size:11px;font-weight:600}
.detail-options{display:grid;gap:8px}
.detail-option{display:flex;align-items:center;gap:10px;min-height:43px;padding:10px 12px;border:1px solid rgba(8,43,58,.13);border-radius:9px;background:#f9fcfb;color:#31525c;font-size:13px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.detail-option:hover{border-color:#42b9ad;background:#effaf7;transform:translateX(2px)}
.detail-option input{accent-color:#087f87}
.pack-question-intro{margin:-2px 0 14px;color:#607a81;font-size:13px;line-height:1.45}
.pack-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pack-service-card{position:relative;display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(8,43,58,.13);border-radius:13px;background:#f9fcfb;color:#183c47;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}
.pack-service-card:hover{transform:translateY(-2px);border-color:#42b9ad;box-shadow:0 9px 20px rgba(8,43,58,.09)}
.pack-service-card:focus-within{outline:3px solid rgba(15,199,215,.28);outline-offset:2px}
.pack-service-card input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.pack-service-card:has(input:checked){border-color:#078f91;background:#effaf7;box-shadow:0 0 0 2px rgba(7,143,145,.16),0 10px 24px rgba(8,43,58,.1);transform:translateY(-2px)}
.pack-service-image{position:relative;display:block;height:92px;overflow:hidden;background:#0a2c3b}
.pack-service-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease}
.pack-service-card:has(input:checked) .pack-service-image img,.pack-service-card:hover .pack-service-image img{transform:scale(1.06);filter:saturate(1.08)}
.pack-service-check{position:absolute;top:8px;right:8px;display:grid;width:25px;height:25px;place-items:center;border:2px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(7,35,52,.55);color:transparent;font-size:15px;font-weight:950;box-shadow:0 4px 10px rgba(0,0,0,.2);transition:background .2s ease,color .2s ease,transform .2s ease}
.pack-service-card:has(input:checked) .pack-service-check{background:#078f91;color:#fff;transform:scale(1.06)}
.pack-service-copy{display:flex;min-height:72px;flex-direction:column;gap:4px;padding:11px 11px 12px}
.pack-service-copy strong{font-size:13px;line-height:1.1}
.pack-service-copy small{color:#607a81;font-size:11px;line-height:1.3}
.pack-selection-count{margin:11px 0 0;color:#078f91;font-size:12px;font-weight:850;text-align:right}
.detail-date-grid input,.detail-field input,.detail-field textarea{width:100%;min-height:45px;padding:10px 12px;border:1px solid rgba(8,43,58,.17);border-radius:9px;background:#fff;color:#183c47;font:14px "DM Sans",sans-serif;outline:0}
.detail-field textarea{min-height:86px;resize:vertical}
.detail-date-grid input:focus,.detail-field input:focus,.detail-field textarea:focus{border-color:#10a49a;box-shadow:0 0 0 3px rgba(16,164,154,.12)}
.detail-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.detail-date-grid label{color:#56717a;font-size:11px;font-weight:700}
.detail-date-grid input{display:block;margin-top:6px}
.detail-submit{width:100%;min-height:52px;margin-top:25px;border:0;border-radius:9px;background:linear-gradient(135deg,#0c8f83,#087f80);color:#fff;font:800 14px "DM Sans",sans-serif;cursor:pointer;box-shadow:0 14px 28px rgba(8,127,128,.24);transition:transform .2s ease,filter .2s ease}
.detail-submit:hover{transform:translateY(-2px);filter:saturate(1.12)}
.detail-form-note{margin:10px 0 0;color:#789098;font-size:11px;line-height:1.45;text-align:center}
.detail-error{min-height:16px;margin:8px 0 0;color:#b23c3c;font-size:12px;text-align:center}
.detail-confirmation{margin:10px 0 0;padding:12px;border:1px solid rgba(7,143,145,.25);border-radius:9px;background:#eff8f5;color:#315e60;font-size:12px;line-height:1.55;text-align:left}
.detail-confirmation a{display:inline-block;margin-top:5px;color:#075e66;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.detail-confirmation a:focus-visible{outline:3px solid #f3b64b;outline-offset:3px}
.quick-request-panel .detail-confirmation{border-color:rgba(141,222,211,.3);background:rgba(255,255,255,.1);color:#e2f4ef}
.quick-request-panel .detail-confirmation a{color:#a9f3ec}
@media (max-width:980px){
.service-offerings-catalog{grid-template-columns:1fr}
.detail-layout{grid-template-columns:1fr;gap:44px}
.detail-story{max-width:none}
.detail-request{position:static;max-width:720px}
}
@media (max-width:640px){
.service-offerings-catalog .service-offering,.service-offerings-catalog .service-offering img{min-height:0}
.detail-hero{min-height:500px;padding:124px 0 54px}
.detail-hero-content{width:calc(100% - 32px);margin:0 auto;padding:18px 18px 16px;border-radius:18px}
.detail-hero h1{font-size:56px;line-height:.96;overflow-wrap:anywhere}
.detail-hero-intro{font-size:16px}
.detail-content{padding:55px 0 76px}
.service-detail-page{background-attachment:scroll;background-position:center top}
.detail-story>p:not(.service-page-kicker){font-size:16px;line-height:1.65}
.detail-gallery img{height:145px}
.detail-gallery img:first-child{height:220px}
.detail-request{padding:21px;border-radius:14px}
.detail-request h2{font-size:42px}
.pack-service-grid{grid-template-columns:1fr}
.pack-service-image{height:112px}
.detail-date-grid{grid-template-columns:1fr}
}
.service-grid-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){
.service-grid-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
.service-grid-catalog{grid-template-columns:1fr}
}
.service-topbar,.topbar{position:fixed;inset:0 0 auto 0;z-index:100;pointer-events:none}
.service-topbar .nav,.service-topbar>*,.topbar .nav,.topbar>*{pointer-events:auto}
.topbar>.instagram-link{display:none}
.site-shared-header .nav{min-height:56px}
.mobile-panel-head>img,.shared-brand{display:none}
.shared-brand img{width:auto;height:42px;object-fit:contain}
.service-topbar .nav{width:min(1180px,calc(100% - 42px));margin:0 auto}
.service-topbar .navlinks{margin-left:auto}
.service-topbar .hamb{display:none}
.detail-hero,.service-page-hero{padding-top:170px}
.detail-gallery img,.service-img img,.service-offering img{object-fit:cover;background:#0a2c3b}
.service-img{background:#0a2c3b}
.service-img img{height:100%}
.service-offering img{background:#061d2a}
.detail-gallery img{height:auto;min-height:188px;aspect-ratio:auto}
.detail-gallery img:first-child{height:auto;min-height:0}
.collab-gallery{gap:14px;padding:0;border:0;border-radius:0;background:0 0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.collab-gallery img{height:190px;min-height:0;padding:0;border:0;border-radius:8px;object-fit:cover;object-position:center;background:0 0;box-shadow:none}
.collab-gallery img:first-child{height:270px}
@media (max-width:980px){
.service-topbar,.topbar{padding-top:10px}
.service-topbar .nav{width:46px;min-width:46px;margin-right:14px;margin-left:auto;padding:0;background:0 0;border:0;box-shadow:none}
.service-topbar .navlinks{display:none}
.service-topbar .hamb{display:block}
.site-shared-header .shared-brand{display:none}
.detail-hero,.service-page-hero{padding-top:140px}
}
@media (max-width:640px){
.shared-brand img{height:36px}
.service-img img{height:auto;min-height:190px}
.service-offering img{height:auto;min-height:190px}
.detail-gallery img,.detail-gallery img:first-child{min-height:0;height:auto}
}
.about-page{background:#f0f5f2;color:#12313b}
.about-hero{position:relative;isolation:isolate;min-height:min(720px,86svh);display:flex;align-items:end;overflow:hidden;padding:120px 0 86px;color:#f5fbf8;background:#092b3b}
.about-hero-image{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,22,31,.88),rgba(4,43,53,.56) 56%,rgba(4,43,53,.18)),url('assets/img/site/about/about-hero.webp') center 42%/cover no-repeat;transform:scale(1.015)}
.about-hero::after{content:"";position:absolute;inset:auto 0 0;z-index:-1;height:180px;background:linear-gradient(0deg,#f0f5f2,transparent)}
.about-hero-inner{width:min(100% - 42px,900px);max-width:900px;margin-left:max(21px,calc((100vw - 1180px)/ 2))}
.about-kicker,.about-label{margin:0 0 14px;color:#168f8b;font-size:11px;font-weight:800;letter-spacing:.13em}
.about-kicker{color:#a9eadc}
.about-index{margin:0 0 14px;color:#c4f1e6;font-size:12px;font-weight:700;letter-spacing:.12em}
.about-hero h1,.about-hero h2{max-width:820px;margin:0;font:500 clamp(62px, 9vw, 118px)/.98 "Barlow Condensed",Impact,sans-serif;letter-spacing:0;overflow-wrap:anywhere}
.about-intro{max-width:600px;margin:22px 0 28px;color:rgba(242,251,247,.86);font-size:19px;line-height:1.5}
.about-scroll-note{position:absolute;right:max(21px,calc((100vw - 1180px)/ 2));bottom:86px;color:rgba(240,251,247,.7);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl}
.about-scroll-note span{display:inline-block;margin-top:9px;font-size:18px}
#servicios .service-image-link{flex-basis:236px;overflow:hidden}
#servicios .service-img{position:relative;height:236px;overflow:hidden;isolation:isolate;background:#062f3b}
#servicios .service-img::after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(4,25,36,.03) 35%,rgba(4,25,36,.4))}
#servicios .service-img img{position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;opacity:.9;filter:saturate(.92);transition:transform .55s ease,opacity .4s ease,filter .4s ease}
#servicios .service-card:hover .service-img img,#servicios .service-image-link:focus-visible .service-img img{transform:scale(1.055);opacity:1;filter:saturate(1.08)}
@media (max-width:640px){
#servicios .service-image-link,#servicios .service-img{flex-basis:248px;height:248px}
}
@media (prefers-reduced-motion:reduce){
#servicios .service-img img{transition:none}
#servicios .service-card:hover .service-img img,#servicios .service-image-link:focus-visible .service-img img{transform:none}
}
.about-opening{padding:92px 0 86px;background:#f0f5f2}
.about-opening-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.about-quote-wrap{padding-top:10px}
.about-quote-mark{display:block;height:58px;color:#0e9a91;font:800 100px/.7 Georgia,serif}
.about-quote{max-width:420px;margin:12px 0 0;color:#0d3744;font:500 clamp(34px, 4.2vw, 57px)/.98 "Barlow Condensed",Impact,sans-serif;letter-spacing:0}
.about-opening-copy{max-width:650px;padding-top:16px}
.about-opening-copy>h2{margin:0 0 18px;color:#103a46;font:500 clamp(38px, 4.5vw, 56px)/.98 "Barlow Condensed",Impact,sans-serif}
.about-closing-grid>div:last-child>p,.about-opening-copy>p:last-child,.about-story-copy>p:not(.about-label){margin:0;color:#4a646c;font-size:17px;line-height:1.75}
.about-story{padding:100px 0;background:linear-gradient(135deg,#092c3b,#12434a 62%,#0a2e3e);color:#effaf6}
.about-story-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}
.about-story-copy{max-width:670px}
.about-closing .about-label,.about-story-copy .about-label{color:#99e5d8}
.about-closing h2,.about-gallery-heading h2,.about-story-copy h2{margin:0 0 20px;font:500 clamp(44px, 6vw, 74px)/.94 "Barlow Condensed",Impact,sans-serif;letter-spacing:0}
.about-story-copy>p:not(.about-label){color:rgba(235,248,242,.76)}
.about-text-link{display:inline-flex;gap:10px;margin-top:28px;color:#b4efdf;font-size:14px;font-weight:800}
.about-stat-stack{display:grid;gap:11px}
.about-stat{display:grid;grid-template-columns:65px 1fr;gap:17px;align-items:center;min-height:108px;padding:18px;border:1px solid rgba(180,239,223,.2);border-radius:13px;background:rgba(255,255,255,.08)}
.about-stat strong{color:#83decf;font:700 42px/1 "Barlow Condensed",sans-serif}
.about-stat span{color:rgba(240,251,247,.84);font-size:14px;line-height:1.4}
.about-gallery-section{padding:100px 0 112px;background:#f7faf8}
.about-gallery-heading{max-width:650px;margin-bottom:35px}
.about-gallery-heading h2{color:#103a46}
.about-gallery-heading>p:last-child{margin:0;color:#59727a;font-size:17px}
.about-gallery{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;align-items:stretch}
.about-gallery figure{position:relative;min-height:245px;margin:0;overflow:hidden;border-radius:15px;background:#0a2c3b}
.about-gallery-feature{grid-row:span 2;min-height:520px!important}
.about-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.about-gallery figure:hover img{transform:scale(1.04)}
.about-gallery figcaption{position:absolute;inset:auto 0 0;padding:40px 18px 17px;color:#fff;font-size:12px;font-weight:700;background:linear-gradient(0deg,rgba(3,24,33,.76),transparent)}
.about-closing{padding:94px 0 108px;background:#0a2634;color:#f3fbf7}
.about-closing-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:end}
.about-closing h2{max-width:620px;margin-bottom:0}
.about-closing-grid>div:last-child>p{margin:0 0 28px;color:rgba(235,248,242,.77)}
.guide-content .guide-actions{justify-content:flex-start;gap:12px;margin-top:0}
.guide-section-content{display:grid;gap:20px}
.guide-section-content .section-head{margin-bottom:0}
.guide-destinations{min-width:0}
.guide-destinations-intro{margin:0 0 20px;color:#fff}
.guide-destinations-intro h3{margin:0 0 8px;font:700 34px/1 "Barlow Condensed",Impact,sans-serif}
.guide-destinations-intro p{margin:0;color:rgba(255,255,255,.86);font-size:15px;line-height:1.55}
.guide-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.guide-destination{position:relative;display:flex;min-height:382px;flex-direction:column;gap:18px;padding:clamp(18px,2.2vw,26px);overflow:hidden;border:1px solid rgba(199,250,235,.3);border-radius:16px;background:#092b3b;color:#fff;box-shadow:0 18px 40px rgba(4,24,36,.22);isolation:isolate;text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.guide-destination::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,22,31,.04) 20%,rgba(3,22,31,.2) 46%,rgba(3,22,31,.9))}
.guide-destination img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.guide-destination:hover{transform:translateY(-4px);border-color:rgba(156,232,215,.8);box-shadow:0 24px 48px rgba(4,24,36,.3)}
.guide-destination:focus-visible img,.guide-destination:hover img{transform:scale(1.045)}
.guide-destination:focus-visible{outline:3px solid #9ce8d7;outline-offset:3px}
.guide-destination-heading{display:flex;width:100%;min-width:0;align-items:center;gap:12px}
.guide-destination-label{min-width:0;font:700 clamp(27px, 3vw, 38px)/1.05 "Barlow Condensed",Impact,sans-serif}
.guide-destination-arrow{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;margin-left:auto;border:1px solid rgba(255,255,255,.56);border-radius:50%;background:rgba(4,29,41,.4);font-size:19px;transition:background .2s ease,transform .2s ease}
.guide-destination:hover .guide-destination-arrow{transform:translate(2px,-2px);background:#087f87}
.guide-destination-features{display:grid;width:100%;gap:11px;margin-top:auto}
.guide-destination-feature{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;padding:14px;border:1px solid rgba(226,250,244,.22);border-radius:12px;background:rgba(4,27,39,.68);box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.guide-destination-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:rgba(10,153,157,.78);color:#fff;font-size:19px}
.guide-destination-feature>span:last-child{display:grid;min-width:0;gap:3px}
.guide-destination-feature strong{color:#fff;font-size:15px;line-height:1.25}
.guide-destination-feature>span:last-child>span{color:rgba(242,250,247,.86);font-size:13px;line-height:1.45}
@media (max-width:640px){
.guide-destinations-intro h3{font-size:31px}
.guide-destination-grid{grid-template-columns:1fr;gap:12px}
.guide-destination{min-height:330px}
.guide-destination-label{font-size:31px}
}
@media (prefers-reduced-motion:reduce){
.guide-destination,.guide-destination img,.guide-destination-arrow{transition:none}
}
.site-footer{position:relative;isolation:isolate;overflow:hidden;padding:62px 0 28px;background:#061e2f url("assets/img/site/backgrounds/footer-surf.webp") center/cover no-repeat}
.site-footer::before{position:absolute;z-index:-1;inset:0;background:linear-gradient(145deg,rgba(3,22,34,.78),rgba(4,30,42,.68) 48%,rgba(4,20,32,.86));content:""}
.site-footer>.container{position:relative;z-index:1}
.site-footer .foot-grid>div{min-width:0;padding:19px 17px;border:1px solid rgba(215,245,238,.2);border-radius:14px;background:linear-gradient(145deg,rgba(221,245,238,.12),rgba(7,34,48,.36));box-shadow:0 14px 36px rgba(0,0,0,.16),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-footer .foot-grid>div:first-child{background:linear-gradient(145deg,rgba(13,125,132,.25),rgba(7,34,48,.4))}
.site-footer .foot-grid>div:last-child{background:linear-gradient(145deg,rgba(243,182,75,.14),rgba(7,34,48,.4))}
.site-footer .foot-grid>div>p{color:rgba(237,248,245,.82)}
.site-footer .foot-grid>div>a:not(.btn){color:rgba(237,248,245,.76);transition:color .2s ease,transform .2s ease}
.site-footer .foot-grid>div>a:not(.btn):hover{color:#a9f3ec;transform:translateX(2px)}
.site-footer .foot-brand{text-shadow:none}
footer a.footer-logo-link{display:inline-flex;align-items:center;width:fit-content;max-width:100%;margin:0}
.footer-logo{display:block;width:160px;max-width:min(100%,70vw);height:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.site-footer .foot-grid>div>a.footer-logo-link{margin:0 0 12px}
.logo-return{display:inline-flex;align-items:center;gap:8px}
.logo-return .footer-logo{width:96px;max-width:22vw}
.collab-nav .logo-return{gap:7px;font-size:13px;font-weight:800}
.collab-nav .footer-logo{width:94px;max-width:24vw}
.service-page-footer .logo-return{gap:8px}
.service-page-footer .footer-logo{width:112px;max-width:34vw}
.site-footer .foot-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);border-color:rgba(220,244,236,.2);color:rgba(237,248,245,.72)}.site-footer .foot-bottom>span:last-child{grid-column:2}
@media (max-width:980px){
.site-footer .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.site-footer .foot-grid>div:first-child,.site-footer .foot-grid>div:last-child{grid-column:1/-1}
}
@media (max-width:560px){
.site-footer{padding:42px 0 24px}
.site-footer .foot-grid{grid-template-columns:1fr;gap:12px}
.site-footer .foot-grid>div:first-child,.site-footer .foot-grid>div:last-child{grid-column:auto}
.site-footer .foot-grid>div{padding:17px}
.site-footer .foot-bottom{display:flex;align-items:flex-start;flex-direction:column;gap:8px}
}
.about-page .about-hero-image{background-attachment:fixed}
.about-page .about-hero-inner{box-sizing:border-box;position:relative;padding:28px clamp(22px,4vw,42px);border:1px solid rgba(226,250,244,.28);border-radius:18px;background:rgba(4,29,41,.48);box-shadow:0 24px 70px rgba(2,17,26,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.about-page .about-opening{background:linear-gradient(135deg,rgba(236,247,243,.78),rgba(229,243,238,.68)),url("assets/img/site/about/optimized/tamarindo-stay.webp") center/cover fixed}
.about-page .about-opening-copy,.about-page .about-quote-wrap{padding:26px;border:1px solid rgba(255,255,255,.62);border-radius:16px;background:rgba(246,251,248,.72);box-shadow:0 18px 48px rgba(7,43,53,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.about-page .about-story{background:linear-gradient(115deg,rgba(4,31,43,.87),rgba(6,50,58,.7)),url("assets/img/services/surf-coaching/surf-coaching.webp") center/cover fixed}
.about-page .about-story-copy{padding:30px;border:1px solid rgba(190,241,225,.24);border-radius:16px;background:rgba(5,28,40,.5);box-shadow:0 22px 58px rgba(1,15,22,.24);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.about-page .about-stat{background:rgba(7,40,52,.52);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.about-page .about-gallery-section{background:linear-gradient(145deg,rgba(7,35,47,.78),rgba(7,40,48,.68)),url("assets/img/services/retreats/retreat-sunset.webp") center/cover fixed}
.about-page .about-gallery-heading{padding:26px;border:1px solid rgba(255,255,255,.58);border-radius:16px;background:rgba(241,249,246,.78);box-shadow:0 18px 48px rgba(3,25,34,.17);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.about-page .about-gallery-heading h2{color:#103a46}
.about-page .about-gallery-heading>p:last-child{color:#405f68}
.about-page .about-gallery figure{border:1px solid rgba(255,255,255,.3);box-shadow:0 18px 50px rgba(2,22,31,.22)}
.about-page .about-closing{background:linear-gradient(120deg,rgba(4,28,40,.9),rgba(5,42,51,.78)),url("assets/img/services/retreats/retreat-sunset.webp") center/cover fixed}
.about-page .about-closing-grid>div{padding:28px;border:1px solid rgba(191,239,225,.2);border-radius:16px;background:rgba(5,28,40,.48);box-shadow:0 22px 58px rgba(1,15,22,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
@media (max-width:760px){
.about-page .about-hero-inner{padding:22px}
.about-page .about-closing-grid>div,.about-page .about-gallery-heading,.about-page .about-opening-copy,.about-page .about-quote-wrap,.about-page .about-story-copy{padding:22px}
.about-page .about-closing,.about-page .about-gallery-section,.about-page .about-hero-image,.about-page .about-opening,.about-page .about-story{background-attachment:scroll}
}
@media (prefers-reduced-motion:reduce){
.about-page .about-closing,.about-page .about-gallery-section,.about-page .about-hero-image,.about-page .about-opening,.about-page .about-story{background-attachment:scroll}
.about-page .about-gallery figure:hover img{transform:none}
}
@media (max-width:760px){
.about-hero{min-height:620px;padding:110px 0 68px}
.about-hero-inner{margin:0 auto}
.about-hero-inner{width:calc(100% - 42px)}
.about-hero h1,.about-hero h2{font-size:60px;line-height:.98}
.about-intro{font-size:16px}
.about-scroll-note{display:none}
.about-closing,.about-gallery-section,.about-opening,.about-story{padding:64px 0 74px}
.about-closing-grid,.about-opening-grid,.about-story-grid{grid-template-columns:1fr;gap:38px}
.about-quote{font-size:46px}
.about-opening-copy{padding-top:0}
.about-closing-grid>div:last-child>p,.about-opening-copy>p:last-child,.about-story-copy>p:not(.about-label){font-size:16px}
.about-gallery{grid-template-columns:1fr}
.about-gallery-feature{grid-row:auto;min-height:310px!important}
.about-gallery figure{min-height:220px}
}
.weather-main{min-height:126px;padding:18px 18px 17px;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:12px}
.weather-temp-block{align-self:center}
.weather-place{margin-bottom:5px;color:rgba(255,255,255,.72);font-size:11px;font-weight:800;letter-spacing:.03em}
.temp{font-size:62px;line-height:.82}
.weather-main>div:last-child{grid-template-columns:84px minmax(0,1fr);gap:9px}
.weather-icon{width:84px;height:84px;border-radius:24px}
.weather-icon img{width:86%;height:86%;animation:weather-symbol-bob 2.8s ease-in-out infinite}
.weather-state{font-size:15px;line-height:1.12;font-weight:850}
.weather-list{padding:12px 10px 13px;background:rgba(2,20,29,.14)}
.w-row{gap:7px;padding:9px 6px 7px}
.w-ico{width:36px;height:36px;border-radius:12px}
.w-ico img{width:28px;height:28px}
.w-row:last-child .w-value,.w-value{display:flex;align-items:baseline;justify-content:center;gap:3px;font-size:25px;line-height:.95;font-weight:900}
.w-value small{font-size:11px;font-weight:850;letter-spacing:.02em}
.w-label{margin-top:1px;font-size:11px;line-height:1.15;font-weight:750;color:rgba(255,255,255,.78)}
@keyframes weather-symbol-bob{
0%,100%{transform:translateY(1px) rotate(-2deg) scale(.96)}
50%{transform:translateY(-3px) rotate(2deg) scale(1.04)}
}
@media (max-width:640px){
.weather-main{min-height:116px;padding:15px 14px 14px;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)}
.temp{font-size:56px}
.weather-main>div:last-child{grid-template-columns:76px minmax(0,1fr);gap:8px}
.weather-icon{width:76px;height:76px}
.weather-list{padding:10px 7px 11px}
.w-row{padding-inline:4px}
.w-ico{width:34px;height:34px}
.w-row:last-child .w-value,.w-value{font-size:22px}
.w-label{font-size:10px}
}
@media (max-width:480px){
.weather-main{padding-inline:11px;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.temp{font-size:52px}
.weather-main>div:last-child{grid-template-columns:70px minmax(0,1fr);gap:7px}
.weather-icon{width:70px;height:70px;border-radius:20px}
.w-row:last-child .w-value,.w-value{font-size:20px}
.w-value small{font-size:10px}
.w-label{font-size:9px}
}
:root{--font-menu:"Fredoka","Baloo 2","Trebuchet MS",system-ui,sans-serif}
.navlinks{gap:26px;font-family:var(--font-menu);font-size:19px;font-weight:500;letter-spacing:.01em}
.dropbtn,.navlinks>a{padding:9px 3px}
.menu a{font-family:var(--font-menu);font-size:16px;font-weight:500;padding:10px 14px;text-align:center;line-height:1.2}
.dropdown .menu{left:auto;right:0;min-width:0;width:max-content;max-width:min(260px,calc(100vw - 32px))}
.mobile-panel{max-height:100dvh;overflow-y:auto;padding-bottom:100px}
.mobile-dropdown-link,.mobile-dropdown-toggle,.mobile-menu a{font-family:var(--font-menu);font-size:21px;font-weight:500;text-transform:none;letter-spacing:0;padding:16px}
.mobile-submenu a{font-size:17px;padding:11px 14px;text-align:center;line-height:1.2}
@media (min-width:981px) and (max-width:1180px){
.navlinks{gap:18px;font-size:17px}
}
.has-px{--px-r:clamp(22px, 2.6vw, 38px);position:relative;isolation:isolate;margin:clamp(10px,1.6vw,24px) clamp(8px,1.6vw,24px);border-radius:var(--px-r);clip-path:inset(0 round var(--px-r))}
.px-bg{position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--px-img) center/cover no-repeat}
.px-bg-image{position:absolute;inset-inline:0;height:36%;background-position:center;background-size:cover;background-repeat:no-repeat;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent)}.px-bg-image-surf-extra{background-image:url("assets/img/services/surf-coaching/surfing-drone-pexels-5232570.webp");background-position:center 50%}.px-bg-image-surf-photo{top:32%;background-image:url("assets/img/services/surf-coaching/surf-coaching.webp");background-position:center 52%}.px-bg-image-surf-sunset{top:64%;background-image:url("assets/img/photography/ambarry1975/optimized/ambarry1975-costa-rica-2646482.webp")}.px-bg-image-surf-top{top:-12%;height:48%;z-index:1;opacity:.64;background-position:center 55%;background-image:url("assets/img/services/surf-photography/optimized/surfer-riding-wave-tamarindo-costa-rica-05-no-surfer.webp?v=20261010-surf-bg1")}
.px-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,24,34,.46),rgba(3,24,34,.16) 45%,rgba(3,24,34,.4))}
#servicios{--px-img:none}
#servicios .px-bg{background:none}
#servicios .px-bg::after{background:linear-gradient(180deg,rgba(3,24,34,.5),rgba(3,24,34,.28) 48%,rgba(3,24,34,.52))}
#camaras{--px-img:url('assets/img/site/backgrounds/camaras.webp')}
#guia{--px-img:url('assets/img/stays/occidental/optimized/occidental-beach.webp')}
#despues-del-surf{--px-img:url('assets/img/site/backgrounds/atardecer.webp')}
.services-watermark{grid-column:span 3;width:min(76%,310px);min-height:370px;align-self:stretch;justify-self:center;object-fit:contain;opacity:.72;filter:drop-shadow(0 12px 24px rgba(2, 18, 27, .24));pointer-events:none;transform:rotate(-4deg)}
.has-px .link-more,.has-px .section-title{color:#fff;text-shadow:0 3px 22px rgba(0,0,0,.62)}
.has-px .section-sub{color:rgba(255,255,255,.92);text-shadow:0 2px 16px rgba(0,0,0,.58)}
#guia .benefit h3{color:#fff}
#guia .benefit p{color:rgba(255,255,255,.88)}
#guia .px-bg::after{background:linear-gradient(90deg,rgba(3,24,34,.6),rgba(3,24,34,.28) 55%,rgba(3,24,34,.14)),linear-gradient(180deg,rgba(3,24,34,.3),rgba(3,24,34,0) 40%,rgba(3,24,34,.3))}
#camaras .camera-card,#servicios .service-card{background:rgba(6,24,34,.64);border:1px solid rgba(255,255,255,.16);box-shadow:0 18px 44px rgba(0,0,0,.28);backdrop-filter:blur(20px) saturate(1.25);-webkit-backdrop-filter:blur(20px) saturate(1.25)}
#camaras .camera-card:hover,#servicios .service-card:hover{border-color:rgba(127,230,234,.45);box-shadow:0 26px 56px rgba(0,0,0,.36)}
#camaras .cam-body h3,#servicios .service-body h3,#servicios .service-body h3 a{color:#fff}
#camaras .cam-body p,#camaras .cam-body small,#servicios .service-body p{color:rgba(255,255,255,.82)}
#servicios .service-body>a{color:#7fe6ea;border-bottom-color:rgba(127,230,234,.4)}
#camaras .cam-meta,#camaras .cam-meta *{color:rgba(255,255,255,.86)}
#camaras .cam-actions{border-top-color:rgba(255,255,255,.14)}
#camaras .cam-link:not(.primary){background:rgba(255,255,255,.1);color:#8fe9ee}
#camaras .cam-link:not(.primary):hover{background:rgba(255,255,255,.18)}
#camaras .cam-action,#camaras .cam-action *{color:#8fe9ee}
.services-logo-wrap{grid-column:span 3;position:relative;display:grid;place-items:center;width:min(100%,470px);min-height:470px;justify-self:center;align-self:stretch;isolation:isolate;transform-origin:center bottom;cursor:pointer}
.services-logo-wrap.is-arriving{animation:logo-wave-arrive 1.25s cubic-bezier(.2,.8,.25,1) both}
.services-logo-wrap.is-user-replay{animation:logo-wave-arrive .85s cubic-bezier(.2,.8,.25,1) both}
.services-logo-wrap:focus-visible{outline:2px solid var(--wp-aqua);outline-offset:5px;border-radius:8px}
.services-logo-wrap .logo-wave-aura{inset:-14% -10% -8%}
.services-logo-wrap .services-watermark{grid-column:auto;width:100%;height:auto;min-height:0;max-height:100%;object-fit:contain;opacity:.92;filter:drop-shadow(0 8px 20px rgba(0, 167, 189, .22));pointer-events:none;transform:none;position:relative;z-index:1}
@media (max-width:980px){
.services-logo-wrap{grid-column:1/-1;width:min(84%,390px);min-height:350px}
}
@media (max-width:640px){
.services-logo-wrap{grid-column:1;width:min(88vw,320px);min-height:260px;margin:8px auto 0}
}
@media (prefers-reduced-motion:reduce){
.services-logo-wrap.is-arriving,.services-logo-wrap.is-user-replay{animation:none}
}
.service-img{background:0 0}
.service-img img{object-fit:cover;background:0 0}
#servicios .service-grid-catalog .service-card{position:relative;isolation:isolate;min-height:370px;overflow:hidden;background:#082b3a}
#servicios .service-grid-catalog .service-card::before{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(4,24,34,.04),rgba(4,24,34,.12) 42%,rgba(4,24,34,.74));content:"";pointer-events:none}
#servicios .service-grid-catalog .service-image-link{position:absolute;inset:0;z-index:0;flex:none}
#servicios .service-grid-catalog .service-img{position:absolute;inset:0;height:100%}
#servicios .service-grid-catalog .service-card .service-body{position:relative;z-index:2;flex:0 0 auto;margin-top:auto;border-top:1px solid rgba(255,255,255,.18);background:rgba(6,24,34,.48);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
#servicios .service-grid-catalog .service-img img{opacity:.88;filter:saturate(1.05)}
#servicios .service-grid-catalog .service-card:hover .service-img img,#servicios .service-grid-catalog .service-image-link:focus-visible .service-img img{opacity:1;filter:saturate(1.15)}
#servicios .service-body h3,#servicios .service-body h3 a{font-size:26px!important;color:#fff!important}
.allies-ticker{position:relative!important;overflow:hidden!important;background:0 0!important;padding:22px 0!important;box-shadow:none!important}
#aliados::after,#aliados::before,.allies-ticker::after,.allies-ticker::before{display:none!important;content:none!important}
.allies-heading{position:relative!important;z-index:5!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;margin:0!important;padding:12px 18px!important;background:0 0!important;color:rgba(241,235,217,.85)!important;text-align:center!important}
.allies-heading-rule{width:32px!important;height:1px!important;flex:0 0 32px!important;background:rgba(143,233,238,.45)!important}
.allies-heading h2{margin:0!important;color:inherit!important;font-family:"DM Sans",sans-serif!important;font-size:clamp(12px, 1.4vw, 16px)!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.ally-heading-tile{position:relative!important;flex:0 0 260px!important;width:260px!important;height:176px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:20px!important;background:rgba(16,57,65,.65)!important;backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;border-radius:16px!important;border:1px solid rgba(143,233,238,.3)!important;box-shadow:0 10px 24px rgba(0,0,0,.25)!important}
.ally-heading-marker{width:36px!important;height:2px!important;background:#8fe9ee!important;margin:0 auto 12px auto!important;border-radius:2px!important}
.ally-heading-tile h2{margin:0!important;color:#fff!important;font-family:"Barlow Condensed",Impact,sans-serif!important;font-size:26px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.ally-tile{position:relative!important;overflow:hidden!important;flex:0 0 270px!important;width:270px!important;height:176px!important;border-radius:16px!important;border:1px solid rgba(255,255,255,.16)!important;background:rgba(16,57,65,.5)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 8px 24px rgba(0,0,0,.28)!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;text-decoration:none!important;transition:border-color .25s ease,box-shadow .25s ease!important}
.ally-tile:hover{border-color:rgba(143,233,238,.6)!important;box-shadow:0 16px 36px rgba(0,0,0,.45)!important}
.ally-tile:focus-visible{outline:2px solid rgba(143,233,238,.8)!important;outline-offset:3px!important}
.ally-tile img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:1!important;transition:none!important;pointer-events:none!important}
.ally-tile::after{content:""!important;position:absolute!important;inset:0!important;z-index:2!important;background:linear-gradient(180deg,rgba(0,0,0,.05) 0,rgba(2,22,28,.45) 45%,rgba(2,22,28,.88) 100%)!important;pointer-events:none!important}
.ally-tile span{position:relative!important;z-index:3!important;display:flex!important;flex-direction:column!important;gap:3px!important;padding:14px 16px!important;text-align:left!important}
.ally-tile strong{display:block!important;color:#fff!important;font-family:"Barlow Condensed",Impact,sans-serif!important;font-size:24px!important;font-weight:700!important;line-height:1.05!important;text-shadow:0 2px 8px rgba(0,0,0,.7)!important}
.ally-tile small{display:block!important;color:#8fe9ee!important;font-family:"DM Sans",sans-serif!important;font-size:13px!important}
.ally-heading-tile{position:relative!important;flex:0 0 260px!important;width:260px!important;height:176px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:20px!important;background:#020508!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.22)!important;box-shadow:inset 0 0 20px rgba(0,0,0,.8),0 8px 24px rgba(0,0,0,.6)!important}
.ally-heading-marker{width:38px!important;height:2px!important;background:#fff!important;opacity:.8!important;margin:0 auto 14px auto!important;border-radius:2px!important}
.ally-heading-tile h2{margin:0!important;color:#fff!important;font-family:"Barlow Condensed",Impact,sans-serif!important;font-size:26px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:.05em!important;text-transform:uppercase!important}
.allies-heading{position:relative!important;z-index:11!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;min-height:38px!important;margin:0!important;overflow:hidden!important;padding:18px 18px 14px!important;background:#04090e!important;color:rgba(241,235,217,.78)!important;text-align:center!important}
.allies-heading-rule{width:28px!important;height:1px!important;flex:0 0 28px!important;background:rgba(143,233,238,.58)!important}
.allies-heading h2{max-width:100%!important;margin:0!important;color:inherit!important;font-family:"DM Sans",sans-serif!important;font-size:clamp(11px, 1.35vw, 17px)!important;font-weight:500!important;line-height:1!important;letter-spacing:.14em!important;text-transform:uppercase!important;white-space:nowrap!important}
.ally-tile{position:relative!important;overflow:hidden!important;flex:0 0 270px!important;width:270px!important;height:176px!important;border-radius:6px!important;border:1px solid rgba(255,255,255,.16)!important;background:#050b10!important;box-shadow:0 10px 28px rgba(0,0,0,.5)!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;text-decoration:none!important;transition:border-color .25s ease,box-shadow .25s ease!important}
.ally-tile:hover{border-color:rgba(143,233,238,.45)!important;box-shadow:0 16px 36px rgba(0,0,0,.7)!important}
.ally-tile img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:0!important;z-index:1!important;transition:none!important;pointer-events:none!important}
.ally-tile::after{content:""!important;position:absolute!important;inset:0!important;z-index:2!important;background:linear-gradient(180deg,rgba(0,0,0,.05) 0,rgba(0,0,0,.3) 45%,rgba(0,0,0,.88) 100%)!important;pointer-events:none!important}
.ally-tile span{position:relative!important;z-index:3!important;display:flex!important;flex-direction:column!important;gap:3px!important;padding:14px 16px!important;text-align:left!important}
.ally-tile strong{display:block!important;color:#fff!important;font-family:"Barlow Condensed",Impact,sans-serif!important;font-size:24px!important;font-weight:700!important;line-height:1.05!important;letter-spacing:.01em!important;text-shadow:0 2px 8px rgba(0,0,0,.85)!important;overflow:visible!important;white-space:normal!important}
.ally-tile small{display:block!important;color:#8fe9ee!important;font-family:"DM Sans",sans-serif!important;font-size:11px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;text-shadow:0 1px 6px rgba(0,0,0,.9)!important}
.ally-sponsor{border-color:rgba(243,182,75,.35)!important}
.ally-sponsor:hover{border-color:rgba(243,182,75,.7)!important}
.ally-sponsor small{color:#f3b64b!important}
@keyframes allies-slide-left{
from{transform:translateX(0)}
to{transform:translateX(-50%)}
}
@media (max-width:640px){
.allies-ticker{padding:30px 0!important}
.allies-heading{gap:8px!important;min-height:30px!important;padding:14px 10px 10px!important}
.allies-heading-rule{width:16px!important;flex-basis:16px!important}
.allies-heading h2{font-size:9px!important;letter-spacing:.08em!important}
.ally-heading-tile{flex:0 0 210px!important;width:210px!important;height:145px!important;padding:14px!important}
.ally-heading-tile h2{font-size:21px!important}
.ally-tile{flex:0 0 220px!important;width:220px!important;height:145px!important}
.ally-tile strong{font-size:20px!important}
.ally-tile small{font-size:10px!important}
.ally-tile span{padding:10px 12px!important}
}
#aliados{scroll-margin-top:148px}
@media (max-width:640px){
#aliados{scroll-margin-top:118px}
}
.weather-card{position:relative!important;overflow:hidden!important;width:min(100%,390px)!important;border-radius:24px!important;border:1px solid rgba(179,237,230,.28)!important;background:radial-gradient(circle at 85% 15%,rgba(0,210,225,.22),transparent 48%),radial-gradient(circle at 12% 88%,rgba(243,182,75,.14),transparent 42%),linear-gradient(155deg,rgba(6,32,46,.88),rgba(4,18,27,.94))!important;backdrop-filter:blur(28px) saturate(190%)!important;-webkit-backdrop-filter:blur(28px) saturate(190%)!important;box-shadow:0 24px 60px rgba(0,10,16,.5),inset 0 1px 1px rgba(255,255,255,.35),inset 0 -1px 2px rgba(0,0,0,.5)!important;animation:samsung-ambient-float 6s ease-in-out infinite alternate!important}
@keyframes samsung-ambient-float{
0%{transform:translateY(0)}
100%{transform:translateY(-4px)}
}
.weather-head{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:48px!important;padding:14px 18px!important;border-bottom:1px solid rgba(255,255,255,.1)!important;background:rgba(255,255,255,.02)!important}
.weather-heading{display:inline-flex!important;align-items:center!important;gap:10px!important}
.weather-live-dot{position:relative!important;width:8px!important;height:8px!important;flex:0 0 8px!important;border-radius:50%!important;background:#00f0c4!important;box-shadow:0 0 10px #00f0c4!important}
.weather-live-dot::after{content:""!important;position:absolute!important;inset:-4px!important;border-radius:50%!important;border:1.5px solid #00f0c4!important;animation:radar-ping 2s cubic-bezier(0,0,.2,1) infinite!important}
@keyframes radar-ping{
0%{transform:scale(.6);opacity:1}
100%{transform:scale(2.4);opacity:0}
}
.weather-head span:last-child{color:#f0faf7!important;font-family:"DM Sans",-apple-system,sans-serif!important;font-size:11px!important;font-weight:850!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.weather-head small{color:rgba(220,245,240,.65)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.02em!important}
.weather-main{min-height:120px!important;padding:18px 20px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;align-items:center!important;gap:14px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.weather-place{margin-bottom:4px!important;color:#8ce8db!important;font-family:"DM Sans",sans-serif!important;font-size:11px!important;font-weight:850!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.temp{font-family:"DM Sans",-apple-system,sans-serif!important;font-size:72px!important;line-height:.88!important;font-weight:850!important;letter-spacing:-.04em!important;background:linear-gradient(180deg,#fff 40%,#b8f0e5 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;filter:drop-shadow(0 4px 14px rgba(0, 0, 0, .35))!important}
.weather-condition{display:flex!important;flex-direction:row!important;align-items:center!important;gap:12px!important}
.weather-icon{position:relative!important;flex:0 0 68px!important;width:68px!important;height:68px!important;border-radius:50%!important;display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.35)!important;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.28),transparent 50%),radial-gradient(circle at 70% 30%,#ffd166 0 16%,transparent 18%),linear-gradient(155deg,#1b6a7f,#093444 80%)!important;box-shadow:0 10px 24px rgba(0,0,0,.4),inset 0 1px 2px rgba(255,255,255,.5),0 0 20px rgba(0,210,225,.22)!important;animation:weather-orb-float 4s ease-in-out infinite!important}
@keyframes weather-orb-float{
0%,100%{transform:translateY(0) rotate(0)}
50%{transform:translateY(-4px) rotate(2deg)}
}
.weather-icon img,.weather-icon svg{width:78%!important;height:78%!important;object-fit:contain!important;animation:weather-cloud-drift 4.5s ease-in-out infinite alternate!important}
@keyframes weather-cloud-drift{
0%{transform:translateX(-2px) scale(.98)}
100%{transform:translateX(2px) scale(1.02)}
}
.weather-state{color:#fff!important;font-family:"DM Sans",-apple-system,sans-serif!important;font-size:17px!important;line-height:1.15!important;font-weight:750!important;letter-spacing:-.01em!important;text-shadow:0 2px 8px rgba(0,0,0,.4)!important}
.weather-list{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important;padding:12px 14px!important;background:rgba(0,0,0,.12)!important}
.w-row{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;padding:10px 10px 8px 10px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.1)!important;background:rgba(255,255,255,.05)!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.1),0 4px 12px rgba(0,0,0,.18)!important;transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease!important}
.w-row:hover{transform:translateY(-3px)!important;background:rgba(255,255,255,.09)!important;border-color:rgba(0,240,196,.4)!important;box-shadow:0 8px 20px rgba(0,0,0,.3),0 0 12px rgba(0,240,196,.15)!important}
.w-ico{width:28px!important;height:28px!important;border-radius:9px!important;display:grid!important;place-items:center!important;background:rgba(0,240,196,.14)!important;color:#7ef2db!important;font-size:14px!important;border:1px solid rgba(0,240,196,.2)!important}
.w-row:first-child .w-ico{animation:wave-bob 3s ease-in-out infinite!important}
@keyframes wave-bob{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-2.5px)}
}
.w-row:nth-child(2) .w-ico{animation:wind-gust 4s ease-in-out infinite!important}
@keyframes wind-gust{
0%,100%{transform:rotate(0)}
35%{transform:rotate(-10deg)}
70%{transform:rotate(8deg)}
}
.w-row:nth-child(3) .w-ico{animation:clock-pulse 3s ease-in-out infinite!important}
@keyframes clock-pulse{
0%,100%{transform:scale(1);opacity:.9}
50%{transform:scale(1.08);opacity:1}
}
#servicios .section-title{font-size:clamp(28px, 2.8vw, 34px)!important}
#servicios .section-sub,#servicios .service-page-intro{font-size:16px!important;line-height:1.5!important}
.service-page-heading h2{font-size:clamp(48px, 5vw, 58px)!important}
.service-page-heading .service-page-intro{font-size:19px!important;line-height:1.5!important}
@media (max-width:640px){
#servicios .section-title{font-size:26px!important}
#servicios .section-sub,#servicios .service-page-intro{font-size:15px!important}
.service-page-heading h2{font-size:42px!important}
.service-page-heading .service-page-intro{font-size:17px!important}
}
.guide-detail-card:not(.guide-detail-card-text-only){grid-template-columns:220px minmax(0,1fr)}
.guide-detail-card img{min-height:330px;cursor:zoom-in;transition:filter .22s ease,transform .22s ease}
.guide-detail-card img:focus-visible,.guide-detail-card img:hover{filter:brightness(1.08) saturate(1.08);outline:2px solid #9ce8d7;outline-offset:-2px}
.guide-image-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:28px;background:rgba(2,10,16,.88);backdrop-filter:blur(12px)}
.guide-image-modal[hidden]{display:none}
.guide-image-modal figure{position:relative;display:grid;justify-items:center;gap:12px;width:min(1120px,100%);max-height:100%;margin:0}
.guide-image-modal img{display:block;width:auto;max-width:100%;max-height:calc(100vh - 112px);border:1px solid rgba(255,255,255,.22);border-radius:14px;object-fit:contain;box-shadow:0 30px 90px rgba(0,0,0,.55)}
.guide-image-modal figcaption{color:rgba(241,250,247,.86);font:600 14px/1.3 "DM Sans",sans-serif;text-align:center}
.guide-image-modal-close{position:absolute;top:-18px;right:-8px;z-index:2;width:42px;height:42px;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:rgba(4,22,30,.86);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.guide-image-modal-close:focus-visible,.guide-image-modal-close:hover{background:#087f87;outline:2px solid #9ce8d7;outline-offset:2px}
@media (max-width:980px){
.guide-detail-card:not(.guide-detail-card-text-only){grid-template-columns:190px minmax(0,1fr)}
.guide-detail-card img{min-height:300px}
}
@media (max-width:640px){
.guide-detail-card:not(.guide-detail-card-text-only){grid-template-columns:1fr}
.guide-detail-card img{height:260px;min-height:0}
.guide-image-modal{padding:16px}
.guide-image-modal img{max-height:calc(100vh - 86px);border-radius:10px}
.guide-image-modal-close{top:-10px;right:-5px}
}
.guide-detail-category,.guide-detail-heading{padding:22px 24px;border:1px solid rgba(186,231,220,.18);border-radius:18px;background:linear-gradient(135deg,rgba(4,25,36,.58),rgba(8,54,62,.42));box-shadow:inset 0 1px rgba(255,255,255,.08),0 16px 34px rgba(0,0,0,.12);backdrop-filter:blur(12px) saturate(118%);-webkit-backdrop-filter:blur(12px) saturate(118%)}
.guide-detail-heading{max-width:860px}
.guide-detail-category{max-width:900px;margin-bottom:18px}
.guide-detail-card h4,.guide-detail-category h3,.guide-detail-heading h2{text-shadow:0 2px 12px rgba(0,0,0,.28)}
.guide-detail-category>p:last-child,.guide-detail-heading>p:last-child{color:rgba(241,250,247,.86)}
.guide-detail-card{border-color:rgba(186,231,220,.24);background:linear-gradient(145deg,rgba(14,66,73,.56),rgba(5,28,39,.76));box-shadow:0 16px 34px rgba(0,0,0,.18)}
.guide-detail-card>div{padding:22px;border-left:1px solid rgba(186,231,220,.16);background:linear-gradient(135deg,rgba(4,25,36,.62),rgba(8,48,57,.42));backdrop-filter:blur(10px) saturate(115%);-webkit-backdrop-filter:blur(10px) saturate(115%)}
.guide-detail-card p{color:rgba(241,250,247,.84)}
.guide-detail-card ul{color:rgba(241,250,247,.8)}
.guide-detail-card li strong{color:#d0f7eb}
.guide-detail-card a{text-shadow:0 1px 7px rgba(0,0,0,.35)}
@media (max-width:640px){
.guide-detail-category,.guide-detail-heading{padding:18px;border-radius:15px}
.guide-detail-card>div{border-top:1px solid rgba(186,231,220,.16);border-left:0;padding:19px}
}
.w-row:last-child .w-value,.w-value{display:flex!important;align-items:baseline!important;gap:2px!important;color:#fff!important;font-family:"DM Sans",-apple-system,sans-serif!important;font-size:19px!important;line-height:1!important;font-weight:850!important;letter-spacing:-.02em!important}
.w-value small{font-size:10px!important;font-weight:750!important;color:rgba(220,248,242,.7)!important}
.w-label{color:rgba(220,248,242,.65)!important;font-family:"DM Sans",sans-serif!important;font-size:10px!important;line-height:1.2!important;font-weight:650!important}
.camera-status-night{margin:10px 14px 14px!important;padding:10px 14px!important;border-radius:999px!important;border:1px solid rgba(243,182,75,.35)!important;background:linear-gradient(90deg,rgba(243,182,75,.14),rgba(243,182,75,.05))!important;color:#ffe499!important;font-family:"DM Sans",sans-serif!important;font-size:11px!important;font-weight:750!important;letter-spacing:.01em!important;text-align:center!important;box-shadow:0 4px 14px rgba(0,0,0,.25),0 0 16px rgba(243,182,75,.1)!important;animation:notice-amber-breathe 4s ease-in-out infinite alternate!important}
@keyframes notice-amber-breathe{
0%{border-color:rgba(243,182,75,.25);box-shadow:0 0 10px rgba(243,182,75,.08)}
100%{border-color:rgba(243,182,75,.5);box-shadow:0 0 18px rgba(243,182,75,.2)}
}
@media (max-width:640px){
.weather-card{width:100%!important;border-radius:20px!important}
.weather-main{padding:15px 16px!important;min-height:105px!important}
.temp{font-size:60px!important}
.weather-icon{width:58px!important;height:58px!important;flex:0 0 58px!important}
.weather-state{font-size:15px!important}
.weather-list{padding:9px 10px!important;gap:6px!important}
.w-value{font-size:17px!important}
}
.weather-card{border-radius:24px!important;overflow:hidden!important;border:1px solid rgba(179,237,230,.2)!important;background:linear-gradient(155deg,rgba(6,32,46,.92),rgba(4,18,27,.96))!important;backdrop-filter:blur(24px) saturate(180%)!important;box-shadow:0 20px 50px rgba(0,10,16,.4),inset 0 1px 1px rgba(255,255,255,.15)!important}
.temp{font-size:56px!important;line-height:1!important;font-weight:800!important;letter-spacing:-.03em!important;display:flex!important;align-items:flex-start!important;gap:2px!important;background:linear-gradient(180deg,#fff 40%,#b8f0e5 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;filter:drop-shadow(0 4px 12px rgba(0,0,0,.3))!important}
.temp-unit{font-size:22px!important;font-weight:700!important;margin-top:6px!important;background:linear-gradient(180deg,#fff 40%,#b8f0e5 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important}
.weather-condition{display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;margin-top:4px!important}
.weather-icon{width:56px!important;height:56px!important;flex:0 0 56px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.2),transparent 50%),linear-gradient(155deg,#1b6a7f,#093444)!important;border:1px solid rgba(255,255,255,.25)!important;box-shadow:0 8px 16px rgba(0,0,0,.3),inset 0 1px 1px rgba(255,255,255,.3)!important}
.weather-icon img,.weather-icon svg{width:65%!important;height:65%!important;object-fit:contain!important;display:block!important}
.weather-state{font-size:16px!important;font-weight:700!important;line-height:1.2!important;color:#fff!important;letter-spacing:.01em!important;text-shadow:0 2px 6px rgba(0,0,0,.4)!important}
.weather-list{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;padding:14px!important;background:rgba(0,0,0,.15)!important}
.w-row{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:6px!important;padding:12px 8px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.08)!important;background:rgba(255,255,255,.04)!important;transition:transform .2s ease,background .2s ease,border-color .2s ease!important}
.w-row:hover{transform:translateY(-2px)!important;background:rgba(255,255,255,.08)!important;border-color:rgba(0,240,196,.3)!important}
.w-ico{width:32px!important;height:32px!important;flex:0 0 32px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:rgba(0,240,196,.12)!important;color:#7ef2db!important;font-size:15px!important;font-weight:700!important;border:1px solid rgba(0,240,196,.15)!important}
.w-ico img,.w-ico svg{width:60%!important;height:60%!important;object-fit:contain!important;display:block!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))!important}
.w-value{font-size:18px!important;font-weight:800!important;line-height:1!important;color:#fff!important;letter-spacing:-.02em!important;display:flex!important;align-items:baseline!important;justify-content:center!important;gap:2px!important}
.w-value small{font-size:11px!important;font-weight:600!important;color:rgba(220,248,242,.7)!important}
.w-label{font-size:11px!important;font-weight:600!important;line-height:1.2!important;color:rgba(220,248,242,.65)!important;letter-spacing:.02em!important;text-transform:uppercase!important}
.weather-main{padding:20px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.weather-place{font-size:12px!important;font-weight:700!important;color:#8ce8db!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin-bottom:2px!important}
@keyframes sun-spin{
from{transform:rotate(0)}
to{transform:rotate(360deg)}
}
@keyframes cloud-float{
0%,100%{transform:translateX(0)}
50%{transform:translateX(8px)}
}
@keyframes rain-drop{
0%{transform:translateY(-10px);opacity:0}
50%{opacity:1}
100%{transform:translateY(10px);opacity:0}
}
.weather-icon[data-meteocon=clear-day]{animation:sun-spin 12s linear infinite}
.weather-icon[data-meteocon=cloudy],.weather-icon[data-meteocon=partly-cloudy-day]{animation:cloud-float 4s ease-in-out infinite}
.weather-icon[data-meteocon=rain]{animation:rain-drop 2s ease-in-out infinite}
.weather-condition{display:flex;align-items:center;gap:12px}
.weather-state{font-size:16px;font-weight:700;white-space:nowrap}
.weather-card{background:rgba(3,14,22,.56)!important;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);box-shadow:0 26px 64px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.16)}
.weather-card .weather-head,.weather-card .weather-main{border-bottom-color:rgba(255,255,255,.14)}
.weather-card .w-row{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.12)}
.weather-main{display:grid!important;grid-template-columns:.86fr 1.14fr!important;gap:5px!important;overflow:visible}
.weather-temp-block{position:relative;z-index:2}
.weather-main>.weather-condition{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;align-items:center!important;column-gap:4px!important;min-width:0;margin-left:-18px;padding-left:0!important;position:relative;z-index:1}
.weather-main>.weather-condition .weather-icon{width:88px!important;height:88px!important;margin-left:0!important;border-radius:20px}
.weather-main>.weather-condition .weather-icon img{width:82px!important;height:72px!important}
.weather-main>.weather-condition .weather-state{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;line-height:1.1}
@media (max-width:640px){
.weather-main{grid-template-columns:.84fr 1.16fr!important;gap:3px!important}
.weather-main>.weather-condition{grid-template-columns:76px minmax(0,1fr)!important;column-gap:3px!important;margin-left:-14px}
.weather-main>.weather-condition .weather-icon{width:76px!important;height:76px!important;border-radius:17px}
.weather-main>.weather-condition .weather-icon img{width:70px!important;height:62px!important}
}
@media (max-width:380px){
.weather-main>.weather-condition{grid-template-columns:68px minmax(0,1fr)!important;margin-left:-10px}
.weather-main>.weather-condition .weather-icon{width:68px!important;height:68px!important;border-radius:15px}
.weather-main>.weather-condition .weather-icon img{width:62px!important;height:56px!important}
}
.service-rates{position:relative;margin-top:46px;overflow:hidden;border:1px solid rgba(156,232,215,.24);border-radius:22px;background:linear-gradient(135deg,rgba(4,25,36,.82),rgba(8,62,69,.62));box-shadow:0 22px 52px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.1);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}
.service-rates::before{content:"";position:absolute;top:0;left:0;width:34%;height:3px;background:linear-gradient(90deg,var(--wp-aqua),var(--wp-sun))}
.service-rates-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:26px 28px 20px}
.service-rates-kicker{display:block;margin-bottom:7px;color:#8fe9db;font:700 11px/1 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.service-rates-heading h3{margin:0;color:#f5fbf8;font:700 clamp(28px, 3.1vw, 39px)/1 "Barlow Condensed",Impact,sans-serif;text-transform:uppercase}
.service-rates-heading p{margin:8px 0 0;color:rgba(231,245,239,.72);font-size:13px}
.service-rates-badge{display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;border:1px solid rgba(243,182,75,.45);border-radius:50%;background:rgba(243,182,75,.12);color:#ffd98a;font:800 12px "DM Sans",sans-serif;letter-spacing:.05em}
.service-rates-scroll{overflow-x:auto;padding:0 28px 4px;scrollbar-color:rgba(127,230,234,.55) rgba(255,255,255,.08);scrollbar-width:thin}
.service-rates table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;color:#f3fbf7;font-size:13px}
.service-rates td,.service-rates th{padding:15px 14px;border-right:1px solid rgba(186,231,220,.13);border-bottom:1px solid rgba(186,231,220,.13);text-align:center;white-space:nowrap}
.service-rates tr>:first-child{border-left:1px solid rgba(186,231,220,.13);text-align:left}
.service-rates thead th{border-top:1px solid rgba(186,231,220,.18);background:rgba(0,167,189,.17);color:#bdf8ed;font:700 12px "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.service-rates thead th:first-child{border-top-left-radius:12px}
.service-rates thead th:last-child{border-top-right-radius:12px}
.service-rates tbody th{width:28%;background:rgba(255,255,255,.045);color:#f7fcfa;font-weight:700}
.service-rates tbody td{background:rgba(255,255,255,.018);color:#fff;font-weight:700;font-variant-numeric:tabular-nums}
.service-rates tbody tr:nth-child(2n) td,.service-rates tbody tr:nth-child(2n) th{background:rgba(255,255,255,.07)}
.service-rates tbody tr:hover td,.service-rates tbody tr:hover th{background:rgba(15,199,215,.13)}
.service-rates tbody tr:last-child th{border-bottom-left-radius:12px}
.service-rates tbody tr:last-child td:last-child{border-bottom-right-radius:12px}
.service-rates td span{color:#ffd98a}
.service-rates-note{margin:15px 28px 23px;color:rgba(231,245,239,.62);font-size:11px;line-height:1.5}
.service-rates-note span{color:#ffd98a;font-weight:800}
@media (max-width:640px){
.service-rates{margin-top:34px;border-radius:17px}
.service-rates-heading{padding:22px 18px 17px}
.service-rates-heading p{max-width:245px;font-size:12px}
.service-rates-badge{width:40px;height:40px;flex-basis:40px;font-size:11px}
.service-rates-scroll{overflow:visible;padding:0 14px 4px}
.service-rates table{display:block;min-width:0;font-size:12px}
.service-rates thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}
.service-rates tbody{display:grid;gap:10px}
.service-rates tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;border:1px solid rgba(186,231,220,.15);border-radius:12px;background:rgba(255,255,255,.04)}
.service-rates tbody tr>th:first-child{grid-column:1/-1;width:auto;padding:11px 12px;border:0;border-bottom:1px solid rgba(186,231,220,.14);border-radius:0;background:rgba(0,167,189,.12);font-size:13px}
.service-rates tbody td{display:grid;min-width:0;justify-items:center;gap:5px;padding:9px 3px;border:0;border-right:1px solid rgba(186,231,220,.1);border-bottom:1px solid rgba(186,231,220,.1);white-space:nowrap;font-size:11px}
.service-rates tbody td:last-of-type{border-right:0}
.service-rates tbody td::before{color:#a9ded3;content:attr(data-label);font-size:9px;font-weight:800;letter-spacing:.03em}
.service-rates tbody tr:nth-child(2n) td,.service-rates tbody tr:nth-child(2n) th{background:0 0}
.service-rates tbody tr:nth-child(2n)>th:first-child{background:rgba(0,167,189,.12)}
.service-rates tbody tr:last-child td:last-child,.service-rates tbody tr:last-child th{border-radius:0}
.service-rates-note{margin:13px 18px 19px}
}
.section-sub{font-size:17px!important;line-height:1.62!important;font-weight:550!important;letter-spacing:.005em}
#aliados .section-sub,#camaras .section-sub,#guia .section-sub,#servicios .section-sub,.after-surf .section-sub,.has-px .section-sub{color:rgba(238,250,246,.88)!important;text-shadow:0 1px 12px rgba(0,0,0,.28)}#servicios .section-sub{text-shadow:0 2px 18px rgba(0,0,0,.72),0 0 3px rgba(0,0,0,.75)}
.cam-body p,.service-body p{font-size:15px!important;line-height:1.55!important;font-weight:550!important;letter-spacing:.005em}
#camaras .cam-body p,#servicios .service-body p{color:rgba(255,255,255,.9)!important}
.cam-action,.link-more,.service-body>a{font-size:14px!important;line-height:1.35}
.after-content p,.benefit p,.guide-content p,.promo-content p{font-size:15px!important;line-height:1.55!important;font-weight:550!important}
.guide-offering p,.service-offering p{font-size:15px!important;line-height:1.58!important;color:rgba(238,250,246,.84)!important}
.guide-offering strong,.service-offering strong{font-size:13px!important;line-height:1.35}
.guide-glossary span{font-size:13px!important;line-height:1.5!important;color:rgba(238,250,246,.78)!important}
.guide-detail-card p,.guide-detail-category>p:last-child{font-size:15px!important;line-height:1.65!important;color:rgba(238,250,246,.84)!important}
.guide-detail-card ul{font-size:13px!important;line-height:1.55!important;color:rgba(238,250,246,.8)!important}
footer a,footer p{font-size:14px!important;line-height:1.55}
@media (max-width:640px){
.section-sub{font-size:16px!important;line-height:1.58!important}
.after-content p,.benefit p,.cam-body p,.guide-content p,.guide-detail-card p,.guide-detail-category>p:last-child,.guide-offering p,.promo-content p,.service-body p,.service-offering p{font-size:14px!important;line-height:1.58!important}
.cam-action,.guide-offering strong,.link-more,.service-body>a,.service-offering strong{font-size:13px!important}
footer a,footer p{font-size:13px!important}
}
.accommodation-rate-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:24px 0 20px;padding:14px 16px;border:1px solid rgba(7,143,145,.18);border-radius:12px;background:linear-gradient(135deg,rgba(7,143,145,.08),rgba(243,182,75,.08));color:#47656d;font-size:13px;line-height:1.5}
.accommodation-rate-note strong{color:#087f87;font-weight:800}
.accommodation-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 8px}
.accommodation-destination{display:block;min-width:0;overflow:hidden;border-radius:12px;background:0 0;text-decoration:none;transition:transform .2s ease,outline-color .2s ease}
.accommodation-destination:hover{transform:translateY(-2px)}
.accommodation-destination:focus-visible{outline:3px solid #078f91;outline-offset:3px}
.accommodation-destination>img{display:block;width:100%;height:188px;object-fit:cover;background:0 0}
.accommodation-grid{display:grid;gap:18px}
.accommodation-card{overflow:hidden;scroll-margin-top:88px;border:1px solid rgba(8,43,58,.12);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(8,43,58,.1)}
.accommodation-gallery{display:grid;grid-template-columns:1.45fr .8fr;grid-template-rows:118px 118px;gap:4px;height:240px;background:#dceae5}
.accommodation-gallery img{width:100%;height:100%;min-width:0;object-fit:cover}
.accommodation-gallery img:first-child{grid-row:1/-1}
.accommodation-gallery img:nth-child(3){grid-column:2}
.accommodation-card-body{padding:20px 21px 22px}
.accommodation-category{margin:0 0 7px;color:#078f91;font:800 11px/1 "DM Sans",sans-serif;letter-spacing:.13em}
.accommodation-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.accommodation-card h3{margin:0;color:#143d4a;font:700 clamp(28px, 3vw, 38px)/1 "Barlow Condensed",Impact,sans-serif}
.accommodation-price{flex:0 0 auto;text-align:right}
.accommodation-price strong{display:block;color:#087f87;font:800 19px/1 "DM Sans",sans-serif}
.accommodation-price span{display:block;max-width:150px;margin-top:4px;color:#71858a;font-size:10px;line-height:1.25}
.accommodation-summary{margin:11px 0 17px;color:#4d6870;font-size:15px;line-height:1.55}
.accommodation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:16px;border-top:1px solid #e2ece8}
.accommodation-columns h4{margin:0 0 8px;color:#244d58;font:700 18px/1.1 "Barlow Condensed",Impact,sans-serif}
.accommodation-columns ul{display:grid;gap:7px;margin:0;padding-left:17px;color:#5d747a;font-size:13px;line-height:1.48}
.accommodation-columns li::marker{color:#0aa1a0}
@media (max-width:640px){
.accommodation-rate-note{align-items:flex-start;flex-direction:column;gap:3px}
.accommodation-destinations{gap:10px}
.accommodation-destination>img{height:145px}
.accommodation-gallery{height:190px;grid-template-rows:93px 93px}
.accommodation-card-body{padding:17px 16px 19px}
.accommodation-card-title{flex-direction:column;gap:9px}
.accommodation-price{text-align:left}
.accommodation-price span{max-width:none}
.accommodation-columns{grid-template-columns:1fr;gap:16px}
}
.surf-lesson-lead{max-width:640px;margin:0 0 22px;color:#45636c;font-size:18px;line-height:1.6;font-weight:600}
.surf-lesson-description{max-width:720px;margin:0 0 23px;color:#5b7379;font-size:15px;line-height:1.68}
.surf-lesson-gallery{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(160px,1fr));height:auto;margin-bottom:27px;gap:12px}
.surf-lesson-gallery img:first-child{display:block;grid-row:span 2}
.surf-lesson-gallery img{width:100%;height:100%;min-height:170px;border-radius:14px;object-fit:contain;background:rgba(11,49,60,.08)}
.surf-lesson-survey-intro{display:flex;flex-wrap:wrap;align-items:flex-start;min-width:0;gap:14px;margin:8px 0 6px;padding:18px;border:1px solid rgba(7,143,145,.2);border-radius:15px;background:linear-gradient(135deg,rgba(7,143,145,.08),rgba(243,182,75,.1))}
.surf-lesson-survey-intro>div{min-width:0}
.surf-lesson-survey-mark{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:11px;background:#087f87;color:#fff;font:800 12px "DM Sans",sans-serif;letter-spacing:.08em}
.surf-lesson-survey-intro .service-page-kicker{margin-bottom:6px;color:#087f87}
.surf-lesson-survey-intro h3{margin:0 0 7px;color:#173f4b;font:700 29px/1 "Barlow Condensed",Impact,sans-serif;text-transform:uppercase}
.surf-lesson-survey-intro p:last-child{max-width:530px;margin:0;color:#5a747b;font-size:14px;line-height:1.55}
@media (max-width:640px){
.surf-lesson-lead{font-size:16px}
.surf-lesson-gallery{grid-template-rows:repeat(2,minmax(0,1fr));height:260px;gap:9px}
.surf-lesson-survey-intro{padding:15px}
.surf-lesson-survey-intro h3{font-size:25px}
}
@media (max-width:380px){
.surf-lesson-gallery{height:226px}
.surf-lesson-survey-intro{gap:10px;padding:13px}
}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.instagram-footer-link{position:relative;display:inline-flex!important;width:42px;height:42px;align-items:center;justify-content:center;margin:0!important;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(8,43,58,.48);color:#fff!important;box-shadow:0 8px 24px rgba(3,20,31,.18);transition:transform .2s ease,background-color .2s ease,border-color .2s ease}
.instagram-footer-link-labeled{width:auto;min-width:42px;gap:9px;padding:0 14px;border-radius:999px;font-size:12px!important;font-weight:700}
.instagram-footer-link-labeled svg{flex:0 0 21px}
.instagram-footer-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8}
.instagram-footer-link .instagram-dot{fill:currentColor;stroke:none}
.instagram-footer-link:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.58);background:rgba(8,43,58,.76)}
.instagram-footer-link::after{content:'✦';position:absolute;top:-7px;right:-6px;color:#f5cf73;font-size:13px;line-height:1;opacity:0;transform:scale(.45) rotate(-18deg);animation:instagram-sparkle 5.8s ease-in-out infinite;pointer-events:none}
@keyframes instagram-sparkle{
0%,100%,72%{opacity:0;transform:scale(.45) rotate(-18deg)}
77%{opacity:.95;transform:scale(1.15) rotate(8deg)}
83%{opacity:.25;transform:scale(.78) rotate(20deg)}
88%{opacity:.8;transform:scale(1) rotate(-4deg)}
}
@media (prefers-reduced-motion:reduce){
.instagram-footer-link::after{animation:none;opacity:.65;transform:scale(.8)}
}
.surf-survey-open{display:inline-flex;align-items:center;gap:8px;margin-top:15px;padding:10px 15px;border:1px solid rgba(7,143,145,.32);border-radius:999px;background:#087f87;color:#fff;font:800 12px/1 "DM Sans",sans-serif;letter-spacing:.02em;cursor:pointer;box-shadow:0 8px 18px rgba(8,127,135,.18);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.surf-survey-open:hover{transform:translateY(-2px);background:#076e76;box-shadow:0 12px 24px rgba(8,127,135,.25)}
.surf-survey-modal{width:min(900px,calc(100% - 28px));max-height:min(860px,calc(100dvh - 28px));padding:0;border:1px solid rgba(186,231,220,.28);border-radius:20px;background:#f7fcf8;color:#173f4b;box-shadow:0 30px 90px rgba(3,20,31,.35)}
.surf-survey-modal::backdrop{background:rgba(3,24,35,.68);backdrop-filter:blur(5px)}
.surf-survey-modal-shell{max-height:min(860px,calc(100dvh - 28px));overflow:auto;padding:25px clamp(18px,4vw,34px) 30px}
.surf-survey-modal-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:13px}
.surf-survey-modal-head .service-page-kicker{margin-bottom:7px;color:#087f87}
.surf-survey-modal-head h2{margin:0 0 7px;color:#173f4b;font:700 35px/1 "Barlow Condensed",Impact,sans-serif}
.surf-survey-modal-head p:last-child{max-width:560px;margin:0;color:#5b7379;font-size:14px;line-height:1.5}
.surf-survey-close{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border:1px solid rgba(8,43,58,.16);border-radius:50%;background:#fff;color:#315863;font-size:25px;line-height:1;cursor:pointer}
.surf-survey-close:hover{border-color:#087f87;color:#087f87}
.surf-survey-modal form{margin-top:8px}
@media (max-width:640px){
.surf-survey-modal{width:calc(100% - 18px);max-height:calc(100dvh - 18px);border-radius:16px}
.surf-survey-modal-shell{max-height:calc(100dvh - 18px);padding:20px 15px 22px}
.surf-survey-modal-head h2{font-size:30px}
}
@media (prefers-reduced-motion:reduce){
.surf-survey-open{transition:none}
}
.ally-tile img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center 26%!important;padding:14px 18px 44px 18px!important;box-sizing:border-box!important;z-index:1!important;transition:none!important;pointer-events:none!important}
.ally-tile:hover img{transform:none!important}
.ally-tile::after{content:""!important;position:absolute!important;inset:0!important;z-index:2!important;background:linear-gradient(180deg,transparent 40%,rgba(2,22,28,.78) 100%)!important;pointer-events:none!important}
.allies-heading{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:8px!important;padding:34px 20px 14px!important;background:0 0!important}
.allies-main-title{margin:0!important;font-family:"Barlow Condensed",Impact,sans-serif!important;font-size:clamp(28px, 3.4vw, 40px)!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#fff!important;line-height:1.1!important}
.allies-sub-title{margin:0!important;font-family:"DM Sans",sans-serif!important;font-size:clamp(13px, 1.4vw, 16px)!important;color:rgba(228,244,239,.82)!important;max-width:680px!important;line-height:1.4!important}
.ally-tile img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center!important;padding:0!important;border-radius:0!important;z-index:1!important;transition:none!important;pointer-events:none!important}
.ally-tile:hover img{transform:none!important}
.allies-heading{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:56px 20px 24px!important;background:0 0!important;position:relative!important;z-index:10!important}
.allies-heading::before{content:""!important;display:block!important;width:44px!important;height:4px!important;background:#8fe9ee!important;border-radius:2px!important;margin-bottom:14px!important;box-shadow:0 0 14px rgba(143,233,238,.65)!important}
.allies-heading h2,.allies-main-title{margin:0 0 12px 0!important;font-family:"Barlow Condensed",Impact,sans-serif!important;font-size:clamp(34px, 4.2vw, 50px)!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#f3fbf7!important;line-height:1.08!important;text-shadow:0 3px 18px rgba(0,0,0,.55)!important;white-space:normal!important;max-width:900px!important}
.allies-heading p,.allies-sub-title{margin:0!important;font-family:"DM Sans",sans-serif!important;font-size:clamp(15px, 1.55vw, 18px)!important;font-weight:400!important;color:rgba(228,244,239,.82)!important;max-width:680px!important;line-height:1.55!important;letter-spacing:.01em!important;text-shadow:0 1px 8px rgba(0,0,0,.35)!important}
.service-pack-divider{display:flex;align-items:center;gap:18px;margin:38px 0 18px}
.service-pack-divider span{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(143,233,219,.62))}
.service-pack-divider span:last-child{background:linear-gradient(90deg,rgba(143,233,219,.62),transparent)}
.service-pack-divider p{margin:0;color:#9de8dc;font:800 12px/1.2 "DM Sans",sans-serif;letter-spacing:.16em;text-align:center}
.service-grid-catalog>.service-card-pack,.service-grid-catalog>.service-pack-divider,.service-grid-catalog>.service-rates{grid-column:1/-1}
.service-card-pack{display:grid;grid-template-columns:minmax(300px,.95fr) minmax(0,1.05fr);min-height:270px;overflow:hidden;border:1px solid rgba(156,232,215,.3);background:linear-gradient(135deg,rgba(4,25,36,.94),rgba(8,62,69,.85))}
.service-pack-image{position:relative;display:grid;min-height:270px;overflow:hidden;place-items:center;isolation:isolate}
.service-pack-image::after{position:absolute;z-index:-1;content:"";inset:0;background:linear-gradient(90deg,rgba(4,23,33,.2),rgba(4,23,33,.48)),linear-gradient(0deg,rgba(4,23,33,.66),transparent 72%)}
.service-pack-image img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.service-pack-image:focus-visible img,.service-pack-image:hover img{transform:scale(1.04)}
.service-pack-image-title{width:100%;padding:28px;color:#fff;font:400 clamp(34px, 5vw, 64px)/1.05 "Permanent Marker","Rock Salt",sans-serif;text-align:center;text-shadow:0 4px 5px rgba(0,0,0,.94),0 9px 24px rgba(0,0,0,.88);text-wrap:balance}.service-card-retreats .service-pack-image{display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px}.service-card-retreats .service-pack-retreat-mark{position:absolute;top:clamp(18px,2vw,28px);left:50%;z-index:1;width:min(48%,184px);transform:translateX(-50%);filter:drop-shadow(0 10px 20px rgba(10,216,228,.18));animation:retreat-logo-sway 4.2s ease-in-out infinite}.service-card-retreats .service-pack-retreat-mark img{display:block;width:100%;height:auto}.service-card-retreats .service-pack-image-title{position:absolute;top:50%;left:0;z-index:2;padding:0 28px;transform:translateY(-50%)}@keyframes retreat-logo-sway{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}@media (max-width:640px){.service-card-retreats .service-pack-retreat-mark{width:min(52%,156px)}}@media (prefers-reduced-motion:reduce){.service-card-retreats .service-pack-retreat-mark{animation:none}}.service-pack-body{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(25px,4vw,46px);color:#f5fbf8}
.service-pack-tag{display:inline-flex;align-items:center;min-height:36px;padding:0 15px;border:1px solid rgba(15,199,215,.42);border-radius:999px;background:rgba(15,199,215,.1);color:#a8f0e6;font:800 10px/1.2 "DM Sans",sans-serif;letter-spacing:.12em}
.service-pack-body p{margin:18px 0 20px;color:rgba(231,245,239,.82);font:500 16px/1.6 "DM Sans",sans-serif}
.service-pack-body>a:last-child{color:#ffd98a;font:800 13px/1.4 "DM Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.service-pack-body>a:last-child:hover{color:#fff}

@media (max-width:640px){
.service-pack-divider{gap:10px;margin:30px 0 14px}
.service-pack-divider p{max-width:62%;font-size:10px}
.service-card-pack{grid-template-columns:1fr}
.service-pack-image{min-height:210px}
.service-pack-body{padding:23px}
}
.allies-heading{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;max-width:1200px!important;width:100%!important;margin:0 auto!important;padding:28px 28px 14px!important;background:0 0!important;position:relative!important;z-index:10!important;box-sizing:border-box!important}
.allies-heading::before{content:""!important;display:block!important;width:40px!important;height:3px!important;background:#8fe9ee!important;border-radius:2px!important;margin:0 0 10px 0!important;box-shadow:0 0 14px rgba(143,233,238,.65)!important}
.allies-heading h2,.allies-main-title{margin:0 0 6px 0!important;font-family:"Barlow Condensed",Impact,sans-serif!important;font-size:clamp(26px, 3vw, 36px)!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#f3fbf7!important;line-height:1.1!important;text-align:left!important;text-shadow:0 3px 18px rgba(0,0,0,.55)!important;white-space:normal!important;max-width:900px!important}
.allies-heading p,.allies-sub-title{margin:0!important;font-family:"DM Sans",sans-serif!important;font-size:clamp(14px, 1.45vw, 17px)!important;font-weight:400!important;color:rgba(228,244,239,.84)!important;max-width:760px!important;line-height:1.45!important;text-align:left!important;letter-spacing:.01em!important;text-shadow:0 1px 8px rgba(0,0,0,.35)!important}
.service-includes{margin:28px 0;padding:24px 28px;background:rgba(0,167,189,.08);border:1px solid rgba(0,167,189,.2);border-radius:16px}
.service-includes h3{margin:0 0 14px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--wp-turquoise,#00a7bd)}
.service-includes ul{margin:0;padding:0 0 0 20px;list-style:none}
.service-includes li{position:relative;padding:6px 0;font-size:15px;font-weight:600;color:var(--wp-ink,#102638)}
.service-includes li::before{content:'✓';position:absolute;left:-20px;color:var(--wp-turquoise,#00a7bd);font-weight:900}
.service-includes{margin:28px 0;padding:24px 28px;background:rgba(0,167,189,.08);border:1px solid rgba(0,167,189,.2);border-radius:16px}
.service-includes h3{margin:0 0 14px;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--wp-turquoise,#00a7bd)}
.service-includes ul{margin:0;padding:0 0 0 20px;list-style:none}
.service-includes li{position:relative;padding:6px 0;font-size:15px;font-weight:600;color:var(--wp-ink,#102638)}
.service-includes li::before{content:'✓';position:absolute;left:-20px;color:var(--wp-turquoise,#00a7bd);font-weight:900}
.retreat-content-section{margin:34px 0}
.retreat-content-section h3,.retreat-itinerary-section>h3,.retreat-summary h3{margin:0 0 12px;color:#123f4b;font:700 30px/1.05 "Barlow Condensed",Impact,sans-serif}
.retreat-content-section h4{margin:20px 0 8px;color:#123f4b;font:700 23px/1.05 "Barlow Condensed",Impact,sans-serif}
.retreat-content-section p{margin:0 0 12px;color:#45606a;font-size:16px;line-height:1.7}
.retreat-intro{font-weight:700}
.retreat-summary{margin:36px 0;padding:24px;border:1px solid rgba(8,43,58,.12);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 14px 36px rgba(8,43,58,.08)}
.retreat-summary h3{margin-bottom:18px}
.retreat-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.retreat-fact{min-width:0;padding:12px;border-radius:10px;background:#eef6f3}
.retreat-fact dt{color:#608087;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.retreat-fact dd{margin:5px 0 0;color:#123f4b;font-size:14px;font-weight:800;line-height:1.4}
.retreat-fact:last-child{border:1px solid rgba(8,127,135,.2);background:#e1f4ef}
.retreat-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px}
.retreat-conditions h4,.retreat-list h4{margin:0 0 10px;color:#123f4b;font:700 22px/1.05 "Barlow Condensed",Impact,sans-serif}
.retreat-conditions ul,.retreat-day ul,.retreat-list ul{margin:0;padding:0;list-style:none}
.retreat-conditions li,.retreat-list li{position:relative;margin:7px 0;padding-left:18px;color:#45606a;font-size:13px;line-height:1.5}
.retreat-conditions li::before,.retreat-list li::before{position:absolute;left:0;color:#078f87;font-weight:900}
.retreat-list-included li::before{content:'✓'}
.retreat-conditions li::before,.retreat-list:not(.retreat-list-included) li::before{content:'•'}
.retreat-conditions{margin-top:23px;padding-top:18px;border-top:1px solid rgba(8,43,58,.1)}
.retreat-itinerary-section{margin-top:42px}
.retreat-itinerary{display:grid;gap:12px}
.retreat-day{padding:17px 18px;border:1px solid rgba(8,43,58,.1);border-left:4px solid #14a99d;border-radius:10px;background:rgba(255,255,255,.66)}
.retreat-day h4{margin:0 0 9px;color:#123f4b;font:700 21px/1.1 "Barlow Condensed",Impact,sans-serif}
.retreat-day li{position:relative;margin:6px 0;padding-left:15px;color:#45606a;font-size:13px;line-height:1.5}
.retreat-day li::before{position:absolute;left:0;color:#078f87;content:'•';font-weight:900}
.retreat-gallery{margin-top:30px}
.detail-story-retreats{max-width:none}
.retreat-editorial{display:grid;gap:24px;padding:18px;overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:radial-gradient(ellipse at 8% 0,rgba(16,164,154,.18),transparent 38%),linear-gradient(155deg,#082f43,#0b4050 54%,#082d40);box-shadow:0 24px 58px rgba(8,43,58,.17)}
.retreat-cover{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,.9fr);min-height:340px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:linear-gradient(135deg,rgba(7,36,54,.97),rgba(7,61,75,.88))}
.retreat-cover-copy{position:relative;z-index:1;align-self:center;padding:clamp(22px,3.2vw,38px)}
.retreat-card-kicker,.retreat-cover-kicker{margin:0 0 12px;color:#8be6d5;font:800 10px/1.3 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.retreat-cover h2{margin:0 0 14px;color:#f6fbf6;font:800 clamp(38px, 4.6vw, 58px)/.94 "Barlow Condensed",Impact,sans-serif;letter-spacing:-.02em}
.retreat-cover .retreat-intro,.retreat-cover-about{margin:0 0 13px;color:rgba(239,250,246,.83);font-size:14px;line-height:1.62}
.retreat-cover .retreat-intro{font-weight:700}
.retreat-cover-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.retreat-cover-facts span{display:inline-flex;min-height:34px;align-items:center;padding:7px 11px;border:1px solid rgba(137,233,214,.32);border-radius:999px;background:rgba(12,154,145,.2);color:#e8fff6;font-size:11px;font-weight:800}
.retreat-cover-facts span:last-child{border-color:rgba(255,203,119,.55);background:rgba(244,172,77,.17);color:#ffe4b3}
.retreat-cover-image{position:relative;min-height:100%;margin:0}
.retreat-cover-image::after{position:absolute;inset:0;background:linear-gradient(90deg,#082f43 0,rgba(8,47,67,.12) 44%,rgba(8,47,67,.03));content:""}
.retreat-cover-image img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}
.retreat-experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.retreat-experience-card{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.1),rgba(255,255,255,.045));box-shadow:inset 0 1px rgba(255,255,255,.06)}
.retreat-experience-card>img{display:block;width:100%;height:150px;object-fit:cover}
.retreat-experience-card>div{padding:17px 18px 19px}
.retreat-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;overflow:hidden}
.retreat-photo-grid img{display:block;width:100%;height:142px;object-fit:cover}
.retreat-destination-photos{grid-template-columns:1.2fr .8fr}
.retreat-destination-photos img{height:165px}
.retreat-stay-photos img{height:125px}
.retreat-yoga-photos img{height:155px}
.retreat-surf-trip-photos img{height:105px}
.retreat-boat-photos img{height:150px}
.retreat-coaching-photos{grid-template-columns:1fr 1fr}
.retreat-coaching-photos img{height:130px}
.retreat-coaching-photos img:first-child{grid-column:1/-1;height:145px}
.retreat-experience-card .retreat-card-kicker{margin-bottom:8px;color:#7fe0cb}
.retreat-experience-card h3,.retreat-experience-card h4{margin:0 0 9px;color:#f4fcf8;font:700 27px/1 "Barlow Condensed",Impact,sans-serif}
.retreat-experience-card h4{margin-top:20px;font-size:22px}
.retreat-experience-card p:not(.retreat-card-kicker){margin:0 0 11px;color:rgba(236,248,244,.8);font-size:13px;line-height:1.62}
.retreat-experience-card p:last-child{margin-bottom:0}
.retreat-yoga-card .retreat-photo-grid img:last-child{object-position:center 58%}
.retreat-surf-card .retreat-photo-grid img:nth-child(2){object-position:center 42%}
.retreat-summary{margin:0;padding:clamp(20px,3vw,30px);border-color:rgba(151,234,218,.23);background:linear-gradient(145deg,rgba(6,40,55,.87),rgba(11,75,81,.78)),url("assets/img/services/retreats/retreat-canva-wave-background.webp") center 43%/cover;box-shadow:inset 0 1px rgba(255,255,255,.08)}
.retreat-summary .retreat-card-kicker{margin-bottom:8px}
.retreat-itinerary-section>h3,.retreat-summary h3{margin:0 0 18px;color:#f4fbf8;font:700 clamp(30px, 3.5vw, 40px)/1 "Barlow Condensed",Impact,sans-serif}
.retreat-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.retreat-fact{border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.085)}
.retreat-fact dt{color:#a7d5cd}
.retreat-fact dd{color:#f4fbf8}
.retreat-fact:last-child{border-color:rgba(255,201,113,.42);background:rgba(255,184,86,.15)}
.retreat-fact:last-child dd{color:#ffe4b1}
.retreat-lists{gap:14px}
.retreat-conditions,.retreat-list{min-width:0;padding:17px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.055)}
.retreat-conditions h4,.retreat-list h4{color:#e9fbf5}
.retreat-conditions li,.retreat-list li{color:rgba(232,246,241,.8)}
.retreat-conditions li::before,.retreat-list li::before{color:#75e0c9}
.retreat-conditions{border-color:rgba(255,255,255,.1)}
.retreat-itinerary-section{margin:0;padding:clamp(20px,3vw,30px);border:1px solid rgba(151,234,218,.23);border-radius:16px;background:linear-gradient(145deg,rgba(6,40,55,.88),rgba(11,75,81,.8)),url("assets/img/services/retreats/retreat-canva-wave-background.webp") center 58%/cover}
.retreat-itinerary-section>.retreat-card-kicker{margin-bottom:8px}
.retreat-itinerary{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.retreat-day{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;padding:15px;border:1px solid rgba(255,255,255,.1);border-left:0;border-radius:13px;background:rgba(255,255,255,.065)}
.retreat-day-number{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(120,227,205,.32);border-radius:50%;background:rgba(16,164,154,.18);color:#a6efdd;font:800 11px "DM Sans",sans-serif}
.retreat-day h4{margin:3px 0 10px;color:#f3fbf7;font-size:22px}
.retreat-day li{color:rgba(232,246,241,.78)}
.retreat-day li::before{color:#75e0c9}
.retreat-gallery{margin-top:0}
.retreat-gallery img{height:176px;border:1px solid rgba(255,255,255,.12);object-fit:cover}
@media (max-width:980px){
.retreat-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
.retreat-editorial{gap:17px;padding:11px;border-radius:18px}
.retreat-cover{grid-template-columns:1fr}
.retreat-cover-copy{padding:23px 20px}
.retreat-cover-image{grid-row:1;min-height:200px}
.retreat-cover-image::after{background:linear-gradient(0deg,rgba(8,47,67,.1),transparent 50%)}
.retreat-cover-image img{min-height:200px;max-height:245px}
.retreat-cover h2{font-size:43px}
.retreat-experience-grid,.retreat-itinerary{grid-template-columns:1fr}
.retreat-experience-card>img{height:175px}
.retreat-boat-photos img,.retreat-destination-photos img,.retreat-photo-grid img,.retreat-yoga-photos img{height:155px}
.retreat-stay-photos img{height:125px}
.retreat-surf-trip-photos img{height:108px}
.retreat-coaching-photos img{height:125px}
.retreat-coaching-photos img:first-child{height:135px}
.retreat-summary{padding:18px}
.retreat-itinerary-section{padding:18px}
.retreat-lists,.retreat-summary-grid{grid-template-columns:1fr}
.retreat-day{padding:13px}
.retreat-gallery img{height:145px}
}
.detail-story .witch-rock-gallery{grid-template-columns:1fr;margin-top:8px}
.detail-story .witch-rock-gallery img:first-child{display:block}
.headcount-note{margin:12px 0 0;color:#5b7379;font-size:14px;line-height:1.55}
.headcount-ages{display:grid;gap:7px;margin-top:14px;color:var(--wp-ink,#102638);font-size:14px;font-weight:700}
.detail-hero-arrows{position:absolute;inset:0;z-index:2;pointer-events:none}
.detail-arrow{position:absolute;top:calc(50% + 34px);display:grid;place-items:center;width:72px;height:120px;margin-top:-60px;color:#f5fbf8;opacity:.5;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .25s ease,transform .25s ease}
.detail-arrow-prev{left:max(4px,calc((100vw - 1500px)/ 2))}
.detail-arrow-next{right:max(4px,calc((100vw - 1500px)/ 2))}
.detail-arrow svg{width:30px;height:50px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 10px rgba(4, 24, 33, .55))}
.detail-arrow:focus-visible,.detail-arrow:hover{opacity:.95}
.detail-arrow-prev:focus-visible,.detail-arrow-prev:hover{transform:translateX(-4px)}
.detail-arrow-next:focus-visible,.detail-arrow-next:hover{transform:translateX(4px)}
.detail-arrow:focus-visible{outline:2px solid rgba(245,251,248,.85);outline-offset:-6px;border-radius:18px}
@media (max-width:620px){
.retreat-summary{padding:18px}
.retreat-lists,.retreat-summary-grid{grid-template-columns:1fr}
.retreat-day{padding:15px}
}
@media (max-width:980px){
.detail-arrow{top:40%;width:44px;height:96px;margin-top:-48px;opacity:.55}
.detail-arrow-prev{left:0}
.detail-arrow-next{right:0}
.detail-arrow svg{width:22px;height:38px;stroke-width:2.6}
}
@media (prefers-reduced-motion:reduce){
.detail-arrow{transition:opacity .01s}
.detail-arrow-next:focus-visible,.detail-arrow-next:hover,.detail-arrow-prev:focus-visible,.detail-arrow-prev:hover{transform:none}
}
.mobile-menu .mobile-instagram-link{justify-content:flex-start;gap:12px;border:1px solid rgba(235,119,169,.26);background:linear-gradient(100deg,rgba(190,75,137,.2),rgba(255,255,255,.055));color:#fff}
.mobile-instagram-link svg{width:23px;height:23px;flex:0 0 23px;fill:none;stroke:currentColor;stroke-width:1.8}
.mobile-instagram-link svg .instagram-dot{fill:currentColor;stroke:none}
.mobile-instagram-link span:last-child{margin-left:auto;color:rgba(255,255,255,.62);font-size:16px}
.weather-head{gap:8px}
.weather-heading{min-width:0}
.weather-head>div>span:last-child{letter-spacing:.07em;line-height:1.25}
.weather-head small{max-width:42%;line-height:1.25;text-align:right}
.weather-main>.weather-condition{min-width:0}
.weather-main>.weather-condition .weather-state{font-size:13px!important;line-height:1.28!important;overflow-wrap:break-word;text-wrap:balance}
.weather-list .w-row{min-width:0}
.weather-list .w-label{max-width:100%;font-size:10px;line-height:1.25;text-wrap:balance}
.camera-status-night{font-size:11px;line-height:1.45}
@media (max-width:640px){
.weather-head{align-items:flex-start;padding:10px 12px}
.weather-heading{max-width:58%}
.weather-head>div>span:last-child{font-size:10px}
.weather-head small{max-width:42%;font-size:10px}
.weather-main{grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:6px;padding-inline:12px}
.weather-place{font-size:9px;letter-spacing:.045em}
.weather-main>.weather-condition{grid-template-columns:50px minmax(0,1fr)!important;column-gap:5px;margin-left:0!important}
.weather-main>.weather-condition .weather-icon{width:48px!important;height:48px!important;margin:0!important;border-radius:12px}
.weather-main>.weather-condition .weather-icon img{width:46px!important;height:42px!important}
.weather-main>.weather-condition .weather-state{font-size:12px!important}
.weather-list .w-row{align-items:flex-start;padding:7px 6px}
.weather-list .w-label{font-size:10px}
}
@media (max-width:380px){
.weather-main{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);padding-inline:10px}
.weather-main>.weather-condition{grid-template-columns:44px minmax(0,1fr)!important}
.weather-main>.weather-condition .weather-icon{width:42px!important;height:42px!important}
.weather-main>.weather-condition .weather-icon img{width:40px!important;height:38px!important}
.weather-main>.weather-condition .weather-state{font-size:12px!important}
.weather-list{padding-inline:7px}
.weather-list .w-row{padding-inline:4px}
}
.local-guide-page{isolation:isolate;position:relative;background-color:#082633;background-image:none}
.local-guide-page::before{position:fixed;z-index:-1;inset:0;background:linear-gradient(145deg,rgba(4,24,34,.2),rgba(5,43,52,.3)),url("assets/img/site/backgrounds/atardecer.webp") center/cover no-repeat;content:"";pointer-events:none}
.local-guide-page .guide-original-content{background:0 0}
.local-guide-page .guide-callout,.local-guide-page .guide-glossary a,.local-guide-page .guide-practical{border-color:rgba(207,239,229,.25);background:rgba(7,39,51,.4);box-shadow:inset 0 1px rgba(255,255,255,.09),0 16px 34px rgba(0,0,0,.16);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}
.local-guide-page .guide-glossary a:hover{background:rgba(10,72,78,.7)}
.local-guide-page .guide-detail-card{border-color:rgba(207,239,229,.28);background:rgba(5,30,41,.36);backdrop-filter:blur(12px) saturate(118%);-webkit-backdrop-filter:blur(12px) saturate(118%)}
.local-guide-page .guide-detail-card>div{background:rgba(5,32,43,.42);backdrop-filter:blur(12px) saturate(118%);-webkit-backdrop-filter:blur(12px) saturate(118%)}
.local-guide-page .guide-tip-card{display:block;min-height:0;padding:22px 24px;border:1px solid rgba(207,239,229,.32);border-radius:16px;background:linear-gradient(145deg,rgba(15,91,95,.48),rgba(5,31,43,.42));box-shadow:inset 0 1px rgba(255,255,255,.14),0 18px 38px rgba(0,0,0,.18);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.local-guide-page .guide-tip-card h4{margin:0 0 15px;padding-bottom:12px;border-bottom:1px solid rgba(207,239,229,.2);color:#f5fbf8;font-size:30px}
.local-guide-page .guide-tip-card ul{gap:11px;padding-left:18px;color:rgba(241,250,247,.88);font-size:13px;line-height:1.6}
.local-guide-page .guide-tip-card li::marker{color:#8fe3cf}
.local-guide-page .guide-tip-card:hover{border-color:rgba(159,237,215,.48);background:linear-gradient(145deg,rgba(17,106,105,.58),rgba(5,38,50,.48));transform:translateY(-2px)}
@media (max-width:760px){
.local-guide-page .guide-practical-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
.local-guide-page{background-position:center}
.local-guide-page .guide-tip-card{padding:19px}
.local-guide-page .guide-tip-card h4{font-size:27px}
}
@media (max-width:980px){
.topbar>.instagram-link{display:grid;top:64px;right:14px;left:auto}
}
@media (min-width:981px){
.topbar>.instagram-link{display:grid;top:18px;left:70px;right:auto}
}
@media (max-width:980px){
.topbar>.instagram-link{display:none}
}
#servicios .service-grid-catalog>.service-card:not(.service-card-pack) .service-body{position:absolute;inset:auto 0 0;max-height:148px;margin:0;overflow:hidden;border-top-color:rgba(255,255,255,.24);background:rgba(6,24,34,.72);transition:max-height .42s cubic-bezier(.2, .75, .2, 1),background-color .3s ease}
#servicios .service-grid-catalog>.service-card:not(.service-card-pack) .service-body p{max-height:0;margin:0;overflow:hidden;opacity:0;transform:translateY(10px);transition:max-height .38s ease,margin .38s ease,opacity .25s ease,transform .3s ease}
#servicios .service-grid-catalog>.service-card:not(.service-card-pack)::after{position:absolute;z-index:3;inset:0;border:1px solid rgba(127,230,234,.22);border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),0 0 10px rgba(58,205,215,.08);content:"";opacity:.48;pointer-events:none;animation:service-card-outline-glow 9s ease-in-out infinite}
#servicios .service-grid-catalog>.service-card:not(.service-card-pack):nth-of-type(3n+2)::after{animation-delay:-3s}
#servicios .service-grid-catalog>.service-card:not(.service-card-pack):nth-of-type(3n)::after{animation-delay:-6s}
#servicios .service-grid-catalog>.service-card:not(.service-card-pack).is-scroll-active .service-body,#servicios .service-grid-catalog>.service-card:not(.service-card-pack):focus-within .service-body,#servicios .service-grid-catalog>.service-card:not(.service-card-pack):hover .service-body{max-height:320px;background:rgba(6,24,34,.72)}
#servicios .service-grid-catalog>.service-card:not(.service-card-pack).is-scroll-active .service-body p,#servicios .service-grid-catalog>.service-card:not(.service-card-pack):focus-within .service-body p,#servicios .service-grid-catalog>.service-card:not(.service-card-pack):hover .service-body p{max-height:160px;margin:0 0 16px;opacity:1;transform:translateY(0)}
@media (hover:hover) and (pointer:fine){
#servicios .service-grid-catalog>.service-card:not(.service-card-pack):hover .service-img img{transform:scale(1.04)}
}
@media (hover:none) and (pointer:coarse){
#servicios .service-grid-catalog>.service-card:not(.service-card-pack):hover{transform:none}
#servicios .service-grid-catalog>.service-card:not(.service-card-pack):hover .service-img img{transform:none}
html:not(.service-card-scroll-enabled) #servicios .service-grid-catalog>.service-card:not(.service-card-pack) .service-body p{max-height:160px;margin:0 0 16px;opacity:1;transform:none}
html:not(.service-card-scroll-enabled) #servicios .service-grid-catalog>.service-card:not(.service-card-pack) .service-body{max-height:320px}
}
@keyframes service-card-outline-glow{
0%,100%,70%{border-color:rgba(127,230,234,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 0 8px rgba(58,205,215,.06);opacity:.38}
80%,88%{border-color:rgba(143,233,238,.62);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 0 16px rgba(58,205,215,.2);opacity:.78}
}
@media (prefers-reduced-motion:reduce){
#servicios .service-grid-catalog>.service-card:not(.service-card-pack)::after{animation:none}
}
#servicios{scroll-margin-top:-28px}
#nosotros{scroll-margin-top:-92px}
.dropbtn,.navlinks,.navlinks>a{color:#fff;opacity:1;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 8px rgba(0,0,0,.7)}
.hamb{color:#fff;background:0 0;border-color:transparent;box-shadow:none;text-shadow:0 1px 5px rgba(0,0,0,.65)}
.mobile-menu a small{color:#d8eee8;font-size:14px}
@media (max-width:980px){
.hamb{border-color:transparent;background:0 0;box-shadow:none}
}
.about-index,.about-kicker,.about-label,.about-scroll-note,.assistant-disclaimer,.assistant-header small,.camera-status-night,.country-seal-label,.guide-offering span,.guide-offering strong,.retreat-card-kicker,.retreat-cover-facts span,.retreat-cover-kicker,.retreat-fact dt,.service-offering span,.service-offering strong,.w-label,.weather-head small,.weather-head>div>span:last-child,.weather-list .w-label,.weather-place,.weather-state,.whatsapp-float small{font-size:13px;line-height:1.45}
.w-label,.weather-head small,.weather-head>div>span:last-child,.weather-list .w-label{color:rgba(255,255,255,.96)}
.weather-head small{opacity:1}
.weather-card{background:linear-gradient(145deg,rgba(4,29,42,.9),rgba(4,29,42,.86))}
.country-seal-label{color:#fff}
.about-label{color:#08716e}
.about-scroll-note{padding:10px 7px;border:1px solid rgba(231,249,247,.28);border-radius:999px;background:rgba(4,26,39,.82);color:#fff}
.about-scroll-note span{line-height:1}
.after-card-cta,.service-pack-tag,.service-rates-badge,.service-rates-kicker{font-size:13px;line-height:1.4}
.service-rates-note{color:#e8f5f0;font-size:13px;line-height:1.6}.service-rates-note p{margin:0}.service-rates-note p+p{margin-top:12px;padding-top:12px;border-top:1px solid rgba(231,245,239,.14)}.service-rates-note strong{color:#ffd98a;font-weight:800}
.service-rates tbody td,.service-rates tbody td::before{font-size:12px}
.service-rates tbody td::before{color:#d8f2e9}
.service-rates-heading p{color:#e8f5f0}
.after-card-cta{color:#e8fff6}
#weatherCard .weather-head small{color:#f0fff9!important;font-size:12px!important;opacity:1}
#weatherCard .weather-head .weather-heading>span:last-child{color:#fff!important;font-size:12px!important}
#weatherCard .w-label,#weatherCard .w-value small,#weatherCard .weather-place{color:#f0fff9!important;font-size:12px!important;line-height:1.35!important}
#weatherCard .camera-status-night{font-size:13px!important;line-height:1.45!important}
.service-rates tbody td::before{font-size:12px}
.guide-callout p,.guide-callout-actions a,.guide-detail-card p,.guide-detail-card ul,.guide-detail-category>p:last-child,.guide-detail-heading>p:last-child,.guide-glossary span,.guide-offering p,.retreat-conditions li,.retreat-day li,.retreat-experience-card p:not(.retreat-card-kicker),.retreat-list li,.service-offering p{color:#e8f5f0;font-size:14px;line-height:1.6}
.guide-detail-card a,.guide-offering strong,.service-offering strong{font-size:14px}
.retreat-fact dt{color:#c5e8df}
.assistant-header small{color:#e3fff5}
.assistant-disclaimer{color:#405d60}
.assistant-suggestions button{font-size:13px}
.whatsapp-float small{color:#e8f5f0;opacity:1}
@media (max-width:640px){
.about-index,.about-kicker,.about-label,.about-scroll-note,.country-seal-label,.guide-offering span,.guide-offering strong,.retreat-card-kicker,.retreat-cover-facts span,.retreat-cover-kicker,.service-offering span,.service-offering strong,.w-label,.weather-head,.weather-head small,.weather-head>div>span:last-child,.weather-list .w-label,.weather-place,.weather-state{font-size:12px}
.service-rates tbody td,.service-rates tbody td::before{font-size:12px}
}


@media (hover:none),(pointer:coarse),(max-width:1024px){
.about-page .about-closing,.about-page .about-gallery-section,.about-page .about-hero-image,.about-page .about-opening,.about-page .about-story,.after-surf,.hero,.service-detail-page,.services,.sponsor-strip,.px-bg{background-attachment:fixed!important}
.px-bg{position:fixed;inset:0}
}

@media (min-width:1025px){
.has-px .px-bg{position:fixed;inset:0}
#servicios .px-bg{position:absolute}
#servicios .px-bg{inset:0;background-position:center top}
}
@media (prefers-reduced-motion:reduce),(prefers-reduced-data:reduce){.has-px .px-bg{position:absolute}}










@media (min-width:981px){
.topbar .navlinks{position:relative}
.topbar .navlinks .dropbtn::after,.topbar .navlinks>a::after{display:none}
.nav-worm-indicator{position:absolute;z-index:2;left:0;bottom:3px;width:var(--worm-width,0);height:3px;border-radius:999px;background:linear-gradient(90deg,#88e4d2,#0fc7d7 72%,#f4c46a);box-shadow:0 0 10px rgba(15,199,215,.45);opacity:0;pointer-events:none;transform:translateX(var(--worm-x,0)) scaleX(.92);transform-origin:left center;transition:width .42s cubic-bezier(.22, 1.25, .36, 1),transform .48s cubic-bezier(.22, 1.25, .36, 1),opacity .16s ease}
.nav-worm-indicator::after{position:absolute;top:50%;right:-2px;width:7px;height:7px;border-radius:50%;background:#b8f0e1;box-shadow:0 0 8px rgba(15,199,215,.65);content:"";transform:translateY(-50%)}
.nav-worm-indicator.is-visible{opacity:1;transform:translateX(var(--worm-x,0)) scaleX(1)}
}
@media (max-width:980px){
.nav-worm-indicator{display:none}
}
@media (prefers-reduced-motion:reduce){
.nav-worm-indicator{transition:none}
}

.service-survey-form{position:relative}
.survey-progress{margin:0 0 20px;padding:12px 14px 13px;border:1px solid rgba(7,143,145,.18);border-radius:14px;background:linear-gradient(135deg,rgba(7,143,145,.08),rgba(243,182,75,.1))}
.survey-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#466770;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.survey-progress-copy strong{color:#087f87;font-size:13px;font-variant-numeric:tabular-nums}
.survey-progress-track{height:7px;margin-top:9px;overflow:hidden;border-radius:999px;background:rgba(8,127,135,.12)}
.survey-progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#087f87,#10a49a 68%,#f3b64b);box-shadow:0 0 12px rgba(16,164,154,.28);transition:width .45s cubic-bezier(.2, .8, .25, 1)}
.detail-question[data-survey-question]>legend,.detail-question[data-survey-question]>span{position:relative}
.detail-question[data-survey-question].is-answered>legend::after,.detail-question[data-survey-question].is-answered>span::after{display:inline-grid;width:18px;height:18px;margin-left:7px;place-items:center;border-radius:50%;background:#0a8f85;color:#fff;content:"✓";font-size:11px;vertical-align:-2px;animation:survey-answer-pop .28s ease both}
.detail-option{position:relative;overflow:hidden;min-height:48px;border-color:rgba(8,127,135,.16);background:linear-gradient(120deg,#fbfefd,#f4faf7);transition:border-color .22s ease,background .22s ease,box-shadow .22s ease,transform .22s ease}
.detail-option::after{position:absolute;right:12px;width:8px;height:8px;border:2px solid rgba(8,127,135,.22);border-radius:50%;content:"";transition:background .2s ease,border-color .2s ease,transform .2s ease}
.detail-option:has(input:checked){border-color:#0a9b91;background:linear-gradient(120deg,#e8faf4,#fff6df);box-shadow:0 8px 20px rgba(8,127,135,.13),inset 0 0 0 1px rgba(255,255,255,.75);color:#143f48;transform:translateX(3px)}
.detail-option:has(input:checked)::after{border-color:#0a9b91;background:#0a9b91;box-shadow:0 0 0 4px rgba(10,155,145,.13);transform:scale(1.05)}
.detail-option:focus-within{outline:3px solid rgba(16,164,154,.16);outline-offset:2px}
.detail-date-grid input:focus,.detail-field input:focus,.detail-field textarea:focus{border-color:#0a9b91;box-shadow:0 0 0 4px rgba(16,164,154,.12),0 8px 20px rgba(8,127,135,.08)}
.service-survey-form.is-survey-complete .survey-progress{border-color:rgba(10,143,133,.35);background:linear-gradient(135deg,rgba(10,143,133,.13),rgba(243,182,75,.12))}
.service-survey-form.is-survey-complete .survey-progress-track>span{animation:survey-complete-glow 1.6s ease-in-out infinite alternate}
@keyframes survey-answer-pop{
from{opacity:0;transform:scale(.55)}
to{opacity:1;transform:scale(1)}
}
@keyframes survey-complete-glow{
from{filter:brightness(1)}
to{filter:brightness(1.18)}
}
@media (max-width:640px){
.survey-progress{margin-bottom:16px;padding:11px 12px 12px}
.detail-option{min-height:50px;padding-right:36px}
}
@media (prefers-reduced-motion:reduce){
.detail-question[data-survey-question].is-answered>legend::after,.detail-question[data-survey-question].is-answered>span::after,.service-survey-form.is-survey-complete .survey-progress-track>span,.survey-progress-track>span{animation:none;transition:none}
}
.services-logo-wrap-rates{width:min(64%,270px);min-height:260px;margin:4px auto 0}
@media (max-width:980px){
.services-logo-wrap-rates{width:min(56%,250px);min-height:220px}
}
@media (max-width:640px){
.services-logo-wrap-rates{width:min(64vw,210px);min-height:170px;margin-top:0}
}
.about-hero-inner>.services-logo-wrap-rates{grid-column:auto;position:absolute;top:50%;right:clamp(20px,4vw,42px);width:min(34%,320px);min-height:220px;margin-top:-110px}
.about-hero-inner>.services-logo-wrap-rates .services-watermark{width:100%}
@media (max-width:760px){
.about-hero-inner>.services-logo-wrap-rates{position:relative;top:auto;right:auto;width:min(82vw,290px);min-height:180px;margin:14px auto 0}
}
.quick-request-launcher{position:fixed;right:28px;bottom:30px;z-index:1190;display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:10px 18px 10px 12px;border:1px solid rgba(161,245,233,.42);border-radius:999px;background:linear-gradient(135deg,#08a6a1,#087e98);color:#fff;box-shadow:0 16px 42px rgba(3,39,53,.34),0 0 0 6px rgba(87,220,210,.1);font:700 15px/1 var(--font-menu, "DM Sans", sans-serif);cursor:pointer;transition:transform .24s ease,box-shadow .24s ease,opacity .2s ease}
.quick-request-launcher:focus-visible,.quick-request-launcher:hover{transform:translateY(-3px);box-shadow:0 20px 52px rgba(3,39,53,.42),0 0 0 8px rgba(87,220,210,.14)}
.quick-request-launcher[aria-expanded=true]{opacity:0;pointer-events:none;transform:translateY(8px)}
.quick-request-launcher-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.16);font-size:19px}
.quick-request-panel{position:fixed!important;inset:22px 22px 22px auto;z-index:1200;width:min(480px,calc(100vw - 44px));max-height:calc(100dvh - 44px);margin:0!important;padding:0!important;overflow:hidden auto;overscroll-behavior:contain;border:1px solid rgba(164,240,233,.28)!important;border-radius:26px!important;background:linear-gradient(145deg,rgba(8,44,58,.98),rgba(5,29,43,.98))!important;color:#f5fffc;box-shadow:0 30px 100px rgba(0,0,0,.48),0 0 0 100vmax rgba(2,13,20,.46);transform:translateX(calc(100% + 42px));visibility:hidden;opacity:0;transition:transform .34s cubic-bezier(.2,.8,.25,1),opacity .22s ease,visibility 0s linear .34s}
.quick-request-panel.is-open{transform:translateX(0);visibility:visible;opacity:1;transition-delay:0s}
.quick-request-panel-bar{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 24px 18px;background:linear-gradient(180deg,rgba(8,44,58,.99),rgba(8,44,58,.9));border-bottom:1px solid rgba(198,251,244,.12);backdrop-filter:blur(16px)}
.quick-request-panel-bar .service-page-kicker{margin:0 0 5px;color:#8ee9df}
.quick-request-panel-bar h2{margin:0;color:#fff;font-size:clamp(27px, 4vw, 36px);line-height:.98}
.quick-request-close{flex:0 0 auto;width:40px;height:40px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:25px;line-height:1;cursor:pointer}
.quick-request-close:focus-visible,.quick-request-close:hover{background:rgba(255,255,255,.18)}
.quick-request-panel>.detail-request-head,.quick-request-panel>form{margin-left:24px;margin-right:24px}
.quick-request-panel>.detail-request-head{padding-top:20px}
.quick-request-panel .detail-request-head h2{color:#fff}
.quick-request-panel .detail-request-head p:last-child{color:rgba(237,255,251,.74)}
.quick-request-panel .service-survey-form{padding-bottom:26px}
.quick-request-panel .detail-question{color:#f4fffc}
.quick-request-panel .detail-option,.quick-request-panel .detail-question input,.quick-request-panel .detail-question textarea,.quick-request-panel .pack-service-card{background:rgba(255,255,255,.08);border-color:rgba(181,246,239,.22);color:#fff}
.quick-request-panel .detail-question input::placeholder,.quick-request-panel .detail-question textarea::placeholder{color:rgba(232,255,250,.55)}
.quick-request-panel .detail-option:has(input:checked),.quick-request-panel .pack-service-card:has(input:checked){border-color:#7ce8dd;background:rgba(45,199,184,.22)}
.quick-request-panel .detail-optional{color:rgba(222,250,244,.56)}
.quick-request-panel .detail-form-note{color:rgba(225,250,246,.62)}
.quick-step-hidden{display:none!important}
.survey-next-step{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:48px;margin:10px 0 12px;border:1px solid rgba(143,239,229,.42);border-radius:13px;background:rgba(47,195,184,.16);color:#b9fff3;font-weight:800;cursor:pointer}
.survey-next-step:focus-visible,.survey-next-step:hover{background:rgba(47,195,184,.28)}
.survey-next-step[hidden]{display:none}
.detail-submit:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.2)}
@media (max-width:640px){
.quick-request-launcher{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));min-height:50px;padding-right:15px;font-size:14px}
.quick-request-panel{inset:auto 10px 10px;width:auto;max-height:min(88dvh,720px);border-radius:24px!important;transform:translateY(calc(100% + 28px))}
.quick-request-panel.is-open{transform:translateY(0)}
.quick-request-panel-bar{padding:20px 18px 15px}
.quick-request-panel>.detail-request-head,.quick-request-panel>form{margin-left:18px;margin-right:18px}
.quick-request-panel>.detail-request-head{padding-top:16px}
.quick-request-panel-bar h2{font-size:29px}
}
@media (min-width:981px){
.detail-layout{grid-template-columns:minmax(0,1fr) minmax(370px,.72fr);gap:clamp(30px,4vw,66px);min-height:calc(100vh - 120px)}
.detail-story{max-width:none;max-height:calc(100vh - 128px);overflow-y:auto;overscroll-behavior:contain;padding:0 24px 34px 2px;scrollbar-width:thin;scrollbar-color:rgba(8,127,128,.55) transparent}
.quick-request-launcher{display:none}
.quick-request-panel{position:sticky!important;inset:auto!important;top:78px!important;width:auto!important;max-height:calc(100vh - 106px);overflow-y:auto;transform:none!important;visibility:visible!important;opacity:1!important;transition:none!important;background:linear-gradient(145deg,rgba(8,54,67,.76),rgba(5,31,44,.68))!important;box-shadow:0 22px 70px rgba(4,29,40,.24),inset 0 1px rgba(255,255,255,.18)!important;scrollbar-width:thin;scrollbar-color:rgba(132,232,220,.52) transparent}
.quick-request-panel-bar{background:linear-gradient(180deg,rgba(8,54,67,.86),rgba(8,54,67,.56))}
.quick-request-panel>.detail-request-head,.quick-request-panel>form{margin-left:24px;margin-right:24px}
}
.about-home .about-hero h2{font-family:'Shadows Into Light','Rock Salt',sans-serif;font-weight:400;letter-spacing:-.035em}
@media (min-width:761px){
.about-hero-inner>.services-logo-wrap-rates{top:calc(50% + 46px)}
}
@media (min-width:761px){
.about-scroll-note{bottom:112px}
}
@media (min-width:761px){
.about-hero-inner>.services-logo-wrap-rates{top:auto;bottom:22px;min-height:170px;margin-top:0}
}
.site-footer .foot-grid>div{position:relative;overflow:hidden}
.site-footer .foot-grid>div>*{position:relative;z-index:1}
.site-footer .foot-grid>div::after{content:"";position:absolute;z-index:0;top:-125%;left:28%;width:44%;height:170%;pointer-events:none;opacity:0;transform:translateY(-120%) rotate(7deg);background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.03) 22%,rgba(222,255,249,.22) 43%,rgba(255,255,255,.38) 50%,rgba(162,244,232,.14) 58%,transparent 82%);filter:blur(4px);animation:footer-chrome-pass 22s cubic-bezier(.22,.72,.3,1) infinite}
.site-footer .foot-grid>div:nth-child(2)::after{animation-delay:.18s}
.site-footer .foot-grid>div:nth-child(3)::after{animation-delay:.36s}
.site-footer .foot-grid>div:nth-child(4)::after{animation-delay:.54s}
.site-footer .foot-grid>div:nth-child(5)::after{animation-delay:.72s}
@keyframes footer-chrome-pass{
0%,8%{opacity:0;transform:translateY(-120%) rotate(7deg)}
12%{opacity:.72}
23%{opacity:.9;transform:translateY(115%) rotate(7deg)}
100%,31%{opacity:0;transform:translateY(135%) rotate(7deg)}
}
@media (prefers-reduced-motion:reduce){
.site-footer .foot-grid>div::after{animation:none}
}
.site-footer .foot-grid>div::after{top:28%;left:-125%;width:170%;height:44%;transform:translateX(-120%) rotate(-7deg);background:linear-gradient(180deg,transparent 0,rgba(255,255,255,.03) 22%,rgba(222,255,249,.22) 43%,rgba(255,255,255,.38) 50%,rgba(162,244,232,.14) 58%,transparent 82%)}
@keyframes footer-chrome-pass{
0%,8%{opacity:0;transform:translateX(-120%) rotate(-7deg)}
12%{opacity:.72}
23%{opacity:.9;transform:translateX(115%) rotate(-7deg)}
100%,31%{opacity:0;transform:translateX(135%) rotate(-7deg)}
}
.site-footer .foot-grid>div::after{top:-35%;left:-125%;width:44%;height:170%;transform:translateX(-120%) rotate(7deg);background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.03) 22%,rgba(222,255,249,.22) 43%,rgba(255,255,255,.38) 50%,rgba(162,244,232,.14) 58%,transparent 82%)}
@keyframes footer-chrome-pass{
0%,8%{opacity:0;transform:translateX(-120%) rotate(7deg)}
12%{opacity:.72}
23%{opacity:.9;transform:translateX(315%) rotate(7deg)}
100%,31%{opacity:0;transform:translateX(360%) rotate(7deg)}
}
.site-footer .foot-grid{position:relative;isolation:isolate;overflow:hidden}
.site-footer .foot-grid>div::after{display:none}
.site-footer .foot-grid::after{content:"";position:absolute;z-index:3;top:-18%;left:-96px;width:76px;height:136%;pointer-events:none;opacity:0;transform:rotate(7deg);background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.08) 25%,rgba(225,255,249,.38) 45%,rgba(255,255,255,.78) 50%,rgba(153,242,229,.28) 57%,transparent 82%);filter:blur(3px) drop-shadow(0 0 12px rgba(182,255,242,.32));animation:footer-chrome-sword 22s cubic-bezier(.3,.7,.2,1) infinite}
@keyframes footer-chrome-sword{
0%,3%{left:-96px;opacity:0}
5%{opacity:.9}
14%{left:calc(100% + 96px);opacity:.92}
100%,18%{left:calc(100% + 120px);opacity:0}
}
@media (prefers-reduced-motion:reduce){
.site-footer .foot-grid::after{animation:none}
}
.topbar>.instagram-link{display:none!important}
.navlinks .header-social-link{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:-5px;color:#fff;text-decoration:none;transition:transform .2s ease,filter .2s ease}
.navlinks .header-social-link:focus-visible,.navlinks .header-social-link:hover{transform:translateY(-2px);filter:brightness(1.14)}
.navlinks .header-social-link svg{width:24px;height:24px}
.navlinks .header-instagram-link svg{fill:none;stroke:currentColor;stroke-width:1.8}
.navlinks .header-instagram-link .instagram-dot{fill:currentColor;stroke:none}
.navlinks .header-whatsapp-link .whatsapp-brand-icon{filter:drop-shadow(0 2px 5px rgba(0,0,0,.22))}
.mobile-instagram-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.mobile-instagram-link .instagram-dot{fill:currentColor;stroke:none}
@media (min-width:981px){
.whatsapp-float{display:none}
}
@media (max-width:980px){
.navlinks .header-social-link{display:none}
.whatsapp-float{right:18px;bottom:82px;width:48px;height:48px;min-height:48px}
.whatsapp-float svg{width:46px;height:46px;flex-basis:46px}
.whatsapp-float span{display:none!important}
}

#servicios .service-grid-catalog > .service-card:not(.service-card-pack) .service-body > a[data-i18n="serviceMoreInfo"] {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  margin-top: 8px;
  padding: 7px 38px;
  border: 0;
  background:
    repeating-linear-gradient(3deg, transparent 0 7px, rgba(93, 65, 32, .035) 7px 8px),
    linear-gradient(105deg, #f8e9c9, #fff4dc 48%, #f1dfb9);
  clip-path: polygon(
    0 8%, 5% 12%, 4% 3%, 11% 9%, 17% 4%, 24% 11%, 31% 4%, 39% 10%,
    46% 3%, 54% 11%, 62% 5%, 69% 10%, 77% 3%, 84% 9%, 92% 4%, 100% 10%,
    98% 25%, 100% 38%, 97% 51%, 100% 64%, 98% 78%, 100% 91%, 93% 88%,
    87% 97%, 79% 90%, 71% 96%, 64% 90%, 55% 97%, 47% 90%, 39% 96%,
    31% 90%, 23% 97%, 15% 90%, 8% 96%, 0 90%, 2% 76%, 0 63%, 3% 50%,
    0 37%, 2% 23%
  );
  box-shadow: 0 7px 18px rgba(0, 0, 0, .28);
  color: #103d48 !important;
  filter: drop-shadow(0 5px 7px rgba(0, 0, 0, .28));
  font-family: "Barlow Condensed", "Arial Narrow", sans-serif;
  font-size: clamp(12px, 1vw, 15px) !important;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  text-transform: uppercase;
  transition: filter .2s ease, transform .2s ease;
}
#servicios .service-grid-catalog > .service-card:not(.service-card-pack) .service-body > a[data-i18n="serviceMoreInfo"]::after {
  position: absolute;
  top: 50%;
  right: 14px;
  color: #087f88;
  content: "↗";
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: .8;
  transform: translateY(-50%);
  transition: transform .2s ease;
}
#servicios .service-grid-catalog > .service-card:not(.service-card-pack) .service-body > a[data-i18n="serviceMoreInfo"]:hover {
  filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .35));
  transform: rotate(-1deg) scale(1.025);
}
#servicios .service-grid-catalog > .service-card:not(.service-card-pack) .service-body > a[data-i18n="serviceMoreInfo"]:hover::after {
  transform: translate(3px, calc(-50% - 2px));
}
#servicios .service-grid-catalog > .service-card:not(.service-card-pack) .service-body > a[data-i18n="serviceMoreInfo"]:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}
@media (max-width: 400px) {
  #servicios .service-grid-catalog > .service-card:not(.service-card-pack) .service-body > a[data-i18n="serviceMoreInfo"] {
    min-height: 36px;
    padding-inline: 32px;
    font-size: 12px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #servicios .service-grid-catalog > .service-card:not(.service-card-pack) .service-body > a[data-i18n="serviceMoreInfo"],
  #servicios .service-grid-catalog > .service-card:not(.service-card-pack) .service-body > a[data-i18n="serviceMoreInfo"]::after {
    transition: none;
  }
}

/* Render stability: do not composite closed, off-canvas fixed panels during scroll. */
.mobile-panel {
  visibility: hidden;
  pointer-events: none;
  transition: transform .28s ease, visibility 0s linear .28s;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.mobile-panel.show {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.quick-request-panel:not(.is-open) { display: none !important; }
.quick-request-panel.is-open { display: block; }

/* Stays and Hotels: open, photo-led accommodation catalogue. */
.accommodation-detail-page {
  background-color: #edf3ef;
  background-image: linear-gradient(145deg, rgba(241, 245, 243, .68), rgba(223, 237, 233, .72)), var(--service-detail-image);
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
}
.accommodation-detail-page .detail-content {
  padding: clamp(58px, 8vw, 112px) 0 clamp(72px, 9vw, 128px);
  background: transparent;
}
.accommodation-detail-page .detail-layout {
  display: block;
  min-height: 0;
}
.accommodation-detail-page .detail-story {
  width: 100%;
  max-width: none;
  max-height: none;
  margin: 0 auto;
  padding: 0;
  overflow: visible;
  overscroll-behavior: auto;
}
.accommodation-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
  align-items: end;
  gap: clamp(34px, 6vw, 88px);
  max-width: 1160px;
  margin: 0 auto clamp(48px, 7vw, 88px);
}
.accommodation-intro-copy { max-width: 760px; }
.accommodation-intro h2 {
  max-width: 760px;
  margin: 0;
  color: #123d49;
  font: 700 clamp(48px, 6vw, 72px)/.96 "Barlow Condensed", Impact, sans-serif;
  letter-spacing: -.02em;
}
.accommodation-intro-copy > p:not(.service-page-kicker) {
  max-width: 710px;
  margin: 21px 0 28px;
  color: #506a70;
  font-size: 18px;
  line-height: 1.72;
}
.accommodation-check-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  padding: 0 20px;
  border: 1px solid rgba(5, 87, 93, .16);
  border-radius: 999px;
  background: #0a737a;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(8, 78, 83, .16);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.accommodation-check-link:hover { transform: translateY(-2px); background: #095e68; box-shadow: 0 16px 30px rgba(8, 78, 83, .22); }
.accommodation-check-link:focus-visible { outline: 3px solid #f0b75f; outline-offset: 4px; }
.accommodation-check-link span { font-size: 18px; }
.accommodation-overview-meta { display: grid; gap: 18px; align-content: end; }
.accommodation-destinations {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}
.accommodation-destination {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 54px;
  padding: 10px 13px;
  border: 1px solid rgba(28, 81, 83, .16);
  border-radius: 999px;
  background: rgba(255, 255, 255, .68);
  color: #244e56;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.accommodation-destination:hover { transform: translateY(-2px); border-color: #54a7a0; background: #fff; }
.accommodation-destination:focus-visible { outline: 3px solid #078f91; outline-offset: 3px; }
.accommodation-destination-index { color: #078f91; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.accommodation-destination-name { min-width: 0; overflow: hidden; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.accommodation-destination-arrow { margin-left: auto; color: #078f91; font-size: 16px; }
.accommodation-detail-page .accommodation-rate-note {
  display: grid;
  gap: 4px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid rgba(7, 143, 145, .14);
  border-radius: 16px;
  background: rgba(255, 255, 255, .78);
  color: #60777a;
  font-size: 12px;
  line-height: 1.55;
  backdrop-filter: none;
}
.accommodation-rate-note strong { color: #087f87; font-size: 12px; }
.accommodation-grid {
  display: grid;
  gap: clamp(28px, 4vw, 48px);
  max-width: 1160px;
  margin: 0 auto;
  counter-reset: stay-option;
}
.accommodation-card {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: stretch;
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(20, 62, 67, .1);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 20px 54px rgba(31, 66, 63, .09);
  scroll-margin-top: 112px;
  counter-increment: stay-option;
}
.accommodation-gallery {
  display: grid;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 7px;
  min-width: 0;
  min-height: 440px;
  height: 100%;
  padding: 10px;
  background: #f5f8f5;
}
.accommodation-gallery img { width: 100%; height: 100%; min-width: 0; min-height: 0; border-radius: 17px; object-fit: cover; }
.accommodation-gallery img:first-child { grid-row: 1 / -1; }
.accommodation-gallery img:nth-child(3) { grid-column: 2; }
.accommodation-gallery:has(img:only-child) { grid-template-columns: 1fr; grid-template-rows: 1fr; min-height: 440px; }
.accommodation-gallery:has(img:only-child) img:first-child { grid-row: auto; }
.accommodation-gallery:has(img:nth-child(2):last-child) img:nth-child(2) { grid-column: 2; grid-row: 1 / -1; }
.accommodation-card-body {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: clamp(28px, 4vw, 52px);
}
.accommodation-category {
  margin: 0 0 12px;
  color: #078f91;
  font: 800 11px/1.2 "DM Sans", sans-serif;
  letter-spacing: .13em;
}
.accommodation-category::before { content: counter(stay-option, decimal-leading-zero) " / "; color: #8aa3a0; }
.accommodation-card-title { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 18px; }
.accommodation-card h3 {
  margin: 0;
  color: #143d4a;
  font: 700 clamp(34px, 3.7vw, 50px)/.98 "Barlow Condensed", Impact, sans-serif;
  letter-spacing: -.015em;
}
.accommodation-price { flex: 0 0 auto; text-align: right; }
.accommodation-price strong { display: block; color: #087f87; font: 800 20px/1.1 "DM Sans", sans-serif; white-space: nowrap; }
.accommodation-price span { display: block; max-width: 170px; margin-top: 6px; color: #71858a; font-size: 11px; line-height: 1.4; }
.accommodation-summary { margin: 20px 0 25px; color: #526a70; font-size: 16px; line-height: 1.7; }
.accommodation-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.5vw, 30px);
  padding-top: 22px;
  border-top: 1px solid #e5ece8;
}
.accommodation-columns section { min-width: 0; }
.accommodation-columns h4 { margin: 0 0 12px; color: #244d58; font: 700 20px/1.1 "Barlow Condensed", Impact, sans-serif; }
.accommodation-columns ul { display: grid; gap: 9px; margin: 0; padding-left: 18px; color: #5d747a; font-size: 14px; line-height: 1.6; }
.accommodation-columns li::marker { color: #0aa1a0; }
.accommodation-detail-page .quick-request-launcher { display: none !important; }
.accommodation-detail-page .quick-request-panel:not(.is-open) { display: block !important; }
.accommodation-detail-page .quick-request-panel {
  position: relative !important;
  inset: auto !important;
  z-index: 1;
  width: 100% !important;
  max-width: 900px;
  max-height: none !important;
  margin: clamp(62px, 8vw, 108px) auto 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 1px solid rgba(164, 240, 233, .25) !important;
  border-radius: 28px !important;
  background: linear-gradient(145deg, #083643, #052c3b) !important;
  box-shadow: 0 24px 60px rgba(4, 29, 40, .18) !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: none !important;
  scroll-margin-top: 100px;
}
.accommodation-detail-page .quick-request-panel-bar { position: relative; top: auto; backdrop-filter: none; }
.accommodation-detail-page .quick-request-panel-bar h2 { font-size: clamp(32px, 4vw, 44px); }
.accommodation-detail-page .quick-request-panel .detail-request-head { padding: 22px 28px 18px; border-bottom-color: rgba(198, 251, 244, .14); }
.accommodation-detail-page .quick-request-panel .detail-request-head h2 { font-size: clamp(30px, 3.6vw, 42px); }
.accommodation-detail-page .quick-request-panel .service-survey-form { padding: 22px 28px 32px; }
.accommodation-detail-page .quick-request-panel .survey-progress { border-color: rgba(141, 222, 211, .2); background: rgba(255, 255, 255, .07); }
.accommodation-detail-page .quick-request-panel .survey-progress-copy { color: rgba(237, 255, 251, .78); }
.accommodation-detail-page .quick-request-panel .survey-progress-copy strong { color: #8ee9df; }
.accommodation-detail-page .quick-request-panel .detail-date-grid label { color: rgba(237, 255, 251, .76); }
.accommodation-detail-page .quick-request-panel .quick-request-close { display: none; }
@media (max-width: 980px) {
  .accommodation-intro { grid-template-columns: 1fr; gap: 28px; max-width: 900px; }
  .accommodation-overview-meta { max-width: 680px; }
  .accommodation-card { grid-template-columns: 1fr; }
  .accommodation-gallery { min-height: 0; height: clamp(270px, 48vw, 390px); }
  .accommodation-gallery:has(img:only-child) { min-height: 0; height: clamp(270px, 48vw, 390px); }
  .accommodation-card-body { padding: clamp(26px, 5vw, 44px); }
  .accommodation-detail-page .quick-request-panel { max-width: 900px; }
}
@media (max-width: 640px) {
  .accommodation-detail-page .detail-content { padding: 52px 0 76px; }
  .accommodation-intro { gap: 24px; margin-bottom: 42px; }
  .accommodation-intro h2 { font-size: clamp(42px, 12vw, 54px); }
  .accommodation-intro-copy > p:not(.service-page-kicker) { margin: 16px 0 22px; font-size: 16px; line-height: 1.65; }
  .accommodation-destinations { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .accommodation-destination { min-height: 50px; gap: 7px; padding: 9px 10px; }
  .accommodation-destination-name { font-size: 11px; }
  .accommodation-rate-note { padding: 14px 15px; }
  .accommodation-grid { gap: 24px; }
  .accommodation-card { border-radius: 22px; }
  .accommodation-gallery,
  .accommodation-gallery:has(img:only-child) { height: clamp(215px, 65vw, 270px); padding: 7px; gap: 5px; }
  .accommodation-gallery img { border-radius: 13px; }
  .accommodation-card-body { padding: 24px 20px 27px; }
  .accommodation-card-title { gap: 10px; }
  .accommodation-card h3 { font-size: clamp(32px, 9vw, 40px); }
  .accommodation-price strong { font-size: 17px; }
  .accommodation-price span { max-width: 126px; font-size: 10px; }
  .accommodation-summary { margin: 17px 0 22px; font-size: 15px; line-height: 1.65; }
  .accommodation-columns { grid-template-columns: 1fr; gap: 20px; padding-top: 20px; }
  .accommodation-columns ul { font-size: 14px; }
  .accommodation-detail-page .quick-request-panel { margin-top: 52px !important; border-radius: 22px !important; }
  .accommodation-detail-page .quick-request-panel > .detail-request-head { margin: 0; padding: 24px 20px 18px; }
  .accommodation-detail-page .quick-request-panel > form { margin: 0; padding: 20px 20px 27px; }
}
@media (prefers-reduced-motion: reduce) {
  .accommodation-check-link,
  .accommodation-destination { transition: none; }
}


/* Keep the four accommodation shortcuts photo-only, clickable and comfortably large. */
.accommodation-destinations{gap:12px}
.accommodation-destination{display:block;min-width:0;min-height:0;padding:0;overflow:hidden;border:1px solid rgba(18,61,73,.18);border-radius:18px;background:#dbe7e2;box-shadow:0 10px 24px rgba(22,56,58,.12);transition:transform .22s ease,box-shadow .22s ease}
.accommodation-destination:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(22,56,58,.2)}
.accommodation-destination:focus-visible{outline:3px solid #087f87;outline-offset:3px}
.accommodation-destination>img{display:block;width:100%;height:clamp(200px,17vw,220px);object-fit:cover;background:#dbe7e2;transition:transform .32s ease}
.accommodation-destination:hover>img{transform:scale(1.035)}
@media (max-width:640px){.accommodation-destinations{gap:10px}.accommodation-destination{border-radius:15px}.accommodation-destination>img{height:clamp(160px,42vw,182px)}}
@media (prefers-reduced-motion:reduce){.accommodation-destination,.accommodation-destination>img{transition:none}}

/* Put the accommodation heading above a full-width row of four photo shortcuts. */
.accommodation-intro{grid-template-columns:1fr;align-items:start;gap:clamp(24px,3vw,38px)}
.accommodation-overview-meta{max-width:none;margin-top:0}
.accommodation-destinations{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.accommodation-intro{grid-template-columns:1fr;gap:28px}.accommodation-overview-meta{max-width:680px}.accommodation-destinations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.accommodation-intro{gap:24px}}

/* High-contrast form copy: keep secondary guidance readable on the deep teal panel. */
.quick-request-panel .detail-request-head p:last-child{color:#e0edf0!important}
.quick-request-panel .survey-progress-copy>span{color:#dce9ed!important}
.quick-request-panel .detail-date-grid label{color:#e2eef0!important}
.quick-request-panel .detail-optional,.quick-request-panel .detail-form-note{color:#d1e2e6!important}
.quick-request-panel .detail-question input::placeholder,.quick-request-panel .detail-question textarea::placeholder{color:#d1e2e6!important;opacity:1}
.quick-request-panel .detail-question input,.quick-request-panel .detail-question textarea,.quick-request-panel .detail-option,.quick-request-panel .pack-service-card{background-color:rgba(255,255,255,.12);border-color:rgba(181,246,239,.42)}
.quick-request-panel .detail-question input:focus-visible,.quick-request-panel .detail-question textarea:focus-visible,.quick-request-panel .detail-option:focus-within{outline:3px solid #70e7dc;outline-offset:2px}
.quick-request-panel .detail-error{color:#ffb9b0!important}
.quick-request-panel .detail-submit{background:#075e66!important;color:#fff!important;border-color:#70e7dc!important}


/* Question prompts had a legacy dark color; keep every prompt readable on the dark form. */
.quick-request-panel .detail-question legend,.quick-request-panel .detail-question>span{color:#f4fffc!important}

.quick-request-panel .detail-question input[type=date]{color-scheme:dark}
.quick-request-panel .detail-submit:disabled{opacity:1!important;filter:none!important;background:#335a60!important;color:#fff!important;border-color:#9bb6b8!important;box-shadow:none!important;cursor:not-allowed}
/* Casa Aura partner page cover. */
.collaborator-page.collaborator-casa-aura { --collab-cover: url("assets/img/stays/casa-aura/casitas.webp"); }


/* Pulido editorial compartido para todos los detalles que no son alojamientos. */
.service-detail-page:not(.accommodation-detail-page) .detail-story{padding:clamp(24px,3vw,42px);border:1px solid rgba(183,235,222,.34);border-radius:28px;background:linear-gradient(145deg,rgba(246,252,249,.91),rgba(225,241,235,.78));box-shadow:0 24px 64px rgba(8,43,58,.16),inset 0 1px rgba(255,255,255,.75);backdrop-filter:blur(16px) saturate(1.08);-webkit-backdrop-filter:blur(16px) saturate(1.08)}
.service-detail-page:not(.accommodation-detail-page) .detail-story>.service-page-kicker{color:#087f87}.service-detail-page:not(.accommodation-detail-page) .detail-story h2{max-width:720px;color:#123d49}.service-detail-page:not(.accommodation-detail-page) .detail-story>p:not(.service-page-kicker){color:#45636b}.service-detail-page:not(.accommodation-detail-page) .detail-gallery{margin-top:30px;gap:16px}.service-detail-page:not(.accommodation-detail-page) .detail-gallery img{min-height:210px;border:1px solid rgba(8,127,128,.18);border-radius:18px;background:rgba(8,43,58,.1);box-shadow:0 18px 38px rgba(8,43,58,.16)}.service-detail-page:not(.accommodation-detail-page) .detail-gallery img:hover,.service-detail-page:not(.accommodation-detail-page) .detail-gallery img:focus-visible{outline:3px solid rgba(8,154,148,.26);outline-offset:-3px}.service-detail-page:not(.accommodation-detail-page) .service-includes{margin-top:28px;padding:20px 22px;border:1px solid rgba(8,127,128,.16);border-radius:18px;background:rgba(255,255,255,.58)}.service-detail-page:not(.accommodation-detail-page) .service-includes h3{margin:0 0 12px;color:#123d49;font:700 28px/.98 "Barlow Condensed",Impact,sans-serif}.service-detail-page:not(.accommodation-detail-page) .service-includes li{color:#45636b;line-height:1.55}.service-detail-page:not(.accommodation-detail-page) .surf-lesson-survey-intro{margin-top:30px;border-color:rgba(8,127,128,.22);background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(218,242,235,.7));box-shadow:0 18px 38px rgba(8,43,58,.1)}
@media (max-width:980px){.service-detail-page:not(.accommodation-detail-page) .detail-story{max-height:none;overflow:visible;padding:26px}}
@media (max-width:640px){.service-detail-page:not(.accommodation-detail-page) .detail-story{padding:21px;border-radius:22px}.service-detail-page:not(.accommodation-detail-page) .detail-gallery{gap:11px;margin-top:24px}.service-detail-page:not(.accommodation-detail-page) .detail-gallery img{min-height:0;border-radius:14px}.service-detail-page:not(.accommodation-detail-page) .service-includes{padding:17px}}
@media (min-width:641px){.allies-ticker-viewport{width:calc(100% - clamp(28px,3.2vw,76px));max-width:1400px}}
#servicios .service-grid-catalog>.service-card-pack .service-pack-body>a:last-child{position:relative;display:flex;width:100%;min-height:58px;align-items:center;justify-content:center;margin-top:2px;padding:10px 52px;border:0;background:repeating-linear-gradient(3deg,transparent 0 7px,rgba(93,65,32,.035) 7px 8px),linear-gradient(105deg,#f8e9c9,#fff4dc 48%,#f1dfb9);clip-path:polygon(0 8%,5% 12%,4% 3%,11% 9%,17% 4%,24% 11%,31% 4%,39% 10%,46% 3%,54% 11%,62% 5%,69% 10%,77% 3%,84% 9%,92% 4%,100% 10%,98% 25%,100% 38%,97% 51%,100% 64%,98% 78%,100% 91%,93% 88%,87% 97%,79% 90%,71% 96%,64% 90%,55% 97%,47% 90%,39% 96%,31% 90%,23% 97%,15% 90%,8% 96%,0 90%,2% 76%,0 63%,3% 50%,0 37%,2% 23%);box-shadow:0 7px 18px rgba(0,0,0,.28);color:#103d48!important;filter:drop-shadow(0 5px 7px rgba(0,0,0,.28));font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:26px!important;font-weight:800;letter-spacing:.075em;line-height:1;text-align:center;text-decoration:none;text-transform:uppercase;transition:filter .2s ease,transform .2s ease}
#servicios .service-grid-catalog>.service-card-pack .service-pack-body>a:last-child::after{position:absolute;top:50%;right:24px;color:#087f88;content:"↗";font-family:"DM Sans",sans-serif;font-size:27px;font-weight:800;letter-spacing:0;line-height:.8;transform:translateY(-50%);transition:transform .2s ease}
#servicios .service-grid-catalog>.service-card-pack .service-pack-body>a:last-child:hover{filter:drop-shadow(0 8px 10px rgba(0,0,0,.35));transform:rotate(-1deg) scale(1.025)}
#servicios .service-grid-catalog>.service-card-pack .service-pack-body>a:last-child:hover::after{transform:translate(3px,calc(-50% - 2px))}
#servicios .service-grid-catalog>.service-card-pack .service-pack-body>a:last-child:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (max-width:400px){#servicios .service-grid-catalog>.service-card-pack .service-pack-body>a:last-child{min-height:54px;padding-inline:46px;font-size:24px!important}}
.guide-destination-heading,.guide-destination-feature{color:inherit;text-decoration:none}
.guide-destination-heading:focus-visible,.guide-destination-feature:focus-visible{outline:2px solid #9ce8d7;outline-offset:3px}
.guide-destination-feature{cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}
.guide-destination-feature:hover{border-color:rgba(156,232,215,.7);background:rgba(4,35,48,.82);transform:translateY(-2px)}
.guide-destination[data-destination-href]{cursor:pointer}
.weather-card{background:radial-gradient(circle at 86% 0%,rgba(71,218,218,.2),transparent 46%),radial-gradient(circle at 8% 100%,rgba(243,182,75,.1),transparent 42%),linear-gradient(145deg,rgba(12,78,91,.4),rgba(4,27,40,.5))!important;border-color:rgba(225,255,251,.3)!important;backdrop-filter:blur(18px) saturate(155%)!important;-webkit-backdrop-filter:blur(18px) saturate(155%)!important;box-shadow:0 24px 60px rgba(0,10,16,.34),inset 0 1px 1px rgba(255,255,255,.28),inset 0 -1px 2px rgba(0,0,0,.22)!important}
.weather-card .weather-head,.weather-card .weather-main{background-color:rgba(255,255,255,.025)!important}
.weather-card .w-row{background:rgba(255,255,255,.055)!important}
.logo-refresh-countdown{position:absolute;top:7%;right:8%;z-index:3;display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(231,255,250,.72);border-radius:50%;background:rgba(4,28,39,.42);color:#f4fffb;box-shadow:0 3px 12px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:800 13px/1 "DM Sans",sans-serif;pointer-events:none;animation:logo-refresh-countdown-in .18s ease-out both}
.logo-refresh-countdown[hidden]{display:none}.hero-logo-wrap.is-cache-refreshing .logo-refresh-countdown{animation:logo-refresh-countdown-pulse .95s ease-in-out infinite}@keyframes logo-refresh-countdown-in{from{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes logo-refresh-countdown-pulse{50%{transform:scale(1.12);background:rgba(15,139,145,.55)}}
@media (prefers-reduced-motion:reduce){.logo-refresh-countdown{animation:none}}
.logo-refresh-countdown{position:absolute;top:7%;left:8%;z-index:3;display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(231,255,250,.72);border-radius:50%;background:rgba(4,28,39,.42);color:#f4fffb;box-shadow:0 3px 12px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.22);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:800 13px/1 "DM Sans",sans-serif;pointer-events:none}
.logo-refresh-countdown[hidden]{display:none}.logo-refresh-countdown.is-visible{animation:logo-refresh-tap .7s ease-out both}@keyframes logo-refresh-tap{0%{opacity:0;transform:translateY(5px) scale(.7)}18%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px) scale(.92)}}
@media (prefers-reduced-motion:reduce){.logo-refresh-countdown.is-visible{animation:none}}
@media (hover:none) and (pointer:coarse),(max-width:640px){.hero-video-stack{display:block!important}.hero-video:not(.is-active){display:none!important}.hero{background-attachment:fixed!important}}

.surf-lesson-detail-page .detail-layout{display:block}.surf-lesson-detail-page .detail-story{max-width:none}.surf-lesson-detail-page .detail-request{position:static;max-width:920px;margin:42px auto 0;padding:clamp(24px,4vw,44px);border-radius:26px;background:rgba(255,255,255,.92);box-shadow:0 24px 64px rgba(8,43,58,.14)}.surf-lesson-detail-page .quick-request-launcher{display:none}.surf-lesson-detail-page .surf-lesson-lead{max-width:900px;color:#244d58;font-size:clamp(19px,2vw,24px);line-height:1.55;font-weight:650}.surf-lesson-detail-page .surf-lesson-description{max-width:900px;color:#45636c;font-size:17px;line-height:1.75}.surf-lesson-detail-page .surf-lesson-gallery{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-template-rows:repeat(2,minmax(210px,1fr));height:560px;gap:12px;margin:30px 0 34px}.surf-lesson-detail-page .surf-lesson-gallery img{min-height:0;border-radius:18px;object-fit:cover;background:#dceae5;cursor:zoom-in;box-shadow:0 14px 32px rgba(8,43,58,.14)}.surf-lesson-detail-page .surf-lesson-gallery img:first-child{display:block;grid-row:1/-1}.surf-lesson-detail-page .surf-lesson-survey-intro{margin:28px 0 0;padding:24px;border-radius:20px;background:linear-gradient(135deg,rgba(7,143,145,.1),rgba(243,182,75,.14))}.surf-lesson-detail-page .surf-lesson-survey-intro h3{font-size:clamp(30px,4vw,44px)}.surf-lesson-detail-page .detail-request-head h2{font-size:clamp(38px,5vw,58px)}@media (max-width:640px){.surf-lesson-detail-page .surf-lesson-gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 170px;height:430px;gap:9px}.surf-lesson-detail-page .surf-lesson-gallery img:first-child{grid-column:1/-1;grid-row:1}.surf-lesson-detail-page .surf-lesson-gallery img:nth-child(2),.surf-lesson-detail-page .surf-lesson-gallery img:nth-child(3){grid-row:2}.surf-lesson-detail-page .detail-request{margin-top:30px;padding:21px;border-radius:20px}}

.surf-lesson-detail-page .detail-story{max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.surf-lesson-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:clamp(32px,5vw,76px);align-items:center}.surf-lesson-intro-copy{min-width:0}.surf-lesson-intro-copy h2{max-width:620px;margin:0 0 20px;color:#123d49;font:700 clamp(52px,6vw,84px)/.92 "Barlow Condensed",Impact,sans-serif}.surf-lesson-detail-page .surf-lesson-lead{max-width:620px;margin:0 0 18px;color:#244d58;font-size:clamp(18px,1.7vw,22px);line-height:1.55;font-weight:650}.surf-lesson-detail-page .surf-lesson-description{max-width:650px;margin:0 0 24px;color:#45636c;font-size:16px;line-height:1.75}.surf-lesson-detail-page .surf-lesson-gallery{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-template-rows:repeat(2,minmax(150px,1fr));height:420px;gap:8px;margin:0}.surf-lesson-detail-page .surf-lesson-gallery img{min-height:0;border-radius:12px;object-fit:cover;background:#dceae5;cursor:zoom-in;box-shadow:0 12px 28px rgba(8,43,58,.12)}.surf-lesson-detail-page .surf-lesson-gallery img:first-child{display:block;grid-row:1/-1}.surf-lesson-detail-page .surf-survey-open{display:inline-flex;min-height:48px;align-items:center;gap:12px;padding:0 22px;border:0;border-radius:999px;background:#087f87;color:#fff;font:800 13px "DM Sans",sans-serif;cursor:pointer;box-shadow:0 10px 22px rgba(8,127,135,.2)}.surf-lesson-detail-page .surf-survey-open:hover{background:#096d74;transform:translateY(-1px)}.surf-lesson-detail-page .surf-lesson-survey-intro{max-width:900px;margin:54px 0 0;padding:22px 24px;border:1px solid rgba(7,143,145,.18);border-radius:18px;background:linear-gradient(135deg,rgba(7,143,145,.08),rgba(243,182,75,.1))}.surf-lesson-detail-page .surf-lesson-survey-intro h3{font-size:clamp(30px,4vw,44px)}.surf-lesson-detail-page .detail-request{position:static;max-width:900px;margin:36px auto 0;padding:clamp(24px,4vw,44px);border-radius:22px;background:rgba(255,255,255,.92);box-shadow:0 20px 52px rgba(8,43,58,.12)}.surf-lesson-detail-page .quick-request-launcher{display:none}@media (max-width:980px){.surf-lesson-intro{grid-template-columns:1fr;gap:30px}.surf-lesson-detail-page .surf-lesson-gallery{max-width:760px}}@media (max-width:640px){.surf-lesson-intro-copy h2{font-size:58px}.surf-lesson-detail-page .surf-lesson-gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 150px;height:389px}.surf-lesson-detail-page .surf-lesson-gallery img:first-child{grid-column:1/-1;grid-row:1}.surf-lesson-detail-page .surf-lesson-gallery img:nth-child(2),.surf-lesson-detail-page .surf-lesson-gallery img:nth-child(3){grid-row:2}.surf-lesson-detail-page .surf-lesson-survey-intro{margin-top:36px;padding:18px}.surf-lesson-detail-page .detail-request{margin-top:26px;padding:20px;border-radius:18px}}

.navlinks .header-whatsapp-link svg,.whatsapp-float .whatsapp-brand-icon{display:block;flex:0 0 24px;width:24px;height:24px;aspect-ratio:1/1;preserve-aspect-ratio:xMidYMid meet}@media (max-width:980px){.whatsapp-float .whatsapp-brand-icon{flex-basis:46px;width:46px;height:46px}}

.service-detail-page.surf-lesson-detail-page .detail-story{max-width:none!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.service-detail-page.surf-lesson-detail-page .surf-lesson-survey-intro{max-width:none;margin:46px 0 0;padding:14px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}.service-detail-page.surf-lesson-detail-page .detail-request{position:static;max-width:900px;margin:38px auto 0;padding:0!important;overflow:hidden;border:1px solid rgba(8,43,58,.12)!important;border-radius:18px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 16px 38px rgba(8,43,58,.1)!important}.service-detail-page.surf-lesson-detail-page .detail-request .quick-request-panel-bar{padding:22px 28px 18px;background:linear-gradient(135deg,#0b3c4a,#086d73)}.service-detail-page.surf-lesson-detail-page .detail-request>.detail-request-head,.service-detail-page.surf-lesson-detail-page .detail-request>form{margin:0;padding:24px 28px 0}.service-detail-page.surf-lesson-detail-page .detail-request>form{padding-bottom:28px}@media (max-width:640px){.service-detail-page.surf-lesson-detail-page .detail-request>.detail-request-head,.service-detail-page.surf-lesson-detail-page .detail-request>form{padding-inline:20px}}

.service-detail-page.surf-lesson-detail-page .quick-request-launcher{display:none!important}.service-detail-page.surf-lesson-detail-page .quick-request-panel:not(.is-open){display:block!important}.service-detail-page.surf-lesson-detail-page .quick-request-panel{position:relative!important;inset:auto!important;z-index:1;width:100%!important;max-width:900px;max-height:none!important;margin:clamp(62px,8vw,108px) auto 0!important;padding:0!important;overflow:visible!important;border:1px solid rgba(164,240,233,.25)!important;border-radius:28px!important;background:linear-gradient(145deg,#083643,#052c3b)!important;color:#f5fffc;box-shadow:0 24px 60px rgba(4,29,40,.18)!important;transform:none!important;visibility:visible!important;opacity:1!important;transition:none!important;scroll-margin-top:100px}.service-detail-page.surf-lesson-detail-page .quick-request-panel-bar{position:relative;top:auto;padding:24px 24px 18px;background:linear-gradient(180deg,rgba(8,44,58,.99),rgba(8,44,58,.9));border-bottom:1px solid rgba(198,251,244,.12);backdrop-filter:none}.service-detail-page.surf-lesson-detail-page .quick-request-panel-bar h2{font-size:clamp(32px,4vw,44px)}.service-detail-page.surf-lesson-detail-page .quick-request-panel .detail-request-head{margin:0 24px;padding:22px 28px 18px;border-bottom-color:rgba(198,251,244,.14)}.service-detail-page.surf-lesson-detail-page .quick-request-panel .detail-request-head h2{font-size:clamp(30px,3.6vw,42px);color:#fff}.service-detail-page.surf-lesson-detail-page .quick-request-panel .service-survey-form{margin:0 24px;padding:22px 28px 32px}.service-detail-page.surf-lesson-detail-page .quick-request-panel .survey-progress{border-color:rgba(141,222,211,.2);background:rgba(255,255,255,.07)}.service-detail-page.surf-lesson-detail-page .quick-request-panel .survey-progress-copy{color:rgba(237,255,251,.78)}.service-detail-page.surf-lesson-detail-page .quick-request-panel .survey-progress-copy strong{color:#8ee9df}.service-detail-page.surf-lesson-detail-page .quick-request-panel .detail-date-grid label{color:rgba(237,255,251,.76)}.service-detail-page.surf-lesson-detail-page .quick-request-panel .quick-request-close{display:none}@media (max-width:980px){.service-detail-page.surf-lesson-detail-page .quick-request-panel{max-width:900px}}@media (max-width:640px){.service-detail-page.surf-lesson-detail-page .quick-request-panel{margin-top:52px!important;border-radius:22px!important}.service-detail-page.surf-lesson-detail-page .quick-request-panel>.detail-request-head{margin:0;padding:24px 20px 18px}.service-detail-page.surf-lesson-detail-page .quick-request-panel>form{margin:0;padding:20px 20px 27px}}
.service-detail-page.surf-lesson-detail-page .detail-request .quick-request-panel-bar{position:relative!important;top:auto!important;padding:24px 24px 18px!important;background:linear-gradient(180deg,rgba(8,44,58,.99),rgba(8,44,58,.9))!important;border-bottom:1px solid rgba(198,251,244,.12)!important;backdrop-filter:none!important}.service-detail-page.surf-lesson-detail-page .detail-request .quick-request-panel-bar h2{font-size:clamp(32px,4vw,44px)!important}
.quick-request-panel .detail-option:has(input:checked),.quick-request-panel .pack-service-card:has(input:checked){border-color:#a4f0e9!important;background:linear-gradient(135deg,#0aa39a,#087f87)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(164,240,233,.28),0 10px 24px rgba(4,29,40,.22)!important}.quick-request-panel .detail-option:has(input:checked) *, .quick-request-panel .pack-service-card:has(input:checked) *{color:#fff!important}.quick-request-panel .detail-option:has(input:checked)::after{border-color:#fff!important;background:#fff!important;box-shadow:0 0 0 4px rgba(164,240,233,.24)}.quick-request-panel .pack-service-card:has(input:checked) .pack-service-check{border-color:#fff;background:#fff;color:#087f87}
.quick-request-panel .survey-progress{display:none!important}.quick-request-panel .detail-option::after,.quick-request-panel .detail-option:has(input:checked)::after{display:none!important}
.quick-request-panel .detail-option input[type="radio"]{appearance:none;width:18px;height:18px;flex:0 0 18px;margin:0;border:2px solid rgba(164,240,233,.72);border-radius:50%;background:transparent;display:grid;place-content:center;accent-color:#fff}.quick-request-panel .detail-option input[type="radio"]::before{width:8px;height:8px;border-radius:50%;background:#fff;content:"";transform:scale(0);transition:transform .16s ease}.quick-request-panel .detail-option input[type="radio"]:checked::before{transform:scale(1)}
.quick-request-panel .detail-option input[type="radio"]:checked{background:radial-gradient(circle,#fff 0 4px,transparent 4.5px)!important}
.service-detail-page.surf-lesson-detail-page .detail-story{max-height:none!important;height:auto!important;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important}
.service-detail-page:not(.accommodation-detail-page) .detail-layout{display:block}.service-detail-page:not(.accommodation-detail-page) .detail-story{max-width:none;height:auto!important;max-height:none!important;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible!important;overflow-x:visible!important;overflow-y:visible!important;backdrop-filter:none;-webkit-backdrop-filter:none}.service-detail-page:not(.accommodation-detail-page) .service-editorial-story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:clamp(32px,5vw,76px);align-items:center}.service-editorial-copy{min-width:0}.service-editorial-copy h2{max-width:650px;margin:0 0 20px;color:#123d49;font:700 clamp(48px,5.8vw,82px)/.94 "Barlow Condensed",Impact,sans-serif}.service-editorial-lead,.service-editorial-extra{max-width:650px;color:#45636c;font-size:16px;line-height:1.75}.service-editorial-lead{margin:0 0 20px}.service-editorial-extra{margin:0 0 24px}.service-detail-page:not(.accommodation-detail-page) .service-editorial-gallery{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-template-rows:repeat(2,minmax(150px,1fr));height:420px;gap:8px;margin:0;min-width:0}.service-detail-page:not(.accommodation-detail-page) .service-editorial-gallery img{min-height:0;border-radius:12px;object-fit:cover;background:#dceae5;cursor:zoom-in;box-shadow:0 12px 28px rgba(8,43,58,.12)}.service-detail-page:not(.accommodation-detail-page) .service-editorial-gallery img:first-child{display:block;grid-row:1/-1}.service-detail-page:not(.accommodation-detail-page) .service-includes{margin-top:24px;padding:20px 22px;border:1px solid rgba(8,127,128,.16);border-radius:18px;background:rgba(255,255,255,.58)}.service-detail-page:not(.accommodation-detail-page) .quick-request-launcher{display:none!important}.service-detail-page:not(.accommodation-detail-page) .quick-request-panel{display:block!important;position:static!important;width:100%!important;max-width:900px;max-height:none!important;margin:clamp(62px,8vw,108px) auto 0!important;padding:0!important;overflow:visible!important;border:1px solid rgba(164,240,233,.25)!important;border-radius:28px!important;background:linear-gradient(145deg,#083643,#052c3b)!important;box-shadow:0 24px 60px rgba(4,29,40,.18)!important;transform:none!important;visibility:visible!important;opacity:1!important;transition:none!important}.service-detail-page:not(.accommodation-detail-page) .quick-request-panel-bar{position:relative;top:auto;padding:24px 24px 18px;background:linear-gradient(180deg,rgba(8,44,58,.99),rgba(8,44,58,.90));border-bottom:1px solid rgba(198,251,244,.12);backdrop-filter:none}.service-detail-page:not(.accommodation-detail-page) .quick-request-panel .detail-request-head{margin:0 24px}.service-detail-page:not(.accommodation-detail-page) .quick-request-panel .service-survey-form{padding:0 24px 28px}@media (max-width:980px){.service-detail-page:not(.accommodation-detail-page) .service-editorial-story{grid-template-columns:1fr;gap:30px}.service-detail-page:not(.accommodation-detail-page) .service-editorial-gallery{max-width:760px}}@media (max-width:640px){.service-editorial-copy h2{font-size:58px}.service-detail-page:not(.accommodation-detail-page) .service-editorial-gallery{grid-template-columns:1fr 1fr;grid-template-rows:230px 150px;height:389px}.service-detail-page:not(.accommodation-detail-page) .service-editorial-gallery img:first-child{grid-column:1/-1;grid-row:1}.service-detail-page:not(.accommodation-detail-page) .service-editorial-gallery img:nth-child(2),.service-detail-page:not(.accommodation-detail-page) .service-editorial-gallery img:nth-child(3){grid-row:2}.service-detail-page:not(.accommodation-detail-page) .quick-request-panel{margin-top:30px!important;border-radius:20px!important}.service-detail-page:not(.accommodation-detail-page) .quick-request-panel .detail-request-head,.service-detail-page:not(.accommodation-detail-page) .quick-request-panel .service-survey-form{margin-inline:0;padding-inline:20px}}
.image-zoomable{cursor:zoom-in!important;transition:filter .22s ease,transform .22s ease,outline-color .22s ease}.image-zoomable:hover,.image-zoomable:focus-visible{filter:brightness(1.06) saturate(1.05);outline:3px solid rgba(156,232,215,.72);outline-offset:-3px}

/* Guía turística · rediseño editorial final: contenido abierto, vidrio legible y fotos protagonistas. */
.local-guide-page {
  background-color: #082633;
}
.local-guide-page::before {
  inset: -8%;
  width: 116%;
  height: 116%;
  background: linear-gradient(145deg, rgba(3, 20, 29, .42), rgba(4, 48, 53, .28)), url("assets/img/site/backgrounds/atardecer.webp") center / cover no-repeat;
}
@media (max-width: 640px) {
  .local-guide-page::before {
    inset: -10%;
    width: 120%;
    height: 120%;
    transform: translateZ(0);
    will-change: transform;
  }
}
.local-guide-page .guide-original-content {
  padding-top: 82px;
  padding-bottom: 104px;
}
.local-guide-page .guide-detail-heading {
  width: 100%;
  max-width: none;
  margin-bottom: 34px;
  padding: clamp(24px, 3vw, 38px);
  border: 1px solid rgba(224, 255, 246, .24);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(5, 31, 42, .62), rgba(11, 70, 73, .34));
  box-shadow: inset 0 1px rgba(255, 255, 255, .12), 0 24px 58px rgba(0, 0, 0, .18);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}
.local-guide-page .guide-detail-heading h2 {
  max-width: 780px;
  font-size: clamp(42px, 5vw, 64px);
  line-height: .98;
}
.local-guide-page .guide-detail-heading > p:last-child {
  max-width: 760px;
  font-size: 16px;
  line-height: 1.72;
  color: rgba(246, 255, 251, .9);
}
.local-guide-page .guide-glossary {
  gap: 14px;
  margin-bottom: 72px;
}
.local-guide-page .guide-glossary a {
  min-height: 128px;
  padding: 20px;
  border: 1px solid rgba(224, 255, 246, .24);
  border-radius: 16px;
  background: rgba(5, 34, 44, .46);
  box-shadow: inset 0 1px rgba(255, 255, 255, .08), 0 16px 34px rgba(0, 0, 0, .14);
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
}
.local-guide-page .guide-glossary strong { font-size: 25px; }
.local-guide-page .guide-glossary span { color: rgba(246, 255, 251, .8); font-size: 13px; line-height: 1.5; }
.local-guide-page .guide-detail-category {
  width: 100%;
  max-width: none;
  margin: 0 0 24px;
  padding: 26px 30px;
  border: 1px solid rgba(224, 255, 246, .2);
  border-radius: 20px;
  background: rgba(5, 33, 44, .46);
  box-shadow: inset 0 1px rgba(255, 255, 255, .1), 0 20px 44px rgba(0, 0, 0, .14);
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
}
.local-guide-page .guide-detail-category h3 { font-size: 44px; }
.local-guide-page .guide-detail-category > p:last-child { font-size: 15px; line-height: 1.7; color: rgba(246, 255, 251, .88); }
.local-guide-page .guide-detail-grid {
  grid-template-columns: 1fr;
  gap: 22px;
  margin-bottom: 72px;
}
.local-guide-page .guide-detail-card {
  grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
  overflow: hidden;
  border: 1px solid rgba(224, 255, 246, .2);
  border-radius: 20px;
  background: rgba(5, 31, 42, .48);
  box-shadow: 0 24px 54px rgba(0, 0, 0, .2), inset 0 1px rgba(255, 255, 255, .08);
  backdrop-filter: blur(14px) saturate(118%);
  -webkit-backdrop-filter: blur(14px) saturate(118%);
}
.local-guide-page .guide-detail-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  filter: saturate(.96) brightness(.92);
  transition: filter .22s ease, transform .45s ease;
}
.local-guide-page .guide-detail-card:hover img,
.local-guide-page .guide-detail-card:focus-within img {
  filter: saturate(1.08) brightness(1.02);
  transform: scale(1.025);
}
.local-guide-page .guide-detail-card > div {
  padding: clamp(20px, 2.2vw, 32px);
  border-left: 1px solid rgba(224, 255, 246, .16);
  background: linear-gradient(135deg, rgba(4, 27, 38, .66), rgba(8, 57, 61, .34));
  backdrop-filter: blur(12px) saturate(115%);
  -webkit-backdrop-filter: blur(12px) saturate(115%);
}
.local-guide-page .guide-detail-card h4 { font-size: clamp(30px, 3vw, 42px); margin-bottom: 10px; overflow-wrap: normal; word-break: normal; text-wrap: balance; }
.local-guide-page .guide-detail-card p { font-size: clamp(13px, 1.05vw, 15px); line-height: 1.6; color: rgba(246, 255, 251, .9); }
.local-guide-page .guide-detail-card ul { gap: clamp(7px, .7vw, 10px); font-size: clamp(11px, .9vw, 13px); line-height: 1.5; color: rgba(239, 255, 247, .86); }
.local-guide-page .guide-detail-card li strong { color: #d6faed; }
.local-guide-page .guide-detail-card a { display: inline-flex; max-width: 100%; margin-top: 2px; padding: 5px 0; color: #baf5e3; font-size: clamp(11px, .85vw, 13px); line-height: 1.2; white-space: nowrap; text-decoration: underline; text-decoration-color: rgba(186, 245, 227, .45); text-underline-offset: 3px; }
.local-guide-page .guide-detail-card-text-only { grid-template-columns: 1fr; }
.local-guide-page .guide-detail-card-text-only > div { border-left: 0; }
.local-guide-page .guide-image-modal img { border: 0; border-radius: 0; }
.local-guide-page .guide-practical { margin-top: 8px; padding: 30px; border-radius: 22px; background: rgba(5, 32, 43, .46); }
.local-guide-page .guide-practical .guide-detail-heading { margin-bottom: 24px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
.local-guide-page .guide-tip-card { padding: 26px 28px; }
.local-guide-page .guide-tip-card h4 { font-size: 34px; }
@media (max-width: 760px) {
  .local-guide-page .guide-original-content { padding-top: 56px; padding-bottom: 76px; }
  .local-guide-page .guide-detail-grid { gap: 18px; margin-bottom: 54px; }
  .local-guide-page .guide-detail-card { grid-template-columns: 1fr; }
  .local-guide-page .guide-detail-card img { height: clamp(220px, 58vw, 310px); min-height: 0; }
  .local-guide-page .guide-detail-card > div { border-top: 1px solid rgba(224, 255, 246, .16); border-left: 0; padding: 23px 21px 26px; }
  .local-guide-page .guide-detail-category { padding: 21px 20px; }
  .local-guide-page .guide-detail-category h3 { font-size: 36px; }
  .local-guide-page .guide-detail-heading h2 { font-size: 42px; }
  .local-guide-page .guide-practical { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .local-guide-page .guide-detail-card img { transition: none; }
}


/* Preloader real de portada: acompaña la carga del hero, clima y fondos críticos. */
.wavepoint-preloader{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(8,86,101,.72),rgba(3,20,30,.98) 68%),#03141e;color:#f4fffb;opacity:1;transition:opacity .48s ease,visibility .48s ease}
.wavepoint-preloader.is-ready{visibility:hidden;opacity:0;pointer-events:none}
.wavepoint-preloader-inner{display:grid;width:min(76vw,430px);justify-items:center;gap:18px}
.wavepoint-preloader-logo{display:block;width:min(76vw,390px);height:auto;filter:drop-shadow(0 12px 28px rgba(0,178,196,.2));animation:preloader-logo-float 2.8s ease-in-out infinite}
.wavepoint-preloader-wave{position:relative;display:block;width:min(68vw,280px);height:12px;overflow:hidden;border-top:2px solid rgba(130,238,233,.22);border-radius:50%}
.wavepoint-preloader-wave::before{position:absolute;top:-3px;left:-35%;width:38%;height:4px;border-radius:999px;background:linear-gradient(90deg,transparent,#8deee8,transparent);box-shadow:0 0 14px rgba(76,226,225,.78);content:"";animation:preloader-wave-sweep 1.55s ease-in-out infinite}
.wavepoint-preloader-label{min-height:18px;margin:0;color:rgba(232,253,247,.82);font-size:13px;font-weight:700;letter-spacing:.04em;text-align:center}
.wavepoint-preloader-track{width:min(66vw,300px);height:5px;overflow:hidden;border:1px solid rgba(160,244,234,.28);border-radius:999px;background:rgba(255,255,255,.09);box-shadow:inset 0 1px 2px rgba(0,0,0,.28)}
.wavepoint-preloader-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0fc7d7,#a2f3da);box-shadow:0 0 14px rgba(15,199,215,.55);transition:width .28s ease}
@keyframes preloader-logo-float{50%{transform:translateY(-5px)}}
@keyframes preloader-wave-sweep{0%{transform:translateX(0) scaleX(.75);opacity:.2}45%,65%{opacity:1}100%{transform:translateX(360%) scaleX(1.2);opacity:.15}}
@media (max-width:640px){.wavepoint-preloader-inner{width:min(88vw,360px);gap:15px}.wavepoint-preloader-logo{width:min(84vw,330px)}.wavepoint-preloader-label{font-size:12px}}
@media (prefers-reduced-motion:reduce){.wavepoint-preloader-logo,.wavepoint-preloader-wave::before{animation:none}}


/* Servicios estándar: copy completo arriba y galería protagonista debajo. Clases de surf conserva su layout propio. */
@media (min-width:981px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-story{display:block}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-copy{max-width:none;margin:0 0 clamp(34px,4vw,58px);padding:clamp(28px,4vw,54px);border:1px solid rgba(255,255,255,.48);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(246,252,249,.84));box-shadow:0 18px 46px rgba(8,43,58,.14)}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-copy h2{max-width:1000px;color:#092f3d;font-size:clamp(52px,7vw,96px);line-height:.9}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-lead,.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-extra{max-width:920px;color:#294b57;font-size:clamp(17px,1.5vw,21px);line-height:1.65}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery{width:100%;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);grid-template-rows:repeat(2,minmax(230px,1fr));height:clamp(500px,46vw,650px);gap:14px}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img{height:100%;object-fit:cover;border-radius:18px;box-shadow:0 18px 38px rgba(8,43,58,.2)}}
@media (max-width:980px) and (min-width:641px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-story{display:block}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-copy{max-width:none;margin-bottom:34px;padding:30px;border:1px solid rgba(255,255,255,.46);border-radius:22px;background:rgba(255,255,255,.9)}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery{height:500px}}
@media (max-width:640px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-copy{margin-bottom:26px;padding:22px 18px;border:1px solid rgba(255,255,255,.48);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(8,43,58,.12)}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-copy h2{color:#092f3d;font-size:clamp(48px,14vw,68px);line-height:.9}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-lead,.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-extra{color:#294b57;font-size:16px;line-height:1.6}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 175px;height:435px;gap:9px}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img{height:100%;object-fit:cover;border-radius:12px}}


/* Cobertura de plantillas especiales: también prioriza copy antes de fotos, excepto Clases de surf. */
.service-detail-page.accommodation-detail-page .accommodation-card{display:flex;flex-direction:column}.service-detail-page.accommodation-detail-page .accommodation-card-body{order:1}.service-detail-page.accommodation-detail-page .accommodation-gallery{order:2}.service-detail-page:not(.surf-lesson-detail-page) .retreat-cover{display:block}.service-detail-page:not(.surf-lesson-detail-page) .retreat-cover-copy{max-width:none;margin-bottom:clamp(28px,4vw,52px);padding:clamp(26px,4vw,50px);border:1px solid rgba(255,255,255,.46);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.93),rgba(246,252,249,.84));box-shadow:0 18px 46px rgba(8,43,58,.14)}.service-detail-page:not(.surf-lesson-detail-page) .retreat-cover-image{margin:0}.service-detail-page:not(.surf-lesson-detail-page) .retreat-experience-card{display:flex;flex-direction:column}.service-detail-page:not(.surf-lesson-detail-page) .retreat-experience-card>.retreat-photo-grid{order:2}.service-detail-page:not(.surf-lesson-detail-page) .retreat-experience-card>div:not(.retreat-photo-grid){order:1}@media (max-width:640px){.service-detail-page:not(.surf-lesson-detail-page) .retreat-cover-copy{margin-bottom:22px;padding:22px 18px;border-radius:18px}}


/* Galerías de servicios: mosaicos equilibrados y encuadre estable en todos los tamaños. */
.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img{grid-column:auto!important;grid-row:auto!important;object-position:center center}.service-detail-page.accommodation-detail-page .accommodation-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center center}.service-detail-page:not(.surf-lesson-detail-page) .retreat-photo-grid img{object-fit:cover;object-position:center center}.service-detail-page:not(.surf-lesson-detail-page) .retreat-cover-copy{color:#244653}.service-detail-page:not(.surf-lesson-detail-page) .retreat-cover-copy p{color:#355965}.service-detail-page:not(.surf-lesson-detail-page) .retreat-cover-copy .retreat-cover-kicker{color:#087f87}.service-detail-page:not(.surf-lesson-detail-page) .retreat-cover-facts span{color:#164653}@media (max-width:640px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:435px}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img{aspect-ratio:1/1}}


/* Formularios de servicios: una única piel visual para Estadías, Clases de surf y el resto. */
.service-detail-page .quick-request-panel{position:static!important;inset:auto!important;z-index:1;width:100%!important;max-width:900px;max-height:none!important;margin:0 auto!important;padding:0!important;overflow:hidden;border:1px solid rgba(198,251,244,.14)!important;border-radius:22px!important;background:linear-gradient(145deg,#083643,#052c3b)!important;color:#f5fffc;box-shadow:0 24px 60px rgba(4,29,40,.18)!important;transform:none!important;visibility:visible!important;opacity:1!important;transition:none!important;scroll-margin-top:100px}.service-detail-page .quick-request-panel .detail-request-head{margin:0!important;padding:24px 28px 18px!important;border-bottom:1px solid rgba(198,251,244,.14)}.service-detail-page .quick-request-panel .detail-request-head h2{color:#fff!important;font-size:clamp(32px,3.6vw,44px)}.service-detail-page .quick-request-panel .detail-request-head p:last-child{color:#e0edf0!important}.service-detail-page .quick-request-panel .service-survey-form{margin:0!important;padding:22px 28px 32px!important}.service-detail-page .quick-request-panel .survey-progress{border-color:rgba(141,222,211,.2);background:rgba(255,255,255,.07)}.service-detail-page .quick-request-panel .survey-progress-copy{color:rgba(237,255,251,.78)}.service-detail-page .quick-request-panel .survey-progress-copy strong{color:#8ee9df}.service-detail-page .quick-request-panel .detail-date-grid label{color:#e2eef0!important}.service-detail-page .quick-request-panel .detail-question input,.service-detail-page .quick-request-panel .detail-question textarea,.service-detail-page .quick-request-panel .detail-option,.service-detail-page .quick-request-panel .pack-service-card{background-color:rgba(255,255,255,.12);border-color:rgba(181,246,239,.42)}.service-detail-page .quick-request-panel .detail-question input::placeholder,.service-detail-page .quick-request-panel .detail-question textarea::placeholder{color:#d1e2e6!important;opacity:1}.service-detail-page .quick-request-panel .detail-optional,.service-detail-page .quick-request-panel .detail-form-note{color:#d1e2e6!important}.service-detail-page .quick-request-panel .detail-submit{background:#075e66!important;color:#fff!important;border-color:#70e7dc!important}@media (max-width:980px){.service-detail-page .detail-layout{gap:16px}.service-detail-page .quick-request-panel{margin-top:0!important}}@media (max-width:640px){.service-detail-page .quick-request-panel{border-radius:18px!important}.service-detail-page .quick-request-panel .detail-request-head{padding:22px 20px 16px!important}.service-detail-page .quick-request-panel .service-survey-form{padding:20px 20px 27px!important}}


/* Override final: la separación entre galería y formulario queda en cero. */
.service-detail-page:not(.accommodation-detail-page) .quick-request-panel,.service-detail-page.accommodation-detail-page .quick-request-panel{margin:0 auto!important}


/* Yoga: la foto del fondo no se repite dentro de la galería; quedan solo las otras dos. */
.service-detail-page.yoga-detail-page .service-editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);height:clamp(300px,32vw,430px)}.service-detail-page.yoga-detail-page .service-editorial-gallery img{grid-column:auto!important;grid-row:auto!important}@media (max-width:640px){.service-detail-page.yoga-detail-page .service-editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);height:220px}}


/* Galerías estándar: el contenedor debe terminar exactamente donde terminan las fotos. */
.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-story{display:block}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery{height:auto!important;margin:0!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none!important;grid-auto-rows:clamp(220px,32vw,420px);gap:14px}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img{height:100%;min-height:0;object-fit:cover}@media (max-width:640px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery{height:auto!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:180px;gap:10px}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img:first-child,.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img:nth-child(2){grid-column:auto;grid-row:auto}}


/* Transición editorial: separación breve y detalle de ola entre fotos y solicitud. */
.service-detail-page:not(.accommodation-detail-page) .quick-request-panel,.service-detail-page.accommodation-detail-page .quick-request-panel{margin:clamp(22px,3vw,34px) auto 0!important;position:relative!important;border:1px solid rgba(164,240,233,.28)!important;border-radius:26px!important;box-shadow:0 24px 62px rgba(4,29,40,.24),0 0 0 1px rgba(255,255,255,.04) inset!important}.service-detail-page:not(.accommodation-detail-page) .quick-request-panel:before,.service-detail-page.accommodation-detail-page .quick-request-panel:before{position:absolute;top:-15px;left:50%;width:86px;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,#7fe6ea 25%,#a4f0e9 75%,transparent);box-shadow:0 0 18px rgba(127,230,234,.52);content:"";transform:translateX(-50%)}.service-detail-page:not(.accommodation-detail-page) .quick-request-panel:after,.service-detail-page.accommodation-detail-page .quick-request-panel:after{position:absolute;top:-26px;left:50%;width:1px;height:11px;background:linear-gradient(180deg,transparent,rgba(127,230,234,.82));content:"";transform:translateX(-50%)}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img{border:1px solid rgba(193,244,232,.28);border-radius:18px;box-shadow:0 18px 38px rgba(8,43,58,.22),0 0 0 1px rgba(255,255,255,.04) inset}@media (max-width:640px){.service-detail-page:not(.accommodation-detail-page) .quick-request-panel,.service-detail-page.accommodation-detail-page .quick-request-panel{margin-top:22px!important;border-radius:21px!important}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery img{border-radius:14px}}


/* Recuperación editorial: hero más amplio y contenido adicional en una tarjeta compacta. */
@media (min-width:981px){.detail-hero-content{width:min(1180px,calc(100% - 42px));margin-left:max(21px,calc((100% - 1180px)/ 2))}.detail-hero h1{max-width:900px}.detail-hero-intro{max-width:860px;font-size:clamp(19px,1.55vw,23px);line-height:1.58}}.service-supporting-content{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:18px 28px;align-items:start;margin:20px 0 0;padding:22px 24px;border:1px solid rgba(8,127,128,.18);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(224,244,238,.62));box-shadow:0 12px 28px rgba(8,43,58,.09)}.service-supporting-lead,.service-supporting-extra{grid-column:1/-1;margin:0;color:#294b57;font-size:16px;line-height:1.65}.service-supporting-lead{color:#087f87;font-weight:700}.service-supporting-extra{padding-top:16px;border-top:1px solid rgba(8,127,128,.14)}.service-supporting-includes{grid-column:1/-1;padding-top:16px;border-top:1px solid rgba(8,127,128,.14)}.service-supporting-label{margin:0 0 10px;color:#087f87;font:700 11px/1.2 "DM Sans",sans-serif;letter-spacing:.12em}.service-supporting-includes ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.service-supporting-includes li{padding:7px 11px;border:1px solid rgba(8,127,128,.18);border-radius:999px;background:rgba(255,255,255,.58);color:#244f59;font-size:13px}@media (max-width:640px){.service-supporting-content{grid-template-columns:1fr;gap:14px;margin-top:16px;padding:17px;border-radius:16px}.service-supporting-lead,.service-supporting-extra{font-size:15px;line-height:1.55}}


/* Galerías triples: dos imágenes arriba y una panorámica abajo, sin celda vacía. */
.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-triple{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-triple img:nth-child(3){grid-column:1/-1!important;grid-row:auto!important}

/* Escritorio unificado: misma composición desde notebook hasta monitor grande. */
@media (min-width:981px){#inicio .hero-grid{transform:translateY(16px)}#inicio .hero-logo-wrap{width:min(95%,589px);margin-bottom:12px}#inicio h1{margin:14px 0 32px;font-size:64px;line-height:.91}#inicio .hero-actions{margin-top:20px}}
@media (hover:none) and (pointer:coarse),(max-width:640px){.hero-video-stack{display:block!important}.hero-video:not(.is-active){display:block!important;visibility:hidden!important}.hero{background-attachment:scroll!important}}@media (prefers-reduced-motion:reduce),(prefers-reduced-data:reduce){.hero-video-stack .hero-video{display:none!important;opacity:0!important;visibility:hidden!important}.hero-video-poster{display:block!important}}


/* Retiros: el detalle conserva el bloque editorial, sin la foto grande bajo el encabezado. */
.retreat-cover{grid-template-columns:1fr}

/* Hero móvil: mantener el texto del CTA secundario dentro del botón en español. */
@media (max-width:640px){.hero-actions .btn-ghost{white-space:normal;text-align:center}}


/* Hero móvil: evitar el filtro y escalado CSS durante la decodificación del video. */
@media (hover:none) and (pointer:coarse),(max-width:640px){#inicio .hero-video{filter:none;transform:none}}

/* Tarjetas: conservar siempre la foto completa al cambiar la relación de aspecto. */
.service-card .service-img,
.service-card .service-pack-image { background:#0a2c3b; }
.service-card .service-img img,
.service-card .service-pack-image > img { object-fit:contain; object-position:center; transform:none; }
.service-card:hover .service-img img,
.service-card:hover .service-pack-image > img { transform:none; }

/* Prioridad final para el catálogo: algunas reglas responsive antiguas de #servicios
   imponían cover y volvían a recortar sujetos, especialmente en Surf Lessons. */
#servicios .service-grid-catalog .service-card .service-img img,
#servicios .service-grid-catalog .service-card .service-pack-image > img {
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
#servicios .service-grid-catalog .service-card:hover .service-img img,
#servicios .service-grid-catalog .service-card:hover .service-pack-image > img,
#servicios .service-grid-catalog .service-image-link:focus-visible .service-img img {
  transform: none !important;
}

/* Las tarjetas especiales de portada conservan su encuadre y proporciones originales. */
#servicios .service-grid-catalog .service-card-pack .service-pack-image > img {
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}
#servicios .service-grid-catalog .service-card-pack .service-pack-image:hover > img,
#servicios .service-grid-catalog .service-card-pack .service-pack-image:focus-visible > img {
  transform: scale(1.04) !important;
}

/* Restauración solicitada: todas las tarjetas llenan completamente su marco,
   sin bandas ni rectángulos de fondo visibles. */
.service-card .service-img img,
.service-card .service-pack-image > img,
#servicios .service-grid-catalog .service-card .service-img img,
#servicios .service-grid-catalog .service-card .service-pack-image > img {
  object-fit: cover !important;
  object-position: center !important;
}
.service-card:hover .service-img img,
.service-card:hover .service-pack-image > img {
  transform: scale(1.08) !important;
}
#servicios .service-grid-catalog .service-card:hover .service-img img,
#servicios .service-grid-catalog .service-card:hover .service-pack-image > img {
  transform: scale(1.04) !important;
}


/* Footer final: navegación editorial y marca alineadas en una misma franja inferior. */
.service-detail-page .service-page-footer,.collaborator-page .service-page-footer{padding:16px 0 20px;border-top:1px solid rgba(156,232,215,.24);background:linear-gradient(180deg,rgba(4,25,35,.94),rgba(3,20,29,.98))}.service-detail-page .service-page-footer .container,.collaborator-page .service-page-footer .container{width:min(calc(100% - 42px),1180px);min-height:58px;display:flex;align-items:center;justify-content:flex-start}.service-detail-page .service-page-footer>.container>a,.collaborator-page .service-page-footer>.container>a,.service-detail-page .collab-footer-links a,.collaborator-page .collab-footer-links a{display:inline-flex;align-items:center;min-height:36px;padding:0 15px;border:1px solid rgba(156,232,215,.28);border-radius:999px;background:rgba(12,70,76,.34);color:rgba(235,249,244,.9);font-family:"Barlow Condensed",Impact,sans-serif;font-size:15px;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;text-decoration:none;transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease}.service-detail-page .service-page-footer>.container>a:hover,.collaborator-page .service-page-footer>.container>a:hover,.service-detail-page .collab-footer-links a:hover,.collaborator-page .collab-footer-links a:hover{border-color:#9ce8d7;background:rgba(12,100,102,.52);color:#a9f3ec;transform:translateY(-2px)}.collab-floating-brand{right:max(100px,calc((100vw - 1180px)/2));bottom:16px;width:128px;min-height:56px}@media (max-width:760px){.service-detail-page .service-page-footer .container,.collaborator-page .service-page-footer .container{min-height:52px}.service-detail-page .service-page-footer>.container>a,.collaborator-page .service-page-footer>.container>a,.service-detail-page .collab-footer-links a,.collaborator-page .collab-footer-links a{min-height:33px;padding-inline:12px;font-size:13px}.collab-floating-brand{right:100px;bottom:12px;width:104px;min-height:48px}}

/* Surfskate: composición en tres piezas, con la foto vertical completa a la izquierda. */
.service-detail-page .service-editorial-gallery-surfskate{height:clamp(420px,38vw,580px)!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important}.service-detail-page .service-editorial-gallery-surfskate img:nth-child(1){grid-column:2!important;grid-row:1!important}.service-detail-page .service-editorial-gallery-surfskate img:nth-child(2){grid-column:1!important;grid-row:1/span 2!important;object-fit:contain!important;background:rgba(8,43,58,.08)}.service-detail-page .service-editorial-gallery-surfskate img:nth-child(3){grid-column:2!important;grid-row:2!important}@media (max-width:640px){.service-detail-page .service-editorial-gallery-surfskate{height:390px!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}}

/* Override final: la regla del mosaico triple no debe volver a reordenar Surfskate. */
.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-surfskate{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)!important;grid-template-rows:repeat(2,minmax(0,1fr))!important;height:clamp(420px,38vw,580px)!important}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-surfskate img:nth-child(1){grid-column:2!important;grid-row:1!important}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-surfskate img:nth-child(2){grid-column:1!important;grid-row:1/span 2!important;object-fit:contain!important}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-surfskate img:nth-child(3){grid-column:2!important;grid-row:2!important}@media (max-width:640px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-surfskate{height:390px!important}}

/* Roca Bruja: las fotos de la galería se muestran completas y en dos paneles equilibrados. */
.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock{height:clamp(300px,32vw,430px)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr)!important}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock img{grid-column:auto!important;grid-row:auto!important;object-fit:contain!important;background:rgba(8,43,58,.08)}@media (max-width:640px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock{height:auto!important;grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-rows:220px!important}}

/* Ajuste final de armonía: cada imagen de Roca Bruja define su propio rectángulo visible. */
.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock{height:auto!important;grid-template-rows:none!important;grid-auto-rows:auto!important;align-items:start;background:transparent!important}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock img{width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:cover!important;background:transparent!important}@media (max-width:640px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock{grid-auto-rows:auto!important}}

/* Fondo de Servicios: separar la capa superior de surf de la foto grupal inferior. */
#servicios .px-bg-image-surf-top{top:-20%;height:44%;background-position:center 45%}@media (max-width:1024px){#servicios .px-bg-image-surf-top{top:-16%;height:43%;background-position:center 44%}}


/* Servicios: tres franjas fotográficas con un solapamiento leve. */
#servicios .px-bg-image-surf-extra{top:0;height:34%}
#servicios .px-bg-image-surf-photo{top:32%;height:36%}
#servicios .px-bg-image-surf-sunset{top:66%;height:36%}
#servicios .px-bg-image-surf-top{top:-18%;height:18%;opacity:.48}

/* Las galerías de alojamiento muestran tres fotos seguidas, sin franjas ni marcos. */
.accommodation-detail-page .accommodation-gallery{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:0;min-height:0;height:clamp(250px,30vw,340px);padding:0;overflow:hidden;background:transparent}
.accommodation-detail-page .accommodation-gallery img{width:100%;height:100%;min-width:0;min-height:0;border-radius:0;object-fit:cover}
.accommodation-detail-page .accommodation-gallery img:first-child{grid-column:1;grid-row:1/-1}
.accommodation-detail-page .accommodation-gallery img:nth-child(2){grid-column:2;grid-row:1}
.accommodation-detail-page .accommodation-gallery img:nth-child(3){grid-column:2;grid-row:2}
@media(max-width:980px){.accommodation-detail-page .accommodation-gallery{height:clamp(260px,44vw,360px)}}
@media(max-width:640px){.accommodation-detail-page .accommodation-gallery{height:clamp(220px,64vw,280px)}}
.surf-lesson-detail-page .detail-hero{background-position:center top}
.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock img:only-child{grid-column:1/-1!important}
.service-detail-page .service-photo-credit{grid-column:1/-1;margin:0;color:#526a70;font-size:12px;line-height:1.5}
.service-detail-page .service-photo-credit a{color:#087f87;text-underline-offset:2px}
@media (max-width:1024px){#servicios .px-bg-image-surf-top{top:-14%;height:14%}}
.footer-terms-trigger{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:underline;text-decoration-color:rgba(220,236,240,.42);text-underline-offset:3px;cursor:pointer}.footer-terms-trigger:hover,.footer-terms-trigger:focus-visible{color:#baf5e3}.footer-terms-trigger:focus-visible,.terms-dialog-close:focus-visible{outline:2px solid #9ce8d7;outline-offset:4px}.terms-dialog{width:min(600px,calc(100% - 32px));max-width:none;max-height:min(84vh,900px);margin:auto;padding:0;overflow:auto;border:1px solid rgba(156,232,215,.36);border-radius:22px;background:linear-gradient(145deg,#0b3544,#092632);color:#f1fbf7;box-shadow:0 28px 90px rgba(0,0,0,.48)}.terms-dialog::backdrop{background:rgba(2,10,16,.76);backdrop-filter:blur(4px)}.terms-dialog-panel{padding:clamp(23px,5vw,38px)}.terms-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.terms-dialog-kicker{margin:0 0 8px;color:#9ce8d7;font-size:11px;font-weight:800;letter-spacing:.14em}.terms-dialog-header h2{margin:0;color:#fff;font:700 clamp(32px,6vw,44px)/1 "Barlow Condensed",Impact,sans-serif}.terms-dialog-close{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font:400 28px/1 "DM Sans",sans-serif;cursor:pointer}.terms-dialog-intro{margin:24px 0 12px;color:rgba(241,251,247,.9);font-size:15px;line-height:1.55}.terms-dialog-list{display:grid;gap:12px;margin:0;padding-left:21px;color:rgba(241,251,247,.84);font-size:14px;line-height:1.65}.terms-dialog-list li::marker{color:#9ce8d7}@media(max-width:640px){.terms-dialog{width:calc(100% - 24px);max-height:86vh;border-radius:18px}.terms-dialog-panel{padding:22px 20px 25px}.terms-dialog-list{font-size:13px}}

/* Aliados: ventana parallax de atardecer y etiquetas de vidrio al pasar por cada foto. */
.allies-showcase{position:relative;isolation:isolate;overflow:hidden;background:#092d3b}
.allies-showcase:before{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(180deg,rgba(155,27,39,.54),rgba(5,31,45,.8)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 72'%3E%3Cpath d='M-30 28c15-12 30-12 45 0s30 12 45 0 30-12 45 0 30 12 45 0M-30 52c15-12 30-12 45 0s30 12 45 0 30-12 45 0 30 12 45 0' fill='none' stroke='%23fff' stroke-opacity='.16' stroke-width='1.4'/%3E%3C/svg%3E"),url("assets/img/services/retreats/retreat-sunset.webp");background-position:center,0 0,center 58%;background-size:cover,120px 72px,cover;background-repeat:no-repeat,repeat,no-repeat;background-attachment:scroll,scroll,fixed;content:"";pointer-events:none}
.allies-showcase .allies-heading,.allies-showcase .allies-section{position:relative!important;z-index:1!important;background:transparent!important}
.allies-showcase .ally-tile>span{align-self:stretch!important;margin:10px!important;padding:12px 14px!important;position:relative!important;z-index:3!important;border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;transition:border-color .35s ease,background-color .45s ease,box-shadow .55s ease,transform .65s cubic-bezier(.16,1,.3,1)!important}
.allies-showcase .ally-tile>span:before{position:absolute;inset:0;z-index:-1;border:1px solid rgba(221,242,244,.34);border-radius:inherit;background:rgba(5,20,29,.58);box-shadow:inset 0 1px rgba(255,255,255,.12),0 8px 22px rgba(1,17,25,.28);-webkit-backdrop-filter:blur(12px) saturate(120%);backdrop-filter:blur(12px) saturate(120%);content:"";opacity:0;transform:translate3d(0,14px,0) scale(.96);transition:opacity .35s ease,transform .65s cubic-bezier(.16,1,.3,1);pointer-events:none}
.allies-showcase .ally-tile:hover>span,.allies-showcase .ally-tile:focus-visible>span{border-color:transparent!important;background:transparent!important;box-shadow:none!important;transform:translate3d(0,-2px,0)}
.allies-showcase .ally-tile:hover>span:before,.allies-showcase .ally-tile:focus-visible>span:before{opacity:1;transform:translate3d(0,0,0) scale(1)}
@media (hover:none),(pointer:coarse),(max-width:980px){.allies-showcase:before{background-attachment:scroll,scroll,scroll}.allies-showcase .ally-tile>span{border-color:transparent!important;background:transparent!important;box-shadow:none!important;transform:none!important}.allies-showcase .ally-tile>span:before{background:rgba(5,20,29,.58);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce),(prefers-reduced-data:reduce){.allies-showcase:before{background-attachment:scroll,scroll,scroll}.allies-showcase .ally-tile>span,.allies-showcase .ally-tile>span:before{transition:none!important}.allies-showcase .allies-ticker-track{animation:none!important}}

/* Exact allies rail styling restored from commit 7c0d86e in the effective stylesheet. */
/* Compact sponsor rail directly below the hero. */
.allies-ticker {
  padding: 24px 0 28px;
  overflow: hidden;
  background: #082b3a;
  color: #f4fbf8;
}
.allies-ticker-head { position: relative; z-index: 1; }
.allies-ticker .section-head, .allies-ticker-head .section-sub { margin-bottom: 10px; }
.allies-ticker .section-title { margin-bottom: 3px; color: #f4fbf8; font-size: clamp(24px, 3vw, 34px); }
.allies-ticker .section-sub { max-width: 760px; color: rgba(234, 247, 242, .7); font-size: 13px; }
.allies-ticker .sq { background: #48d7c1; }
.allies-ticker-viewport { width: 100%; overflow: hidden; mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.allies-ticker-track { display: flex; width: max-content; animation: allies-slide-left 26s linear infinite; will-change: transform; }
.allies-ticker-set { display: flex; gap: 12px; padding-right: 12px; }
.ally-tile { display: flex; align-items: center; gap: 10px; width: 194px; height: 74px; padding: 8px 12px 8px 8px; flex: 0 0 auto; border: 1px solid rgba(160, 231, 216, .2); border-radius: 12px; background: rgba(255, 255, 255, .1); color: #f4fbf8; transition: transform .2s ease, background .2s ease; }
.ally-tile:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .18); }
.ally-tile img { width: 58px; height: 58px; flex: 0 0 58px; border-radius: 9px; object-fit: cover; }
.ally-tile span { display: grid; min-width: 0; gap: 3px; }
.ally-tile strong { display: block; overflow: visible; font-family: "Barlow Condensed", Impact, sans-serif; font-size: 20px; line-height: .95; white-space: normal; overflow-wrap: normal; }
.ally-tile small { color: #a0e7d8; font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ally-sponsor { border-color: rgba(255, 208, 106, .45); }
.ally-sponsor small { color: #ffd477; }
@keyframes allies-slide-left { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 6px)); } }
.allies-ticker:hover .allies-ticker-track { animation-play-state: running; }
@media (prefers-reduced-motion: reduce) { .allies-ticker-track { animation: none; } }
@media (max-width: 640px) {
  .allies-ticker { padding: 20px 0 24px; }
  .ally-tile { width: 170px; height: 66px; }
  .ally-tile img { width: 50px; height: 50px; flex-basis: 50px; }
  .ally-tile strong { font-size: 18px; }
}


/* Slightly larger ally tiles while keeping the rail compact. */
.ally-tile { width: 224px; height: 88px; padding: 9px 14px 9px 9px; }
.ally-tile img { width: 70px; height: 70px; flex-basis: 70px; }
.ally-tile strong { font-size: 22px; }
.ally-tile small { font-size: 11px; }
@media (max-width: 640px) {
  .ally-tile { width: 194px; height: 76px; padding: 8px 12px 8px 8px; }
  .ally-tile img { width: 58px; height: 58px; flex-basis: 58px; }
  .ally-tile strong { font-size: 20px; }
}

/* 7c0d86e exact card geometry: horizontal thumbnail + stacked title/location. */
.allies-ticker .ally-tile {
  position: relative !important;
  display: flex !important;
  flex: 0 0 224px !important;
  width: 224px !important;
  height: 88px !important;
  min-height: 88px !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 13px !important;
  padding: 9px 14px 9px 9px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.07)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.16), 0 10px 24px rgba(0,0,0,.12) !important;
  text-decoration: none !important;
}
.allies-ticker .ally-tile:hover {
  background: linear-gradient(135deg, rgba(255,255,255,.21), rgba(255,255,255,.1)) !important;
  transform: translateY(-3px) !important;
}
.allies-ticker .ally-tile::after { display: none !important; content: none !important; }
.allies-ticker .ally-tile img {
  position: static !important;
  inset: auto !important;
  display: block !important;
  flex: 0 0 70px !important;
  width: 70px !important;
  height: 70px !important;
  max-width: 70px !important;
  min-width: 70px !important;
  padding: 0 !important;
  border-radius: 9px !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: auto !important;
}
.allies-ticker .ally-tile > span {
  position: static !important;
  display: grid !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-self: auto !important;
  gap: 3px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
  transform: none !important;
}
.allies-ticker .ally-tile strong {
  display: block !important;
  overflow: visible !important;
  color: #f4fbf8 !important;
  font-family: "Barlow Condensed", Impact, sans-serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
  white-space: normal !important;
}
.allies-ticker .ally-tile small {
  display: block !important;
  color: #a0e7d8 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}
.allies-ticker .ally-sponsor {
  background: linear-gradient(135deg, rgba(255,212,128,.17), rgba(255,255,255,.07)) !important;
  border-color: rgba(255,208,106,.45) !important;
}
.allies-ticker .ally-sponsor small { color: #ffd477 !important; }
@media (max-width: 640px) {
  .allies-ticker .ally-tile {
    flex-basis: 194px !important;
    width: 194px !important;
    height: 76px !important;
    min-height: 76px !important;
    gap: 11px !important;
    padding: 8px 12px 8px 8px !important;
  }
  .allies-ticker .ally-tile img {
    flex-basis: 58px !important;
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    min-width: 58px !important;
  }
  .allies-ticker .ally-tile strong { font-size: 20px !important; }
}

/* El subtítulo de aliados queda en una sola línea en escritorio. */
.allies-ticker-head .section-sub {
  max-width: none !important;
  width: max-content !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  .allies-ticker-head .section-sub {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
}

/* Encabezado y carrusel comparten exactamente el mismo borde izquierdo. */
.allies-ticker > .allies-ticker-head {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.allies-ticker > .allies-ticker-head > div { width: 100% !important; }
@media (max-width: 760px) {
  .allies-ticker > .allies-ticker-head {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* El encabezado vuelve al margen del contenedor original de 7c0d86e. */
.allies-ticker > .allies-ticker-head {
  width: min(1180px, calc(100% - 42px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (max-width: 760px) {
  .allies-ticker > .allies-ticker-head {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Aumento leve del tamaño del carrusel, conservando la proporción horizontal. */
.allies-ticker .ally-tile {
  flex-basis: 236px !important;
  width: 236px !important;
  height: 92px !important;
  min-height: 92px !important;
  gap: 13px !important;
  padding: 9px 14px 9px 9px !important;
}
.allies-ticker .ally-tile img {
  flex-basis: 74px !important;
  width: 74px !important;
  height: 74px !important;
  max-width: 74px !important;
  min-width: 74px !important;
}
@media (max-width: 640px) {
  .allies-ticker .ally-tile {
    flex-basis: 202px !important;
    width: 202px !important;
    height: 80px !important;
    min-height: 80px !important;
  }
  .allies-ticker .ally-tile img {
    flex-basis: 62px !important;
    width: 62px !important;
    height: 62px !important;
    max-width: 62px !important;
    min-width: 62px !important;
  }
}

/* Roca Bruja: dos fotos compactas, distintas y ampliables al hacer clic. */
.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock{width:min(100%,900px)!important;max-width:900px!important;justify-self:center;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock img{aspect-ratio:4/3!important;object-fit:cover!important}@media(max-width:640px){.service-detail-page:not(.surf-lesson-detail-page):not(.accommodation-detail-page) .service-editorial-gallery-witch-rock{width:100%!important;max-width:none!important;gap:10px!important}}

/* Clases de surf: mosaico estable para las dos fotos editoriales. */
.surf-lesson-detail-page .surf-lesson-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;height:auto;gap:clamp(10px,1.8vw,16px);margin:0;align-items:start}.surf-lesson-detail-page .surf-lesson-gallery img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:3/2;grid-column:auto!important;grid-row:auto!important;object-fit:cover}@media(max-width:640px){.surf-lesson-detail-page .surf-lesson-gallery{grid-template-columns:1fr;gap:10px}}

/* Fondo fijo móvil opcional de Servicios: quitar services-parallax en index.html para apagarlo. */
#servicios.services-parallax .px-bg{position:fixed;inset:0}
#servicios:not(.services-parallax) .px-bg{position:absolute;inset:0}
@media (min-width:1025px){#servicios.services-parallax .px-bg{position:absolute}}
@media(prefers-reduced-motion:reduce){#servicios.services-parallax .px-bg{position:absolute}}


/* Stable draggable allies ticker */
.allies-ticker-track{animation:none!important;transform:translate3d(0,0,0);will-change:transform}
.allies-ticker-resist{left:0!important;transition:none!important}
.allies-ticker-viewport{touch-action:pan-y}

/* Header alignment: keep the medium desktop nav clear of the hero wave. */
@media (min-width:981px) and (max-width:1180px){.nav{margin-right:max(14px,calc((100vw - 1180px)/2));transform:none}.navlinks{gap:12px;font-size:14px}.hero-grid{gap:28px;transform:translate(-20px,62px)}}
/* Responsive header guard: compact desktop navigation before falling back to hamburger. */
@media (min-width: 1181px) and (max-width: 1440px) {
  .topbar .navlinks,
  .service-topbar .navlinks {
    display: flex;
    gap: 10px;
    margin-left: auto;
    font-size: 14px;
    letter-spacing: -.01em;
    white-space: nowrap;
  }
  .topbar .hamb,
  .service-topbar .hamb {
    display: none;
  }
}

@media (min-width: 1441px) {
  .topbar .navlinks,
  .service-topbar .navlinks {
    gap: 15px;
    font-size: 14px;
    letter-spacing: -.01em;
  }
}

/* Shared right edge: desktop navigation and chat use the same viewport axis. */
@media (min-width: 1181px) {
  .topbar .container.nav,
  .service-topbar .container.nav {
    position: relative;
    width: calc(100% - 36px) !important;
    max-width: none;
    margin-right: 18px !important;
    margin-left: 18px !important;
  }
  .topbar .navlinks,
  .service-topbar .navlinks {
    margin-right: 0 !important;
  }
}

/* Hero camera CTA: give the weather gadget a clear, full-width next action. */
.hero-side-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-self: end;
  width: 100%;
  min-width: 0;
  gap: 14px;
}
.hero-side-stack .weather-card {
  width: 100%;
}
.hero-camera-cta {
  width: 100%;
  min-height: 52px;
  padding: 0 18px;
  white-space: nowrap;
  animation: hero-camera-float 3.2s ease-in-out infinite;
  will-change: transform;
}
@keyframes hero-camera-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
.hero-camera-cta:hover,
.hero-camera-cta:focus-visible { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) {
  .hero-camera-cta {
    animation: none;
    will-change: auto;
  }
}
@media (max-width: 980px) {
  .hero-side-stack {
    justify-self: center;
    width: min(100%, 430px);
  }
}
@media (max-width: 640px) {
  .hero-side-stack { width: 100%; gap: 10px; }
  .hero-camera-cta { min-height: 48px; padding: 0 10px; font-size: 13px; }
}

/* Aliados: reducir solo el aire vertical, sin tocar el tamaño del contenido. */
.allies-ticker { padding: 4px 0 6px !important; }
.allies-ticker .section-title { margin-bottom: 0 !important; }
.allies-ticker-head .section-sub { margin: 2px 0 !important; }
@media (max-width: 640px) {
  .allies-ticker { padding: 4px 0 6px !important; }
}
/* Clases de surf · información confirmada del servicio */
.surf-lesson-details{max-width:900px;margin:28px auto 0;padding:22px 24px;border:1px solid rgba(8,127,128,.18);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(224,244,238,.62));box-shadow:0 12px 28px rgba(8,43,58,.09)}.surf-lesson-details .service-supporting-lead{margin:0;color:#294b57;font-size:16px;line-height:1.65}.surf-lesson-details ul{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}.surf-lesson-details li{padding:7px 11px;border:1px solid rgba(8,127,128,.18);border-radius:999px;background:rgba(255,255,255,.58);color:#244f59;font-size:13px}@media (max-width:640px){.surf-lesson-details{margin-top:20px;padding:17px}.surf-lesson-details .service-supporting-lead{font-size:15px;line-height:1.55}.surf-lesson-details ul{display:grid;gap:7px}.surf-lesson-details li{border-radius:12px}}
/* Carrusel de aliados: arrastre horizontal estable sin interferir con el avance automático. */
.allies-ticker-viewport {
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.allies-ticker-viewport img {
  -webkit-user-drag: none;
  user-select: none;
}
.allies-ticker.is-dragging .allies-ticker-viewport { cursor: grabbing; }
.allies-ticker .ally-tile img.ally-eterno-verano-logo {
  object-fit: contain !important;
  object-position: center !important;
  background: #fff !important;
}
