/* advent gift — web design tokens (F2 "Unwrap", web).
   1:1 with design/tokens.json (colors.light, wrappings, radius, spacing, shadows) + tokens.json → web.
   One light appearance. Copy this file into backend/internal/web/static/ as the first rules of the site CSS.
   Breakpoints (media queries in the site; container queries in the prototype):
     phone  < 640px   · tablet 640–959px (phone layout, wider margins) · desktop ≥ 960px */
:root{
  /* colors.light */
  --background:#F6F3EF; --surface:#FFFFFF; --surfaceSunken:#ECE7E1; --separator:#DFD8D0;
  --textPrimary:#1A1716; --textSecondary:#655C55; --textTertiary:#6B625B; --textOnInk:#FFFFFF;
  --ink:#1A1716; --inkPressed:#3A3431; --inkDisabled:#CFC8C1;
  --accent:#B02536; --accentSoft:#F6E1E1;
  --success:#2B6E4B; --successSoft:#E0EEE5; --info:#2A5694; --infoSoft:#E4ECF7;
  --destructive:#B8262C; --premium:#7D5B12; --premiumSoft:#F4EAD2; --scrim:#1A171670;

  /* font stacks — system fonts only, nothing is downloaded (design.md D10) */
  --font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-serif:"New York",ui-serif,"Iowan Old Style","Charter","Georgia",serif;

  /* radius */
  --r-tile:12px; --r-field:12px; --r-button:16px; --r-card:20px; --r-sheet:24px; --r-gift:28px; --r-pill:999px;
  /* spacing */
  --s-xxs:2px; --s-xs:4px; --s-s:8px; --s-m:12px; --s-l:16px; --s-xl:24px; --s-xxl:32px; --s-xxxl:48px;
  /* web layout */
  --w-landing:1120px; --w-viewer:720px; --w-editor:1120px; --w-form:560px; --w-reading:640px;
  --header-h:64px; --dialog-w:440px; --drawer-w:460px; --margin:16px;
  /* gift card scale: 1 on phone (296×420), 1.216 on desktop (360×510) */
  --gift-s:1;

  /* shadows (tokens.json → shadows) */
  --shadow-gift:0 18px 40px -18px #1a17166b,0 2px 6px #1a17161f;
  --shadow-card:0 14px 34px -16px #1a17164f;
  --shadow-row:0 1px 2px #1a17160f;
  --shadow-tab:0 6px 14px #1a171640;
  --shadow-dialog:0 30px 80px -20px #1a171666;
  --focus:0 0 0 2px var(--background),0 0 0 4px var(--ink);
}
@media (min-width:640px){:root{--margin:32px}}
@media (min-width:960px){:root{--margin:40px;--gift-s:1.216}}

