/* FINO v2 — one dark system, Archivo + JetBrains Mono */
:root{

  --ground:#0B0A08;
  --surface:#16130F;
  --surface-2:#1E1A15;
  --ink:#ECE4D7;
  --body:#C6BDAD;
  --dim:#A89C8C;
  --inner:#FF5638;
  --inner-soft:rgba(255,86,56,.16);
  --outer:#FBB040;
  --outer-line:#FBB040;
  --outer-soft:rgba(251,176,64,.16);
  --rule:rgba(236,228,215,.14);
  --rule-strong:rgba(236,228,215,.30);
  --tint:#181513;
  --border-ctl:rgba(236,228,215,.46);
  --grid:rgba(236,228,215,.075);
  --btn-ink:#0B0A08;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 14px 40px -20px rgba(0,0,0,.8);
  --f-display:"Newsreader",Georgia,"Times New Roman",serif;
  --f-body:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --f-mono:"Martian Mono","JetBrains Mono",ui-monospace,Menlo,monospace;
  --d-weight:300;
  --d-track:-.014em;
  --page:1200px;
  /* one measure scale. every text block picks a step, never a new number. */
  --m-display:20ch;   /* headlines and closing lines */
  --m-lead:32ch;      /* pull quotes, statements, the line that carries a section */
  --m-sub:48ch;       /* subheads under a headline */
  --m-body:62ch;      /* all running prose */
  --m-quote:70ch;     /* a quotation with a speaker attached */
  --measure:var(--m-body);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
/* every anchor starts plain; links that should look like links opt in */
a{color:inherit;text-decoration:none;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

body{
  background:var(--ground);
  color:var(--body);
  font-family:var(--f-body);
  font-weight:400;
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  transition:background .5s ease,color .5s ease;
}

.page{max-width:var(--page);margin:0 auto;padding:0 30px;}
[id]{scroll-margin-top:88px;}
.sr-only-focusable:focus{position:static;width:auto;height:auto;clip:auto;margin:0;padding:10px 16px;background:var(--ink);color:var(--ground);border-radius:3px;}
.col{max-width:var(--measure);}

/* ---------- type ---------- */
h1,h2,h3,.close-line{
  font-family:var(--f-display);color:var(--ink);
  font-weight:var(--d-weight);letter-spacing:var(--d-track);
  line-height:1.16;text-wrap:balance;
}
h1,h2{line-height:1.16;}
/* card titles hold at 400; 300 goes weak at this size */
h3{font-weight:400;}
h1{font-size:clamp(2.7rem,6.2vw,4.9rem);}
h2{font-size:clamp(2rem,3.9vw,3.1rem);}
h3{font-size:clamp(1.18rem,1.8vw,1.42rem);line-height:1.24;letter-spacing:-.01em;}
p{margin:0 0 1em;}
p:last-child{margin-bottom:0;}
strong{color:var(--ink);font-weight:500;}
em{font-style:italic;}

.eyebrow{
  font-family:var(--f-mono);font-size:.6rem;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;color:var(--dim);
}

/* ---------- nav ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:color-mix(in srgb,var(--ground) 88%,transparent);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rule);
  transition:background .5s ease,border-color .5s ease;
}
.nav-in{
  max-width:var(--page);margin:0 auto;padding:0 30px;height:70px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.brand{display:flex;align-items:center;}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{
  font-size:.87rem;color:var(--body);text-decoration:none;
  display:flex;align-items:center;gap:7px;transition:color .2s ease;
}
.nav-links a:hover{color:var(--ink);}
.dot{width:6px;height:6px;border-radius:50%;flex:none;}
.dot-i{background:var(--inner);}
.dot-o{background:var(--outer-line);}
.nav-cta{
  background:var(--ink);color:var(--ground) !important;
  padding:9px 18px;border-radius:100px;font-weight:500;font-size:.84rem;
}
.nav-cta:hover{opacity:.85;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--f-body);font-size:.92rem;font-weight:500;
  padding:14px 26px;border-radius:100px;text-decoration:none;
  border:1px solid transparent;cursor:pointer;transition:all .25s ease;
}.btn-p{background:var(--inner);color:var(--btn-ink);box-shadow:0 0 0 1px rgba(255,86,56,.35),0 10px 30px -12px rgba(255,86,56,.5);}
.btn-p:hover{filter:brightness(1.08);transform:translateY(-1px);}
.btn-g{border-color:var(--border-ctl);color:var(--ink);}
.btn-g:hover{border-color:var(--ink);}
a:focus-visible,button:focus-visible{outline:2px solid var(--inner);outline-offset:3px;}

/* ---------- hero ---------- */
.hero{padding:clamp(56px,8vw,104px) 0 clamp(40px,5vw,64px);position:relative;overflow:hidden;}
.hero-grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(30px,5vw,64px);align-items:center;
}
.hero .eyebrow{margin-bottom:1.9rem;display:flex;align-items:center;gap:.8em;flex-wrap:wrap;}
.hero .eyebrow i{font-style:normal;color:var(--inner);}
.hero h1{margin-bottom:1.5rem;}
/* the headline teaches the legend: coral is inner, amber is outer.
   never blend them, because the whole thesis is that they are two. */
.hero h1 .two{color:var(--inner);}
.hero h1 .sys{color:var(--outer-line);}
.hero-sub{font-size:1.13rem;line-height:1.62;max-width:var(--m-sub);margin-bottom:2.2rem;}
.hero-btns{display:flex;flex-wrap:wrap;gap:13px;}

/* ---------- trust ---------- */
.trust{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:22px 0;}
.trust-in{display:flex;flex-wrap:wrap;gap:12px 34px;align-items:center;}
.trust span{
  font-family:var(--f-mono);font-size:.69rem;letter-spacing:.02em;
  color:var(--dim);display:flex;align-items:center;gap:9px;
}
.trust span::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--outer-line);flex:none;}

