/* Tymr shared styles — minimal system.
   Loaded by every page. Keeps class names stable; the index page overrides some locally. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  /* Surfaces */
  --bg:#FFFFFF;
  --bg-warm:#FAF9F5;
  --bg-soft:#F4F3EE;
  --hairline:#E8E7E2;
  --hairline-strong:#D8D7D2;

  /* Ink */
  --ink:#0B0B0F;
  --ink-2:#2A2B31;
  --slate:#5B6068;
  --slate-dim:#9AA0A6;

  /* Accent — deepened, used sparingly */
  --accent:#A67512;
  --accent-soft:#F5EFE0;
  --accent-line:rgba(166,117,18,0.22);

  /* Brand identity — bright yellow + lime green, from the logo */
  --brand-yellow:#F5C842;
  --brand-yellow-soft:#FDF6DE;
  --brand-yellow-line:rgba(245,200,66,0.32);
  --brand-green:#8FB02E;
  --brand-green-soft:#EDF4D9;
  --brand-green-line:rgba(143,176,46,0.30);

  /* Subtle category accents — used as soft tints, never as primary type color */
  --teal:#0E7C6E;
  --teal-soft:#E6F4F1;
  --teal-line:rgba(14,124,110,0.20);
  --indigo:#3D4A8A;
  --indigo-soft:#ECEEF7;
  --indigo-line:rgba(61,74,138,0.20);
  --rose:#9C3A4E;
  --rose-soft:#F7EBEE;
  --rose-line:rgba(156,58,78,0.18);

  /* Product-only accents (only inside product illustrations / SVGs) */
  --cyan-mid:#008F7F;
  --cyan-dark:#025C52;
  --red:#C43320;

  /* Legacy aliases kept so subpages that reference old tokens still compile */
  --gold:var(--accent);
  --gold-mid:var(--accent);
  --gold-dark:var(--accent);
  --gold-bg:var(--accent-soft);
  --cyan:var(--cyan-mid);
  --cyan-bg:#EFF7F5;
  --green:var(--accent);
  --ink2:var(--bg-warm);
  --ink3:var(--bg-soft);
  --border:var(--hairline);
  --border-gold:var(--accent-line);

  /* Typography */
  --font-d:'Inter',system-ui,sans-serif;
  --font-h:'Inter',system-ui,sans-serif;
  --font-b:'Inter',system-ui,sans-serif;
  --font-m:'JetBrains Mono','SF Mono',Menlo,monospace;
}

html{scroll-behavior:smooth}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-b);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  font-feature-settings:"ss01","cv11";
  overflow-x:hidden;
}
body::after{content:none}

/* Legacy decorative elements — hidden for minimal aesthetic */
.glow{display:none}

.container{max-width:1120px;margin:0 auto;padding:0 32px;position:relative;z-index:1}

