/* Scroll-driven botanical opening. Static content remains available without JS. */
.forest-home:not(.forest-content-visible) .contant-no-area{display:none!important}
.forest-home .site-header{position:fixed;top:0;left:0;width:100%;z-index:999;opacity:0;visibility:hidden;transform:translate3d(0,-100%,0);pointer-events:none;transition:transform .45s cubic-bezier(.2,.7,.3,1),opacity .3s ease,visibility 0s linear .45s}
.forest-home.forest-header-visible .site-header{opacity:1;visibility:visible;transform:translate3d(0,0,0);pointer-events:auto;transition-delay:0s}
.forest-home .forest-navigation{position:relative;top:auto;width:100%}
@media(prefers-reduced-motion:reduce){.forest-home .site-header{transition:none}}
.forest-intro{position:relative;background:#10271e;color:#fff;--opening:0;--intro-opacity:1;--reveal-opacity:0;--reveal-y:35px;--landscape-scale:1.12}
.forest-stage{position:relative;min-height:760px;height:100svh;overflow:hidden;isolation:isolate;background:#10271e}
.forest-intro.is-animated{height:230svh}
.is-animated .forest-stage{position:sticky;top:0;min-height:600px}
.forest-landscape,.forest-shade,.forest-canopy{position:absolute;inset:0;pointer-events:none}
.forest-landscape{background:url('../images/botanical/alpine-houses-hero-v1.png') center/cover no-repeat;transform:scale(var(--landscape-scale));will-change:transform}
.forest-shade{background:linear-gradient(180deg,rgba(7,24,19,.12),rgba(7,24,19,.22) 45%,rgba(7,24,19,.6))}
.forest-canopy{z-index:2;background:radial-gradient(ellipse at center,transparent 25%,rgba(4,20,13,.35));opacity:calc(1 - var(--opening)*.8)}
.forest-leaf{position:absolute;width:64vw;max-width:none;height:auto;filter:brightness(.7) saturate(.75) drop-shadow(8px 16px 16px #03170c66);will-change:transform;transform:translate3d(calc(var(--x)*var(--opening)),calc(var(--y)*var(--opening)),0) rotate(calc(var(--angle) + var(--turn)*var(--opening))) scaleX(var(--flip,1));transform-origin:50% 50%;user-select:none}
.forest-leaf--1{left:-25%;top:-38%;--angle:100deg;--turn:20deg;--x:-45vw;--y:-30vh}
.forest-leaf--2{right:-25%;top:-35%;--flip:-1;--angle:-100deg;--turn:-20deg;--x:45vw;--y:-30vh}
.forest-leaf--3{left:-38%;top:10%;--angle:30deg;--turn:-20deg;--x:-48vw;--y:0vh;filter:brightness(.5) saturate(.8) blur(1px)}
.forest-leaf--4{right:-38%;top:16%;--flip:-1;--angle:-30deg;--turn:20deg;--x:48vw;--y:0vh;filter:brightness(.5) saturate(.8) blur(1px)}
.forest-leaf--5{left:-22%;bottom:-46%;--angle:5deg;--turn:-22deg;--x:-35vw;--y:35vh}
.forest-leaf--6{right:-22%;bottom:-46%;--flip:-1;--angle:-5deg;--turn:22deg;--x:35vw;--y:35vh}
.forest-welcome,.forest-reveal{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:70px 24px;z-index:3}
.forest-welcome{opacity:var(--intro-opacity);pointer-events:none}
.forest-welcome a{pointer-events:auto}
.forest-eyebrow{font:500 11px/1.6 Arial,sans-serif;letter-spacing:.3em;color:#e1e9c7;margin-bottom:26px}
.forest-intro h1,.forest-intro h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:1.04;color:#faf7ed;text-shadow:0 3px 35px #001b1280;margin:0 0 25px;text-transform:none}
.forest-intro h1{font-size:clamp(48px,6.5vw,102px)}
.forest-intro h2{font-size:clamp(42px,5.5vw,82px)}
.forest-intro p{font:400 16px/1.7 Arial,sans-serif;color:#e1e7db;max-width:470px}
.forest-scroll{margin-top:38px;color:#f2f1df!important;font:12px/1.5 Arial,sans-serif;letter-spacing:.12em;display:flex;flex-direction:column;gap:16px}
.forest-scroll span{font-size:27px}
@keyframes forest-scroll-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@media(prefers-reduced-motion:no-preference){.forest-scroll span{animation:forest-scroll-bounce 1.4s ease-in-out infinite}}
.forest-reveal{z-index:1;opacity:var(--reveal-opacity);transform:translateY(var(--reveal-y))}
.forest-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:24px;flex-wrap:wrap}
.forest-button{display:inline-flex;align-items:center;gap:30px;padding:17px 25px;border-radius:3px;background:#e8ebd5;color:#183a29!important;font:500 14px/1.5 Arial,sans-serif;transition:background .2s}
.forest-button span svg{display:block;width:16px;height:16px}
.forest-button:hover{background:#fff}
.forest-link{color:#fff!important;font:14px/1.5 Arial,sans-serif;border-bottom:1px solid #ffffff80;padding:6px 0}
.forest-intro a:focus-visible{outline:3px solid #fff;outline-offset:6px}
.forest-caption{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;z-index:3;font:10px/1.5 Arial,sans-serif;letter-spacing:.2em;color:#e1e9c7;pointer-events:none}
#descubre{scroll-margin-top:90px}
@media(max-width:767px){.forest-stage,.is-animated .forest-stage{min-height:560px}.forest-leaf{width:110vw}.forest-leaf--1{left:-48%;top:-12%}.forest-leaf--2{right:-48%;top:-10%}.forest-leaf--3{left:-72%;top:28%}.forest-leaf--4{right:-72%;top:30%}.forest-leaf--5{left:-48%;bottom:-18%}.forest-leaf--6{right:-48%;bottom:-18%}.forest-eyebrow{font-size:9px;letter-spacing:.22em}.forest-caption{font-size:8px;letter-spacing:.1em}.forest-intro p{font-size:14px;max-width:310px}.forest-actions{gap:18px}.forest-intro.is-animated{height:200svh}}
@media(prefers-reduced-motion:reduce){.forest-intro.is-animated{height:auto}.forest-stage{height:auto;min-height:780px}.forest-welcome{display:none}.forest-reveal{opacity:1;transform:none;position:relative;min-height:780px}.forest-canopy{opacity:.4}.forest-leaf{will-change:auto}.forest-landscape{transform:none}}
/* Two additional planes create a reversible passage through the foliage. */
.forest-intro{--middle-opening:0;--far-opening:0;--middle-scale:1;--far-scale:.85}
.forest-intro.is-animated{height:270svh}
.forest-depth{position:absolute;inset:0;z-index:2;pointer-events:none;will-change:transform;transform-origin:50% 50%}
.forest-depth--middle{--opening:var(--middle-opening);transform:scale(var(--middle-scale));opacity:calc(.85 - var(--middle-opening)*.85)}
.forest-depth--far{--opening:var(--far-opening);transform:scale(var(--far-scale));opacity:calc(.7 - var(--far-opening)*.7)}
.forest-depth .forest-leaf{width:53vw;filter:brightness(.65) saturate(.7)}
.forest-depth--far .forest-leaf{filter:brightness(.75) saturate(.6) blur(1px)}
.forest-depth-leaf--1{left:-22%;top:-24%;--angle:95deg;--turn:16deg;--x:-24vw;--y:-26vh}
.forest-depth-leaf--2{right:-26%;top:16%;--flip:-1;--angle:-48deg;--turn:-22deg;--x:30vw;--y:-8vh}
.forest-depth-leaf--3{left:-28%;bottom:-28%;--angle:30deg;--turn:-18deg;--x:-28vw;--y:25vh}
.forest-depth-leaf--4{right:-18%;bottom:-32%;--flip:-1;--angle:-12deg;--turn:18deg;--x:28vw;--y:30vh}
.forest-depth-leaf--5{left:25%;top:-42%;--angle:172deg;--turn:24deg;--x:8vw;--y:-48vh}
.forest-depth-leaf--6{left:21%;bottom:-46%;--flip:-1;--angle:-18deg;--turn:-22deg;--x:-10vw;--y:48vh}
.forest-depth--far .forest-depth-leaf--1{left:-26%;top:14%;--angle:65deg}
.forest-depth--far .forest-depth-leaf--2{right:-18%;top:-30%;--angle:-125deg}
.forest-depth--far .forest-depth-leaf--3{left:-15%;bottom:-35%;--angle:6deg}
.forest-depth--far .forest-depth-leaf--4{right:-30%;bottom:-18%;--angle:-42deg}
.forest-depth--far .forest-depth-leaf--5{left:5%;top:-38%;--angle:150deg;--x:-14vw}
.forest-depth--far .forest-depth-leaf--6{left:38%;bottom:-44%;--angle:22deg;--x:14vw}
@media(max-width:767px){.forest-intro.is-animated{height:240svh}.forest-depth .forest-leaf{width:100vw}.forest-depth .forest-depth-leaf--1{left:-60%;top:-8%}.forest-depth .forest-depth-leaf--2{right:-64%;top:23%}.forest-depth .forest-depth-leaf--3{left:-60%;bottom:-10%}.forest-depth .forest-depth-leaf--4{right:-55%;bottom:-17%}.forest-depth .forest-depth-leaf--5{width:75vw;left:15%;top:-22%}.forest-depth .forest-depth-leaf--6{width:80vw;left:10%;bottom:-22%}.forest-depth--far .forest-depth-leaf--5{left:-12%;top:-18%}.forest-depth--far .forest-depth-leaf--6{left:38%;bottom:-20%}}
@media(prefers-reduced-motion:reduce){.forest-intro.is-animated{height:auto}.forest-depth{display:none}}
/* Entrance runs on children so scroll opacity on the welcome remains independent. */
.forest-brand{position:relative;flex-shrink:0;width:126px;height:126px;margin-bottom:22px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 8px 35px #03170c40}
.forest-brand img{position:absolute;left:-3.25%;top:-24%;width:106.5%;height:auto;max-width:none}
.forest-title-line{display:block}
.forest-entry-pending:not(.forest-entered) .forest-brand,
.forest-entry-pending:not(.forest-entered) .forest-welcome>.forest-eyebrow,
.forest-entry-pending:not(.forest-entered) .forest-title-line,
.forest-entry-pending:not(.forest-entered) .forest-welcome>p,
.forest-entry-pending:not(.forest-entered) .forest-scroll{opacity:0;transform:translateY(22px);filter:blur(6px)}
.forest-entered .forest-brand,
.forest-entered .forest-welcome>.forest-eyebrow,
.forest-entered .forest-title-line,
.forest-entered .forest-welcome>p,
.forest-entered .forest-scroll{animation:forest-text-enter 1.1s cubic-bezier(.16,1,.3,1) both}
.forest-entered .forest-brand{animation-delay:.05s}
.forest-entered .forest-welcome>.forest-eyebrow{animation-delay:.18s}
.forest-entered .forest-title-line:first-child{animation-delay:.32s}
.forest-entered .forest-title-line:last-child{animation-delay:.48s}
.forest-entered .forest-welcome>p{animation-delay:.68s}
.forest-entered .forest-scroll{animation-delay:.85s}
@keyframes forest-text-enter{from{opacity:0;transform:translateY(22px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@media(max-height:800px){.forest-brand{width:94px;height:94px;margin-bottom:16px}.forest-welcome>.forest-eyebrow{margin-bottom:16px}.forest-welcome .forest-scroll{margin-top:20px}}
@media(max-width:767px){.forest-brand{width:90px;height:90px}.forest-welcome{padding-top:30px;padding-bottom:55px}}
@media(prefers-reduced-motion:reduce){.forest-intro .forest-brand,.forest-intro .forest-welcome>.forest-eyebrow,.forest-intro .forest-title-line,.forest-intro .forest-welcome>p,.forest-intro .forest-scroll{animation:none;opacity:1;transform:none;filter:none}}
/* Distinct silhouettes for the reference-based foliage planes. */
.forest-depth--middle .forest-leaf{width:46vw;filter:brightness(.82) saturate(.8)}
.forest-depth--far .forest-leaf{filter:brightness(.62) saturate(.65) blur(.6px)}
@media(max-width:767px){.forest-depth--middle .forest-leaf{width:92vw}}

@media(max-width:767px){.forest-landscape{background-position:72% center}.forest-caption{gap:18px}.forest-caption span:last-child{text-align:right;max-width:180px}}

/* Keep the floating contact action out of the opening forest scene. */
.forest-home:not(.forest-content-visible) .rosedal-floating-whatsapp{opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(0,8px,0)}
.forest-home.forest-content-visible .rosedal-floating-whatsapp{opacity:1;visibility:visible;pointer-events:auto;transform:translate3d(0,0,0);transition-delay:.08s}
@media(prefers-reduced-motion:reduce){.forest-home.forest-content-visible .rosedal-floating-whatsapp{transition:none}}
