/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);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}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ivory:#f7f4ee;--paper:#fffdf9;--ink:#24221f;--muted:#817a70;--line:#24221f24;--coral:#ef6459;--coral-soft:#f4a69d;--sage:#89927f;--serif:"Iowan Old Style", "Palatino Linotype", "Noto Serif KR", Batang, serif;--sans:Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", sans-serif}*{box-sizing:border-box}html{background:var(--ivory)}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);word-break:keep-all;-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{width:100%;display:block}a{color:inherit;text-decoration:none}.invitation{background:var(--paper);width:min(100%,720px);margin:0 auto;box-shadow:0 0 80px #362d1f14}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:99px;padding:11px 18px;font-size:12px;transition:transform .18s;position:fixed;top:16px;left:50%;transform:translate(-50%,-150%)}.skip-link:focus{transform:translate(-50%)}.section-pad{padding-inline:clamp(28px,8vw,72px)}.section-kicker{color:var(--coral);font-family:var(--serif);letter-spacing:.22em;margin:0 0 18px;font-size:11px}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.reveal.delay-one{transition-delay:.12s}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero-scroll{height:var(--opening-height,100vh);background:#efece5;position:relative}.hero-sticky{height:var(--opening-height,100vh);isolation:isolate;position:relative;overflow:hidden}.hero-image-wrap{opacity:0;background:linear-gradient(135deg,#ece8df,#faf7f0);transition:opacity .8s;position:absolute;inset:0}.hero-image-wrap.is-ready{opacity:1}.hero-image{object-fit:cover;height:100%;transition:opacity .7s;transform:scale(1.035)}.hero-wash{z-index:1;background:linear-gradient(#f9f6ef14,#0000 42%),linear-gradient(#0000 38%,#f8f5ee2e 61%,#f8f5eeeb 100%);position:absolute;inset:0}.hero-title{z-index:2;text-align:center;position:absolute;bottom:80px;left:24px;right:24px}.hero-title .eyebrow{font-family:var(--serif);letter-spacing:.28em;margin:0 0 16px;font-size:10px}.hero-title h1{font-family:var(--serif);letter-spacing:-.04em;justify-content:center;align-items:center;gap:clamp(10px,3.5vw,24px);margin:0;font-size:clamp(28px,8.8vw,58px);font-weight:400;display:flex}.hero-title h1 span{color:var(--coral);font-size:.54em;font-style:italic}.hero-date{color:#24221fb8;letter-spacing:.2em;margin:18px 0 0;font-size:10px}.cut-label{z-index:2;color:#ffffffe6;font-family:var(--serif);letter-spacing:.22em;text-shadow:0 1px 12px #00000040;text-transform:uppercase;font-size:9px;position:absolute;top:24px;left:24px}.scroll-cue{z-index:2;letter-spacing:.2em;writing-mode:vertical-rl;align-items:center;gap:8px;font-size:8px;display:flex;position:absolute;bottom:20px;right:18px}.scroll-cue span{transform-origin:top;background:#24221f59;width:1px;height:38px;animation:1.8s ease-in-out infinite scroll-line}@keyframes scroll-line{0%,to{opacity:.4;transform:scaleY(.3)}50%{opacity:1;transform:scaleY(1)}}.letter{background:var(--ivory);padding-block:140px 130px}.letter-inner{text-align:center}.letter-inner>p{color:#4c4842;font-family:var(--serif);margin:0 0 28px;font-size:clamp(15px,4vw,19px);line-height:2}.family-lines{border-top:1px solid var(--line);margin-top:62px;padding-top:36px}.family-lines p{font-family:var(--serif);margin:11px 0;font-size:clamp(15px,4vw,18px);line-height:1.8}.family-lines span{color:#5f5951}.family-lines strong{color:var(--ink);margin-left:6px;font-size:clamp(17px,4.6vw,21px);font-weight:600}.photo-story{background:var(--paper)}.cinema-scene{background:#eee9df;margin:0 18px;position:relative;overflow:hidden}.scene-tall{height:auto}.cinema-scene img{object-fit:contain;height:auto}.diptych{grid-template-columns:.9fr 1.1fr;align-items:end;gap:14px;padding-block:120px;display:grid}.diptych figure,.photo-pair figure{margin:0;overflow:hidden}.diptych figure:first-child{margin-bottom:74px}.diptych img{object-fit:contain;height:auto}.wide-scene{height:auto;position:relative;overflow:hidden}.wide-scene img{object-fit:contain;height:auto}.photo-pair{grid-template-columns:1.12fr .88fr;align-items:center;gap:14px;padding-block:130px;display:grid}.photo-pair figure:last-child{margin-top:110px}.photo-pair img{object-fit:contain;height:auto}.sunset-sequence{color:#fff;background:#1c1b18;padding:150px 18px 90px}.sunset-frame{width:88%;margin:0 auto 80px}.sunset-frame.offset{margin-right:0}.sunset-frame img{object-fit:contain;height:auto}.pixel-morph{isolation:isolate;position:relative}.pixel-morph .pixel-source{z-index:1;transition:opacity .22s ease-out;position:relative}.pixel-morph .pixel-layer{z-index:2;pointer-events:none;opacity:0;object-fit:cover;width:100%;height:100%;image-rendering:crisp-edges;image-rendering:pixelated;transition:opacity .22s ease-out;display:block;position:absolute;inset:0}.pixel-morph.is-pixel.has-pixel .pixel-source{opacity:0;transition-duration:.98s}.pixel-morph.is-pixel.has-pixel .pixel-layer{opacity:1;transition-duration:.98s}.pixel-morph.pixel-hold .pixel-source,.pixel-morph.pixel-hold .pixel-layer{transition-duration:.14s}.gallery-section{background:var(--paper);padding-block:120px 110px}.gallery-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px;display:flex}.gallery-heading .section-kicker{margin-bottom:12px}.gallery-heading h2{font-family:var(--serif);margin:0;font-size:clamp(29px,7vw,44px);font-weight:400}.gallery-heading>span{color:var(--muted);font-family:var(--serif);letter-spacing:.12em;flex:none;padding-bottom:5px;font-size:12px}.gallery-track{scrollbar-width:none;align-items:center;gap:14px;padding:0 clamp(28px,8vw,72px) 18px;display:flex;overflow:auto hidden}.gallery-track::-webkit-scrollbar{display:none}.gallery-track:focus-visible{outline:1px solid var(--coral);outline-offset:5px}.gallery-slide{background:0 0;flex:0 0 min(72vw,430px);height:auto;margin:0;overflow:visible}.gallery-slide.is-landscape{flex-basis:min(88vw,620px)}.gallery-slide img,.gallery-placeholder{object-fit:contain;width:100%;max-width:none;height:auto;max-height:none;display:block}.gallery-placeholder{background:#f2efe9}.gallery-stage{position:relative}.gallery-side-control{z-index:3;cursor:pointer;opacity:.68;background:0 0;border:0;place-items:center;width:44px;height:88px;padding:0;transition:opacity .16s;display:grid;position:absolute;top:50%;transform:translateY(calc(-50% - 9px))}.gallery-side-control span{filter:drop-shadow(0 1px 2px #0c0b0aa8);border:1.5px solid #fffdf9f0;border-width:0 1.5px 1.5px 0;width:13px;height:13px;font-size:0;display:block}.gallery-side-control.is-previous{background:linear-gradient(90deg,#1412102e,#0000);left:0}.gallery-side-control.is-next{background:linear-gradient(270deg,#1412102e,#0000);right:0}.gallery-side-control.is-previous span{transform:rotate(135deg)}.gallery-side-control.is-next span{transform:rotate(-45deg)}.gallery-side-control:active{opacity:1}.gallery-side-control:disabled{pointer-events:none;visibility:hidden}.gallery-hint{color:var(--muted);letter-spacing:.2em;text-align:center;margin:13px 0 0;font-size:9px}.date-section{background:var(--paper);padding-block:130px 150px}.date-heading{text-align:center}.date-heading h2{font-family:var(--serif);letter-spacing:.06em;margin:0;font-size:clamp(30px,9vw,54px);font-weight:400}.date-heading h2 span{color:var(--coral);letter-spacing:0;margin-top:2px;font-size:1.18em;display:block}.date-heading>p:last-child{color:var(--muted);margin:20px 0 0;font-size:14px}.calendar{max-width:460px;margin:72px auto 0}.calendar-week,.calendar-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.calendar-week{color:var(--muted);margin-bottom:20px;font-size:10px}.calendar-week span:first-child{color:var(--coral)}.calendar-days{row-gap:12px}.calendar-days span{width:32px;height:32px;font-family:var(--serif);border-radius:50%;place-items:center;margin:auto;font-size:13px;display:grid}.calendar-days .wedding-day{background:var(--coral);color:#fff;position:relative}.calendar-days .wedding-day:after{color:var(--coral);content:"♡";font-size:17px;position:absolute;bottom:-9px;right:-9px;transform:rotate(-12deg)}.location-section{background:var(--ivory);padding-block:120px}.location-heading{text-align:center}.location-heading h2{font-family:var(--serif);margin:0;font-size:clamp(28px,7vw,44px);font-weight:400}.location-heading>p:not(.section-kicker){color:var(--coral);margin:12px 0 0;font-size:14px}.location-heading address{color:var(--muted);margin-top:10px;font-size:12px;font-style:normal}.map-illustration{border:1px solid var(--line);background:#f1ede4;height:320px;margin:68px 0 34px;position:relative;overflow:hidden}.road{background:var(--paper);transform-origin:0;height:26px;position:absolute;box-shadow:0 0 0 1px #5046370d}.road-a{width:130%;top:35px;left:-15%;transform:rotate(8deg)}.road-b{width:130%;top:-20%;left:43%;transform:rotate(81deg)}.road-c{width:115%;top:72%;left:-10%;transform:rotate(-10deg)}.station,.venue-pin{z-index:1;font-size:10px;position:absolute}.station{color:#8f6848;align-items:center;gap:7px;display:flex;bottom:52px;left:34px}.station span{color:#fff;background:#d49a62;border-radius:50%;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.venue-pin{color:var(--coral);letter-spacing:.08em;place-items:center;gap:8px;display:grid;top:92px;right:48px}.venue-pin span{border:9px solid var(--coral);border-radius:50% 50% 50% 0;width:31px;height:31px;position:relative;transform:rotate(-45deg)}.map-links{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.map-links a{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:2px;padding:13px 6px;font-size:11px;transition:background .18s,color .18s}.map-links a:hover,.map-links a:focus-visible{background:var(--ink);color:#fff}.transport{border-top:1px solid var(--line);margin-top:52px}.transport div{border-bottom:1px solid var(--line);grid-template-columns:76px 1fr;gap:14px;padding:20px 0;display:grid}.transport span{color:var(--coral);font-family:var(--serif);letter-spacing:.14em;font-size:10px}.transport p{color:#5f5a52;margin:0;font-size:12px;line-height:1.65}.contact-section,.guestbook-section{padding-block:130px}.contact-section{background:var(--paper)}.section-heading{text-align:center;margin-bottom:58px}.section-heading h2{font-family:var(--serif);margin:0;font-size:clamp(28px,7vw,42px);font-weight:400}.section-heading>p:last-child{color:var(--muted);margin:17px auto 0;font-size:13px;line-height:1.7}.fold{border-top:1px solid var(--line)}.fold:last-child{border-bottom:1px solid var(--line)}.fold summary{cursor:pointer;min-height:72px;font-family:var(--serif);justify-content:space-between;align-items:center;font-size:17px;list-style:none;display:flex}.fold summary::-webkit-details-marker{display:none}.fold summary i{color:var(--coral);font-family:var(--sans);font-size:24px;font-style:normal;font-weight:200;transition:transform .22s}.fold[open] summary i{transform:rotate(45deg)}.contact-list,.account-panels{padding:2px 0 28px}.contact-group+.contact-group{margin-top:30px}.contact-group h3,.account-group h3{color:var(--coral);font-family:var(--serif);margin:0 0 12px;font-size:15px;font-weight:400}.contact-row,.account-row{background:var(--ivory);border-radius:4px;justify-content:space-between;align-items:center;padding:16px;display:flex}.contact-row+.contact-row,.account-row+.account-row{margin-top:7px}.contact-row small,.account-row small{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.contact-row strong{font-size:15px}.contact-actions{gap:6px;display:flex}.contact-actions a,.account-row button{border:1px solid var(--line);background:var(--paper);min-width:48px;color:var(--ink);text-align:center;border-radius:99px;padding:9px 10px;font-size:11px}.account-group+.account-group{margin-top:30px}.account-row p{margin:0;font-size:13px}.account-row button{cursor:pointer}.sample-note{color:var(--muted);margin:14px 4px 0;font-size:9px}.guestbook-section{background:var(--ivory)}.guestbook-form{border:1px solid var(--line);background:#fffdf9c7;gap:17px;padding:28px;display:grid}.guestbook-form label{gap:8px;display:grid}.guestbook-form label>span{color:var(--muted);font-size:10px}.guestbook-form input,.guestbook-form textarea,.delete-panel input{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);background:0 0;outline:none;font-size:13px;line-height:1.7}.guestbook-form input{height:40px}.guestbook-form textarea{resize:vertical}.guestbook-form input:focus,.guestbook-form textarea:focus,.delete-panel input:focus{border-color:var(--coral)}.honeypot{position:absolute;left:-9999px}.primary-button{background:var(--ink);color:#fff;cursor:pointer;letter-spacing:.04em;border:0;border-radius:2px;min-height:50px;margin-top:8px;font-size:12px}.primary-button:disabled{cursor:wait;opacity:.55}.form-status{color:var(--coral);text-align:center;margin:0;font-size:11px}.guestbook-list{margin-top:48px}.guestbook-card{border-top:1px solid var(--line);padding:30px 0;position:relative}.guestbook-card:last-child{border-bottom:1px solid var(--line)}.guestbook-number{color:var(--coral-soft);font-family:var(--serif);letter-spacing:.12em;margin-bottom:22px;font-size:10px}.guestbook-card>p{font-family:var(--serif);margin:0;font-size:16px;line-height:1.8}.guestbook-card footer{color:var(--muted);justify-content:space-between;align-items:center;margin-top:18px;font-size:10px;display:flex}.guestbook-card footer button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:9px}.delete-panel{grid-template-columns:1fr auto;gap:8px;margin-top:14px;display:grid}.delete-panel input{height:36px}.delete-panel button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:2px;padding:0 16px;font-size:10px}.site-footer{color:#fffc;text-align:center;background:#1c1b18;padding:54px 24px 62px}.site-footer p{font-family:var(--serif);letter-spacing:.14em;margin:0;font-size:12px}.site-footer span{color:#ffffff6b;letter-spacing:.18em;margin-top:10px;font-size:8px;display:block}@media (width<=720px){.invitation{box-shadow:none}.reveal{opacity:1;transition:none;transform:none}.hero-image-wrap,.hero-image{transition:none}.hero-image{transform:none}.hero-sticky{isolation:auto}.scroll-cue span{animation:none}}@media (width>=721px){body{padding-block:24px}.invitation{border-radius:4px}}@media (width<=420px){.transport div{grid-template-columns:62px 1fr}.guestbook-form{padding:22px 18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
