1<!DOCTYPE html><!-- Last Published: Tue Jun 02 2026 12:17:56 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="a-casa-de-aldan.webflow.io" data-wf-page="6968fddfaea2e771ee80e591" data-wf-site="695b865c5db803d1d0774550" lang="es-ES"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Eventos</title><meta content="Eventos" property="og:title"/><meta content="Eventos" name="twitter:title"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/css/a-casa-de-aldan.webflow.shared.473f6e2c4.min.css" rel="stylesheet" type="text/css" integrity="sha384-Rz9uLE3yWyeJUNhEK1W2rRKJeMbq9IKu5HxDut2bzNAn1zZ87yaCRwHqQe9lh78L" crossorigin="anonymous"/>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69ef4b455513751a12a5c513_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69ef4b4a407f6adacc064feb_webclip.png" rel="apple-touch-icon"/><style> 2/* =============================== 3 NAVBAR BASE 4================================= */ 5 6.navbar { 7 transition: 8 background-color 320ms cubic-bezier(.4,0,.2,1), 9 border-color 320ms cubic-bezier(.4,0,.2,1), 10 backdrop-filter 320ms cubic-bezier(.4,0,.2,1); 11 will-change: background-color, border-color; 12} 13 14.navbar .navlink, 15.navbar .brand-logo img { 16 transition: 17 color 320ms cubic-bezier(.4,0,.2,1), 18 filter 320ms cubic-bezier(.4,0,.2,1), 19 opacity 320ms cubic-bezier(.4,0,.2,1); 20} 21 22/* =============================== 23 DESKTOP / GLOBAL STATES 24================================= */ 25 26.navbar.is-dark { 27 background-color: transparent; 28 border-bottom: none; 29} 30 31.navbar.is-dark .navlink { 32 color: #ffffff !important; 33} 34 35.navbar.is-dark .brand-logo img { 36 filter: invert(1) brightness(1.05) !important; 37} 38 39.navbar.is-light { 40 background-color: rgba(241, 240, 235, 0.92); 41 backdrop-filter: blur(12px); 42 -webkit-backdrop-filter: blur(12px); 43 border-bottom: 1px solid rgba(4,10,32,0.08); 44} 45 46.navbar.is-light .navlink { 47 color: #4a413a !important; 48} 49 50.navbar.is-light .brand-logo img { 51 filter: none !important; 52} 53 54.navbar.is-dark .w-nav-button { 55 color: #f1f0eb !important; 56} 57 58.navbar.is-light .w-nav-button { 59 color: #4a413a !important; 60} 61 62/* =============================== 63 MOBILE / TABLET 64 Dropdown always uses fixed light style 65================================= */ 66 67<style> 68@media screen and (max-width: 991px) { 69 .navbar { 70 position: fixed; 71 width: 100%; 72 backdrop-filter: none; 73 -webkit-backdrop-filter: none; 74 } 75 76 /* Estado cerrado: no tocamos el theme dinámico del navbar */ 77 .navbar .w-nav-menu, 78 .navbar .nav-menu { 79 background: transparent; 80 } 81 82 /* Dropdown abierto: SIEMPRE estático */ 83 .navbar .w-nav-menu.w--nav-menu-open, 84 .navbar .nav-menu.w--nav-menu-open { 85 position: absolute !important; 86 top: 100% !important; 87 left: 0 !important; 88 right: 0 !important; 89 width: 100% !important; 90 max-width: 100% !important; 91 min-width: 100% !important; 92 box-sizing: border-box !important; 93 margin: 0 !important; 94 padding: 2rem 1.5rem 1.75rem 1.5rem !important; 95 96 display: flex !important; 97 flex-direction: column !important; 98 align-items: center !important; 99 justify-content: flex-start !important; 100 gap: 1.25rem !important; 101 102 background: #effbff !important; 103 background-color: #effbff !important; 104 border-bottom: 1px solid rgba(4,10,32,0.08) !important; 105 z-index: 999 !important; 106 } 107 108 /* Links del menú abierto: SIEMPRE oscuros */ 109 .navbar .w-nav-menu.w--nav-menu-open .w-nav-link, 110 .navbar .w-nav-menu.w--nav-menu-open .navlink, 111 .navbar .nav-menu.w--nav-menu-open .w-nav-link, 112 .navbar .nav-menu.w--nav-menu-open .navlink { 113 display: block !important; 114 width: 100% !important; 115 text-align: center !important; 116 margin: 0 !important; 117 padding: 0 !important; 118 color: #4a413a !important; 119 opacity: 1 !important; 120 } 121 122 .navbar .w-nav-menu.w--nav-menu-open .w-nav-link:visited, 123 .navbar .w-nav-menu.w--nav-menu-open .w-nav-link.w--current, 124 .navbar .w-nav-menu.w--nav-menu-open .navlink:visited, 125 .navbar .w-nav-menu.w--nav-menu-open .navlink.w--current, 126 .navbar .nav-menu.w--nav-menu-open .w-nav-link:visited, 127 .navbar .nav-menu.w--nav-menu-open .w-nav-link.w--current, 128 .navbar .nav-menu.w--nav-menu-open .navlink:visited, 129 .navbar .nav-menu.w--nav-menu-open .navlink.w--current { 130 color: #4a413a !important; 131 opacity: 1 !important; 132 } 133 134 /* Mata cualquier herencia dark/light dentro del dropdown */ 135 .navbar.is-dark .w-nav-menu.w--nav-menu-open .w-nav-link, 136 .navbar.is-dark .w-nav-menu.w--nav-menu-open .navlink, 137 .navbar.is-light .w-nav-menu.w--nav-menu-open .w-nav-link, 138 .navbar.is-light .w-nav-menu.w--nav-menu-open .navlink, 139 .navbar.is-dark .nav-menu.w--nav-menu-open .w-nav-link, 140 .navbar.is-dark .nav-menu.w--nav-menu-open .navlink, 141 .navbar.is-light .nav-menu.w--nav-menu-open .w-nav-link, 142 .navbar.is-light .nav-menu.w--nav-menu-open .navlink { 143 color: #4a413a !important; 144 } 145 146 /* Desactivar hover swap dentro del menú móvil */ 147 .navbar .w-nav-menu.w--nav-menu-open .navswap-window, 148 .navbar .nav-menu.w--nav-menu-open .navswap-window { 149 display: inline !important; 150 overflow: visible !important; 151 height: auto !important; 152 line-height: inherit !important;
153 vertical-align: baseline !important; 154 } 155 156 .navbar .w-nav-menu.w--nav-menu-open .navswap-stack, 157 .navbar .nav-menu.w--nav-menu-open .navswap-stack { 158 display: inline !important; 159 transform: none !important; 160 transition: none !important; 161 } 162 163 .navbar .w-nav-menu.w--nav-menu-open .navswap-line, 164 .navbar .nav-menu.w--nav-menu-open .navswap-line { 165 display: inline !important; 166 white-space: normal !important; 167 } 168 169 .navbar .w-nav-menu.w--nav-menu-open .navswap-line.is-hidden, 170 .navbar .nav-menu.w--nav-menu-open .navswap-line.is-hidden { 171 display: none !important; 172 } 173 174 /* Burger: sigue reaccionando al theme del navbar */ 175 .navbar .w-nav-button { 176 background: transparent !important; 177 } 178 179 /* Cuando el menú está abierto, el icono se ve oscuro porque está sobre Alice Blue */ 180 .navbar .w-nav-button.w--open, 181 .navbar.is-dark .w-nav-button.w--open, 182 .navbar.is-light .w-nav-button.w--open { 183 color: #4a413a !important; 184 } 185} 186</style> 187 188<style> 189/* NAV SWAP: solo desktop */ 190@media screen and (min-width: 992px) { 191 .navbar .w-nav-menu a.w-nav-link{ 192 position: relative; 193 display: inline-block; 194 text-decoration: none; 195 } 196 197 .navbar .w-nav-menu a.w-nav-link .navswap-window{ 198 display: inline-block; 199 overflow: hidden; 200 height: 1.1em; 201 line-height: 1.1em; 202 vertical-align: bottom; 203 transform: translateZ(0); 204 } 205 206 .navbar .w-nav-menu a.w-nav-link .navswap-stack{ 207 display: block; 208 will-change: transform; 209 transform: translate3d(0,0,0); 210 transition: transform 360ms cubic-bezier(.2,.8,.2,1); 211 } 212 213 .navbar .w-nav-menu a.w-nav-link .navswap-line{ 214 display: block; 215 white-space: nowrap; 216 will-change: transform, opacity; 217 } 218 219 .navbar .w-nav-menu a.w-nav-link:hover .navswap-stack, 220 .navbar .w-nav-menu a.w-nav-link:focus-visible .navswap-stack{ 221 transform: translate3d(0,-50%,0); 222 } 223} 224 225/* TABLET / MOBILE: menú estático */ 226@media screen and (max-width: 991px) { 227 .navbar .w-nav-menu.w--nav-menu-open, 228 .navbar .nav-menu.w--nav-menu-open { 229 background-color: #effbff !important; 230 background: #effbff !important; 231 display: flex !important; 232 flex-direction: column !important; 233 align-items: stretch !important; 234 justify-content: flex-start !important; 235 gap: 1.25rem !important; 236 } 237 238 .navbar .w-nav-menu.w--nav-menu-open a.w-nav-link, 239 .navbar .nav-menu.w--nav-menu-open a.w-nav-link { 240 display: block !important; 241 width: 100% !important; 242 text-align: center !important; 243 color: #4a413a !important; 244 opacity: 1 !important; 245 } 246 247 /* Fuerza el color también dentro del swap */ 248 .navbar .w-nav-menu.w--nav-menu-open a.w-nav-link .navswap-window, 249 .navbar .w-nav-menu.w--nav-menu-open a.w-nav-link .navswap-stack, 250 .navbar .w-nav-menu.w--nav-menu-open a.w-nav-link .navswap-line, 251 .navbar .nav-menu.w--nav-menu-open a.w-nav-link .navswap-window, 252 .navbar .nav-menu.w--nav-menu-open a.w-nav-link .navswap-stack, 253 .navbar .nav-menu.w--nav-menu-open a.w-nav-link .navswap-line { 254 color: #4a413a !important; 255 } 256 257 /* Mata el efecto swap en mobile/tablet */ 258 .navbar .w-nav-menu.w--nav-menu-open a.w-nav-link .navswap-window, 259 .navbar .nav-menu.w--nav-menu-open a.w-nav-link .navswap-window { 260 display: inline !important; 261 overflow: visible !important; 262 height: auto !important; 263 line-height: inherit !important; 264 vertical-align: baseline !important; 265 } 266 267 .navbar .w-nav-menu.w--nav-menu-open a.w-nav-link .navswap-stack, 268 .navbar .nav-menu.w--nav-menu-open a.w-nav-link .navswap-stack { 269 display: inline !important; 270 transform: none !important; 271 transition: none !important; 272 } 273 274 .navbar .w-nav-menu.w--nav-menu-open a.w-nav-link .navswap-line, 275 .navbar .nav-menu.w--nav-menu-open a.w-nav-link .navswap-line { 276 display: inline !important; 277 white-space: normal !important; 278 } 279 280 .navbar .w-nav-menu.w--nav-menu-open a.w-nav-link .navswap-line.is-hidden, 281 .navbar .nav-menu.w--nav-menu-open a.w-nav-link .navswap-line.is-hidden { 282 display: none !important; 283 } 284} 285</style> 286 287<style> 288@media screen and (max-width: 991px) { 289 .navbar.is-dark .navlink, 290 .navbar.is-dark .w-nav-link, 291 .navbar.is-dark .w--nav-link-open { 292 color: #4a413a !important; 293 } 294} 295</style><style> 296 .cursor-substitute{ 297 position: fixed; 298 left: 0; top: 0; 299 pointer-events: none; 300 will-change: transform, opacity; 301 transform: translate3d(-9999px,-9999px,0) scale(1); 302 opacity: 0; 303 } 304 305 @media (hover: none){ 306 .cursor-substitute{ display:none !important; } 307 } 308</style> 309 310<style> 311 /* ============================ 312 BUTTON SWAP EFFECT 313 ============================ */ 314 315 .btn-main{ 316 position: relative; 317 display: inline-flex; /* keeps button layout stable */ 318 align-items: center; 319 justify-content: center; 320 overflow: hidden; 321 } 322 323 .btn-main .btnswap-window{ 324 display: inline-block; 325 overflow: hidden; 326 height: 1.2em; 327 line-height: 1.2em; 328 vertical-align: middle; 329 transform: translateZ(0); 330 } 331 332 .btn-main .btnswap-stack{ 333 display: block; 334 will-change: transform;
335 transform: translate3d(0,0,0); 336 transition: transform 420ms cubic-bezier(.2,.8,.2,1); 337 } 338 339 .btn-main .btnswap-line{ 340 display: block; 341 white-space: nowrap; 342 } 343 344 .btn-main:hover .btnswap-stack, 345 .btn-main:focus-visible .btnswap-stack{ 346 transform: translate3d(0,-50%,0); 347 } 348</style></head><body class="body"><div class="content-wrapper"><div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="navbar w-nav"><div class="container w-container"><div class="menu-wrapper"><a id="w-node-efec52d0-6d07-6b9b-b735-dbb4799de8a1-799de89e" href="/" class="brand-logo w-nav-brand"><img sizes="100vw" srcset="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69689e2d9d7dbd725d1084e2_aldan-logo-p-500.webp 500w, https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69689e2d9d7dbd725d1084e2_aldan-logo-p-800.webp 800w, https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69689e2d9d7dbd725d1084e2_aldan-logo-p-1080.webp 1080w, https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69689e2d9d7dbd725d1084e2_aldan-logo.webp 2042w" alt="Aldan wordmark logo in uppercase black letters on a white background." src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69689e2d9d7dbd725d1084e2_aldan-logo.webp" loading="lazy" class="image-logo"/></a><nav role="navigation" id="w-node-efec52d0-6d07-6b9b-b735-dbb4799de8a3-799de89e" class="nav-menu w-nav-menu"><a data-label="Habitaciones" href="/habitaciones" class="navlink w-nav-link">Habitaciones</a><a data-label="Espacio e Historia" href="https://a-casa-de-aldan.webflow.io/#historia" class="navlink w-nav-link">Espacio e Historia</a><a data-label="Eventos" href="/eventos" aria-current="page" class="navlink w-nav-link w--current">Eventos</a><a data-label="GastronomÃa" href="https://a-casa-de-aldan.webflow.io/#gastro" class="navlink w-nav-link">GastronomÃa</a><a href="https://a-casa-de-aldan.webflow.io/#reservar" class="btn-main nav-btn w-button">Reservar</a></nav><div id="w-node-efec52d0-6d07-6b9b-b735-dbb4799de8ac-799de89e" class="menu-button w-nav-button"><div class="w-icon-nav-menu"></div></div></div></div></div><div data-nav="dark" data-w-id="f105d728-0697-7581-494e-bda15413489e" class="hero-margin-wrapper blog"><div class="hero-container-wrapper"><img src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69a6c2354567ca3f21beba2c_A%20CASA%20DE%20ALDA%CC%81N%20-27.avif" loading="lazy" alt="A man standing with a drink looking out a large window at boats on water while a woman sits nearby reading a book in a wooden-paneled room." class="main-hero-image"/><div class="hero-content-wrapper left"><div class="w-layout-blockcontainer container w-container"><div class="hero-side-content-wrap"><div class="subtitle-text">Eventos</div><h1 class="h1-display">Celebraciones con alma en Aldán</h1><p class="paragraph-title white">En A Casa de Aldán, cada evento se vive en un entorno donde la historia, la naturaleza y la calma crean el escenario perfecto.</p><div class="btn-hero-wrapper"><a href="#formulario" class="btn-main w-button">Solicitar Información</a><a href="#espacios" class="btn-main alt w-button">Descubrir espacios</a></div></div></div></div><div class="hero-overlay"></div><div class="hero-bg-overlay"></div></div></div><section data-nav="light" class="section-scroll"><div class="w-layout-blockcontainer container w-container"><div class="center-content relative"><div class="hero-subtitle-holder"><h2 class="hero-subtitle-text">Hay celebraciones que merecen algo más que un espacio. <br/>Merecen un entorno con carácter, luz natural y una atmósfera que fluya con naturalidad.</h2></div></div></div></section><section class="section-event"><div class="w-layout-blockcontainer container w-container"><div class="side-title-wrapper _50padding"><div class="title-text-content"><div class="subtitle-text non-hero">Celebraciones</div><h2 class="h2-display">Un lugar que transforma <br/>cada momento.</h2></div></div><div class="w-dyn-list"><div data-w-id="ee96bd78-a302-b2b2-e5e4-674a06651e4b" style="opacity:0" role="list" class="events-grid-list w-dyn-items"><div role="listitem" class="w-dyn-item"><a data-w-id="4b4dc110-cc39-696e-4007-f4176ace3eeb" href="/eventos/bautizos-y-comuniones" class="event-grid-card w-inline-block"><img src="https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affeca9afe84c25f971325_ellete%CC%80.Wphotography-77.webp" loading="lazy" style="-webkit-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" alt="" sizes="(max-width: 767px) 100v
348w, (max-width: 991px) 727px, 939px" srcset="https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affeca9afe84c25f971325_ellete%CC%80.Wphotography-77-p-500.webp 500w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affeca9afe84c25f971325_ellete%CC%80.Wphotography-77-p-800.webp 800w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affeca9afe84c25f971325_ellete%CC%80.Wphotography-77-p-1080.webp 1080w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affeca9afe84c25f971325_ellete%CC%80.Wphotography-77-p-1600.webp 1600w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affeca9afe84c25f971325_ellete%CC%80.Wphotography-77-p-2000.webp 2000w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affeca9afe84c25f971325_ellete%CC%80.Wphotography-77.webp 2080w" class="full-image parallax"/><div class="car-bg-overlay"></div><div class="card-text-content-wrap"><h3 class="h3-display event-card no-anim">Bautizos y comuniones</h3><p class="paragraph-card small no-anim">Un espacio acogedor para celebrar en familia con calma y autenticidad. JardÃn, luz natural y ambientes versátiles.</p></div></a></div><div role="listitem" class="w-dyn-item"><a data-w-id="4b4dc110-cc39-696e-4007-f4176ace3eeb" href="/eventos/bodas" class="event-grid-card w-inline-block"><img src="https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69aaf06dc2b3dca59075c512_ellete%CC%80.Wphotography-218.webp" loading="lazy" style="-webkit-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" alt="" sizes="(max-width: 767px) 100vw, (max-width: 991px) 727px, 939px" srcset="https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69aaf06dc2b3dca59075c512_ellete%CC%80.Wphotography-218-p-500.webp 500w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69aaf06dc2b3dca59075c512_ellete%CC%80.Wphotography-218-p-800.webp 800w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69aaf06dc2b3dca59075c512_ellete%CC%80.Wphotography-218-p-1080.webp 1080w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69aaf06dc2b3dca59075c512_ellete%CC%80.Wphotography-218.webp 1166w" class="full-image parallax"/><div class="car-bg-overlay"></div><div class="card-text-content-wrap"><h3 class="h3-display event-card no-anim">Bodas</h3><p class="paragraph-card small no-anim">Celebraciones Ãntimas en un entorno con historia y naturaleza. Un escenario elegante y sereno donde cada detalle acompaña el momento.</p></div></a></div><div role="listitem" class="w-dyn-item"><a data-w-id="4b4dc110-cc39-696e-4007-f4176ace3eeb" href="/eventos/eventos-corporativos" class="event-grid-card w-inline-block"><img src="https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affdee2fb25aae71a6cd1f_Casa%20Ald%E2%80%A0n%20-%20050.webp" loading="lazy" style="-webkit-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" alt="" sizes="(max-width: 767px) 100vw, (max-width: 991px) 727px, 939px" srcset="https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affdee2fb25aae71a6cd1f_Casa%20Ald%E2%80%A0n%20-%20050-p-500.webp 500w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affdee2fb25aae71a6cd1f_Casa%20Ald%E2%80%A0n%20-%20050-p-800.webp 800w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affdee2fb25aae71a6cd1f_Casa%20Ald%E2%80%A0n%20-%20050-p-1080.webp 1080w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affdee2fb25aae71a6cd1f_Casa%20Ald%E2%80%A0n%20-%20050-p-1600.webp 1600w, https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affdee2fb25aae71a6cd1f_Casa%20Ald%E2%80%A0n%20-%20050.webp 1985w" class="full-image parallax"/>
348<div class="car-bg-overlay"></div><div class="card-text-content-wrap"><h3 class="h3-display event-card no-anim">Eventos Corporativos</h3><p class="paragraph-card small no-anim">Reuniones y jornadas profesionales en un ambiente inspirador. Espacios versátiles y privacidad para encuentros productivos con carácter.</p></div></a></div><div role="listitem" class="w-dyn-item"><a data-w-id="4b4dc110-cc39-696e-4007-f4176ace3eeb" href="/eventos/retiros" class="event-grid-card w-inline-block"><img src="https://cdn.prod.website-files.com/69980ff4b02f1109d8eb748c/69affd36c5ad3d7a1bb727c3_A%20casa%20de%20Alda%CC%81n%20-%20EMMA%20OVI%CC%81N-16.avif" loading="lazy" style="-webkit-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-moz-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);-ms-transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0);transform:translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0) skew(0, 0)" alt="" class="full-image parallax"/><div class="car-bg-overlay"></div><div class="card-text-content-wrap"><h3 class="h3-display event-card no-anim">Retiros</h3><p class="paragraph-card small no-anim">Un entorno tranquilo y natural pensado para reconectar, compartir y crear experiencias con sentido.</p></div></a></div></div></div></div></section><section id="espacios" data-nav="light" class="section-space"><div class="w-layout-blockcontainer container w-container"><div class="center-content"><div class="subtitle-text non-hero">Espacios</div><h2 class="h2-display center">Un lugar con alma, pensado <br/>para quedarse.</h2><p class="paragraph-title center">A Casa de Aldán no es solo un alojamiento: es una casa con historia, restaurada con respeto, donde cada espacio ha sido concebido para invitar a la calma, al encuentro y a la contemplación del entorno.</p></div><div data-w-id="52ee1c91-97dc-d7d6-1f3b-a034658f11c7" style="opacity:0" class="space-content-wrap"><div data-current="Tab 1" data-easing="ease" data-duration-in="300" data-duration-out="100" class="tab-spaces-wrapper w-tabs"><div class="spaces-tab-menu w-tab-menu"><a data-w-tab="Tab 1" class="space-tablink w-inline-block w-tab-link w--current"><div>La casa</div></a><a data-w-tab="Tab 2" class="space-tablink w-inline-block w-tab-link"><div>El jardÃn</div></a><a data-w-tab="Tab 3" class="space-tablink w-inline-block w-tab-link"><div>Zonas comunes</div></a><a data-w-tab="Tab 4" class="space-tablink w-inline-block w-tab-link"><div>Descanso</div></a><a data-w-tab="Tab 5" class="space-tablink w-inline-block w-tab-link"><div>El entorno</div></a></div><div class="tabs-content w-tab-content"><div data-w-tab="Tab 1" class="tab-pane-space w-tab-pane w--tab-active"><div class="tab-pane-content-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69a6c2358757b405c5286bbf_A%20CASA%20DE%20ALDA%CC%81N%20-25.avif" alt="View through glass door showing an outdoor courtyard with stone columns and tiled floor, with text 'a casa de Aldán turismo rural' on the glass." class="space-image-wrap"/><div class="space-overlay-bg"></div><div class="space-text-content-wrap"><div class="subtitle-text">La casa</div><h3 class="h3-display title">Casa rural con encanto en Aldán.</h3><p class="paragraph-title center space-card">Una casa tradicional gallega restaurada con sensibilidad, donde arquitectura, confort y tranquilidad se unen para ofrecer una experiencia auténtica en las RÃas Baixas.</p></div></div></div><div data-w-tab="Tab 2" class="tab-pane-space w-tab-pane"><div class="tab-pane-content-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/6993582aa919c71ce50a8928_Casa%20Ald%E2%80%A0n%20-%20066.avif" alt="Modern house with a long row of windows, surrounded by grass, trees, and two lounge chairs on the lawn." class="space-image-wrap"/><div class="space-overlay-bg"></div><div class="space-text-content-wrap"><div class="subtitle-text">La casa</div><h3 class="h3-display title">JardÃn privado para desconectar.</h3><p class="paragraph-title center space-card">Un amplio jardÃn que rodea la casa, ideal para relajarse al aire libre, leer, pasear o disfrutar del entorno natural con total calma.</p></div></div></div><div data-w-tab="Tab 3" class="tab-pane-space w-tab-pane"><div class="tab-pane-content-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/6993586358e7faa4fab41e15_Casa%20Ald%E2%80%A0n%20-%20039.avif" alt="Narrow interior corridor with rough stone wall on the left and wooden stairs and paneling on the right under a wooden ceiling." class="space-image-wrap"/><div class="space-overlay-bg"></div><div class="space-text-content-wrap"><div class="subtitle-text">La casa</div><h3 class="h3-display title">Zonas comunes acogedoras</h3><p class="paragraph-title center space-card">
348Espacios comunes diseñados para compartir momentos, conversar o simplemente descansar en un ambiente cálido y tranquilo.</p></div></div></div><div data-w-tab="Tab 4" class="tab-pane-space w-tab-pane"><div class="tab-pane-content-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/699358ac35ea1f106f1d16f5_Casa%20Ald%E2%80%A0n%20-%20055.avif" alt="Sunny courtyard with stone flooring, a leafy tree, outdoor chairs, and a stone building with large windows and stairs." class="space-image-wrap"/><div class="space-overlay-bg"></div><div class="space-text-content-wrap"><div class="subtitle-text">Zona de descanso</div><h3 class="h3-display title">Espacios de descanso y relax</h3><p class="paragraph-title center space-card">Rincones pensados para parar, respirar y disfrutar del silencio, con zonas de estar que invitan a la desconexión total.</p></div></div></div><div data-w-tab="Tab 5" class="tab-pane-space w-tab-pane"><div class="tab-pane-content-wrapper"><img loading="lazy" src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/699359c73878add673a5b067_553207239_243298102_1080x1080.avif" alt="Clear turquoise water along a sandy beach with people walking, framed by trees and hills under a bright blue sky." class="space-image-wrap"/><div class="space-overlay-bg"></div><div class="space-text-content-wrap"><div class="subtitle-text">El entorno</div><h3 class="h3-display title">Alojamiento en las RÃas Baixas</h3><p class="paragraph-title center space-card">Ubicada en un enclave privilegiado, A Casa de Aldán combina tranquilidad, cercanÃa al mar y excelente conexión con Cangas, Vigo y las mejores playas de la zona.</p></div></div></div></div></div></div></div></section><section id="formulario" data-nav="light" class="section-contact no-hero"><div class="w-layout-blockcontainer container w-container"><div class="hero-max"><div class="contact-content-wrap"><h2 class="h1-display dark">Estamos encantados de atenderte.</h2><p class="paragraph-title">Comparte con nosotros tu consulta y diseñaremos juntos una experiencia a tu medida en las RÃas Baixas.</p><div class="contact-content-block"><div class="contact-title">Llámanos</div><a href="tel:+34692891956" class="text-link-contact">692 89 19 56</a></div><div class="contact-content-block"><div class="contact-title">Email</div><a href="mailto:[email protected]?subject=Eventos%20%7C%20A%20Casa%20de%20Ald%C3%A1n" class="text-link-contact">[email protected]</a></div></div><div class="form-contact-wrap"><div class="w-form"><form id="wf-form-Eventos" name="wf-form-Eventos" data-name="Eventos" method="get" class="form-container-wrap" data-wf-page-id="6968fddfaea2e771ee80e591" data-wf-element-id="dff026fa-e2e3-0a3b-45e5-fe38eb98ad52"><div class="form-field-wrapper"><label for="Nombre-completo" class="text-label">Nombre completo</label><input class="text-field w-input" maxlength="256" name="Nombre-completo" data-name="Nombre completo" placeholder="Ej: MarÃa Fernández" type="text" id="Nombre-completo" required=""/></div><div class="form-field-wrapper"><label for="Email" class="text-label">Correo electrónico</label><input class="text-field w-input" maxlength="256" name="Email" data-name="Email" placeholder="Ej: [email protected]" type="email" id="Email" required=""/></div><div class="form-field-wrapper"><label for="Email" class="text-label">Teléfono</label><input class="text-field w-input" maxlength="256" name="Email" data-name="Email" placeholder="Ej: 600 00 00 00" type="tel" id="Email"/></div><div class="form-field-wrapper"><label for="field" class="text-label">Motivo de Consulta</label><select id="field" name="field" data-name="Field" required="" class="text-field selector w-select"><option value="Selecciona uno...">Selecciona uno...</option><option value="Reserva de Habitación">Reserva de Habitación</option><option value="Organización de Evento">Organización de Evento</option><option value="Bodas">Bodas</option><option value="Celebraciones Familiares">Celebraciones Familiares</option><option value="Evento Corporativo">Evento Corporativo</option><option value="Información General">Información General</option></select></div><div id="w-node-dff026fa-e2e3-0a3b-45e5-fe38eb98ad63-ee80e591" class="form-field-wrapper"><label for="date" class="text-label">Fecha Prevista (si es evento)</label><input class="text-field w-input" autocomplete="off" maxlength="256" name="date" data-name="date" placeholder="Elige fecha" data-toggle="datepicker" type="text" id="date" required=""/></div><div class="form-field-wrapper"><label for="Email" class="text-label">Número de personas (si es evento)</label><input class="text-field w-input" maxlength="256" name="Email" data-name="Email" placeholder="Ej: 12" type="number" id="Email" required=""/></div><div id="w-node-dff026fa-e2e3-0a3b-45e5-fe38eb98ad6b-ee80e591" class="form-field-wrapper"><label for="Mensaje" class="text-label">Nombre completo</label><textarea placeholder="Cuéntanos detalles..." maxlength="5000" id="Mensaje" name="Mensaje" data-name="Mensaje" class="text-field textarea w-input"></textarea></div><input type="submit" data-wait="Un momento..." class="btn-main dark w-button" value="Env
348iar Consulta"/></form><div class="success-message w-form-done"><div class="success-wrapper"><div class="success-text">¡Gracias!<br/>â<br/>Nos pondremos en contacto con la mayor brevedad posible.</div></div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div></div></div></section></div><div data-nav="dark" data-w-id="fddd1388-5cd9-4267-c7a8-773d51579a5c" class="section-spacer"></div><section class="section-footer"><a href="/contacto" class="footer-main-link w-inline-block"><h2 class="h2-display banner-footer">Tu próxima estancia <br/>comienza aquÃ.</h2><div class="mobile-button">Reservar Ahora</div><div class="cursor-substitute"><div class="cursor-text">Reservar Ahora</div></div></a><img loading="lazy" src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/69a6c2354567ca3f21beba2c_A%20CASA%20DE%20ALDA%CC%81N%20-27.avif" alt="A man standing with a drink looking out a large window at boats on water while a woman sits nearby reading a book in a wooden-paneled room." class="bg-footer-image"/><div class="footer-bg-overlay"></div><div class="contact-info-wrapper"><div class="w-layout-blockcontainer container w-container"><div class="footer-end-container-wrap"><div class="contact-link-wrapper"><div class="main-footer-container-wrap"><div class="footer-main-text">Contacto</div><a href="mailto:[email protected]?subject=Contacto%20%7C%20A%20Casa%20de%20Ald%C3%A1n" class="footer-link">[email protected]</a><a href="tel:+34692891956" class="footer-link">692 89 19 56</a></div><div class="main-footer-container-wrap"><div class="footer-main-text">Social</div><a href="#" class="footer-link">Instagram</a><a href="#" class="footer-link">Facebook</a></div><div class="main-footer-container-wrap"><div class="footer-main-text">Nosotros</div><a href="/blog" class="footer-link">Blog</a><a href="/contacto" class="footer-link">Contacto</a></div></div><div class="address-footer-wrap"><a href="#" class="footer-link capital side">Av. José Graña, 52 <br/>36945 Puerto de Pontevedra, Aldán</a><div class="footer-link">© 2026 A casa de Aldán</div></div></div></div></div></section>
348<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=695b865c5db803d1d0774550" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
348<script src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/js/webflow.schunk.36b8fb49256177c8.js" type="text/javascript" integrity="sha384-4abIlA5/v7XaW1HMXKBgnUuhnjBYJ/Z9C1OSg4OhmVw9O3QeHJ/qJqFBERCDPv7G" crossorigin="anonymous"></script>
348<script src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/js/webflow.schunk.56cc6380bad280e6.js" type="text/javascript" integrity="sha384-1bfHVu0BW/T8ibNTGjdGo/y2VAuLPdfTyUYt5NLF9tvQa9uUM0HVSHACOYZL+Oi1" crossorigin="anonymous"></script>
348<script src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/js/webflow.schunk.5c6352a546b54ef7.js" type="text/javascript" integrity="sha384-sdSiXE/DYKUT9wJaHiESINkeJsjG09tBIPcCwQO0ajjcfSuyzzdH++vCx0THQTTE" crossorigin="anonymous"></script>
348<script src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/js/webflow.schunk.121b0d7ff03e0f4a.js" type="text/javascript" integrity="sha384-xmxYNW5cjPqRkOstIN2AtIcrlQOgIF4k5PmI7WPxkrTXkUGtbSKaezRTaxUTpIEs" crossorigin="anonymous"></script>
348<script src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/js/webflow.schunk.dac51c455b7e76af.js" type="text/javascript" integrity="sha384-ZQ6U9fIU+7NO4yp5YptTIwCSqp+zvOO+9sjFM6NR3D4Ma7CCSf/lR7Ilthe4YRiw" crossorigin="anonymous"></script>
348<script src="https://cdn.prod.website-files.com/695b865c5db803d1d0774550/js/webflow.ea7a26ba.495ac25797293f7b.js" type="text/javascript" integrity="sha384-xt5GAWpSNqX25Q5/DR6cStEtBh7JmPgncCC/X6bzZPNaSo4J5Wr5USe0ukZ6rILI" crossorigin="anonymous"></script>
348<!-- Libreria para Widget - MisterPlan - Powered by RuralGest -->
349<script type="text/javascript" src="https://www.mrplan.es/experiencias/modulos/TWidget/lib/TWidgetInc.php"></script>
349 350 351<!-- =============================== 352 BEFORE </BODY> (Global) 353================================= -->
354<script> 355(() => { 356 const SEL = ".navbar .w-nav-menu a.w-nav-link"; 357 const MAX_TRIES = 60; 358 const TRY_EVERY_MS = 100; 359 360 function shouldInit() { 361 return window.innerWidth >= 992; 362 } 363 364 function initOnce() { 365 if (!shouldInit()) return false; 366 367 const links = document.querySelectorAll(SEL); 368 if (!links.length) return false; 369 370 links.forEach(a => { 371 if (a.dataset.navSwapInit === "1") return; 372 373 const raw = (a.textContent || "").trim(); 374 if (!raw) return; 375 376 a.dataset.navSwapInit = "1"; 377 if (!a.getAttribute("aria-label")) a.setAttribute("aria-label", raw); 378 379 a.textContent = ""; 380 381 const windowEl = document.createElement("span"); 382 windowEl.className = "navswap-window"; 383 windowEl.setAttribute("aria-hidden", "true"); 384 385 const stack = document.createElement("span"); 386 stack.className = "navswap-stack"; 387 388 const line1 = document.createElement("span"); 389 line1.className = "navswap-line is-default"; 390 line1.textContent = raw; 391 392 const line2 = document.createElement("span"); 393 line2.className = "navswap-line is-hidden"; 394 line2.textContent = raw; 395 396 stack.appendChild(line1); 397 stack.appendChild(line2); 398 windowEl.appendChild(stack); 399 a.appendChild(windowEl); 400 }); 401 402 return true; 403 } 404 405 function boot() { 406 let tries = 0; 407 const timer = setInterval(() => { 408 tries++; 409 const ok = initOnce(); 410 if (ok || tries >= MAX_TRIES) clearInterval(timer); 411 }, TRY_EVERY_MS); 412 413 const root = document.querySelector(".navbar") || document.body; 414 const mo = new MutationObserver(() => initOnce()); 415 mo.observe(root, { childList: true, subtree: true }); 416 } 417 418 if (document.readyState === "loading") { 419 document.addEventListener("DOMContentLoaded", boot); 420 } else { 421 boot(); 422 } 423})(); 424</script>
424 425
426<script> 427(() => { 428 const nav = document.querySelector('.navbar'); 429 const zones = [...document.querySelectorAll('[data-nav]')]; 430 if (!nav || !zones.length) return; 431 432 let ticking = false; 433 let currentTheme = null; 434 435 function setTheme(theme) { 436 if (theme === currentTheme) return; 437 currentTheme = theme; 438 439 nav.classList.toggle('is-light', theme === 'light'); 440 nav.classList.toggle('is-dark', theme !== 'light'); 441 } 442 443 function getThemeUnderNavbar() { 444 const navHeight = nav.offsetHeight || 80; 445 const sampleY = navHeight + 28; 446 447 for (const zone of zones) { 448 const rect = zone.getBoundingClientRect(); 449 const buffer = 16; 450 451 if (rect.top <= sampleY - buffer && rect.bottom >= sampleY + buffer) { 452 return zone.getAttribute('data-nav') || 'dark'; 453 } 454 } 455 456 return zones[0].getAttribute('data-nav') || 'dark'; 457 } 458 459 function update() { 460 setTheme(getThemeUnderNavbar()); 461 ticking = false; 462 } 463 464 function onScroll() { 465 if (!ticking) { 466 ticking = true; 467 requestAnimationFrame(update); 468 } 469 } 470 471 window.addEventListener('scroll', onScroll, { passive: true }); 472 window.addEventListener('resize', onScroll); 473 update(); 474})(); 475</script>
475<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
vendor: 1 bytes, line 475
475
476<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollTrigger.min.js"></script>
vendor: 1 bytes, line 476
476
477<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/SplitText.min.js"></script>
477 478 479<style> 480 .hero-subtitle-text{ 481 hyphens:none; -webkit-hyphens:none; 482 word-break:normal; overflow-wrap:normal; 483 } 484 .hero-subtitle-text .word{ display:inline-block; white-space:nowrap; } 485 .hero-subtitle-text .char{ display:inline-block; } 486</style> 487
488<script> 489 document.addEventListener("DOMContentLoaded", () => { 490 const area = document.querySelector(".footer-main-link"); 491 const cursor = document.querySelector(".cursor-substitute"); 492 if (!area || !cursor) return; 493 494 let lastX = window.innerWidth / 2; 495 let lastY = window.innerHeight / 2; 496 let raf = null; 497 498 const show = () => { 499 cursor.style.opacity = "1"; 500 }; 501 502 const hide = () => { 503 cursor.style.opacity = "0"; 504 }; 505 506 const moveTo = (x, y) => { 507 lastX = x; lastY = y; 508 if (raf) return; 509 raf = requestAnimationFrame(() => { 510 cursor.style.transform = `translate3d(${lastX}px, ${lastY}px, 0) translate(-50%, -50%)`; 511 raf = null; 512 }); 513 }; 514 515 area.addEventListener("mouseenter", (e) => { 516 show(); 517 moveTo(e.clientX, e.clientY); 518 }); 519 520 area.addEventListener("mousemove", (e) => { 521 moveTo(e.clientX, e.clientY); 522 }); 523 524 area.addEventListener("mouseleave", () => { 525 hide(); 526 }); 527 }); 528</script>
528 529
530<script> 531document.addEventListener("DOMContentLoaded", () => { 532 gsap.registerPlugin(ScrollTrigger); 533 534 const textEl = document.querySelector(".hero-subtitle-text"); 535 const sectionEl = document.querySelector(".section-scroll"); 536 if (!textEl || !sectionEl) return; 537 538 if (textEl.dataset.split === "true") return; 539 textEl.dataset.split = "true"; 540 541 // --- Split word > char (igual que antes) --- 542 const original = textEl.textContent.trim(); 543 textEl.textContent = ""; 544 545 const words = original.split(/\s+/); 546 const frag = document.createDocumentFragment(); 547 548 words.forEach((word, wi) => { 549 const w = document.createElement("span"); 550 w.className = "word"; 551 for (const ch of word) { 552 const c = document.createElement("span"); 553 c.className = "char"; 554 c.textContent = ch; 555 w.appendChild(c); 556 } 557 frag.appendChild(w); 558 if (wi !== words.length - 1) frag.appendChild(document.createTextNode(" ")); 559 }); 560 561 textEl.appendChild(frag); 562 const chars = textEl.querySelectorAll(".char"); 563 564 gsap.set(chars, { opacity: 0.12 }); 565 566 // --- Timeline + PIN --- 567 const tl = gsap.timeline({ 568 scrollTrigger: { 569 trigger: sectionEl, 570 start: "top top", 571 end: "+=120%", // ð cantidad de scroll dentro de la sección (ajusta) 572 scrub: true, 573 pin: true, // ð clave: crea âscroll internoâ 574 pinSpacing: true, 575 anticipatePin: 1, 576 invalidateOnRefresh: true, 577 // markers: true 578 } 579 }); 580 581 tl.to(chars, { 582 opacity: 1, 583 ease: "none", 584 stagger: { each: 0.1, from: "start" } // ð más rápido 585 }, 0); 586 587 window.addEventListener("load", () => ScrollTrigger.refresh()); 588}); 589</script>
589 590 591 592<style> 593 html:not(.w-editor) [data-reveal] { visibility: hidden; } 594</style> 595
596<script> 597window.addEventListener("DOMContentLoaded", () => { 598 if (typeof gsap === "undefined" || typeof ScrollTrigger === "undefined") return; 599 600 gsap.registerPlugin(ScrollTrigger); 601 if (typeof SplitText !== "undefined") { 602 gsap.registerPlugin(SplitText); 603 } 604 605 const reduceMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches; 606 if (reduceMotion) return; 607 608 const START_POS = "top 88%"; 609 610 // ------------------------------------------ 611 // 1. HEADINGS 612 // Only split headings, never paragraphs 613 // ------------------------------------------ 614 const headings = document.querySelectorAll("h1, h2, h3"); 615 616 headings.forEach((el) => { 617 if (!el.textContent.trim() || el.closest(".no-anim")) return; 618 619 // Fallback: if SplitText isn't available, animate the whole heading 620 if (typeof SplitText === "undefined") { 621 gsap.fromTo( 622 el, 623 { 624 autoAlpha: 0, 625 y: 18 626 }, 627 { 628 autoAlpha: 1, 629 y: 0, 630 duration: 1, 631 ease: "power3.out", 632 scrollTrigger: { 633 trigger: el, 634 start: START_POS, 635 once: true 636 } 637 } 638 ); 639 return; 640 } 641 642 const split = new SplitText(el, { type: "words" }); 643 644 gsap.set(split.words, { 645 autoAlpha: 0, 646 y: 18 647 }); 648 649 gsap.to(split.words, { 650 autoAlpha: 1, 651 y: 0, 652 duration: 0.9, 653 stagger: 0.03, 654 ease: "power3.out", 655 scrollTrigger: { 656 trigger: el, 657 start: START_POS, 658 once: true, 659 onComplete: () => { 660 split.revert(); 661 } 662 } 663 }); 664 }); 665 666 // ------------------------------------------ 667 // 2. PARAGRAPHS 668 // Animate as blocks only 669 // ------------------------------------------ 670 ScrollTrigger.batch("p:not(.no-anim p)", { 671 start: START_POS, 672 once: true, 673 onEnter: (elements) => { 674 gsap.fromTo( 675 elements, 676 { 677 autoAlpha: 0, 678 y: 16 679 }, 680 { 681 autoAlpha: 1, 682 y: 0, 683 duration: 0.8, 684 stagger: 0.08, 685 ease: "power2.out", 686 overwrite: "auto" 687 } 688 ); 689 } 690 }); 691 692 // ------------------------------------------ 693 // 3. ASSETS 694 // No blur, super light scale 695 // ------------------------------------------ 696 ScrollTrigger.batch(".reveal-asset", { 697 start: START_POS, 698 once: true, 699 onEnter: (elements) => { 700 gsap.fromTo( 701 elements, 702 { 703 autoAlpha: 0, 704 y: 24, 705 scale: 1.015 706 }, 707 { 708 autoAlpha: 1, 709 y: 0, 710 scale: 1, 711 duration: 1, 712 stagger: 0.1, 713 ease: "power3.out", 714 overwrite: "auto" 715 } 716 ); 717 } 718 }); 719 720 // Refresh once all is ready 721 window.addEventListener("load", () => { 722 ScrollTrigger.refresh(); 723 }); 724}); 725</script>
725</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.