/* ---------- sections ---------- */
section{padding:clamp(66px,8.5vw,124px) 0;scroll-margin-top:88px;}
.s-head{margin-bottom:3rem;}
.s-head .eyebrow{margin-bottom:1.2rem;}
.s-head h2{margin-bottom:1.1rem;}
.s-head p{font-size:1.07rem;color:var(--body);}
main > section.tinted{background:var(--surface-2);transition:background .5s ease;}
.map-legend{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);
  margin-top:1rem;max-width:940px;margin-left:auto;margin-right:auto;
}
.leg h3{margin-bottom:.5rem;display:flex;align-items:center;gap:10px;}
.leg-i h3::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--inner);flex:none;}
.leg-o h3::before{content:"";width:11px;height:11px;border-radius:50%;background:var(--outer-line);flex:none;}
.leg p{font-size:.96rem;line-height:1.62;}
.map-note{
  margin:2.6rem auto 0;max-width:var(--m-body);text-align:center;
  padding-top:1.7rem;border-top:1px solid var(--rule);
  font-size:1rem;color:var(--body);
}
.map-note strong{color:var(--ink);}
.band-rule{height:3px;width:44px;border-radius:3px;margin-bottom:1.3rem;}
.rule-i{background:var(--inner);}
.rule-o{background:var(--outer-line);}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.card{
  background:none;border:1px solid var(--rule-strong);border-radius:3px;
  padding:28px 26px 24px;display:flex;flex-direction:column;gap:.7rem;
  text-decoration:none;position:relative;overflow:hidden;min-width:0;
  transition:border-color .28s ease,transform .28s ease,background .28s ease;
}
.card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
}
.card-i::after{background:var(--inner);}
.card-o::after{background:var(--outer-line);}.card:hover{transform:translateY(-3px);box-shadow:0 14px 40px -22px rgba(0,0,0,.9);}
.card-i:hover{border-color:var(--inner);}
.card-o:hover{border-color:var(--outer-line);}
.card:hover::after{transform:scaleX(1);}
.card h3{font-size:1.12rem;line-height:1.25;margin:0;overflow-wrap:break-word;hyphens:none;}
.card p{font-size:.94rem;line-height:1.6;color:var(--body);margin:0;overflow-wrap:break-word;}

/* ---------- combine ---------- */
.combine{position:relative;overflow:hidden;}
/* ---------- statement ---------- */ .stmt{margin-top:2.2rem;font-family:var(--f-display);font-weight:var(--d-weight);letter-spacing:var(--d-track);font-size:clamp(1.18rem,2.1vw,1.55rem);line-height:1.36;color:var(--ink);max-width:var(--m-sub);padding-top:1.6rem;border-top:1px solid var(--rule);}

/* ---------- terms ---------- */
.terms{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:2.4rem;border-top:1px solid var(--rule);}
.term{padding:20px 26px 8px 0;min-width:0;}
.term+.term{padding-left:26px;border-left:1px solid var(--rule);}
.term b{display:block;font-family:var(--f-body);font-weight:500;color:var(--ink);font-size:.98rem;margin-bottom:.3rem;}
.term p{font-size:.88rem;line-height:1.55;margin:0;}

#outer .cards{grid-template-columns:repeat(3,1fr);}
.sectors{
  display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:1.3rem;
  padding-top:1.1rem;border-top:1px solid var(--rule);
}
.sectors span{
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--dim);
}
@media (max-width:960px){#outer .cards{grid-template-columns:1fr;}}
/* ---------- small teams ---------- */
.small-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,70px);align-items:center;}
.who-list{display:grid;gap:0;margin-top:.4rem;}
.who-list div{
  padding:13px 0;border-top:1px solid var(--rule);
  font-size:.96rem;display:flex;align-items:baseline;gap:13px;
}
.who-list div:last-child{border-bottom:1px solid var(--rule);}
.who-list b{
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;
  color:var(--inner);font-weight:500;flex:none;width:2.2rem;
}

/* ---------- quotes ---------- */
.q-hero{
  position:relative;padding:0 0 0 26px;background:none;border:none;border-radius:0;
  max-width:var(--m-quote);
}
/* coral above, amber below. the two systems, not a blend. */
.q-hero::before{content:"";position:absolute;left:0;top:0;height:50%;width:3px;background:var(--inner);}
.q-hero::after{content:"";position:absolute;left:0;bottom:0;height:50%;width:3px;background:var(--outer-line);}
.q-mark{
  font-family:var(--f-display);font-size:4.2rem;line-height:.7;color:var(--inner);
  opacity:.32;display:block;margin-bottom:.6rem;
}
.q-hero blockquote{
  font-family:var(--f-display);font-weight:var(--d-weight);letter-spacing:var(--d-track);
  font-size:clamp(1.5rem,3.2vw,2.35rem);line-height:1.3;color:var(--ink);
}
.q-hero blockquote span{color:var(--inner);}
cite{
  display:block;margin-top:1.5rem;font-style:normal;
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--dim);
}
/* a quote is speech, not a card. it had the offering cards' exact rule,
   border, surface, hover lift, so it read as another thing you could buy.
   no box now: a mark, the display face, and a rule above who said it. */
