
@font-face {
  font-family: 'Polygl0tt';
  src: url('/fonts/Polygl0tt.ttf') format('truetype');
  font-display: swap;
}
:root { --bg:#fff; --ink:#0a0a0a; --muted:#666; --line:#e5e7eb; }
*{ box-sizing:border-box }
html,body{ margin:0; padding:0 }
body{
  font-family: Polygl0tt, -apple-system, system-ui, Segoe UI, Roboto, Inter, Helvetica, Arial, sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.4;
}
img{ max-width:100%; height:auto; display:block }
a{ color:inherit; text-decoration:none }
.small{ font-size:12px } .muted{ color:var(--muted) }
.container{ width:min(1160px,92%); margin:0 auto }
.section{ padding:clamp(48px,8vw,96px) 0; border-top:1px solid var(--line) }
.section:first-of-type{ border-top:none }
.section__head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:20px }
h1{ font-size:clamp(36px,6vw,64px); line-height:1.05; margin:0 0 10px }
h2{ font-size:clamp(26px,4.2vw,40px); line-height:1.1; margin:0 0 14px }
h3{ font-size:20px; margin:0 0 6px }
.prose p{ margin:8px 0 10px; max-width:70ch }
.skip{ position:absolute; left:-9999px } .skip:focus{ left:12px; top:12px; padding:8px 10px; background:#fff; border:1px solid #000 }
.site-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.9); backdrop-filter:saturate(180%) blur(8px); border-bottom:1px solid var(--line) }
.site-header .container{ display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:20px; padding:16px 0 }
.logo{ display:inline-flex; align-items:center; gap:10px; font-weight:800; letter-spacing:.4px }
.logo .sun{ width:22px; height:22px; border-radius:50%; background:#000; display:inline-block }
.logo--footer .sun{ background:#000 }
.nav{ display:flex; gap:22px; align-items:center; justify-content:center; list-style:none; z-index:1000; }
.hamburger{ display:none; background:none; border:0; width:40px; height:40px; position:relative }
.hamburger span{ position:absolute; left:8px; right:8px; height:2px; background:#000; transition:transform .2s, opacity .2s }
.hamburger span:nth-child(1){ top:12px } .hamburger span:nth-child(2){ top:19px } .hamburger span:nth-child(3){ top:26px }
.icon{ width:18px; height:18px }
.btn{ display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border:2px solid #000; border-radius:999px; font-weight:700; transition:transform .15s ease }
.btn:hover{ transform:translateY(-1px) }
.btn--primary{ background:#000; color:#fff }
.btn--ghost{ background:#fff; color:#000 }
.link-arrow{ display:inline-flex; align-items:center; gap:8px }
.link-arrow .arrow{ width:18px; height:18px }
.hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:center }
.hero__media img{ width:100%; height:auto; border:2px solid #000 }
.lead{ font-size:clamp(16px,2.2vw,20px); color:#333; max-width:55ch }
.hero__cta{ display:flex; gap:12px; margin-top:12px }
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:10px }
.card{ border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff }
.card__body{ padding:14px 16px }
.section--split .split{ display:grid; grid-template-columns:1.1fr .9fr; gap:28px; align-items:center }
.split__media img{ border:2px solid #000 }
.bullets{ margin:12px 0 16px; padding-left:18px } .bullets li{ margin:4px 0 }
.gallery{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px }
.gallery img{ border:1px solid var(--line) }
.section--inverse{ background:#0a0a0a; color:#fff }
.section--inverse .btn--ghost{ background:#0a0a0a; color:#fff; border-color:#fff }
.visit{ display:grid; grid-template-columns:.9fr 1.1fr; gap:28px; align-items:center }
.visit__media iframe{ border:2px solid #fff }
.site-footer{ border-top:1px solid var(--line); padding:24px 0 40px; background:#fff }
.footer__grid{ display:grid; grid-template-columns:1.1fr .9fr .9fr; gap:18px; align-items:start }
.footer__links{ display:flex; gap:16px; flex-wrap:wrap; list-style:none }
.footer__cta{ display:flex; gap:12px; justify-content:flex-end }
.footnote{ margin-top:10px; color:#666; font-size:12px }
@media (max-width:960px){ .cards{ grid-template-columns:1fr 1fr } .gallery{ grid-template-columns:repeat(3,1fr) } .section--split .split, .visit{ grid-template-columns:1fr } }
@media (max-width:760px){
  .site-header .container{ grid-template-columns:auto auto auto }
  .nav{ position:fixed; inset:60px 0 auto 0; background:#fff; border-bottom:1px solid var(--line); flex-direction:column; padding:14px 20px; display:none }
  .nav[data-open="true"]{ display:flex }
  .hamburger{ display:block }
  .hero__grid{ grid-template-columns:1fr }
  .cards{ grid-template-columns:1fr }
  .footer__grid{ grid-template-columns:1fr }
  .footer__cta{ justify-content:flex-start }
}
