/* ==========================================================================
   SolidReturn — Design System
   Adapted from the ActiasGest Design System (claude.ai/design project
   1da8f255-514e-4f36-ab5e-818329431db5), reused here across the SolidReturn
   group's sites. Tokens are carried over verbatim; component classes below
   translate the source React components (inline-styled) into plain CSS for
   this static site.
   ========================================================================== */

/* ---- Tokens: colors ---- */
:root{
  /* base neutrals */
  --limestone:#F4EFE6;
  --limestone-2:#ECE2CE;
  --paper:#FFFEFA;
  --ink:#1B2B2E;
  --ink-70:rgba(27,43,46,.72);
  --ink-50:rgba(27,43,46,.52);
  --navy-deep:#101A1D;
  /* base brand hues */
  --verdigris:#2F6E5C;
  --verdigris-deep:#1F4E41;
  --terracotta:#B5502E;
  --terracotta-deep:#8F3E23;
  --brass:#A9813F;
  --brass-light:#D9BE86;
  /* semantic aliases */
  --surface-page:var(--limestone);
  --surface-page-alt:var(--limestone-2);
  --surface-card:var(--paper);
  --surface-footer:var(--navy-deep);
  --text-primary:var(--ink);
  --text-secondary:var(--ink-70);
  --text-tertiary:var(--ink-50);
  --text-on-dark:var(--limestone);
  --text-on-dark-muted:rgba(244,239,230,.7);
  --color-brand:var(--verdigris);
  --color-brand-deep:var(--verdigris-deep);
  --color-accent:var(--terracotta);
  --color-accent-deep:var(--terracotta-deep);
  --color-gold:var(--brass);
  --color-gold-light:var(--brass-light);
  --border-hairline:rgba(169,129,63,.28);
  --border-hairline-soft:rgba(169,129,63,.25);
  --border-ink-soft:rgba(27,43,46,.08);

  /* ---- Tokens: typography ---- */
  --font-display:'Fraunces',serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
  --text-hero:clamp(2.25rem,4vw,3.75rem);
  --text-h1:2.25rem;
  --text-h2:1.875rem;
  --text-h3:1.25rem;
  --text-body-lg:1.125rem;
  --text-body:1rem;
  --text-small:.875rem;
  --text-eyebrow:.72rem;
  --leading-body:1.6;
  --leading-tight:1.2;
  --tracking-eyebrow:.14em;
  --tracking-wide:.08em;
  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;
  --weight-bold:700;

  /* ---- Tokens: spacing ---- */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --space-20:80px;
  --radius-sm:4px;
  --radius-md:10px;
  --radius-lg:14px;
  --radius-xl:16px;
  --radius-2xl:20px;
  --radius-pill:999px;
  --radius-circle:50%;

  /* ---- Tokens: effects ---- */
  --shadow-card:0 16px 28px -10px rgba(16,25,28,.14);
  --shadow-card-hover:0 20px 30px -15px rgba(16,25,28,.14);
  --shadow-plate:0 8px 20px -8px rgba(31,78,65,.4);
  --shadow-panel:0 30px 60px -25px rgba(16,25,28,.35);
  --shadow-note:0 18px 40px -20px rgba(16,25,28,.25);
  --shadow-modal:0 20px 40px rgba(16,25,28,.2);
  --shadow-chat-btn:0 8px 24px rgba(31,78,65,.45);
  --blur-nav:12px;
  --ease-standard:cubic-bezier(.4,0,.2,1);
  --duration-fast:.2s;
  --duration-base:.25s;
  --duration-slow:.3s;
}

/* ---- Base ---- */
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--surface-page);
  color:var(--text-primary);
  font-family:var(--font-body);
  line-height:var(--leading-body);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.ds-container{max-width:1280px;margin:0 auto;padding-left:32px;padding-right:32px;}
@media (max-width:640px){.ds-container{padding-left:20px;padding-right:20px;}}