/* NAV */
nav{
  position:sticky;top:0;z-index:100;
  backdrop-filter:saturate(140%) blur(20px);
  -webkit-backdrop-filter:saturate(140%) blur(20px);
  background:rgba(255,255,255,0.82);
  border-bottom:1px solid var(--hairline);
}
.nav-i{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{
  width:28px;height:28px;background:var(--brand-yellow);
  border-radius:7px;display:flex;align-items:center;justify-content:center;
  color:var(--ink);font-family:var(--font-b);font-weight:700;font-size:15px;line-height:1;letter-spacing:-0.03em;
  box-shadow:0 1px 0 rgba(11,11,15,0.06),inset 0 0 0 1px rgba(11,11,15,0.04);
}
.logo:hover .logo-mark{box-shadow:0 2px 8px -2px rgba(245,200,66,0.55),inset 0 0 0 1px rgba(11,11,15,0.06)}
.logo-name{font-family:var(--font-b);font-weight:600;font-size:17px;color:var(--ink);letter-spacing:-0.02em}
.logo-name .gr{color:var(--brand-green)}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-links a{
  color:var(--slate);text-decoration:none;font-size:14px;font-weight:450;
  position:relative;display:inline-block;padding:6px 0;
  transition:color .15s;
}
.nav-links a::after{
  content:'';position:absolute;
  left:0;right:0;bottom:0;
  height:2px;border-radius:2px;
  background:var(--brand-green);
  transform:scaleX(0);transform-origin:center;
  opacity:0;
  transition:transform .25s ease,opacity .15s ease;
}
.nav-links a:hover{color:var(--ink)}
.nav-links a:hover::after{transform:scaleX(0.55);opacity:0.45}
.nav-links a.active{color:var(--ink);font-weight:550}
.nav-links a.active::after{transform:scaleX(1);opacity:1}
.nav-right{display:flex;align-items:center;gap:10px}
.nav-tag{
  font-family:var(--font-m);font-size:11px;color:var(--slate);
  border:1px solid var(--hairline);border-radius:100px;padding:3px 10px;
}
.nav-cta{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;background:var(--ink);color:#fff;
  border:1px solid var(--ink);border-radius:8px;
  padding:8px 16px;font-size:13px;font-weight:500;font-family:var(--font-b);
  transition:background .15s,border-color .15s;
}
.nav-cta:hover{background:#000;border-color:#000}

/* MOBILE NAV — wrap to 2 rows so links don't overflow */
@media(max-width:720px){
  .container{padding:0 20px}
  .nav-i{flex-wrap:wrap;height:auto;padding:12px 0;gap:8px 14px}
  .nav-links{order:3;flex-basis:100%;gap:14px 18px;flex-wrap:wrap;font-size:13px;margin-top:2px}
  .nav-cta{padding:7px 14px;font-size:12px}
  .logo-name{font-size:16px}
}

/* HEADER (subpages) */
.page-head{padding:96px 0 28px}
.eyebrow{
  display:inline-block;font-family:var(--font-m);font-size:11px;
  color:var(--slate);text-transform:uppercase;letter-spacing:.12em;
  margin-bottom:20px;
}
.page-head h1{
  font-family:var(--font-h);font-weight:600;
  font-size:clamp(36px,4.8vw,56px);line-height:1.05;
  letter-spacing:-0.03em;color:var(--ink);max-width:760px;
  text-wrap:balance;
}
.page-head h1 em{font-style:normal;color:var(--ink-2)}
.page-head p.lede{
  margin-top:20px;font-size:18px;color:var(--slate);
  max-width:640px;line-height:1.55;font-weight:400;
}

/* CONTENT */
.content{padding-bottom:96px}
.content section{margin-top:64px}
.content h2{
  font-family:var(--font-h);font-weight:600;font-size:24px;
  color:var(--ink);margin-bottom:16px;letter-spacing:-0.02em;
}
.content h3{font-family:var(--font-h);font-weight:550;font-size:16px;color:var(--ink);margin:22px 0 8px;letter-spacing:-0.01em}
.content p{color:var(--slate);margin-bottom:12px}
.content ul{color:var(--slate);padding-left:22px;margin-bottom:12px}
.content ul li{margin-bottom:8px}
.content a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--hairline-strong);text-underline-offset:3px;transition:text-decoration-color .2s}
.content a:hover{text-decoration-color:var(--ink)}
.content strong{color:var(--ink);font-weight:550}
.content code{font-family:var(--font-m);font-size:13px;background:var(--bg-soft);padding:1px 6px;border-radius:4px;color:var(--ink)}

.card{background:var(--bg-warm);border:1px solid var(--hairline);border-radius:12px;padding:22px}
.card h3{margin-top:0}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:760px){.grid-2,.grid-3{grid-template-columns:1fr}}

.tag{display:inline-block;font-family:var(--font-m);font-size:10px;padding:2px 8px;border-radius:100px;letter-spacing:.08em;margin-left:8px;text-transform:uppercase;font-weight:500}
.tag-green{color:var(--ink);background:var(--bg-soft);border:1px solid var(--hairline)}
.tag-amber{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line)}
.tag-teal{color:var(--teal);background:var(--teal-soft);border:1px solid var(--teal-line)}
.tag-indigo{color:var(--indigo);background:var(--indigo-soft);border:1px solid var(--indigo-line)}
.tag-rose{color:var(--rose);background:var(--rose-soft);border:1px solid var(--rose-line)}

