/* Elixir Healthcare — shared design system */
:root{
  --bg:#F6FAF8; --surface:#FFFFFF; --surface-2:#ECF3F0;
  --ink:#0E201C; --muted:#48605A; --faint:#6E837D;
  --line:#DBE6E2; --line-strong:#C2D3CE;
  --accent:#0D8A6F; --accent-deep:#086A55; --accent-soft:#DFF0EA; --accent-glow:rgba(13,138,111,.16);
  --azure:#3E7FBF;
  --shadow:0 1px 2px rgba(14,32,28,.05),0 10px 30px rgba(14,32,28,.07);
  --deep:#07110E; --deep-2:#0B1A16; --deep-card:#0F211C;
  --deep-ink:#EAF4F0; --deep-muted:#9FB8B0; --deep-faint:#728A83; --deep-line:#1D332C;
  --mint:#38D9AE; --mint-soft:rgba(56,217,174,.12);
  --grad:linear-gradient(120deg,#38D9AE 0%,#17B9A2 45%,#4FA3E8 100%);
  --amber:#E8A23E; --amber-soft:#FBF0DD; --amber-deep:#8A5A15;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0A1512; --surface:#101F1A; --surface-2:#152621;
    --ink:#E7F1ED; --muted:#A2B9B2; --faint:#7F968F;
    --line:#20352E; --line-strong:#2D453D;
    --accent:#3ACCA6; --accent-deep:#6ADDBF; --accent-soft:#132B24; --accent-glow:rgba(58,204,166,.13);
    --azure:#6FB1E8; --shadow:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.3);
    --deep:#050D0B; --deep-2:#081310; --deep-card:#0D1D18;
    --amber-soft:#2A2114; --amber-deep:#F0C476;
  }
}
:root[data-theme="dark"]{
  --bg:#0A1512; --surface:#101F1A; --surface-2:#152621;
  --ink:#E7F1ED; --muted:#A2B9B2; --faint:#7F968F;
  --line:#20352E; --line-strong:#2D453D;
  --accent:#3ACCA6; --accent-deep:#6ADDBF; --accent-soft:#132B24; --accent-glow:rgba(58,204,166,.13);
  --azure:#6FB1E8; --shadow:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.3);
  --deep:#050D0B; --deep-2:#081310; --deep-card:#0D1D18;
  --amber-soft:#2A2114; --amber-deep:#F0C476;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:"Source Serif 4",Georgia,serif;font-size:17px;line-height:1.66;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,.sans{font-family:"Bricolage Grotesque","Archivo",Arial,sans-serif}
.mono{font-family:"IBM Plex Mono",Consolas,monospace}
h1,h2,h3{text-wrap:balance;line-height:1.1}
a{color:var(--accent-deep)}
img,svg.illo{max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 28px}
section{padding:88px 0}
@media (max-width:720px){section{padding:56px 0}}
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:12px;margin-bottom:18px}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--accent);flex:none}
.section-title{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.02em;margin-bottom:16px}
.section-lede{font-size:18.5px;color:var(--muted);max-width:66ch}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}

