:root{--bg:#f7efe4;--paper:#fffaf1;--paper-warm:#f7eadc;--panel:#fffaf1db;--panel-strong:#fff7ea;--panel-soft:#fff7eaad;--text:#312b26;--muted:#766d63;--line:#9c7b5538;--line-strong:#9c7b555c;--accent:#b88a52;--accent-strong:#8b6044;--accent-cool:#8c8179;--rose:#d8aaa2;--gold:#d8b978;--shadow:0 26px 80px #5f493224;--soft-shadow:0 18px 48px #5f49321a;--radius-lg:34px;--radius-md:24px;--shell:min(1120px, calc(100vw - 40px));--font-body:"Avenir Next", "Helvetica Neue", "Segoe UI", sans-serif;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);min-width:320px;color:var(--text);font-family:var(--font-body);margin:0;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.site-bg{pointer-events:none;z-index:-1;background:radial-gradient(circle at 18% 8%,#ffffffe0 0 1px,#0000 1.8px) 0 0/240px 240px,radial-gradient(circle at 62% 18%,#ffffffb8 0 1px,#0000 1.8px) 0 0/280px 280px,radial-gradient(circle at 84% 36%,#ffffffbd 0 1px,#0000 1.8px) 0 0/320px 320px,radial-gradient(circle at 24% 72%,#ffffffb8 0 1px,#0000 1.8px) 0 0/260px 260px,radial-gradient(circle at 82% 82%,#ffffffd1 0 1px,#0000 1.8px) 0 0/300px 300px,radial-gradient(circle at 12% 22%,#d8aaa23d,#0000 28%),radial-gradient(circle at 84% 10%,#d8b9783d,#0000 30%),linear-gradient(#faf4ea 0%,#f3e6d7 48%,#ead9c9 100%);position:fixed;inset:0}.site-bg:after{content:"";background:linear-gradient(120deg,#ffffff57,#0000 28%),radial-gradient(circle at 50% 48%,#fff7eaa3,#0000 42%);position:absolute;inset:0}.site-frame{min-height:100vh}.shell{width:var(--shell);margin:0 auto}.page-shell{padding:0 0 72px}.site-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf4eab8;border-bottom:1px solid #9c7b5524;position:sticky;top:0}.header-inner,.footer-inner{justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.brand-lockup{align-items:center;gap:14px;display:inline-flex}.brand-lockup strong,.footer-brand{letter-spacing:0;font-size:1rem;display:block}.brand-subtitle,.footer-copy{color:var(--muted);font-size:.9rem;display:block}.brand-mark{border:1px solid var(--line);width:42px;height:42px;color:var(--accent-strong);box-shadow:var(--soft-shadow);background:linear-gradient(135deg,#fffaf1eb,#f7eadceb);border-radius:16px;place-items:center;font-weight:700;display:grid}.site-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px;display:flex}.site-nav a,.footer-links a{color:var(--muted);transition:color .18s,opacity .18s}.site-nav a:hover,.footer-links a:hover{color:var(--text)}.hero-home,.page-hero,.section-block{padding:40px 0}.hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);align-items:stretch;gap:24px;display:grid}.hero-copy,.hero-panel,.feature-panel,.notice-panel,.content-card,.contact-panel{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(#fffaf1f0,#f7eadcdb)}.hero-copy{padding:40px}.hero-panel{gap:16px;padding:28px;display:grid}.hero-kicker,.lead-copy,.page-hero-copy,.section-heading p,.content-card p,.feature-panel p,.notice-panel p,.contact-email{color:var(--muted)}.eyebrow{color:var(--accent-strong);letter-spacing:0;text-transform:lowercase;margin:0 0 14px;font-size:.86rem}.hero-copy h1,.page-hero h1,.section-heading h2,.home-section-heading h2,.content-card h3,.memory-card h3,.gift-ticket h3{margin:0}.hero-copy h1,.page-hero h1,.section-heading h2,.home-section-heading h2{font-family:var(--font-display);letter-spacing:0;font-weight:600;line-height:1.08}.hero-copy h1,.page-hero h1{max-width:12ch;font-size:4rem}.section-heading h2,.home-section-heading h2{max-width:13ch;font-size:3rem}.lead-copy,.page-hero-copy{max-width:62ch;font-size:1.05rem}.button-row{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button-link{appearance:none;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-size:.95rem;font-weight:600;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:inline-flex}.button-link:disabled{cursor:default;opacity:.68}.button-link:hover{transform:translateY(-1px)}.button-link:disabled:hover{transform:none}.button-primary{color:#33271d;background:linear-gradient(135deg,#f1d59e,#e4bdb3);border-color:#b88a5242;box-shadow:0 12px 28px #b88a5229}.button-secondary{color:var(--text);border-color:var(--line);background:#fffaf1a8}.button-ghost{color:var(--accent-strong);background:#fffaf18a;border-color:#9c7b5533}.button-ghost:hover,.button-secondary:hover{border-color:var(--line-strong);background:#fffaf1db}.hero-stat{border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--line);padding:18px 20px}.hero-stat span,.card-meta{color:var(--accent-strong);letter-spacing:0;text-transform:lowercase;margin:0 0 8px;font-size:.84rem;display:block}.hero-stat strong{font-size:1rem;line-height:1.45}.section-heading{max-width:760px;margin-bottom:26px}.feature-panel,.notice-panel,.contact-panel{padding:28px}.feature-panel{gap:12px;display:grid}.card-grid{gap:18px;display:grid}.card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.content-card{padding:24px}.content-card h3{margin-bottom:12px;font-size:1.35rem;line-height:1.3}.card-actions{margin-top:20px}.contact-panel{gap:24px;display:grid}.contact-cta{align-items:start;gap:16px;display:grid}.contact-email{width:fit-content;color:var(--text);border-bottom:1px solid #9c7b5538;font-size:1.5rem;display:inline-flex}.page-hero{padding-top:48px}.hero-stack{padding:32px 0 12px}.inline-code{color:var(--text);background:#fffaf1b3;border-radius:999px;margin-left:6px;padding:4px 10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.9rem;display:inline-block}.site-footer{background:#faf4ea9e;border-top:1px solid #9c7b5524}.footer-links{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.home-page{overflow:hidden}.home-screen{align-items:center;min-height:calc(100vh - 74px);padding:82px 0;display:grid;position:relative}.home-screen:before{content:"";pointer-events:none;opacity:.72;background:radial-gradient(circle at 20% 22%,#ffffff8f 0 1px,#0000 1.6px) 0 0/210px 210px,radial-gradient(circle at 78% 34%,#ffffff7a 0 1px,#0000 1.6px) 0 0/260px 260px,radial-gradient(circle at 48% 78%,#ffffff8a 0 1px,#0000 1.6px) 0 0/230px 230px;position:absolute;inset:0}.home-cover{min-height:calc(100vh - 74px)}.cover-layout{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:48px;display:grid;position:relative}.cover-copy h1{max-width:9ch;font-family:var(--font-display);letter-spacing:0;font-size:5.5rem;font-weight:600;line-height:1.08}.cover-subtitle{color:var(--muted);margin:22px 0 0;font-size:1.2rem}.cover-keepsake{min-height:520px;box-shadow:var(--shadow);background:radial-gradient(circle at 24% 18%,#ffffffc7,#0000 24%),linear-gradient(145deg,#fffaf1c7,#ebcdbc7a);border:1px solid #fffaf1b8;border-radius:42px;position:relative;overflow:hidden}.cover-keepsake:before{content:"";background:linear-gradient(135deg,#0000 48%,#d8b9783d 48% 52%,#0000 52%),linear-gradient(45deg,#0000 48%,#d8aaa233 48% 52%,#0000 52%);border:1px solid #9c7b5533;border-radius:32px;position:absolute;inset:46px}.keepsake-paper{background:linear-gradient(90deg,#9c7b5514 1px,#0000 1px) 0 0/36px 100%,linear-gradient(#fffaf1,#f7eadc);border:1px solid #9c7b5538;border-radius:28px;gap:18px;min-height:320px;padding:42px 36px;display:grid;position:absolute;top:18%;left:14%;right:14%;transform:rotate(-3deg);box-shadow:0 24px 60px #5f493229}.paper-line{background:#9c7b5547;width:72%;height:1px;display:block}.paper-line-long{width:88%}.paper-line-short{width:54%}.paper-seal{color:#6f4a34;width:62px;height:62px;font-family:var(--font-display);background:linear-gradient(135deg,#f1d59e,#ddb2aa);border:1px solid #9c7b5533;border-radius:50%;place-self:end;place-items:center;font-size:1.55rem;display:grid;box-shadow:0 14px 34px #8b60442e}.giftbox-cover .cover-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.88fr)}.cover-giftbox{min-height:500px;box-shadow:var(--shadow);background:radial-gradient(circle at 50% 18%,#ffffffb8,#0000 22%),linear-gradient(145deg,#fffaf1c7,#ebcdbc80);border:1px solid #fffaf1b8;border-radius:42px;position:relative;overflow:hidden}.cover-giftbox:before{content:"";border:1px solid #9c7b552e;border-radius:34px;position:absolute;inset:46px}.cover-giftbox-lid,.cover-giftbox-body{background:linear-gradient(90deg,#d8b9782e 48%,#fffaf1b8 48% 52%,#d8b9782e 52%),linear-gradient(#fffaf1,#f3dfd5);border:1px solid #9c7b5538;position:absolute;left:13%;right:13%;box-shadow:0 24px 60px #5f493224}.cover-giftbox-lid{border-radius:24px 24px 16px 16px;height:82px;top:24%;transform:rotate(-2deg)}.cover-giftbox-body{border-radius:18px 18px 30px 30px;height:230px;top:calc(24% + 76px)}.cover-giftbox-ribbon{background:linear-gradient(#d8aaa26b,#d8b97852);position:absolute;inset:0 47%}.cover-giftbox-card{color:#6f4a34;width:72px;height:72px;font-family:var(--font-display);background:linear-gradient(135deg,#f1d59e,#ddb2aa);border:1px solid #9c7b5533;border-radius:50%;place-items:center;font-size:1.65rem;display:grid;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 14px 34px #8b60442e}.letter-screen{background:linear-gradient(#fffaf133,#f7eadc57)}.letter-layout,.signature-layout{z-index:1;place-items:center;display:grid;position:relative}.letter-paper,.signature-note{border:1px solid var(--line);width:min(820px,100%);box-shadow:var(--shadow);background:linear-gradient(90deg,#9c7b5514 1px,#0000 1px) 0 0/40px 100%,linear-gradient(#fffaf1f5,#f7eadceb);border-radius:38px}.letter-paper{padding:72px 76px}.letter-paper p:last-child{color:var(--text);font-family:var(--font-display);margin:0;font-size:2.2rem;line-height:1.75}.home-section-heading{z-index:1;gap:8px;margin-bottom:28px;display:grid;position:relative}.home-section-heading>p:not(.eyebrow){max-width:56ch;color:var(--muted);margin:0}.lottery-screen,.coupon-screen,.mystery-screen,.timeline-screen{background:linear-gradient(#fffaf124,#f7eadc4d)}.lottery-layout{z-index:1;grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);align-items:center;gap:28px;display:grid;position:relative}.lottery-card{border:1px solid var(--line);min-height:360px;box-shadow:var(--shadow);background:linear-gradient(90deg,#9c7b5512 1px,#0000 1px) 0 0/34px 100%,linear-gradient(#fffaf1f0,#f7eadce6);border-radius:34px;grid-template-columns:130px minmax(0,1fr);display:grid;overflow:hidden}.lottery-stub{color:var(--accent-strong);background:#d8b9781a;border-right:1px dashed #9c7b5557;align-content:space-between;padding:28px 22px;display:grid}.lottery-stub span{writing-mode:vertical-rl;color:var(--muted);font-size:.86rem}.lottery-stub strong{font-family:var(--font-display);font-size:1.25rem;line-height:1.2}.lottery-main{align-content:center;justify-items:start;gap:18px;padding:40px;display:grid}.lottery-amount{font-family:var(--font-display);color:var(--text);font-size:5rem;line-height:1}.lottery-result,.lottery-rule{color:var(--muted);margin:0}.lottery-rule{font-size:.92rem}.lottery-card.is-revealed .lottery-amount{color:var(--accent-strong)}.coupon-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid;position:relative}.daily-coupon{border:1px solid var(--line);min-height:340px;box-shadow:var(--soft-shadow);background:linear-gradient(90deg,#9c7b5512 1px,#0000 1px) 0 0/34px 100%,linear-gradient(#fffaf1f0,#f7eadce0);border-radius:30px;align-content:space-between;padding:28px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.daily-coupon:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-3px)}.daily-coupon h3,.mystery-result h3{font-family:var(--font-display);letter-spacing:0;margin:0 0 12px;font-size:1.75rem;line-height:1.25}.daily-coupon p,.mystery-result p{color:var(--muted);margin:0}.daily-coupon .button-link{justify-self:start;margin-top:28px}.mystery-grid{z-index:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid;position:relative}.mystery-box{appearance:none;cursor:pointer;min-height:210px;color:var(--text);background:0 0;border:1px solid #0000;gap:0;padding:22px 14px 18px;transition:transform .18s,opacity .18s;display:grid;position:relative}.mystery-box:disabled{cursor:default}.mystery-box:not(:disabled):hover{transform:translateY(-4px)}.mystery-box-lid,.mystery-box-body{width:100%;box-shadow:var(--soft-shadow);background:linear-gradient(90deg,#d8b9782e 47%,#fffaf1c7 47% 53%,#d8b9782e 53%),linear-gradient(#fffaf1,#f1ddd4);border:1px solid #9c7b5538;display:block}.mystery-box-lid{transform-origin:12% 100%;border-radius:18px 18px 10px 10px;height:48px;transition:transform .26s}.mystery-box-body{border-top:0;border-radius:10px 10px 24px 24px;place-items:center;min-height:120px;display:grid}.mystery-box-body span{color:var(--accent-strong);font-weight:700}.mystery-box.is-opening .mystery-box-lid,.mystery-box.is-selected .mystery-box-lid{transform:rotate(-10deg)translateY(-10px)}.mystery-box.is-selected .mystery-box-body{border-color:var(--line-strong)}.mystery-result{z-index:1;border:1px solid var(--line);width:min(720px,100%);box-shadow:var(--soft-shadow);background:linear-gradient(90deg,#9c7b550f 1px,#0000 1px) 0 0/34px 100%,linear-gradient(#fffaf1f0,#f7eadce0);border-radius:30px;margin:24px auto 0;padding:28px;transition:transform .22s,box-shadow .22s;position:relative;transform:translateY(0)}.mystery-result.is-visible{box-shadow:var(--shadow)}.memory-grid{z-index:1;grid-template-columns:minmax(0,.82fr) minmax(0,1.36fr) minmax(0,.82fr);align-items:stretch;gap:18px;display:grid;position:relative}.memory-card,.gift-ticket{border:1px solid var(--line);box-shadow:var(--soft-shadow);background:linear-gradient(90deg,#9c7b5512 1px,#0000 1px) 0 0/34px 100%,linear-gradient(#fffaf1f0,#f7eadce0);border-radius:30px;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}.memory-card:hover,.gift-ticket:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-3px)}.memory-card{min-height:410px;padding:28px}.memory-card-featured{background:var(--paper);padding:0}.memory-image-frame{aspect-ratio:16/10;border-bottom:1px solid var(--line);background:#ead9c9;overflow:hidden}.memory-image-frame img{object-fit:cover;width:100%;height:100%}.memory-card-copy{gap:12px;display:grid}.memory-card-featured .memory-card-copy{padding:28px}.memory-card h3,.gift-ticket h3{font-family:var(--font-display);letter-spacing:0;font-size:1.75rem;line-height:1.25}.memory-card p,.gift-ticket p{color:var(--muted);margin:0}.memory-card p:not(.card-meta),.gift-ticket p:not(.card-meta){margin-top:2px}.memory-note{opacity:.78;padding-top:12px;font-size:.92rem;color:var(--accent-strong)!important}.timeline-keepsake{z-index:1;border:1px solid var(--line);box-shadow:var(--soft-shadow);background:linear-gradient(90deg,#9c7b550f 1px,#0000 1px) 0 0/34px 100%,linear-gradient(#fffaf1e6,#f7eadcd1);border-radius:30px;grid-template-columns:minmax(220px,.74fr) minmax(0,1.1fr) minmax(220px,.86fr);align-items:center;gap:28px;margin-top:22px;padding:28px;display:grid;position:relative}.timeline-intro h3{font-family:var(--font-display);letter-spacing:0;margin:0;font-size:2.1rem;font-weight:600;line-height:1.2}.timeline-line{gap:20px;padding-left:18px;display:grid;position:relative}.timeline-line:before{content:"";background:linear-gradient(#d8b9782e,#8b604457);width:1px;position:absolute;top:10px;bottom:10px;left:5px}.timeline-item{color:var(--muted);grid-template-columns:auto 1fr;gap:14px;display:grid;position:relative}.timeline-dot{z-index:1;background:#d8b978;border:2px solid #fffaf1;border-radius:50%;width:11px;height:11px;margin-top:8px;display:block;position:relative;box-shadow:0 0 0 4px #d8b97829}.timeline-date{color:var(--text);margin:0 0 2px;font-weight:600}.timeline-item p,.timeline-ending{margin:0}.timeline-ending{color:var(--accent-strong);font-family:var(--font-display);font-size:1.35rem;line-height:1.65}.timeline-layout{z-index:1;position:relative}.timeline-story{grid-template-columns:minmax(0,1.1fr) minmax(260px,.82fr);align-items:stretch;margin-top:0}.timeline-story .timeline-line{gap:26px}.timeline-story .timeline-item{align-items:start}.timeline-story .timeline-item p:not(.timeline-date){max-width:68ch}.timeline-side{gap:18px;display:grid}.timeline-photo{aspect-ratio:16/10;box-shadow:var(--soft-shadow);background:#ead9c9;border:1px solid #9c7b552e;border-radius:24px;overflow:hidden}.timeline-photo img{object-fit:cover;width:100%;height:100%}.timeline-story .timeline-ending{background:#fffaf18f;border:1px solid #9c7b5529;border-radius:24px;align-self:center;padding:26px}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#312b2638;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.coupon-modal{border:1px solid var(--line);width:min(460px,100%);box-shadow:var(--shadow);background:linear-gradient(90deg,#9c7b550f 1px,#0000 1px) 0 0/34px 100%,linear-gradient(#fffaf1fa,#f7eadcf5);border-radius:30px;padding:32px}.coupon-modal p:not(.eyebrow){color:var(--text);font-family:var(--font-display);margin:0 0 24px;font-size:1.5rem;line-height:1.55}.gifts-screen{background:linear-gradient(#f7eadc14,#fffaf157)}.gift-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid;position:relative}.gift-ticket{min-height:330px;padding:28px;display:grid}.gift-ticket:before,.gift-ticket:after{content:"";background:#f3e6d7;border:1px solid #9c7b551f;border-radius:50%;width:30px;height:30px;position:absolute;top:46%}.gift-ticket:before{left:-15px}.gift-ticket:after{right:-15px}.gift-ticket-footer{border-top:1px dashed #9c7b5547;justify-content:space-between;align-items:end;gap:16px;margin-top:28px;padding-top:22px;display:flex}.gift-ticket-footer span{color:var(--accent-strong);font-family:var(--font-display);font-size:1.25rem}.signature-note{padding:72px 76px}.signature-note>p{color:var(--text);font-family:var(--font-display);margin:0;font-size:2rem;line-height:1.8}.signature-mark{color:var(--accent-strong);justify-items:end;gap:4px;margin-top:48px;display:grid}.signature-mark strong{font-family:var(--font-display);font-size:2.15rem;font-weight:600}.signature-mark span{color:var(--muted)}@media (max-width:960px){.hero-grid,.card-grid-3,.cover-layout,.lottery-layout,.memory-grid,.coupon-grid,.gift-grid,.mystery-grid,.timeline-story{grid-template-columns:1fr}.header-inner,.footer-inner{flex-direction:column;align-items:flex-start}.site-nav{justify-content:flex-start}.hero-copy,.letter-paper,.signature-note{padding:40px 30px}.cover-copy h1,.hero-copy h1,.page-hero h1{font-size:3.75rem}.section-heading h2,.home-section-heading h2{font-size:2.45rem}.cover-keepsake,.cover-giftbox{min-height:420px}.memory-card{min-height:auto}.timeline-keepsake{grid-template-columns:1fr}}@media (max-width:640px){.page-shell{padding-bottom:48px}.hero-home,.page-hero,.section-block{padding:28px 0}.home-screen{min-height:auto;padding:62px 0}.hero-copy,.hero-panel,.feature-panel,.content-card,.notice-panel,.contact-panel,.lottery-main,.daily-coupon,.mystery-result,.memory-card,.timeline-keepsake,.gift-ticket{border-radius:24px;padding:22px}.cover-copy h1,.hero-copy h1,.page-hero h1{font-size:3rem}.section-heading h2,.home-section-heading h2{font-size:2rem}.letter-paper,.signature-note{border-radius:28px;padding:34px 24px}.letter-paper p:last-child,.signature-note>p{font-size:1.45rem}.memory-card-featured .memory-card-copy{padding:22px}.lottery-card{grid-template-columns:1fr;min-height:auto}.lottery-stub{border-bottom:1px dashed #9c7b5557;border-right:0;grid-template-columns:1fr auto;align-items:center}.lottery-stub span{writing-mode:horizontal-tb}.lottery-amount{font-size:4rem}.mystery-grid{grid-template-columns:1fr}.mystery-box{min-height:170px}.timeline-story .timeline-ending{padding:20px}.timeline-intro h3{font-size:1.85rem}.timeline-ending{font-size:1.18rem}.cover-keepsake,.cover-giftbox{border-radius:30px;min-height:340px}.cover-keepsake:before,.cover-giftbox:before{inset:28px}.cover-giftbox-lid,.cover-giftbox-body{left:10%;right:10%}.cover-giftbox-body{height:180px}.keepsake-paper{min-height:230px;padding:30px 24px;left:10%;right:10%}.button-link,.button-row{width:100%}.gift-ticket-footer{flex-direction:column;align-items:stretch}}