.q-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,4.5vw,64px);margin-top:3rem;}
.q-sm{position:relative;padding:2.4rem 0 0;}
.q-sm::before{
  content:"\201C";position:absolute;left:0;top:0;line-height:1;
  font-family:var(--f-display);font-size:2.7rem;color:var(--inner);opacity:.9;
}
.q-sm blockquote{
  font-family:var(--f-display);font-weight:var(--d-weight);
  font-size:clamp(1.08rem,1.5vw,1.24rem);line-height:1.5;letter-spacing:var(--d-track);
  color:var(--body);max-width:var(--m-body);
}
.q-sm blockquote b{color:var(--ink);font-weight:400;}
.q-sm cite{
  display:block;margin-top:1.2rem;padding-top:.95rem;border-top:1px solid var(--rule);
  font-family:var(--f-mono);font-style:normal;font-size:.6rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--dim);
}
/* they arrive one after the other, not together */
.js .q-pair .q-sm{opacity:0;transform:translateY(14px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.q-pair.in .q-sm{opacity:1;transform:none;}
.q-pair.in .q-sm:nth-child(1){transition-delay:.10s;}
.q-pair.in .q-sm:nth-child(2){transition-delay:.32s;}
@media (max-width:860px){.q-pair{grid-template-columns:1fr;}}

/* ---------- founders ---------- */
.fnd-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,34px);margin-top:2.4rem;}
.fnd{
  border:1px solid var(--rule);border-radius:3px;padding:28px 26px;
  background:var(--surface);display:flex;gap:20px;align-items:flex-start;
  transition:background .5s ease,border-color .28s ease;
}
.fnd:hover{border-color:var(--rule-strong);}
.fnd img{
  width:82px;height:82px;border-radius:50%;flex:none;object-fit:cover;
  border:1px solid var(--rule-strong);
}
.fnd h3{font-size:1.16rem;margin-bottom:.15rem;}
.fnd-role{
  font-family:var(--f-mono);font-size:.63rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--inner);margin-bottom:.9rem;display:block;
}
.fnd ul{list-style:none;display:grid;gap:.3rem;}
.fnd li{font-size:.86rem;line-height:1.48;color:var(--body);padding-left:13px;position:relative;}
.fnd li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:1px;background:var(--outer-line);}
@media (max-width:860px){
  .fnd-grid{grid-template-columns:1fr;}
}

/* ---------- card footer ---------- */
.card-foot{
  display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;
  margin-top:auto;padding-top:1.2rem;
  font-family:var(--f-mono);font-size:.69rem;letter-spacing:.02em;line-height:1.4;
}
.card-foot em{font-style:normal;color:var(--dim);}
.card-foot b{font-weight:500;color:var(--ink);white-space:normal;}

/* ---------- close ---------- */
.close{text-align:center;border-top:1px solid var(--rule-strong);}
.close-line{
  font-family:var(--f-display);font-size:clamp(1.6rem,3.4vw,2.5rem);
  line-height:1.32;color:var(--ink);max-width:var(--m-display);margin:0 auto 2.2rem;font-weight:500;
}

/* ---------- nav dropdowns ---------- */
.nav-drop{position:relative;}
.nav-drop-btn{
  display:inline-flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;
  font-family:var(--f-body);font-size:.87rem;font-weight:400;color:var(--body);padding:0;
  transition:color .2s ease;
}
.nav-drop-btn:hover,.nav-drop:hover .nav-drop-btn{color:var(--ink);}
.caret{width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .3s ease;}
.nav-drop:hover .caret{transform:translateY(1px) rotate(-135deg);}
.nav-drop-menu{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);
  min-width:280px;display:flex;flex-direction:column;gap:2px;padding:9px;
  background:var(--surface);border:1px solid var(--rule-strong);border-radius:4px;
  box-shadow:0 24px 60px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s;
}
.nav-drop-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px;}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav-drop-menu a{display:block;padding:10px 12px;border-radius:3px;font-size:.87rem;color:var(--body);}
.nav-drop-menu a:hover{background:var(--inner-soft);color:var(--ink);}
.item-note{display:block;font-size:.73rem;color:var(--dim);margin-top:2px;}

/* ---------- hamburger + mobile overlay ---------- */
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001;}
.burger span{display:block;width:24px;height:2px;background:var(--ink);transition:all .3s ease;}
.burger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.burger.active span:nth-child(2){opacity:0;}
.burger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* The menu is the only screen a phone visitor sees in full, so it gets built
   rather than listed. Each family keeps its colour, every row states what the
   thing is underneath its name, and the mark points at where the row goes. */
.mob{
  display:none;position:fixed;inset:0;z-index:999;background:var(--ground);
  flex-direction:column;gap:1.5rem;padding:88px 22px 34px;overflow-y:auto;
  opacity:0;pointer-events:none;visibility:hidden;
  transition:opacity .32s ease,visibility .32s;
}
.mob.open{opacity:1;pointer-events:auto;visibility:visible;}

.mob-group{
  display:flex;flex-direction:column;gap:0;position:relative;
  padding-left:14px;border-top:1px solid var(--rule-strong);padding-top:1rem;
}
/* the family rail, the same device the sections use */
.mob-group::before{
  content:"";position:absolute;left:0;top:1rem;bottom:14px;width:2px;
  background:var(--rule-strong);
}
.mob-group:nth-of-type(1)::before{background:var(--inner);opacity:.75;}
.mob-group:nth-of-type(2)::before{background:var(--outer-line);opacity:.75;}

