:root{--theme-primary: #b86b70;--theme-secondary: #ebdcd7;--theme-accent: #8fa89b;--theme-background: #faf6f0;--theme-text: #4e3e3b;--theme-surface: #ffffff;--theme-primary-light: color-mix(in srgb, var(--theme-primary) 80%, white);--theme-primary-dark: color-mix(in srgb, var(--theme-primary) 80%, black);--theme-primary-soft: rgba(0, 0, 0, .05);--theme-background-warm: color-mix(in srgb, var(--theme-background) 95%, black);--theme-border: var(--theme-secondary);--theme-text-secondary: color-mix(in srgb, var(--theme-text) 70%, var(--theme-background));--theme-text-muted: color-mix(in srgb, var(--theme-text) 50%, var(--theme-background));--theme-scrim-strong: rgba(0, 0, 0, .95);--theme-scrim-control: rgba(0, 0, 0, .4);--theme-scrim-control-hover: rgba(0, 0, 0, .6);--theme-scrim-soft: rgba(0, 0, 0, .3);--theme-scrim-photo-strong: rgba(0, 0, 0, .35);--theme-scrim-photo-soft: rgba(0, 0, 0, .05);--theme-scrim-border: rgba(255, 255, 255, .12);--theme-scrim-border-soft: rgba(255, 255, 255, .18);--theme-scrim-text: rgba(255, 255, 255, .82);--theme-scrim-text-soft: rgba(255, 255, 255, .9);--theme-scrim-text-strong: rgba(255, 255, 255, .98);--theme-ease: cubic-bezier(.4, 0, .2, 1);--theme-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--theme-ease-cinematic: cubic-bezier(.25, .1, .25, 1);--theme-duration-fast: .2s;--theme-duration: .4s;--theme-duration-slow: .8s;--theme-duration-cinematic: 1.2s;--theme-glass-bg: rgba(255, 255, 255, .42);--theme-glass-border: rgba(255, 255, 255, .6);--theme-glass-blur: 10px;--theme-glass-bg-heavy: rgba(255, 255, 255, .55);--theme-radius: 1rem;--theme-radius-sm: .75rem;--theme-radius-lg: 1.5rem;--theme-radius-xl: 2rem;--theme-radius-full: 9999px}:root{--theme-font-heading: "Playfair Display", Georgia, serif;--theme-font-body: "Instrument Sans", "Inter", sans-serif;--theme-font-accent: "Great Vibes", cursive;--theme-font-decorative: "Cinzel", serif}.font-heading{font-family:var(--theme-font-heading)}.font-body{font-family:var(--theme-font-body)}.font-accent{font-family:var(--theme-font-accent)}.font-decorative{font-family:var(--theme-font-decorative)}:root{--theme-space-3xs: .125rem;--theme-space-2xs: .25rem;--theme-space-xs: .5rem;--theme-space-sm: 1rem;--theme-space-md: 1.5rem;--theme-space-lg: 2rem;--theme-space-xl: 2.5rem;--theme-space-2xl: 3rem;--theme-space-3xl: 4rem;--theme-space-4xl: 5rem;--theme-space-5xl: 6rem;--theme-section-py: 4rem;--theme-section-px: 2rem;--theme-section-py-mobile: 3rem;--theme-section-px-mobile: 1.5rem}@media(max-width:768px){:root{--theme-section-py: var(--theme-section-py-mobile);--theme-section-px: var(--theme-section-px-mobile)}}@media(max-width:480px){:root{--theme-section-py: 2.25rem}}:root{--theme-shadow-color-sm: rgba(0, 0, 0, .05);--theme-shadow-color-md: rgba(0, 0, 0, .07);--theme-shadow-color-lg: rgba(0, 0, 0, .09);--theme-shadow-color-glow: rgba(0, 0, 0, .15);--theme-shadow-color-accent: rgba(0, 0, 0, .12);--theme-shadow-sm: 0 2px 8px var(--theme-shadow-color-sm);--theme-shadow-md: 0 8px 24px var(--theme-shadow-color-md);--theme-shadow-lg: 0 16px 48px var(--theme-shadow-color-lg);--theme-shadow-glow: 0 0 20px var(--theme-shadow-color-glow);--theme-shadow-accent: 0 4px 20px var(--theme-shadow-color-accent)}.theme-gradient-linear{background:linear-gradient(135deg,var(--theme-primary) 0%,var(--theme-primary-dark) 100%)}.theme-gradient-soft{background:linear-gradient(180deg,#fff0,#ffffff80,#fffc)}.theme-gradient-radial-glow{background:radial-gradient(circle,var(--theme-primary-soft) 0%,transparent 70%)}.theme-gradient-gold-glow{background:radial-gradient(circle,var(--theme-gold-glow) 0%,transparent 70%)}.theme-gradient-accent-radial{background:radial-gradient(circle at center,var(--theme-accent-soft) 0%,transparent 75%)}.theme-gradient-overlay-cinematic{background:linear-gradient(180deg,rgba(var(--theme-overlay-color-rgb, 251, 243, 233),.15),rgba(var(--theme-overlay-color-rgb, 251, 243, 233),.05) 30% 60%,rgba(var(--theme-overlay-color-rgb, 251, 243, 233),.4) 85%,rgba(var(--theme-overlay-color-rgb, 251, 243, 233),.7))}.theme-bg-paper{background-color:var(--theme-background);background-image:var(--theme-background-texture, none);background-repeat:repeat;background-size:auto}.theme-bg-paper-overlay{position:absolute;inset:0;background-image:var(--theme-background-texture, none);background-repeat:repeat;background-size:auto;mix-blend-mode:multiply;pointer-events:none;z-index:1;opacity:.85}.theme-card-paper{background-color:var(--theme-surface, #ffffff);background-image:var(--theme-background-texture, none);background-repeat:repeat;background-size:auto;background-blend-mode:multiply}.theme-glass{background:var(--theme-glass-bg);border:1px solid var(--theme-glass-border);backdrop-filter:blur(var(--theme-glass-blur));-webkit-backdrop-filter:blur(var(--theme-glass-blur))}.theme-glass-heavy{background:var(--theme-glass-bg-heavy);border:1px solid var(--theme-glass-border);backdrop-filter:blur(var(--theme-glass-blur));-webkit-backdrop-filter:blur(var(--theme-glass-blur))}.theme-inner-highlight{position:relative}.theme-inner-highlight:after{content:"";position:absolute;inset:1px;border:1px solid rgba(255,255,255,.45);pointer-events:none;border-radius:inherit;z-index:2}.theme-noise-overlay{position:relative}.theme-noise-overlay:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;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.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");opacity:.015}.theme-photo-matting{padding:10px;background:var(--theme-background);border:1px solid var(--theme-secondary);box-shadow:var(--theme-shadow-md)}.theme-photo-vignette{-webkit-mask-image:radial-gradient(circle,#000 62%,transparent 100%);mask-image:radial-gradient(circle,#000 62%,transparent 100%)}.theme-light-leak{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;background:radial-gradient(circle at 20% 30%,rgba(255,230,200,.06) 0%,rgba(255,210,180,.02) 40%,transparent 70%);pointer-events:none;z-index:1;contain:strict;animation:lightLeakGlow 18s ease-in-out infinite alternate}@keyframes lightLeakGlow{0%{transform:scale(1) rotate(0);opacity:.5}50%{transform:scale(1.03) rotate(3deg);opacity:.7}to{transform:scale(1) rotate(-3deg);opacity:.5}}:root{--color-wood-50: #f3ece0;--color-wood-100: #e8dccb;--color-wood-200: #a8b89a;--color-wood-500: #5c4530;--color-wood-700: #4a3f33;--color-terracotta-500: #b5651d;--theme-primary: #5C4530;--theme-secondary: #6F7B5B;--theme-accent: #A56A3F;--theme-background: #EEE5D8;--theme-surface: #F7F2EA;--theme-divider: #CBB89C;--theme-text: #43352A;--theme-overlay-color-rgb: 238, 229, 216;--theme-kraft-card-bg: #F7F2EA;--theme-kraft-border: #CBB89C;--theme-button-natural-bg: #7A5B40;--theme-button-natural-border: #8F6A4A;--theme-button-natural-shadow: 0 6px 18px rgba(92, 69, 48, .2);--theme-primary-light: #7c5f43;--theme-primary-dark: #423121;--theme-primary-soft: rgba(92, 69, 48, .08);--theme-border: rgba(168, 184, 154, .5);--theme-text-secondary: rgba(74, 63, 51, .75);--theme-text-muted: rgba(74, 63, 51, .5);--theme-font-heading: "Fraunces", "Cormorant", serif;--theme-font-body: "Instrument Sans", "Inter", sans-serif;--theme-font-accent: "Caveat", "Sacramento", cursive;--theme-font-decorative: "Cinzel", serif;--theme-radius: .5rem;--theme-radius-sm: .375rem;--theme-radius-lg: .75rem;--theme-radius-xl: 1rem;--theme-shadow-soft: 2px 2px 0px rgba(92, 69, 48, .08);--theme-shadow-medium: 3px 3px 0px rgba(92, 69, 48, .12);--theme-shadow-premium: 4px 4px 0px rgba(92, 69, 48, .18);--theme-shadow-sm: var(--theme-shadow-soft);--theme-shadow-md: var(--theme-shadow-medium);--theme-shadow-lg: var(--theme-shadow-premium);--theme-section-py: 4rem;--theme-section-px: 1.5rem;--theme-duration: .4s;--theme-duration-slow: .8s;--theme-ease: cubic-bezier(.25, .46, .45, .94)}.theme-rustic-forest{color:var(--theme-text)}.theme-rustic-forest .hero-section{background-color:var(--theme-background, #EEE5D8);position:relative;overflow:hidden}.rustic-kraft-base{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 50% 20%,#f5efe4,#eee5d8 55%,#e4d5c1),linear-gradient(180deg,#f6f0e6,#eee5d8 40%,#e2d3be)}.rustic-watercolor-wash{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(circle at 10% 10%,rgba(111,123,91,.12) 0%,transparent 45%),radial-gradient(circle at 90% 90%,rgba(165,106,63,.1) 0%,transparent 50%),radial-gradient(circle at 85% 15%,rgba(165,106,63,.07) 0%,transparent 40%),radial-gradient(circle at 15% 85%,rgba(111,123,91,.08) 0%,transparent 45%);mix-blend-mode:multiply}.rustic-paper-grain{position:absolute;inset:0;pointer-events:none;z-index:3;background:radial-gradient(circle at 50% 50%,#ffffff14,#43352a08)}.rustic-botanical-corners{position:absolute;inset:0;pointer-events:none;z-index:4;opacity:.12;color:var(--theme-primary, #5C4530)}.rustic-floating-leaves{position:absolute;inset:0;pointer-events:none;z-index:5;overflow:hidden}.rustic-leaf-sway{animation:leafSway 8s ease-in-out infinite alternate}.rustic-leaf-sway-reverse{animation:leafSwayReverse 10s ease-in-out infinite alternate}@keyframes leafSway{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(6deg)}to{transform:translateY(0) rotate(-3deg)}}@keyframes leafSwayReverse{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(12px) rotate(-8deg)}to{transform:translateY(0) rotate(4deg)}}.theme-rustic-forest .rustic-card,.theme-rustic-forest .event-card,.theme-rustic-forest .story-card,.theme-rustic-forest .countdown-card,.theme-rustic-forest .gift-card,.theme-rustic-forest .guest-wish-card{background-color:var(--theme-surface);border:1px dashed var(--theme-secondary);box-shadow:inset 0 1px 2px #ffffff80,inset 0 -1px 2px #43352a0a,var(--theme-shadow-soft);border-radius:var(--theme-radius);transition:transform var(--theme-duration) var(--theme-ease),box-shadow var(--theme-duration) var(--theme-ease),border-color var(--theme-duration) var(--theme-ease);position:relative}.theme-rustic-forest .rustic-card:hover,.theme-rustic-forest .event-card:hover,.theme-rustic-forest .story-card:hover,.theme-rustic-forest .gift-card:hover,.theme-rustic-forest .guest-wish-card:hover{transform:translateY(-3px);border-color:var(--theme-accent);box-shadow:inset 0 1px 2px #ffffffb3,0 8px 24px -4px #5c453029}.theme-rustic-forest .kraft-guest-label{background-color:var(--theme-surface, #F7F2EA);border:1px dashed var(--theme-divider, #CBB89C);border-radius:var(--theme-radius-lg, .75rem);padding:.875rem 1.25rem;box-shadow:inset 0 1px 2px #fff9,0 3px 10px #43352a0d;position:relative}.theme-rustic-forest .rustic-photo-frame{background-color:#f7f2ea;border:6px solid #DFCDB8;outline:1px solid #CBB89C;border-radius:var(--theme-radius-md, .5rem);box-shadow:inset 0 1px 3px #fffc,0 8px 20px -4px #43352a1f;padding:5px;position:relative;transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease}.theme-rustic-forest .rustic-photo-frame:hover{transform:translateY(-6px);box-shadow:inset 0 1px 3px #ffffffe6,0 14px 28px -4px #43352a2e}.theme-rustic-forest{font-family:var(--theme-font-body)}.theme-rustic-forest .font-heading,.theme-rustic-forest h1,.theme-rustic-forest h2,.theme-rustic-forest h3,.theme-rustic-forest .section-title,.theme-rustic-forest .hero-names{font-family:var(--theme-font-heading);color:var(--theme-primary)}.theme-rustic-forest .font-accent{font-family:var(--theme-font-accent);color:var(--theme-accent)}.theme-rustic-forest .hero-subtitle{color:var(--theme-accent);letter-spacing:.2em;text-transform:uppercase}.theme-rustic-forest .hero-names{font-size:clamp(2rem,9vw,4.5rem);line-height:1.15;word-wrap:break-word;word-break:break-word;text-shadow:1px 1px 2px rgba(255,255,255,.5)}.theme-rustic-forest .section-divider-wrapper{min-height:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;position:relative}.theme-rustic-forest .event-card-divider{background-color:var(--theme-accent);height:1px}.theme-rustic-forest .story-line{background-color:transparent;border-left:2px dashed var(--theme-border)}.theme-rustic-forest .event-map-btn{background-color:transparent;color:var(--theme-accent);border:1px solid var(--theme-accent);border-radius:var(--theme-radius-lg);transition:all .3s cubic-bezier(.25,.46,.45,.94)}.theme-rustic-forest .event-map-btn:hover{background-color:var(--theme-accent);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #a56a3f40}.theme-rustic-forest .event-map-btn:hover svg{transform:translate(4px)}.theme-rustic-forest .event-map-btn svg{transition:transform .25s ease}.theme-rustic-forest input,.theme-rustic-forest textarea,.theme-rustic-forest select{background-color:#faf6ee99;border:1px dashed var(--theme-primary-light);border-radius:var(--theme-radius-sm);color:var(--theme-text);transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}.theme-rustic-forest input:focus,.theme-rustic-forest textarea:focus,.theme-rustic-forest select:focus{border-color:var(--theme-accent)!important;background-color:#ffffffe6!important;outline:none;box-shadow:0 0 0 3px #a56a3f2e!important}.input-error-shake{animation:inputShake .4s ease-in-out;border-color:#ef4444!important}@keyframes inputShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.theme-rustic-forest .guest-wish-scroll{scrollbar-width:thin;scrollbar-color:var(--theme-accent) transparent}.theme-rustic-forest .guest-wish-scroll::-webkit-scrollbar{width:6px}.theme-rustic-forest .guest-wish-scroll::-webkit-scrollbar-track{background:transparent}.theme-rustic-forest .guest-wish-scroll::-webkit-scrollbar-thumb{background-color:var(--theme-accent);border-radius:var(--theme-radius-sm)}.theme-rustic-forest .music-terracotta-glow{box-shadow:0 0 #a56a3f66;animation:terracottaPulse 2s infinite}@keyframes terracottaPulse{0%{box-shadow:0 0 #a56a3f66}70%{box-shadow:0 0 0 12px #a56a3f00}to{box-shadow:0 0 #a56a3f00}}.theme-rustic-forest .btn-natural-wood{background-color:var(--theme-button-natural-bg, #7A5B40);border:1px solid var(--theme-button-natural-border, #8F6A4A);box-shadow:var(--theme-button-natural-shadow, 0 6px 18px rgba(92, 69, 48, .2));color:#f7f2ea;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;animation:buttonBreathing 4s ease-in-out infinite alternate}.theme-rustic-forest .btn-natural-wood:hover{background-color:#8b6a4c;box-shadow:0 10px 24px #5c453047;transform:translateY(-2px) scale(1.01)}.theme-rustic-forest .btn-natural-wood:active{transform:translateY(1px) scale(.98);box-shadow:0 3px 8px #5c453033}@keyframes buttonBreathing{0%{transform:scale(1)}to{transform:scale(1.015)}}.theme-rustic-forest .theme-light-leak{position:fixed;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(circle at 10% 20%,rgba(139,90,43,.04) 0%,transparent 50%),radial-gradient(circle at 90% 80%,rgba(62,92,70,.05) 0%,transparent 55%);opacity:.8}.rustic-paper-grain-animated{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:99;opacity:.025;background-image:radial-gradient(circle,#43352A 1px,transparent 1px);background-size:8px 8px;animation:grainShift .8s steps(4) infinite}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-2px,3px)}50%{transform:translate(3px,-1px)}75%{transform:translate(-1px,-3px)}to{transform:translate(2px,2px)}}.botanical-ambient-rotate{animation:ambientRotate 12s ease-in-out infinite alternate}@keyframes ambientRotate{0%{transform:rotate(-1deg) translateY(0)}50%{transform:rotate(1deg) translateY(-4px)}to{transform:rotate(-1deg) translateY(0)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes sway-leaf{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.animate-spin-slow{animation:spin-slow 12s linear infinite}@keyframes scrollHintChevron{0%,to{transform:translateY(0);opacity:.85}50%{transform:translateY(6px);opacity:1}}.scroll-hint-chevron{animation:scrollHintChevron 1.8s ease-in-out infinite}@keyframes eqBar1{0%,to{height:4px}50%{height:14px}}@keyframes eqBar2{0%,to{height:16px}50%{height:6px}}@keyframes eqBar3{0%,to{height:8px}50%{height:18px}}.eq-bar-1{animation:eqBar1 .8s ease-in-out infinite}.eq-bar-2{animation:eqBar2 .6s ease-in-out infinite}.eq-bar-3{animation:eqBar3 .9s ease-in-out infinite}.rustic-light-sweep{position:relative;overflow:hidden}.rustic-light-sweep:after{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);transform:skew(-25deg);animation:lightSweepAnim 18s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none}@keyframes lightSweepAnim{0%,85%{left:-150%}to{left:200%}}@media(prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes loaderStrokeDraw{0%{stroke-dashoffset:340}to{stroke-dashoffset:0}}@keyframes loaderLeafDraw{0%{stroke-dashoffset:60;opacity:0}to{stroke-dashoffset:0;opacity:.85}}.loader-wreath-circle{animation:loaderStrokeDraw .5s cubic-bezier(.4,0,.2,1) forwards}.loader-leaf{animation:loaderLeafDraw .4s cubic-bezier(.4,0,.2,1) .1s forwards}.loader-dot{animation:fadeInDot .2s ease-out .3s forwards}@keyframes fadeInDot{0%{opacity:0;transform:scale(0)}to{opacity:.6;transform:scale(1)}}.rustic-flip-container{position:relative;display:inline-block;perspective:400px;overflow:hidden}.rustic-flip-digit{display:inline-block;backface-visibility:hidden;transform-origin:center center;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s ease}.rustic-flip-out{animation:flipOut .4s ease-in forwards}.rustic-flip-in{animation:flipIn .4s ease-out forwards}@keyframes flipOut{0%{transform:translateY(0) scale(1);opacity:1;filter:blur(0px)}to{transform:translateY(-100%) scale(.9);opacity:0;filter:blur(4px)}}@keyframes flipIn{0%{transform:translateY(100%) scale(.9);opacity:0;filter:blur(4px)}to{transform:translateY(0) scale(1);opacity:1;filter:blur(0px)}}.celebration-sparkle{animation:sparkleBounce 1.5s ease-in-out infinite alternate}@keyframes sparkleBounce{0%{transform:scale(.8) rotate(-10deg);opacity:.7}to{transform:scale(1.15) rotate(10deg);opacity:1}}.rustic-confetti-particle{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none;animation:confettiDrift 3s ease-out infinite}@keyframes confettiDrift{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(60px) rotate(360deg);opacity:0}}.theme-rustic-forest .event-name{color:var(--theme-primary);font-family:var(--theme-font-heading)}.theme-rustic-forest .event-icon-bg{background-color:#5c45300f;color:var(--theme-primary);border-radius:var(--theme-radius)}.theme-rustic-forest .story-dot{background-color:var(--theme-background);border:2px solid var(--theme-accent);border-radius:50%}.theme-rustic-forest .story-dot span{color:var(--theme-accent)}.theme-rustic-forest .theme-photo{filter:saturate(.85) sepia(.08) brightness(1.02);object-fit:cover;object-position:center top;transition:filter .3s ease,transform .4s ease}.theme-rustic-forest .theme-photo:hover{filter:saturate(.98) sepia(.04) brightness(1.04)}.theme-rustic-forest .photo-matting-rustic{padding:10px;background-color:var(--theme-background);border:1px dashed rgba(92,69,48,.3);box-shadow:var(--theme-shadow-md);border-radius:var(--theme-radius-lg);transition:transform .3s ease,box-shadow .3s ease}.mobile-tap-active:active{transform:scale(.98);opacity:.9}[x-cloak]{display:none!important}
