@import "https://fonts.googleapis.com/css2?family=Nanum+Myeongjo:wght@400;700&display=swap";*,:before,:after{box-sizing:border-box}html{color:#111;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;min-width:320px;font-family:Nanum Myeongjo,serif}body{min-width:320px;margin:0;overflow-x:hidden}button,a{font:inherit}button{color:inherit}.invitation-section{background:#fff;justify-content:center;align-items:center;min-height:100svh;display:flex;overflow:hidden}.invitation-card{--body-size:clamp(10px, min(3.45vw, 2.3svh), 21px);--small-size:clamp(9px, min(3vw, 2svh), 18px);--title-size:clamp(12px, min(4.2vw, 2.8svh), 25px);width:min(100vw,66.6667svh);height:min(100svh,150vw);font-size:var(--body-size);background:#fff;flex:none;position:relative;overflow:hidden}.fade-in{opacity:0;white-space:pre-wrap;animation:1.6s forwards fade-in}.section-heading{font-size:var(--title-size);margin:0;font-weight:400}.section-heading h2,.hero-names h1{font:inherit;margin:0}.hero-image{object-fit:cover;width:100%;height:100%;animation:2s forwards fade-in}.hero-overlay{grid-template-rows:1fr 2fr 1fr;padding:5% 4%;display:grid;position:absolute;inset:0}.hero-names{align-self:start;width:26%;font-size:clamp(14px,min(5.25vw,3.5svh),32px);line-height:1.45}.hero-names span{font-size:.7em;line-height:1.1;display:block}.hero-details{color:#fff;font-size:var(--body-size);text-shadow:0 1px 8px #00000038;align-self:end}.hero-details p{margin:0 0 2.5%}.hero-venue{font-size:var(--title-size)}.message-section .invitation-card{grid-template-rows:80% 20%;display:grid}.message-photo{background:url(/2.png) 50%/cover no-repeat;justify-content:center;align-items:flex-start;padding:13% 3% 0;display:flex}.message-copy{font-size:var(--body-size);line-height:1.7}.family-list{align-content:center;gap:12%;padding:3% 12% 4%;display:grid}.family-row{font-size:var(--body-size);grid-template-columns:1.75fr .55fr .55fr;align-items:center;column-gap:2%;display:grid}.family-parents{text-align:right}.family-row strong{font-weight:700}.gallery-section{background:#eff3d3}.gallery-section .invitation-card{background:#eff3d3;grid-template-rows:9% 1fr;gap:2%;padding:3%;display:grid}.gallery-heading{align-self:center}.gallery-grid{grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:2%;min-height:0;display:grid}.gallery-thumbnail{cursor:pointer;background-position:50%;background-size:cover;border:0;border-radius:4%;width:100%;min-width:0;min-height:0;padding:0;transition:transform .16s,box-shadow .16s}.gallery-thumbnail:hover{transform:scale(1.015)}.gallery-thumbnail:focus-visible,.gallery-close:focus-visible,.gallery-navigation:focus-visible,.directions-link:focus-visible{outline-offset:3px;outline:3px solid #1a4d59}.gallery-overlay{z-index:1000;background:#eff3d3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gallery-dialog{touch-action:pan-y;background:#eff3d3;justify-content:center;align-items:center;width:min(100vw,66.6667svh);height:min(100svh,150vw);display:flex;position:relative;overflow:hidden}.gallery-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;max-width:100%;max-height:100%;display:block}.gallery-counter{z-index:3;font-size:var(--title-size,18px);text-shadow:0 1px 6px #fff9;position:absolute;top:3%;left:5%}.gallery-close,.gallery-navigation{z-index:4;color:#111;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff94;border:0;place-items:center;min-width:44px;min-height:44px;padding:0;display:grid;position:absolute}.gallery-close{border-radius:50%;width:11%;font-size:clamp(28px,8vw,42px);font-weight:200;line-height:1;top:2%;right:3%}.gallery-navigation{border-radius:8px;width:12%;height:16%;font-size:clamp(40px,12vw,64px);font-weight:200;top:42%}.gallery-navigation:disabled{opacity:.18;cursor:default}.gallery-navigation-previous{left:0}.gallery-navigation-next{right:0}.directions-section .invitation-card{grid-template-rows:60% 40%;display:grid}.directions-map{grid-template-rows:16% 84%;min-height:0;padding-top:2%;display:grid}.directions-map .section-heading{text-align:center;align-self:center}.directions-visual{color:#33413d;text-align:center;background-color:#edf2ec;background-image:linear-gradient(#6881771a 1px,#0000 1px),linear-gradient(90deg,#6881771a 1px,#0000 1px);background-size:12% 12%;flex-direction:column;justify-content:center;align-items:center;gap:3%;min-height:0;padding:8%;display:flex;position:relative;overflow:hidden}.directions-visual:before,.directions-visual:after{content:"";border:1px solid #68817747;border-radius:50%;position:absolute}.directions-visual:before{aspect-ratio:1;width:52%}.directions-visual:after{aspect-ratio:1;width:34%}.directions-visual>*{z-index:1;position:relative}.location-floor{aspect-ratio:1;width:4.2em;font-size:var(--body-size);background:#ffffffb8;border:1px solid #33413d73;border-radius:50%;place-items:center;display:grid}.directions-visual strong{font-size:var(--title-size);font-weight:400}.directions-link{color:inherit;font-size:var(--small-size);background:#ffffffbf;border:1px solid #33413da6;border-radius:999px;padding:.65em 1em;text-decoration:none}.directions-copy{font-size:var(--body-size);grid-template-rows:1.15fr 1fr .8fr;gap:2%;padding:5% 4% 3%;display:grid}.directions-copy p{margin:0}.venue-address{text-align:right}.venue-address p{margin-bottom:4%}.transport-list{align-content:start;gap:12%;margin:0;display:grid}.transport-list div{grid-template-columns:3.6em 1fr;display:grid}.transport-list dt{font-weight:700}.transport-list dd{margin:0}.parking-note{align-self:center}.accounts-section{background:#cfecf7}.accounts-section .invitation-card{background:#cfecf7;grid-template-rows:10% 9% 1fr;padding:4% 4% 6%;display:grid}.accounts-heading{align-self:center}.account-sides{text-align:center;font-size:var(--body-size);grid-template-columns:1fr 1fr;align-items:center;display:grid}.account-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:2% 4%;min-height:0;display:grid}.account-card{text-align:center;min-width:0;font-size:var(--small-size);grid-template-rows:auto 1fr 1fr;align-items:center;padding:10% 7%;display:grid}.account-role{font-size:var(--body-size);border:2px solid #111;border-radius:.3em;padding:.35em .5em;font-weight:400}.account-number{overflow-wrap:anywhere;align-self:end}.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}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.fade-in,.hero-image{opacity:1;animation:none}.gallery-thumbnail{transition:none}}
