:root{--jade:#294b35;--deep:#173824;--gold:#b69657;--paper:#f5d9a8;--ink:#3d3427}*{box-sizing:border-box}html{background:#132a1c}body.letters-v67{margin:0;min-height:100dvh;overflow:hidden;background:#132a1c;font-family:Georgia,"Times New Roman",serif;color:var(--ink);padding-bottom:64px}.letters-v67 .visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.letters-map-return{position:fixed;z-index:90;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border-radius:999px;background:rgba(255,249,234,.92);border:1px solid rgba(182,150,87,.45);box-shadow:0 12px 30px rgba(0,0,0,.22);text-decoration:none;color:var(--jade)}.letters-map-return img{width:46px;height:46px}.letters-map-return small{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#8a7047}.letters-map-return b{display:block;font-size:13px}.letters-room{height:calc(100dvh - 64px);min-height:540px;display:grid;place-items:center;background:radial-gradient(circle at 50% 32%,#39553c 0%,#173824 55%,#102417 100%);overflow:hidden}.letters-stage{position:relative;width:min(100vw,calc((100dvh - 64px)*1.5));aspect-ratio:3/2;max-height:calc(100dvh - 64px);box-shadow:0 0 80px rgba(0,0,0,.36)}.letters-room-art{display:block;width:100%;height:100%;object-fit:contain}.letters-art-form{position:absolute;inset:0;z-index:12}.art-field{position:absolute;display:block}.art-field>span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.art-field input{width:100%;height:100%;border:1px solid rgba(112,82,43,.12);border-radius:6px;background:rgba(246,221,177,.45);font:clamp(11px,1vw,15px) Georgia,serif;color:#3f3324;padding:0 10px;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.art-field input:focus{background:rgba(250,229,191,.86);border-color:#55755b;box-shadow:0 0 0 3px rgba(76,116,82,.18)}.first-name{left:56.65%;top:25.05%;width:13.4%;height:4.25%}.last-name{left:70.65%;top:25.05%;width:13.35%;height:4.25%}.email-field{left:56.65%;top:29.75%;width:27.35%;height:4.15%}.interest-set{position:absolute;inset:0;border:0;margin:0;padding:0}.interest-set legend{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.interest-tile{position:absolute;display:block;cursor:pointer;border-radius:9px}.interest-tile input{position:absolute;opacity:0;pointer-events:none}.interest-tile span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.interest-tile:has(input:checked){background:rgba(56,102,64,.15);box-shadow:inset 0 0 0 3px rgba(44,85,51,.8),0 0 15px rgba(64,103,69,.18)}.interest-tile:hover{background:rgba(255,244,213,.13);box-shadow:inset 0 0 0 2px rgba(182,150,87,.38)}.interest-book{left:56.45%;top:40.25%;width:8.15%;height:8.95%}.interest-life{left:65.25%;top:40.25%;width:8.15%;height:8.95%}.interest-encouragement{left:74.05%;top:40.25%;width:8.15%;height:8.95%}.interest-garden{left:56.45%;top:49.45%;width:8.15%;height:9.1%}.interest-animals{left:65.25%;top:49.45%;width:8.15%;height:9.1%}.interest-all{left:74.05%;top:49.45%;width:8.15%;height:9.1%}.art-consent{position:absolute;left:57.05%;top:66.05%;width:25.55%;min-height:3.7%;display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center;padding:4px 8px;border-radius:7px;background:rgba(246,221,177,.72);color:#493b29;font-size:clamp(7px,.72vw,11px);line-height:1.25}.art-consent input{width:16px;height:16px;margin:0}.art-consent a{color:#274c32;font-weight:700}.art-submit{position:absolute;left:58.55%;top:59.65%;width:23.75%;height:5.1%;border:0;border-radius:8px;background:transparent;cursor:pointer;color:transparent}.art-submit span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.art-submit:hover,.art-submit:focus-visible{outline:3px solid rgba(231,202,129,.85);outline-offset:2px;box-shadow:0 0 20px rgba(228,199,126,.42)}.art-submit:disabled{cursor:wait;filter:grayscale(.2)}.art-status{position:absolute;left:57.1%;top:70.2%;width:25.5%;margin:0;padding:5px 8px;border-radius:7px;background:rgba(245,218,170,.76);font-size:clamp(7px,.72vw,11px);line-height:1.25;text-align:center;color:#294b35;opacity:0;transition:opacity .2s}.art-status:not(:empty){opacity:1}.art-status[data-error="true"]{color:#7e2d22;background:rgba(255,221,203,.9)}.note-hotspot{position:absolute;left:41.3%;top:42.5%;width:10.4%;height:25%;border:0;border-radius:30% 30% 18% 18%;background:transparent;cursor:pointer;color:transparent}.note-hotspot span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.note-hotspot:hover,.note-hotspot:focus-visible{outline:3px solid rgba(228,198,120,.62);outline-offset:2px;box-shadow:0 0 26px rgba(235,204,124,.34)}.note-letter{position:fixed;inset:0;z-index:130;display:none;place-items:center;padding:20px;background:rgba(18,31,21,.56);backdrop-filter:blur(4px)}.note-letter.active{display:grid}.note-paper{position:relative;width:min(560px,94vw);padding:36px 30px 30px;border-radius:8px;background:linear-gradient(145deg,#fff7e5,#ead3a7);border:1px solid rgba(145,110,59,.6);box-shadow:0 30px 80px rgba(0,0,0,.36)}.note-paper::before{content:"";position:absolute;inset:9px;border:1px solid rgba(161,127,69,.36);pointer-events:none}.note-paper h2{margin:4px 0 10px;color:var(--jade);font-size:38px;font-weight:500}.note-paper p{margin:0 0 15px;line-height:1.6}.note-paper textarea{width:100%;min-height:150px;padding:13px;border:1px solid rgba(112,82,43,.28);border-radius:9px;background:rgba(255,250,238,.85);font:16px Georgia,serif;color:#41372b;resize:vertical}.note-kicker{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#90754b;font-weight:700}.note-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#294b35;font:32px/1 Georgia,serif;cursor:pointer}.note-done{margin-top:13px;border:1px solid rgba(182,150,87,.45);border-radius:999px;background:#294b35;color:#fff5d8;padding:11px 16px;font:700 14px Georgia,serif;cursor:pointer}.mobile-form-title,.mobile-form-close,.mobile-mailbox-button{display:none}.letters-bottom-nav{position:fixed!important;z-index:100!important}
@media(max-width:860px){body.letters-v67{padding-bottom:58px}.letters-room{height:calc(100dvh - 58px);min-height:0;display:block;position:relative}.letters-stage{width:100%;height:100%;max-height:none;aspect-ratio:auto;background-image:url('../assets/web/letters-mobile-v627.webp');background-size:cover;background-position:42% center}.letters-room-art{display:none}.letters-art-form{display:none}.letters-art-form.mobile-open{display:block;position:fixed;inset:70px 14px calc(72px + env(safe-area-inset-bottom));z-index:120;overflow:auto;padding:28px 20px 26px;border-radius:24px;background:linear-gradient(145deg,rgba(255,247,229,.98),rgba(235,212,168,.98));border:1px solid rgba(182,150,87,.58);box-shadow:0 30px 80px rgba(0,0,0,.38)}.letters-art-form.mobile-open::before{content:"";position:absolute;inset:8px;border:1px solid rgba(159,126,69,.3);border-radius:17px;pointer-events:none}.mobile-form-close{display:block;position:absolute;right:14px;top:10px;z-index:3;border:0;background:transparent;color:#294b35;font:34px/1 Georgia,serif}.mobile-form-title{display:block;position:relative;z-index:2;margin-bottom:18px;text-align:center}.mobile-form-title span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:#8a744d;font-weight:700}.mobile-form-title strong{display:block;margin-top:4px;color:#294b35;font-size:38px;font-weight:500}.mobile-form-title p{margin:6px 0 0;color:#5a5142;font-size:14px}.art-field,.first-name,.last-name,.email-field{position:relative;left:auto;top:auto;width:auto;height:auto;display:grid;gap:6px;margin-bottom:12px}.art-field>span{position:static!important;width:auto;height:auto;clip:auto;white-space:normal;overflow:visible;color:#294b35;font-size:13px;font-weight:700}.art-field>span em{font-size:11px;color:#8b7752;font-weight:400}.art-field input{height:46px;background:#fffaf0;border:1px solid rgba(112,82,43,.26);font-size:16px}.interest-set{position:relative;inset:auto;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:4px 0 15px;padding:0;border:0}.interest-set legend{position:static!important;width:auto;height:auto;clip:auto;white-space:normal;overflow:visible;grid-column:1/-1;margin-bottom:2px;color:#294b35;font-size:13px;font-weight:700}.interest-tile,.interest-book,.interest-life,.interest-encouragement,.interest-garden,.interest-animals,.interest-all{position:relative;left:auto;top:auto;width:auto;height:auto;min-height:48px;display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid rgba(140,104,54,.25);border-radius:10px;background:rgba(255,250,238,.58);text-align:center}.interest-tile span{position:static!important;width:auto;height:auto;clip:auto;white-space:normal;overflow:visible;color:#4c402e;font-size:12px}.interest-tile:has(input:checked){background:rgba(74,112,78,.13);box-shadow:inset 0 0 0 2px #456e4c}.art-consent{position:relative;left:auto;top:auto;width:auto;min-height:0;margin:0 0 14px;padding:0;background:none;font-size:12px;line-height:1.45}.art-submit{position:relative;left:auto;top:auto;width:100%;height:48px;border:1px solid rgba(182,150,87,.44);border-radius:999px;background:linear-gradient(#456d4d,#294b35);color:#fff7df}.art-submit span{position:static!important;width:auto;height:auto;clip:auto;white-space:normal;overflow:visible;font:700 15px Georgia,serif}.art-status{position:relative;left:auto;top:auto;width:auto;margin:8px 0 0;padding:7px 8px;background:rgba(255,250,238,.72);font-size:12px;opacity:1}.note-hotspot{position:relative;left:auto;top:auto;width:100%;height:44px;margin-top:9px;border:1px solid rgba(182,150,87,.36);border-radius:999px;background:rgba(255,250,238,.75);color:#294b35}.note-hotspot span{position:static!important;width:auto;height:auto;clip:auto;white-space:normal;overflow:visible;font:700 13px Georgia,serif}.mobile-mailbox-button{display:flex;position:absolute;z-index:20;left:50%;bottom:22px;transform:translateX(-50%);width:min(320px,86vw);flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;border:1px solid rgba(220,194,132,.6);border-radius:999px;background:rgba(29,63,40,.92);color:#fff1cf;box-shadow:0 16px 38px rgba(0,0,0,.3);font:700 15px Georgia,serif}.mobile-mailbox-button small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#d9c18a}.letters-map-return{width:56px;height:56px;padding:5px;border-radius:50%;overflow:hidden}.letters-map-return span{display:none}.letters-map-return img{width:46px;height:46px}.letters-bottom-nav{min-height:58px!important}}
@media(max-width:420px){.interest-set{grid-template-columns:1fr}.letters-art-form.mobile-open{left:9px;right:9px;padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

body.letters-thanks-v67{padding:0;overflow:hidden}.thanks-room-v67{position:relative;min-height:100dvh;display:grid;place-items:center;padding:90px 20px 30px;background:#173824;overflow:hidden}.thanks-room-v67::before{content:"";position:absolute;inset:0;background:url('../assets/letters-from-jade-room-v67.webp') 46% center/cover no-repeat;filter:saturate(.92) brightness(.72)}.thanks-room-v67::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(20,40,27,.08),rgba(16,38,24,.54) 72%)}.thanks-art-card{position:relative;z-index:2;width:min(660px,94vw);padding:46px 40px 38px;text-align:center;border-radius:10px;background:linear-gradient(145deg,rgba(255,247,228,.97),rgba(235,211,167,.96));border:1px solid rgba(182,150,87,.6);box-shadow:0 34px 90px rgba(0,0,0,.42)}.thanks-art-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(151,117,61,.34);pointer-events:none}.thanks-kicker{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:10px;color:#8b7049;font-weight:700}.wax-heart{display:grid;place-items:center;width:52px;height:52px;margin:16px auto;border-radius:50%;background:#5d3650;color:#f4d4c9;box-shadow:inset 0 0 0 3px rgba(255,255,255,.12),0 8px 20px rgba(73,40,51,.25);font-size:21px}.thanks-art-card h1{margin:0 0 12px;color:#294b35;font-size:clamp(48px,8vw,82px);font-weight:500;line-height:.9}.thanks-art-card p{margin:0 auto 14px;max-width:560px;color:#514638;font-size:16px;line-height:1.7}.thanks-art-card .thanks-lead{font-size:20px;font-style:italic;color:#5f6f54}.thanks-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:22px}.thanks-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:999px;text-decoration:none;border:1px solid rgba(182,150,87,.42);background:#294b35;color:#fff5d9;font-size:13px;font-weight:700}.thanks-actions a+ a{background:rgba(255,250,238,.8);color:#294b35}@media(max-width:600px){.thanks-room-v67{padding:78px 12px 20px}.thanks-art-card{padding:38px 20px 30px}.thanks-art-card p{font-size:15px}.thanks-actions{display:grid}.thanks-actions a{width:100%}}

/* v6.10: true edge-to-edge correspondence room on desktop. The 3:2 canvas
   grows beyond the viewport when needed, preserving the artwork/form
   coordinate system while cropping only outside the screen. */
@media(min-width:861px){
  body.letters-v67{padding:0!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important;background:#132a1c!important}
  body.letters-v67 .letters-room{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:0!important;display:block!important;overflow:hidden!important;background:#132a1c!important}
  body.letters-v67 .letters-stage{position:absolute!important;left:50%!important;top:50%!important;width:max(100vw,150dvh)!important;height:auto!important;aspect-ratio:3/2!important;max-height:none!important;transform:translate(-50%,-50%)!important;box-shadow:none!important}
  body.letters-v67 .letters-room-art{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:fill!important}
  body.letters-v67 .letters-art-form{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
}

/* v6.11 EmailOctopus bridge: provider form stays off-canvas while Jade's
   illustrated form remains the visible experience. The provider script
   still has a real DOM form so its own validation/reCAPTCHA can run. */
.eo-bridge{position:fixed!important;left:-10000px!important;top:0!important;width:420px!important;min-height:240px!important;overflow:visible!important;opacity:.001!important;pointer-events:none!important;z-index:-1!important}
.eo-bridge [data-form],.eo-bridge .form-container{display:block!important;visibility:visible!important}
\n\n/* v6.13 — keep the full-canvas interest fieldset from blocking the name/email inputs. */
body.letters-v67 .interest-set{pointer-events:none!important;}
body.letters-v67 .interest-tile{pointer-events:auto!important;}
body.letters-v67 .art-field{z-index:4!important;pointer-events:auto!important;}
body.letters-v67 .art-field input{pointer-events:auto!important;cursor:text!important;}
body.letters-v67 .interest-set{z-index:3!important;}
body.letters-v67 .art-consent,body.letters-v67 .art-submit,body.letters-v67 .art-status,body.letters-v67 .note-hotspot{z-index:5!important;}
@media(max-width:860px){
  body.letters-v67 .interest-set{pointer-events:auto!important;}
}