.cta-inline{margin-top:40px;display:flex;gap:10px;flex-wrap:wrap}
.btn-primary,a.btn-primary,.content a.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;background:var(--ink);color:#fff;
  border:1px solid var(--ink);border-radius:10px;
  padding:13px 22px;font-size:14px;font-weight:500;font-family:var(--font-b);
  transition:background .15s,transform .1s;
}
.btn-primary:hover,a.btn-primary:hover{background:#000;color:#fff;transform:translateY(-1px);text-decoration:none}
.btn-ghost,a.btn-ghost,.content a.btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;
  text-decoration:none;background:transparent;color:var(--ink);
  border:1px solid var(--hairline-strong);border-radius:10px;
  padding:13px 22px;font-size:14px;font-weight:500;font-family:var(--font-b);
  transition:border-color .2s,background .2s;
}
.btn-ghost:hover,a.btn-ghost:hover{border-color:var(--ink);background:var(--bg-warm);color:var(--ink);text-decoration:none}

/* PRICING */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px}
@media(max-width:860px){.price-grid{grid-template-columns:1fr}}
.price-card{
  background:var(--bg);border:1px solid var(--hairline);
  border-radius:14px;padding:28px;display:flex;flex-direction:column;
  transition:border-color .2s;
}
.price-card:hover{border-color:var(--hairline-strong)}
.price-card.featured{border-color:var(--ink);background:var(--bg)}
.price-name{font-family:var(--font-h);font-weight:600;font-size:17px;color:var(--ink);margin-bottom:4px;display:flex;align-items:center;flex-wrap:wrap;letter-spacing:-0.01em}
.price-note{color:var(--slate);font-size:13px;margin-bottom:20px;min-height:38px;line-height:1.5}
.price-amount{font-family:var(--font-h);font-weight:600;font-size:36px;color:var(--ink);letter-spacing:-0.03em;line-height:1}
.price-amount small{font-family:var(--font-b);font-size:13px;color:var(--slate);font-weight:400;margin-left:4px}
.price-divider{margin:22px 0;height:1px;background:var(--hairline)}
.price-list{list-style:none;padding:0;color:var(--slate);font-size:14px}
.price-list li{padding:6px 0;display:flex;gap:10px;align-items:flex-start;line-height:1.5}
.price-list li::before{content:'';width:5px;height:5px;margin-top:9px;background:var(--accent);border-radius:50%;flex-shrink:0}
.price-cta{margin-top:auto;padding-top:24px}

/* CALCULATOR */
.calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
@media(max-width:820px){.calc-wrap{grid-template-columns:1fr}}
.calc-panel{background:var(--bg);border:1px solid var(--hairline);border-radius:14px;padding:32px}
.calc-panel.result{background:var(--bg-warm);border-color:var(--hairline)}
.calc-label{font-family:var(--font-m);font-size:11px;letter-spacing:.1em;color:var(--slate);text-transform:uppercase;margin-bottom:10px;display:flex;justify-content:space-between;align-items:baseline}
.calc-value{font-family:var(--font-m);font-size:13px;color:var(--ink);font-weight:500}
.calc-group{margin-bottom:28px}
.calc-group:last-child{margin-bottom:0}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:var(--hairline);border-radius:2px;outline:none;margin-top:6px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--ink);border-radius:50%;cursor:pointer;border:3px solid var(--bg);box-shadow:0 0 0 1px var(--hairline-strong);transition:transform .15s}
input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}
input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--ink);border-radius:50%;cursor:pointer;border:3px solid var(--bg)}
.calc-select{width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--hairline);border-radius:8px;padding:10px 12px;font-family:var(--font-b);font-size:14px;margin-top:6px;cursor:pointer}
.calc-select:focus{outline:none;border-color:var(--ink)}

