:root { --sky:#77c8e9; --sky-deep:#1a6f9a; --sand:#f5e9cf; --yellow:#ffd834; --orange:#f17827; --night:#11283c; --ink:#14344a; --cream:#fffaf0; --display:'Fredoka', sans-serif; --sans:'DM Sans', sans-serif; --mono:'DM Mono', monospace; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--cream); font-family:var(--sans); overflow-x:hidden; } a { color:inherit; text-decoration:none; } img { max-width:100%; display:block; } button { font:inherit; } a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }.skip-link{position:fixed;z-index:20;left:1rem;top:1rem;transform:translateY(calc(-100% - 1rem));background:var(--night);color:#fff;padding:.75rem 1rem;transition:transform .18s ease}.skip-link:focus{transform:translateY(0)}
section[id]{scroll-margin-top:calc(82px + 1rem)}
.site-header { position:fixed; inset:0 0 auto; z-index:10; height:82px; padding:18px clamp(1.25rem,4vw,4.5rem); display:flex; align-items:center; justify-content:space-between; color:#fff; transition:background .25s, box-shadow .25s, color .25s; }.site-header.is-scrolled{background:rgba(255,250,240,.94);backdrop-filter:blur(12px);color:var(--ink);box-shadow:0 1px 0 rgba(20,52,74,.1)}.brand{display:flex;align-items:center;gap:.55rem;font-family:var(--display);font-size:.9rem;line-height:.8;letter-spacing:.02em}.brand-logo{width:42px;height:42px;object-fit:cover;border-radius:50%;box-shadow:0 2px 7px rgba(17,54,74,.16)}.brand-name{font-size:.86rem}.main-nav{display:flex;gap:clamp(1rem,2.5vw,2.8rem);font-size:.84rem;font-weight:500}.main-nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:4px}.header-cta{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:3px}.menu-button,.mobile-menu{display:none}
.hero { min-height:100svh; position:relative; overflow:hidden; color:white; background:linear-gradient(120deg,#50b9e5 0%,#91d2e8 54%,#63bce1 100%); isolation:isolate; }.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,70,101,.2),transparent 54%),linear-gradient(0deg,rgba(12,57,82,.15),transparent 48%);z-index:-1}.hero-copy{position:relative;padding:clamp(9rem,18vh,12rem) clamp(1.5rem,8.5vw,10rem) 5rem;max-width:770px;z-index:2}.eyebrow{font:500 .7rem/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.2rem}.hero h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.05em;margin:0}.hero h1{font-size:clamp(4.3rem,9.5vw,9.5rem);line-height:.88;text-shadow:0 3px 18px rgba(25,91,119,.17)}em{font-style:normal;color:var(--yellow)}.hero-intro{width:min(28rem,90%);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.45;margin:2rem 0}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.button{display:inline-flex;gap:.8rem;align-items:center;justify-content:center;border-radius:999px;padding:.92rem 1.2rem;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button--dark{color:white;background:var(--night)}.text-link{font-size:.8rem;font-weight:600}.action-icon{width:1em;height:1em;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.13em}.contact-link .action-icon,.footer-links .action-icon{width:1.15em;height:1.15em}.location-card .button{gap:.55rem}.hero-logo-wrap{position:absolute;width:clamp(190px,22vw,360px);right:clamp(1.8rem,9vw,11rem);top:17%;z-index:1;transform:rotate(7deg);filter:drop-shadow(0 13px 14px rgba(24,88,116,.16))}.hero-logo-wrap img{border-radius:50%;aspect-ratio:1;object-fit:cover}.sun{position:absolute;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 12px rgba(255,216,52,.11)}.sun--hero{width:clamp(85px,8vw,150px);height:clamp(85px,8vw,150px);right:20%;top:13%;z-index:0}.hero-river{position:absolute;left:-8%;right:-8%;bottom:0;height:37%;background:linear-gradient(0deg,#409fc5,#79cbea);border-radius:50% 50% 0 0/25% 25% 0 0;transform:rotate(-2deg);overflow:hidden;z-index:-1}.hero-river span{position:absolute;width:55%;height:8%;border-top:2px solid rgba(255,255,255,.43);border-radius:50%;left:10%;top:27%}.hero-river span:nth-child(2){width:44%;left:50%;top:52%}.hero-river span:nth-child(3){width:62%;left:0;top:74%}.hero-leaves{position:absolute;right:-7vw;bottom:15%;width:40vw;height:46vw;z-index:0;background:repeating-radial-gradient(ellipse at 15% 80%, transparent 0 12%,rgba(20,91,66,.24) 12.5% 14%,transparent 14.5% 19%);transform:rotate(-12deg)}.hero-side-note{position:absolute;right:2.5rem;bottom:6rem;z-index:2;font:500 .62rem/1.5 var(--mono);text-align:right;letter-spacing:.1em}.scroll-hint{position:absolute;bottom:2rem;left:50%;z-index:2;display:grid;justify-items:center;gap:.5rem;font:500 .58rem var(--mono);letter-spacing:.13em}.scroll-hint i{height:35px;width:1px;background:white}.ticker{overflow:hidden;background:var(--yellow);padding:.95rem 0;white-space:nowrap}.ticker div{display:inline-flex;width:max-content;align-items:center;gap:1.8rem;animation:ticker 34s linear infinite;font:600 .8rem var(--mono);letter-spacing:.1em}.ticker i{font-size:1rem;font-style:normal}@keyframes ticker{to{transform:translateX(-25%)}}
.section{padding-left:clamp(1.5rem,8.5vw,10rem);padding-right:clamp(1.5rem,8.5vw,10rem)}.section-label{display:flex;gap:.7rem;font:500 .65rem var(--mono);letter-spacing:.11em}.section-label span{color:var(--orange)}.intro{padding-top:clamp(5rem,12vw,11rem);padding-bottom:clamp(5.5rem,12vw,11rem);background:var(--cream)}.intro-layout{display:grid;grid-template-columns:.9fr 1.1fr .8fr;align-items:center;gap:clamp(2rem,5vw,6rem);margin-top:3rem}.intro-wordmark{font:600 clamp(3.5rem,8vw,8rem)/.78 var(--display);letter-spacing:-.08em;color:var(--sky)}.intro-copy h2,.moments h2,.cantina h2,.agenda h2,.gallery h2,.location h2,.contact h2{font-size:clamp(2.8rem,5vw,5.8rem);line-height:.91}.eyebrow--blue{color:var(--sky-deep);margin-top:1.6rem}.intro-copy>p:not(.eyebrow){max-width:31rem;line-height:1.55}.intro-notes{display:flex;gap:2.2rem;margin-top:2rem;font:500 .64rem/1.55 var(--mono);letter-spacing:.08em}.deck-scene{height:300px;position:relative;overflow:hidden;border-radius:120px 120px 0 0;background:#b5dfdf}.deck-scene__sky{position:absolute;inset:0 0 53%;background:linear-gradient(#8fd3e9,#e5e8c1)}.deck-scene__river{position:absolute;inset:47% 0 0;background:repeating-linear-gradient(173deg,#7bc4d6 0 15px,#93d7df 16px 28px)}.deck-scene__deck{position:absolute;inset:67% -10% -5%;background:repeating-linear-gradient(91deg,#b4713d 0 16px,#cb8b52 17px 21px);transform:rotate(-3deg)}.deck-scene__chair{position:absolute;width:55px;height:70px;border:5px solid #7c4f2f;border-bottom:0;bottom:24%;transform:skewY(-13deg)}.chair-one{left:26%}.chair-two{left:54%;transform:scale(.8) skewY(12deg)}.deck-scene__umbrellas i{position:absolute;width:70px;height:35px;background:#fff7e8;border-radius:70px 70px 0 0;bottom:47%;left:55%;border-bottom:3px solid #bb8757}.deck-scene__umbrellas i:after{content:"";position:absolute;height:75px;width:3px;background:#8b603a;left:50%;top:33px}.deck-scene__umbrellas i+ i{left:22%;transform:scale(.75)}.scene-caption{position:absolute;right:.9rem;bottom:.7rem;color:white;font:500 .52rem var(--mono);letter-spacing:.1em}
.moments{background:var(--ink);color:var(--cream);padding:clamp(5rem,10vw,10rem) 0 0}.moments-heading{padding-bottom:clamp(3rem,7vw,7rem)}.moments h2{margin-top:1.8rem}.moment{min-height:470px;display:grid;grid-template-columns:minmax(70px,.3fr) minmax(220px,.85fr) minmax(250px,1.1fr) minmax(90px,.35fr);align-items:center;gap:2rem;padding:3rem clamp(1.5rem,8.5vw,10rem);position:relative;overflow:hidden}.moment-number{align-self:start;font:500 .7rem var(--mono);color:var(--yellow)}.moment-body{z-index:2}.moment-body h3{font-size:clamp(2.8rem,5vw,5.8rem);line-height:.87}.moment-body>p:not(.eyebrow){line-height:1.5;max-width:20rem}.moment-tags{font:500 .58rem/1.6 var(--mono);letter-spacing:.1em;writing-mode:vertical-rl;transform:rotate(180deg);justify-self:end}.moment-visual{height:360px;position:relative;overflow:hidden}.moment--day{background:#91d7e9;color:var(--ink)}.moment--sunset{background:#e97a35;color:#fff8e4}.moment--night{background:#182940;color:#fff}.visual-day{background:#77c8e9}.visual-day .sun{right:13%;top:12%;width:92px;height:92px}.water{position:absolute;bottom:0;height:46%;width:100%;background:repeating-linear-gradient(176deg,#54b3d0 0 16px,#80d0df 17px 28px)}.sand{position:absolute;bottom:-15%;height:38%;width:110%;left:-5%;background:#f4d984;border-radius:50% 50% 0 0/55% 55% 0 0;transform:rotate(-4deg)}.shadow-tree{position:absolute;width:120%;height:100%;left:-38%;top:-50%;background:radial-gradient(ellipse,rgba(14,73,57,.46) 0 23%,transparent 24% 38%,rgba(14,73,57,.4) 39% 51%,transparent 52%);transform:rotate(18deg)}.visual-sunset{background:linear-gradient(#f2bc55 0 43%,#d96034 70%,#942d30)}.visual-sunset .sun{height:110px;width:110px;left:21%;top:27%;background:#ffe28c}.horizon{position:absolute;inset:54% 0 0;background:repeating-linear-gradient(177deg,#bb4840 0 10px,#dc7040 12px 24px)}.bottle{position:absolute;right:22%;bottom:14%;height:190px;width:52px;border-radius:16px 16px 8px 8px;background:linear-gradient(90deg,#76472c,#d69546 45%,#75502f);transform:rotate(-14deg);border:2px solid rgba(255,234,166,.6)}.bottle:before{content:"";position:absolute;width:22px;height:38px;background:#6c4931;top:-37px;left:13px}.sunset-wave{position:absolute;bottom:-26px;left:-10%;height:70px;width:120%;border-radius:50%;border-top:16px solid #f6c467}.visual-night{background:linear-gradient(145deg,#0a192c,#334b67)}.night-moon{position:absolute;right:18%;top:15%;width:72px;height:72px;border-radius:50%;background:#fff7cd;box-shadow:0 0 45px #ffd354}.stage-light{position:absolute;width:330px;height:330px;left:30%;top:-22%;background:conic-gradient(from 120deg,transparent 0 20deg,rgba(255,216,52,.74) 21deg 42deg,transparent 43deg 80deg,rgba(75,182,241,.7) 81deg 105deg,transparent 106deg);transform:rotate(8deg)}.crowd{position:absolute;bottom:-5%;width:100%;height:38%;background:repeating-radial-gradient(ellipse at 10% 100%,#101c2d 0 25px,transparent 26px 38px)}.string-lights{position:absolute;left:-4%;top:23%;width:115%;height:100px;border-top:2px solid rgba(255,255,255,.8);border-radius:50%;background:radial-gradient(circle at 20% 13%,#ffe36c 0 5px,transparent 6px),radial-gradient(circle at 48% 22%,#ffe36c 0 5px,transparent 6px),radial-gradient(circle at 77% 12%,#ffe36c 0 5px,transparent 6px)}
.cantina{min-height:660px;padding-top:clamp(5rem,10vw,9rem);padding-bottom:clamp(5rem,10vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,12vw,13rem);align-items:center;background:#f1e5ca}.cantina-scene{height:440px;position:relative;background:linear-gradient(145deg,#d6f0ed,#a8d9d3);overflow:hidden;border-radius:50% 50% 8% 8%/20% 20% 8% 8%}.table-shadow{position:absolute;inset:55% -20% -20%;background:#aa6542;border-radius:50%;transform:rotate(-7deg)}.glass{position:absolute;width:93px;height:180px;bottom:12%;border:5px solid rgba(255,253,224,.76);border-radius:12px 12px 32px 32px;background:linear-gradient(110deg,rgba(255,255,255,.4),rgba(238,170,60,.63));z-index:1}.glass:after{content:"";position:absolute;bottom:8px;left:10px;width:65px;height:24px;border-radius:50%;background:rgba(247,211,57,.7)}.glass--one{left:28%;transform:rotate(-12deg)}.glass--two{right:27%;height:145px;transform:rotate(11deg)}.lime{position:absolute;width:80px;height:80px;border-radius:50%;background:repeating-conic-gradient(#a8ba3a 0 9deg,#d7df6c 10deg 20deg);right:13%;bottom:8%;z-index:2}.cantina-content h2{margin:.45rem 0 1.5rem}.cantina-content>p:not(.eyebrow):not(.content-note){max-width:26rem;line-height:1.5}.button--outline{border:1px solid var(--ink);margin-top:1rem}.content-note{font:.6rem var(--mono);letter-spacing:.08em;color:#73726a;margin-top:1.5rem}
.agenda{background:#ee7332;color:#fff7df;padding:clamp(5rem,11vw,10rem) 0}.agenda h2{margin-top:.5rem}.agenda-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,11vw,12rem);margin-top:3rem;align-items:center}.agenda-poster{position:relative;justify-self:center;width:min(100%,330px);aspect-ratio:.75;background:#f4c85a;color:#542c40;overflow:hidden;padding:1.3rem;box-shadow:11px 11px 0 rgba(93,38,42,.4);transform:rotate(-3deg)}.agenda-poster>p{position:relative;z-index:2;margin:0;font:600 .75rem/1.1 var(--display);letter-spacing:.04em}.agenda-poster>p span{font:.5rem var(--mono);letter-spacing:.05em}.poster-sun{position:absolute;width:220px;height:220px;border-radius:50%;background:#f1732e;top:29%;left:-12%}.agenda-poster h3{position:relative;z-index:2;margin:4.2rem 0 0;font-size:clamp(2.5rem,4vw,3.8rem);line-height:.78}.agenda-poster em{color:#56304a}.poster-wave{position:absolute;bottom:-9%;left:-10%;width:120%;height:36%;border-radius:50%;background:#56304a;transform:rotate(-7deg)}.agenda-poster small{position:absolute;z-index:2;bottom:1rem;right:1rem;font:500 .53rem var(--mono);letter-spacing:.1em;color:#fff4ca}.agenda-copy>p{font-size:clamp(1.1rem,1.7vw,1.5rem);line-height:1.35;max-width:36rem}.agenda-list{margin-top:3rem;border-top:1px solid rgba(255,247,223,.5)}.agenda-list div{display:grid;grid-template-columns:48px 1fr auto;gap:1rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid rgba(255,247,223,.5);font-size:.8rem}.agenda-list span{font:500 .62rem var(--mono)}.agenda-list a{font:500 .68rem var(--mono);border-bottom:1px solid currentColor;padding-bottom:2px}
.gallery{padding-top:clamp(5rem,11vw,10rem);padding-bottom:clamp(5rem,11vw,10rem)}
.location{min-height:700px;display:grid;grid-template-columns:1.35fr .9fr;align-items:center;background:var(--sky);overflow:hidden}.map-art{align-self:stretch;position:relative;background:#92d5df;overflow:hidden}.map-river{position:absolute;width:54%;height:135%;background:#4cadd0;left:30%;top:-20%;border-radius:50%;transform:rotate(34deg);box-shadow:0 0 0 18px #7cc6d4,0 0 0 20px rgba(255,255,255,.6)}.map-line{position:absolute;height:2px;width:90%;background:rgba(20,72,89,.4);transform:rotate(-24deg)}.line-one{top:27%;left:-6%}.line-two{top:70%;left:18%;transform:rotate(19deg)}.map-point{position:absolute;left:48%;top:48%;display:grid;place-items:center;width:120px;height:120px;border-radius:50%;background:var(--yellow);text-align:center;font:600 .77rem/.9 var(--display);box-shadow:0 0 0 11px rgba(255,255,255,.56)}.map-point i{position:absolute;top:-18px;width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-bottom:24px solid var(--yellow)}.map-word{position:absolute;bottom:14%;right:12%;font:600 clamp(2rem,5vw,5rem) var(--display);letter-spacing:-.06em;color:rgba(255,255,255,.55);transform:rotate(-20deg)}.location-card{position:relative;background:var(--cream);padding:clamp(3rem,6vw,6rem) clamp(1.5rem,4vw,4.3rem);margin-left:-4rem;z-index:2}.location-card h2{margin:.3rem 0 1.3rem}.location-card>p:not(.eyebrow){line-height:1.5}.location-card .button{margin-top:1.2rem}
.contact{text-align:center;background:var(--night);color:#fff8e6;padding-top:clamp(5rem,11vw,10rem);padding-bottom:0;overflow:hidden}.contact h2{font-size:clamp(4rem,9vw,9rem);margin:.5rem 0 3rem}.contact-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:700px;margin:0 auto;border-top:1px solid rgba(255,255,255,.35)}.contact-link{padding:1.3rem;display:grid;gap:.3rem;border-bottom:1px solid rgba(255,255,255,.35);text-align:left}.contact-link+ .contact-link{border-left:1px solid rgba(255,255,255,.35)}.contact-link span{display:flex;align-items:center;gap:.4rem;font:.56rem var(--mono);letter-spacing:.12em;color:var(--yellow)}.contact-link b{font-size:.9rem}.contact-logo{width:190px;height:190px;object-fit:cover;border-radius:50%;margin:clamp(3rem,8vw,6rem) auto -4.5rem;transform:rotate(-6deg)}footer{min-height:125px;background:var(--yellow);color:var(--ink);padding:5.5rem clamp(1.5rem,8.5vw,10rem) 1.3rem;display:flex;justify-content:space-between;align-items:end;gap:1rem;font:500 .56rem var(--mono);letter-spacing:.08em}.footer-brand{font-family:var(--display);font-size:1.1rem;letter-spacing:-.03em}.footer-links{display:flex;gap:1rem}.footer-links a{display:inline-flex;align-items:center;gap:.35rem;border-bottom:1px solid transparent;padding-bottom:2px}.footer-links a:hover,.footer-links a:focus-visible{border-bottom-color:currentColor}
.hero-media{position:absolute;z-index:1;top:0;right:clamp(1.5rem,7vw,8.5rem);width:min(32vw,470px);height:100%;margin:0;overflow:hidden;isolation:isolate}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,65,89,.32),transparent 36%),linear-gradient(0deg,rgba(9,43,64,.22),transparent 38%);z-index:1}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:52% center}.deck-scene{margin:0;background:#b5dfdf}.deck-scene img,.moment-visual img,.cantina-scene img{width:100%;height:100%;display:block;object-fit:cover}.deck-scene img{object-position:center}.visual-day img{object-position:center}.visual-sunset img{object-position:center 57%}.visual-night img{object-position:center}.cantina-scene{margin:0;background:#d6f0ed}.cantina-scene img{object-position:center 56%}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.ticker div{animation:none}}
@media(max-width:780px){.site-header{height:68px;padding:13px 1.25rem}.brand-logo{width:38px;height:38px}.brand-name{font-size:.74rem}.main-nav,.header-cta{display:none}.menu-button{width:43px;height:43px;margin-right:-.6rem;background:transparent;border:0;color:inherit;display:grid;place-content:center;gap:6px;cursor:pointer}.menu-button i{display:block;width:21px;height:1px;background:currentColor;transition:transform .2s}.menu-button[aria-expanded=true] i:first-of-type{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] i:last-of-type{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;inset:68px 0 auto;background:var(--cream);padding:1.3rem 1.5rem 1.6rem;grid-template-columns:1fr 1fr;gap:1rem;box-shadow:0 13px 18px rgba(20,52,74,.14);color:var(--ink)}.mobile-menu.is-open{display:grid}.mobile-menu a{font:600 1.1rem var(--display)}.hero-copy{padding:8.7rem 1.5rem 11rem}.hero h1{font-size:clamp(4rem,18vw,6.3rem)}.hero-media{right:0;width:100%;height:100%;z-index:0}.hero-media:after{background:linear-gradient(90deg,rgba(10,47,65,.56),rgba(10,47,65,.12) 105%),linear-gradient(0deg,rgba(8,46,66,.6),transparent 55%)}.hero-media img{object-position:center 48%}.hero-logo-wrap,.sun--hero,.hero-leaves,.hero-river{display:none}.hero-side-note{right:1.3rem;bottom:4.3rem;font-size:.5rem}.scroll-hint{left:1.5rem;bottom:1.5rem}.intro-layout,.cantina,.agenda-layout,.location{grid-template-columns:1fr}.intro-wordmark{font-size:4.8rem}.deck-scene{height:270px;max-width:440px}.moment{grid-template-columns:28px 1fr;gap:1.3rem;padding:3.5rem 1.5rem}.moment-number{grid-column:1}.moment-body{grid-column:2}.moment-body h3{font-size:3.3rem}.moment-visual{grid-column:1 / -1;height:380px;order:3;margin:0 -1.5rem}.visual-day img{object-position:center 64%}.visual-sunset img{object-position:center 60%}.moment-tags{grid-column:2;grid-row:auto;writing-mode:initial;transform:none;justify-self:start}.cantina{padding-top:4.5rem;padding-bottom:4.5rem;gap:2.5rem}.cantina-scene{height:350px;order:2;margin:0 -1.5rem;border-radius:0}.cantina-content{order:1}.agenda{padding-top:4.5rem;padding-bottom:4.5rem}.agenda-layout{margin-top:1.5rem}.agenda-poster{margin-top:1rem}.location{min-height:0}.map-art{height:390px;order:2}.location-card{margin:0;padding:4.5rem 1.5rem;order:1}.contact-actions{grid-template-columns:1fr}.contact-link+.contact-link{border-left:0}.contact-logo{width:150px;height:150px;margin-bottom:-3.5rem}footer{padding:4.8rem 1.5rem 1.25rem;display:grid;grid-template-columns:1fr auto;line-height:1.4}.footer-brand{grid-column:1;grid-row:1}.footer-year{grid-column:2;grid-row:1;justify-self:end;text-align:right}.footer-links{grid-column:1/-1;grid-row:2;margin-top:.4rem}.footer-location{grid-column:1/-1;grid-row:3}.agenda-list div{grid-template-columns:30px 1fr}.agenda-list a{grid-column:2;justify-self:start}.section-label{font-size:.6rem}body.menu-open{overflow:hidden}.moments{padding-top:4.5rem}.moments-heading{padding-bottom:2.5rem}}

.agenda-follow{display:inline-block;margin-top:2rem;border-bottom:1px solid currentColor;padding-bottom:2px;font:500 .7rem var(--mono);letter-spacing:.04em}.agenda-list[hidden]{display:none}.agenda-event{display:grid;grid-template-columns:48px 1fr auto;gap:1rem;align-items:center;padding:1.1rem 0;border-bottom:1px solid rgba(255,247,223,.5);font-size:.8rem}.agenda-event__date{font:500 .62rem var(--mono)}.agenda-list .agenda-event>div{display:grid;gap:.2rem;padding:0;border:0;font-size:inherit}.agenda-event__date+div span{font:.65rem var(--mono);opacity:.8}.agenda-event a{font:500 .68rem var(--mono);border-bottom:1px solid currentColor;padding-bottom:2px}@media(max-width:780px){.agenda-event{grid-template-columns:30px 1fr}.agenda-event a{grid-column:2;justify-self:start}}

.agenda .section-label span{color:inherit}@media(min-width:781px){.moment-body{grid-column:2}.moment-visual{grid-column:3}.moment-tags{grid-column:4}}

/* El isotipo cierra el contacto y atraviesa, completo, el cambio de fondo. */
.contact{position:relative;z-index:1;overflow:visible}.contact-logo{position:relative;z-index:2}footer{position:relative;z-index:0}


/* Noche: la sesión se presenta como una pieza audiovisual bajo demanda. */
.night-session{width:min(68vw,980px);margin:clamp(1rem,4vw,4rem) 0 0 clamp(1.5rem,8.5vw,10rem);padding-bottom:clamp(5rem,10vw,9rem)}.night-session__trigger{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#091827;color:var(--cream);cursor:pointer;text-align:left}.night-session__trigger img{width:100%;height:100%;object-fit:cover}.night-session__trigger:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,25,43,.5),transparent 54%),linear-gradient(0deg,rgba(8,25,43,.55),transparent 42%)}.night-session__trigger:hover .night-session__play,.night-session__trigger:focus-visible .night-session__play{transform:translate(-50%,-50%) scale(1.08)}.night-session__label{position:absolute;z-index:1;left:clamp(1rem,2.5vw,1.8rem);bottom:clamp(1rem,2.5vw,1.8rem);font:500 clamp(.56rem,.8vw,.68rem) var(--mono);letter-spacing:.13em}.night-session__play{position:absolute;z-index:1;top:50%;left:50%;width:clamp(3.7rem,6vw,5.3rem);height:clamp(3.7rem,6vw,5.3rem);border-radius:50%;background:var(--cream);transform:translate(-50%,-50%);transition:transform .2s}.night-session__play:after{content:"";position:absolute;top:50%;left:54%;width:0;height:0;border-top:clamp(.5rem,1vw,.75rem) solid transparent;border-bottom:clamp(.5rem,1vw,.75rem) solid transparent;border-left:clamp(.72rem,1.3vw,1rem) solid var(--night);transform:translate(-50%,-50%)}@media(max-width:780px){.night-session{width:calc(100% - 3rem);margin:2.4rem 1.5rem 0;padding-bottom:4.5rem}.night-session__label{left:1rem;bottom:1rem}.night-session__play{width:3.7rem;height:3.7rem}}
@media(min-width:781px){.night-session{width:min(74vw,1060px);margin-left:auto;margin-right:auto}}

/* El contenido se mantiene disponible incluso si JavaScript no carga. */
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.js .reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}