.mob-label{
  font-family:var(--f-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  margin-bottom:.65rem;color:var(--dim);display:flex;align-items:center;gap:.65em;
}
.mob-label::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;}
.mob-group:nth-of-type(1) .mob-label{color:var(--inner);}
.mob-group:nth-of-type(2) .mob-label{color:var(--outer-line);}

.mob a{
  position:relative;display:block;padding:15px 38px 15px 0;
  border-bottom:1px solid var(--rule);
  font-size:1.26rem;line-height:1.24;letter-spacing:-.012em;color:var(--ink);
  transition:padding-left .22s cubic-bezier(.22,1,.36,1),color .2s ease;
}
.mob a:last-child{border-bottom:none;}
.mob a em{
  display:block;margin-top:.34rem;font-style:normal;
  font-family:var(--f-mono);font-size:.74rem;letter-spacing:.04em;line-height:1.45;color:var(--dim);
}
/* the mark, pointing where the row goes */
.mob a::after{
  content:"";position:absolute;right:8px;top:26px;width:9px;height:9px;
  border-right:2px solid var(--dim);border-top:2px solid var(--dim);
  transform:rotate(45deg);transition:border-color .2s ease,transform .22s cubic-bezier(.22,1,.36,1);
}
.mob-group:nth-of-type(1) a::after{border-color:var(--inner);}
.mob-group:nth-of-type(2) a::after{border-color:var(--outer-line);}
.mob a:active{padding-left:8px;}
.mob a:active::after{transform:translateX(4px) rotate(45deg);}

/* where you already are */
.mob a[aria-current]{color:var(--ink);}
.mob a[aria-current]::before{
  content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:2px;background:var(--ink);
}

/* the rows arrive rather than appear */
.js .mob-group,.js .mob > .btn{opacity:0;transform:translateY(12px);
  transition:opacity .42s ease,transform .42s cubic-bezier(.22,1,.36,1);}
.mob.open .mob-group,.mob.open > .btn{opacity:1;transform:none;}
.mob.open .mob-group:nth-of-type(1){transition-delay:.06s;}
.mob.open .mob-group:nth-of-type(2){transition-delay:.13s;}
.mob.open .mob-group:nth-of-type(3){transition-delay:.20s;}
.mob.open > .btn{transition-delay:.27s;}
@media (prefers-reduced-motion:reduce){
  .js .mob-group,.js .mob > .btn{opacity:1;transform:none;transition:none;}
}

.mob .btn{margin-top:.2rem;justify-content:center;font-size:1.08rem;padding:18px 26px;width:100%;}

/* ---------- footer ---------- */
.footer{background:var(--surface);border-top:1px solid var(--rule-strong);padding:clamp(48px,6vw,80px) 0 40px;transition:background .5s ease;}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);}
.f-brand{margin-bottom:1.8rem;}
.f-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:2rem;}
.f-nav-label{font-family:var(--f-mono);font-size:.69rem;letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin-bottom:.9rem;}
.f-nav a{display:block;font-size:.9rem;color:var(--body);padding:5px 0;transition:color .2s ease;}
.f-nav a:hover{color:var(--inner);}
.f-info{font-size:.86rem;color:var(--dim);max-width:var(--m-body);line-height:1.6;}
.f-copy{font-size:.8rem;color:var(--dim);margin-top:1.1rem;}
.f-form h3{font-size:1.2rem;margin-bottom:1.1rem;}
.f-form form{display:grid;gap:11px;}
.f-form input,.f-form textarea{
  width:100%;background:var(--ground);border:1px solid var(--border-ctl);border-radius:3px;
  padding:13px 15px;color:var(--ink);font-family:var(--f-body);font-size:.95rem;
}
.f-form input::placeholder,.f-form textarea::placeholder{color:var(--dim);}
.f-form input:focus-visible,.f-form textarea:focus-visible{outline:2px solid var(--inner);outline-offset:2px;border-color:var(--inner);}
.f-form button{
  background:var(--inner);color:var(--btn-ink);border:none;border-radius:100px;padding:14px 26px;
  font-family:var(--f-body);font-size:.95rem;font-weight:500;cursor:pointer;justify-self:start;
  transition:filter .2s ease,transform .2s ease;
}
.f-form button:hover{filter:brightness(1.08);transform:translateY(-1px);}

/* ---------- mobile: maximum readability ---------- */
@media (max-width:900px){
  .footer-grid{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .terms{grid-template-columns:1fr;}

  h1{font-size:clamp(2.1rem,7.6vw,3rem);overflow-wrap:break-word;}
  h2{font-size:clamp(1.85rem,6.2vw,2.5rem);}
  h3{font-size:clamp(1.28rem,4.6vw,1.6rem);}
  p{font-size:1.12rem;line-height:1.8;}
  .hero-sub,.phero-sub{font-size:1.16rem;line-height:1.75;}
  .s-head p{font-size:1.12rem;line-height:1.75;}
  .eyebrow{font-size:.78rem;letter-spacing:.16em;}
  .card p,.leg p,.fnd li,.term p{font-size:1.05rem;line-height:1.7;}
  .who-list div,.f-nav a{font-size:1.05rem;}
  .stmt{max-width:100%;}
  .btn{font-size:1.05rem;padding:16px 28px;width:100%;justify-content:center;}
  .nav-cta{width:auto;}
  .hero-btns{flex-direction:column;align-items:stretch;}
  .trust-in{gap:10px 22px;}
  .trust span{font-size:.78rem;}
  .f-nav{grid-template-columns:1fr;gap:22px;}
  }

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);}
.rv.in{opacity:1;transform:none;}

