:root{--forest:#152920;--forest-deep:#101e18;--forest-mid:#263e31;--paper:#f3f0e8;--paper-deep:#e9e5da;--ink:#1e3026;--cream:#fbf5e9;--sand:#e4c7a5;--accent:#e6b18c;--line:rgba(251,245,233,.22);--sans:'DM Sans','Helvetica Neue',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{margin:0;background:var(--forest);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}body.is-locked{overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{background:none;border:0;color:inherit}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--forest)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}dialog{margin:auto}.skip-link{position:fixed;top:-70px;left:18px;z-index:400;background:var(--paper);padding:14px 20px}.skip-link:focus{top:12px}.grain{pointer-events:none;position:fixed;inset:0;z-index:110;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.reading-progress{position:fixed;z-index:145;top:0;left:0;width:100%;height:2px;background:rgba(255,255,255,.08)}.reading-progress span{display:block;width:0;height:100%;background:var(--accent)}
.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;line-height:1.5;color:#667567;display:flex;align-items:center;gap:16px;text-transform:uppercase}.eyebrow--light{color:rgba(255,255,255,.76)}.eyebrow-line,.fine-line{height:1px;width:28px;display:inline-block;background:currentColor;opacity:.7}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.042em}em{font-style:italic;font-weight:400}p{line-height:1.62}
/* The brand opens the experience. */
.intro{z-index:300;position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#12241b;color:#e9dfcd;overflow:hidden;transition:transform 1.35s var(--ease),visibility 1.35s}.intro.finished{transform:translateY(-104%);visibility:hidden;pointer-events:none}.intro::before,.intro::after{content:"";position:absolute;border:1px solid rgba(239,222,198,.1);border-radius:50%;width:min(95vw,750px);aspect-ratio:1}.intro::before{transform:scale(.75);animation:introRing 2s var(--ease) both}.intro::after{transform:scale(1.3)}.intro__micro{position:absolute;top:9%;font-size:10px;letter-spacing:.28em;color:#c1b6a3;z-index:2}.intro__frame{width:clamp(220px,27vw,420px);display:flex;flex-direction:column;align-items:center;gap:16px;position:relative;z-index:2}.intro__halo{position:absolute;inset:11% 11% 25%;background:radial-gradient(circle,rgba(231,172,121,.14),transparent 68%);filter:blur(26px)}.intro__logo{width:100%;filter:drop-shadow(0 10px 20px rgba(0,0,0,.08));opacity:0;transform:translateY(18px);animation:introBrand 1.4s .1s var(--ease) forwards}.intro__line{display:block;height:1px;width:0;background:var(--accent);animation:introLine 1.15s .3s var(--ease) forwards}.intro__frame p{letter-spacing:.25em;font-size:9px;margin:0;opacity:.6}.intro__skip{position:absolute;bottom:7%;right:7%;font-size:10px;letter-spacing:.14em;padding:12px;z-index:2}.intro__skip span{margin-left:12px}@keyframes introRing{from{opacity:0;transform:scale(.63)}to{opacity:1;transform:scale(.88)}}@keyframes introBrand{to{opacity:1;transform:translateY(0)}}@keyframes introLine{to{width:60%}}
/* Header and immersive navigation */
.site-header{position:fixed;z-index:150;top:0;left:0;right:0;height:86px;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(24px,4.2vw,75px);border-bottom:1px solid rgba(255,255,255,.17);transition:background .55s,box-shadow .55s,height .4s}.site-header.scrolled,.site-header.menu-active{height:76px;background:rgba(17,34,27,.95);box-shadow:0 10px 35px rgba(0,0,0,.12);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;min-width:250px}.brand img{width:62px;height:62px;object-fit:contain}.brand span{font-size:9px;letter-spacing:.2em;line-height:1.6;font-weight:500}.brand strong{display:block;font-family:var(--serif);font-size:21px;font-weight:500;letter-spacing:.015em;line-height:1}.top-nav{display:flex;gap:clamp(15px,2.4vw,39px);align-items:center}.top-nav a,.top-nav button{font-size:10px;letter-spacing:.14em;white-space:nowrap;transition:color .25s}.top-nav a:hover,.top-nav button:hover{color:#edc6a0}.top-nav small{font-size:9px;color:var(--accent)}.header-actions{display:flex;gap:22px;align-items:center}.visit-link{font-size:10px;letter-spacing:.14em;padding:14px 17px;border:1px solid rgba(255,255,255,.54);white-space:nowrap}.visit-link span{margin-left:10px;color:var(--accent)}.visit-link:hover{background:#fff;color:var(--forest)}.menu-btn{width:42px;height:40px;display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:flex-end}.menu-btn span{width:26px;height:1px;background:#fff;display:block;transition:transform .25s,width .25s}.menu-btn span:last-child{width:17px}.menu-btn:hover span:last-child{width:26px}.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn[aria-expanded="true"] span:last-child{width:26px;transform:translateY(-4px) rotate(-45deg)}.site-menu{position:fixed;inset:0;background:var(--forest-deep);z-index:140;display:grid;grid-template-columns:40% 60%;color:#f7f1e5;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .5s var(--ease),visibility .5s}.site-menu.open{visibility:visible;opacity:1;pointer-events:auto}.site-menu__picture{height:100%;overflow:hidden;position:relative}.site-menu__picture img{height:100%;width:100%;object-fit:cover;filter:brightness(.7);transition:transform 1.4s var(--ease)}.site-menu.open .site-menu__picture img{transform:scale(1.06)}.site-menu__content{padding:clamp(110px,13vh,155px) clamp(45px,7vw,120px) 34px;display:flex;flex-direction:column;justify-content:center}.site-menu__content .eyebrow{color:#c8bba5;margin-bottom:34px}.site-menu__content>a,.site-menu__content>button{font-family:var(--serif);font-size:clamp(35px,4vw,72px);letter-spacing:-.035em;text-align:left;line-height:1.09;padding:10px 0;transition:color .2s,transform .3s;white-space:nowrap}.site-menu__content>a:hover,.site-menu__content>button:hover{color:var(--accent);transform:translateX(11px)}.site-menu__content i{font-family:var(--sans);font-size:11px;letter-spacing:0;font-style:normal;opacity:.55;vertical-align:top;margin-right:21px}.site-menu__bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);margin-top:35px;padding-top:20px;font-size:10px;letter-spacing:.18em;color:#e7d9c4}.chapter-dots{position:fixed;z-index:120;right:clamp(12px,1.8vw,30px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:18px;color:#fff}.chapter-dots a{width:8px;height:8px;border-radius:50%;border:1px solid currentColor;opacity:.55;transition:background .35s,opacity .35s,transform .35s}.chapter-dots a.on{background:var(--accent);border-color:var(--accent);opacity:1;transform:scale(1.45)}.chapter-dots span{font-size:8px;letter-spacing:.12em;writing-mode:vertical-rl;margin-top:8px;opacity:.7;white-space:nowrap}
/* The cinematic arrival / hero */
.scene{position:relative;overflow:hidden}.hero{min-height:100svh;height:100svh;color:#fff;background:#223528}.hero__photos,.hero__veil,.hero__photo{position:absolute;inset:0;width:100%;height:100%}.hero__photo{object-fit:cover;object-position:center 57%;opacity:0;transform:scale(1.12);transition:opacity 1.25s var(--ease),transform 8s linear}.hero__photo.is-active{opacity:1;transform:scale(1.025)}.hero__veil{background:linear-gradient(180deg,rgba(10,21,17,.71) 0%,rgba(13,29,22,.15) 31%,rgba(11,25,20,.33) 52%,rgba(9,20,16,.89) 100%),linear-gradient(90deg,rgba(11,27,21,.16),transparent 68%)}.hero__body{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:clamp(125px,18vh,210px) clamp(28px,8vw,140px) clamp(112px,13vh,140px)}.hero__identity{width:clamp(190px,18vw,288px);filter:drop-shadow(0 10px 25px rgba(0,0,0,.15));opacity:.98}.hero__identity img{width:100%}.hero__editorial{align-self:flex-start;max-width:970px}.hero__editorial .eyebrow{margin-bottom:10px}.hero h1{font-size:clamp(66px,8.1vw,148px);line-height:.78;margin:0 0 24px;letter-spacing:-.049em;text-wrap:balance}.hero h1 em{color:#f1d7bb}.hero__editorial>p:not(.eyebrow){max-width:470px;font-size:clamp(13px,1vw,16px);color:rgba(255,255,255,.86);line-height:1.65;margin-bottom:23px}.discover-btn{display:flex;align-items:center;gap:35px;font-size:10px;letter-spacing:.19em;font-weight:700}.discover-btn b{font-size:20px;font-weight:400;border:1px solid rgba(255,255,255,.65);width:50px;height:50px;border-radius:50%;display:grid;place-items:center;transition:background .3s,transform .3s}.discover-btn:hover b{background:var(--accent);color:var(--forest);transform:rotate(-40deg)}.hero__side-note{position:absolute;right:6.5vw;top:46%;writing-mode:vertical-rl;z-index:2;font-size:9px;letter-spacing:.24em;opacity:.82}.hero__bottom{position:absolute;z-index:3;bottom:30px;left:clamp(28px,8vw,140px);right:clamp(28px,8vw,140px);display:flex;align-items:flex-end;justify-content:space-between}.hero__bottom p{font-size:9px;letter-spacing:.18em;margin:0}.hero__bottom p span{font-size:21px;margin-left:13px}.hero__chooser{display:flex;gap:6px}.hero__chooser button{color:rgba(255,255,255,.7);font-size:10px;letter-spacing:.1em;border-top:1px solid rgba(255,255,255,.38);width:65px;text-align:left;padding:10px 0}.hero__chooser button.active{border-top:2px solid var(--accent);color:#fff}.hero__chooser button span{opacity:.75}.hero__body[data-appear]{opacity:0;transform:translateY(30px);transition:opacity 1.15s var(--ease),transform 1.15s var(--ease)}body.ready .hero__body[data-appear]{opacity:1;transform:translateY(0)}
/* The palm grove as an editorial chapter */
.place{background:var(--paper);display:grid;grid-template-columns:49% 51%;min-height:88svh;padding:clamp(75px,8vw,130px) clamp(40px,7.2vw,130px);gap:1vw;align-items:center;isolation:isolate}.place__text{z-index:2;max-width:630px}.place__text .eyebrow{margin-bottom:42px}.place__topword{font-size:10px;letter-spacing:.24em;color:#9b896f}.place h2{font-size:clamp(70px,7.2vw,135px);line-height:.78;margin:16px 0 38px;letter-spacing:-.07em}.place h2 em{color:#a58c68}.place__lead{font-size:clamp(13px,1vw,16px);max-width:380px;line-height:1.85;color:#68756a}.place__facts{display:flex;gap:54px;border-top:1px solid #cecfc7;padding-top:23px;margin:35px 0 36px}.place__facts>div{display:flex;align-items:end;gap:12px}.place__facts strong{font-family:var(--serif);font-size:59px;font-weight:400;line-height:.85}.place__facts span{font-size:9px;letter-spacing:.08em;max-width:126px;line-height:1.5;color:#718076}.text-link{font-size:10px;font-weight:700;letter-spacing:.14em;padding-bottom:13px;border-bottom:1px solid #5d7062;display:inline-flex;gap:20px;align-items:center}.text-link:hover{color:#bc8160}.text-link span{font-size:17px}.place__visual{position:relative;width:100%;height:min(70vh,670px);min-height:470px;z-index:1}.place__image-main{height:91%;width:79%;margin-left:auto;overflow:hidden}.place__image-main img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;transition:transform 1.8s var(--ease)}.place__visual:hover .place__image-main img{transform:scale(1.06)}.place__image-inset{position:absolute;bottom:-4%;left:0;width:39%;height:45%;border:12px solid var(--paper);overflow:hidden}.place__image-inset img{height:100%;width:100%;object-fit:cover}.place__caption{position:absolute;bottom:-9%;right:0;font-size:9px;letter-spacing:.2em;color:#8c988d}.place__huge{position:absolute;z-index:0;left:-4vw;bottom:-.16em;font-family:var(--serif);font-size:clamp(150px,25vw,480px);color:rgba(59,80,61,.035);white-space:nowrap;pointer-events:none}
/* White marquee — 100% real photos from the dedicated subfolder */
.marquee{min-height:100svh;height:100svh;color:#fff;background:#1c2e22}.marquee__visual,.marquee__visual>img,.marquee__visual-vignette{position:absolute;inset:0;width:100%;height:100%}.marquee__visual>img{object-fit:cover;object-position:50% 48%;transition:filter .4s,transform 1.6s var(--ease),opacity .4s}.marquee__visual>img.changing{filter:blur(10px);transform:scale(1.065);opacity:.45}.marquee__visual-vignette{background:linear-gradient(90deg,rgba(5,21,15,.83) 0%,rgba(13,27,20,.52) 48%,rgba(4,12,7,.02) 92%),linear-gradient(0deg,rgba(10,21,15,.94) 0%,rgba(10,21,15,.04) 52%,rgba(10,21,15,.37) 100%)}.marquee__top{position:absolute;top:clamp(125px,18vh,210px);left:clamp(35px,8vw,140px);z-index:2;max-width:730px}.marquee__top .eyebrow{margin-bottom:29px}.marquee h2{font-size:clamp(80px,8.6vw,164px);line-height:.74;margin-bottom:30px}.marquee h2 em{color:#f1d7b6}.marquee__top>p:not(.eyebrow){max-width:435px;color:rgba(255,255,255,.87);font-size:15px;line-height:1.8}.marquee__bottom{position:absolute;z-index:3;left:clamp(35px,8vw,140px);right:clamp(35px,8vw,140px);bottom:70px;display:flex;align-items:end;justify-content:space-between;gap:32px;border-top:1px solid rgba(255,255,255,.3);padding-top:27px}.marquee__stats{display:flex;gap:clamp(30px,4vw,80px)}.marquee__stats>div{display:flex;flex-direction:column;gap:5px}.marquee__stats b{font-family:var(--serif);font-size:clamp(61px,5.6vw,91px);line-height:.78;font-weight:400}.marquee__stats b span{font-size:.43em;margin-left:5px}.marquee__stats small{font-size:9px;letter-spacing:.17em;color:#e7e0d5}.marquee__selector{display:flex;align-items:end;gap:12px}.marquee__selector button{width:112px;border-top:1px solid rgba(255,255,255,.42);text-align:left;padding:12px 0 0;font-size:11px;color:#e5e8dc;display:flex;flex-direction:column;gap:8px}.marquee__selector button span{font-size:10px;letter-spacing:.12em}.marquee__selector button.selected{border-top:3px solid #e9b68a;color:#fff}.marquee__next{position:absolute;bottom:23px;right:clamp(35px,8vw,140px);font-size:9px;letter-spacing:.16em;z-index:2}.marquee__next span{font-size:15px;margin-left:12px}
/* The story of the day, controlled by the visitor */
.moments{background:#eee9de;min-height:96svh;padding:clamp(74px,8vh,115px) clamp(32px,8vw,140px) clamp(58px,8vh,110px)}.moments__head{display:flex;justify-content:space-between;align-items:flex-end;gap:55px;margin:0 auto 45px;max-width:1440px}.moments__head .eyebrow{margin-bottom:18px}.moments__head h2{font-size:clamp(76px,7.4vw,138px);line-height:.77;margin:0;max-width:690px}.moments__head h2 em{color:#a0815a}.moments__head>p{max-width:320px;color:#778277;font-size:14px;line-height:1.9;margin:0}.moments__stage{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.78fr);height:min(57vh,600px);min-height:440px;box-shadow:0 23px 80px rgba(14,39,25,.085)}.moments__image{position:relative;overflow:hidden;background:#334239}.moments__image img{height:100%;width:100%;object-fit:cover;object-position:center 44%;transition:filter .3s,transform 1.2s var(--ease),opacity .3s}.moments__image img.changing{opacity:.42;transform:scale(1.045);filter:blur(4px)}.moments__image-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.23),transparent 60%);pointer-events:none}.moments__index{position:absolute;bottom:25px;left:30px;color:#fff;letter-spacing:.18em;font-size:11px}.moments__details{padding:clamp(32px,4vw,72px) clamp(25px,3.5vw,60px);background:var(--forest);color:#fff;display:flex;flex-direction:column;justify-content:space-around}.moments__tabs{display:flex;flex-direction:column}.moments__tabs button{font-family:var(--serif);font-size:clamp(26px,2.4vw,46px);display:flex;align-items:center;text-align:left;gap:15px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18);line-height:.9;color:rgba(255,255,255,.55);transition:color .3s,transform .3s}.moments__tabs button.on{color:#f1d6b7}.moments__tabs button i{font:normal 10px var(--sans);letter-spacing:.04em;width:20px}.moments__tabs button span{margin-left:auto;font:normal 22px var(--sans)}.moments__tabs button:hover{color:#fff}.moments__description{max-width:400px;min-height:50px;color:#bec9bb;font-size:12px;line-height:1.7;margin-top:22px}.underlined-button{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.4);font-weight:700;font-size:9px;letter-spacing:.16em;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;width:fit-content;min-width:225px}.underlined-button span{font-size:18px}.underlined-button:hover{color:var(--accent)}
/* The short home-page teaser to the immersive gallery */
.album{background:#172a21;color:#fff;min-height:80svh;padding:clamp(75px,11vh,130px) clamp(34px,8vw,140px) 30px;display:grid;grid-template-columns:45% 55%;align-items:center;gap:18px;isolation:isolate}.album__intro{position:relative;z-index:2;max-width:620px}.album__intro .eyebrow{color:#c6c4b3;margin-bottom:27px}.album__intro h2{font-size:clamp(74px,7.4vw,139px);line-height:.81;margin:0 0 28px;letter-spacing:-.053em}.album__intro h2 em{color:#efd0ab}.album__intro p:not(.eyebrow){max-width:345px;color:#bfc8bd;font-size:14px;line-height:1.85}.album__cta{background:var(--paper);color:var(--forest);font-size:10px;letter-spacing:.13em;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:22px 24px;margin-top:30px;min-width:310px;font-weight:700;transition:background .3s,transform .3s}.album__cta span{font-size:20px}.album__cta:hover{background:var(--accent);transform:translateY(-3px)}.album__collage{height:min(59vh,660px);min-height:390px;position:relative;display:grid;grid-template-columns:1.15fr .75fr;grid-template-rows:1fr 1fr;gap:13px;max-width:680px;margin-left:auto;width:100%}.album__collage button{position:relative;overflow:hidden;padding:0;display:block;text-align:left}.album__collage button:nth-child(1){grid-row:span 2}.album__collage button img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.album__collage button:hover img{transform:scale(1.08)}.album__collage button::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,rgba(0,0,0,.68),transparent)}.album__collage button span{position:absolute;z-index:1;bottom:20px;left:19px;font-size:9px;letter-spacing:.16em}.album__footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.16);padding-top:21px;font-size:9px;letter-spacing:.14em;color:rgba(255,255,255,.67);margin-top:28px}
/* Final cinematic invitation */
.visit{background:#14251d;color:white;min-height:94svh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 26px 95px}.visit__photo,.visit__overlay{position:absolute;inset:0;width:100%;height:100%}.visit__photo{object-fit:cover;object-position:center 47%;filter:brightness(.72)}.visit__overlay{background:linear-gradient(180deg,rgba(13,27,18,.68),rgba(18,38,27,.32) 42%,rgba(9,21,15,.84)),radial-gradient(ellipse at 50% 48%,rgba(23,39,25,.23),transparent 80%)}.visit__content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:940px}.visit__logo{width:clamp(160px,15vw,234px);margin:0 auto 25px}.visit h2{font-size:clamp(86px,9vw,159px);line-height:.73;letter-spacing:-.055em;margin:18px 0 30px}.visit h2 em{color:#f1d4b4}.visit__content>p:not(.eyebrow){color:#d9e0d2;max-width:455px;margin:0 auto 25px;font-size:15px}.visit__actions{display:flex;justify-content:center;align-items:center;gap:13px;flex-wrap:wrap}.btn-primary,.btn-outline{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:29px;padding:18px 24px;letter-spacing:.11em;font-weight:700;font-size:10px}.btn-primary{background:var(--paper);color:var(--forest)}.btn-outline{border:1px solid rgba(255,255,255,.75);color:#fff}.btn-primary span,.btn-outline span{font-size:21px;font-weight:400}.btn-primary:hover{background:var(--accent)}.btn-outline:hover{background:rgba(255,255,255,.15)}
.footer{background:var(--paper);display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;padding:55px clamp(35px,8vw,140px) 44px;align-items:center;color:#253b2f}.footer__brand img{width:135px}.footer__brand p{font-family:var(--serif);font-size:23px;margin:10px 0 0}.footer__links,.footer__end{display:flex;flex-direction:column;gap:11px;font-size:11px;letter-spacing:.04em}.footer__end{align-items:flex-end}.footer__end small{color:#899589;font-size:8px;margin-top:13px}.footer a:hover{color:#a87d58}
/* Gallery overlay: internal scrolling, lazy previews, full photo viewer */
.gallery{border:0;padding:0;position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;background:#eee9df;color:#203128;overflow:hidden}.gallery::backdrop{background:rgba(3,12,7,.72)}.gallery[open]{display:flex;flex-direction:column}.gallery__header{padding:23px clamp(18px,4vw,68px) 13px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d2d3c9}.gallery__header .eyebrow{margin:0 0 3px}.gallery__header h2{font-size:clamp(35px,4vw,65px);line-height:.8;margin:0;font-weight:400}.gallery__close{display:flex;align-items:center;gap:13px;font-size:22px}.gallery__close span{font-size:9px;letter-spacing:.16em}.gallery__controls{display:flex;gap:7px;padding:14px clamp(18px,4vw,68px);overflow-x:auto;white-space:nowrap;scrollbar-width:thin}.gallery__controls button{padding:11px 15px;border:1px solid #bfc9bc;color:#4e5b4d;white-space:nowrap;flex-shrink:0;font-size:10px;letter-spacing:.06em}.gallery__controls button.on{background:#203629;border-color:#203629;color:#fff}.gallery__controls small{margin-left:8px;opacity:.65}.gallery__scroll{overflow-y:auto;flex:1;padding:10px clamp(18px,4vw,68px) 30px;scrollbar-width:thin}.gallery__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.gallery__item{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:#d8d6ca;padding:0;isolation:isolate}.gallery__item:nth-child(5n+1),.gallery__item:nth-child(7n+4){aspect-ratio:5/4}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.gallery__item:hover img{transform:scale(1.07)}.gallery__item::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(0deg,rgba(11,24,15,.75),transparent);opacity:.8}.gallery__item-caption{position:absolute;z-index:2;bottom:11px;left:12px;right:12px;font-size:10px;line-height:1.35;color:#fff;text-align:left;letter-spacing:.02em}.gallery__item-num{position:absolute;z-index:2;top:12px;left:12px;color:#fff;font-size:9px;letter-spacing:.14em}.gallery__item-badge{position:absolute;top:12px;right:12px;z-index:3;font-size:8px;background:#f0e8d7;color:#273c2d;padding:7px;letter-spacing:.08em}.gallery__footer{display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,68px);border-top:1px solid #d2d3c9;font-size:9px;letter-spacing:.14em;color:#67766d}.gallery__viewer{position:absolute;inset:0;z-index:5;background:#111f18;color:white;display:none;align-items:center;justify-content:center;padding:55px 90px 37px}.gallery__viewer.open{display:flex}.gallery__viewer-close{position:absolute;top:19px;left:clamp(22px,5vw,80px);font-size:11px;letter-spacing:.13em;z-index:4}.gallery__viewer figure{display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;margin:0}.gallery__viewer figure img{max-width:100%;max-height:calc(100% - 57px);width:auto;height:auto;object-fit:contain;box-shadow:0 20px 65px rgba(0,0,0,.18)}.gallery__viewer figcaption{width:100%;max-width:1250px;display:flex;justify-content:space-between;margin-top:18px;font-size:11px;letter-spacing:.06em;color:#d8e2d3}.gallery__arrow{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:1px solid rgba(255,255,255,.5);border-radius:50%;display:grid;place-items:center;font-size:24px}.gallery__arrow--prev{left:23px}.gallery__arrow--next{right:23px}.gallery__arrow:hover{background:#fff;color:#152920}
/* Inquiry dialog */
.inquiry{border:0;background:var(--paper);width:min(94vw,630px);max-width:none;padding:clamp(28px,5vw,64px);color:var(--ink);box-shadow:0 28px 100px rgba(0,0,0,.3)}.inquiry::backdrop{background:rgba(5,20,12,.77);backdrop-filter:blur(6px)}.inquiry__close{position:absolute;top:17px;right:19px;font-size:21px}.inquiry h2{font-size:clamp(65px,7vw,110px);line-height:.77;margin:17px 0 30px}.inquiry h2 em{color:#ac8566}.inquiry__copy{color:#6b776d;max-width:420px;font-size:13px}.inquiry form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:29px}.inquiry label{display:flex;flex-direction:column;gap:10px;font-size:9px;letter-spacing:.13em;font-weight:700}.inquiry input,.inquiry select{width:100%;background:transparent;border:0;border-bottom:1px solid #b7c0b8;border-radius:0;color:#24392c;min-height:39px;padding:8px 0;outline:none;font-size:13px;letter-spacing:0}.inquiry input:focus,.inquiry select:focus{border-bottom:1px solid #1b3522}.inquiry form>button{grid-column:1/-1;background:#1e382b;color:#fff;padding:17px;letter-spacing:.12em;font-size:10px;font-weight:700;margin-top:12px}
/* Scroll choreography with reduced-motion fallback */
[data-reveal]{opacity:0;transform:translateY(38px);transition:opacity .95s var(--ease),transform .95s var(--ease)}[data-reveal].visible{opacity:1;transform:none}.place__visual[data-reveal]{transform:translateX(40px)}.place__visual[data-reveal].visible{transform:none}.album__collage[data-reveal]{transform:translateX(40px)}.album__collage[data-reveal].visible{transform:none}
@media(min-width:1500px){.hero__body{padding-left:11vw;padding-right:11vw}.hero__bottom{left:11vw;right:11vw}.hero__identity{width:320px}.hero h1{font-size:clamp(105px,8vw,160px)}}
@media(max-width:1200px){.top-nav{display:none}.site-menu__content>a,.site-menu__content>button{font-size:clamp(34px,4.7vw,63px)}.place{grid-template-columns:48% 52%;padding-left:6vw;padding-right:6vw}.place h2{font-size:clamp(65px,7.1vw,90px)}.album{grid-template-columns:44% 56%}.album h2{font-size:clamp(67px,7.2vw,106px)}.moments{padding-left:6vw;padding-right:6vw}.moments__details{padding:28px 25px}.moments__tabs button{font-size:32px}.site-menu__content{padding-left:6vw;padding-right:6vw}}
@media(max-width:780px){.grain{opacity:.04}.chapter-dots{display:none}.site-header{height:69px;padding:7px 20px}.site-header.scrolled{height:65px}.brand{min-width:0}.brand img{height:48px;width:48px}.brand span{font-size:8px}.brand strong{font-size:18px}.visit-link{padding:11px 12px;font-size:9px}.header-actions{gap:9px}.menu-btn{width:32px}.site-menu{grid-template-columns:1fr}.site-menu__picture{position:absolute;inset:0;opacity:.17}.site-menu__content{position:relative;z-index:1;padding:105px 8vw 28px}.site-menu__content .eyebrow{margin-bottom:20px}.site-menu__content>a,.site-menu__content>button{font-size:clamp(36px,9vw,60px);padding:13px 0}.site-menu__bottom{margin-top:24px}.hero__body{padding:125px 26px 112px}.hero__identity{width:clamp(155px,32vw,230px)}.hero h1{font-size:clamp(64px,10vw,99px)}.hero__editorial>p:not(.eyebrow){max-width:430px}.hero__side-note{display:none}.hero__bottom{left:26px;right:26px}.place{grid-template-columns:1fr;min-height:0;padding:95px 30px 98px;gap:40px}.place__text .eyebrow{margin-bottom:23px}.place h2{font-size:clamp(85px,13vw,118px)}.place__visual{height:470px;min-height:0;max-width:650px;margin:auto}.place__image-main{width:80%;height:90%}.place__image-inset{width:38%;height:48%}.place__huge{font-size:24vw}.marquee__top{top:clamp(100px,16vh,150px);left:32px;right:32px}.marquee h2{font-size:clamp(75px,11vw,120px)}.marquee__bottom{left:32px;right:32px;bottom:78px}.marquee__next{right:32px}.marquee__stats{gap:22px}.marquee__stats b{font-size:63px}.marquee__selector button{width:83px;font-size:9px}.marquee__selector button span{font-size:9px}.moments{padding:83px 30px 86px}.moments__head{display:block;margin-bottom:31px}.moments__head h2{font-size:clamp(79px,11.5vw,125px);margin-bottom:19px}.moments__head>p{max-width:430px}.moments__stage{height:auto;grid-template-columns:1fr}.moments__image{height:52vw;min-height:310px;max-height:510px}.moments__details{padding:30px}.moments__tabs{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.moments__tabs button{font-size:32px}.moments__description{max-width:none}.album{grid-template-columns:1fr;min-height:0;padding:85px 30px 30px;gap:35px}.album__intro h2{font-size:clamp(88px,12vw,136px)}.album__intro p:not(.eyebrow){max-width:490px}.album__collage{height:480px;margin:0;max-width:none}.album__footer{margin-top:10px}.visit{min-height:85svh}.visit h2{font-size:clamp(84px,12vw,125px)}.footer{grid-template-columns:1fr 1fr;padding:50px 34px}.footer__end{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}.gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery__viewer{padding:70px 65px 35px}.gallery__arrow--prev{left:8px}.gallery__arrow--next{right:8px}}
@media(max-width:520px){.brand img{width:42px;height:42px}.brand strong{font-size:15px}.brand span{font-size:7px;letter-spacing:.12em}.visit-link{font-size:0;padding:11px}.visit-link span{font-size:19px;margin:0}.site-menu__content>a,.site-menu__content>button{font-size:clamp(35px,9.4vw,50px)}.site-menu__content i{margin-right:8px}.hero__photo{object-position:50% 55%}.hero__body{padding:120px 22px 110px}.hero__identity{width:170px}.hero__editorial{width:100%}.hero__editorial .eyebrow{font-size:8px}.hero h1{font-size:clamp(62px,13.7vw,88px);line-height:.86;margin-bottom:19px}.hero__editorial>p:not(.eyebrow){font-size:12px;max-width:315px;margin-bottom:15px}.discover-btn{font-size:9px;gap:18px}.discover-btn b{width:42px;height:42px;font-size:18px}.hero__bottom{left:22px;right:22px;bottom:22px}.hero__bottom p{font-size:7px}.hero__chooser button{width:42px;font-size:9px}.place{padding:72px 23px 100px}.place h2{font-size:clamp(79px,16.2vw,110px)}.place__lead{font-size:13px}.place__facts{gap:26px}.place__facts strong{font-size:48px}.place__facts span{font-size:8px}.place__visual{height:410px}.place__image-inset{border-width:8px;bottom:-3%;width:47%;height:46%}.place__caption{font-size:8px;bottom:-9%}.marquee{height:100svh;min-height:690px}.marquee__visual>img{object-position:50% 46%}.marquee__visual-vignette{background:linear-gradient(180deg,rgba(8,24,16,.79) 0%,rgba(8,24,16,.21) 48%,rgba(7,17,12,.96) 100%)}.marquee__top{top:108px;left:23px;right:23px}.marquee__top .eyebrow{font-size:8px;margin-bottom:20px}.marquee h2{font-size:clamp(73px,15vw,95px);margin:0 0 20px}.marquee__top>p:not(.eyebrow){max-width:300px;font-size:12px}.marquee__bottom{left:23px;right:23px;bottom:66px;flex-direction:column;align-items:stretch;gap:25px}.marquee__stats b{font-size:56px}.marquee__stats small{font-size:8px}.marquee__selector{justify-content:space-between;gap:8px}.marquee__selector button{width:32%;font-size:10px;gap:7px}.marquee__next{bottom:20px;right:23px;font-size:8px}.moments{padding:80px 22px 72px}.moments__head h2{font-size:clamp(75px,15vw,105px)}.moments__head>p{font-size:12px}.moments__image{height:76vw;min-height:0}.moments__details{padding:20px 22px}.moments__tabs{column-gap:18px}.moments__tabs button{font-size:clamp(25px,7vw,34px);padding:13px 0}.moments__tabs button i{font-size:8px;width:12px}.moments__tabs button span{font-size:14px}.moments__description{font-size:11px;min-height:32px;margin-top:20px}.album{padding:83px 23px 24px;gap:28px}.album__intro h2{font-size:clamp(70px,15vw,109px)}.album__cta{min-width:0;width:100%;font-size:9px;padding:18px 19px}.album__collage{height:330px;gap:7px}.album__collage button span{font-size:7px;bottom:12px;left:10px}.album__footer{flex-wrap:wrap;gap:10px 17px;font-size:7px}.visit{min-height:88svh;padding:95px 20px 70px}.visit__logo{width:150px;margin-bottom:14px}.visit h2{font-size:clamp(78px,16.5vw,112px)}.visit__content>p:not(.eyebrow){font-size:12px}.visit__actions{flex-direction:column;width:100%;max-width:320px}.btn-primary,.btn-outline{width:100%;font-size:9px;padding:17px}.footer{grid-template-columns:1fr;gap:24px;padding:36px 23px}.footer__brand img{width:135px}.footer__brand p{font-size:20px}.footer__end{grid-column:auto;flex-wrap:wrap;justify-content:flex-start;gap:16px}.footer__end small{width:100%}.gallery__header{padding:20px 15px 12px}.gallery__header h2{font-size:38px}.gallery__header .eyebrow{font-size:8px}.gallery__close span{display:none}.gallery__controls{padding:10px 15px}.gallery__controls button{padding:10px 12px;font-size:9px}.gallery__scroll{padding:5px 10px 20px}.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.gallery__item{aspect-ratio:4/5}.gallery__item:nth-child(5n+1),.gallery__item:nth-child(7n+4){aspect-ratio:4/5}.gallery__item-caption{font-size:9px;bottom:8px;left:8px;right:8px}.gallery__item-badge{font-size:7px}.gallery__footer{padding:10px 15px;font-size:8px}.gallery__footer span:last-child{display:none}.gallery__viewer{padding:85px 18px 70px}.gallery__viewer figure img{max-height:calc(100% - 92px)}.gallery__viewer figcaption{gap:10px;font-size:10px}.gallery__arrow{width:37px;height:37px;top:auto;bottom:13px;transform:none}.gallery__arrow--prev{left:calc(50% - 47px)}.gallery__arrow--next{right:calc(50% - 47px)}.inquiry form{grid-template-columns:1fr}.inquiry{max-height:90vh;overflow:auto}.inquiry h2{font-size:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.intro,.intro__logo,.intro__line,.intro::before{animation:none!important;transition:none!important}.intro__logo{opacity:1;transform:none}.intro__line{width:60%}[data-reveal]{opacity:1;transform:none;transition:none}.hero__body[data-appear]{opacity:1;transform:none;transition:none}.hero__photo,.moments__image img,.marquee__visual>img,.album__collage button img{transition:none}}
@media(max-width:365px){.hero h1{font-size:56px}.site-menu__content>a,.site-menu__content>button{font-size:31px}.album__intro h2{font-size:67px}.marquee h2{font-size:69px}.visit h2{font-size:72px}}

/* =====================================================================
   V6 — DIRECCIÓN CINEMATOGRÁFICA / ESCENAS GUIADAS POR SCROLL
   Sin librerías externas; mantiene todas las fotografías de la selección.
   ===================================================================== */

/* Profundidad y movimiento de la imagen principal según el desplazamiento */
.hero__photos{will-change:transform;transform:scale(calc(1 + var(--hero-progress,0) * .12));transform-origin:center center}
.hero__editorial{transform:translate3d(0,calc(var(--hero-progress,0) * -76px),0);opacity:calc(1 - var(--hero-progress,0) * .48);will-change:transform,opacity}
.hero__identity{transform:translate3d(0,calc(var(--hero-progress,0) * -35px),0)}
.place__image-main img{transform:translate3d(0,calc((var(--place-progress,0) - .5) * -35px),0) scale(1.075)}
.place__image-inset img{transform:translate3d(0,calc((var(--place-progress,0) - .5) * 35px),0) scale(1.1)}
.place__visual:hover .place__image-main img{transform:scale(1.085)}
.marquee__visual>img:not(.changing){transform:scale(calc(1.065 + var(--salon-progress,0) * .055))}
.marquee__top{transform:translate3d(0,calc((.5 - var(--salon-progress,0)) * 23px),0)}

/* Pinned editorial photography; 3 full-bleed acts, 2.3 screens of scroll. */
.film-story{height:225svh;overflow:visible!important;background:#172720;color:#fff;isolation:isolate}
.film-story__sticky{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;background:#15261c;isolation:isolate}
.film-story__images,.film-story__gradient,.film-story__grain{position:absolute;inset:0}
.film-story__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;opacity:0;transform:scale(1.085);will-change:opacity,transform;backface-visibility:hidden}
.film-story__image.is-current{opacity:1}
.film-story__image:nth-child(1){object-position:55% 45%}
.film-story__image:nth-child(2){object-position:52% 50%}
.film-story__image:nth-child(3){object-position:50% 54%}
.film-story__gradient{z-index:1;background:linear-gradient(90deg,rgba(9,23,17,.76) 0%,rgba(9,23,17,.45) 39%,rgba(9,23,17,.10) 85%),linear-gradient(0deg,rgba(8,20,14,.86),transparent 35%,transparent 67%,rgba(8,20,14,.48))}
.film-story__grain{z-index:2;pointer-events:none;opacity:.18;background:radial-gradient(circle at 70% 33%,transparent 15%,rgba(0,0,0,.32) 90%)}
.film-story__top{position:absolute;z-index:3;top:clamp(106px,15vh,180px);left:clamp(25px,8.5vw,140px);right:clamp(25px,8vw,140px);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.23em;color:rgba(255,255,255,.78)}
.film-story__story{position:absolute;z-index:3;left:clamp(25px,8.5vw,140px);bottom:clamp(160px,19vh,240px);width:min(920px,80vw);max-width:920px}
.film-story__story--shift{animation:filmType .75s cubic-bezier(.22,1,.36,1) both}
@keyframes filmType{from{transform:translateY(24px);opacity:.58}to{transform:translateY(0);opacity:1}}
.film-story__eyebrow{font-size:10px;letter-spacing:.23em;display:block;margin-bottom:24px;color:#f0d9b8}
.film-story__story h2{font-family:var(--serif);font-weight:400;font-size:clamp(76px,8.1vw,149px);line-height:.78;letter-spacing:-.052em;margin:0 0 23px;text-wrap:balance}
.film-story__story h2 em{font-weight:400;color:#efd0b0}
.film-story__story p{font-size:clamp(13px,1vw,15px);line-height:1.7;color:rgba(255,255,255,.88);max-width:440px;min-height:48px;margin:0 0 24px}
.film-story__skip{display:inline-flex;align-items:center;gap:28px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.6);letter-spacing:.12em;font-weight:600;font-size:10px;transition:gap .4s}
.film-story__skip:hover{gap:39px}.film-story__skip span{font-size:18px}
.film-story__footer{position:absolute;bottom:45px;left:clamp(25px,8.5vw,140px);right:clamp(25px,8vw,140px);z-index:3;display:flex;justify-content:space-between;align-items:flex-end}
.film-story__steps{display:flex;gap:25px}
.film-story__steps button{min-width:130px;border-top:1px solid rgba(255,255,255,.32);padding:15px 0 0;display:flex;justify-content:space-between;gap:10px;align-items:center;color:rgba(255,255,255,.68);letter-spacing:.14em;font-size:9px;text-align:left;transition:color .3s,border-color .3s}
.film-story__steps button b{font-family:var(--serif);font-size:25px;font-weight:400;line-height:1}
.film-story__steps button.is-active{border-top:2px solid #f1d4ad;color:#fff}
.film-story__counter{font-family:var(--serif);font-size:30px;letter-spacing:.04em}
.film-story__progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.22);z-index:3}
.film-story__progress span{width:0;height:100%;display:block;background:#eed0ad}

/* Warm, discreet hotspots let a visitor explore the present-day covered hall. */
.salon-hotspots{position:absolute;inset:0;pointer-events:none;z-index:6}
.salon-hotspot{pointer-events:auto;position:absolute;width:48px;height:48px;border:1px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(250,247,237,.18);box-shadow:0 0 0 13px rgba(255,255,255,.09),0 6px 30px rgba(0,0,0,.25);backdrop-filter:blur(8px);color:#fff;font-size:26px;font-weight:300;display:grid;place-items:center;transition:background .3s,transform .3s}
.salon-hotspot:hover,.salon-hotspot[aria-expanded=true]{background:#f2e7d4;color:#233427;transform:scale(1.1)}
.salon-hotspot::after{content:"";position:absolute;inset:-17px;border:1px solid rgba(255,255,255,.3);border-radius:50%;pointer-events:none}
.salon-hotspot--roof{top:37%;right:20%}.salon-hotspot--floor{top:58%;right:38%}
.salon-detail{pointer-events:auto;position:absolute;right:clamp(24px,8vw,140px);top:48%;transform:translateY(-50%);padding:25px 50px 26px 27px;width:min(345px,43vw);background:rgba(239,235,224,.96);color:#223527;box-shadow:0 18px 75px rgba(0,0,0,.28);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6)}
.salon-detail[hidden]{display:none}.salon-detail span{font-size:10px;letter-spacing:.12em;font-weight:700}.salon-detail p{font-family:var(--serif);font-size:28px;line-height:1.12;margin:13px 0 0;color:#455549}.salon-detail button{position:absolute;right:13px;top:13px;font-size:16px}
.marquee__next{z-index:7}

/* Compact nocturne: one sweeping turn from afternoon to the last dance. */
.night-cinema{height:86svh;min-height:650px;background:#0c140f;color:#fff;display:flex;align-items:center;overflow:hidden}
.night-cinema__backgrounds,.night-cinema__backgrounds img,.night-cinema__veil{position:absolute;inset:0;width:100%;height:100%}
.night-cinema__backgrounds img{object-fit:cover;object-position:center;transition:transform 1.3s;will-change:transform,opacity}
.night-cinema__backgrounds img:first-child{opacity:1;transform:scale(calc(1.10 - var(--night-progress,0) * .07))}
.night-cinema__backgrounds img:last-child{opacity:clamp(0,calc((var(--night-progress,0) - .48) * 2.8),.87);transform:scale(calc(1.07 - var(--night-progress,0) * .03))}
.night-cinema__veil{background:linear-gradient(90deg,rgba(8,17,11,.89) 0%,rgba(8,17,11,.56) 43%,rgba(8,17,11,.14) 100%),linear-gradient(0deg,rgba(8,15,10,.6),transparent 50%)}
.night-cinema__content{position:relative;z-index:2;margin-left:clamp(25px,8.5vw,140px);max-width:750px;padding-top:70px}
.night-cinema__content h2{font-size:clamp(79px,8.2vw,151px);line-height:.77;letter-spacing:-.055em;margin:27px 0 29px}
.night-cinema__content h2 em{color:#efd0b0}
.night-cinema__content p:not(.eyebrow){max-width:410px;color:#e8e2d6;line-height:1.7;font-size:14px}
.night-cinema__explore{font-size:10px;letter-spacing:.15em;border-bottom:1px solid rgba(255,255,255,.64);padding:0 0 14px;display:flex;gap:25px;align-items:center;margin-top:30px}
.night-cinema__explore span{font-size:20px}.night-cinema__side{position:absolute;z-index:2;right:3%;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:9px;letter-spacing:.21em;color:rgba(255,255,255,.72)}

/* More real wedding photographs on screen without multiplying page sections. */
.album__collage{grid-template-columns:1.14fr .78fr .78fr;grid-template-rows:1fr 1fr;gap:10px;max-width:760px}
.album__collage button:first-child{grid-row:span 2}.album__collage button{isolation:isolate}
.album__collage button:nth-child(2) img{object-position:48% center}
.album__collage button:nth-child(3) img{object-position:58% center}
.album__collage button:nth-child(4) img{object-position:center 30%}
.album__collage button:nth-child(5) img{object-position:center 25%}
.album__collage button:hover img{transform:scale(1.12)}

@media(max-width:780px){
  .film-story{height:210svh}.film-story__sticky{min-height:540px}
  .film-story__top{top:105px;left:28px;right:28px;font-size:8px}.film-story__top span:last-child{display:none}
  .film-story__story{left:28px;bottom:178px;width:calc(100% - 56px)}
  .film-story__story h2{font-size:clamp(75px,11vw,110px)}
  .film-story__footer{left:28px;right:28px;bottom:38px}.film-story__steps{gap:15px}.film-story__steps button{min-width:105px;font-size:7px}
  .film-story__counter{font-size:23px}
  .salon-hotspot--roof{right:22%;top:44%}.salon-hotspot--floor{right:46%;top:62%}
  .salon-detail{right:32px;top:47%;width:min(330px,55vw)}
  .night-cinema{height:75svh;min-height:600px}.night-cinema__content{margin:0 30px;max-width:550px}.night-cinema__content h2{font-size:clamp(85px,11vw,120px)}.night-cinema__side{display:none}
  .album__collage{max-width:none}
}
@media(max-width:520px){
  .hero__photos{transform:scale(calc(1 + var(--hero-progress,0) * .065))}
  .film-story{height:200svh}
  .film-story__image:nth-child(1){object-position:53% 50%}
  .film-story__image:nth-child(2){object-position:53% 55%}
  .film-story__image:nth-child(3){object-position:55% 48%}
  .film-story__gradient{background:linear-gradient(0deg,rgba(7,17,11,.93) 0%,rgba(7,17,11,.53) 55%,rgba(7,17,11,.35) 100%)}
  .film-story__top{top:88px;left:23px;right:23px}
  .film-story__story{left:23px;bottom:178px;width:calc(100% - 46px)}
  .film-story__eyebrow{font-size:8px;margin-bottom:19px}
  .film-story__story h2{font-size:clamp(67px,15vw,98px);line-height:.81;margin-bottom:19px}
  .film-story__story p{font-size:12px;max-width:325px;line-height:1.55;margin-bottom:19px;min-height:56px}
  .film-story__skip{font-size:8px;gap:13px;padding-bottom:9px}
  .film-story__footer{left:23px;right:23px;bottom:25px;display:block}
  .film-story__steps{gap:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .film-story__steps button{min-width:0;font-size:7px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}
  .film-story__steps button b{font-size:25px}.film-story__counter{display:none}
  .salon-hotspot{width:40px;height:40px;font-size:24px}.salon-hotspot--roof{right:18%;top:45%}.salon-hotspot--floor{right:38%;top:61%}
  .salon-detail{right:18px;left:18px;top:48%;width:auto;padding:18px 43px 19px 18px}.salon-detail p{font-size:24px}
  .night-cinema{height:80svh;min-height:590px}.night-cinema__content{margin:0 23px;padding-top:65px}
  .night-cinema__content h2{font-size:clamp(77px,16vw,108px);margin:22px 0 22px}
  .night-cinema__content p:not(.eyebrow){font-size:12px;max-width:280px}
  .night-cinema__explore{font-size:9px}
  .album__collage{height:410px;grid-template-columns:1.12fr .88fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:7px}
  .album__collage button:first-child{grid-row:span 4}
  .album__collage button:not(:first-child) span{font-size:7px;left:9px;bottom:10px}
}
@media(prefers-reduced-motion:reduce){
  .hero__photos,.hero__editorial,.hero__identity,.place__image-main img,.place__image-inset img,.marquee__visual>img:not(.changing){transform:none!important;opacity:1!important}
  .film-story{height:auto;min-height:90svh}.film-story__sticky{position:relative;min-height:90svh;height:auto;padding:25vh 0 150px}.film-story__images img:not(:first-child){display:none}.film-story__story{position:relative;left:auto;bottom:auto;margin:0 26px}.film-story__top{top:95px}.film-story__footer{bottom:28px}.film-story__progress{display:none}
  .film-story__story--shift{animation:none}.night-cinema__backgrounds img:last-child{display:none}
}

/* V6.1 | Descubrir el salón: scroll cinematográfico sin añadir secciones infinitas. */
.marquee--story{height:212svh;min-height:0!important;overflow:visible!important;isolation:isolate}
.marquee--story .marquee__sticky{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;background:#15261d;isolation:isolate}
.marquee--story .marquee__visual--stack{position:absolute;inset:0;overflow:hidden}
.marquee--story .salon-visual__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:none!important;transform:scale(1.08);filter:none!important;will-change:opacity,transform}
.marquee--story .salon-visual__image.is-current{opacity:1}
.marquee--story .salon-visual__image:nth-child(1){object-position:52% 48%}
.marquee--story .salon-visual__image:nth-child(2){object-position:50% 49%}
.marquee--story .salon-visual__image:nth-child(3){object-position:57% 47%}
.marquee--story .marquee__visual-vignette{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,19,13,.79) 0%,rgba(7,21,14,.42) 48%,rgba(6,21,13,.03) 100%),linear-gradient(0deg,rgba(6,17,11,.89) 0%,rgba(6,17,11,.14) 55%,rgba(6,17,11,.48) 100%)}
.marquee--story .marquee__top{z-index:4;top:clamp(125px,18vh,192px);transition:transform .28s}
.marquee--story .marquee__top>p:not(.eyebrow){min-height:72px;max-width:455px;transition:opacity .3s}
.salon-stage-label{display:block;letter-spacing:.22em;font-size:10px;font-weight:600;color:#f0ca98;border-top:1px solid rgba(255,255,255,.4);width:fit-content;padding-top:15px;margin-top:20px}
.marquee--story .salon-hotspots{transition:opacity .4s;opacity:0;pointer-events:none}
.marquee--story.is-interior .salon-hotspots{opacity:1;pointer-events:none}
.marquee--story.is-interior .salon-hotspot{pointer-events:auto}
.marquee--story .salon-detail{pointer-events:auto}
.marquee--story .marquee__bottom{z-index:9}
.marquee--story .marquee__selector{gap:15px}
.marquee--story .marquee__selector button{min-width:111px;width:auto;padding-right:7px;min-height:52px}
.marquee--story .marquee__selector button:last-child{min-width:118px}
.marquee--story .marquee__selector button span{font-size:9px}
.salon-concept-note{position:absolute;z-index:8;right:clamp(25px,5vw,82px);top:clamp(105px,14vh,148px);max-width:275px;background:rgba(18,31,24,.76);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(12px);padding:15px 19px;color:#fff;opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .4s,transform .4s}
.salon-concept-note strong{display:block;font-size:9px;letter-spacing:.17em;color:#efc5a4;margin-bottom:6px}
.salon-concept-note span{font-size:11px;line-height:1.5;display:block}
.marquee--story.is-concept .salon-concept-note{opacity:1;transform:translateY(0)}
.salon-scroll-bar{position:absolute;z-index:10;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.18)}
.salon-scroll-bar span{display:block;width:0;height:100%;background:#eac39a}
@media(max-width:1000px){.marquee--story .marquee__stats{gap:28px}.marquee--story .marquee__selector button{min-width:95px}.marquee--story .marquee__selector button:last-child{min-width:115px}}
@media(max-width:780px){.marquee--story{height:205svh}.marquee--story .marquee__sticky{min-height:620px}.marquee--story .marquee__top{top:125px;left:32px;right:32px}.salon-concept-note{top:86px;right:25px;max-width:200px}.salon-concept-note span{font-size:9px}.marquee--story .marquee__visual-vignette{background:linear-gradient(0deg,rgba(5,19,12,.96),rgba(6,17,11,.22) 62%,rgba(6,17,11,.58))}.marquee--story .marquee__bottom{bottom:68px}}
@media(max-width:520px){.marquee--story{height:205svh!important;min-height:0!important}.marquee--story .marquee__sticky{height:100svh;min-height:690px}.marquee--story .marquee__top{top:109px;left:23px;right:23px}.marquee--story .marquee__top>p:not(.eyebrow){font-size:12px;max-width:300px;min-height:75px;line-height:1.5}.marquee--story .marquee__bottom{bottom:62px;gap:18px}.marquee--story .marquee__stats b{font-size:45px}.marquee--story .marquee__selector{gap:8px}.marquee--story .marquee__selector button,.marquee--story .marquee__selector button:last-child{min-width:0;width:33.3%;font-size:9px;padding-right:0}.marquee--story .marquee__selector button span{font-size:8px;letter-spacing:.04em;line-height:1.3}.salon-stage-label{font-size:8px;margin-top:10px}.salon-concept-note{top:80px;right:18px;max-width:145px;padding:9px 10px}.salon-concept-note strong{font-size:7px}.salon-concept-note span{font-size:8px}.marquee--story .salon-visual__image:nth-child(1){object-position:49% 55%}.marquee--story .salon-visual__image:nth-child(2){object-position:45% 55%}.marquee--story .salon-visual__image:nth-child(3){object-position:58% 50%}.marquee--story .salon-hotspots{display:none}}
@media(prefers-reduced-motion:reduce){.marquee--story{height:100svh!important}.marquee--story .marquee__sticky{position:relative}.marquee--story .salon-visual__image{transition:opacity .05s!important}.marquee--story .salon-visual__image:first-child{opacity:1}.salon-scroll-bar{display:none}}
/* Afinación de luz: la fotografía debe enamorar, no quedar oculta bajo la capa oscura. */
.marquee--story.is-interior .marquee__visual-vignette{background:linear-gradient(90deg,rgba(5,19,12,.71),rgba(6,20,13,.26) 49%,rgba(6,20,13,.01) 100%),linear-gradient(0deg,rgba(8,18,12,.79),transparent 53%,rgba(7,19,13,.23) 100%)}
.marquee--story.is-concept .marquee__visual-vignette{background:linear-gradient(90deg,rgba(5,19,12,.72),rgba(6,20,13,.18) 48%,rgba(6,20,13,0) 100%),linear-gradient(0deg,rgba(8,18,12,.70),transparent 54%,rgba(7,19,13,.25) 100%)}
@media(max-width:520px){
  .marquee--story.is-interior .marquee__visual-vignette,
  .marquee--story.is-concept .marquee__visual-vignette{background:linear-gradient(0deg,rgba(5,16,10,.88),rgba(5,16,10,.16) 52%,rgba(6,16,10,.55))}
  .marquee--story .salon-concept-note{display:none}
}


/* V6.2 · NOCHE EXTENDIDA */
.night-story{height:235svh;min-height:0;background:#0c140f;color:#fff;overflow:clip;position:relative}
.night-cinema__sticky{position:sticky;top:0;height:100svh;min-height:680px;overflow:hidden}
.night-cinema__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .45s,transform 1.2s;will-change:transform,opacity}
.night-cinema__image:first-child{opacity:1}
.night-cinema__veil{background:linear-gradient(90deg,rgba(8,17,11,.90) 0%,rgba(8,17,11,.58) 42%,rgba(8,17,11,.12) 100%),linear-gradient(0deg,rgba(8,15,10,.66),transparent 52%)}
.night-cinema__content{position:relative;z-index:2;margin-left:clamp(25px,8.5vw,140px);max-width:760px;padding-top:72px}
.night-cinema__label{display:inline-flex;margin-top:8px;font-size:10px;letter-spacing:.18em;color:#efd0b0;text-transform:uppercase}
.night-cinema__selector{display:flex;gap:14px;align-items:flex-end;margin-top:35px;max-width:560px}
.night-cinema__selector button{width:128px;border-top:1px solid rgba(255,255,255,.42);text-align:left;padding:12px 0 0;font-size:11px;color:#e5e8dc;display:flex;flex-direction:column;gap:8px}
.night-cinema__selector button span{font-size:10px;letter-spacing:.12em}
.night-cinema__selector button.selected{border-top:3px solid #e9b68a;color:#fff}
.night-cinema__scroll{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.18);z-index:3}
.night-cinema__scroll span{display:block;height:100%;width:0;background:#eed0ad}
.night-cinema__explore{margin-top:34px}
@media(max-width:780px){.night-story{height:220svh}.night-cinema__content{margin:0 30px;max-width:550px}.night-cinema__selector{gap:10px;max-width:none}.night-cinema__selector button{width:96px;font-size:9px}.night-cinema__selector button span{font-size:9px}.night-cinema__content h2{font-size:clamp(85px,11vw,120px)}.night-cinema__side{display:none}}
@media(max-width:520px){.night-story{height:215svh}.night-cinema__content{margin:0 23px;padding-top:65px}.night-cinema__content h2{font-size:clamp(77px,16vw,108px);margin:22px 0 22px}.night-cinema__content p:not(.eyebrow){font-size:12px;max-width:280px}.night-cinema__selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.night-cinema__selector button{width:auto;font-size:9px;padding-top:10px}.night-cinema__selector button span{font-size:8px;letter-spacing:.08em}.night-cinema__explore{font-size:9px}}

/* V6.3 / El recorrido nocturno: composición revisada para escritorio y móvil. */
.night-story{height:340svh!important;min-height:0;position:relative;display:block;overflow:clip;background:#08130f;color:#fff}
.night-story .night-cinema__sticky{position:sticky;top:0;left:0;display:block;width:100%;max-width:none;flex:none;height:100svh;min-height:620px;overflow:hidden}
.night-story .night-cinema__backgrounds{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;z-index:0}
.night-story .night-cinema__backgrounds .night-cinema__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%;opacity:0;filter:none;max-width:none;max-height:none;transition:none;will-change:opacity,transform}
.night-story .night-cinema__backgrounds .night-cinema__image:first-child{opacity:1}
.night-story .night-cinema__veil{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:linear-gradient(90deg,rgba(5,18,13,.88),rgba(5,18,13,.63) 41%,rgba(5,18,13,.16) 80%,rgba(5,18,13,.12)),linear-gradient(0deg,rgba(5,12,10,.70),transparent 44%,rgba(4,10,8,.12))}
.night-story .night-cinema__content{position:absolute;z-index:2;left:clamp(28px,8vw,130px);right:auto;top:auto;bottom:clamp(190px,23vh,245px);margin:0;padding:0;max-width:760px;width:min(690px,calc(100% - 110px));display:block}
.night-story .night-cinema__content .eyebrow{font-size:10px;letter-spacing:.21em;margin:0 0 17px;color:#f5e9da}
.night-story .night-cinema__label{font-size:10px;letter-spacing:.2em;margin:0 0 10px;color:#eac7a5}
.night-story .night-cinema__content h2{font-size:clamp(67px,6.7vw,111px);line-height:.88;letter-spacing:-.055em;font-weight:400;margin:16px 0 22px;text-wrap:balance}
.night-story .night-cinema__content h2 em{color:#f4ceaa}
.night-story .night-cinema__content p:not(.eyebrow){font-size:14px;max-width:390px;line-height:1.75;margin:0 0 19px;color:#f5eae0}
.night-story .night-cinema__explore{font-size:10px;letter-spacing:.16em;margin:0;padding:0 0 11px;gap:21px}
.night-story .night-cinema__selector{position:absolute;z-index:3;left:clamp(28px,8vw,130px);right:clamp(28px,8vw,130px);bottom:clamp(44px,9vh,85px);width:auto;max-width:900px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:0}
.night-story .night-cinema__selector button{min-width:0;width:auto;padding:15px 0 0;text-align:left;font-size:12px;display:flex;flex-direction:column;gap:7px;border-top:1px solid rgba(255,255,255,.4);color:#f5ebe0}
.night-story .night-cinema__selector button.selected{border-top:3px solid #f4cc9d;padding-top:13px}
.night-story .night-cinema__selector button span{font-size:9px;letter-spacing:.14em;white-space:normal}
.night-story .night-cinema__side{z-index:3;right:34px;top:50%;font-size:9px;opacity:.75;pointer-events:none}
.night-story .night-cinema__scroll{z-index:4;bottom:0;left:0;right:0;height:4px}
@media(max-width:1000px){
  .night-story .night-cinema__content{left:45px;width:min(640px,calc(100% - 90px));bottom:215px}
  .night-story .night-cinema__content h2{font-size:clamp(66px,8.5vw,88px)}
  .night-story .night-cinema__selector{left:45px;right:45px;max-width:none;gap:14px}
  .night-story .night-cinema__side{display:none}
}
@media(max-width:600px){
  .night-story{height:320svh!important}
  .night-story .night-cinema__sticky{height:100svh;min-height:0}
  .night-story .night-cinema__backgrounds .night-cinema__image{object-position:56% 48%}
  .night-story .night-cinema__veil{background:linear-gradient(0deg,rgba(5,13,10,.93) 0%,rgba(7,16,12,.65) 43%,rgba(8,18,12,.12) 78%),linear-gradient(90deg,rgba(6,18,12,.20),rgba(6,18,12,.06))}
  .night-story .night-cinema__content{left:23px;right:23px;width:auto;max-width:none;bottom:clamp(190px,25svh,245px)}
  .night-story .night-cinema__content .eyebrow{font-size:8px;margin-bottom:11px}
  .night-story .night-cinema__label{font-size:8px;margin:0 0 5px;letter-spacing:.12em}
  .night-story .night-cinema__content h2{font-size:clamp(49px,12.5vw,67px);line-height:.88;margin:10px 0 13px;max-width:100%;text-wrap:balance}
  .night-story .night-cinema__content p:not(.eyebrow){font-size:12px;line-height:1.55;margin:0 0 15px;max-width:325px}
  .night-story .night-cinema__explore{font-size:9px;margin:0}
  .night-story .night-cinema__selector{left:23px;right:23px;bottom:45px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .night-story .night-cinema__selector button{min-width:0;width:auto;border-top:1px solid rgba(255,255,255,.45);padding-top:10px;gap:5px;font-size:10px}
  .night-story .night-cinema__selector button.selected{padding-top:8px}
  .night-story .night-cinema__selector button span{font-size:8px;letter-spacing:.025em;line-height:1.25}
}
@media(prefers-reduced-motion:reduce){
  .night-story{height:100svh!important}
  .night-story .night-cinema__sticky{position:relative}
  .night-story .night-cinema__backgrounds .night-cinema__image{transition:none!important}
}


/* V6.3.2 · WhatsApp flotante editorial: nunca abre solo ni distrae del recorrido. */
.whatsapp-float{position:fixed;z-index:132;right:clamp(18px,3vw,52px);bottom:calc(22px + env(safe-area-inset-bottom,0px));font-family:var(--sans);display:flex;align-items:flex-end;flex-direction:column;gap:13px;max-width:calc(100vw - 30px);color:var(--forest)}
body:not(.ready) .whatsapp-float{opacity:0;pointer-events:none}
.whatsapp-float__launcher{display:flex;align-items:center;gap:13px;padding:7px 19px 7px 7px;border-radius:999px;background:#eff0e6;color:#173729;border:1px solid rgba(23,55,41,.16);box-shadow:0 6px 30px rgba(0,0,0,.23),0 2px 8px rgba(0,0,0,.09);transition:transform .26s var(--ease),box-shadow .26s,background .2s;min-height:65px}
.whatsapp-float__launcher:hover{transform:translateY(-3px);box-shadow:0 12px 37px rgba(0,0,0,.25);background:#fff}
.whatsapp-float__launcher:focus-visible,.whatsapp-float__close:focus-visible,.whatsapp-float__panel a:focus-visible,.whatsapp-float__panel button:focus-visible{outline:3px solid #d8ab83;outline-offset:3px}
.whatsapp-float__symbol{width:48px;height:48px;background:#275d45;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none;box-shadow:inset 0 1px 1px rgba(255,255,255,.12)}
.whatsapp-float__symbol svg{width:27px;height:27px}
.whatsapp-float__launcher-text{display:flex;flex-direction:column;text-align:left;font-size:11px;font-weight:700;letter-spacing:.13em;line-height:1.3;white-space:nowrap}
.whatsapp-float__launcher-text small{font-size:8px;letter-spacing:.23em;color:#6b8372;margin-top:5px}
.whatsapp-float__panel{width:354px;max-width:calc(100vw - 32px);background:#f5f2ea;border:1px solid #e4e0d6;border-radius:15px;overflow:hidden;box-shadow:0 18px 75px rgba(2,20,12,.37),0 4px 18px rgba(2,20,12,.16);opacity:0;visibility:hidden;transform:translateY(14px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .25s,transform .38s var(--ease),visibility .25s}
.whatsapp-float.is-open .whatsapp-float__panel{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.whatsapp-float__top{background:#e7e7dd;padding:15px 15px 14px 19px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9dbd1}
.whatsapp-float__brand{display:flex;align-items:center;gap:11px}
.whatsapp-float__brand img{width:35px;height:35px;object-fit:contain}
.whatsapp-float__brand>span{font-family:var(--serif);font-size:20px;color:#234334;line-height:.87}
.whatsapp-float__brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.12em;font-weight:600;margin-top:9px;color:#677c68}
.whatsapp-float__close{width:34px;height:34px;font-family:Arial,sans-serif;font-size:25px;line-height:1;border-radius:50%;color:#405f4b;display:grid;place-items:center;transition:background .2s}
.whatsapp-float__close:hover{background:#d6dbcf}
.whatsapp-float__body{padding:25px 26px 22px}
.whatsapp-float__eyebrow{font-size:9px;font-weight:700;letter-spacing:.15em;display:flex;gap:9px;align-items:center;color:#58725e}
.whatsapp-float__status{height:7px;width:7px;background:#b88e6c;border-radius:50%;display:inline-block}
.whatsapp-float__body h3{font-family:var(--serif);font-weight:400;font-size:46px;line-height:.86;letter-spacing:-.035em;margin:20px 0 17px;color:#1d3b2e}
.whatsapp-float__body h3 em{font-weight:400;color:#a47e58}
.whatsapp-float__body p{font-size:12.5px;line-height:1.7;color:#637466;margin:0 0 21px}
.whatsapp-float__primary{display:flex;justify-content:center;align-items:center;text-align:center;min-height:49px;background:#254c38;color:#fff;padding:12px 17px;font-size:10px;letter-spacing:.11em;font-weight:700;transition:background .2s}
.whatsapp-float__primary:hover{background:#37664b}
.whatsapp-float__secondary{display:block;width:100%;text-align:center;margin-top:9px;border:1px solid #bec8b9;padding:13px 15px;min-height:44px;color:#2b4c39;font-size:10px;letter-spacing:.11em;font-weight:700;transition:background .2s}
.whatsapp-float__secondary:hover{background:#e9eee2}
.whatsapp-float__foot{text-align:center;border-top:1px solid #e0e2d9;padding:13px 5px;background:#f1f0e8;font-size:8px;letter-spacing:.14em;color:#7d887b}
@media(max-width:520px){
  .whatsapp-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:10px}
  .whatsapp-float__launcher{padding:6px 13px 6px 6px;min-height:53px;gap:10px}
  .whatsapp-float__symbol{width:41px;height:41px}
  .whatsapp-float__symbol svg{width:23px;height:23px}
  .whatsapp-float__launcher-text{font-size:9px;letter-spacing:.09em}
  .whatsapp-float__launcher-text small{font-size:7px;letter-spacing:.15em;margin-top:3px}
  .whatsapp-float__panel{width:min(355px,calc(100vw - 32px))}
  .whatsapp-float__body{padding:22px 23px 20px}
  .whatsapp-float__body h3{font-size:42px}
  .whatsapp-float__body p{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.whatsapp-float__panel,.whatsapp-float__launcher{transition:none}}

/* En móviles, sustituir el antiguo icono por texto legible */
.visit-link__mobile{display:none}
@media(max-width:520px){.visit-link{font-size:10px!important;padding:11px 12px!important;white-space:nowrap}.visit-link__desktop{display:none}.visit-link__mobile{display:inline!important;font-size:10px!important;letter-spacing:.11em!important}}


/* V6.4 · Banner destacado Zambomba */
.nav-highlight{padding:10px 14px;border:1px solid rgba(237,198,160,.55);border-radius:999px;color:#f4d1b0!important;background:rgba(237,198,160,.08)}
.nav-highlight:hover{background:#f0c9a1!important;color:#152920!important}
.seasonal-banner{background:linear-gradient(180deg,#efe6d7,#f7f1e5 58%,#efe6d7);padding:clamp(34px,5.2vw,74px) clamp(18px,4vw,48px)}
.seasonal-banner__inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,430px) minmax(0,1fr);gap:clamp(22px,3.2vw,52px);align-items:center;background:#fbf6ee;color:var(--ink);border-radius:30px;overflow:hidden;box-shadow:0 20px 70px rgba(21,41,32,.10);border:1px solid rgba(21,41,32,.08)}
.seasonal-banner__media{min-height:100%;background:#d8c2a7}.seasonal-banner__media img{width:100%;height:100%;min-height:360px;object-fit:cover;object-position:center}
.seasonal-banner__content{padding:clamp(28px,4vw,56px)}
.seasonal-banner__content h2{font-size:clamp(42px,4.6vw,78px);line-height:.9;margin:10px 0 18px;color:var(--forest)}
.seasonal-banner__content h2 em{color:#c57f4f}
.seasonal-banner__content>p:not(.eyebrow){max-width:720px;font-size:15px;color:#455547;margin-bottom:24px}
.seasonal-banner__meta{display:flex;flex-wrap:wrap;gap:10px 12px;margin-bottom:24px}.seasonal-banner__meta span{padding:11px 14px;border-radius:999px;background:#f1e4d4;color:#7a5135;font-size:11px;letter-spacing:.14em;font-weight:700}
.seasonal-banner__cta{display:inline-flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--forest);padding-bottom:6px;border-bottom:1px solid rgba(21,41,32,.3)}
.seasonal-banner__cta::after{content:'→';font-size:16px;color:#c57f4f}
@media(max-width:900px){.seasonal-banner__inner{grid-template-columns:1fr}.seasonal-banner__media img{min-height:300px}}
@media(max-width:600px){.nav-highlight{display:none}.seasonal-banner{padding:28px 14px 34px}.seasonal-banner__inner{border-radius:22px}.seasonal-banner__content{padding:24px 20px 26px}.seasonal-banner__content h2{font-size:44px}.seasonal-banner__content>p:not(.eyebrow){font-size:13px}.seasonal-banner__meta span{font-size:10px;padding:10px 12px}}


/* V6.5 · Evento destacado. Franja persistente y banner comercial */
:root{--zambomba-red:#7d292d;--zambomba-red-dark:#581c24;--zambomba-gold:#dfbe88;--zambomba-olive:#7c8a5e;--z-topbar-height:46px}
.z-topbar{position:fixed;inset:0 0 auto 0;height:var(--z-topbar-height);z-index:185;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 clamp(15px,4.2vw,76px);background:#70292d;color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.13);font-family:var(--sans)}
.z-topbar__lead{display:flex;align-items:center;gap:clamp(8px,1.2vw,18px);min-width:0;height:100%;font-size:10px;letter-spacing:.12em;white-space:nowrap}
.z-topbar__lead strong{color:#fff;font-weight:700;letter-spacing:.14em}
.z-topbar__lead .z-topbar__date{color:#f6d9b8}
.z-topbar__artists{font-family:var(--serif);font-size:18px;letter-spacing:.012em;color:#f9e5d1;overflow:hidden;text-overflow:ellipsis}
.z-topbar__dot{display:inline-block;width:7px;height:7px;flex:0 0 7px;background:#e6ba7d;transform:rotate(45deg)}
.z-topbar__separator{height:18px;width:1px;background:rgba(255,255,255,.25)}
.z-topbar__action{flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;gap:10px;border:1px solid rgba(255,239,209,.54);border-radius:999px;padding:7px 15px;color:#fff;font-size:10px;letter-spacing:.12em;font-weight:700;transition:background .2s,color .2s}
.z-topbar__action:hover{background:#f8e2be;color:#612528}
.z-topbar__action span{font-size:16px;line-height:1}
.site-header{top:var(--z-topbar-height)}
.site-menu{padding-top:var(--z-topbar-height)}
.chapter-dots{top:calc(50% + 15px)}
.seasonal-banner{position:relative;background:#efe5d6;padding:clamp(46px,6vw,95px) clamp(16px,4.5vw,74px)}
.seasonal-banner__frame{width:min(1360px,100%);margin:0 auto;position:relative;display:grid;grid-template-columns:minmax(265px,390px) minmax(0,1fr);align-items:stretch;min-height:465px;border-radius:6px;overflow:hidden;box-shadow:0 35px 90px rgba(52,47,33,.14);background:#fbf7f0}
.seasonal-banner__frame::after{content:'';position:absolute;inset:16px;border:1px solid rgba(114,73,45,.15);pointer-events:none;z-index:3}
.seasonal-banner__poster{display:block;position:relative;height:100%;min-height:465px;background:#eee7d9;overflow:hidden}
.seasonal-banner__poster::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(251,247,240,.7));pointer-events:none}
.seasonal-banner__poster img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transition:transform .75s var(--ease)}
.seasonal-banner__poster:hover img{transform:scale(1.035)}
.seasonal-banner__stamp{position:absolute;z-index:4;left:clamp(15px,2vw,34px);top:clamp(18px,2.2vw,32px);background:#7e2d32;color:#f8ead8;width:84px;height:84px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-size:42px;line-height:.82;border:1px solid rgba(255,255,255,.38);box-shadow:0 14px 26px rgba(0,0,0,.12)}
.seasonal-banner__stamp span{font-family:var(--sans);font-size:10px;letter-spacing:.21em;margin-top:7px}
.seasonal-banner__copy{position:relative;z-index:2;padding:clamp(34px,5vw,68px) clamp(28px,5.5vw,83px) clamp(30px,4vw,58px) clamp(28px,4.5vw,68px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#283c2f}
.seasonal-banner__kicker{font-size:10px;font-weight:700;letter-spacing:.22em;color:#8e5545;margin-bottom:24px}
.seasonal-banner__fire{color:#b57a42;font-size:21px;margin-right:6px}
.seasonal-banner__copy h2{font-family:var(--serif);font-weight:400;letter-spacing:-.051em;font-size:clamp(46px,5.1vw,80px);line-height:.85;color:#293d31;margin:0 0 17px}
.seasonal-banner__copy h2 em{color:#7d2b30}
.seasonal-banner__name{color:#824e41;font-size:11px;letter-spacing:.18em;font-weight:700;margin:0 0 16px}
.seasonal-banner__description{font-size:clamp(13px,1.15vw,15px);line-height:1.65;max-width:700px;color:#4e5a4c;margin:0 0 23px}
.seasonal-banner__description strong{color:#703f32}
.seasonal-banner__details{display:flex;flex-wrap:wrap;gap:0;margin-bottom:26px;border-top:1px solid #d9cfc0;border-bottom:1px solid #d9cfc0;padding:14px 0;width:100%;max-width:630px}
.seasonal-banner__details>span{padding:3px 18px 3px 0;margin-right:18px;border-right:1px solid #ddd1c0;display:flex;flex-direction:column;gap:4px}
.seasonal-banner__details>span:last-child{border:0;padding-right:0;margin-right:0}
.seasonal-banner__details b{font-family:var(--serif);font-weight:500;font-size:26px;line-height:1;color:#283c2f}
.seasonal-banner__details small{font-size:9px;letter-spacing:.12em;font-weight:700;color:#92725d}
.seasonal-banner__buttons{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.seasonal-banner__button-primary,.seasonal-banner__button-secondary{border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 24px;font-size:10px;font-weight:700;letter-spacing:.12em;text-align:center;transition:transform .25s var(--ease),background .25s,color .25s}
.seasonal-banner__button-primary{background:#7b2c32;color:#fff;box-shadow:0 12px 26px rgba(113,41,44,.20)}
.seasonal-banner__button-primary span{font-size:15px}
.seasonal-banner__button-primary:hover{background:#592025;transform:translateY(-2px)}
.seasonal-banner__button-secondary{border:1px solid #a6816b;color:#6b3b36}
.seasonal-banner__button-secondary:hover{background:#eee3d4}
.seasonal-banner__note{font-size:9px;color:#907e6d;letter-spacing:.13em;margin-top:17px}
@media(max-width:1150px){.z-topbar__artists{display:none}.seasonal-banner__frame{grid-template-columns:minmax(260px,35%) minmax(0,1fr)}.seasonal-banner__copy{padding:38px 36px}.seasonal-banner__details>span{margin-right:12px;padding-right:12px}}
@media(max-width:830px){:root{--z-topbar-height:48px}.z-topbar__separator{display:none}.z-topbar__lead{font-size:9px;gap:10px}.z-topbar__date{font-size:10px}.seasonal-banner{padding:34px 17px}.seasonal-banner__frame{grid-template-columns:1fr}.seasonal-banner__poster{height:355px;min-height:0}.seasonal-banner__poster img{object-fit:contain;background:#f9f3e9}.seasonal-banner__stamp{width:66px;height:66px;font-size:34px}.seasonal-banner__copy{padding:34px 35px 38px}.seasonal-banner__copy h2{font-size:clamp(49px,8vw,68px)}.seasonal-banner__details>span{margin-right:19px;padding-right:19px}}
@media(max-width:540px){:root{--z-topbar-height:52px}.z-topbar{padding:0 13px;gap:8px}.z-topbar__lead{gap:8px;white-space:normal;line-height:1.25}.z-topbar__lead strong{font-size:9px;letter-spacing:.06em}.z-topbar__date{font-size:9px!important;white-space:nowrap}.z-topbar__action{font-size:9px;letter-spacing:.02em;padding:9px 11px}.z-topbar__action span{display:none}.seasonal-banner{padding:22px 12px 30px}.seasonal-banner__frame{border-radius:4px}.seasonal-banner__frame::after{inset:10px}.seasonal-banner__poster{height:300px}.seasonal-banner__stamp{width:60px;height:60px;left:18px;top:18px}.seasonal-banner__copy{padding:26px 22px 32px}.seasonal-banner__kicker{font-size:9px;letter-spacing:.15em;margin-bottom:17px}.seasonal-banner__copy h2{font-size:clamp(44px,11vw,58px);margin-bottom:15px}.seasonal-banner__name{font-size:10px;letter-spacing:.14em}.seasonal-banner__description{font-size:13px;margin-bottom:20px}.seasonal-banner__details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.seasonal-banner__details>span{padding:1px 7px 1px 0;margin:0;border-right:1px solid #ddd1c0}.seasonal-banner__details>span:last-child{border:0}.seasonal-banner__details b{font-size:22px}.seasonal-banner__details small{font-size:7px;letter-spacing:0}.seasonal-banner__buttons{width:100%;display:flex;flex-direction:column;gap:9px}.seasonal-banner__button-primary,.seasonal-banner__button-secondary{width:100%;padding:15px 12px}.seasonal-banner__note{font-size:8px;letter-spacing:.1em;line-height:1.45}}

/* Secciones visibles al navegar con franja y cabecera fijas */
html{scroll-padding-top:calc(var(--z-topbar-height) + 78px)}
@media(max-width:600px){html{scroll-padding-top:calc(var(--z-topbar-height) + 70px)}}


/* V6.7 · La promoción de la Zambomba pasa a una tarjeta flotante y cerrable.
   Solo la página de la Zambomba conserva la franja de venta. */
:root{--z-topbar-height:0px}
.site-header{top:0}
.site-menu{padding-top:0}
.chapter-dots{top:50%}
html{scroll-padding-top:80px}
@media(max-width:600px){html{scroll-padding-top:70px}}
.z-float-promo[hidden]{display:none!important}
.z-float-promo{position:fixed;left:clamp(15px,2.4vw,36px);bottom:clamp(18px,2.5vw,36px);width:min(490px,calc(100vw - 36px));z-index:175;background:#fcf7ef;border:1px solid rgba(129,58,52,.22);box-shadow:0 20px 85px rgba(11,21,17,.30),0 3px 9px rgba(11,21,17,.13);border-radius:7px;overflow:hidden;opacity:0;transform:translate3d(0,32px,0) scale(.97);transition:opacity .62s var(--ease),transform .7s var(--ease);pointer-events:none}
.z-float-promo.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
.z-float-promo::after{position:absolute;content:'';inset:9px;border:1px solid rgba(132,63,57,.15);pointer-events:none}
.z-float-promo__link{display:grid;grid-template-columns:145px minmax(0,1fr);min-height:187px;align-items:stretch;position:relative;z-index:1}
.z-float-promo__image{overflow:hidden;display:block;background:#ece5dc}
.z-float-promo__image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s var(--ease)}
.z-float-promo__link:hover .z-float-promo__image img{transform:scale(1.055)}
.z-float-promo__body{padding:21px 28px 18px 21px;display:flex;flex-direction:column;justify-content:center;min-width:0;color:#314634}
.z-float-promo__eyebrow{display:block;font-size:8px;font-weight:700;letter-spacing:.16em;color:#9a6146;margin:0 0 10px}
.z-float-promo__heading{font-family:var(--serif);font-weight:600;font-size:clamp(34px,3.2vw,48px);letter-spacing:-.035em;line-height:.84;color:#82252c;display:block;margin-bottom:15px}
.z-float-promo__heading em{font-style:italic;font-weight:400;font-size:.85em;color:#54694e}
.z-float-promo__date{font-size:9px;font-weight:700;letter-spacing:.11em;color:#596c4d;margin:0 0 14px}
.z-float-promo__cta{font-size:9px;font-weight:700;letter-spacing:.10em;color:#9b3835;border-top:1px solid #e4d6ca;padding-top:10px;display:flex;justify-content:space-between;align-items:center}
.z-float-promo__cta span{font-size:17px}
.z-float-promo__close{position:absolute;z-index:4;right:7px;top:7px;width:30px;height:30px;color:#73212a;background:#f6eae3;border:1px solid rgba(121,37,39,.20);border-radius:50%;font-family:Arial,sans-serif;font-size:22px;line-height:26px;text-align:center;padding:0;transition:background .22s,color .22s}
.z-float-promo__close:hover{color:#fff;background:#872e32}
body:has(.site-menu.open) .z-float-promo, body:has(dialog[open]) .z-float-promo{opacity:0;pointer-events:none}
@media(max-width:600px){.z-float-promo{left:12px;right:12px;width:calc(100vw - 24px);bottom:91px}.z-float-promo__link{grid-template-columns:104px minmax(0,1fr);min-height:157px}.z-float-promo__body{padding:14px 34px 13px 13px}.z-float-promo__eyebrow{font-size:7px;margin-bottom:8px;letter-spacing:.10em}.z-float-promo__heading{font-size:32px;margin-bottom:9px}.z-float-promo__date{font-size:8px;margin-bottom:9px}.z-float-promo__cta{font-size:8px;padding-top:8px}.z-float-promo__close{top:6px;right:6px;width:27px;height:27px;font-size:20px;line-height:23px}}
@media(max-width:350px){.z-float-promo__link{grid-template-columns:89px minmax(0,1fr)}.z-float-promo__heading{font-size:28px}}
@media(prefers-reduced-motion:reduce){.z-float-promo{transition:none}}

/* Se coloca la invitación en la esquina superior derecha de escritorio, sin tapar el titular principal. */
@media(min-width:601px){.z-float-promo{top:111px;bottom:auto;left:auto;right:clamp(15px,2.4vw,36px)}}
