
@font-face{font-family:Inter;src:url(/assets/fonts/inter-400.woff2)format('woff2');
  font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/inter-500.woff2)format('woff2');
  font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/inter-600.woff2)format('woff2');
  font-weight:600;font-display:swap}
@font-face{font-family:Inter;src:url(/assets/fonts/inter-700.woff2)format('woff2');
  font-weight:700;font-display:swap}
@font-face{font-family:Lora;src:url(/assets/fonts/lora.woff2)format('woff2');
  font-weight:400 700;font-display:swap}

:root{
  --navy:#14263D; --navy-deep:#0E1B2C; --ivory:#F6F3EC; --paper:#FFFFFF;
  --ink:#1E2329; --slate:#5B6573; --brass:#A8834A; --brass-lt:#D9BE8C;
  --brass-ink:#8A6A33;
  --line:#E2DDD2; --line-dk:#2C3E56;
  --on-navy:#DCD7CB; --on-navy-dim:#B9B3A6;
  --s1:.25rem; --s2:.5rem; --s3:1rem; --s4:1.5rem; --s5:2rem;
  --s6:3rem; --s7:4.5rem; --s8:6.5rem;
  --serif:Lora,Georgia,serif; --sans:Inter,system-ui,-apple-system,sans-serif;
  --measure:68ch;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);
  font:400 1.0625rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);line-height:1.18;margin:0;
  font-weight:600;letter-spacing:-.005em}
p{margin:0;max-width:var(--measure)}
a{color:var(--navy)}
img{max-width:100%;height:auto}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--s4)}

.eyebrow{font:600 .75rem/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:var(--brass-ink);margin:0}
.eyebrow--on-navy{color:var(--brass-lt)}
.rule{width:64px;height:3px;background:var(--brass);border:0;margin:var(--s4) 0 0}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  white-space:nowrap}

/* focus, for keyboard users: a brass ring outside the element, on everything
   that can be operated from the keyboard */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--brass);outline-offset:3px;border-radius:2px}
.sec--navy a:focus-visible,.hero a:focus-visible,.cta a:focus-visible,
.ftr a:focus-visible{outline-color:var(--brass-lt)}

/* ---------- skip link and header ---------- */
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--s4);top:var(--s2);z-index:99;background:var(--navy);color:#fff;
  padding:.7rem 1rem;border-radius:2px}
.hdr{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);
  padding:.85rem 0}
.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--navy)}
.brand svg{height:30px;width:auto;display:block}
.brand b{font:600 1.16rem/1 var(--serif);letter-spacing:.005em}
.nav{display:flex;align-items:center;gap:var(--s4)}
.nav>a,.nav summary{font:500 .945rem/1 var(--sans);color:var(--navy);text-decoration:none;
  cursor:pointer}
.nav>a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--brass)}
.nav details{position:relative}
.nav summary{list-style:none;display:inline-flex;align-items:center;gap:.3rem}
.nav summary::-webkit-details-marker{display:none}
.nav summary::after{content:"";width:.42em;height:.42em;border-right:1.6px solid var(--slate);
  border-bottom:1.6px solid var(--slate);transform:rotate(45deg) translateY(-2px)}
.menu{position:absolute;top:calc(100% + .85rem);left:-1rem;background:var(--paper);
  border:1px solid var(--line);box-shadow:0 14px 34px rgba(20,38,61,.13);padding:.5rem;
  min-width:300px;border-radius:3px;z-index:60}
.menu a{display:block;padding:.52rem .7rem;font-size:.92rem;border-radius:2px;
  text-decoration:none;color:var(--navy)}
.menu a:hover{background:var(--ivory)}
.menu hr{border:0;border-top:1px solid var(--line);margin:.4rem .7rem}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font:600 .945rem/1 var(--sans);padding:.78rem 1.25rem;border-radius:3px;
  text-decoration:none;border:1.5px solid transparent;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s}
