@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Noto+Serif+KR:wght@400;500;600;700&display=swap";
@import "https://cdn.jsdelivr.net/gh/sunn-us/SUIT/fonts/static/woff2/SUIT.css";
:root{color:#48372d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#f8f1e9;--surface:#fffcf8e0;--surface-quiet:#ffffff6b;--line:#533b2a1f;--line-strong:#533b2a2e;--text:#5e4b3e;--text-strong:#37261d;--muted:#8b7564;--accent:#9c7a5d;--accent-strong:#765039;--sage:#97a18f;--shadow-soft:0 12px 28px #704e3714, 0 3px 10px #704e370a;--shadow-card:0 18px 42px #704e371a, 0 6px 18px #704e370d;--radius-panel:24px;--radius-soft:18px;--font-heading:"Cormorant Garamond", "Noto Serif KR", serif;background:radial-gradient(circle at top,#ffffffb8,#0000 34%),linear-gradient(#f8f1e9 0%,#f3e7dc 46%,#f8f1e9 100%);font-family:SUIT,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-weight:400;line-height:1.6}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text);word-break:keep-all;overflow-wrap:break-word;background:radial-gradient(circle at 0 0,#ffffff8c,#0000 30%),linear-gradient(#fbf6ef 0%,#f3e7dc 46%,#f7f0e7 100%);margin:0}body,button,input,textarea{font:inherit}img{max-width:100%;display:block}a{color:inherit}:where(h1,h2,h3,p,li,dt,dd,figcaption){word-break:keep-all;overflow-wrap:break-word}h1,h2,h3,strong{color:var(--text-strong)}h1,h2,h3{font-family:var(--font-heading);font-weight:600}#root{min-height:100vh}@supports (text-wrap:pretty){:where(h1,h2,h3,p,li,dt,dd,figcaption,strong,span){text-wrap:pretty}}::selection{background:#9c7a5d2e}
.page-shell{min-height:100vh;position:relative;overflow-x:clip}.page-noise{pointer-events:none;opacity:.48;z-index:0;background-image:radial-gradient(circle at 20% 20%,#ffffff5c,#0000 18%),radial-gradient(circle at 80% 0,#dbc5aa38,#0000 22%),linear-gradient(120deg,#ffffff29,#0000 50%);position:fixed;inset:0}.top-nav{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:min(1120px,100% - 32px);box-shadow:var(--shadow-soft);background:#fff8f1b8;border-radius:999px;justify-content:space-between;align-items:center;gap:24px;padding:14px 20px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.top-nav__brand{flex-direction:column;gap:2px;display:flex}.top-nav__eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.top-nav__brand strong{font-family:var(--font-heading);font-size:1.2rem;font-weight:600}.top-nav__links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nav-link,.bottom-nav__link{color:var(--muted);border-radius:999px;padding:10px 16px;font-size:.94rem;text-decoration:none;transition:background-color .18s,color .18s,transform .18s}.nav-link[aria-current=page],.bottom-nav__link[aria-current=page]{color:var(--accent-strong);background:#75523a1f}.bottom-nav__link[aria-current=page]{background:#75523a29;box-shadow:inset 0 0 0 1px #75523a14}@media (hover:hover) and (pointer:fine){.nav-link:hover,.bottom-nav__link:hover{color:var(--accent-strong);background:#75523a14}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-main{z-index:1;width:min(1120px,100% - 32px);padding:112px 0 calc(120px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.hero-section,.content-section{scroll-margin-top:110px}.hero-section{place-items:center;min-height:calc(100vh - 128px);padding:40px 0 32px;display:grid;position:relative}.hero-section__ornaments{pointer-events:none;position:absolute;inset:0}.hero-section__petal{filter:blur(1px);opacity:.3;border-radius:999px;animation:11s ease-in-out infinite drift;display:block;position:absolute}.hero-section__petal--left{background:linear-gradient(135deg,#d0aea86b,#ffffff38);width:220px;height:82px;top:16%;left:2%;transform:rotate(-18deg)}.hero-section__petal--right{background:linear-gradient(135deg,#9aa89a52,#fff3);width:260px;height:96px;animation-delay:2s;top:14%;right:1%;transform:rotate(24deg)}.hero-section__petal--bottom{background:linear-gradient(135deg,#dfcbaf66,#ffffff2e);width:280px;height:108px;animation-delay:4s;bottom:10%;left:50%;transform:translate(-50%)rotate(6deg)}.hero-card{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);width:min(720px,100%);box-shadow:var(--shadow-soft);gap:28px;padding:20px;animation:.9s both fade-up;display:grid;position:relative}.hero-card:before,.hero-card:after{content:none}.hero-card__visual{border-radius:calc(var(--radius-panel) - 10px);background:#efe6dd;align-items:end;min-height:460px;display:grid;position:relative;overflow:hidden}.hero-card__visual-image,.hero-card__visual-overlay{position:absolute;inset:0}.hero-card__visual-image{object-fit:cover;width:100%;height:100%;display:block}.hero-card__visual-overlay{background:linear-gradient(#291c140f 0%,#291c1429 40%,#291c1485 100%),linear-gradient(#fffbf700 34%,#fff8f214 100%)}.hero-card__visual-copy{z-index:1;text-align:center;justify-items:center;gap:18px;padding:44px 36px 34px;display:grid;position:relative}.hero-card__eyebrow,.section-heading span,.map-preview__eyebrow,.parking-panel__title span,.travel-panel__title span,.celebration-panel__header span,.guestbook-panel__header span,.info-panel__header span{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:.76rem;display:inline-block}.hero-card__eyebrow{color:#fff8f2b8}.hero-card__title{color:#fff9f4;letter-spacing:-.05em;text-shadow:0 8px 24px #1c120b2e;margin:0;font-size:clamp(2.8rem,8vw,4.6rem);line-height:.98}.hero-card__names{background:0 0;border:0;grid-template-columns:auto auto 24px auto auto;align-items:center;gap:10px;margin:0;padding:0;display:inline-grid}.hero-card__name-label{color:#fff8f2c2;font-size:.83rem}.hero-card__name-value{color:#fff9f4;font-size:1rem;font-weight:600}.hero-card__names i{background:#fff8f23d;width:1px;height:18px;display:block}.hero-card__content{text-align:center;gap:0;padding:0 18px 10px;display:grid}.hero-card__facts{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.hero-card__facts div{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:16px 0 0}.hero-card__facts dt{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:.76rem}.hero-card__facts dd{color:var(--text-strong);flex-direction:column;gap:4px;margin:0;display:flex}.hero-card__facts strong{font-size:1.08rem}.hero-card__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.button,.map-links__button,.copy-button,.celebrate-button{cursor:pointer;border:none;border-radius:999px;text-decoration:none;transition:transform .18s,box-shadow .18s,background-color .18s,color .18s}.button:hover,.map-links__button:hover,.copy-button:hover,.celebrate-button:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px)}.button--primary,.celebrate-button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fffaf5;justify-content:center;align-items:center;padding:15px 24px;font-weight:600;display:inline-flex}.button--ghost{color:var(--accent-strong);background:#ffffff94;border:1px solid #75523a29;justify-content:center;align-items:center;padding:15px 24px;font-weight:600;display:inline-flex}.hero-card__scroll{color:#fffaf5fa;background:0 0;border:0;justify-content:center;justify-self:center;align-items:center;width:40px;height:52px;margin-top:4px;text-decoration:none;transition:color .18s;display:inline-flex;position:relative}.hero-card__scroll:hover{color:#fff5ece0}.hero-card__scroll-icon{color:currentColor;width:24px;height:42px;overflow:visible}.hero-card__scroll-mouse,.hero-card__scroll-wheel{opacity:.94}.hero-card__scroll-chevron{opacity:.5;animation:1.35s ease-in-out infinite scroll-chevron-wave}.hero-card__scroll-chevron--2{animation-delay:.15s}.hero-card__scroll-chevron--3{animation-delay:.3s}.content-section{padding:48px 0}.section-heading{max-width:620px;margin-bottom:28px}.section-heading h2{margin:12px 0 10px;font-size:clamp(2rem,5vw,3rem);line-height:1.12}.section-heading p{color:var(--muted);margin:0;font-size:1.02rem}.invitation-layout,.location-layout,.celebration-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.invitation-layout--single{grid-template-columns:minmax(0,720px)}.invitation-aside{display:none}.celebration-layout--single{grid-template-columns:minmax(0,720px)}.panel{border-radius:var(--radius-panel);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:26px;position:relative}.invitation-copy{gap:18px;font-size:1.02rem;display:grid}.invitation-copy p{color:var(--text);margin:0}.schedule-panel{grid-template-columns:160px 1fr;align-items:center;gap:20px;display:grid}.schedule-panel__date{border-right:1px solid var(--line);background:0 0;border-radius:0;align-content:center;place-items:center;gap:4px;padding:8px 18px 8px 0;display:grid}.schedule-panel__date span{font-family:var(--font-heading);color:var(--accent-strong);font-size:3rem;line-height:1}.schedule-panel__date strong{font-size:1rem;font-weight:600}.schedule-panel__details{gap:16px;display:grid}.schedule-panel__details div{gap:6px;display:grid}.schedule-panel__details span{color:var(--muted);font-size:.88rem}.schedule-panel__details strong{color:var(--text-strong);font-size:1.08rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.gallery-card{border-radius:var(--radius-soft);background:var(--surface-quiet);cursor:pointer;box-shadow:none;border:0;border:1px solid var(--line);padding:0;position:relative;overflow:hidden}.gallery-card img{object-fit:cover;width:100%;height:100%;transition:transform .26s,filter .26s}.gallery-card:hover img,.gallery-card:focus-visible img{filter:saturate(1.03);transform:scale(1.03)}.gallery-card__caption{color:#fff7ef;text-align:left;background:linear-gradient(#2d211900,#2d21199e);border-radius:0;padding:30px 16px 12px;font-size:.88rem;position:absolute;bottom:0;left:0;right:0}.gallery-card[data-orientation=square]{aspect-ratio:1}.gallery-card[data-orientation=portrait]{aspect-ratio:4/5}.gallery-card[data-orientation=landscape]{aspect-ratio:5/4;grid-column:span 2}.map-preview{background:#fffaf68f;gap:12px;display:grid}.map-preview:before{content:none}.map-preview__frame{border-radius:var(--radius-soft);border:1px solid var(--line);background:#ffffff80;overflow:hidden}.map-preview__frame img{width:100%;height:auto;display:block}.map-preview__content{background:0 0;gap:4px;width:100%;padding:0;display:grid;position:relative}.map-preview__notes{color:var(--muted);background:#fffaf6d1;border:1px solid #75523a1a;border-radius:18px;gap:5px;margin:10px 0 0;padding:12px 14px 12px 28px;font-size:.86rem;line-height:1.48;display:grid}.map-preview__notes li::marker{color:#75523a99}.map-preview__content strong{margin:0;font-size:1.22rem}.map-preview__summary{color:var(--muted);margin:0;font-size:.98rem;line-height:1.5}.map-preview__content p,.map-preview__content span{color:var(--muted);margin:0}.location-layout__stack{gap:20px;display:grid}.map-links-panel{box-shadow:none;background:0 0;border:0;padding:0}.info-panel__header,.travel-panel__title,.celebration-panel__header,.guestbook-panel__header{gap:4px;margin-bottom:14px;display:grid}.info-panel__header strong,.travel-panel__title strong,.celebration-panel__header strong,.guestbook-panel__header strong{font-size:1.4rem}.info-panel__subhead{color:var(--text-strong);margin:0;font-size:1.04rem;font-weight:700}.info-panel__address{color:var(--muted);margin:0;font-size:.96rem;line-height:1.55}.info-panel__list{color:var(--muted);background:#fffaf6d1;border:1px solid #75523a1a;border-radius:18px;gap:5px;margin:14px 0 0;padding:12px 14px 12px 28px;font-size:.86rem;line-height:1.48;display:grid}.info-panel__list li::marker{color:#75523a99}.travel-panel__list{color:var(--muted);background:#fffaf6d1;border:1px solid #75523a1a;border-radius:18px;gap:5px;margin:16px 0 0;padding:12px 14px 12px 28px;font-size:.88rem;line-height:1.48;display:grid}.travel-panel__list li::marker{color:#75523a99}.map-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.map-links__button{min-height:64px;color:var(--accent-strong);background:#fffaf6d1;border:1px solid #75523a1a;border-radius:20px;justify-content:flex-start;align-items:center;gap:12px;padding:12px 14px;font-weight:600;display:flex}.map-links__button--text-only{justify-content:center}.map-links__icon{color:#75523acc;flex:0 0 24px;place-items:center;width:24px;height:24px;display:inline-grid}.map-links__icon img,.map-links__icon svg{width:100%;height:100%;display:block}.map-links__icon img{object-fit:contain}.map-links__label{min-width:0;color:var(--accent-strong);font-size:.94rem;line-height:1.3}.map-links__button--text-only .map-links__label{text-align:center}.travel-panel{padding:0;overflow:hidden}.travel-panel__trigger{cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:26px;display:flex}.travel-panel__trigger-copy{gap:4px;display:grid}.travel-panel__trigger-copy span{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:.76rem;display:inline-block}.travel-panel__trigger-copy strong{color:var(--text-strong);font-size:1.4rem}.travel-panel__trigger-indicator{color:#75523ac7;background:#fffcf8c7;border:1px solid #75523a1f;border-radius:999px;flex:none;place-items:center;width:42px;height:42px;transition:transform .18s,background-color .18s,border-color .18s,color .18s;display:grid}.travel-panel__trigger-indicator svg{width:18px;height:18px;transition:transform .18s}.travel-panel--open .travel-panel__trigger-indicator{color:var(--accent-strong);background:#75523a14;border-color:#75523a2e}.travel-panel--open .travel-panel__trigger-indicator svg{transform:rotate(180deg)}.travel-panel__body{border-top:1px solid var(--line);padding:0 26px 26px}.travel-panel__sections{gap:20px;margin-top:0;display:grid}.travel-panel__section{border-top:1px solid var(--line);padding-top:18px}.travel-panel__section:first-child{border-top:0;padding-top:0}.travel-panel__section h3{margin:0;font-size:1.08rem}.accordion-list{gap:18px;display:grid}.accordion-card{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-soft);overflow:hidden}.accordion-card__trigger{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:22px 24px;display:flex}.accordion-card__trigger span{color:var(--text-strong);font-size:1.18rem;font-weight:600}.accordion-card__static-header{padding:0 0 12px}.accordion-card__static-header span{color:var(--text-strong);font-size:1.18rem;font-weight:600}.accordion-card__trigger strong{color:var(--muted);font-size:.94rem}.accordion-card__content{border-top:1px solid var(--line);padding:18px 24px 24px}.contact-panel{gap:18px;display:grid}.contact-panel__summary{display:block}.contact-summary{background:linear-gradient(#fffaf6c7,#f9f3eba3);border:1px solid #75523a1a;border-radius:20px;align-content:start;gap:8px;padding:16px 18px;display:grid}.contact-summary--combined{gap:0}.contact-summary__block{gap:8px;display:grid}.contact-summary__block+.contact-summary__block{border-top:1px solid #75523a14;margin-top:14px;padding-top:14px}.contact-summary__header{gap:4px;display:grid}.contact-summary__header span{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:.74rem}.contact-summary__header strong{font-size:1.08rem}.contact-summary__account-number,.contact-summary__person-name,.contact-summary__account-holder{margin:0}.contact-summary__account-row{align-items:center;gap:6px;width:fit-content;max-width:100%;display:inline-flex}.contact-summary__account-number{letter-spacing:-.03em;color:var(--text-strong);font-size:1.2rem;line-height:1.35}.contact-summary__phone,.contact-list a{color:var(--accent-strong);font-weight:600;text-decoration:none}.contact-summary__person-name{color:var(--text-strong);font-size:1.08rem;font-weight:700;line-height:1.32}.contact-summary__phone{line-height:1.35}.copy-icon-button{color:#75523ab8;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;transition:color .18s;display:inline-flex}.copy-icon-button:hover{box-shadow:none;color:var(--accent-strong);transform:none}.copy-icon-button svg{width:17px;height:17px}.contact-columns{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.subtle-panel{box-shadow:none;background:0 0;border:0;padding:0}.subtle-panel h3{margin:0 0 12px;font-size:1.02rem}.contact-columns>.subtle-panel+.subtle-panel{border-left:0;padding-left:0}.contact-list,.account-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.contact-list li,.account-list li{background:linear-gradient(#fffaf6c7,#f9f3eba3);border:1px solid #75523a1a;border-radius:18px;align-items:start;gap:6px;padding:14px 16px;display:grid}.contact-list div,.account-list div{gap:2px;display:grid}.contact-list span,.account-list span,.account-list p{color:var(--muted)}.contact-list span,.account-list span{font-size:.9rem}.contact-list strong,.account-list strong{font-size:1.02rem}.contact-list a{font-size:.96rem;line-height:1.35}.copy-button{color:var(--accent-strong);background:#75523a1a;padding:10px 14px;font-weight:600}.celebration-panel,.guestbook-panel{min-height:100%}.celebration-fab{right:20px;bottom:calc(22px + env(safe-area-inset-bottom));z-index:26;pointer-events:none;width:72px;height:72px;position:fixed}.celebration-fab__button{width:56px;height:56px;color:var(--accent-strong);cursor:pointer;pointer-events:auto;background:radial-gradient(circle at 30% 22%,#fffffff0,#0000 32%),linear-gradient(#fffbf7f5,#f5eee6eb);border:1px solid #75523a24;border-radius:999px;place-items:center;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:absolute;bottom:0;right:0;box-shadow:0 18px 34px #65473229,inset 0 0 0 1px #ffffff61}.celebration-fab__button:hover{border-color:#75523a33;transform:translateY(-2px)scale(1.02);box-shadow:0 20px 38px #65473233,inset 0 0 0 1px #ffffff6b}.celebration-fab__icon{place-items:center;width:24px;height:24px;display:grid}.celebration-fab__icon svg{width:100%;height:100%}.celebration-fab__count{min-width:22px;height:22px;font-family:var(--font-heading);color:var(--accent-strong);background:#fffcf8f5;border:1px solid #75523a1f;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.92rem;line-height:1;display:inline-flex;position:absolute;top:-2px;right:-2px;box-shadow:0 10px 24px #6547321f}.celebration-fab__particle{left:var(--particle-left);font-size:calc(1rem * var(--particle-scale));color:var(--accent-strong);opacity:0;pointer-events:none;transform:translate3d(0, 0, 0) rotate(var(--particle-rotate));animation:burst var(--particle-duration) ease-out var(--particle-delay) forwards;position:absolute;bottom:26px}.celebration-panel__stage{isolation:isolate;cursor:pointer;text-align:center;background:radial-gradient(circle at 18% 16%,#ffffffd6,#0000 28%),radial-gradient(circle at 78% 78%,#ffffff7a,#0000 30%),linear-gradient(#fffaf6e6,#f2ebe4b8);border:1px solid #75523a1f;border-radius:30px;place-items:center;width:100%;min-height:320px;margin-top:18px;padding:28px 24px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative;overflow:hidden}.celebration-panel__stage:hover{box-shadow:var(--shadow-soft);border-color:#75523a29;transform:translateY(-1px)}.celebration-panel__stage:after{content:"";filter:blur(30px);z-index:0;background:#ffffff8f;border-radius:999px;height:68px;position:absolute;inset:auto 34px 34px}.celebration-panel__count-pill{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffcf8db;border:1px solid #75523a1f;border-radius:999px;align-items:baseline;gap:8px;padding:10px 14px;display:inline-flex;position:absolute;top:18px;right:18px}.celebration-panel__count-pill span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.74rem}.celebration-panel__count-pill strong{font-family:var(--font-heading);color:var(--accent-strong);font-size:1.34rem;line-height:1}.celebration-panel__stage-inner{z-index:1;justify-items:center;gap:14px;display:grid;position:relative}.celebration-panel__stage-kicker{letter-spacing:.18em;text-transform:uppercase;color:#75523aa3;font-size:.76rem}.celebration-panel__seal{width:98px;height:98px;color:var(--accent-strong);background:#ffffff8f;border-radius:999px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #75523a14,0 18px 36px #a88a702e}.celebration-panel__seal svg{width:72px;height:72px}.celebration-panel__stage-title{color:var(--text-strong);font-size:1.56rem;line-height:1.1}.celebration-particle{left:var(--particle-left);font-size:calc(1.1rem * var(--particle-scale));color:var(--accent-strong);opacity:0;transform:translate3d(0, 0, 0) rotate(var(--particle-rotate));animation:burst var(--particle-duration) ease-out var(--particle-delay) forwards;z-index:2;position:absolute;top:52%}.guestbook-form{gap:14px;margin-top:18px;display:grid}.guestbook-form label{gap:8px;display:grid}.guestbook-form__textarea-wrap{position:relative}.guestbook-form span{color:var(--muted);font-size:.94rem}.guestbook-form input,.guestbook-form textarea{width:100%;color:var(--text-strong);resize:vertical;background:#ffffffa3;border:1px solid #75523a1f;border-radius:20px;padding:14px 16px}.guestbook-form textarea{padding-bottom:42px}.guestbook-form__counter{color:var(--muted);pointer-events:none;background:#ffffffeb;border-radius:999px;padding:2px 6px;font-size:.82rem;line-height:1.2;position:absolute;bottom:12px;right:14px}.guestbook-form input:focus,.guestbook-form textarea:focus,.copy-button:focus-visible,.copy-icon-button:focus-visible,.button:focus-visible,.celebration-fab__button:focus-visible,.celebration-panel__stage:focus-visible,.celebrate-button:focus-visible,.map-links__button:focus-visible,.nav-link:focus-visible,.bottom-nav__link:focus-visible,.gallery-card:focus-visible,.accordion-card__trigger:focus-visible,.hero-card__scroll:focus-visible,.lightbox__close:focus-visible,.contact-list a:focus-visible,.contact-summary__phone:focus-visible{outline-offset:3px;outline:2px solid #75523a8c}.guestbook-form__footer{justify-content:flex-end;align-items:center;gap:12px;display:flex}.form-error{color:#8f4032;margin:0;font-size:.94rem}.guestbook-entries{gap:0;margin-top:22px;display:grid}.guestbook-empty{border-top:1px solid var(--line);color:var(--muted);background:0 0;border-radius:0;margin:0;padding:16px 0 0}.guestbook-entry{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;padding:16px 0 0}.guestbook-entry__meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.guestbook-entry__meta span{color:var(--muted);font-size:.88rem}.guestbook-entry p{margin:0}.bottom-nav{left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:24;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow-soft);opacity:0;transform:translateY(calc(22px + env(safe-area-inset-bottom)));pointer-events:none;background:#fff8f1c7;border-radius:24px;gap:8px;padding:10px;transition:opacity .22s,transform .22s;display:none;position:fixed;overflow-x:auto}.bottom-nav--visible{opacity:1;pointer-events:auto;transform:translateY(0)}.bottom-nav__link{white-space:nowrap;flex:none;font-size:.9rem}.status-toast{left:50%;bottom:calc(96px + env(safe-area-inset-bottom));z-index:30;color:#fff7ef;box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;background:#2d2119d1;border-radius:999px;padding:12px 18px;transition:opacity .18s,transform .18s;position:fixed;transform:translate(-50%,18px)}.status-toast--visible{opacity:1;transform:translate(-50%)}.lightbox{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#221914bd;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.lightbox__panel{width:min(840px,100%);max-height:min(90vh,920px);box-shadow:var(--shadow-card);background:#fffbf6f5;border-radius:30px;gap:16px;padding:20px;display:grid}.lightbox__close{color:var(--accent-strong);cursor:pointer;background:#ffffffb8;border:1px solid #75523a29;border-radius:999px;justify-self:end;padding:10px 14px}.lightbox img{object-fit:contain;background:#f4ede4;border-radius:24px;width:100%;max-height:68vh}.lightbox__caption{gap:6px;display:grid}.lightbox__caption p{color:var(--muted);margin:0}@keyframes drift{0%,to{transform:translate(0,0)rotate(-10deg)}50%{transform:translateY(-18px)rotate(10deg)}}@keyframes fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-chevron-wave{0%,to{opacity:.5}50%{opacity:1}}@keyframes burst{0%{opacity:0;transform:translate3d(0, 16px, 0) scale(.72) rotate(var(--particle-rotate))}15%{opacity:1}to{opacity:0;transform:translate3d(var(--particle-drift), -118px, 0) scale(1) rotate(calc(var(--particle-rotate) + 22deg))}}@media (max-width:960px){.top-nav{display:none}.bottom-nav{display:flex}.page-main{width:min(100%,100% - 28px);padding-top:24px}.hero-section{min-height:auto;padding-top:8px}.invitation-layout,.location-layout,.celebration-layout,.contact-columns,.schedule-panel{grid-template-columns:1fr}.hero-card{gap:24px;padding:16px}.hero-card__names{grid-template-columns:auto auto;justify-content:center;gap:8px 10px}.hero-card__names i{display:none}.hero-card__visual{min-height:420px}.hero-card__visual-copy{padding:36px 24px 28px}.hero-card__content{padding:0 8px 10px}.hero-card__facts{grid-template-columns:1fr}.gallery-grid{gap:12px}.map-preview{min-height:auto}.schedule-panel__date{border-right:0;border-bottom:1px solid var(--line);padding:0 0 16px}.contact-columns>.subtle-panel+.subtle-panel{border-left:0;border-top:1px solid var(--line);padding-top:20px;padding-left:0}.celebration-fab{right:18px;bottom:calc(106px + env(safe-area-inset-bottom))}.celebration-fab--hero{bottom:calc(20px + env(safe-area-inset-bottom))}}@media (min-width:961px){.top-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fff8f1a3;border-color:#75523a1f;gap:18px;width:min(1260px,100% - 64px);padding:10px 14px 10px 18px;top:18px;box-shadow:0 18px 44px #6547321f}.top-nav__brand{gap:0;min-width:236px}.top-nav__eyebrow{letter-spacing:.24em;font-size:.64rem}.top-nav__brand strong{font-size:1.04rem;line-height:1.08}.top-nav__links{flex:1;justify-content:flex-end;gap:4px}.nav-link{padding:8px 14px;font-size:.89rem}.page-main{width:min(1260px,100% - 64px);padding-top:92px;padding-bottom:168px}.hero-section,.content-section{scroll-margin-top:96px}.hero-section{min-height:auto;padding:26px 0 68px}.hero-card{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(300px,.38fr) minmax(0,1fr);gap:34px;padding:0}.hero-card__visual{border-radius:40px;grid-column:2;min-height:clamp(540px,72vh,760px);box-shadow:0 26px 54px #60442e29}.hero-card__visual-copy{text-align:left;align-content:end;justify-items:start;gap:22px;padding:56px 58px 50px}.hero-card__eyebrow{letter-spacing:.3em;font-size:.74rem}.hero-card__title{max-width:8ch;font-size:clamp(4.2rem,7vw,6.2rem)}.hero-card__names{justify-self:start;gap:10px 12px}.hero-card__content{text-align:left;grid-area:1/1;align-content:end;align-self:stretch;padding:34px 0 18px}.hero-card__facts{grid-template-columns:1fr;gap:24px}.hero-card__facts div{padding-top:18px}.hero-card__facts dt{letter-spacing:.24em;margin-bottom:12px;font-size:.72rem}.hero-card__facts dd{gap:6px}.hero-card__facts time{font-family:var(--font-heading);color:var(--text-strong);font-size:clamp(1.9rem,3vw,2.7rem);line-height:.96}.hero-card__facts strong{font-size:1.3rem}.hero-card__facts span{color:var(--muted);font-size:1rem}.hero-card__actions{justify-content:flex-start;gap:14px;margin-top:34px}.hero-card__scroll{margin-top:8px}.content-section{padding:74px 0 88px}.section-heading{grid-template-columns:minmax(170px,.24fr) minmax(0,720px);align-items:start;gap:10px 36px;max-width:none;margin-bottom:38px;display:grid}.section-heading span{grid-area:1/1/span 2;padding-top:10px}.section-heading h2{grid-column:2;margin:0;font-size:clamp(2.6rem,4vw,4rem)}.section-heading p{grid-column:2;max-width:52ch;font-size:1rem}.invitation-layout--single{grid-template-columns:minmax(0,1.02fr) minmax(220px,.46fr);align-items:start;gap:42px}.invitation-copy{box-shadow:none;background:0 0;border:0;padding:0;font-size:1.14rem}.invitation-copy p{max-width:34em}.invitation-aside{border-left:1px solid #75523a1a;align-content:start;gap:10px;padding:18px 0 0 28px;display:grid}.invitation-aside__eyebrow,.invitation-aside__meta,.invitation-aside__venue,.invitation-aside__landmark{margin:0}.invitation-aside__eyebrow{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.invitation-aside__date{font-family:var(--font-heading);color:var(--accent-strong);font-size:clamp(3.4rem,5vw,5rem);line-height:.9}.invitation-aside__meta,.invitation-aside__landmark{color:var(--muted);line-height:1.55}.invitation-aside__venue{color:var(--text-strong);padding-top:6px;font-size:1rem;font-weight:600}.invitation-aside__landmark{max-width:18ch;font-size:.94rem}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:112px;align-items:start;gap:22px}.gallery-card{border-color:#75523a14;border-radius:30px;height:100%;min-height:0;display:block;box-shadow:0 20px 40px #5f453014}.gallery-card img{height:100%}.gallery-card__caption{opacity:0;padding:28px 18px 16px;font-size:.82rem;transition:opacity .22s,transform .22s;transform:translateY(8px)}.gallery-card:hover .gallery-card__caption,.gallery-card:focus-visible .gallery-card__caption{opacity:1;transform:translateY(0)}.gallery-card[data-orientation=square]{aspect-ratio:auto;grid-row:span 3}.gallery-card[data-orientation=portrait]{aspect-ratio:auto;grid-row:span 4}.gallery-card[data-orientation=landscape]{aspect-ratio:auto;grid-area:span 4/span 2}.gallery-card:nth-child(2),.gallery-card:nth-child(5){margin-top:42px}.gallery-card:nth-child(6){grid-row:span 5}.location-layout{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:start;gap:28px}.location-layout__stack--left{gap:24px}.location-layout__stack--right{gap:18px}.map-preview{box-shadow:none;background:0 0;border:0;padding:0}.map-preview__frame{border-radius:34px;box-shadow:0 22px 44px #5f453014}.map-preview__content{grid-template-columns:minmax(170px,auto) minmax(0,1fr);align-items:baseline;gap:10px 18px;padding-top:14px}.map-preview__eyebrow{grid-row:1/span 2;padding-top:4px}.map-preview__summary{max-width:22ch;color:var(--text-strong);font-size:1.12rem}.info-panel{box-shadow:none;background:0 0;border:0;padding:0}.info-panel__header{margin-bottom:10px}.info-panel__header strong{font-size:2.18rem;line-height:.98}.info-panel__subhead{color:var(--text-strong);font-size:1.2rem;font-weight:700}.info-panel__address{max-width:40ch;font-size:.9rem}.info-panel__list{width:fit-content;max-width:100%;margin-top:16px}.map-links{gap:12px;margin-top:0}.map-links__button{border-radius:24px;min-height:72px}.travel-panel{background:#fffaf6d6;border-radius:28px}.travel-panel__trigger{padding:22px 24px}.travel-panel__trigger-copy{grid-template-columns:minmax(126px,auto) minmax(0,1fr);align-items:baseline;gap:12px 18px;display:grid}.travel-panel__trigger-copy span{padding-top:4px}.travel-panel__trigger-copy strong{font-size:1.22rem}.travel-panel__body{padding:0 24px 24px}.accordion-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:26px}.accordion-card{border-radius:30px}.accordion-card__trigger{padding:24px 28px}.accordion-card__content{padding:22px 28px 28px}.contact-panel{gap:22px}.contact-summary{border-radius:24px;padding:20px 22px}.contact-summary__person-name{font-size:1.42rem}.contact-summary__phone{font-size:1.18rem}.contact-summary__block+.contact-summary__block{margin-top:18px;padding-top:18px}.contact-summary__header strong{font-size:1.16rem}.contact-columns{grid-template-columns:1fr;gap:16px}.subtle-panel h3{margin-bottom:14px;font-size:1.08rem}.contact-list li{border-radius:22px;min-height:118px;padding:18px 18px 16px}.celebration-layout--single{grid-template-columns:1fr}.guestbook-panel{grid-template-columns:minmax(0,.9fr) minmax(320px,.78fr);align-items:start;gap:24px 30px;padding:32px;display:grid}.guestbook-panel__header{grid-column:1/-1;grid-template-columns:minmax(170px,auto) minmax(0,1fr);align-items:baseline;gap:10px 24px;margin-bottom:0;display:grid}.guestbook-panel__header span{padding-top:4px}.guestbook-panel__header strong{font-size:2rem}.guestbook-form,.guestbook-entries{margin-top:0}.guestbook-entries{border-left:1px solid #75523a14;min-height:100%;padding-left:24px}.celebration-fab{bottom:30px;right:30px}}@media (min-width:1280px){.top-nav{width:min(1320px,100% - 96px);top:22px}.page-main{width:min(1320px,100% - 96px)}.content-section{padding:84px 0 100px}.hero-card{gap:42px}.gallery-grid{grid-auto-rows:124px;gap:26px}}@media (max-width:640px){:root{--mobile-block-gap:20px;--mobile-item-gap:12px}.page-main{width:calc(100% - 32px);padding-top:0;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.hero-section{width:calc(100% + 32px);margin-inline:-16px;padding:0 0 28px}.hero-section__ornaments{display:none}.hero-card{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;gap:24px;padding:0 0 10px}.hero-card__visual{border-radius:0;width:100vw;min-height:100svh;margin-inline:calc(50% - 50vw)}.hero-card__visual-copy{padding:82px 16px 26px}.hero-card__title{font-size:clamp(2.6rem,13vw,4rem)}.hero-card__content{padding:0 16px 10px}.content-section{padding:32px 0}.section-heading{margin-bottom:20px}.section-heading p{font-size:.98rem}.invitation-layout,.location-layout,.celebration-layout,.location-layout__stack,.accordion-list,.contact-panel,.contact-panel__summary{gap:var(--mobile-block-gap)}.contact-columns{gap:0}.panel,.accordion-card,.invitation-copy,.schedule-panel,.info-panel,.celebration-panel,.guestbook-panel,.contact-columns>.subtle-panel,.map-preview__content,.travel-panel__section,.guestbook-form,.guestbook-empty,.guestbook-entry{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.schedule-panel,.map-preview,.travel-panel__sections{gap:var(--mobile-block-gap)}.invitation-copy,.schedule-panel__details,.contact-list,.account-list,.guestbook-form,.guestbook-entries,.map-preview__notes,.info-panel__list,.travel-panel__list{gap:var(--mobile-item-gap)}.invitation-copy{font-size:1rem}.map-preview__frame{background:0 0;border:0;border-radius:0}.map-preview{background:0 0}.schedule-panel{gap:var(--mobile-block-gap)}.schedule-panel__date{padding:0 0 var(--mobile-block-gap)}.schedule-panel__details div{gap:4px}.map-preview__notes{margin-top:var(--mobile-item-gap);background:#fff9f3eb;border-radius:18px;gap:5px;padding:12px 14px 12px 28px;font-size:.88rem}.map-preview__content{gap:3px}.map-preview__summary{font-size:.94rem}.info-panel__subhead{font-size:.98rem}.info-panel__header,.travel-panel__title,.celebration-panel__header,.guestbook-panel__header{margin-bottom:16px}.info-panel__list,.travel-panel__list{margin-top:var(--mobile-item-gap)}.info-panel__list{background:#fff9f3eb;border-radius:18px;gap:5px;padding:12px 14px 12px 28px;font-size:.88rem}.info-panel__address{font-size:.92rem}.travel-panel__trigger{align-items:center;padding:16px 18px}.travel-panel__trigger-copy strong{font-size:1.22rem}.travel-panel{box-shadow:none;background:#fff9f3eb;border:1px solid #75523a1a;border-radius:22px}.travel-panel__trigger-indicator{background:#ffffffd1;width:38px;height:38px}.travel-panel__body{border-top:1px solid #75523a14;padding:0 18px 18px}.travel-panel__sections{margin-top:0}.travel-panel__section{padding-top:var(--mobile-block-gap);border-top:1px solid var(--line)}.travel-panel__section:first-child{border-top:0;padding-top:0}.travel-panel__list{margin-top:var(--mobile-item-gap);background:#fff9f3eb;border-radius:18px;gap:5px;padding:12px 14px 12px 28px;font-size:.88rem}.accordion-card__static-header{padding:0 0 16px}.accordion-card__content{border-top:0;padding:0}.contact-panel__summary{display:block}.contact-summary{box-shadow:none;background:#fff9f3eb;border:1px solid #75523a1a;border-radius:18px;padding:14px 16px}.contact-summary__block+.contact-summary__block{margin-top:12px;padding-top:12px}.contact-summary__header strong{font-size:1rem}.contact-summary__account-number{font-size:1.08rem}.contact-summary__person-name{font-size:1rem}.contact-summary__account-row{gap:5px}.copy-icon-button{width:auto;height:auto}.subtle-panel h3{margin-bottom:10px}.contact-columns>.subtle-panel+.subtle-panel{border-top:0;border-left:0;padding-top:0;padding-left:0}.contact-list,.account-list{gap:8px}.contact-list li,.account-list li{background:#fff9f3eb;border:1px solid #75523a1a;border-radius:16px;padding:12px 14px}.celebration-panel__stage{min-height:236px;margin-top:var(--mobile-item-gap);background:radial-gradient(circle at 18% 16%,#fffc,#0000 28%),radial-gradient(circle at 78% 78%,#ffffff6b,#0000 30%),linear-gradient(#fffaf6e6,#f2ebe4b8);border:1px solid #75523a1a;border-radius:22px;padding:22px 18px}.celebration-panel__count-pill{gap:6px;padding:8px 12px;top:14px;right:14px}.celebration-panel__count-pill span{letter-spacing:.12em;font-size:.68rem}.celebration-panel__count-pill strong{font-size:1.14rem}.celebration-panel__seal{width:82px;height:82px}.celebration-panel__seal svg{width:60px;height:60px}.celebration-panel__stage-title{font-size:1.28rem}.celebration-panel__stage-kicker{font-size:.7rem}.celebration-fab{width:68px;height:68px;right:16px}.celebration-fab__button{width:52px;height:52px}.celebration-fab__icon{width:22px;height:22px}.celebration-fab__count{min-width:20px;height:20px;font-size:.84rem}.guestbook-form,.guestbook-entries{margin-top:var(--mobile-block-gap)}.guestbook-empty,.guestbook-entry{padding:var(--mobile-item-gap) 0 0;border-top:1px solid var(--line)}.guestbook-entry__meta{margin-bottom:8px}.hero-card__actions{flex-direction:column}.button,.map-links__button,.celebrate-button,.copy-button{width:100%}.hero-card__scroll{margin-top:4px}.map-links{gap:var(--mobile-item-gap);margin-top:14px}.map-links__button{border-radius:18px;min-height:58px;padding:12px}.map-links__label{font-size:.9rem}.hero-section__petal--left,.hero-section__petal--right,.hero-section__petal--bottom{opacity:.42}.contact-list li,.account-list li,.guestbook-entry__meta{flex-direction:column;align-items:flex-start}.lightbox{padding:12px}.lightbox__panel{border-radius:24px;padding:14px}}

