.d-forest{--bg:#0c1a14;--bg2:#10281d;--ink:#f4ead0;--mut:#b9c5b2;--ac:#e6c27a;--gold:#e6c27a;--cream:#f4ead0;--glow:#ffcf7a;--card:rgba(14,36,26,.78);--line:rgba(230,194,122,.4);--on-ac:#0c1a14;--hero-ink:#f4ead0;--hero-bg:none;--hero-sh:transparent;--cover-bg:linear-gradient(180deg,#09160f,#0f2a1e 65%,#07110c);--cover-ink:#f4ead0;--foot-bg:rgba(3,10,6,.55);
 --fd:'Cormorant Garamond','Playfair Display',serif;--fh:'Cormorant Garamond','Mukta',serif;--fb:'Jost','Inter','Mukta',sans-serif;font-family:var(--fb);background:#0c1a14}
.d-forest .fx{z-index:0}.d-forest .fo-ly{position:absolute;inset:0;width:100%;height:100%;display:block}.d-forest .fo-l3{transform-origin:50% 100%;animation:fosw 9s ease-in-out infinite alternate}.d-forest .fo-l2{transform-origin:50% 100%;animation:fosw 13s ease-in-out infinite alternate-reverse}@keyframes fosw{from{transform:rotate(-.35deg) scale(1.01)}to{transform:rotate(.35deg) scale(1.01)}}
.d-forest .fo-mist{position:absolute;left:0;right:0;bottom:0;height:60%;background:linear-gradient(180deg,transparent,rgba(30,74,55,.28) 70%,transparent)}
.d-forest .fo-bk{position:absolute;width:var(--s);height:var(--s);margin:calc(var(--s)/-2);border-radius:50%;background:radial-gradient(circle,rgba(255,207,122,.26),rgba(255,184,77,.08) 45%,transparent 70%);animation:fobk 7s ease-in-out infinite}@keyframes fobk{0%,100%{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.08)}}
.d-forest .fo-ff{position:absolute;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:#fff6cc;box-shadow:0 0 6px 2px rgba(255,226,140,.95),0 0 16px 6px rgba(255,190,70,.45);animation:fodr 12s ease-in-out infinite,fopu 3s ease-in-out infinite;transition:box-shadow .6s}
@keyframes fodr{0%,100%{transform:translate(0,0)}33%{transform:translate(var(--dx),var(--dy))}66%{transform:translate(calc(var(--dx)*-.6),calc(var(--dy)*.45))}}@keyframes fopu{0%,100%{opacity:.08}45%,60%{opacity:1}}
.d-forest.fo-pop .fx .fo-ff{box-shadow:0 0 10px 4px rgba(255,236,160,1),0 0 30px 14px rgba(255,190,70,.6)}
.d-forest .fo-sl{display:block;max-width:none}.d-forest .fo-sl .lb{animation:folb 4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 50%}@keyframes folb{0%,100%{opacity:.75}50%{opacity:1}}
.d-forest .hero .orn-frame{inset:0 0 auto 0;height:96px;overflow:hidden;z-index:1}.d-forest .hero .orn-frame svg.fo-sl{width:100%;height:96px;margin:0}
.d-forest .hero{padding-top:30px}.d-forest .hero-txt{padding:96px 24px 120px}
.d-forest .hero.has-img .hero-sh{background:linear-gradient(180deg,rgba(5,14,9,.55),rgba(5,14,9,.8))}
.d-forest .hero-txt>*{text-shadow:0 2px 18px rgba(4,12,8,.8)}
.d-forest .hero .orn-crest{margin:0 auto 10px}.d-forest .orn-crest svg,.d-forest .orn-closing svg{margin:0 auto}.d-forest .fo-pu{animation:fopp 3.4s ease-in-out infinite}@keyframes fopp{0%,100%{opacity:.6}50%{opacity:1}}
.d-forest .kick{font-family:'Cinzel',serif;color:var(--gold);letter-spacing:.42em;font-size:10.5px;opacity:.95}.d-forest .bless{color:var(--gold);font-style:italic}.d-forest .greet{color:var(--cream)}
.d-forest .names{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:clamp(54px,16vw,108px);line-height:1;margin:8px 0 16px}
.d-forest .names .n1,.d-forest .names .n2{background:linear-gradient(180deg,#fff6dc 10%,#e6c27a 60%,#b98f3d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#f4ead0;padding:0 .1em .08em;filter:drop-shadow(0 0 14px rgba(255,200,110,.28))}
.d-forest .names .amp{font-family:'Pinyon Script',cursive;font-style:normal;color:var(--gold);font-size:.62em;opacity:1;margin:-2px 0}
.d-forest .when{font-family:'Cormorant Garamond',serif;font-size:clamp(17px,4.6vw,23px);letter-spacing:.1em;color:var(--cream)}.d-forest .when b{color:var(--glow)}.d-forest .time{color:var(--gold);letter-spacing:.34em;font-size:11px}
.d-forest .scrollcue{bottom:-20px;color:var(--gold)}
.d-forest.is-open .hero-txt>*{animation-delay:.9s}.d-forest.is-open .hero-txt>*:nth-child(2){animation-delay:1s}.d-forest.is-open .hero-txt>*:nth-child(3){animation-delay:1.1s}.d-forest.is-open .hero-txt>*:nth-child(4){animation-delay:1.2s}.d-forest.is-open .hero-txt>*:nth-child(5){animation-delay:1.35s}.d-forest.is-open .hero-txt>*:nth-child(6){animation-delay:1.5s}.d-forest.is-open .hero-txt>*:nth-child(7){animation-delay:1.65s}.d-forest.is-open .hero-txt>*:nth-child(8){animation-delay:1.8s}
.d-forest .sh h2{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:clamp(30px,8vw,44px);color:var(--gold);letter-spacing:.02em;text-shadow:0 0 22px rgba(255,200,110,.25)}
.d-forest .intro{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--cream);font-size:clamp(21px,5.2vw,27px)}.d-forest .fam b{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:24px;color:#fff6dc}.d-forest .fam small{color:var(--gold);letter-spacing:.3em}.d-forest .fam-h{color:var(--mut)}
.d-forest .evs{gap:30px}.d-forest .ev{background:linear-gradient(165deg,rgba(24,58,42,.82),rgba(8,22,15,.9));border:1px solid rgba(230,194,122,.5);border-radius:16px;padding:50px 22px 28px;box-shadow:0 0 0 4px rgba(230,194,122,.06),0 24px 50px -24px rgba(0,0,0,.85),0 -14px 30px -18px rgba(255,200,110,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--cream)}
.d-forest .ev::before{content:"";position:absolute;left:18%;right:18%;top:-1px;height:2px;background:linear-gradient(90deg,transparent,#ffcf7a,transparent);box-shadow:0 0 18px 2px rgba(255,200,110,.7)}
.d-forest .ev .orn-evmark{position:absolute;left:50%;top:14px;transform:translateX(-50%)}.d-forest .ev .orn-evmark svg{margin:0}
.d-forest .ev-d b{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:60px;color:var(--gold)}.d-forest .ev-d span{color:var(--cream);letter-spacing:.3em}.d-forest .ev-d small{color:var(--mut)}
.d-forest .ev h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:32px;color:#fff6dc}.d-forest .ev-t{color:var(--glow);letter-spacing:.16em}.d-forest .ev-w span,.d-forest .ev-x,.d-forest .ev-n{color:var(--mut)}.d-forest .ev-w b{color:var(--cream)}
.d-forest .btn,.d-forest .chip,.d-forest .chipl,.d-forest .cv-btn,.d-forest .rs-f input,.d-forest .rs-f textarea{border-radius:999px}
.d-forest .btn{background:linear-gradient(180deg,#f3d890,#d1a652);border:0;color:#0c1a14;letter-spacing:.14em;font-weight:600;font-size:12px;box-shadow:0 0 22px rgba(255,200,110,.28)}.d-forest .btn.ghost{background:transparent;border:1px solid rgba(230,194,122,.7);color:var(--gold);box-shadow:none}
.d-forest .cd{gap:12px}.d-forest .cd-c{width:clamp(68px,20vw,90px);height:clamp(68px,20vw,90px);min-width:0;padding:0;justify-content:center;border-radius:50%;background:radial-gradient(circle at 50% 40%,rgba(255,207,122,.18),rgba(10,28,20,.85) 70%);border:1px solid rgba(230,194,122,.65);box-shadow:0 0 26px rgba(255,200,110,.25),inset 0 0 18px rgba(255,200,110,.12)}
.d-forest .cd-c b{font-family:'Cormorant Garamond',serif;font-weight:600;color:#fff0c8;font-size:clamp(26px,7.4vw,36px)}.d-forest .cd-c span{font-size:8px;letter-spacing:.22em;color:var(--gold);margin-top:2px}.d-forest .cd-date{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--cream)}
.d-forest .st-ph img{border-radius:160px 160px 14px 14px;border:1px solid var(--gold);padding:7px;background:rgba(14,36,26,.8);box-shadow:0 0 34px rgba(255,200,110,.2)}.d-forest .st-ph .orn-frame{display:none}.d-forest .st-tx p{color:var(--cream);font-size:clamp(20px,5vw,24px)}
.d-forest .gi{padding:4px;background:rgba(14,36,26,.8);border:1px solid rgba(230,194,122,.55);border-radius:10px;box-shadow:0 0 22px rgba(255,200,110,.12)}.d-forest .gi img{border-radius:6px}
.d-forest .vid{border:1px solid rgba(230,194,122,.6);border-radius:14px}.d-forest .vid-p{background:var(--gold)}
.d-forest .rs-box{background:linear-gradient(165deg,rgba(24,58,42,.82),rgba(8,22,15,.9));border:1px solid rgba(230,194,122,.5);border-radius:18px;box-shadow:0 24px 50px -24px rgba(0,0,0,.85),0 -14px 30px -18px rgba(255,200,110,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--cream)}.d-forest .rs-box *{color:inherit}.d-forest .rs-note{color:var(--mut)}
.d-forest .rs-f input[type=text],.d-forest .rs-f input[type=tel],.d-forest .rs-f textarea{background:rgba(255,255,255,.06);border-color:rgba(230,194,122,.4);color:var(--cream)}.d-forest .rs-f textarea{border-radius:18px}.d-forest .rs-f input:focus,.d-forest .rs-f textarea:focus{border-color:var(--glow);box-shadow:0 0 14px rgba(255,200,110,.3)}
.d-forest .chip{border-color:rgba(230,194,122,.5)}.d-forest .chip.on{background:var(--gold);color:#0c1a14;border-color:var(--gold)}.d-forest .rs-tick{background:var(--gold);color:#0c1a14}.d-forest .gs button{border-color:rgba(230,194,122,.5)}
.d-forest .end-n{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:clamp(34px,9vw,52px);color:var(--gold);text-shadow:0 0 24px rgba(255,200,110,.3)}.d-forest .end-t{color:var(--cream)}.d-forest .tag{color:var(--mut)}
.d-forest .foot{background:rgba(3,10,6,.55);border-top:1px solid rgba(230,194,122,.3)}.d-forest .foot-b{color:var(--gold);font-style:italic}.d-forest .chipl{border-color:rgba(230,194,122,.4)}.d-forest .mbtn{background:rgba(10,26,18,.9);border-color:rgba(230,194,122,.55)}
/* cover: two halves of forest, string lights flare, halves part */
.d-forest .cover,.d-forest .cover.go{transition:none}.d-forest .cover.go{opacity:1;transform:none;background:transparent}.d-forest .cover>.orn{position:absolute;inset:0;overflow:hidden}
.d-forest .fo-h{position:absolute;top:0;bottom:0;width:50.3%;overflow:hidden;background:linear-gradient(180deg,#09160f,#10301f 65%,#06110b);transition:transform 1.5s cubic-bezier(.65,0,.2,1) .65s;will-change:transform}
.d-forest .fo-L{left:0}.d-forest .fo-R{right:0}.d-forest .fo-h .fo-tr{position:absolute;inset:0;width:100%;height:100%;display:block}
.d-forest .fo-lw{position:absolute;top:0;height:96px;overflow:hidden}.d-forest .fo-lw svg.fo-sl{display:block;margin:0;width:100%;height:96px;max-width:none}
.d-forest .cover.go .fo-L{transform:translateX(-102%)}.d-forest .cover.go .fo-R{transform:translateX(102%)}
.d-forest .fo-burst{position:absolute;left:50%;top:44%;width:140vmax;height:140vmax;margin:-70vmax;border-radius:50%;background:radial-gradient(circle,rgba(255,214,130,.55),rgba(255,184,77,.18) 22%,transparent 45%);opacity:0;transform:scale(.15);pointer-events:none;mix-blend-mode:screen}
.d-forest .cover.go .fo-burst{animation:fobu 1.9s ease-out forwards}@keyframes fobu{0%{opacity:0;transform:scale(.12)}30%{opacity:1}100%{opacity:0;transform:scale(1)}}
.d-forest .cover.go .fo-lw .lb{animation:foflare .65s ease-out forwards}@keyframes foflare{0%{opacity:.8;transform:scale(1)}60%{opacity:1;transform:scale(2.4)}100%{opacity:1;transform:scale(1.6)}}
.d-forest .cover .fo-ff{z-index:2}.d-forest .cover.go .fo-ff{box-shadow:0 0 12px 5px #fff1b0,0 0 34px 16px rgba(255,190,70,.7)}
.d-forest .cv-in{transition:opacity .45s,transform .6s}.d-forest .cover.go .cv-in{opacity:0;transform:translateY(-12px) scale(.97)}
.d-forest .cv-kick{font-family:'Cinzel',serif;letter-spacing:.42em;font-size:10px;color:var(--gold)}.d-forest .cv-g{color:var(--cream)}
.d-forest .cv-names{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:clamp(48px,15vw,86px);line-height:1;margin:14px 0 10px;text-shadow:0 0 30px rgba(255,200,110,.3)}
.d-forest .cv-names span{background:linear-gradient(180deg,#fff6dc 10%,#e6c27a 60%,#b98f3d);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;padding:0 .1em .08em;text-shadow:none}.d-forest .cv-names i{font-family:'Pinyon Script',cursive;color:var(--gold);opacity:1;font-size:.55em}
.d-forest .cv-date{font-family:'Cormorant Garamond',serif;letter-spacing:.12em;font-size:clamp(17px,4.4vw,21px);color:var(--cream)}
.d-forest .cv-btn{border:1px solid var(--gold);color:#fff0c8;background:rgba(230,194,122,.08);letter-spacing:.3em;font-size:11px;font-weight:500;animation:fobt 2.6s infinite}.d-forest .cv-btn:hover{background:var(--gold);color:#0c1a14}
@keyframes fobt{0%{box-shadow:0 0 14px rgba(255,200,110,.3),0 0 0 0 rgba(255,200,110,.45)}70%,100%{box-shadow:0 0 14px rgba(255,200,110,.3),0 0 0 18px rgba(255,200,110,0)}}
@media(prefers-reduced-motion:reduce){.d-forest .fo-l2,.d-forest .fo-l3,.d-forest .fo-bk,.d-forest .lb,.d-forest .fo-pu,.d-forest .cv-btn{animation:none}.d-forest .fo-h{transition-duration:.01s}}

.d-forest::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% -5%,#1e4a37 0,transparent 55%),linear-gradient(180deg,#0c1a14 0,#0e2a1e 55%,#07120d 100%)}