/* ---------- grain, carried over from the current site ---------- */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.02;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:128px 128px;
}

/* Operator set wants a touch more air in the mono labels */

@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;}
  /* the menu collapses but the ask stays visible. a header with only a
     logo and a burger asks for nothing. */
  .nav-links{display:flex;gap:0;}
  .nav-links > *:not(.nav-cta){display:none;}
  .nav-cta{font-size:.8rem;padding:8px 15px;margin-right:4px;}
  .burger{display:flex;}
  .mob{display:flex;}
  .cards{grid-template-columns:1fr;}
  .map-legend,.small-grid{grid-template-columns:1fr;gap:26px;}
}
@media (max-width:600px){
  body{font-size:16px;}
  .trust-in{gap:9px 20px;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;transition:background .3s ease,color .3s ease !important;}
  .rv{opacity:1;transform:none;}
}

/* page hero */
.phero{padding:clamp(52px,7vw,96px) 0 clamp(34px,4vw,56px);border-bottom:1px solid var(--rule);}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,60px);align-items:center;}
.phero .eyebrow{margin-bottom:1.5rem;display:flex;align-items:center;gap:.7em;}
.phero h1{font-size:clamp(2.3rem,5vw,3.9rem);margin-bottom:1.2rem;}
.phero-sub{font-size:1.1rem;line-height:1.62;max-width:var(--m-sub);margin-bottom:1.9rem;}
.phero-facts{display:flex;flex-wrap:wrap;gap:10px 26px;padding-top:1.4rem;border-top:1px solid var(--rule);}
.phero-facts span{font-family:var(--f-mono);font-size:.69rem;letter-spacing:.03em;color:var(--dim);}
.phero-facts b{color:var(--ink);font-weight:500;}

/* prose */
.prose p{max-width:var(--measure);}
.prose h3{margin:2rem 0 .7rem;}
.lead{font-size:1.12rem;color:var(--ink);}

/* numbered steps */
.steps{display:grid;gap:0;margin-top:2rem;}
.step{display:grid;grid-template-columns:3rem 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--rule);}
.step:last-child{border-bottom:1px solid var(--rule);}
.step-n{font-family:var(--f-mono);font-size:.75rem;color:var(--inner);padding-top:.35em;}
.step h3{font-size:1.06rem;margin:0 0 .3rem;}
.step p{font-size:.95rem;margin:0;max-width:var(--m-body);overflow-wrap:break-word;}

/* two column list */
.tick{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;margin-top:1.8rem;}
/* one list, when there is no counterpart to set it against */
.tick-one{grid-template-columns:1fr;max-width:var(--m-body);}
.tick h3{font-size:1.02rem;margin-bottom:.9rem;padding-bottom:.7rem;border-bottom:1px solid var(--rule-strong);}
.tick ul{list-style:none;}
.tick li{font-size:.96rem;line-height:1.6;padding:11px 0 11px 20px;border-bottom:1px solid var(--rule);position:relative;}
.tick li::before{position:absolute;left:0;top:11px;font-family:var(--f-mono);font-size:.8rem;}
.tick-y li::before{content:"+";color:var(--inner);}
.tick-n li::before{content:"\2013";color:var(--dim);}

/* accordion */
.acc{margin-top:1.8rem;border-top:1px solid var(--rule);}
.acc-item{border-bottom:1px solid var(--rule);}
.acc-head{
  width:100%;text-align:left;background:none;border:none;cursor:pointer;color:var(--ink);
  font-family:var(--f-body);font-size:1.02rem;font-weight:400;padding:19px 40px 19px 0;
  position:relative;transition:color .2s ease;
}
.acc-head:hover{color:var(--inner);}
.acc-head .ico{position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--inner);font-size:1.2rem;transition:transform .3s ease;}
.acc-head[aria-expanded="true"] .ico{transform:translateY(-50%) rotate(45deg);}
.acc-body{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .4s ease,visibility .4s;}
.acc-body.open{visibility:visible;}
.acc-body p{font-size:.97rem;padding-bottom:19px;max-width:var(--m-body);}

/* offsite imagery */
.frame{position:relative;overflow:hidden;border:1px solid var(--rule-strong);border-radius:3px;}
.frame img{width:100%;height:100%;object-fit:cover;display:block;}
.frame canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen;opacity:.55;}
.frame-tall{aspect-ratio:4/3;max-width:500px;margin-left:auto;width:100%;}
.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,10,8,.72),rgba(11,10,8,.08) 55%);}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:2rem;}
.gallery .frame{aspect-ratio:1/1;}
.frame-cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px 20px;
  font-family:var(--f-mono);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink);
}

/* practitioners */
.people{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(14px,1.6vw,24px);margin-top:2rem;}
.person{text-align:left;}
.person img{width:100%;max-width:96px;aspect-ratio:1;height:auto;border-radius:50%;object-fit:cover;border:1px solid var(--rule-strong);margin-bottom:.8rem;}
.person b{display:block;color:var(--ink);font-weight:500;font-size:1rem;}
.person span{font-size:.88rem;color:var(--dim);line-height:1.5;display:block;margin-top:.2rem;}

/* cta band */
.cta{text-align:center;border-top:1px solid var(--rule);}
.cta h2{max-width:var(--m-display);margin:0 auto 1rem;}
.cta p{margin:0 auto 1.8rem;max-width:var(--m-body);}

