/* layout.css - header, nav, footer, grids, responsive */
.container { width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2rem); }
section { padding-block:var(--section-y); position:relative; }
.section-head { max-width:640px; margin-bottom:clamp(2rem,5vw,3.5rem); }
.section-head.center { margin-inline:auto; text-align:center; }
.section-head p { margin-top:.9rem; }

.site-header { position:sticky; top:0; z-index:100; backdrop-filter:blur(14px);
  background:var(--header-bg); border-bottom:1px solid transparent;
  transition:border-color var(--transition), background var(--transition); }
.site-header.scrolled { border-bottom-color:var(--border); }
.nav { display:flex; align-items:center; justify-content:space-between; height:var(--nav-h,72px); }
.nav__logo svg { height:34px; width:auto; }
.nav__links { display:flex; align-items:center; gap:clamp(1.2rem,2.5vw,2.2rem); }
.nav__links a:not(.btn) { color:var(--muted); font-weight:500; font-size:.95rem; position:relative; transition:color var(--transition); }
.nav__links a:not(.btn):hover, .nav__links a[aria-current="page"] { color:var(--text); }
.nav__links a[aria-current="page"]::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--accent); border-radius:2px; }
.nav__cta { margin-left:.4rem; }

.nav__toggle { display:none; width:44px; height:44px; position:relative; }
.nav__toggle span { position:absolute; left:11px; right:11px; height:2px; background:var(--text); border-radius:2px; transition:var(--transition); }
.nav__toggle span:nth-child(1){top:16px;} .nav__toggle span:nth-child(2){top:22px;} .nav__toggle span:nth-child(3){top:28px;}
.nav__toggle[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg);}
.nav__toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__toggle[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg);}

.site-footer { border-top:1px solid var(--border); background:var(--footer-bg); padding-block:3.5rem 2rem; margin-top:2rem; }
.footer__grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:2.5rem; }
.footer__brand svg { height:32px; margin-bottom:1rem; }
.footer__brand p { max-width:34ch; }
.footer__col h4 { font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:1rem; }
.footer__col a, .footer__col li { color:var(--text); display:block; padding:.25rem 0; font-size:.95rem; }
.footer__col a:hover { color:var(--accent); }
.footer__bottom { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--border); display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; color:var(--muted); font-size:.85rem; }

.grid { display:grid; gap:var(--gap); }
.grid--3 { grid-template-columns:repeat(3,1fr); }
.grid--4 { grid-template-columns:repeat(4,1fr); }
.grid--2 { grid-template-columns:repeat(2,1fr); }

@media (max-width:900px){ .grid--3,.grid--4{grid-template-columns:repeat(2,1fr);} .footer__grid{grid-template-columns:1fr 1fr;} .footer__brand{grid-column:1/-1;} }
@media (max-width:760px){
  .nav__toggle{display:block;}
  .nav__links{ position:fixed; inset:var(--nav-h,72px) 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    padding:1rem clamp(1.1rem,4vw,2rem) 2rem; background:var(--footer-bg); border-bottom:1px solid var(--border);
    transform:translateY(-120%); transition:transform var(--transition); }
  .nav__links.open{transform:translateY(0);}
  .nav__links a{ padding:.9rem 0; font-size:1.05rem; border-bottom:1px solid rgba(255,255,255,.12); }
  .nav__links a:not(.btn){ color:#cfe0f5; }
  .nav__links a:not(.btn):hover, .nav__links a[aria-current="page"]:not(.btn){ color:#fff; }
  .nav__links a[aria-current="page"]::after{display:none;}
  .nav__cta{margin:1rem 0 0; align-self:flex-start;}
}
@media (max-width:560px){ .grid--3,.grid--4,.grid--2{grid-template-columns:1fr;} .footer__grid{grid-template-columns:1fr;} }