/* ---- Buttons ---- */
.btn{
  font-family:var(--font-body);
  font-weight:var(--weight-semibold);
  border-radius:var(--radius-pill);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  border:none;
  text-decoration:none;
  transition:all var(--duration-base) var(--ease-standard);
  padding:14px 32px;
  font-size:16px;
}
.btn--sm{padding:10px 20px;font-size:13px;}
.btn[disabled]{cursor:not-allowed;opacity:.5;}
.btn--primary{
  background:linear-gradient(105deg, var(--verdigris-deep) 0%, var(--verdigris) 100%);
  color:#fff;
  box-shadow:var(--shadow-plate);
}
.btn--primary:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 28px -10px rgba(31,78,65,.5);
}
.btn--outline{
  background:transparent;
  color:var(--ink);
  border:1.5px solid var(--ink);
}
.btn--outline:hover{background:var(--ink);color:var(--limestone);}
.btn--ghost{background:var(--limestone-2);color:var(--color-brand);}
.btn--ghost:hover{background:var(--limestone);}
.btn--pill{background:var(--paper);color:var(--color-brand);border:1px solid var(--border-hairline-soft);}
.btn--pill:hover{border-color:var(--verdigris);color:var(--verdigris);}

/* ---- Badges ---- */
.badge-eyebrow{
  font-family:var(--font-mono);
  letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;
  font-size:var(--text-eyebrow);
  color:var(--color-brand);
}
.badge-pill{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--paper);
  border:1px solid var(--border-hairline-soft);
  color:var(--ink);
  border-radius:var(--radius-pill);
  padding:6px 16px;
  font-size:14px;
  font-weight:var(--weight-semibold);
}

/* ---- Navbar ---- */
.navbar{
  position:sticky;top:0;z-index:50;
  background:rgba(255,254,250,.9);
  -webkit-backdrop-filter:blur(var(--blur-nav));
  backdrop-filter:blur(var(--blur-nav));
  border-bottom:1px solid var(--border-hairline-soft);
}
.navbar__inner{
  max-width:1280px;margin:0 auto;padding:16px 32px;
  display:flex;justify-content:space-between;align-items:center;
}
.navbar__brand{display:flex;align-items:center;gap:8px;text-decoration:none;}
.navbar__mark{
  width:36px;height:36px;border-radius:var(--radius-md);
  background:var(--color-brand);
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;
}
.navbar__wordmark{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:24px;color:var(--ink);}
.navbar__wordmark em{color:var(--color-brand);font-style:normal;}
.navbar__links{display:flex;gap:28px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:var(--tracking-wide);}
.navbar__links a{color:var(--ink-70);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard);}
.navbar__links a:hover,.navbar__links a.is-active{color:var(--verdigris);}
.navbar__actions{display:flex;align-items:center;gap:12px;}
.navbar__cta{
  font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:var(--tracking-wide);
  color:var(--color-brand);border:1px solid var(--border-hairline-soft);border-radius:var(--radius-pill);
  padding:9px 18px;text-decoration:none;
}
.navbar__toggle{background:none;border:none;font-size:22px;color:var(--ink);cursor:pointer;display:none;padding:4px;}
.navbar__mobile{
  background:var(--paper);border-top:1px solid var(--border-hairline-soft);
  padding:16px 24px;display:flex;flex-direction:column;gap:12px;
  font-family:var(--font-mono);font-size:12px;text-transform:uppercase;
}
.navbar__mobile a{color:var(--ink-70);text-decoration:none;}
.navbar__mobile.is-open{display:flex;}
.navbar__mobile:not(.is-open){display:none;}
@media (max-width:768px){
  .navbar__links{display:none;}
  .navbar__toggle{display:inline-flex;align-items:center;justify-content:center;}
}
@media (max-width:480px){
  .navbar__cta{display:none;}
}

/* ---- Cards ---- */
.card{
  position:relative;background:var(--surface-card);
  border:1px solid var(--border-hairline);border-radius:var(--radius-lg);
  overflow:hidden;
  transition:transform var(--duration-base) var(--ease-standard), box-shadow var(--duration-base) var(--ease-standard);
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover);}
.card__body{padding:24px;}
.card--tint-a .card__body{background:linear-gradient(120deg, rgba(47,110,92,.08), rgba(169,129,63,.07));}
.card--tint-b .card__body{background:linear-gradient(120deg, rgba(27,43,46,.05), rgba(181,80,46,.07));}
.card--screws .card__screw{
  position:absolute;width:6px;height:6px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #fff, var(--brass) 75%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);
}
.card--screws .card__screw--tl{top:12px;left:12px;}
.card--screws .card__screw--tr{top:12px;right:12px;}
.card--screws .card__screw--bl{bottom:12px;left:12px;}
.card--screws .card__screw--br{bottom:12px;right:12px;}

