@font-face{
  font-family:'Gantari';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('https://fonts.gstatic.com/s/gantari/v3/jVyV7nvyB2HL8iZyDk4GVvSZ5MtC9g0gOg33YZA.woff2') format('woff2');
}
@font-face{
  font-family:'Gantari';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('https://fonts.gstatic.com/s/gantari/v3/jVyV7nvyB2HL8iZyDk4GVvSZ5MtC9g0SOg33YZA.woff2') format('woff2');
}

/* Design tokens */
:root{
  --color-dark:#4b5466;
  --color-light:#e9eaec;
  --color-text:#231f20;
  --color-muted:#9a9a9b;
  --color-white: #FFFFFF;

  --font-base:'Gantari',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;

  --fs-nav:.8rem;      /* 14px */
  --ls-nav:.075rem;      /* ~1.2px */

  /* Desktop paddings from Penpot */
  --header-pad-top:3rem;   /* 109px */
  --header-pad-bottom:5rem;/* 190px */
  /* --header-pad-left:5.8125rem;  /* 93px */
  /* -header-pad-right:5.8125rem; /* 93px */

  /* Hero paddings from comp */
  --hero-pad-top:4.5rem;        /* 72px */
  --hero-pad-bottom:4.5rem;  

  --fs-hero-title:2rem;    /* 35px */
  --fs-hero-date:1.25rem;      /* 26px */
  --fs-body:1.1rem;          /* 23px */

  /* Layout caps */
  --maxw-desktop:1540px;         /* 1440px cap → reads better on 4K */
  --container-pad:1.5rem;       /* mobile sides */
  --border-muted:1px solid var(--color-muted);
}

/* Reset-ish */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{font-size:100%}
body{
  font-family:var(--font-base);
  color:var(--color-text);
  background:#fff;
  line-height:1.2;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* Main content area grows to fill available space */
main#content {
  flex: 1;
}

/* Fluid container that matches header left/right padding automatically */
.maxw{
  width:100%;
  max-width:var(--maxw-desktop);
  margin-inline:auto;
  padding-inline:var(--container-pad);
}

@media (min-width:60rem){
  .maxw{ padding-inline:var(--header-pad-left); }
}

/* Utility for screen-reader-only labels (newsletter) */
.sr-only{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}