@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--paper:#f6f1e8;--paper2:#eee4d4;--ink:#272421;--muted:#716b63;--wine:#6f2338;--line:#d8ccbc;--white:#fffdf8;--gold:#a47d48;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans KR',sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - var(--max))/2));background:rgba(246,241,232,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.brand span,.eyebrow{display:block;color:var(--wine);font-size:.7rem;font-weight:700;letter-spacing:.18em}.brand strong{font-family:'Playfair Display','Noto Sans KR',serif;font-size:1.28rem}.site-header nav{display:flex;gap:28px;font-size:.92rem}.site-header nav a[aria-current=page]{color:var(--wine);font-weight:700}.menu{display:none;background:none;border:0;font-size:1.6rem}.wrap{max-width:var(--max);margin:auto;padding:0 24px}.hero{min-height:650px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center;padding-top:80px;padding-bottom:80px}.hero h1,.page-hero h1{font-family:'Playfair Display','Noto Sans KR',serif;font-size:clamp(2.8rem,6vw,5.6rem);line-height:1.13;margin:18px 0}.hero h1 em{color:var(--wine);font-weight:600}.lead{font-size:1.08rem;color:var(--muted);max-width:660px}.note{padding:54px 42px;background:var(--wine);color:#fff;border-radius:2px;transform:rotate(1.5deg)}.note p{font-family:'Playfair Display','Noto Sans KR',serif;font-size:1.8rem;line-height:1.5}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid var(--wine);font-weight:600}.button.primary{background:var(--wine);color:#fff}.button.ghost{color:var(--wine)}.section{padding:100px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}.section h2,.page-hero h1{margin:10px 0;font-family:'Playfair Display','Noto Sans KR',serif}.section h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.25}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{padding:30px;background:rgba(255,253,248,.55);border:1px solid var(--line)}.card h3{font-size:1.25rem;margin:10px 0}.card p,.muted{color:var(--muted)}.number{color:var(--wine);font-family:'Playfair Display',serif}.dark{background:#2c2926;color:#fff}.dark .muted{color:#cfc5ba}.page-hero{padding:100px 0 70px}.page-hero h1{font-size:clamp(2.7rem,5vw,4.8rem)}.tabs,.chips{display:flex;gap:10px;flex-wrap:wrap}.tab,.chip{padding:10px 17px;border:1px solid var(--line);background:transparent;cursor:pointer}.tab.active,.chip.active{background:var(--wine);border-color:var(--wine);color:#fff}.finder{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:28px 0}.finder label{font-size:.82rem;color:var(--muted)}.finder select,.finder input{width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);background:var(--white)}.results-meta{display:flex;justify-content:space-between;margin:26px 0}.school-card{display:flex;flex-direction:column;min-height:210px}.school-card small{color:var(--wine)}.school-card .button{margin-top:auto;align-self:flex-start}.empty{grid-column:1/-1;padding:50px;border:1px dashed var(--line);text-align:center}.teacher-grid{grid-template-columns:repeat(2,1fr)}.teacher{display:grid;grid-template-columns:120px 1fr;gap:25px}.portrait{width:120px;height:150px;background-image:url('/images/teachers/teacher-portraits-sprite-v2.png');background-size:400% auto;background-position:0 0;background-color:var(--paper2)}.teacher:nth-child(2) .portrait{background-position:33.33% 0}.teacher:nth-child(3) .portrait{background-position:66.66% 0}.teacher:nth-child(4) .portrait{background-position:100% 0}.teacher dl{margin:15px 0}.teacher dt{font-size:.75rem;color:var(--wine);font-weight:700}.teacher dd{margin:0 0 8px}.guide-list{display:grid;gap:0}.guide{display:grid;grid-template-columns:100px 1fr auto;gap:25px;align-items:center;padding:26px 0;border-top:1px solid var(--line)}.contact-box{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-box a{padding:32px;border:1px solid var(--line);background:var(--white)}footer{padding:55px max(24px,calc((100vw - var(--max))/2));background:#211f1d;color:#eee5d9;display:grid;grid-template-columns:1fr auto;gap:25px}footer nav{display:flex;gap:18px;flex-wrap:wrap}footer small{grid-column:1/-1;color:#aaa}.school-detail{max-width:850px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:30px 0}.facts div{background:var(--white);padding:20px}.facts small{display:block;color:var(--wine)}@media(max-width:900px){.site-header{padding:16px 20px}.menu{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 20px}.site-header nav.open{display:flex}.site-header nav a{padding:12px 0}.hero{grid-template-columns:1fr;min-height:auto}.note{transform:none}.grid,.teacher-grid{grid-template-columns:1fr 1fr}.finder{grid-template-columns:1fr}.section{padding:70px 0}}@media(max-width:620px){.hero{padding-top:55px}.grid,.teacher-grid,.contact-box{grid-template-columns:1fr}.teacher{grid-template-columns:90px 1fr}.portrait{width:90px;height:120px}.section-head{display:block}.guide{grid-template-columns:60px 1fr}.guide .button{grid-column:2}.facts{grid-template-columns:1fr}footer{grid-template-columns:1fr}.page-hero{padding:70px 0 50px}}