/* ---- Feature tile ---- */
.feature-tile{text-align:left;}
.feature-tile--center{text-align:center;}
.feature-tile__icon{
  width:56px;height:56px;margin:0 0 20px;border-radius:var(--radius-md);
  background:linear-gradient(135deg, rgba(47,110,92,.1), rgba(169,129,63,.12));
  display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--color-brand);
}
.feature-tile--center .feature-tile__icon{margin:0 auto 16px;}
.feature-tile__icon--accent{color:var(--color-accent);}
.feature-tile__icon--gold{color:var(--color-gold);}
.feature-tile__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:20px;color:var(--ink);margin:0;}
.feature-tile__desc{color:var(--text-tertiary);margin-top:8px;font-size:14px;line-height:1.6;}

/* ---- Section scaffolding ---- */
.section{padding:var(--space-20) 32px;}
.section--alt{background:var(--surface-page-alt);}
.section--card{background:var(--surface-card);}
.section__head{text-align:center;max-width:640px;margin:0 auto 48px;}
.section__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:32px;color:var(--ink);margin-top:8px;}
.section__lede{color:var(--text-secondary);max-width:720px;margin:12px auto 0;font-size:var(--text-body-lg);}
.tile-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:28px;}

/* ---- Hero ---- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(47,110,92,.07) 0%, transparent 60%),
    radial-gradient(circle at 85% 78%, rgba(181,80,46,.06) 0%, transparent 55%),
    var(--limestone);
  padding:80px 32px 112px;
}
.hero__inner{max-width:1280px;margin:0 auto;display:flex;gap:48px;align-items:center;flex-wrap:wrap;}
.hero__copy{flex:1 1 480px;}
.hero__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:var(--text-hero);line-height:1.15;color:var(--ink);margin:24px 0 0;}
.hero__title em{color:var(--color-brand);font-style:italic;font-weight:var(--weight-medium);}
.hero__lede{font-size:18px;color:var(--text-secondary);margin-top:24px;line-height:1.6;max-width:620px;}
.hero__actions{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;}
.hero__visual{flex:1 1 380px;display:flex;justify-content:center;}

/* Plate panel: the signature "engraved plaque" card, used for the hero visual */
.plate{
  position:relative;background:var(--surface-card);
  border:1px solid var(--border-hairline);border-radius:var(--radius-xl);
  box-shadow:var(--shadow-panel);padding:32px;max-width:380px;width:100%;
  animation:ds-float 6s var(--ease-standard) infinite;
}
.plate .card__screw{
  position:absolute;width:6px;height:6px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #fff, var(--brass) 75%);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);
}
.plate .card__screw--tl{top:14px;left:14px;}
.plate .card__screw--tr{top:14px;right:14px;}
.plate .card__screw--bl{bottom:14px;left:14px;}
.plate .card__screw--br{bottom:14px;right:14px;}
.plate__caption{font-family:var(--font-mono);font-size:12px;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-tertiary);margin-top:16px;text-align:center;}
.plate__row{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:var(--radius-md);}
.plate__row + .plate__row{margin-top:4px;}
.plate__row-num{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);width:20px;}
.plate__row-icon{
  width:32px;height:32px;border-radius:var(--radius-md);
  background:linear-gradient(135deg, rgba(47,110,92,.12), rgba(169,129,63,.14));
  display:flex;align-items:center;justify-content:center;color:var(--color-brand);font-size:13px;flex:none;
}
.plate__row-label{font-size:14px;color:var(--text-secondary);}
.plate__row--lit{background:var(--color-brand);}
.plate__row--lit .plate__row-icon{background:rgba(255,255,255,.2);color:#fff;}
.plate__row--lit .plate__row-num,
.plate__row--lit .plate__row-label{color:#fff;}
@keyframes ds-float{0%{transform:translateY(0)}50%{transform:translateY(-12px)}100%{transform:translateY(0)}}

/* ---- Footer CTA ---- */
.footer-cta{
  background:linear-gradient(100deg, var(--navy-deep) 0%, #172522 100%);
  color:#fff;padding:96px 32px;
}
.footer-cta__inner{max-width:720px;margin:0 auto;text-align:center;}
.footer-cta__eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-light);margin-bottom:16px;}
.footer-cta__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:32px;margin:0;}
.footer-cta__lede{color:var(--text-on-dark-muted);font-size:18px;margin-top:12px;}
.footer-cta__panel{
  background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border-radius:var(--radius-2xl);padding:24px;margin-top:32px;border:1px solid rgba(255,255,255,.1);
}
.footer-cta__list{text-align:left;color:rgba(255,255,255,.9);display:flex;flex-direction:column;gap:12px;padding:0;list-style:none;margin:0 0 24px;}
.footer-cta__list li{display:flex;gap:12px;align-items:center;}
.footer-cta__list i{color:var(--brass-light);}
.footer-cta__btn{
  background:var(--paper);color:var(--verdigris-deep);font-weight:var(--weight-bold);
  padding:12px 32px;border-radius:var(--radius-pill);text-decoration:none;
  display:inline-flex;gap:8px;align-items:center;
}
.footer-cta__note{font-size:12px;color:var(--brass-light);margin-top:16px;}
.footer-cta__bottom{
  border-top:1px solid rgba(255,255,255,.15);margin-top:64px;padding-top:40px;
  max-width:1280px;margin-left:auto;margin-right:auto;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;
  font-size:14px;color:var(--text-on-dark-muted);
}
.footer-cta__bottom-links{display:flex;gap:24px;flex-wrap:wrap;}
.footer-cta__bottom-links a{text-decoration:none;color:inherit;}
.footer-cta__bottom-links a:hover{color:#fff;}

/* ---- Page header (non-hero pages) ---- */
.page-header{padding:64px 32px;text-align:center;background:var(--surface-page);}
.page-header__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:2.25rem;color:var(--ink);margin:8px 0 0;}
.page-header__subtitle{color:var(--color-brand);font-weight:var(--weight-semibold);font-size:var(--text-body-lg);margin-top:12px;}
.page-header__lede{color:var(--text-secondary);max-width:760px;margin:16px auto 0;font-size:var(--text-body-lg);}

