@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Cormorant+Infant:ital,wght@0,400;0,500;0,600;1,400&family=Great+Vibes&family=Noto+Sans+KR:wght@300;400;500;600&family=Noto+Serif+KR:wght@400;500;600&display=swap");:root{--wedding-primary:#a8926a;--wedding-secondary:#f3efe8;--wedding-accent:#2c2825;--wedding-text:#1a1918;--wedding-light:#fdfcfa;--wedding-pink:#e8e0d6;--wedding-sage:#8a8478;--fs-bg:#f7f4ef;--fs-bg-card:#fdfcfa;--fs-border:#e5dfd4;--fs-gold:#9a8660;--fs-gold-light:#c4b08a;--fs-charcoal:#1f1d1b;--fs-muted:#6b6560;--fs-charcoal-soft:#4a4643;--fs-container-shadow:0 0 0 1px var(--fs-border),0 24px 48px rgba(31,29,27,.06)}html{height:100%;overflow:hidden;-webkit-text-size-adjust:100%;touch-action:manipulation}body{font-family:Noto Sans KR,system-ui,sans-serif;font-weight:400;line-height:1.75;color:var(--fs-charcoal);background:var(--fs-bg);min-height:100vh;letter-spacing:-.01em}body.wedding-app-body{min-height:0;height:100%;overflow:hidden;touch-action:manipulation}.wedding-app-frame{height:var(--wedding-app-height,100svh);max-height:var(--wedding-app-height,100svh);width:100%}.fs-invitation{--wedding-primary:var(--fs-gold);--wedding-secondary:#ebe6dd;--wedding-accent:var(--fs-charcoal);--wedding-text:var(--fs-charcoal);--wedding-light:var(--fs-bg-card)}.wedding-container{max-width:480px;margin:0 auto;background:var(--fs-bg-card);box-shadow:0 0 0 1px var(--fs-border),0 24px 48px rgba(31,29,27,.06);min-height:100vh;position:relative;overflow-x:hidden}.fs-invitation .wedding-container{background:var(
    --fs-container-bg,linear-gradient(180deg,#fffcf8 0,#f9f5ef 48%,#f3eee6 100%)
  );box-shadow:var(--fs-container-shadow)}.fs-hero{padding:2rem 1.25rem 1.5rem;text-align:center;position:relative}.fs-hero-frame{margin:0 auto;max-width:100%;padding:2rem 1.35rem 1.75rem;border:1px solid var(--fs-border);box-shadow:inset 0 0 0 1px rgba(255,252,248,.9),0 1px 0 hsla(0,0%,100%,.6);background:linear-gradient(165deg,rgba(255,252,248,.95),hsla(36,50%,96%,.85))}.fs-hero-kicker{font-size:.68rem;letter-spacing:.42em;text-transform:uppercase;color:var(--fs-muted);margin-bottom:.6rem}.fs-hero-kicker,.fs-hero-title{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-weight:500}.fs-hero-title{font-size:2.65rem;color:var(--fs-charcoal);line-height:1.12;margin-bottom:.65rem;letter-spacing:.02em}.fs-hero-sub{font-size:var(--fs-hero-sub-size,.9rem);font-weight:400;color:var(--fs-muted);margin-bottom:1.35rem;letter-spacing:-.01em;line-height:1.65}.fs-hero-ornament{width:28px;height:28px;margin:0 auto 1.35rem;border:1px solid var(--fs-gold);opacity:.45;transform:rotate(45deg)}.fs-hero-meta{display:flex;align-items:stretch;justify-content:center;gap:0;max-width:320px;margin:0 auto 1.25rem;border-top:1px solid var(--fs-border);border-bottom:1px solid var(--fs-border);padding:1rem 0}.fs-hero-meta-block{flex:1;display:flex;flex-direction:column;gap:.35rem;padding:0 .75rem}.fs-hero-meta-label{font-size:var(--fs-meta-label-size,.65rem);letter-spacing:.2em;text-transform:uppercase;color:var(--fs-muted);opacity:.9}.fs-hero-meta-value{font-family:"Noto Serif KR",serif;font-size:var(--fs-meta-value-size,.9rem);font-weight:500;color:var(--fs-charcoal);line-height:1.45}.fs-hero-meta-divider{width:1px;align-self:stretch;background:var(--fs-border);flex-shrink:0}.fs-hero-actions{margin-top:.25rem}.fs-location-venue{font-family:"Noto Serif KR",serif;font-size:1.05rem;font-weight:600;color:var(--fs-charcoal);margin-bottom:.5rem;letter-spacing:-.02em}.fs-location-link{display:inline-block;font-size:.75rem;letter-spacing:.06em;color:var(--fs-gold);text-decoration:none;border-bottom:1px solid rgba(154,134,96,.35);padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.fs-location-link:hover{color:var(--fs-charcoal);border-bottom-color:var(--fs-charcoal)}.fs-map-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .55rem!important;font-size:.72rem!important;letter-spacing:.01em;white-space:nowrap;height:auto!important;min-height:2.4rem}.fs-map-icon{border-radius:4px;-o-object-fit:contain;object-fit:contain;background:hsla(0,0%,100%,.6)}.fs-map-icon,.fs-map-icon-fallback{width:18px;height:18px;flex-shrink:0}.fs-map-icon-fallback{display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--fs-border);color:var(--fs-muted);font-size:12px;font-weight:500;border-radius:4px;background:transparent}.fs-detail-block{text-align:center;padding-bottom:.25rem}.fs-detail-label{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--fs-muted);margin-bottom:.5rem}.fs-detail-main{font-family:"Noto Serif KR",serif;font-size:var(--fs-detail-main-size,1.05rem);font-weight:600;color:var(--fs-charcoal)}.fs-detail-sub{font-size:.9rem;color:var(--fs-charcoal);margin-top:.25rem}.fs-detail-note{font-size:.8125rem;color:var(--fs-muted);line-height:1.6}.fs-footer{text-align:center;padding:2.25rem 1.5rem 2.75rem;position:relative}.fs-footer-ornament{width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--fs-gold),transparent);margin:0 auto 1.5rem;opacity:.65}.fs-footer-names{font-family:"Noto Serif KR",serif;font-size:1rem;font-weight:500;color:var(--fs-charcoal);letter-spacing:.04em;margin-bottom:.65rem}.fs-footer-dot{display:inline-block;margin:0 .5rem;color:var(--fs-gold);font-weight:400}.fs-footer-line{font-size:.8125rem;color:var(--fs-muted);line-height:1.7;letter-spacing:-.01em;margin-bottom:1.25rem}.fs-footer-mark{width:4px;height:4px;margin:0 auto;background:var(--fs-gold);border-radius:50%;opacity:.5}.fs-seating{margin-top:1rem;--seat-stage-bg:var(--fs-charcoal);--seat-stage-fg:#fff;--seat-aisle-bg:var(--fs-bg-soft,#f1ece2);--seat-aisle-line:var(--fs-border);--seat-table-bg:var(--fs-bg);--seat-table-fg:var(--fs-charcoal);--seat-table-border:var(--fs-border);--seat-partial-bg:var(--fs-charcoal-soft,#b5a98a);--seat-partial-fg:#fff;--seat-full-bg:var(--fs-charcoal);--seat-full-fg:#fff}.fs-seating-stage{position:relative;height:56px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:var(--seat-stage-bg);color:var(--seat-stage-fg);border-radius:6px 6px 24px 24px;letter-spacing:.32em;text-transform:uppercase;font-family:Cormorant Garamond,"Noto Serif KR",serif}.fs-seating-stage:after{content:"";position:absolute;bottom:-8px;left:50%;width:14px;height:14px;background:var(--seat-stage-bg);transform:translateX(-50%) rotate(45deg);border-radius:2px}.fs-seating-stage-label{font-size:.78rem}.fs-seating-floor{display:grid;grid-template-columns:1fr 56px 1fr;gap:.4rem;padding-top:.6rem}.fs-seating-side{display:flex;flex-direction:column;gap:.55rem}.fs-seating-row{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.fs-seating-aisle{position:relative;background:var(--seat-aisle-bg);border-radius:4px}.fs-seating-aisle:before{content:"";position:absolute;inset:6px 50% 6px 50%;border-left:1px dashed var(--seat-aisle-line)}.fs-seating-table{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:50%;border:1.5px solid var(--seat-table-border);background:var(--seat-table-bg);color:var(--seat-table-fg);font-family:Cormorant Garamond,"Noto Serif KR",serif;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;padding:0;font-weight:500}.fs-seating-table:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.08)}.fs-seating-table:disabled{cursor:not-allowed;opacity:.92}.fs-seating-table.is-reserved{background:var(--seat-partial-bg);color:var(--seat-partial-fg);border-color:var(--seat-partial-bg)}.fs-seating-table-num{font-size:1.05rem;line-height:1}.fs-seating-legend{display:flex;justify-content:center;gap:1.1rem;margin-top:1.1rem;font-size:.72rem;letter-spacing:.04em;color:var(--fs-muted,#8a7d62)}.fs-seating-legend-item{display:inline-flex;align-items:center;gap:.4rem}.fs-seating-legend-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--seat-table-border);background:var(--seat-table-bg)}.fs-seating-legend-dot.is-reserved{background:var(--seat-partial-bg);border-color:var(--seat-partial-bg)}.fs-modal-scrim{position:fixed;inset:0;z-index:40;pointer-events:none;background:rgba(12,11,10,.48);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.fs-gallery-scrim{pointer-events:none;background:rgba(8,8,8,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.fs-gallery-dialog-content{position:fixed!important;inset:0!important;left:0!important;top:0!important;z-index:50!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;padding:0!important;border:none!important;overflow:hidden!important;animation:none!important}.fs-gallery-dialog-content,.fs-gallery-dialog-content[data-state=closed],.fs-gallery-dialog-content[data-state=open]{transform:none!important;translate:none!important}.fs-gallery-backdrop{position:absolute;inset:0;z-index:0;margin:0;padding:0;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:default;background:transparent}.fs-gallery-dialog-content>.fs-gallery-lightbox{position:relative;z-index:10;width:100%;max-width:min(56rem,100%);margin:0 auto;padding:0 .5rem;box-sizing:border-box}.fs-attendance-toast{position:fixed;left:50%;bottom:max(1.25rem,env(safe-area-inset-bottom));z-index:60;transform:translateX(-50%);max-width:min(22rem,calc(100vw - 2rem));padding:.75rem 1rem;border-radius:4px;background:rgba(31,29,27,.92);color:#fdfcfa;font-size:.875rem;line-height:1.5;text-align:center;box-shadow:0 8px 24px rgba(0,0,0,.2);pointer-events:none}.fs-attendance-prompt-overlay{background:rgba(12,11,10,.48);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.fs-attendance-prompt-modal{max-height:min(90dvh,520px);overflow-y:auto}.fs-attendance-subtitle{text-align:left;line-height:1.75;letter-spacing:.01em;word-break:keep-all}.fs-attendance-saved{padding:.85rem 1rem;border:1px solid var(--fs-border,#e5dfd4);border-radius:4px;background:var(--fs-info-surface,hsla(38,35%,94%,.45));text-align:center}.fs-attendance-saved--compact{padding:.7rem .85rem}.fs-attendance-saved-label{font-size:.72rem;letter-spacing:.06em;color:var(--fs-muted,#6b6560);margin:0 0 .35rem}.fs-attendance-saved-value{font-family:"Noto Serif KR",serif;font-size:.92rem;font-weight:600;color:var(--fs-charcoal);margin:0;line-height:1.5}.fs-attendance-saved-name{font-size:.8rem;color:var(--fs-muted,#6b6560);margin:.35rem 0 0}.fs-attendance-prompt-close{right:.35rem;top:.35rem;width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:9999px;opacity:.9;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.fs-attendance-prompt-close:focus-visible,.fs-attendance-prompt-close:hover{opacity:1}.fs-attendance-prompt-close-icon{width:1.375rem;height:1.375rem;flex-shrink:0}.fs-seating-modal{background:var(--fs-bg,#fff);color:var(--fs-charcoal);border:1px solid var(--fs-border);border-radius:6px}.fs-seating-modal-title{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:1.3rem;letter-spacing:.05em;margin-bottom:.2rem}.fs-seating-modal-subtitle{font-size:.82rem;color:var(--fs-muted,#8a7d62);margin-bottom:.4rem}.fs-guest-counters{display:flex;flex-direction:column;gap:.7rem;margin-top:.8rem;padding:.9rem 1rem;border:1px solid var(--fs-border);border-radius:6px;background:var(--fs-bg,#fff)}.fs-guest-counter{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.fs-guest-counter-label{font-size:.95rem;font-weight:500;color:var(--fs-charcoal);letter-spacing:.02em}.fs-guest-counter-controls{display:inline-flex;align-items:center;gap:.4rem}.fs-guest-counter-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--fs-border);background:transparent;color:var(--fs-charcoal);font-size:1.05rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.fs-guest-counter-btn:hover:not(:disabled){background:var(--fs-charcoal);color:#fff}.fs-guest-counter-btn:disabled{opacity:.5;cursor:not-allowed}.fs-guest-counter-value{width:56px;text-align:center;border:1px solid var(--fs-border);border-radius:4px;padding:4px 6px;font-size:.95rem;background:var(--fs-bg,#fff);color:var(--fs-charcoal);-moz-appearance:textfield}.fs-guest-counter-value::-webkit-inner-spin-button,.fs-guest-counter-value::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.fs-guest-counter-unit{font-size:.85rem;color:var(--fs-muted,#8a7d62);margin-left:.1rem}.fs-guest-meal-note{margin-top:.7rem;font-size:.78rem;color:var(--fs-muted,#8a7d62);text-align:center;letter-spacing:.01em}[data-wedding-theme=studioMono] .fs-seating{--seat-stage-bg:#1a1a1a;--seat-stage-fg:#fff;--seat-aisle-bg:#f6f4ef;--seat-aisle-line:#c8c2b3;--seat-table-bg:#fff;--seat-table-fg:#1a1a1a;--seat-table-border:#1a1a1a;--seat-partial-bg:#6a6a6a;--seat-partial-fg:#fff;--seat-full-bg:#1a1a1a;--seat-full-fg:#fff}[data-wedding-theme=simpleGray] .fs-seating{--seat-stage-bg:#5b6168;--seat-stage-fg:#fff;--seat-aisle-bg:#e8e8e8;--seat-aisle-line:#b7b7b7;--seat-table-bg:#fff;--seat-table-fg:#383838;--seat-table-border:#b7b7b7;--seat-partial-bg:#9aa1a8;--seat-partial-fg:#fff;--seat-full-bg:#5b6168;--seat-full-fg:#fff}[data-wedding-theme=warmCream] .fs-seating{--seat-stage-bg:#5a1f24;--seat-stage-fg:#fff;--seat-aisle-bg:#efe7d7;--seat-aisle-line:#c4b497;--seat-table-bg:#fff;--seat-table-fg:#4a2a14;--seat-table-border:#c4b497;--seat-partial-bg:#9d5358;--seat-partial-fg:#fff;--seat-full-bg:#5a1f24;--seat-full-fg:#fff}@media (max-width:380px){.fs-seating-floor{grid-template-columns:1fr 36px 1fr}.fs-seating-table-num{font-size:.92rem}}.fs-language-switcher{margin-top:1.6rem;text-align:center}.fs-language-link{display:inline-block;padding:.4rem 1.1rem;border:1px solid var(--fs-border);border-radius:999px;font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:.78rem;letter-spacing:.18em;color:var(--fs-charcoal);text-decoration:none;background:transparent;transition:all .2s ease}.fs-language-link:hover{background:var(--fs-charcoal);color:#fff}.wedding-section{padding:1.75rem 1.5rem;position:relative}.fs-section-head{text-align:center;margin-bottom:1.35rem}.fs-section-title{font-family:"Noto Serif KR",serif;font-size:var(--fs-section-title-size,1.2rem);letter-spacing:-.02em;margin-top:.15rem}.fs-section-title,.wedding-title{font-weight:500;color:var(--fs-charcoal)}.wedding-title{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:2.5rem;text-align:center;margin-bottom:1rem}.wedding-subtitle{font-size:.9375rem;font-weight:300;text-align:center;color:var(--fs-muted);margin-bottom:2rem;letter-spacing:.06em}.wedding-divider{width:48px;height:1px;background:var(--fs-gold);margin:1.5rem auto;opacity:.6}.wedding-card{background:var(--fs-card-surface,hsla(40,43%,99%,.85))!important;border-radius:2px!important;padding:0;margin:.5rem 0;box-shadow:none!important;border:1px solid var(--fs-border)!important}.wedding-button{background:var(--fs-btn-bg,var(--fs-charcoal))!important;color:var(--fs-btn-color,#faf8f5)!important;border:1px solid var(--fs-btn-border,var(--fs-charcoal))!important;padding:.65rem 1.35rem;border-radius:1px;font-weight:500;font-size:.8125rem;letter-spacing:.06em;transition:background .25s ease,color .25s ease,border-color .25s ease;box-shadow:none}.wedding-button:hover{transform:none;background:var(--fs-btn-hover-bg,#3d3834)!important;border-color:var(--fs-btn-hover-bg,#3d3834)!important;box-shadow:none}.fs-btn-outline{border-radius:1px!important;border-color:var(--fs-border)!important;background:transparent!important;color:var(--fs-charcoal)!important;font-size:.75rem;letter-spacing:.04em}.fs-btn-outline:hover{background:var(--fs-outline-hover-bg,rgba(31,29,27,.04))!important;border-color:var(--fs-gold)!important}.wedding-icon{color:var(--fs-gold);stroke-width:1.25}.wedding-text{text-align:center;line-height:2;color:var(--fs-muted);font-size:var(--fs-body-text-size,.9375rem);font-weight:400}.wedding-names{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:2.05rem;font-weight:500;color:var(--fs-charcoal);text-align:center;letter-spacing:.02em;margin-bottom:1.35rem}.wedding-names span{color:var(--fs-gold);font-size:1rem;vertical-align:middle;margin:0 .35rem}.wedding-contact{display:flex;justify-content:space-between;align-items:center}.wedding-account,.wedding-contact{padding:1rem;background:var(--fs-contact-surface,hsla(38,35%,94%,.5));border:1px solid var(--fs-border);border-radius:1px;margin-bottom:.75rem}.wedding-dday{font-family:Cormorant Garamond,serif;font-size:1.125rem;font-weight:500;color:var(--fs-gold);text-align:center;margin:1.25rem 0 .5rem;letter-spacing:.12em}.fs-info-block{margin-top:1rem;padding:1rem;background:var(--fs-info-surface,hsla(38,35%,94%,.45));border:1px solid var(--fs-border);border-radius:1px}.fs-info-block h4{font-family:"Noto Serif KR",serif;font-size:.8125rem;font-weight:600;color:var(--fs-charcoal);margin-bottom:.65rem;letter-spacing:.02em}.fs-info-block p{font-size:.8125rem;color:var(--fs-muted);line-height:1.65;margin:0}.fs-info-block p+p{margin-top:.35rem}.fs-loading{background:var(--fs-bg)!important}.fs-loading .border-wedding-accent{border-color:var(--fs-gold)!important}.fs-loading p{color:var(--fs-muted)!important;font-size:.8125rem;letter-spacing:.06em}.wedding-fade-in{animation:fadeInUp .7s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fs-gallery-more{background:var(--fs-gallery-more-bg,var(--fs-charcoal))!important;color:var(--fs-gallery-more-color,#faf8f5)!important;box-shadow:0 4px 16px rgba(31,29,27,.12)}.fs-gallery-more:hover{background:var(--fs-gallery-more-hover,#3d3834)!important}.fs-invitation input,.fs-invitation textarea{border-radius:1px!important;border-color:var(--fs-border)!important;background:var(--fs-input-bg,hsla(40,43%,99%,.9))!important;font-size:.875rem}.fs-invitation input:focus,.fs-invitation textarea:focus{border-color:var(--fs-gold)!important;box-shadow:0 0 0 1px var(--fs-input-focus-ring,rgba(154,134,96,.25))!important}.bg-wedding-secondary{background-color:var(--fs-secondary-block,hsla(38,35%,94%,.55))!important;border:1px solid var(--fs-border)!important;border-radius:1px!important}.bg-wedding-primary{background-color:var(--fs-bg)!important}.text-wedding-accent{color:var(--fs-charcoal)!important}@media (max-width:480px){.wedding-section{padding:1.5rem 1.1rem}.fs-invitation .wedding-section.fs-intro{min-height:100vh;min-height:var(--wedding-app-height,100svh);box-sizing:border-box;display:grid;grid-template-rows:auto 1fr auto 1.5fr auto;align-items:center;padding-top:clamp(1.75rem,6vh,3rem);padding-bottom:calc(clamp(.85rem, 2.4vh, 1.6rem) + .5rem);scroll-snap-align:start;scroll-snap-stop:normal}.fs-invitation .wedding-section.pt-8{padding-top:clamp(1.75rem,6vh,3rem)}.fs-intro-top{grid-row:1;padding-top:0}.fs-intro-mid{grid-row:3;padding:0}.fs-intro-bottom{grid-row:5;padding-bottom:0}.fs-hero-title{font-size:2.25rem}.fs-hero-meta-value{font-size:.85rem}.wedding-contact{flex-direction:column;gap:1rem;text-align:center}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--fs-bg)}::-webkit-scrollbar-thumb{background:var(--fs-gold-light);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--fs-gold)}body[data-scroll-locked],html[data-scroll-lock]{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:auto!important;padding-right:0!important;margin-right:0!important}.wedding-page-shell{position:relative;isolation:isolate;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:#0a0a0a}.wedding-scroll-root{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-snap-type:y proximity;touch-action:pan-y}.opening-screen{position:relative;flex-shrink:0;min-height:var(--wedding-app-height,100svh);width:100%;overflow-x:hidden;background:#080808;color:hsla(36,13%,92%,.92);cursor:pointer;scroll-snap-align:start;scroll-snap-stop:normal;outline:none}.opening-screen:focus-visible{box-shadow:inset 0 0 0 2px rgba(255,250,245,.25)}.opening-screen-bg{background:radial-gradient(ellipse 100% 80% at 50% -5%,rgba(45,44,42,.5),transparent 52%),linear-gradient(180deg,#0c0c0c 0,#070707 45%,#040404);z-index:1}.opening-pearl-layer,.opening-screen-bg{pointer-events:none;position:absolute;inset:0}.opening-pearl-layer{overflow:hidden;z-index:7;mix-blend-mode:screen;opacity:.88}.opening-pearl-star{color:rgba(255,252,248,.96)}.opening-pearl-star-rot{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.opening-pearl-star-svg{display:block;shape-rendering:geometricPrecision}.opening-pearl-star--fall{--pearl-drift:6px;position:absolute;top:-8vh;display:flex;align-items:center;justify-content:center;animation-name:opening-pearl-fall;animation-timing-function:linear;animation-iteration-count:infinite;opacity:0;filter:drop-shadow(0 0 1px rgba(255,252,248,.45)) drop-shadow(0 0 3px rgba(255,246,236,.18))}@keyframes opening-pearl-fall{0%{transform:translate3d(0,-12vh,0) scale(.65);opacity:0}6%{opacity:.22}40%{opacity:.16;transform:translate3d(calc(var(--pearl-drift, 4px) * .35),42vh,0) scale(.95)}88%{opacity:.1;transform:translate3d(var(--pearl-drift,6px),98vh,0) scale(.88)}to{opacity:0;transform:translate3d(var(--pearl-drift,8px),120vh,0) scale(.75)}}.opening-pearl-star--twinkle{position:absolute;display:flex;align-items:center;justify-content:center;animation:opening-pearl-twinkle 2.8s ease-in-out infinite;opacity:.42;filter:drop-shadow(0 0 1.5px rgba(255,253,248,.55)) drop-shadow(0 0 4px rgba(255,245,235,.2))}@keyframes opening-pearl-twinkle{0%,to{opacity:.12;transform:scale(.45)}45%{opacity:.55;transform:scale(1.05)}65%{opacity:.25;transform:scale(.75)}}.opening-pearl-shimmer{position:absolute;inset:0;background:radial-gradient(ellipse 85% 55% at 25% 0,rgba(255,255,252,.09),transparent 58%),radial-gradient(circle at 78% 22%,rgba(255,253,249,.06),transparent 48%),radial-gradient(ellipse 60% 45% at 50% 92%,rgba(255,251,246,.04),transparent 55%);animation:opening-pearl-ambient 9s ease-in-out infinite alternate;mix-blend-mode:screen;opacity:.55}@keyframes opening-pearl-ambient{0%{opacity:.4;transform:translateY(0) scale(1)}to{opacity:.82;transform:translateY(5px) scale(1.015)}}.opening-screen-column{z-index:6;max-width:min(480px,100%);margin:0 auto;min-height:var(--wedding-app-height,100svh);flex-direction:column;overflow-x:hidden}.opening-screen-column,.opening-screen-inner{position:relative;width:100%;display:flex;box-sizing:border-box}.opening-screen-inner{flex:1;flex-direction:column;justify-content:flex-start;padding:clamp(1rem,3.2vh,1.65rem) 1rem clamp(4.75rem,10vh,6.75rem)}.opening-screen-copy{flex:0 0 auto;text-align:center}.opening-venue-logo{display:block;width:auto;max-width:min(180px,52vw);max-height:clamp(32px,6.8vw,43px);height:auto;margin:0 auto clamp(.22rem,1vh,.5rem);-o-object-fit:contain;object-fit:contain;opacity:.94;filter:invert(1) brightness(1.07);pointer-events:none}.opening-names{font-family:Great Vibes,"Noto Serif KR",serif;font-size:clamp(2.1rem,7.5vw,3.35rem);font-weight:400;line-height:1.35;margin:0 0 clamp(1.35rem,3.5vh,2rem);background:linear-gradient(120deg,hsla(38,67%,98%,.98),hsla(35,12%,80%,.88) 28%,#fdfaf5 45%,hsla(35,14%,83%,.9) 70%,hsla(34,47%,97%,.98));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:opening-names-shimmer 16s ease-in-out infinite alternate;text-shadow:0 0 40px hsla(0,0%,100%,.04)}@keyframes opening-names-shimmer{0%{background-position:0 50%;filter:brightness(1)}to{background-position:100% 50%;filter:brightness(1.05)}}.opening-invite-caps{font-size:clamp(.58rem,2.65vw,.72rem);line-height:1.65;margin:0 0 clamp(1.15rem,3vh,1.85rem);color:hsla(33,12%,82%,.78)}.opening-date-caps,.opening-invite-caps{font-family:Cormorant Infant,"Noto Serif KR",serif;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.opening-date-caps{font-size:clamp(.72rem,3.1vw,.82rem);color:hsla(36,18%,89%,.86);margin:0 0 .55rem}.opening-time-italic{font-size:clamp(.78rem,3vw,.9rem);color:hsla(30,10%,75%,.72)}.invite-main-title,.opening-time-italic{font-family:Cormorant Infant,"Noto Serif KR",serif;font-style:italic;font-weight:400;letter-spacing:.06em;margin:0}.invite-main-title{font-size:var(--invite-title-size,clamp(1.75rem,7.2vw,2.1rem));line-height:1.2;color:var(--invite-title-color,hsla(30,10%,75%,.88))}.invite-script-title{font-family:Great Vibes,Pinyon Script,"Noto Serif KR",cursive;font-size:var(--invite-script-size,clamp(1.75rem,7.2vw,2.35rem));font-weight:400;font-style:normal;letter-spacing:.01em;line-height:1.18;color:var(--invite-title-color,var(--fs-charcoal));margin:0;word-break:keep-all}.invite-couple-text{font-family:"Noto Serif KR",serif;font-size:clamp(1.27rem,4.95vw,1.54rem);font-weight:700;letter-spacing:.03em;color:var(--fs-charcoal);text-align:center;margin:.75rem 0 1.1rem}.invite-couple-text-heart{display:inline-block;margin:0 .45rem;color:var(--fs-gold);font-size:.92em;vertical-align:.04em}.invite-greeting{font-size:var(--fs-body-text-size,.95rem);line-height:2;text-align:center;color:var(--fs-charcoal-soft,var(--fs-charcoal));white-space:pre-line;margin:0;letter-spacing:-.005em}.fs-intro-invite-title{font-family:Cormorant Infant,"Noto Serif KR",serif;font-size:.78rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--fs-muted);text-align:center;margin:0}.fs-intro{text-align:center;padding-bottom:calc(clamp(.85rem, 2.4vh, 1.6rem) + .5rem)!important}.fs-intro-cell{width:100%;padding:0 .5rem;box-sizing:border-box}.fs-intro-top{padding-top:.5rem}.fs-intro-mid{padding-top:1.5rem;padding-bottom:1.5rem}.fs-intro-bottom{padding-bottom:.5rem;transform:translateY(-1.5em)}.fs-intro-bottom .wedding-divider{margin-top:.85rem;margin-bottom:1.1rem}.fs-invite-soft-text{font-size:.875rem;line-height:1.65;color:var(--fs-charcoal-soft,var(--fs-charcoal))}.fs-invite-muted-text{font-size:.875rem;line-height:1.65;color:var(--fs-muted)}.fs-invite-muted-text-sm{font-size:.8125rem;line-height:1.65;color:var(--fs-muted)}.fs-gallery-lightbox .fs-gallery-slide-viewport,.fs-gallery-swipe{touch-action:none}.fs-gallery-zoom-layer{display:block;line-height:0;transform-origin:0 0;will-change:transform}.fs-gallery-zoom-layer img{display:block;width:100%;max-width:100%}.fs-gallery-lightbox{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding:.5rem 0}.fs-gallery-dialog-btn{background:var(--fs-dialog-chrome-bg,rgba(31,29,27,.7));color:var(--fs-dialog-chrome-color,#faf8f5);transition:background .2s ease,opacity .2s ease}.fs-gallery-dialog-btn.fs-gallery-nav-btn{background:rgba(31,29,27,.18);opacity:.38}.fs-gallery-dialog-btn.fs-gallery-nav-btn:hover:not(:disabled){background:rgba(31,29,27,.32);opacity:.58}.fs-gallery-dialog-btn.fs-gallery-nav-btn:disabled{opacity:.12}.fs-gallery-dialog-btn:hover:not(:disabled):not(.fs-gallery-nav-btn){background:var(--fs-dialog-chrome-hover,#1f1d1b)}.wedding-invitation-themed{transition:background .35s ease,color .25s ease}[data-wedding-theme=simpleGray] .wedding-container{background:var(--fs-container-bg)!important;box-shadow:none!important}[data-wedding-theme=simpleGray] .bg-wedding-secondary,[data-wedding-theme=simpleGray] .fs-info-block,[data-wedding-theme=simpleGray] .wedding-account,[data-wedding-theme=simpleGray] .wedding-card,[data-wedding-theme=simpleGray] .wedding-contact{border:none!important;background:transparent!important;box-shadow:none!important;padding-left:0;padding-right:0}[data-wedding-theme=simpleGray] .fs-hero-frame{border:none;box-shadow:none;background:transparent;padding:1.75rem .5rem 1.25rem}[data-wedding-theme=simpleGray] .wedding-section+.wedding-section{border-top:1px solid var(--fs-border)}[data-wedding-theme=simpleGray] .wedding-account+.wedding-account,[data-wedding-theme=simpleGray] .wedding-contact+.wedding-contact{border-top:1px solid var(--fs-border);margin-top:0}[data-wedding-theme=simpleGray] .fs-footer-ornament,[data-wedding-theme=simpleGray] .wedding-divider{background:var(--fs-border);opacity:1}[data-wedding-theme=simpleGray] .fs-hero-ornament{border-color:var(--fs-gold);opacity:.55}[data-wedding-theme=simpleGray] .fs-invitation input,[data-wedding-theme=simpleGray] .fs-invitation textarea{background:var(--fs-input-bg)!important;border:1px solid var(--fs-border)!important}[data-wedding-theme=warmCream] .wedding-container{background:var(--fs-container-bg)!important;box-shadow:none!important}[data-wedding-theme=warmCream] .bg-wedding-secondary,[data-wedding-theme=warmCream] .fs-info-block,[data-wedding-theme=warmCream] .wedding-account,[data-wedding-theme=warmCream] .wedding-card,[data-wedding-theme=warmCream] .wedding-contact{border:none!important;background:transparent!important;box-shadow:none!important}[data-wedding-theme=warmCream] .fs-hero-frame{border:none;box-shadow:none;background:transparent;padding:1.75rem .5rem 1.25rem}[data-wedding-theme=warmCream] .fs-hero-meta{border-top-color:var(--fs-border);border-bottom-color:var(--fs-border)}[data-wedding-theme=warmCream] .fs-hero-meta-divider{background:var(--fs-border)}[data-wedding-theme=warmCream] .wedding-divider{background:var(--fs-gold);opacity:.4}[data-wedding-theme=warmCream] .fs-footer-ornament{background:linear-gradient(90deg,transparent,var(--fs-gold),transparent);opacity:.5}[data-wedding-theme=warmCream] .fs-detail-label,[data-wedding-theme=warmCream] .fs-hero-meta-label,[data-wedding-theme=warmCream] .fs-section-title{letter-spacing:.32em;text-transform:uppercase}[data-wedding-theme=warmCream] .fs-invitation input,[data-wedding-theme=warmCream] .fs-invitation textarea{background:var(--fs-input-bg)!important;border:1px solid var(--fs-border)!important}[data-wedding-theme=studioMono] .wedding-container{background:var(--fs-container-bg)!important;box-shadow:none!important}[data-wedding-theme=studioMono] .bg-wedding-secondary,[data-wedding-theme=studioMono] .fs-info-block,[data-wedding-theme=studioMono] .wedding-account,[data-wedding-theme=studioMono] .wedding-card,[data-wedding-theme=studioMono] .wedding-contact{border:none!important;background:transparent!important;box-shadow:none!important}[data-wedding-theme=studioMono] .fs-hero-frame{border:none;box-shadow:none;background:transparent}[data-wedding-theme=studioMono] .fs-intro{position:relative;background:#1a1a1a}[data-wedding-theme=studioMono] .fs-intro:before{content:"";position:absolute;inset:clamp(.85rem,2.4vh,1.6rem) clamp(.85rem,3.6vw,1.4rem);background:var(--fs-container-bg,#fff);pointer-events:none;z-index:0}[data-wedding-theme=studioMono] .fs-intro>*{position:relative;z-index:1}[data-wedding-theme=studioMono] .fs-detail-label,[data-wedding-theme=studioMono] .fs-hero-meta-label,[data-wedding-theme=studioMono] .fs-intro-invite-title,[data-wedding-theme=studioMono] .fs-section-title{letter-spacing:.36em;text-transform:uppercase;font-weight:500;color:var(--fs-charcoal)}[data-wedding-theme=studioMono] .wedding-divider{background:var(--fs-charcoal);width:14px;height:1px;opacity:.7;margin:1.1rem auto}[data-wedding-theme=studioMono] .fs-footer-ornament{background:linear-gradient(90deg,transparent,var(--fs-charcoal),transparent);opacity:.55}[data-wedding-theme=studioMono] .fs-invitation input,[data-wedding-theme=studioMono] .fs-invitation textarea{background:var(--fs-input-bg)!important;border:1px solid var(--fs-border)!important}.opening-photo-wrap{position:relative;flex:1 1 auto;margin-top:auto;width:100%;min-height:max(60dvh,260px);max-height:min(72dvh,680px);overflow:hidden}.opening-photo{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center 32%;object-position:center 32%;filter:grayscale(1) contrast(1.06) brightness(.93)}.opening-photo-vignette{pointer-events:none;position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#080808 0,transparent 42%),linear-gradient(0deg,#070707 0,transparent 28%),radial-gradient(ellipse 90% 70% at 50% 68%,transparent 42%,rgba(5,5,5,.75) 100%)}@media (max-width:640px){.opening-photo-wrap{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}}.opening-hint{position:absolute;bottom:max(1.25rem,env(safe-area-inset-bottom));left:0;right:0;z-index:9;display:flex;flex-direction:column;align-items:center;gap:.2rem;opacity:.35}.opening-hint-text{font-family:Cormorant Infant,serif;font-size:.58rem;letter-spacing:.45em;text-transform:lowercase}.opening-hint-icon{color:hsla(30,10%,80%,.45);animation:opening-hint-bob 2.8s ease-in-out infinite}@keyframes opening-hint-bob{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(5px);opacity:.85}}.wedding-main-snap{scroll-snap-align:start;scroll-snap-stop:normal;background:var(--fs-bg)}.invite-couple-signature-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem .85rem;margin:.85rem 0 clamp(1.35rem,3.5vh,2rem)}.invite-couple-signature-blend{mix-blend-mode:multiply;flex:0 1 auto;line-height:0;max-width:min(44%,220px)}.invite-couple-signature-img{display:block;height:clamp(34px,10vw,54px);width:auto;max-width:100%}.invite-couple-signature-heart{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:clamp(1.1rem,3.9vw,1.55rem);color:var(--fs-gold);line-height:1;flex-shrink:0}@media (prefers-reduced-motion:reduce){.opening-hint-icon,.opening-names,.opening-pearl-shimmer,.opening-pearl-star--fall,.opening-pearl-star--twinkle{animation:none!important}.opening-pearl-layer{opacity:.45;mix-blend-mode:screen}}.fs-calendar{width:100%;max-width:360px;margin:.25rem auto 0;padding:0;color:var(--fs-charcoal)}.fs-calendar-month{font-family:Cormorant Garamond,Cormorant Infant,"Noto Serif KR",serif;font-size:1.1rem;letter-spacing:.34em;color:var(--fs-charcoal);text-align:left;margin-bottom:1.4rem;padding-left:.25rem;font-weight:500;text-transform:uppercase}.fs-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:.15rem;-moz-column-gap:0;column-gap:0;text-align:center;font-family:Cormorant Garamond,"Noto Serif KR",serif}.fs-calendar-dow{font-size:.88rem;color:var(--fs-charcoal);font-weight:500;letter-spacing:.04em;padding:.25rem 0 .85rem}.fs-calendar-dow.is-weekend{color:#b58484}.fs-calendar-cell{position:relative;width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;font-size:.95rem;color:var(--fs-charcoal);letter-spacing:.02em}.fs-calendar-cell>span{position:relative;z-index:1;display:inline-block;line-height:1}.fs-calendar-cell.is-empty{visibility:hidden}.fs-calendar-cell.is-weekend{color:#b58484}.fs-calendar-cell.is-mark{color:#fff}.fs-calendar-cell.is-mark:before{content:"";position:absolute;inset:16%;background:var(--fs-charcoal);border-radius:50%;z-index:0}.fs-section-title-sep{font-weight:300;opacity:.55}.fs-event-place{margin-top:.35rem}.fs-event-place .fs-calendar{margin:0 auto 1.5rem}.fs-event-datetime{text-align:center;padding-bottom:1.35rem;margin-bottom:1.35rem;border-bottom:1px solid var(--fs-border,#e5dfd4)}.fs-event-date{font-family:"Noto Serif KR",Cormorant Garamond,serif;font-size:1.02rem;font-weight:500;color:var(--fs-charcoal);line-height:1.55;margin:0;letter-spacing:.01em}.fs-event-time{font-family:Noto Sans KR,sans-serif;font-size:.88rem;font-weight:400;color:var(--fs-muted,#6b6560);margin:.4rem 0 0;letter-spacing:.02em}.fs-event-venue{text-align:center;padding-bottom:.25rem}.fs-event-venue-name{font-family:"Noto Serif KR",serif;font-size:1.1rem;font-weight:600;color:var(--fs-charcoal);margin:0;letter-spacing:-.02em;line-height:1.45}.fs-event-venue-floor{font-family:Noto Sans KR,sans-serif;font-size:.9rem;color:var(--fs-charcoal-soft,#4a4643);margin:.4rem 0 0;letter-spacing:.01em}.fs-event-address{font-size:.84rem;line-height:1.65;margin:.7rem auto 0;max-width:20rem;padding:0 .25rem}.fs-event-address,.fs-event-inquiry{font-family:Noto Sans KR,sans-serif;color:var(--fs-muted,#6b6560)}.fs-event-inquiry{font-size:.8rem;margin:.85rem 0 0;letter-spacing:.01em}.fs-event-inquiry-link{color:var(--fs-gold,#9a8660);text-decoration:none;border-bottom:1px solid rgba(154,134,96,.3)}.fs-event-inquiry-link:hover{color:var(--fs-charcoal)}.fs-ceremony-block .fs-event-datetime{margin-top:0;padding-top:1.25rem}.fs-location-block{margin-top:.35rem}.fs-location-venue-block{padding-bottom:0}.fs-location-actions{display:flex;flex-direction:column;align-items:center;gap:.85rem;margin:1.15rem 0 1.35rem}.fs-event-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:1.35rem}@media (min-width:380px){.fs-event-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}.fs-event-traffic{margin-top:0;padding:1.15rem 0 0;background:transparent;border:none;border-top:1px solid var(--fs-border,#e5dfd4);border-radius:0}.fs-event-traffic h4{text-align:center;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;margin-bottom:.75rem}.fs-event-traffic p{text-align:center}.fs-ceremony-no-flowers{margin:1.15rem 0 0;padding:1rem .5rem 0;border-top:1px dashed var(--fs-border,#e5dfd4);text-align:center;font-family:Noto Sans KR,sans-serif;font-size:.875rem;letter-spacing:.01em;line-height:1.65;color:var(--fs-charcoal-soft,#4a4643);font-weight:600;white-space:pre-line}@media (max-width:360px){.fs-calendar-cell{font-size:.88rem}.fs-calendar-month{font-size:1rem;letter-spacing:.3em}}[data-wedding-theme=simpleGray] .fs-calendar-cell.is-weekend,[data-wedding-theme=simpleGray] .fs-calendar-dow.is-weekend{color:#a07b7b}[data-wedding-theme=warmCream] .fs-calendar-cell.is-weekend,[data-wedding-theme=warmCream] .fs-calendar-dow.is-weekend{color:#8a3a3a}[data-wedding-theme=studioMono] .fs-calendar-cell.is-weekend,[data-wedding-theme=studioMono] .fs-calendar-dow.is-weekend{color:#7a7a7a}.fs-contact-card{border-top:none!important;overflow:hidden}.fs-contact-photo{width:100%;margin:0 0 1.5rem;aspect-ratio:4/3;overflow:hidden;background:var(--fs-bg-card,#fff);border:none}.fs-contact-card{position:relative;z-index:1;margin-top:-1.75rem!important;margin-left:-1.5rem!important;margin-right:-1.5rem!important;border-top:0!important;border-left:0!important;border-right:0!important;border-radius:0!important}@media (max-width:480px){.fs-contact-card{margin-top:-1.5rem!important;margin-left:-1.1rem!important;margin-right:-1.1rem!important}}.fs-contact-card .p-6{padding:0!important}.fs-contact-card .fs-contact-list{padding:.9rem 1.5rem 0}.fs-contact-card .fs-contact-meta{padding:0 1.5rem 1.5rem}.fs-contact-photo-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.fs-contact-photo-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(31,29,27,.18);font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:clamp(3rem,12vw,5rem);font-weight:300;background:repeating-linear-gradient(-45deg,rgba(31,29,27,.02),rgba(31,29,27,.02) 6px,transparent 0,transparent 12px)}.fs-contact-list{display:flex;flex-direction:column;gap:.85rem}.fs-contact-row{display:flex;align-items:center;justify-content:center;gap:.8rem;padding:.55rem .25rem}.fs-contact-row .fs-contact-line{text-align:center}.fs-contact-line{margin:0;font-family:"Noto Serif KR",sans-serif;font-size:.95rem;color:var(--fs-charcoal);letter-spacing:-.01em;line-height:1.5;flex:1 1 auto;min-width:0}.fs-contact-parents{font-weight:500;color:var(--fs-charcoal)}.fs-contact-suffix{margin:0 .45rem;color:var(--fs-muted);font-size:.77em}.fs-contact-childname{font-weight:600;color:var(--fs-charcoal);margin-left:.05rem}.fs-contact-message{flex:0 0 auto;width:36px;height:36px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;border-radius:50%!important}.fs-contact-message:disabled{opacity:.35;cursor:not-allowed}.fs-host-contact-sheet .fs-host-contact-phone{text-align:center;font-size:.9rem;color:var(--fs-muted,#6b6560);letter-spacing:.04em;margin:.15rem 0 0}.fs-contact-meta{margin-top:4.1rem;padding-top:1.1rem;text-align:center}.fs-contact-meta-divider{width:28px;height:1px;margin:0 auto 1rem;background:var(--fs-gold,#9a8660);opacity:.55}.fs-contact-meta-line{margin:0;font-family:"Noto Serif KR",serif;font-size:.88rem;color:var(--fs-charcoal);letter-spacing:.01em;line-height:1.55}.fs-contact-meta-line+.fs-contact-meta-line{margin-top:.2rem;color:var(--fs-muted);font-size:.84rem}[data-wedding-theme=simpleGray] .fs-contact-meta-divider{background:rgba(0,0,0,.35);opacity:.6}[data-wedding-theme=warmCream] .fs-contact-meta-divider{background:#8a3a3a;opacity:.6}[data-wedding-theme=studioMono] .fs-contact-meta-divider{background:#1a1a1a;opacity:.7}.fs-hosts{display:grid;grid-template-columns:1fr;gap:1.2rem}.fs-hosts-side{display:flex;flex-direction:column;gap:.55rem}.fs-hosts-side-label{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:.78rem;font-weight:500;letter-spacing:.18em;color:var(--fs-muted);text-transform:uppercase;margin:0 0 .3rem;padding-bottom:.4rem;border-bottom:1px solid var(--fs-border,#e5dfd4)}.fs-hosts-row{display:grid;grid-template-columns:4rem 1fr auto;align-items:center;gap:.6rem;padding:.35rem .15rem}.fs-hosts-role{font-family:Noto Sans KR,sans-serif;font-size:.82rem;font-weight:500;color:var(--fs-muted);letter-spacing:.02em}.fs-hosts-name{font-family:"Noto Serif KR",serif;font-size:1rem;color:var(--fs-charcoal);font-weight:500}.fs-hosts-divider{height:1px;background:var(--fs-border,#e5dfd4);margin:.1rem 0}@media (min-width:540px){.fs-hosts{grid-template-columns:1fr 1px 1fr;gap:1.6rem;align-items:stretch}.fs-hosts-divider{width:1px;height:auto;background:var(--fs-border,#e5dfd4);margin:0}}[data-wedding-theme=simpleGray] .fs-hosts-divider,[data-wedding-theme=simpleGray] .fs-hosts-side-label{border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.12)}[data-wedding-theme=warmCream] .fs-hosts-side-label{color:#8a3a3a;border-bottom-color:rgba(138,58,58,.2)}[data-wedding-theme=warmCream] .fs-hosts-divider{background:rgba(138,58,58,.18)}[data-wedding-theme=studioMono] .fs-hosts-side-label{border-bottom-color:#1a1a1a}[data-wedding-theme=studioMono] .fs-hosts-divider{background:#1a1a1a}.fs-thanks{padding:3rem 1.5rem 3.5rem;text-align:center}.fs-thanks-script{font-family:Great Vibes,Pinyon Script,cursive;font-size:clamp(2.4rem,9vw,3.4rem);margin:.4rem 0 .6rem;line-height:1}.fs-thanks-line,.fs-thanks-script{color:var(--fs-charcoal);letter-spacing:.01em}.fs-thanks-line{font-family:"Noto Serif KR",serif;font-size:.96rem;margin:.7rem 0 .2rem}.fs-thanks-sub{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:.85rem;color:var(--fs-muted);letter-spacing:.1em;margin:.35rem 0 0}