.calc-big{font-family:var(--font-h);font-weight:600;font-size:clamp(40px,5.5vw,60px);color:var(--ink);letter-spacing:-0.03em;line-height:1;margin-top:4px}
.calc-sub-num{font-family:var(--font-m);font-size:12px;color:var(--slate);margin-top:10px;letter-spacing:.02em}
.calc-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--hairline)}
.calc-row:last-child{border-bottom:none}
.calc-row .k{color:var(--slate);font-size:13px}
.calc-row .v{font-family:var(--font-m);font-size:13px;color:var(--ink)}
.calc-row .v.gold{color:var(--ink);font-weight:500}
.calc-row .v.cyan{color:var(--ink);font-weight:500}
.calc-divider{height:1px;background:var(--hairline);margin:22px 0}
.calc-disclaimer{font-size:12px;color:var(--slate);line-height:1.6;margin-top:24px;padding:14px 16px;background:var(--bg-warm);border-radius:8px;border:1px solid var(--hairline)}
.calc-disclaimer strong{color:var(--ink)}

/* TIMELINE (changelog) */
.timeline{position:relative;padding-left:24px;margin-top:36px}
.timeline::before{content:'';position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--hairline);}
.tl-item{position:relative;padding-bottom:32px}
.tl-item::before{content:'';position:absolute;left:-24px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:1.5px solid var(--ink)}
.tl-item.cyan::before{border-color:var(--ink)}
.tl-item.slate::before{border-color:var(--slate-dim)}
.tl-date{font-family:var(--font-m);font-size:11px;color:var(--slate);letter-spacing:.06em;margin-bottom:6px;font-weight:500}
.tl-item.cyan .tl-date{color:var(--slate)}
.tl-item.slate .tl-date{color:var(--slate-dim)}
.tl-title{font-family:var(--font-h);font-weight:550;font-size:16px;color:var(--ink);margin-bottom:6px;letter-spacing:-0.01em}
.tl-body{color:var(--slate);font-size:14px;line-height:1.6}
.tl-body code{background:var(--bg-soft);padding:1px 6px;border-radius:4px;font-size:12px;color:var(--ink)}
.tl-tags{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}

