:root{
  --ink:#1B3A57;
  --deep:#10273C;
  --paper:#FDFDFB;
  --fog:#EBF0F4;
  --slate:#51677B;
  --beacon:#B98F3E;
  --rule:#C9D4DD;
  --measure:62ch;
}

*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero h1,.hero .lede,.beam{animation:none !important;opacity:1 !important}
}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:"Newsreader",Georgia,serif;
  font-weight:400;
  line-height:1.65;
  font-size:1.075rem;
}

a{color:var(--ink)}
a:focus-visible{outline:2px solid var(--beacon);outline-offset:3px}

/* ---------- masthead ---------- */
.masthead{
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  max-width:1080px;margin:0 auto;padding:1.4rem 1.5rem;
}
.brand img{display:block}
.masthead nav{display:flex;gap:1.6rem;flex-wrap:wrap}
.masthead nav a{
  font-family:"Archivo",system-ui,sans-serif;
  font-size:.86rem;font-weight:500;letter-spacing:.01em;
  text-decoration:none;color:var(--slate);
  border-bottom:1px solid transparent;padding-bottom:2px;
}
.masthead nav a:hover{color:var(--ink);border-bottom-color:var(--beacon)}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;
  max-width:1080px;margin:0 auto;padding:6.5rem 1.5rem 4.5rem;
}
.beam{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 900px 420px at 18% -8%,
      rgba(185,143,62,.16), rgba(185,143,62,.05) 45%, transparent 70%);
}
.hero h1{
  font-size:clamp(2.6rem,6.2vw,4.4rem);
  font-weight:300;line-height:1.08;letter-spacing:-.015em;
  max-width:16ch;
}
.hero .lede{
  margin-top:1.6rem;max-width:var(--measure);
  font-size:1.16rem;color:var(--slate);
}
/* single page-load moment; only in browsers that understand motion prefs */
@media (prefers-reduced-motion:no-preference){
  .beam{animation:beam-in 1.6s ease-out both}
  .hero h1{animation:rise .9s ease-out both}
  .hero .lede{animation:rise .9s .15s ease-out both}
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes beam-in{from{opacity:0}to{opacity:1}}

.horizon{
  margin-top:4rem;height:1px;background:var(--rule);position:relative;
}
.beacon-dot{
  position:absolute;left:0;top:-3.5px;width:8px;height:8px;border-radius:50%;
  background:var(--beacon);
}

/* ---------- sections ---------- */
.section{
  padding:4.5rem 1.5rem;
}
.section>div{max-width:1080px;margin-left:auto;margin-right:auto}
.section{
  display:grid;grid-template-columns:1fr;
}
@media(min-width:820px){
  .section{
    grid-template-columns:200px 1fr;gap:3rem;
    max-width:1080px;margin:0 auto;
  }
  .section>div{margin:0;max-width:none}
}
.section-label{
  font-family:"Archivo",system-ui,sans-serif;
  font-size:.86rem;font-weight:600;color:var(--beacon);
  padding-top:.5rem;
}
.section-body h2{
  font-size:clamp(1.7rem,3.2vw,2.3rem);
  font-weight:400;line-height:1.2;letter-spacing:-.01em;
  max-width:24ch;
}
.section-body>p{margin-top:1.1rem;max-width:var(--measure)}
.section-body .role{
  font-family:"Archivo",system-ui,sans-serif;font-size:.9rem;color:var(--slate);
  margin-top:.4rem;
}

.fog{background:var(--fog)}
.deep{background:var(--deep);color:var(--paper)}
.deep a{color:var(--paper)}
.deep .section-body h2{color:var(--paper)}
.deep .section-body>p{color:#C7D3DD}
.deep .section-label{color:var(--beacon)}

/* practices: three columns split by hairlines, not cards */
.practices{
  margin-top:2.4rem;display:grid;grid-template-columns:1fr;gap:0;
}
.practices article{padding:1.4rem 0;border-top:1px solid var(--rule)}
.practices h3{
  font-size:1.18rem;font-weight:500;letter-spacing:-.005em;
}
.practices p{margin-top:.55rem;color:var(--slate);font-size:1rem;max-width:52ch}
@media(min-width:820px){
  .practices{grid-template-columns:1fr 1fr 1fr;gap:2.2rem}
  .practices article{border-top:1px solid var(--rule);padding-top:1.6rem}
}

/* tenets */
.tenets{margin-top:2.2rem;display:grid;gap:1.5rem;max-width:var(--measure)}
.tenets dt{
  font-weight:500;font-size:1.12rem;
}
.tenets dd{margin-top:.3rem;color:var(--slate)}
.fog .tenets dd{color:#4A5F72}

.quiet-cta{margin-top:2rem}
.quiet-cta a{
  font-family:"Archivo",system-ui,sans-serif;font-size:.95rem;font-weight:600;
  text-decoration:none;border-bottom:2px solid var(--beacon);padding-bottom:3px;
}

address{font-style:normal;margin:0;padding-top:.05rem;line-height:1.9}
.note{margin-top:1.2rem;color:var(--slate);max-width:var(--measure)}

/* ---------- footer ---------- */
footer{
  background:var(--deep);color:#A9B9C6;
  padding:3.5rem 1.5rem 3rem;
}
.foot-inner{max-width:1080px;margin:0 auto}
footer img{display:block}
.foot-links{display:flex;gap:1.6rem;margin-top:1.6rem}
.foot-links a{
  color:#D5DEE6;font-family:"Archivo",system-ui,sans-serif;font-size:.85rem;
  text-decoration:none;border-bottom:1px solid rgba(213,222,230,.35);
}
.foot-links a:hover{border-bottom-color:var(--beacon)}
.fineprint{margin-top:1.6rem;font-size:.82rem;line-height:1.7;max-width:78ch}