/* nav */
nav.top{position:sticky;top:0;z-index:90;background:color-mix(in srgb,var(--deep) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--deep-line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;position:relative}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.logo svg{width:30px;height:30px}
.logo .word{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:19px;letter-spacing:-.01em;color:var(--deep-ink);line-height:1}
.logo .word span{display:block;font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--mint);margin-top:3px}
.nav-links{display:flex;gap:6px;align-items:center}
.nav-links>li{list-style:none;position:relative}
.nav-links>li>a, .nav-links>li>button{font-family:"Bricolage Grotesque",sans-serif;font-size:14px;font-weight:600;color:var(--deep-muted);text-decoration:none;padding:10px 12px;border-radius:7px;background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:5px}
.nav-links>li>a:hover,.nav-links>li>button:hover,.nav-links>li.open>button{color:var(--deep-ink);background:rgba(255,255,255,.05)}
.nav-links>li>a.active{color:var(--mint)}
.chev{width:9px;height:9px;transition:transform .15s}
.nav-links>li.open .chev{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 8px);left:0;min-width:260px;background:var(--deep-card);border:1px solid var(--deep-line);border-radius:12px;padding:8px;box-shadow:0 20px 50px rgba(0,0,0,.4);display:none;grid-template-columns:1fr;gap:2px}
.nav-links>li.open .dropdown{display:grid}
.dropdown a{display:flex;flex-direction:column;gap:2px;padding:9px 12px;border-radius:8px;text-decoration:none;color:var(--deep-ink);font-family:"Bricolage Grotesque",sans-serif;font-size:13.5px;font-weight:600}
.dropdown a:hover{background:rgba(255,255,255,.06)}
.dropdown a small{font-family:"Source Serif 4",serif;font-weight:400;font-size:12px;color:var(--deep-muted)}
.dropdown.wide{min-width:520px;grid-template-columns:1fr 1fr}
.btn{display:inline-flex;align-items:center;gap:9px;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:15px;padding:13px 24px;border-radius:8px;text-decoration:none;border:1px solid transparent;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;cursor:pointer}
.btn svg{width:16px;height:16px}
.btn-mint{background:var(--mint);color:#05231A;box-shadow:0 6px 22px rgba(56,217,174,.25)}
.btn-mint:hover{transform:translateY(-2px)}
.btn-outline-deep{border-color:var(--deep-line);color:var(--deep-ink);background:rgba(255,255,255,.03)}
.btn-outline-deep:hover{background:rgba(255,255,255,.07)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 5px 18px var(--accent-glow)}
:root[data-theme="dark"] .btn-primary{color:#07110E}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn-primary{color:#07110E}}
.btn-primary:hover{transform:translateY(-2px)}
.btn-ghost{border-color:var(--line-strong);color:var(--ink)}
.btn-ghost:hover{background:var(--surface-2)}
.nav-cta{padding:9px 17px;font-size:13.5px}
.nav-links>li.nav-cta-li{margin-left:6px}
.nav-toggle{display:none;background:none;border:1px solid var(--deep-line);border-radius:8px;padding:8px 10px;color:var(--deep-ink)}
@media (max-width:1080px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--deep);border-bottom:1px solid var(--deep-line);flex-direction:column;align-items:stretch;padding:10px;gap:2px;max-height:80vh;overflow:auto}
  .nav-links.open{display:flex}
  .nav-links>li{width:100%}
  .nav-links>li>a,.nav-links>li>button{width:100%;justify-content:space-between}
  .dropdown{position:static;box-shadow:none;display:none;margin:0 0 4px 10px;border-left:2px solid var(--deep-line);border-radius:0;background:transparent;border-top:none;border-right:none;border-bottom:none}
  .dropdown.wide{grid-template-columns:1fr}
  .nav-links>li.open .dropdown{display:grid}
  .nav-toggle{display:inline-flex}
  .nav-cta-li{order:99}
}

/* breadcrumb */
.crumb{background:var(--surface-2);border-bottom:1px solid var(--line);padding:16px 0}
.crumb .wrap{display:flex;gap:8px;align-items:center;font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--faint);flex-wrap:wrap}
.crumb a{color:var(--faint);text-decoration:none}
.crumb a:hover{color:var(--accent-deep)}
.crumb .sep{opacity:.5}
.crumb .cur{color:var(--ink);font-weight:600}

/* page hero (non-home) */
.page-hero{background:var(--deep);color:var(--deep-ink);padding:64px 0;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 60% at 85% 0%,rgba(56,217,174,.12),transparent 70%)}
.page-hero .eyebrow{color:var(--mint)} .page-hero .eyebrow::before{background:var(--mint)}
.page-hero h1{font-size:clamp(32px,4.6vw,52px);font-weight:800;letter-spacing:-.025em;margin-bottom:16px;color:var(--deep-ink);max-width:20ch}
.page-hero p{font-size:18.5px;color:var(--deep-muted);max-width:64ch}
.page-hero .cpt-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.page-hero .btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}

/* cards */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.grid-3,.grid-2,.grid-4{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:28px 26px;box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease}
.card:hover{transform:translateY(-3px);border-color:var(--accent)}
.card .icon{width:44px;height:44px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent-deep);margin-bottom:14px}
.card .icon svg{width:22px;height:22px}
.card h3{font-size:19px;font-weight:700;margin-bottom:8px}
.card p{font-size:14.5px;color:var(--muted);line-height:1.6}
.card .tag{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:10px}
.card a.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:"Bricolage Grotesque",sans-serif;font-size:13.5px;font-weight:700;color:var(--accent-deep);text-decoration:none}

/* service icon tiles for hub */
.service-tile{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;text-decoration:none;color:var(--ink);transition:transform .16s ease,border-color .16s ease}
.service-tile:hover{transform:translateY(-3px);border-color:var(--accent)}
.service-tile .abbr{flex:none;width:56px;height:56px;border-radius:12px;background:var(--accent-soft);color:var(--accent-deep);display:flex;align-items:center;justify-content:center;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:14px}
.service-tile h4{font-size:16.5px;font-weight:700;margin-bottom:5px}
.service-tile p{font-size:13.5px;color:var(--muted);line-height:1.55}

