/* Shared navigation uses normal links and disclosure controls, not application menus. */
.site-header--navigation .header-inner{max-width:1440px;min-height:94px;gap:24px;margin-inline:auto;padding-inline:32px}
.site-header--navigation .brand{width:200px}
.site-header--navigation .primary-nav{gap:21px;font-size:12px}
.site-header--navigation .primary-nav a,.site-header--navigation summary{-webkit-tap-highlight-color:transparent}
.site-header--navigation .primary-nav :is(a,summary,button):focus-visible,.site-footer--navigation a:focus-visible{outline:2px solid var(--red);outline-offset:5px;border-radius:2px}
.site-header--navigation .nav-direct,.site-header--navigation summary{min-height:44px;display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;font-weight:500;white-space:nowrap}
.site-header--navigation summary::-webkit-details-marker{display:none}
.site-header--navigation summary svg{fill:none;stroke:currentColor;stroke-width:1.5;transition:transform .15s}
.site-header--navigation details[open]>summary svg{transform:rotate(180deg)}
.site-header--navigation details[open]>summary,.site-header--navigation [data-section-active=true]>summary,.site-header--navigation .nav-direct[aria-current=page]{color:var(--red)}
.site-header--navigation .nav-panel{position:absolute;inset:100% 0 auto;background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 24px 30px #29221e12;max-height:calc(100dvh - var(--navigation-top,130px));overflow:auto;overscroll-behavior:contain}
.site-header--navigation .nav-panel-inner{max-width:1256px;margin:auto;padding:24px 40px 34px}
.site-header--navigation .nav-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:23px;font-family:var(--serif);font-size:26px}
.site-header--navigation .primary-nav .nav-overview{display:flex;align-items:center;gap:20px;font-family:var(--sans);font-size:13px;color:var(--red);white-space:normal}
.site-header--navigation .nav-columns{display:grid;gap:40px;grid-template-columns:repeat(3,minmax(0,1fr))}
.site-header--navigation .nav-columns--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.site-header--navigation .nav-columns--1{grid-template-columns:1fr;max-width:580px}
.site-header--navigation .nav-column p{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.site-header--navigation .nav-column ul{list-style:none;margin:0;padding:0}
.site-header--navigation .primary-nav .nav-column a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;font-size:15px;line-height:1.45;white-space:normal;border-bottom:1px solid #e9e5df}
.site-header--navigation .nav-column a span{color:var(--red);font-size:14px;flex-shrink:0}
.site-header--navigation .nav-column a:hover,.site-header--navigation .nav-direct:hover{color:var(--red)}
.site-header--navigation .header-search{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:44px}
.site-header--navigation .header-search svg{fill:none;stroke:currentColor;stroke-width:1.5}
.site-header--navigation .header-search>span{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.site-header--navigation .header-contact{gap:16px;padding:12px 15px}
.site-footer--navigation{padding:52px max(32px,calc((100vw - 1256px)/2)) 24px}
.footer-brand-row{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-bottom:34px;border-bottom:1px solid var(--line)}
.footer-brand-row p{font-size:12px;margin:8px 0 0;color:var(--muted)}
.site-footer--navigation .footer-contact{display:flex;align-items:center;gap:40px;border:1px solid var(--ink);padding:14px 20px;color:var(--ink);text-decoration:none}
.site-footer--navigation .footer-contact:hover{background:var(--cream)}
.footer-navigation{display:grid;grid-template-columns:1fr 1fr 1.3fr 1.1fr 1fr;gap:30px;padding:32px 0}
.footer-group h2{font:500 13px/1.5 var(--sans);color:var(--ink);margin:0 0 17px}
.footer-group>p{font-size:12px;line-height:1.65;color:var(--muted);margin:0 0 12px;max-width:180px}
.footer-group ul{list-style:none;margin:0;padding:0}
.footer-group li+li{margin-top:12px}
.footer-group a,.footer-connect a{font-size:12px;line-height:1.65;text-decoration:none;color:var(--ink)}
.site-footer--navigation a:hover{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.footer-connect{border-top:1px solid var(--line);padding-top:25px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.footer-social{margin-left:auto;display:flex;gap:20px;flex-wrap:wrap}
.site-footer--navigation .footer-bottom{margin-top:26px}
@media(min-width:1181px){.site-header--navigation .nav-toggle{display:none}}
@media(max-width:1180px){
 .site-header--navigation .header-inner{padding:0 24px;min-height:76px;margin:0;gap:20px}
 .site-header--navigation .brand{width:200px}
 .site-header--navigation .nav-toggle{display:flex;align-items:center;gap:15px;background:none;border:0;font-size:13px;padding:14px 0;min-height:44px}
 .site-header--navigation .primary-nav{display:none;position:absolute;inset:100% 0 auto;background:#fff;max-height:calc(100dvh - var(--navigation-top,112px));overflow:auto;overscroll-behavior:contain;padding:10px 24px 24px;box-shadow:0 20px 30px #0001;border-bottom:1px solid var(--line)}
 .site-header--navigation .primary-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header--navigation .primary-nav>.nav-direct,.site-header--navigation summary{justify-content:space-between;font-size:16px;padding:17px 0;border-bottom:1px solid var(--line);white-space:normal;line-height:1.5}
 .site-header--navigation .nav-panel{position:static;max-height:none;overflow:visible;box-shadow:none;border:0;background:#f8f6f1}
 .site-header--navigation .nav-panel-inner{padding:19px 20px 24px}
 .site-header--navigation .nav-panel-heading{font-family:var(--sans);font-size:15px;padding:0 0 14px;margin-bottom:20px}
 .site-header--navigation .nav-panel-heading>span{display:none}
 .site-header--navigation .nav-group:not(.nav-group--courses) .nav-panel-heading{display:none}
 .site-header--navigation .nav-columns,.site-header--navigation .nav-columns--2{gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .site-header--navigation .nav-columns--1{grid-template-columns:1fr}
 .site-header--navigation .primary-nav .nav-column a{padding:11px 0;font-size:14px}
 .site-header--navigation .primary-nav .header-search{justify-content:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}
 .site-header--navigation .header-search>span{position:static;clip-path:none;width:auto;height:auto;font-size:15px}
 .site-header--navigation .primary-nav .header-contact{justify-content:space-between;padding:14px 16px;margin-top:18px;font-size:15px;border:1px solid var(--ink)}
 .footer-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
}
@media(max-width:600px){
 .site-header--navigation .header-inner{padding-inline:20px}
 .site-header--navigation .brand{width:180px}
 .site-header--navigation .primary-nav{padding-inline:20px}
 .site-header--navigation .nav-columns,.site-header--navigation .nav-columns--2{grid-template-columns:1fr;gap:24px}
 .site-header--navigation .nav-group--courses .nav-column+ .nav-column>p{display:none}
 .site-header--navigation .nav-group--courses .nav-columns{gap:0}
 .site-header--navigation .primary-nav .nav-overview{font-size:14px;min-height:32px}
 .site-footer--navigation{padding:38px 20px 24px}
 .footer-brand-row{align-items:flex-start;flex-direction:column;gap:24px}
 .footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}
 .footer-group h2{font-size:14px}
 .footer-group a{display:inline-block;padding-block:5px;font-size:13px}
 .footer-group li+li{margin-top:3px}
 .footer-social{margin-left:0;width:100%;gap:18px}
 .footer-connect{gap:16px 24px}
 .footer-connect a{padding-block:7px}
}
@media(prefers-reduced-motion:reduce){.site-header--navigation summary svg{transition:none}}
