/* ═══════════════════════════════════════════════════════════════
   Panam Capital design system
   Light: white × red · Dark: black × red · Brand #E42128 / #EB6420
   ═══════════════════════════════════════════════════════════════ */

:root{
  --red:#E42128;
  --red-deep:#B8141A;
  --orange:#EB6420;
  --ink:#1A1212;
  --ink-2:#3A2A2A;
  --text:#2A1F1F;
  --muted:#6E5C5C;
  --line:rgba(228,33,40,.14);
  --line-strong:rgba(228,33,40,.28);
  --surface:#FFFFFF;
  --surface-2:#FFF8F8;
  --surface-3:#FFECEC;
  --grey:#FFF5F5;
  --card:#FFFFFF;
  --card-border:rgba(228,33,40,.12);
  --elev:0 8px 32px rgba(180,20,30,.08);
  --elev-hover:0 20px 48px rgba(180,20,30,.16);
  --header-bg:rgba(255,255,255,.88);
  --topbar-bg:linear-gradient(90deg,#1A1212,#3A1818);
  --footer-bg:#120A0A;
  --hero-from:#1A0C0C;
  --hero-to:#4A1218;
  --grad-page:linear-gradient(165deg,#FFFFFF 0%,#FFF8F8 38%,#FFE8E8 72%,#FFD6D6 100%);
  --grad-band:linear-gradient(135deg,#FFFFFF 0%,#FFECEC 50%,#FFD0D0 100%);
  --grad-cta:linear-gradient(125deg,#1A0C0C 0%,#5A1218 55%,#E42128 120%);
  --grad-btn:linear-gradient(105deg,#E42128 0%,#EB6420 100%);
  --ico-bg:rgba(228,33,40,.1);
  --focus-ring:rgba(228,33,40,.2);
  --chart-a:#E42128;
  --chart-b:#EB6420;
  --chart-grid:rgba(228,33,40,.12);
  --modal-scrim:rgba(20,8,8,.55);
  --tab-bg:rgba(228,33,40,.06);
  --tab-on:#E42128;
  --tab-on-fg:#fff;

  --head:"Plus Jakarta Sans",system-ui,sans-serif;
  --body:"Source Sans 3",system-ui,sans-serif;
  --gutter:clamp(18px,4.5vw,52px);
  --maxw:1180px;
  --r:14px;
  --r-sm:10px;
  --ease:cubic-bezier(.22,1,.36,1);
  color-scheme:light;
}

[data-theme="dark"]{
  --ink:#F7EDED;
  --ink-2:#E8D4D4;
  --text:#F0E6E6;
  --muted:#B8A0A0;
  --line:rgba(228,33,40,.22);
  --line-strong:rgba(228,33,40,.4);
  --surface:#0A0606;
  --surface-2:#140A0A;
  --surface-3:#1E0C0C;
  --grey:#120808;
  --card:#140A0A;
  --card-border:rgba(228,33,40,.25);
  --elev:0 8px 36px rgba(0,0,0,.45);
  --elev-hover:0 22px 56px rgba(0,0,0,.55);
  --header-bg:rgba(10,6,6,.9);
  --topbar-bg:linear-gradient(90deg,#050303,#1A0808);
  --footer-bg:#050303;
  --hero-from:#050303;
  --hero-to:#2A0A0E;
  --grad-page:linear-gradient(165deg,#050303 0%,#0E0606 40%,#1A080A 70%,#2A0A0E 100%);
  --grad-band:linear-gradient(135deg,#0A0606 0%,#1A080A 50%,#2E0C10 100%);
  --grad-cta:linear-gradient(125deg,#050303 0%,#3A0C12 50%,#E42128 130%);
  --ico-bg:rgba(228,33,40,.2);
  --focus-ring:rgba(228,33,40,.35);
  --chart-grid:rgba(255,255,255,.08);
  --modal-scrim:rgba(0,0,0,.72);
  --tab-bg:rgba(228,33,40,.14);
  --tab-on:#E42128;
  --tab-on-fg:#fff;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--grad-page);
  background-attachment:fixed;
  color:var(--text);
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  transition:color .3s var(--ease);
  min-height:100vh;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,h5{margin:0;font-family:var(--head);font-weight:700;line-height:1.15;letter-spacing:-.025em;color:var(--ink)}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.section{padding:clamp(56px,7vw,100px) 0;position:relative}
.section--grey{background:var(--grad-band)}
.section--flush{padding-block:clamp(40px,5vw,64px)}
.eyebrow{
  font-family:var(--head);font-size:11.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--red);margin:0 0 14px;
  display:inline-flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--grad-btn);border-radius:2px}
.h2{font-size:clamp(28px,3.4vw,42px)}
.lede{color:var(--muted);max-width:60ch;font-size:1.05em}
.center{text-align:center}
.center .lede{margin-inline:auto}
.center .eyebrow{justify-content:center}
.center .eyebrow::before{display:none}
.btns{display:flex;gap:12px;flex-wrap:wrap}
.center .btns{justify-content:center}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* ── Buttons ── */
.btn{
  display:inline-flex;align-items:center;gap:.55em;
  font-family:var(--head);font-size:14.5px;font-weight:650;
  padding:13px 24px;border-radius:999px;border:1.5px solid transparent;
  text-decoration:none;cursor:pointer;background:transparent;color:inherit;
  transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease),box-shadow .25s;
}
.btn:hover{transform:translateY(-2px)}
.btn--orange,.btn--crimson{
  background:var(--grad-btn);color:#fff;border:0;
  box-shadow:0 10px 28px rgba(228,33,40,.3);background-size:160% 100%;
}
.btn--orange:hover,.btn--crimson:hover{background-position:100% 0;box-shadow:0 14px 32px rgba(228,33,40,.4)}
.btn--outline{border-color:var(--line-strong);color:var(--ink);background:var(--card)}
.btn--outline:hover{border-color:var(--red);color:var(--red);background:var(--ico-bg)}
.btn--ghost{border-color:transparent;color:var(--red);background:var(--ico-bg)}
.btn--ghost:hover{background:rgba(228,33,40,.18)}
.btn--onInk{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.08)}
.btn--onInk:hover{background:#fff;color:#1A1212;border-color:#fff}
.arw{transition:transform .25s var(--ease);display:inline-block}
.btn:hover .arw{transform:translateX(4px)}

/* ── Theme toggle ── */
.theme-toggle{
  width:42px;height:42px;border-radius:999px;border:1px solid var(--line-strong);
  background:var(--card);color:var(--ink);cursor:pointer;display:grid;place-items:center;
  position:relative;transition:border-color .2s,transform .2s,box-shadow .2s;
}
.theme-toggle:hover{border-color:var(--red);transform:scale(1.05);box-shadow:var(--elev)}
.theme-toggle svg{width:18px;height:18px;position:absolute;transition:opacity .25s,transform .35s var(--ease)}
.theme-toggle .icon-moon{opacity:0;transform:rotate(-40deg) scale(.6)}
.theme-toggle .icon-sun{opacity:1}
[data-theme="dark"] .theme-toggle .icon-sun{opacity:0;transform:rotate(40deg) scale(.6)}
[data-theme="dark"] .theme-toggle .icon-moon{opacity:1;transform:none}
[data-theme="dark"] .brand img{filter:brightness(1.2) contrast(1.05)}

/* ── Topbar / Header ── */
.topbar{background:var(--topbar-bg);color:rgba(255,255,255,.9);font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px;flex-wrap:wrap}
.topbar a{text-decoration:none;opacity:.85}.topbar a:hover{opacity:1}
.topbar .dot{opacity:.35;margin:0 10px}
.topbar .social a{margin-left:14px}

header.site{
  position:sticky;top:0;z-index:70;
  background:var(--header-bg);backdrop-filter:saturate(1.3) blur(16px);
  -webkit-backdrop-filter:saturate(1.3) blur(16px);
  border-bottom:1px solid var(--line);
}
header.site::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--red),var(--orange) 40%,transparent 75%);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:80px}
.brand img{height:50px}
.menu{display:flex;align-items:center;gap:26px;list-style:none;margin:0;padding:0}
.menu > li{position:relative}
.menu > li > a{
  display:inline-flex;align-items:center;gap:7px;text-decoration:none;
  font-family:var(--head);font-size:14.5px;font-weight:600;color:var(--ink);
  padding:26px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;
}
.menu > li > a:hover,.menu > li.active > a{color:var(--red);border-color:var(--red)}
.caret{width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55}
.sub{
  position:absolute;top:calc(100% - 4px);left:-16px;min-width:236px;
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  padding:8px;margin:0;list-style:none;box-shadow:var(--elev-hover);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:.2s var(--ease);
}
.menu li:hover > .sub,.menu li:focus-within > .sub{opacity:1;visibility:visible;transform:none}
.sub a{display:block;padding:10px 14px;border-radius:var(--r-sm);text-decoration:none;font-size:14.5px;color:var(--text)}
.sub a:hover{background:var(--ico-bg);color:var(--red)}
.nav__right{display:flex;align-items:center;gap:10px}
.burger{display:none;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;cursor:pointer}
.burger span{display:block;width:18px;height:2px;background:var(--ink);margin:4px 0;border-radius:2px}

/* ── Cards (global) ── */
.card{
  background:var(--card);border:1px solid var(--card-border);border-radius:calc(var(--r) + 2px);
  box-shadow:var(--elev);transition:box-shadow .3s var(--ease),transform .3s var(--ease),border-color .3s;
  overflow:hidden;position:relative;
}
.card:hover{box-shadow:var(--elev-hover);transform:translateY(-4px);border-color:var(--line-strong)}
.card--pad{padding:28px}
.card--accent::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-btn);
}
.ico{
  width:48px;height:48px;border-radius:14px;background:var(--ico-bg);
  display:grid;place-items:center;color:var(--red);flex:0 0 auto;
  transition:transform .3s var(--ease);
}
.ico svg{width:22px;height:22px}
.card:hover .ico{transform:scale(1.06)}

/* ── Tabs ── */
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 32px;padding:6px;background:var(--tab-bg);border-radius:999px;width:fit-content;max-width:100%}
.tabs.center,.center + .tabs,.tabs--center{margin-inline:auto}
.tab{
  font-family:var(--head);font-size:13.5px;font-weight:650;padding:10px 18px;
  border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;
  transition:background .2s,color .2s,box-shadow .2s;
}
.tab:hover{color:var(--ink)}
.tab[aria-selected="true"],.tab.is-on{
  background:var(--tab-on);color:var(--tab-on-fg);box-shadow:0 6px 18px rgba(228,33,40,.35);
}
.tab-panels > [hidden]{display:none!important}
.tab-panel{animation:fadeUp .4s var(--ease) both}

/* ── Modal ── */
.modal{
  position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px;
  opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;
}
.modal.is-open{opacity:1;visibility:visible}
.modal__scrim{position:absolute;inset:0;background:var(--modal-scrim);backdrop-filter:blur(6px)}
.modal__dialog{
  position:relative;z-index:1;width:min(560px,100%);max-height:min(86vh,720px);
  overflow-x:hidden;overflow-y:auto;
  background:var(--card);border:1px solid var(--card-border);border-radius:calc(var(--r) + 4px);
  box-shadow:var(--elev-hover);padding:32px;transform:translateY(16px) scale(.97);
  transition:transform .3s var(--ease);
}
.modal.is-open .modal__dialog{transform:none}
.modal__dialog--wide{width:min(860px,100%)}
.modal__dialog > .modal__close:not(.btn){
  position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:999px;
  border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;
  display:grid;place-items:center;font-size:20px;line-height:1;padding:0;z-index:2;
}
.modal__dialog > .modal__close:not(.btn):hover{border-color:var(--red);color:var(--red)}
.modal h3{font-size:22px;margin-bottom:10px;padding-right:44px}
.modal p{color:var(--muted);font-size:15.5px}
.modal .modal__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.modal .modal__actions .modal__close{position:static;width:auto;height:auto;border-radius:var(--pill,999px)}
body.modal-open{overflow:hidden}

/* ── Charts / graphs ── */
.chart-card{padding:24px;display:flex;flex-direction:column;gap:14px}
.chart-card h4{font-size:16px}
.chart-card p{font-size:13.5px;color:var(--muted)}
.chart-svg{width:100%;height:auto;display:block;overflow:visible}
.chart-line-anim{
  stroke-dasharray:1400;stroke-dashoffset:1400;
  animation:dashDraw 2.2s var(--ease) .2s forwards;
}
.chart-bar{transform-origin:bottom;transform:scaleY(0);animation:barGrow .8s var(--ease) forwards}
.chart-bar:nth-child(1){animation-delay:.1s}
.chart-bar:nth-child(2){animation-delay:.2s}
.chart-bar:nth-child(3){animation-delay:.3s}
.chart-bar:nth-child(4){animation-delay:.4s}
.chart-bar:nth-child(5){animation-delay:.5s}
.chart-donut{transform:rotate(-90deg);transform-origin:center}
.chart-donut-seg{
  stroke-dasharray:0 999;animation:donutFill 1.2s var(--ease) forwards;
}
@keyframes dashDraw{to{stroke-dashoffset:0}}
@keyframes barGrow{to{transform:scaleY(1)}}
@keyframes donutFill{to{stroke-dasharray:var(--len) 999}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulseDot{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes spinSlow{to{transform:rotate(360deg)}}
@keyframes flowDash{to{stroke-dashoffset:-90}}
@keyframes moneyDriftA{
  0%,100%{transform:translate(0,0) scale(1);opacity:.35}
  50%{transform:translate(10px,-16px) scale(1.1);opacity:.65}
}
@keyframes moneyDriftB{
  0%,100%{transform:translate(0,0) rotate(0deg);opacity:.28}
  50%{transform:translate(-12px,-20px) rotate(-8deg);opacity:.55}
}
@keyframes moneyDriftC{
  0%,100%{transform:translate(0,0);opacity:.3}
  50%{transform:translate(14px,12px);opacity:.55}
}
@keyframes moneyDriftD{
  0%,100%{transform:translate(0,0) scale(1);opacity:.28}
  50%{transform:translate(-8px,-22px) scale(1.12);opacity:.5}
}
@keyframes moneyDriftE{
  0%,100%{transform:translate(0,0);opacity:.35}
  50%{transform:translate(6px,-14px);opacity:.6}
}
@keyframes coinFloat{
  0%,100%{transform:translate(0,0) rotate(0deg)}
  50%{transform:translate(6px,-14px) rotate(12deg)}
}
@keyframes coinRise{
  0%{transform:translateY(0);opacity:0}
  12%{opacity:.55}
  70%{opacity:.35}
  100%{transform:translateY(-120px);opacity:0}
}
@keyframes gbarPulse{
  0%,100%{transform:scaleY(.7);opacity:.45}
  50%{transform:scaleY(1);opacity:.9}
}
.decor-float{animation:floatY 7s ease-in-out infinite}
.pulse{animation:pulseDot 2.2s ease-in-out infinite}
.spin-slow{animation:spinSlow 28s linear infinite;transform-origin:center;transform-box:fill-box}
.chart-flow{
  stroke-dasharray:10 16;
  animation:flowDash 2.8s linear infinite;
}
.money-sym,.coin,.coin-rise,.gbar{
  transform-box:fill-box;
  transform-origin:center;
}
.money-sym--a{animation:moneyDriftA 9s ease-in-out infinite}
.money-sym--b{animation:moneyDriftB 11s ease-in-out infinite .4s}
.money-sym--c{animation:moneyDriftC 10s ease-in-out infinite .8s}
.money-sym--d{animation:moneyDriftD 12s ease-in-out infinite .2s}
.money-sym--e{animation:moneyDriftE 8s ease-in-out infinite .6s}
.coin{animation:coinFloat 6.5s ease-in-out infinite}
.coin--2{animation-delay:1.2s;animation-duration:7.5s}
.coin--3{animation-delay:2s;animation-duration:8s}
.coin-rise{animation:coinRise 7s ease-in infinite}
.coin-rise--1{animation-delay:0s}
.coin-rise--2{animation-delay:2.3s;animation-duration:8s}
.coin-rise--3{animation-delay:4.2s;animation-duration:7.5s}
.gbar{
  transform-origin:bottom center;
  animation:gbarPulse 3.2s ease-in-out infinite;
}

/* Money-alive section overlays */
.money-alive{position:relative;overflow:hidden}
.money-alive > .wrap{position:relative;z-index:1}
.money-alive__art{
  position:absolute;inset:0;pointer-events:none;z-index:0;opacity:1;
}
.money-alive__art svg{width:100%;height:100%;display:block}
.money-alive__art--soft{opacity:.9}

/* ── Hero ── */
.hero{
  position:relative;color:#fff;overflow:hidden;isolation:isolate;
  background:linear-gradient(135deg,var(--hero-from),var(--hero-to) 55%,#7A1A22);
}
.hero__art{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.65}
.hero__art svg{width:100%;height:100%;display:block}
.hero::after{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(800px 400px at 85% 15%,rgba(228,33,40,.45),transparent 60%),
    radial-gradient(600px 380px at 10% 90%,rgba(235,100,32,.25),transparent 55%),
    linear-gradient(105deg,rgba(10,5,5,.55) 0%,transparent 55%);
}
.hero .wrap{position:relative;z-index:2;min-height:clamp(460px,68vh,640px);display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero--solo .wrap{grid-template-columns:1fr;min-height:clamp(420px,58vh,560px)}
.slides{width:100%;position:relative;max-width:640px}
.slide{display:none}
.slide.on{display:block;animation:fadeUp .75s var(--ease) both}
.slide h1{color:#fff;font-size:clamp(34px,5vw,60px);line-height:1.05;max-width:14ch}
.slide h1 span{
  background:linear-gradient(100deg,#fff 5%,#ffb4a8 55%,var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.slide p{margin-top:20px;color:rgba(255,255,255,.78);font-size:clamp(16.5px,1.6vw,19.5px);max-width:46ch}
.slide .btns{margin-top:32px}
.slide-nav{
  display:flex;align-items:center;gap:14px;margin-top:44px;
}
.slide-arrow{
  width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.72);
  display:inline-flex;align-items:center;justify-content:center;
  cursor:pointer;padding:0;flex-shrink:0;
  transition:border-color .2s,background .2s,color .2s,transform .2s;
}
.slide-arrow svg{width:16px;height:16px}
.slide-arrow:hover{
  border-color:rgba(255,255,255,.55);
  background:rgba(255,255,255,.12);
  color:#fff;
}
.slide-arrow:active{transform:scale(.94)}
.slide-arrow:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.dots{display:flex;gap:8px;align-items:center}
.dots button{
  width:28px;height:4px;border:0;padding:0;border-radius:4px;
  background:rgba(255,255,255,.28);cursor:pointer;transition:background .25s,width .25s;
}
.dots button[aria-current="true"]{background:var(--orange);width:40px}
.hero-panel{
  position:relative;z-index:2;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:calc(var(--r) + 4px);
  backdrop-filter:blur(12px);padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.25);
  min-height:248px;
}
.hero-panel__view{display:none}
.hero-panel__view.on{display:block;animation:fadeUp .65s var(--ease) both}
.hero-panel h4{color:#fff;font-size:15px;margin-bottom:8px;font-weight:650}
.hero-panel .muted{color:rgba(255,255,255,.65);font-size:13px;margin-bottom:12px}
.hero-panel .chart-svg{margin-top:4px}
.hp-bars .chart-bar{transform-box:fill-box;transform-origin:bottom center}

/* ── Trust ── */
.trustbar{background:var(--card);border-block:1px solid var(--line)}
.trustbar .wrap{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-block:18px;
}
.trust-item{
  display:flex;align-items:flex-start;gap:12px;padding:12px 14px;
  border-radius:var(--r);border:1px solid transparent;transition:border-color .2s,background .2s;
}
.trust-item:hover{border-color:var(--line);background:var(--ico-bg)}
.trust-item span.label{font-family:var(--head);font-size:12.5px;font-weight:650;color:var(--ink);line-height:1.45}
.ticon{
  width:36px;height:36px;border-radius:11px;background:var(--ico-bg);
  display:grid;place-items:center;color:var(--red);flex:0 0 auto;
}
.ticon svg{width:16px;height:16px}

/* ── Layouts ── */
.intro,.split,.layout-2{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,5vw,56px);align-items:start}
.layout-2--eq{grid-template-columns:1fr 1fr;align-items:stretch}
.layout-2--rev{grid-template-columns:.85fr 1.15fr}
.intro h2,.split .h2{font-size:clamp(28px,3.4vw,42px);max-width:16ch}

/* Intro band: balanced homepage split */
.intro-band{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:stretch}
.intro-band__copy{display:flex;flex-direction:column;justify-content:center}
.intro-band__copy h2{font-size:clamp(28px,3.2vw,40px);max-width:16ch}
.intro-band__visual{
  border-radius:calc(var(--r) + 4px);overflow:hidden;border:1px solid var(--card-border);
  box-shadow:var(--elev);min-height:320px;background:var(--card);position:relative;
}
.intro-band__visual img{width:100%;height:100%;object-fit:cover;min-height:320px}
.intro-band__visual::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(160deg,transparent 40%,rgba(228,33,40,.18));
  pointer-events:none;
}
.intro-offer{
  margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding:22px 26px;background:var(--card);border:1px solid var(--card-border);
  border-radius:calc(var(--r) + 2px);box-shadow:var(--elev);position:relative;overflow:hidden;
}
.intro-offer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-btn);
}
.intro-offer h4{font-size:17px}
.intro-offer p{color:var(--muted);font-size:14.5px;margin-top:4px}
@media(max-width:1000px){
  .intro-band{grid-template-columns:1fr}
  .intro-band__visual{min-height:240px}
  .intro-band__visual img{min-height:240px}
}
.stack{display:grid;gap:18px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

.pdfcard,.sidecard{
  background:var(--card);border:1px solid var(--card-border);border-radius:calc(var(--r) + 2px);
  padding:28px;box-shadow:var(--elev);position:relative;overflow:hidden;
}
.pdfcard::before,.sidecard.card--accent::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-btn);
}
.pdfcard h4,.sidecard h4{font-size:18px}
.pdfcard p,.sidecard p{color:var(--muted);font-size:15px;margin-top:8px}
.pdfcard a,.sidecard .btn{margin-top:16px}
.sidecard{position:sticky;top:100px}
.sidecard + .sidecard{margin-top:16px;position:relative;top:auto}
.sidecard .btn{width:100%;justify-content:center}

/* Service detail pages: main + sticky sidebar */
.svc-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 300px;
  gap:clamp(28px,4vw,48px);align-items:start;
}
.svc-main{min-width:0}
.svc-main .prose{max-width:none}
.svc-aside{display:grid;gap:16px;position:sticky;top:100px}
.svc-aside .sidecard{position:static;margin:0}
.svc-nav h4{margin-bottom:14px}
.svc-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.svc-nav a{
  display:block;padding:10px 12px;border-radius:var(--r-sm);
  text-decoration:none;font-family:var(--head);font-size:13.5px;font-weight:600;
  color:var(--muted);border:1px solid transparent;transition:background .2s,color .2s,border-color .2s;
}
.svc-nav a:hover{color:var(--red);background:var(--ico-bg)}
.svc-nav a.is-on{
  color:var(--red);background:var(--ico-bg);border-color:var(--line-strong);
}
.svc-aside .sidecard p{margin-top:8px}
@media(max-width:1000px){
  .svc-layout{grid-template-columns:1fr}
  .svc-aside{position:static}
}

.fcard{
  background:var(--card);border:1px solid var(--card-border);border-radius:calc(var(--r) + 2px);
  overflow:hidden;box-shadow:var(--elev);transition:box-shadow .3s,transform .3s;
}
.fcard:hover{box-shadow:var(--elev-hover);transform:translateY(-5px)}
.fcard img{width:100%;height:190px;object-fit:cover;transition:transform .5s var(--ease)}
.fcard:hover img{transform:scale(1.04)}
.fcard__b{padding:24px}
.fcard h3{font-size:18.5px}
.fcard p{color:var(--muted);font-size:15px;margin-top:8px}

.scard{
  background:var(--card);border:1px solid var(--card-border);border-radius:calc(var(--r) + 2px);
  padding:26px 22px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--elev);
  transition:box-shadow .3s,transform .3s;position:relative;overflow:hidden;cursor:default;
}
.scard::after{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-btn);
  transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);
}
.scard:hover{box-shadow:var(--elev-hover);transform:translateY(-5px)}
.scard:hover::after{transform:scaleX(1)}
.scard h3{font-size:17.5px}
.scard p{color:var(--muted);font-size:14.5px}
.scard .more,.link-more{
  margin-top:auto;font-family:var(--head);font-size:13.5px;font-weight:650;
  color:var(--red);text-decoration:none;display:inline-flex;gap:6px;align-items:center;background:none;border:0;cursor:pointer;padding:0;
}
.scard[data-modal],.scard.is-clickable,a.scard{cursor:pointer}
a.scard{text-decoration:none;color:inherit}

