/* Navigation + footer (verbatim from core/navigation.css, header.css, core/footer.css) */
.site-header{position:sticky;top:0;z-index:1000}
.utility-bar{background:var(--sage-dark);font-size:var(--text-base);position:relative;width:100%;top:0;height:auto;z-index:1200;border-bottom:1px solid rgb(255 255 255 / 10%);padding:16px 0;display:block}
.utility-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);display:flex}
.utility-left{display:flex;align-items:center}
.utility-right{margin-left:auto;display:flex;align-items:center;gap:1.5rem}
.utility-link{color:var(--warm-white);text-decoration:none;transition:color 0.3s;opacity:0.9;font-family:var(--font-sans);font-size:16px;line-height:22.4px;padding:0 0 4px;display:flex;align-items:center}
.utility-link i{margin-right:6px;font-size:0.9rem;opacity:0.8}
.utility-link:hover{color:var(--parchment-light);opacity:1}
.utility-cta{padding:6px 35px 5px 15px;font-size:16px;font-weight:500;height:28px;line-height:14px;background:transparent;color:white;border:2px solid white;border-radius:4px;transition:all 0.2s;text-decoration:none;display:inline-block;font-family:var(--font-gentium);position:relative}
.utility-cta::after{content:'\2192';position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:18px;transition:transform 0.2s}
.utility-cta:hover{background:white;color:var(--dark-green);border-color:white}
.utility-cta:hover::after{transform:translateY(-50%) translateX(3px);color:var(--dark-green)}
.main-nav{background:rgb(247 244 236);position:relative;width:100%;top:0;min-height:64px;z-index:1000;border-bottom:2px solid var(--sage-dark);padding:clamp(8px,1.5vh,12px) 0;overflow:visible;display:flex;align-items:flex-end}
.nav-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:visible;width:100%}
.logo{font-size:2.5rem;font-weight:400;color:var(--sage-green);font-family:var(--font-palatino);text-decoration:none;transition:color 0.2s ease;line-height:1;display:inline-block;align-self:center}
.logo:hover{color:var(--dark-green)}
.nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0;align-items:center}
.nav-links a{color:#5a6b5a;text-decoration:none;transition:all 0.2s;font-size:18px;font-family:var(--font-gentium);font-weight:600;line-height:var(--lh-tight);position:relative;opacity:1;padding:clamp(8px,1.5vh,16px) 0;display:block}
.nav-links a:hover{color:var(--dark-green);opacity:1}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:100%;height:2px;background:var(--dark-green);transform:scaleX(0);transform-origin:left;transition:transform 300ms cubic-bezier(0.22,0.61,0.36,1)}
.nav-links a:hover::after{transform:scaleX(1)}
.hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:8px;z-index:1001}
.hamburger span{display:block;width:25px;height:3px;background:var(--sage-green);transition:all 0.3s ease;border-radius:2px}
/* Page hero (header.css) */
.page-hero{padding:48px 16px 40px;text-align:center}
.page-hero h1{margin:0.25em 0 0.15em;font-weight:400;font-size:clamp(2rem,2.2vw + 1.2rem,3rem)}
.page-hero .lead,.page-hero .tagline{margin-top:8px;font-size:1.125rem;line-height:1.6;opacity:.95}
body[data-domain] main>.page-hero{border-top:3px solid var(--accent)}
@media (width >= 900px){.page-hero{padding:60px 16px 48px}}
/* Footer */
.site-footer{background:var(--sage-dark);color:var(--warm-white);padding:3rem 0 1.5rem;margin-top:4rem}
.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}
.footer-section h4{font-family:var(--font-display);font-size:1.2rem;margin-bottom:1rem;color:var(--accent-gold)}
.footer-section a{color:var(--warm-white);text-decoration:none;opacity:0.9;display:block;padding:0.25rem 0}
.footer-section a:hover{opacity:1;color:var(--accent-gold)}
.footer-section a i{margin-right:8px;width:16px;text-align:center;opacity:0.7;transition:opacity 0.3s}
.footer-bottom{border-top:1px solid rgb(255 255 255 / 10%);padding-top:1.5rem;text-align:center;opacity:0.8;font-size:0.9rem}