/* ---- Service category blocks ---- */
.service-category{margin-bottom:56px;}
.service-category__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:24px;color:var(--ink);margin:0 0 8px;}
.service-category__desc{color:var(--text-secondary);margin:0 0 24px;max-width:820px;}

/* ---- Tables ---- */
.ds-table-card{background:var(--surface-card);border:1px solid var(--border-hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;}
.ds-table-scroll{overflow-x:auto;}
.ds-table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px;}
.ds-table thead{background:var(--surface-page-alt);}
.ds-table th{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:11px;font-weight:var(--weight-medium);color:var(--text-secondary);padding:14px 18px;text-align:left;white-space:nowrap;}
.ds-table td{padding:16px 18px;border-top:1px solid var(--border-ink-soft);color:var(--text-secondary);vertical-align:top;}
.ds-table tbody tr:hover{background:var(--surface-page-alt);}
.ds-table td:first-child{color:var(--text-primary);font-weight:var(--weight-semibold);}
.ds-table td.price{color:var(--color-brand);font-weight:var(--weight-semibold);white-space:nowrap;}

/* ---- CTA band (mid-page, same navy treatment reserved for footer/CTA) ---- */
.cta-band{background:linear-gradient(100deg, var(--navy-deep) 0%, #172522 100%);color:#fff;padding:72px 32px;text-align:center;border-radius:var(--radius-2xl);}
.cta-band__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:28px;margin:0 0 12px;}
.cta-band__lede{color:var(--text-on-dark-muted);max-width:640px;margin:0 auto 28px;}
.cta-band__btn{background:var(--paper);color:var(--verdigris-deep);font-weight:var(--weight-bold);padding:14px 32px;border-radius:var(--radius-pill);text-decoration:none;display:inline-flex;gap:8px;align-items:center;transition:transform var(--duration-base) var(--ease-standard);}
.cta-band__btn:hover{transform:translateY(-2px);}

/* ---- Minimal site footer (used below a cta-band, when the full footer-cta isn't needed) ---- */
.site-footer{padding:28px 32px;text-align:center;font-size:13px;color:var(--text-tertiary);background:var(--surface-page);border-top:1px solid var(--border-ink-soft);}

/* ---- Framed shot (product screenshots) ---- */
.framed-shot{border-radius:var(--radius-xl);border:1px solid var(--border-hairline);box-shadow:var(--shadow-panel);overflow:hidden;background:var(--surface-card);}
.framed-shot img{display:block;width:100%;}

/* ---- Feature split (alternating text/image sections) ---- */
.feature-split{padding:64px 32px;}
.feature-split--alt{background:var(--surface-page-alt);}
.feature-split__grid{max-width:1152px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
@media (max-width:768px){.feature-split__grid{grid-template-columns:1fr;}}
.feature-split__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:28px;color:var(--ink);margin:0 0 16px;}
.feature-split__text{color:var(--text-secondary);font-size:var(--text-body-lg);line-height:1.6;margin:0;}
.feature-split__list{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:10px;}
.feature-split__list li{display:flex;gap:10px;align-items:flex-start;color:var(--text-secondary);font-size:15px;}
.feature-split__list i{color:var(--color-brand);margin-top:3px;flex:none;}

/* ---- Q&A example blocks (RAG demos) ---- */
.qa-block{background:var(--surface-page-alt);border-radius:var(--radius-lg);padding:24px;border:1px solid var(--border-ink-soft);}
.qa-block + .qa-block{margin-top:24px;}
.qa-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:11px;color:var(--text-tertiary);margin:0 0 8px;}
.qa-bubble{background:var(--surface-card);border:1px solid var(--border-hairline-soft);border-radius:var(--radius-md);padding:18px 20px;box-shadow:var(--shadow-card);}
.qa-bubble + .qa-label{margin-top:20px;}
.qa-bubble p{margin:0 0 12px;color:var(--text-primary);line-height:1.6;}
.qa-bubble p:last-child{margin-bottom:0;}
.qa-bubble i.fa-circle-question,.qa-bubble i.fa-circle-check{color:var(--color-brand);margin-right:6px;}
.qa-bubble ul{margin:0 0 12px;padding-left:20px;color:var(--text-secondary);line-height:1.6;}
.qa-bubble ul ul{margin-top:8px;margin-bottom:0;}
.qa-bubble code{background:var(--surface-page-alt);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.85em;color:var(--text-primary);}
.qa-conclusion{color:var(--color-brand-deep);font-weight:var(--weight-semibold);}

