:root{color-scheme:light;--bg:#fff;--fg:#232323;--muted:#666;--accent:#7a2e2e;--card:#fff;--line:#e5e0d6}
*{box-sizing:border-box}body{margin:0;font:17px/1.6 Georgia,serif;background:var(--bg);color:var(--fg)}
a{color:var(--accent)}header{border-bottom:1px solid var(--line);padding:1rem}
.bar{max-width:60rem;margin:auto;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between}
.logo{font-size:1.4rem;font-weight:bold;text-decoration:none}nav a{margin-right:1rem;text-decoration:none}
main{max-width:60rem;margin:auto;padding:1rem}.hero{padding:3rem 0;text-align:center}.hero h1{font-size:2.2rem;margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1rem}
.video{aspect-ratio:16/9;width:100%;border:0;border-radius:8px}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.5rem}
.photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;cursor:zoom-in}
dialog{max-width:95vw;border:0;background:#000;padding:0}dialog img{max-width:95vw;max-height:85vh;display:block}
dialog p{color:#fff;margin:.5rem;text-align:center}
footer{text-align:center;color:var(--muted);padding:2rem 1rem;border-top:1px solid var(--line)}
.todo{background:#fff3b0;color:#000;padding:0 .25rem}
body{font-family:"Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif}
small{font-size:.65em;color:var(--muted);font-weight:normal;margin-left:.3em}nav a small{display:block;margin:0;text-align:center;font-size:.7rem}
nav a{display:inline-block;margin:0 .6rem 0 0}nav a[aria-current]{border-bottom:2px solid var(--accent)}
.en{color:var(--muted);font-size:.92em}.big{font-size:1.6rem;font-weight:bold}.logo img{display:block;max-width:100%;height:auto}
.tl{display:grid;grid-template-columns:8rem 1fr;gap:.4rem 1rem}.tl dt{font-weight:bold}.tl dd{margin:0}
@media(max-width:600px){.tl{grid-template-columns:1fr}.tl dd{margin-bottom:.6rem}}
.sched{width:100%;border-collapse:collapse}.sched th,.sched td{padding:1rem;border-bottom:1px solid var(--line);text-align:left}.sched td{font-size:1.4rem;text-align:right}
blockquote{border-left:3px solid var(--accent);margin:1.5rem 0;padding-left:1rem}.map{width:100%;height:24rem;border:0;border-radius:8px;margin-top:1rem}
.albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem}.album{display:block;text-decoration:none;color:inherit;padding:.5rem}
.album img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}.album b{display:block;margin-top:.5rem}[hidden]{display:none!important}
button{font:inherit;padding:.5rem 1rem;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg);cursor:pointer}
.lbnav{display:flex;justify-content:space-between;padding:.5rem}dialog img{margin:auto}
dialog a{color:#fff}
.center{text-align:center;margin:1.5rem 0}
.block{margin:2.5rem 0}.block h2{margin-bottom:.8rem}.more{text-align:right;margin:.5rem 0}.btn{display:inline-block;margin-left:.5rem;padding:.4rem 1rem;border:1px solid var(--accent);border-radius:6px;text-decoration:none;font-size:1rem}.hero .big{margin-top:1.2rem}
.lead{font-size:1.3rem;margin:.5rem 0}.welcome{max-width:44rem;margin:1rem auto 0}.welcome p{margin:1rem 0}.hero h1{font-size:2rem}
body{word-break:keep-all;overflow-wrap:break-word}
/* menu: centered items, larger grey English labels */
nav{display:flex;flex-wrap:wrap;gap:.5rem 1rem}
nav a{display:inline-flex;flex-direction:column;align-items:center;text-align:center;margin:0;line-height:1.35}
nav a small{font-size:.9rem;margin:0;text-align:center}
@media(max-width:700px){.bar{justify-content:center;text-align:center}nav{justify-content:center}.logo{display:block}.logo img{margin:0 auto}}
/* services: larger left column */
.sched th{font-size:1.5rem;line-height:1.3;font-weight:700}.sched th small{display:block;font-size:1.05rem;margin:.3rem 0 0}
/* phone: compact recent albums on the home page */
@media(max-width:600px){#recent{grid-template-columns:1fr;gap:.6rem}
#recent .album{display:grid;grid-template-columns:96px 1fr;grid-template-rows:auto auto;column-gap:.8rem;align-items:center;padding:.5rem}
#recent .album img{grid-row:1 / span 2;width:96px;height:72px}
#recent .album b{margin:0;align-self:end;font-size:1rem}#recent .album small{margin:0;align-self:start}}
.sched td{white-space:nowrap}
@media(max-width:600px){.sched th,.sched td{padding:.9rem .4rem}.sched th{font-size:1.35rem}.sched th small{font-size:1rem}.sched td{font-size:1.2rem}}
/* consistent page-title size; larger service names */
.hero h1{font-size:2.125rem}
.sched th{font-size:1.9rem}.sched th small{font-size:1.15rem}
@media(max-width:600px){.sched th{font-size:1.6rem}.sched th small{font-size:1.05rem}.sched td{font-size:1.2rem}}
.sched th,.sched td{vertical-align:middle}
.vids{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem}.vtitle{margin:.5rem 0 0;font-weight:700}.vtitle small{font-weight:400}
/* services: names, English labels and times all the same size */
.sched th,.sched td,.sched th small{font-size:1.5rem}
.sched th small{display:block;margin:.2rem 0 0;font-weight:400}.sched td{font-weight:400}
@media(max-width:600px){.sched,.sched tbody,.sched tr,.sched th,.sched td{display:block;width:100%}
.sched tr{padding:.9rem 0;border-bottom:1px solid var(--line)}
.sched th,.sched td{border:0;padding:.1rem 0;text-align:left;font-size:1.3rem}.sched th small{font-size:1.3rem}.sched td{white-space:normal}}
.en{font-size:1em}
.welcome{max-width:none;margin:1rem 0 0}
