:root{
  --lj-jade:#294b35;
  --lj-jade-deep:#173824;
  --lj-jade-soft:#58755e;
  --lj-gold:#b69657;
  --lj-gold-soft:#dcc893;
  --lj-ivory:#fbf6e9;
  --lj-paper:#fffaf0;
  --lj-ink:#36382f;
}
html{scroll-behavior:smooth;scroll-padding-bottom:calc(82px + env(safe-area-inset-bottom));background:#173824}
body.letters-page{margin:0;padding:0 0 calc(64px + env(safe-area-inset-bottom));min-height:100vh;overflow-x:hidden;background:#f2e8d2;color:var(--lj-ink);font-family:Georgia,"Times New Roman",serif}
.letters-page *{box-sizing:border-box}.letters-page .crest-return{position:fixed;z-index:80}.letters-page .world-nav.fixed-nav{position:fixed;z-index:90}

/* HERO */
.letters-hero{position:relative;isolation:isolate;min-height:min(900px,100dvh);display:flex;align-items:center;padding:clamp(112px,14vh,150px) clamp(28px,7vw,104px) clamp(110px,12vh,145px);overflow:hidden;background:#607c68}
.letters-hero::before{content:"";position:absolute;inset:-2px;z-index:-3;background:url('letters-river-v51.webp') center 53%/cover no-repeat;transform:scale(1.01)}
.letters-hero::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(22,54,35,.74) 0%,rgba(22,54,35,.52) 35%,rgba(22,54,35,.10) 66%,rgba(22,54,35,.20) 100%),linear-gradient(180deg,rgba(0,0,0,.05),transparent 50%,rgba(18,46,30,.28));pointer-events:none}
.letters-hero-card{position:relative;width:min(670px,52vw);padding:clamp(38px,5vw,66px);border-radius:30px;background:linear-gradient(145deg,rgba(255,251,239,.96),rgba(246,235,210,.92));border:1px solid rgba(224,195,129,.68);box-shadow:0 34px 88px rgba(16,34,23,.32),inset 0 0 0 7px rgba(255,255,255,.24);backdrop-filter:blur(8px)}
.letters-hero-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(182,150,87,.30);border-radius:22px;pointer-events:none}.letters-hero-card::after{content:"♥";position:absolute;right:24px;top:20px;color:var(--lj-jade);font-size:20px;opacity:.86}
.letters-eyebrow{display:block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.19em;font-size:11px;color:#8d7753;font-weight:700}.letters-script{margin:0 0 14px;color:#59775f;font-style:italic;font-size:clamp(22px,2.2vw,34px);line-height:1.25}.letters-hero h1{margin:0 0 16px;color:var(--lj-jade);font-size:clamp(58px,7.5vw,102px);font-weight:500;line-height:.88;letter-spacing:-.035em;text-wrap:balance}.letters-hero-card>p:not(.letters-script){margin:0;color:#44473d;font-size:clamp(17px,1.35vw,20px);line-height:1.72;text-wrap:pretty}
.letters-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:24px}.letters-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 19px;border-radius:999px;text-decoration:none;border:1px solid rgba(182,150,87,.44);background:linear-gradient(#456c4e,#294b35);color:#fff7df;font:700 15px/1.2 Georgia,"Times New Roman",serif;box-shadow:0 12px 28px rgba(34,28,17,.17);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}.letters-btn.light{background:rgba(255,250,239,.92);color:var(--lj-jade)}.letters-btn.gold{background:linear-gradient(#d1b26e,#a17a32);color:#fff9e7}.letters-btn:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(34,28,17,.22);filter:brightness(1.03)}.letters-btn:focus-visible,.mail-card input:focus-visible,.mail-card select:focus-visible,.mail-card textarea:focus-visible{outline:3px solid #e7c769;outline-offset:3px}.letters-note-line{display:flex;align-items:center;gap:9px;margin-top:18px;color:#74684e;font-size:13px}.letters-note-line::before{content:"";width:28px;height:1px;background:var(--lj-gold)}

/* LETTER + MAILBOX */
.letter-main{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7efdc,#eadbbd 70%,#dfcba6)}
.mail-section{position:relative;isolation:isolate;padding:clamp(78px,9vw,126px) clamp(20px,6vw,94px)}
.mail-section::before{content:"";position:absolute;inset:0;z-index:-2;background:url('letters-wash-v51.webp') 100% 0/48% auto no-repeat;opacity:.14;filter:saturate(.82)}
.mail-heading{width:min(850px,100%);margin:0 auto 42px;text-align:center}.mail-heading h2{margin:0;color:var(--lj-jade);font-size:clamp(44px,6vw,78px);font-weight:500;line-height:.95;letter-spacing:-.025em;text-wrap:balance}.mail-heading p{width:min(720px,100%);margin:18px auto 0;color:#595247;font-size:clamp(17px,1.35vw,20px);line-height:1.7}.letter-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:24px auto 0;color:#7d6b49}.letter-divider::before,.letter-divider::after{content:"";width:74px;height:1px;background:linear-gradient(90deg,transparent,rgba(182,150,87,.68))}.letter-divider::after{transform:scaleX(-1)}
.mail-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.92fr) minmax(390px,1.08fr);gap:clamp(30px,5vw,68px);align-items:stretch}
.jade-letter{position:relative;min-height:690px;padding:clamp(34px,4.2vw,58px);border-radius:9px;background:linear-gradient(rgba(255,253,247,.96),rgba(248,237,212,.96)),url('letters-title-v51.webp') top center/100% auto no-repeat;border:1px solid rgba(159,129,72,.48);box-shadow:0 28px 66px rgba(52,40,22,.18);transform:rotate(-.55deg)}
.jade-letter::before{content:"";position:absolute;inset:12px;border:1px solid rgba(182,150,87,.34);pointer-events:none}.jade-letter::after{content:"♥";position:absolute;left:50%;bottom:22px;transform:translateX(-50%);font-size:24px;color:var(--lj-jade)}
.letter-top-spacer{height:clamp(160px,17vw,210px)}.jade-letter h3{margin:0 0 18px;color:var(--lj-jade);font-size:clamp(30px,3.2vw,45px);font-weight:500;font-style:italic}.jade-letter p{margin:0 0 16px;color:#45463e;font-size:17px;line-height:1.72}.jade-letter .signature{margin-top:26px;color:var(--lj-jade);font-size:32px;font-style:italic;line-height:1}.jade-letter .signature-small{display:block;margin-top:8px;color:#796f5c;font-size:11px;text-transform:uppercase;letter-spacing:.16em}
.mail-card{position:relative;padding:clamp(32px,4vw,54px);border-radius:30px;background:linear-gradient(145deg,rgba(255,251,240,.97),rgba(239,225,195,.95));border:1px solid rgba(182,150,87,.52);box-shadow:0 28px 70px rgba(47,37,22,.16),inset 0 0 0 8px rgba(255,255,255,.26)}.mail-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(182,150,87,.25);border-radius:22px;pointer-events:none}.mail-card h3{margin:6px 0 12px;color:var(--lj-jade);font-size:clamp(39px,4.4vw,60px);font-weight:500;line-height:1}.mail-card>p{margin:0 0 14px;color:#504b40;font-size:17px;line-height:1.68}.mail-heart{display:block;margin:9px 0 4px;color:var(--lj-jade);font-size:42px;line-height:1;text-align:center;text-shadow:0 4px 14px rgba(41,75,53,.12)}.form-status{min-height:1.4em;margin:0 0 10px!important;color:#294b35!important;font-size:14px!important}.emailoctopus-host{width:100%;margin-top:12px}.mail-card [hidden]{display:none!important}.mail-card form{display:grid;gap:12px;margin-top:12px}.mail-card label{display:grid;gap:6px;color:var(--lj-jade);font-weight:700;font-size:13px}.mail-card input,.mail-card select,.mail-card textarea{width:100%;padding:13px 14px;border:1px solid rgba(108,91,60,.28);border-radius:12px;background:#fffaf0;font:16px Georgia,"Times New Roman",serif;color:var(--lj-ink)}.mail-card textarea{min-height:116px;resize:vertical}.consent-label{display:grid!important;grid-template-columns:auto 1fr!important;gap:9px!important;align-items:start!important;font-weight:400!important;color:#4a4a40!important}.consent-label input{width:24px!important;height:24px!important;margin:0!important;padding:0!important}.consent-label a{color:var(--lj-jade);font-weight:700}.mail-card button.letters-btn{border:1px solid rgba(182,150,87,.42);cursor:pointer}.privacy-note{font-size:12px!important;line-height:1.55!important;color:#706753!important}

/* WHAT ARRIVES */
.promise-section{position:relative;isolation:isolate;padding:clamp(78px,9vw,122px) clamp(20px,6vw,94px);background:linear-gradient(180deg,#1b432a,#163820);color:#f8ecd4;overflow:hidden}.promise-section::before{content:"";position:absolute;inset:-10% -5%;z-index:-2;background:url('letters-river-v51.webp') center/cover no-repeat;opacity:.12;filter:saturate(.75) brightness(.75)}.promise-section .mail-heading h2{color:#fff0c5;text-shadow:0 2px 16px rgba(0,0,0,.22)}.promise-section .mail-heading p{color:#f1e3c8}.promise-section .letters-eyebrow{color:#e5c98f}.promise-section .letter-divider{color:#e7cc91}
.promise-grid{width:min(1100px,100%);margin:40px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.promise-card{position:relative;min-height:250px;padding:26px 22px 24px;border-radius:23px;background:rgba(255,248,226,.10);border:1px solid rgba(239,211,149,.26);box-shadow:0 18px 45px rgba(0,0,0,.14);backdrop-filter:blur(5px)}.promise-card::before{content:"♥";display:grid;place-items:center;width:42px;height:42px;margin-bottom:20px;border:1px solid rgba(235,206,142,.34);border-radius:50%;color:#f2d899;background:rgba(255,255,255,.04)}.promise-card h3{margin:0 0 9px;color:#ffe8b4;font-size:25px;font-weight:500;line-height:1.05}.promise-card p{margin:0;color:#efe2c9;font-size:14px;line-height:1.62}.promise-foot{width:min(830px,100%);margin:34px auto 0;text-align:center;color:#dacaa9;font-size:14px;line-height:1.65}.promise-foot strong{color:#fff0c5}

/* CLOSING */
.letters-closing{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:center;justify-content:center;padding:92px 24px 130px;overflow:hidden;background:#6c806e}.letters-closing::before{content:"";position:absolute;inset:-2px;z-index:-3;background:url('letters-river-v51.webp') center 48%/cover no-repeat;transform:scale(1.01)}.letters-closing::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(23,56,36,.14),rgba(23,56,36,.40))}.closing-letter{position:relative;width:min(760px,100%);padding:clamp(34px,5vw,62px);text-align:center;border-radius:30px;background:rgba(255,250,237,.92);border:1px solid rgba(182,150,87,.58);box-shadow:0 28px 70px rgba(24,27,18,.28);backdrop-filter:blur(8px)}.closing-letter::before{content:"";position:absolute;inset:9px;border:1px solid rgba(182,150,87,.28);border-radius:22px;pointer-events:none}.closing-letter::after{content:"♥";display:block;margin-top:18px;color:var(--lj-jade);font-size:24px}.closing-letter h2{margin:6px 0 15px;color:var(--lj-jade);font-size:clamp(40px,5vw,65px);font-weight:500;line-height:.98;text-wrap:balance}.closing-letter p{margin:0 auto;color:#504b40;font-size:17px;line-height:1.7;max-width:640px}

/* THANK YOU */
body.letters-thanks{margin:0;min-height:100dvh;background:#173824;color:var(--lj-ink);font-family:Georgia,"Times New Roman",serif}.thanks-scene{position:relative;isolation:isolate;min-height:100dvh;display:grid;place-items:center;padding:90px 22px calc(96px + env(safe-area-inset-bottom));overflow:hidden}.thanks-scene::before{content:"";position:absolute;inset:-2px;z-index:-2;background:url('letters-river-v51.webp') center/cover no-repeat}.thanks-scene::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(22,56,35,.36)}.thanks-card{position:relative;width:min(690px,100%);padding:clamp(36px,6vw,66px);text-align:center;border-radius:30px;background:rgba(255,250,237,.94);border:1px solid rgba(182,150,87,.58);box-shadow:0 30px 80px rgba(18,28,20,.33)}.thanks-card::before{content:"";position:absolute;inset:9px;border:1px solid rgba(182,150,87,.28);border-radius:22px}.thanks-card .mail-heart{font-size:54px}.thanks-card h1{margin:5px 0 14px;color:var(--lj-jade);font-size:clamp(54px,8vw,88px);font-weight:500;line-height:.9}.thanks-card p{margin:0 auto 15px;max-width:570px;font-size:17px;line-height:1.68;color:#4f4a40}

@media(max-width:980px){.letters-hero-card{width:min(700px,68vw)}.mail-grid{grid-template-columns:1fr}.jade-letter,.mail-card{width:min(720px,100%);margin:auto}.promise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  body.letters-page{padding-bottom:calc(58px + env(safe-area-inset-bottom))}.letters-page .crest-return{width:58px;height:58px;padding:4px;border-radius:50%;overflow:hidden;gap:0}.letters-page .crest-return img{width:50px;height:50px}.letters-page .crest-return span{display:none}
  .letters-hero{display:block;min-height:0;padding:0 0 58px;background:#ecdfc4}.letters-hero::before{position:relative;display:block;inset:auto;width:100%;height:38dvh;min-height:300px;background-position:58% 52%;transform:none;z-index:-1}.letters-hero::after{background:linear-gradient(180deg,transparent 0%,transparent 22dvh,#ecdfc4 38dvh,#ecdfc4 100%)}.letters-hero-card{width:calc(100% - 28px);margin:-34px auto 0;padding:32px 22px 30px;border-radius:24px;box-shadow:0 22px 55px rgba(42,35,20,.19)}.letters-hero h1{font-size:clamp(52px,16vw,76px)}.letters-hero-card>p:not(.letters-script){font-size:16px}.letters-actions{display:grid;grid-template-columns:1fr}.letters-btn{width:100%}
  .mail-section,.promise-section{padding:70px 18px}.mail-heading h2{font-size:clamp(42px,13vw,62px)}.mail-heading p{font-size:16px}.mail-grid{gap:26px}.jade-letter{min-height:0;padding:27px 20px 58px;transform:none}.letter-top-spacer{height:135px}.jade-letter p{font-size:16px}.mail-card{padding:28px 19px;border-radius:25px}.mail-card h3{font-size:clamp(38px,11vw,52px)}.mail-card>p{font-size:16px}
  .promise-grid{grid-template-columns:1fr}.promise-card{min-height:0}.letters-closing{min-height:650px;padding:80px 18px 110px}.closing-letter{padding:34px 20px;border-radius:25px}.closing-letter h2{font-size:clamp(40px,12vw,56px)}.closing-letter p{font-size:16px}.thanks-scene{padding:82px 18px calc(86px + env(safe-area-inset-bottom))}.thanks-card{padding:36px 20px}.thanks-card p{font-size:16px}
}
@media(max-width:380px){.letters-hero-card{width:calc(100% - 20px);padding-left:18px;padding-right:18px}.mail-section,.promise-section{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.letters-btn{transition:none}.letters-btn:hover{transform:none}}