/* ---- Simple dark footer (brand + nav columns, no big CTA panel) ---- */
.footer-simple{background:linear-gradient(100deg, var(--navy-deep) 0%, #172522 100%);color:#fff;padding:56px 32px 32px;}
.footer-simple__grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px;}
.footer-simple__brand{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:20px;margin:0 0 8px;}
.footer-simple__brand em{color:var(--brass-light);font-style:normal;}
.footer-simple p{color:var(--text-on-dark-muted);font-size:14px;margin:0;}
.footer-simple h4{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:12px;color:var(--brass-light);margin:0 0 12px;font-weight:var(--weight-medium);}
.footer-simple ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.footer-simple a{color:var(--text-on-dark-muted);font-size:14px;text-decoration:none;}
.footer-simple a:hover{color:#fff;}
.footer-simple__bottom{max-width:1280px;margin:32px auto 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.15);font-size:13px;color:var(--text-on-dark-muted);text-align:center;}

/* ---- Page header actions (CTA row under a page-header lede) ---- */
.page-header__actions{display:flex;gap:16px;justify-content:center;margin-top:32px;flex-wrap:wrap;}

/* ---- Process flow (numbered steps with connecting rail) ---- */
.process-flow{display:flex;flex-direction:column;align-items:center;gap:24px;max-width:760px;margin:0 auto;}
@media (min-width:768px){.process-flow{flex-direction:row;align-items:flex-start;}}
.process-flow__step{display:flex;flex-direction:column;align-items:center;gap:10px;flex:none;}
.process-flow__num{width:56px;height:56px;border-radius:50%;background:var(--color-brand);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:20px;}
.process-flow__label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-secondary);text-align:center;}
.process-flow__rail{display:none;}
@media (min-width:768px){.process-flow__rail{display:block;flex:1 1 auto;height:1px;background:var(--border-hairline);margin-top:28px;}}

/* ---- Step media (screenshot preview inside a step card) ---- */
.step-media{width:100%;height:180px;border-radius:var(--radius-md);background:linear-gradient(135deg, rgba(47,110,92,.08), rgba(169,129,63,.1));display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:20px;}
.step-media img{max-height:85%;max-width:90%;border-radius:var(--radius-sm);box-shadow:var(--shadow-card);}

