:root{--ui-bg:247 247 249;--ui-surface:255 255 255;--ui-raised:255 255 255;--ui-control:248 248 250;--ui-sunken:239 239 243;--ui-inverse:21 22 32;--ui-inverse-hover:52 54 68;--ui-on-inverse:255 255 255;--ui-border:228 228 234;--ui-border-strong:206 206 215;--ui-text:21 22 32;--ui-text-2:64 66 82;--ui-muted:98 100 117;--ui-faint:142 144 160;--ui-accent:150 40 84;--ui-accent-strong:112 24 60;--ui-accent-soft:252 243 247;--ui-accent-muted:245 220 231;--ui-danger:178 34 34;--ui-danger-soft:252 238 236;--ui-success:34 120 70;--ui-success-soft:234 246 238;--ui-fs-xs:12px;--ui-fs-sm:13px;--ui-fs-md:14px;--ui-fs-lg:16px;--ui-fs-xl:20px;--ui-font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", var(--font-vazirmatn), sans-serif;--ui-control-h:40px;--ui-control-h-sm:32px;--ui-icon:18px;--ui-radius-sm:6px;--ui-radius:10px;--ui-radius-lg:14px;--ui-radius-xl:20px;--ui-shadow:0 1px 2px #1516200d;--ui-shadow-md:0 4px 14px #15162012, 0 1px 3px #1516200d;--ui-shadow-pop:0 16px 40px #15162024, 0 2px 6px #1516200f;--ui-ring:0 0 0 3px rgb(var(--ui-accent) / .32);--ui-dur-fast:.12s;--ui-dur:.2s;--ui-curve:cubic-bezier(.22, 1, .36, 1);--ui-ease:.16s ease}@media (prefers-reduced-motion:reduce){:root{--ui-dur-fast:0s;--ui-dur:0s;--ui-ease:0s linear}}
.ui-app{background:rgb(var(--ui-bg));color:rgb(var(--ui-text));font-family:var(--ui-font);-webkit-font-smoothing:antialiased}.ui-topbar{background:rgb(var(--ui-surface));border-bottom:1px solid rgb(var(--ui-border))}.ui-sidebar{background:rgb(var(--ui-surface));border-inline-end:1px solid rgb(var(--ui-border))}.ui-banner{background:rgb(var(--ui-accent-soft));border-bottom:1px solid rgb(var(--ui-accent-muted));color:rgb(var(--ui-accent-strong))}.ui-pane{background:rgb(var(--ui-sunken));border-inline-start:1px solid rgb(var(--ui-border))}.ui-title{color:rgb(var(--ui-text));font-weight:650}.ui-subtle{color:rgb(var(--ui-muted))}.ui-btn{border-radius:var(--ui-radius);font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--ui-ease), border-color var(--ui-ease), color var(--ui-ease), box-shadow var(--ui-ease), transform var(--ui-dur-fast) var(--ui-curve);touch-action:manipulation;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-weight:550;line-height:1.2;text-decoration:none;display:inline-flex}.ui-btn[data-size=sm]{min-height:var(--ui-control-h-sm);font-size:var(--ui-fs-sm);padding:6px 12px}.ui-btn[data-size=md]{min-height:var(--ui-control-h);font-size:var(--ui-fs-md);padding:9px 16px}.ui-btn[data-icon]{aspect-ratio:1;padding:0}.ui-btn svg{flex:none}.ui-btn:active:not(:disabled){transform:scale(.97)}.ui-btn:focus-visible{box-shadow:var(--ui-ring);outline:none}.ui-btn:disabled,.ui-btn[aria-disabled=true]{cursor:not-allowed;opacity:.45}.ui-btn[data-variant=primary]{background:rgb(var(--ui-inverse));color:rgb(var(--ui-on-inverse))}.ui-btn[data-variant=primary]:hover:not(:disabled){background:rgb(var(--ui-inverse-hover))}.ui-btn[data-variant=secondary]{background:rgb(var(--ui-raised));border-color:rgb(var(--ui-border-strong));color:rgb(var(--ui-text));box-shadow:var(--ui-shadow)}.ui-btn[data-variant=secondary]:hover:not(:disabled){background:rgb(var(--ui-control));border-color:rgb(var(--ui-muted))}.ui-btn[data-variant=ghost]{color:rgb(var(--ui-text-2));background:0 0}.ui-btn[data-variant=ghost]:hover:not(:disabled){background:rgb(var(--ui-sunken));color:rgb(var(--ui-text))}.ui-btn[data-variant=accent]{background:rgb(var(--ui-accent-muted));color:rgb(var(--ui-accent-strong))}.ui-btn[data-variant=accent]:hover:not(:disabled),.ui-btn[data-variant=accent][aria-pressed=true]{background:rgb(var(--ui-accent));color:rgb(var(--ui-on-inverse))}.ui-btn[data-variant=danger]{color:rgb(var(--ui-danger));background:0 0}.ui-btn[data-variant=danger]:hover:not(:disabled){background:rgb(var(--ui-danger-soft))}.ui-field{gap:6px;display:grid}.ui-label{font-size:var(--ui-fs-sm);color:rgb(var(--ui-text-2));font-weight:550}.ui-hint{font-size:var(--ui-fs-xs);color:rgb(var(--ui-muted));line-height:1.45}.ui-error{font-size:var(--ui-fs-xs);color:rgb(var(--ui-danger));line-height:1.45}.ui-control{width:100%;min-height:var(--ui-control-h);border:1px solid rgb(var(--ui-border-strong));border-radius:var(--ui-radius);background:rgb(var(--ui-control));color:rgb(var(--ui-text));font:inherit;transition:background var(--ui-ease), border-color var(--ui-ease), box-shadow var(--ui-ease);outline:none;padding:8px 12px;font-size:14px;line-height:1.45}.ui-control::placeholder{color:rgb(var(--ui-faint))}.ui-control:hover{border-color:rgb(var(--ui-muted))}.ui-control:focus,.ui-control[aria-expanded=true]{background:rgb(var(--ui-raised));border-color:rgb(var(--ui-accent));box-shadow:var(--ui-ring)}textarea.ui-control{resize:vertical;line-height:1.7}.ui-select{position:relative}.ui-select-trigger{text-align:start;cursor:pointer;align-items:center;gap:8px;display:flex}.ui-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ui-select-placeholder{color:rgb(var(--ui-faint))}.ui-select-chevron{color:rgb(var(--ui-muted));transition:transform var(--ui-ease);flex:none}.ui-select-trigger[aria-expanded=true] .ui-select-chevron{transform:rotate(180deg)}.ui-menu{z-index:1000;font-family:var(--ui-font);-webkit-font-smoothing:antialiased;border:1px solid rgb(var(--ui-border));border-radius:var(--ui-radius-lg);background:rgb(var(--ui-raised));box-shadow:var(--ui-shadow-pop);flex-direction:column;animation:.14s ease-out ui-pop;display:flex;position:fixed;overflow:hidden}.ui-menu[data-placement=top]{animation-name:ui-pop-up}.ui-menu-search{border:0;border-bottom:1px solid rgb(var(--ui-border));background:rgb(var(--ui-surface));width:100%;color:rgb(var(--ui-text));font:inherit;outline:none;flex:none;padding:10px 12px;font-size:13px;display:block}.ui-menu-list{overscroll-behavior:contain;outline:none;flex:auto;min-height:0;padding:4px;overflow-y:auto}.ui-menu-group{letter-spacing:.06em;text-transform:uppercase;color:rgb(var(--ui-faint));padding:10px 10px 4px;font-size:11px;font-weight:650}.ui-menu-option{border-radius:var(--ui-radius-sm);color:rgb(var(--ui-text));cursor:pointer;align-items:center;gap:8px;padding:7px 10px;font-size:14px;display:flex}.ui-menu-option[data-active]{background:rgb(var(--ui-accent-soft))}.ui-menu-option[aria-selected=true]{color:rgb(var(--ui-accent-strong));font-weight:600}.ui-menu-option svg{color:rgb(var(--ui-accent));flex:none}.ui-menu-empty{text-align:center;color:rgb(var(--ui-muted));padding:12px;font-size:13px}.ui-control--mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.ui-switch-row{border:1px solid rgb(var(--ui-border));border-radius:var(--ui-radius);background:rgb(var(--ui-surface));justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 12px;display:flex}.ui-switch-row label{cursor:pointer;color:rgb(var(--ui-text));font-size:14px}.ui-switch{background:rgb(var(--ui-border-strong));cursor:pointer;width:38px;height:22px;transition:background var(--ui-ease);border:0;border-radius:999px;flex:none;margin-top:1px;position:relative}.ui-switch:after{content:"";top:3px;width:16px;height:16px;transition:inset-inline-start var(--ui-ease);background:#fff;border-radius:50%;position:absolute;inset-inline-start:3px;box-shadow:0 1px 3px #00000040}.ui-switch[aria-checked=true]{background:rgb(var(--ui-accent))}.ui-switch[aria-checked=true]:after{inset-inline-start:19px}.ui-switch:focus-visible{box-shadow:var(--ui-ring);outline:none}.ui-slider{width:100%;accent-color:rgb(var(--ui-accent))}.ui-slider-value{font-variant-numeric:tabular-nums;color:rgb(var(--ui-muted));font-weight:400}.ui-color{border:1px solid rgb(var(--ui-border));border-radius:var(--ui-radius);background:rgb(var(--ui-surface));cursor:pointer;align-items:center;gap:10px;padding:7px 10px;display:flex}.ui-color input{border-radius:var(--ui-radius-sm);cursor:pointer;background:0 0;border:0;flex:none;width:30px;height:30px;padding:0}.ui-option{border:1px solid rgb(var(--ui-border));border-radius:var(--ui-radius-lg);background:rgb(var(--ui-surface));width:100%;color:rgb(var(--ui-text));font:inherit;text-align:start;cursor:pointer;transition:border-color var(--ui-ease), background var(--ui-ease), box-shadow var(--ui-ease);padding:12px;display:block;position:relative}.ui-option:hover{border-color:rgb(var(--ui-border-strong));box-shadow:var(--ui-shadow)}.ui-option:focus-visible{box-shadow:var(--ui-ring);outline:none}.ui-option[aria-pressed=true]{border-color:rgb(var(--ui-accent));background:rgb(var(--ui-accent-soft));box-shadow:0 0 0 1px rgb(var(--ui-accent))}.ui-option[aria-pressed=true]:after{content:"";top:7px;background:rgb(var(--ui-accent)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;border-radius:50%;width:18px;height:18px;position:absolute;inset-inline-end:7px}.ui-option[data-compact]{padding:8px 10px}.ui-option[data-layout=row]{align-items:flex-start;gap:10px;display:flex}.ui-option[data-layout=row][data-compact]{align-items:center}.ui-option[data-layout=center]{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.ui-option-title{padding-inline-end:14px;font-size:14px;font-weight:550;display:block}.ui-option[data-compact] .ui-option-title{font-size:var(--ui-fs-sm)}.ui-option[data-layout=center] .ui-option-title{padding-inline-end:0}.ui-option-desc{font-size:var(--ui-fs-xs);color:rgb(var(--ui-muted));margin-top:4px;line-height:1.45;display:block}.ui-chip{border:1px solid rgb(var(--ui-border-strong));background:rgb(var(--ui-surface));color:rgb(var(--ui-text-2));font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--ui-ease), border-color var(--ui-ease), color var(--ui-ease);border-radius:999px;align-items:center;gap:6px;display:inline-flex}.ui-chip[data-size=md]{min-height:36px;font-size:var(--ui-fs-md);padding:6px 14px}.ui-chip[data-size=sm]{min-height:28px;font-size:var(--ui-fs-xs);padding:4px 11px}.ui-chip svg{flex:none}.ui-chip:hover{border-color:rgb(var(--ui-muted));color:rgb(var(--ui-text))}.ui-chip[aria-pressed=true]{border-color:rgb(var(--ui-inverse));background:rgb(var(--ui-inverse));color:rgb(var(--ui-on-inverse))}.ui-chip[data-tone=accent]{border-color:rgb(var(--ui-accent-muted));background:rgb(var(--ui-accent-muted));color:rgb(var(--ui-accent-strong))}.ui-chip:focus-visible{box-shadow:var(--ui-ring);outline:none}.ui-segmented{border-radius:var(--ui-radius);background:rgb(var(--ui-sunken));gap:2px;padding:3px;display:inline-flex}.ui-segmented[data-block]{display:flex}.ui-segmented button{border-radius:calc(var(--ui-radius) - 3px);min-height:30px;color:rgb(var(--ui-muted));font:inherit;white-space:nowrap;cursor:pointer;transition:background var(--ui-ease), color var(--ui-ease);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;padding:5px 12px;font-size:13px;display:inline-flex}.ui-segmented button:hover{color:rgb(var(--ui-text))}.ui-segmented button[aria-pressed=true]{background:rgb(var(--ui-raised));color:rgb(var(--ui-text));font-weight:600;box-shadow:0 1px 3px #0000001f}.ui-segmented button:focus-visible{box-shadow:var(--ui-ring);outline:none}.ui-nav-heading{letter-spacing:.08em;text-transform:uppercase;color:rgb(var(--ui-muted));padding:16px 10px 6px;font-size:11px;font-weight:650}.ui-nav-heading:first-child{padding-top:6px}.ui-nav-item{border-radius:var(--ui-radius);width:100%;min-height:36px;color:rgb(var(--ui-text-2));font:inherit;text-align:start;cursor:pointer;transition:background var(--ui-ease), color var(--ui-ease);background:0 0;border:0;align-items:center;gap:10px;padding:7px 10px;font-size:14px;display:flex;position:relative}.ui-nav-item:hover{background:rgb(var(--ui-sunken));color:rgb(var(--ui-text))}.ui-nav-item[aria-current=page]{background:rgb(var(--ui-accent-soft));color:rgb(var(--ui-accent-strong));box-shadow:inset 0 0 0 1px rgb(var(--ui-accent-muted));font-weight:600}.ui-nav-item[aria-current=page]:before{content:"";background:rgb(var(--ui-accent));border-radius:3px;width:3px;position:absolute;inset-block:8px;inset-inline-start:-6px}.ui-nav-item:focus-visible{box-shadow:var(--ui-ring);outline:none}.ui-nav-icon{width:20px;color:rgb(var(--ui-muted));flex:none;place-items:center;display:grid}.ui-nav-item:hover .ui-nav-icon,.ui-nav-item[aria-current=page] .ui-nav-icon{color:inherit}.ui-section{border-bottom:1px solid rgb(var(--ui-border));gap:16px;padding-bottom:24px;display:grid}.ui-section:last-child{border-bottom:0}.ui-section-title{color:rgb(var(--ui-text));font-size:15px;font-weight:650}.ui-section-desc{font-size:var(--ui-fs-sm);color:rgb(var(--ui-muted));margin-top:4px;line-height:1.6}.ui-group{border-radius:var(--ui-radius-lg);background:rgb(var(--ui-sunken) / .7);padding:12px}.ui-group:not(.grid)>*+*{margin-top:12px}.ui-card{border:1px solid rgb(var(--ui-border));border-radius:var(--ui-radius-lg);background:rgb(var(--ui-surface));box-shadow:var(--ui-shadow)}.ui-notice{border-radius:var(--ui-radius);font-size:var(--ui-fs-sm);border:1px solid;padding:10px 12px;line-height:1.6}.ui-badge{font-size:var(--ui-fs-xs);white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-weight:550;display:inline-flex}:is(.ui-notice,.ui-badge)[data-tone=info]{border-color:rgb(var(--ui-border));background:rgb(var(--ui-surface));color:rgb(var(--ui-text-2))}:is(.ui-notice,.ui-badge)[data-tone=warning]{border-color:rgb(var(--ui-accent-muted));background:rgb(var(--ui-accent-soft));color:rgb(var(--ui-accent-strong))}:is(.ui-notice,.ui-badge)[data-tone=danger]{border-color:rgb(var(--ui-danger) / .25);background:rgb(var(--ui-danger-soft));color:rgb(var(--ui-danger))}:is(.ui-notice,.ui-badge)[data-tone=success]{border-color:rgb(var(--ui-success) / .25);background:rgb(var(--ui-success-soft));color:rgb(var(--ui-success))}.ui-strip{border-radius:var(--ui-radius-sm);border:1px solid #0000001a;flex:none;display:flex;overflow:hidden}.ui-strip>span{flex:1;height:28px}.ui-strip[data-size=sm]>span{height:20px}.ui-strip[data-vertical]{width:64px}.ui-strip[data-vertical]>span{flex:none;width:16px}.ui-popover-anchor{position:relative}.ui-popover{z-index:60;border:1px solid rgb(var(--ui-border));border-radius:var(--ui-radius-lg);background:rgb(var(--ui-raised));box-shadow:var(--ui-shadow-pop);padding:12px;animation:.14s ease-out ui-pop;position:absolute;top:calc(100% + 6px)}.ui-popover[data-align=start]{inset-inline-start:0}.ui-popover[data-align=end]{inset-inline-end:0}@keyframes ui-pop{0%{opacity:0;transform:translateY(-4px)}}@keyframes ui-pop-up{0%{opacity:0;transform:translateY(4px)}}.ui-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ui-list-row{border:1px solid rgb(var(--ui-border));border-radius:var(--ui-radius);background:rgb(var(--ui-surface));align-items:center;gap:8px;padding:8px 12px;display:flex}.ui-drag{border-radius:var(--ui-radius-sm);width:20px;height:28px;color:rgb(var(--ui-faint));cursor:grab;touch-action:none;background:0 0;border:0;flex:none;place-items:center;margin-inline-start:-4px;display:grid}.ui-drag:hover{background:rgb(var(--ui-sunken));color:rgb(var(--ui-text-2))}.ui-drag[data-active]{background:rgb(var(--ui-accent-muted));color:rgb(var(--ui-accent-strong));cursor:grabbing}.ui-date-trigger{text-align:start;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.ui-date-main{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ui-date-sub{text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--ui-muted));margin-top:1px;font-size:11px;display:block;overflow:hidden}.ui-date-icon{color:rgb(var(--ui-muted));flex:none}.ui-cal{-webkit-user-select:none;user-select:none;width:280px}.ui-cal-head{align-items:center;gap:2px;margin:10px 0 6px;display:flex}.ui-cal-title{text-align:center;color:rgb(var(--ui-text));flex:1;font-size:14px;font-weight:650}.ui-cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.ui-cal-weekday{color:rgb(var(--ui-muted));padding:4px 0;font-size:11px;font-weight:600}.ui-cal-weekday[data-holiday],.ui-cal-day[data-holiday]{color:rgb(var(--ui-accent))}.ui-cal-day{border-radius:var(--ui-radius-sm);height:34px;color:rgb(var(--ui-text));font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--ui-ease);background:0 0;border:0;font-size:14px}.ui-cal-day:hover{background:rgb(var(--ui-accent-soft))}.ui-cal-day[data-today]{box-shadow:inset 0 0 0 1px rgb(var(--ui-accent))}.ui-cal-day[aria-pressed=true]{background:rgb(var(--ui-inverse));color:rgb(var(--ui-on-inverse));box-shadow:none;font-weight:650}.ui-cal-foot{border-top:1px solid rgb(var(--ui-border));justify-content:space-between;margin-top:8px;padding-top:8px;display:flex}.ui-time{align-items:center;gap:6px;display:flex}.ui-time .ui-select{width:76px}.ui-time .ui-control{font-variant-numeric:tabular-nums}.ui-dot{background:currentColor;border-radius:50%;flex:none;width:7px;height:7px}.ui-dot[data-pulse]{animation:1.4s ease-in-out infinite ui-pulse}@keyframes ui-pulse{50%{opacity:.35}}.ui-menu-items{min-width:200px;margin:-6px;display:grid}.ui-menu-item{border-radius:var(--ui-radius-sm);width:100%;min-height:36px;color:rgb(var(--ui-text));font:inherit;font-size:var(--ui-fs-md);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:7px 10px;text-decoration:none;display:flex}.ui-menu-item svg{color:rgb(var(--ui-muted));flex:none}.ui-menu-item:hover:not(:disabled),.ui-menu-item:focus-visible{background:rgb(var(--ui-accent-soft));outline:none}.ui-menu-item:disabled{cursor:not-allowed;opacity:.45}.ui-menu-item[data-tone=danger],.ui-menu-item[data-tone=danger] svg{color:rgb(var(--ui-danger))}.ui-menu-item[data-tone=danger]:hover:not(:disabled){background:rgb(var(--ui-danger-soft))}.ui-menu-sep{background:rgb(var(--ui-border));height:1px;margin:4px 6px}.ui-menu-item .ui-kbd{margin-inline-start:auto}.ui-kbd{border:1px solid rgb(var(--ui-border-strong));background:rgb(var(--ui-surface));color:rgb(var(--ui-muted));border-bottom-width:2px;border-radius:5px;align-items:center;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.4;display:inline-flex}.ui-toast{z-index:900;border-radius:var(--ui-radius-lg);background:rgb(var(--ui-inverse));max-width:min(560px,100vw - 32px);color:rgb(var(--ui-on-inverse));font-size:var(--ui-fs-sm);box-shadow:var(--ui-shadow-pop);animation:ui-toast var(--ui-dur) var(--ui-curve);align-items:center;gap:10px;padding:10px 12px 10px 14px;line-height:1.5;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.ui-toast[data-tone=danger]{background:rgb(var(--ui-danger))}.ui-toast svg{flex:none}.ui-toast button{border-radius:var(--ui-radius-sm);width:28px;height:28px;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;flex:none;place-items:center;display:grid}.ui-toast button:hover{opacity:1;background:#ffffff1f}@media (max-width:1023px){.ui-toast{bottom:80px}}@keyframes ui-toast{0%{opacity:0;transform:translate(-50%,8px)}}.ui-stage{background-color:rgb(var(--ui-sunken));background-image:radial-gradient(rgb(var(--ui-border-strong) / .7) 1px, transparent 1px);background-size:18px 18px}.ui-device{border:10px solid rgb(var(--ui-inverse));box-shadow:0 0 0 1px rgb(var(--ui-inverse-hover)), 0 30px 60px -20px rgb(var(--ui-inverse) / .5), 0 10px 24px rgb(var(--ui-inverse) / .15);background:#000;border-radius:2.8rem}.ui-scroll-x{scrollbar-width:none;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000);mask-image:linear-gradient(90deg,#0000,#000 16px calc(100% - 16px),#0000)}.ui-scroll-x::-webkit-scrollbar{display:none}.bg-ui-bg{background-color:rgb(var(--ui-bg))}.bg-ui-bg\/90{background-color:rgb(var(--ui-bg) / .9)}.bg-ui-surface{background-color:rgb(var(--ui-surface))}.bg-ui-sunken{background-color:rgb(var(--ui-sunken))}.bg-ui-border{background-color:rgb(var(--ui-border))}.bg-ui-border\/60{background-color:rgb(var(--ui-border) / .6)}.bg-ui-accent-soft{background-color:rgb(var(--ui-accent-soft))}.bg-ui-accent-muted{background-color:rgb(var(--ui-accent-muted))}.text-ui-text{color:rgb(var(--ui-text))}.text-ui-text-2{color:rgb(var(--ui-text-2))}.text-ui-muted{color:rgb(var(--ui-muted))}.text-ui-faint{color:rgb(var(--ui-faint))}.text-ui-danger{color:rgb(var(--ui-danger))}.text-ui-accent-strong{color:rgb(var(--ui-accent-strong))}.hover\:text-ui-text-2:hover{color:rgb(var(--ui-text-2))}.border-ui-border{border-color:rgb(var(--ui-border))}.border-ui-border-strong{border-color:rgb(var(--ui-border-strong))}.border-ui-accent{border-color:rgb(var(--ui-accent))}.border-ui-accent-muted{border-color:rgb(var(--ui-accent-muted))}.border-ui-inverse{border-color:rgb(var(--ui-inverse))}.ring-ui-accent\/30{--tw-ring-color:rgb(var(--ui-accent) / .3)}.accent-ui-accent{accent-color:rgb(var(--ui-accent))}.rounded-ui-sm{border-radius:var(--ui-radius-sm)}.rounded-ui{border-radius:var(--ui-radius)}.rounded-ui-lg{border-radius:var(--ui-radius-lg)}.shadow-ui{box-shadow:var(--ui-shadow)}.shadow-ui-pop,.hover\:shadow-ui-pop:hover{box-shadow:var(--ui-shadow-pop)}.font-ui{font-family:var(--ui-font)}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}:root{--paper:#eae6df;--paper-rgb:234 230 223;--paper-deep:#ddd7cc;--card:#fbf8f2;--card-rgb:251 248 242;--ink:#2b2620;--ink-rgb:43 38 32;--ink-soft:#5c5646;--accent:#a8894f;--accent-rgb:168 137 79;--accent-light:#c9ac72;--heart:#b52d42;--display:var(--font-shekasteh), serif;--body:var(--font-kalameh), var(--font-shekasteh), sans-serif;--text-dir:rtl;--ease-page:cubic-bezier(.65, 0, .35, 1);--ease-out:cubic-bezier(.22, 1, .36, 1)}:root,.card-root{--line:rgb(var(--ink-rgb) / .18);--heart-deep:color-mix(in srgb, var(--heart) 68%, black)}*{box-sizing:border-box;margin:0;padding:0}.card-root[dir=rtl] *,.card-root[dir=rtl] :before,.card-root[dir=rtl] :after{letter-spacing:0!important}html,body{overscroll-behavior:none;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--body);overscroll-behavior:none;-webkit-font-smoothing:antialiased;overflow:hidden}.app-bg{z-index:-2;background-color:var(--paper);background-position:50%;background-size:cover;position:fixed;inset:0}.app-bg:after{content:"";background:var(--paper);opacity:var(--bg-tint,0);position:absolute;inset:0}.bg-pattern-gradient{background-image:linear-gradient(165deg, var(--card) 0%, var(--paper) 45%, var(--paper-deep) 100%)}.bg-pattern-vignette{background-image:radial-gradient(ellipse at center, var(--card) 0%, var(--paper) 55%, var(--paper-deep) 100%)}.bg-pattern-dots{background-image:radial-gradient(rgb(var(--accent-rgb) / .22) 1.4px, transparent 1.6px);background-size:22px 22px}.bg-pattern-linen{background-image:repeating-linear-gradient(0deg, rgb(var(--ink-rgb) / .035) 0 1px, transparent 1px 4px), repeating-linear-gradient(90deg, rgb(var(--ink-rgb) / .03) 0 1px, transparent 1px 5px);background-size:auto}.bg-pattern-confetti{background-image:radial-gradient(circle at 20% 30%, rgb(var(--accent-rgb) / .4) 0 3px, transparent 3.5px), radial-gradient(circle at 70% 15%, color-mix(in srgb, var(--heart) 45%, transparent) 0 2.5px, transparent 3px), radial-gradient(circle at 85% 65%, color-mix(in srgb, var(--accent-light) 80%, transparent) 0 3.5px, transparent 4px), radial-gradient(circle at 40% 80%, color-mix(in srgb, var(--heart) 35%, transparent) 0 2px, transparent 2.5px), radial-gradient(circle at 55% 50%, rgb(var(--accent-rgb) / .25) 0 1.5px, transparent 2px);background-position:0 0,15px 30px,40px 10px,25px 45px,10px 5px;background-size:90px 90px,70px 70px,110px 110px,60px 60px,37px 37px}.bg-pattern-stars{background-image:radial-gradient(circle, rgb(var(--accent-rgb) / .45) 0 1px, transparent 1.5px), radial-gradient(circle, rgb(var(--accent-rgb) / .3) 0 1.5px, transparent 2px), radial-gradient(ellipse at top, var(--card), var(--paper) 70%);background-position:0 0,20px 30px,0 0;background-size:37px 41px,83px 79px,100% 100%}.bg-pattern-diamonds{background-image:repeating-linear-gradient(45deg, rgb(var(--accent-rgb) / .12) 0 1px, transparent 1px 26px), repeating-linear-gradient(-45deg, rgb(var(--accent-rgb) / .12) 0 1px, transparent 1px 26px)}.app-shell{touch-action:none;overscroll-behavior:none;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.slide-layer{--dur:var(--page-dur,.6s);z-index:1;opacity:0;visibility:hidden;pointer-events:none;backface-visibility:hidden;width:100%;height:100dvh;transform:translate3d(0, calc(var(--offset,0) * 7%), 0) scale(.96);transition:transform var(--dur) var(--ease-page), opacity var(--dur) var(--ease-page), visibility 0s linear var(--dur);position:absolute;inset:0}[data-transition=fade] .slide-layer{transform:none}[data-transition=zoom] .slide-layer{transform:scale(calc(1 - var(--offset,0) * .1))}[data-transition=push] .slide-layer{opacity:1;transform:translate3d(0, calc(var(--offset,0) * 100%), 0)}[data-transition=swipe] .slide-layer{opacity:1;transform:translate3d(calc(var(--offset,0) * var(--dir-sign,1) * 100%), 0, 0)}[data-transition=flip] .slide-layer{transform:perspective(1400px) rotateX(calc(var(--offset,0) * -80deg)) scale(.92);transform-origin:50%}.slide-layer.is-near{will-change:transform, opacity}.slide-layer.is-active{z-index:2;opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}@media (prefers-reduced-motion:reduce){.slide-layer,[data-transition] .slide-layer{opacity:0;transition-duration:.2s,.2s,0s;transition-delay:0s,0s,.2s;transform:none}.slide-layer.is-active,[data-transition] .slide-layer.is-active{opacity:1;transition-delay:0s}}.panel{justify-content:center;align-items:center;width:100%;height:100%;padding:9vh 7vw;display:flex;position:relative}.panel-inner{z-index:2;text-align:center;width:100%;max-width:640px;position:relative}@keyframes revealUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.panel-inner>*{opacity:0;animation:.7s cubic-bezier(.16,.84,.44,1) forwards paused revealUp}.panel.is-revealed .panel-inner>*{animation-play-state:running}@keyframes revealFade{0%{opacity:0}to{opacity:1}}@keyframes revealZoom{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}@keyframes revealBlur{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:none}}[data-entrance=fade] .panel-inner>*,[data-entrance=fade] .stagger-item,[data-entrance=fade] .gallery-frame{animation-name:revealFade}[data-entrance=zoom] .panel-inner>*,[data-entrance=zoom] .stagger-item,[data-entrance=zoom] .gallery-frame{animation-name:revealZoom}[data-entrance=blur] .panel-inner>*,[data-entrance=blur] .stagger-item,[data-entrance=blur] .gallery-frame{animation-name:revealBlur}[data-entrance=none] .panel-inner>:not(.reveal),[data-entrance=none] .stagger-item,[data-entrance=none] .gallery-frame{opacity:1;animation:none}.panel-inner>:first-child{animation-delay:50ms}.panel-inner>:nth-child(2){animation-delay:.18s}.panel-inner>:nth-child(3){animation-delay:.3s}.panel-inner>:nth-child(4){animation-delay:.42s}.panel-inner>:nth-child(5){animation-delay:.54s}.panel-inner>:nth-child(6){animation-delay:.66s}.eyebrow{font-family:var(--body);letter-spacing:.08em;font-size:calc(.8rem * var(--fs-body,1));color:var(--accent);margin-bottom:12px;font-weight:600}.divider{background:var(--accent);width:128px;height:1.5px;margin:18px auto;position:relative}.divider:before{content:"✦";border:solid 1.5px var(--accent);background:var(--paper);color:var(--accent);font-size:calc(.7rem * var(--fs-body,1));border-radius:2px;padding:0 10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.page-heading{font-family:var(--display);font-size:calc(clamp(1.9rem, 7vw, 2.6rem) * var(--fs-heading,1));color:var(--ink);margin-bottom:6px;line-height:1.9}.progress-nav{inset-inline-end:10px;z-index:50;flex-direction:column;gap:13px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.progress-dot{border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:50%;width:9px;height:9px;padding:0;transition:background .4s,transform .4s}.progress-dot.active{background:var(--accent);transform:scale(1.25)}.next-section-btn{z-index:60;border:1px solid rgb(var(--accent-rgb) / .72);background:rgb(var(--card-rgb) / .78);height:44px;color:var(--ink);font-family:var(--body);letter-spacing:.02em;box-shadow:0 8px 24px rgb(var(--ink-rgb) / .12), inset 0 0 0 1px #ffffff59;-webkit-backdrop-filter:blur(7px);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:11px;padding:0 18px;font-size:.78rem;font-weight:600;transition:transform .25s,background .25s,box-shadow .25s;animation:2.4s ease-in-out infinite nextButtonFloat;display:inline-flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.next-section-btn:hover,.next-section-btn:focus-visible{background:rgb(var(--card-rgb) / .95);box-shadow:0 12px 28px rgb(var(--ink-rgb) / .16), inset 0 0 0 1px #ffffff73;outline:none;transform:translate(-50%)translateY(-2px)}.next-section-btn:active{transform:translate(-50%)translateY(1px)scale(.98)}@keyframes nextButtonFloat{0%,to{translate:0}50%{translate:0 -3px}}@media (max-width:640px){.next-section-btn{min-width:98px;height:42px;bottom:18px}}.hero-panel{padding:6vh 9vw}.frame-border{-o-object-fit:fill;object-fit:fill;pointer-events:none;z-index:1;width:100%;height:90%;position:absolute;inset:0}.hero-frame{flex-direction:column;align-items:center;gap:0;display:flex}.hero-photo{width:calc(min(64vw, 300px) * var(--img-hero,1))}.hero-photo img{width:100%;height:auto;filter:drop-shadow(0 16px 26px rgb(var(--ink-rgb) / .28));display:block}.hero-names{margin-top:6px}.hero-names .and{font-family:var(--display);font-size:calc(10rem * var(--fs-names,1));color:var(--accent);display:block}.hero-names .and:not(.reveal){opacity:.2}.hero-names .name{font-family:var(--display);font-size:calc(clamp(2.3rem, 10vw, 3.3rem) * var(--fs-names,1));color:var(--ink);line-height:1.7;display:block}.hero-sub{font-size:calc(.95rem * var(--fs-body,1));letter-spacing:.02em;color:var(--ink-soft);margin-top:10px}.hero-date-pill{border:solid rgb(var(--accent-rgb) / .55);font-family:var(--body);letter-spacing:.08em;font-weight:500;font-size:calc(.88rem * var(--fs-body,1));color:var(--ink);border-width:1px 0;align-items:center;gap:10px;margin-top:22px;padding:8px 6px;display:inline-flex}:is(.hero-photo-content,[data-skin=pearl],[data-skin=amalfi],[data-skin=bow],[data-skin=marble],[data-skin=pop]) .hero-date-pill{letter-spacing:.02em;border-width:1px;border-radius:999px;padding:9px 24px}.hero-names-en{text-align:center;margin-top:6px}.hero-names-en .and-en{font-family:var(--font-en-display), serif;color:var(--accent);font-size:7rem;display:block;opacity:.22!important}.hero-names-en .name-en{font-family:var(--font-en-display), serif;letter-spacing:.03em;color:var(--ink);font-size:clamp(2.1rem,9vw,3.2rem);line-height:1.6;display:block}.invite-text-en{font-family:var(--font-en-display), serif;letter-spacing:.01em;color:var(--ink-soft);text-align:center;margin-top:6px;font-size:clamp(1.15rem,4.5vw,1.4rem);line-height:2.3}.vibe{font-family:var(--font-en-display-vibe), serif}.invite-text-en strong{font-family:var(--font-en-display), serif;color:var(--accent);margin:0 4px;font-size:1.25em}.hero-date-pill-en{border:1px solid var(--accent);font-family:var(--font-en-display), serif;letter-spacing:.04em;color:var(--ink);border-radius:999px;justify-content:center;align-items:center;gap:10px;width:fit-content;margin-top:20px;margin-left:auto;margin-right:auto;font-size:1rem;display:flex}.countdown{direction:ltr;justify-content:center;gap:18px;display:flex}.countdown .unit{flex-direction:column;align-items:center;min-width:62px;display:flex}.countdown .num{font-family:var(--body);font-weight:700;font-size:calc(clamp(1.7rem, 5vw, 2.3rem) * var(--fs-body,1));color:var(--ink);direction:ltr;unicode-bidi:isolate}.countdown .label{font-size:calc(.68rem * var(--fs-body,1));letter-spacing:.02em;color:var(--accent);margin-top:4px;font-weight:600}.countdown-ended{font-family:var(--display);font-size:calc(clamp(1.5rem, 6vw, 2rem) * var(--fs-heading,1));color:var(--accent);line-height:1.9}.invite-text strong.invite-names,.invite-poem strong.invite-names{color:var(--ink);font-size:1.35em;line-height:1.6}.invite-text{font-family:var(--body);font-size:calc(clamp(1.02rem, 4vw, 1.2rem) * var(--fs-body,1));color:var(--ink-soft);margin-top:6px;line-height:2.5}.invite-text strong{font-family:var(--display);margin-inline-end:10px;font-size:2em;font-weight:400}.invite-signature{font-family:var(--display);font-size:calc(2rem * var(--fs-heading,1));color:var(--accent);margin-top:34px}.gallery{opacity:1;flex-wrap:wrap;justify-content:center;gap:14px;width:100%;margin-top:26px;animation:none;display:flex}.gallery-frame{width:calc(140px * var(--img-gallery,1));height:calc(176px * var(--img-gallery,1));border:3px solid var(--paper);outline:1px solid var(--line);box-shadow:0 14px 28px rgb(var(--ink-rgb) / .22);background:var(--paper-deep);opacity:0;animation:.8s forwards paused revealPop;animation-delay:calc(var(--i,0) * .12s + .1s);cursor:pointer;padding:0;transition:transform .25s,box-shadow .25s;overflow:hidden}.gallery-frame:hover,.gallery-frame:focus-visible{box-shadow:0 18px 34px rgb(var(--ink-rgb) / .3);transform:scale(1.03)}.gallery-lightbox{z-index:100;background:#14100ce6;justify-content:center;align-items:center;padding:24px;animation:.25s forwards lightboxFadeIn;display:flex;position:fixed;inset:0}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.gallery-lightbox-img{-o-object-fit:contain;object-fit:contain;border:3px solid var(--paper);cursor:default;max-width:min(92vw,900px);max-height:88vh;box-shadow:0 20px 60px #00000080}.gallery-lightbox-close{top:18px;width:42px;height:42px;color:var(--paper);cursor:pointer;background:#ffffff1f;border:none;border-radius:999px;justify-content:center;align-items:center;font-size:28px;line-height:1;transition:background .2s;display:flex;position:absolute;inset-inline-end:20px}.gallery-lightbox-close:hover{background:#ffffff38}.panel.is-revealed .gallery-frame{animation-play-state:running}@keyframes revealPop{0%{opacity:0;transform:translateY(36px)rotate(-4deg)scale(.92)}70%{opacity:1;transform:translateY(-4px)rotate(1deg)scale(1.03)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}.gallery-frame img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.gallery--polaroid .gallery-frame:first-child{animation-delay:.1s}.gallery--polaroid .gallery-frame:nth-child(2){margin-top:26px;animation-delay:.26s}.gallery--polaroid .gallery-frame:nth-child(3){margin-top:-16px;animation-delay:.42s}.gallery--polaroid .gallery-frame:nth-child(4){margin-top:10px;animation-delay:.58s}.location-card{border:1.5px solid var(--accent-light);background:var(--paper);box-shadow:0 16px 32px rgb(var(--ink-rgb) / .18);border-radius:12px;margin:24px 0;padding:26px 22px}.location-card .venue{font-family:var(--display);font-size:calc(1.6rem * var(--fs-heading,1));color:var(--ink);margin-bottom:10px}.location-card .address{color:var(--ink-soft);line-height:1.9;font-size:calc(.95rem * var(--fs-body,1));margin-bottom:18px}.map-btn{border:1px solid var(--accent);color:var(--ink);font-size:calc(.85rem * var(--fs-body,1));border-radius:999px;align-items:center;gap:8px;padding:11px 30px;font-weight:600;text-decoration:none;transition:background .35s,color .35s;display:inline-flex}.map-btn:hover{background:var(--accent);color:#fff}.footer-mark{font-family:var(--display);font-size:calc(1.3rem * var(--fs-heading,1));color:var(--accent);opacity:.85;margin-top:26px}@media (max-width:640px){.gallery--polaroid .gallery-frame{width:calc(104px * var(--img-gallery,1));height:calc(132px * var(--img-gallery,1))}}@media (max-height:700px){.hero-photo{width:calc(min(52vw, 220px) * var(--img-hero,1))}.hero-names .name{font-size:calc(clamp(1.9rem, 9vw, 2.6rem) * var(--fs-names,1))}}.month-calendar-wrap{margin-top:34px}.month-calendar{background:var(--card);border:1px solid var(--accent-light);width:100%;box-shadow:0 16px 34px rgb(var(--ink-rgb) / .18);border-radius:14px;margin:0;padding:0 0 18px;overflow:hidden}.month-calendar-header{background-color:var(--accent);font-size:calc(1.25rem * var(--fs-body,1));color:#fff;text-align:center;margin-bottom:12px;padding:10px}.month-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;padding-left:10px;padding-right:10px;display:grid}.month-calendar-grid .weekday{font-size:calc(.68rem * var(--fs-body,1));color:var(--accent);text-align:center;padding-bottom:6px;font-weight:600}.month-calendar-grid .day-cell{aspect-ratio:1;font-size:calc(.82rem * var(--fs-body,1));color:var(--ink);border-radius:8px;justify-content:center;align-items:center;display:flex}.month-calendar-grid .day-cell.empty{visibility:hidden}.month-calendar-grid .day-cell.heart-day{font-size:calc(1.05rem * var(--fs-body,1));color:var(--heart)}.heart-day{justify-content:center;align-items:center;display:flex;position:relative}.heart-date{justify-content:center;align-items:center;width:15px;height:29px;display:flex;position:relative}.calendar-heart{filter:drop-shadow(0 2px 2px #6e232d2e);width:34px;height:34px;position:absolute;inset:50% auto auto 50%;overflow:visible;transform:translate(-50%,-50%)}.calendar-heart-outline{fill:none;stroke:var(--heart);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:3.2s cubic-bezier(.65,0,.35,1) infinite draw-heart}@keyframes draw-heart{0%{stroke-dashoffset:1px}45%{stroke-dashoffset:0}45%,78%{stroke-dashoffset:0}to{stroke-dashoffset:1px}}.heart-date-number{z-index:2;font-size:calc(15px * var(--fs-body,1));color:var(--heart-deep);font-weight:700;line-height:1;position:relative}.ceremony-timeline{direction:ltr;width:min(100%,520px);margin:10px auto 0;position:relative}.timeline-item{-moz-column-gap:18px;opacity:0;min-height:100px;animation:.7s cubic-bezier(.16,.84,.44,1) forwards paused revealTimelineItem;animation-delay:calc(var(--i) * .16s + .15s);grid-template-rows:auto;grid-template-columns:1fr 40px 1fr;align-items:start;column-gap:18px;display:grid;position:relative}.stagger-item{opacity:0;animation:.7s cubic-bezier(.16,.84,.44,1) forwards paused revealTimelineItem;animation-delay:calc(var(--i,0) * .14s + .15s)}.panel.is-revealed .timeline-item,.panel.is-revealed .stagger-item{animation-play-state:running}@keyframes revealTimelineItem{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.timeline-marker{z-index:2;grid-area:1/2;justify-content:center;place-self:start center;align-items:center;width:34px;height:34px;display:flex;position:relative;top:8px}.timeline-marker-dot{background:linear-gradient(160deg, var(--accent-light), var(--accent));color:#fff;width:30px;height:30px;font-family:var(--body);font-size:calc(.82rem * var(--fs-body,1));box-shadow:0 0 0 4px var(--paper), 0 0 0 5px rgb(var(--accent-rgb) / .35), 0 6px 14px rgb(var(--ink-rgb) / .25);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.timeline-item--right .timeline-content{text-align:left;grid-area:1/3;align-self:start;padding:12px 14px 22px 20px}.timeline-item--right .timeline-content-spacer{grid-area:1/1}.timeline-item--left .timeline-content{text-align:right;grid-area:1/1;align-self:start;padding:12px 20px 22px 14px}.timeline-item--left .timeline-content-spacer{grid-area:1/3}.timeline-content h3,.timeline-content span{direction:var(--text-dir);unicode-bidi:isolate}.timeline-content{margin-top:2px}.timeline-content h3{font-family:var(--display);font-size:calc(28px * var(--fs-heading,1));color:var(--ink);margin:0;font-weight:600;line-height:1.8}.timeline-content span{font-family:var(--body);font-size:calc(16px * var(--fs-body,1));color:var(--accent);letter-spacing:.02em;margin-top:2px;display:block}.timeline-line{background:linear-gradient(to bottom, var(--accent), rgb(var(--accent-rgb) / .15));z-index:1;border-radius:2px;width:2px;height:calc(100% - 30px);position:absolute;top:46px;left:50%;transform:translate(-50%)}@media (max-width:480px){.timeline-item{-moz-column-gap:10px;grid-template-columns:1fr 30px 1fr;column-gap:10px}.timeline-content h3{font-size:calc(18px * var(--fs-body,1))}}.card-root{min-height:100%;font-family:var(--body);color:var(--ink)}.hero-names .and{margin:-.8em 0}.hero-names .name-second{margin-top:-1.5rem}.hero-panel--photo{padding:0}.hero-photo-layout{position:absolute;inset:0;overflow:hidden}.hero-photo-bg{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-photo-shade{background:linear-gradient(#0000000d 0%,#0000001a 45%,#0000009e 100%);position:absolute;inset:0}.hero-photo-content{z-index:2;text-align:center;flex-direction:column;align-items:center;padding:0 7vw 13vh;display:flex;position:absolute;inset:auto 0 0}.hero-names--on-photo .name,.hero-photo-content .hero-sub{color:#fff;text-shadow:0 2px 18px #00000059}.hero-names--on-photo .and{color:#fff;font-size:calc(7rem * var(--fs-names,1));margin:-.79em 0}.hero-photo-content .hero-date-pill{color:#fff;-webkit-backdrop-filter:blur(4px);background:#0000002e;border-color:#ffffffb3}.hero-minimal{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.hero-monogram{border:1.5px solid var(--accent);width:132px;height:132px;box-shadow:0 0 0 6px var(--paper), 0 0 0 7px rgb(var(--accent-rgb) / .45);font-family:var(--display);font-size:calc(3rem * var(--fs-names,1));color:var(--ink);border-radius:50%;justify-content:center;align-items:center;gap:2px;margin-bottom:18px;line-height:1;display:flex}.hero-monogram .monogram-connector,.cover-seal .monogram-connector{color:var(--accent);white-space:pre;font-size:.55em}.hero-names--stacked .and{font-size:calc(2.4rem * var(--fs-names,1));margin:0;line-height:1.2}.hero-names--stacked .name-second{margin-top:0}.cover-intro{z-index:20;cursor:pointer;width:100%;height:100%;color:var(--ink);font-family:var(--body);background:radial-gradient(ellipse at center, var(--card) 0%, var(--paper) 60%, var(--paper-deep) 100%);transition:opacity .8s var(--ease-out);border:0;flex-direction:column;justify-content:center;align-items:center;gap:18px;margin:0;padding:10vh 10vw;display:flex;position:absolute;inset:0}.cover-intro.is-gone{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s var(--ease-out) .3s, visibility 0s linear 1.1s}.cover-intro.is-gone .cover-seal{opacity:0;transform:scale(1.6)rotate(-12deg)}.cover-intro-frame{border:1px solid rgb(var(--accent-rgb) / .55);outline:1px solid rgb(var(--accent-rgb) / .25);outline-offset:5px;pointer-events:none;border-radius:6px;position:absolute;inset:18px}.cover-guest{font-family:var(--display);font-size:calc(clamp(1.8rem, 8vw, 2.5rem) * var(--fs-names,1));color:var(--ink);line-height:1.8}.cover-names{font-family:var(--display);font-size:calc(clamp(1.2rem, 5vw, 1.5rem) * var(--fs-names,1));color:var(--ink-soft);line-height:1.9}.cover-connector{color:var(--accent)}.cover-seal{width:108px;height:108px;font-family:var(--display);font-size:calc(2.3rem * var(--fs-names,1));color:#fff;background:radial-gradient(circle at 35% 30%, var(--accent-light), var(--accent) 55%, color-mix(in srgb, var(--accent) 70%, black) 100%);box-shadow:inset 0 0 0 5px #ffffff2e, inset 0 -6px 12px #0000002e, 0 12px 28px rgb(var(--ink-rgb) / .3);transition:transform .6s var(--ease-out), opacity .6s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;margin:10px 0;line-height:1;display:flex;position:relative}.cover-seal .monogram-connector{color:#fffc}.cover-hint{font-size:calc(.82rem * var(--fs-body,1));letter-spacing:.04em;color:var(--accent);font-weight:600}.cover-seal:after{content:"";border:2px solid rgb(var(--accent-rgb) / .5);pointer-events:none;border-radius:50%;animation:2.6s ease-out infinite sealRing;position:absolute;inset:0}@keyframes sealRing{0%{opacity:.8;transform:scale(1)}70%,to{opacity:0;transform:scale(1.3)}}.music-toggle{z-index:60;top:14px;border:1px solid rgb(var(--accent-rgb) / .6);background:rgb(var(--card-rgb) / .8);width:38px;height:38px;color:var(--accent);-webkit-backdrop-filter:blur(6px);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;inset-inline-end:14px}.music-toggle.is-playing svg{animation:1.6s ease-in-out infinite musicBob}@keyframes musicBob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.next-section-btn svg{color:var(--accent)}@media (prefers-reduced-motion:reduce){.cover-seal:after,.next-section-btn,.music-toggle.is-playing svg{animation:none}}.intro-layer{z-index:150;pointer-events:none;position:fixed;inset:0}.intro-layer>*{pointer-events:auto}.intro-layer--envelope{max-width:28rem;margin:0 auto}.curtain-intro{cursor:pointer;width:100%;height:100%;color:var(--ink);font-family:var(--body);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset:0;overflow:hidden}.curtain{background:repeating-linear-gradient(90deg, #0000001a 0 2px, transparent 2px 26px, #ffffff12 26px 30px, transparent 30px 44px), linear-gradient(180deg, var(--accent) 0%, color-mix(in srgb, var(--accent) 72%, black) 100%);width:50.5%;transition:transform 1.2s cubic-bezier(.7,0,.3,1);position:absolute;top:0;bottom:0;box-shadow:inset 0 -40px 60px #00000040}.curtain--start{inset-inline-start:0}.curtain--end{inset-inline-end:0}.curtain-content{z-index:2;background:rgb(var(--card-rgb) / .92);border-radius:14px;flex-direction:column;align-items:center;gap:16px;padding:2rem 2.5rem;transition:opacity .4s,transform .4s;display:flex;position:relative;box-shadow:0 18px 50px #00000040}.curtain-intro.is-open{pointer-events:none;visibility:hidden;transition:visibility 0s linear 1.3s}.curtain-intro.is-open .curtain--start{transform:translateX(calc(-100% * var(--dir-sign,1)))}.curtain-intro.is-open .curtain--end{transform:translateX(calc(100% * var(--dir-sign,1)))}.curtain-intro.is-open .curtain-content{opacity:0;transform:scale(.9)}.hero-stack{flex-direction:column;align-items:center;height:100%;display:flex}.hero-stack--classic{justify-content:space-around;padding-bottom:4.5rem}.hero-stack--minimal,.hero-stack--arch{justify-content:center;gap:14px}.hero-guest{font-family:var(--display);font-size:calc(clamp(1.4rem, 6vw, 1.9rem) * var(--fs-names,1));color:var(--accent);line-height:1.9}.hero-photo-content .hero-guest{color:#fff}.hero-arch-photo{width:calc(min(62vw, 270px) * var(--img-hero,1));aspect-ratio:3/4;border:1.5px solid var(--accent);box-shadow:0 18px 36px rgb(var(--ink-rgb) / .2);border-radius:999px 999px 10px 10px;padding:6px}.hero-arch-photo img,.hero-round-photo img{-o-object-fit:cover;object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.hero-round-photo{width:calc(min(42vw, 170px) * var(--img-hero,1));aspect-ratio:1;border:1.5px solid var(--accent);border-radius:50%;padding:5px}@media (max-height:700px){.hero-arch-photo{width:calc(min(48vw, 190px) * var(--img-hero,1))}}.invite-sheet{max-width:520px;margin:8px auto 0;padding:26px 22px}.invite-sheet--card{border:1px solid var(--accent-light);outline:1px solid rgb(var(--accent-rgb) / .3);outline-offset:5px;background:rgb(var(--card-rgb) / .85);box-shadow:0 16px 34px rgb(var(--ink-rgb) / .12);border-radius:10px}.invite-sheet--letter{text-align:start;background:var(--card);box-shadow:0 1px 0 rgb(var(--ink-rgb) / .06), 0 18px 30px rgb(var(--ink-rgb) / .14);border-radius:4px;transform:rotate(-.6deg)}.invite-sheet--letter .invite-text{background:repeating-linear-gradient(to bottom, transparent 0 calc(2.45em - 1px), rgb(var(--accent-rgb) / .25) calc(2.45em - 1px) 2.45em);margin-top:0;line-height:2.45}.invite-sheet--letter .invite-signature{text-align:end;margin-top:18px}.invite-poem{width:min(100%,420px);margin:8px auto 0}.invite-poem p{font-family:var(--display);font-size:calc(clamp(1.25rem, 5vw, 1.7rem) * var(--fs-heading,1));color:var(--ink);line-height:2}.invite-poem p:nth-child(odd){text-align:start}.invite-poem p:nth-child(2n){text-align:end}.invite-poem strong{color:var(--accent);font-weight:400}.countdown--boxes{gap:10px}.countdown--boxes .unit{border:1px solid var(--accent-light);background:var(--card);min-width:68px;box-shadow:0 10px 22px rgb(var(--ink-rgb) / .1);border-radius:12px;padding:14px 6px 10px}.countdown--rings .unit{justify-content:center;width:70px;height:70px;position:relative}.countdown-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.countdown-ring circle{fill:none;stroke-width:3px}.countdown-ring-track{stroke:rgb(var(--accent-rgb) / .18)}.countdown-ring-fill{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:1;transition:stroke-dashoffset .6s}.countdown--rings .num{font-size:calc(1.35rem * var(--fs-body,1));line-height:1}.countdown--rings .label{font-size:calc(.6rem * var(--fs-body,1));margin-top:2px}.countdown-minimal{flex-direction:column;align-items:center;display:flex}.countdown-minimal-days{font-family:var(--display);font-size:calc(clamp(3.5rem, 16vw, 5rem) * var(--fs-heading,1));color:var(--ink);line-height:1.3}.countdown-minimal .label{color:var(--accent);font-weight:600;font-size:calc(.8rem * var(--fs-body,1))}.countdown-minimal-clock{letter-spacing:.12em;font-size:calc(1.15rem * var(--fs-body,1));color:var(--ink-soft);direction:ltr;unicode-bidi:isolate;margin-top:10px}.ceremony-list,.ceremony-cards,.ceremony-menu{text-align:start;width:min(100%,460px);margin:12px auto 0;list-style:none}.ceremony-list{padding-inline-start:6px;position:relative}.ceremony-list:before{content:"";background:linear-gradient(to bottom, var(--accent), rgb(var(--accent-rgb) / .15));width:2px;position:absolute;inset-block:14px;inset-inline-start:20px}.ceremony-list li,.ceremony-cards li{align-items:center;gap:16px;display:flex;position:relative}.ceremony-list li{padding:10px 0}.ceremony-step-number{z-index:1;background:linear-gradient(160deg, var(--accent-light), var(--accent));width:30px;height:30px;box-shadow:0 0 0 4px var(--paper);color:#fff;font-size:calc(.82rem * var(--fs-body,1));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative}.ceremony-step-text{flex-direction:column;display:flex}.ceremony-step-title{font-family:var(--display);font-size:calc(clamp(1.15rem, 5vw, 1.6rem) * var(--fs-heading,1));color:var(--ink);line-height:1.8}.ceremony-step-time{color:var(--accent);font-size:calc(.95rem * var(--fs-body,1))}.ceremony-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ceremony-cards li{border:1px solid var(--accent-light);background:var(--card);text-align:center;box-shadow:0 10px 22px rgb(var(--ink-rgb) / .08);border-radius:12px;flex-direction:column;gap:6px;padding:16px 10px 14px}.ceremony-cards .ceremony-step-text{align-items:center}.ceremony-cards .ceremony-step-number{box-shadow:none}.ceremony-menu li{align-items:baseline;gap:10px;padding:12px 4px;display:flex}.ceremony-menu-title{font-family:var(--display);font-size:calc(clamp(1.15rem, 5vw, 1.55rem) * var(--fs-heading,1));color:var(--ink)}.ceremony-menu-leader{border-bottom:2px dotted rgb(var(--accent-rgb) / .55);flex:1;min-width:24px;transform:translateY(-.3em)}.ceremony-menu-time{color:var(--accent);font-weight:600;font-size:calc(.95rem * var(--fs-body,1));white-space:nowrap}.gallery--grid{grid-template-columns:repeat(auto-fill, minmax(calc(130px * var(--img-gallery,1)), 1fr));gap:10px;max-width:560px;margin-inline:auto;display:grid}.gallery--grid .gallery-frame,.gallery--masonry .gallery-frame,.gallery--carousel .gallery-frame{width:auto;height:auto}.gallery--grid .gallery-frame{aspect-ratio:1;border-width:2px;border-radius:10px}.gallery--masonry{-moz-columns:2;columns:2;-moz-column-gap:10px;width:min(100%, calc(380px * var(--img-gallery,1)));column-gap:10px;margin-inline:auto;display:block}.gallery--masonry .gallery-frame{-moz-column-break-inside:avoid;break-inside:avoid;border-width:2px;border-radius:8px;width:100%;margin:0 0 10px;display:block}.gallery--masonry .gallery-frame img{height:auto}.gallery-carousel-wrap{width:100%}.gallery--carousel{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x;flex-wrap:nowrap;justify-content:flex-start;gap:14px;padding:6px calc(50% - 36vw) 16px;overflow-x:auto}.gallery--carousel::-webkit-scrollbar{display:none}.gallery--carousel .gallery-frame{width:calc(min(72vw, 320px) * var(--img-gallery,1));aspect-ratio:4/5;scroll-snap-align:center;border-width:4px;border-radius:12px;flex:none}.gallery-dots{justify-content:center;gap:8px;margin-top:4px;display:flex}.gallery-dot{border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:50%;width:7px;height:7px;padding:0;transition:background .3s,transform .3s}.gallery-dot.is-current{background:var(--accent);transform:scale(1.3)}.location--map :is(.location-map,.location-photo){aspect-ratio:calc(1.1 / var(--map-size,1));margin:20px 0 0}.location--map .location-card{margin-top:16px;padding:16px 18px}.location-plain{margin:14px 0 20px}.location-plain .venue{font-family:var(--display);font-size:calc(2rem * var(--fs-heading,1));color:var(--ink);margin-bottom:8px}.location-plain .address{color:var(--ink-soft);margin-bottom:18px;line-height:1.9}.location-ticket{background:var(--card);box-shadow:0 16px 32px rgb(var(--ink-rgb) / .16);text-align:start;border-radius:14px;margin:22px 0;display:flex;overflow:hidden}.location-ticket-stub{background:var(--accent);color:#fff;flex-direction:column;flex:0 0 96px;justify-content:center;align-items:center;gap:2px;padding:14px 8px;display:flex;position:relative}.location-ticket-stub:after{content:"";border-inline-end:2px dashed var(--card);position:absolute;inset-block:8px;inset-inline-end:-1px}.location-ticket-day{font-family:var(--display);font-size:calc(2.4rem * var(--fs-heading,1));line-height:1.2}.location-ticket-month,.location-ticket-time{font-size:calc(.8rem * var(--fs-body,1));opacity:.9}.location-ticket-main{flex:1;padding:18px 18px 16px}.location-ticket-main .venue{font-family:var(--display);font-size:calc(1.5rem * var(--fs-heading,1));color:var(--ink);margin-bottom:6px}.location-ticket-main .address{color:var(--ink-soft);font-size:calc(.86rem * var(--fs-body,1));margin-bottom:14px;line-height:1.8}.scroll-shell{overscroll-behavior:contain;outline:none;height:100dvh;position:fixed;inset:0;overflow:hidden auto}.scroll-shell.is-locked{overflow:hidden}.scroll-shell[data-snap=soft]{scroll-snap-type:y proximity}.scroll-shell[data-snap=strict]{scroll-snap-type:y mandatory}.scroll-section{scroll-snap-align:start;position:relative}.scroll-section .panel{height:auto;padding:12vh 7vw}.scroll-shell[data-snap=strict] .scroll-section .panel{min-height:100dvh}.scroll-section .hero-panel{height:100dvh;min-height:100dvh}.scroll-section .panel-inner{max-width:560px}.card-root>.next-section-btn{position:fixed}.band-dark{--paper:var(--theme-ink);--paper-rgb:var(--theme-ink-rgb);--paper-deep:color-mix(in srgb, var(--theme-ink) 80%, black);--ink:var(--theme-card);--ink-rgb:var(--theme-card-rgb);--ink-soft:rgb(var(--theme-card-rgb) / .8);--accent:color-mix(in srgb, var(--theme-accent-light) 60%, var(--theme-card));--accent-rgb:var(--theme-accent-light-rgb);--accent-light:rgb(var(--theme-card-rgb) / .45);--line:rgb(var(--theme-card-rgb) / .25);background:var(--paper);color:var(--ink)}.band-dark :is(.month-calendar:not(.month-calendar--plain),.location-card,.location-ticket,.invite-sheet,.countdown--boxes .unit,.ceremony-cards li,.details-item,.gallery-frame,.dresscode-photo){--paper:var(--theme-paper);--paper-rgb:var(--theme-paper-rgb);--paper-deep:var(--theme-paper-deep);--ink:var(--theme-ink);--ink-rgb:var(--theme-ink-rgb);--ink-soft:var(--theme-ink-soft);--accent:var(--theme-accent);--accent-rgb:var(--theme-accent-rgb);--accent-light:var(--theme-accent-light);--line:rgb(var(--theme-ink-rgb) / .18);color:var(--ink)}.band-dark .details-item{background:var(--card)}[data-mode=scroll] .progress-nav{background:rgb(var(--theme-card-rgb) / .7);-webkit-backdrop-filter:blur(6px);border-radius:999px;padding:8px 5px}[data-divider=line] .divider{width:56px;height:1px}[data-divider=line] .divider:before,[data-divider=line-heart] .divider:before{display:none}[data-divider=line-heart] .divider{background:var(--accent);width:180px;height:28px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 28'%3E%3Cpath d='M2 18C40 2 64 24 80 15M100 15c16 9 40-13 78 3' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpath d='M90 24c-1-1-8-5-8-10a4 4 0 0 1 8-2 4 4 0 0 1 8 2c0 5-7 9-8 10z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 28'%3E%3Cpath d='M2 18C40 2 64 24 80 15M100 15c16 9 40-13 78 3' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round'/%3E%3Cpath d='M90 24c-1-1-8-5-8-10a4 4 0 0 1 8-2 4 4 0 0 1 8 2c0 5-7 9-8 10z'/%3E%3C/svg%3E") 50%/contain no-repeat}[data-divider=none] .divider{display:none}[data-tape=on] .tapeable{position:relative;overflow:visible}[data-tape=on] .tapeable:after{content:"";z-index:3;pointer-events:none;background:#ffffff8c;width:70px;height:22px;position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(-4deg);box-shadow:0 1px 3px #0000001a}[data-tape=on] .gallery-frame:nth-child(2n):after{transform:translate(-50%)rotate(5deg)}[data-tape=on] .month-calendar-header{border-radius:14px 14px 0 0}.section-text{max-width:460px;color:var(--ink-soft);font-size:calc(.98rem * var(--fs-body,1));margin:6px auto 0;line-height:2}.dresscode-swatches{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;list-style:none;display:flex}.dresscode-swatch{width:48px;height:48px;box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--line), 0 8px 16px #0000001f;border-radius:50%}.dresscode-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:380px;margin:28px auto 0;display:grid}.dresscode-photo{aspect-ratio:3/4;background:var(--card);padding:5px;box-shadow:0 10px 22px #00000024}.dresscode-photo:nth-child(odd){transform:rotate(-2deg)}.dresscode-photo:nth-child(2n){margin-top:18px;transform:rotate(2deg)}.dresscode-photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.details-list{gap:12px;max-width:460px;margin:18px auto 0;display:grid}.details-item{border:1px solid var(--accent-light);background:rgb(var(--card-rgb) / .7);border-radius:12px;padding:16px 18px}.details-title{font-family:var(--display);font-weight:400;font-size:calc(1.4rem * var(--fs-heading,1));color:var(--accent);line-height:1.8}.details-text{color:var(--ink-soft);font-size:calc(.92rem * var(--fs-body,1));line-height:1.9}.rsvp-deadline{color:var(--accent);margin-top:6px;font-weight:700;display:inline-block}.rsvp-btn{margin-top:20px}.rsvp-contacts{gap:8px;margin-top:22px;list-style:none;display:grid}.rsvp-contacts li{font-size:calc(.95rem * var(--fs-body,1));justify-content:center;gap:10px;display:flex}.rsvp-contact-name{color:var(--ink-soft)}.rsvp-contact-phone{color:var(--ink);unicode-bidi:isolate;font-weight:600;text-decoration:none}.closing-photo{width:calc(min(66vw, 280px) * var(--img-hero,1));aspect-ratio:4/5;background:var(--card);margin:0 auto 22px;padding:6px;box-shadow:0 14px 30px #00000029}.closing-photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.closing-phrase{font-family:var(--display);font-size:calc(clamp(2.4rem, 12vw, 4rem) * var(--fs-heading,1));color:var(--ink);line-height:1.6}.closing-names{font-family:var(--display);font-size:calc(1.5rem * var(--fs-names,1));color:var(--accent);margin-top:6px;line-height:1.9}.ceremony-icons{text-align:start;width:min(100%,360px);margin:14px auto 0;list-style:none}.ceremony-icons li{grid-template-columns:48px 1fr;align-items:center;gap:16px;padding:12px 0;display:grid;position:relative}.ceremony-icons li+li:before{content:"";top:-8px;background:var(--accent-light);width:1px;height:16px;position:absolute;inset-inline-start:23.5px}.ceremony-icons-icon{color:var(--ink);justify-content:center;display:flex}.ceremony-icons-icon svg{width:38px;height:38px}.ceremony-icons-text{flex-direction:column;display:flex}.ceremony-icons-time{font-size:calc(1.25rem * var(--fs-body,1));letter-spacing:.04em;color:var(--ink)}.ceremony-icons-title{font-size:calc(.9rem * var(--fs-body,1));color:var(--ink-soft)}.hero-stack--type{justify-content:center;gap:14px}.hero-names--type .name{font-size:calc(clamp(1.4rem, 6.5vw, 2rem) * var(--fs-names,1));letter-spacing:.14em;text-transform:uppercase;line-height:1.7}.hero-names--type .and{font-size:calc(1.6rem * var(--fs-names,1));margin:0;line-height:1}.hero-panel.is-shown .hero-names--type .and.reveal{opacity:.6}.hero-bigdate{width:min(78%,320px);font-family:var(--display);font-weight:300;font-size:calc(clamp(5rem, 30vw, 8.5rem) * var(--fs-heading,1));letter-spacing:-.02em;color:var(--ink);flex-direction:column;line-height:.95;display:flex}.hero-bigdate span:first-child{align-self:flex-start}.hero-bigdate span:nth-child(2){align-self:center}.hero-bigdate span:nth-child(3){align-self:flex-end}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-4{bottom:1rem}.end-1{inset-inline-end:.25rem}.left-1\/2{left:50%}.right-7{right:1.75rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-my-32{margin-top:-8rem;margin-bottom:-8rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mt-6{margin-top:-1.5rem}.-mt-\[4\.5rem\]{margin-top:-4.5rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.me-1{margin-inline-end:.25rem}.ms-1{margin-inline-start:.25rem}.ms-2{margin-inline-start:.5rem}.ms-auto{margin-inline-start:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-\[148\/210\]{aspect-ratio:148/210}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[9\/16\]{aspect-ratio:9/16}.aspect-square{aspect-ratio:1}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[148mm\]{width:148mm}.w-\[60px\]{width:60px}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-56{min-width:14rem}.min-w-\[640px\]{min-width:640px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-12{--tw-rotate:-12deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-12{--tw-rotate:12deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-150{--tw-scale-x:1.5;--tw-scale-y:1.5;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-\[3fr_2fr_2fr\]{grid-template-columns:3fr 2fr 2fr}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-10{row-gap:2.5rem}.gap-y-2{row-gap:.5rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-ui-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(var(--ui-border) / var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-pre-line{white-space:pre-line}.rounded{border-radius:.25rem}.rounded-\[1\.4rem\]{border-radius:1.4rem}.rounded-full{border-radius:9999px}.rounded-ui{border-radius:var(--ui-radius)}.rounded-ui-lg{border-radius:var(--ui-radius-lg)}.rounded-ui-sm{border-radius:var(--ui-radius-sm)}.border{border-width:1px}.border-0{border-width:0}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-ui-accent{--tw-border-opacity:1;border-color:rgb(var(--ui-accent) / var(--tw-border-opacity,1))}.border-ui-border{--tw-border-opacity:1;border-color:rgb(var(--ui-border) / var(--tw-border-opacity,1))}.border-ui-border-strong{--tw-border-opacity:1;border-color:rgb(var(--ui-border-strong) / var(--tw-border-opacity,1))}.\!bg-neutral-100{--tw-bg-opacity:1!important;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))!important}.bg-black\/60{background-color:#0009}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity,1))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity,1))}.bg-ui-accent-soft{--tw-bg-opacity:1;background-color:rgb(var(--ui-accent-soft) / var(--tw-bg-opacity,1))}.bg-ui-bg{--tw-bg-opacity:1;background-color:rgb(var(--ui-bg) / var(--tw-bg-opacity,1))}.bg-ui-bg\/90{background-color:rgb(var(--ui-bg) / .9)}.bg-ui-border{--tw-bg-opacity:1;background-color:rgb(var(--ui-border) / var(--tw-bg-opacity,1))}.bg-ui-control{--tw-bg-opacity:1;background-color:rgb(var(--ui-control) / var(--tw-bg-opacity,1))}.bg-ui-inverse{--tw-bg-opacity:1;background-color:rgb(var(--ui-inverse) / var(--tw-bg-opacity,1))}.bg-ui-sunken{--tw-bg-opacity:1;background-color:rgb(var(--ui-sunken) / var(--tw-bg-opacity,1))}.bg-ui-surface{--tw-bg-opacity:1;background-color:rgb(var(--ui-surface) / var(--tw-bg-opacity,1))}.bg-ui-surface\/85{background-color:rgb(var(--ui-surface) / .85)}.bg-white\/20{background-color:#fff3}.bg-\[repeating-conic-gradient\(\#f5f5f4_0_25\%\,\#fff_0_50\%\)\]{background-image:repeating-conic-gradient(#f5f5f4 0 25%,#fff 0 50%)}.bg-\[length\:12px_12px\]{background-size:12px 12px}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-cover{-o-object-fit:cover;object-fit:cover}.object-top{-o-object-position:top;object-position:top}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.\!px-2{padding-left:.5rem!important;padding-right:.5rem!important}.\!px-4{padding-left:1rem!important;padding-right:1rem!important}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-9{padding-top:2.25rem;padding-bottom:2.25rem}.pb-1{padding-bottom:.25rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-28{padding-bottom:7rem}.pb-32{padding-bottom:8rem}.pe-2{padding-inline-end:.5rem}.ps-3{padding-inline-start:.75rem}.ps-4{padding-inline-start:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-36{padding-top:9rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-start{text-align:start}.text-end{text-align:end}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-ui{font-family:var(--ui-font)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[2\.9rem\]{font-size:2.9rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.leading-10{line-height:2.5rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-\[1\.35\]{line-height:1.35}.leading-\[1\.3\]{line-height:1.3}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.8\]{line-height:1.8}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-ui-accent{--tw-text-opacity:1;color:rgb(var(--ui-accent) / var(--tw-text-opacity,1))}.text-ui-accent-strong{--tw-text-opacity:1;color:rgb(var(--ui-accent-strong) / var(--tw-text-opacity,1))}.text-ui-danger{--tw-text-opacity:1;color:rgb(var(--ui-danger) / var(--tw-text-opacity,1))}.text-ui-faint{--tw-text-opacity:1;color:rgb(var(--ui-faint) / var(--tw-text-opacity,1))}.text-ui-muted{--tw-text-opacity:1;color:rgb(var(--ui-muted) / var(--tw-text-opacity,1))}.text-ui-on-inverse{--tw-text-opacity:1;color:rgb(var(--ui-on-inverse) / var(--tw-text-opacity,1))}.text-ui-text{--tw-text-opacity:1;color:rgb(var(--ui-text) / var(--tw-text-opacity,1))}.text-ui-text-2{--tw-text-opacity:1;color:rgb(var(--ui-text-2) / var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.accent-ui-accent{accent-color:rgb(var(--ui-accent) / 1)}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-ui{--tw-shadow:var(--ui-shadow);--tw-shadow-colored:var(--ui-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-ui-pop{--tw-shadow:var(--ui-shadow-pop);--tw-shadow-colored:var(--ui-shadow-pop);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-ui-accent\/30{--tw-ring-color:rgb(var(--ui-accent) / .3)}.ring-ui-accent\/40{--tw-ring-color:rgb(var(--ui-accent) / .4)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-500{transition-duration:.5s}.hero-panel .panel-inner>*{animation:none}.hero-panel .panel-inner>:not(.reveal){opacity:1}.reveal{opacity:0;transform:translate3d(0, var(--ry,0), 0) scale(var(--rs,1));transition:opacity var(--rt,.8s) var(--ease-out), transform var(--rt,.8s) var(--ease-out)}.hero-panel.is-shown .reveal{opacity:1;transition-delay:var(--rd,0s);transform:none}[data-entrance=fade] .reveal{transform:none}[data-entrance=zoom] .reveal{transform:scale(.85)}[data-entrance=blur] .reveal{filter:blur(10px);transition:opacity var(--rt,.8s) var(--ease-out), filter var(--rt,.8s) var(--ease-out);transform:none}[data-entrance=blur] .hero-panel.is-shown .reveal{filter:none}[data-entrance=none] .reveal{transition:none;transform:none}.hero-panel.is-shown .hero-names .and.reveal{opacity:.2}.hero-panel.is-shown .hero-names--stacked .and.reveal{opacity:1}.hero-panel.is-shown .hero-names--on-photo .and.reveal{opacity:.55}.hero-names--on-photo .and.reveal{--rs:.8}.hero-photo-bg{transition:transform 2.4s var(--ease-out);transform:scale(1.08)}.hero-panel.is-shown .hero-photo-bg{transform:none}@media (prefers-reduced-motion:reduce){.reveal,.hero-photo-bg{transition-duration:.3s;transform:none}}.video-envelope-intro{z-index:20;cursor:pointer;opacity:1;width:100%;height:100%;transition:opacity .7s var(--ease-out);background:#8c8e75;border:0;margin:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.video-envelope-intro.is-gone{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s var(--ease-out), visibility 0s linear .7s}.video-envelope-intro.is-closing{transition-duration:.15s}.envelope-guest{max-width:75%;font-family:var(--display);font-size:calc(40px * var(--fs-heading,1));color:#fff;-webkit-backdrop-filter:brightness(95%);border-radius:.5rem;padding:.25rem 1rem;line-height:80px;transition:opacity .3s ease-out;position:absolute;top:4rem;left:50%;transform:translate(-50%)}.envelope-guest.is-hidden{opacity:0}.video-envelope-intro.is-playing{cursor:default}.video-envelope{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;background:#8a8f75;width:100%;height:100%;display:block;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.video-envelope-intro{transition:none}}.invite-rsvp-note{max-width:520px;color:var(--ink-soft);font-family:var(--body);font-size:calc(.76rem * var(--fs-body,1));opacity:.8;margin:26px auto 0;line-height:2}.location-map,.location-photo{width:100%;aspect-ratio:calc(2 / var(--map-size,1));border:1px solid var(--accent-light);box-shadow:0 12px 28px rgb(var(--ink-rgb) / .14);border-radius:12px;margin-top:22px;overflow:hidden}.location-map .map,.location-photo img{width:100%;height:100%}.location-photo img{-o-object-fit:cover;object-fit:cover}.map-heart-marker{width:30px;height:30px;filter:drop-shadow(0 4px 5px rgb(var(--ink-rgb) / .3));cursor:pointer;justify-content:center;align-items:center;display:flex}.map-heart-marker svg{width:100%;height:100%;overflow:visible}.map-heart-marker path{fill:var(--heart);stroke:var(--heart-deep);stroke-width:2px;stroke-linejoin:round}.video-envelope.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.video-envelope-reverse.is-visible{opacity:1;visibility:visible;pointer-events:none}.video-envelope-reverse{transition:none!important}@media print{@page{size:A5 portrait;margin:0}html,body{width:148mm;height:210mm;margin:0;padding:0}body{background:#fff!important}#a5-page{width:148mm!important;height:210mm!important;margin:0!important}}.journey{--journey-badge:clamp(42px, 12vw, 54px);flex-direction:row-reverse;justify-content:space-between;align-items:flex-start;width:100%;max-width:420px;margin:12px auto 0;padding:0;list-style:none;display:flex;position:relative}.journey:before{content:"";top:calc(var(--journey-badge) / 2);border-top:1px dashed color-mix(in srgb, var(--accent) 55%, transparent);position:absolute;inset-inline:10%}.journey-step{text-align:center;flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:0;display:flex;position:relative}.journey-badge{width:var(--journey-badge);height:var(--journey-badge);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:var(--paper);box-shadow:0 0 0 4px var(--paper);color:var(--accent);border-radius:50%;place-items:center;margin-bottom:6px;display:grid}.journey-badge svg{width:56%;height:56%}.journey-step--end .journey-badge{background:var(--accent);border-color:var(--accent);color:var(--paper)}.journey-year{font-family:var(--display);font-size:calc(1.15rem * var(--fs-heading,1));color:var(--ink);line-height:1.3}.journey-label{font-size:calc(.7rem * var(--fs-body,1));color:var(--ink-soft);line-height:1.4}:where(.guest-open){font:inherit;cursor:pointer;background:0 0}.guest-sheet{z-index:10000;font-family:var(--body);direction:var(--text-dir);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.guest-sheet-backdrop{cursor:pointer;background:#0000008c;border:0;animation:.25s guest-fade;position:absolute;inset:0}.guest-sheet-panel{overscroll-behavior:contain;width:min(100%,460px);max-height:88dvh;padding:18px 20px calc(22px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border-radius:22px 22px 0 0;animation:.3s guest-rise;position:relative;overflow-y:auto;box-shadow:0 -12px 40px #00000040}@media (min-width:640px){.guest-sheet{align-items:center}.guest-sheet-panel{border-radius:22px}}@keyframes guest-fade{0%{opacity:0}}@keyframes guest-rise{0%{opacity:0;transform:translateY(24px)}}.guest-sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.guest-sheet-head h2{font-family:var(--display);font-size:calc(1.5rem * var(--fs-heading,1));color:var(--accent);margin:0;font-weight:400;line-height:1.3}.guest-sheet-close{background:var(--paper-deep);width:34px;height:34px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;flex:none;font-size:1.4rem;line-height:1}.guest-form{gap:14px;display:grid}.guest-intro,.guest-note{font-size:calc(.85rem * var(--fs-body,1));color:var(--ink-soft);margin:0;line-height:1.7}.guest-field{font-size:calc(.85rem * var(--fs-body,1));gap:6px;font-weight:600;display:grid}.guest-field input,.guest-field textarea{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--paper);width:100%;color:var(--ink);font:inherit;font-weight:400;font-size:max(16px, calc(.9rem * var(--fs-body,1)));border-radius:12px;padding:11px 13px}.guest-field input:focus,.guest-field textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.guest-field textarea{resize:vertical}.guest-choice{grid-template-columns:1fr 1fr;gap:8px;display:grid}.guest-choice button{border:1px solid color-mix(in srgb, var(--ink) 18%, transparent);background:var(--paper);color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;padding:11px 8px}.guest-choice button[aria-checked=true]{border-color:var(--accent);background:var(--accent);color:#fff}.guest-photos{gap:8px;display:grid}.guest-drop{border:1.5px dashed color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 6%, var(--paper));color:var(--ink);font:inherit;cursor:pointer;border-radius:16px;justify-items:center;gap:4px;padding:26px 16px;transition:background .2s,border-color .2s;display:grid}.guest-drop:hover,.guest-drop:focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--paper))}.guest-drop svg{fill:none;width:34px;height:34px;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round;margin-bottom:4px}.guest-drop strong{font-size:calc(.95rem * var(--fs-body,1))}.guest-drop span{font-size:calc(.8rem * var(--fs-body,1));color:var(--ink-soft)}.guest-thumbs{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.guest-thumbs li{aspect-ratio:1;background:var(--paper-deep);border-radius:12px;position:relative;overflow:hidden}.guest-thumbs img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:opacity .3s}.guest-thumbs li>button:not(.guest-thumb-add){top:5px;color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;inset-inline-end:5px}.guest-thumbs li.is-sending img{opacity:.45;animation:1s ease-in-out infinite alternate guest-pulse}@keyframes guest-pulse{to{opacity:.8}}.guest-thumb-done{background:var(--accent);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid;position:absolute;inset:auto 6px 6px auto}.guest-thumb-add{border:1.5px dashed color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 6%, var(--paper));width:100%;height:100%;color:var(--accent);font:inherit;font-size:calc(.8rem * var(--fs-body,1));cursor:pointer;border-radius:12px;place-content:center;justify-items:center;gap:2px;display:grid}.guest-thumb-add span{font-size:1.6rem;line-height:1}.guest-submit{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:13px 18px;font-weight:600}.guest-submit:disabled{opacity:.5;cursor:default}.guest-error{color:#b42318;font-size:calc(.85rem * var(--fs-body,1));margin:0}.guest-sent{text-align:center;justify-items:center;gap:12px;padding:18px 0 6px;display:grid}.guest-sent p{font-size:calc(1rem * var(--fs-body,1));margin:0}.guest-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.guest-trap{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.guest-choices{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.last\:border-0:last-child{border-width:0}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-ui-accent:hover{--tw-border-opacity:1;border-color:rgb(var(--ui-accent) / var(--tw-border-opacity,1))}.hover\:border-ui-border-strong:hover{--tw-border-opacity:1;border-color:rgb(var(--ui-border-strong) / var(--tw-border-opacity,1))}.hover\:bg-ui-sunken:hover{--tw-bg-opacity:1;background-color:rgb(var(--ui-sunken) / var(--tw-bg-opacity,1))}.hover\:text-ui-accent-strong:hover{--tw-text-opacity:1;color:rgb(var(--ui-accent-strong) / var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-ui-pop:hover{--tw-shadow:var(--ui-shadow-pop);--tw-shadow-colored:var(--ui-shadow-pop);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}@media (min-width:640px){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:w-52{width:13rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-2{gap:.5rem}.sm\:gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.sm\:p-5{padding:1.25rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:py-10{padding-top:2.5rem;padding-bottom:2.5rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-\[4\.6rem\]{font-size:4.6rem}.sm\:leading-\[1\.25\]{line-height:1.25}.sm\:leading-\[1\.2\]{line-height:1.2}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:mt-8{margin-top:2rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:pt-44{padding-top:11rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-\[min\(46vw\,520px\)\]{width:min(46vw,520px)}.lg\:w-\[min\(46vw\,560px\)\]{width:min(46vw,560px)}.lg\:flex-none{flex:none}.lg\:scale-75{--tw-scale-x:.75;--tw-scale-y:.75;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:text-\[5\.4rem\]{font-size:5.4rem}}@media print{.print\:aspect-auto{aspect-ratio:auto}.print\:h-\[210mm\]{height:210mm}.print\:w-\[148mm\]{width:148mm}.print\:p-0{padding:0}}.\[\&_\.map\]\:h-full .map{height:100%}.\[\&_\.map\]\:w-full .map{width:100%}
