@font-face { font-family:'DM Serif Display'; src:url('/assets/display.ttf') format('truetype'); font-weight:400; font-display:swap; }
@font-face { font-family:'Source Serif 4'; src:url('/assets/body.ttf') format('truetype'); font-weight:400; font-display:swap; }
* { box-sizing:border-box; }
html { scroll-padding-top:35px; scroll-behavior:smooth; }
body { margin:0; background:var(--astalgo-ivory); color:var(--astalgo-midnight); font:400 20px/1.6 'Source Serif 4',Georgia,serif; -webkit-font-smoothing:antialiased; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font:400 1em/1.12 'DM Serif Display',Georgia,serif; }
a { color:inherit; text-underline-offset:6px; text-decoration-thickness:1px; }
button { font:inherit; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid currentColor; outline-offset:6px; }
button,summary { cursor:pointer; }
::selection { background:var(--astalgo-silver-blue); color:var(--astalgo-deep-ink); }
[hidden] { display:none!important; }
.page-width { width:min(1420px,calc(100% - 120px)); margin-inline:auto; }
.site-header { position:absolute; top:0; left:0; right:0; z-index:5; padding:30px 60px; display:flex; align-items:center; justify-content:space-between; color:var(--astalgo-ivory); gap:30px; }
.brand { display:block; flex-shrink:0; }
.brand img { display:block; width:190px; height:auto; }
.site-header nav { display:flex; align-items:center; gap:37px; font-size:17px; }
.site-header nav a { text-decoration:none; padding-block:8px; }
.site-header nav a:hover,.site-header nav a[aria-current] { text-decoration:underline; }
.site-header .email-nav { margin-left:28px; border-bottom:1px solid currentColor; }
.inner-page .site-header { position:relative; color:var(--astalgo-midnight); }
.site-footer { width:min(1420px,calc(100% - 120px)); margin-inline:auto; border-top:1px solid #142b4933; padding:39px 0; display:grid; grid-template-columns:1fr 1.8fr 1fr; gap:45px; align-items:start; font-size:17px; }
.site-footer img { display:block; width:145px; height:auto; }
.site-footer p a { font-size:24px; }
.site-footer>div { text-align:right; }
.site-footer span { display:block; margin-top:13px; font-size:13px; }
.skip-link { position:fixed; left:15px; top:-120px; z-index:100; padding:12px 20px; background:var(--astalgo-ivory); color:var(--astalgo-midnight); }
.skip-link:focus { top:15px; }
@media(max-width:1000px) {
  .page-width,.site-footer { width:calc(100% - 64px); }
  .site-header { padding-inline:32px; }
  .site-header nav { gap:23px; font-size:16px; }
  .site-header .email-nav { margin-left:0; }
}
@media(max-width:700px) {
  body { font-size:18px; }
  .page-width,.site-footer { width:calc(100% - 44px); }
  .site-header { padding:17px 22px; flex-wrap:wrap; gap:9px; }
  .brand img { width:146px; }
  .site-header nav { width:100%; justify-content:space-between; gap:12px; font-size:14px; }
  .site-header nav a { padding-block:6px; }
  .site-footer { grid-template-columns:1fr; gap:24px; padding:30px 0; font-size:15px; }
  .site-footer>div { text-align:left; }
  .site-footer p a { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
