/* Forest meets sea — original paper & engraved envelope, invitation-only. */
body.forest-sea{background:#e4e6dc}
.forest-sea .paper{background-color:#f3eee2;background-image:linear-gradient(125deg,#fffdf238,#d2c5a21a),url('/invite-assets/forest-sea/paper-grain.webp');background-blend-mode:normal,soft-light;background-size:auto,192px 192px}
.forest-sea #opening{min-height:0;background:#e4e6dc;transition:opacity .5s ease,visibility .5s;overflow:hidden}
.forest-sea .opening-atmosphere{background:radial-gradient(ellipse at 30% 20%,#fffdf2,transparent 70%)}
.forest-sea .opening-copy,.forest-sea .open-hint,.forest-sea .loose-sprig,.forest-sea .opening-bottom{display:none}
.forest-sea .envelope-stage{position:relative;width:100%;height:100%;margin:0;perspective:1800px;flex-shrink:0}
.forest-sea .envelope{width:100%;height:100%;aspect-ratio:auto;transform:none;filter:none;transition:transform .85s var(--ease),opacity .6s;isolation:isolate}
.forest-sea .envelope-back{border-radius:0;background-color:#dedcca;box-shadow:inset 0 0 100px #9c977133}
.forest-sea .envelope-front{clip-path:polygon(0 100%,0 39%,50% 57%,100% 39%,100% 100%);background-color:#f3eddf;background-image:linear-gradient(0deg,#c9bd9b18,transparent 60%),url('/invite-assets/forest-sea/paper-grain.webp');box-shadow:inset 0 -1px #cec5af}
.forest-sea .envelope-left{background:linear-gradient(120deg,#e8e1d0,#f3eedf 85%);clip-path:polygon(0 0,51% 53%,0 100%)}
.forest-sea .envelope-right{background:linear-gradient(250deg,#e6decd,#f0ebdc 85%);clip-path:polygon(100% 0,49% 53%,100% 100%)}
.forest-sea .flap{inset:0 0 46%;transition:transform 1.1s cubic-bezier(.36,.05,.22,1);will-change:auto}
.forest-sea .flap-outside{background-color:#f6f0e2;background-image:linear-gradient(165deg,#fffaf066,#cbbb981c),url('/invite-assets/forest-sea/paper-grain.webp');filter:none}
.forest-sea .flap-inside{background-color:#e5dfc9}
.forest-sea .flap-outside:after{content:'';position:absolute;inset:0;clip-path:polygon(0 0,50% 99.3%,100% 0,100% 1%,50% 100%,0 1%);background:#b9aa874d;pointer-events:none}
.forest-sea .letter-pocket{inset:6% 4% 4%;border-radius:0}
.forest-sea .little-letter{left:2%;top:2%;width:96%;height:96%;padding:20% 8% 8%;background-color:#faf7ee;justify-content:center;border:1px solid #c8c5ae66;outline:1px solid #c8c5ae44;outline-offset:-12px;gap:12px;transition:transform 1s var(--ease)}
.forest-sea .little-letter>svg{width:45px;height:70px;margin-bottom:12px}
.forest-sea .little-letter .script{font-size:clamp(38px,8vw,58px)}
.forest-sea .little-letter p{font-size:8px;text-align:center;line-height:1.8}
.forest-sea .little-date{font-size:25px}
.forest-sea .seal{top:53%;width:90px;height:90px;filter:drop-shadow(0 5px 5px #4e513c40);opacity:1;transition:opacity .35s .15s;outline-offset:9px}
.forest-sea .seal:before{content:'';position:absolute;inset:-17px;border-radius:50%;background:radial-gradient(circle,#fff2c99c 0,#e4d5a952 45%,transparent 70%);opacity:0;pointer-events:none}
.forest-sea .seal-cue .seal:before{animation:seal-breathe 3.2s ease-in-out infinite}
@keyframes seal-breathe{0%,100%{opacity:.06;transform:scale(.93)}50%{opacity:.48;transform:scale(1.05)}}
.forest-sea .wax{background:radial-gradient(ellipse at 25% 15%,#a4ad90,#849172 45%,#667353 85%);box-shadow:inset 2px 3px 3px #e2e6c18c,inset -2px -3px 4px #3f4d316e;border:1px solid #77815f}
.forest-sea .monogram{font-size:36px;color:#e0e3c7;text-shadow:0 1px 1px #39482e}
.forest-sea .monogram span{font-size:23px}
.forest-sea .wax-ring{inset:9px}
.forest-sea .seal:hover .wax{filter:brightness(1.03)}
.forest-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke-linecap:round;stroke-linejoin:round}
.engraving-light{stroke:#fffdf4;stroke-width:1.7;opacity:.85}
.engraving-shadow{stroke:#a2a187;stroke-width:.85;opacity:.56}
.engraving-glow{stroke:#f8dfaa;stroke-width:1.55;opacity:0}
.engraving-glow path{stroke-dasharray:1;stroke-dashoffset:1}
.forest-sea.breaking .engraving-glow{opacity:.95;transition:opacity .2s}
.forest-sea.breaking .engraving-glow path{animation:trace-engraving 1.25s var(--trace-delay,0ms) ease-out both}
@keyframes trace-engraving{0%{stroke-dashoffset:1;opacity:.2}70%{opacity:1}100%{stroke-dashoffset:0;opacity:.55}}
.forest-sea.breaking .flap{will-change:transform}
.forest-sea.breaking .seal{opacity:0;pointer-events:none}
.forest-sea.breaking .seal-left{transform:translate(-15px,9px) rotate(-18deg)}
.forest-sea.breaking .seal-right{transform:translate(17px,12px) rotate(19deg)}
.forest-sea.flap-open .flap{transform:rotateX(-172deg)}
.forest-sea.letter-out .little-letter{transform:translateY(-16%)}
.forest-sea.letter-out .envelope{transform:translateY(12%)}
.forest-sea.revealing .envelope{transform:translateY(20%);opacity:0}
.forest-sea #invitation{max-width:1320px;margin:auto;background-color:#f5f1e8;background-image:url('/invite-assets/forest-sea/paper-grain.webp');background-blend-mode:soft-light;background-size:192px 192px;box-shadow:0 0 70px #626c4920;visibility:visible;opacity:1;transform:none;transition:opacity .5s ease,transform .7s var(--ease)}
.forest-sea.sealed #invitation{visibility:hidden;opacity:0;transform:translateY(15px)}
.forest-sea:not(.sealed) #opening{opacity:0;visibility:hidden;pointer-events:none}
.forest-sea .love-note,.forest-sea .destination,.forest-sea .invite-footer{background-image:url('/invite-assets/forest-sea/paper-grain.webp');background-blend-mode:soft-light;background-size:192px 192px}
/* Ornament lives in reserved, empty borders — never behind copy or photography. */
.forest-sea .love-note:before,.forest-sea .details:after{content:'';display:block;position:relative;width:min(300px,85%);height:100px;margin:0 auto 28px;background:url('/invite-assets/forest-sea/margin-emboss.svg') center bottom/100% auto no-repeat;pointer-events:none}
.forest-sea .details:after{margin:40px auto -45px;height:90px;width:min(320px,85%)}
.forest-sea .language-switch{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));background:#f5f1e8b8;box-shadow:none;border-color:#7e896e24}
.forest-sea .language-switch button{min-height:28px;min-width:48px}
.forest-sea .skip-reveal{position:absolute;inset:0;z-index:30;border:0;background:none;cursor:pointer;padding:0;display:none}
.forest-sea.breaking .skip-reveal{display:block}
.forest-sea.breaking .language-switch{pointer-events:none}
.forest-sea .skip-reveal:focus-visible{outline:2px solid #7e896e;outline-offset:-10px}
/* Finishing/skip snaps immediately, without a latent transition or click-through. */
.forest-sea.instant-reveal #opening,.forest-sea.instant-reveal #invitation{transition:none!important}
@media(min-width:701px){
 .forest-sea .envelope-stage{width:min(570px,78vw);height:min(790px,calc(100dvh - 70px));height:min(790px,calc(100svh - 70px));min-height:340px;box-shadow:0 24px 65px #5860432a,0 0 0 1px #c2c0a54d}
 .forest-sea .seal{width:94px;height:94px}
 .forest-sea .envelope-back{border-radius:2px}
}
@media(max-height:500px) and (min-width:600px){
 .forest-sea .envelope-stage{width:min(600px,78vw);height:100%;min-height:0}
 .forest-sea .seal{width:70px;height:70px}
 .forest-sea .monogram{font-size:29px}
 .forest-sea .flap-art .engraving-shadow,.forest-sea .sea-art .engraving-shadow{stroke-width:1.2}
 .forest-sea .little-letter{padding:3%}
 .forest-sea .little-letter>svg{display:none}
 .forest-sea .little-letter .script{font-size:32px}
 .forest-sea .little-letter p{margin:0}
}
@media(prefers-reduced-motion:reduce){
 .forest-sea .seal-cue .seal:before{animation:none;opacity:.3}
 .forest-sea .engraving-glow path{animation:none!important}
 .forest-sea #opening,.forest-sea #invitation{transition:none!important}
}
/* Keep the embossed monogram comfortably inside its wax ring. */
.forest-sea .monogram{font-size:29px;padding-top:5px}
.forest-sea .monogram span{font-size:19px;margin:0 -2px}
/* Revision 2: shallow blind impressions, not colored/printed ornament. */
.forest-sea .engraving-light{stroke:#fffdf6;stroke-width:1.25;opacity:.55}
.forest-sea .engraving-shadow{stroke:#746e64;stroke-width:.85;opacity:.12}
.forest-sea .engraving-glow{stroke:#fff1ce;stroke-width:1.3}
/* Retire the old painted sprigs throughout this preview only. */
.forest-sea .hero-sprig,.forest-sea .note-sprig,.forest-sea .invite-footer>svg,.forest-sea .little-letter>svg{display:none}
.forest-sea .mountain-art{color:#746e64;opacity:.17}
.forest-sea .love-note:before,.forest-sea .details:after{background-image:url('/invite-assets/forest-sea/margin-emboss.svg?v=2')}
/* Revision 3 — real letter parchment and Flint's own copper wax impression. */
body.forest-sea{--paper:#f2e4c6;--ink:#403d31;--muted:#696252;background:#d9ceb4}
.forest-sea .paper,.forest-sea .envelope-front,.forest-sea .flap-outside,.forest-sea .flap-inside,.forest-sea .envelope-left,.forest-sea .envelope-right{background-color:#e4cd9f;background-image:url('/invite-assets/forest-sea/parchment-soft.webp?v=7');background-size:640px 400px;background-blend-mode:normal}
.forest-sea .flap-outside{background-position:0 0;clip-path:polygon(0 0,100% 0,100% 96%,0 100%)}
.forest-sea .flap-inside{clip-path:polygon(0 0,100% 0,100% 96%,0 100%);background-image:linear-gradient(#6850341c,#fff9e412),url('/invite-assets/forest-sea/parchment-soft.webp?v=7')}
.forest-sea .flap-outside:after{clip-path:polygon(0 99.5%,100% 95.5%,100% 96%,0 100%);background:#725d3540}
.forest-sea .flap{filter:drop-shadow(0 2px 2px #60492833);transition:none;z-index:5}
.forest-sea .envelope-front{clip-path:polygon(0 100%,0 45%,50% 57%,100% 45%,100% 100%);background-position:100px 170px}
.forest-sea .envelope-left{background-position:0 80px}
.forest-sea .envelope-right{background-position:250px 80px}
.forest-sea .envelope-back{background-image:linear-gradient(#4b3b211c,#4b3b211c),url('/invite-assets/forest-sea/parchment-soft.webp?v=7')}
.forest-sea .little-letter{background-image:url('/invite-assets/forest-sea/parchment-page-soft.webp?v=7');background-size:640px 400px;background-blend-mode:normal;border-color:#93816b4d}
.forest-sea #opening,.forest-sea .opening-atmosphere{background:#d9ceb4}
.forest-sea #invitation{background-color:#f2e4c6;background-image:url('/invite-assets/forest-sea/parchment-page-soft.webp?v=7');background-size:640px 400px;background-blend-mode:normal}
.forest-sea .love-note,.forest-sea .destination,.forest-sea .invite-footer{background-color:#f2e4c6;background-image:url('/invite-assets/forest-sea/parchment-page-soft.webp?v=7');background-size:640px 400px;background-blend-mode:normal}
.forest-sea .love-note,.forest-sea .invite-footer{border-top:1px solid #78664920;border-bottom:1px solid #78664920}
.forest-sea .hero-photo{background:#f9f0dc}
.forest-sea .seal{top:52.3%;width:128px;height:108px;filter:drop-shadow(0 3px 3px #51371f55);transition:none}
.forest-sea .real-wax-seal{display:block;width:100%;height:100%;object-fit:contain;position:relative;pointer-events:none}
.forest-sea .seal:before{inset:-10px;background:radial-gradient(ellipse,#ffeac27d,transparent 70%)}
.forest-sea.breaking .seal{opacity:1;pointer-events:none}
.forest-sea .engraving-light{opacity:.38;stroke:#fff7e6}
.forest-sea .engraving-shadow{opacity:.08;stroke:#675b47}
.forest-sea.sealed.opening-active #invitation{visibility:visible;opacity:1;transform:none;transition:none}
.forest-sea.opening-active #opening{will-change:opacity}
.forest-sea.opening-active .envelope,.forest-sea.opening-active .flap{will-change:transform}
.forest-sea.revealing .envelope{transform:none;opacity:1}
.forest-sea .language-switch{background:#f6ecd5e8}
@media(max-height:500px) and (min-width:600px){.forest-sea .seal{width:99px;height:84px}}
/* Blind impressions remain quiet against the photographed parchment fibers. */
.forest-sea .engraving-light{opacity:.14;stroke-width:1.05}
.forest-sea .engraving-shadow{opacity:.055;stroke-width:.85}
/* Folded correspondence, rather than triangular commercial-envelope pockets. */
.forest-sea .envelope-front{clip-path:polygon(0 100%,0 54%,100% 52%,100% 100%)}
.forest-sea .envelope-left{clip-path:polygon(0 0,5% 5%,5% 100%,0 100%)}
.forest-sea .envelope-right{clip-path:polygon(100% 0,95% 5%,95% 100%,100% 100%)}
.forest-sea .little-letter{justify-content:flex-start;padding-top:18%}
@media(max-height:500px) and (min-width:600px){.forest-sea .little-letter{padding-top:5%}}

/* Revision 4: triangular envelope restored; photos presented without a carousel. */
.forest-sea .flap-outside,.forest-sea .flap-inside{clip-path:polygon(0 0,100% 0,50% 100%)}
.forest-sea .flap-outside:after{clip-path:polygon(0 0,50% 99.3%,100% 0,100% 1%,50% 100%,0 1%)}
.forest-sea .envelope-front{clip-path:polygon(0 100%,0 39%,50% 57%,100% 39%,100% 100%)}
.forest-sea .envelope-left{clip-path:polygon(0 0,51% 53%,0 100%)}
.forest-sea .envelope-right{clip-path:polygon(100% 0,49% 53%,100% 100%)}
.forest-sea .seal{top:53%}
.forest-sea .photo-track{display:grid;grid-template-columns:1fr;gap:35px;overflow:visible;scroll-snap-type:none;margin:0;padding:4px 0 0}
.forest-sea .photo-track figure{min-width:0;width:100%;margin:0}
.forest-sea .photo-track figcaption{line-height:1.4}
.forest-sea .tentative{line-height:1.65}
.forest-sea .venue-map{font-size:10px;margin-top:10px;letter-spacing:0}
@media(min-width:701px){.forest-sea .photo-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.forest-sea .detail-grid>div{padding-left:18px;padding-right:18px}}

/* Personal invitation on the closed flap; bilingual spans follow existing toggle. */
.forest-sea .envelope-message{position:absolute;top:17%;left:7%;width:86%;text-align:center;z-index:2;pointer-events:none;color:#514936;text-shadow:0 1px 0 #fff5dc70}
.forest-sea .envelope-message>p:first-child{font:400 clamp(19px,4.9vw,26px)/1.45 'Cormorant Garamond',Georgia,serif;letter-spacing:.01em}
.forest-sea .envelope-message>.script{font-size:clamp(32px,8vw,45px);line-height:1.2;margin-top:14px;color:#5f684c}
@media(min-width:701px){.forest-sea .envelope-message{top:19%}}
@media(max-height:650px) and (max-width:700px){.forest-sea .envelope-message{top:15%}.forest-sea .envelope-message>.script{margin-top:8px;font-size:30px}.forest-sea .envelope-message>p:first-child{font-size:19px}}
@media(max-height:500px) and (min-width:600px){.forest-sea .envelope-message{top:10%}.forest-sea .envelope-message>p:first-child{font-size:17px;line-height:1.2}.forest-sea .envelope-message>.script{font-size:27px;margin-top:5px}}

/* Soften the heading into the parchment; preserve the approved script names. */
.forest-sea .envelope-message>p:first-child{color:#666349;text-shadow:none;mix-blend-mode:multiply;font-style:italic;font-weight:400;letter-spacing:0;opacity:.87}

/* Keep heading readable on the quieter parchment without altering names. */
.forest-sea .envelope-message>p:first-child{opacity:1;color:#59563e}

/* Official engagement photographs: preserve the full portrait compositions. */
.forest-sea .hero-photo img,.forest-sea .photo-track img,.forest-sea .photo-track figure:nth-child(2) img{height:auto;aspect-ratio:auto;object-fit:contain}
@media(min-width:701px){.forest-sea .photo-track{grid-template-columns:repeat(6,minmax(0,1fr))}.forest-sea .photo-track figure{grid-column:span 2}.forest-sea .photo-track figure:nth-child(4){grid-column:2 / span 2}.forest-sea .photo-track figure:nth-child(5){grid-column:4 / span 2}}
