:root{color-scheme:light;--ink:#30352c;--muted:#686c62;--paper:#fff;--soft:#f4f4ee;--line:#dcded4;--accent:#48503c}*{box-sizing:border-box}body{margin:0;background:#eff0eb;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.85}main{max-width:720px;margin:auto;background:var(--paper)}a{color:inherit;text-underline-offset:4px}button,.button,summary{font-family:Arial,sans-serif;font-size:.875rem}button,.button{border:1px solid var(--line);background:white;color:var(--ink);padding:13px 18px;border-radius:3px;cursor:pointer;display:inline-block;text-decoration:none;line-height:1.5;min-height:44px}.primary{background:var(--accent);color:white;border-color:var(--accent)}button:hover,.button:hover{filter:brightness(.94)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #85864c;outline-offset:4px}.cover{text-align:center;padding:26px 34px 60px}.language{display:block;text-align:right;font:14px Arial,sans-serif;color:var(--muted);margin-bottom:34px}.eyebrow{font:14px/1.6 Arial,sans-serif;letter-spacing:.23em;color:var(--muted);margin:0 0 22px}h1{font-weight:400;font-size:clamp(3.4rem,10vw,5.8rem);line-height:.96;letter-spacing:-.055em;margin:20px 0 -5px;position:relative;z-index:1}h2{font-weight:400;font-size:2rem;line-height:1.3;margin:0 0 28px}h3{font-weight:400;font-size:1.3rem;margin:0 0 8px}h4{font:600 1rem/1.6 Arial,sans-serif;margin:24px 0 8px}p{margin:18px 0}.hero{width:100%;height:auto;display:block;border-radius:320px 320px 0 0}.names{font-size:2rem;margin-top:34px;margin-bottom:20px}.names em{font-size:1.5rem;padding:0 9px;color:var(--muted)}section{padding:64px 44px;text-align:center}.poem{background:var(--soft)}blockquote{margin:0;font-size:1.12rem;line-height:2.1;font-style:italic}.credit,.small{font:14px/1.8 Arial,sans-serif;color:var(--muted)}.credit{margin-top:25px}.families{margin:42px 0}.families strong{font-size:1.3rem;font-weight:400}.families span{font-size:1rem}.families .amp{font-style:italic;font-size:1.4rem}.portrait{display:block;width:100%;height:auto}.date{background:var(--soft)}.calendar{width:100%;border-collapse:collapse;margin:28px auto 22px;max-width:420px;font-size:16px}.calendar th{font:14px Arial,sans-serif;padding:10px 0;color:var(--muted)}.calendar td{height:47px;width:14.28%}.calendar td:first-child{color:#976657}.wedding-day{display:inline-flex;background:var(--accent);color:white;border-radius:50%;width:40px;height:40px;align-items:center;justify-content:center}.countdown{font-size:16px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gallery button{padding:0;border:0;overflow:hidden;border-radius:0;aspect-ratio:3/4;min-height:0}.gallery img{display:block;width:100%;height:100%;object-fit:cover}.gallery-section{padding-left:22px;padding-right:22px}.location{background:var(--soft)}.venue{font-size:1.3rem;line-height:1.6}.korean-address{font:14px/1.8 Arial,sans-serif;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:24px 0}.directions{text-align:left;margin-top:42px}.directions article{padding:24px 0;border-top:1px solid var(--line)}.directions p{margin:8px 0 16px}.directions dl{display:grid;grid-template-columns:1fr 1.6fr;font-size:16px;gap:8px 16px;margin:12px 0}.directions dd{margin:0}details{text-align:left;border-top:1px solid var(--line)}summary{padding:20px 0;cursor:pointer;font-weight:600;line-height:1.6}details p{font-size:16px}.map-image{display:block;width:100%;height:auto}.accounts{margin-top:32px}.account{padding:4px 10px 25px}.account strong{font:600 17px/1.8 Arial,sans-serif;overflow-wrap:anywhere}.account p{line-height:1.8}.account a{font:14px Arial,sans-serif}.guestbook{background:var(--soft)}footer{text-align:center;padding:25px 32px 50px}#status{font:14px/1.6 Arial,sans-serif;min-height:23px}dialog{border:0;background:#171a15;color:white;padding:56px 16px 16px;width:min(94vw,900px);max-height:96dvh}dialog::backdrop{background:#000c}dialog img{display:block;max-width:100%;max-height:72dvh;object-fit:contain;margin:auto}.close{position:absolute;top:8px;right:12px;background:transparent;color:white;border:0}.photo-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;font:14px Arial,sans-serif}.photo-nav button{background:transparent;color:white;border-color:#666} @media(max-width:480px){body{font-size:16px}.cover{padding:22px 22px 40px}section{padding:50px 26px}h2{font-size:1.8rem}.names{font-size:1.8rem}.gallery-section{padding-left:12px;padding-right:12px}.gallery{gap:5px}.directions dl{grid-template-columns:1fr 1.5fr}.actions .button{flex:1 1 auto}.photo-nav button{padding:10px}.language{margin-bottom:30px}.poem{padding-left:16px;padding-right:16px}blockquote{font-size:1rem}}