/* ---- Detail lists inside step / benefit cards ---- */
.detail-heading{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--tracking-wide);font-size:11px;color:var(--text-tertiary);margin:16px 0 8px;}
.detail-heading:first-child{margin-top:0;}
.detail-list{margin:0;padding-left:20px;color:var(--text-secondary);font-size:14px;line-height:1.7;}
.detail-list .detail-list{margin-top:6px;}
.step-card-num{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg, rgba(47,110,92,.14), rgba(169,129,63,.16));color:var(--color-brand);display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);flex:none;}

/* ---- Legal / policy documents ---- */
.legal-doc{max-width:760px;margin:0 auto;}
.legal-doc .updated{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);margin:0 0 32px;}
.legal-doc h2{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:22px;color:var(--ink);margin:40px 0 12px;}
.legal-doc h2:first-of-type{margin-top:24px;}
.legal-doc h3{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:17px;color:var(--ink);margin:24px 0 10px;}
.legal-doc p{color:var(--text-secondary);line-height:1.75;margin:0 0 16px;}
.legal-doc ul{color:var(--text-secondary);line-height:1.75;padding-left:22px;margin:0 0 16px;}
.legal-doc li{margin-bottom:8px;}
.legal-doc strong{color:var(--text-primary);}
.legal-doc a{color:var(--color-brand);text-decoration:underline;text-decoration-color:var(--border-hairline);}
.legal-doc .callout{background:var(--surface-page-alt);border-left:3px solid var(--color-brand);border-radius:var(--radius-sm);padding:16px 20px;margin:0 0 32px;font-size:14px;color:var(--text-secondary);}

/* ---- Blog post ---- */
.blog-header{padding:64px 32px 32px;text-align:center;background:var(--surface-page);}
.blog-header__back{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-brand);text-decoration:none;margin-bottom:24px;}
.blog-header__back:hover{color:var(--color-brand-deep);}
.blog-header__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:2.1rem;color:var(--ink);margin:12px auto 0;line-height:1.2;max-width:820px;}
.blog-header__date{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);margin-top:16px;}

.blog-body{max-width:720px;margin:0 auto;}
.blog-body h2{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:24px;color:var(--ink);margin:40px 0 14px;}
.blog-body h2:first-child{margin-top:0;}
.blog-body p{color:var(--text-secondary);line-height:1.75;margin:0 0 18px;font-size:var(--text-body-lg);}
.blog-body ul,.blog-body ol{color:var(--text-secondary);line-height:1.75;padding-left:22px;margin:0 0 18px;font-size:var(--text-body-lg);}
.blog-body li{margin-bottom:10px;}
.blog-body strong,.blog-body b{color:var(--text-primary);}
.blog-body a{color:var(--color-brand);text-decoration:underline;text-decoration-color:var(--border-hairline);}

.blog-figure{margin:32px 0;}
.blog-figure img{width:100%;border-radius:var(--radius-xl);border:1px solid var(--border-hairline);box-shadow:var(--shadow-panel);display:block;}
.blog-figure--lead{margin:0 0 40px;}

/* ---- Blog index card grid ---- */
.blog-card__date{font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--text-tertiary);}
.blog-card__title{font-family:var(--font-display);font-weight:var(--weight-semibold);font-size:19px;color:var(--ink);margin:10px 0 8px;line-height:1.3;}
.blog-card__excerpt{color:var(--text-secondary);font-size:14px;line-height:1.6;margin:0 0 16px;}
.blog-card__link{color:var(--color-brand);font-weight:var(--weight-semibold);text-decoration:none;font-size:14px;}

/* ---- Cookie banner ---- */
.cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:50;
  background:var(--surface-card);border-top:1px solid var(--border-hairline-soft);
  box-shadow:var(--shadow-panel);
  padding:16px 24px;
  display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:space-between;
}
@media (min-width:768px){.cookie-banner{flex-direction:row;}}
.cookie-banner__text{font-size:14px;color:var(--text-secondary);margin:0;}
.cookie-banner__actions{display:flex;gap:8px;flex:none;}
.cookie-banner__btn{
  border:none;border-radius:var(--radius-pill);padding:10px 20px;
  font-family:var(--font-body);font-weight:var(--weight-semibold);font-size:13px;cursor:pointer;
}
.cookie-banner__btn--accept{background:var(--color-brand);color:#fff;}
.cookie-banner__btn--accept:hover{background:var(--verdigris-deep);}
.cookie-banner__btn--reject{background:var(--limestone-2);color:var(--ink);}
.cookie-banner__btn--reject:hover{background:var(--limestone);}
