@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;
  src:url(jost-300.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;
  src:url(jost-400.woff2) format('woff2')}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;
  src:url(ebgaramond-400.woff2) format('woff2')}

:root{
  --paper:#F4F0E4;   /* aged plate paper, lightened for reading */
  --ink:#16203A;     /* the caption ink of the botanical plate */
  --muted:#6B6552;
  --rule:#DCD5BF;
  --mark-invert:0;
  --botanical:.5;
}
@media (prefers-color-scheme:dark){
  :root{--paper:#14161B;--ink:#EDE8D8;--muted:#928C79;--rule:#2C2E28;--mark-invert:1;--botanical:.2}
}

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}

body{
  min-height:100svh;display:flex;padding:clamp(30px,7vw,72px);
  background:var(--paper);color:var(--ink);
  font-family:'Jost',ui-sans-serif,-apple-system,'Helvetica Neue',Arial,sans-serif;
  font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}

/* vintage botanical plate: Echinocereus polyacanthus */
.plate,.plate-gl{
  position:fixed;right:0;bottom:0;
  height:min(80vh,880px);
  aspect-ratio:780/1456;
  opacity:var(--botanical);
  -webkit-mask-image:radial-gradient(150% 130% at 100% 100%,#000 22%,transparent 88%);
  mask-image:radial-gradient(150% 130% at 100% 100%,#000 22%,transparent 88%);
  pointer-events:none;z-index:0;
}
.plate{object-fit:contain;object-position:right bottom;transition:opacity .9s ease}
.plate-gl{opacity:0}
body.gl .plate{opacity:0}
body.gl .plate-gl{opacity:var(--botanical)}
@media (max-width:820px){
  :root{--botanical:.24}
  .plate,.plate-gl{height:min(62vh,620px)}
}

main{margin:auto;width:100%;max-width:33rem;position:relative;z-index:1;
  animation:rise 1.1s cubic-bezier(.16,1,.3,1) both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){main{animation:none}}

.lockup{width:clamp(150px,26vw,196px);height:auto;display:block;
  filter:invert(var(--mark-invert));opacity:.92}
a.marklink{display:block;width:max-content}

.rule{height:1px;background:var(--rule);margin:2rem 0}

.lede{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-weight:400;
  font-size:clamp(1.18rem,3.3vw,1.42rem);line-height:1.4;max-width:31ch}

p.body{margin-top:1.2rem;font-size:clamp(.94rem,2.3vw,1rem);font-weight:300;
  line-height:1.75;color:var(--muted);max-width:43ch}

.section{margin-top:2.5rem}
.section h2{font-size:.7rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink);margin-bottom:.95rem}
.section h3{font-size:.94rem;font-weight:400;color:var(--ink);margin:1.6rem 0 .5rem}

ul.services{list-style:none;max-width:43ch}
ul.services li{font-size:clamp(.94rem,2.3vw,1rem);font-weight:300;line-height:1.6;
  color:var(--muted);padding:.62rem 0;border-top:1px solid var(--rule)}
ul.services li:last-child{border-bottom:1px solid var(--rule)}

ul.places{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.45rem;
  font-size:.71rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);max-width:43ch}

address{font-style:normal;font-size:clamp(.94rem,2.3vw,1rem);font-weight:300;
  line-height:1.75;color:var(--muted)}
address .who{color:var(--ink)}
address a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);
  padding-bottom:.12em;transition:border-color .35s ease}
address a:hover,address a:focus-visible{border-bottom-color:var(--ink)}
address a:focus-visible{outline:none}

.note{margin-top:1.15rem;font-size:.83rem;line-height:1.7;color:var(--muted);
  max-width:46ch;opacity:.85}

.navlink{margin-top:2.5rem}
.navlink a{font-size:.71rem;font-weight:400;letter-spacing:.15em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;
  padding-bottom:.25em;transition:color .35s ease,border-color .35s ease}
.navlink a:hover,.navlink a:focus-visible{color:var(--ink);border-bottom-color:var(--rule)}
.navlink a:focus-visible{outline:none}

footer{margin-top:3.3rem;padding-top:1.25rem;border-top:1px solid var(--rule);
  font-size:.68rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);line-height:2}
footer span{display:block}
footer .legal{margin-top:.7rem}
footer .legal a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;
  transition:color .3s ease,border-color .3s ease}
footer .legal a:hover,footer .legal a:focus-visible{color:var(--ink);border-bottom-color:var(--rule)}
footer .legal a:focus-visible{outline:none}

.legaldoc p{font-size:.92rem;line-height:1.8;color:var(--muted);max-width:46ch;margin-top:.9rem}
