:root{--red:#d8352b;--cream:#f7ecd9;--ink:#1d130e;--gold:#ffd27a;--glass:#1d130eb3;--line:#f7ecd926}html,body{color:var(--cream);background:#1a1a1a;margin:0;font-family:DM Sans,system-ui,sans-serif}body{overflow-x:hidden}body.is-story{height:100%;overflow:hidden}canvas{z-index:0;display:block;position:fixed;inset:0}.site-header{z-index:3;box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#2b1c1c;background:#e9d3dee0;justify-content:flex-end;align-items:center;gap:clamp(16px,2.4vw,36px);height:72px;padding:0 clamp(16px,4vw,56px) 0 clamp(120px,14vw,220px);display:flex;position:fixed;top:0;left:0;right:0}.logo{width:96px;height:96px;transition:transform .25s;position:absolute;top:8px;left:clamp(16px,8vw,120px)}.logo img{filter:drop-shadow(0 6px 12px #0000004d);width:100%;height:100%;display:block}.logo:hover{transform:rotate(-6deg)scale(1.04)}.site-nav{gap:clamp(14px,2vw,30px);display:flex}.site-nav a{color:inherit;font-family:Bitter,serif;font-size:1.02rem;text-decoration:none}.site-nav a:hover{color:var(--red)}.buy-now{background:var(--red);color:#fff3df;padding:8px 14px;font-family:Bitter,serif;font-size:1.02rem;text-decoration:none}.buy-now:hover{background:#e8473c}.mode-toggle{cursor:pointer;background:linear-gradient(#c9b6e4,#f4b6c2 60%,#ffd3a5);border:1px solid #2b1c1c33;border-radius:999px;flex:none;width:60px;height:32px;padding:0;transition:background .6s,border-color .6s;position:relative;overflow:hidden}.mode-toggle:before{content:"";opacity:0;background:radial-gradient(1.5px 1.5px at 14px 9px,#fff 99%,#0000),radial-gradient(1px 1px at 22px 20px,#fff 99%,#0000),radial-gradient(1px 1px at 9px 22px,#fff 99%,#0000);transition:opacity .6s;position:absolute;inset:0}.mode-knob{background:#fff8ec;border-radius:50%;width:24px;height:24px;transition:transform .6s cubic-bezier(.65,0,.35,1),background .6s;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000040}.mode-knob svg{width:16px;height:16px;transition:opacity .4s,transform .6s;position:absolute;inset:4px}.icon-sun{fill:#f2a24a;stroke:#f2a24a;stroke-width:2px;stroke-linecap:round}.icon-moon{fill:#c9b6e4;opacity:0;transform:rotate(-60deg)}body.is-night .mode-toggle{background:linear-gradient(#140f3d,#4b1f63 65%,#c4552d);border-color:#f6e9dc40}body.is-night .mode-toggle:before{opacity:1}body.is-night .mode-knob{background:#f6e9dc;transform:translate(28px)}body.is-night .icon-sun{opacity:0;transform:rotate(90deg)}body.is-night .icon-moon{opacity:1;transform:rotate(0)}.site-header{transition:background .8s,color .8s}body.is-night .site-header{color:#f6e9dc;background:#1e1234d9}body.is-night .site-nav a:hover{color:#ff8a6a}#intro{z-index:1;pointer-events:none;height:400vh;position:relative}.intro-stage{background:linear-gradient(90deg,#3c19234d,#3c192300 55%);place-items:center;height:100vh;transition:background .8s;display:grid;position:sticky;top:0;overflow:hidden}.intro-stage>*{text-align:center;grid-area:1/1;padding:0 16px}.eyebrow{letter-spacing:.25em;text-transform:uppercase;opacity:.85;margin:0 0 1rem;font-size:.8rem}.hero{text-align:left;justify-self:start;max-width:620px;padding:72px 0 0 clamp(16px,6vw,110px)}.hero-title{color:#fff8f2;text-shadow:0 4px 24px #3c141e40;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(3.2rem,7.5vw,6.6rem);font-weight:500;line-height:.95}.cactus{fill:#5d7a4a;vertical-align:baseline;width:.32em;height:.55em;margin-left:.08em;display:inline-block}.hero-text{letter-spacing:.06em;color:#fff8f2;max-width:34ch;margin:2.2rem 0 2.4rem;font-family:Josefin Sans,sans-serif;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:300;line-height:1.45}.read-more{pointer-events:auto;background:var(--red);color:#fff3df;padding:8px 14px;font-family:Bitter,serif;font-size:1.02rem;text-decoration:none;display:inline-block}.read-more:hover{background:#e8473c}.scroll-hint{letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-top:3rem;font-size:.85rem;animation:1.6s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(6px)}}.origin{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:18px;max-width:34rem;margin:0 16px;padding:2rem;line-height:1.6}.origin h2,.start-panel h2{margin:0 0 1rem;font-family:Rye,serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:400}.story{--paper:#f4ead8;--ink:#3b2a20;--ink-soft:#3b2a208c;--stamp-red:#c9302c;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.3 0 0 0 0 0.22 0 0 0 0 0.15 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");z-index:2;opacity:0;visibility:hidden;transform-origin:0 100%;width:min(470px,100vw - 32px);position:fixed;bottom:24px;left:24px}.card-stack{position:relative}.card-stack-leaving{pointer-events:none;width:100%;position:absolute;top:0;left:0}.card{box-sizing:border-box;background:var(--grain), var(--paper);color:var(--ink);border-radius:4px;margin:0;box-shadow:0 18px 40px #00000059,0 2px 6px #00000040}.card-front{aspect-ratio:2/2.6;width:34%;padding:8px;position:absolute;top:0;right:2%;transform:rotate(6deg)}.card-greeting{box-sizing:border-box;color:#fff3df;text-align:center;background:repeating-linear-gradient(135deg,#ffffff0f 0 6px,#0000 6px 12px),linear-gradient(160deg,#d8352b,#a8261f);border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;padding:14px 10px;display:flex}.greeting-small,.greeting-place{font-family:Caveat,cursive;font-size:1.15rem;line-height:1}.greeting-big{text-shadow:2px 2px #00000040;font-family:Rye,serif;font-size:clamp(1.1rem,4.4vw,1.6rem);line-height:1.05}.card-back{margin-top:34%;padding:18px 20px 14px;position:relative;transform:rotate(-1.5deg)}.postcard-head{min-height:62px;position:relative}.postcard-title{letter-spacing:.28em;text-transform:uppercase;margin:4px 0 0;padding-right:110px;font-family:Josefin Sans,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.3}.stamp{box-sizing:border-box;outline:4px dotted var(--paper);outline-offset:-2px;background:repeating-linear-gradient(0deg,#ffffff59 0 3px,#0000 3px 6px),repeating-linear-gradient(90deg,#ffffff59 0 3px,#0000 3px 6px),#f2c94c;width:54px;height:64px;padding:6px;position:absolute;top:-4px;right:0;transform:rotate(4deg)}.stamp svg{width:100%;height:34px;fill:var(--stamp-red);display:block}.stamp-country{letter-spacing:.15em;text-transform:uppercase;color:var(--stamp-red);margin-top:2px;font-family:Josefin Sans,sans-serif;font-size:.5rem;display:block}.stamp-value{color:var(--stamp-red);font-family:Josefin Sans,sans-serif;font-size:.55rem;position:absolute;top:4px;right:6px}.postmark{box-sizing:border-box;border:2px solid var(--ink-soft);width:58px;height:58px;color:var(--ink-soft);pointer-events:none;z-index:1;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;font-family:Special Elite,monospace;display:flex;position:absolute;top:6px;right:40px;transform:rotate(-14deg)}.postmark span{letter-spacing:.06em;text-transform:uppercase;font-size:.48rem}.postmark b{font-size:1rem;font-weight:400}.postcard-body{grid-template-columns:1fr 36%;gap:16px;display:grid}.postcard-message{min-width:0}.story-kicker{color:var(--stamp-red);margin:0;font-family:Caveat,cursive;font-size:1.05rem}.story-text{margin:0 0 10px;font-family:Caveat,cursive;font-size:1.12rem;line-height:1.22}.postcard-photo{border-left:1px solid var(--ink-soft);flex-direction:column;justify-content:center;gap:4px;margin:0;padding-left:14px;display:flex}.postcard-photo img{aspect-ratio:3/4;object-fit:cover;border:4px solid #fffaf0;width:100%;display:block;transform:rotate(1.5deg);box-shadow:0 2px 6px #00000040}.postcard-photo figcaption{text-align:center;color:var(--ink-soft);font-family:Caveat,cursive;font-size:.95rem;line-height:1}.postcard-body.no-photo{grid-template-columns:1fr}.postcard-body.no-photo .postcard-photo{display:none}.story-nav{border-top:1px dashed #3b2a2040;align-items:center;gap:10px;margin-top:14px;padding-top:10px;display:flex}.dots{flex:1;justify-content:center;gap:6px;display:flex}.dot{background:#3b2a2038;border-radius:50%;width:7px;height:7px;transition:background .3s,transform .3s}.dot.active{background:var(--stamp-red);transform:scale(1.3)}.nav-btn{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:4px 2px;font-family:Special Elite,monospace;font-size:.85rem}.nav-btn:hover{color:var(--stamp-red)}.nav-btn:disabled{opacity:.3;cursor:default}.nav-next{color:var(--stamp-red)}.credit{z-index:2;opacity:.6;pointer-events:none;font-size:.7rem;position:fixed;bottom:12px;right:16px}@media (width<=960px){.site-nav{display:none}}@media (width<=600px){.site-header{padding-left:16px}.logo{width:68px;height:68px;left:16px}.story{bottom:28px;left:16px}.postcard-body{grid-template-columns:1fr 32%;gap:10px}}@media (height<=780px){.story{transform:scale(.82)}}body.is-night .intro-stage{background:linear-gradient(90deg,#0a061e73,#0a061e00 55%)}.scene-hint{z-index:2;pointer-events:none;opacity:0;visibility:hidden;will-change:transform;align-items:center;gap:10px;display:flex;position:fixed;top:0;left:0}.hint-dot{background:#fff8ec;border-radius:50%;flex:none;width:14px;height:14px;animation:1.8s ease-out infinite hint-pulse}@keyframes hint-pulse{0%{box-shadow:0 0 #fff8ecb3}70%{box-shadow:0 0 0 16px #fff8ec00}to{box-shadow:0 0 #fff8ec00}}.scene-hint-text{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff8ec;background:#28141cb8;border-radius:14px;max-width:250px;margin:0;padding:9px 14px;font-family:DM Sans,sans-serif;font-size:.88rem;line-height:1.35;box-shadow:0 8px 22px #00000040}body.is-night .scene-hint-text{background:#120c2cc7}