@media (max-width:900px){
  .phero-grid{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr 1fr;}
  .people{grid-template-columns:repeat(3,1fr);}
  .tick{grid-template-columns:1fr;gap:30px;}
}
@media (max-width:600px){
  .gallery{grid-template-columns:1fr;}
  .people{grid-template-columns:repeat(2,1fr);}
  .step{grid-template-columns:2.2rem 1fr;gap:12px;}
  .acc-head{font-size:1.06rem;}
  .acc-body p{font-size:1.05rem;}
}

/* a real moment from the work, marked as one */
.case{border-left:2px solid var(--inner);padding:4px 0 4px 24px;max-width:var(--m-body);}
.case-k{
  display:block;font-family:var(--f-mono);font-size:.69rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--dim);margin-bottom:.7rem;
}
/* fallback for browsers without :focus-visible */
.f-form input:focus,.f-form textarea:focus{border-color:var(--inner);}
.case-q{
  font-family:var(--f-display);font-weight:var(--d-weight);letter-spacing:var(--d-track);
  font-size:clamp(1.2rem,2.2vw,1.6rem);line-height:1.34;color:var(--ink);max-width:var(--m-lead);margin-bottom:.7rem;
}
.case-a{font-size:.97rem;max-width:var(--m-body);color:var(--body);}
@media (max-width:768px){.case-a{font-size:1.05rem;}}

/* expandable founder bios */
.bio-toggle{
  margin-top:1rem;background:none;border:none;cursor:pointer;padding:6px 0;
  font-family:var(--f-mono);font-size:.69rem;letter-spacing:.05em;text-transform:uppercase;
  color:var(--inner);transition:opacity .2s ease;
}
.bio-toggle:hover{opacity:.75;}
.bio-expand{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .5s cubic-bezier(.22,1,.36,1),visibility .5s;}
.bio-expand.open{visibility:visible;}
.bio-expand p{font-size:.93rem;line-height:1.68;margin-top:.9rem;max-width:var(--m-body);color:var(--body);}
.bio-expand p:first-child{margin-top:.4rem;}
@media (max-width:768px){.bio-expand p{font-size:1.02rem;}}/* ---------- the novel, given room ---------- */ .novel-line{margin:0 0 2.6rem;font-family:var(--f-display);font-weight:var(--d-weight);letter-spacing:var(--d-track);font-size:clamp(1.7rem,3.6vw,2.9rem);line-height:1.24;color:var(--ink);max-width:var(--m-display);}
.novel-line::after{
  content:"";display:block;width:52px;height:3px;border-radius:3px;margin-top:1.3rem;
  background:linear-gradient(90deg,var(--inner),var(--outer-line));
}
.novel-grid{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,4vw,52px);align-items:start;}
.novel-cover{perspective:1000px;}
.novel-cover img{
  /* the cover carries a blank band above the title, about 15 percent of its
     height. cropped here rather than in the file, so the artwork is untouched. */
  width:100%;height:auto;aspect-ratio:760/1094;object-fit:cover;object-position:center bottom;
  display:block;border:1px solid var(--rule-strong);
  box-shadow:0 26px 60px -26px rgba(0,0,0,.9),0 0 40px -18px rgba(255,86,56,.45);
  transform:rotateY(-7deg);transform-origin:left center;
}
.novel-body p{font-size:.98rem;max-width:var(--m-body);}
.novel-meta{
  margin-top:1rem;font-family:var(--f-mono);font-size:.63rem;letter-spacing:.03em;
  text-transform:uppercase;color:var(--dim);
}
.novel-meta a{color:var(--inner);border-bottom:1px solid rgba(255,86,56,.4);}
.novel-meta a:hover{border-bottom-color:var(--inner);}
@media (max-width:1000px){
  .novel-grid{grid-template-columns:minmax(0,180px) minmax(0,1fr);}
}
@media (max-width:640px){
  .novel-grid{grid-template-columns:1fr;}
  .novel-cover{max-width:190px;}
  .novel-cover img{transform:none;animation:none;}
  .novel-body p{font-size:1.05rem;}
}
@media (prefers-reduced-motion:reduce){.novel-cover img{animation:none;transform:none;}}

/* Martian Mono runs wide and dark. Trim size and weight so labels stay quiet. */
.eyebrow,.trust span,.card-foot,.f-nav-label,.case-k,.novel-meta,.bio-toggle,.phero-facts span{font-weight:400;}

/* ---------- the way in ---------- */
.hd-box{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(30px,5vw,64px);
  background:none;border:none;padding:0;
}

.hd-body p{max-width:var(--m-body);}
.hd-facts{list-style:none;display:grid;gap:0;align-content:start;}
.hd-facts li{padding:14px 0;border-top:1px solid var(--rule);}
.hd-facts li:last-child{border-bottom:1px solid var(--rule);}
.hd-facts b{display:block;font-family:var(--f-display);font-weight:var(--d-weight);letter-spacing:var(--d-track);
  font-size:1.16rem;color:var(--ink);margin-bottom:.18rem;}
.hd-facts span{font-family:var(--f-mono);font-size:.69rem;letter-spacing:.02em;text-transform:uppercase;color:var(--dim);}
@media (max-width:860px){.hd-box{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:clamp(30px,5vw,64px);
  background:none;border:none;padding:0;
}}
@media (max-width:768px){.hd-box{grid-template-columns:1fr;}.hd-body p{font-size:1.06rem;}}

.sectors a{
  font-family:var(--f-mono);font-size:.65rem;letter-spacing:.03em;text-transform:uppercase;
  color:var(--inner);border-bottom:1px solid rgba(255,86,56,.4);
}
.sectors a:hover{border-bottom-color:var(--inner);}

