/* Palette sampled from the algoRIDhm logo */
:root{
  --slate:#433B5A;      /* deep shade of the "I" */
  --slate-2:#52476F;
  --slate-3:#635783;
  --bronze:#635783;     /* the "I" */
  --bronze-l:#A99EC9;
  --steel:#837C98;      /* the "R" */
  --grey:#8A849A;       /* tagline */
  --ink:#1F1147; --muted:#5D586A; --line:#DAD7E2;
  --bg:#FAFAF8; --paper:#F7F7F7; --stone:#EAE8F1;
  --radius:14px; --shadow:0 10px 30px rgba(44,38,60,.07);
  --rid:linear-gradient(90deg,var(--steel),var(--bronze));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2{font-family:Lora,Georgia,serif;font-weight:700;letter-spacing:-.01em;line-height:1.12;margin:0 0 .5em}
h1{font-size:clamp(2.4rem,5.4vw,4rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.6rem)}
h1 em,h2 em{font-style:italic;font-weight:600;background:var(--rid);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero h1 em{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#DDD4F4}
h3{font-size:1.12rem;font-weight:700;line-height:1.3;margin:0 0 .5em}
p{margin:0 0 1em;color:var(--muted)}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.eyebrow{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);margin-bottom:14px}
.eyebrow.light{color:var(--bronze-l)}
.ph{background:#F6EBD3;color:#6E5530;border-radius:4px;padding:0 4px}
.note-ph{font-size:.85rem;color:#6E5530;background:#FAF3E4;border:1px dashed #D2B98F;border-radius:8px;padding:6px 10px;display:inline-block;margin-top:14px}
.fine{font-size:.82rem;color:var(--grey);margin-top:18px}
.fine.light{color:#C2BBD6}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none;border:1px solid transparent;cursor:pointer;font-size:.98rem;font-family:inherit;transition:transform .15s,background .15s,box-shadow .15s,color .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--slate);color:#fff}
.btn-primary:hover{background:var(--slate-3)}
.btn-bronze{background:var(--bronze);color:#fff;box-shadow:0 8px 20px rgba(105,92,139,.35)}
.btn-bronze:hover{background:#5B507A}
.btn-outline{border-color:rgba(255,255,255,.45);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.08)}
.btn-outline-dark{border-color:var(--slate);color:var(--slate)}
.btn-outline-dark:hover{background:var(--slate);color:#fff}
.btn-sm{padding:10px 18px;font-size:.9rem}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-decoration:none}
.brand img{height:38px;width:auto;mix-blend-mode:multiply;filter:brightness(1.07) contrast(1.12)}
.brand-tag{font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#463D5E;white-space:nowrap;padding-left:2px}
.brand-tag b{color:var(--bronze);font-weight:800}
.brand-tag i,.wm-tag i{font-style:normal;margin:0 6px;color:var(--bronze-l)}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{text-decoration:none;font-weight:500;font-size:.94rem}
.nav-links a:not(.btn):hover{color:var(--bronze)}
.nav-links .btn{color:#fff}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--slate);margin:5px 0;border-radius:2px}

/* hero */
.hero{background:radial-gradient(700px 420px at 90% 0%,rgba(255,255,255,.12),transparent 65%),linear-gradient(135deg,#756E8A 0%,#635783 55%,#52476F 100%);color:#fff;padding:90px 0 84px}
.hero .eyebrow{color:#DDD4F4;font-weight:800}
.hero .btn-bronze{background:#302A3F;box-shadow:0 8px 22px rgba(44,38,60,.35)}
.hero .btn-bronze:hover{background:#24212E}
.hero .btn-outline{border-color:rgba(255,255,255,.8);font-weight:700}
.hero h1{color:#fff}
.hero .lead{color:#FFFFFF;font-size:1.15rem;max-width:560px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 40px}
.hero-stats{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.3);padding-top:26px}
.hero-stats b{display:block;font-family:Lora,Georgia,serif;font-size:2.4rem;line-height:1;color:#FFFFFF;margin-bottom:6px}
.hero-stats span{font-size:.85rem;font-weight:600;color:#EDE9F7;line-height:1.4;display:block}
.dash{background:#fff;color:var(--ink);border-radius:16px;box-shadow:0 30px 70px rgba(0,0,0,.35);padding:18px 20px 16px}
.dash-head{display:flex;align-items:center;gap:6px;margin-bottom:14px}
.dot{width:10px;height:10px;border-radius:50%;background:var(--line)}
.dash-title{margin-left:10px;font-size:.8rem;font-weight:600;color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.kpi{background:var(--stone);border-radius:10px;padding:10px 12px}
.kpi small{display:block;font-size:.7rem;color:var(--muted)}
.kpi b{display:block;font-size:1.25rem;letter-spacing:-.02em}
.kpi em{font-style:normal;font-size:.72rem;font-weight:600;color:#4E7D62}
.chart{width:100%;height:auto}
.chart .grid line{stroke:var(--line);stroke-dasharray:3 4}
.chart .bars rect{fill:#D8D3E6}
.chart .bars rect.f{fill:#E1DCED}
.chart .line{fill:none;stroke:var(--slate);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.chart .dash-line{stroke:var(--bronze);stroke-dasharray:6 6}
.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.72rem;color:var(--muted);margin-top:6px}
.lg{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}.lg.a{background:var(--slate)}.lg.f{background:var(--bronze)}
.sync{margin-left:auto;color:#4E7D62;font-weight:600}

/* platforms */
.platforms{padding:36px 0;background:var(--paper);border-bottom:1px solid var(--line);text-align:center}
.platforms-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-bottom:18px;color:var(--grey)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 12px}
.chips span{padding:9px 16px;border:1px solid var(--line);border-radius:6px;font-weight:600;font-size:.92rem;color:var(--slate);background:#fff}

/* sections */
.section{padding:96px 0}
.section.alt{background:var(--stone)}
.section-head{max-width:680px;margin-bottom:48px}
.section-head.center{text-align:center;margin-left:auto;margin-right:auto}
.row-head{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}

/* trio */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.trio-col{border-top:3px solid var(--slate);padding-top:22px}
.trio-col:nth-child(2){border-color:var(--steel)}
.trio-col:nth-child(3){border-color:var(--bronze)}
.trio-col h3{font-family:Lora,Georgia,serif;font-size:1.5rem;display:flex;align-items:baseline;gap:10px}
.num{font-family:Inter,sans-serif;font-size:.8rem;font-weight:700;color:var(--bronze)}
.trio ul{list-style:none;padding:0;margin:0}
.trio li{padding:10px 0 10px 24px;border-bottom:1px solid var(--line);position:relative;color:var(--muted)}
.trio li::before{content:"";position:absolute;left:0;top:19px;width:12px;height:2px;background:var(--bronze)}

/* quote band */
.band{background:var(--slate);padding:56px 0;text-align:center}
.band p{font-family:Lora,Georgia,serif;font-style:italic;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.45;color:#fff;max-width:900px;margin:0 auto}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.pillar{background:#fff;border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.pillar .letter{font-family:Quicksand,sans-serif;font-weight:700;font-size:4.5rem;line-height:1;background:var(--rid);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:10px}
.pillar h3{font-size:1.35rem}
.pillar ul{list-style:none;padding:16px 0 0;margin:16px 0 0;border-top:1px solid var(--line)}
.pillar li{font-size:.92rem;font-weight:600;padding:4px 0;color:var(--slate)}
.pillar li::before{content:"→ ";color:var(--bronze)}

/* 90-day path */
.months{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:m}
.month{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;position:relative}
.month::after{content:"";position:absolute;left:30px;right:30px;top:0;height:3px;background:var(--rid);border-radius:0 0 3px 3px}
.m-tag{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--slate);border-radius:4px;padding:4px 10px;margin-bottom:14px}
.month ul{padding-left:18px;margin:0 0 18px;color:var(--muted)}
.month li{padding:3px 0}
.month li::marker{color:var(--bronze)}
.outcome{margin:0;padding-top:16px;border-top:1px solid var(--line);color:var(--slate);font-size:.95rem}
.outcome b{color:var(--bronze)}

/* dark + calculator */
.dark{background:linear-gradient(160deg,var(--slate),var(--slate-2));color:#fff}
.dark h2,.dark h3{color:#fff}
.dark p{color:#CFC9E0}
.calc-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.calc-inputs{display:grid;gap:22px;margin-top:28px}
.calc-inputs label{display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:.92rem;color:#E1DCEF}
.calc-inputs output{font-weight:700;color:var(--bronze-l);font-size:1.05rem}
.calc-inputs input{grid-column:1/-1;width:100%;accent-color:var(--bronze);cursor:pointer}
.calc-result{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:32px}
.res{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.res small{display:block;color:#D2CCE3;font-size:.85rem}
.res b{font-family:Lora,Georgia,serif;font-size:2.4rem;color:#fff;line-height:1.2}
.res:nth-child(2) b{color:var(--bronze-l)}
.calc-result .btn{margin-top:6px}

/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(44,38,60,.12)}
.card p{margin:0}
#saas .card h3::before{content:"";display:block;width:28px;height:3px;border-radius:2px;background:var(--rid);margin-bottom:16px}
.tag{display:inline-block;font-size:.74rem;font-weight:700;color:var(--bronze);background:#E7E2F3;border-radius:4px;padding:4px 10px;margin-bottom:14px}
.case .metric{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:.92rem;color:var(--muted)}
.case .metric b{font-size:1.4rem;margin-right:4px;color:var(--slate)}
.post .more{display:inline-block;margin-top:16px;font-weight:600;color:var(--bronze);text-decoration:none}
.quote{margin:52px auto 0;max-width:820px;text-align:center}
.quote blockquote{margin:0 0 14px;font-family:Lora,Georgia,serif;font-style:italic;font-size:1.45rem;line-height:1.5;color:var(--slate)}
.quote figcaption{color:var(--muted)}

/* offerings */
.offer-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #CDC9D9}
.offer-list article{padding:28px 28px 28px 0;border-bottom:1px solid #CDC9D9}
.offer-list article:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid #CDC9D9}
.offer-list p{margin:0}

/* serve / values */
.serve{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.serve li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--bronze);border-radius:10px;padding:18px 20px}
.values li{border-left-color:var(--steel)}
.serve b{display:block;margin-bottom:2px}
.serve span{color:var(--muted);font-size:.95rem}

/* contact */
.cta{background:radial-gradient(600px 400px at 100% 100%,rgba(105,92,139,.3),transparent 60%),var(--slate);color:#fff}
.cta h2{color:#fff}.cta p{color:#D2CCE3}
.cta-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.contact-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px;color:#EBE7F5}
.form{background:#fff;color:var(--ink);border-radius:16px;padding:28px;display:grid;gap:14px;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:grid;gap:6px;font-size:.85rem;font-weight:600}
.form input,.form select,.form textarea{font:inherit;font-weight:400;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--bronze);outline-offset:1px;border-color:transparent}
.form-msg{color:#4E7D62;font-weight:600;margin:0}

/* footer */
.footer{background:#24212E;color:#D2CCE3;padding:64px 0 24px}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.wordmark{font-family:Quicksand,sans-serif;font-weight:700;font-size:2.4rem;line-height:1;color:#fff;letter-spacing:-.01em}
.wordmark span{background:linear-gradient(90deg,#CCC4E3,var(--bronze-l));-webkit-background-clip:text;background-clip:text;color:transparent}
.wm-tag{font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#E1DCEF;margin:10px 0 18px}
.wm-tag b{color:var(--bronze-l);font-weight:800}
.footer p{color:#B5ADCB;max-width:300px}
.footer h4{color:#fff;margin:0 0 12px;font-size:.95rem}
.footer a{display:block;text-decoration:none;color:#D2CCE3;margin-bottom:8px;font-size:.92rem}
.footer a:hover{color:var(--bronze-l)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:40px;padding-top:20px;font-size:.85rem}
.foot-bottom a{display:inline;margin:0}

/* responsive */
@media (max-width:1080px){
  .nav-links{gap:16px}
  .nav-links a{font-size:.88rem}
}
@media (max-width:1024px){
  .cards,.offer-list{grid-template-columns:repeat(2,1fr)}
  .cards>:last-child:nth-child(odd){grid-column:1/-1}
  .offer-list article{padding:24px!important;border-left:0!important}
  .offer-list article:nth-child(even){border-left:1px solid #CDC9D9!important}
}
@media (max-width:960px){
  .nav-toggle{display:block}
  .nav-links{position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:8px 20px 20px;display:none}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem}
  .nav-links .btn{margin-top:12px;border:0}
  .hero-grid,.split,.cta-grid,.calc-grid{grid-template-columns:1fr;gap:44px}
  .trio,.pillars,.months{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .section{padding:64px 0}
  .hero{padding:56px 0}
  .brand img{height:32px}
  .brand-tag{font-size:.52rem;letter-spacing:.14em}
  .cards,.offer-list{grid-template-columns:1fr}
  .offer-list article{border-left:0!important;padding:22px 0!important}
  .form .row{grid-template-columns:1fr}
  .kpi b{font-size:1rem}
  .hero-stats{gap:22px}
  .hero-stats b{font-size:2rem}
  .sync{margin-left:0}
  .foot-grid{grid-template-columns:1fr}
}

/* ===== Amvent-inspired refresh: light hero, connected plan, stack, flow, tabs, FAQ ===== */
h1,h2{font-weight:500;letter-spacing:-.015em}
h1 em,h2 em{font-weight:500}

/* light hero with network canvas */
.hero.hero-light{position:relative;overflow:hidden;background:linear-gradient(180deg,#F6F4FB 0%,#EAE6F4 100%);color:var(--ink);padding:110px 0 96px;min-height:620px;display:flex;align-items:center}
.hero-light .network{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 35%,#000 62%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 35%,#000 62%)}
.hero-light .hero-inner{position:relative;z-index:1;max-width:1180px}
.hero-light .hero-inner>*{max-width:640px}
.hero-light h1{color:var(--ink);font-size:clamp(2.8rem,6.4vw,5rem);line-height:1.04}
.hero-light h1 em{background:var(--rid);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-light .eyebrow{color:var(--bronze);font-weight:700}
.hero-light .lead{color:var(--muted);font-size:1.16rem}
.hero-light .hero-stats{border-top-color:var(--line)}
.hero-light .hero-stats b{color:var(--bronze)}
.hero-light .hero-stats span{color:var(--muted);font-weight:500}
.hero-light .btn-bronze{background:var(--bronze);box-shadow:0 10px 24px rgba(99,87,131,.3)}
.hero-light .btn-bronze:hover{background:#52476F}
.btn-link{color:var(--ink);padding-left:10px;padding-right:10px}
.btn-link span{transition:transform .2s;display:inline-block;margin-left:6px}
.btn-link:hover span{transform:translateX(4px)}

/* ticks list */
.ticks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.ticks li{position:relative;padding-left:28px;color:var(--ink)}
.ticks li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;background:var(--rid);-webkit-mask:radial-gradient(circle,#000 0 3px,transparent 3.5px);mask:radial-gradient(circle,#000 0 3px,transparent 3.5px)}
.ticks li::after{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--bronze);box-sizing:border-box}
.center-y{align-items:center}
.inline-link{color:var(--bronze);font-weight:600}

/* connected hub */
.hub{position:relative;aspect-ratio:1/1;max-width:440px;width:100%;margin:0 auto}
.hub-lines{position:absolute;inset:0;width:100%;height:100%}
.hub-lines line{stroke:var(--steel);stroke-width:1.5;stroke-dasharray:4 6;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-20}}
.hub-core,.node{position:absolute;transform:translate(-50%,-50%);text-align:center;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:10px 14px;white-space:nowrap}
.hub-core{left:50%;top:50%;padding:20px 24px;background:linear-gradient(135deg,#756E8A,#635783 60%,#52476F);color:#fff;border:0;box-shadow:0 18px 40px rgba(99,87,131,.35)}
.hub-core small,.node small{display:block;font-size:.7rem;font-weight:600;letter-spacing:.04em;color:var(--muted)}
.hub-core small,.hub-core span{color:#EBE7F5}
.hub-core b{display:block;font-family:Lora,Georgia,serif;font-size:1.9rem;font-weight:600;line-height:1.1}
.hub-core span{font-size:.75rem}
.node b{font-size:1rem}
.n1{left:50%;top:10%}.n2{left:86%;top:30%}.n3{left:86%;top:71%}.n4{left:50%;top:91%}.n5{left:14%;top:71%}.n6{left:14%;top:30%}

/* planning stack */
.stack-copy h3{margin-top:22px;font-size:1.05rem}
.stack-copy p{margin-bottom:0}
.stack{display:grid;gap:14px;perspective:1200px}
.layer{border-radius:16px;padding:18px 20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transform:rotateX(14deg);transform-origin:bottom}
.layer-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills i{font-style:normal;font-size:.85rem;font-weight:600;padding:7px 14px;border-radius:999px;background:var(--stone);color:var(--ink)}
.l2{background:linear-gradient(135deg,#837C98,#635783);border:0}
.l2 .layer-label{color:#EBE7F5}.l2 .pills i{background:rgba(255,255,255,.18);color:#fff}
.l4 .pills i{background:#302A3F;color:#EBE7F5}

/* decision flow */
.flow{display:grid;grid-template-columns:300px 1fr;gap:32px;align-items:start}
.flow-picks{display:grid;gap:10px}
.pick{font:inherit;text-align:left;padding:14px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#EBE7F5;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}
.pick:hover{border-color:rgba(255,255,255,.6)}
.pick.active{background:#EBE7F5;color:var(--ink);border-color:#EBE7F5}
.flow-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:f}
.fstep{display:grid;grid-template-columns:40px 1fr auto;gap:16px;align-items:center;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);opacity:0;transform:translateY(8px);animation:rise .45s ease forwards;animation-delay:var(--d)}
@keyframes rise{to{opacity:1;transform:none}}
.fnum{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:rgba(255,255,255,.12);color:#fff}
.fstep b{display:block;color:#fff}
.fstep small{color:#D2CCE3}
.fstep em{font-style:normal;font-family:Lora,Georgia,serif;font-size:1.5rem;font-weight:600;white-space:nowrap}
.fstep em.up{color:#CFE3C9}.fstep em.down{color:#F2C9B5}

/* use-case tabs */
.tabs{display:grid;grid-template-columns:280px 1fr;gap:28px}
.tab-list{display:grid;gap:6px;align-content:start}
.tab{font:inherit;display:flex;gap:14px;align-items:center;text-align:left;padding:14px 18px;border-radius:12px;border:0;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;border-left:3px solid transparent}
.tab span{font-size:.75rem;color:var(--steel)}
.tab:hover{background:var(--stone);color:var(--ink)}
.tab.active{background:var(--stone);color:var(--ink);border-left-color:var(--bronze)}
.panel{display:none;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;box-shadow:var(--shadow)}
.panel.active{display:grid;animation:rise .35s ease forwards}
.panel h3{font-family:Lora,Georgia,serif;font-size:1.7rem;font-weight:500}
.panel-stat{border-radius:16px;padding:28px;background:linear-gradient(135deg,#837C98,#635783);color:#fff}
.panel-stat b{display:block;font-family:Lora,Georgia,serif;font-size:2.6rem;font-weight:600;line-height:1}
.panel-stat span{color:#EBE7F5}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{list-style:none;cursor:pointer;padding:18px 40px 18px 0;font-weight:600;font-size:1.05rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--stone);color:var(--bronze);font-size:1.1rem;transition:transform .2s}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0 0 18px;max-width:640px}

@media (max-width:960px){
  .hero.hero-light{min-height:0;padding:72px 0 64px}
  .hero-light .network{-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 45%,#000 100%);mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 45%,#000 100%)}
  .flow,.tabs{grid-template-columns:1fr}
  .flow-picks,.tab-list{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:none}
  .pick,.tab{white-space:nowrap;flex:0 0 auto}
  .tab{border-left:0;border-bottom:3px solid transparent;border-radius:999px}
  .tab.active{border-bottom-color:transparent;background:var(--bronze);color:#fff}
  .tab.active span{color:#EBE7F5}
  .panel{grid-template-columns:1fr;padding:26px}
}
@media (max-width:600px){
  .hub{max-width:340px}
  .node{padding:8px 10px}.node b{font-size:.85rem}.node small{font-size:.62rem}
  .hub-core{padding:14px 16px}.hub-core b{font-size:1.4rem}
  .fstep{grid-template-columns:32px 1fr;padding:14px 16px}
  .fstep em{grid-column:2;font-size:1.25rem}
  .fnum{width:30px;height:30px}
  .layer{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .hub-lines line,.fstep,.panel.active{animation:none;opacity:1;transform:none}
}

/* ===== RID tri-colour theme: R taupe · I bronze · D steel (sampled from the logo) ===== */
:root{
  --r:#837C98; --i:#635783; --d:#787385;
  --r-dk:#5C566E; --i-dk:#433B5A; --d-dk:#4F4A5B; --d-xdk:#1F1147;
  --r-tint:#E7E4EF; --i-tint:#E7E2F3; --d-tint:#EAE8EE;
  --r-lt:#C1BAD3; --i-lt:#B0A2D6; --d-lt:#B9B4C5;
  --rid:linear-gradient(90deg,var(--r) 0%,var(--i) 50%,var(--d) 100%);
  --steel:var(--d);
}
.c-r{color:var(--r)}.c-i{color:var(--i)}
.hero-light h1 em.c-d,.c-d{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--d)}
.t-r{color:var(--r)}.t-i{color:var(--i)}.t-d{color:var(--d)}
.brand-tag i,.wm-tag i{color:#ACA7B9}
.wm-tag .t-r{color:var(--r-lt)}.wm-tag .t-i{color:var(--i-lt)}.wm-tag .t-d{color:var(--d-lt)}
.wordmark span{-webkit-background-clip:border-box;background-clip:border-box;background:none}
.wordmark .r{color:var(--r-lt)}.wordmark .i{color:var(--i-lt)}.wordmark .d{color:var(--d-lt)}

/* hero */
.hero.hero-light{background:radial-gradient(900px 500px at 100% 0%,rgba(120,115,133,.14),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(131,124,152,.16),transparent 60%),linear-gradient(180deg,#F7F6FB,#ECE9F3)}
.hero-light .hero-stats div:nth-child(1) b{color:var(--r)}
.hero-light .hero-stats div:nth-child(2) b{color:var(--i)}
.hero-light .hero-stats div:nth-child(3) b{color:var(--d)}
.btn-link span{color:var(--d)}

/* buttons: I = primary action, D = secondary/solid */
.btn-primary{background:var(--d-dk)}
.btn-primary:hover{background:var(--d)}
.btn-bronze,.hero-light .btn-bronze{background:var(--i)}
.btn-bronze:hover,.hero-light .btn-bronze:hover{background:var(--i-dk)}
.btn-outline-dark{border-color:var(--d-dk);color:var(--d-dk)}
.btn-outline-dark:hover{background:var(--d-dk)}

/* eyebrows rotate R / I / D by section */
.eyebrow{color:var(--i)}
#connected .eyebrow,#usecases .eyebrow,#insights .eyebrow{color:var(--d)}
#stack .eyebrow,#path .eyebrow,#faq .eyebrow{color:var(--r-dk)}

/* trio, months, pillars: one colour each */
.trio-col:nth-child(1){border-color:var(--r)}.trio-col:nth-child(2){border-color:var(--i)}.trio-col:nth-child(3){border-color:var(--d)}
.trio-col:nth-child(1) .num{color:var(--r-dk)}.trio-col:nth-child(2) .num{color:var(--i)}.trio-col:nth-child(3) .num{color:var(--d)}
.trio li::before{background:var(--rid)}
.month:nth-child(1) .m-tag{background:var(--r-dk)}.month:nth-child(2) .m-tag{background:var(--i)}.month:nth-child(3) .m-tag{background:var(--d)}
.month:nth-child(1)::after{background:var(--r)}.month:nth-child(2)::after{background:var(--i)}.month:nth-child(3)::after{background:var(--d)}
.pillar{border-top:4px solid var(--r)}
.pillar:nth-child(2){border-top-color:var(--i)}.pillar:nth-child(3){border-top-color:var(--d)}
.pillar .letter{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--r)}
.pillar:nth-child(2) .letter{color:var(--i)}.pillar:nth-child(3) .letter{color:var(--d)}
.pillar li::before{color:var(--r)}.pillar:nth-child(2) li::before{color:var(--i)}.pillar:nth-child(3) li::before{color:var(--d)}

/* connected hub */
.hub-lines line{stroke:var(--d)}
.hub-core{background:linear-gradient(135deg,var(--r) 0%,var(--i) 50%,var(--d) 100%)}
.node{border-top:3px solid var(--r)}
.n2,.n5{border-top-color:var(--i)}.n3,.n6{border-top-color:var(--d)}
.ticks li::after{border-color:var(--d)}

/* stack: R → I → D → D dark */
.l1{background:var(--r-tint);border-color:#D3CEE2}
.l1 .pills i{background:#fff;color:var(--r-dk)}
.l2{background:linear-gradient(135deg,var(--i),var(--i-dk))}
.l3{background:var(--d-tint);border-color:#D9D6E0}
.l3 .pills i{background:#fff;color:var(--d-dk)}
.l4 .pills i{background:var(--d-dk)}

/* dark sections: R band, I calculator, D flow + contact */
.band{background:linear-gradient(90deg,var(--r-dk),#6B647D)}
#calculator.dark{background:linear-gradient(160deg,var(--i-dk),#52476F)}
#flow.dark{background:radial-gradient(700px 400px at 100% 0%,rgba(131,124,152,.25),transparent 60%),linear-gradient(160deg,var(--d-dk),#645F71)}
#flow .fstep small,#flow p{color:#E4E2EA}
#flow .eyebrow.light{color:var(--r-lt)}
.cta{background:radial-gradient(600px 400px at 100% 100%,rgba(99,87,131,.35),transparent 60%),radial-gradient(500px 360px at 0% 0%,rgba(131,124,152,.25),transparent 60%),var(--d-dk)}
.cta p{color:#E4E2EA}
.cta .eyebrow.light{color:var(--i-lt)}
.footer{background:var(--d-xdk);color:#C6C3CE}
.footer a{color:#C6C3CE}
.footer a:hover{color:var(--i-lt)}
.footer p{color:#ABA7B5}

/* tabs + cards */
.tab span{color:var(--d)}
.tab.active{border-left-color:var(--i)}
.panel-stat{background:linear-gradient(135deg,var(--r),var(--i) 55%,var(--d))}
.cards .card:nth-child(3n+1) .tag{color:var(--r-dk);background:var(--r-tint)}
.cards .card:nth-child(3n+2) .tag{color:var(--i);background:var(--i-tint)}
.cards .card:nth-child(3n) .tag{color:var(--d-dk);background:var(--d-tint)}
.serve li{border-left-color:var(--r)}
.values li:nth-child(2){border-left-color:var(--i)}.values li:nth-child(3){border-left-color:var(--d)}
.faq summary::after{color:var(--d);background:var(--d-tint)}
.offer-list article:nth-child(3n+1) h3{color:var(--r-dk)}.offer-list article:nth-child(3n+2) h3{color:var(--i)}.offer-list article:nth-child(3n) h3{color:var(--d-dk)}
.chips span:nth-child(3n+1){border-color:#CDC7DD}.chips span:nth-child(3n+2){border-color:#BFB6D9}.chips span:nth-child(3n){border-color:#CECBD6}
.nav-links a:not(.btn):hover{color:var(--d)}
@media (max-width:960px){ .tab.active{background:var(--i)} }

/* ===== Hero in deep D steel (owner request) ===== */
.hero.hero-light{background:radial-gradient(900px 520px at 100% 0%,rgba(131,124,152,.22),transparent 60%),radial-gradient(700px 500px at 0% 100%,rgba(99,87,131,.18),transparent 60%),linear-gradient(160deg,#3F3B4A 0%,#4F4A5B 50%,#5D586A 100%);color:#fff}
.hero-light .eyebrow{color:var(--i-lt)}
.hero-light h1 .c-r{color:#CAC3DC}
.hero-light h1 .c-i{color:#B8A8E3}
.hero-light h1 em.c-d{color:#CEC9DA}
.hero-light .lead{color:#EAE8EF}
.hero-light .btn-bronze{background:var(--i);box-shadow:0 10px 26px rgba(0,0,0,.28)}
.hero-light .btn-bronze:hover{background:#6E5F97}
.hero-light .btn-link{color:#fff}
.hero-light .btn-link span{color:var(--i-lt)}
.hero-light .hero-stats{border-top-color:rgba(255,255,255,.18)}
.hero-light .hero-stats div:nth-child(1) b{color:#CAC3DC}
.hero-light .hero-stats div:nth-child(2) b{color:#B8A8E3}
.hero-light .hero-stats div:nth-child(3) b{color:#CEC9DA}
.hero-light .hero-stats span{color:#DFDCE6}

/* ===== Make I (bronze) unmistakable + RID-coloured buttons (owner request) ===== */
:root{ --i-hero:#917AD1; --r-hero:#D8D4E4; --d-hero:#CEC9DA; }
.hero-light h1 .c-r,.hero-light .hero-stats div:nth-child(1) b{color:var(--r-hero)}
.hero-light h1 .c-i,.hero-light .hero-stats div:nth-child(2) b{color:var(--i-hero)}
.hero-light h1 em.c-d,.hero-light .hero-stats div:nth-child(3) b{color:var(--d-hero)}
.hero-light .eyebrow,.hero-light .btn-link span{color:var(--i-hero)}

/* primary actions = I bronze */
.nav-links .btn,.btn-bronze,.hero-light .btn-bronze,.form .btn-primary{background:var(--i);color:#fff}
.nav-links .btn:hover,.btn-bronze:hover,.hero-light .btn-bronze:hover,.form .btn-primary:hover{background:var(--i-dk)}
.hero-light .btn-bronze{box-shadow:0 0 0 1.5px var(--i-hero),0 10px 26px rgba(0,0,0,.28)}
.calc-result .btn-bronze{background:var(--i-hero);color:#24212E}
.calc-result .btn-bronze:hover{background:#A995E0}

/* platform chips rotate R / I / D */
.chips span{border:1.5px solid;font-weight:700;transition:background .2s,color .2s;cursor:default}
.chips span:nth-child(3n+1){color:var(--r-dk);border-color:var(--r);background:var(--r-tint)}
.chips span:nth-child(3n+2){color:var(--i-dk);border-color:var(--i);background:var(--i-tint)}
.chips span:nth-child(3n){color:var(--d-dk);border-color:var(--d);background:var(--d-tint)}
.chips span:nth-child(3n+1):hover{background:var(--r);color:#fff}
.chips span:nth-child(3n+2):hover{background:var(--i);color:#fff}
.chips span:nth-child(3n):hover{background:var(--d);color:#fff}

/* decision-flow buttons rotate R / I / D */
.pick:nth-child(3n+1){border-color:rgba(216,212,228,.55)}
.pick:nth-child(3n+2){border-color:rgba(145,122,209,.75)}
.pick:nth-child(3n){border-color:rgba(206,201,218,.6)}
.pick:nth-child(3n+1).active{background:var(--r-hero);border-color:var(--r-hero);color:#36333F}
.pick:nth-child(3n+2).active{background:var(--i-hero);border-color:var(--i-hero);color:#24212E}
.pick:nth-child(3n).active{background:var(--d-hero);border-color:var(--d-hero);color:#1F1147}

/* use-case tabs rotate R / I / D */
.tab:nth-child(3n+1) span{color:var(--r-dk)}.tab:nth-child(3n+2) span{color:var(--i)}.tab:nth-child(3n) span{color:var(--d)}
.tab:nth-child(3n+1).active{background:var(--r-tint);border-left-color:var(--r)}
.tab:nth-child(3n+2).active{background:var(--i-tint);border-left-color:var(--i)}
.tab:nth-child(3n).active{background:var(--d-tint);border-left-color:var(--d)}
@media (max-width:960px){
  .tab:nth-child(3n+1).active{background:var(--r);color:#fff}
  .tab:nth-child(3n+2).active{background:var(--i);color:#fff}
  .tab:nth-child(3n).active{background:var(--d);color:#fff}
  .tab.active span{color:#fff}
}

/* FAQ toggles and outline buttons */
.faq details:nth-child(3n+1) summary::after{color:var(--r-dk);background:var(--r-tint)}
.faq details:nth-child(3n+2) summary::after{color:var(--i);background:var(--i-tint)}
.faq details:nth-child(3n) summary::after{color:var(--d-dk);background:var(--d-tint)}
.btn-outline-dark{border-color:var(--i);color:var(--i-dk)}
.btn-outline-dark:hover{background:var(--i);color:#fff}

/* ===== Bright layout (live, Nov 2026): white page, pale RID tints, only the footer dark ===== */
:root{
  --bg:#FFFFFF; --paper:#FFFFFF; --stone:#F3F1F7;
  --ink:#221F29; --muted:#524F5C; --line:#DFDDE6;
  --r-wash:#F3F1F8; --i-wash:#F3F0FB; --d-wash:#F3F2F7;
  --shadow:0 12px 32px rgba(34,31,41,.07);
}
body{background:#fff}
.section{background:#fff}
.section.alt{background:var(--d-wash)}
#services.alt{background:var(--r-wash)}
#work.alt{background:var(--i-wash)}

/* hero: white with soft RID glows, full-strength RID headline */
.hero.hero-light{background:radial-gradient(800px 480px at 100% 0%,rgba(120,115,133,.16),transparent 60%),radial-gradient(700px 460px at 70% 100%,rgba(99,87,131,.12),transparent 60%),radial-gradient(600px 420px at 0% 0%,rgba(131,124,152,.12),transparent 60%),#fff;color:var(--ink)}
.hero-light h1 .c-r,.hero-light .hero-stats div:nth-child(1) b{color:var(--r)}
.hero-light h1 .c-i,.hero-light .hero-stats div:nth-child(2) b{color:var(--i)}
.hero-light h1 em.c-d,.hero-light .hero-stats div:nth-child(3) b{color:var(--d)}
.hero-light .eyebrow{color:var(--i)}
.hero-light .lead{color:var(--muted)}
.hero-light .btn-link{color:var(--ink)}
.hero-light .btn-link span{color:var(--i)}
.hero-light .btn-bronze{box-shadow:0 10px 24px rgba(99,87,131,.28)}
.hero-light .hero-stats{border-top-color:var(--line)}
.hero-light .hero-stats span{color:var(--muted)}
.platforms{background:#fff}

/* quote band: white with a bronze rule */
.band{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band p{color:var(--ink)}
.band p::before{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--rid);margin:0 auto 22px}

/* shared light treatment for former dark sections */
#calculator.dark,#flow.dark{color:var(--ink)}
#calculator.dark h2,#flow.dark h2,#calculator.dark h3,#flow.dark h3{color:var(--ink)}
#calculator.dark p,#flow.dark p{color:var(--muted)}
#calculator .eyebrow.light{color:var(--i)}
#flow .eyebrow.light{color:var(--d)}
.fine.light{color:var(--muted)}

/* ROI calculator: warm I wash, white result card */
#calculator.dark{background:linear-gradient(180deg,var(--i-wash),#E7E2F4)}
.calc-inputs label{color:var(--ink)}
.calc-inputs output{color:var(--i)}
.calc-result{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.res{border-bottom-color:var(--line)}
.res small{color:var(--muted)}
.res b{color:var(--ink)}
.res:nth-child(1) b{color:var(--r-dk)}.res:nth-child(2) b{color:var(--i)}.res:nth-child(3) b{color:var(--d)}
.calc-result .btn-bronze{background:var(--i);color:#fff}
.calc-result .btn-bronze:hover{background:var(--i-dk)}

/* decision flow: cool D wash, white step cards */
#flow.dark{background:linear-gradient(180deg,var(--d-wash),#E9E7F0)}
.pick{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.pick:nth-child(3n+1){border-color:#CDC7DD}.pick:nth-child(3n+2){border-color:#B8ACD9}.pick:nth-child(3n){border-color:#C9C5D5}
.pick:hover{border-color:var(--d)}
.pick:nth-child(3n+1).active{background:var(--r-dk);border-color:var(--r-dk);color:#fff}
.pick:nth-child(3n+2).active{background:var(--i);border-color:var(--i);color:#fff}
.pick:nth-child(3n).active{background:var(--d);border-color:var(--d);color:#fff}
.fstep{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.fstep:nth-child(3n+1) .fnum{background:var(--r-tint);color:var(--r-dk)}
.fstep:nth-child(3n+2) .fnum{background:var(--i-tint);color:var(--i)}
.fstep:nth-child(3n) .fnum{background:var(--d-tint);color:var(--d-dk)}
.fstep b{color:var(--ink)}
#flow .fstep small{color:var(--muted)}
.fstep em.up{color:#2F7A4F}.fstep em.down{color:#A9482A}

/* contact: light R wash, white form */
.cta{background:radial-gradient(600px 400px at 100% 100%,rgba(99,87,131,.10),transparent 60%),radial-gradient(500px 360px at 0% 0%,rgba(120,115,133,.10),transparent 60%),var(--r-wash);color:var(--ink)}
.cta h2{color:var(--ink)}
.cta p{color:var(--muted)}
.cta .eyebrow.light{color:var(--i)}
.contact-list{color:var(--ink)}
.contact-list a{color:var(--i-dk)}
.form{box-shadow:0 20px 50px rgba(34,31,41,.10);border:1px solid var(--line)}

/* cards a touch crisper */
.card,.pillar,.month,.panel,.serve li{background:#fff}


/* ===== Amvent-structure sections (live): partners line, six stages, results, final CTA ===== */
.partners{margin-top:34px;font-size:.9rem;color:var(--muted);line-height:1.7}
.partners>span:first-child{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--d);margin-bottom:4px}

#approach.alt{background:var(--r-wash)}
.stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:18px;position:relative}
.stages::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:2px;background:var(--rid);opacity:.55}
.stages li{position:relative;padding-top:68px}
.stages .dot{position:absolute;top:0;left:0;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.9rem;color:#fff;background:var(--r);box-shadow:0 0 0 6px var(--r-wash)}
.stages li:nth-child(3n+2) .dot{background:var(--i)}
.stages li:nth-child(3n) .dot{background:var(--d)}
.stages h3{font-family:Lora,Georgia,serif;font-size:1.2rem;font-weight:600;margin-bottom:6px}
.stages p{font-size:.92rem;margin-bottom:10px}
.stages small{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--r-tint);color:var(--r-dk)}
.stages li:nth-child(3n+2) small{background:var(--i-tint);color:var(--i-dk)}
.stages li:nth-child(3n) small{background:var(--d-tint);color:var(--d-dk)}

.results{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.result{background:#fff;border:1px solid var(--line);border-top:4px solid var(--r);border-radius:16px;padding:30px 28px;box-shadow:var(--shadow)}
.result:nth-child(2){border-top-color:var(--i)}.result:nth-child(3){border-top-color:var(--d)}
.result>b{display:block;font-family:Lora,Georgia,serif;font-size:2.6rem;font-weight:600;line-height:1.1;margin-bottom:12px;color:var(--r-dk)}
.result:nth-child(2)>b{color:var(--i)}.result:nth-child(3)>b{color:var(--d)}
.result p{margin:0}
#stories .quote blockquote{color:var(--ink)}

.final{background:#fff}
.final-card{text-align:center;max-width:860px;margin:0 auto;padding:64px 40px;border-radius:28px;background:radial-gradient(500px 300px at 0% 0%,rgba(131,124,152,.16),transparent 70%),radial-gradient(500px 300px at 100% 100%,rgba(120,115,133,.16),transparent 70%),var(--i-wash);border:1px solid var(--line)}
.final-card h2{font-size:clamp(2rem,4.4vw,3.2rem)}
.final-card h2 em{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--i)}
.final-card p{max-width:560px;margin:0 auto}
.hero-cta.center{justify-content:center;margin:30px 0 0}

.foot-grid{grid-template-columns:1.6fr 1fr 1fr}

@media (max-width:1024px){ .stages{grid-template-columns:repeat(3,1fr);row-gap:36px} .stages::before{display:none} }
@media (max-width:960px){ .results{grid-template-columns:1fr} }
@media (max-width:600px){
  .stages{grid-template-columns:1fr}
  .stages li{padding:0 0 0 68px;min-height:48px}
  .final-card{padding:44px 22px}
  .foot-grid{grid-template-columns:1fr}
}

/* ===== Pure white background everywhere; content in RID colours (owner request) ===== */
:root{
  --ink:#1F1147;            /* deepest D steel for body text */
  --muted:#645F71;          /* mid D steel for supporting text */
  --line:#E0DDE7;
  --shadow:0 14px 34px rgba(79,74,91,.09);
}
html,body,.nav,.nav-links,.hero.hero-light,.section,.section.alt,#stack.alt,#approach.alt,#faq.alt,#flow.dark,.final,.platforms{background:#FFFFFF}
.hero.hero-light{background-image:none}
h1,h2,h3{color:var(--d-dk)}
h2 em,.final-card h2 em{color:var(--i)}

/* thin R→I→D divider between sections instead of tinted backgrounds */
main>section+section{position:relative}
main>section+section::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(1140px,calc(100% - 40px));height:2px;background:var(--rid);opacity:.35;border-radius:2px}

/* decision-flow demo on white */
#flow .eyebrow.light{color:var(--d)}
#flow.dark h2{color:var(--d-dk)}
.fstep{background:#fff}

/* approach dots: white ring instead of the old wash */
.stages .dot{box-shadow:0 0 0 6px #fff}

/* FAQ rows get RID accents */
.faq details{border-bottom:1px solid var(--line)}
.faq summary{color:var(--d-dk)}

/* closing card: white with an RID frame */
.final-card{background:#fff;border:2px solid transparent;background-image:linear-gradient(#fff,#fff),var(--rid);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:var(--shadow)}

/* footer on white */
.footer{background:#fff;color:var(--muted);border-top:3px solid transparent;border-image:var(--rid) 1}
.footer h4{color:var(--d-dk)}
.footer p{color:var(--muted)}
.footer a{color:var(--muted)}
.footer a:hover{color:var(--i)}
.wordmark{color:var(--d-dk)}
.wordmark .r{color:var(--r)}.wordmark .i{color:var(--i)}.wordmark .d{color:var(--d)}
.wm-tag .t-r{color:var(--r)}.wm-tag .t-i{color:var(--i)}.wm-tag .t-d{color:var(--d)}
.wm-tag i{color:#ACA7B9}
.foot-bottom{border-top-color:var(--line);color:var(--muted)}

/* ===== White hero only; RID colour scheme on every other section (owner request) ===== */
/* light RID backgrounds */
#connected{background:var(--r-tint)}
#stack.alt{background:var(--d-tint)}
#usecases{background:var(--i-tint)}
#approach.alt{background:var(--r-tint)}
#stories{background:var(--d-tint)}
#faq.alt{background:var(--i-tint)}
#approach .stages .dot{box-shadow:0 0 0 6px var(--r-tint)}
#connected .hub-core,#connected .node,#stack .layer,#usecases .panel,#stories .result{box-shadow:0 14px 34px rgba(79,74,91,.12)}
.tab.active{background:#fff}
main>section+section::before{opacity:.5}

/* deep D steel: decision-flow demo */
#flow.dark{background:radial-gradient(700px 400px at 100% 0%,rgba(131,124,152,.28),transparent 60%),linear-gradient(160deg,var(--d-dk),#645F71)}
#flow.dark h2{color:#fff}
#flow.dark p,#flow .fine.light{color:#E4E2EA}
#flow .eyebrow.light{color:#B8A8E3}
#flow .pick{background:transparent;color:#F5F7F8;border:1.5px solid rgba(255,255,255,.35)}
#flow .pick:hover{border-color:#fff}
#flow .pick:nth-child(3n+1).active{background:#D8D4E4;border-color:#D8D4E4;color:#36333F}
#flow .pick:nth-child(3n+2).active{background:#917AD1;border-color:#917AD1;color:#24212E}
#flow .pick:nth-child(3n).active{background:#CEC9DA;border-color:#CEC9DA;color:#1F1147}
#flow .fstep{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);box-shadow:none}
#flow .fstep b{color:#fff}
#flow .fstep small{color:#DFDCE6}
#flow .fnum{background:rgba(255,255,255,.14)!important;color:#fff!important}
#flow .fstep em.up{color:#CFE3C9}#flow .fstep em.down{color:#F2C9B5}

/* deep I bronze: closing call to action, with a white card */
.final{background:radial-gradient(600px 360px at 0% 0%,rgba(131,124,152,.35),transparent 60%),radial-gradient(600px 360px at 100% 100%,rgba(120,115,133,.35),transparent 60%),linear-gradient(160deg,var(--i-dk),var(--i))}
.final-card{box-shadow:0 24px 60px rgba(0,0,0,.25)}

/* deep D steel footer */
.footer{background:var(--d-xdk);color:#C6C3CE;border-top:3px solid transparent;border-image:var(--rid) 1}
.footer h4,.wordmark{color:#fff}
.footer p,.footer a,.foot-bottom{color:#C6C3CE}
.footer a:hover{color:#B8A8E3}
.foot-bottom{border-top-color:rgba(255,255,255,.1)}
.wordmark .r,.wm-tag .t-r{color:var(--r-lt)}
.wordmark .i,.wm-tag .t-i{color:var(--i-lt)}
.wordmark .d,.wm-tag .t-d{color:var(--d-lt)}

/* ===== Amvent-style crisp white landing (owner request) ===== */
.nav{border-bottom:0;box-shadow:none}
.hero.hero-light{background:#FFFFFF;background-image:none;padding:80px 0 110px;min-height:680px}
.hero-light .network{-webkit-mask-image:none;mask-image:none}
.hero-light h1{font-weight:400;font-size:clamp(3rem,7.2vw,6rem);line-height:1.02;letter-spacing:-.02em}
.hero-light h1 em{font-weight:400}
.hero-light .hero-inner>*{max-width:570px}
.hero-light .lead{font-size:1.15rem}
main>section.hero+section::before{display:none}
@media (max-width:960px){
  .hero.hero-light{min-height:0;padding:56px 0 64px}
  .hero-light .network{opacity:.35}
}
.hero-light .hero-inner{width:100%}

/* =====================================================================
   LAVENDER RID THEME (live, Nov 2026) — final word on colours.
   Background #FFFFFF everywhere; all text black; R/I/D lavender colours
   only on the logo, buttons, lines, borders, dots and the hero network.
   R periwinkle #A98BFF · I violet #A98BFF · D lilac #A98BFF
   ===================================================================== */
:root{
  --r:#A98BFF; --i:#A98BFF; --d:#A98BFF;
  --r-dk:#6D3BEB; --i-dk:#6D3BEB; --d-dk:#A98BFF;
  --rid:linear-gradient(90deg,#A98BFF 0%,#A98BFF 50%,#A98BFF 100%);
  --rid-btn:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 100%);
  --ink:#1F1147; --muted:#1F1147; --line:#E9E5F3;
  --shadow:0 12px 30px rgba(109,59,235,.10);
}
/* every background white */
html,body,header,.nav,.nav-links,main>section,.section,.section.alt,.hero,.hero.hero-light,
#connected,#stack,#stack.alt,#flow,#flow.dark,#usecases,#approach,#approach.alt,#stories,#faq,#faq.alt,
.final,#contact,.footer,.final-card,.card,.panel,.result,.layer,.fstep,.node,.tab,.tab.active,.pick{background:#FFFFFF !important;background-image:none !important}

/* all text black */
body,h1,h2,h3,h4,p,li,small,b,em,summary,figcaption,blockquote,label,
.lead,.eyebrow,.eyebrow.light,.hero-light h1 .c-r,.hero-light h1 .c-i,.hero-light h1 em.c-d,.hero-light .lead,
.hero-light .eyebrow,h2 em,.final-card h2 em,.stack-copy p,.fine,.fine.light,.partners,.partners>span:first-child,
#flow.dark h2,#flow.dark p,#flow .fstep b,#flow .fstep small,.result>b,.stages h3,.stages p,.tab,.tab span,
.footer,.footer h4,.footer p,.footer a,.foot-bottom,.layer-label,.pills i,.node small,.node b,.panel-stat b,.panel-stat span,
.faq summary,.btn-link,.hero-light .btn-link,.inline-link,.nav-links a:not(.btn){color:#1F1147 !important}
h2 em,.hero-light h1 em{background:none !important;-webkit-background-clip:border-box !important;background-clip:border-box !important}
.stages small,.fstep em,.ticks li{color:#1F1147 !important}

/* logo: black "algo"/"hm", lavender gradient RID and tagline */
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-decoration:none}
.logo-word{font-family:Nunito,system-ui,sans-serif;font-weight:700;font-size:34px;line-height:1;letter-spacing:-.6px;color:#1F1147}
.logo-word .rid,.logo-tag{background:var(--rid);-webkit-background-clip:text;background-clip:text;color:transparent !important}
.logo-tag{font-family:Inter,system-ui,sans-serif;font-size:.6rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap}
.footer .logo-word{font-size:40px}
.footer .logo-tag{font-size:.7rem;margin:8px 0 16px;display:inline-block}

/* buttons: lavender gradient, white text */
.btn-primary,.btn-bronze,.nav-links .btn,.hero-light .btn-bronze,.form .btn-primary{background:var(--rid-btn) !important;color:#fff !important;border:0 !important;box-shadow:0 10px 24px rgba(109,59,235,.28) !important}
.btn-primary:hover,.btn-bronze:hover,.nav-links .btn:hover,.hero-light .btn-bronze:hover{background:linear-gradient(90deg,#6D3BEB,#6D3BEB) !important}
.btn-link span,.hero-light .btn-link span{color:var(--r-dk) !important}
.btn-outline-dark{border-color:var(--r) !important;color:#1F1147 !important}

/* lines and dividers */
main>section+section::before{background:var(--rid) !important;opacity:.6 !important}
.nav{border-bottom:0}
.footer{border-top:3px solid transparent;border-image:var(--rid) 1}
.foot-bottom{border-top:1px solid var(--line) !important}
.final-card{border:2px solid transparent !important;background:linear-gradient(#fff,#fff) padding-box,var(--rid) border-box !important;box-shadow:var(--shadow) !important}
.hero-light .hero-stats,.faq details{border-color:var(--line) !important}

/* cards: white with lavender borders / top accents */
.node{border:1px solid var(--line) !important;border-top:3px solid var(--r) !important;box-shadow:var(--shadow) !important}
.n2,.n5{border-top-color:var(--i) !important}.n3,.n6{border-top-color:var(--d) !important}
.hub-core{background:var(--rid) !important;color:#fff}
.hub-core small,.hub-core span,.hub-core b{color:#fff !important}
.hub-lines line{stroke:var(--i) !important}
.layer{border:1px solid var(--line) !important;border-left:4px solid var(--r) !important;transform:none !important;box-shadow:var(--shadow) !important}
.l2{border-left-color:var(--i) !important}.l3{border-left-color:var(--d) !important}.l4{border-left-color:var(--r-dk) !important}
.pills i{background:#fff !important;border:1px solid var(--line)}
.l1 .pills i{border-color:#D6C9F8}.l2 .pills i{border-color:#D7CAFB}.l3 .pills i{border-color:#DACFF8}.l4 .pills i{border-color:#C9B9F4}
.ticks li::before{background:var(--rid) !important}
.ticks li::after{border-color:var(--i) !important}

/* decision-flow demo */
.pick{color:#1F1147 !important;border:1.5px solid var(--line) !important}
.pick:nth-child(3n+1){border-color:#D6C9F8 !important}.pick:nth-child(3n+2){border-color:#D7CAFB !important}.pick:nth-child(3n){border-color:#DACFF8 !important}
.pick:hover{border-color:var(--i) !important}
.pick.active,#flow .pick.active{background:var(--rid-btn) !important;border-color:transparent !important;color:#fff !important}
.fstep{border:1px solid var(--line) !important;box-shadow:var(--shadow) !important}
.fnum,#flow .fnum{background:#fff !important;color:#1F1147 !important;border:2px solid var(--r)}
.fstep:nth-child(3n+2) .fnum{border-color:var(--i)}.fstep:nth-child(3n) .fnum{border-color:var(--d)}
#flow .eyebrow.light{color:#1F1147 !important}

/* tabs */
.tab{border-left:3px solid transparent !important}
.tab.active{border-left-color:var(--i) !important;box-shadow:var(--shadow)}
.tab:nth-child(3n+1).active{border-left-color:var(--r) !important}.tab:nth-child(3n).active{border-left-color:var(--d) !important}
.panel{border:1px solid var(--line) !important;border-top:3px solid var(--i) !important}
.panel-stat{background:#fff !important;border:2px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--rid) border-box !important}

/* approach stages */
.stages::before{background:var(--rid) !important;opacity:.8 !important}
.stages .dot{background:#fff !important;color:#1F1147 !important;border:3px solid var(--r);box-shadow:0 0 0 6px #fff !important}
.stages li:nth-child(3n+2) .dot{border-color:var(--i)}.stages li:nth-child(3n) .dot{border-color:var(--d)}
.stages small{background:#fff !important;border:1px solid #D6C9F8}
.stages li:nth-child(3n+2) small{border-color:#D7CAFB}.stages li:nth-child(3n) small{border-color:#DACFF8}

/* results */
.result{border:1px solid var(--line) !important;border-top:4px solid var(--r) !important;box-shadow:var(--shadow) !important}
.result:nth-child(2){border-top-color:var(--i) !important}.result:nth-child(3){border-top-color:var(--d) !important}

/* FAQ toggles */
.faq summary::after{background:#fff !important;color:#1F1147 !important;border:2px solid var(--r)}
.faq details:nth-child(3n+2) summary::after{border-color:var(--i)}.faq details:nth-child(3n) summary::after{border-color:var(--d)}

/* links */
.footer a:hover,.inline-link:hover,.nav-links a:not(.btn):hover{color:var(--r-dk) !important}
@media (max-width:960px){ .tab.active{background:var(--rid-btn) !important;color:#fff !important} .tab.active span{color:#fff !important} }
@media (max-width:600px){ .logo-word{font-size:28px} .logo-tag{font-size:.5rem;letter-spacing:.15em} }

/* =====================================================================
   DEEPER RID + SCROLL COLOUR TRANSITIONS (live, Nov 2026) — final word.
   R indigo #6D3BEB · I violet #6D3BEB · D purple #6D3BEB
   Hero stays white; as you scroll, the page background eases between
   white and soft-to-deep lavender tints (set by the script in index.html
   via --page-bg). Cards stay white; text stays black.
   ===================================================================== */
:root{
  --r:#6D3BEB; --i:#6D3BEB; --d:#6D3BEB;
  --r-dk:#5A2DD0; --i-dk:#5A2DD0; --d-dk:#5A2DD0;
  --rid:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 50%,#6D3BEB 100%);
  --rid-btn:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 100%);
  --line:#E5DFF7;
  --shadow:0 14px 34px rgba(109,59,235,.12);
}
body{background:var(--page-bg,#FFFFFF) !important;transition:background-color .9s ease}
main>section,.section,.section.alt,.hero,.hero.hero-light,#connected,#stack,#stack.alt,#flow,#flow.dark,#usecases,
#approach,#approach.alt,#stories,#faq,#faq.alt,.final,#contact{background:transparent !important;background-image:none !important}
.footer{background:#FFFFFF !important}
main>section+section::before{display:none !important}
.btn-primary:hover,.btn-bronze:hover,.nav-links .btn:hover,.hero-light .btn-bronze:hover{background:linear-gradient(90deg,#5A2DD0,#5A2DD0) !important}
.l1 .pills i,.pick:nth-child(3n+1),.stages small{border-color:#D0C3F4 !important}
.l2 .pills i,.pick:nth-child(3n+2),.stages li:nth-child(3n+2) small{border-color:#CEBFF8 !important}
.l3 .pills i,.pick:nth-child(3n),.stages li:nth-child(3n) small{border-color:#CFC2F2 !important}
.stages .dot{box-shadow:none !important}
@media (prefers-reduced-motion:reduce){ body{transition:none} }

/* =====================================================================
   PRESENTATION SLIDES (live, Nov 2026) — final word on layout.
   White page. Every section below the hero is a rounded "slide" block
   that glides into view on scroll, with a slide number. A few very soft
   R/I/D colour glows sit on the white page between the slides.
   ===================================================================== */
body{background:#FFFFFF !important}
main{counter-reset:slide;position:relative;padding-bottom:40px;
  background:
    radial-gradient(620px 420px at -4% 16%,rgba(109,59,235,.08),transparent 70%),
    radial-gradient(700px 480px at 104% 40%,rgba(109,59,235,.08),transparent 70%),
    radial-gradient(640px 460px at -4% 66%,rgba(109,59,235,.08),transparent 70%),
    radial-gradient(700px 480px at 104% 90%,rgba(109,59,235,.07),transparent 70%),
    #FFFFFF !important}
main>section.hero{background:transparent !important}

/* the slides */
main>section:not(.hero){
  counter-increment:slide;position:relative;
  width:min(1200px,calc(100% - 40px));margin:36px auto;padding:76px 0 72px;
  background:#FFFFFF !important;border-radius:28px;
  border:1px solid #E7E2F6;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 24px 60px rgba(56,36,110,.08),0 4px 14px rgba(56,36,110,.04)}
main>section:not(.hero)>.container{padding-left:clamp(20px,4vw,56px);padding-right:clamp(20px,4vw,56px)}
/* thin R→I→D strip along the top edge of each slide */
main>section:not(.hero)::before{content:"" !important;display:block !important;position:absolute !important;
  top:0 !important;left:28px !important;right:28px !important;width:auto !important;transform:none !important;
  height:3px !important;border-radius:0 0 3px 3px !important;background:var(--rid) !important;opacity:.9 !important}
/* slide number, like a deck */
main>section:not(.hero)::after{content:counter(slide,decimal-leading-zero) " / 08";position:absolute;top:24px;right:30px;
  font:700 .72rem/1 Inter,system-ui,sans-serif;letter-spacing:.16em;color:#9F96B8}

/* glide-in on scroll (only when the script is running) */
.slides-on main>section:not(.hero){opacity:0;transform:translateY(56px) scale(.965);
  transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.slides-on main>section:not(.hero).in{opacity:1;transform:none}

@media (max-width:600px){
  main>section:not(.hero){width:calc(100% - 20px);margin:22px auto;padding:58px 0 52px;border-radius:20px}
  main>section:not(.hero)::after{top:18px;right:18px;font-size:.62rem}
}
@media (prefers-reduced-motion:reduce){
  .slides-on main>section:not(.hero){opacity:1;transform:none;transition:none}
}
/* slides stay solid white even where older id-based rules set sections transparent */
main>section:not(.hero):not(#_){background:#FFFFFF !important;background-image:none !important}

/* ---- refinements (owner request): no slide numbers, blur-in, gradient "Decision." ---- */
main>section:not(.hero)::after{content:none !important;display:none !important}

/* smoother, blurred glide-in */
.slides-on main>section:not(.hero){opacity:0;filter:blur(14px);transform:translateY(40px) scale(.975);
  transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),filter 1.2s cubic-bezier(.22,.61,.36,1),transform 1.2s cubic-bezier(.22,.61,.36,1);
  will-change:opacity,filter,transform}
.slides-on main>section:not(.hero).in{opacity:1;filter:blur(0);transform:none}

/* hero "Decision." in the logo's R→I→D gradient, fading out to the right */
main .hero.hero-light h1 em.c-d{
  background-image:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 38%,#6D3BEB 68%,rgba(109,59,235,.18) 100%) !important;
  -webkit-background-clip:text !important;background-clip:text !important;
  color:transparent !important;-webkit-text-fill-color:transparent;padding-right:.08em}

@media (prefers-reduced-motion:reduce){ .slides-on main>section:not(.hero){filter:none;opacity:1;transform:none;transition:none} }

/* ---- all buttons: medium purple with a reddish lean (D #6D3BEB) — owner request ---- */
:root{--btn:#6D3BEB;--btn-hover:#5A2DD0}
.btn-primary,.btn-bronze,.nav-links .btn,.hero-light .btn-bronze,.form .btn-primary,.calc-result .btn-bronze{
  background:var(--btn) !important;background-image:none !important;color:#FFFFFF !important;border:0 !important;
  box-shadow:0 10px 24px rgba(109,59,235,.30) !important}
.btn-primary:hover,.btn-bronze:hover,.nav-links .btn:hover,.hero-light .btn-bronze:hover,.form .btn-primary:hover{
  background:var(--btn-hover) !important;background-image:none !important}
.btn-outline-dark{border-color:var(--btn) !important;color:var(--btn) !important}
.btn-outline-dark:hover{background:var(--btn) !important;color:#FFFFFF !important}
.btn-link span,.hero-light .btn-link span{color:var(--btn) !important}
.pick.active,#flow .pick.active{background:var(--btn) !important;background-image:none !important;color:#FFFFFF !important;border-color:var(--btn) !important}
.pick:hover{border-color:var(--btn) !important}
@media (max-width:960px){ .tab.active{background:var(--btn) !important;background-image:none !important;color:#FFFFFF !important} }

/* ---- last slide ("Plan your next decision with confidence") outlined in the same purple ---- */
main>section#contact:not(.hero):not(#_){border:2px solid var(--btn) !important;box-shadow:0 24px 60px rgba(109,59,235,.16) !important}
main>section#contact:not(.hero)::before{background:var(--btn) !important}
main #contact .final-card{border:1px solid #DFD6F6 !important;background:#FFFFFF !important;background-image:none !important;box-shadow:none !important}

/* =====================================================================
   COLOUR DIRECTION (live, Nov 2026) — final word on colours.
   From the owner's "algoRIDhm Color Direction" image: core purple buttons,
   tinted slide backgrounds, deep-plum decision demo, violet-plum contact.
   ===================================================================== */
:root{
  --core:#6D3BEB; --royal:#6D3BEB; --peri:#A98BFF; --plum:#1F1147; --lav:#D0C1FB;
  --pink:#A98BFF; --berry:#6D3BEB; --dviolet:#6D3BEB; --rose:#6D3BEB; --indigo:#6D3BEB; --spink:#D8CDF8;
  --btn:#6D3BEB; --btn-hover:#5A2DD0;
  --rid:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 50%,#6D3BEB 100%);
}

/* section backgrounds (applied to the slide blocks) */
main>section#connected:not(#_){background:#F3EEFF !important}
main>section#stack:not(#_){background:#F8F7FB !important}
main>section#flow:not(#_){background:radial-gradient(700px 420px at 100% 0%,rgba(109,59,235,.30),transparent 60%),linear-gradient(160deg,#1F1147,#1F1147) !important;border-color:#1F1147 !important}
main>section#usecases:not(#_){background:#F2EEFE !important}
main>section#approach:not(#_){background:#F0ECFB !important}
main>section#stories:not(#_){background:#F7F4FF !important}
main>section#faq:not(#_){background:#F4F0FF !important}
main>section#contact:not(#_){background:linear-gradient(135deg,#6D3BEB 0%,#1F1147 100%) !important;border:0 !important}
main>section#contact:not(.hero)::before{background:linear-gradient(90deg,#A98BFF,#D0C1FB) !important}

/* headings in deep plum, body near-black */
main>section:not(.hero):not(#_) h2{color:#1F1147 !important}
main>section:not(.hero):not(#_) h2 em{color:var(--royal) !important}
main>section:not(.hero):not(#_) .eyebrow{color:var(--dviolet) !important}

/* hero */
main .hero.hero-light h1 em.c-d{background-image:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 45%,#6D3BEB 75%,rgba(109,59,235,.2) 100%) !important}
.hero-light .btn-link span{color:var(--core) !important}

/* buttons: core purple */
.btn-primary,.btn-bronze,.nav-links .btn,.hero-light .btn-bronze,.form .btn-primary{background:var(--btn) !important;box-shadow:0 10px 24px rgba(109,59,235,.32) !important}
.btn-primary:hover,.btn-bronze:hover,.nav-links .btn:hover,.hero-light .btn-bronze:hover{background:var(--btn-hover) !important}

/* decision flow on deep plum */
main>section#flow:not(#_) h2,main>section#flow:not(#_) .section-head p,main>section#flow:not(#_) .fine{color:#FFFFFF !important}
main>section#flow:not(#_) .eyebrow{color:var(--pink) !important}
main>section#flow:not(#_) .pick{background:transparent !important;color:#FFFFFF !important;border:1.5px solid rgba(255,255,255,.4) !important}
main>section#flow:not(#_) .pick.active{background:var(--pink) !important;color:#1F1147 !important;border-color:var(--pink) !important}
main>section#flow:not(#_) .fstep em.up{color:#16A34A !important}
main>section#flow:not(#_) .fstep em.down{color:var(--berry) !important}

/* connected hub, stack and stages with the palette accents */
.hub-core{background:linear-gradient(135deg,#6D3BEB,#6D3BEB) !important}
.hub-lines line{stroke:var(--peri) !important}
.node{border-top-color:var(--core) !important}.n2,.n5{border-top-color:var(--berry) !important}.n3,.n6{border-top-color:var(--peri) !important}
.layer{border-left-color:var(--indigo) !important}.l2{border-left-color:var(--royal) !important}.l3{border-left-color:var(--berry) !important}.l4{border-left-color:var(--plum) !important}
.stages .dot{border-color:var(--core) !important}.stages li:nth-child(3n+2) .dot{border-color:var(--berry) !important}.stages li:nth-child(3n) .dot{border-color:var(--peri) !important}
.stages::before{background:linear-gradient(90deg,#6D3BEB,#6D3BEB,#A98BFF) !important}
.tab.active{border-left-color:var(--core) !important}

/* client stories: pink/berry data accents */
.result{border-top-color:var(--berry) !important}
main>section#stories:not(#_) .result>b{color:var(--berry) !important}
main>section#stories:not(#_) .quote blockquote{color:#1F1147 !important}

/* FAQ toggles */
.faq summary::after{border-color:var(--core) !important;color:var(--core) !important}

/* contact: white text around the card */
main #contact .final-card{border:0 !important;box-shadow:0 24px 60px rgba(15,6,40,.35) !important}

/* footer */
.footer{border-image:linear-gradient(90deg,#6D3BEB,#6D3BEB,#A98BFF) 1 !important}


/* ---- footer: same dark violet→plum as the contact slide, white text (owner request) ---- */
footer.footer{background:linear-gradient(135deg,#6D3BEB 0%,#1F1147 100%) !important;background-image:linear-gradient(135deg,#6D3BEB 0%,#1F1147 100%) !important;border-top:0 !important;border-image:none !important}
footer.footer,footer.footer p,footer.footer h4,footer.footer a,footer.footer .foot-bottom,footer.footer .foot-bottom a{color:#FFFFFF !important}
footer.footer p,footer.footer a,footer.footer .foot-bottom{opacity:.92}
footer.footer a:hover{color:#A98BFF !important;opacity:1}
footer.footer .foot-bottom{border-top:1px solid rgba(255,255,255,.18) !important}
footer.footer .logo-word{color:#FFFFFF !important}
footer.footer .logo-word .rid,footer.footer .logo-tag{background:linear-gradient(90deg,#A98BFF 0%,#A98BFF 50%,#A98BFF 100%) !important;-webkit-background-clip:text !important;background-clip:text !important;color:transparent !important}
footer.footer .ph{color:#6E5530 !important;opacity:1}
/* footer in deep plum (owner request) */
footer.footer{background:#1F1147 !important;background-image:none !important}

/* =====================================================================
   PLUM CTA · RID GRADIENT BUTTONS · EDGE GLOW · GRADIENT CURSOR (owner request)
   ===================================================================== */
/* closing slide in deep plum */
main>section#contact:not(#_){background:radial-gradient(700px 420px at 100% 0%,rgba(109,59,235,.25),transparent 60%),#1F1147 !important}

/* "Let's talk" and other solid buttons: flowing R→I→D gradient */
@keyframes ridFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.btn-primary,.btn-bronze,.nav-links .btn,.hero-light .btn-bronze,.form .btn-primary{
  background:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 30%,#6D3BEB 55%,#6D3BEB 80%,#6D3BEB 100%) !important;
  background-size:300% 100% !important;animation:ridFlow 7s ease-in-out infinite;color:#FFFFFF !important;border:0 !important;
  box-shadow:0 10px 26px rgba(109,59,235,.32) !important}
.btn-primary:hover,.btn-bronze:hover,.nav-links .btn:hover,.hero-light .btn-bronze:hover,.form .btn-primary:hover{
  background:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 30%,#6D3BEB 55%,#6D3BEB 80%,#6D3BEB 100%) !important;
  background-size:300% 100% !important;animation-duration:2.2s;box-shadow:0 14px 34px rgba(109,59,235,.42) !important}

/* soft fading R/I/D glow around the edges of the window */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:70;
  background:
    linear-gradient(180deg,rgba(169,139,255,.15) 0,rgba(169,139,255,0) 35px),
    linear-gradient(0deg,rgba(109,59,235,.09) 0,rgba(109,59,235,0) 30px),
    linear-gradient(90deg,rgba(109,59,235,.07) 0,rgba(109,59,235,0) 23px),
    linear-gradient(270deg,rgba(109,59,235,.07) 0,rgba(109,59,235,0) 23px)}

@media (prefers-reduced-motion:reduce){
  .btn-primary,.btn-bronze,.nav-links .btn,.hero-light .btn-bronze,.form .btn-primary{animation:none}
}

/* ---- "Let's talk" buttons: medium purple with a red lean, shaded like the logo's RID (owner request) ---- */
.btn-primary,.btn-bronze,.nav-links .btn,.hero-light .btn-bronze,.form .btn-primary{
  background:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 55%,#6D3BEB 100%) !important;background-size:100% 100% !important;
  animation:none !important;color:#FFFFFF !important;border:0 !important;box-shadow:0 10px 26px rgba(109,59,235,.34) !important}
.btn-primary:hover,.btn-bronze:hover,.nav-links .btn:hover,.hero-light .btn-bronze:hover,.form .btn-primary:hover{
  background:linear-gradient(90deg,#5A2DD0 0%,#5A2DD0 55%,#5A2DD0 100%) !important;background-size:100% 100% !important;
  box-shadow:0 14px 32px rgba(109,59,235,.44) !important}

/* =====================================================================
   LOOK TOUCH-UPS (live, Nov 2026) — calmer white/lavender rhythm, plum texture,
   unified radius/shadows, hover lift, type scale, icons, mini dashboards,
   trust strip, sticky mobile CTA. Works with enhance.js.
   ===================================================================== */
:root{--r18:18px;--sh:0 14px 34px rgba(31,17,71,.08);--sh-hover:0 22px 48px rgba(31,17,71,.14);--lav:#F3EEFF}

/* 1. placeholders: no yellow boxes, no reminder notes (content still needs replacing before going live) */
.ph{background:none !important;color:inherit !important;padding:0 !important}
.note-ph{display:none !important}

/* 2. calmer rhythm: white / pale lavender alternating, deep plum for the two feature slides */
main>section#connected:not(#_),main>section#usecases:not(#_),main>section#stories:not(#_){background:#FFFFFF !important}
main>section#stack:not(#_),main>section#approach:not(#_),main>section#faq:not(#_){background:var(--lav) !important}

/* 8. subtle grid texture on the deep plum slides */
main>section#flow:not(#_){background:
  linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/32px 32px,
  linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/32px 32px,
  radial-gradient(700px 420px at 100% 0%,rgba(109,59,235,.30),transparent 60%),
  linear-gradient(160deg,#1F1147,#1F1147) !important}
main>section#contact:not(#_){background:
  linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/32px 32px,
  linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/32px 32px,
  radial-gradient(700px 420px at 100% 0%,rgba(109,59,235,.25),transparent 60%),#1F1147 !important}

/* 10. one radius + shadow system */
.card,.result,.panel,.layer,.fstep,.node,.final-card,.panel-stat,.hub-core{border-radius:var(--r18) !important}
.result,.panel,.layer,.fstep,.node{box-shadow:var(--sh) !important}

/* 6. hover lift */
.result,.panel,.layer,.fstep,.node,.stages li{transition:transform .25s ease,box-shadow .25s ease}
.result:hover,.layer:hover,.fstep:hover,.node:hover{transform:translateY(-4px);box-shadow:var(--sh-hover) !important}
.node:hover{transform:translate(-50%,-50%) translateY(-4px)}

/* 11. consistent type scale */
main>section:not(.hero) h2{font-size:clamp(2rem,3.6vw,2.75rem) !important;line-height:1.12 !important;margin-bottom:14px}
main>section:not(.hero) .section-head,main>section:not(.hero) .split>div:first-child{margin-bottom:40px}
main>section:not(.hero) .eyebrow{letter-spacing:.18em !important;font-size:.72rem !important;margin-bottom:12px}

/* 3. line icons */
.ico{width:22px;height:22px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tab .ico{color:#6D3BEB}
.tab.active .ico{color:#6D3BEB}
.layer-label{display:flex !important;align-items:center;gap:8px}
.layer .ico{width:18px;height:18px;color:#6D3BEB}
.stages .dot .ico{width:22px;height:22px;color:#1F1147}
.stages .dot{font-size:0 !important}
.stages h3 .num-sm{display:block;font:700 .7rem/1 Inter,sans-serif;letter-spacing:.14em;color:#6D3BEB;margin-bottom:6px}

/* 4. mini dashboard inside use-case panels */
.panel-stat{background:#FFFFFF !important;border:1px solid #ECE6FB !important;box-shadow:var(--sh) !important;padding:20px 20px 16px !important}
.panel-stat .dash-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font:600 .72rem/1 Inter,sans-serif;color:#6E6880;letter-spacing:.06em;text-transform:uppercase}
.panel-stat .dash-top i{font-style:normal;color:#16A34A}
.panel-stat svg.mini{width:100%;height:auto;display:block;margin-bottom:12px}
.panel-stat b{font-size:2rem !important;color:#1F1147 !important}
.panel-stat span{color:#514A63 !important}

/* 5. trust strip in the hero */
.partners{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:38px}
.partners>span:first-child{width:100%;margin-bottom:2px}
.partners .chip{font:600 .86rem/1 Inter,sans-serif;color:#5F5872;padding:9px 14px;border:1px solid #E7E2F5;border-radius:999px;background:#FFFFFF;filter:grayscale(1);transition:color .2s,border-color .2s}
.partners .chip:hover{color:#1F1147;border-color:#CCBDF4}
.partners .ph{display:none}

/* 13. sticky call-to-action on phones */
.sticky-cta{display:none}
@media (max-width:600px){
  .sticky-cta{display:flex;align-items:center;justify-content:center;position:fixed;left:16px;right:16px;bottom:16px;z-index:65;
    padding:14px 18px;border-radius:999px;color:#fff;font:600 1rem/1 Inter,sans-serif;text-decoration:none;
    background:linear-gradient(90deg,#6D3BEB 0%,#6D3BEB 55%,#6D3BEB 100%);box-shadow:0 12px 30px rgba(109,59,235,.4)}
  .hero-light h1{font-size:clamp(2.5rem,12vw,3.2rem) !important}
  footer.footer{padding-bottom:96px}
}

@media (prefers-reduced-motion:reduce){.result:hover,.layer:hover,.fstep:hover{transform:none}}

/* ---- slide transition: no blur, just slide in (from below when scrolling down, from above when scrolling up) ---- */
.slides-on main>section:not(.hero){filter:none !important;opacity:0;transform:translateY(64px);
  transition:transform .9s cubic-bezier(.22,.61,.36,1),opacity .7s ease !important;will-change:transform,opacity}
.slides-on main>section:not(.hero)[data-from="top"]{transform:translateY(-64px)}
.slides-on main>section:not(.hero).in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.slides-on main>section:not(.hero){opacity:1;transform:none;transition:none !important}}

/* ---- hero tagline + AI-native intro (owner request) ---- */
.hero-light .hero-tagline{font:600 clamp(1.25rem,2.2vw,1.6rem)/1.3 Inter,system-ui,sans-serif;color:#1F1147;margin:6px 0 14px;letter-spacing:-.01em}
.hero-light .hero-tagline span{background:linear-gradient(90deg,#6D3BEB,#6D3BEB 50%,#6D3BEB);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-light .lead b{font-weight:700;color:#1F1147}
.hero-light .lead{max-width:560px}

/* ---- hero tagline + intro set in the same type as the body text of the second slide (owner request) ---- */
.hero-light .hero-tagline,.hero-light .lead,.hero-light .lead b{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif !important;
  font-size:16px !important;font-weight:400 !important;line-height:26.4px !important;letter-spacing:normal !important;color:#1F1147 !important}
.hero-light .hero-tagline{margin:10px 0 8px}

/* =====================================================================
   FLOW CHARTS (live, Nov 2026) — RID pipeline, branching decision flow,
   find-your-path tree, approach line fill, section rail. Works with flow.js.
   ===================================================================== */

/* ---------- 1. RID pipeline in the hero ---------- */
.rid-pipe{display:flex;align-items:stretch;gap:0;margin:22px 0 26px;max-width:600px;position:relative;z-index:2}
.rp-node{position:relative;flex:1 1 0;background:#FFFFFF;border:1.5px solid #E4DCFA;border-radius:16px;padding:12px 14px;
  box-shadow:0 10px 26px rgba(31,17,71,.08);cursor:default;transition:transform .25s,box-shadow .25s,border-color .25s}
.rp-node:hover,.rp-node:focus-visible{transform:translateY(-3px);box-shadow:0 18px 36px rgba(31,17,71,.14);border-color:#BBA6F5;outline:none}
.rp-k{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#fff;font:800 .9rem/1 Nunito,Inter,sans-serif;margin-bottom:8px}
.rp-k{background:#6D3BEB}.rid-pipe>.rp-node:nth-child(1) .rp-k{background:#6D3BEB}.rid-pipe>.rp-node:nth-child(3) .rp-k{background:#6D3BEB}.rid-pipe>.rp-node:nth-child(5) .rp-k{background:#6D3BEB}
.rp-node b{display:block;font:700 .95rem/1.2 Inter,sans-serif;color:#1F1147}
.rp-node small{display:block;font:500 .78rem/1.35 Inter,sans-serif;color:#5F5872;margin-top:3px}
.rp-tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);width:220px;padding:10px 12px;border-radius:12px;
  background:#1F1147;color:#fff;font:500 .78rem/1.45 Inter,sans-serif;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:5}
.rp-tip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1F1147}
.rp-node:hover .rp-tip,.rp-node:focus-visible .rp-tip{opacity:1;transform:translate(-50%,0)}
.rp-link{flex:0 0 38px;position:relative;align-self:center;height:2px;background:repeating-linear-gradient(90deg,#CCBDF4 0 6px,transparent 6px 11px)}
.rp-link::after{content:"";position:absolute;right:-2px;top:-4px;border:5px solid transparent;border-left-color:#6D3BEB}
.rp-link i{position:absolute;top:-3px;left:0;width:8px;height:8px;border-radius:50%;background:#6D3BEB;box-shadow:0 0 0 3px rgba(109,59,235,.18);animation:rpDot 1.8s linear infinite}
.rid-pipe>.rp-link:nth-child(4) i{animation-delay:.9s}
@keyframes rpDot{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 8px);opacity:0}}

/* ---------- 2. decision demo as a flow chart ---------- */
#flowSteps{display:block !important;list-style:none;margin:0;padding:0}
.fc{display:flex;flex-direction:column;align-items:center;width:100%}
.fc-row{display:flex;justify-content:center;gap:18px;width:100%}
.fc-node{flex:0 1 300px;min-width:0;background:#FFFFFF;border-radius:18px;padding:14px 16px;display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;
  box-shadow:0 14px 34px rgba(8,4,20,.28);opacity:0;transform:translateY(10px) scale(.97);animation:fcIn .45s ease forwards;animation-delay:var(--d,0s);outline:2px solid transparent;outline-offset:3px}
.fc-node .n{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:700 .85rem/1 Inter,sans-serif;color:#1F1147;border:2px solid #6D3BEB}
.fc-node b{display:block;font:700 .95rem/1.25 Inter,sans-serif;color:#1F1147}
.fc-node small{display:block;font:500 .78rem/1.35 Inter,sans-serif;color:#5F5872}
.fc-node em{font:600 1.25rem/1 Lora,Georgia,serif;font-style:normal;white-space:nowrap}
.fc-node em.up{color:#16A34A}.fc-node em.down{color:#6D3BEB}
.fc-node.lit{animation:fcIn .45s ease forwards,fcLit 1.1s ease;animation-delay:var(--d,0s),calc(var(--d,0s) + .35s);}
@keyframes fcIn{to{opacity:1;transform:none}}
@keyframes fcLit{0%{outline-color:rgba(169,139,255,0)}35%{outline-color:rgba(169,139,255,.95)}100%{outline-color:rgba(169,139,255,0)}}
.fc-conn{width:100%;height:42px;display:block;opacity:0;animation:fcIn .3s ease forwards;animation-delay:var(--d,0s)}
.fc-conn path{fill:none;stroke:#A98BFF;stroke-width:2;stroke-dasharray:5 6;vector-effect:non-scaling-stroke;animation:fcDash 1.2s linear infinite}
.fc-conn .tip{fill:#A98BFF}
@keyframes fcDash{to{stroke-dashoffset:-22}}
.fc-legend{margin-top:14px;text-align:center;font:500 .8rem/1.4 Inter,sans-serif;color:#E8E2F7}

/* ---------- 3. "Find your path" decision tree (FAQ) ---------- */
.pathfinder{background:#FFFFFF;border:1px solid #E4DCFA;border-radius:22px;padding:28px 28px 26px;margin:0 0 40px;box-shadow:0 14px 34px rgba(31,17,71,.08)}
.pf-q{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.pf-q .rp-k{margin:0;background:#6D3BEB}
.pf-q h3{margin:0;font:600 1.35rem/1.2 Lora,Georgia,serif;color:#1F1147}
.pf-opts{display:flex;flex-wrap:wrap;gap:10px;position:relative;padding-left:20px;border-left:2px dashed #D7CCF6;margin-left:13px}
.pf-opt{font:600 .92rem/1.2 Inter,sans-serif;color:#1F1147;background:#F6F3FF;border:1.5px solid #DDD2FA;border-radius:999px;padding:11px 16px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.pf-opt:hover{border-color:#6D3BEB}
.pf-opt.on{background:linear-gradient(90deg,#6D3BEB,#6D3BEB);color:#fff;border-color:transparent}
.pf-out{margin:16px 0 0 13px;padding-left:20px;border-left:2px dashed #D7CCF6;display:none}
.pf-out.show{display:block;animation:fcIn .4s ease forwards;opacity:0}
.pf-path{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 14px}
.pf-step{background:#FFFFFF;border:1.5px solid #D1C3F7;border-radius:12px;padding:9px 12px;font:600 .88rem/1.2 Inter,sans-serif;color:#1F1147;opacity:0;animation:fcIn .35s ease forwards;animation-delay:var(--d,0s)}
.pf-arrow{color:#6D3BEB;font-weight:700;opacity:0;animation:fcIn .3s ease forwards;animation-delay:var(--d,0s)}
.pf-out p{margin:0 0 12px;color:#1F1147;font-size:.95rem}
.pf-links{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.pf-links a.pf-faq{font:600 .88rem/1.3 Inter,sans-serif;color:#5A2DD0;text-decoration:none;border-bottom:1px dashed #B29BF0}
.pf-links a.pf-faq:hover{color:#1F1147}
.faq details.pf-hit{animation:fcLitBg 1.6s ease}
@keyframes fcLitBg{0%{background:rgba(109,59,235,.0)}30%{background:rgba(109,59,235,.10)}100%{background:rgba(109,59,235,0)}}

/* ---------- 4a. approach line fills as the slide arrives ---------- */
.stages::before{transform-origin:left center;transform:scaleX(0);transition:transform 1.6s cubic-bezier(.22,.61,.36,1)}
#approach.in .stages::before{transform:scaleX(1)}

/* ---------- 4b. scroll progress rail ---------- */
.rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:66;display:flex;flex-direction:column;align-items:center;gap:14px;padding:10px 0}
.rail::before{content:"";position:absolute;top:10px;bottom:10px;left:50%;width:2px;transform:translateX(-50%);background:#E4DCFA;border-radius:2px}
.rail::after{content:"";position:absolute;top:10px;left:50%;width:2px;transform:translateX(-50%);height:calc((100% - 20px) * var(--p,0));background:linear-gradient(180deg,#6D3BEB,#6D3BEB,#6D3BEB);border-radius:2px}
.rail a{position:relative;z-index:1;width:10px;height:10px;border-radius:50%;background:#FFFFFF;border:2px solid #CCBDF4;transition:transform .2s,border-color .2s,background .2s}
.rail a.on{background:#6D3BEB;border-color:#6D3BEB;transform:scale(1.25)}
.rail a span{position:absolute;right:18px;top:50%;transform:translateY(-50%);white-space:nowrap;font:600 .74rem/1 Inter,sans-serif;color:#1F1147;background:#FFFFFF;border:1px solid #E4DCFA;border-radius:8px;padding:5px 8px;opacity:0;pointer-events:none;transition:opacity .2s}
.rail a:hover span{opacity:1}
@media (max-width:1100px){.rail{display:none}}

/* ---------- phones ---------- */
@media (max-width:600px){
  .rid-pipe{flex-wrap:nowrap;margin:18px 0 22px}
  .rp-node{padding:10px}.rp-node small{display:none}.rp-node b{font-size:.82rem}
  .rp-link{flex-basis:18px}
  .rp-tip{width:180px}
  .fc-row{flex-direction:column;align-items:center;gap:10px}
  .fc-node{flex-basis:auto;width:100%;max-width:340px}
  .pathfinder{padding:20px 18px}
}
@media (prefers-reduced-motion:reduce){
  .rp-link i,.fc-conn path{animation:none}
  .fc-node,.fc-conn,.pf-step,.pf-arrow,.pf-out.show{animation:none;opacity:1;transform:none}
  .stages::before{transform:none;transition:none}
}



/* =====================================================================
   LOGO 10 REBRAND: new "ai" mark, indigo landing block, dot-purple accent
   ===================================================================== */
.brand{flex-direction:row !important;align-items:center;gap:10px}
.brand-txt{display:flex;flex-direction:column;gap:2px}
.logo-mark{flex:none;color:#1F1147;--logo-dot:#6D3BEB}
.logo-word{font-family:"Plus Jakarta Sans",system-ui,sans-serif !important;font-weight:400 !important;letter-spacing:-.4px;color:#1F1147 !important}
.logo-word .rid,header.nav .logo-word .rid{font-weight:800;background:none !important;color:inherit !important;-webkit-text-fill-color:currentColor}
.logo-tag{background:none !important;color:#6D3BEB !important;-webkit-text-fill-color:#6D3BEB}
.foot-brand{display:flex;align-items:center;gap:12px}
.foot-brand .logo-mark{width:40px;height:40px}
footer.footer .logo-word .rid{background:none !important;-webkit-text-fill-color:currentColor}
footer.footer .logo-word{color:var(--foot-logo,#1F1147) !important}

main>section.hero.hero-light:not(#_){background:#1F1147 !important;background-image:none !important;color:#FFFFFF}
main>section.hero.hero-light:not(#_) .network{opacity:.8}
main>section.hero.hero-light:not(#_) .eyebrow{color:#A98BFF !important}
main>section.hero.hero-light:not(#_) h1 .c-r,main>section.hero.hero-light:not(#_) h1 .c-i{color:#FFFFFF !important}
main>section.hero.hero-light:not(#_) h1 em.c-d{background:none !important;background-image:none !important;color:#A98BFF !important;-webkit-text-fill-color:#A98BFF}
main>section.hero.hero-light:not(#_) .hero-tagline{color:#FFFFFF !important}
main>section.hero.hero-light:not(#_) .hero-tagline span{background:none !important;color:#A98BFF !important;-webkit-text-fill-color:#A98BFF}
main>section.hero.hero-light:not(#_) .lead,main>section.hero.hero-light:not(#_) .lead b{color:#DDD6F3 !important}
main>section.hero.hero-light:not(#_) .btn-bronze{background:#A98BFF !important;color:#1F1147 !important;box-shadow:none !important}
main>section.hero.hero-light:not(#_) .btn-bronze:hover{background:#BBA3FF !important}
main>section.hero.hero-light:not(#_) .btn-link,main>section.hero.hero-light:not(#_) .btn-link span{color:#FFFFFF !important}
main>section.hero.hero-light:not(#_) .partners>span:first-child{color:#A98BFF !important}
main>section.hero.hero-light:not(#_) .partners .chip{background:transparent !important;color:#DDD6F3 !important;border-color:#43347A !important;filter:none}
main>section.hero.hero-light:not(#_) .partners .ph{color:#6E5530}
footer.footer{--foot-logo:#FFFFFF}
footer.footer .logo-word .rid{color:#FFFFFF !important;-webkit-text-fill-color:#FFFFFF}
footer.footer .logo-mark{color:#FFFFFF;--logo-dot:#A98BFF}
footer.footer .logo-tag{color:#A98BFF !important;-webkit-text-fill-color:#A98BFF}
@media (max-width:900px){main>section.hero.hero-light:not(#_) .network{opacity:.4}}

/* ---- hero: white page with the copy in a deep indigo panel (owner request) ---- */
main>section.hero.hero-light:not(#_){background:#FFFFFF !important;padding:12px 0 48px;min-height:0;color:#1F1147}
main>section.hero.hero-light:not(#_) .network{opacity:1}
main>section.hero.hero-light:not(#_) h1{font-size:clamp(2.5rem,5.2vw,4.4rem)}
.hero-light .hero-inner>.hero-panel{max-width:700px;background:#1F1147;color:#FFFFFF;border-radius:24px;padding:40px 48px 36px;box-shadow:0 24px 60px rgba(31,17,71,.18)}
.hero-panel>*{max-width:600px}
.hero-panel .hero-cta{margin:26px 0 0}
@media (max-width:900px){main>section.hero.hero-light:not(#_) .network{opacity:.35}}
@media (max-width:600px){
  main>section.hero.hero-light:not(#_){padding:16px 0 32px}
  .hero-light .hero-inner>.hero-panel{padding:32px 20px 28px;border-radius:20px}
}

/* ---- hero: panel ends after the R/I/D boxes; buttons and platforms sit on white (owner request) ---- */
.hero-light .hero-inner>.hero-panel{padding:40px 48px 40px}
.hero-panel .rid-pipe{margin-bottom:0}
.hero-light .hero-inner>.hero-cta{margin:28px 0 0;max-width:700px}
.hero-light .hero-inner>.partners{margin-top:28px;max-width:700px}
main>section.hero.hero-light:not(#_) .hero-inner>.hero-cta .btn-bronze{background:#6D3BEB !important;color:#FFFFFF !important;box-shadow:0 10px 26px rgba(109,59,235,.34) !important}
main>section.hero.hero-light:not(#_) .hero-inner>.hero-cta .btn-bronze:hover{background:#5A2DD0 !important}
main>section.hero.hero-light:not(#_) .hero-inner>.hero-cta .btn-link{color:#1F1147 !important}
main>section.hero.hero-light:not(#_) .hero-inner>.hero-cta .btn-link span{color:#6D3BEB !important}
main>section.hero.hero-light:not(#_) .partners>span:first-child{color:#6D3BEB !important}
main>section.hero.hero-light:not(#_) .partners .chip{background:#FFFFFF !important;color:#1F1147 !important;border-color:#D7CCF6 !important}
@media (max-width:600px){.hero-light .hero-inner>.hero-panel{padding:32px 20px 28px}}

/* ---- headline, who we are and assessment offer ---- */
main>section.hero.hero-light:not(#_) h1.hero-h1-new{font-size:clamp(2.3rem,5vw,4rem) !important;line-height:1.08}
main>section.hero.hero-light:not(#_) h1.hero-h1-new span,main>section.hero.hero-light:not(#_) h1.hero-h1-new em{display:block}
.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.member{display:flex;flex-direction:column;gap:6px;min-width:0}
.member h3,.member p{margin:0}
.avatar{width:96px;height:96px;border-radius:50%;background:#F2EEFF;color:#5A2DD0;display:grid;place-items:center;font-size:1.5rem;font-weight:700;margin-bottom:10px}
.member .role{color:#6D3BEB;font-weight:600;font-size:.9rem}
.offer-list{list-style:none;margin:22px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;text-align:left}
.offer-list li{display:flex;flex-direction:column;gap:2px;padding-top:12px;border-top:2px solid #6D3BEB;min-width:0}
.offer-list b{color:#1F1147}
.offer-list span{font-size:.88rem;color:#4A4266;line-height:1.4}
@media (max-width:760px){.team,.offer-list{grid-template-columns:minmax(0,1fr)}.sticky-cta{font-size:.92rem}}

/* ---- logo and landing block aligned to the left edge of the page (owner request) ---- */
header.nav .nav-inner,main>section.hero .hero-inner{max-width:none;margin:0;padding-left:clamp(20px,3vw,48px);padding-right:clamp(20px,3vw,48px)}

/* ---- landing panel wider and shorter (owner request) ---- */
.hero-light .hero-panel>*{max-width:none}
@media (min-width:961px){
  .hero-light .hero-inner>.hero-panel{width:min(1000px,68vw);max-width:none;padding:36px 48px}
  main>section.hero.hero-light:not(#_) h1.hero-h1-new{font-size:clamp(2.3rem,3.6vw,3.6rem) !important}
}

/* ---- centred light-purple ribbon under the hero: buttons and platforms (owner request) ---- */
main>section.hero.hero-light:not(#_){padding-bottom:32px}
.hero-ribbon{background:#F3EEFF;border-top:1px solid #E4DCFA;border-bottom:1px solid #E4DCFA;padding:28px 20px;text-align:center;position:relative}
.hero-ribbon .hero-cta{justify-content:center;align-items:center;margin:0}
.hero-ribbon .partners{justify-content:center;margin:20px 0 0}
.hero-ribbon .partners>span:first-child{color:#5A2DD0;text-align:center}
.hero-ribbon .partners .chip{background:#FFFFFF;color:#1F1147;border-color:#D7CCF6;filter:none}

/* ---- more air between the header and the landing panel (owner request) ---- */
@media (min-width:961px){main>section.hero.hero-light:not(#_){padding-top:44px}}

/* ---- landing panel full width with the network inside it (owner chose option A) ---- */
@media (min-width:961px){
  .hero-light .hero-inner>.hero-panel{width:100%}
  .hero-light .hero-panel>*{max-width:min(900px,62%)}
  .hero-light .network{z-index:2}
  .hero-light .hero-inner{z-index:1}
}
@media (max-width:960px){.hero-light .network{display:none}}
@media (min-width:961px) and (max-width:1100px){
  .nav-links{gap:12px}
  .nav-links a{font-size:.82rem;white-space:nowrap}
  .nav-links .btn{padding:9px 14px}
}