.btn--primary{background:var(--brass);color:#1B1408;border-color:var(--brass)}
.btn--primary:hover{background:#856736;border-color:#856736;color:#fff}
.btn--secondary{border-color:var(--navy);color:var(--navy);background:transparent}
.btn--secondary:hover{background:var(--navy);color:#fff}
.btn--ghost{border-color:rgba(246,243,236,.55);color:#fff;background:transparent}
.btn--ghost:hover{background:rgba(246,243,236,.12)}
.btn--nav{padding:.6rem 1.05rem;border-color:var(--navy);color:var(--navy)}
.btn--nav:hover{background:var(--navy);color:#fff}
.btn--block{width:100%}
.acts{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:var(--s5)}

/* ---------- mobile navigation panel ----------
   Built on <details>, so it opens and closes with no JavaScript at all. The
   script at the end of the page only adds Escape-to-close and keeps the
   aria-expanded state honest. */
.mnav{display:none}
.mnav>summary{list-style:none;display:inline-flex;align-items:center;gap:.5rem;
  border:1px solid var(--line);border-radius:3px;padding:.58rem .8rem;
  font:600 .9rem/1 var(--sans);color:var(--navy);cursor:pointer;background:var(--paper)}
.mnav>summary::-webkit-details-marker{display:none}
.mnav>summary::after{content:"";width:.9em;height:.62em;
  background:linear-gradient(var(--navy) 0 2px,transparent 2px 4px,var(--navy) 4px 6px,
  transparent 6px 8px,var(--navy) 8px 10px)}
.mnav[open]>summary::after{background:none;content:"\00d7";font-size:1.3em;line-height:.7}
.mpanel{position:fixed;left:0;right:0;top:61px;bottom:0;background:var(--paper);
  border-top:1px solid var(--line);padding:var(--s4);overflow-y:auto;z-index:70}
.mpanel a{display:block;padding:.85rem .2rem;text-decoration:none;color:var(--navy);
  font:500 1.02rem/1.3 var(--sans);border-bottom:1px solid var(--line)}
.mpanel details>summary{list-style:none;display:flex;justify-content:space-between;
  align-items:center;padding:.85rem .2rem;border-bottom:1px solid var(--line);
  font:600 1.02rem/1.3 var(--sans);color:var(--navy);cursor:pointer}
.mpanel details>summary::-webkit-details-marker{display:none}
.mpanel details>summary::after{content:"+";font:400 1.3rem/1 var(--sans);
  color:var(--brass-ink)}
.mpanel details[open]>summary::after{content:"\2013"}
.mpanel details a{padding-left:var(--s3);font-weight:400;font-size:.97rem;color:var(--slate)}
.mpanel .btn{margin-top:var(--s4)}

/* ---------- hero, home page only ---------- */
.hero{background:var(--navy);color:#E9E4D9;padding:var(--s8) 0 var(--s7)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:var(--s7);align-items:center}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.35rem);max-width:17ch}
.hero p.lede{color:#CFCABF;font-size:1.135rem;margin-top:var(--s4);max-width:58ch}
.hero .note{font-size:.9rem;color:#A9A396;margin-top:var(--s3)}

/* ---------- page header band, every page except home ---------- */
.phead{background:var(--navy);color:var(--on-navy);padding:var(--s7) 0 var(--s6);
  background-size:cover;background-position:center}
.phead h1{color:#fff;font-size:clamp(1.85rem,3.4vw,2.7rem);max-width:20ch;margin-top:.6rem}
.phead p.lede{color:#CFCABF;font-size:1.1rem;max-width:56ch}
.phead .acts{margin-top:var(--s5)}
.phead__grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:var(--s4) var(--s7);align-items:start}
.phead__grid .rule{margin-bottom:0}
.phead__grid>.acts{grid-column:1/-1;margin-top:var(--s5)}
@media(max-width:900px){
  .phead__grid{grid-template-columns:1fr;gap:var(--s4)}
  .phead h1{max-width:24ch}
}
.crumbs{font-size:.83rem;color:#9AA7B8;margin:0 0 var(--s4);max-width:none}
.crumbs a{color:#BFC9D6;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span{color:#6F7F93;padding:0 .45rem}

/* ---------- framework strip ---------- */
.strip{background:var(--paper);border-bottom:1px solid var(--line);padding:var(--s5) 0}
.strip h2{font:600 .75rem/1.5 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:var(--slate);margin:0 0 var(--s3)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.chip{font:500 .875rem/1 var(--sans);color:var(--navy);border:1px solid var(--line);
  background:var(--ivory);padding:.52rem .8rem;border-radius:999px;white-space:nowrap}
.strip--navy{background:var(--navy);border-bottom:0;border-top:1px solid var(--line-dk)}
.strip--navy h2{color:var(--brass-lt)}
.strip--navy .chip{background:transparent;border-color:var(--line-dk);color:var(--on-navy)}

/* ---------- sections ---------- */
.sec{padding:var(--s8) 0}
.sec--tight{padding:var(--s7) 0}
.sec--paper{background:var(--paper)}
.sec--navy{background:var(--navy);color:var(--on-navy)}
.sec--navy h2,.sec--navy h3,.sec--navy h4{color:#fff}
.sec__head{max-width:64ch;margin-bottom:var(--s6)}
.sec__head h2{font-size:clamp(1.65rem,2.7vw,2.25rem);margin-top:.5rem}
.sec__head p{margin-top:var(--s3);color:var(--slate);font-size:1.06rem}
.sec--navy .sec__head p{color:var(--on-navy-dim)}

.grid{display:grid;gap:var(--s4)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

/* ---------- cards ---------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:3px;
  padding:var(--s4);display:flex;flex-direction:column;gap:.7rem;
  border-top:3px solid var(--navy);transition:box-shadow .15s,transform .15s}
.card:hover{box-shadow:0 10px 26px rgba(20,38,61,.09);transform:translateY(-2px)}
.card h3{font-size:1.075rem;line-height:1.3}
.card p{font-size:.945rem;color:var(--slate);margin:0}
.card .more{margin-top:auto;font:600 .875rem/1 var(--sans);color:var(--navy);
  text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;padding-top:.5rem}
.card .more::after{content:"\2192";color:var(--brass)}
.card .more:hover{text-decoration:underline;text-underline-offset:3px}
.sec--paper .card{background:var(--ivory)}
.sec--navy .card{background:#182C46;border-color:var(--line-dk);border-top-color:var(--brass)}
.sec--navy .card p{color:var(--on-navy-dim)}
.sec--navy .card .more{color:#fff}

/* a card with no link: used for "who it is for" and "the pressure" */
.aud{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--brass);
  border-radius:3px;padding:var(--s5) var(--s4)}
.aud h3{font-size:1.2rem}
.aud p{font-size:.96rem;color:var(--slate);margin-top:.6rem}
.aud .more{display:inline-block;margin-top:var(--s3);font:600 .875rem/1 var(--sans);
  color:var(--navy);text-decoration:underline;text-underline-offset:4px;
  text-decoration-color:var(--brass)}
.sec--paper .aud{background:var(--ivory)}

/* ---------- checked lists: problems, what you receive ---------- */
.marks{list-style:none;padding:0;margin:0;display:grid;gap:var(--s3)}
.marks--2{grid-template-columns:repeat(2,1fr);gap:var(--s3) var(--s5)}
.marks li{position:relative;padding-left:1.7rem;max-width:56ch;font-size:1.0rem;
  color:var(--ink)}
.marks li::before{content:"";position:absolute;left:.12rem;top:.5em;width:.36rem;height:.66rem;
  border-right:2px solid var(--brass);border-bottom:2px solid var(--brass);
  transform:rotate(42deg)}
.marks--dash li::before{border-right:0;border-bottom:2px solid var(--brass);
  transform:none;width:.8rem;height:0;left:0;top:.82em}
.sec--navy .marks li{color:var(--on-navy)}

/* ---------- process steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-top:1px solid var(--line-dk)}
.steps--3{grid-template-columns:repeat(3,1fr)}
.step{padding:var(--s5) var(--s4) var(--s5) 0;border-right:1px solid var(--line-dk)}
.step:last-child{border-right:0}
.step .n{font:600 .75rem/1 var(--sans);letter-spacing:.14em;color:var(--brass-lt)}
.step h3{font-size:1.16rem;margin-top:.8rem}
.step p{font-size:.945rem;color:var(--on-navy-dim);margin-top:.55rem;max-width:34ch}
.steps--light{border-top-color:var(--line)}
.steps--light .step{border-right-color:var(--line)}
.steps--light .step .n{color:var(--brass-ink)}
.steps--light .step p{color:var(--slate)}

/* ---------- proof cards ---------- */
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.pcard{background:var(--paper);border:1px solid var(--line);border-radius:3px;
  padding:var(--s4)}
.pcard h3{font-size:1.02rem;margin-top:.85rem}
.pcard p{font-size:.92rem;color:var(--slate);margin-top:.5rem}
.pcard svg{color:var(--brass)}

/* ---------- independence band ---------- */
.indep{border:1px solid var(--line);border-left:3px solid var(--navy);background:var(--paper);
  padding:var(--s5);border-radius:3px}
.indep h2{font-size:1.4rem;margin-top:.5rem}
.indep p{margin-top:var(--s3);color:var(--slate)}

/* ---------- service list rows ---------- */
.svclist{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.svclist li{border-bottom:1px solid var(--line)}
.svclist a{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr) auto;
  gap:var(--s4);align-items:baseline;padding:var(--s4) .2rem;text-decoration:none;
  color:var(--navy)}
.svclist a:hover{background:var(--paper)}
.sec--paper .svclist a:hover{background:var(--ivory)}
.svclist strong{font:600 1.02rem/1.35 var(--serif);color:var(--navy)}
.svclist span{font-size:.945rem;color:var(--slate);line-height:1.55}
.svclist em{font-style:normal;color:var(--brass-ink);font-weight:600}

/* ---------- accordion ---------- */
.acc{border-top:1px solid var(--line);max-width:82ch}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;padding:var(--s4) 2.5rem var(--s4) 0;
  position:relative;font:600 1.06rem/1.4 var(--serif);color:var(--navy)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";position:absolute;right:.4rem;top:1.35rem;
  font:400 1.45rem/1 var(--sans);color:var(--brass-ink)}
.acc details[open] summary::after{content:"\2013"}
.acc p{padding:0 0 var(--s4);color:var(--slate);font-size:1rem;max-width:72ch}

/* ---------- two-column contact layout ---------- */
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s7)}
.cols h2{font-size:1.5rem}
.cols h3{font-size:1.05rem;margin-top:var(--s5)}
.cols p{margin-top:.7rem;color:var(--slate)}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:3px;
  padding:var(--s5)}
.panel h2{font-size:1.3rem}

/* ---------- forms ---------- */
.field{display:block;margin-top:var(--s4)}
.field>span{display:block;font:600 .875rem/1.4 var(--sans);color:var(--navy);
  margin-bottom:.4rem}
.field .req{color:var(--brass-ink)}
.field input,.field select,.field textarea{width:100%;font:400 1rem/1.5 var(--sans);
  color:var(--ink);background:var(--paper);border:1px solid #96907F;border-radius:3px;
  padding:.68rem .75rem}
.field textarea{min-height:8rem;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--slate)}
.hint{font-size:.83rem;color:var(--slate);margin-top:.35rem}
form .btn{margin-top:var(--s5)}

/* ---------- service directory ---------- */
.filters{background:var(--paper);border:1px solid var(--line);border-radius:3px;
  padding:var(--s4);margin-bottom:var(--s5)}
.filters fieldset{border:0;padding:0;margin:0 0 var(--s4)}
.filters legend{font:600 .72rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;
  color:var(--slate);padding:0;margin-bottom:.6rem}
.opts{display:flex;flex-wrap:wrap;gap:.45rem}
.opt{position:relative}
.opt input{position:absolute;opacity:0;width:100%;height:100%;left:0;top:0;margin:0;
  cursor:pointer}
.opt span{display:inline-block;font:500 .875rem/1 var(--sans);color:var(--navy);
  border:1px solid var(--line);background:var(--ivory);padding:.52rem .8rem;
  border-radius:999px;white-space:nowrap}
.opt input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.opt input:focus-visible+span{outline:3px solid var(--brass);outline-offset:3px}
.filters__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:var(--s3);border-top:1px solid var(--line);padding-top:var(--s3)}
.count{font:600 .93rem/1 var(--sans);color:var(--navy)}
.reset{font:500 .9rem/1 var(--sans);color:var(--navy);background:none;border:0;
  text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--brass);
  cursor:pointer;padding:.3rem}
.dir{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.dir>li{border-bottom:1px solid var(--line);padding:var(--s4) 0}
.dir h3{font-size:1.06rem}
.dir h3 a{text-decoration:none}
.dir h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.dir p{font-size:.945rem;color:var(--slate);margin-top:.45rem}
.dir .tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.7rem;list-style:none;padding:0}
.dir .tags li{font:500 .78rem/1 var(--sans);color:var(--slate);border:1px solid var(--line);
  background:var(--paper);padding:.4rem .6rem;border-radius:999px}
.dir .tags li.is-practice{color:var(--navy);border-color:#CFC8B9}
.empty{padding:var(--s6) 0;color:var(--slate)}

/* ---------- prose, for the legal pages ---------- */
.prose{max-width:74ch}
.prose h2{font-size:1.32rem;margin-top:var(--s6)}
.prose h2:first-child{margin-top:0}
.prose p{margin-top:var(--s3);color:var(--ink)}
.prose p.small{font-size:.92rem;color:var(--slate)}

/* ---------- final call to action ---------- */
.cta{background:var(--navy-deep);color:var(--on-navy);padding:var(--s7) 0}
.cta h2{color:#fff;font-size:clamp(1.6rem,2.6vw,2.15rem);max-width:22ch}
.cta p{margin-top:var(--s3);color:var(--on-navy-dim);max-width:56ch}

/* ---------- footer ---------- */
.ftr{background:var(--navy);color:var(--on-navy-dim);padding:var(--s6) 0 var(--s5);
  font-size:.92rem;border-top:1px solid var(--line-dk)}
.ftr a{color:#CFCABF;text-decoration:none}
.ftr a:hover{text-decoration:underline}
.ftr__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5)}
.ftr h2{color:#fff;font:600 .72rem/1.5 var(--sans);letter-spacing:.14em;
  text-transform:uppercase;margin:0}
.ftr ul{list-style:none;padding:0;margin:var(--s3) 0 0}
.ftr li{margin-bottom:.45rem}
.ftr p{color:var(--on-navy-dim)}
.ftr__btm{border-top:1px solid var(--line-dk);margin-top:var(--s6);padding-top:var(--s4);
  font-size:.82rem;color:#A09A8D}
.ftr__btm p{max-width:none;color:#A09A8D}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .hero__grid{grid-template-columns:1fr;gap:var(--s5)}
  .hero__art{display:none}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step{border-bottom:1px solid var(--line-dk);padding-right:var(--s4)}
  .steps--light .step{border-bottom-color:var(--line)}
  .step:nth-child(2){border-right:0}
  .steps--3 .step:nth-child(2){border-right:1px solid var(--line-dk)}
  .proof{grid-template-columns:repeat(2,1fr)}
  .ftr__grid{grid-template-columns:repeat(2,1fr)}
  .cols{grid-template-columns:1fr;gap:var(--s6)}
  .svclist a{grid-template-columns:minmax(0,18rem) minmax(0,1fr)}
}
@media(max-width:700px){
  :root{--s7:3rem;--s8:3.5rem}
  .nav{display:none}
  .mnav{display:block}
  .grid--2,.grid--3,.grid--4,.proof{grid-template-columns:1fr}
  .marks--2{grid-template-columns:1fr}
  .steps,.steps--3{grid-template-columns:1fr}
  .step{border-right:0;padding-right:0}
  .steps--3 .step:nth-child(2){border-right:0}
  .ftr__grid{grid-template-columns:1fr}
  .hero h1{font-size:2.05rem}
  .svclist a{grid-template-columns:1fr;gap:.45rem}
  .phead{padding-top:var(--s6)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
  .card:hover{transform:none}
}
@media print{
  .hdr,.mnav,.cta,.filters,.skip{display:none}
  body{background:#fff;color:#000;font-size:11pt}
  .sec,.phead{padding:1rem 0;background:#fff;color:#000}
  .phead h1,.sec--navy h2,.sec--navy h3{color:#000}
  a{color:#000}
}

.navitem{position:relative;display:inline-flex;align-items:center;gap:.28rem;
  align-self:stretch}
.navitem>a{font:500 .945rem/1 var(--sans);color:var(--navy);text-decoration:none}
.navitem>a[aria-current=page],.navitem>a.is-section{box-shadow:inset 0 -2px 0 var(--brass)}
.navdrop{background:none;border:0;padding:.3rem .15rem;cursor:pointer;line-height:0;
  border-radius:2px}
.navdrop::after{content:"";display:inline-block;width:.42em;height:.42em;
  border-right:1.6px solid var(--slate);border-bottom:1.6px solid var(--slate);
  transform:rotate(45deg) translateY(-2px)}

/* The menu sits a little below the item it belongs to. That gap used to break
   the hover: the pointer left the item on its way down and the menu vanished
   before it could be reached. Three things keep it open now.

   1. The item stretches to the full height of the navigation row, so moving
      straight down from the word stays inside it.
   2. The menu carries an invisible bridge across the gap. The bridge is part
      of the menu, and the menu sits inside the item, so hovering the bridge
      still counts as hovering the item.
   3. Closing is delayed by a fifth of a second, which forgives the small
      wobble of a pointer crossing a gap diagonally. Opening is immediate. */
.navitem .menu{visibility:hidden;opacity:0;
  transition:opacity .12s ease, visibility 0s linear .2s}
.navitem .menu::before{content:"";position:absolute;left:0;right:0;top:-1.3rem;
  height:1.3rem}
.navitem:hover .menu,.navitem:focus-within .menu,.navitem .menu[data-open=true]{
  visibility:visible;opacity:1;transition:opacity .12s ease, visibility 0s}

.objlist{list-style:none;padding:0;margin:0;border-top:1px solid var(--line);max-width:74ch}
.objlist li{border-bottom:1px solid var(--line);padding:var(--s4) .2rem;display:flex;
  justify-content:space-between;align-items:baseline;gap:var(--s4)}
.objlist a{font:600 1.04rem/1.35 var(--serif);color:var(--navy);text-decoration:none}
.objlist a:hover{text-decoration:underline;text-underline-offset:3px}
.objlist span{font:500 .88rem/1 var(--sans);color:var(--slate);white-space:nowrap}

@media(max-width:700px){
  .opts{flex-direction:column;align-items:flex-start;gap:.4rem}
  .opt{width:100%}
  .opt span{white-space:normal;display:block;border-radius:3px}
  .filters{padding:var(--s3)}
}

.vsteps{list-style:none;padding:0;margin:var(--s4) 0 0;border-top:1px solid var(--line)}
.vsteps li{display:grid;grid-template-columns:2.2rem 1fr;gap:var(--s2);
  padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.vsteps .n{font:600 .75rem/1.9 var(--sans);letter-spacing:.12em;color:var(--brass-ink)}
.vsteps h3{font-size:1.08rem}
.vsteps p{font-size:.96rem;color:var(--slate);margin-top:.4rem}