/* named quote with a face */
.q-person{display:flex;align-items:center;gap:14px;margin-top:1.6rem;}
.q-person img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:1px solid var(--rule-strong);flex:none;}
.q-person cite{margin:0;font-family:var(--f-body);font-size:.95rem;font-weight:500;color:var(--ink);
  letter-spacing:0;text-transform:none;}
.q-person cite em{display:block;font-style:normal;font-family:var(--f-mono);font-size:.58rem;
  letter-spacing:.02em;text-transform:uppercase;color:var(--dim);margin-top:.25rem;font-weight:400;}

/* ---------- illustration atmosphere ---------- */
to{transform:translate3d(0,calc(var(--drift,7px) * -1),0);} }
}
to{opacity:1;} }
100%{opacity:1;r:7;} }
svg[data-art] text{font-family:var(--f-mono);font-weight:400;}
/* ---------- accessibility and small screens ---------- */
@media (max-width:768px){
  .fnd{flex-direction:column;gap:14px;}
  .card-foot{
  display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;
  margin-top:auto;padding-top:1.2rem;
  font-family:var(--f-mono);font-size:.69rem;letter-spacing:.02em;line-height:1.4;
}
  .card-foot b{font-weight:500;color:var(--ink);white-space:normal;}
  .hd-facts span,.f-copy{font-size:.7rem;}
  .novel-meta{
  margin-top:1rem;font-family:var(--f-mono);font-size:.63rem;letter-spacing:.03em;
  text-transform:uppercase;color:var(--dim);
}
  .novel-meta a{display:inline-block;padding:8px 0;}
  .bio-toggle,.acc-head{min-height:44px;}
}
@media (max-width:400px){
  .page{padding:0 20px;}
  .nav-in{padding:0 20px;}
}
/* every control needs a visible focus ring, not only links */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--inner);outline-offset:3px;border-radius:2px;
}
/* the five inner meetings breathe, the near one holds still */
50%{opacity:.78}}
.quiet-link{
  display:inline-block;margin-top:.9rem;
  font-family:var(--f-mono);font-size:.69rem;letter-spacing:.04em;text-transform:uppercase;
  color:var(--inner);border-bottom:1px solid rgba(255,86,56,.55);white-space:nowrap;
}
.fnd-more{margin-top:2.4rem;}
.quiet-link:hover{border-bottom-color:var(--inner);}

.novel-2col{grid-template-columns:minmax(0,250px) minmax(0,1fr);align-items:center;}
@media (max-width:640px){.novel-2col{grid-template-columns:1fr;}}

/* pages without an illustration: copy takes the full measure */
.phero-solo{grid-template-columns:1fr;}
.phero-solo .phero-sub{max-width:var(--m-sub);}

/* portfolio list */
.works{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule);margin-top:2rem;}
.works > *{background:var(--ground);padding:22px 22px 20px;display:block;text-decoration:none;
  transition:background .25s ease;}
.works a:hover{background:var(--surface);}
.works b{display:block;color:var(--ink);font-weight:500;font-size:1rem;margin-bottom:.25rem;}
.works span{font-size:.88rem;color:var(--dim);line-height:1.5;}
.works a b::after{content:" \2197";color:var(--inner);font-weight:400;}
@media (max-width:820px){.works{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.works{grid-template-columns:1fr;}}

/* things people start saying */
.says{display:grid;gap:0;margin-top:1.8rem;border-top:1px solid var(--rule);}
.says p{
  margin:0;padding:17px 0 17px 30px;border-bottom:1px solid var(--rule);position:relative;
  font-family:var(--f-display);font-size:clamp(1.02rem,1.9vw,1.24rem);line-height:1.4;
  color:var(--ink);font-weight:400;letter-spacing:-.012em;max-width:var(--m-body);
}
.says p::before{content:"\201C";position:absolute;left:0;top:14px;color:var(--inner);
  font-family:var(--f-display);font-size:1.5rem;line-height:1;}

/* the logo, at its real proportions */
.brand img{height:26px;width:auto;display:block;}
.f-brand img{height:34px;width:auto;display:block;}
@media (max-width:600px){.brand img{height:23px;}}

/* proof, placed beside the thing it proves, and unmistakably a quotation */
.said{
  position:relative;margin:3rem 0 0;padding:0 0 0 58px;max-width:var(--m-quote);
}
.said::before{
  content:"\201C";position:absolute;left:0;top:-18px;
  font-family:var(--f-display);font-size:4.6rem;line-height:1;color:var(--inner);opacity:.85;
}
.said blockquote{
  font-family:var(--f-display);font-weight:var(--d-weight);letter-spacing:var(--d-track);
  font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.4;color:var(--ink);font-style:italic;
}
.said blockquote::after{content:"\201D";color:var(--inner);opacity:.85;}
.said figcaption{
  margin-top:.9rem;padding-top:.7rem;border-top:1px solid var(--rule);
  font-family:var(--f-mono);font-size:.69rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--dim);display:inline-block;
}
@media (max-width:768px){
  .said{
  position:relative;margin:3rem 0 0;padding:0 0 0 58px;max-width:var(--m-quote);
}
  .said::before{font-size:3.2rem;}
  .said blockquote{
  font-family:var(--f-display);font-weight:var(--d-weight);letter-spacing:var(--d-track);
  font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.4;color:var(--ink);font-style:italic;
}
}