/* flist */
.flist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:20px 0}
@media (max-width:560px){.flist{grid-template-columns:1fr}}
.flist li{font-family:"Bricolage Grotesque",sans-serif;font-size:14.5px;font-weight:600;padding-left:26px;position:relative;color:var(--ink)}
.flist li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:7px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg)}
.cpt{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.06em;padding:5px 11px;border-radius:6px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid transparent;display:inline-block}

/* article / prose (resources, about) */
.prose h2{font-size:26px;font-weight:800;margin:40px 0 14px;letter-spacing:-.01em}
.prose h3{font-size:20px;font-weight:700;margin:28px 0 10px}
.prose p{margin-bottom:16px;color:var(--muted);font-size:17px}
.prose ul,.prose ol{margin:0 0 16px 22px;color:var(--muted)}
.prose li{margin-bottom:8px}
.prose strong{color:var(--ink)}
.prose blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 20px;margin:24px 0;color:var(--ink);font-style:italic}

/* stat / evidence */
.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
@media (max-width:880px){.stat-cards{grid-template-columns:1fr}}
.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:30px 28px;box-shadow:var(--shadow)}
.stat-card .big{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:46px;letter-spacing:-.03em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-card h4{font-size:16px;font-weight:700;margin:12px 0 6px}
.stat-card p{font-size:14px;color:var(--muted);line-height:1.6}
.stat-card .src{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);display:block;margin-top:12px}

.ev-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
@media (max-width:960px){.ev-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ev-grid{grid-template-columns:1fr}}
.ev{background:var(--deep-card);border:1px solid var(--deep-line);border-radius:14px;padding:26px 22px}
.ev .v{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:38px;letter-spacing:-.03em;color:var(--mint);line-height:1}
.ev .v small{font-size:20px;font-weight:700}
.ev p{font-size:13px;color:var(--deep-muted);margin-top:10px;line-height:1.55}

/* case study */
.badge-illustrative{display:inline-flex;align-items:center;gap:8px;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber-deep);background:var(--amber-soft);border-radius:99px;padding:6px 14px;margin-bottom:18px}
.badge-illustrative svg{width:13px;height:13px}
.cs-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0;padding:24px;background:var(--surface-2);border-radius:14px;border:1px solid var(--line)}
@media (max-width:760px){.cs-meta{grid-template-columns:1fr 1fr}}
.cs-meta .m-lab{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}
.cs-meta .m-val{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:16px}
.cs-outcomes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}
@media (max-width:760px){.cs-outcomes{grid-template-columns:1fr 1fr}}
.cs-outcome{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px 18px;text-align:center}
.cs-outcome .arrow{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:24px;color:var(--accent-deep)}
.cs-outcome .lab{font-size:12.5px;color:var(--muted);margin-top:6px}
.cs-card{display:flex;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:26px;text-decoration:none;color:var(--ink);transition:transform .16s,border-color .16s}
.cs-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.cs-card .cs-ic{flex:none;width:58px;height:58px;border-radius:12px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent-deep)}
.cs-card .cs-ic svg{width:28px;height:28px}
.cs-card h4{font-size:17px;font-weight:700;margin-bottom:6px}
.cs-card p{font-size:14px;color:var(--muted)}
.cs-card .stats-mini{display:flex;gap:14px;margin-top:10px;font-family:"IBM Plex Mono",monospace;font-size:11.5px;color:var(--accent-deep)}

/* timeline / process */
.steps-num{display:flex;flex-direction:column;gap:0;margin-top:40px}
.step-row{display:grid;grid-template-columns:60px 1fr;gap:20px;position:relative;padding-bottom:30px}
.step-row::before{content:"";position:absolute;left:29px;top:50px;bottom:0;width:2px;background:var(--line)}
.step-row:last-child::before{display:none}
.step-row .n{width:50px;height:50px;border-radius:14px;flex:none;background:var(--surface);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:"IBM Plex Mono",monospace;font-size:14px;font-weight:600;color:var(--accent);box-shadow:var(--shadow)}
.step-row h4{font-size:17px;font-weight:700;margin-bottom:4px}
.step-row p{font-size:14.5px;color:var(--muted);max-width:64ch}

/* who-we-serve profile layout */
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:20px}
@media (max-width:900px){.profile-grid{grid-template-columns:1fr}}
.mini-stat{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-family:"Bricolage Grotesque",sans-serif;font-size:14.5px}
.mini-stat b{color:var(--accent-deep)}

/* FAQ */
.faq{max-width:820px}
details.qa{border-bottom:1px solid var(--line)}
details.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:"Bricolage Grotesque",sans-serif;font-size:17px;font-weight:700;padding:22px 4px;color:var(--ink)}
details.qa summary::-webkit-details-marker{display:none}
details.qa summary .pm{width:28px;height:28px;border-radius:50%;border:1px solid var(--line-strong);flex:none;display:flex;align-items:center;justify-content:center;color:var(--accent);font-family:"IBM Plex Mono",monospace;font-size:15px;transition:transform .2s ease,background .2s ease}
details.qa[open] summary .pm{transform:rotate(45deg);background:var(--accent-soft)}
details.qa .ans{padding:0 42px 24px 4px;color:var(--muted);font-size:15.5px;line-height:1.7}

