:root{color-scheme:light;--wine:#742b3e;--ink:#242424;--line:#ddd}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font:18px/1.7 system-ui,-apple-system,"Malgun Gothic",sans-serif;background:#fff}
a{color:var(--wine)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.1rem max(1.25rem,calc((100vw - 1160px)/2));border-bottom:1px solid var(--line);background:#fff}
.site-logo{font-weight:750;font-size:1.25rem;text-decoration:none;color:var(--ink);white-space:nowrap}
.site-header nav>.menu{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem 1rem;padding:0;margin:0;list-style:none}
.site-header .menu-item{position:relative;list-style:none}
.site-header .menu-item>a{display:block;padding:.35rem;text-decoration:none;color:var(--ink)}
.site-header .menu-item>a:hover,.site-header .menu-item>a:focus-visible{color:var(--wine);text-decoration:underline}
.site-header .sub-menu{display:none;position:absolute;z-index:9;min-width:180px;top:100%;left:0;margin:0;padding:.5rem;background:#fff;box-shadow:0 4px 22px #0002;border:1px solid var(--line)}
.site-header .menu-item:hover>.sub-menu,.site-header .menu-item:focus-within>.sub-menu{display:block}
.site-content{max-width:1040px;margin:0 auto;padding:3rem 1.25rem 5rem;min-height:55vh}
.site-page{max-width:780px;margin:auto}
.site-page h1{font-size:clamp(2rem,4vw,3rem);line-height:1.3;margin:0 0 2rem}
.site-block{padding:.4rem .6rem;overflow-wrap:anywhere;line-height:1.7}
.site-block.bg-none{background:transparent}.site-block.bg-white{background:#fff}.site-block.bg-cream{background:#faf6ec}.site-block.bg-blue{background:#e8f3f7}.site-block.bg-wine{background:#f5e8ec}.site-block.bg-gray{background:#f0f1f2}
.site-block.font-serif{font-family:Georgia,"Noto Serif KR",serif}.site-block.font-sans{font-family:Arial,"Malgun Gothic",sans-serif}.site-block.font-mono{font-family:ui-monospace,monospace}
.site-block img,.site-home-section img{display:block;max-width:100%;height:auto;margin:auto}
.site-block figcaption{color:#555;text-align:center;font-size:.9em}
.site-block table{border-collapse:collapse;width:100%;font-size:inherit}
.site-block td{border:1px solid #aaa;padding:.45rem;vertical-align:top}
.site-home-section{padding:2rem 0;border-bottom:1px solid var(--line);max-width:920px;margin:auto}
.site-home-section h2{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.35;margin:0 0 1.2rem}
.site-home-section.type-text{max-width:700px}
.site-home-section.type-gallery img{width:100%;max-height:600px;object-fit:cover}
.site-home-section.type-feature:has(>img){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 2rem}
.site-home-section.type-feature:has(>img) h2{grid-column:1/-1}
@media(max-width:720px){.site-home-section.type-feature:has(>img){display:block}}
.site-home-section img{max-height:480px;object-fit:cover}
.site-section-photo{display:block;max-width:100%;max-height:480px;object-fit:cover;margin:1rem auto}
.site-preview-banner{background:#742b3e;color:white;padding:.6rem 1rem;border-radius:.35rem;font-size:1rem}
.site-footer{background:#f6f5f2;border-top:1px solid var(--line);padding:2rem max(1.25rem,calc((100vw - 1160px)/2));font-size:1rem}
@media(max-width:800px){.site-header{display:block}.site-logo{display:block;margin-bottom:.6rem}.site-header nav>.menu{gap:.15rem .75rem}.site-header .sub-menu{position:static;box-shadow:none;border:0;background:#f8f8f8;min-width:0}.site-header .menu-item-has-children:focus-within>.sub-menu{display:block}.site-content{padding-top:2rem}}