/* COMPARISON TABLE */
.compare-table{margin-top:32px;border:1px solid var(--hairline);border-radius:12px;overflow:hidden;background:var(--bg)}
.compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;align-items:stretch}
.compare-row:not(:last-child){border-bottom:1px solid var(--hairline)}
.compare-row.header{background:var(--bg-warm);font-family:var(--font-m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.compare-cell{padding:16px 20px;font-size:14px;color:var(--slate);line-height:1.55}
.compare-cell.label{font-family:var(--font-b);font-weight:500;color:var(--ink);font-size:14px}
.compare-cell.tymr{background:var(--bg-warm)}
.compare-cell strong{color:var(--ink);font-weight:550}
.compare-cell .y{color:var(--ink);font-weight:500}
.compare-cell .n{color:var(--slate-dim);font-weight:400}
.compare-cell .minus{color:var(--slate-dim)}
@media(max-width:720px){
  .compare-row{grid-template-columns:1fr}
  .compare-row:not(.header) .compare-cell{padding:12px 18px;border-bottom:1px solid var(--hairline)}
  .compare-row:not(.header) .compare-cell.label{background:var(--bg-warm);font-size:12px;padding:8px 18px;font-family:var(--font-m);letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
  .compare-row.header{display:none}
  .compare-cell.tymr{background:var(--bg)}
}

.choose-block{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
@media(max-width:720px){.choose-block{grid-template-columns:1fr}}
.choose-card{padding:24px;border-radius:12px;border:1px solid var(--hairline);background:var(--bg)}
.choose-card.them{background:var(--bg-warm)}
.choose-card.us{background:var(--bg);border-color:var(--ink)}
.choose-card h3{font-family:var(--font-h);font-weight:600;font-size:15px;color:var(--ink);margin-bottom:6px;letter-spacing:-0.01em}
.choose-card .who{font-family:var(--font-m);font-size:10px;letter-spacing:.1em;color:var(--slate);margin-bottom:14px;text-transform:uppercase}
.choose-card ul{margin:0;padding-left:18px;color:var(--slate);font-size:14px}
.choose-card ul li{margin-bottom:8px;line-height:1.5}

/* SPEC / CODE BLOCK */
.spec-block{background:var(--ink);border-radius:10px;padding:22px;font-family:var(--font-m);font-size:13px;color:#E8E7E2;overflow-x:auto;line-height:1.7;margin:18px 0}
.spec-block .k{color:#F5C56A}
.spec-block .s{color:#A8D8C8}
.spec-block .c{color:#6B6F78}

/* FOOTER */
.footer-wrap{background:var(--bg-warm);border-top:1px solid var(--hairline)}
footer.page-footer{padding:36px 0 48px}
.footer-i{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:center}
.footer-copy{font-size:12px;color:var(--slate-dim);font-family:var(--font-m)}
.footer-links{display:flex;gap:20px;font-family:var(--font-b);font-size:13px;flex-wrap:wrap}
.footer-links a{color:var(--slate);text-decoration:none;transition:color .15s}
.footer-links a:hover{color:var(--ink)}

/* SCROLLBAR */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--hairline-strong);border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--slate-dim)}

::selection{background:var(--brand-yellow-soft);color:var(--ink)}

/* TABS — used on calculator page */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--hairline);margin-top:32px}
.tab-btn{
  background:transparent;border:none;cursor:pointer;
  padding:14px 22px;font-family:var(--font-b);font-size:14px;font-weight:500;
  color:var(--slate);position:relative;transition:color .15s;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
.tab-btn:hover{color:var(--ink)}
.tab-btn.active{color:var(--ink);border-bottom-color:var(--accent)}
.tab-panel{display:none}
.tab-panel.active{display:block}

/* Subtle accent bar — used to add a hint of color above key sections.
   Carries the two brand colors (yellow → green) plus a touch of the deep amber. */
.accent-bar{
  display:inline-block;width:40px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,var(--brand-yellow) 0%,var(--brand-green) 100%);
  margin-bottom:18px;
}
.accent-bar.teal{background:var(--teal)}
.accent-bar.indigo{background:var(--indigo)}
.accent-bar.gold{background:var(--accent)}
.accent-bar.brand{background:linear-gradient(90deg,var(--brand-yellow) 0%,var(--brand-green) 100%)}

/* Soft-tinted card variants */
.card.tint-gold{background:var(--accent-soft);border-color:var(--accent-line)}
.card.tint-teal{background:var(--teal-soft);border-color:var(--teal-line)}
.card.tint-indigo{background:var(--indigo-soft);border-color:var(--indigo-line)}
.card.tint-rose{background:var(--rose-soft);border-color:var(--rose-line)}

/* === SHOT FRAME — for app screenshots ===
   Used on home, floor-to-ledger, agents pages.
   Renders an app screenshot inside a soft "monitor" with a faux titlebar. */
.shot{
  position:relative;border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,#16181F 0%,#0C0D10 100%);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow:0 30px 80px -30px rgba(11,11,15,0.35),
             0 6px 20px -8px rgba(11,11,15,0.18);
}
.shot.light{
  background:linear-gradient(180deg,#FAF9F5 0%,#F4F3EE 100%);
  border:1px solid var(--hairline);
}
.shot-bar{
  display:flex;align-items:center;gap:6px;
  padding:10px 14px;background:rgba(255,255,255,0.025);
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.shot.light .shot-bar{background:rgba(11,11,15,0.025);border-bottom:1px solid var(--hairline)}
.shot-bar i{width:10px;height:10px;border-radius:50%;background:#3A3D4E;display:inline-block}
.shot.light .shot-bar i{background:var(--hairline-strong)}
.shot-bar i:nth-child(1){background:#FF5F57}
.shot-bar i:nth-child(2){background:#FEBC2E}
.shot-bar i:nth-child(3){background:#28C840}
.shot-bar .shot-url{
  margin-left:14px;font-family:var(--font-m);font-size:11px;
  color:rgba(255,255,255,0.45);letter-spacing:.04em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.shot.light .shot-bar .shot-url{color:var(--slate)}
.shot-img{display:block;width:100%;height:auto;background:#0B0B0F}
.shot.light .shot-img{background:#FAF9F5}
.shot-cap{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:14px 18px;background:rgba(255,255,255,0.02);
  border-top:1px solid rgba(255,255,255,0.06);
  font-family:var(--font-m);font-size:11px;color:#6B6F78;letter-spacing:.04em;
  flex-wrap:wrap;
}
.shot.light .shot-cap{background:transparent;border-top:1px solid var(--hairline);color:var(--slate)}
.shot-cap .live{display:inline-flex;align-items:center;gap:8px;color:#8E9199}
.shot.light .shot-cap .live{color:var(--ink-2)}
.shot-cap .live::before{content:'';width:6px;height:6px;border-radius:50%;background:#00C9B0;box-shadow:0 0 0 3px rgba(0,201,176,0.15)}
.shot.light .shot-cap .live::before{background:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}

/* Two-up grid for paired shots */
.shot-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
@media(max-width:880px){.shot-pair{grid-template-columns:1fr}}

/* === FEATURE STRIP — text + screenshot side-by-side === */
.feature-strip{
  display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;
  align-items:center;margin-top:36px;
}
@media(max-width:920px){.feature-strip{grid-template-columns:1fr;gap:28px}}
.feature-strip.flip{grid-template-columns:1.15fr 0.85fr}
.feature-strip.flip .fs-text{order:2}
.feature-strip.flip .fs-shot{order:1}
@media(max-width:920px){
  .feature-strip.flip{grid-template-columns:1fr}
  .feature-strip.flip .fs-text{order:1}
  .feature-strip.flip .fs-shot{order:2}
}
.fs-tag{
  font-family:var(--font-m);font-size:10px;letter-spacing:.14em;
  color:var(--accent);text-transform:uppercase;font-weight:500;
}
.fs-tag.teal{color:var(--teal)}
.fs-tag.indigo{color:var(--indigo)}
.fs-tag.rose{color:var(--rose)}
.fs-text h3{
  font-family:var(--font-h);font-weight:600;
  font-size:clamp(22px,2.6vw,30px);letter-spacing:-0.025em;line-height:1.15;
  color:var(--ink);margin:10px 0 14px;text-wrap:balance;
}
.fs-text h3 em{font-style:normal;color:var(--ink-2)}
.fs-text p{color:var(--slate);font-size:15px;line-height:1.65;margin-bottom:10px}
.fs-text p strong{color:var(--ink);font-weight:550}
.fs-text ul{list-style:none;padding:0;margin:14px 0 0}
.fs-text ul li{
  position:relative;padding-left:18px;color:var(--slate);
  font-size:14px;line-height:1.6;margin-bottom:8px;
}
.fs-text ul li::before{
  content:'';position:absolute;left:0;top:9px;
  width:6px;height:6px;border-radius:50%;background:var(--accent);
}
.fs-text ul li strong{color:var(--ink);font-weight:550}
.fs-text .fs-also{
  margin-top:18px;font-family:var(--font-m);font-size:11px;
  color:var(--slate-dim);letter-spacing:.04em;
}

/* === PLAIN-LANGUAGE GLOSS — friendly explainer next to a technical term === */
.gloss{
  display:inline-block;font-family:var(--font-m);font-size:11px;
  color:var(--slate);letter-spacing:.02em;
  padding:2px 8px;border:1px solid var(--hairline);border-radius:100px;
  background:var(--bg-warm);margin-left:6px;vertical-align:middle;
}

/* === FRIENDLY CALLOUT — used when introducing a tax/finance term === */
.friendly{
  margin-top:18px;padding:14px 18px;
  background:var(--bg-warm);border:1px solid var(--hairline);
  border-left:3px solid var(--accent);border-radius:8px;
  font-size:13px;color:var(--slate);line-height:1.6;
}
.friendly strong{color:var(--ink);font-weight:550}
.friendly .friendly-tag{
  display:inline-block;font-family:var(--font-m);font-size:10px;
  color:var(--accent);letter-spacing:.12em;text-transform:uppercase;
  margin-right:8px;font-weight:500;
}
