/* =========================================================================
   Lullabiome — design system
   Palette derived from the brand logo (leaf green, gut terracotta, moon gold,
   slate ink, warm cream). Warm-scientific: Newsreader + Inter + IBM Plex Mono.
   ========================================================================= */

:root {
  /* Surfaces */
  --cream:        #F7F3E9;
  --cream-deep:   #F0E9D9;
  --paper:        #FCFAF3;
  --card:         #FBF7EE;

  /* Ink */
  --ink:          #2A3A3D;   /* headings */
  --slate:        #3B4B4E;   /* body */
  --slate-soft:   #5B6D70;   /* muted */

  /* Brand */
  --green:        #3F6B3C;   /* primary — the leaf */
  --green-deep:   #2C4E2C;
  --green-forest: #21362A;   /* dark sections / footer */
  --terracotta:   #A5673A;   /* the gut / warmth */
  --terracotta-light: #D3A17A; /* wordmark accent on dark bg */
  --brand-brown:  #B4743F;   /* "biome" wordmark accent (legible on cream + forest) */
  --green-light:  #7BA35C;   /* system 4 accent — lighter green, distinct from forest */
  --terracotta-d: #8A5330;
  --gold:         #A9812F;   /* moon + stars, text-safe */
  --gold-bright:  #C7A24A;   /* lines / glyphs */
  --sand:         #E5D6B0;

  /* Utility */
  --line:         rgba(42,58,61,0.13);
  --border:       #E6DDCB;
  --shadow-sm:    0 1px 2px rgba(42,58,61,.05);
  --shadow-md:    0 10px 34px -18px rgba(42,58,61,.35);

  /* Type */
  --serif: "Newsreader", Georgia, "Times New Roman", serif;
  --sans:  "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono:  "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* Rhythm */
  --wrap: 1140px;
  --wrap-narrow: 760px;
  --r: 14px;      /* radius */
  --r-lg: 22px;
  --sp: clamp(4.5rem, 9vw, 8rem); /* vertical section padding */
}

/* ---------- reset / base ---------- */
*,*::before,*::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){
  html { scroll-behavior: auto; }
  *,*::before,*::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}
body {
  font-family: var(--sans);
  color: var(--slate);
  background: var(--cream);
  line-height: 1.65;
  font-size: 1.0625rem;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; height: auto; }
a { color: var(--green-deep); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--terracotta-d); }
::selection { background: var(--sand); color: var(--ink); }

/* ---------- typography ---------- */
h1,h2,h3,h4 { font-family: var(--serif); color: var(--ink); font-weight: 500; line-height: 1.12; letter-spacing: -0.01em; }
h1 { font-size: clamp(2.5rem, 5.2vw, 4rem); font-weight: 460; letter-spacing: -0.02em; }
h2 { font-size: clamp(1.9rem, 3.6vw, 2.9rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); }
h4 { font-size: 1.12rem; font-family: var(--sans); font-weight: 650; color: var(--ink); letter-spacing: 0; }
p { color: var(--slate); }
.lead { font-size: clamp(1.15rem, 1.7vw, 1.375rem); line-height: 1.6; color: var(--slate); }
strong { color: var(--ink); font-weight: 650; }

.eyebrow {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--terracotta);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
}
.eyebrow::before { content:""; width: 26px; height: 1px; background: var(--gold-bright); display:inline-block; }
.eyebrow.plain::before { display:none; }

/* ---------- layout ---------- */
.wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
.narrow { max-width: var(--wrap-narrow); }
section { padding-block: var(--sp); }
.section-head { max-width: 720px; margin-bottom: clamp(2.5rem,5vw,3.75rem); }
.section-head:has(+ .systable) { margin-bottom: clamp(1rem, 2.5vw, 1.5rem); }
.section-head .eyebrow { margin-bottom: 1.1rem; }
.section-head p { margin-top: 1.1rem; }

