@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,600&family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&family=Great+Vibes&display=swap";[class^=bi-],[class*=\ bi-]{font-variant:normal;text-transform:none;vertical-align:-.125em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;line-height:1;display:inline-block;font-family:bootstrap-icons!important;font-weight:400!important}:root{--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Outfit", sans-serif;--font-playfair:"Playfair Display", serif;--font-vibes:"Great Vibes", cursive;--color-ink-950:#0b0d12;--color-ink-900:#10131a;--color-ink-800:#1c2130;--color-ink-700:#2c3245;--color-parchment-50:#fefdfb;--color-parchment-100:#f9f8f4;--color-parchment-200:#f2efe6;--color-parchment-300:#e7e2d6;--color-gold-300:#f5d576;--color-gold-400:#f2c94c;--color-gold-500:#e6b93d;--color-gold-600:#c99a2e;--color-gold-bg:#e6b93d14;--color-gold-border:#e6b93d38;--color-indigo-400:#818cf8;--color-indigo-500:#6366f1;--color-indigo-600:#4f46e5;--color-indigo-700:#3730a3;--color-teal-500:#2fbfa5;--color-teal-600:#249e89;--color-teal-700:#1c7d6d;--color-ruby-500:#d94b6a;--color-ruby-600:#b83a55;--color-ruby-700:#8f2d42;--color-ruby-bg:#d94b6a12;--color-ruby-border:#d94b6a29;--color-border:#0000000f;--color-border-md:#0000001a;--color-border-dark:#ffffff14;--color-border-dark-md:#ffffff24;--page-padding-x:16px;--page-max-width:800px;--navbar-height:60px}@media (width>=640px){:root{--page-padding-x:28px}}@media (width>=1024px){:root{--page-padding-x:40px;--page-max-width:1200px;--navbar-height:84px}}[data-theme=dark]{--color-ink-950:#fefdfb;--color-ink-900:#f9f8f4;--color-ink-800:#e7e2d6;--color-ink-700:#c1b9a6;--color-parchment-50:#0f1117;--color-parchment-100:#151823;--color-parchment-200:#1c2130;--color-parchment-300:#262b3d;--color-border:#ffffff14;--color-border-md:#ffffff26;--color-gold-bg:#f2c94c1a;--color-gold-border:#f2c94c40;--color-ruby-bg:#d94b6a24;--color-ruby-border:#d94b6a47}[data-theme=dark] input::-webkit-calendar-picker-indicator{filter:invert()opacity(.7);cursor:pointer}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,button,textarea,select{color:inherit;font-family:inherit}:focus-visible{outline:2px solid var(--color-gold-400);outline-offset:2px}button{transition:transform .2s,box-shadow .2s}button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}body{font-family:var(--font-sans);color:var(--color-ink-900);background-color:var(--color-parchment-100);background-image:radial-gradient(60% 50% at -10% -10%,#b8952a1a 0%,#0000 70%),radial-gradient(60% 50% at 110% 110%,#b8952a17 0%,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='none' stroke='%23b8952a' stroke-opacity='0.065' stroke-width='0.8'%3E%3Cpath d='M30 2 L58 30 L30 58 L2 30 Z'/%3E%3Ccircle cx='30' cy='30' r='3'/%3E%3Ccircle cx='30' cy='30' r='1' fill='%23b8952a' fill-opacity='0.08' stroke='none'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Ccircle cx='15' cy='15' r='0.7' fill='%23b8952a' fill-opacity='0.06'/%3E%3C/svg%3E");background-size:100% 100%,100% 100%,60px 60px,30px 30px;background-attachment:fixed;min-height:100vh;transition:background .4s,color .3s}[data-theme=dark] body,body[data-theme=dark]{background-color:var(--color-parchment-100);background-image:radial-gradient(60% 50% at -10% -10%,#d4af3712 0%,#0000 70%),radial-gradient(60% 50% at 110% 110%,#d4af370f 0%,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg fill='none' stroke='%23d4af37' stroke-opacity='0.07' stroke-width='0.8'%3E%3Cpath d='M30 2 L58 30 L30 58 L2 30 Z'/%3E%3Ccircle cx='30' cy='30' r='3'/%3E%3C/g%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Ccircle cx='15' cy='15' r='0.7' fill='%23d4af37' fill-opacity='0.05'/%3E%3C/svg%3E");background-size:100% 100%,100% 100%,60px 60px,30px 30px}#root{min-height:100vh}.ornament-corner{pointer-events:none;opacity:.25;width:80px;height:80px;position:absolute}.ornament-corner svg{width:100%;height:100%}.ornament-tl{top:0;left:0;transform:rotate(0)}.ornament-tr{top:0;right:0;transform:rotate(90deg)}.ornament-br{bottom:0;right:0;transform:rotate(180deg)}.ornament-bl{bottom:0;left:0;transform:rotate(270deg)}.floral-divider{align-items:center;gap:10px;width:100%;max-width:300px;margin:20px auto;display:flex}.floral-divider:before,.floral-divider:after{content:"";background:linear-gradient(90deg,#0000,#b8952a73,#0000);flex:1;height:1px}.floral-divider-icon{color:var(--color-gold-500);opacity:.7;letter-spacing:4px;-webkit-user-select:none;user-select:none;font-size:14px}.wedding-card{background:var(--color-parchment-50);border:1px solid var(--color-gold-border);border-radius:18px;padding:24px;position:relative;overflow:hidden;box-shadow:0 4px 24px #b8952a14,0 1px 4px #0000000a,inset 0 0 0 6px #b8952a08}.wedding-card:before{content:"";pointer-events:none;z-index:0;border:1px dashed #b8952a33;border-radius:12px;position:absolute;inset:8px}.wedding-card:after{content:"";background:linear-gradient(90deg, transparent, var(--color-gold-400), var(--color-gold-500), var(--color-gold-400), transparent);opacity:.6;border-radius:18px 18px 0 0;height:2px;position:absolute;top:0;left:0;right:0}.layout-content{width:100%;max-width:var(--page-max-width);padding:calc(env(safe-area-inset-top,0px) + 100px) var(--page-padding-x) 100px;flex:1;margin:0 auto}@media (width>=768px){.layout-content{padding-top:calc(var(--navbar-height) + 100px);padding-bottom:48px}}.grid-2{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=640px){.grid-2{grid-template-columns:1fr 1fr}}.grid-3{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width>=768px){.grid-3{grid-template-columns:repeat(3,1fr)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes skeletonPulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.animate-fade-in{animation:.45s ease-out forwards fadeIn}.animate-spin{animation:1s linear infinite spin}.animate-float{animation:3s ease-in-out infinite floatUp}.animate-glow{animation:2s ease-in-out infinite glowPulse}.skeleton{background:linear-gradient(90deg, var(--color-parchment-200) 25%, var(--color-parchment-300) 50%, var(--color-parchment-200) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s linear infinite shimmer,2s ease-in-out infinite skeletonPulse}.gold-shimmer{background:linear-gradient(90deg, var(--color-gold-600) 0%, var(--color-gold-300) 40%, var(--color-gold-500) 60%, var(--color-gold-600) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite shimmer}.bg-gold-gradient{background:linear-gradient(135deg, var(--color-gold-400), var(--color-gold-600));color:var(--color-ink-950)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-gold-border);border-radius:4px}.glass{-webkit-backdrop-filter:blur(16px)}.text-hero{font-size:clamp(26px,5vw,42px);font-family:var(--font-serif);letter-spacing:.02em;font-weight:400}.text-section{font-size:clamp(17px,2.5vw,22px);font-family:var(--font-serif);font-weight:400}