/* wrappings (Theme.id) — set data-theme on the calendar root */
[data-theme=cranberry]{--wrap:#8C1D2C;--pat:#FFFFFF0D;--ribbon:#F3E5D3;--ribbonEdge:#D8C3AA;--onWrap:#FBF1E6;--onWrap2:#E9C9C2}
[data-theme=pine]{--wrap:#1F3D33;--pat:#FFFFFF0B;--ribbon:#E3BF92;--ribbonEdge:#C29C6E;--onWrap:#F3ECDF;--onWrap2:#BFD0C6}
[data-theme=midnight]{--wrap:#1C2333;--pat:#FFFFFF0A;--ribbon:#D7B46F;--ribbonEdge:#B4914E;--onWrap:#F4EEE2;--onWrap2:#B5BBCA}
[data-theme=blush]{--wrap:#F0D7D1;--pat:#8C1D2C0D;--ribbon:#8C1D2C;--ribbonEdge:#6C1420;--onWrap:#3A1218;--onWrap2:#7A4A4C}

/* type scale (tokens.json → web.typography); phone value first, desktop in the media query */
.t-hero{font:800 42px/44px var(--font-display);letter-spacing:-.035em}
.t-h2{font:700 30px/34px var(--font-display);letter-spacing:-.025em}
.t-h3{font:700 20px/25px var(--font-display);letter-spacing:-.01em}
.t-title{font:700 34px/40px var(--font-display);letter-spacing:-.02em}
.t-lead{font:400 18px/27px var(--font-ui)}
.t-body{font:400 17px/26px var(--font-ui)}
.t-small{font:400 15px/22px var(--font-ui)}
.t-caption{font:400 13px/18px var(--font-ui)}
.t-kicker{font:600 12px/16px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
.t-letter{font:400 21px/31px var(--font-serif)}
@media (min-width:960px){
  .t-hero{font-size:68px;line-height:68px}
  .t-h2{font-size:44px;line-height:48px}
  .t-h3{font-size:22px;line-height:28px}
  .t-title{font-size:40px;line-height:46px}
  .t-lead{font-size:21px;line-height:31px}
}

/* ===== base ===== */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--background);font-family:var(--font-ui);color:var(--textPrimary);-webkit-font-smoothing:antialiased;min-height:100vh}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:none;box-shadow:var(--focus)}
[hidden]{display:none!important}
.vh-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* ===== site: shared ===== */
.wrapc{width:100%;max-width:1120px;margin:0 auto;padding:0 var(--margin)}
.btn{height:52px;border-radius:var(--r-button);display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 17px var(--font-ui);padding:0 24px;transition:transform .1s,background .15s;white-space:nowrap}
.btn:active{transform:scale(.98)}
.btn.primary{background:var(--ink);color:var(--textOnInk)}
.btn.primary:hover{background:var(--inkPressed)}
.btn.primary:disabled{background:var(--inkDisabled);color:#F8F5F2;cursor:default}
.btn.secondary{background:var(--surface);color:var(--textPrimary);box-shadow:inset 0 0 0 1px var(--separator)}
.btn.secondary:hover{box-shadow:inset 0 0 0 1px #BDB3AA}
.btn.plain{height:44px;padding:0 12px;font-weight:500}
.btn.danger{background:var(--destructive);color:#fff}
.btn.small{height:40px;border-radius:12px;padding:0 16px;font-size:15px}
.btn.block{display:flex;width:100%}
.btn svg{width:20px;height:20px}
.ib{width:40px;height:40px;border-radius:50%;background:var(--surface);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-row);flex:none}
.ib svg{width:20px;height:20px}
.ib:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--separator)}
.kick{font:600 12px/16px var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--textSecondary)}
.muted{color:var(--textSecondary)}
.pill{font:600 12px var(--font-ui);padding:3px 9px;border-radius:99px;background:var(--surfaceSunken);color:var(--textPrimary);display:inline-flex;gap:4px;align-items:center;white-space:nowrap}
.pill svg{width:12px;height:12px}
.pill.sent{background:var(--successSoft);color:var(--success)}
.pill.prem{background:var(--premiumSoft);color:var(--premium)}
.link{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@keyframes fade{from{opacity:0}}
@keyframes up{from{transform:translateY(40px);opacity:0}}
@keyframes rise{from{transform:translateY(100%)}}

/* site header */
.sh{height:64px;display:flex;align-items:center;gap:12px}
.wm{display:inline-flex;align-items:center;gap:9px;font:700 18px var(--font-display);letter-spacing:-.01em}
.wm .mk{width:18px;height:23px;border-radius:5px;background:#8C1D2C;position:relative;overflow:hidden;flex:none}
.wm .mk::before{content:"";position:absolute;top:0;bottom:0;left:calc(68% - 2px);width:4px;background:#F3E5D3}
.wm .mk::after{content:"";position:absolute;left:0;right:0;top:calc(30% - 2px);height:4px;background:#F3E5D3}
.sh .sp{flex:1}
.lang{position:relative}
.hide-phone{display:none}
@media (min-width:640px){.hide-phone{display:inline-flex}}
@media (min-width:640px){.only-phone{display:none!important}}

/* ===== gift card (signature element), scaled by --s ===== */
.gc{--s:1;position:relative;width:calc(296px*var(--s));height:calc(420px*var(--s));border-radius:calc(28px*var(--s));background-color:var(--wrap);box-shadow:var(--shadow-gift);overflow:hidden;flex:none}
.pat{background-image:repeating-linear-gradient(135deg,var(--pat) 0 1.5px,transparent 1.5px 11px)}
.gc .under{position:absolute;inset:0;background-color:var(--surface)}
.gc .lid{position:absolute;inset:0;background-color:var(--wrap);transition:transform .5s cubic-bezier(.5,0,.3,1) .38s}
.gc .lab{position:absolute;left:calc(22px*var(--s));top:calc(22px*var(--s));max-width:calc(68% - 30px);line-height:16px;font:600 calc(12px*var(--s)) var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--onWrap2)}
.gc .lab b{color:var(--onWrap);font-weight:700}
.gc .num{position:absolute;left:calc(16px*var(--s));bottom:calc(6px*var(--s));font:800 calc(190px*var(--s))/1 var(--font-display);letter-spacing:-.07em;color:var(--onWrap)}
.gc .bv{position:absolute;top:0;bottom:0;left:calc(68% - 11px*var(--s));width:calc(22px*var(--s));background:var(--ribbon);box-shadow:inset 1px 0 0 var(--ribbonEdge),inset -1px 0 0 var(--ribbonEdge);transition:transform .45s cubic-bezier(.5,0,.6,1)}
.gc .bh{position:absolute;left:0;right:0;top:calc(30% - 11px*var(--s));height:calc(22px*var(--s));background:var(--ribbon);box-shadow:inset 0 1px 0 var(--ribbonEdge),inset 0 -1px 0 var(--ribbonEdge);transition:transform .45s cubic-bezier(.5,0,.6,1) .05s}
.gc .bow{position:absolute;left:calc(68% - 48px*var(--s));top:calc(30% - 34px*var(--s));width:calc(96px*var(--s));height:calc(62px*var(--s));transition:transform .45s .05s,opacity .35s .05s;transform-origin:50% 55%}
.gc .bow svg{width:100%;height:100%;overflow:visible}
.gc .lock{position:absolute;left:calc(22px*var(--s));top:calc(54px*var(--s));color:var(--onWrap2);display:flex;gap:6px;align-items:center;font:500 15px var(--font-ui)}
.gc .lock svg{width:16px;height:16px}
.gc.sealed{filter:saturate(.55);opacity:.5}
.gift{position:relative;display:flex;flex-direction:column;align-items:center}
.gift .tail{position:absolute;left:calc(50% - 148px*var(--s) + 296px*var(--s)*.68 - 11px*var(--s));top:calc(420px*var(--s) - 8px);width:calc(22px*var(--s));height:calc(40px + var(--pp,0px));background:var(--ribbon);box-shadow:inset 1px 0 0 var(--ribbonEdge),inset -1px 0 0 var(--ribbonEdge);transition:transform .45s cubic-bezier(.5,0,.6,1),opacity .3s}
.gift .tab{position:relative;margin-top:30px;transform:translateY(var(--pp,0px));left:calc(296px*var(--s)*.18);display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 20px 0 14px;border-radius:99px;background:var(--ink);color:#fff;font:600 16px var(--font-ui);box-shadow:var(--shadow-tab);touch-action:none;cursor:grab;z-index:2;animation:nudge 2.2s ease-in-out infinite;white-space:nowrap}
.gift .tab:hover{background:var(--inkPressed)}
.gift .tab svg{width:20px;height:20px}
.gift.dragging .tab{animation:none;cursor:grabbing}
@keyframes nudge{0%,70%,100%{margin-top:30px}80%{margin-top:37px}90%{margin-top:30px}}
.gift .gc .bv{transform:translateY(calc(var(--pp,0px)*.25))}
.gift .gc .bow{transform:scale(calc(1 - var(--p,0)/700))}
.gift.unwrapping .bh{transform:translateX(105%)}
.gift.unwrapping .bv{transform:translateY(105%)}
.gift.unwrapping .tail{transform:translateY(120px);opacity:0}
.gift.unwrapping .bow{transform:translate(70px,-50px) rotate(38deg) scale(.7);opacity:0}
.gift.unwrapping .lid{transform:translateY(-104%)}
.gift.unwrapping .tab{opacity:0;transition:opacity .2s}
.gift .below{height:calc(30px + 48px);}
.gift .sealnote{margin-top:22px;height:56px;display:flex;align-items:center;gap:8px;color:var(--textSecondary);font:500 15px var(--font-ui)}
.gift .sealnote svg{width:16px;height:16px}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media (min-width:960px){.tiles.wide{grid-template-columns:repeat(6,1fr);gap:14px}}
.tl{position:relative;aspect-ratio:3/4;border-radius:var(--r-tile);background-color:var(--wrap);overflow:hidden;cursor:pointer;display:block;width:100%}
.tl .bv{position:absolute;top:0;bottom:0;left:calc(68% - 3px);width:6px;background:var(--ribbon)}
.tl .bh{position:absolute;left:0;right:0;top:calc(30% - 3px);height:6px;background:var(--ribbon)}
.tl .kn{position:absolute;left:calc(68% - 7px);top:calc(30% - 7px);width:14px;height:14px;border-radius:4px;background:var(--ribbon);box-shadow:0 0 0 1.5px var(--ribbonEdge)}
.tl .n{position:absolute;left:8px;bottom:4px;font:800 26px/1 var(--font-display);letter-spacing:-.04em;color:var(--onWrap)}
@media (min-width:960px){.tiles.wide .tl .n{font-size:32px}.tiles.wide .tl.open .n{font-size:22px}}

/* day strip */
.strip{display:grid;grid-template-columns:repeat(12,24px);gap:6px 4px;justify-content:center}
.strip a{width:24px;height:24px;border-radius:50%;font:600 11px var(--font-ui);color:var(--textTertiary);background:var(--surfaceSunken);display:flex;align-items:center;justify-content:center;position:relative}
.strip a::after{content:"";position:absolute;inset:-3px}
.strip a.o{background:var(--ink);color:#fff}
.strip a.m{background:var(--surface);color:var(--textPrimary);box-shadow:inset 0 0 0 1.5px var(--accent)}
.strip a.t{background:var(--accent);color:#fff}
.strip a.cur{outline:2px solid var(--ink);outline-offset:2px}
.strip a:hover{filter:brightness(.94)}
@media (min-width:960px){.strip.one{grid-template-columns:repeat(24,28px);gap:6px}.strip.one a{width:28px;height:28px;font-size:12px}}

/* ===== landing ===== */
.L section{padding:56px 0}
@media (min-width:960px){.L section{padding:96px 0}}
.hero{display:grid;gap:36px;padding:20px 0 64px}
@media (min-width:960px){.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;padding:48px 0 104px}}
.hero h1{font:800 42px/44px var(--font-display);letter-spacing:-.035em;max-width:11ch;text-wrap:balance}
@media (min-width:960px){.hero h1{font-size:72px;line-height:70px}}
.hero p{font:400 18px/27px var(--font-ui);color:var(--textSecondary);margin-top:18px;max-width:34em}
@media (min-width:960px){.hero p{font-size:21px;line-height:31px;margin-top:24px}}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;align-items:center}
@media (max-width:639px){.ctas .btn.primary{width:100%}}
.ctas .ctanote{width:100%;font-size:14px;color:var(--textSecondary);margin-top:2px}
.asb{height:52px;border-radius:var(--r-button);background:#000;color:#fff;display:inline-flex;align-items:center;gap:10px;padding:0 20px 0 16px}
.asb svg{width:24px;height:24px}
.asb span{display:flex;flex-direction:column;line-height:1}
.asb small{font:500 11px var(--font-ui)}.asb b{font:600 20px var(--font-display);letter-spacing:-.01em;margin-top:2px}
.asb.soon{background:transparent;color:var(--textSecondary);box-shadow:inset 0 0 0 1.5px var(--separator);cursor:default}
.stagecards{position:relative;display:flex;justify-content:center;min-height:calc(420px*var(--hs) + 90px)}
.stagecards{--hs:1}
@media (min-width:960px){.stagecards{--hs:1.216}}
.stagecards .back{position:absolute;top:0;left:50%}
.stagecards .back .gc{--s:var(--hs);box-shadow:var(--shadow-card)}
.stagecards .b1{transform:translateX(calc(-50% + 34px*var(--hs))) scale(.92);transform-origin:right center}
.stagecards .b2{transform:translateX(calc(-50% + 62px*var(--hs))) scale(.84);transform-origin:right center}

.stagecards .gift{z-index:2}
.stagecards .gift .gc{--s:var(--hs)}
.stagecards .gift{--s:var(--hs)}
.after{margin-top:18px;text-align:center;font-size:15px;color:var(--textSecondary);animation:fade .4s}
.after a{color:var(--textPrimary);font-weight:600}
.sec-h{max-width:640px}
.sec-h h2{font:700 30px/34px var(--font-display);letter-spacing:-.025em;text-wrap:balance}
@media (min-width:960px){.sec-h h2{font-size:44px;line-height:48px}}
.sec-h p{font:400 17px/26px var(--font-ui);color:var(--textSecondary);margin-top:12px}
@media (min-width:960px){.sec-h p{font-size:19px;line-height:29px}}
.types{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px;margin-top:32px}
@media (min-width:640px){.types{grid-template-columns:repeat(3,1fr)}}
@media (min-width:960px){.types{grid-template-columns:repeat(6,1fr);gap:20px;margin-top:48px}}
.tcard .vis{aspect-ratio:3/4;border-radius:16px;overflow:hidden;position:relative;background:var(--surface);box-shadow:var(--shadow-card)}
.tcard h3{font:700 17px/22px var(--font-display);margin-top:14px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.tcard p{font-size:14px;line-height:20px;color:var(--textSecondary);margin-top:3px}
.steps{display:grid;gap:28px;margin-top:36px}
@media (min-width:960px){.steps{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:56px}}
.step .vis{height:180px;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-row);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.step .hd{display:flex;align-items:center;gap:12px;margin-top:18px}
.step .no{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font:600 13px var(--font-ui);display:flex;align-items:center;justify-content:center;flex:none}
.step h3{font:700 20px/25px var(--font-display);letter-spacing:-.01em}
.step p{font-size:16px;line-height:24px;color:var(--textSecondary);margin-top:6px;padding-left:40px}
.split{display:grid;gap:32px;align-items:center}
@media (min-width:960px){.split{grid-template-columns:1fr 1fr;gap:72px}}
.legend{display:grid;grid-template-columns:repeat(2,auto);gap:10px 24px;margin-top:24px;justify-content:start;font-size:15px}
.legend span{display:flex;gap:10px;align-items:center}
.legend i{width:20px;height:20px;border-radius:50%;flex:none;background:var(--surfaceSunken)}
.legend i.o{background:var(--ink)}.legend i.t{background:var(--accent)}.legend i.m{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--accent)}
.bigstrip{background:var(--surface);border-radius:28px;padding:36px 20px;box-shadow:var(--shadow-row);display:flex;flex-direction:column;align-items:center;gap:22px}
.bigstrip .strip{grid-template-columns:repeat(6,40px);gap:10px}
.bigstrip .strip a{width:40px;height:40px;font-size:15px}
@media (min-width:960px){.bigstrip{padding:48px 32px}.bigstrip .strip{grid-template-columns:repeat(8,48px);gap:12px}.bigstrip .strip a{width:48px;height:48px;font-size:17px}}
.bigstrip .scap{font-size:14px;color:var(--textSecondary)}
.msgs{background:var(--surface);border-radius:28px;padding:28px 20px;box-shadow:var(--shadow-row);display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.bub{max-width:280px;border-radius:18px;padding:9px 13px;font-size:16px;line-height:21px;background:#0A7CFF;color:#fff}
.lp{width:280px;border-radius:18px;overflow:hidden;background:#E9E9EB}
.lp .im{height:150px;background:var(--background);display:flex;align-items:center;justify-content:center;overflow:hidden}
.lp .tx{padding:9px 13px 11px;font-size:14px}.lp .tx b{display:block}.lp .tx span{color:#6c6c70;font-size:13px}
.devices{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.devices span{height:36px;padding:0 14px;border-radius:99px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--separator);display:inline-flex;align-items:center;font:500 14px var(--font-ui)}
.plans{display:grid;gap:16px;margin-top:36px}
@media (min-width:960px){.plans{grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin-top:48px}}
.plan{background:var(--surface);border-radius:28px;padding:28px;box-shadow:var(--shadow-row);position:relative;overflow:hidden}
.plan h3{font:700 24px/30px var(--font-display)}
.plan .pr{font-size:15px;color:var(--textSecondary);margin-top:4px}
.plan ul{list-style:none;margin-top:20px;display:grid;gap:12px}
.plan li{display:flex;gap:10px;font-size:16px;line-height:22px}
.plan li svg{width:20px;height:20px;flex:none;color:var(--success)}
.plan .sw{display:flex;gap:8px;margin-top:22px}
.plan .sw .tl{width:44px;border-radius:8px;cursor:default}
.plan .sw .tl .bv{width:4px;left:calc(68% - 2px)}.plan .sw .tl .bh{height:4px;top:calc(30% - 2px)}.plan .sw .tl .kn{display:none}
.faq{max-width:760px;margin-top:28px}
.faq details{border-top:1px solid var(--separator)}
.faq details:last-child{border-bottom:1px solid var(--separator)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 0;font:600 18px/24px var(--font-ui)}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:20px;height:20px;flex:none;transition:transform .2s;color:var(--textSecondary)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding:0 40px 22px 0;font-size:17px;line-height:26px;color:var(--textSecondary)}
.final{text-align:center;display:flex;flex-direction:column;align-items:center}
.final .row{display:flex;gap:12px;margin-bottom:36px}
.final .row .tl{width:72px;cursor:default}
@media (min-width:960px){.final .row .tl{width:96px}.final .row{gap:16px}}
.final .ctas{justify-content:center}
.foot{border-top:1px solid var(--separator);padding:32px 0 48px;display:grid;gap:22px;font-size:14px;color:var(--textSecondary)}
@media (min-width:960px){.foot{grid-template-columns:auto 1fr auto;align-items:center}}
.foot .langs{display:flex;flex-wrap:wrap;gap:4px 16px}
.foot .langs a.on{color:var(--textPrimary);font-weight:600}
.foot .legal{display:flex;gap:16px}
.err{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px}
.err .ic{width:64px;height:64px;border-radius:20px;background:var(--surface);display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--textSecondary);box-shadow:var(--shadow-row)}
.err .ic svg{width:30px;height:30px}
.err h1{font:700 28px/34px var(--font-display);letter-spacing:-.02em;max-width:18ch;text-wrap:balance}
.err p{font-size:17px;line-height:25px;color:var(--textSecondary);margin-top:10px;max-width:30em}
.err .btn{margin-top:26px}

/* ===== viewer ===== */
.V{min-height:100%;display:flex;flex-direction:column}
.V .col{width:100%;max-width:720px;margin:0 auto;padding:0 16px;flex:1;display:flex;flex-direction:column}
.vh{display:flex;justify-content:space-between;align-items:flex-start;padding:18px 0 0}
.vh h1{font:700 34px/40px var(--font-display);letter-spacing:-.02em;margin-top:2px}
@media (min-width:960px){.vh{padding-top:24px;justify-content:center;text-align:center}}
@media (min-width:960px){.content.t-photo,.content.t-video{max-width:440px}}
.stagev{position:relative;display:flex;justify-content:center;margin-top:18px}
.stagev .gift .gc,.stagev .gift{--s:1}
@media (min-width:960px){.stagev .gift .gc,.stagev .gift{--s:1.1}.stagev{margin-top:20px}}
.nav-arrow{position:absolute;top:calc(210px*var(--s,1) - 22px);width:44px;height:44px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-row),inset 0 0 0 1px var(--separator);display:flex;align-items:center;justify-content:center;z-index:3}
.nav-arrow svg{width:20px;height:20px}
.nav-arrow:hover{background:#fff;box-shadow:var(--shadow-card)}
.nav-arrow.prev{left:-6px}.nav-arrow.next{right:-6px}
.nav-arrow.dis{opacity:.35;pointer-events:none}
@media (min-width:960px){.nav-arrow{top:calc(231px - 22px)}.nav-arrow.prev{left:calc(50% - 163px - 84px)}.nav-arrow.next{right:calc(50% - 163px - 84px)}}
.peek{position:absolute;top:0;width:28px;height:420px;border-radius:0 28px 28px 0;overflow:hidden;background-color:var(--wrap);opacity:.9}
.peek.l{left:-16px}.peek.r{right:-16px;border-radius:28px 0 0 28px}
.peek.sealed{filter:saturate(.55);opacity:.45}
.peek.white{background:var(--surface)}
@media (min-width:960px){.peek{display:none}}
.vstrip{margin-top:20px}
@media (min-width:960px){.vstrip{margin-top:28px}}
.vlabel{text-align:center;font-size:13px;color:var(--textSecondary);margin-top:12px}
.mown{margin:28px 0 0;background:var(--surface);border-radius:16px;padding:12px 12px 12px 18px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-row)}
@media (min-width:960px){.mown{max-width:560px;width:100%;align-self:center}}
.mown .tx{flex:1;min-width:0}.mown b{display:block;font:600 15px var(--font-ui)}.mown span{font-size:13px;color:var(--textSecondary)}
.mown .sbtn{height:38px;padding:0 16px;border-radius:99px;background:var(--surfaceSunken);font:600 15px var(--font-ui);white-space:nowrap;display:inline-flex;align-items:center}
.mown .sbtn:hover{background:#E1DBD5}
.vfoot{display:flex;justify-content:space-between;align-items:center;padding:22px 0 30px;font-size:13px;color:var(--textSecondary);margin-top:auto}
.vfoot .wm{font-size:14px;color:var(--textSecondary);gap:7px}.vfoot .wm .mk{width:13px;height:17px;border-radius:4px}
.vfoot a.r{height:44px;display:inline-flex;align-items:center}
.vfoot a.r:hover{color:var(--textPrimary)}
.cdhint{text-align:center;color:var(--textSecondary);font-size:15px;margin-top:22px;height:56px;display:flex;align-items:center;justify-content:center}
/* opened content */
.content{width:100%;max-width:420px;margin:18px auto 0;animation:up .35s cubic-bezier(.2,.8,.3,1)}
@media (min-width:960px){.content{max-width:560px;margin-top:28px}}
.content .hd{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:12px}
.ccard{border-radius:var(--r-card);overflow:hidden;background-color:var(--surface);box-shadow:var(--shadow-card)}
.cap{font:italic 400 20px/28px var(--font-serif);margin-top:14px;padding:0 4px}
.note{padding:30px 26px 32px;font:400 21px/31px var(--font-serif)}
@media (min-width:960px){.note{padding:40px 40px 42px;font-size:23px;line-height:34px}}
.sig{font:italic 400 18px var(--font-serif);color:var(--textSecondary);margin-top:16px}
.voicec{padding:56px 24px 34px;display:flex;flex-direction:column;align-items:center;color:var(--onWrap)}
.voicec .pb{width:96px;height:96px;border-radius:50%;background:var(--ribbon);color:var(--wrap);display:flex;align-items:center;justify-content:center}
.voicec .pb span{width:38px;height:38px;display:block}
.voicec .pb span.pl{margin-left:6px}
.wave{display:flex;gap:3px;align-items:center;height:48px}
.wave b{width:3px;border-radius:2px;background:currentColor}
.wave b.mut{opacity:.3}
.times{display:flex;justify-content:space-between;width:100%;font:500 14px var(--font-ui);color:var(--onWrap2);margin-top:10px;font-variant-numeric:tabular-nums}
.vid{display:flex;flex-direction:column;align-items:center}
.vid .circ{position:relative;width:300px;height:300px;display:flex;align-items:center;justify-content:center}
@media (min-width:960px){.vid .circ{width:380px;height:380px}}
.vid .circ svg.r{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.vid .circ .photo{width:calc(100% - 26px);height:calc(100% - 26px);border-radius:50%}
.vid .circ .play{position:absolute;width:72px;height:72px;border-radius:50%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.vid .circ .play svg{width:30px;height:30px;margin-left:4px}
.ticket .top{background-color:var(--wrap);color:var(--onWrap);padding:22px 24px 28px;min-height:150px}
.ticket .top .kick{color:var(--onWrap2)}
.ticket .top h2{font:800 34px/38px var(--font-display);letter-spacing:-.025em;margin-top:8px}
@media (min-width:960px){.ticket .top{padding:30px 32px 36px;min-height:190px}.ticket .top h2{font-size:44px;line-height:48px}}
.ticket .perf{height:0;border-top:2px dashed var(--separator);margin:0 18px;position:relative}
.ticket .perf::before,.ticket .perf::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--background)}
.ticket .perf::before{left:-30px}.ticket .perf::after{right:-30px}
.ticket .bot{padding:18px 24px 24px;font-size:17px;line-height:24px;color:var(--textSecondary)}
.done{display:inline-flex;gap:6px;align-items:center;background:var(--successSoft);color:var(--success);font:600 15px var(--font-ui);padding:10px 16px;border-radius:99px}
.done.used{background:var(--accentSoft);color:var(--accent)}
.done svg{width:16px;height:16px}
.act{margin-top:20px;display:flex;justify-content:center}
.act .btn{width:100%}
@media (min-width:960px){.act .btn{width:auto;min-width:240px}}
.gifthd{height:150px;position:relative;overflow:hidden;background-color:var(--wrap)}
.merr{padding:48px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.merr .ic{width:56px;height:56px;border-radius:18px;background:var(--background);display:flex;align-items:center;justify-content:center;color:var(--textSecondary);margin-bottom:10px}
.merr .ic svg{width:26px;height:26px}
.merr b{font:700 20px/26px var(--font-display)}
.merr span{color:var(--textSecondary);font-size:15px}
.merr .btn{margin-top:14px}
.inlineconfirm{background:var(--surface);border-radius:var(--r-card);padding:18px 20px;box-shadow:var(--shadow-row);margin-top:20px}
.inlineconfirm b{font:600 17px var(--font-ui)}.inlineconfirm p{color:var(--textSecondary);font-size:15px;margin-top:4px}
.inlineconfirm .r{display:flex;gap:10px;margin-top:14px}
@media (min-width:960px){.prevslider{max-width:560px;width:100%;align-self:center}}
/* ===== site pieces without inline styles (CSP style-src 'self') ===== */
.lang summary{list-style:none;height:40px;padding:0 12px;border-radius:12px;display:inline-flex;align-items:center;gap:6px;font:500 15px var(--font-ui);cursor:pointer}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{background:#0000000a}
.lang summary svg{width:18px;height:18px}
.lang .menu{position:absolute;right:0;top:46px;background:var(--surface);border-radius:14px;box-shadow:var(--shadow-dialog);padding:6px;width:190px;z-index:10;animation:fade .15s}
.lang .menu a{display:flex;justify-content:space-between;align-items:center;height:40px;padding:0 12px;border-radius:9px;font-size:15px}
.lang .menu a:hover{background:var(--background)}
.lang .menu a[aria-current]{font-weight:600}
.lang .menu a svg{width:16px;height:16px}
@media (min-width:640px){.hide-phone{display:inline-flex}.only-phone{display:none!important}}
.asb .soon-t{font:600 15px var(--font-ui)}

/* tiles used as small decorations (landing) */
.tl.w{cursor:default}
.tl.open{background-color:var(--surface);box-shadow:inset 0 0 0 1px var(--separator)}
.tl.open .n{color:var(--textPrimary);font-size:20px;left:8px;top:7px;bottom:auto}
.tl.open .g{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:26px;height:26px;color:var(--textSecondary)}
.tl.empty{background:transparent;outline:1.5px dashed #BDB3AA;outline-offset:-1.5px}
.tl.empty .n{color:var(--textTertiary)}
.mini{width:200px;gap:6px;grid-template-columns:repeat(6,1fr)}
.mini .tl .n,.mini .tl.open .n{font-size:10px;left:3px;top:2px;bottom:auto}
.mini .tl.empty .n{top:auto;bottom:2px}
.mini .tl .g{width:12px;height:12px}

/* sample visuals: no bitmaps, warm dusk gradient stands in for a giver's photo */
/* sample photos (design prototype sample sheet: p1 cocoa, p4 sparkler) */
.ph{background:#3a302a url(sample-cocoa.446be97997.webp) center/cover}
.tv-video .ph{background-image:url(sample-sparkler.0fe20e2928.webp)}
.tcard .vis{box-shadow:0 0 0 1px var(--separator),var(--shadow-card)}
.tv{position:absolute;inset:0}
.tv-photo .capov{position:absolute;left:0;right:0;bottom:0;padding:30px 12px 12px;background:linear-gradient(transparent,#0008);color:#fff;font:italic 400 14px/18px var(--font-serif)}
.tv-voice{background-color:var(--wrap);color:var(--onWrap);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.tv-voice .pb{width:54px;height:54px;border-radius:50%;background:var(--ribbon);color:var(--wrap);display:flex;align-items:center;justify-content:center}
.tv-voice .pb svg{width:22px;height:22px;margin-left:3px}
.tv-voice .wave{transform:scale(.8)}
.tv-video{background:var(--surface);display:flex;align-items:center;justify-content:center}
.tv-video .circ{position:relative;width:78%;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.tv-video .circ svg.r{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tv-video .circ .ph{width:calc(100% - 14px);height:calc(100% - 14px);border-radius:50%}
.tv-note{padding:18px 16px;font:400 15px/22px var(--font-serif);overflow:hidden}
.tv-note .sig{font-size:14px;margin-top:10px}
.tv-coupon{display:flex;flex-direction:column}
.tv-coupon .top{background-color:var(--wrap);color:var(--onWrap);padding:18px 16px;flex:1.1}
.tv-coupon .top .kick{color:var(--onWrap2);font-size:10px}
.tv-coupon .top b{display:block;font:800 22px/25px var(--font-display);letter-spacing:-.02em;margin-top:6px}
.tv-coupon .perf{border-top:2px dashed var(--separator);margin:0 10px}
.tv-coupon .bot{padding:12px 16px;font-size:13px;line-height:18px;color:var(--textSecondary);flex:1}
.tv-gift{display:flex;flex-direction:column}
.tv-gift .hd{background-color:var(--wrap);height:38%;position:relative;overflow:hidden}
.tv-gift .hd::before{content:"";position:absolute;left:0;right:0;top:40%;height:9px;background:var(--ribbon)}
.tv-gift .hd::after{content:"";position:absolute;top:0;bottom:0;left:calc(68% - 4.5px);width:9px;background:var(--ribbon)}
.tv-gift .bd{padding:12px 14px}
.tv-gift .kick{font-size:10px}
.tv-gift .hint{font:400 15px/21px var(--font-serif);margin-top:4px}
.types-sec{background:var(--surface)}
.L section.types-sec{padding-top:72px}
.L section.flush{padding-top:0}
.L section.final-sec{padding-top:24px}
.plans-sec{background:var(--surface)}
.plan{background:var(--background)}
.plan h3{display:flex;gap:8px;align-items:center}
.linkbox{display:flex;gap:8px;align-items:center;background:var(--surface);border-radius:14px;padding:6px 6px 6px 14px;box-shadow:inset 0 0 0 1px var(--separator);width:250px}
.linkbox code{flex:1;min-width:0;font:500 14px var(--font-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.linkbox .ib{width:34px;height:34px;box-shadow:none;background:var(--ink);color:#fff}
.strip.small{grid-template-columns:repeat(8,22px);gap:6px}
.strip.small span{width:22px;height:22px;font-size:10px}
.strip span{width:24px;height:24px;border-radius:50%;font:600 11px var(--font-ui);color:var(--textTertiary);background:var(--surfaceSunken);display:flex;align-items:center;justify-content:center}
.strip span.o{background:var(--ink);color:#fff}
.strip span.m{background:var(--surface);color:var(--textPrimary);box-shadow:inset 0 0 0 1.5px var(--accent)}
.strip span.t{background:var(--accent);color:#fff}
.bigstrip .strip span{width:40px;height:40px;font-size:15px}
@media (min-width:960px){.bigstrip .strip span{width:48px;height:48px;font-size:17px}}
.lp .im .gc{--s:.3;border-radius:10px;box-shadow:none;margin-top:30px}
.lp .im .gc .lab{display:none}
.final .sec-h{margin:0 auto}
.hero-under{position:absolute;inset:0;background:#3a302a url(sample-cocoa.446be97997.webp) center/cover}
.hero-under .daypill{position:absolute;left:14px;top:14px;background:#ffffffe6;color:var(--ink);font:600 12px var(--font-ui);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:99px}
.gift.revealed .lid{transform:translateY(-104%)}
.gift.revealed .bv,.gift.revealed .bh,.gift.revealed .bow,.gift.revealed .tail,.gift.revealed .tab{display:none}
.after{margin-top:22px}
.err-page{min-height:calc(100vh - 64px)}

/* viewer */
.V .col{padding:0 var(--margin)}
body.viewer .vh .kick{margin-bottom:0}

.nav-arrow.dis{opacity:.35}

.strip a.cur{outline:2px solid var(--ink);outline-offset:2px}
.mown .sbtn.soon{background:transparent;box-shadow:inset 0 0 0 1px var(--separator);color:var(--textSecondary)}
.vfoot form{display:inline}
.vfoot button.r{height:44px;display:inline-flex;align-items:center;color:inherit;font-size:13px}
.vfoot button.r:hover{color:var(--textPrimary)}
.content.t-photo .ccard img{width:100%;aspect-ratio:4/5;object-fit:cover}
.content.t-photo .ccard{background:var(--surfaceSunken)}
.hintph{width:100%;max-height:360px;object-fit:cover}
.voicec .pb svg{width:38px;height:38px}
.voicec .pb .pl{margin-left:6px}
.voicec .wave{margin-top:30px}
.voicec audio{width:100%;margin-top:20px}
.vid .circ video{width:calc(100% - 26px);height:calc(100% - 26px);border-radius:50%;object-fit:cover;background:#3a302a}
.vid .circ svg.r .pr{transition:stroke-dashoffset .25s linear}
.vid .replay{margin-top:20px}
.vid .replay svg{width:18px;height:18px}
.gifthd .rh{position:absolute;left:0;right:0;top:56px;height:16px;background:var(--ribbon)}
.gifthd .rv{position:absolute;top:0;bottom:0;left:calc(68% - 8px);width:16px;background:var(--ribbon)}
.gifthd .bw{position:absolute;left:calc(68% - 36px);top:40px;width:72px;height:46px}
.gifthd .bw svg{width:100%;height:100%;overflow:visible}
.giftbd{padding:22px 24px 26px}
.giftbd .gt{font:700 24px/29px var(--font-display);letter-spacing:-.015em}
.giftbd .kick{margin-top:18px}
.giftbd .hint{font:400 21px/30px var(--font-serif);margin-top:4px;white-space:pre-line}
.note{white-space:pre-line}
.act form{display:contents}
.act .btn svg{width:20px;height:20px}
.inlineconfirm form{display:inline}
.inlineconfirm .r .btn{text-decoration:none}

/* wave bar heights (inline styles are blocked by the CSP) */
.wave .h1{height:8px}.wave .h2{height:12px}.wave .h3{height:16px}.wave .h4{height:20px}.wave .h5{height:24px}
.wave .h6{height:28px}.wave .h7{height:32px}.wave .h8{height:36px}.wave .h9{height:40px}.wave .h10{height:44px}.wave .h11{height:48px}

/* dialogs: native <dialog>, centred alert */
dialog.dlg{position:fixed;inset:0;margin:auto;border:0;color:var(--textPrimary);width:min(380px,calc(100% - 48px));background:var(--background);border-radius:24px;box-shadow:var(--shadow-dialog);padding:24px;max-height:calc(100% - 40px);overflow:auto}
dialog.dlg[open]{animation:fade .18s}
dialog.dlg::backdrop{background:var(--scrim)}
.dlg h2{font:700 24px/30px var(--font-display);letter-spacing:-.015em;text-wrap:balance}
.dlg p{font-size:16px;line-height:23px;color:var(--textSecondary);margin-top:8px}
.dlg .btns{display:flex;gap:10px;margin-top:22px;flex-direction:row-reverse}
.dlg .btns .btn{flex:1}
@media (max-width:639px){.dlg .btns{flex-direction:column}.dlg .btns .btn{flex:none;width:100%}}
.wrapbg{background-color:var(--wrap)}
.dlg .btns form{flex:1;display:flex}
.dlg .btns form .btn{width:100%}
@media (max-width:639px){.dlg .btns form{flex:none}}
@media (max-width:959px){.voicec .wave b:nth-child(n+31){display:none}}
.err .ic.ok{color:var(--success)}
.V .err{flex:1}
.vid svg.r .pr{opacity:0}.vid.playing svg.r .pr{opacity:1}

/* ===== v3 → v8 layers, ported from design/web/v8/prototype/src.html (container queries → media queries,
   editor and screenshot-only rules dropped). The approved tokens (design/web/final/tokens.css) follow at the end. ===== */
:root{--stage:#7E1828;--stageDeep:#4A0B16;--stageGlow:#B3283C;--onStage:#FBF1E6;--onStage2:#EBC7BE;--gold:#E8C27A;--night:#161C2A;--nightRaised:#ffffff0d;--onNight:#F4EEE2;--onNight2:#B5BBCA;--cream:#FBF1E6;--shadow-gift:0 34px 60px -26px #1a1716a6,0 4px 10px #1a171626;--shadow-gift-lg:0 50px 90px -30px #000000b3,0 10px 24px #00000040;--shadow-card:0 22px 44px -22px #1a171670}
.btn.cream{background:var(--cream);color:var(--ink)}
.btn.cream:hover{background:#fff}
@media (max-width:639px){.ctas .btn.cream{width:100%}}
.band{position:relative;overflow:hidden;color:var(--onStage);background-color:var(--stage);background-image:repeating-linear-gradient(135deg,#ffffff0a 0 1.5px,transparent 1.5px 11px),radial-gradient(80% 70% at 74% 40%,var(--stageGlow) 0,transparent 62%),radial-gradient(70% 60% at 0 100%,var(--stageDeep) 0,transparent 72%)}
.band .wm{color:var(--onStage)}
.band .wm .mk{background:#5A0F1C;box-shadow:0 0 0 1.5px #F3E5D3}
.band .lang>button{color:var(--onStage)}
.band .lang>button:hover{background:#ffffff18}
.band .lang .menu{color:var(--textPrimary)}
.band .asb{box-shadow:inset 0 0 0 1px #ffffff40}
.band .ctanote{color:var(--onStage2)}
.kick3{display:inline-flex;align-items:center;gap:8px;font:700 13px var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.kick3::before{content:"";width:22px;height:2px;background:var(--gold);border-radius:1px}
.L3 .hero{padding:24px 0 72px}
@media (min-width:960px){.L3 .hero{grid-template-columns:1.1fr .9fr;padding:56px 0 120px}}
.L3 .hero h1{font:800 56px/54px var(--font-display);letter-spacing:-.05em;max-width:9ch}
@media (min-width:960px){.L3 .hero h1{font-size:108px;line-height:98px}}
.L3 .hero h1 em{font-style:normal;color:var(--gold)}
.L3 .hero p{color:var(--onStage2)}
.L3 .stagecards{min-height:calc(420px*var(--hs) + 100px)}
.L3 .stagecards .back .gc{box-shadow:var(--shadow-gift-lg)}
.L3 .stagecards .b1{transform:translateX(calc(-50% + 46px*var(--hs))) rotate(7deg) scale(.94);transform-origin:50% 100%}
.L3 .stagecards .b2{transform:translateX(calc(-50% + 84px*var(--hs))) rotate(14deg) scale(.88);transform-origin:50% 100%}
.L3 .stagecards .gift .gc{box-shadow:var(--shadow-gift-lg)}
.rib{position:absolute;left:-1200px;right:-1200px;top:calc(420px*var(--hs)*.3 - 11px*var(--hs));height:calc(22px*var(--hs));background:#F3E5D3;box-shadow:inset 0 1px 0 #D8C3AA,inset 0 -1px 0 #D8C3AA,0 6px 16px #0000004d}
@media (min-width:960px){.rib{left:50%}}
.band .gift .tab{background:var(--cream);color:var(--ink);box-shadow:0 10px 24px #0000006b}
.band .gift .tab:hover{background:#fff}
.band .after{color:var(--onStage2)}
.band .after a{color:var(--onStage)}
.gift .gc{z-index:1}
.bloom{position:absolute;left:50%;top:calc(210px*var(--s));width:calc(640px*var(--s));height:calc(640px*var(--s));transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,#FFE6B8f0,#FFC98A80 40%,transparent 72%);z-index:0;pointer-events:none;animation:bloom 1s .3s both}
@keyframes bloom{from{opacity:0;transform:translate(-50%,-50%) scale(.3)}}
.burst{position:absolute;left:50%;top:calc(200px*var(--s));width:0;height:0;z-index:3;pointer-events:none}
.burst i{position:absolute;left:0;top:0;border-radius:2px;transform:translate(var(--dx),var(--dy)) rotate(var(--r));animation:fly 1.25s cubic-bezier(.15,.7,.3,1) both}
@keyframes fly{0%{transform:translate(0,0) rotate(0) scale(.3);opacity:0}12%{opacity:1}75%{opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 60px)) rotate(var(--r));opacity:0}}
.gift.unwrapping .gc{animation:pop .9s .3s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{40%{transform:scale(1.05)}}
.gift.unwrapping .under .photo,.gift.opened3 .under .photo{animation:zoomin 1.4s .4s cubic-bezier(.2,.8,.3,1) both}
@keyframes zoomin{from{transform:scale(1.18)}}
@media (prefers-reduced-motion:reduce){.burst,.bloom{display:none}.gift.unwrapping .gc,.gift .under .photo{animation:none!important}}
.gift.opened3 .gc{box-shadow:var(--shadow-gift-lg)}
.L3 section{padding:64px 0}
@media (min-width:960px){.L3 section{padding:120px 0}}
.L3 .sec-h{max-width:780px}
.L3 .sec-h h2{font:800 38px/40px var(--font-display);letter-spacing:-.04em}
@media (min-width:960px){.L3 .sec-h h2{font-size:64px;line-height:64px}}
@media (min-width:960px){.L3 .sec-h p{font-size:21px;line-height:31px}}
.L3 .tcard .vis{border-radius:22px;box-shadow:var(--shadow-card)!important;transition:transform .25s}
@media (min-width:960px){.L3 .tcard:nth-child(odd) .vis{transform:rotate(-2deg)}.L3 .tcard:nth-child(even) .vis{transform:rotate(2deg) translateY(10px)}.L3 .tcard .vis:hover{transform:none}}
.L3 .tcard h3{font-size:19px;margin-top:18px}
.L3 .step .vis{height:220px;border-radius:28px;box-shadow:none}
.L3 .step:nth-child(1) .vis{background:#F6E1E1}
.L3 .step:nth-child(2) .vis{background:#E3ECE6}
.L3 .step:nth-child(3) .vis{background:#E3E7F0}
.L3 .step .hd{align-items:flex-end;gap:14px;margin-top:22px}
.L3 .step .no{width:auto;height:auto;background:none;border-radius:0;color:var(--accent);font:800 64px/.8 var(--font-display);letter-spacing:-.05em}
.L3 .step h3{font:800 24px/28px var(--font-display);letter-spacing:-.02em}
.L3 .step p{padding-left:0;margin-top:10px;font-size:17px;line-height:25px}
.night{color:var(--onNight);background-color:var(--night);background-image:radial-gradient(60% 80% at 85% 50%,#2A3550 0,transparent 70%),repeating-linear-gradient(135deg,#ffffff07 0 1.5px,transparent 1.5px 11px)}
.night .sec-h p,.night .scap{color:var(--onNight2)}
.night .bigstrip{background:var(--nightRaised);box-shadow:inset 0 0 0 1px #ffffff14}
.night .strip a{background:#ffffff12;color:#8D94A6}
.night .strip a.o{background:var(--onNight);color:var(--night)}
.night .strip a.m{background:transparent;color:var(--onNight);box-shadow:inset 0 0 0 2px #E0697A}
.night .strip a.t{background:var(--accent);color:#fff;box-shadow:0 0 0 6px #B0253655,0 0 28px #E0394Fb0}
.night .legend i{background:#ffffff1f}
.night .legend i.o{background:var(--onNight)}
.night .legend i.t{background:var(--accent);box-shadow:0 0 12px #E0394F}
.night .legend i.m{background:transparent;box-shadow:inset 0 0 0 2px #E0697A}
.L3 .msgs{background-color:#F0D7D1;background-image:repeating-linear-gradient(135deg,#8c1d2c0d 0 1.5px,transparent 1.5px 11px);box-shadow:none;padding:40px 24px}
.L3 .plan{border-radius:32px;padding:32px}
.L3 .plan h3{font:800 32px/36px var(--font-display);letter-spacing:-.03em}
.L3 .plan.pro{background:var(--night)!important;color:var(--onNight);box-shadow:var(--shadow-card)}
.L3 .plan.pro .pr{color:var(--onNight2)}
.L3 .plan.pro li svg{color:var(--gold)}
.L3 .plan.pro .pill.prem{background:#E8C27A2e;color:var(--gold)}
.L3 .faq summary{font-size:19px}
@media (min-width:960px){.L3 .faq summary{font-size:21px;padding:24px 0}}
.final3{text-align:center;padding:72px 0 80px!important}
@media (min-width:960px){.final3{padding:120px 0!important}}
.final3 .row{display:flex;justify-content:center;gap:14px;margin-bottom:40px}
.final3 .row .tl{width:68px;cursor:default;box-shadow:0 18px 30px -14px #000a}
@media (min-width:960px){.final3 .row .tl{width:116px}.final3 .row{gap:22px}}
.final3 .row .tl:nth-child(1){transform:rotate(-9deg) translateY(10px)}
.final3 .row .tl:nth-child(2){transform:rotate(-3deg)}
.final3 .row .tl:nth-child(3){transform:rotate(3deg)}
.final3 .row .tl:nth-child(4){transform:rotate(9deg) translateY(10px)}
.final3 h2{font:800 46px/46px var(--font-display);letter-spacing:-.045em}
@media (min-width:960px){.final3 h2{font-size:96px;line-height:92px}}
.final3 p{color:var(--onStage2);font-size:19px;margin-top:14px}
.final3 .ctas{justify-content:center}
.L3 .foot{border-top:0}
.V3{background:radial-gradient(140% 60% at 50% 0,color-mix(in srgb,var(--wrap) 17%,var(--background)) 0,var(--background) 72%)}
.V3 .vh h1{font:800 44px/46px var(--font-display);letter-spacing:-.04em}
@media (min-width:960px){.V3 .vh h1{font-size:64px;line-height:64px}}
.V3 .vh .kick{font-size:13px}
.V3 .stagev::before{content:"";position:absolute;left:50%;top:-40px;width:600px;height:600px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--wrap) 26%,transparent),transparent);pointer-events:none}
.V3 .stagev .gift{z-index:1}
.V3 .strip a.t{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 24%,transparent)}
.V3 .content .hd .kick{font-size:13px;color:var(--textPrimary)}
.V3 .mown{background-color:var(--wrap);background-image:repeating-linear-gradient(135deg,var(--pat) 0 1.5px,transparent 1.5px 11px);color:var(--onWrap);box-shadow:var(--shadow-card);border-radius:20px;padding:16px 16px 16px 20px}
.V3 .mown span{color:var(--onWrap2)}
.V3 .mown .sbtn{background:var(--ribbon);color:var(--wrap)}
.V3 .mown .sbtn:hover{filter:brightness(1.05);background:var(--ribbon)}
:root{--font-hand:"Caveat","Bradley Hand","Segoe Print",cursive;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .11 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--grainLight:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .85 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--kraft:#C9A06E;--kraftDeep:#A97F4E;--kraftInk:#3E2716;--twine:#B78F5E;--bulb:#FFD28A;--wax:#9A1B2B;--waxDeep:#5E0D17;--snow:#FFFFFF;--hand:#B02536}
.L4,.V4{background-image:var(--grain);background-color:var(--background)}
.L4 section{background-image:var(--grain)}
.V4{background-image:var(--grain),radial-gradient(140% 60% at 50% 0,color-mix(in srgb,var(--wrap) 17%,var(--background)) 0,var(--background) 72%)!important}
.band.hero4,.L4 .final3{background-image:var(--grainLight),repeating-linear-gradient(135deg,#ffffff08 0 1.5px,transparent 1.5px 11px),radial-gradient(60% 55% at 76% 42%,#C4553A 0,#A8303A55 34%,transparent 64%),radial-gradient(80% 70% at 74% 40%,var(--stageGlow) 0,transparent 62%),radial-gradient(70% 60% at 0 100%,var(--stageDeep) 0,transparent 72%)}
.lights{position:absolute;left:-2%;right:-2%;top:0;pointer-events:none;z-index:3}
.lights svg{position:absolute;left:0;top:0;width:100%;overflow:visible}
.lights path{fill:none;stroke:#2A1E16;stroke-width:1.6;vector-effect:non-scaling-stroke}
.lights i{position:absolute;width:11px;height:20px;margin-left:-5.5px;transform-origin:50% 0;transform:rotate(var(--a))}
.lights i::before{content:"";position:absolute;left:3px;top:0;width:5px;height:6px;border-radius:1.5px;background:#2F3A2C}
.lights i::after{content:"";position:absolute;left:0;top:5px;width:11px;height:15px;border-radius:50% 50% 50% 50%/42% 42% 58% 58%;background:radial-gradient(circle at 45% 38%,#FFFBEE 0,var(--c) 42%,#E9973B 100%);box-shadow:0 0 6px 2px color-mix(in srgb,var(--c) 85%,transparent),0 0 22px 9px color-mix(in srgb,var(--c) 38%,transparent);animation:tw var(--tw) var(--dl) ease-in-out infinite alternate}
@keyframes tw{from{opacity:.72;filter:brightness(.88)}to{opacity:1;filter:brightness(1.08)}}
.celebrate .lights i::after{animation:flash 1.2s var(--fd) both,tw var(--tw) 1.4s ease-in-out infinite alternate}
@keyframes flash{0%{filter:brightness(1)}35%{filter:brightness(1.6);box-shadow:0 0 10px 4px #FFE7B5,0 0 46px 20px #FFC46A88}100%{filter:brightness(1)}}
.snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4}
.snow i{position:absolute;top:-3%;border-radius:50%;background:var(--snow);filter:blur(.3px);animation:fall linear infinite}
@keyframes fall{from{top:-3%;transform:translateX(0)}to{top:103%;transform:translateX(var(--x))}}
.bokeh{position:absolute;inset:0;pointer-events:none;z-index:0}
.bokeh i{position:absolute;border-radius:50%;background:radial-gradient(circle,var(--c) 0,color-mix(in srgb,var(--c) 60%,transparent) 55%,transparent 72%);opacity:var(--o);filter:blur(var(--b));animation:breathe 6s ease-in-out infinite alternate}
@keyframes breathe{to{opacity:calc(var(--o)*.55)}}
.stars{position:absolute;inset:0;pointer-events:none}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#FFF6DC;box-shadow:0 0 6px #FFE9B0;animation:twk 3s ease-in-out infinite alternate}
.stars i.big{width:3px;height:3px}
@keyframes twk{from{opacity:.25}to{opacity:1}}
.fir{position:absolute;pointer-events:none;filter:drop-shadow(0 10px 14px #0000004d);z-index:2}
.tag4{position:absolute;left:calc(50% + 53px*var(--s));top:calc(128px*var(--s));width:0;height:0;z-index:2;transition:transform .45s cubic-bezier(.5,0,.6,1) .05s,opacity .35s .05s;pointer-events:none}
.tag4 .twine{position:absolute;left:calc(-46px*var(--s));top:calc(-4px*var(--s));width:calc(50px*var(--s));height:calc(56px*var(--s));overflow:visible}
.tag4 .twine path{fill:none;stroke:var(--twine);stroke-width:2.2;stroke-linecap:round}
.tag4 .tg{position:absolute;right:calc(28px*var(--s));top:calc(18px*var(--s));transform:rotate(-9deg);transform-origin:100% 50%;filter:drop-shadow(0 5px 6px #0000004a)}
.tag4 .tgi{position:relative;display:flex;align-items:center;height:calc(50px*var(--s));padding:0 calc(34px*var(--s)) 0 calc(16px*var(--s));background:var(--kraft) var(--grain);clip-path:polygon(0 0,calc(100% - 16px*var(--s)) 0,100% 50%,calc(100% - 16px*var(--s)) 100%,0 100%);white-space:nowrap;box-shadow:inset 0 0 0 calc(3px*var(--s)) #ffffff1c}
.tag4 .tx{font:700 calc(29px*var(--s))/1 var(--font-hand);color:var(--kraftInk);transform:translateY(calc(-1px*var(--s)))}
.tag4 .hole{position:absolute;right:calc(13px*var(--s));top:50%;width:calc(9px*var(--s));height:calc(9px*var(--s));margin-top:calc(-4.5px*var(--s));border-radius:50%;background:var(--wrap);box-shadow:0 0 0 calc(3px*var(--s)) #E9D5B6}
.gift.unwrapping .tag4{transform:translate(60px,-70px) rotate(25deg);opacity:0}
.gift:has(.gc.sealed) .tag4{opacity:.55;filter:saturate(.6)}
.gift.dragging .tag4 .tg{transform:rotate(calc(-9deg + var(--p,0)*.08deg))}
.try4{position:absolute;right:calc(50% + 36px);top:calc(420px*var(--s) + 22px);font:600 24px/1.05 var(--font-hand);color:var(--onStage);transform:rotate(-4deg);text-align:right;max-width:170px;pointer-events:none}
.try4 svg{position:absolute;right:-56px;top:8px;width:54px;height:36px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:639px){.try4{right:calc(50% + 20px);font-size:21px;max-width:130px}.try4 svg{right:-50px}}
.gift.unwrapping .try4,.gift.opened3 .try4{opacity:0}
.seal{position:absolute;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:48% 52% 50% 50%/53% 47% 53% 47%;background:radial-gradient(circle at 36% 30%,#D24A58 0,var(--wax) 48%,var(--waxDeep) 100%);box-shadow:inset 0 0 0 5px #00000022,inset 0 0 0 7px #ffffff12,inset 0 -3px 6px #00000040,0 4px 8px #00000059;z-index:2}
.seal::before{content:"";position:absolute;inset:-4px;border-radius:44% 56% 47% 53%/56% 44% 56% 44%;background:inherit;z-index:-1;filter:brightness(.9)}
.seal svg{width:26px;height:26px;fill:#7A1422;filter:drop-shadow(0 1px 0 #ffffff38) drop-shadow(0 -1px 0 #00000055)}
.pin{position:absolute;left:50%;top:-14px;width:12px;height:34px;margin-left:-6px;border-radius:3px;background:linear-gradient(90deg,#C9A273 0 46%,#8E6B44 46% 54%,#D8B488 54%);box-shadow:0 3px 4px #0000003a;z-index:3}
.pin::after{content:"";position:absolute;left:-1px;right:-1px;top:12px;height:5px;border-radius:2px;background:#9A9A9A;box-shadow:inset 0 1px 0 #ffffff60}
.band.hero4{padding-top:34px}
.hero4 .sh,.hero4 .hero{position:relative;z-index:5}
.hero4 .stagecards{z-index:3}
.f-tr{right:-40px;top:-10px;transform:scaleY(-1) rotate(4deg);transform-origin:center}
.hero4 .f-tr{top:auto;bottom:-30px;right:-60px;transform:none}
.hero4 .f-bl{left:-40px;bottom:-40px}
@media (max-width:639px){.hero4 .f-tr{bottom:auto;top:250px;right:-70px;opacity:.95}}
.L4 .kick3{font:700 30px/1 var(--font-hand);text-transform:none;letter-spacing:0;color:var(--gold);margin-bottom:14px}
.L4 .kick3::before{display:none}
.L4 .kick3::after{content:"";display:block;position:absolute}
@media (max-width:639px){.L4 .kick3{font-size:25px}}
.L4 .hero h1 em{color:var(--gold);text-shadow:0 0 34px #FFC46A66}
.L4 .stagecards .rib{background:#F3E5D3 var(--grain)}
.L4 .tw4{position:relative;padding-top:26px}
.L4 .types.tw4::before{content:"";position:absolute;left:-60px;right:-60px;top:6px;height:30px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' preserveAspectRatio='none'%3E%3Cpath d='M0 2Q50 34 100 2' fill='none' stroke='%23B78F5E' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;z-index:2;pointer-events:none}
.L4 .tcard{position:relative}
.L4 .tcard .pin{top:-8px}
@media (min-width:960px){.L4 .tcard:nth-child(2) .pin,.L4 .tcard:nth-child(5) .pin{top:2px}.L4 .tcard:nth-child(3) .pin,.L4 .tcard:nth-child(4) .pin{top:10px}.L4 .tcard:nth-child(3) .vis,.L4 .tcard:nth-child(4) .vis{margin-top:14px}.L4 .tcard:nth-child(2) .vis,.L4 .tcard:nth-child(5) .vis{margin-top:4px}}
@media (max-width:959px){.L4 .types.tw4::before,.L4 .tcard .pin{display:none}.L4 .tw4{padding-top:0}}
.L4 .step .no{font:700 92px/.7 var(--font-hand);letter-spacing:0;color:var(--hand)}
.L4 .step:nth-child(1) .vis{background:#EFD9CF var(--grain)}
.L4 .step:nth-child(2) .vis{background:#DCE6DA var(--grain)}
.L4 .step:nth-child(3) .vis{background:#E8DCC8 var(--grain)}
.L4 .night{position:relative;overflow:hidden;background-image:var(--grainLight),radial-gradient(60% 80% at 85% 50%,#2A3550 0,transparent 70%),repeating-linear-gradient(135deg,#ffffff07 0 1.5px,transparent 1.5px 11px)}
.L4 .night .wrapc{position:relative;z-index:5}
.L4 .night .f-ntl{left:-50px;top:-30px;transform:none;filter:drop-shadow(0 10px 14px #0008) brightness(.85)}
@media (max-width:639px){.L4 .night .f-ntl{left:auto;right:-60px;top:-20px;transform:scaleX(-1)}}
.L4 .night .strip a.t{background:radial-gradient(circle at 50% 40%,#FF6A72,var(--accent));box-shadow:0 0 0 6px #B0253655,0 0 22px #FFB04A99,0 0 46px #E0394F90;animation:flicker 2.6s ease-in-out infinite}
@keyframes flicker{0%,100%{box-shadow:0 0 0 6px #B0253655,0 0 22px #FFB04A99,0 0 46px #E0394F90}45%{box-shadow:0 0 0 7px #B0253666,0 0 28px #FFB04Acc,0 0 60px #E0394Fb0}60%{box-shadow:0 0 0 5px #B0253644,0 0 18px #FFB04A88,0 0 40px #E0394F80}}
.L4 .night .bigstrip{background:#ffffff0b var(--grainLight);backdrop-filter:blur(2px)}
.L4 .msgs{background-image:var(--grain),repeating-linear-gradient(135deg,#8c1d2c0d 0 1.5px,transparent 1.5px 11px)}
.L4 .plan.pro{position:relative;background-image:var(--grainLight)!important}
.L4 .plan.pro .ps{right:22px;top:-18px;transform:rotate(-12deg)}
.L4 .plan:not(.pro){background-image:var(--grain)}
.L4 .final3{position:relative;padding-top:110px!important}
.L4 .final3 .wrapc{position:relative;z-index:5}
.L4 .final3 .f-bl{left:-50px;bottom:-50px}
.L4 .final3 .f-br{right:-50px;bottom:-50px}
.L4 .final3 .row{position:relative;padding-top:24px;gap:18px}
.L4 .final3 .row::before{content:"";position:absolute;left:-40px;right:-40px;top:0;height:40px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 30' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q50 40 100 0' fill='none' stroke='%23D9B98A' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}
.L4 .final3 .row .tl{transform:none!important}
.L4 .final3 .hw{position:relative;display:block;transform-origin:50% 0}
.L4 .final3 .hw .pin{top:-12px}
.L4 .final3 .hw:nth-child(1){transform:rotate(5deg)}
.L4 .final3 .hw:nth-child(2){transform:translateY(14px) rotate(-2deg)}
.L4 .final3 .hw:nth-child(3){transform:translateY(14px) rotate(3deg)}
.L4 .final3 .hw:nth-child(4){transform:rotate(-5deg)}
.L4 .final3 h2 + p{font:600 26px/1.1 var(--font-hand);color:var(--gold)}
.burst i.st{background:var(--c);clip-path:path("M12 0c1 6 5 10 12 12-7 2-11 6-12 12-1-6-5-10-12-12 7-2 11-6 12-12z");border-radius:0;filter:drop-shadow(0 0 6px #FFD98A)}
.burst i.st{clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);box-shadow:none}
.burst i.fl{background:#fff;border-radius:50%;box-shadow:0 0 6px #fff}
.bloom{background:radial-gradient(closest-side,#FFE9BEf5,#FFC98A90 38%,#FFB0602a 60%,transparent 74%)}
.V4{position:relative}
.vdec{position:absolute;left:0;right:0;top:0;height:100%;pointer-events:none;overflow:hidden;z-index:0}
.V4 .col{position:relative;z-index:1}
.V4 .vdec .lights{top:0}
.V4 .vh{padding-top:46px}
@media (min-width:960px){.V4 .vh{padding-top:54px}}
.V4 .vh .kick{font:700 27px/1 var(--font-hand);letter-spacing:0;text-transform:none;color:var(--hand)}
.V4 .vdec .f-vr{right:-56px;top:-22px;transform:rotate(-6deg)}
.V4 .vdec .f-vl{left:-60px;top:150px}
@media (min-width:960px){.V4 .vdec .f-vr{right:-60px;top:150px;transform:none}}
.V4 .snow i{background:#fff;box-shadow:0 0 0 .6px #8F6B5A30,0 1px 3px #6B4A3A33}
.V4 .snow{z-index:6}
.V4 .stagev .gift{z-index:2}
.V4 .strip a.t{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 24%,transparent),0 0 16px #FFB04A80}
.V4 .mown{background-image:var(--grainLight),repeating-linear-gradient(135deg,var(--pat) 0 1.5px,transparent 1.5px 11px)}
.print4{position:relative;background:#FFFDF8 var(--grain);padding:12px 12px 4px;border-radius:6px;box-shadow:0 22px 40px -20px #1a1716a0,0 2px 6px #1a17161f;transform:rotate(-1.2deg)}
.print4 .ccard.photo{border-radius:3px;box-shadow:none}
.print4 .cap{font:600 27px/1.15 var(--font-hand);color:#3B2C24;margin:10px 4px 10px;padding:0}
.print4 .tape{position:absolute;left:50%;top:-14px;width:110px;height:30px;margin-left:-55px;transform:rotate(-3deg);background:color-mix(in srgb,var(--wrap) 30%,#FFF4E4cc);opacity:.92;box-shadow:0 1px 2px #0000001f;clip-path:polygon(0 8%,4% 0,8% 10%,12% 0,100% 0,96% 12%,100% 24%,96% 38%,100% 52%,96% 66%,100% 80%,96% 92%,100% 100%,8% 100%,4% 90%,0 100%,4% 76%,0 62%,4% 48%,0 34%,4% 20%);z-index:2}
.V4 .ccard.note{position:relative;background:#FFFDF8 var(--grain);overflow:visible}
.V4 .note .sig{font:700 36px/1 var(--font-hand);color:var(--hand);font-style:normal;margin-top:18px}
.V4 .note .ns{right:22px;bottom:-20px;transform:rotate(10deg)}
.V4 .ticket{position:relative;overflow:visible}
.V4 .ticket .top{position:relative;border-radius:inherit;border-bottom-left-radius:0;border-bottom-right-radius:0}
.V4 .ticket .cs{right:18px;top:-18px;transform:rotate(-10deg)}
.V4 .ticket .bot{font:600 25px/1.2 var(--font-hand)}
.V4 .content.t-voice .ccard,.V4 .gifthd{background-image:var(--grainLight),repeating-linear-gradient(135deg,var(--pat) 0 1.5px,transparent 1.5px 11px)}
.V4 .gc .lid,.L4 .gc .lid{background-image:var(--grainLight),repeating-linear-gradient(135deg,var(--pat) 0 1.5px,transparent 1.5px 11px)}
.L4 section{position:relative;overflow:hidden}
.L4 section.surf{background-color:#FBF6EF!important}
.L4 .f-sec{z-index:0;opacity:.95}
.L4 .f-sec.r{right:-70px;top:30px}
.L4 .f-sec.bl{left:-60px;bottom:-60px}
@media (max-width:639px){.L4 .f-sec.bl{left:auto;right:-50px;bottom:auto;top:-30px;transform:scaleX(-1)}}
.L4 section .wrapc{position:relative;z-index:1}
.L4 .msgs{position:relative;overflow:hidden}
.L4 .msgs .snow i{background:#fff;box-shadow:0 1px 3px #8c1d2c33}
@media (max-width:639px){.hero4 .f-tr{top:auto!important;bottom:-34px;right:-80px}}
@media (max-width:639px){.try4{right:calc(50% + 38px)!important;max-width:150px;font-size:20px}.try4 svg{display:none}}
.V4 .note .ns{right:20px;bottom:auto;top:-22px}
.V4 .bokeh.vb{top:60px;bottom:auto;height:640px}
.V4 .bokeh.vb i{--o:.32;filter:blur(6px)}
.V4 .stagev::before{background:radial-gradient(closest-side,#FFD9A066,color-mix(in srgb,var(--wrap) 22%,transparent) 55%,transparent)!important;width:680px!important;height:680px!important}
@media (min-width:960px){.hero4 .snow.hs{left:52%}}
@media (prefers-reduced-motion:reduce){.snow,.bokeh i,.lights i::after,.stars i{animation:none!important}.snow{display:none}}
:root{--ribbonX:71%;--ribbonW:38px;--ribbonY:26.7%;--scene:#2A0E10;--satin:linear-gradient(90deg,#BFA58A 0,#F6E9D6 30%,#FFF7EA 46%,#E7D2B6 70%,#B79C80 100%)}
[data-theme=cranberry]{--box:url(box-cranberry.f45d96d0c2.webp)}
[data-theme=pine]{--box:url(box-pine.8acb180602.webp);--satin:linear-gradient(90deg,#9C7434 0,#E2BC72 32%,#F6DB98 48%,#D2A859 70%,#94692C 100%)}
[data-theme=midnight]{--box:url(box-midnight.7e662d9b1c.webp)}
[data-theme=blush]{--box:url(box-blush.0f47f01c37.webp);--satin:linear-gradient(90deg,#5E0C16 0,#9E1C2B 32%,#C93A4A 48%,#8E1826 70%,#560A13 100%)}
.L5 .gc .lid,.V5 .gc .lid{background:var(--box) center/cover;background-color:var(--wrap)}
.L5 .gc>.bv,.L5 .gc>.bh,.L5 .gc>.bow,.V5 .gc>.bv,.V5 .gc>.bh,.V5 .gc>.bow{display:none}
.L5 .gc .num,.V5 .gc .num{text-shadow:0 2px 0 #00000022,0 10px 30px #00000040}
.L5 .gc .lab,.V5 .gc .lab{text-shadow:0 1px 2px #00000040}
.L5 .gift .tail,.V5 .gift .tail{left:calc(50% - 148px*var(--s) + 296px*var(--s)*.71 - var(--ribbonW)*var(--s)/2);width:calc(var(--ribbonW)*var(--s));background:var(--satin);box-shadow:0 6px 12px #00000033;z-index:2}
.L5 .gift .tab,.V5 .gift .tab{left:calc(296px*var(--s)*.21)}
.L5 .gc,.V5 .gc{perspective:900px}
.L5 .gift.unwrapping .gc,.V5 .gift.unwrapping .gc{overflow:visible}
.L5 .gift.unwrapping .lid,.V5 .gift.unwrapping .lid{transform-origin:50% 0;animation:lidoff 1s .12s cubic-bezier(.45,0,.3,1) both;border-radius:inherit;box-shadow:0 40px 60px -20px #000a;transition:none}
@keyframes lidoff{0%{transform:none}28%{transform:translateY(-3%) rotateX(-12deg) scale(1.02)}80%{opacity:.9}100%{transform:translateY(-38%) rotateX(-64deg) rotateZ(-6deg);opacity:0}}
.L5 .gift.unwrapping .under,.V5 .gift.unwrapping .under{border-radius:inherit;overflow:hidden}
@media (prefers-reduced-motion:reduce){.L5 .gift.unwrapping .lid,.V5 .gift.unwrapping .lid{animation:none;opacity:0}}
.L5 .tl.pat,.V5 .tl.pat{background:var(--box) center/cover;background-color:var(--wrap)}
.L5 .tl.pat>.bv,.L5 .tl.pat>.bh,.L5 .tl.pat>.kn,.V5 .tl.pat>.bv,.V5 .tl.pat>.bh,.V5 .tl.pat>.kn{display:none}
.L5 .tl.pat .n{text-shadow:0 2px 8px #0000004d}
.V5 .peek.pat{background:var(--box) 0 0/auto 100%;background-color:var(--wrap)}
.V5 .peek.r.pat{background-position:100% 0}
.fir5{position:absolute;pointer-events:none;z-index:2}
.fir5 i{position:absolute;inset:0;background:var(--art-fir) center/contain no-repeat;transform:rotate(var(--rot));filter:drop-shadow(0 14px 18px #0006)}
.tag5{position:absolute;left:calc(50% - 148px*var(--s) + 296px*var(--s)*.71);top:calc(420px*var(--s)*.2);width:0;height:0;z-index:2;pointer-events:none;transition:transform .5s cubic-bezier(.5,0,.6,1) .05s,opacity .35s .05s}
.tag5 .im{position:absolute;right:calc(-8px*var(--s));top:calc(-6px*var(--s));width:calc(156px*var(--s));height:calc(96px*var(--s));background:var(--art-tag) center/contain no-repeat;filter:drop-shadow(0 6px 8px #0000005c);transform-origin:100% 0}
.tag5 .tx{position:absolute;left:4%;width:72%;top:52%;text-align:center;transform:translateY(-50%) rotate(-8deg);font:700 calc(28px*var(--s))/1 var(--font-hand);color:var(--kraftInk);white-space:nowrap;opacity:.9}
.gift.dragging .tag5 .im{transform:rotate(calc(var(--p,0)*.06deg))}
.gift.unwrapping .tag5{transform:translate(70px,-90px) rotate(20deg);opacity:0}
.gift:has(.gc.sealed) .tag5{opacity:.6;filter:saturate(.6)}
.seal5{position:absolute;width:62px;height:62px;background:var(--art-seal) center/contain no-repeat;filter:drop-shadow(0 4px 6px #0000004d);z-index:2}
.L5 .band.hero4{background:linear-gradient(90deg,var(--scene) 0,#2A0E10f2 38%,#2A0E10b0 52%,#2A0E1022 68%,transparent 78%),var(--art-hero) right center/cover;background-color:var(--scene)}
@media (max-width:959px){.L5 .band.hero4{background:linear-gradient(180deg,var(--scene) 0,var(--scene) 46%,#2A0E1099 62%,#2A0E1033 100%),var(--art-hero-sm) center bottom/100% auto no-repeat;background-color:var(--scene)}}
.L5 .stagecards .rib{display:none}
.L5 .stagecards .back .gc,.L5 .stagecards .gift .gc{box-shadow:0 50px 80px -30px #000000d0,0 12px 24px #00000059}
.L5 .hero4 .kick3{color:#F2CF8E}
.L5 .night{background:linear-gradient(90deg,#0E1424 0,#0E1424e0 40%,#0E142466 70%,transparent),var(--art-night) right center/cover;background-color:#0E1424}
@media (max-width:959px){.L5 .night{background:linear-gradient(180deg,#0E142400 0,#0E1424cc 34%,#0E1424 52%),var(--art-night-sm) center top/100% auto no-repeat;background-color:#0E1424;padding-top:150px}}
.L5 .night .bigstrip{background:#0E142499;backdrop-filter:blur(6px)}
.L5 .final3{background:linear-gradient(180deg,var(--scene) 0,#2A0E10b0 30%,transparent 60%),var(--art-final) center bottom/cover;background-color:var(--scene);padding:110px 0 340px!important}
@media (max-width:959px){.L5 .final3{background:linear-gradient(180deg,var(--scene) 55%,transparent 75%),var(--art-final-sm) center bottom/100% auto no-repeat;background-color:var(--scene);padding:64px 0 210px!important}}
.L5 .final3 .row{display:none}
.L5 .final3 h2{text-shadow:0 4px 30px #000a}
.L5 .seal5.ps{right:22px;top:-22px;transform:rotate(-12deg)}
.celebrate .band.hero4{animation:glow5 1.3s .2s both}
@keyframes glow5{40%{filter:brightness(1.18) saturate(1.08)}}
.V5 .vdec .plate{position:absolute;left:0;right:0;top:0;height:720px;background:var(--art-viewer) center top/cover;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 66%,transparent 98%)}
@media (min-width:960px){.V5 .vdec .plate{height:790px;background-image:var(--art-viewer-wide)}}
.V5.opened5 .vdec .plate{height:520px}
.V5 .vh h1{color:var(--cream);text-shadow:0 3px 24px #000a}
.V5 .vh .kick{color:#F2CF8E}
.V5 .stagev::before{display:none}
.V5 .gift .gc{box-shadow:0 50px 80px -30px #000000d0,0 12px 24px #00000059}
.V5 .gift .tab{background:var(--cream);color:var(--ink);box-shadow:0 10px 24px #0000006b}
.V5 .gift .tab:hover{background:#fff}
.V5 .sealnote,.V5 .cdhint{color:#F3E4D3;font-weight:600;text-shadow:0 1px 8px #000c}
.V5 .err h1{color:var(--cream);text-shadow:0 3px 20px #000c}
.V5 .err p{color:#EBD9C8;text-shadow:0 1px 8px #000c}
.V5 .content .hd .kick{color:#F2CF8E}
.V5 .vdec .snow{z-index:6}
.celebrate .vdec .plate{animation:glow5 1.3s .2s both}
.V5 .seal5.ns{right:18px;top:-24px;transform:rotate(10deg)}
.V5 .seal5.cs{right:14px;top:-22px;transform:rotate(-10deg)}
.L5 .hero4 .fir5,.L5 .final3 .fir5,.L5 .night .fir5{display:none}
.L5 .fir5.f-sec.bl{left:-150px;bottom:-110px}
@media (max-width:639px){.L5 .fir5.f-sec{display:none}}
:root{--font-editorial:"Cormorant Garamond","Cormorant","Iowan Old Style",Georgia,serif;--background:#F3EDE4;--surface:#FBF7F1;--surfaceSunken:#EAE2D7;--separator:#E0D6C9;--ink:#1E1A18;--inkPressed:#3A3431;--textSecondary:#6B635D;--accent:#6E1423;--accentSoft:#F0E2E2;--burgundy:#6E1423;--burgundyDeep:#4A0D17;--onBurgundy:#FBF6EF;--wallHero:#7E5A3D;--wallHeroSm:#7C5536;--wallTree:#5A3B26;--wallFinal:#583C27;--plate:#5D442C;--dusk:#2A180E;--onDusk:#F6EEE2;--onDusk2:#E6D3BC;--candle:#EBC79A;--velvet:linear-gradient(90deg,#3E0A13 0,#6E1423 28%,#8C2535 50%,#6E1423 72%,#3E0A13 100%);--art-bow:url(bow.badbf4bbdd.webp);--ribbonW:15px;--r6:6px;--shadow-gift:0 30px 50px -30px #2a201a73,0 2px 6px #2a201a1a;--shadow-gift-lg:0 44px 70px -34px #2a201a8c,0 6px 14px #2a201a1f;--shadow-card:none}
[data-theme=cranberry]{--wrap:#E4DCD0;--pat:transparent;--ribbon:#6E1423;--ribbonEdge:#4A0D17;--onWrap:#5A1220;--onWrap2:#7C5F59}
[data-theme=pine]{--wrap:#24382C;--pat:transparent;--ribbon:#6E1423;--ribbonEdge:#4A0D17;--onWrap:#F1ECE2;--onWrap2:#B9C6BC}
[data-theme=midnight]{--wrap:#232B3A;--pat:transparent;--ribbon:#6E1423;--ribbonEdge:#4A0D17;--onWrap:#F1ECE2;--onWrap2:#B3B9C6}
[data-theme=blush]{--wrap:#E8D5CE;--pat:transparent;--ribbon:#6E1423;--ribbonEdge:#4A0D17;--onWrap:#4E1A22;--onWrap2:#81585A}
.L6,.V6{background:var(--background) var(--grain)!important}
.L6 section{background-image:var(--grain)}
.L6 section.surf{background-color:var(--surface)!important}
.L6 .hero h1,.L6 .sec-h h2,.L6 .final3 h2,.L6 .plan h3,.L6 .step h3,.V6 .vh h1,.V6 .err h1,.V6 .content h2{font-family:var(--font-editorial)!important;font-weight:500!important;letter-spacing:-.012em!important}
.kick6,.L6 .kick3,.V6 .vh .kick{display:inline-flex;align-items:center;gap:12px;font:600 12px/1.2 var(--font-ui)!important;letter-spacing:.2em!important;text-transform:uppercase!important;color:var(--burgundy)!important;margin-bottom:18px}
.L6 .kick3::before{content:"";width:28px;height:1px;background:var(--burgundy);display:block}
.L6 .btn.cream{background:var(--burgundy);color:var(--onBurgundy)}
.L6 .btn.cream:hover{background:var(--burgundyDeep)}
.L6 .sh .btn.cream{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px #1E1A1866}
.L6 .sh .btn.cream:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.L6 .band .asb{box-shadow:none}
.L6 .wm{font-family:var(--font-editorial);font-weight:600;font-size:22px;letter-spacing:0}
.L6 .wm .mk::before,.L6 .wm .mk::after,.V6 .wm .mk::before,.V6 .wm .mk::after{display:none}
.L6 .wm .mk,.V6 .wm .mk{background:var(--burgundy);box-shadow:none;border-radius:2px;width:3px!important;height:20px!important}
.L6 .gc,.V6 .gc{border-radius:calc(8px*var(--s))}
.L6 .gc .num,.V6 .gc .num{font:500 calc(132px*var(--s))/1 var(--font-editorial);letter-spacing:-.02em;font-variant-numeric:lining-nums;left:calc(22px*var(--s));bottom:calc(6px*var(--s));text-shadow:none}
.L6 .gc .lab,.V6 .gc .lab{text-shadow:none;max-width:calc(50% - 34px*var(--s));letter-spacing:.14em}
.L6 .gift .tail,.V6 .gift .tail{left:calc(50% - var(--ribbonW)*var(--s)/2);width:calc(var(--ribbonW)*var(--s));background:var(--velvet);box-shadow:0 4px 8px #2a201a33}
.L6 .gift .tab,.V6 .gift .tab{left:0;background:var(--burgundy);color:var(--onBurgundy);box-shadow:0 12px 24px -10px #4A0D17aa}
.L6 .gift .tab:hover,.V6 .gift .tab:hover{background:var(--burgundyDeep)}
.L6 .gift .gc,.V6 .gift .gc,.L6 .stagecards .gift .gc{box-shadow:var(--shadow-gift-lg)}
.try4{display:none}
.L6 .gift.unwrapping .lid,.V6 .gift.unwrapping .lid{animation:lid6 .9s .28s cubic-bezier(.5,0,.3,1) both;box-shadow:none}
@keyframes lid6{0%{transform:none;opacity:1}100%{transform:translateY(-12%) scale(1.02);opacity:0}}
.bowfall{position:absolute;left:calc(50% - 131px*var(--s));top:calc(74px*var(--s));width:calc(262px*var(--s));height:calc(393px*var(--s));background:var(--art-bow) center top/contain no-repeat;z-index:4;pointer-events:none;transform-origin:50% 9%;filter:drop-shadow(0 10px 14px #2a201a40);animation:bowfall 1.3s cubic-bezier(.45,0,.7,.5) both}
@keyframes bowfall{0%{transform:none}22%{transform:translateY(6px) rotate(-4deg) scaleX(1.06)}100%{transform:translate(-50px,560px) rotate(-30deg) scale(.92);opacity:0}}
.L6 .bloom,.V6 .bloom{background:radial-gradient(closest-side,#FFFBF4e6,#FFF6E866 55%,transparent 74%)}
.L6 .gift.unwrapping .gc,.V6 .gift.unwrapping .gc{animation:none}
@media (prefers-reduced-motion:reduce){.bowfall{display:none}.L6 .gift.unwrapping .lid,.V6 .gift.unwrapping .lid{animation:none;opacity:0}}
.L6 .tl,.V6 .tl{border-radius:4px}
.L6 .tl .n,.V6 .tl .n{font-family:var(--font-editorial);font-weight:500;letter-spacing:0;text-shadow:none!important}
.L6 .band{color:var(--onDusk)}
.L6 .band .wm,.L6 .band .lang>button{color:var(--onDusk)}
.L6 .band .lang>button:hover{background:#ffffff18}
.L6 .band .ctanote{color:var(--onDusk2)}
.L6 .band .btn.cream{background:var(--onDusk);color:var(--burgundy)}
.L6 .band .btn.cream:hover{background:#fff}
.L6 .band .sh .btn.cream{background:transparent;color:var(--onDusk);box-shadow:inset 0 0 0 1px #F6EEE280}
.L6 .band .asb{box-shadow:inset 0 0 0 1px #F6EEE240}
.L6 .band .kick3{color:var(--candle)!important}
.L6 .band .kick3::before{background:var(--candle)}
.L6 .band.hero4{background:linear-gradient(90deg,#2A180E8c 0,#2A180E4d 34%,#2A180E00 56%),var(--art-hero) right center/cover no-repeat;background-color:var(--wallHero);padding-top:20px}
.L6 .hero{display:block!important;padding:84px 0 150px!important}
.L6 .hero>div{max-width:540px}
.L6 .hero h1{font-size:86px!important;line-height:.95!important;max-width:9ch;color:var(--onDusk)}
.L6 .hero h1 em{font-style:italic;color:var(--candle);text-shadow:0 0 40px #FFB86A40}
.L6 .hero p{color:var(--onDusk2);font-size:19px;line-height:29px;max-width:370px;margin-top:22px}
@media (max-width:959px){.L6 .band.hero4{background:linear-gradient(180deg,var(--wallHeroSm) calc(100% - 100vw*1.25),#7C553600 calc(100% - 100vw*1.25*.72)),var(--art-hero-sm) center bottom/100% auto no-repeat;background-color:var(--wallHeroSm);padding-bottom:calc(100vw*1.25*.8)}.L6 .hero{padding:24px 0 0!important}.L6 .hero h1{font-size:54px!important;line-height:.98!important}.L6 .hero p{font-size:17px;line-height:25px}}
.L6 .try6{text-align:center;padding:96px 0 104px!important}
.L6 .cap6{font:italic 500 26px/1.2 var(--font-editorial);color:var(--textSecondary);margin-bottom:34px}
.L6 .stagecards.solo{min-height:0;justify-content:center}
.L6 .try6 .after{color:var(--textSecondary)}
@media (max-width:639px){.L6 .try6{padding:64px 0 72px!important}.L6 .cap6{font-size:22px;margin-bottom:24px}}
.L6 .sec-h h2{font-size:64px!important;line-height:1!important}
@media (max-width:959px){.L6 .sec-h h2{font-size:42px!important;line-height:1.02!important}}
.L6 .sec-h p{color:var(--textSecondary)}
.L6 .types::before{display:none}
.L6 .tcard .vis{transform:none!important;border-radius:var(--r6);box-shadow:none!important;border:1px solid var(--separator)}
.L6 .tcard h3{font:600 17px var(--font-ui)}
.L6 .step .vis{background:#ECE8E2!important;border-radius:var(--r6)}
.L6 .step .no{font:italic 500 76px/.8 var(--font-editorial)!important;color:var(--burgundy)}
.L6 .step h3{font-size:30px!important;line-height:1.05!important}
.L6 .linkbox{box-shadow:none!important;border:1px solid var(--separator)}
.L6 .night{color:var(--onDusk);background:var(--art-tree) right center/cover no-repeat!important;background-color:var(--wallTree)!important}
.L6 .night .split{grid-template-columns:minmax(0,500px)!important;gap:40px}
.L6 .night{background:linear-gradient(90deg,#2A180E80 0,#2A180E33 40%,#2A180E00 60%),var(--art-tree) right center/cover no-repeat!important}
.L6 .night .sec-h p,.L6 .night .scap{color:var(--onDusk2)}
.L6 .night .bigstrip{background:#2A180Eb3!important;backdrop-filter:blur(4px);box-shadow:none!important;border-radius:var(--r6)}
.L6 .night .strip a{background:#ffffff14;color:#CDB9A2;box-shadow:none;animation:none}
.L6 .night .strip a.o{background:var(--onDusk);color:var(--ink)}
.L6 .night .strip a.m{background:transparent;color:var(--onDusk);box-shadow:inset 0 0 0 1.5px var(--candle)}
.L6 .night .strip a.t{background:var(--burgundy);color:#fff;box-shadow:0 0 0 3px #EBC79A80,0 0 22px #FFB86A66}
.L6 .night .legend i{background:#ffffff24}
.L6 .night .legend i.o{background:var(--onDusk)}
.L6 .night .legend i.t{background:var(--burgundy);box-shadow:0 0 0 2px #EBC79A80}
.L6 .night .legend i.m{background:transparent;box-shadow:inset 0 0 0 1.5px var(--candle)}
@media (max-width:959px){.L6 .night{background:linear-gradient(180deg,#5A3B2600 200px,var(--wallTree) 300px),var(--art-tree) 78% 0/auto 300px no-repeat!important;background-color:var(--wallTree)!important;padding-top:320px!important}}
.L6 .msgs{background:#ECE6E0!important;border-radius:var(--r6);box-shadow:none}
.L6 .plan{border-radius:var(--r6)!important;box-shadow:none!important;border:1px solid var(--separator);background:var(--surface)!important}
.L6 .plan h3{font-size:40px!important;line-height:1!important}
.L6 .plan.pro{position:relative;background:#F2ECE5!important;background-image:none!important;color:var(--ink);border-color:#E2D3CB}
.L6 .plan.pro .pr{color:var(--textSecondary)}
.L6 .plan.pro li svg{color:var(--burgundy)}
.L6 .plan.pro .pill.prem{background:#6E14231a;color:var(--burgundy)}
.bow6{position:absolute;right:26px;top:-4px;width:120px;height:210px;background:var(--art-bow) center top/contain no-repeat;filter:drop-shadow(0 6px 8px #2a201a33);pointer-events:none}
@media (max-width:639px){.bow6{width:84px;height:150px;right:14px}}
.L6 .faq summary{font:500 26px/1.2 var(--font-editorial)!important}
@media (min-width:960px){.L6 .faq summary{font-size:30px!important}}
.L6 .final3{text-align:left;background:linear-gradient(90deg,#2A180E66 0,#2A180E00 55%),var(--art-final) center 12%/cover no-repeat!important;background-color:var(--wallFinal)!important;padding:150px 0 170px!important}
.L6 .final3 .wrapc>*{max-width:560px}
.L6 .final3 h2{font-size:84px!important;line-height:.98!important;color:var(--onDusk);text-shadow:none!important}
.L6 .final3 h2 + p{color:var(--onDusk2)!important;font:400 19px/28px var(--font-ui)!important;margin-top:18px}
.L6 .final3 .ctas{justify-content:flex-start}
@media (max-width:959px){.L6 .final3{background:linear-gradient(180deg,#583C2700 200px,var(--wallFinal) 300px),var(--art-final) 72% 0/auto 300px no-repeat!important;background-color:var(--wallFinal)!important;padding:320px 0 64px!important}.L6 .final3 h2{font-size:48px!important}}
.celebrate .band.hero4{animation:none}
.V6 .vdec .plate{height:760px;background:var(--art-viewer) 0 100%/cover no-repeat;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 99%);mask-image:linear-gradient(180deg,#000 70%,transparent 99%)}
@media (min-width:960px){.V6 .vdec .plate{height:820px;background:var(--art-viewer-wide) 0 100%/cover no-repeat}}
.V6.opened5 .vdec .plate{height:520px}
.V6 .vh h1{color:var(--onDusk);text-shadow:0 2px 30px #2A180E80;font-size:56px!important;line-height:1!important}
@media (min-width:960px){.V6 .vh h1{font-size:76px!important}}
.V6 .vh .kick{margin-bottom:10px;color:var(--candle)!important}
.V6 .gift .gc{box-shadow:var(--shadow-gift-lg)}
.V6 .sealnote,.V6 .cdhint{color:var(--onDusk);text-shadow:0 1px 8px #2A180E;font-weight:500}
.V6 .err h1{color:var(--onDusk);text-shadow:0 2px 20px #2A180E}
.V6 .err p{color:var(--onDusk2);text-shadow:0 1px 8px #2A180E}
.V6 .content .hd .kick{color:var(--candle)!important}
.V6 .strip a.t{background:var(--burgundy);box-shadow:0 0 0 3px #6E142326}
.V6 .mown{background:var(--surface)!important;background-image:none!important;border:1px solid var(--separator);box-shadow:none!important;border-radius:var(--r6);color:var(--ink)}
.V6 .mown span{color:var(--textSecondary)}
.V6 .mown .sbtn{background:var(--burgundy)!important;color:var(--onBurgundy)!important}
.V6 .print4{border-radius:2px;transform:none}
.V6 .print4 .cap{font:italic 500 22px/1.2 var(--font-editorial)}
.V6 .print4 .tape{background:#EFE8DCd9}
.V6 .note .sig{font:italic 500 30px/1 var(--font-editorial)!important;color:var(--burgundy)}
.V6 .ticket .bot{font:400 15px/22px var(--font-ui)}
.V6 .content.t-voice .ccard,.V6 .gifthd{background-image:none!important}
.V6 .peek{border-radius:6px}
:root{--cran7:#5F1215;--cranTop7:#74171A;--cranDeep7:#5E0F19;--pine7:#22301F;--ink7:#0E1420;--sun7:#F2C58A;--onCol7:#FBF1E4;--onCol72:#EBD3BE;--art-hero:url(hero.326559f3f3.webp);--art-hero-sm:url(hero-sm.c5bf27389a.webp);--art-night7:url(night.68ec05d3b9.webp);--art-final:url(finale.9593a193c6.webp);--art-gobo:url(gobo.09b59bfce6.webp)}
.L6 .band.hero4{background:linear-gradient(180deg,#5F121500 620px,var(--cran7) 740px),linear-gradient(90deg,var(--cran7) 0,var(--cran7) calc(100% - 1110px),#5F121500 calc(100% - 900px)),var(--art-hero) right top/auto 740px no-repeat;background-color:var(--cran7)}
.L6 .hero>div{max-width:410px}
.L6 .band .wm .mk{background:var(--sun7)}
.L6 .band .kick3,.L6 .final3 .kick3{color:var(--sun7)!important}
.L6 .band .kick3::before{background:var(--sun7)}
.L6 .hero h1{color:var(--onCol7);font-size:92px!important}
.L6 .hero h1 em{color:var(--sun7);text-shadow:none}
.L6 .hero p,.L6 .band .ctanote{color:var(--onCol72)}
.L6 .band .btn.cream{background:var(--onCol7);color:var(--cran7)}
@media (max-width:959px){.L6 .band.hero4{background:linear-gradient(180deg,var(--cranTop7) calc(100% - 100vw*1.22),#74171A00 calc(100% - 100vw*1.04)),var(--art-hero-sm) center bottom/100% auto no-repeat;background-color:var(--cranTop7);padding-bottom:calc(100vw*1.06)}.L6 .hero>div{max-width:none}.L6 .hero h1{font-size:56px!important}}
.L6 .night{background:linear-gradient(90deg,var(--ink7) 0,#11172500 46%),var(--art-night7) right center/cover no-repeat!important;background-color:var(--ink7)!important}
.L6 .night .bigstrip{background:#ffffff0d!important;backdrop-filter:none}
.L6 .night .strip a.m{box-shadow:inset 0 0 0 1.5px var(--sun7)}
.L6 .night .strip a.t{box-shadow:0 0 0 3px #F2C58A99,0 0 26px #F2C58A55}
@media (max-width:959px){.L6 .night{background:linear-gradient(180deg,#11172500 150px,var(--ink7) 250px),var(--art-night7) 82% 0/auto 260px no-repeat!important;padding-top:250px!important}}
.L6 .final3{background:linear-gradient(90deg,#1A2617d9 0,#1A261799 30%,#1A261700 55%),var(--art-final) right center/cover no-repeat!important;background-color:var(--pine7)!important}
.L6 .final3 h2{color:var(--onCol7)}
.L6 .final3 h2 + p{color:var(--onCol72)!important}
.L6 .final3 .btn.cream{background:var(--onCol7);color:var(--pine7)}
@media (max-width:959px){.L6 .final3{background:linear-gradient(180deg,#22301F00 180px,var(--pine7) 270px),var(--art-final) 80% 0/auto 280px no-repeat!important;padding:290px 0 64px!important}}
.L6 .step .no{color:var(--cran7)}
.plate[data-theme=cranberry]{--plate7:#7A1622}
.plate[data-theme=pine]{--plate7:#1F3A2C}
.plate[data-theme=midnight]{--plate7:#1A2235}
.plate[data-theme=blush]{--plate7:#9E5A5A}
.V6 .vdec .plate{background:var(--art-gobo) 70% 0/cover no-repeat,var(--plate7,#7A1622)!important;background-blend-mode:multiply}
@media (min-width:960px){.V6 .vdec .plate{background:var(--art-gobo) 62% 10%/cover no-repeat,var(--plate7,#7A1622)!important;background-blend-mode:multiply}}
.V6 .vh h1{color:var(--onCol7);text-shadow:none}
.V6 .vh .kick,.V6 .content .hd .kick{color:var(--sun7)!important}
.V6 .sealnote,.V6 .cdhint,.V6 .err h1{text-shadow:none}
:root{--cran7:#5C0D0E;--cranTop7:#7A171A;--ink7:#0B111C;--snow8:#FFF6EA;--gold8:#F6CF8E}
.snow.s8{z-index:1}
.snow.s8 i{background:var(--snow8);filter:blur(.4px);box-shadow:0 0 6px #FFE7C255}
.band.hero4>.wrapc,.night>.wrapc,.band.final3>.wrapc{position:relative;z-index:2}
.L6 .band.hero4,.L6 .night,.L6 .final3{position:relative;overflow:hidden}
.L6 .band .kick3::before,.L6 .final3 .kick3::before{width:11px!important;height:11px!important;background:var(--sun7)!important;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.L6 .hero h1 em{text-shadow:0 0 28px #F2C58A55}
.burst8{position:absolute;inset:-20% -30%;pointer-events:none;z-index:5;overflow:visible}
.burst8 i{position:absolute;left:50%;top:26%;width:var(--z);height:var(--z);border-radius:50%;background:var(--gold8);box-shadow:0 0 8px 1px #FFD99A99;opacity:0;animation:fleck8 1.6s var(--dl) cubic-bezier(.2,.7,.4,1) both}
.burst8 i.st{border-radius:0;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);box-shadow:none;background:#FFE3AE}
@keyframes fleck8{0%{transform:translate(0,0) scale(.4);opacity:0}15%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1);opacity:0}}
@media (prefers-reduced-motion:reduce){.burst8{display:none}}
.V6 .vdec .snow.s8{position:absolute;inset:0;height:760px;-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}
.L6 .band.hero4>.snow.s8{left:44%}
.L6 .night>.snow.s8{left:52%}
.L6 .final3>.snow.s8{left:50%}
@media (max-width:959px){.L6 .band.hero4>.snow.s8{left:0;top:auto;height:calc(100vw*1.06)}.L6 .night>.snow.s8{left:0;bottom:auto;height:250px}.L6 .final3>.snow.s8{left:0;bottom:auto;height:280px}}
.snow.s8 i{filter:blur(.8px)}

/* ===== v8 site pieces: what the prototype does with inline styles or JS-only markup (CSP style-src 'self') ===== */
section.surf{background:var(--surface)}
.band .lang>summary{color:inherit}
.band .lang>summary:hover{background:#ffffff18}
.band .lang .menu{color:var(--textPrimary)}
.lp{background:#fff}
.L6 .plan h3{display:flex;gap:8px;align-items:center}
.print4 .ccard.photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.print4 .ccard.photo{background:var(--surfaceSunken);overflow:hidden}
.print4[hidden]{display:none}
.vdec .plate{position:absolute;left:0;right:0;top:0}
.V .err h1{font-size:40px;line-height:1.05;max-width:14ch}
@media (min-width:960px){.V .err h1{font-size:48px}}
.V .err .ic{background:var(--surface);color:var(--textPrimary)}
.V.opened5 .content{position:relative}
.mown .sbtn{text-decoration:none}
body>.V{min-height:100vh;min-height:100dvh}
/* live snow (v8 .snow.s8): 46 flakes, fixed seed; phones get the first 26 */
.snow.s8 i:nth-child(1){left:51.7%;top:64.8%;width:4.4px;height:4.4px;opacity:0.63;--x:-2px;animation-duration:27.2s;animation-delay:-13.3s}
.snow.s8 i:nth-child(2){left:63.6%;top:87.7%;width:3.9px;height:3.9px;opacity:0.39;--x:3px;animation-duration:16.5s;animation-delay:-0.3s}
.snow.s8 i:nth-child(3){left:1.1%;top:20.0%;width:4.1px;height:4.1px;opacity:0.83;--x:1px;animation-duration:26.4s;animation-delay:-9.7s}
.snow.s8 i:nth-child(4){left:20.9%;top:66.7%;width:5.1px;height:5.1px;opacity:0.60;--x:-28px;animation-duration:16.6s;animation-delay:-14.3s}
.snow.s8 i:nth-child(5){left:9.4%;top:18.0%;width:3.1px;height:3.1px;opacity:0.38;--x:16px;animation-duration:19.3s;animation-delay:-8.6s}
.snow.s8 i:nth-child(6){left:93.8%;top:93.5%;width:2.7px;height:2.7px;opacity:0.79;--x:-5px;animation-duration:18.3s;animation-delay:-3.3s}
.snow.s8 i:nth-child(7){left:19.7%;top:53.9%;width:2.6px;height:2.6px;opacity:0.60;--x:4px;animation-duration:14.2s;animation-delay:-7.4s}
.snow.s8 i:nth-child(8){left:95.9%;top:78.0%;width:4.8px;height:4.8px;opacity:0.78;--x:-27px;animation-duration:21.5s;animation-delay:-2.6s}
.snow.s8 i:nth-child(9){left:4.9%;top:7.8%;width:2.8px;height:2.8px;opacity:0.40;--x:-19px;animation-duration:27.4s;animation-delay:-25.7s}
.snow.s8 i:nth-child(10){left:81.5%;top:59.5%;width:4.7px;height:4.7px;opacity:0.81;--x:-7px;animation-duration:25.5s;animation-delay:-2.8s}
.snow.s8 i:nth-child(11){left:56.4%;top:0.9%;width:5.0px;height:5.0px;opacity:0.78;--x:15px;animation-duration:28.4s;animation-delay:-22.0s}
.snow.s8 i:nth-child(12){left:68.0%;top:96.2%;width:2.4px;height:2.4px;opacity:0.82;--x:-23px;animation-duration:27.0s;animation-delay:-27.0s}
.snow.s8 i:nth-child(13){left:39.6%;top:17.0%;width:2.5px;height:2.5px;opacity:0.39;--x:20px;animation-duration:23.7s;animation-delay:-10.4s}
.snow.s8 i:nth-child(14){left:24.4%;top:20.1%;width:2.9px;height:2.9px;opacity:0.54;--x:-18px;animation-duration:29.4s;animation-delay:-17.0s}
.snow.s8 i:nth-child(15){left:16.2%;top:91.9%;width:3.2px;height:3.2px;opacity:0.72;--x:5px;animation-duration:22.5s;animation-delay:-17.2s}
.snow.s8 i:nth-child(16){left:27.3%;top:59.6%;width:3.3px;height:3.3px;opacity:0.51;--x:-15px;animation-duration:14.2s;animation-delay:-10.3s}
.snow.s8 i:nth-child(17){left:33.1%;top:68.9%;width:5.8px;height:5.8px;opacity:0.73;--x:12px;animation-duration:29.8s;animation-delay:-27.6s}
.snow.s8 i:nth-child(18){left:82.9%;top:28.4%;width:3.2px;height:3.2px;opacity:0.77;--x:24px;animation-duration:19.1s;animation-delay:-6.3s}
.snow.s8 i:nth-child(19){left:78.0%;top:20.8%;width:3.3px;height:3.3px;opacity:0.83;--x:27px;animation-duration:18.4s;animation-delay:-12.3s}
.snow.s8 i:nth-child(20){left:15.9%;top:80.7%;width:2.5px;height:2.5px;opacity:0.51;--x:8px;animation-duration:19.0s;animation-delay:-3.8s}
.snow.s8 i:nth-child(21){left:1.5%;top:39.0%;width:2.5px;height:2.5px;opacity:0.63;--x:-6px;animation-duration:22.3s;animation-delay:-4.3s}
.snow.s8 i:nth-child(22){left:25.0%;top:33.8%;width:2.5px;height:2.5px;opacity:0.52;--x:-12px;animation-duration:25.5s;animation-delay:-26.6s}
.snow.s8 i:nth-child(23){left:6.1%;top:88.8%;width:3.1px;height:3.1px;opacity:0.55;--x:-13px;animation-duration:18.2s;animation-delay:-15.4s}
.snow.s8 i:nth-child(24){left:5.3%;top:56.9%;width:3.4px;height:3.4px;opacity:0.48;--x:-5px;animation-duration:21.3s;animation-delay:-21.2s}
.snow.s8 i:nth-child(25){left:1.6%;top:32.1%;width:2.4px;height:2.4px;opacity:0.75;--x:6px;animation-duration:24.9s;animation-delay:-3.1s}
.snow.s8 i:nth-child(26){left:37.0%;top:26.5%;width:4.3px;height:4.3px;opacity:0.51;--x:-29px;animation-duration:16.8s;animation-delay:-12.7s}
.snow.s8 i:nth-child(27){left:27.6%;top:15.7%;width:2.5px;height:2.5px;opacity:0.47;--x:-12px;animation-duration:21.5s;animation-delay:-7.0s}
.snow.s8 i:nth-child(28){left:41.2%;top:48.8%;width:5.4px;height:5.4px;opacity:0.69;--x:-18px;animation-duration:22.0s;animation-delay:-11.8s}
.snow.s8 i:nth-child(29){left:42.0%;top:27.2%;width:2.4px;height:2.4px;opacity:0.56;--x:-20px;animation-duration:20.2s;animation-delay:-5.5s}
.snow.s8 i:nth-child(30){left:1.7%;top:48.4%;width:2.6px;height:2.6px;opacity:0.78;--x:-9px;animation-duration:28.2s;animation-delay:-1.6s}
.snow.s8 i:nth-child(31){left:77.1%;top:17.4%;width:4.0px;height:4.0px;opacity:0.49;--x:-4px;animation-duration:22.0s;animation-delay:-2.8s}
.snow.s8 i:nth-child(32){left:54.5%;top:24.2%;width:4.2px;height:4.2px;opacity:0.38;--x:-27px;animation-duration:17.6s;animation-delay:-3.8s}
.snow.s8 i:nth-child(33){left:61.1%;top:88.6%;width:2.5px;height:2.5px;opacity:0.57;--x:25px;animation-duration:14.8s;animation-delay:-15.1s}
.snow.s8 i:nth-child(34){left:42.6%;top:71.2%;width:4.2px;height:4.2px;opacity:0.83;--x:7px;animation-duration:14.3s;animation-delay:-16.0s}
.snow.s8 i:nth-child(35){left:7.6%;top:50.8%;width:4.1px;height:4.1px;opacity:0.62;--x:-30px;animation-duration:14.5s;animation-delay:-17.8s}
.snow.s8 i:nth-child(36){left:38.9%;top:69.6%;width:3.9px;height:3.9px;opacity:0.51;--x:-9px;animation-duration:18.6s;animation-delay:-27.6s}
.snow.s8 i:nth-child(37){left:71.0%;top:43.5%;width:5.7px;height:5.7px;opacity:0.37;--x:-23px;animation-duration:20.2s;animation-delay:-1.3s}
.snow.s8 i:nth-child(38){left:34.9%;top:40.4%;width:2.8px;height:2.8px;opacity:0.45;--x:-8px;animation-duration:16.1s;animation-delay:-27.2s}
.snow.s8 i:nth-child(39){left:68.6%;top:24.6%;width:2.7px;height:2.7px;opacity:0.76;--x:28px;animation-duration:28.9s;animation-delay:-18.9s}
.snow.s8 i:nth-child(40){left:95.8%;top:67.6%;width:3.0px;height:3.0px;opacity:0.79;--x:-16px;animation-duration:29.1s;animation-delay:-29.0s}
.snow.s8 i:nth-child(41){left:69.5%;top:26.3%;width:3.7px;height:3.7px;opacity:0.55;--x:-1px;animation-duration:27.8s;animation-delay:-12.2s}
.snow.s8 i:nth-child(42){left:83.5%;top:87.0%;width:2.6px;height:2.6px;opacity:0.50;--x:-24px;animation-duration:19.0s;animation-delay:-29.1s}
.snow.s8 i:nth-child(43){left:50.2%;top:76.9%;width:3.5px;height:3.5px;opacity:0.74;--x:-11px;animation-duration:14.3s;animation-delay:-18.8s}
.snow.s8 i:nth-child(44){left:44.9%;top:41.8%;width:4.9px;height:4.9px;opacity:0.57;--x:9px;animation-duration:22.8s;animation-delay:-12.8s}
.snow.s8 i:nth-child(45){left:16.9%;top:90.2%;width:4.1px;height:4.1px;opacity:0.38;--x:-25px;animation-duration:26.3s;animation-delay:-8.2s}
.snow.s8 i:nth-child(46){left:67.6%;top:4.8%;width:4.0px;height:4.0px;opacity:0.39;--x:11px;animation-duration:29.2s;animation-delay:-10.9s}
@media (max-width:959px){.snow.s8 i:nth-child(n+27){display:none}}

/* ===== approved web tokens, design/web/final/tokens.css as is (art and fonts are flat in static/). Last, so they win. ===== */
/* advent gift — approved web tokens (v8 "v7 + the holiday", board 2026-10-27, TVO-459).
   Generated by design/web/final.py from the layer stack tokens.css → v3 → … → v8 (last one wins).
   Do not edit by hand: change a layer and re-run. Art and fonts live next to this file. */
@font-face{font-family:"Cormorant Garamond";src:url(cormorant-500-normal.8197bf5361.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(cormorant-600-normal.ae062b6d5a.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(cormorant-500-italic.4fb55a7a6d.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
:root{
  --background:#F3EDE4;  /* v6 */
  --surface:#FBF7F1;  /* v6 */
  --surfaceSunken:#EAE2D7;  /* v6 */
  --separator:#E0D6C9;  /* v6 */
  --textPrimary:#1A1716;  /* tokens.css */
  --textSecondary:#6B635D;  /* v6 */
  --textTertiary:#6B625B;  /* tokens.css */
  --textOnInk:#FFFFFF;  /* tokens.css */
  --ink:#1E1A18;  /* v6 */
  --inkPressed:#3A3431;  /* tokens.css */
  --inkDisabled:#CFC8C1;  /* tokens.css */
  --accent:#6E1423;  /* v6 */
  --accentSoft:#F0E2E2;  /* v6 */
  --success:#2B6E4B;  /* tokens.css */
  --successSoft:#E0EEE5;  /* tokens.css */
  --info:#2A5694;  /* tokens.css */
  --infoSoft:#E4ECF7;  /* tokens.css */
  --destructive:#B8262C;  /* tokens.css */
  --premium:#7D5B12;  /* tokens.css */
  --premiumSoft:#F4EAD2;  /* tokens.css */
  --scrim:#1A171670;  /* tokens.css */
  --font-ui:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;  /* tokens.css */
  --font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;  /* tokens.css */
  --font-serif:"New York",ui-serif,"Iowan Old Style","Charter","Georgia",serif;  /* tokens.css */
  --r-tile:12px;  /* tokens.css */
  --r-field:12px;  /* tokens.css */
  --r-button:16px;  /* tokens.css */
  --r-card:20px;  /* tokens.css */
  --shadow-gift:0 30px 50px -30px #2a201a73,0 2px 6px #2a201a1a;  /* v6 */
  --shadow-card:none;  /* v6 */
  --shadow-row:0 1px 2px #1a17160f;  /* tokens.css */
  --shadow-tab:0 6px 14px #1a171640;  /* tokens.css */
  --shadow-dialog:0 30px 80px -20px #1a171666;  /* tokens.css */
  --stage:#7E1828;  /* v3 */
  --stageDeep:#4A0B16;  /* v3 */
  --stageGlow:#B3283C;  /* v3 */
  --onStage:#FBF1E6;  /* v3 */
  --onStage2:#EBC7BE;  /* v3 */
  --gold:#E8C27A;  /* v3 */
  --cream:#FBF1E6;  /* v3 */
  --night:#161C2A;  /* v3 */
  --nightRaised:#ffffff0d;  /* v3 */
  --onNight:#F4EEE2;  /* v3 */
  --onNight2:#B5BBCA;  /* v3 */
  --shadow-gift-lg:0 44px 70px -34px #2a201a8c,0 6px 14px #2a201a1f;  /* v6 */
  --art-hero:url(hero.326559f3f3.webp);  /* v8 */
  --art-hero-sm:url(hero-sm.c5bf27389a.webp);  /* v8 */
  --art-final:url(finale.9593a193c6.webp);  /* v8 */
  --ribbonW:15px;  /* v6 */
  --font-editorial:"Cormorant Garamond","Cormorant","Iowan Old Style",Georgia,serif;  /* v6 */
  --burgundy:#6E1423;  /* v6 */
  --burgundyDeep:#4A0D17;  /* v6 */
  --onBurgundy:#FBF6EF;  /* v6 */
  --velvet:linear-gradient(90deg,#3E0A13 0,#6E1423 28%,#8C2535 50%,#6E1423 72%,#3E0A13 100%);  /* v6 */
  --wallHero:#7E5A3D;  /* v6 */
  --wallHeroSm:#7C5536;  /* v6 */
  --wallTree:#5A3B26;  /* v6 */
  --wallFinal:#583C27;  /* v6 */
  --onDusk:#F6EEE2;  /* v6 */
  --onDusk2:#E6D3BC;  /* v6 */
  --candle:#EBC79A;  /* v6 */
  --art-bow:url(bow.badbf4bbdd.webp);  /* v6 */
  --r6:6px;  /* v6 */
  --cran7:#5C0D0E;  /* v8 */
  --cranTop7:#7A171A;  /* v8 */
  --pine7:#22301F;  /* v7 */
  --ink7:#0B111C;  /* v8 */
  --sun7:#F2C58A;  /* v7 */
  --onCol7:#FBF1E4;  /* v7 */
  --onCol72:#EBD3BE;  /* v7 */
  --art-night7:url(night.68ec05d3b9.webp);  /* v8 */
  --art-gobo:url(gobo.09b59bfce6.webp);  /* v7 */
  --snow8:#FFF6EA;  /* v8 */
  --gold8:#F6CF8E;  /* v8 */
}
[data-theme=cranberry]{
  --wrap:#E4DCD0;  /* v6 */
  --pat:#FFFFFF0D;  /* tokens.css */
  --ribbon:#6E1423;  /* v6 */
  --ribbonEdge:#D8C3AA;  /* tokens.css */
  --onWrap:#5A1220;  /* v6 */
  --onWrap2:#7C5F59;  /* v6 */
  --plate7:#7A1622;  /* v7 */
}
[data-theme=pine]{
  --wrap:#24382C;  /* v6 */
  --pat:#FFFFFF0B;  /* tokens.css */
  --ribbon:#6E1423;  /* v6 */
  --ribbonEdge:#C29C6E;  /* tokens.css */
  --onWrap:#F1ECE2;  /* v6 */
  --onWrap2:#B9C6BC;  /* v6 */
  --plate7:#1F3A2C;  /* v7 */
}
[data-theme=midnight]{
  --wrap:#232B3A;  /* v6 */
  --pat:#FFFFFF0A;  /* tokens.css */
  --ribbon:#6E1423;  /* v6 */
  --ribbonEdge:#B4914E;  /* tokens.css */
  --onWrap:#F1ECE2;  /* v6 */
  --onWrap2:#B3B9C6;  /* v6 */
  --plate7:#1A2235;  /* v7 */
}
[data-theme=blush]{
  --wrap:#E8D5CE;  /* v6 */
  --pat:#8C1D2C0D;  /* tokens.css */
  --ribbon:#6E1423;  /* v6 */
  --ribbonEdge:#6C1420;  /* tokens.css */
  --onWrap:#4E1A22;  /* v6 */
  --onWrap2:#81585A;  /* v6 */
  --plate7:#9E5A5A;  /* v7 */
}
@media (min-width:640px){:root{--margin:32px}}
@media (min-width:960px){:root{--margin:40px;--gift-s:1.216}}
.t-hero{font:800 42px/44px var(--font-display);letter-spacing:-.035em}
.t-h2{font:700 30px/34px var(--font-display);letter-spacing:-.025em}
.t-h3{font:700 20px/25px var(--font-display);letter-spacing:-.01em}
.t-title{font:700 34px/40px var(--font-display);letter-spacing:-.02em}
.t-lead{font:400 18px/27px var(--font-ui)}
.t-body{font:400 17px/26px var(--font-ui)}
.t-small{font:400 15px/22px var(--font-ui)}
.t-caption{font:400 13px/18px var(--font-ui)}
.t-kicker{font:600 12px/16px var(--font-ui);letter-spacing:.08em;text-transform:uppercase}
.t-letter{font:400 21px/31px var(--font-serif)}
.t-hero{font-size:68px;line-height:68px}
.t-h2{font-size:44px;line-height:48px}
.t-h3{font-size:22px;line-height:28px}
.t-title{font-size:40px;line-height:46px}
.t-lead{font-size:21px;line-height:31px}
