.wedding-theme .gallery-item{appearance:none;border:0;padding:0;background:transparent;cursor:zoom-in;color:inherit;text-align:left;width:100%;display:block}.wedding-theme .gallery-lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;margin:0;padding:0;border:0;background:#000000eb;color:#fff}.wedding-theme .gallery-lightbox::backdrop{background:#000000eb}.wedding-theme .gallery-lightbox img{display:block;margin:0 auto;max-width:min(94vw,1400px);max-height:86vh;object-fit:contain;margin-top:4vh}.wedding-theme .gallery-lightbox-caption{margin:14px auto 0;max-width:min(94vw,900px);text-align:center;font-family:var(--serif);font-style:italic;color:#ffffffe6;font-size:1.05rem}.wedding-theme .gallery-lightbox-caption:empty{display:none}.wedding-theme .gallery-lightbox-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;background:#ffffff26;color:#fff;border:0;display:grid;place-items:center;cursor:pointer;transition:background .18s ease}.wedding-theme .gallery-lightbox-close:hover{background:#ffffff47}.wedding-theme{--display: var(--themeDisplay);--serif: var(--themeAccent);--sans: var(--themeBody);--script: var(--themeScript);--bg: var(--color-bg-primary);--bg-soft: var(--color-bg-secondary);--bg-tint: color-mix(in oklab, var(--color-bg-primary) 96%, white);--ink: var(--color-text-primary);--ink-soft: var(--color-text-secondary);--muted: var(--color-text-secondary);--accent: var(--color-accent-primary);--accent-soft: color-mix(in oklab, var(--color-accent-primary) 24%, transparent);--accent-2: var(--color-accent-secondary);--hairline: color-mix(in oklab, var(--color-accent-primary) 28%, transparent);--border: var(--color-border);--shadow: 0 18px 55px color-mix(in oklab, var(--color-text-primary) 13%, transparent);--shadow-soft: 0 14px 30px color-mix(in oklab, var(--color-text-primary) 10%, transparent);background:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--themeBody)}.wedding-theme .hero h1{white-space:normal;word-break:keep-all;overflow-wrap:break-word}@media(max-width:760px){.wedding-theme .hero h1{font-size:clamp(2.6rem,11vw,4rem);line-height:1}.wedding-theme .amp{display:block;margin:.18em 0}}.wedding-theme .hero-corner{width:min(45vw,520px);height:auto;object-fit:contain;pointer-events:none;filter:drop-shadow(0 16px 26px rgba(42,38,80,.06))}.wedding-theme .hero-corner.top{transform:translate(-1%,-1%)}.wedding-theme .hero-corner.bottom{transform:translate(4%,4%)}.wedding-theme .wreath{position:absolute;inset:0;margin:auto;width:min(800px,94vw);height:auto;object-fit:contain;opacity:.96}.wedding-theme .countdown-stage{width:min(800px,100%);min-height:clamp(540px,80vw,800px)}.wedding-theme .countdown-content{transform:none}.wedding-theme .hero h1{font-size:clamp(3.4rem,7vw,5.5rem)}.wedding-theme .hero-shell{border-radius:clamp(14px,1.6vw,22px);box-shadow:0 30px 70px -28px #2a26502e,0 8px 22px -10px #2a265014}@media(max-width:480px){.wedding-theme .music-toggle{top:12px;right:12px;padding:0 12px;gap:6px;min-height:36px;font-size:.7rem}.wedding-theme .music-toggle .music-state{display:none}}@media(max-width:680px){.wedding-theme .countdown-grid{gap:4px 6px}.wedding-theme .timebox{min-height:52px}.wedding-theme .timebox strong{font-size:clamp(1.7rem,8.6vw,2.4rem)}.wedding-theme .timebox span{font-size:.62rem;letter-spacing:.16em}}.wedding-theme .story-intro{margin:4px 0 26px;color:var(--muted);font-size:1rem;line-height:1.65;max-width:60ch}.wedding-theme .countdown-intro{margin:14px auto 0;max-width:52ch;color:color-mix(in oklab,var(--ink) 78%,transparent);font-family:var(--accent);font-size:clamp(.92rem,1.4vw,1.04rem);font-style:italic;line-height:1.55;letter-spacing:.01em;text-align:center}.wedding-theme .timeline>img.timeline-vine{position:absolute;top:-36px;bottom:auto;left:-118px;width:130px;height:calc(100% + 72px);object-fit:contain;opacity:.72;pointer-events:none}@media(max-width:900px){.wedding-theme .timeline>img.timeline-vine{display:none}}.wedding-theme img.divider{width:min(640px,86%);height:auto;max-height:240px;object-fit:contain;object-position:center;display:block;margin:clamp(34px,5vw,56px) auto 0;opacity:.94}.wedding-theme .venue-map{width:100%;min-height:320px;border:1px solid var(--hairline);margin:18px 0 0;background:var(--bg-soft);display:block}.wedding-theme .venue-directions{margin-top:14px;width:max-content;background:#fff}.wedding-theme .venue-directions:hover{background:color-mix(in oklab,#ffffff 86%,var(--accent));color:var(--ink);border-color:var(--accent)}.wedding-theme .venue-detail-list{margin:18px 0 0}.wedding-theme .venue-detail-list>.detail{background:#fff}.wedding-theme .card-icon{color:var(--accent)}.wedding-theme .event-card .card-icon .icon{width:26px;height:26px}.wedding-theme .venue-photo{aspect-ratio:auto;background:transparent;border:0;box-shadow:none;overflow:visible}.wedding-theme .venue-photo>img.venue-art{aspect-ratio:16 / 11;object-fit:cover;border:1px solid var(--border);background:var(--bg-soft);box-shadow:var(--shadow)}.wedding-theme .event-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:stretch}.wedding-theme .event-grid>.event-card{flex:1 1 320px;max-width:420px}.wedding-theme .event-grid:has(>.event-card:only-child)>.event-card{flex:0 1 480px;max-width:480px}.wedding-theme .closing{padding:clamp(56px,8vw,88px) clamp(20px,5vw,64px);text-align:center;background:var(--bg-soft)}.wedding-theme .closing-script{display:flex;flex-direction:column;align-items:center;gap:clamp(6px,1.2vw,14px)}.wedding-theme .closing-script-prefix{font-family:var(--script);font-size:clamp(1.8rem,3.4vw,2.4rem);color:var(--accent);line-height:1}.wedding-theme .closing-couple{display:inline-flex;align-items:baseline;flex-wrap:wrap;justify-content:center;gap:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(2.4rem,5vw,3.8rem);line-height:.95;color:var(--ink);letter-spacing:0}.wedding-theme .closing-couple .amp{margin:0 clamp(8px,1.4vw,22px);color:var(--accent)}.wedding-theme .closing-script{font-family:var(--script);font-size:clamp(2rem,4vw,2.8rem);color:var(--accent);margin:0}.wedding-theme .footer-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:26px 0 0;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase}.wedding-theme .footer-links a{color:var(--ink);text-decoration:none}.wedding-theme .closing-credit{margin-top:22px;color:color-mix(in oklab,var(--ink) 60%,transparent);font-family:var(--accent);font-size:.92rem;font-style:italic;font-weight:400;letter-spacing:.01em;text-transform:lowercase}.wedding-theme .closing-credit a{color:var(--accent);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--accent) 35%,transparent);padding-bottom:1px;transition:border-color .2s ease,color .2s ease}.wedding-theme .closing-credit a:hover{border-bottom-color:var(--accent);color:color-mix(in oklab,var(--accent) 70%,var(--ink))}.wedding-theme .iban{display:grid;gap:8px;padding:14px 0}.wedding-theme .iban code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;padding:8px 12px;background:color-mix(in oklab,var(--bg-tint) 90%,transparent);border:1px solid var(--hairline);display:inline-block}
