.app-root{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-charcoal);color:var(--text-primary)}.hero{position:relative;width:100%;height:100vh;min-height:100svh;max-height:100svh;display:flex;flex-direction:column;justify-content:space-between;align-items:center;overflow:hidden;background-color:var(--color-charcoal);color:var(--color-ivory)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-base);overflow:hidden;background-color:var(--color-charcoal)}.hero-bg-picture{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.hero-bg-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 36%;opacity:0;transition:opacity var(--motion-duration-slow) var(--motion-ease-out)}.hero-bg-loaded .hero-bg-img{opacity:1}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#1810128c,#18101238 20%,#26141a40 50%,#18101259,#120c0ed9),radial-gradient(ellipse 92% 76% at 50% 50%,transparent 22%,rgba(24,16,18,.32) 72%,rgba(16,10,12,.68) 100%)}.hero-content-wrapper{position:relative;z-index:var(--z-surface);margin:auto;width:100%;max-width:var(--container-narrow-width);padding:var(--space-4) var(--gutter-fluid);display:flex;align-items:center;justify-content:center}.hero-invitation{text-align:center;position:relative;width:100%;max-width:820px;padding:var(--space-4) var(--gutter-fluid);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:none;box-shadow:none}.hero-crest{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3);color:var(--color-gold)}.hero-crest-diamond{font-size:.875rem;line-height:1;filter:drop-shadow(0 0 10px rgba(181,150,91,.75))}.hero-kicker{font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-light);margin-bottom:var(--space-4);text-shadow:0 1px 4px rgba(12,8,9,.95),0 2px 10px rgba(12,8,9,.85)}.hero-names{font-family:var(--font-serif-heading);font-size:clamp(3.25rem,7.5vw,6.25rem);font-weight:var(--fw-regular);line-height:1.05;color:var(--color-ivory-light);text-shadow:0 2px 8px rgba(12,8,9,.95),0 4px 22px rgba(12,8,9,.8),0 0 35px rgba(181,150,91,.28);display:flex;flex-direction:row;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:var(--space-2) var(--space-5);margin:0 0 var(--space-2) 0;letter-spacing:.02em}.hero-name{display:inline-block;color:var(--color-ivory-light)}.hero-ampersand{font-family:var(--font-serif-display);font-style:italic;font-size:clamp(2.25rem,5vw,4.25rem);color:var(--color-gold);font-weight:300;text-shadow:0 2px 8px rgba(12,8,9,.9),0 0 16px rgba(181,150,91,.65);line-height:1}.hero-divider{margin:var(--space-4) auto var(--space-5);max-width:260px}.hero-invitation-text{font-family:var(--font-sans-body);font-size:clamp(.75rem,.25vw + .7rem,.875rem);font-weight:var(--fw-regular);letter-spacing:var(--tracking-wider);color:var(--color-sand-light);text-transform:uppercase;margin-bottom:var(--space-4);text-shadow:0 1px 4px rgba(12,8,9,.95),0 2px 10px rgba(12,8,9,.85)}.hero-date-wrapper{display:inline-flex;align-items:center;justify-content:center}.hero-date{font-family:var(--font-serif-heading);font-size:clamp(1.25rem,2vw + .5rem,1.75rem);font-weight:var(--fw-medium);letter-spacing:.25em;color:var(--color-gold-light);text-shadow:0 1px 6px rgba(12,8,9,.95),0 0 18px rgba(181,150,91,.55);margin:0}.hero-scroll-container{position:relative;z-index:var(--z-surface);margin-top:auto;padding-bottom:max(var(--space-6),env(safe-area-inset-bottom,24px));text-align:center}.hero-scroll-btn{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-ivory-light);background:transparent;border:none;cursor:pointer;padding:var(--space-2) var(--space-4);transition:color var(--transition-fast),transform var(--transition-fast);-webkit-tap-highlight-color:transparent}.hero-scroll-btn:hover{color:var(--color-gold-light);transform:translateY(-2px)}.hero-scroll-btn:focus-visible{outline:2px solid var(--color-gold);outline-offset:4px;border-radius:var(--radius-xs)}.hero-scroll-label{font-family:var(--font-sans-body);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-sand-light);transition:color var(--transition-fast);text-shadow:0 1px 6px rgba(12,8,9,.95)}.hero-scroll-btn:hover .hero-scroll-label{color:var(--color-gold-light)}.hero-scroll-indicator{display:flex;flex-direction:column;align-items:center;gap:2px}.hero-scroll-line{width:1px;height:26px;background:linear-gradient(to bottom,var(--color-gold),transparent);animation:heroPulseLine 2.2s ease-in-out infinite}.hero-scroll-arrow{font-size:.85rem;line-height:1;color:var(--color-gold);animation:heroBounceSubtle 2.2s ease-in-out infinite}@keyframes heroPulseLine{0%,to{opacity:.35;transform:scaleY(.7);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}@keyframes heroBounceSubtle{0%,to{transform:translateY(0);opacity:.7}50%{transform:translateY(4px);opacity:1}}@media(prefers-reduced-motion:reduce){.hero-scroll-line,.hero-scroll-arrow{animation:none!important;transform:none!important}.hero-bg-img{transition:none!important}}@media(max-width:768px){.hero-bg-img{object-position:center center}.hero-names{flex-direction:column;align-items:center;gap:0;line-height:1.1}.hero-ampersand{margin:-.2rem 0;font-size:2rem}.hero-invitation{padding:var(--space-4) var(--space-2)}.hero-divider{max-width:200px}.hero-scroll-line{height:20px}}.welcome{position:relative;width:100%;background-color:var(--bg-primary);color:var(--text-primary);padding:clamp(5rem,9vw,8.5rem) 0;overflow:hidden}.welcome-content{text-align:center;max-width:720px;margin:0 auto;position:relative}.welcome-guest-herald{background-color:var(--color-ivory-light);border:1px solid var(--border-medium);border-radius:var(--radius-xs);padding:clamp(var(--space-6),4vw,var(--space-8)) clamp(var(--space-5),4vw,var(--space-10));margin-bottom:clamp(var(--space-8),5vw,var(--space-12));box-shadow:0 4px 20px #b5965b1f;position:relative;animation:fadeInHerald var(--transition-normal)}@keyframes fadeInHerald{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.welcome-guest-crest{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-gold);margin-bottom:var(--space-2)}.welcome-guest-diamond{font-size:.55rem}.welcome-guest-motif{font-size:.85rem}.welcome-guest-kicker{font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark);margin:0 0 var(--space-2) 0}.welcome-guest-name{font-family:var(--font-serif-heading);font-size:clamp(2rem,3.8vw,2.75rem);font-weight:var(--fw-medium);color:var(--color-maroon);letter-spacing:.02em;margin:0 0 var(--space-2) 0;line-height:var(--lh-tight)}.welcome-guest-note,.welcome-guest-greeting{font-family:var(--font-serif-display);font-style:italic;font-size:clamp(1rem,1.4vw,1.15rem);color:var(--color-charcoal-muted);line-height:var(--lh-normal);margin:0 auto;max-width:520px}.welcome-guest-divider-wrap{margin-top:var(--space-4)}.welcome-guest-divider{margin:0 auto;max-width:140px}.welcome-eyebrow{font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark);margin-bottom:var(--space-3);display:inline-block}.welcome-heading{font-family:var(--font-serif-heading);font-size:clamp(2.25rem,4.2vw + .5rem,3.75rem);font-weight:var(--fw-regular);line-height:var(--lh-tight);color:var(--color-maroon);letter-spacing:.01em;margin:0 0 var(--space-4) 0}.welcome-divider{margin:var(--space-5) auto var(--space-6);max-width:220px}.welcome-subheading{font-family:var(--font-serif-display);font-style:italic;font-size:clamp(1.2rem,1.8vw + .4rem,1.65rem);font-weight:var(--fw-regular);line-height:var(--lh-snug);color:var(--color-maroon-light);margin:0 auto var(--space-6);max-width:580px}.welcome-body-wrapper{margin:0 auto var(--space-8);max-width:620px}.welcome-message{font-family:var(--font-sans-body);font-size:clamp(1.0625rem,.4vw + .95rem,1.25rem);font-weight:var(--fw-light);line-height:var(--lh-relaxed);color:var(--text-primary);margin:0}.welcome-signature{font-family:var(--font-sans-body);font-size:var(--text-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark);margin:0;display:inline-flex;align-items:center;gap:var(--space-2)}.welcome-signature:before,.welcome-signature:after{content:"";display:inline-block;width:24px;height:1px;background-color:var(--color-gold-border);vertical-align:middle}@media(max-width:768px){.welcome{padding:clamp(3.5rem,7vw,5rem) 0}.welcome-heading{font-size:clamp(1.85rem,6.5vw,2.5rem)}.welcome-subheading{font-size:clamp(1.05rem,3.5vw,1.3rem);margin-bottom:var(--space-5)}.welcome-message{font-size:1rem;line-height:1.7}.welcome-signature:before,.welcome-signature:after{width:16px}}.story{position:relative;width:100%;background-color:var(--bg-secondary);color:var(--text-primary);padding:clamp(5rem,9vw,8.5rem) 0;overflow:hidden}.story-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:center}@media(min-width:960px){.story-grid{grid-template-columns:minmax(380px,460px) 1fr;gap:clamp(var(--space-10),6vw,var(--space-16))}}.story-image-column{position:relative;display:flex;justify-content:center}.story-image-frame{position:relative;width:100%;max-width:440px;border-radius:var(--radius-xs);box-shadow:var(--shadow-card);background-color:var(--color-sand);aspect-ratio:3 / 4;overflow:visible}.story-image-accent{position:absolute;top:-10px;right:-10px;bottom:10px;left:10px;border:1px solid var(--border-medium);pointer-events:none;z-index:var(--z-deep);border-radius:var(--radius-xs);transition:inset var(--transition-normal),border-color var(--transition-normal)}.story-image-frame:hover .story-image-accent{top:-14px;right:-14px;bottom:14px;left:14px;border-color:var(--color-gold)}.story-picture{display:block;width:100%;height:100%;overflow:hidden;border-radius:var(--radius-xs);border:1px solid var(--border-subtle)}.story-img{width:100%;height:100%;object-fit:cover;object-position:center 22%;opacity:0;transition:opacity var(--motion-duration-slow) var(--motion-ease-out),transform var(--transition-slow)}.story-image-loaded .story-img{opacity:1}.story-image-frame:hover .story-img{transform:scale(1.02)}.story-text-column{display:flex;flex-direction:column;justify-content:center;max-width:600px}.story-header{margin-bottom:var(--space-6)}.story-eyebrow{font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark);margin-bottom:var(--space-2);display:inline-block}.story-heading{font-family:var(--font-serif-heading);font-size:clamp(2.25rem,4vw,3.5rem);font-weight:var(--fw-regular);color:var(--color-maroon);line-height:var(--lh-tight);margin:0 0 var(--space-3) 0;letter-spacing:.01em}.story-divider{margin:var(--space-3) 0 var(--space-6);max-width:180px;margin-left:0;justify-content:flex-start}.story-divider:before{flex:0 0 20px}.story-narrative{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}.story-paragraph{font-family:var(--font-sans-body);font-size:clamp(1rem,.25vw + .95rem,1.125rem);font-weight:var(--fw-light);line-height:var(--lh-relaxed);color:var(--text-primary);margin:0}.story-paragraph-lead{font-family:var(--font-serif-display);font-style:italic;font-size:clamp(1.125rem,.4vw + 1rem,1.28rem);font-weight:var(--fw-regular);line-height:1.6;color:var(--color-maroon)}.story-signature-wrapper{margin-top:var(--space-2)}.story-signature{font-family:var(--font-serif-heading);font-size:clamp(1.85rem,2.8vw,2.5rem);font-weight:var(--fw-regular);color:var(--color-maroon);letter-spacing:.04em;margin:0;line-height:1.1}@media(max-width:959px){.story{padding:clamp(3.5rem,7vw,5rem) 0}.story-grid{grid-template-columns:1fr;gap:var(--space-10);text-align:center}.story-image-frame{max-width:360px;margin:0 auto}.story-image-accent{top:-8px;right:-8px;bottom:8px;left:8px}.story-text-column{max-width:100%;align-items:center}.story-divider{margin:var(--space-3) auto var(--space-5);justify-content:center}.story-divider:before{flex:1}.story-heading{font-size:clamp(2rem,6.5vw,2.75rem)}.story-signature{text-align:center}}@media(prefers-reduced-motion:reduce){.story-img,.story-image-accent{transition:none!important;transform:none!important}}.countdown{position:relative;width:100%;background:linear-gradient(180deg,#581827 0%,var(--color-maroon) 50%,#4c1421 100%);color:var(--color-ivory);padding:clamp(5rem,8vw,8rem) 0;overflow:hidden;text-align:center}.countdown:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,transparent 40%,rgba(24,16,18,.4) 100%);pointer-events:none}.countdown-content{position:relative;z-index:var(--z-surface);max-width:860px;margin:0 auto}.countdown-header{margin-bottom:var(--space-8)}.countdown-eyebrow{font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-light);margin-bottom:var(--space-3);display:inline-block;text-shadow:0 1px 4px rgba(0,0,0,.4)}.countdown-heading{font-family:var(--font-serif-heading);font-size:clamp(2.25rem,4.5vw,3.75rem);font-weight:var(--fw-regular);color:var(--color-ivory-light);line-height:var(--lh-tight);letter-spacing:.01em;margin:0 0 var(--space-2) 0;text-shadow:0 2px 10px rgba(0,0,0,.5)}.countdown-divider{margin:var(--space-4) auto var(--space-6);max-width:220px}.countdown-timer{display:flex;align-items:center;justify-content:center;gap:clamp(var(--space-2),3vw,var(--space-8));margin:0 auto;max-width:720px}.countdown-unit{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0;padding:var(--space-2) 0}.countdown-number{font-family:var(--font-serif-heading);font-size:clamp(2.75rem,6vw,4.75rem);font-weight:var(--fw-medium);line-height:1;color:var(--color-gold-light);letter-spacing:.02em;margin-bottom:var(--space-2);text-shadow:0 2px 8px rgba(0,0,0,.5),0 0 24px rgba(181,150,91,.3);font-variant-numeric:tabular-nums}.countdown-label{font-family:var(--font-sans-body);font-size:clamp(.6875rem,.25vw + .65rem,.8125rem);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-sand-light);line-height:1}.countdown-separator{display:flex;align-items:center;justify-content:center;height:clamp(2.75rem,6vw,4.75rem);color:var(--color-gold);opacity:.4;font-family:var(--font-serif-heading);font-size:clamp(1.5rem,3vw,2.5rem);-webkit-user-select:none;user-select:none;margin-top:-16px}.countdown-date{font-family:var(--font-sans-body);font-size:var(--text-caption);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold);margin-top:var(--space-6);margin-bottom:0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.countdown-completed{padding:var(--space-6) var(--space-4);max-width:600px;margin:0 auto}.countdown-completed-title{font-family:var(--font-serif-heading);font-size:clamp(1.85rem,3.5vw,2.75rem);color:var(--color-gold-light);margin-bottom:var(--space-3);font-weight:var(--fw-regular)}.countdown-completed-text{font-family:var(--font-sans-body);font-size:var(--text-body-lead);font-weight:var(--fw-light);color:var(--color-ivory);line-height:var(--lh-normal);margin:0}@media(max-width:640px){.countdown{padding:clamp(3.5rem,7vw,4.5rem) 0}.countdown-timer{gap:var(--space-1)}.countdown-number{font-size:clamp(2.15rem,9.5vw,2.85rem);margin-bottom:var(--space-1)}.countdown-label{font-size:.625rem;letter-spacing:.15em}.countdown-separator{height:clamp(2.15rem,9.5vw,2.85rem);font-size:1.25rem;opacity:.35;margin-top:-12px}.countdown-date{font-size:.75rem;margin-top:var(--space-5);letter-spacing:.18em}}@media(prefers-reduced-motion:reduce){.countdown-number{text-shadow:none}}.events{position:relative;width:100%;background-color:var(--bg-primary);color:var(--text-primary);padding:clamp(5rem,9vw,9rem) 0;overflow:hidden}.events-section-header{margin-bottom:clamp(var(--space-12),8vw,var(--space-20))}.events-list{display:flex;flex-direction:column;gap:clamp(var(--space-16),10vw,var(--space-24))}.event-row{display:grid;grid-template-areas:"image" "content";gap:var(--space-8);align-items:center;position:relative}@media(min-width:960px){.event-row{grid-template-columns:48% 52%;grid-template-areas:"image content";gap:clamp(var(--space-10),6vw,var(--space-16))}.event-row-reversed{grid-template-columns:52% 48%;grid-template-areas:"content image"}}.event-image-wrapper{grid-area:image;position:relative;width:100%;display:flex;justify-content:center}.event-image-container{position:relative;width:100%;max-width:480px;border-radius:var(--radius-xs);box-shadow:var(--shadow-card);background-color:var(--color-sand);aspect-ratio:4 / 5;overflow:visible}.event-image-accent{position:absolute;top:-10px;right:-10px;bottom:10px;left:10px;border:1px solid var(--border-medium);pointer-events:none;z-index:var(--z-deep);border-radius:var(--radius-xs);transition:inset var(--transition-normal),border-color var(--transition-normal)}.event-row-reversed .event-image-accent{top:-10px;right:10px;bottom:10px;left:-10px}.event-image-container:hover .event-image-accent{top:-14px;right:-14px;bottom:14px;left:14px;border-color:var(--color-gold)}.event-row-reversed .event-image-container:hover .event-image-accent{top:-14px;right:14px;bottom:14px;left:-14px;border-color:var(--color-gold)}.event-accent-mehendi{border-color:#76947a66}.event-accent-sangeet{border-color:#b5965b73}.event-accent-wedding-ceremony{border-color:#b5965b80}.event-picture{display:block;width:100%;height:100%;overflow:hidden;border-radius:var(--radius-xs);border:1px solid var(--border-subtle)}.event-img{width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transition:opacity var(--motion-duration-slow) var(--motion-ease-out),transform var(--transition-slow)}.event-image-loaded .event-img{opacity:1}.event-image-container:hover .event-img{transform:scale(1.02)}.event-content-wrapper{grid-area:content;display:flex;flex-direction:column;justify-content:center;max-width:580px}.event-header{margin-bottom:var(--space-6)}.event-kicker-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-2)}.event-number{font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark)}.event-theme-tag{font-family:var(--font-sans-body);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:3px 10px;border-radius:var(--radius-full)}.event-theme-mehendi{color:#3b5943;background-color:#4a6b531a;border:1px solid rgba(74,107,83,.2)}.event-theme-sangeet{color:var(--color-maroon);background-color:#641f3014;border:1px solid rgba(100,31,48,.2)}.event-theme-wedding-ceremony{color:var(--color-gold-dark);background-color:#b5965b1f;border:1px solid rgba(181,150,91,.25)}.event-title{font-family:var(--font-serif-heading);font-size:clamp(2.25rem,4vw,3.25rem);font-weight:var(--fw-regular);color:var(--color-maroon);line-height:var(--lh-tight);margin:0 0 var(--space-3) 0;letter-spacing:.01em}.event-divider{margin:var(--space-3) 0 var(--space-6);max-width:160px;margin-left:0;justify-content:flex-start}.event-divider:before{flex:0 0 20px}.event-metadata-list{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}@media(min-width:560px){.event-metadata-list{grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-6)}}.event-meta-item{display:flex;flex-direction:column;gap:2px}.event-meta-label{font-family:var(--font-sans-body);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-charcoal-muted)}.event-meta-value{font-family:var(--font-sans-body);font-size:.9375rem;font-weight:var(--fw-medium);color:var(--text-primary);line-height:1.4}.event-meta-bullet{color:var(--color-gold);margin:0 2px}.event-dress-code{color:var(--color-maroon);font-style:italic;font-family:var(--font-serif-display);font-weight:var(--fw-regular);font-size:1rem}.event-description{font-family:var(--font-sans-body);font-size:clamp(1rem,.25vw + .95rem,1.125rem);font-weight:var(--fw-light);line-height:var(--lh-relaxed);color:var(--text-primary);margin:0}@media(max-width:959px){.events{padding:clamp(3.5rem,7vw,5rem) 0}.events-section-header{margin-bottom:var(--space-10)}.events-list{gap:clamp(var(--space-12),8vw,var(--space-16))}.event-row{grid-template-areas:"image" "content";gap:var(--space-8)}.event-image-container{max-width:380px}.event-image-accent,.event-row-reversed .event-image-accent{top:-8px;right:-8px;bottom:8px;left:8px}.event-content-wrapper{max-width:100%}.event-title{font-size:clamp(2rem,6.5vw,2.65rem)}.event-metadata-list{grid-template-columns:1fr;gap:var(--space-3)}}@media(prefers-reduced-motion:reduce){.event-img,.event-image-accent{transition:none!important;transform:none!important}}.gallery{position:relative;width:100%;background-color:var(--bg-primary);color:var(--text-primary);padding:clamp(5rem,9vw,9rem) 0;overflow:hidden}.gallery-container{width:100%;max-width:var(--container-wide-width, 1360px);margin:0 auto;padding:0 var(--gutter-fluid, clamp(1.25rem, 4vw, 3.5rem));box-sizing:border-box}.gallery-section-header{margin-bottom:clamp(var(--space-10),6vw,var(--space-16));text-align:center}.gallery-grid{display:grid;width:100%;box-sizing:border-box}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-xs, 2px);background-color:var(--color-sand-light, #F2E9DB);border:1px solid var(--border-subtle, rgba(181, 150, 91, .25));box-shadow:0 4px 20px #28201e0d;display:block;box-sizing:border-box}.gallery-item-inner{position:relative;width:100%;height:100%;overflow:hidden}.gallery-picture{display:block;width:100%;height:100%}.gallery-img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);backface-visibility:hidden;transition:transform var(--transition-slow, .45s cubic-bezier(.65, 0, .35, 1))}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-3) var(--space-4);background:linear-gradient(to top,#28201eb8,#28201e00);color:var(--color-ivory-light, #FAF7F0);font-family:var(--font-sans-body);font-size:var(--text-caption, .8125rem);letter-spacing:var(--tracking-wider, .12em);text-transform:uppercase;font-weight:var(--fw-medium, 500);opacity:0;transform:translateY(6px);transition:opacity var(--transition-normal, .28s ease),transform var(--transition-normal, .28s ease);pointer-events:none}@media(min-width:1200px){.gallery-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,380px);grid-template-areas:"palace   palace   florals" "mehendi  couple   sangeet" "ceremony couple   reception" "mandap   romance  romance";gap:var(--space-6, 1.5rem)}.gallery-item--palace{grid-area:palace}.gallery-item--couple{grid-area:couple}.gallery-item--mehendi{grid-area:mehendi}.gallery-item--florals{grid-area:florals}.gallery-item--sangeet{grid-area:sangeet}.gallery-item--mandap{grid-area:mandap}.gallery-item--ceremony{grid-area:ceremony}.gallery-item--reception{grid-area:reception}.gallery-item--romance{grid-area:romance}}@media(min-width:768px)and (max-width:1199px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(6,340px);grid-template-areas:"palace   palace" "couple   mehendi" "couple   florals" "sangeet  mandap" "ceremony reception" "romance  romance";gap:var(--space-5, 1.25rem)}.gallery-item--palace{grid-area:palace}.gallery-item--couple{grid-area:couple}.gallery-item--mehendi{grid-area:mehendi}.gallery-item--florals{grid-area:florals}.gallery-item--sangeet{grid-area:sangeet}.gallery-item--mandap{grid-area:mandap}.gallery-item--ceremony{grid-area:ceremony}.gallery-item--reception{grid-area:reception}.gallery-item--romance{grid-area:romance}}@media(min-width:480px)and (max-width:767px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:"palace   palace" "couple   couple" "mehendi  florals" "sangeet  mandap" "ceremony reception" "romance  romance";gap:var(--space-4, 1rem)}.gallery-item--palace{grid-area:palace;aspect-ratio:16 / 10}.gallery-item--couple{grid-area:couple;aspect-ratio:4 / 5}.gallery-item--mehendi{grid-area:mehendi;aspect-ratio:1 / 1}.gallery-item--florals{grid-area:florals;aspect-ratio:1 / 1}.gallery-item--sangeet{grid-area:sangeet;aspect-ratio:1 / 1}.gallery-item--mandap{grid-area:mandap;aspect-ratio:1 / 1}.gallery-item--ceremony{grid-area:ceremony;aspect-ratio:1 / 1}.gallery-item--reception{grid-area:reception;aspect-ratio:1 / 1}.gallery-item--romance{grid-area:romance;aspect-ratio:16 / 10}}@media(max-width:479px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:"palace   palace" "couple   couple" "mehendi  florals" "sangeet  mandap" "ceremony reception" "romance  romance";gap:var(--space-3, .75rem)}.gallery-item--palace{grid-area:palace;aspect-ratio:16 / 11}.gallery-item--couple{grid-area:couple;aspect-ratio:4 / 5}.gallery-item--mehendi{grid-area:mehendi;aspect-ratio:4 / 5}.gallery-item--florals{grid-area:florals;aspect-ratio:4 / 5}.gallery-item--sangeet{grid-area:sangeet;aspect-ratio:4 / 5}.gallery-item--mandap{grid-area:mandap;aspect-ratio:4 / 5}.gallery-item--ceremony{grid-area:ceremony;aspect-ratio:4 / 5}.gallery-item--reception{grid-area:reception;aspect-ratio:4 / 5}.gallery-item--romance{grid-area:romance;aspect-ratio:16 / 11}}@media(hover:hover)and (pointer:fine){.gallery-item{transition:transform var(--transition-normal, .28s ease),box-shadow var(--transition-normal, .28s ease),border-color var(--transition-normal, .28s ease)}.gallery-item:hover{transform:translateY(-4px);box-shadow:0 12px 32px #28201e1f,0 0 16px #b5965b33;border-color:#b5965b8c}.gallery-item:hover .gallery-img{transform:scale(1.035)}.gallery-item:hover .gallery-caption{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.gallery-item,.gallery-img,.gallery-caption{transition:none!important;transform:none!important}}.venue{position:relative;width:100%;background-color:var(--bg-primary);color:var(--text-primary);padding:clamp(4.5rem,8vw,7.5rem) 0;overflow:hidden}.venue-section-header{margin-bottom:clamp(var(--space-8),5vw,var(--space-12))}.venue-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}@media(min-width:960px){.venue-grid{grid-template-columns:1.05fr 1fr;gap:clamp(var(--space-8),4.5vw,var(--space-12));align-items:start}}.venue-image-column{position:relative;display:flex;flex-direction:column}.venue-image-frame{position:relative;width:100%;aspect-ratio:16 / 10;border-radius:var(--radius-xs);box-shadow:var(--shadow-card);background-color:var(--color-sand-light);overflow:visible}.venue-image-accent{position:absolute;top:-8px;right:-8px;bottom:8px;left:8px;border:1px solid var(--border-medium);pointer-events:none;z-index:var(--z-deep);border-radius:var(--radius-xs);transition:inset var(--transition-normal),border-color var(--transition-normal)}.venue-image-frame:hover .venue-image-accent{top:-12px;right:-12px;bottom:12px;left:12px;border-color:var(--color-gold)}.venue-picture{display:block;width:100%;height:100%}.venue-palace-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;border-radius:var(--radius-xs);border:1px solid var(--border-subtle);opacity:0;transition:opacity var(--motion-duration-slow) var(--motion-ease-out),transform var(--transition-slow)}.venue-image-loaded .venue-palace-img{opacity:1}.venue-image-frame:hover .venue-palace-img{transform:scale(1.015)}.venue-image-caption{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-family:var(--font-sans-body);font-size:var(--text-caption);font-weight:var(--fw-regular);letter-spacing:var(--tracking-wide);color:var(--text-muted)}.venue-caption-icon{font-size:.6rem;color:var(--color-gold)}.venue-info-column{display:flex;flex-direction:column;gap:var(--space-5)}.venue-info-header{display:flex;flex-direction:column;gap:var(--space-2)}.venue-name{font-family:var(--font-serif-heading);font-size:clamp(2rem,3.2vw,2.75rem);font-weight:var(--fw-regular);color:var(--color-maroon);line-height:var(--lh-tight);margin:0;letter-spacing:.01em}.venue-ornament{display:flex;align-items:center;gap:var(--space-2);max-width:180px;color:var(--color-gold);margin-top:var(--space-1)}.venue-ornament-line{flex:1;height:1px;background:linear-gradient(to right,var(--color-gold-border),var(--color-gold))}.venue-ornament-line:last-child{background:linear-gradient(to left,var(--color-gold-border),var(--color-gold))}.venue-ornament-diamond{font-size:.55rem;line-height:1;color:var(--color-gold)}.venue-meta-list{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin:0;padding:var(--space-4) 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}@media(min-width:600px){.venue-meta-list{grid-template-columns:repeat(2,1fr)}.venue-meta-item:last-child{grid-column:1 / -1}}.venue-meta-item{display:flex;flex-direction:column;gap:2px}.venue-meta-label{font-family:var(--font-sans-body);font-size:.72rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark)}.venue-meta-value{font-family:var(--font-sans-body);font-size:.9375rem;font-weight:var(--fw-regular);color:var(--text-primary);margin:0;line-height:var(--lh-snug)}.venue-address{font-style:normal;color:var(--color-maroon);font-weight:var(--fw-medium)}.venue-description{font-family:var(--font-sans-body);font-size:clamp(.9375rem,.2vw + .9rem,1.05rem);font-weight:var(--fw-light);line-height:var(--lh-relaxed);color:var(--text-secondary);margin:0}.venue-note{display:flex;align-items:flex-start;gap:var(--space-2);font-family:var(--font-sans-body);font-size:var(--text-caption);color:var(--text-muted);font-style:italic;margin:0;line-height:var(--lh-snug)}.venue-note-icon{font-style:normal;font-size:.85rem;color:var(--color-gold-dark);line-height:1.1;flex-shrink:0}.venue-map-block{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.venue-map-title{font-family:var(--font-sans-body);font-size:.75rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-gold-dark);margin:0}.venue-map-container{position:relative;width:100%;aspect-ratio:16 / 9;min-height:220px;max-height:320px;border-radius:var(--radius-xs);overflow:hidden;border:1px solid var(--border-medium);box-shadow:var(--shadow-subtle);background-color:var(--color-sand-light)}.venue-map-iframe{display:block;width:100%;height:100%;border:0}.venue-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.venue-action-btn{display:inline-flex;align-items:center;gap:var(--space-2);text-decoration:none;font-size:var(--text-caption);padding:.625rem 1.25rem}.venue-action-icon{font-size:.85rem;line-height:1}@media(max-width:959px){.venue-grid{grid-template-columns:1fr;gap:var(--space-8)}.venue-image-frame{max-width:100%}.venue-image-accent{top:-6px;right:-6px;bottom:6px;left:6px}.venue-actions{flex-direction:column;align-items:stretch}.venue-action-btn{justify-content:center;width:100%;min-height:44px}}@media(prefers-reduced-motion:reduce){.venue-palace-img,.venue-image-accent,.btn{transition:none!important;transform:none!important}}.rsvp{position:relative;width:100%;background-color:var(--bg-primary);color:var(--text-primary);padding:clamp(4.5rem,8vw,7.5rem) 0;overflow:hidden}.rsvp-section-header{margin-bottom:clamp(var(--space-6),4vw,var(--space-10))}.rsvp-card{position:relative;max-width:680px;margin:0 auto;background-color:var(--color-white);border:1px solid var(--border-medium);border-radius:var(--radius-xs);padding:clamp(var(--space-6),6vw,var(--space-12));box-shadow:var(--shadow-card);overflow:hidden}.rsvp-card:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid var(--border-subtle);pointer-events:none;border-radius:var(--radius-xs)}.rsvp-filigree{position:absolute;font-size:.75rem;color:var(--color-gold);line-height:1;pointer-events:none;opacity:.85;z-index:2}.rsvp-filigree-tl{top:14px;left:14px}.rsvp-filigree-tr{top:14px;right:14px}.rsvp-filigree-bl{bottom:14px;left:14px}.rsvp-filigree-br{bottom:14px;right:14px}.rsvp-guest-header-badge{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:var(--color-sand-light);border:1px solid var(--border-medium);border-radius:var(--radius-full);padding:.375rem 1rem;margin:0 auto var(--space-4);font-family:var(--font-sans-body);font-size:var(--text-caption);color:var(--color-maroon)}.rsvp-guest-badge-diamond{color:var(--color-gold);font-size:.65rem}.rsvp-guest-badge-text strong{font-weight:var(--fw-bold);color:var(--color-maroon-dark)}.rsvp-card-header{text-align:center;margin-bottom:var(--space-8)}.rsvp-card-eyebrow{font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark);margin-bottom:var(--space-1)}.rsvp-card-title{font-family:var(--font-serif-heading);font-size:clamp(1.85rem,3vw,2.35rem);font-weight:var(--fw-regular);color:var(--color-maroon);line-height:var(--lh-tight);margin:0 0 var(--space-2) 0;letter-spacing:.01em}.rsvp-card-divider{max-width:140px;margin:var(--space-2) auto var(--space-4)}.rsvp-form{display:flex;flex-direction:column;gap:var(--space-6);position:relative;z-index:1}.rsvp-field{display:flex;flex-direction:column;gap:var(--space-2)}.rsvp-label{display:flex;align-items:center;font-family:var(--font-sans-body);font-size:.8125rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-maroon);cursor:pointer}.rsvp-required-star{color:var(--color-maroon-light);margin-left:4px;font-size:.875rem;line-height:1}.rsvp-optional-tag{font-size:.72rem;font-weight:var(--fw-regular);color:var(--text-muted);text-transform:none;letter-spacing:normal;margin-left:6px}.rsvp-input,.rsvp-select,.rsvp-textarea{width:100%;font-family:var(--font-sans-body);font-size:.95rem;color:var(--text-primary);background-color:var(--color-ivory-light);border:1px solid var(--border-medium);border-radius:var(--radius-xs);padding:.75rem 1rem;line-height:var(--lh-normal);transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.rsvp-input::placeholder,.rsvp-textarea::placeholder{color:var(--color-charcoal-subtle);opacity:.7;font-style:italic}.rsvp-input:focus,.rsvp-select:focus,.rsvp-textarea:focus{outline:none;border-color:var(--color-gold-dark);background-color:var(--color-white);box-shadow:0 0 0 3px var(--color-gold-glow)}.rsvp-input-error,.rsvp-input-error:focus{border-color:var(--color-maroon)!important;box-shadow:0 0 0 3px #641f3026!important}.rsvp-error-text{font-family:var(--font-sans-body);font-size:.75rem;font-weight:var(--fw-medium);color:var(--color-maroon);margin:var(--space-1) 0 0 0;display:flex;align-items:center;gap:4px}.rsvp-error-text:before{content:"⚠";font-size:.75rem}.rsvp-fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.rsvp-attendance-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-top:var(--space-1)}.rsvp-attendance-option{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-medium);border-radius:var(--radius-xs);background-color:var(--color-ivory-light);padding:.875rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:48px;box-sizing:border-box;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}@media(max-width:600px){.rsvp-attendance-options{grid-template-columns:1fr;gap:var(--space-3)}.rsvp-attendance-option{width:100%;min-height:48px;padding:.875rem 1.25rem}.rsvp-option-content{white-space:nowrap}}.rsvp-attendance-option:hover{border-color:var(--color-gold);background-color:var(--color-sand-light)}.rsvp-attendance-option:focus-within{outline:none;box-shadow:0 0 0 3px var(--color-gold-glow)}.rsvp-radio-native{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.rsvp-option-content{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans-body);font-size:.9375rem;font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);color:var(--text-primary);transition:color var(--transition-fast)}.rsvp-option-icon{font-size:.75rem;color:var(--color-gold-dark);transition:color var(--transition-fast)}.rsvp-option-selected{background-color:var(--color-maroon);border-color:var(--color-gold);box-shadow:var(--shadow-subtle)}.rsvp-option-selected:hover{background-color:var(--color-maroon-light);border-color:var(--color-gold-light)}.rsvp-option-selected .rsvp-option-content{color:var(--color-ivory-light)}.rsvp-option-selected .rsvp-option-icon{color:var(--color-gold-light)}.rsvp-select-wrapper{position:relative;width:100%}.rsvp-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.5rem;cursor:pointer}.rsvp-select-arrow{position:absolute;right:1rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.75rem;color:var(--color-gold-dark)}.rsvp-textarea{resize:vertical;min-height:100px}.rsvp-submit-wrapper{display:flex;justify-content:center;margin-top:var(--space-2)}.rsvp-submit-btn{width:100%;max-width:320px;gap:var(--space-2)}.rsvp-submit-arrow{font-size:1rem;transition:transform var(--transition-fast)}.rsvp-submit-btn:hover .rsvp-submit-arrow{transform:translate(3px)}.rsvp-demo-notice{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans-body);font-size:.75rem;color:var(--text-muted);text-align:center;line-height:var(--lh-snug);padding-top:var(--space-2)}.rsvp-notice-icon{color:var(--color-gold-dark);font-size:.85rem;flex-shrink:0}.rsvp-confirmation{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-4) 0;position:relative;z-index:1;width:100%}.digital-invitation-card{position:relative;width:100%;max-width:600px;background-color:var(--color-ivory-light);background-image:radial-gradient(circle at 50% 0%,rgba(212,175,55,.08) 0%,transparent 75%);border:2px solid var(--color-gold);border-radius:var(--radius-sm);box-shadow:0 16px 48px #641f301f,0 4px 16px #b5965b2e;padding:3rem 2.5rem 2.5rem;margin:0 auto var(--space-6);box-sizing:border-box}.digital-invitation-card:before{content:"";position:absolute;top:10px;left:10px;right:10px;bottom:10px;border:1px solid rgba(181,150,91,.35);border-radius:calc(var(--radius-sm) - 2px);pointer-events:none}.invitation-filigree{position:absolute;color:var(--color-gold);font-size:.9rem;line-height:1;z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.85}.invitation-filigree-tl{top:16px;left:16px}.invitation-filigree-tr{top:16px;right:16px}.invitation-filigree-bl{bottom:16px;left:16px}.invitation-filigree-br{bottom:16px;right:16px}.invitation-header{text-align:center;margin-bottom:var(--space-4);position:relative;z-index:1}.invitation-crest{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-gold);margin-bottom:var(--space-2)}.invitation-crest-diamond{font-size:.55rem;opacity:.75}.invitation-crest-motif{font-size:.95rem}.invitation-eyebrow{font-family:var(--font-sans-body);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark);margin:0 0 var(--space-2) 0}.invitation-couple-names{font-family:var(--font-serif-heading);font-size:clamp(2.2rem,4.5vw,2.85rem);font-weight:var(--fw-regular);color:var(--color-maroon);line-height:var(--lh-tight);letter-spacing:.02em;margin:0 0 var(--space-3) 0}.invitation-formal-request{font-family:var(--font-sans-body);font-size:.6875rem;font-weight:var(--fw-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-secondary);margin:0 0 var(--space-2) 0}.invitation-guest-name{font-family:var(--font-serif-heading);font-size:clamp(1.75rem,3.8vw,2.35rem);font-weight:var(--fw-semibold);color:var(--color-maroon-dark);line-height:var(--lh-tight);margin:0;letter-spacing:.02em}.invitation-divider{max-width:140px;margin:var(--space-4) auto var(--space-4)}.invitation-quote-wrapper{margin:0 auto var(--space-5);max-width:480px;text-align:center;position:relative;z-index:1}.invitation-quote{font-family:var(--font-serif-display);font-style:italic;font-size:clamp(1.05rem,1.3vw,1.18rem);line-height:var(--lh-relaxed);color:var(--color-maroon);margin:0;padding:0 var(--space-3);position:relative}.invitation-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);background-color:#b5965b12;border:1px solid rgba(181,150,91,.25);border-radius:var(--radius-xs);padding:var(--space-4) var(--space-3);margin-bottom:var(--space-5);text-align:center;position:relative;z-index:1}.invitation-detail-item{display:flex;flex-direction:column;gap:var(--space-1)}.invitation-detail-label{font-family:var(--font-sans-body);font-size:.625rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-gold-dark)}.invitation-detail-value{font-family:var(--font-serif-heading);font-size:1.05rem;font-weight:var(--fw-semibold);color:var(--color-maroon);line-height:var(--lh-tight)}.invitation-status-row{display:flex;justify-content:center;margin-bottom:var(--space-4);position:relative;z-index:1}.invitation-status-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:.45rem 1.15rem;background-color:var(--color-maroon);color:var(--color-ivory-light);border-radius:var(--radius-full);font-family:var(--font-sans-body);font-size:.8125rem;font-weight:var(--fw-medium);letter-spacing:var(--tracking-normal);box-shadow:var(--shadow-subtle)}.invitation-status-dot{color:var(--color-gold-light);font-size:.65rem}.invitation-status-text{line-height:1.2}.invitation-guest-note{background-color:#f5efe499;border-left:2px solid var(--color-gold);border-radius:0 var(--radius-xs) var(--radius-xs) 0;padding:var(--space-3) var(--space-4);margin:0 auto var(--space-5);max-width:480px;text-align:left;display:flex;flex-direction:column;gap:var(--space-1);position:relative;z-index:1}.invitation-note-label{font-family:var(--font-sans-body);font-size:.6875rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-gold-dark)}.invitation-note-text{font-family:var(--font-serif-display);font-style:italic;font-size:.9375rem;color:var(--text-primary);line-height:var(--lh-normal)}.invitation-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid rgba(181,150,91,.25);position:relative;z-index:1}.invitation-action-btn{min-height:44px;padding:.625rem 1.25rem;font-size:.78rem;display:inline-flex;align-items:center;gap:var(--space-2)}.invitation-btn-icon{font-size:.9rem;line-height:1}.invitation-action-btn.btn-outline{background-color:transparent;color:var(--color-maroon);border:1px solid var(--color-gold)}.invitation-action-btn.btn-outline:hover:not(:disabled){background-color:#b5965b1f;color:var(--color-maroon-dark);border-color:var(--color-gold-dark);transform:translateY(-2px)}.invitation-action-btn.btn-outline:active:not(:disabled){background-color:#b5965b33;transform:translateY(0)}.rsvp-disclaimer-box{width:100%;max-width:540px;background-color:var(--color-sand-light);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:var(--space-4);margin-bottom:var(--space-6);text-align:center}.rsvp-disclaimer-heading{font-family:var(--font-sans-body);font-size:.72rem;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-gold-dark);margin:0 0 var(--space-1) 0;display:inline-flex;align-items:center;gap:4px}.rsvp-disclaimer-icon{font-size:.7rem;color:var(--color-gold)}.rsvp-disclaimer-text{font-family:var(--font-sans-body);font-size:.78rem;color:var(--text-muted);line-height:var(--lh-normal);margin:0}.rsvp-reset-btn{padding:.625rem 1.25rem}@media(max-width:640px){.digital-invitation-card{padding:2.25rem 1.25rem 1.75rem;margin-bottom:var(--space-4)}.digital-invitation-card:before{top:6px;left:6px;right:6px;bottom:6px}.invitation-filigree-tl{top:10px;left:10px}.invitation-filigree-tr{top:10px;right:10px}.invitation-filigree-bl{bottom:10px;left:10px}.invitation-filigree-br{bottom:10px;right:10px}.invitation-details-grid{grid-template-columns:1fr;gap:var(--space-2);padding:var(--space-3) var(--space-2)}.invitation-actions{flex-direction:column;align-items:stretch;gap:var(--space-2)}.invitation-action-btn{width:100%;min-height:48px;justify-content:center}}@media(prefers-reduced-motion:reduce){.rsvp-attendance-option,.rsvp-input,.rsvp-select,.rsvp-textarea,.rsvp-submit-btn,.rsvp-submit-arrow{transition:none!important;transform:none!important}}.faq{position:relative;width:100%;background-color:var(--bg-primary);color:var(--text-primary);padding:clamp(4.5rem,8vw,7.5rem) 0;overflow:hidden}.faq-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);align-items:start}@media(min-width:960px){.faq-grid{grid-template-columns:minmax(320px,390px) 1fr;gap:clamp(var(--space-8),5vw,var(--space-16))}.faq-intro-column{position:sticky;top:var(--space-10)}}.faq-intro-column,.faq-header{display:flex;flex-direction:column}.faq-eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-dark);margin-bottom:var(--space-2)}.faq-eyebrow-diamond{font-size:.55rem;color:var(--color-gold)}.faq-heading{font-family:var(--font-serif-heading);font-size:clamp(2.25rem,3.8vw,3.25rem);font-weight:var(--fw-regular);color:var(--color-maroon);line-height:var(--lh-tight);margin:0 0 var(--space-3) 0;letter-spacing:.01em}.faq-divider{margin:var(--space-2) 0 var(--space-5);max-width:180px;margin-left:0;justify-content:flex-start}.faq-divider:before{flex:0 0 24px}.faq-subtitle{font-family:var(--font-sans-body);font-size:clamp(.95rem,.25vw + .9rem,1.0625rem);font-weight:var(--fw-light);line-height:var(--lh-relaxed);color:var(--text-secondary);margin:0 0 var(--space-6) 0}.faq-note-card{display:flex;align-items:flex-start;gap:var(--space-3);background-color:var(--color-sand-light);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:var(--space-4) var(--space-5);margin-top:var(--space-2)}.faq-note-icon{color:var(--color-gold);font-size:.85rem;line-height:1.4;flex-shrink:0}.faq-note-text{font-family:var(--font-sans-body);font-size:.8125rem;font-weight:var(--fw-regular);color:var(--text-muted);line-height:var(--lh-normal);margin:0}.faq-accordion-column{width:100%}.faq-accordion{display:flex;flex-direction:column;border-top:1px solid var(--border-subtle)}.faq-item{border-bottom:1px solid var(--border-subtle);transition:background-color var(--transition-fast)}.faq-item-open{background-color:#f2e9db40}.faq-question-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-5) var(--space-2);background:none;border:none;text-align:left;cursor:pointer;min-height:52px;gap:var(--space-4);transition:color var(--transition-fast),background-color var(--transition-fast)}.faq-question-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-gold-glow);border-radius:var(--radius-xs)}.faq-question-number{font-family:var(--font-serif-heading);font-size:1.05rem;font-weight:var(--fw-medium);color:var(--color-gold-dark);letter-spacing:.04em;flex-shrink:0;width:28px}.faq-question-text{flex:1;font-family:var(--font-serif-heading);font-size:clamp(1.125rem,1.4vw,1.35rem);font-weight:var(--fw-medium);color:var(--color-maroon);line-height:var(--lh-snug);letter-spacing:.01em;transition:color var(--transition-fast)}.faq-question-btn:hover .faq-question-text{color:var(--color-gold-dark)}.faq-indicator{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--border-medium);background-color:var(--color-ivory-light);color:var(--color-gold-dark);flex-shrink:0;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.faq-indicator-icon{font-size:1.15rem;font-weight:300;line-height:1}.faq-question-btn:hover .faq-indicator{border-color:var(--color-gold);background-color:var(--color-sand-light)}.faq-item-open .faq-indicator{background-color:var(--color-maroon);border-color:var(--color-gold);color:var(--color-ivory-light)}.faq-answer-wrapper{overflow:hidden}.faq-answer-content{padding:0 var(--space-2) var(--space-6) calc(28px + var(--space-4));display:flex;flex-direction:column;gap:var(--space-3)}.faq-answer-paragraph{font-family:var(--font-sans-body);font-size:clamp(.9375rem,.2vw + .9rem,1rem);font-weight:var(--fw-light);line-height:var(--lh-relaxed);color:var(--text-secondary);margin:0}.faq-bullet-list{list-style:none;padding:0;margin:var(--space-1) 0;display:flex;flex-direction:column;gap:var(--space-2)}.faq-bullet-item{display:flex;align-items:baseline;gap:var(--space-2);font-family:var(--font-sans-body);font-size:.9375rem;font-weight:var(--fw-regular);color:var(--text-primary);line-height:var(--lh-normal)}.faq-bullet-marker{font-size:.55rem;color:var(--color-gold-dark);flex-shrink:0;line-height:1}.faq-clarification-note{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-sans-body);font-size:.8125rem;font-style:italic;color:var(--text-muted);margin:var(--space-1) 0 0 0;line-height:var(--lh-snug)}.faq-clarification-icon{font-style:normal;font-size:.85rem;color:var(--color-gold-dark)}@media(max-width:959px){.faq-grid{grid-template-columns:1fr;gap:var(--space-8)}.faq-intro-column{position:static}.faq-header{text-align:left}.faq-divider{margin:var(--space-2) 0 var(--space-4)}.faq-question-btn{padding:var(--space-4) 0;gap:var(--space-3)}.faq-question-number{width:24px;font-size:.95rem}.faq-question-text{font-size:1.125rem}.faq-answer-content{padding-left:0;padding-right:0;padding-bottom:var(--space-5)}}@media(prefers-reduced-motion:reduce){.faq-indicator,.faq-item,.faq-question-text{transition:none!important}}.footer{position:relative;width:100%;background-color:var(--color-maroon);color:var(--color-ivory);padding:clamp(5rem,8vw,7rem) 0 clamp(3rem,5vw,4.5rem) 0;overflow:hidden;border-top:1px solid var(--color-gold-border)}.footer-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:820px;margin:0 auto}.footer-flourish{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-gold-light);margin-bottom:var(--space-4);opacity:.85}.footer-flourish-diamond{font-size:.55rem}.footer-flourish-motif{font-size:.85rem}.footer-couple-names{font-family:var(--font-serif-heading);font-size:clamp(2.5rem,5.5vw,4rem);font-weight:var(--fw-regular);color:var(--color-ivory-light);line-height:var(--lh-tight);letter-spacing:.03em;margin:0 0 var(--space-2) 0;display:inline-flex;align-items:baseline;justify-content:center;gap:.35em;flex-wrap:wrap}.footer-ampersand{font-family:var(--font-serif-display);font-style:italic;font-size:.9em;color:var(--color-gold-light);font-weight:var(--fw-light)}.footer-closing-message{font-family:var(--font-serif-display);font-style:italic;font-size:clamp(1.0625rem,1.5vw,1.28rem);font-weight:var(--fw-regular);color:var(--color-sand);line-height:var(--lh-normal);margin:0 0 var(--space-4) 0}.footer-meta-row{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);flex-wrap:wrap;font-family:var(--font-sans-body);font-size:var(--text-caption);font-weight:var(--fw-medium);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-gold-light);margin-bottom:var(--space-3)}.footer-meta-dot{color:var(--color-gold);font-size:.85rem}.footer-divider{margin:var(--space-5) auto var(--space-7);max-width:220px}.footer-nav{width:100%;margin-bottom:var(--space-6)}.footer-nav-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-2) var(--space-6);padding:0;margin:0;list-style:none}.footer-nav-item{display:inline-flex;align-items:center}.footer-nav-link{position:relative;display:inline-block;padding:.375rem .25rem;font-family:var(--font-sans-body);font-size:var(--text-body-sm);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-ivory);text-decoration:none;transition:color var(--transition-fast)}.footer-nav-link:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--color-gold-light);transform:scaleX(0);transform-origin:right;transition:transform var(--transition-normal)}.footer-nav-link:hover{color:var(--color-gold-light)}.footer-nav-link:hover:after{transform:scaleX(1);transform-origin:left}.footer-nav-link:focus-visible{outline:none;box-shadow:0 0 0 2px var(--color-gold-light);border-radius:var(--radius-xs)}.footer-back-to-top-wrapper{margin-bottom:var(--space-7)}.footer-back-to-top{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background-color:transparent;border:1px solid rgba(205,179,130,.45);border-radius:var(--radius-full);padding:.5rem 1.35rem;min-height:44px;color:var(--color-gold-light);font-family:var(--font-sans-body);font-size:var(--text-caption);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.footer-back-to-top-arrow{font-size:.95rem;line-height:1;transition:transform var(--transition-fast)}.footer-back-to-top:hover{background-color:#b5965b29;border-color:var(--color-gold-light);color:var(--color-ivory-light);transform:translateY(-2px);box-shadow:0 4px 14px #0003}.footer-back-to-top:hover .footer-back-to-top-arrow{transform:translateY(-2px)}.footer-back-to-top:active{transform:translateY(0)}.footer-back-to-top:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-gold-glow)}.footer-disclaimer-wrapper{width:100%;max-width:600px;padding-top:var(--space-6);border-top:1px solid rgba(245,239,228,.12);margin-bottom:var(--space-3)}.footer-disclaimer{font-family:var(--font-sans-body);font-size:.78rem;font-weight:var(--fw-light);color:#f5efe4a6;line-height:var(--lh-normal);font-style:italic;margin:0}.footer-copyright{font-family:var(--font-sans-body);font-size:.72rem;font-weight:var(--fw-regular);letter-spacing:var(--tracking-wide);color:#f5efe473;margin:0}@media(max-width:640px){.footer-nav-list{gap:var(--space-2) var(--space-4)}.footer-nav-link{font-size:.8125rem;padding:.5rem .25rem}.footer-couple-names{font-size:clamp(2.25rem,8vw,3rem)}}@media(prefers-reduced-motion:reduce){.footer-nav-link:after,.footer-back-to-top,.footer-back-to-top-arrow{transition:none!important;transform:none!important}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:root{--color-maroon: #641F30;--color-maroon-dark: #481421;--color-maroon-light: #7E2C41;--color-maroon-tint: rgba(100, 31, 48, .06);--color-maroon-overlay: rgba(100, 31, 48, .85);--color-ivory: #F5EFE4;--color-ivory-light: #FAF7F0;--color-ivory-dark: #E7DDCF;--color-gold: #B5965B;--color-gold-light: #CDB382;--color-gold-dark: #8C6F36;--color-gold-tint: rgba(181, 150, 91, .12);--color-gold-border: rgba(181, 150, 91, .35);--color-gold-glow: rgba(181, 150, 91, .22);--color-charcoal: #28201E;--color-charcoal-muted: #574B48;--color-charcoal-subtle: #7A6E6B;--color-rose: #A87971;--color-rose-light: #C49B94;--color-rose-dark: #8C5E57;--color-rose-tint: rgba(168, 121, 113, .1);--color-sand: #E7D8C1;--color-sand-light: #F2E9DB;--color-sand-dark: #D4BE9F;--color-white: #FFFFFF;--bg-primary: var(--color-ivory);--bg-secondary: var(--color-sand-light);--bg-tertiary: var(--color-sand);--bg-dark: var(--color-maroon);--bg-dark-secondary: var(--color-maroon-dark);--bg-card: var(--color-white);--bg-card-subtle: var(--color-ivory-light);--bg-overlay: rgba(40, 32, 30, .65);--text-primary: var(--color-charcoal);--text-secondary: var(--color-charcoal-muted);--text-muted: var(--color-charcoal-subtle);--text-accent: var(--color-gold-dark);--text-accent-display: var(--color-gold);--text-rose: var(--color-rose-dark);--text-inverse: var(--color-ivory-light);--text-inverse-muted: var(--color-sand);--border-subtle: rgba(181, 150, 91, .22);--border-medium: rgba(181, 150, 91, .45);--border-accent: var(--color-gold);--border-gold-ornate: 1px solid var(--color-gold);--border-divider: rgba(40, 32, 30, .08);--interactive-primary-bg: var(--color-maroon);--interactive-primary-hover-bg: var(--color-maroon-light);--interactive-primary-active-bg: var(--color-maroon-dark);--interactive-primary-text: var(--color-ivory-light);--interactive-primary-border: var(--color-gold-dark);--interactive-secondary-bg: transparent;--interactive-secondary-hover-bg: var(--color-maroon-tint);--interactive-secondary-text: var(--color-maroon);--interactive-secondary-border: var(--color-maroon);--interactive-gold-bg: transparent;--interactive-gold-hover-bg: var(--color-gold-tint);--interactive-gold-text: var(--color-gold-dark);--interactive-gold-border: var(--color-gold);--focus-ring-color: var(--color-gold);--focus-ring-offset: 3px;--font-serif-heading: "Cormorant Garamond", Garamond, "Times New Roman", serif;--font-serif-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-sans-body: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--text-display: clamp(2.75rem, 5.5vw + 1rem, 5rem);--text-h1: clamp(2.25rem, 4vw + .75rem, 3.75rem);--text-h2: clamp(1.75rem, 2.75vw + .5rem, 2.75rem);--text-h3: clamp(1.35rem, 1.8vw + .4rem, 2rem);--text-h4: clamp(1.15rem, 1.2vw + .25rem, 1.5rem);--text-body-lead: clamp(1.0625rem, .4vw + .95rem, 1.25rem);--text-body: 1rem;--text-body-sm: .875rem;--text-caption: .8125rem;--text-kicker: clamp(.75rem, .25vw + .7rem, .8125rem);--lh-tight: 1.15;--lh-snug: 1.35;--lh-normal: 1.6;--lh-relaxed: 1.8;--tracking-tight: -.015em;--tracking-normal: 0em;--tracking-wide: .05em;--tracking-wider: .12em;--tracking-widest: .22em;--gutter-fluid: clamp(1.25rem, 4vw, 3.5rem);--section-spacing-sm: clamp(2.5rem, 5vw, 4rem);--section-spacing-md: clamp(4rem, 8vw, 6.5rem);--section-spacing-lg: clamp(6rem, 11vw, 9.5rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--container-max-width: 1200px;--container-narrow-width: 820px;--container-wide-width: 1360px;--radius-none: 0px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 9999px;--shadow-subtle: 0 2px 10px rgba(40, 32, 30, .04);--shadow-card: 0 8px 30px rgba(40, 32, 30, .07);--shadow-elevated: 0 16px 44px rgba(40, 32, 30, .11);--shadow-gold-glow: 0 0 24px var(--color-gold-glow);--motion-duration-fast: .16s;--motion-duration-normal: .28s;--motion-duration-slow: .45s;--motion-ease-out: cubic-bezier(.22, 1, .36, 1);--motion-ease-in-out: cubic-bezier(.65, 0, .35, 1);--transition-fast: var(--motion-duration-fast) var(--motion-ease-out);--transition-normal: var(--motion-duration-normal) var(--motion-ease-out);--transition-slow: var(--motion-duration-slow) var(--motion-ease-in-out);--z-deep: -1;--z-base: 0;--z-surface: 10;--z-dropdown: 100;--z-sticky: 200;--z-header: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-toast: 600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans-body);font-size:var(--text-body-sm);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;text-decoration:none;border-radius:var(--radius-xs);cursor:pointer;border:1px solid transparent;transition:background-color var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;line-height:1}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--interactive-primary-bg);color:var(--interactive-primary-text);border-color:var(--interactive-primary-border);box-shadow:var(--shadow-subtle)}.btn-primary:hover:not(:disabled){background-color:var(--interactive-primary-hover-bg);color:var(--interactive-primary-text);border-color:var(--color-gold);transform:translateY(-2px);box-shadow:var(--shadow-card)}.btn-primary:active:not(:disabled){background-color:var(--interactive-primary-active-bg);transform:translateY(0)}.btn-secondary{background-color:var(--interactive-secondary-bg);color:var(--interactive-secondary-text);border-color:var(--interactive-secondary-border)}.btn-secondary:hover:not(:disabled){background-color:var(--color-maroon);color:var(--color-ivory-light);transform:translateY(-2px);box-shadow:var(--shadow-subtle)}.btn-secondary:active:not(:disabled){background-color:var(--color-maroon-dark);transform:translateY(0)}.btn-gold{background-color:var(--interactive-gold-bg);color:var(--interactive-gold-text);border-color:var(--interactive-gold-border)}.btn-gold:hover:not(:disabled){background-color:var(--color-gold);color:var(--color-maroon-dark);transform:translateY(-2px);box-shadow:var(--shadow-subtle)}.btn-gold:active:not(:disabled){background-color:var(--color-gold-dark);transform:translateY(0)}.btn-sm{padding:.5rem 1.125rem;font-size:var(--text-caption)}.btn-md{padding:.75rem 1.75rem;font-size:var(--text-body-sm)}.btn-lg{padding:1rem 2.25rem;font-size:.9375rem}.link-editorial{position:relative;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-maroon);font-weight:var(--fw-medium);letter-spacing:var(--tracking-wide);text-decoration:none;transition:color var(--transition-fast);padding-bottom:2px}.link-editorial:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background-color:var(--color-gold);transform:scaleX(0);transform-origin:right;transition:transform var(--transition-normal)}.link-editorial:hover{color:var(--color-gold-dark)}.link-editorial:hover:after{transform:scaleX(1);transform-origin:left}.link-inverse{color:var(--color-ivory)}.link-inverse:hover{color:var(--color-gold-light)}.link-inverse:after{background-color:var(--color-gold-light)}.divider-royal{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;max-width:320px;margin:var(--space-4) auto;color:var(--color-gold)}.divider-royal:before,.divider-royal:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--color-gold-border) 40%,var(--color-gold))}.divider-royal:after{background:linear-gradient(to left,transparent,var(--color-gold-border) 40%,var(--color-gold))}.divider-royal-icon{display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;line-height:1;color:var(--color-gold)}.divider-royal-inverse{color:var(--color-gold-light)}.divider-royal-inverse:before{background:linear-gradient(to right,transparent,rgba(205,179,130,.4) 40%,var(--color-gold-light))}.divider-royal-inverse:after{background:linear-gradient(to left,transparent,rgba(205,179,130,.4) 40%,var(--color-gold-light))}.divider-royal-inverse .divider-royal-icon{color:var(--color-gold-light)}.section-kicker{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-sans-body);font-size:var(--text-kicker);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--text-accent);margin-bottom:var(--space-2)}.section-kicker-ornate:before,.section-kicker-ornate:after{content:"♦";font-size:.55rem;color:var(--color-gold);opacity:.8}.section-header{text-align:center;margin-bottom:var(--space-8);max-width:var(--container-narrow-width);margin-left:auto;margin-right:auto}.section-title{font-family:var(--font-serif-heading);font-size:var(--text-h2);font-weight:var(--fw-medium);color:var(--color-maroon);line-height:var(--lh-tight);margin-bottom:var(--space-2)}.section-subtitle{font-family:var(--font-sans-body);font-size:var(--text-body-lead);font-weight:var(--fw-light);color:var(--text-secondary);line-height:var(--lh-normal);max-width:600px;margin-left:auto;margin-right:auto}.container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--gutter-fluid);padding-right:var(--gutter-fluid)}.container-narrow{width:100%;max-width:var(--container-narrow-width);margin-left:auto;margin-right:auto;padding-left:var(--gutter-fluid);padding-right:var(--gutter-fluid)}.container-wide{width:100%;max-width:var(--container-wide-width);margin-left:auto;margin-right:auto;padding-left:var(--gutter-fluid);padding-right:var(--gutter-fluid)}.card-royal{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:var(--space-8);box-shadow:var(--shadow-card);position:relative;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal)}.card-royal-interactive:hover{transform:translateY(-3px);box-shadow:var(--shadow-elevated);border-color:var(--color-gold)}.card-royal-ornate{position:relative;padding:calc(var(--space-8) + 4px)}.card-royal-ornate:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid var(--border-subtle);pointer-events:none;border-radius:var(--radius-xs)}.surface-ivory{background-color:var(--bg-primary);color:var(--text-primary)}.surface-sand{background-color:var(--bg-secondary);color:var(--text-primary)}.surface-maroon{background-color:var(--bg-dark);color:var(--text-inverse)}.surface-maroon h1,.surface-maroon h2,.surface-maroon h3,.surface-maroon h4{color:var(--color-ivory-light)}.surface-maroon .section-kicker{color:var(--color-gold-light)}.img-frame{position:relative;overflow:hidden;border-radius:var(--radius-xs);border:1px solid var(--border-subtle);background-color:var(--color-sand-light);box-shadow:var(--shadow-subtle)}.img-frame img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.img-frame:hover img{transform:scale(1.03)}.img-frame-ornate:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(245,239,228,.6);pointer-events:none;z-index:var(--z-surface);transition:inset var(--transition-normal),border-color var(--transition-normal)}.img-frame-ornate:hover:after{top:12px;right:12px;bottom:12px;left:12px;border-color:var(--color-gold-light)}.aspect-portrait{aspect-ratio:3 / 4}.aspect-landscape{aspect-ratio:16 / 9}.aspect-square{aspect-ratio:1 / 1}.aspect-editorial{aspect-ratio:4 / 5}html{font-size:100%}body{font-family:var(--font-sans-body);font-size:var(--text-body);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--text-primary);background-color:var(--bg-primary);text-rendering:optimizeLegibility}::selection{background-color:var(--color-gold-tint);color:var(--color-maroon-dark)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif-heading);font-weight:var(--fw-medium);line-height:var(--lh-tight);color:var(--color-maroon);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}h4{font-size:var(--text-h4)}p{color:var(--text-secondary);line-height:var(--lh-normal);margin-bottom:var(--space-4)}p:last-child{margin-bottom:0}.font-display{font-family:var(--font-serif-display)}.font-heading{font-family:var(--font-serif-heading)}.font-sans{font-family:var(--font-sans-body)}.text-gold{color:var(--color-gold-dark)}.text-maroon{color:var(--color-maroon)}.text-rose{color:var(--color-rose-dark)}.text-muted{color:var(--text-muted)}:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
