PageSourceSearch

https://a-casa-de-aldan.webflow.io/eventos

html a-casa-de-aldan.webflow.io collected 2026-10-03 12:41:45 UTC 43,572 bytes, 725 lines download raw bytes

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 &#x27;a casa de Aldán turismo rural&#x27; 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.