.note{
  margin-top:36px;background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--red);border-radius:var(--r);padding:20px 24px;font-size:14.5px;color:var(--muted);
}
.note strong{color:var(--ink);font-weight:650}

/* Counters */
.counters{background:linear-gradient(135deg,var(--hero-from),var(--hero-to));color:#fff;position:relative;overflow:hidden}
.counters__art{position:absolute;inset:0;opacity:.35;pointer-events:none}
.counters__art svg{width:100%;height:100%}
.counters .wrap{position:relative;z-index:2}
.counters h2{color:#fff}
.counters .lede{color:rgba(255,255,255,.7)}
.counters .eyebrow{color:#ffb0a4}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.c{
  border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:24px 20px;
  background:rgba(255,255,255,.06);backdrop-filter:blur(8px);
}
.c:hover{background:rgba(255,255,255,.1);border-color:rgba(228,33,40,.45)}
.c b{
  display:block;font-family:var(--head);font-size:clamp(32px,4vw,50px);font-weight:750;
  letter-spacing:-.03em;background:linear-gradient(120deg,#ff8a7a,var(--orange));
  -webkit-background-clip:text;background-clip:text;color:transparent;line-height:1;
}
.c span{display:block;margin-top:10px;font-size:13px;color:rgba(255,255,255,.68);font-family:var(--head);font-weight:500;letter-spacing:.03em}
.c .mini-chart{margin-top:14px;height:36px}

/* Quote / CTA */
.quote{text-align:center}
.quote__mark{width:68px;height:68px;margin:0 auto 18px;color:var(--red)}
.quote__mark svg{width:100%;height:100%}
.quote p{font-family:var(--head);font-size:clamp(26px,3.5vw,44px);font-weight:700;line-height:1.22;color:var(--ink);max-width:18ch;margin-inline:auto}
.quote p em{font-style:normal;color:var(--red)}
.quote cite{display:block;margin-top:18px;font-style:normal;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-family:var(--head);font-weight:650}

.cta{background:var(--grad-cta);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta__art{position:absolute;inset:0;opacity:.4;pointer-events:none}
.cta__art svg{width:100%;height:100%}
.cta .wrap{position:relative;z-index:2}
.cta h2{color:#fff;font-size:clamp(28px,3.6vw,46px);max-width:18ch;margin-inline:auto}
.cta p{color:rgba(255,255,255,.78);margin-top:14px}
.cta .btns{justify-content:center;margin-top:28px}

/* Footer */
footer.site{background:var(--footer-bg);color:#fff;padding-top:clamp(48px,6vw,76px)}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:32px;padding-bottom:44px}
.fgrid h5{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#ff8a7a;margin-bottom:16px;font-weight:700}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fgrid a{text-decoration:none;color:rgba(255,255,255,.68);font-size:14.5px}
.fgrid a:hover{color:#fff}
.faddr{font-style:normal;color:rgba(255,255,255,.68);font-size:14.5px}
.faddr strong{display:block;color:#fff;margin-bottom:6px}
.compliance{border-top:1px solid rgba(255,255,255,.1);padding-top:26px;font-size:12.5px;line-height:1.85;color:rgba(255,255,255,.55)}
.compliance b{color:#fff}
.compliance div+div{margin-top:12px}
.compliance a{color:rgba(255,255,255,.75)}
.legal{margin-top:22px;padding:18px 0 26px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.55)}
.legal a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22)}

.rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ── Interior pagehead ── */
.pagehead{
  background:linear-gradient(135deg,var(--hero-from),var(--hero-to) 60%,#6A1520);
  color:#fff;position:relative;overflow:hidden;
  padding:clamp(48px,6.5vw,80px) 0 clamp(40px,5vw,60px);
}
.pagehead__art{position:absolute;inset:0;opacity:.62;pointer-events:none}
.pagehead__art svg{width:100%;height:100%}
.pagehead::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(700px 300px at 90% 10%,rgba(228,33,40,.4),transparent 60%);
}
.pagehead .wrap{position:relative;z-index:2}
.pagehead h1{color:#fff;font-size:clamp(30px,4.4vw,50px)}
.pagehead p{color:rgba(255,255,255,.74);margin-top:12px;max-width:56ch}
.crumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.55);margin-bottom:16px;font-family:var(--head);font-weight:500}
.crumbs a{text-decoration:none}.crumbs a:hover{color:#fff}
.crumbs span{opacity:.45}

.prose{max-width:72ch}
.prose p+p,.prose ul+p,.prose p+ul{margin-top:16px}
.prose h3{font-size:22px;margin-top:32px}
.prose ul{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.prose ul li{position:relative;padding-left:28px;color:var(--muted)}
.prose ul li::before{
  content:"";position:absolute;left:0;top:10px;width:9px;height:9px;border-radius:3px;background:var(--grad-btn);
}
.prose ul ul{margin-top:10px;gap:8px}
.prose ul ul li{padding-left:22px;font-size:.95em}
.prose ul ul li::before{width:6px;height:6px;top:11px;opacity:.7}
.prose strong{color:var(--ink)}
.prose .table-wrap{margin-top:20px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.prose table{width:100%;border-collapse:collapse;font-size:.95em;min-width:480px}
.prose th,.prose td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.prose thead th{background:var(--surface-3);color:var(--ink);font-family:var(--head);font-size:.82em;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.prose tbody td{color:var(--muted)}
.prose tbody tr:last-child td{border-bottom:none}
.prose tbody tr:nth-child(even){background:var(--surface-2)}

.prose .cover-chips{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;
}
.prose .cover-chips li{
  padding:8px 14px;padding-left:14px;color:var(--ink);
  background:var(--surface-2);border:1px solid var(--line);border-radius:999px;
  font-size:14px;font-weight:600;
}
.prose .cover-chips li::before{display:none}
.prose .checks{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.prose .checks li::before{
  content:"✓";width:auto;height:auto;border-radius:0;background:none;
  color:var(--red);font-weight:700;top:0;font-size:15px;line-height:1.45;
}

.pc-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.pc-pair + p{margin-top:24px}
.pc-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;
}
.pc-card--pro{border-top:3px solid var(--orange)}
.pc-card--con{border-top:3px solid var(--red)}
.prose .pc-card h3{margin-top:0;font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.pc-card ul{margin-top:14px}
@media (max-width:780px){.pc-pair{grid-template-columns:1fr}}

/* Timeline: scroll-driven */
.timeline{
  position:relative;
  max-width:920px;
  margin:0 auto 64px;
  padding:12px 0 28px;
}
.timeline__rail{
  position:absolute;left:50%;top:0;bottom:0;width:3px;
  transform:translateX(-50%);pointer-events:none;z-index:0;
}
.timeline__line{
  position:absolute;inset:0;border-radius:3px;
  background:linear-gradient(180deg,rgba(228,33,40,.18),var(--line) 40%,rgba(235,100,32,.15));
}
.timeline__progress{
  position:absolute;left:0;top:0;width:100%;height:100%;border-radius:3px;
  background:linear-gradient(180deg,var(--red),var(--orange));
  transform-origin:top center;transform:scaleY(0);
  box-shadow:0 0 18px rgba(228,33,40,.35);
  will-change:transform;
}
.tl-item{
  position:relative;z-index:1;
  width:calc(50% - 40px);
  margin-bottom:clamp(36px,5vw,56px);
  opacity:0;
  transition:opacity .55s var(--ease),transform .65s var(--ease);
}
.tl-item:last-child{margin-bottom:0}
.tl-item--left{
  margin-right:auto;text-align:right;
  transform:translate3d(-36px,28px,0);
}
.tl-item--right{
  margin-left:auto;text-align:left;
  transform:translate3d(36px,28px,0);
}
.tl-item.is-in{
  opacity:1;transform:translate3d(0,0,0);
}
.tl-dot{
  position:absolute;top:10px;width:18px;height:18px;border-radius:50%;
  background:var(--card);border:3px solid rgba(228,33,40,.35);
  box-shadow:0 0 0 6px var(--bg);
  transition:border-color .35s,background .35s,box-shadow .35s,transform .35s;
  z-index:2;
}
.tl-item--left .tl-dot{right:-49px;transform:translateX(50%)}
.tl-item--right .tl-dot{left:-49px;transform:translateX(-50%)}
.tl-item.is-in .tl-dot{
  border-color:var(--red);background:var(--orange);
  box-shadow:0 0 0 6px var(--bg),0 0 0 10px rgba(228,33,40,.12),0 0 22px rgba(235,100,32,.45);
}
.tl-item--left.is-active .tl-dot{transform:translateX(50%) scale(1.18)}
.tl-item--right.is-active .tl-dot{transform:translateX(-50%) scale(1.18)}
.tl-body{
  padding:4px 4px 8px;
}
.tl-item b{
  display:inline-block;font-family:var(--head);font-size:12px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:8px;
  opacity:.55;transform:translateY(6px);
  transition:opacity .4s .08s,transform .4s .08s;
}
.tl-item.is-in b{opacity:1;transform:none}
.tl-item h4{
  font-size:clamp(20px,2.2vw,26px);margin-bottom:10px;letter-spacing:-.02em;
  opacity:.55;transform:translateY(10px);
  transition:opacity .45s .14s,transform .45s .14s;
}
.tl-item.is-in h4{opacity:1;transform:none}
.tl-item p{
  font-size:15.5px;color:var(--muted);line-height:1.55;max-width:38ch;
  opacity:0;transform:translateY(12px);
  transition:opacity .5s .22s,transform .5s .22s;
}
.tl-item--left p{margin-left:auto}
.tl-item.is-in p{opacity:1;transform:none}
.tl-item.is-active h4{color:var(--red)}

@media(max-width:780px){
  .timeline{padding-left:28px;max-width:100%}
  .timeline__rail{left:9px;transform:none}
  .tl-item,.tl-item--left,.tl-item--right{
    width:100%;margin-left:0;margin-right:0;text-align:left;
    transform:translate3d(0,28px,0);
  }
  .tl-item.is-in{transform:translate3d(0,0,0)}
  .tl-item--left .tl-dot,.tl-item--right .tl-dot{
    left:-28px;right:auto;transform:translateX(-50%);
  }
  .tl-item--left.is-active .tl-dot,.tl-item--right.is-active .tl-dot{
    transform:translateX(-50%) scale(1.18);
  }
  .tl-item--left p{margin-left:0}
}

/* Process steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  padding:26px;box-shadow:var(--elev);position:relative;
}
.step .n{
  font-family:var(--head);font-size:12px;font-weight:750;letter-spacing:.12em;
  color:var(--red);margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.step .n::after{content:"";flex:1;height:1px;background:var(--line)}
.step h4{font-size:18px;margin-bottom:8px}
.step p{font-size:14.5px;color:var(--muted)}

/* Pillars / values / services etc */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pillar{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  padding:24px;box-shadow:var(--elev);transition:transform .3s,box-shadow .3s;
}
.pillar:hover{transform:translateY(-3px);box-shadow:var(--elev-hover)}
.pillar .num{
  font-family:var(--head);font-size:12px;font-weight:750;letter-spacing:.1em;
  background:var(--grad-btn);-webkit-background-clip:text;background-clip:text;color:transparent;
  display:block;margin-bottom:10px;
}
.pillar h4{font-size:16.5px;margin-bottom:8px}
.pillar p{color:var(--muted);font-size:14.5px}

.values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.value{
  border:1px solid var(--card-border);border-radius:var(--r);padding:24px;
  background:var(--card);display:flex;gap:14px;align-items:flex-start;box-shadow:var(--elev);
  transition:transform .3s,box-shadow .3s;cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;
}
.value:hover{transform:translateY(-3px);box-shadow:var(--elev-hover)}
.value h4{font-size:16.5px}
.value p{font-size:14px;color:var(--muted);margin-top:4px}

.quotebox{
  background:var(--card);border-left:3px solid var(--red);border-radius:var(--r);
  padding:28px 30px;box-shadow:var(--elev);border:1px solid var(--card-border);border-left-width:3px;
}
.quotebox p{font-family:var(--head);font-size:clamp(16px,1.8vw,20px);line-height:1.5;color:var(--ink)}
.quotebox cite{display:block;margin-top:14px;font-style:normal;font-size:13.5px;color:var(--muted)}

.acc{border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{
  list-style:none;cursor:pointer;padding:20px 0;font-family:var(--head);font-weight:650;
  font-size:17px;color:var(--ink);display:flex;justify-content:space-between;gap:20px;align-items:center;
}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:22px;color:var(--red);font-weight:400}
.acc details[open] summary::after{content:"–"}
.acc .accb{padding:0 0 20px;color:var(--muted);max-width:80ch}

.svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc{
  background:var(--card);border:1px solid var(--card-border);border-radius:calc(var(--r) + 2px);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--elev);
  transition:box-shadow .3s,transform .3s;
  text-decoration:none;color:inherit;cursor:pointer;
}
.svc:hover{box-shadow:var(--elev-hover);transform:translateY(-4px)}
.svc:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.svc img{width:100%;height:160px;object-fit:cover}
.svc__b{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.svc h3{font-size:17.5px;color:var(--ink)}
.svc .kicker{font-size:13px;font-weight:650;color:var(--red);font-family:var(--head)}
.svc p{font-size:14px;color:var(--muted)}
.svc .more{
  margin-top:auto;padding-top:14px;
  font-family:var(--head);font-size:13.5px;font-weight:650;
  color:var(--red);display:inline-flex;gap:6px;align-items:center;
}
.svc:hover .more{gap:10px}
.svc[hidden],.svc.is-hidden{display:none!important}

.videos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vid{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--elev);cursor:pointer;padding:0;text-align:left;font:inherit;color:inherit;width:100%;
  transition:transform .3s,box-shadow .3s;
}
.vid:hover{transform:translateY(-4px);box-shadow:var(--elev-hover)}
.vid .fr{position:relative;padding-top:56.25%;background:#1a0a0a}
.vid .fr img,.vid .thumb{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;
}
.vid .play{
  position:absolute;inset:0;display:grid;place-items:center;z-index:1;
}
.vid .play span{
  width:56px;height:56px;border-radius:50%;background:rgba(228,33,40,.92);color:#fff;
  display:grid;place-items:center;box-shadow:0 10px 28px rgba(228,33,40,.4);
}
.vid .play svg{width:22px;height:22px;margin-left:3px}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid h4{padding:16px 18px;font-size:15px}
.vid[hidden]{display:none!important}

.reads{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.read{
  background:var(--card);border:1px solid var(--card-border);border-left:3px solid var(--red);
  border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--elev);
  transition:transform .3s,box-shadow .3s;
}
.read:hover{transform:translateY(-3px);box-shadow:var(--elev-hover)}
.read .badge{
  display:inline-flex;align-self:flex-start;font-family:var(--head);font-size:11px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;
  background:var(--ico-bg);color:var(--red);
}
.read h3{font-size:17px}
.read span{font-size:13px;color:var(--muted)}
.read a{margin-top:auto;font-family:var(--head);font-weight:650;font-size:14px;color:var(--red);text-decoration:none}
.read[hidden]{display:none!important}

.cgrid2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,48px)}
.cdetails{display:grid;gap:14px}
.cdet{
  display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:start;
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);padding:16px 18px;box-shadow:var(--elev);
}
.cdet h4{font-size:14.5px;margin-bottom:4px}
.cdet p,.cdet a{color:var(--muted);font-size:14.5px;text-decoration:none}
.cdet a:hover{color:var(--red)}
.mapwrap{border:1px solid var(--card-border);border-radius:var(--r);overflow:hidden;min-height:360px;box-shadow:var(--elev)}
.mapwrap iframe{width:100%;height:100%;min-height:360px;border:0;display:block}
form.cf{display:grid;gap:14px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field label{display:block;font-family:var(--head);font-size:13px;font-weight:650;margin-bottom:6px;color:var(--ink)}
.field input,.field textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);
  font-family:var(--body);font-size:15.5px;background:var(--surface);color:var(--text);
  transition:border-color .2s,box-shadow .2s;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--focus-ring)}
.field textarea{min-height:120px;resize:vertical}
.formnote{font-size:12.5px;color:var(--muted)}

.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.person{background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);overflow:hidden;text-align:center;box-shadow:var(--elev)}
.person img{width:100%;height:260px;object-fit:cover;object-position:center 18%}
.person .pb{padding:20px}
.person h4{font-size:17px}
.person span{display:block;font-size:13.5px;color:var(--red);margin-top:4px;font-family:var(--head);font-weight:600}
.person p{font-size:14px;color:var(--muted);margin-top:8px}
.person a{color:var(--muted);text-decoration:none}
.person a:hover{color:var(--red)}

.profile{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  box-shadow:var(--elev);overflow:hidden;border-top:3px solid var(--red);
}
.profile + .profile{margin-top:24px}
.profile__head{
  display:flex;align-items:center;gap:22px;
  padding:clamp(20px,2.5vw,32px) clamp(22px,3vw,36px) 0;
}
.profile__photo{
  flex:0 0 160px;width:160px;height:200px;min-height:0;
  border-radius:12px;overflow:hidden;background:var(--surface-3);
  box-shadow:0 8px 20px rgba(180,20,30,.12);
}
.profile__photo img{
  width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;
}
.profile__photo--mark{
  display:grid;place-items:center;min-height:0;height:200px;
  background:linear-gradient(165deg,#3A1214,var(--red-deep) 55%,var(--orange));
  color:#fff;font-family:var(--head);font-size:36px;font-weight:750;letter-spacing:-.03em;
}
.profile__id{min-width:0}
.profile__id h3{font-size:clamp(22px,2.4vw,28px);margin:0 0 4px}
.profile__role{display:block;color:var(--red);font-family:var(--head);font-weight:600;font-size:14px;margin-bottom:12px}
.profile__meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0;font-size:14.5px}
.profile__meta a{color:var(--ink);text-decoration:none;font-weight:650}
.profile__meta a:hover{color:var(--red)}
.profile__body{padding:18px clamp(22px,3vw,36px) clamp(22px,3vw,36px)}
.profile__body h4{
  font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;margin:18px 0 10px;color:var(--ink);
}
.profile__body h4:first-child{margin-top:0}
.profile__body p{color:var(--muted)}
.profile__body p strong{color:var(--ink)}
.profile__body p + p{margin-top:14px}
.profile__body ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.profile__body ul li{position:relative;padding-left:22px;color:var(--muted);font-size:15.5px}
.profile__body ul li::before{
  content:"";position:absolute;left:0;top:9px;width:7px;height:7px;border-radius:2px;background:var(--grad-btn);
}
@media(max-width:640px){
  .profile__head{flex-direction:column;align-items:flex-start}
  .profile__photo,.profile__photo--mark{
    width:160px;flex:0 0 160px;height:200px;
  }
}

.legaldoc{max-width:82ch}
.legaldoc p{color:var(--muted);font-size:15.5px}
.legaldoc p+p{margin-top:16px}
.legaldoc h3{font-size:19px;margin-top:28px;margin-bottom:10px}
.legaldoc .arn{margin-top:24px;background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);padding:20px 24px;font-size:14.5px;color:var(--muted);box-shadow:var(--elev)}

.topics{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.topic{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  padding:20px 22px;display:grid;grid-template-columns:36px 1fr;gap:12px;box-shadow:var(--elev);
}
.topic b{
  font-family:var(--head);font-size:13px;
  background:var(--grad-btn);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.topic p{font-size:14.5px;color:var(--muted)}
.topic strong{color:var(--ink);display:block;margin-bottom:2px;font-size:15px}

.icon-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.icon-tile{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  padding:22px 18px;text-align:center;box-shadow:var(--elev);transition:transform .3s;
}
.icon-tile:hover{transform:translateY(-3px)}
.icon-tile .ico{margin:0 auto 12px}
.icon-tile h4{font-size:15px;margin-bottom:4px}
.icon-tile p{font-size:13px;color:var(--muted)}

.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.fact{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  padding:28px 22px;text-align:center;box-shadow:var(--elev);
}
.fact b{
  display:block;font-family:var(--head);font-size:clamp(28px,3.4vw,42px);font-weight:750;
  letter-spacing:-.03em;background:var(--grad-btn);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.15;
}
.fact span{display:block;margin-top:10px;font-size:14px;color:var(--muted);font-family:var(--head);font-weight:550}
.phil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.phil-item{
  background:var(--card);border:1px solid var(--card-border);border-radius:var(--r);
  padding:18px 14px;text-align:center;font-family:var(--head);font-weight:650;font-size:15px;
  box-shadow:var(--elev);color:var(--ink);
}

/* Utility strip (replaces sticky sidebar on some pages) */
.util-strip{
  display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:36px;
}
.util-strip:has(> :only-child){grid-template-columns:1fr}
.util-strip .card{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* Responsive */
@media(max-width:1000px){
  .hero .wrap{grid-template-columns:1fr;min-height:auto;padding-block:48px}
  .hero-panel{max-width:420px}
  .trustbar .wrap,.grid4,.cgrid,.pillars,.icon-row,.facts{grid-template-columns:1fr 1fr}
  .intro,.split,.layout-2,.layout-2--rev,.cgrid2,.util-strip{grid-template-columns:1fr}
  .sidecard{position:static}
  .fgrid{grid-template-columns:1fr 1fr}
  .values,.svcgrid,.videos,.team,.steps{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .burger{display:block}
  .menu{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--card);
    border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;
    padding:6px var(--gutter) 20px;max-height:76vh;overflow:auto;
  }
  .menu.open{display:flex}
  .menu > li{border-bottom:1px solid var(--line)}
  .menu > li > a{padding:14px 0;justify-content:space-between;border-bottom:0}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 10px;background:transparent}
  .nav__right .btn{display:none}
  .trustbar .wrap,.grid2,.grid3,.grid4,.cgrid,.pillars,.values,.svcgrid,.videos,.reads,.team,.topics,.f2,.steps,.icon-row,.fgrid,.prose .checks,.facts{grid-template-columns:1fr}
  .tabs{border-radius:var(--r);width:100%}
  .topbar{display:none}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
  .chart-line-anim{stroke-dashoffset:0}
  .chart-bar{transform:none}
  .gbar{transform:none;opacity:.7}
  .money-sym,.coin,.coin-rise{opacity:.25!important}
  .tl-item{opacity:1;transform:none}
  .timeline__progress{transform:none}
}
