@font-face{font-family:'Gowun Batang';src:url('assets/fonts/GowunBatang-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Gowun Batang';src:url('assets/fonts/GowunBatang-Bold.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
:root{--serif:'Gowun Batang',Batang,serif}
body{font-size:19px}main{overflow-x:clip}
nav{font-size:18px}.hero h1{font-family:var(--serif);font-weight:400;letter-spacing:.06em}.brand-sub{font-size:24px}
.hero h1{font-size:clamp(39px,3.75vw,59px)}
.brand-sub{font-size:12px}
.camera{transform:scale(.3333333);transform-origin:center center}
.outline,.solid{font-size:19px}.hero-bottom{font-size:15px}.section-note{font-size:18px}
.about-statement{font-size:19px}.signature strong{font-size:26px;font-weight:400}
.text-link{font-size:17px}.small{font-size:15px}.muted{color:#6e6c63}
.tile-caption h3{font-size:23px}.price-card h3{font-size:32px}.price span{font-size:17px}
.price-card ul{font-size:18px;line-height:2}.service-notes h4{font-size:22px;font-weight:400}.service-notes p{font-size:17px}
.booking-intro>p:not(.eyebrow){font-size:18px}form label{font-size:17px}input,select,textarea{font-size:20px}
.estimate span{font-size:17px}.estimate strong{font-size:32px;font-weight:400}.estimate p{font-size:17px}
#request-result h3{font-size:23px}#request-result pre{font-size:17px}footer p{font-size:16px}
.work-art:before{display:none}.work-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.work-art:hover img{transform:scale(1.035)}
.work-art small{left:15px;bottom:15px;color:#fff;background:#292820a6;padding:3px 12px;font-size:15px;letter-spacing:.05em}
.photo-credit{margin:6px 0 0;color:#77766e;font:10px/1.6 Arial,sans-serif}.photo-credit a{text-decoration:underline;text-underline-offset:3px}
.reveal{--slide:64px;opacity:0;transform:translateX(var(--slide));transition:opacity .85s ease,transform .95s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.from-left{--slide:-64px}.reveal.is-visible,.reveal:focus-within{opacity:1;transform:translateX(0)}
@media(max-width:900px){nav{font-size:16px;gap:25px}.price span{font-size:15px}}
@media(max-width:600px){nav{font-size:15px;gap:22px}.brand-sub{font-size:20px}.hero-cta{font-size:19px}.hero-bottom{font-size:13px}.section-note{font-size:17px}.price-card h3{font-size:29px}.price-card ul{font-size:18px}.service-notes p{font-size:17px}.booking-intro>p:not(.eyebrow){font-size:17px}form label{font-size:17px}input,select,textarea{font-size:19px}.estimate strong{font-size:31px}.estimate p{font-size:15px}.estimate span{font-size:16px}footer p{font-size:14px}.reveal{--slide:30px}.reveal.from-left{--slide:-30px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none!important}.work-art img{transition:none}}
@media print{.reveal{opacity:1;transform:none}}
@media(max-width:600px){.hero h1{font-size:41.5px}.brand-sub{font-size:10px}}
/* Use the locally bundled bold cut for clearer Korean typography. */
body{font-weight:700}
.hero h1,h2,.tile-caption h3,.price-card h3,.service-notes h4,.signature strong,.estimate strong,#request-result h3{font-weight:700}
button,input,select,textarea,.outline,.solid,.text-link{font-weight:700}
.portfolio-card-link{display:block;outline-offset:7px}
.portfolio-card-link:focus-visible{outline:2px solid #666c56}
.portfolio-card-link:hover .work-art img{transform:scale(1.035)}
.portfolio-open{display:block;margin-top:9px;font-size:13px;color:#6e6c63;text-decoration:underline;text-underline-offset:4px}
.service-notes p{white-space:pre-line}
