.site-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line)}
.nav{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{position:relative;display:block;width:220px;height:72px;overflow:hidden;text-decoration:none;flex:0 0 auto}
.brand-logo{position:absolute;left:-6px;top:-22px;width:231px;height:auto;max-width:none}
.desktop-navigation{margin-left:auto}
.nav-links,.mobile-nav-links,.footer-menu{list-style:none}
.nav-links{display:flex;align-items:center;gap:25px}
.nav-links a{position:relative;color:var(--forest-900);font-size:.86rem;font-weight:700;text-decoration:none}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--orange-500);transition:right .2s ease}
.nav-links a:hover::after,.nav-links .current-menu-item>a::after{right:0}
.nav-actions{display:flex;align-items:center;gap:12px}
.menu-button{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ivory);color:var(--forest-900)}
.menu-button svg{width:24px;height:24px}
.mobile-menu{display:none}

.site-footer{padding:76px 0 30px;background:var(--forest-950);color:var(--white)}
.footer-grid{display:grid;grid-template-columns:1.55fr .75fr .8fr 1.1fr;gap:54px;padding-bottom:52px}
.footer-logo-wrap{position:relative;display:block;width:242px;height:104px;overflow:hidden;background:var(--paper);border-radius:12px}
.footer-logo{position:absolute;left:-4px;top:-30px;width:252px;max-width:none}
.footer-brand p{max-width:44ch;margin-top:22px;color:#bfd0c6;font-size:.88rem}
.footer-col h2{font-family:var(--font-display);font-size:1.15rem;color:var(--paper)}
.footer-menu{display:grid;gap:10px;margin-top:19px}
.footer-menu a,.footer-menu span{color:#c8d8cf;font-size:.84rem;text-decoration:none;overflow-wrap:anywhere}
.footer-menu a:hover{color:#ffb77f;text-decoration:underline}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;padding-top:26px;border-top:1px solid rgba(255,255,255,.18);color:#a9bdb1;font-size:.76rem}
.footer-bottom>a{color:var(--white)}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}
.footer-legal a{color:#d7e4dc}

.page-hero{padding:92px 0;background:var(--forest-900);color:var(--white)}
.page-hero h1{max-width:18ch;font-family:var(--font-display);font-size:var(--type-section);line-height:1.06;letter-spacing:-.02em;color:var(--paper)}
.page-hero p{max-width:65ch;margin-top:20px;color:#d5e3db;font-size:1.1rem}
.content-shell{padding:84px 0 112px}
.content-shell--narrow{width:min(760px,calc(100% - 40px));margin-inline:auto}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pagination{margin-top:50px}
.pagination .nav-links{gap:8px}
.pagination .page-numbers{display:grid;min-width:44px;height:44px;place-items:center;padding:0 10px;border:1px solid var(--line);border-radius:10px;text-decoration:none}
.pagination .current{background:var(--forest-900);color:var(--white)}

@media (max-width:1080px){
  .desktop-navigation,.nav-actions .nav-quote{display:none}
  .menu-button{display:inline-flex}
  .mobile-menu{display:block;position:fixed;z-index:99;inset:var(--header) 0 auto;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 16px 35px rgba(4,39,28,.12);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}
  .mobile-menu.is-open{opacity:1;visibility:visible;transform:none}
  .mobile-menu .container{padding-block:22px 26px}
  .mobile-nav-links,.mobile-menu .nav-links{display:grid;gap:0;margin-bottom:18px}
  .mobile-nav-links a,.mobile-menu .nav-links a{display:block;padding:13px 2px;border-bottom:1px solid var(--line);color:var(--forest-900);font-weight:700;text-decoration:none}
  .mobile-menu .button{width:100%}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:44px}
  .footer-brand{grid-column:1/-1}
}

@media (max-width:760px){
  .brand{width:184px;height:64px}
  .brand-logo{left:-5px;top:-17px;width:194px}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .footer-brand{grid-column:auto}
  .footer-bottom{align-items:flex-start;flex-direction:column}
  .footer-legal{justify-content:flex-start}
  .archive-grid{grid-template-columns:1fr}
  .content-shell--narrow{width:min(100% - 28px,760px)}
}
