.ctl{border-radius:var(--radius-panel);background:color-mix(in oklch, var(--card) 70%, transparent);border:1px solid color-mix(in oklch, var(--border) 70%, transparent);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;margin-bottom:22px;padding:18px 20px;display:flex}.ctl__row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ctl__label{min-width:96px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--muted-foreground);align-items:center;gap:7px;font-weight:600;display:inline-flex}.ctl__themes{flex-wrap:wrap;gap:8px;display:flex}.ctl-theme{font-family:var(--font-sans);color:var(--foreground);background:var(--background);border:1px solid color-mix(in oklch, var(--border) 80%, transparent);border-radius:var(--radius-full);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);align-items:center;gap:7px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex}.ctl-theme:hover{transform:translateY(-1px)}.ctl-theme.is-on{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklch, var(--ring) 22%, transparent)}.ctl-dot{background:var(--wedding-primary);border-radius:50%;width:14px;height:14px}.ctl__lang{position:relative}.ctl__langbtn{height:40px;font-family:var(--font-sans);background:var(--background);border:1px solid color-mix(in oklch, var(--border) 80%, transparent);border-radius:var(--radius-full);cursor:pointer;align-items:center;gap:9px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.ctl__chev{color:var(--muted-foreground)}.ctl__langmenu{background:var(--popover);border:1px solid color-mix(in oklch, var(--border) 80%, transparent);border-radius:var(--radius-lg);min-width:180px;box-shadow:var(--shadow-lg);z-index:20;padding:6px;display:none;position:absolute;top:calc(100% + 8px);left:0}.ctl__langmenu.is-open{display:block}.ctl__langmenu button{width:100%;font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;color:var(--foreground);background:0 0;border:0;align-items:center;gap:10px;padding:9px 12px;font-size:14px;display:flex}.ctl__langmenu button:hover{background:color-mix(in oklch, var(--muted) 70%, transparent)}.frame{border-radius:var(--radius-panel);border:1px solid color-mix(in oklch, var(--border) 70%, transparent);box-shadow:var(--wedding-shadow-soft);overflow:hidden}#wed-shell{padding:0}.wed-hero{text-align:center;background:radial-gradient(40rem 24rem at 80% -10%, color-mix(in oklch, var(--wedding-accent) 24%, transparent), transparent 60%), radial-gradient(34rem 22rem at 6% 4%, color-mix(in oklch, var(--wedding-primary) 14%, transparent), transparent 58%), var(--wedding-bg);padding:clamp(48px,9vw,96px) 24px}.wed-eyebrow{font-family:var(--wedding-font-sans);text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);color:var(--wedding-primary);margin:0;font-size:12px}.wed-center{text-align:center}.wed-names{font-family:var(--wedding-font-serif);color:var(--wedding-fg);letter-spacing:-.02em;margin:14px 0 0;font-size:clamp(2.8rem,8vw,4.5rem);line-height:1.05}.wed-sub{color:var(--wedding-fg);opacity:.72;font-family:var(--wedding-font-sans);margin:14px 0 0}.wed-hero-actions{justify-content:center;gap:12px;margin-top:30px;display:flex}.wed-btn{height:46px;font-family:var(--wedding-font-sans);cursor:pointer;transition:transform var(--duration-base) var(--ease-out);border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;padding:0 26px;font-size:15px;font-weight:600;display:inline-flex}.wed-btn:hover{transform:translateY(-2px)}.wed-btn--solid{background:var(--wedding-primary);color:var(--wedding-bg)}.wed-btn--ghost{color:var(--wedding-fg);border-color:var(--wedding-border);background:0 0}.wed-full{width:100%;margin-top:18px}.wed-section{max-width:940px;margin-inline:auto;padding:clamp(44px,7vw,80px) 24px}.wed-h2{font-family:var(--wedding-font-serif);color:var(--wedding-fg);text-align:center;letter-spacing:-.02em;margin:10px 0 36px;font-size:clamp(1.9rem,4vw,2.6rem)}.wed-story{grid-template-columns:1fr;gap:18px;display:grid}@media (width>=760px){.wed-story{grid-template-columns:repeat(3,1fr)}}.wed-card{background:color-mix(in oklch, var(--wedding-bg) 92%, white);border:1px solid var(--wedding-border);border-radius:var(--wedding-panel-radius);box-shadow:var(--wedding-shadow-soft);padding:24px}.wed-card-date{font-family:var(--wedding-font-sans);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--wedding-primary);font-size:11px}.wed-card-title{font-family:var(--wedding-font-serif);color:var(--wedding-fg);margin-top:6px;font-size:1.4rem}.wed-card-body{font-family:var(--wedding-font-sans);color:var(--wedding-fg);opacity:.78;margin-top:8px;font-size:14px;line-height:1.6}.wed-schedule{flex-direction:column;gap:4px;max-width:540px;margin-inline:auto;display:flex}.wed-sched-row{border-bottom:1px solid var(--wedding-border);align-items:center;gap:18px;padding:16px 6px;display:flex}.wed-sched-time{font-family:var(--wedding-font-serif);color:var(--wedding-primary);min-width:5.5ch;font-size:1.25rem}.wed-sched-dot{background:var(--wedding-primary);border-radius:50%;width:9px;height:9px}.wed-sched-main{font-family:var(--wedding-font-sans);color:var(--wedding-fg);flex-direction:column;display:flex}.wed-sched-main span{opacity:.7;font-size:13px}.wed-rsvp{text-align:center}.wed-rsvp-by{font-family:var(--wedding-font-sans);color:var(--wedding-fg);opacity:.7;margin:-24px 0 26px}.wed-modal{z-index:100;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.wed-modal[data-open=true]{display:flex}.wed-modal__backdrop{backdrop-filter:blur(4px);background:oklch(0% none none/.45);position:absolute;inset:0}.wed-modal__panel{background:var(--wedding-bg);border:1px solid var(--wedding-border);border-radius:var(--wedding-panel-radius);width:100%;max-width:460px;box-shadow:var(--shadow-lg);padding:32px;position:relative}@media (prefers-reduced-motion:no-preference){.wed-modal[data-open=true] .wed-modal__panel{animation:modalIn .32s var(--ease-out)}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}}}.wed-modal__x{border:1px solid var(--wedding-border);width:32px;height:32px;color:var(--wedding-fg);cursor:pointer;background:0 0;border-radius:50%;position:absolute;top:16px;right:16px}.wed-label{font-family:var(--wedding-font-sans);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--wedding-primary);margin:16px 0 8px;font-size:11px;display:block}.wed-input{width:100%;font-family:var(--wedding-font-sans);color:var(--wedding-fg);background:color-mix(in oklch, var(--wedding-bg) 92%, white);border:1px solid var(--wedding-border);border-radius:var(--radius-input);outline:none;padding:12px 14px;font-size:15px}.wed-choice{gap:10px;display:flex}.wed-choice .wed-btn{flex:1;height:42px;padding:0}.wed-choice .is-on{box-shadow:0 0 0 3px color-mix(in oklch, var(--wedding-primary) 30%, transparent)}.wed-thanks{text-align:center;padding:18px 0}.wed-thanks .wed-h2{margin-bottom:10px}
