@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/font-0.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/font-1.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-2.ttf)format("truetype")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-3.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-4.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-5.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-6.ttf)format("truetype")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/font-7.ttf)format("truetype")}:root{--color-indigo:#1f1f52;--color-coral:#ff7165;--color-peach:#feb595;--color-paper:#fcf0f0;--color-ivory:#fffaf7;--color-white:#fff;--color-ink:var(--color-indigo);--color-muted:#6b6479;--color-line:#ded6de;--color-coral-hover:#ff897d;--font-display:"Cormorant Garamond", Georgia, serif;--font-body:"Manrope", Arial, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--radius-sm:.5rem;--radius-md:1.25rem;--radius-lg:2rem;--radius-pill:999px;--shadow-soft:0 16px 40px #1f1f5214;--shadow-lift:0 20px 46px #1f1f5224;--duration-fast:.18s;--duration-slow:.65s;--ease-out:cubic-bezier(.2,.75,.25,1);--content-width:1240px;--page-bg:var(--color-ivory);--text-primary:var(--color-indigo);--text-secondary:var(--color-muted);--border-default:var(--color-line);--surface-default:var(--color-paper);--focus-ring:var(--color-indigo);--logo-surface:transparent;--toggle-bg:var(--color-paper);--toggle-active-bg:var(--color-indigo);--toggle-active-text:var(--color-ivory);--art-glow:#fae6e1;--art-orbit:#e7cfc9;--art-orbit-secondary:#eeded9;--art-shadow:0 24px 30px #1f1f5236}:root[data-theme=dark]{--page-bg:var(--color-indigo);--text-primary:var(--color-paper);--text-secondary:color-mix(in srgb, var(--color-paper) 74%, var(--color-indigo));--border-default:color-mix(in srgb, var(--color-paper) 24%, var(--color-indigo));--surface-default:color-mix(in srgb, var(--color-indigo) 94%, var(--color-peach));--focus-ring:var(--color-peach);--logo-surface:var(--color-paper);--toggle-bg:color-mix(in srgb, var(--color-indigo) 90%, var(--color-paper));--toggle-active-bg:var(--color-peach);--toggle-active-text:var(--color-indigo);--art-glow:color-mix(in srgb, var(--color-indigo) 87%, var(--color-coral));--art-orbit:color-mix(in srgb, var(--color-indigo) 65%, var(--color-peach));--art-orbit-secondary:color-mix(in srgb, var(--color-indigo) 78%, var(--color-paper));--art-shadow:0 24px 35px #0a0a235c, 0 0 0 1px #feb59538;--shadow-soft:0 16px 40px #0a0a2338;--shadow-lift:0 20px 46px #0a0a2352}:root{--envelope-back:#2c2b65;--envelope-front:linear-gradient(145deg, #3d3b7c, var(--color-indigo));--envelope-fold:#29285d;--envelope-flap:linear-gradient(140deg, var(--color-coral), var(--color-peach));--letter-bg:var(--color-ivory);--letter-ink:var(--color-indigo);--letter-border:#e8dcd4;--seal-bg:var(--color-peach);--seal-ink:var(--color-indigo)}:root[data-theme=dark]{--envelope-back:var(--color-coral);--envelope-front:linear-gradient(145deg, var(--color-coral), var(--color-peach));--envelope-fold:var(--color-coral-hover);--envelope-flap:linear-gradient(140deg, #3d3b7c, var(--color-indigo));--letter-bg:var(--color-indigo);--letter-ink:var(--color-paper);--letter-border:color-mix(in srgb, var(--color-paper) 40%, var(--color-indigo));--seal-bg:var(--color-indigo);--seal-ink:var(--color-peach)}*,:before,:after{box-sizing:border-box}:root{font-family:var(--font-body);color:var(--text-primary);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}body{min-width:0;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:5px}::selection{background:var(--color-peach);color:var(--color-indigo)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}img,svg{max-width:100%;display:block}.skip-link{z-index:10;background:var(--color-indigo);color:#fff;padding:1rem;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html.theme-ready,.theme-ready body,.theme-ready .site-header,.theme-ready .brand-logo-frame,.theme-ready .primary-nav,.theme-ready .theme-options,.theme-ready .theme-option{transition:background-color .24s,color .24s,border-color .24s,box-shadow .24s}@media (prefers-reduced-motion:reduce){html.theme-ready,.theme-ready *{transition:none!important}}.site-header{z-index:5;background-color:var(--page-bg);position:relative}.header-inner{max-width:var(--content-width);grid-template-columns:1fr auto;align-items:center;column-gap:16px;margin:auto;padding:16px clamp(20px,4.5vw,64px);display:grid}.brand-home{border-radius:var(--radius-sm);justify-self:start}.brand-logo-frame{border-radius:var(--radius-sm);background-color:var(--logo-surface);display:inline-flex}.brand-logo{object-fit:contain;width:180px;height:auto}.menu-toggle{width:44px;height:44px;color:var(--text-primary);border:1px solid var(--border-default);background:var(--surface-default);transition:background-color var(--duration-fast), border-color var(--duration-fast);border-radius:50%;grid-area:1/2;place-items:center;padding:0;display:grid}.menu-lines{flex-direction:column;justify-content:space-around;width:18px;height:14px;display:flex}.menu-lines>span{width:18px;height:1px;transition:transform var(--duration-fast);background-color:currentColor}.is-open .menu-lines>span:first-child{transform:translateY(3.5px)rotate(45deg)}.is-open .menu-lines>span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.primary-nav{border-top:1px solid var(--border-default);grid-column:1/-1;margin-top:16px;padding-top:14px;display:none}.is-open .primary-nav{animation:menu-arrive .18s var(--ease-out);display:block}.primary-nav ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.nav-link{border-radius:var(--radius-sm);min-height:44px;color:var(--text-secondary);justify-content:space-between;align-items:center;gap:7px;padding:10px 12px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.nav-link.is-current{color:var(--text-primary);background-color:var(--surface-default)}.nav-link--upcoming{cursor:default}.nav-soon{color:var(--text-secondary);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:2px 6px;font-size:9px;font-weight:400}.nav-note{color:var(--text-secondary);padding:14px 12px 4px;font-size:10px;line-height:1.6}.theme-control{border-top:1px solid var(--border-default);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;display:none}.is-open .theme-control{display:flex}.theme-label{color:var(--text-secondary);font-size:11px}.theme-options{background-color:var(--toggle-bg);border:1px solid var(--border-default);border-radius:var(--radius-pill);gap:2px;padding:3px;display:flex}.theme-option{border-radius:var(--radius-pill);min-width:58px;min-height:44px;color:var(--text-secondary);background-color:#0000;border:0;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:11px;font-weight:600;display:inline-flex}.theme-option[aria-pressed=true]{background-color:var(--toggle-active-bg);color:var(--toggle-active-text)}.theme-option:focus-visible{outline-offset:2px}.theme-symbol{border:1px solid;border-radius:50%;flex-shrink:0;width:11px;height:11px}.theme-symbol--light{background-color:currentColor}.theme-symbol--dark{background:linear-gradient(90deg,currentColor 50%,#0000 50%)}@keyframes menu-arrive{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover){.menu-toggle:hover{border-color:var(--color-coral)}a.nav-link:hover{background-color:color-mix(in srgb, var(--color-coral) 10%, var(--page-bg));color:var(--text-primary)}.theme-option:hover:not([aria-pressed=true]){background-color:color-mix(in srgb, var(--color-peach) 14%, transparent);color:var(--text-primary)}}@media (width>=481px) and (width<=900px){.header-inner{grid-template-columns:1fr auto auto}.menu-toggle{grid-column:3}.site-header .theme-control{border:0;grid-area:1/2;margin:0;padding:0;display:flex}.theme-label{display:none}}@media (width>=901px){.header-inner{grid-template-columns:auto 1fr auto;column-gap:clamp(16px,2.4vw,34px)}.brand-logo{width:190px}.menu-toggle{display:none}.site-header .primary-nav{border:0;grid-area:1/2;justify-self:end;margin:0;padding:0;animation:none;display:block}.primary-nav ul{gap:clamp(2px,.6vw,9px);display:flex}.nav-link{border-radius:0;padding:12px 7px;font-size:12px;position:relative}.nav-link.is-current{background:0 0}.nav-link.is-current:after{content:"";background:var(--color-coral);border-radius:var(--radius-pill);width:16px;height:2px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.nav-link--upcoming{flex-direction:column;justify-content:center;gap:1px;padding-block:2px}.nav-soon{letter-spacing:.04em;border:0;padding:2px 4px;font-size:7px;line-height:1}.nav-note{display:none}.site-header .theme-control{border:0;grid-area:1/3;margin:0;padding:0;display:flex}.theme-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@media (width<=360px){.brand-logo{width:160px}}.hero{isolation:isolate;scroll-margin-top:20px;position:relative;overflow:clip}.hero-wash{z-index:-2;background:radial-gradient(ellipse at 80% 40%, color-mix(in srgb, var(--color-peach) 19%, transparent), transparent 56%), radial-gradient(ellipse at 0% 100%, color-mix(in srgb, var(--color-paper) 65%, transparent), transparent 55%);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 100px);mask-image:linear-gradient(#0000,#000 100px)}:root[data-theme=dark] .hero-wash{background:radial-gradient(ellipse at 80% 40%, color-mix(in srgb, var(--color-coral) 13%, transparent), transparent 60%), radial-gradient(ellipse at 0% 100%, color-mix(in srgb, var(--color-peach) 5%, transparent), transparent 50%)}.hero-inner{max-width:var(--content-width);grid-template-columns:minmax(0,1fr);align-items:center;gap:22px;margin:auto;padding:48px clamp(20px,4.5vw,64px) 22px;display:grid;position:relative}.direction-copy,.hero-art{z-index:1;min-width:0;position:relative}.eyebrow{letter-spacing:.15em;align-items:center;gap:12px;font-size:9px;font-weight:700;line-height:1.8;display:flex}.eyebrow>span{background:var(--color-coral);flex-shrink:0;width:22px;height:1px}h1{font-family:var(--font-display);letter-spacing:-.045em;margin:23px 0;font-size:clamp(46px,7.7vw,70px);line-height:1.02}h1 em{font-weight:400;position:relative}h1 em:after{content:"";border-top:1px solid var(--color-coral);border-radius:50%;height:8px;position:absolute;bottom:-2px;left:0;right:0;transform:rotate(-3deg)}:root[data-theme=dark] h1 em{color:var(--color-peach)}.intro{color:var(--text-secondary);max-width:370px;font-size:13px;line-height:1.9}.hero-actions{align-items:center;gap:22px;margin-top:30px;display:flex}.hero-preview{border-radius:var(--radius-pill);min-height:50px;font:600 11px var(--font-body);color:var(--color-indigo);background:var(--color-coral);box-shadow:0 5px 0 color-mix(in srgb, var(--color-coral) 15%, transparent);transition:transform .18s var(--ease-out), background-color .18s;border:1px solid #0000;justify-content:center;align-items:center;gap:22px;padding:14px 20px;display:inline-flex}.hero-preview>span{font-size:18px;line-height:1}.hero-preview:active{transform:scale(.98)}.personal-note{font:16px/1.1 var(--font-display);color:var(--text-secondary);transform:rotate(-6deg)}.personal-note em{color:var(--text-primary)}.occasion-line{color:var(--text-secondary);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:12px;margin-top:29px;font-size:9px;display:flex}.occasion-line>span:empty{background:var(--color-coral);border-radius:50%;width:3px;height:3px}.hero-art{padding-top:12px}.envelope-study{isolation:isolate;place-items:center;height:460px;display:grid;position:relative}.stationery-arch{background:linear-gradient(160deg, color-mix(in srgb, var(--color-paper) 70%, transparent), color-mix(in srgb, var(--color-peach) 19%, transparent));border:1px solid var(--art-orbit);z-index:-3;border-radius:150px 150px 16px 16px;width:300px;max-width:100%;height:390px;position:absolute;top:28px}.stationery-arch:before{content:"";border:1px solid var(--art-orbit-secondary);border-radius:inherit;position:absolute;inset:10px}.stationery-arch>span{text-align:center;letter-spacing:.22em;color:var(--text-secondary);margin-top:40px;font-size:7px;display:block}:root[data-theme=dark] .stationery-arch{background:linear-gradient(160deg, color-mix(in srgb, var(--color-paper) 5%, transparent), color-mix(in srgb, var(--color-coral) 6%, transparent))}.keepsake-card{text-align:center;border:1px solid var(--letter-border);width:144px;height:190px;box-shadow:var(--shadow-soft);z-index:-2;flex-direction:column;align-items:center;padding:24px 16px;display:flex;position:absolute}.keepsake-card:before{content:"";opacity:.15;border:1px solid;position:absolute;inset:7px}.keepsake-card>span{font:6px var(--font-body);letter-spacing:.16em}.keepsake-card em{font:italic 30px/1 var(--font-display);margin:29px 0 14px}.keepsake-card--one{color:var(--color-paper);background:var(--color-indigo);top:88px;left:3%;transform:rotate(-18deg)}.keepsake-card--two{color:var(--color-indigo);background:var(--color-paper);top:120px;right:0;transform:rotate(17deg)}.keepsake-rule{background:var(--color-peach);width:24px;height:1px}.floral-sprig{width:100px;height:192px;color:var(--color-coral);z-index:-1;opacity:.65;position:absolute}.floral-sprig--left{bottom:47px;left:0;transform:rotate(-30deg)}.floral-sprig--right{color:var(--text-primary);opacity:.3;bottom:26px;right:-6px;transform:rotate(25deg)scaleX(-1)}.art-note{font:italic 17px var(--font-display);color:var(--text-secondary);position:absolute;top:22px;right:0;transform:rotate(8deg)}.envelope-control{width:278px;height:210px;transition:transform var(--duration-slow) var(--ease-out);perspective:1000px;touch-action:manipulation;background:0 0;border:0;padding:0;position:relative;transform:rotate(-8deg)translateY(35px)}.envelope-control:active{transform:rotate(-6deg)translateY(31px)scale(.98)}.envelope-control:focus-visible{outline-offset:14px;border-radius:6px}.envelope-back{background:var(--envelope-back);box-shadow:var(--art-shadow);border-radius:7px;position:absolute;inset:0}.letter{color:var(--letter-ink);background:var(--letter-bg);border:1px solid var(--letter-border);width:238px;height:255px;transition:transform var(--duration-slow) var(--ease-out);flex-direction:column;align-items:center;padding:17px 8px;display:flex;position:absolute;bottom:12px;left:20px;transform:translateY(5px)rotate(7deg)}.letter:before{content:"";border:1px solid var(--letter-border);pointer-events:none;position:absolute;inset:8px}.letter-ornament{background:var(--color-coral);width:24px;height:1px;margin:13px 0 10px}.letter-eyebrow{letter-spacing:.14em;margin:6px 0 10px;font-size:5.5px}.letter-message{font:29px/.96 var(--font-display);letter-spacing:-.025em}.letter-message em{color:var(--letter-ink)}.letter-rule{background:var(--color-coral);width:22px;height:1px;margin:13px 0 8px}.letter-signature{letter-spacing:.08em;font-size:6px}.envelope-front{background:var(--envelope-front);clip-path:polygon(0 0,50% 47%,100% 0,100% 100%,0 100%);border-radius:6px;position:absolute;inset:0}.envelope-front:after{content:"";background:var(--envelope-fold);clip-path:polygon(0 100%,50% 43%,100% 100%);position:absolute;inset:0}.envelope-flap{background:var(--envelope-flap);clip-path:polygon(0 0,100% 0,50% 55%);transform-origin:top;transition:transform var(--duration-slow) var(--ease-out), opacity var(--duration-fast);position:absolute;inset:0}.envelope-seal{border:1px solid var(--color-peach);background:var(--seal-bg);width:50px;height:50px;color:var(--seal-ink);font:italic 34px var(--font-display);transition:opacity var(--duration-fast), transform var(--duration-slow);border-radius:50%;place-items:center;display:grid;position:absolute;top:85px;left:calc(50% - 25px);box-shadow:0 3px 6px #17164030}.envelope-seal:after{content:"";border:1px solid var(--color-peach);border-radius:50%;animation:3.4s ease-out infinite seal-ring;position:absolute;inset:-1px}.seal-letter{transform-origin:50% 65%;animation:3.4s ease-in-out infinite seal-buzz;display:block}@keyframes seal-buzz{0%,30%,to{transform:translate(0)rotate(0)scale(1)}4%,12%,20%{transform:translate(-2.5px)rotate(-12deg)scale(1.19)}8%,16%,24%{transform:translate(2.5px)rotate(12deg)scale(1.19)}28%{transform:translate(0)rotate(0)scale(1.05)}}@keyframes seal-ring{0%{opacity:.65;transform:scale(1)}28%{opacity:0;transform:scale(1.6)}29%,to{opacity:0;transform:scale(1)}}.has-interacted .seal-letter,.has-interacted .envelope-seal:after{animation:none}.has-interacted .envelope-seal:after{opacity:0}.is-open .envelope-flap{opacity:0;transform:rotateX(180deg)}.is-open .envelope-seal{opacity:0;transform:translateY(15px)}.is-open .letter{transform:translateY(-100px)rotate(0)}.art-caption{font:italic 16px var(--font-display);color:var(--text-secondary);justify-content:center;align-items:center;gap:13px;margin-top:-4px;display:flex}.art-caption>span{background:var(--art-orbit);width:18px;height:1px}.hero-bottom{border-top:1px solid var(--border-default);z-index:1;justify-content:space-between;align-items:center;gap:14px;padding-top:20px;display:flex}.hero-signoff{font:italic 15px var(--font-display);color:var(--text-secondary)}.petal-field{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:clip}.petal-track{height:calc(100% + 80px);width:var(--petal-size);animation:petal-fall var(--fall-time) var(--fall-delay) linear infinite;pointer-events:none;position:absolute;top:-40px}.falling-petal{width:var(--petal-size);height:calc(var(--petal-size) * .65);background:linear-gradient(135deg, var(--color-coral), var(--color-peach));opacity:.45;animation:5s ease-in-out infinite alternate petal-turn;animation-delay:var(--fall-delay);border-radius:85% 15% 75% 25%;display:block}.petal-track--1 .falling-petal{background:var(--color-peach);opacity:.65}.petal-track--2 .falling-petal{background:color-mix(in srgb, var(--color-coral) 45%, var(--color-paper));opacity:.6}@keyframes petal-fall{0%{transform:translate(0,0)}to{transform:translate3d(var(--petal-drift), 100%, 0)}}@keyframes petal-turn{0%{transform:rotate(var(--petal-turn)) rotateY(0deg)}to{transform:rotate(calc(var(--petal-turn) + 90deg)) rotateY(65deg) translateX(15px)}}.hero[data-animating=false] .petal-track,.hero[data-animating=false] .falling-petal,.hero[data-animating=false] .seal-letter,.hero[data-animating=false] .envelope-seal:after{animation-play-state:paused}@media (hover:hover){.envelope-control:hover{transform:rotate(-5deg)translateY(25px)}.envelope-control:hover .envelope-seal{transform:scale(1.08)}.hero-preview:hover{background:var(--color-coral-hover);transform:translateY(-2px)}}@media (width>=761px){.hero-inner{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px 35px;min-height:calc(100svh - 100px);padding-top:56px}h1{font-size:clamp(54px,5.7vw,76px)}.hero-bottom{grid-column:1/-1;align-self:end}.hero-art{padding-top:0}.envelope-study{height:490px}.stationery-arch{border-radius:165px 165px 16px 16px;width:330px;height:420px}}@media (width>=1100px){.envelope-control{transform:rotate(-8deg)translateY(35px)scale(1.08)}.envelope-control:hover{transform:rotate(-5deg)translateY(25px)scale(1.08)}.keepsake-card--one{left:1%}}@media (width<=760px){.petal-track:nth-child(n+7){display:none}.hero-bottom{margin-top:12px}}@media (width>=761px) and (width<=1000px){.envelope-study{margin-inline:-24px;transform:scale(.86)}.hero-actions{gap:16px}.hero-preview{gap:12px;padding-inline:17px}}@media (width<=400px){.envelope-study{margin:-28px -18px;transform:scale(.85)}.hero-actions{gap:15px}.hero-preview{gap:14px;padding-inline:17px;font-size:10px}.personal-note{font-size:15px}.hero-signoff{max-width:155px;font-size:13px}.occasion-line{gap:10px}.eyebrow{letter-spacing:.12em;font-size:8px}}@media (prefers-reduced-motion:reduce){.petal-field{display:none}.seal-letter,.envelope-seal:after{animation:none}.envelope-seal:after{display:none}}.page-main{min-width:0}