/* diff table */
.diff-wrap{overflow-x:auto;margin-top:40px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}
table.diff{width:100%;border-collapse:collapse;min-width:640px}
.diff th{font-family:"Bricolage Grotesque",sans-serif;font-size:14px;font-weight:800;text-align:left;padding:18px 22px;border-bottom:1px solid var(--line)}
.diff th.viora-col{color:var(--accent-deep);background:var(--accent-soft)}
.diff td{padding:17px 22px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--muted);vertical-align:top}
.diff tr:last-child td{border-bottom:none}
.diff td.dim-label{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;color:var(--ink);font-size:14px;white-space:nowrap}
.diff td.viora-col{background:var(--accent-soft);color:var(--ink)}

/* pricing-ish table for billing */
.billing-table{width:100%;border-collapse:collapse;margin-top:16px}
.billing-table th,.billing-table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);font-size:14px}
.billing-table th{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;color:var(--faint);text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.billing-table td.num{font-family:"IBM Plex Mono",monospace;color:var(--accent-deep)}
.table-wrap{overflow-x:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px 20px;box-shadow:var(--shadow)}

/* CTA band */
.cta-section{background:var(--deep);color:var(--deep-ink);padding:96px 0;position:relative;overflow:hidden}
.cta-section::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 46% at 50% 0%,rgba(56,217,174,.1),transparent 70%)}
.cta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative}
@media (max-width:880px){.cta-grid{grid-template-columns:1fr}}
.cta-section h2{font-size:clamp(28px,4vw,42px);font-weight:800;letter-spacing:-.02em;margin-bottom:16px;color:var(--deep-ink)}
.cta-section .section-lede{color:var(--deep-muted)}
.cta-section .eyebrow{color:var(--mint)} .cta-section .eyebrow::before{background:var(--mint)}
.agenda{background:rgba(255,255,255,.03);border:1px solid var(--deep-line);border-radius:16px;padding:30px}
.agenda h4{font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:18px;font-weight:600}
.agenda ol{list-style:none;counter-reset:ag;display:flex;flex-direction:column;gap:14px}
.agenda li{counter-increment:ag;display:flex;gap:14px;align-items:baseline;font-family:"Bricolage Grotesque",sans-serif;font-size:15px;font-weight:600;color:var(--deep-ink)}
.agenda li::before{content:counter(ag,decimal-leading-zero);font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--mint)}
.cta-btn-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px;align-items:center}
.cta-email{font-family:"IBM Plex Mono",monospace;font-size:13.5px;color:var(--deep-muted)}
.cta-email a{color:var(--mint);text-decoration:none}

/* mini CTA (inline, non-hero pages) */
.inline-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:30px 32px;margin-top:20px}
.inline-cta h4{font-size:19px;font-weight:800;margin-bottom:6px}
.inline-cta p{font-size:14.5px;color:var(--muted)}

/* footer */
footer{background:var(--deep-2);color:var(--deep-muted);padding:60px 0 44px;border-top:1px solid var(--deep-line)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:36px}
@media (max-width:960px){.foot-grid{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:640px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-col h5{font-family:"IBM Plex Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep-faint);margin-bottom:14px;font-weight:600}
.foot-col a{display:block;color:var(--deep-muted);text-decoration:none;font-family:"Bricolage Grotesque",sans-serif;font-size:13.5px;font-weight:500;padding:4px 0}
.foot-col a:hover{color:var(--deep-ink)}
.foot-brand p{font-size:13.5px;line-height:1.6;margin-top:14px;max-width:34ch;color:var(--deep-muted)}
.foot-contact{font-family:"IBM Plex Mono",monospace;font-size:12.5px;margin-top:14px;line-height:1.8}
.foot-contact a{color:var(--mint);text-decoration:none}
.disclaimer{margin-top:40px;padding-top:26px;border-top:1px solid var(--deep-line);font-size:12px;color:var(--deep-faint);max-width:110ch;line-height:1.65}
.copyright{margin-top:16px;font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--deep-faint)}

/* illustration frames */
.illo-frame{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.illo-frame .cap{padding:12px 18px;border-top:1px solid var(--line);font-family:"IBM Plex Mono",monospace;font-size:11px;color:var(--faint);letter-spacing:.05em}
.illo-frame svg{display:block;width:100%;height:auto;background:var(--bg)}
