:root{
  --ink:#000000; --white:#FFFFFF; --silver:#A9A9A9; --platinum:#E5E4E2;
  --hair:rgba(229,228,226,.22);
  --gap-1:8px; --gap-2:16px; --gap-3:24px; --gap-4:32px;
  --gap-5:48px; --gap-6:64px; --gap-7:96px;
}
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scrollbar-width:thin;scrollbar-color:#3C3C3C var(--ink);scroll-behavior:smooth;
}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:#333;border:3px solid var(--ink);transition:background 300ms ease-out}
::-webkit-scrollbar-thumb:hover{background:var(--platinum)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;background:var(--ink);color:var(--silver);
  font-family:'Inter',system-ui,sans-serif;font-weight:300;
  font-size:1rem;line-height:1.75;letter-spacing:.012em;
  font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--platinum)}
a:focus-visible{outline:2px solid var(--platinum);outline-offset:3px}

.wrap{width:100%;max-width:820px;margin:0 auto;padding-left:24px;padding-right:24px}

.page-head{padding-block:var(--gap-5) var(--gap-4);border-bottom:1px solid var(--hair)}
.page-head .wrap{max-width:1120px}
.brand{display:inline-block;width:200px}
.brand img{width:100%}

.prose{padding-block:var(--gap-6) var(--gap-7)}
.prose h1{
  font-family:'Playfair Display',Georgia,serif;font-weight:700;
  text-transform:uppercase;letter-spacing:.24em;color:var(--white);
  font-size:clamp(1.5rem,5vw,2.5rem);line-height:1.2;
  margin:0 0 var(--gap-2);margin-right:-.24em;text-wrap:balance;
}
.prose h2{
  font-family:'Playfair Display',Georgia,serif;font-weight:700;
  color:var(--white);font-size:clamp(1.125rem,2.6vw,1.375rem);
  line-height:1.3;margin:var(--gap-6) 0 var(--gap-2);letter-spacing:.04em;
}
.prose h3{
  font-family:'Inter',system-ui,sans-serif;font-weight:400;
  color:var(--platinum);font-size:.8125rem;
  text-transform:uppercase;letter-spacing:.18em;
  margin:var(--gap-4) 0 var(--gap-1);
}
.prose p{margin:0 0 var(--gap-3);max-width:68ch}
.prose ul{margin:0 0 var(--gap-3);padding-left:1.1em;max-width:68ch}
.prose li{margin-bottom:var(--gap-1)}
.prose .updated{
  font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;
  color:var(--silver);margin-bottom:var(--gap-5);
}
.prose a{text-decoration:underline;text-underline-offset:3px}

/* forms */
.field{display:flex;flex-direction:column;gap:var(--gap-1);margin-bottom:var(--gap-4)}
.field label{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:var(--silver)}
.field input,.field textarea{
  width:100%;min-height:48px;padding:12px 14px;
  background:transparent;color:var(--white);
  border:1px solid var(--hair);border-radius:0;
  font-family:'Inter',system-ui,sans-serif;font-weight:300;font-size:1rem;
  transition:border-color 300ms ease-out;
}
.field textarea{min-height:140px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:#8C8C8C}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--platinum)}
.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--platinum);outline-offset:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:14px 32px;
  background:var(--white);color:var(--ink);
  border:1px solid var(--white);border-radius:0;
  font-family:'Inter',system-ui,sans-serif;font-weight:400;font-size:.875rem;
  letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  transition:background 300ms ease-out,border-color 300ms ease-out;
}
.btn:hover{background:var(--platinum);border-color:var(--platinum)}

/* ---- footer socials: four brand marks, no handles, 44px targets ---- */
.social{list-style:none;display:flex;gap:var(--gap-1);padding:0;margin:0 0 var(--gap-5)}
.social a{display:grid;place-items:center;width:44px;height:44px;color:var(--silver);transition:color 300ms ease-out}
.social a:hover,.social a:focus-visible{color:var(--white)}
.social svg{width:20px;height:20px;fill:currentColor}

/* footer */
footer{padding-block:var(--gap-6);border-top:1px solid var(--hair)}
footer .wrap{max-width:1120px}
.foot-nav{display:flex;flex-wrap:wrap;gap:var(--gap-3) var(--gap-5);margin-bottom:var(--gap-5)}
.foot-nav a{
  color:var(--silver);text-decoration:none;
  letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;
  padding-block:6px;transition:color 300ms ease-out;
}
.foot-nav a:hover{color:var(--white)}
.foot-base{
  display:flex;flex-wrap:wrap;gap:var(--gap-2) var(--gap-5);
  align-items:center;justify-content:space-between;
  padding-top:var(--gap-4);border-top:1px solid var(--hair);
}
.foot-base p{margin:0;font-size:.75rem}