/* ============================================================
   Section rhythm. Every section is separated by a sharp hairline
   and sits on a very slightly different ground. The step is small
   enough that it never reads as stripes, and large enough that the
   eye registers a new section without being told.
   ============================================================ */
section{border-top:1px solid var(--rule-strong);}
section:first-of-type{border-top:none;}

main > section:nth-of-type(odd){background:var(--ground);}
main > section:nth-of-type(even){background:#141210;}

/* the two argument sections lift a little further, so they read as
   the places where something is being claimed rather than listed */
#map,main > section.combine{background:var(--tint);}

/* a sharp coral tick at the start of every section, on the left margin */
section > .page{position:relative;}
section > .page:not(:first-of-type)::before{display:none;}
section > .page::before{
  content:"";position:absolute;left:0;top:calc(-1 * clamp(66px,8.5vw,124px) - 1px);
  width:56px;height:2px;background:var(--inner);opacity:.85;
}
section:first-of-type > .page::before{display:none;}
.close > .page::before{left:50%;transform:translateX(-50%);}

/* the mark at scale, in the hero */
.hero-art svg{width:100%;height:auto;display:block;max-width:560px;margin-left:auto;}

/* the hero mark: a slow light travelling the axis of convergence, once the
   drawing has settled. it runs every nine seconds and never on its own. */
.mk-sheen{opacity:0;}
.mk-sheen.mk-run{animation:mk-sheen 9s linear 0s infinite;}
@keyframes mk-sheen{
  0%{opacity:0;stroke-dashoffset:0;}
  8%{opacity:.8;}
  46%{opacity:.8;}
  60%{opacity:0;}
  100%{opacity:0;stroke-dashoffset:-400;}
}
@media (prefers-reduced-motion:reduce){.mk-sheen{display:none;animation:none;}}

.hero{padding-bottom:clamp(56px,7vw,96px);}
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-art{margin-top:2.4rem;}
  .hero-art svg{max-width:440px;margin:0 auto;}
}

/* our own words, quoted. distinct from a client quote: no marks in the margin,
   a rule above and below, and the source named underneath. */
.ours{
  margin:3.4rem 0 0;padding:2.6rem 0 0;width:100%;text-align:center;
  border-top:1px solid var(--rule-strong);
}
.ours blockquote{
  font-family:var(--f-display);font-weight:var(--d-weight);letter-spacing:var(--d-track);
  font-size:clamp(1.4rem,3vw,2.15rem);line-height:1.32;color:var(--ink);
  max-width:var(--m-lead);margin:0 auto;
}
.ours figcaption{
  margin-top:1.4rem;font-family:var(--f-mono);font-size:.69rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--inner);
}
@media (max-width:768px){.ours{
  margin:3.4rem 0 0;padding:2.6rem 0 0;width:100%;text-align:center;
  border-top:1px solid var(--rule-strong);
}}
.fnd li a{color:var(--inner);border-bottom:1px solid rgba(255,86,56,.4);}
.fnd li a:hover{border-bottom-color:var(--inner);}

/* where inner and outer meet: a full bleed band, cropped rather than shrunk
   on narrow screens so the weave stays at a readable scale */
.meet{margin:3.4rem 0 3.6rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.meet svg{display:block;width:100%;height:clamp(170px,22vw,300px);}

/* the page hero art column, same treatment as the home page mark */
.phero-art svg{width:100%;height:auto;display:block;max-width:440px;margin-left:auto;}
@media (max-width:900px){
  .phero-art{margin-top:2.2rem;}
  .phero-art svg{max-width:340px;margin:0 auto;}
}

/* the hours diagram: marks travelling back through the room each week has
   opened up, on a loop, because the hours keep coming back rather than having
   come back once. --d is the distance, set per row in the generator. */
.hr-flow{animation-name:hr-flow;animation-timing-function:linear;animation-iteration-count:infinite;}
@keyframes hr-flow{
  0%{transform:translateX(0);opacity:0;}
  12%{opacity:.95;}
  80%{opacity:.95;}
  100%{transform:translateX(calc(var(--d) * -1px));opacity:0;}
}
@media (prefers-reduced-motion:reduce){.hr-flow{display:none;}}

/* law firms: the day being worked walks across the week, so the calendar is
   in use rather than filed. --cw is one column, set in the generator. */
.lf-col{animation:lf-col 14s steps(7,end) infinite;}
@keyframes lf-col{from{transform:translateX(0);}to{transform:translateX(calc(var(--cw) * 7px));}}
@media (prefers-reduced-motion:reduce){.lf-col{animation:none;}}

/* Small type on a phone. The mono labels were landing between 9 and 11px,
   which is unreadable on a dark background in a wide face. Nothing here is
   decorative text: these are prices, credentials, attributions and captions,
   so they are raised to at least 12px and mostly to 12.5. */
@media (max-width:768px){
  .phero-facts span,.card-foot,.case-k,.f-nav-label,.ours figcaption,.said figcaption,
  .quiet-link,.bio-toggle,.hd-facts span,.f-copy,.frame-cap,.who-list b{font-size:.79rem;}
  cite,.q-sm cite{font-size:.78rem;}
  .novel-meta,.fnd-role{font-size:.79rem;}
  .sectors a,.sectors span{font-size:.78rem;}
  .q-person cite em{font-size:.78rem;}
  .step-n{font-size:.84rem;}
  .mob-label{font-size:.78rem;}
  .mob a em{font-size:.79rem;}
  /* Martian Mono is wide, so give the raised labels their tracking back */
  .card-foot,.phero-facts span,.hd-facts span{letter-spacing:.015em;}
}