/* alt background bands */
.band-cream { background: var(--cream-deep); }
.band-paper { background: var(--paper); }
.band-forest { background: var(--green-forest); color: #E7E9DF; }
.band-forest h1,.band-forest h2,.band-forest h3 { color: #F4F1E6; }
.band-forest p { color: #C6CDBE; }
.band-forest .eyebrow { color: var(--gold-bright); }
.band-forest .eyebrow::before { background: rgba(199,162,74,.6); }

/* ---------- buttons ---------- */
.btn {
  --bg: var(--green); --fg: #FBF8EF;
  display: inline-flex; align-items: center; gap: .55rem;
  font-family: var(--sans); font-weight: 560; font-size: .98rem;
  padding: .85rem 1.5rem; border-radius: 100px;
  background: var(--bg); color: var(--fg);
  border: 1px solid transparent; cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
  text-decoration: none; white-space: nowrap;
}
.btn:hover { color: var(--fg); background: var(--green-deep); transform: translateY(-1px); box-shadow: var(--shadow-md); }
.btn .arrow { transition: transform .18s ease; }
.btn:hover .arrow { transform: translateX(3px); }
.btn.ghost { --bg: transparent; --fg: var(--ink); border-color: var(--border); }
.btn.ghost:hover { --bg: var(--cream-deep); --fg: var(--ink); color: var(--ink); box-shadow: none; border-color: var(--slate-soft); }
.btn.on-forest { --bg: var(--gold-bright); --fg: #22321f; }
.btn.on-forest:hover { --bg: #d5b25f; --fg:#22321f; }
.textlink {
  display: inline-flex; align-items:center; gap:.4rem; font-weight: 560;
  color: var(--green-deep); text-decoration: none;
  border-bottom: 1px solid transparent; padding-bottom: 1px;
}
.textlink .arrow { transition: transform .18s ease; }
.textlink:hover { color: var(--terracotta-d); }
.textlink:hover .arrow { transform: translateX(3px); }

/* focus visibility */
:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; border-radius: 4px; }

/* ---------- header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(247,243,233,.86);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid var(--line);
}
.nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 76px; }
.brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
.brand img { height: 34px; width: auto; }
.brand .word { font-family: var(--serif); font-weight: 600; font-size: 1.35rem; color: var(--ink); letter-spacing: -.02em; }
.brand .word b { color: var(--brand-brown); font-weight: 600; }
.nav-links { display: flex; align-items: center; gap: 2rem; list-style: none; }
.nav-links a { color: var(--slate); text-decoration: none; font-weight: 500; font-size: .97rem; position: relative; }
.nav-links a:hover { color: var(--ink); }
.nav-links a.active { color: var(--ink); }
.nav-links a.active::after { content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background: var(--gold-bright); border-radius:2px; }
.nav-right { display:flex; align-items:center; gap:1.25rem; }
.nav-toggle { display:none; background:none; border:0; cursor:pointer; padding:.4rem; color: var(--ink); }
.nav-links .mobile-cta { display:none; } /* shown only in mobile dropdown */
.nav-toggle svg { display:block; }

@media (max-width: 860px){
  .nav-toggle { display:inline-flex; }
  .nav-right .btn { display:none; }
  .nav-links {
    position: absolute; top: 76px; left:0; right:0;
    flex-direction: column; align-items: flex-start; gap: 0;
    background: var(--cream); border-bottom: 1px solid var(--border);
    padding: .5rem clamp(1.25rem,4vw,2.5rem) 1.25rem;
    box-shadow: var(--shadow-md);
    display: none;
  }
  .nav-links.open { display: flex; }
  .nav-links li { width:100%; }
  .nav-links a { display:block; width:100%; padding: .85rem 0; border-bottom: 1px solid var(--line); font-size: 1.05rem; }
  .nav-links a.active::after { display:none; }
  .nav-links .mobile-cta { display:block; padding-top: 1rem; border:0; }
  .nav-links .mobile-cta .btn { display:inline-flex; }
}

/* ---------- hero ---------- */
.hero { padding-top: clamp(3.5rem, 7vw, 6rem); padding-bottom: clamp(3.5rem,7vw,6rem); position: relative; overflow: clip; }
.hero.wrap:not(.center) { padding-top: clamp(1.75rem, 3.5vw, 3rem); }
.hero-head .eyebrow::before { display: none; }
.hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem,5vw,4rem); align-items: center; }
.hero h1 { margin-top: 1.2rem; }
.hero .lead { margin-top: 1.5rem; max-width: 34ch; }
.hero-cta { display:flex; flex-wrap:wrap; gap: .85rem; margin-top: 2rem; }
.hero-note { margin-top: 1.6rem; font-family: var(--mono); font-size:.75rem; letter-spacing:.04em; color: var(--slate-soft); }
.hero-emblem { position: relative; display:grid; place-items:center; }
.hero-emblem .disc {
  aspect-ratio: 1; width: min(90%, 378px);
  border-radius: 50%;
  display:grid; place-items:center;
}
.hero-emblem .disc picture { display: contents; }
.hero-emblem .disc img { width: 100%; }
@media (min-width: 861px){
  .hero-emblem .disc img { filter: drop-shadow(0 12px 16px rgba(42,58,61,.32)); }
}
@media (max-width: 860px){
  .hero-grid { grid-template-columns: 1fr; gap: clamp(1.25rem, 4vw, 1.75rem); }
  /* let the copy's two halves become grid items so the emblem can sit between them */
  .hero-copy { display: contents; }
  .hero-head { order: 1; }
  .hero-emblem { order: 2; }
  .hero-body { order: 3; }
  /* smaller, frameless logo — drop the cream disc + glow so the white space goes away */
  .hero-emblem .disc { width: min(50%, 200px); background: none; border: 0; box-shadow: none; }
  .hero-emblem .disc img { width: 100%; }
  .hero-emblem .halo { display: none; }
  .hero .lead { max-width: none; }
}

/* ---------- generic feature/prose cards ---------- */
.grid { display:grid; gap: clamp(1.25rem, 2.5vw, 1.75rem); }
.cols-2 { grid-template-columns: repeat(2,1fr); }
.cols-3 { grid-template-columns: repeat(3,1fr); }
@media (max-width: 820px){ .cols-2,.cols-3 { grid-template-columns: 1fr; } }

.card {
  background: var(--card); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: clamp(1.5rem,3vw,2.1rem);
  box-shadow: var(--shadow-sm);
}
.card h3 { margin-bottom: .55rem; }
.card p { color: var(--slate); }

/* ---------- signature: four systems ---------- */
.systems { display:grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (max-width: 980px){ .systems { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px){ .systems { grid-template-columns: 1fr; } }
.system {
  background: var(--paper); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 1.6rem 1.4rem;
  position: relative; overflow: hidden;
  display:flex; flex-direction:column;
}
.system::before { content:""; position:absolute; top:0; left:0; right:0; height:4px; background: var(--accent, var(--green)); opacity:.9; }
.system .num { font-family: var(--mono); font-size:.72rem; letter-spacing:.12em; color: var(--slate-soft); }
.system .glyph { width:46px; height:46px; margin:.6rem 0 1rem; color: var(--accent, var(--green)); }
.system .glyph svg { width:100%; height:100%; }
.system h3 { font-size: 1.2rem; margin-bottom:.15rem; }
.system .sci { font-family: var(--mono); font-size:.72rem; letter-spacing:.02em; color: var(--terracotta-d); margin-bottom:.7rem; }
.system p { font-size:.95rem; line-height:1.55; }
.system:nth-child(1){ --accent: var(--terracotta); }
.system:nth-child(2){ --accent: var(--gold); }
.system:nth-child(3){ --accent: var(--green); }
.system:nth-child(4){ --accent: var(--green-light); }

/* four-systems detailed table */
.systable { width:100%; border-collapse: collapse; font-size:.97rem; }
.systable caption { text-align:left; font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--slate-soft); padding-bottom:1rem; }
.systable th, .systable td { text-align:left; padding: 1rem 1.1rem; border-bottom:1px solid var(--border); vertical-align: top; }
.systable thead th { font-family:var(--mono); font-weight:500; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--slate-soft); border-bottom:1px solid var(--slate-soft); }
.systable tbody th { font-family: var(--serif); font-weight:500; font-size:1.08rem; color: var(--ink); white-space:nowrap; }
.systable tbody th small { display:block; font-family:var(--mono); font-size:.68rem; letter-spacing:.02em; color:var(--terracotta-d); font-weight:400; margin-top:.25rem; white-space:normal; }
.systable tr:last-child td, .systable tr:last-child th { border-bottom:0; }
.systable td strong { color: var(--ink); }
@media (max-width: 760px){
  .systable, .systable thead, .systable tbody, .systable th, .systable td, .systable tr { display:block; }
  .systable thead { display:none; }
  .systable tbody th { border-bottom:0; padding-bottom:.25rem; }
  .systable tbody tr { border:1px solid var(--border); border-radius: var(--r); margin-bottom:1rem; padding:.4rem .2rem; background:var(--paper); }
  .systable td { border-bottom:1px solid var(--line); }
  .systable tr:last-child td { border-bottom:1px solid var(--line); }
  .systable td::before { content: attr(data-label); display:block; font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--slate-soft); margin-bottom:.25rem; }
}

/* comparison strip */
.compare { display:grid; grid-template-columns: 1fr 1fr; gap:1rem; margin-top:2.5rem; }
@media (max-width:640px){ .compare { grid-template-columns:1fr; } }
.compare .cmp { border-radius: var(--r-lg); padding:1.5rem 1.6rem; border:1px solid var(--border); }
.compare .typical { background: var(--cream); }
.compare .ours { background: #EEF2E7; border-color: #cdd9bf; }
.compare .cmp h4 { margin-bottom:.9rem; }
.compare .dots { display:flex; gap:.4rem; margin-bottom:1rem; }
.compare .dot { width: 26px; height:8px; border-radius:6px; background: var(--border); }
.compare .dot.on { background: var(--green); }
.compare .typical .dot.on { background: var(--terracotta); }
.compare .cmp p { font-size:.95rem; }

/* ---------- team ---------- */
.team-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }
@media (max-width: 820px){ .team-grid { grid-template-columns:1fr; } }
.role {
  background: var(--card); border:1px solid var(--border); border-radius: var(--r-lg);
  padding: 1.8rem 1.6rem;
}
.role .ic { display:inline-block; line-height:0; color: var(--green); margin-bottom:1rem; }
.role .ic svg { width:34px; height:34px; display:block; }
.role h3 { font-size:1.22rem; margin-bottom:.5rem; }
.role p { font-size:.96rem; }

/* ---------- newsletter / footer ---------- */
.newsletter { border-radius: var(--r-lg); }
.news-inner { display:grid; grid-template-columns: 1.1fr .9fr; gap: clamp(1.5rem,4vw,3rem); align-items:center; }
@media (max-width: 820px){ .news-inner { grid-template-columns:1fr; } }
.news-form { display:flex; gap:.6rem; margin-top:1.4rem; flex-wrap:wrap; }
.news-form input[type=email]{
  flex:1 1 240px; padding:.9rem 1.1rem; border-radius:100px;
  border:1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.08);
  color:#F4F1E6; font-family:var(--sans); font-size:1rem;
}
.news-form input::placeholder{ color:#A9B3A3; }
.news-form input:focus{ outline:2px solid var(--gold-bright); outline-offset:2px; }
.news-msg { font-family:var(--mono); font-size:.78rem; margin-top:.9rem; color:var(--gold-bright); min-height:1.1em; }
.fineprint { font-size:.8rem; color:#A9B3A3; margin-top:1rem; }
.band-forest .fineprint a { color:#cdd6c4; }

.site-footer { background: var(--green-forest); color:#C6CDBE; padding-block: clamp(3rem,6vw,4.5rem) 2rem; }
.footer-top { display:grid; grid-template-columns: 1.4fr 1fr 1fr; gap:2rem; padding-bottom:2.5rem; border-bottom:1px solid rgba(255,255,255,.12); }
@media (max-width: 820px){ .footer-top { grid-template-columns:1fr 1fr; } }
@media (max-width: 520px){ .footer-top { grid-template-columns:1fr; } }
.footer-brand .word { font-family:var(--serif); font-size:1.35rem; color:#F4F1E6; font-weight:600; letter-spacing:-.02em; }
.footer-brand .word b { color: var(--brand-brown); font-weight:600; }
.footer-brand .tag { font-family:var(--serif); font-style:italic; font-size:1rem; letter-spacing:normal; color:#F4F1E6; background:none; border:0; padding:0; border-radius:0; margin-top:.5rem; max-width:32ch; }
.footer-col h5 { font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:1rem; font-weight:500; }
.footer-col a { display:block; color:#C6CDBE; text-decoration:none; padding:.32rem 0; font-size:.95rem; }
.footer-col a:hover { color:#F4F1E6; }
.footer-bottom { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding-top:2rem; font-size:.82rem; color:#93A08D; }
.disclaimer {
  margin-top:1.6rem; padding:1.1rem 1.3rem; border:1px solid rgba(255,255,255,.14);
  border-radius: var(--r); background: rgba(0,0,0,.12);
  font-size:.78rem; line-height:1.6; color:#AEB8A6;
}
.disclaimer strong { color:#D7DDCE; }

/* ---------- article / prose ---------- */
.article { padding-top: clamp(2.5rem,5vw,4rem); }
.article-head { max-width: var(--wrap-narrow); margin: 0 auto clamp(2rem,4vw,3rem); }
.article-head h1 { font-size: clamp(2.1rem,4vw,3.1rem); margin:.9rem 0; }
.article-meta { font-family:var(--mono); font-size:.75rem; letter-spacing:.05em; color: var(--slate-soft); }
.prose { max-width: var(--wrap-narrow); margin-inline:auto; }
.prose > * + * { margin-top: 1.15rem; }
.prose h2 { font-size: clamp(1.5rem,2.6vw,2rem); margin-top: 2.6rem; }
.prose h3 { margin-top: 1.9rem; color: var(--green-deep); }
.prose p, .prose li { color: var(--slate); font-size: 1.075rem; line-height: 1.72; }
.prose ul, .prose ol { padding-left: 1.3rem; }
.prose li + li { margin-top: .5rem; }
.prose a { color: var(--green-deep); font-weight:500; }
.prose strong { color: var(--ink); }
.prose blockquote, .callout {
  border-left: 3px solid var(--gold-bright);
  background: var(--cream-deep);
  padding: 1.2rem 1.4rem; border-radius: 0 var(--r) var(--r) 0;
  margin-top: 1.6rem;
}
.callout .k { font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--terracotta-d); display:block; margin-bottom:.5rem; }
.callout p { font-size: 1rem; }
.prose hr { border:0; border-top:1px solid var(--border); margin: 2.5rem 0; }
.prose table { width:100%; border-collapse:collapse; font-size:.96rem; margin-top:1.4rem; }
.prose th, .prose td { text-align:left; padding:.8rem .9rem; border-bottom:1px solid var(--border); vertical-align:top; }
.prose thead th { font-family:var(--mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--slate-soft); }
.refs { font-size:.86rem; color: var(--slate-soft); }
.refs li { line-height:1.5; }
.faq h3 { font-size:1.15rem; }

/* pill / tag */
.tagrow { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.2rem; }
.tag { font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; color: var(--slate); background: var(--cream-deep); border:1px solid var(--border); padding:.35rem .7rem; border-radius:100px; }

/* blog index cards */
.post-list { display:grid; grid-template-columns: repeat(2,1fr); gap:1.5rem; }
@media (max-width:760px){ .post-list { grid-template-columns:1fr; } }
.post-card {
  display:flex; flex-direction:column; background:var(--card); border:1px solid var(--border);
  border-radius:var(--r-lg); padding:1.8rem; text-decoration:none; color:inherit;
  transition: transform .18s ease, box-shadow .18s ease;
}
.post-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); color:inherit; }
.post-card .k { font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--terracotta); }
.post-card h3 { margin:.7rem 0 .6rem; }
.post-card p { font-size:.97rem; flex:1; }
.post-card .more { margin-top:1.1rem; color:var(--green-deep); font-weight:560; display:inline-flex; gap:.4rem; }

/* research bibliography */
.bib { margin-top:1.4rem; }
.bib .bib-group { margin-top:2.2rem; }
.bib h3 { color: var(--green-deep); }
.bib .cite { padding:1rem 0; border-bottom:1px solid var(--line); font-size:.98rem; }
.bib .cite .src { font-family:var(--mono); font-size:.72rem; color:var(--terracotta-d); letter-spacing:.02em; }
.bib .cite em { color: var(--ink); font-style: italic; }

/* small breadcrumb back-link */
.back { font-family:var(--mono); font-size:.75rem; letter-spacing:.05em; color:var(--slate-soft); text-decoration:none; display:inline-flex; gap:.4rem; }
.back:hover { color: var(--green-deep); }

/* misc */
.center { text-align:center; }
.mt-3 { margin-top: 2rem; }
.divider-hero { height:1px; background: var(--line); }
.kicker-stats { display:flex; gap:2.5rem; flex-wrap:wrap; margin-top:2.2rem; }
.kicker-stats .stat .n { font-family:var(--serif); font-size:2rem; color:var(--ink); line-height:1; }
.kicker-stats .stat .l { font-family:var(--mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--slate-soft); margin-top:.4rem; }

/* newsletter card + hero glyph strip additions */
.newsletter.band-forest { padding: clamp(2.2rem, 5vw, 3.6rem); }
.updates-band { background: var(--cream); }
.trust-row { display:flex; flex-wrap:wrap; gap: 1.4rem 2.4rem; align-items:center; margin-top:2.4rem; padding-top:2rem; border-top:1px solid var(--line); }
.trust-row .item { display:flex; align-items:center; gap:.6rem; font-size:.9rem; color:var(--slate-soft); }
.trust-row .item svg { width:20px; height:20px; color:var(--green); flex:none; }
.pathway-note { font-family:var(--mono); font-size:.78rem; letter-spacing:.03em; color:var(--slate-soft); margin-top:1.5rem; }
.anchor { scroll-margin-top: 96px; }

/* trademark marks */
.tm { font-size:.55em; vertical-align:super; font-weight:500; font-family:var(--sans); letter-spacing:.02em; line-height:0; }
h1 .tm, h2 .tm { font-size:.30em; }
.tm-note { font-size:.72rem; color:#93A08D; margin-top:1rem; line-height:1.55; }
