/* ============================================================
   MORTGAGE & REAL ESTATE industry page · page-specific styles.
   All selectors scoped mre-* (D32). Shared components come from
   styles.css (tokens, bloom, eyebrow, sec-intro, reveal/rise,
   header/footer, final-cta).
   ============================================================ */

/* ---------- icon vocabulary (scoped .mre-ic) ---------- */
.mre-ic{display:block;overflow:visible}
.mre-ic .ib{stroke:#5E7A99;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
.mre-ic .id{stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
.mre-ic .ic{stroke:var(--cyan);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
.mre-ic .iy{stroke:var(--yellow);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
.section.light .mre-ic .ib{stroke:#7E93AC}

/* ---------- 01 · hero + pipeline signal ---------- */
.page-hero{padding:170px 0 90px;position:relative;overflow:hidden;text-align:center}
.page-hero-inner{position:relative}
.page-hero .h-hero{font-size:clamp(40px,4.6vw,62px);max-width:960px;margin:0 auto}
.page-hero .hero-sub{margin:26px auto 0;max-width:720px}
.page-hero .hero-cta{justify-content:center}
.mre-hero-note{margin:18px auto 0;font-size:13px;font-weight:600;color:var(--muted-gray)}

.mre-lms{max-width:1000px;margin:64px auto 0}
.mre-lms > svg{width:100%;height:auto;display:block;overflow:visible}
.mre-lms .src rect{fill:rgba(12,29,51,.85);stroke:rgba(34,55,80,1);stroke-width:1.3}
.mre-lms .src text{fill:#B8C2CF;font-size:12px;font-weight:800;letter-spacing:.14em;text-anchor:middle;font-family:inherit}
.mre-lms .lane{fill:none;stroke:rgba(34,55,80,1);stroke-width:1.6}
.mre-lms .pulse{fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:12 88;stroke-dashoffset:112;opacity:0}
.mre-lms .hub rect{fill:rgba(5,8,13,.55);stroke:rgba(25,198,244,.45);stroke-width:1.4}
.mre-lms .hub text{fill:var(--white);font-size:15px;font-weight:800;letter-spacing:.14em;text-anchor:middle;font-family:inherit}
.mre-lms .track{fill:none;stroke:rgba(34,55,80,1);stroke-width:1.6}
.mre-lms .travel{fill:none;stroke:var(--cyan);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:5 95;stroke-dashoffset:100;animation:mreTravel 12s linear infinite 2.8s}
@keyframes mreTravel{to{stroke-dashoffset:0}}
.mre-lms .st rect{fill:rgba(12,29,51,.85);stroke:rgba(34,55,80,1);stroke-width:1.2}
.mre-lms .st text{fill:#8FA3BB;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-anchor:middle;font-family:inherit}
.mre-lms .st.rev rect{stroke:rgba(255,213,31,.55)}
.mre-lms .st.rev text{fill:var(--yellow)}
.mre-lms .cap{fill:#5E6E85;font-size:9px;font-weight:800;letter-spacing:.16em;text-anchor:middle;font-family:inherit}
.mre-lms .mi{stroke:#7C93AE;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.mre-lms .mi.cy{stroke:rgba(25,198,244,.85)}
.mre-lms .mi.y{stroke:var(--yellow)}
/* one-time convergence, then a slow travel loop along the rail */
.mre-lms .pulse{animation:mrePulse 1s ease-in-out .7s forwards}
.mre-lms .pulse.p2{animation-delay:.85s}
.mre-lms .pulse.p3{animation-delay:1s}
.mre-lms .pulse.p4{animation-delay:1.15s}
.mre-lms .pulse.pd{stroke:var(--cyan);animation-delay:1.7s}
@keyframes mrePulse{0%{opacity:1;stroke-dashoffset:112}88%{opacity:1}100%{opacity:0;stroke-dashoffset:-12}}
.mre-lms .hub rect{stroke:rgba(34,55,80,1);animation:mreHub .5s ease 1.5s forwards}
@keyframes mreHub{to{stroke:rgba(25,198,244,.55)}}
.mre-lms .st{opacity:.45;animation:mreSt .4s ease forwards}
.mre-lms .st.s1{animation-delay:2.2s}
.mre-lms .st.s2{animation-delay:2.38s}
.mre-lms .st.s3{animation-delay:2.56s}
.mre-lms .st.s4{animation-delay:2.74s}
.mre-lms .st.s5{animation-delay:2.92s}
.mre-lms .st.s6{animation-delay:3.1s}
.mre-lms .st.s7{animation-delay:3.28s}
@keyframes mreSt{to{opacity:1}}
.mre-lms-m{display:none}

/* ---------- 02 · who we serve ---------- */
.mre-serve-band{position:relative;padding:116px 0 104px;
  background:linear-gradient(180deg,#071426 0%,#0C1D33 100%);
  border-top:1px solid rgba(34,55,80,.8)}
.mre-serve-band::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(680px,80%);height:180px;pointer-events:none;
  background:radial-gradient(50% 100% at 50% 0%,rgba(25,198,244,.06),transparent 75%)}
.mre-serve{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin:54px auto 0;max-width:860px}
.mre-serve .bloom{padding:28px 26px 24px;text-align:center}
.mre-serve .mre-ic{width:44px;height:44px;margin:0 auto}
.mre-serve h3{font-size:15.5px;color:var(--white);margin:14px 0 0;letter-spacing:-0.005em}
.mre-serve-note{margin-top:26px;text-align:center;font-size:13px;line-height:1.65;color:var(--muted-gray);max-width:780px;margin-left:auto;margin-right:auto}
@media (hover:hover) and (pointer:fine){
  .mre-serve .bloom .mi2{transform-origin:center;transform-box:fill-box}
  .mre-serve .bloom:hover .mi2.draw{stroke-dasharray:100;stroke-dashoffset:100;animation:mreIcDraw .55s ease forwards}
  .mre-serve .bloom:hover .mi2.pulse2{animation:mreIcPulse .55s ease}
}
@keyframes mreIcDraw{to{stroke-dashoffset:0}}
@keyframes mreIcPulse{50%{transform:scale(1.12)}}

/* ---------- 03 · where growth breaks ---------- */
.mre-prob{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:54px}
.mre-prob .bloom{padding:26px 24px 24px}
.mre-prob .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.mre-prob .card-head .mre-ic{width:28px;height:28px;flex:none}
.mre-prob .num{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--blue)}
.mre-prob h3{font-size:17px;color:#182536;margin:10px 0 8px;letter-spacing:-0.01em}
.mre-prob p{font-size:13.5px;line-height:1.6;color:#46566A}
.mre-callout{margin-top:34px;padding:18px 22px;border-radius:var(--r-card);position:relative;font-size:16.5px;line-height:1.6;font-weight:700;background:#EEF2F6;border:1px solid #D0D9E4;color:#182536;box-shadow:0 8px 30px rgba(8,24,45,.08)}
.mre-callout::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:linear-gradient(180deg,var(--blue),var(--cyan))}

/* ---------- 04 · growth operating system (hub + quadrants) ---------- */
.mre-os{margin-top:56px;border-radius:var(--r-lg);padding:38px 34px 30px;position:relative;overflow:hidden;
  background:
    radial-gradient(620px 320px at 50% 40%,rgba(25,198,244,.06),transparent 70%),
    linear-gradient(168deg,#0C1D33 0%,#071426 100%);
  border:1px solid #223750;box-shadow:0 16px 44px rgba(8,24,45,.25)}
.mre-os-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,24%,260px) minmax(0,1fr);grid-template-areas:"q1 hub q2" "q3 hub q4";gap:26px 44px}
.mre-os-hub{grid-area:hub;position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:26px 16px;border-radius:14px;
  background:rgba(5,8,13,.55);border:1px solid rgba(25,198,244,.18)}
.mre-os-hub .core{width:56px;height:56px;margin:0 auto 14px}
.mre-os-hub b{font-size:13.5px;font-weight:800;letter-spacing:.14em;color:var(--white);line-height:1.5}
.mre-os-hub span{margin-top:7px;font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--cyan)}
.mre-os-q{position:relative;padding:18px 18px 16px;border-radius:12px;background:rgba(12,29,51,.85);border:1px solid rgba(34,55,80,1)}
.mre-os-q.q1{grid-area:q1}.mre-os-q.q2{grid-area:q2}.mre-os-q.q3{grid-area:q3}.mre-os-q.q4{grid-area:q4}
.mre-os-q .qhead{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.mre-os-q .qhead .mre-ic{width:22px;height:22px;flex:none}
.mre-os-q .qhead b{font-size:11px;font-weight:800;letter-spacing:.13em;color:#DCE4EE}
.mre-os-q ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.mre-os-q li{position:relative;padding-left:14px;font-size:12px;font-weight:700;color:#8FA3BB;line-height:1.45}
.mre-os-q li::before{content:"";position:absolute;left:0;top:6px;width:5px;height:5px;border-radius:50%;background:rgba(22,119,255,.8)}
.mre-os-q li.rev{color:var(--yellow)}
.mre-os-q li.rev::before{background:var(--yellow)}
.mre-os-q::after{content:"";position:absolute;top:50%;margin-top:-1px;width:44px;height:2px;background:linear-gradient(90deg,rgba(22,119,255,.12),rgba(25,198,244,.5))}
.mre-os-q.q1::after,.mre-os-q.q3::after{right:-44px}
.mre-os-q.q2::after,.mre-os-q.q4::after{left:-44px;transform:scaleX(-1)}
.mre-os .sig{position:absolute;top:50%;margin-top:-3px;width:6px;height:6px;border-radius:50%;background:var(--cyan);opacity:0;box-shadow:0 0 8px rgba(25,198,244,.8)}
.mre-os-q.q1 .sig,.mre-os-q.q3 .sig{right:-8px}
.mre-os-q.q2 .sig{left:-8px}
.mre-os-q.q4 .sig{left:-42px}
.mre-os-pi{margin-top:26px;padding:14px 18px;border-radius:9px;border:1px dashed rgba(25,198,244,.45);text-align:center}
.mre-os-pi b{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--cyan)}
.mre-os-pi span{display:block;margin-top:5px;font-size:12.5px;font-weight:700;color:#8FA3BB}
/* one-time activation: hub first, then quadrants illuminate, then connector signals */
.mre-os .mre-os-hub{opacity:.4}
.mre-os.reveal.in .mre-os-hub{animation:mreOsHub .6s ease .1s forwards}
@keyframes mreOsHub{to{opacity:1;border-color:rgba(25,198,244,.55);box-shadow:0 0 36px rgba(25,198,244,.14)}}
.mre-os .mre-os-q{opacity:.35}
.mre-os.reveal.in .mre-os-q.q1{animation:mreOn .5s ease .5s forwards}
.mre-os.reveal.in .mre-os-q.q2{animation:mreOn .5s ease .66s forwards}
.mre-os.reveal.in .mre-os-q.q3{animation:mreOn .5s ease .82s forwards}
.mre-os.reveal.in .mre-os-q.q4{animation:mreOn .5s ease .98s forwards}
.mre-os-q::after{opacity:0}
.mre-os.reveal.in .mre-os-q::after{animation:mreOn .5s ease 1.15s forwards}
.mre-os.reveal.in .mre-os-q.q1 .sig{animation:mreSigIn .9s ease 1.5s}
.mre-os.reveal.in .mre-os-q.q2 .sig{animation:mreSigInL .9s ease 1.65s}
.mre-os.reveal.in .mre-os-q.q3 .sig{animation:mreSigIn .9s ease 1.8s}
.mre-os.reveal.in .mre-os-q.q4 .sig{animation:mreSigOut .9s ease 2s}
@keyframes mreSigIn{0%{opacity:0;transform:translateX(0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(38px)}}
@keyframes mreSigInL{0%{opacity:0;transform:translateX(0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(-38px)}}
@keyframes mreSigOut{0%{opacity:0;transform:translateX(0)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(38px)}}
@keyframes mreOn{to{opacity:1}}

/* ---------- 05 · what we build ---------- */
.mre-build{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:54px}
.mre-build .bloom{padding:28px 28px 26px}
.mre-build .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.mre-build .card-head .mre-ic{width:36px;height:36px;flex:none}
.mre-build .num{font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--blue)}
.mre-build h3{font-size:19px;color:#182536;margin:10px 0 8px;letter-spacing:-0.01em}
.mre-build .sup{font-size:14px;line-height:1.6;color:#46566A}
.mre-build .caps{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.mre-build .caps span{font-size:12px;font-weight:700;color:#134A9E;padding:6px 11px;border-radius:7px;background:rgba(22,119,255,.06);border:1px solid rgba(22,119,255,.3)}

/* ---------- 06 · pipeline economics ---------- */
.mre-eq{margin-top:54px;border-radius:var(--r-lg);padding:38px 30px 32px;position:relative;overflow:hidden;
  background:linear-gradient(168deg,#0C1D33 0%,#071426 100%);border:1px solid #223750;box-shadow:0 16px 44px rgba(8,24,45,.25)}
.mre-eq-row{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:10px}
.mre-eq-t{flex:1;min-width:0;text-align:center;padding:15px 6px;border-radius:9px;background:rgba(12,29,51,.85);border:1px solid rgba(34,55,80,1);
  font-size:10.5px;font-weight:800;letter-spacing:.08em;color:#B8C2CF}
.mre-eq-t.res{border-color:rgba(255,213,31,.5);color:var(--yellow)}
.mre-eq-op{flex:none;font-size:18px;font-weight:800;color:#5E7A99}
.mre-eq-op.eq{color:var(--cyan)}
.mre-eq-note{margin-top:24px;text-align:center;font-size:15.5px;font-weight:700;color:var(--white)}
.mre-eq .mre-eq-t{opacity:.45}
.mre-eq.reveal.in .mre-eq-t{animation:mreOn .4s ease forwards}
.mre-eq.reveal.in .mre-eq-t:nth-of-type(1){animation-delay:.1s}
.mre-eq.reveal.in .mre-eq-t:nth-of-type(3){animation-delay:.28s}
.mre-eq.reveal.in .mre-eq-t:nth-of-type(5){animation-delay:.46s}
.mre-eq.reveal.in .mre-eq-t:nth-of-type(7){animation-delay:.64s}
.mre-eq.reveal.in .mre-eq-t:nth-of-type(9){animation-delay:.82s}
.mre-eq.reveal.in .mre-eq-t:nth-of-type(11){animation-delay:1.05s}

/* ---------- 07 · two transaction paths ---------- */
.mre-paths{margin-top:54px;display:grid;gap:18px}
.mre-lane{padding:20px 22px 18px;border-radius:var(--r-card);background:#EEF2F6;border:1px solid #D0D9E4;box-shadow:0 8px 30px rgba(8,24,45,.08)}
.mre-paths .lane-tag{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:800;letter-spacing:.16em;color:#134A9E;margin-bottom:14px}
.mre-paths .lane-tag .mre-ic{width:18px;height:18px;flex:none}
.mre-lane-row{display:flex;align-items:center;flex-wrap:nowrap;gap:8px}
.mre-lstep{flex:1;min-width:0;text-align:center;padding:11px 6px;border-radius:8px;background:#FFFFFF;border:1px solid #D0D9E4;
  font-size:10px;font-weight:800;letter-spacing:.07em;color:#46566A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mre-lstep.end{border-color:rgba(226,180,0,.55);color:#7A5E00;background:rgba(255,213,31,.12);flex:1.4}
.mre-larr{flex:none;width:12px;height:2px;position:relative;background:#B9C6D6}
.mre-larr::after{content:"";position:absolute;right:-1px;top:-3px;width:6px;height:6px;border-top:1.8px solid #9FB0C5;border-right:1.8px solid #9FB0C5;transform:rotate(45deg) scale(.6)}
.mre-shared{padding:18px 22px;border-radius:var(--r-card);background:rgba(22,119,255,.05);border:1px dashed rgba(22,119,255,.4)}
.mre-shared .lane-tag{color:#0B6E8F}
.mre-shared .mre-lstep{background:#F5FBFE;border-color:rgba(25,198,244,.4);color:#0B6E8F}
.mre-paths-note{margin-top:22px;font-size:12.5px;line-height:1.6;color:#5E6E85;max-width:760px}

/* ---------- 08 · what we measure (dark) ---------- */
.mre-metrics{display:grid;grid-template-columns:minmax(0,5fr) 60px minmax(0,5fr);gap:22px;align-items:stretch;margin-top:54px}
.mre-mcol{padding:26px 26px 24px}
.mre-mcol h3{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px}
.mre-mcol.trad h3{color:#7C8DA3}
.mre-mcol.op h3{color:#7FB0FF}
.mre-mcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.mre-mcol li{font-size:13.5px;font-weight:700;padding:10px 14px;border-radius:8px}
.mre-mcol.trad li{color:#7C8DA3;background:rgba(94,110,133,.12);border:1px solid rgba(34,55,80,.9)}
.mre-mcol.op li{color:#B8D4FF;background:rgba(22,119,255,.1);border:1px solid rgba(22,119,255,.35)}
.mre-mcol.op li.rev{color:var(--yellow);background:rgba(255,213,31,.08);border-color:rgba(255,213,31,.45)}
.mre-marr{display:flex;align-items:center;justify-content:center}
.mre-marr span{width:34px;height:2px;position:relative;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.mre-marr span::after{content:"";position:absolute;right:-1px;top:-4px;width:9px;height:9px;border-top:2px solid var(--cyan);border-right:2px solid var(--cyan);transform:rotate(45deg) scale(.7)}
.mre-metrics-note{margin-top:26px;max-width:760px;font-size:14.5px;line-height:1.65;color:var(--light-gray)}

/* ---------- 09 · database ecosystem (orbital) ---------- */
.mre-db{margin-top:56px;border-radius:var(--r-lg);padding:34px 30px 26px;position:relative;overflow:hidden;
  background:
    radial-gradient(640px 360px at 50% 45%,rgba(22,119,255,.07),transparent 70%),
    linear-gradient(168deg,#0C1D33 0%,#071426 100%);
  border:1px solid #223750;box-shadow:0 16px 44px rgba(8,24,45,.25)}
.mre-db > svg{display:block;width:100%;height:auto}
.mre-db .orbit{stroke:rgba(34,55,80,.95);stroke-width:1.5;stroke-dasharray:4 8;fill:none}
.mre-db .link{stroke:rgba(22,119,255,.32);stroke-width:1.5;fill:none}
.mre-db .node rect{fill:rgba(12,29,51,.92);stroke:rgba(34,55,80,1)}
.mre-db .node text{fill:#B8C2CF;font:800 12.5px Manrope,system-ui,sans-serif;letter-spacing:.09em;text-anchor:middle}
.mre-db .node .dot{fill:rgba(25,198,244,.85)}
.mre-db .hubg .panel{fill:rgba(5,8,13,.6);stroke:rgba(25,198,244,.5);stroke-width:1.4}
.mre-db .hubg .div{stroke:rgba(25,198,244,.25);stroke-width:1}
.mre-db .hubg .ava{stroke:var(--cyan);stroke-width:1.6;fill:none}
.mre-db .hubg .row{stroke:#3E5875;stroke-width:2;stroke-linecap:round}
.mre-db .hubg .row2{stroke:#2C4463;stroke-width:2;stroke-linecap:round}
.mre-db .hubg .lbl{fill:#FFFFFF;font:800 15px Manrope,system-ui,sans-serif;letter-spacing:.18em;text-anchor:middle}
.mre-db .react{stroke:var(--cyan);stroke-width:2.2;fill:none}
.mre-db .react.arc{stroke-dasharray:100;stroke-dashoffset:100}
.mre-db .react-lbl{fill:var(--cyan);font:800 11px Manrope,system-ui,sans-serif;letter-spacing:.16em;text-anchor:middle}
.mre-db .fut rect{fill:rgba(255,213,31,.09);stroke:rgba(255,213,31,.55)}
.mre-db .fut text{fill:var(--yellow);font:800 12.5px Manrope,system-ui,sans-serif;letter-spacing:.1em;text-anchor:middle}
.mre-db .fut .tick{stroke:rgba(255,213,31,.55);stroke-width:1.6;fill:none}
.mre-db-note{margin-top:24px;text-align:center;font-size:14.5px;line-height:1.6;color:var(--light-gray);max-width:720px;margin-left:auto;margin-right:auto}
/* one-time activation: hub, orbit, states, then the reactivation loop draws once */
.mre-db .hubg,.mre-db .orbit,.mre-db .link,.mre-db .node,.mre-db .react-lbl,.mre-db .fut{opacity:0}
.mre-db.reveal.in .hubg{animation:mreOn .6s ease .1s forwards}
.mre-db.reveal.in .orbit{animation:mreOn .7s ease .4s forwards}
.mre-db.reveal.in .link{animation:mreOn .6s ease .6s forwards}
.mre-db.reveal.in .node{animation:mreOn .45s ease forwards}
.mre-db.reveal.in .node.n1{animation-delay:.75s}
.mre-db.reveal.in .node.n2{animation-delay:.87s}
.mre-db.reveal.in .node.n3{animation-delay:.99s}
.mre-db.reveal.in .node.n4{animation-delay:1.11s}
.mre-db.reveal.in .node.n5{animation-delay:1.23s}
.mre-db.reveal.in .node.n6{animation-delay:1.35s}
.mre-db.reveal.in .node.n7{animation-delay:1.47s}
.mre-db.reveal.in .react.arc{animation:mreDbArc 1s ease 1.7s forwards}
@keyframes mreDbArc{0%{opacity:1;stroke-dashoffset:100}100%{opacity:1;stroke-dashoffset:0}}
.mre-db .react.ah{opacity:0}
.mre-db.reveal.in .react.ah{animation:mreOn .35s ease 2.6s forwards}
.mre-db.reveal.in .react-lbl{animation:mreOn .5s ease 2.7s forwards}
.mre-db.reveal.in .fut{animation:mreOn .5s ease 2.1s forwards}
.mre-db .react.pulse{opacity:0;stroke:rgba(234,250,255,.9);stroke-width:2.6;stroke-dasharray:12 88;stroke-dashoffset:112}
.mre-db.reveal.in .react.pulse{animation:mreDbPulse 1.6s ease 3s 2}
@keyframes mreDbPulse{0%{opacity:1;stroke-dashoffset:112}90%{opacity:1}100%{opacity:0;stroke-dashoffset:-12}}
.mre-db-m{display:none}

/* ---------- 10 · partnership fit ---------- */
.mre-fit{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;margin-top:54px}
.mre-fit .bloom{padding:24px 24px 22px}
.mre-fit .card-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.mre-fit .card-head .mre-ic{width:22px;height:22px;flex:none}
.mre-fit h3{font-size:16.5px;color:#182536;margin:0;letter-spacing:-0.01em}
.mre-fit p{font-size:13.5px;line-height:1.6;color:#46566A}
.mre-fit-note{margin-top:26px;font-size:12.5px;line-height:1.6;color:#5E6E85;max-width:720px}
.mre-fit-cta{margin-top:30px}

/* ---------- 11 · why intelagent ---------- */
.mre-why{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:54px}
.mre-why .bloom{padding:26px 26px 24px}
.mre-why .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.mre-why .card-head .mre-ic{width:28px;height:28px;flex:none}
.mre-why h3{font-size:18px;color:var(--white);margin:0;letter-spacing:-0.01em}
.mre-why p{font-size:14.5px;line-height:1.65;color:var(--light-gray)}

/* ---------- 12 · final CTA + compliance note ---------- */
.mre-final-btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:40px}
.mre-final-btns .btn{margin-top:0}
.mre-legal-note{margin:34px auto 0;max-width:820px;font-size:11.5px;line-height:1.65;color:var(--muted-gray);text-align:center}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  .mre-lms .pulse,.mre-lms .travel{animation:none;display:none}
  .mre-lms .hub rect{animation:none;stroke:rgba(25,198,244,.55)}
  .mre-lms .st{animation:none;opacity:1}
  .mre-os .mre-os-hub,.mre-os.reveal.in .mre-os-hub{animation:none;opacity:1;border-color:rgba(25,198,244,.55)}
  .mre-os .mre-os-q,.mre-os.reveal.in .mre-os-q{animation:none;opacity:1}
  .mre-os-q::after,.mre-os.reveal.in .mre-os-q::after{animation:none;opacity:1}
  .mre-os .sig{display:none}
  .mre-eq .mre-eq-t,.mre-eq.reveal.in .mre-eq-t{animation:none;opacity:1}
  .mre-db .hubg,.mre-db .orbit,.mre-db .link,.mre-db .node,.mre-db .react-lbl,.mre-db .fut,
  .mre-db.reveal.in .hubg,.mre-db.reveal.in .orbit,.mre-db.reveal.in .link,.mre-db.reveal.in .node,.mre-db.reveal.in .react-lbl,.mre-db.reveal.in .fut{animation:none;opacity:1}
  .mre-db .react.arc,.mre-db.reveal.in .react.arc{animation:none;stroke-dashoffset:0}
  .mre-db .react.ah,.mre-db.reveal.in .react.ah{animation:none;opacity:1}
  .mre-db .react.pulse{display:none}
  .mre-serve .bloom:hover .mi2.draw,.mre-serve .bloom:hover .mi2.pulse2{animation:none;stroke-dasharray:none;stroke-dashoffset:0}
}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .mre-prob{grid-template-columns:1fr 1fr}
  .mre-lstep{font-size:9px;letter-spacing:.04em}
  .mre-lstep{white-space:normal;line-height:1.35}
}
@media (max-width:1024px){
  .mre-fit{grid-template-columns:1fr 1fr}
}
@media (max-width:880px){
  .mre-serve-band{padding:88px 0 78px}
  .mre-lms > svg{display:none}
  .mre-lms{margin-top:44px}
  .mre-lms-m{display:block;max-width:340px;margin:0 auto}
  .mre-lms-m .srcs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mre-lms-m .srcs span{padding:10px 8px;border-radius:9px;background:rgba(12,29,51,.85);border:1px solid rgba(34,55,80,1);font-size:10.5px;font-weight:800;letter-spacing:.12em;color:#B8C2CF;text-align:center}
  .mre-lms-m .dn{width:10px;height:10px;margin:12px auto;border-right:1.6px solid rgba(25,198,244,.8);border-bottom:1.6px solid rgba(25,198,244,.8);transform:rotate(45deg)}
  .mre-lms-m .hub{padding:14px;border-radius:var(--r-card);background:rgba(5,8,13,.5);border:1px solid rgba(25,198,244,.45);text-align:center;font-size:13px;font-weight:800;letter-spacing:.14em;color:var(--white)}
  .mre-lms-m .rail{display:grid;gap:8px}
  .mre-lms-m .rail span{padding:10px 14px;border-radius:9px;background:rgba(12,29,51,.85);border:1px solid rgba(34,55,80,1);font-size:10.5px;font-weight:800;letter-spacing:.12em;color:#8FA3BB;text-align:center}
  .mre-lms-m .rail span.rev{border-color:rgba(255,213,31,.5);color:var(--yellow)}
  .mre-serve{grid-template-columns:1fr 1fr;gap:14px}
  .mre-serve .mre-ic{width:40px;height:40px}
  .mre-build{grid-template-columns:1fr}
  .mre-why{grid-template-columns:1fr}
  .mre-metrics{grid-template-columns:1fr;gap:14px}
  .mre-marr span{width:2px;height:26px;background:linear-gradient(180deg,var(--blue),var(--cyan))}
  .mre-marr span::after{right:-4px;top:auto;bottom:-1px;transform:rotate(135deg) scale(.7)}
  .mre-os{padding:26px 18px 24px}
  .mre-os-grid{display:flex;flex-direction:column;gap:0}
  .mre-os-hub{order:-1;padding:22px 16px}
  .mre-os-q{margin-top:26px}
  .mre-os-q::after{display:none}
  .mre-os .sig{display:none}
  .mre-os-q::before{content:"";position:absolute;left:50%;margin-left:-1px;top:-15px;width:2px;height:14px;background:rgba(25,198,244,.45)}
  .mre-db{padding:24px 16px 22px}
  .mre-db > svg{display:none}
  .mre-db-m{display:block;max-width:380px;margin:0 auto}
  .mre-db-m .hub{padding:16px 18px;border-radius:var(--r-card);background:rgba(5,8,13,.55);border:1px solid rgba(25,198,244,.5)}
  .mre-db-m .hub b{display:block;text-align:center;font-size:13px;font-weight:800;letter-spacing:.18em;color:var(--white)}
  .mre-db-m .rec{display:flex;align-items:center;gap:9px;margin-top:11px}
  .mre-db-m .rec i{width:13px;height:13px;border:1.6px solid var(--cyan);border-radius:50%;flex:none}
  .mre-db-m .rec s{display:block;height:3px;border-radius:3px;background:#3E5875;text-decoration:none}
  .mre-db-m .rec .a{width:32%}
  .mre-db-m .rec .b{flex:1;background:#2C4463}
  .mre-db-m .dn{width:10px;height:10px;margin:12px auto;border-right:1.6px solid rgba(25,198,244,.8);border-bottom:1.6px solid rgba(25,198,244,.8);transform:rotate(45deg)}
  .mre-db-m .states{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .mre-db-m .states span{padding:11px 6px;border-radius:9px;background:rgba(12,29,51,.85);border:1px solid rgba(34,55,80,1);font-size:9.5px;font-weight:800;letter-spacing:.07em;color:#B8C2CF;text-align:center}
  .mre-db-m .loop{margin-top:12px;display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:9px;border:1px solid rgba(25,198,244,.5);background:rgba(25,198,244,.06)}
  .mre-db-m .loop svg{width:22px;height:22px;flex:none}
  .mre-db-m .loop p{margin:0;font-size:9.5px;font-weight:800;letter-spacing:.07em;color:var(--cyan);line-height:1.6}
  .mre-db-m .fut{margin-top:12px;padding:12px;border-radius:9px;text-align:center;border:1px solid rgba(255,213,31,.55);background:rgba(255,213,31,.08);font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--yellow)}
  .mre-eq-row{flex-direction:column;gap:8px}
  .mre-eq-t{width:100%;flex:none}
  .mre-lane-row{flex-direction:column;gap:8px}
  .mre-lstep{width:100%;flex:none;white-space:normal}
  .mre-larr{width:2px;height:12px}
  .mre-larr::after{right:-2px;top:auto;bottom:-1px;transform:rotate(135deg) scale(.6)}
}
@media (max-width:560px){
  .mre-serve-band{padding:74px 0 66px}
  .mre-serve{grid-template-columns:1fr;max-width:380px}
}
@media (max-width:720px){
  .page-hero{padding:148px 0 68px}
  .mre-prob{grid-template-columns:1fr}
  .mre-fit{grid-template-columns:1fr}
  .mre-eq{padding:26px 18px 24px}
  .mre-eq-row{flex-direction:column;gap:8px}
  .mre-eq-t{width:100%;flex:none}
  .mre-final-btns .btn{width:100%;max-width:360px}
}
