@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300..700&family=Schibsted+Grotesk:wght@400;500;600;700;800&display=swap";:root{--rose-50:#fff7fb;--rose-100:#ffeef6;--rose-150:#ffe2ee;--rose-200:#f8d3e2;--rose-300:#efbfd3;--rose-400:#e09bb9;--berry-500:#c56a92;--berry-600:#a65278;--plum-700:#5f3a4d;--ink-900:#24161f;--ink-700:#5e4955;--ink-500:#8a7380;--white-strong:#ffffffd1;--white-soft:#ffffff8c;--border-light:#c56a9229;--border-strong:#c56a9242;--shadow-soft:0 24px 60px #7f47611f;--shadow-card:0 18px 40px #7f47611a;--ease-silk:cubic-bezier(.22, 1, .36, 1);--bg-cream:var(--rose-50);--bg-blush:var(--rose-100);--bg-pearl:var(--rose-150);--text-charcoal:var(--ink-900);--text-taupe:var(--ink-700);--accent-rose:var(--berry-500);--accent-gold:#efb5c9;--accent-sage:#f5c9d9;--font-serif:"Fraunces", Georgia, serif;--font-sans:"Schibsted Grotesk", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%;font-size:16px}body{font-family:var(--font-sans);color:var(--text-charcoal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#ffd0e3a6,#0000 30%),radial-gradient(circle at 80% 12%,#ffe1eee6,#0000 24%),linear-gradient(#fff8fc 0%,#fff4f9 42%,#ffeff6 100%);height:100%;min-height:100vh;line-height:1.6;overflow:hidden}#root{height:100svh;min-height:100svh}::selection{background-color:var(--berry-500);color:#fff}a{color:inherit}img,svg{display:block}button,input,textarea,select{font:inherit}@media (width<=768px){body,#root{height:auto;min-height:100svh;overflow-y:auto}}.app-shell{isolation:isolate;height:100svh;min-height:100svh;position:relative;overflow:hidden}.app-bg{z-index:0;background:radial-gradient(circle at 14% 16%,#ffd9e7eb,#0000 28%),radial-gradient(circle at 86% 18%,#ffeef6f5,#0000 24%),radial-gradient(circle at 70% 82%,#eebfd370,#0000 28%),linear-gradient(135deg,#fff9fc 0%,#fff1f7 46%,#ffe7f1 100%);position:absolute;inset:0}.app-glow{filter:blur(40px);z-index:0;pointer-events:none;border-radius:999px;animation:9s ease-in-out infinite drift;position:absolute}.app-glow--left{background:#f2b1cc61;width:20rem;height:20rem;top:12%;left:-6rem}.app-glow--right{background:#cd7fa43d;width:18rem;height:18rem;animation-delay:-7s;bottom:6%;right:-4rem}.noise-overlay{z-index:1;pointer-events:none;opacity:.16;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");position:absolute;inset:0}.app-frame{z-index:10;height:100%;padding:4px;position:relative}.simple-layout{grid-template-columns:.95fr 1.05fr;gap:4px;height:100%;display:grid}.simple-left{grid-template-rows:.85fr 1.15fr;gap:4px;min-height:0;display:grid}.headline-panel,.art-panel,.letter-panel{-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);isolation:isolate;background:#ffffff94;border:1px solid #c56a922e;border-radius:32px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden;box-shadow:0 18px 40px #7f476117}.headline-panel:hover,.art-panel:hover,.letter-panel:hover{border-color:#c56a9242;box-shadow:0 22px 42px #7f47611f}.headline-panel,.letter-panel{padding:clamp(1.2rem,3vw,2.4rem)}.art-panel{padding:0}.headline-panel:before,.art-panel:before,.letter-panel:before{content:"";pointer-events:none;background:linear-gradient(140deg,#ffffff8c,#0000 40%,#fff3);position:absolute;inset:0}.headline-panel>*,.letter-panel>*{z-index:2;position:relative}.headline-panel{flex-direction:column;justify-content:center;display:flex}.headline-kicker,.letter-date{color:var(--berry-600);text-transform:uppercase;letter-spacing:.22em;opacity:.78;margin-bottom:.8rem;font-size:.75rem;font-weight:700}.headline-panel h1,.headline-panel h2,.letter-panel h3,.letter-signoff span{font-family:var(--font-serif);color:var(--ink-900);letter-spacing:-.045em}.headline-panel h1{margin-bottom:1rem;font-size:clamp(3.4rem,6.5vw,6.4rem);line-height:.88}.headline-panel h2{max-width:14ch;margin-bottom:1rem;font-size:clamp(1.4rem,2.8vw,2.5rem);font-weight:500;line-height:1}.headline-text,.letter-body p,.letter-signoff{color:var(--ink-700);line-height:1.8}.headline-text{max-width:32rem;font-size:clamp(1rem,1.5vw,1.12rem)}.art-stage{position:absolute;inset:0}.art-stage:after{content:"";background:linear-gradient(115deg,#0000 35%,#ffffff3d 50%,#0000 65%);animation:5.5s ease-in-out infinite shimmer;position:absolute;inset:-20%}.art-orb{background:radial-gradient(circle at 30% 30%,#ffffffe6,#f5bfd661 58%,#0000 70%);border-radius:50%;position:absolute}.art-orb--one{width:18rem;height:18rem;bottom:-2rem;left:6%}.art-orb--two{width:12rem;height:12rem;top:10%;right:10%}.art-orb--three{width:8rem;height:8rem;bottom:14%;right:24%}.flower{will-change:transform;width:16rem;height:16rem;position:absolute}.flower--left{bottom:8%;left:10%}.flower--right{top:14%;right:8%}.flower--small{width:10rem;height:10rem;animation-delay:-4s}.petal,.flower-core{transform-origin:bottom;position:absolute;top:50%;left:50%}.petal{background:linear-gradient(#fffffff5,#f4b3cdbd);border:1px solid #c56a9229;border-radius:999px 999px 1rem 1rem;width:4.6rem;height:8rem;margin-top:-7rem;margin-left:-2.3rem}.flower--small .petal{width:2.8rem;height:5rem;margin-top:-4.2rem;margin-left:-1.4rem}.petal--1{transform:rotate(0)}.petal--2{transform:rotate(60deg)}.petal--3{transform:rotate(120deg)}.petal--4{transform:rotate(180deg)}.petal--5{transform:rotate(240deg)}.petal--6{transform:rotate(300deg)}.flower-core{background:radial-gradient(circle at 40% 40%,#fff5d8,#efbfd3 68%);border:1px solid #c56a922e;border-radius:50%;width:4rem;height:4rem;margin-top:-2rem;margin-left:-2rem}.flower--small .flower-core{width:2.4rem;height:2.4rem;margin-top:-1.2rem;margin-left:-1.2rem}.ribbon{opacity:.8;border:1px solid #c56a9224;border-radius:999px;position:absolute}.ribbon--one{width:34rem;height:34rem;bottom:-16rem;right:-8rem}.ribbon--two{width:20rem;height:20rem;top:-8rem;left:-5rem}.sparkle-ring{opacity:.7;border:1px dashed #c56a923d;border-radius:50%;width:7rem;height:7rem;position:absolute;top:18%;right:18%}.letter-panel{flex-direction:column;justify-content:center;display:flex}.letter-panel h3{margin-bottom:1.2rem;font-size:clamp(2rem,4vw,3.2rem);line-height:1}.letter-body{flex-direction:column;gap:1rem;max-width:38rem;display:flex}.letter-signoff{margin-top:2rem}.letter-signoff span{margin-top:.75rem;font-size:clamp(1.8rem,3vw,2.6rem);font-style:italic;display:block}@keyframes drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translateY(-10px)scale(1.03)}}@keyframes sway{0%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(4deg)translateY(-10px)}}@keyframes shimmer{0%,to{opacity:.2;transform:translate(-10%)translateY(-2%)rotate(0)}50%{opacity:.42;transform:translate(8%)translateY(2%)rotate(1.5deg)}}@media (width<=980px){.simple-layout{grid-template-rows:auto auto;grid-template-columns:1fr}.simple-left{grid-template-rows:minmax(240px,auto) minmax(240px,30svh)}}@media (width<=720px){.app-shell{height:auto;min-height:100svh}.app-frame{min-height:100svh;padding:3px}.simple-layout,.simple-left{gap:3px}.simple-left{grid-template-rows:auto minmax(180px,24svh)}.headline-panel,.art-panel,.letter-panel{border-radius:24px}.headline-panel h1{font-size:clamp(2.8rem,13vw,4.4rem)}.headline-panel h2{max-width:none}.headline-text,.letter-body p,.letter-signoff{font-size:.98rem;line-height:1.72}.art-orb--one{width:11rem;height:11rem}.art-orb--two{width:7rem;height:7rem}.art-orb--three{width:4.5rem;height:4.5rem}.flower{width:10rem;height:10rem}.flower--small{width:6.5rem;height:6.5rem}.flower--small .petal{width:2.1rem;height:3.8rem;margin-top:-3.15rem;margin-left:-1.05rem}.flower--small .flower-core{width:1.8rem;height:1.8rem;margin-top:-.9rem;margin-left:-.9rem}.petal{width:3rem;height:5.6rem;margin-top:-4.7rem;margin-left:-1.5rem}.flower-core{width:2.4rem;height:2.4rem;margin-top:-1.2rem;margin-left:-1.2rem}.flower--left{bottom:-4%;left:-4%}.flower--right{top:4%;right:-8%}.ribbon--one{width:18rem;height:18rem;bottom:-10rem;right:-6rem}.ribbon--two{width:10rem;height:10rem;top:-4rem;left:-3rem}.sparkle-ring{width:4.5rem;height:4.5rem;top:10%;right:16%}}
