@font-face{font-family:Pretendard;src:url('/fonts/PretendardVariable-subset.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#f4f0e8;color:#272d2a;font:16px/1.8 Pretendard,system-ui,sans-serif;word-break:keep-all;overflow-wrap:break-word}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #986337;outline-offset:5px}.skip{position:fixed;top:-100px}.skip:focus{top:10px;background:white;z-index:100}.nav{position:sticky;top:0;z-index:20;background:#f4f0e8f2;backdrop-filter:blur(14px);display:flex;justify-content:space-between;align-items:center;padding:18px max(24px,calc((100% - 1200px)/2));border-bottom:1px solid #d8d2c6;gap:20px}.brand{font-weight:850;letter-spacing:.05em;text-decoration:none}.brand span{display:block;font-size:10px;color:#76684e}.nav nav{display:flex;gap:16px}.nav nav a{font-size:13px;text-decoration:none;min-height:44px;display:flex;align-items:center}main{max-width:1200px;margin:auto}section{padding:90px 28px;scroll-margin-top:90px}h1,h2,h3,p,figure{margin-top:0}h1{font-size:clamp(44px,5.8vw,80px);line-height:1.14;letter-spacing:-.055em;margin-bottom:28px;font-weight:800}h2{font-size:clamp(30px,3.8vw,48px);line-height:1.25;letter-spacing:-.045em}h3{font-size:21px}.eyebrow{color:#92643e;font-size:13px;font-weight:750;letter-spacing:.04em}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center;padding-top:70px}.lead{font-size:22px;line-height:1.65;max-width:480px}.hero-photo{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:160px 160px 4px 4px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 24px;background:#32473e;color:white;border-radius:4px;font-weight:750;text-decoration:none}.button:hover{background:#22382d}.button:active{transform:translateY(1px)}.text-link{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:5px;font-size:14px}figcaption{font-size:12px;color:#756e63;line-height:1.6;margin-top:12px}.director{border-top:1px solid #d8d2c6}.director-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.portrait{width:130px;height:130px;border-radius:50%;object-fit:cover;margin-bottom:22px}.credential{font-size:25px;line-height:1.65}.career{padding-left:20px}.career li{margin:8px 0}.package{background:#e7e2d7;display:grid;grid-template-columns:1fr 1.1fr;gap:36px;border-radius:6px}.package figure{margin:0;align-self:center}.package img{width:100%;height:auto;border-radius:4px}.price span{display:block;font-size:14px}.price strong{font-size:80px;line-height:1.2;letter-spacing:-.07em}.price small{font-size:28px;margin-left:7px}.price-note{font-weight:650}.included{padding-left:20px;margin-bottom:28px}.scope{grid-column:1/-1;border-top:1px solid #c6c0b5;padding-top:26px;font-size:14px}.scope p{max-width:900px}.case{max-width:1000px;margin:auto}.case-image{display:block;text-decoration:none}.case img{display:block;width:100%;height:auto}.case-image span{display:block;padding:15px 0;font-weight:700}.case>p:last-child{color:#665e52;font-size:14px}.process{border-top:1px solid #d8d2c6}.process ol{list-style:none;padding:0;counter-reset:step}.process li{counter-increment:step;display:grid;grid-template-columns:44px 240px 1fr;gap:18px;border-top:1px solid #d8d2c6;padding:20px 0}.process li:before{content:'0' counter(step);color:#92643e}.faq{padding-top:30px}.faq details{border-bottom:1px solid #d8d2c6;padding:18px 0}.faq summary{cursor:pointer;min-height:44px;font-weight:700}.faq details p{max-width:840px;margin:12px 0;color:#665e52}.closing{text-align:center;background:#32473e;color:#fff}.closing .button{background:#f4f0e8;color:#273c30}.closing .text-link{margin-left:20px}footer{max-width:1200px;margin:auto;padding:28px;display:flex;flex-wrap:wrap;gap:18px;color:#756e63;font-size:13px}footer a{min-height:44px;display:inline-flex;align-items:center}@media(max-width:850px){.nav{flex-wrap:wrap;padding:10px 20px;gap:4px}.nav nav{width:100%;overflow:auto;gap:18px}.nav nav a{flex-shrink:0}.hero,.director-grid,.package{grid-template-columns:minmax(0,1fr);gap:30px}section{padding:55px 22px}.hero-photo img{aspect-ratio:4/3;border-radius:80px 80px 4px 4px}.hero{padding-top:40px}.hero-copy{max-width:600px}.director-grid{gap:20px}.process li{grid-template-columns:30px 1fr;gap:8px}.process li span{grid-column:2}.price strong{font-size:68px}.closing .text-link{margin:15px 0 0;display:flex;justify-content:center}.scope{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:active{transform:none}}
.hero-director-face{display:block;width:72px;height:72px;object-fit:cover;border-radius:50%;margin-bottom:18px}.wedding-practical{border-top:1px solid #d8d2c6}.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 42px}.practical-grid article{border-top:1px solid #c6baa1;padding-top:22px}.practical-grid p{font-size:17px}.director .portrait{width:180px;height:180px;border-radius:6px}@media(max-width:700px){.practical-grid{grid-template-columns:1fr;gap:16px}.director .portrait{width:160px;height:160px}}
.hero-director-face,.director .portrait{border:1px solid #b7a47b}
/* One family, one type scale across the live wedding detail page. */
@font-face{font-family:'Wedding Pretendard';src:url('/fonts/PretendardVariable-subset.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--wedding-ivory:#f5f0e4;--wedding-ink:#33392c;--wedding-olive:#4b5038;--wedding-gold:#987744;--wedding-line:#cec2a6}
body{background:var(--wedding-ivory);color:var(--wedding-ink);font-family:'Wedding Pretendard',system-ui,sans-serif;font-size:17px;font-weight:450;line-height:1.8;font-synthesis:none}
h1,h2,h3,p,li,a,summary,figcaption{font-family:inherit}
h1{font-weight:750;font-size:clamp(42px,5.6vw,76px);letter-spacing:-.035em;line-height:1.22;text-wrap:balance}
h2{font-size:clamp(30px,3.8vw,46px);font-weight:700;letter-spacing:-.035em;line-height:1.3;text-wrap:balance}
h3{font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.45}
strong,.button,.faq summary{font-weight:700}
.lead,.credential{font-size:clamp(20px,2.1vw,24px);line-height:1.65;letter-spacing:-.02em;font-weight:500}
.eyebrow,.brand span,.text-link,.nav nav a{font-size:14px;line-height:1.6;color:var(--wedding-olive)}
.eyebrow{font-weight:650;letter-spacing:.035em}
.scope,.scope p,.case>p:last-child,.faq details p,.practical-grid p,.price-note{font-size:17px;line-height:1.8;color:var(--wedding-ink)}
figcaption,footer{font-size:14px;line-height:1.7;color:var(--wedding-olive)}
.price strong{font-family:inherit;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.price span{font-size:16px;font-weight:500}
.nav{background:#f5f0e4f5;border-color:var(--wedding-line)}
.director,.process,.wedding-practical,.faq details,.process li,.practical-grid article{border-color:var(--wedding-line)}
.package{background:#ebe5d3;border-radius:8px;border-top:2px solid var(--wedding-gold)}
.package img,.director .portrait{border-radius:8px}
.button{background:var(--wedding-olive);border-radius:4px;transition:background .18s ease}.button:hover{background:#353d27}
.closing{background:var(--wedding-olive)}.closing .text-link{color:var(--wedding-ivory)}.closing .button{background:var(--wedding-ivory);color:var(--wedding-olive)}
section{padding-top:76px;padding-bottom:76px}.faq{padding-top:32px}
@media(max-width:850px){body{font-size:16px}.scope,.scope p,.case>p:last-child,.faq details p,.practical-grid p,.price-note{font-size:16px}section{padding:48px 22px}.faq{padding-top:28px}.hero{padding-top:36px}h1{font-size:clamp(38px,10.8vw,58px)}.price strong{font-size:64px}}
