:root{--ink:#111;--muted:#555;--line:#e6e6e6;--max:1180px;--narrow:720px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);background:#fff;font:300 17px/1.75 "Poppins",system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-underline-offset:3px;text-decoration-thickness:1px}
h1,h2,h3,.h2{font-family:"Jost","Futura PT",Futura,"Century Gothic",sans-serif;font-weight:500;line-height:1.2;margin:0 0 .7em;letter-spacing:.005em}
.h2,h1.h2{font-size:clamp(30px,3.6vw,40px)}
h2{font-size:clamp(26px,3vw,34px);margin-top:1.6em}
h3{font-size:22px}
p{margin:0 0 1.1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.narrow{max-width:calc(var(--narrow) + 48px)}
.center{text-align:center}
.section{padding:72px 24px}
.section-tall{min-height:50vh}
/* header */
.site-header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid transparent}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:24px}
.brand img{width:230px}
.site-nav{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:400}
.site-nav a{text-decoration:none;padding:4px 0}
.site-nav a[aria-current="page"]{border-bottom:1px solid var(--ink)}
.site-nav a:hover{opacity:.7}
.site-nav .ig{display:flex}
.site-nav .btn{background:#000;color:#fff;padding:18px 30px;margin-left:8px}
.site-nav .btn:hover{opacity:.85}
.nav-toggle,.nav-burger{display:none}
/* heroes */
.hero img{width:100%;object-fit:cover}
.hero-full img{height:min(62vh,640px)}
.hero-title{position:relative}
.hero-title .hero-caption{position:absolute;inset:0;display:flex;align-items:center;padding-left:max(24px,calc((100vw - var(--max))/2 + 140px))}
.hero-title h1{color:#fff;font-size:clamp(28px,3.4vw,40px);margin:0;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.banner img{width:100%;aspect-ratio:2000/600;object-fit:cover}
/* columns */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:860px}
.two-col h2{margin-top:0}
.press{padding-left:1.2em;margin:0}
.press li{margin-bottom:.6em}
.team{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:780px;padding-top:0}
.person img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:28px}
.person h3{margin-bottom:.6em}
blockquote{margin:2.2em auto;font-style:italic;color:var(--muted);max-width:620px}
blockquote cite{display:block;margin-top:.8em;font-style:normal}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:0}
.gallery img{aspect-ratio:3/2;object-fit:cover;width:100%}
address{font-style:normal}
.contact-address{margin:2em 0}
/* footer */
.site-footer{border-top:1px solid var(--line);padding:48px 0 32px;font-size:15px}
.footer-inner{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.footer-nav{display:flex;gap:28px;flex-wrap:wrap}
.footer-nav a{text-decoration:none}
.footer-nav a:hover{text-decoration:underline}
.copyright{color:var(--muted);font-size:13px;margin-top:28px}
@media (max-width:860px){
  .header-inner{min-height:76px}
  .brand img{width:180px}
  .nav-burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
  .nav-burger span{width:24px;height:2px;background:var(--ink)}
  .site-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 24px 24px;gap:14px;border-bottom:1px solid var(--line)}
  .nav-toggle:checked ~ .site-nav{display:flex}
  .site-nav .btn{margin-left:0}
  .two-col,.team{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .hero-full img{height:46vh}
  .section{padding:52px 24px}
}
