/* 자동 생성: src/styles.css 의 머리글·메뉴 규칙 (build.py nav_css). 직접 고치지 마세요. */
.top{font-family:"Pretendard","Noto Sans KR",system-ui,sans-serif;font-size:16px;line-height:1.8;color:#343a34;word-break:keep-all}
.top a{color:inherit;text-decoration:none}
.top .wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.top img{display:block;max-width:100%}
@media(max-width:760px){.top{font-size:15px;line-height:1.7}.top .wrap{padding:0 16px}}
.top{position:sticky;top:0;z-index:20;background:rgba(244,240,232,.94);backdrop-filter:blur(8px);border-bottom:1px solid #ddd7cc}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo img{height:56px;width:auto}
.nav{display:flex;gap:28px;font-size:15px}
.nav a{text-decoration:none;color:#73766f}
.nav a:hover,.nav a.on{color:#385543}
.nav a.on{font-weight:500}
.menu-btn{display:none;background:none;border:0;font:inherit;color:#404b41;font-size:15px;padding:8px 0;cursor:pointer}
@media(max-width:760px){.menu-btn{display:block}
.nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fffdf8;flex-direction:column;gap:0;border-bottom:1px solid #ddd7cc;box-shadow:0 16px 38px rgba(52,58,52,.08)}
.nav.open{display:flex}
.nav a{padding:14px 16px;border-top:1px solid #ddd7cc}}
.top .logo img{height:58px}
.menu-btn{width:44px;height:44px;display:none;flex-direction:column;justify-content:center;gap:5px;padding:0 10px}
.menu-btn span{display:block;height:2px;background:#404b41;border-radius:2px}
@media(max-width:760px){.menu-btn{display:flex}}
.nav{gap:22px}
body.ov .top{position:fixed;left:0;right:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;transition:background .25s,border-color .25s}
body.ov .top .logo img{content:url(../img/logo_white.png)}
body.ov .menu-btn span{background:#faf7f0}
body.ov.scrolled .top{background:rgba(244,240,232,.96);border-bottom-color:#ddd7cc;backdrop-filter:blur(8px)}
body.ov.scrolled .top .logo img{content:url(../img/logo.png)}
body.ov.scrolled .menu-btn span{background:#404b41}
.top .wrap{height:56px}
.top .logo img{height:42px}
@media(max-width:760px){.nav{top:56px}}
.menu-btn{width:40px;height:40px}
@media(min-width:761px){body.ov:not(.scrolled) .nav a{color:rgba(255,255,255,.9)}
body.ov:not(.scrolled) .nav a.on{color:#fff}}
body.ov .top{position:fixed;left:0;right:0;background:transparent;border-bottom-color:transparent;backdrop-filter:none;transition:background .25s}
body.ov .top .logo img{content:url(../img/logo_white.png)}
body.ov .menu-btn{color:#faf7f0;border-color:rgba(250,247,240,.7)}
body.ov.scrolled .top,body.menu-open .top{background:rgba(244,240,232,.97);border-bottom-color:#ddd7cc}
body.ov.scrolled .top .logo img,body.menu-open .top .logo img{content:url(../img/logo.png)}
body.ov.scrolled .menu-btn,body.menu-open .menu-btn{color:#404b41;border-color:#ddd7cc}
.nav .d{display:none}
@media(max-width:760px){.menu-btn{display:block!important;width:auto!important;height:auto!important;padding:7px 14px!important;border:1px solid #ddd7cc!important;border-radius:999px;font:inherit;font-size:13.5px;font-weight:500;color:#404b41;background:none}
.nav.open{position:fixed;top:56px;left:0;right:0;bottom:0;overflow:auto;background:#f4f0e8;box-shadow:none;padding:4px 0 100px;display:flex;flex-direction:column}
.nav a{padding:17px 20px!important;border-top:0!important;border-bottom:1px solid #ddd7cc;display:flex;flex-direction:column;gap:2px}
.nav a .t{font-size:18px;color:#404b41;font-family:"Noto Serif KR",serif;font-weight:600}
.nav .d{display:block;font-size:13px;color:#73766f}
.nav a.on .t{color:#385543}
.nav a[href="index.html"] .t{font-size:15px;font-family:inherit;font-weight:500}
.nav a[href="contact.html"]{margin-top:22px;border-top:1px solid #ddd7cc!important}
body.menu-open{overflow:hidden}}
@media(max-width:760px){body.menu-open .top{backdrop-filter:none;-webkit-backdrop-filter:none;background:#f4f0e8}
body.menu-open .bar1{display:none}}
@media(max-width:760px){.menu-btn{background:#faf7f0!important;color:#404b41!important;border:0!important;padding:8px 16px!important;font-weight:600!important;box-shadow:0 1px 6px rgba(0,0,0,.12)}
body.ov.scrolled .menu-btn,body.menu-open .menu-btn,.top .menu-btn{background:#404b41!important;color:#fff!important;box-shadow:none}
body.ov:not(.scrolled):not(.menu-open) .menu-btn{background:#faf7f0!important;color:#404b41!important}
.nav.open{padding:18px 0 100px}
.nav a{border:0!important;padding:13px 22px!important}
.nav a[href="index.html"]{display:none!important}
.nav a .t{font-size:17.5px}
.nav .d{font-size:12.5px;line-height:1.55}
.nav a[href="contact.html"]{margin:14px 22px 0;padding:22px 0 13px!important;border-top:1px solid #ddd7cc!important}
.nav a[href="lecture.html"]{padding-left:22px!important}}
@media(max-width:760px){.menu-btn,.top .menu-btn,body.ov.scrolled .menu-btn,body.menu-open .menu-btn{background:none!important;border:0!important;box-shadow:none!important;padding:10px 2px!important;font-size:14.5px!important;font-weight:500!important;letter-spacing:.04em;color:#404b41!important;border-bottom:1px solid currentColor!important;border-radius:0!important;line-height:1.1}
body.ov:not(.scrolled):not(.menu-open) .menu-btn{background:none!important;color:#faf7f0!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}}
@media(max-width:760px){body.menu-open .totop{display:none}}
@media (min-width:761px) and (max-width:900px){.top .nav{gap: 11px; font-size: 13px;}
.top .nav a{white-space: nowrap;}
.top .logo img{height: 40px;}}
.top .nav{align-items:center; gap:clamp(15px,1.7vw,24px); white-space:nowrap;}
.top .nav a.nav-consult{display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #49654b; border-radius:999px; background:#49654b;
  color:#fff; padding:9px 19px; font-weight:600; line-height:1.2;
  transition: background .2s ease, color .2s ease;}
.top .nav a.nav-consult:hover{background:#314f39; color:#fff;}
body.ov:not(.scrolled):not(.menu-open) .top .nav a.nav-consult{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.8); color:#fff;}
body.ov:not(.scrolled):not(.menu-open) .top .nav a.nav-consult:hover{background:rgba(255,255,255,.22)}
@media(max-width:1040px){.top .menu-btn{display:block!important; width:auto!important; height:auto!important;
   padding:10px 2px!important; background:none!important; box-shadow:none!important;
   border:0!important; border-bottom:1px solid currentColor!important;
   border-radius:0!important; font-size:14.5px!important; font-weight:500!important;
   letter-spacing:.04em; line-height:1.1; color:#404b41!important;}
body.ov:not(.scrolled):not(.menu-open) .top .menu-btn{color:#faf7f0!important; text-shadow:0 1px 8px rgba(0,0,0,.35)}
body.menu-open .top .menu-btn{color:#404b41!important; text-shadow:none}
.top .nav{display:none; position:fixed; top:56px;left:0;right:0;bottom:0;
   overflow-y:auto; overscroll-behavior:contain; background:#f4f0e8;
   box-shadow:none; flex-direction:column; gap:0; align-items:stretch;
   padding:18px 0 calc(100px + env(safe-area-inset-bottom)); white-space:normal;
   border-bottom:0;}
.top .nav.open{display:flex;}
.top .nav a{display:flex;flex-direction:column;gap:2px; padding:13px 22px!important; border:0!important; color:#404b41!important;}
.top .nav a .t{font-size:17.5px; font-family:"Noto Serif KR",serif; font-weight:600; color:#404b41;}
.top .nav a.on .t{color:#385543;}
.top .nav a .d{display:block; font-size:12.5px; color:#73766f; line-height:1.55;}
.top .nav a.nav-consult{align-items:flex-start; border:0!important; border-top:1px solid #ddd7cc!important;
   border-radius:0; margin:16px 22px 0; padding:18px 0 12px!important;
   background:transparent!important; color:#404b41!important; font-weight:inherit;}
.top .nav a.nav-consult .t{color:#385543!important;}
body.ov:not(.scrolled):not(.menu-open) .top .nav a.nav-consult{color:#404b41!important;border-color:#ddd7cc!important;background:transparent!important;}
body.menu-open{overflow:hidden;}
body.menu-open .top{background:#f4f0e8;backdrop-filter:none;-webkit-backdrop-filter:none;}}
@media(min-width:1041px){body.home-arch-v21 .top .wrap{max-width:1460px;padding-left:clamp(32px,5.5vw,84px);padding-right:clamp(32px,5.5vw,84px)}}
@media(max-width:1040px){body.ov.scrolled.menu-open .top,body.menu-open .top{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(max-width:760px){body:not(.menu-open) .menu-btn{font-weight:500!important;font-size:14px!important}
.menu-btn .nuru-menu-glyph{display:inline-block;font-family:Arial,sans-serif;line-height:1;vertical-align:middle;margin-left:6px;font-weight:400}}
.nav .nav-has-sub{position:relative;display:flex;align-items:center}
.nav .nav-sub{display:none}
@media(min-width:1041px){.nav .nav-sub{position:absolute;top:100%;left:-16px;padding-top:12px;z-index:60}
.nav .nav-sub::before{content:"";display:block;position:absolute;top:12px;left:0;right:0;bottom:0;background:#fffdf8;border:1px solid #ddd7cc;border-radius:14px;box-shadow:0 16px 38px rgba(52,58,52,.08);z-index:-1}
.nav .nav-has-sub:hover .nav-sub,.nav .nav-has-sub:focus-within .nav-sub{display:block}
.nav .nav-sub a.nav-sub-a{display:block;padding:10px 18px!important;font-size:14px;color:#343a34!important;white-space:nowrap;border:0!important;background:none}
.nav .nav-sub a.nav-sub-a:first-child{margin-top:8px}
.nav .nav-sub a.nav-sub-a:last-child{margin-bottom:8px}
.nav .nav-sub a.nav-sub-a:hover{color:#404b41!important;background:#f4f0e8}}
@media(max-width:1040px){.nav .nav-has-sub{display:block}
.nav .nav-sub{display:block;padding:0 0 8px}
.nav .nav-sub a.nav-sub-a{display:block!important;padding:7px 22px 7px 36px!important;font-size:14.5px;color:#5d635a!important;border:0!important}
.nav .nav-sub a.nav-sub-a::before{content:"– ";color:#b6c09e}}
body:not(.ov) .top{border-bottom-color:transparent}
body:has(.nuru-areas) .top{background:rgba(249,247,241,.97)}
body:has(.nr-hero) .top{background:rgba(247,244,237,.97)}
@media(max-width:1040px){.nav .nav-has-sub .nav-sub{display:none}
.nav .nav-has-sub.open .nav-sub{display:block}
.nav .nav-has-sub>a .t::after{content:"";display:inline-block;width:7px;height:7px;margin-left:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s;opacity:.6}
.nav .nav-has-sub.open>a .t::after{transform:translateY(1px) rotate(-135deg)}}
@media(min-width:1041px){.nav .nav-has-sub.open .nav-sub{display:block}}
