/*
 * PURO UI System 2.4.0
 * Single source of truth for the public site.
 * Header, responsive behavior, black/glass theme, clinical glow,
 * stars, forms and mobile overflow protection live here.
 */

:root{
  --puro-bg:#000;
  --puro-surface:rgba(8,9,10,.54);
  --puro-surface-strong:rgba(6,7,8,.76);
  --puro-surface-soft:rgba(255,255,255,.042);
  --puro-line:rgba(255,255,255,.10);
  --puro-line-strong:rgba(255,255,255,.15);
  --puro-text:#f7f8fb;
  --puro-text-soft:#c5ccd8;
  --puro-text-muted:#8f99a8;
  --puro-green:#50d9b1;
  --puro-blue:#68a9ff;
  --puro-header-max:960px;
  --puro-content-max:1120px;
  --puro-shadow:0 20px 54px rgba(0,0,0,.31);
}

html{
  background:var(--puro-bg)!important;
  overflow-x:hidden!important;
  max-width:100%!important;
}
body.puro-site-dark,
body.puro-home-dark,
body.puro-commercial-page{
  margin:0!important;
  padding-top:64px!important;
  min-height:100vh;
  max-width:100%!important;
  overflow-x:clip!important;
  background:#000!important;
  color:var(--puro-text)!important;
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* Hard overflow guard: no component may widen the mobile canvas. */
body.puro-site-dark *,
body.puro-home-dark *,
body.puro-commercial-page *{box-sizing:border-box;min-width:0}
body.puro-site-dark :is(main,section,header,footer,nav,aside,article,div),
body.puro-home-dark :is(main,section,header,footer,nav,aside,article,div),
body.puro-commercial-page :is(main,section,header,footer,nav,aside,article,div){max-width:100%}
body.puro-site-dark :is(img,video,canvas,iframe),
body.puro-home-dark :is(img,video,canvas,iframe),
body.puro-commercial-page :is(img,video,canvas,iframe){max-width:100%!important;height:auto}
body.puro-site-dark svg,
body.puro-home-dark svg,
body.puro-commercial-page svg{max-width:100%}

/* ---------- Shared texture ---------- */
body.puro-site-dark::before,
body.puro-home-dark::before,
body.puro-commercial-page::before{
  content:''!important;
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:.54!important;
  background-image:
    radial-gradient(1px 1px at 5% 12%,rgba(255,255,255,.92),transparent 58%),
    radial-gradient(1px 1px at 11% 28%,rgba(116,193,255,.44),transparent 58%),
    radial-gradient(1px 1px at 18% 7%,rgba(255,255,255,.72),transparent 58%),
    radial-gradient(1px 1px at 26% 43%,rgba(91,225,190,.36),transparent 58%),
    radial-gradient(1px 1px at 34% 18%,rgba(255,255,255,.66),transparent 58%),
    radial-gradient(1px 1px at 42% 73%,rgba(115,183,255,.38),transparent 58%),
    radial-gradient(1px 1px at 51% 11%,rgba(255,255,255,.86),transparent 58%),
    radial-gradient(1px 1px at 60% 36%,rgba(93,223,187,.31),transparent 58%),
    radial-gradient(1px 1px at 68% 8%,rgba(255,255,255,.68),transparent 58%),
    radial-gradient(1px 1px at 76% 61%,rgba(128,197,255,.36),transparent 58%),
    radial-gradient(1px 1px at 84% 20%,rgba(255,255,255,.82),transparent 58%),
    radial-gradient(1px 1px at 92% 44%,rgba(87,217,181,.30),transparent 58%),
    radial-gradient(1px 1px at 16% 85%,rgba(255,255,255,.60),transparent 58%),
    radial-gradient(1px 1px at 33% 68%,rgba(122,191,255,.32),transparent 58%),
    radial-gradient(1px 1px at 57% 87%,rgba(255,255,255,.76),transparent 58%),
    radial-gradient(1px 1px at 73% 80%,rgba(90,216,181,.28),transparent 58%),
    radial-gradient(1px 1px at 89% 91%,rgba(255,255,255,.70),transparent 58%)!important;
  animation:puroPointShift 12s ease-in-out infinite alternate!important;
}
body.puro-site-dark::after,
body.puro-home-dark::after,
body.puro-commercial-page::after{
  content:''!important;
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:.34!important;
  filter:drop-shadow(0 0 7px rgba(255,255,255,.34))!important;
  background-image:
    radial-gradient(2px 2px at 18% 17%,rgba(255,255,255,.96),transparent 62%),
    radial-gradient(2px 2px at 47% 14%,rgba(173,215,255,.90),transparent 62%),
    radial-gradient(2px 2px at 78% 27%,rgba(255,255,255,.94),transparent 62%),
    radial-gradient(2px 2px at 31% 77%,rgba(174,255,224,.78),transparent 62%),
    radial-gradient(2px 2px at 73% 84%,rgba(155,205,255,.82),transparent 62%)!important;
  animation:puroTwinkle 8s ease-in-out infinite alternate!important;
}
@keyframes puroPointShift{
  0%{opacity:.47;filter:hue-rotate(-5deg)}
  48%{opacity:.57;filter:hue-rotate(2deg)}
  100%{opacity:.50;filter:hue-rotate(8deg)}
}
@keyframes puroTwinkle{
  0%,18%,100%{opacity:.20}
  9%{opacity:.46}
  38%{opacity:.28}
  62%{opacity:.54}
  83%{opacity:.24}
}

/* ---------- Moving clinical glow ---------- */
body.puro-site-dark main,
body.puro-home-dark main,
body.puro-commercial-page main{
  position:relative!important;
  z-index:1!important;
  isolation:isolate;
  overflow:visible;
}
body.puro-site-dark main::before,
body.puro-home-dark main::before,
body.puro-commercial-page main::before,
body.puro-site-dark main::after,
body.puro-home-dark main::after,
body.puro-commercial-page main::after{
  content:''!important;
  position:fixed!important;
  width:38rem!important;
  height:38rem!important;
  border-radius:50%!important;
  pointer-events:none!important;
  z-index:0!important;
  filter:blur(74px)!important;
  mix-blend-mode:screen!important;
}
body.puro-site-dark main::before,
body.puro-home-dark main::before,
body.puro-commercial-page main::before{
  left:-12rem!important;
  top:12vh!important;
  opacity:.58!important;
  background:radial-gradient(circle at 40% 40%,rgba(49,225,178,.72) 0%,rgba(36,191,157,.42) 27%,rgba(47,131,235,.25) 53%,rgba(0,0,0,0) 74%)!important;
  animation:puroOrbA 22s ease-in-out infinite alternate!important;
}
body.puro-site-dark main::after,
body.puro-home-dark main::after,
body.puro-commercial-page main::after{
  right:-12rem!important;
  top:48vh!important;
  opacity:.56!important;
  background:radial-gradient(circle at 42% 42%,rgba(74,165,255,.68) 0%,rgba(55,138,235,.42) 27%,rgba(41,208,163,.27) 55%,rgba(0,0,0,0) 74%)!important;
  animation:puroOrbB 26s ease-in-out infinite alternate!important;
}
@keyframes puroOrbA{
  0%{transform:translate3d(0,0,0) scale(1)}
  20%{transform:translate3d(9vw,5vh,0) scale(1.08)}
  44%{transform:translate3d(18vw,18vh,0) scale(1.17)}
  68%{transform:translate3d(5vw,32vh,0) scale(1.07)}
  100%{transform:translate3d(18vw,54vh,0) scale(1.16)}
}
@keyframes puroOrbB{
  0%{transform:translate3d(0,0,0) scale(1.04)}
  24%{transform:translate3d(-10vw,-7vh,0) scale(1.12)}
  48%{transform:translate3d(-24vw,8vh,0) scale(1.20)}
  74%{transform:translate3d(-12vw,27vh,0) scale(1.09)}
  100%{transform:translate3d(-27vw,49vh,0) scale(1.17)}
}
body.puro-site-dark > *,
body.puro-home-dark > *,
body.puro-commercial-page > *,
body.puro-site-dark main > *,
body.puro-home-dark main > *,
body.puro-commercial-page main > *{position:relative;z-index:1}

/* ---------- One header for the whole site ---------- */
.pc-topbar.puro-site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:9999!important;
  height:64px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.pc-topbar.puro-site-header .pc-topbar-inner{
  width:min(calc(100% - 24px),var(--puro-header-max))!important;
  height:64px!important;
  margin:0 auto!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  background:rgba(5,6,7,.68)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  border-top:0!important;
  border-radius:0 0 20px 20px!important;
  box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
}
.pc-logo{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  flex:0 0 auto!important;
  color:#fff!important;
  font-weight:800!important;
  font-size:1.05rem!important;
  letter-spacing:-.02em!important;
  text-decoration:none!important;
}
.pc-logo svg{width:25px!important;height:25px!important;flex:0 0 25px!important}
.pc-desktop-nav{
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}
.pc-desktop-nav a{
  color:#f2f4f7!important;
  font-size:.78rem!important;
  font-weight:750!important;
  text-decoration:none!important;
}
.pc-desktop-nav a:hover{color:#fff!important}
.pc-top-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
.pc-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:.62rem .92rem!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.pc-btn-soft{background:rgba(255,255,255,.055)!important;color:#f5f7fa!important}
.pc-btn-primary{background:linear-gradient(135deg,rgba(27,34,39,.95),rgba(12,14,17,.96))!important;color:#fff!important;box-shadow:none!important}
.pc-btn:hover{background:rgba(255,255,255,.10)!important;color:#fff!important;transform:translateY(-1px)}
.pc-menu-button{display:none!important;width:40px!important;height:40px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.11)!important;background:rgba(255,255,255,.055)!important;padding:9px!important;cursor:pointer!important}
.pc-menu-button span{display:block!important;height:2px!important;background:#fff!important;margin:4px 0!important;border-radius:999px!important}
.pc-menu-overlay{position:fixed!important;inset:0!important;z-index:10000!important;background:rgba(0,0,0,.66)!important;backdrop-filter:blur(4px)!important;opacity:0!important;pointer-events:none!important;transition:opacity .22s ease!important}
.pc-menu-overlay.is-open{opacity:1!important;pointer-events:auto!important}
.pc-mobile-menu{
  position:fixed!important;
  top:0!important;
  right:0!important;
  z-index:10001!important;
  width:min(88vw,360px)!important;
  height:100dvh!important;
  max-height:100dvh!important;
  padding:18px!important;
  display:flex!important;
  flex-direction:column!important;
  transform:translateX(105%)!important;
  transition:transform .25s ease!important;
  background:rgba(3,4,5,.96)!important;
  border-left:1px solid rgba(255,255,255,.09)!important;
  box-shadow:-20px 0 50px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(20px) saturate(120%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(120%)!important;
  overflow:hidden!important;
}
.pc-mobile-menu.is-open{transform:translateX(0)!important}
.pc-mobile-head{display:flex!important;align-items:center!important;justify-content:space-between!important;padding-bottom:14px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.pc-mobile-head button{width:38px!important;height:38px!important;border-radius:11px!important;border:1px solid rgba(255,255,255,.09)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;font-size:1.35rem!important;cursor:pointer!important}
.pc-mobile-logo svg{width:24px!important;height:24px!important}
.pc-mobile-links{display:grid!important;gap:3px!important;padding:14px 0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
.pc-mobile-links a{display:block!important;padding:10px 9px!important;border-radius:10px!important;color:#eef2f7!important;font-size:.88rem!important;font-weight:700!important;text-decoration:none!important}
.pc-mobile-links a:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.pc-mobile-cta{margin-top:auto!important;width:100%!important;min-height:46px!important}

/* ---------- Glass system ---------- */
body.puro-site-dark :is(.pc-hero-card,.pc-base-card,.pc-base-features,.pc-plan-card,.pc-market-card,.pc-stat,.pc-demo-card,.pc-proposal-card,.pc-specialty-card,.pc-option-card,.pc-service-card,.pc-table-wrap,.pc-step,.pc-faq-item,.pc-diagnosis-box,.pc-dash-fragment,.res-card,.pos-card,.sis-card,.spec-card,.cof-card,.sem-card,.fase-card,.blog-card,.faq-item,.aeo-demo,.ciudad-card,.sys-base,.sys-card,.sys-step,.sys-steps,.princ-item,.sys-note),
body.puro-home-dark :is(.pc-hero-card,.pc-base-card,.pc-base-features,.pc-plan-card,.pc-market-card,.pc-stat,.pc-demo-card,.pc-proposal-card,.pc-specialty-card,.pc-option-card,.pc-service-card,.pc-table-wrap,.pc-step,.pc-faq-item,.pc-diagnosis-box,.pc-dash-fragment,.res-card,.pos-card,.sis-card,.spec-card,.cof-card,.sem-card,.fase-card,.blog-card,.faq-item,.aeo-demo,.ciudad-card,.sys-base,.sys-card,.sys-step,.sys-steps,.princ-item,.sys-note),
body.puro-commercial-page :is(.pc-hero-card,.pc-base-card,.pc-base-features,.pc-plan-card,.pc-market-card,.pc-stat,.pc-demo-card,.pc-proposal-card,.pc-specialty-card,.pc-option-card,.pc-service-card,.pc-table-wrap,.pc-step,.pc-faq-item,.pc-diagnosis-box,.pc-dash-fragment){
  background:var(--puro-surface)!important;
  border:1px solid var(--puro-line)!important;
  color:var(--puro-text)!important;
  box-shadow:var(--puro-shadow)!important;
  backdrop-filter:blur(18px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(128%)!important;
}
body.puro-site-dark :is(.pc-plan-top,.pc-dash-fragment-head,.pc-comparison-table th,.pc-faq-item button,.fase-head,.sis-head,.spec-card-top,.spec-card-body,.faq-q,.faq-a,.sys-base-head,.sys-base-body,.sys-card-body),
body.puro-home-dark :is(.pc-plan-top,.pc-dash-fragment-head,.pc-comparison-table th,.pc-faq-item button,.fase-head,.sis-head,.spec-card-top,.spec-card-body,.faq-q,.faq-a,.sys-base-head,.sys-base-body,.sys-card-body),
body.puro-commercial-page :is(.pc-plan-top,.pc-dash-fragment-head,.pc-comparison-table th,.pc-faq-item button){
  background:rgba(255,255,255,.028)!important;
  border-color:rgba(255,255,255,.08)!important;
}
body.puro-site-dark :is(.pc-plan-value,.pc-plan-meta span,.pc-dashboard-mini,.pc-frag-note,.pc-frag-stats div,.pc-frag-plan-items span,.pc-frag-input,.kpi,.spec-key,.cof-ref,.fase-value,.sys-card-item,.sys-card-price),
body.puro-home-dark :is(.pc-plan-value,.pc-plan-meta span,.pc-dashboard-mini,.pc-frag-note,.pc-frag-stats div,.pc-frag-plan-items span,.pc-frag-input,.kpi,.spec-key,.cof-ref,.fase-value,.sys-card-item,.sys-card-price),
body.puro-commercial-page :is(.pc-plan-value,.pc-plan-meta span,.pc-dashboard-mini,.pc-frag-note,.pc-frag-stats div,.pc-frag-plan-items span,.pc-frag-input){
  background:var(--puro-surface-soft)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  color:#e9eef5!important;
}

/* Text contrast */
body.puro-site-dark :is(h1,h2,h3,h4,strong,.fase-title,.sem-name,.faq-q,.sys-card-title,.sys-step-title,.sys-base-title,.pc-market-title,.pc-faq-item button),
body.puro-home-dark :is(h1,h2,h3,h4,strong,.fase-title,.sem-name,.faq-q,.sys-card-title,.sys-step-title,.sys-base-title,.pc-market-title,.pc-faq-item button),
body.puro-commercial-page :is(h1,h2,h3,h4,strong,.pc-market-title,.pc-faq-item button){color:var(--puro-text)!important}
body.puro-site-dark :is(p,li,small,.sec-body,.hero-sub,.res-l,.kpi-l,.pos-card p,.sis-item,.spec-card p,.cof-card p,.faq-a,.fase-micro,.sys-step-body p,.sys-step-includes span,.sys-base-tagline,.pc-fragment-disclaimer,.pc-section-heading p,.pc-plan-card p,.pc-plan-body li,.pc-step p,.pc-faq-answer,.pc-footer-grid p,.pc-footer-grid a,.pc-footer-bottom),
body.puro-home-dark :is(p,li,small,.sec-body,.hero-sub,.res-l,.kpi-l,.pos-card p,.sis-item,.spec-card p,.cof-card p,.faq-a,.fase-micro,.sys-step-body p,.sys-step-includes span,.sys-base-tagline,.pc-fragment-disclaimer,.pc-section-heading p,.pc-plan-card p,.pc-plan-body li,.pc-step p,.pc-faq-answer,.pc-footer-grid p,.pc-footer-grid a,.pc-footer-bottom),
body.puro-commercial-page :is(p,li,small,.pc-fragment-disclaimer,.pc-section-heading p,.pc-plan-card p,.pc-plan-body li,.pc-step p,.pc-faq-answer,.pc-footer-grid p,.pc-footer-grid a,.pc-footer-bottom){color:var(--puro-text-soft)!important}

/* Sections: never fall back to light mode. */
body.puro-site-dark :is(.sec-white,.sec-off,.form-section,.zero-click-def,.pc-section-soft,.pc-section-dark),
body.puro-home-dark :is(.sec-white,.sec-off,.form-section,.zero-click-def,.pc-section-soft,.pc-section-dark),
body.puro-commercial-page :is(.pc-section-soft,.pc-section-dark){background:transparent!important;border-color:rgba(255,255,255,.06)!important}
body.puro-site-dark section[style*="background:#"],
body.puro-home-dark section[style*="background:#"]{background:transparent!important}

/* Subtle gradient bullets/checks. */
body.puro-site-dark :is(.fase-list li::before,.sis-item::before,.pc-hero-list li::before,.pc-base-features li::before,.pc-plan-body li::before),
body.puro-home-dark :is(.fase-list li::before,.sis-item::before,.pc-hero-list li::before,.pc-base-features li::before,.pc-plan-body li::before),
body.puro-commercial-page :is(.pc-hero-list li::before,.pc-base-features li::before,.pc-plan-body li::before){
  background:linear-gradient(135deg,var(--puro-green),var(--puro-blue))!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  text-shadow:none!important;
}
.divider{background:linear-gradient(90deg,var(--puro-green),var(--puro-blue))!important}

/* ---------- Forms: black everywhere ---------- */
body.puro-site-dark :is(input,select,textarea),
body.puro-home-dark :is(input,select,textarea),
body.puro-commercial-page :is(input,select,textarea),
#puro-diag .pd-input,
#puro-diag .pd-other input{
  width:100%;
  background:rgba(3,4,5,.84)!important;
  color:#f8fafc!important;
  border:1px solid rgba(255,255,255,.13)!important;
  box-shadow:none!important;
}
body.puro-site-dark :is(input,textarea)::placeholder,
body.puro-home-dark :is(input,textarea)::placeholder,
body.puro-commercial-page :is(input,textarea)::placeholder,
#puro-diag .pd-input::placeholder,
#puro-diag .pd-other input::placeholder{color:#747e8d!important}
body.puro-site-dark :is(input,select,textarea):focus,
body.puro-home-dark :is(input,select,textarea):focus,
body.puro-commercial-page :is(input,select,textarea):focus,
#puro-diag .pd-input:focus,
#puro-diag .pd-other input:focus{
  outline:none!important;
  background:rgba(5,6,7,.94)!important;
  border-color:rgba(79,217,177,.50)!important;
  box-shadow:0 0 0 3px rgba(79,217,177,.10)!important;
}
body.puro-site-dark select option,
body.puro-home-dark select option,
body.puro-commercial-page select option,
#puro-diag select.pd-input option{background:#050505!important;color:#fff!important}
.pc-diagnosis-box,
#puro-diag{
  background:rgba(7,8,9,.60)!important;
  border:1px solid var(--puro-line)!important;
  box-shadow:var(--puro-shadow)!important;
  backdrop-filter:blur(18px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(128%)!important;
}
#puro-diag .pd-channel,
#puro-diag .pd-none{
  background:rgba(3,4,5,.70)!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#f6f8fb!important;
}
#puro-diag .pd-channel:hover,
#puro-diag .pd-channel.sel,
#puro-diag .pd-none:hover,
#puro-diag .pd-none.sel{
  background:rgba(34,118,103,.17)!important;
  border-color:rgba(79,217,177,.48)!important;
  color:#fff!important;
}
#puro-diag .pd-submit{background:linear-gradient(135deg,#138a78,#2f71d8)!important;box-shadow:0 10px 28px rgba(0,0,0,.28)!important}
#puro-diag .pd-submit-glow{background:linear-gradient(135deg,rgba(38,205,166,.80),rgba(74,148,245,.78))!important;opacity:.40!important}

/* Home diagnostic wrapper had inline white background. */
body.puro-home-dark .form-section .puro-animate[style*="background:#FFFFFF"],
body.puro-home-dark .form-section [style*="background:#FFFFFF"],
body.puro-home-dark .form-section [style*="background:#F8FAFF"]{
  background:var(--puro-surface)!important;
  border:1px solid var(--puro-line)!important;
  box-shadow:var(--puro-shadow)!important;
  color:var(--puro-text)!important;
  backdrop-filter:blur(18px) saturate(128%)!important;
}

/* ---------- Layout and hero responsive ---------- */
.pc-wrap,
.wrap{width:min(calc(100% - 32px),var(--puro-content-max))!important;margin-inline:auto!important}
.pc-hero,.hero{overflow:hidden!important}
.pc-hero-grid>* ,.pc-base-grid>* ,.pc-plans-grid>* ,.pc-steps>* ,.fase-grid>* ,.hero>*{min-width:0!important}
.pc-hero h1,.hero h1,.pc-section-heading h2,.sec-title{
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance;
}
.pc-hero-card,.fase-card,.pc-step,.pc-plan-card,.sys-card,.sys-step{width:100%!important}

/* Footer */
.pc-footer,
body.puro-site-dark footer,
body.puro-home-dark footer{
  background:rgba(3,4,5,.82)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  color:var(--puro-text-soft)!important;
  backdrop-filter:blur(16px) saturate(120%)!important;
}

@media (max-width:960px){
  body.puro-site-dark,
  body.puro-home-dark,
  body.puro-commercial-page{padding-top:60px!important}
  .pc-topbar.puro-site-header{height:60px!important}
  .pc-topbar.puro-site-header .pc-topbar-inner{
    width:100%!important;
    height:60px!important;
    padding:0 14px!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0 0 16px 16px!important;
  }
  .pc-desktop-nav,.pc-top-actions>.pc-btn{display:none!important}
  .pc-top-actions{margin-left:auto!important}
  .pc-menu-button{display:block!important}
  .pc-hero-grid,.pc-base-grid{grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
  .pc-plans-grid,.pc-route-grid,.pc-market-grid,.pc-demo-grid,.pc-proposal-grid,.pc-option-grid,.pc-presence-summary,.pc-footer-grid,.pc-specialty-grid,.pc-service-grid,.pc-opportunity-grid,.pc-steps,.fase-grid,.sys-cards{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .pc-hero{padding:54px 0 58px!important}
  .hero{min-height:auto!important;padding:52px 0 48px!important}
  .pc-hero h1{font-size:clamp(2.2rem,8vw,3.45rem)!important;line-height:1.03!important;letter-spacing:-.045em!important}
  .hero h1{font-size:clamp(2.15rem,8vw,3rem)!important;line-height:1.06!important;letter-spacing:-.035em!important}
  .pc-hero p,.hero-sub{font-size:1rem!important;line-height:1.68!important;max-width:100%!important}
  .pc-hero-card{padding:22px!important;border-radius:20px!important}
  .pc-section,.sec{padding:60px 0!important}
  body.puro-site-dark main::before,
  body.puro-home-dark main::before,
  body.puro-commercial-page main::before,
  body.puro-site-dark main::after,
  body.puro-home-dark main::after,
  body.puro-commercial-page main::after{
    width:27rem!important;height:27rem!important;filter:blur(62px)!important
  }
}

@media (max-width:600px){
  .pc-wrap,.wrap{width:min(calc(100% - 24px),var(--puro-content-max))!important}
  .pc-logo{font-size:1rem!important}
  .pc-logo svg{width:23px!important;height:23px!important;flex-basis:23px!important}
  .pc-mobile-menu{width:min(90vw,340px)!important;padding:16px!important}
  .pc-hero{padding:44px 0 48px!important}
  .hero{padding:44px 0 42px!important}
  .pc-hero h1{font-size:clamp(2rem,10vw,2.75rem)!important;line-height:1.04!important}
  .hero h1{font-size:clamp(2rem,10vw,2.65rem)!important;line-height:1.05!important}
  .pc-section-heading h2,.sec-title{font-size:clamp(1.85rem,8.5vw,2.55rem)!important;line-height:1.08!important}
  .pc-hero-actions,.hero-ctas{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:10px!important}
  .pc-hero-actions .pc-btn,.hero-ctas a{width:100%!important;justify-content:center!important;white-space:normal!important;text-align:center!important}
  .hero-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .kpi{padding:.72rem .78rem!important;gap:.45rem!important}
  .kpi-n{font-size:.96rem!important}.kpi-l{font-size:.68rem!important}
  .pc-plan-card,.fase-card,.pc-step,.sys-card,.sys-step,.res-card,.pos-card,.blog-card,.faq-item{border-radius:18px!important}
  .pc-plan-top,.pc-plan-body,.pc-base-card,.pc-base-features,.pc-service-card,.pc-option-card,.pc-specialty-card,.pc-step{padding:20px!important}
  .pc-steps{gap:12px!important}
  .pd-channels{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #puro-diag{border-radius:18px!important}
  #puro-diag .pd-head{padding:24px 18px 8px!important}
  #puro-diag .pd-body{padding:18px!important}
  body.puro-site-dark main::before,
  body.puro-home-dark main::before,
  body.puro-commercial-page main::before,
  body.puro-site-dark main::after,
  body.puro-home-dark main::after,
  body.puro-commercial-page main::after{width:22rem!important;height:22rem!important;opacity:.48!important}
}

@media (max-width:390px){
  .pc-wrap,.wrap{width:min(calc(100% - 20px),var(--puro-content-max))!important}
  .pc-hero h1,.hero h1{font-size:clamp(1.85rem,10vw,2.35rem)!important}
  .hero-kpis{grid-template-columns:1fr!important}
  .pd-channels{grid-template-columns:1fr 1fr!important;gap:8px!important}
}

@media(prefers-reduced-motion:reduce){
  body.puro-site-dark::before,body.puro-site-dark::after,
  body.puro-home-dark::before,body.puro-home-dark::after,
  body.puro-commercial-page::before,body.puro-commercial-page::after,
  body.puro-site-dark main::before,body.puro-site-dark main::after,
  body.puro-home-dark main::before,body.puro-home-dark main::after,
  body.puro-commercial-page main::before,body.puro-commercial-page main::after{animation:none!important}
}

/* ---------- Ambient orbs rendered by the shared header ---------- */
body.puro-site-dark main::before,
body.puro-site-dark main::after,
body.puro-home-dark main::before,
body.puro-home-dark main::after,
body.puro-commercial-page main::before,
body.puro-commercial-page main::after{display:none!important}
.puro-ambient{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
.puro-ambient-orb{
  position:absolute!important;
  width:38rem!important;
  height:38rem!important;
  border-radius:50%!important;
  filter:blur(74px)!important;
  mix-blend-mode:screen!important;
}
.puro-ambient-orb-a{
  left:-12rem!important;
  top:12vh!important;
  opacity:.58!important;
  background:radial-gradient(circle at 40% 40%,rgba(49,225,178,.72) 0%,rgba(36,191,157,.42) 27%,rgba(47,131,235,.25) 53%,rgba(0,0,0,0) 74%)!important;
  animation:puroOrbA 22s ease-in-out infinite alternate!important;
}
.puro-ambient-orb-b{
  right:-12rem!important;
  top:48vh!important;
  opacity:.56!important;
  background:radial-gradient(circle at 42% 42%,rgba(74,165,255,.68) 0%,rgba(55,138,235,.42) 27%,rgba(41,208,163,.27) 55%,rgba(0,0,0,0) 74%)!important;
  animation:puroOrbB 26s ease-in-out infinite alternate!important;
}
.puro-ambient + .pc-menu-overlay,
.puro-site-header,.pc-mobile-menu,.pc-menu-overlay{z-index:9999!important}

/* ---------- Generic pages also follow the same dark system ---------- */
body.puro-site-dark :is(.card,.box,.cta-box,.contact-box,.highlight-box,.content-box,.legal-content .inner,.article .inner,.form-card,.form-wrap,.faq-card,.post-card,.blog-card,.result-card,.info-card){
  background:var(--puro-surface)!important;
  border:1px solid var(--puro-line)!important;
  box-shadow:var(--puro-shadow)!important;
  color:var(--puro-text)!important;
  backdrop-filter:blur(18px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(128%)!important;
}
body.puro-site-dark :is(.content,.legal-content,.article,.hero,.blog-hero,.legal-hero,.sec,.section,.form-section){background:transparent!important}
body.puro-site-dark :is(.content p,.content li,.legal-content p,.legal-content li,.article p,.article li,.meta,.excerpt){color:var(--puro-text-soft)!important}
body.puro-site-dark :is(.content h1,.content h2,.content h3,.legal-content h1,.legal-content h2,.legal-content h3,.article h1,.article h2,.article h3){color:var(--puro-text)!important}
body.puro-site-dark #sp{background:#000!important}

/* Any old hard-coded white blocks on standalone pages are neutralized. */
body.puro-site-dark [style*="background:#FFFFFF"],
body.puro-site-dark [style*="background:#fff"],
body.puro-site-dark [style*="background: #FFFFFF"],
body.puro-site-dark [style*="background: #fff"]{
  background:var(--puro-surface)!important;
  border-color:var(--puro-line)!important;
  color:var(--puro-text)!important;
}

/* Tables and rich content */
body.puro-site-dark table{max-width:100%!important;width:100%!important;border-color:var(--puro-line)!important;background:rgba(8,9,10,.46)!important}
body.puro-site-dark th{background:rgba(255,255,255,.055)!important;color:var(--puro-text)!important;border-color:var(--puro-line)!important}
body.puro-site-dark td{color:var(--puro-text-soft)!important;border-color:rgba(255,255,255,.07)!important}
body.puro-site-dark .content{overflow-wrap:break-word!important}
body.puro-site-dark .content pre,
body.puro-site-dark .content code{max-width:100%!important;overflow:auto!important}

/* ---------- Hero/mobile cleanup for ALL templates ---------- */
@media (max-width:960px){
  .puro-ambient-orb{width:28rem!important;height:28rem!important;filter:blur(64px)!important}
  body.puro-site-dark :is(.hero,.pc-hero,.legal-hero,.blog-hero){min-height:auto!important;overflow:hidden!important}
  body.puro-site-dark :is(.hero .wrap,.pc-hero .pc-wrap,.legal-hero .wrap,.blog-hero .wrap){width:min(calc(100% - 24px),var(--puro-content-max))!important;max-width:100%!important}
  body.puro-site-dark :is(.hero-grid,.pc-hero-grid,.grid-2,.two-col,.split,.form-row){grid-template-columns:minmax(0,1fr)!important}
}
@media (max-width:600px){
  .puro-ambient-orb{width:22rem!important;height:22rem!important;filter:blur(58px)!important}
  body.puro-site-dark :is(.hero,.pc-hero,.legal-hero,.blog-hero){padding-left:0!important;padding-right:0!important}
  body.puro-site-dark :is(.hero h1,.pc-hero h1,.legal-hero h1,.blog-hero h1,.article h1){
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(1.95rem,10vw,2.65rem)!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
    overflow-wrap:break-word!important;
  }
  body.puro-site-dark :is(.hero p,.pc-hero p,.legal-hero p,.blog-hero p){max-width:100%!important;font-size:.98rem!important;line-height:1.65!important}
  body.puro-site-dark :is(.hero img,.pc-hero img,.hero svg:not(.pc-logo svg),.pc-hero svg:not(.pc-logo svg)){
    width:auto!important;
    max-width:100%!important;
    height:auto!important;
  }
  body.puro-site-dark .hero-svg{
    position:absolute!important;
    width:min(62vw,220px)!important;
    height:auto!important;
    right:-12vw!important;
    top:auto!important;
    bottom:0!important;
    opacity:.16!important;
    pointer-events:none!important;
  }
  body.puro-site-dark :is(.pc-hero-card,.card,.cta-box,.highlight-box,.contact-box,.fase-card,.pc-step,.pc-plan-card){width:100%!important;max-width:100%!important}
}

@media(prefers-reduced-motion:reduce){
  .puro-ambient-orb{animation:none!important}
}

/* ===== v2.4.1 Mega menu + general medical positioning ===== */
.puro-svg-icon{width:1.05em;height:1.05em;display:inline-block;vertical-align:-.14em;flex:0 0 auto}
.pc-menu-button .puro-svg-icon{width:21px;height:21px}
.pc-mobile-head button .puro-svg-icon{width:20px;height:20px}
.puro-main-nav{position:relative}
.puro-mega-nav{position:relative;display:flex;align-items:center}
.puro-mega-trigger{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#f2f4f7;font:inherit;font-size:.78rem;font-weight:750;cursor:pointer;padding:10px 0;white-space:nowrap}
.puro-mega-trigger:hover,.puro-mega-trigger:focus-visible{color:#fff;outline:none}
.puro-mega-arrow{width:12px;height:12px;transition:transform .2s ease;transform:rotate(90deg)}
.puro-mega-nav.is-open .puro-mega-arrow,.puro-mega-nav:focus-within .puro-mega-arrow{transform:rotate(-90deg)}
.puro-mega-menu{position:absolute;top:calc(100% + 15px);left:50%;width:min(920px,calc(100vw - 32px));transform:translate(-50%,10px);padding:16px;opacity:0;visibility:hidden;pointer-events:none;background:rgba(6,7,8,.94);border:1px solid rgba(255,255,255,.11);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.48);backdrop-filter:blur(22px) saturate(125%);-webkit-backdrop-filter:blur(22px) saturate(125%);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.puro-mega-menu::before{content:'';position:absolute;top:-16px;left:0;right:0;height:18px}
.puro-mega-nav:hover .puro-mega-menu,.puro-mega-nav:focus-within .puro-mega-menu,.puro-mega-nav.is-open .puro-mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.puro-mega-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.puro-mega-col{display:flex;flex-direction:column;gap:4px;padding:8px;min-width:0}
.puro-mega-label{font-family:'DM Mono',monospace;font-size:.58rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#7f8998;padding:5px 8px 9px}
.puro-mega-col>a{display:grid!important;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:10px!important;border-radius:13px;color:#fff!important;text-decoration:none;min-width:0}
.puro-mega-col>a:hover,.puro-mega-col>a:focus-visible{background:rgba(255,255,255,.055)!important;outline:none}
.puro-mega-col>a i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(73,216,177,.10),rgba(106,166,255,.09));border:1px solid rgba(255,255,255,.08);color:#bfe8dc;font-style:normal}
.puro-mega-col>a i .puro-svg-icon{width:17px;height:17px}
.puro-mega-col>a span{min-width:0;display:block}
.puro-mega-col>a strong{display:block;color:#f8fafc;font-size:.78rem;line-height:1.2;margin-bottom:3px}
.puro-mega-col>a small{display:block;color:#929cab;font-size:.64rem;line-height:1.4;font-weight:500}
.puro-mega-col-utility{background:rgba(255,255,255,.025);border-radius:16px;border:1px solid rgba(255,255,255,.055)}
.puro-mega-diagnosis{margin-top:4px;background:linear-gradient(135deg,rgba(31,114,97,.14),rgba(39,91,159,.14))}

.puro-mobile-menu-groups{display:grid;gap:18px;padding:18px 0;overflow:auto}
.puro-mobile-menu-groups section{display:grid;gap:4px}
.puro-mobile-menu-groups section>span{font-family:'DM Mono',monospace;color:#7f8998;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:0 8px 5px}
.puro-mobile-menu-groups a{display:block;color:#f6f7f9!important;font-weight:700;font-size:.9rem;padding:9px 8px;border-radius:10px;text-decoration:none}
.puro-mobile-menu-groups a:hover{background:rgba(255,255,255,.055)}

/* Base medible: clinical glass instead of isolated blue block */
body.puro-home-dark .sys-base,
body.puro-home-dark .sys-base-colored{
  background:linear-gradient(135deg,rgba(12,50,43,.54),rgba(10,26,40,.56))!important;
  border:1px solid rgba(93,205,179,.16)!important;
  box-shadow:0 20px 54px rgba(0,0,0,.30),0 0 56px rgba(53,182,150,.045) inset!important;
}
body.puro-home-dark .sys-base-label{color:#91d8c5!important}
body.puro-home-dark .sys-base-title{color:#fff!important}
body.puro-home-dark .sys-base-tagline{color:#c6ceda!important}
body.puro-home-dark .sys-base-hcta{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.10)!important;color:#f6f8fb!important}

/* Generic market keywords, not physical-location cards */
.puro-market-coverage{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.puro-market-keyword{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);color:#d9e0eb;font-size:.78rem;font-weight:700;backdrop-filter:blur(12px)}
.puro-market-note{max-width:800px;margin-top:18px;color:#9da7b5;font-size:.8rem;line-height:1.6}

/* Vector icon containers */
.puro-icon-box{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(73,216,177,.08),rgba(106,166,255,.07));border:1px solid rgba(255,255,255,.09);color:#cfe7e1;flex:0 0 auto}
.puro-icon-box .puro-svg-icon{width:20px;height:20px}
.pos-ico.puro-icon-box{font-size:initial;margin-top:0}
.sys-base-icon.puro-icon-box{font-size:initial}
.sys-note .puro-svg-icon{width:18px;height:18px;color:#9fd7c7;flex:0 0 auto}
.pc-dash-fragment-icon .puro-svg-icon{width:17px;height:17px}

@media(max-width:1100px){
  .puro-mega-menu{left:auto;right:-120px;transform:translateY(10px)}
  .puro-mega-nav:hover .puro-mega-menu,.puro-mega-nav:focus-within .puro-mega-menu,.puro-mega-nav.is-open .puro-mega-menu{transform:translateY(0)}
}
@media(max-width:960px){
  .puro-mega-nav{display:none!important}
}


/* SVG-mask checks instead of text/emoji glyphs */
body.puro-commercial-page :is(.pc-hero-list li,.pc-base-features li,.pc-plan-body li)::before,
body.puro-home-dark .fase-list li::before{
  content:''!important;
  width:14px!important;height:14px!important;flex:0 0 14px!important;margin-top:.2rem!important;
  background:linear-gradient(135deg,#49d8b1,#6aa6ff)!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12 4 4L19 6' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
}
.pc-frag-platform{background:rgba(255,255,255,.055)!important;color:#cfe1dc!important;border:1px solid rgba(255,255,255,.08)!important}
.pc-frag-platform .puro-svg-icon{width:15px;height:15px}


/* ===== v2.4.2 Mega menu layout repair ===== */
@media (min-width:961px){
  .puro-mega-nav{position:static!important}
  .puro-main-nav{position:static!important}
  .puro-mega-menu{
    position:fixed!important;
    top:72px!important;
    left:50%!important;
    right:auto!important;
    width:min(1080px,calc(100vw - 48px))!important;
    max-width:1080px!important;
    min-width:0!important;
    height:auto!important;
    max-height:calc(100vh - 92px)!important;
    overflow:auto!important;
    transform:translate(-50%,12px)!important;
    padding:18px!important;
    z-index:10030!important;
    box-sizing:border-box!important;
    isolation:isolate!important;
  }
  .puro-mega-nav:hover .puro-mega-menu,
  .puro-mega-nav:focus-within .puro-mega-menu,
  .puro-mega-nav.is-open .puro-mega-menu{
    transform:translate(-50%,0)!important;
  }
  .puro-mega-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    align-items:start!important;
    gap:12px!important;
    width:100%!important;
    min-width:0!important;
  }
  .puro-mega-col{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:5px!important;
    min-width:0!important;
    width:auto!important;
    padding:8px!important;
    overflow:visible!important;
  }
  .puro-mega-label{
    display:block!important;
    width:100%!important;
    min-height:32px!important;
    padding:5px 8px 9px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .puro-mega-col>a{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:start!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:10px!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .puro-mega-col>a>span{
    display:block!important;
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
  }
  .puro-mega-col>a strong,
  .puro-mega-col>a small{
    position:static!important;
    display:block!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    transform:none!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .puro-mega-col>a strong{font-size:.79rem!important;line-height:1.28!important}
  .puro-mega-col>a small{font-size:.64rem!important;line-height:1.45!important}
  .puro-mega-col>a i{
    position:static!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    transform:none!important;
  }
}
@media (min-width:961px) and (max-width:1120px){
  .puro-mega-menu{width:calc(100vw - 32px)!important;padding:14px!important}
  .puro-mega-grid{gap:8px!important}
  .puro-mega-col{padding:6px!important}
  .puro-mega-col>a{grid-template-columns:30px minmax(0,1fr)!important;gap:8px!important;padding:9px 8px!important}
  .puro-mega-col>a i{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important}
  .puro-mega-col>a strong{font-size:.75rem!important}
  .puro-mega-col>a small{font-size:.61rem!important}
}
@media (max-width:960px){
  .puro-mega-menu{display:none!important}
}


/* ===== v2.4.3 menu interaction + graphical mobile + compact phase rows ===== */
.puro-brand-icon{width:20px;height:20px;display:block;flex:0 0 auto}
.puro-phase-brands{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;margin-left:8px}
.puro-phase-brands .puro-brand-icon{width:18px;height:18px}

@media (min-width:961px){
  .puro-mega-menu{top:62px!important}
  .puro-mega-menu::before{top:-28px!important;height:30px!important;pointer-events:auto!important}
  .puro-mega-nav::after{content:'';position:fixed;top:42px;height:24px;width:110px;margin-left:-20px;pointer-events:none}
  .puro-mega-nav.is-open::after,.puro-mega-nav:hover::after{pointer-events:auto}
  .puro-mega-nav.is-open .puro-mega-menu{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}

/* Graphical drawer instead of text-only mobile nav */
.puro-mobile-menu-groups{display:grid!important;gap:16px!important;padding:16px 0!important;overflow:auto!important}
.puro-mobile-menu-groups section{display:grid!important;gap:8px!important}
.puro-mobile-menu-groups section>span{padding:0 2px 2px!important}
.puro-mobile-menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.puro-mobile-menu-item{
  min-width:0!important;min-height:78px!important;padding:11px!important;border-radius:14px!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:space-between!important;gap:9px!important;
  background:rgba(255,255,255,.038)!important;border:1px solid rgba(255,255,255,.08)!important;color:#f7f9fc!important;text-decoration:none!important;
  box-shadow:none!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;
}
.puro-mobile-menu-item:hover,.puro-mobile-menu-item:focus-visible{background:rgba(255,255,255,.07)!important;border-color:rgba(98,206,181,.20)!important;outline:none!important}
.puro-mobile-menu-item i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(73,216,177,.08),rgba(106,166,255,.07));border:1px solid rgba(255,255,255,.07);font-style:normal}
.puro-mobile-menu-item i .puro-svg-icon{width:17px;height:17px;color:#cfe7e1}
.puro-mobile-menu-item.is-brand i{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.9)}
.puro-mobile-menu-item strong{font-size:.78rem!important;line-height:1.2!important;color:#f8fafc!important;white-space:normal!important}

/* Phase tables: rows + separators instead of native bullets */
.pc-phase-lines{display:grid;margin:0 0 16px;border-top:1px solid rgba(255,255,255,.08)}
.pc-phase-line{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.075);color:#c7cedc;font-size:.78rem;line-height:1.38;min-width:0}
.pc-phase-line>span:first-child{min-width:0;flex:1}
.pc-plan-body>ul{display:none!important}

body.puro-home-dark .fase-list{list-style:none!important;margin:0!important;padding:0!important;border-top:1px solid rgba(255,255,255,.08)!important;display:grid!important;gap:0!important}
body.puro-home-dark .fase-list li{list-style:none!important;margin:0!important;padding:8px 0!important;border-bottom:1px solid rgba(255,255,255,.075)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;font-size:.76rem!important;line-height:1.38!important;color:#c7cedc!important}
body.puro-home-dark .fase-list li::before{display:none!important;content:none!important}
body.puro-home-dark .fase-card .fase-body{padding-top:10px!important}
body.puro-home-dark .fase-micro{margin-top:10px!important;font-size:.72rem!important;line-height:1.45!important}

@media(max-width:960px){
  .pc-mobile-menu{width:min(92vw,370px)!important}
}
@media(max-width:390px){
  .puro-mobile-menu-items{grid-template-columns:1fr 1fr}
  .puro-mobile-menu-item{min-height:72px!important;padding:10px!important}
}


/* ===== COFEPRIS landing v2.4.4 · unified dark system ===== */
.pc-cofepris-page .pc-reg-hero{padding-bottom:72px}
.pc-reg-update{margin-top:18px!important;font-size:.74rem!important;color:#7f8998!important;max-width:720px!important}
.pc-reg-summary{display:grid;gap:10px}
.pc-reg-summary>small{color:#91a0b5!important}
.pc-reg-summary-row{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:13px 0;border-top:1px solid rgba(255,255,255,.08)}
.pc-reg-summary-row i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(72,214,174,.08);border:1px solid rgba(72,214,174,.14);color:#73dfc0}
.pc-reg-summary-row .puro-svg-icon{width:18px;height:18px}
.pc-reg-summary-row span,.pc-reg-summary-row strong,.pc-reg-summary-row small{display:block}
.pc-reg-summary-row strong{color:#f8fafc;font-size:.92rem}
.pc-reg-summary-row small{color:#9ca6b6;font-size:.75rem;line-height:1.45;margin-top:2px}
.pc-reg-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pc-reg-card{background:rgba(8,9,10,.56);border:1px solid rgba(255,255,255,.10);border-radius:22px;padding:25px;box-shadow:0 18px 46px rgba(0,0,0,.28);backdrop-filter:blur(18px) saturate(125%);-webkit-backdrop-filter:blur(18px) saturate(125%)}
.pc-reg-card-accent{border-color:rgba(90,166,255,.20)}
.pc-reg-card-head{display:grid;grid-template-columns:44px 1fr;gap:13px;align-items:center;margin-bottom:18px}
.pc-reg-card-head>i{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(71,217,176,.11),rgba(83,155,255,.10));border:1px solid rgba(255,255,255,.09);color:#dce9f7}
.pc-reg-card-head .puro-svg-icon{width:21px;height:21px}
.pc-reg-card-head span{display:block;font-family:'DM Mono',monospace;color:#8491a2;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}
.pc-reg-card-head h3{margin:2px 0 0;color:#fff;font-size:1.25rem}
.pc-reg-card>p{color:#c5cedb!important;margin:0 0 18px;font-size:.92rem;line-height:1.7}
.pc-reg-lines{border-top:1px solid rgba(255,255,255,.08)}
.pc-reg-lines>div{display:grid;grid-template-columns:minmax(105px,.38fr) 1fr;gap:16px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:.78rem}
.pc-reg-lines strong{color:#f5f7fb}
.pc-reg-lines span{color:#9faaba}
.pc-reg-change{margin-top:18px;display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px;border:1px solid rgba(78,207,171,.15);border-radius:18px;background:linear-gradient(135deg,rgba(37,143,116,.08),rgba(57,113,190,.06));backdrop-filter:blur(14px)}
.pc-reg-change>i{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.04);color:#70dec0}
.pc-reg-change .puro-svg-icon{width:20px;height:20px}
.pc-reg-change strong{display:block;color:#fff;margin-bottom:3px}
.pc-reg-change p{margin:0!important;color:#aeb8c7!important;font-size:.82rem!important}
.pc-reg-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pc-reg-principles article{min-width:0;padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:rgba(8,9,10,.50);display:grid;grid-template-columns:36px 1fr;gap:12px;backdrop-filter:blur(16px)}
.pc-reg-principles article>i{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.04);color:#75d9bd}
.pc-reg-principles .puro-svg-icon{width:17px;height:17px}
.pc-reg-principles span{font-family:'DM Mono',monospace;color:#778496;font-size:.58rem;letter-spacing:.05em;text-transform:uppercase}
.pc-reg-principles h3{margin:3px 0 6px;color:#fff;font-size:.94rem;line-height:1.3}
.pc-reg-principles p{margin:0!important;color:#aeb8c7!important;font-size:.78rem!important;line-height:1.6}
.pc-reg-process{border:1px solid rgba(255,255,255,.09);border-radius:20px;background:rgba(8,9,10,.44);overflow:hidden;backdrop-filter:blur(16px)}
.pc-reg-process article{display:grid;grid-template-columns:48px 1fr;gap:17px;padding:19px 22px;border-bottom:1px solid rgba(255,255,255,.07)}
.pc-reg-process article:last-child{border-bottom:0}
.pc-reg-process article>span{font-family:'DM Mono',monospace;color:#68d8bb;font-size:.75rem;padding-top:2px}
.pc-reg-process h3{margin:0 0 4px;color:#fff;font-size:.95rem}
.pc-reg-process p{margin:0!important;color:#aeb8c7!important;font-size:.82rem!important}
.pc-reg-faq{display:grid;gap:9px;max-width:920px}
.pc-reg-faq details{border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(8,9,10,.48);overflow:hidden;backdrop-filter:blur(16px)}
.pc-reg-faq summary{list-style:none;cursor:pointer;padding:16px 18px;color:#f5f7fb;font-weight:700;font-size:.88rem;display:flex;align-items:center;justify-content:space-between;gap:18px}
.pc-reg-faq summary::-webkit-details-marker{display:none}
.pc-reg-faq summary:after{content:'+';font-family:'DM Mono',monospace;color:#79aef6;font-size:1.1rem;font-weight:400}
.pc-reg-faq details[open] summary:after{content:'−'}
.pc-reg-faq details p{margin:0!important;padding:0 18px 17px;color:#aeb8c7!important;font-size:.82rem!important;line-height:1.65}
.pc-reg-sources{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pc-reg-sources>a{display:grid;grid-template-columns:40px 1fr;gap:13px;align-items:start;padding:17px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(8,9,10,.48);color:inherit;backdrop-filter:blur(16px);transition:.2s ease}
.pc-reg-sources>a:hover{border-color:rgba(91,183,255,.24);background:rgba(255,255,255,.045);transform:translateY(-1px)}
.pc-reg-sources i{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.04);color:#74dec0}
.pc-reg-sources .puro-svg-icon{width:18px;height:18px}
.pc-reg-sources span,.pc-reg-sources strong,.pc-reg-sources small{display:block}
.pc-reg-sources strong{color:#f7f8fb;font-size:.84rem;line-height:1.4}
.pc-reg-sources small{color:#8995a6;font-size:.7rem;line-height:1.45;margin-top:3px}
@media(max-width:900px){.pc-reg-grid,.pc-reg-principles{grid-template-columns:1fr 1fr}.pc-reg-sources{grid-template-columns:1fr}}
@media(max-width:640px){.pc-reg-grid,.pc-reg-principles{grid-template-columns:1fr}.pc-reg-card{padding:20px}.pc-reg-lines>div{grid-template-columns:1fr;gap:3px}.pc-reg-process article{grid-template-columns:34px 1fr;padding:17px}.pc-reg-summary-row{grid-template-columns:34px 1fr}.pc-reg-summary-row i{width:34px;height:34px}}


/* v2.4.5 white-surface audit guard: cards/forms must never render white */
body.puro-site-dark :is(
  .res-card,.kpi,.pos-card,.cof-card,.ciudad-card,.faq-item,.fase-card,.blog-card,.sem-card,.aeo-demo,.puro-form,.princ-item,.sys-card,.sys-step,.sys-base,.sys-note,
  .pc-hero-card,.pc-base-card,.pc-base-features,.pc-plan-card,.pc-market-card,.pc-stat,.pc-demo-card,.pc-proposal-card,.pc-specialty-card,.pc-option-card,.pc-service-card,.pc-table-wrap,.pc-step,.pc-faq-item,.pc-diagnosis-box,.pc-dash-fragment,.pc-opportunity-grid article
){
  background:rgba(8,9,10,.58)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#f7f8fb!important;
  backdrop-filter:blur(18px) saturate(128%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(128%)!important;
}
body.puro-site-dark :is(input,select,textarea,.wpcf7-form-control),
#puro-diag :is(.pd-input,.pd-channel,.pd-none,.pd-other input){
  background:rgba(3,4,5,.84)!important;
  color:#f7f8fb!important;
  border-color:rgba(255,255,255,.12)!important;
}
body.puro-site-dark :is(.pc-faq-item button,.pc-dash-fragment-head,.pc-plan-top,.fase-head,.faq-q,.faq-a,.sis-body,.spec-card-body){
  background:rgba(255,255,255,.03)!important;
  border-color:rgba(255,255,255,.08)!important;
}
body.puro-site-dark [style*="background:#FFFFFF"],
body.puro-site-dark [style*="background:#fff"],
body.puro-site-dark [style*="background: #FFFFFF"],
body.puro-site-dark [style*="background: #fff"]{
  background:rgba(8,9,10,.58)!important;
}


/* =========================================================
   PURO Motion System v2.5.0
   Reversible scroll transitions shared by Home + landings.
   ========================================================= */
:root{
  --puro-motion-ease:cubic-bezier(.22,.75,.24,1);
  --puro-motion-fast:520ms;
  --puro-motion-base:720ms;
  --puro-motion-slow:900ms;
}

/* Only JS-enhanced elements receive an initial state. */
.puro-motion-capable .puro-reveal{
  --puro-enter-x:0px;
  --puro-enter-y:26px;
  --puro-enter-scale:.985;
  --puro-enter-blur:5px;
  opacity:0;
  transform:translate3d(var(--puro-enter-x),var(--puro-enter-y),0) scale(var(--puro-enter-scale));
  filter:blur(var(--puro-enter-blur));
  transition:
    opacity var(--puro-motion-base) var(--puro-motion-ease),
    transform var(--puro-motion-slow) var(--puro-motion-ease),
    filter var(--puro-motion-base) ease,
    border-color 420ms ease,
    box-shadow 520ms ease,
    background-color 520ms ease;
  transition-delay:var(--puro-delay,0ms);
  will-change:opacity,transform,filter;
}
.puro-motion-capable .puro-reveal[data-puro-motion="left"]{--puro-enter-x:-28px;--puro-enter-y:0px}
.puro-motion-capable .puro-reveal[data-puro-motion="right"]{--puro-enter-x:28px;--puro-enter-y:0px}
.puro-motion-capable .puro-reveal[data-puro-motion="scale"]{--puro-enter-y:12px;--puro-enter-scale:.965;--puro-enter-blur:3px}
.puro-motion-capable .puro-reveal[data-puro-motion="soft"]{--puro-enter-y:14px;--puro-enter-scale:.993;--puro-enter-blur:2px}
.puro-motion-capable .puro-reveal.is-in-view{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}

/* Card depth is deliberately restrained: confidence, not spectacle. */
.puro-motion-card{position:relative!important}
.puro-motion-capable .puro-reveal.puro-motion-card.is-in-view{
  border-color:rgba(255,255,255,.125)!important;
  box-shadow:0 22px 56px rgba(0,0,0,.30),0 0 0 1px rgba(84,202,170,.025) inset!important;
}
.puro-motion-capable .puro-reveal.puro-motion-card::after{
  content:'';
  position:absolute;
  left:14%;right:14%;top:-1px;
  height:1px;
  pointer-events:none;
  opacity:0;
  transform:scaleX(.25);
  transform-origin:center;
  background:linear-gradient(90deg,transparent,rgba(73,216,177,.52),rgba(106,166,255,.52),transparent);
  transition:opacity 620ms ease,transform 900ms var(--puro-motion-ease);
}
.puro-motion-capable .puro-reveal.puro-motion-card.is-in-view::after{opacity:.72;transform:scaleX(1)}

/* Section dividers draw themselves when their section enters. */
.puro-motion-capable .puro-motion-divider{
  transform:scaleX(.08)!important;
  transform-origin:left center!important;
  opacity:.18!important;
  transition:transform 900ms var(--puro-motion-ease),opacity 600ms ease!important;
}
.puro-motion-capable .puro-motion-divider.is-in-view{transform:scaleX(1)!important;opacity:1!important}

/* Small UI accents are staggered but do not travel far. */
.puro-motion-capable .puro-motion-chip{
  opacity:0;
  transform:translateY(8px) scale(.98);
  transition:opacity 520ms ease,transform 620ms var(--puro-motion-ease);
  transition-delay:var(--puro-delay,0ms);
}
.puro-motion-capable .puro-motion-chip.is-in-view{opacity:1;transform:none}

/* Phase rows feel assembled rather than dumped into the card. */
.puro-motion-capable .pc-phase-line,
.puro-motion-capable body.puro-home-dark .fase-list li{
  transition:opacity 520ms ease,transform 650ms var(--puro-motion-ease),border-color 420ms ease;
}
.puro-motion-capable .puro-reveal.is-in-view .pc-phase-line,
.puro-motion-capable body.puro-home-dark .puro-reveal.is-in-view .fase-list li{
  opacity:1;
  transform:translateX(0);
}
.puro-motion-capable .puro-reveal:not(.is-in-view) .pc-phase-line,
.puro-motion-capable body.puro-home-dark .puro-reveal:not(.is-in-view) .fase-list li{
  opacity:.25;
  transform:translateX(-8px);
}
.puro-motion-capable .puro-reveal .pc-phase-line:nth-child(2),
.puro-motion-capable .puro-reveal .fase-list li:nth-child(2){transition-delay:45ms}
.puro-motion-capable .puro-reveal .pc-phase-line:nth-child(3),
.puro-motion-capable .puro-reveal .fase-list li:nth-child(3){transition-delay:90ms}
.puro-motion-capable .puro-reveal .pc-phase-line:nth-child(4),
.puro-motion-capable .puro-reveal .fase-list li:nth-child(4){transition-delay:135ms}
.puro-motion-capable .puro-reveal .pc-phase-line:nth-child(5),
.puro-motion-capable .puro-reveal .fase-list li:nth-child(5){transition-delay:180ms}
.puro-motion-capable .puro-reveal .pc-phase-line:nth-child(6),
.puro-motion-capable .puro-reveal .fase-list li:nth-child(6){transition-delay:225ms}

/* Header responds subtly to actual scrolling. */
.puro-site-header{
  transition:background-color 420ms ease,border-color 420ms ease,box-shadow 520ms ease,transform 420ms var(--puro-motion-ease)!important;
}
body.puro-has-scrolled .puro-site-header .puro-site-header-inner{
  background:rgba(5,6,7,.78)!important;
  border-color:rgba(255,255,255,.13)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.34)!important;
}

/* Hover only adds precision after the entrance animation has settled. */
@media (hover:hover) and (pointer:fine){
  .puro-reveal.puro-motion-card.is-in-view:hover{
    transform:translate3d(0,-3px,0) scale(1.002);
    border-color:rgba(91,199,171,.20)!important;
    box-shadow:0 26px 64px rgba(0,0,0,.36),0 0 0 1px rgba(91,199,171,.035) inset!important;
  }
}

/* Mobile: shorter distances and no blur-heavy entrance. */
@media(max-width:760px){
  .puro-motion-capable .puro-reveal{
    --puro-enter-y:18px;
    --puro-enter-blur:2px;
    transition-duration:620ms,720ms,520ms,420ms,520ms,520ms;
  }
  .puro-motion-capable .puro-reveal[data-puro-motion="left"],
  .puro-motion-capable .puro-reveal[data-puro-motion="right"]{--puro-enter-x:0px;--puro-enter-y:18px}
}

/* Accessibility: content remains immediate when reduced motion is requested. */
@media(prefers-reduced-motion:reduce){
  .puro-motion-capable .puro-reveal,
  .puro-motion-capable .puro-motion-chip,
  .puro-motion-capable .puro-motion-divider,
  .puro-motion-capable .pc-phase-line,
  .puro-motion-capable body.puro-home-dark .fase-list li{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
    animation:none!important;
  }
  .puro-motion-capable .puro-reveal.puro-motion-card::after{display:none!important}
}


/* =========================================================
   v2.5.1 — Phase card refinement + scroll-reactive background
   ========================================================= */
:root{
  --puro-parallax-stars-y:0px;
  --puro-parallax-stars-x:0px;
  --puro-parallax-stars2-y:0px;
  --puro-parallax-ambient-y:0px;
  --puro-parallax-orb-a-x:0px;
  --puro-parallax-orb-a-y:0px;
  --puro-parallax-orb-b-x:0px;
  --puro-parallax-orb-b-y:0px;
  --puro-parallax-tilt:0deg;
}

/* Scroll-reactive background: subtle, trustworthy, technological. */
body.puro-site-dark::before,
body.puro-home-dark::before,
body.puro-commercial-page::before{
  transform:translate3d(var(--puro-parallax-stars-x),var(--puro-parallax-stars-y),0) scale(1.018)!important;
  transition:transform 520ms cubic-bezier(.22,.75,.24,1), opacity 360ms ease!important;
  will-change:transform!important;
}
body.puro-site-dark::after,
body.puro-home-dark::after,
body.puro-commercial-page::after{
  transform:translate3d(calc(var(--puro-parallax-stars-x) * -.45),var(--puro-parallax-stars2-y),0) scale(1.01)!important;
  transition:transform 620ms cubic-bezier(.22,.75,.24,1), opacity 360ms ease!important;
  will-change:transform!important;
}
.puro-ambient{
  transform:translate3d(0,var(--puro-parallax-ambient-y),0) rotate(var(--puro-parallax-tilt))!important;
  transition:transform 600ms cubic-bezier(.22,.75,.24,1)!important;
  will-change:transform!important;
}
.puro-ambient-orb{
  animation:none!important;
  transition:transform 680ms cubic-bezier(.22,.75,.24,1), opacity 420ms ease!important;
  will-change:transform!important;
}
.puro-ambient-orb-a{
  transform:translate3d(var(--puro-parallax-orb-a-x),var(--puro-parallax-orb-a-y),0) scale(1.04)!important;
  opacity:.64!important;
}
.puro-ambient-orb-b{
  transform:translate3d(var(--puro-parallax-orb-b-x),var(--puro-parallax-orb-b-y),0) scale(1.05)!important;
  opacity:.62!important;
}

/* Home phase cards: cleaner and more premium, no strange washed effects. */
body.puro-home-dark .fase-card,
body.puro-home-dark .fase-card.fase-1,
body.puro-home-dark .fase-card.fase-2,
body.puro-home-dark .fase-card.fase-3{
  position:relative!important;
  overflow:hidden!important;
  border-radius:20px!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.32)!important;
  background:
    linear-gradient(180deg,rgba(7,8,10,.82),rgba(7,8,10,.56))!important;
}
body.puro-home-dark .fase-card.fase-1{
  background:
    radial-gradient(circle at 118% -4%, rgba(92,164,255,.16) 0%, rgba(92,164,255,.07) 18%, transparent 38%),
    radial-gradient(circle at -10% 100%, rgba(61,209,184,.10) 0%, transparent 32%),
    linear-gradient(180deg,rgba(7,8,10,.82),rgba(7,8,10,.56))!important;
}
body.puro-home-dark .fase-card.fase-2{
  background:
    radial-gradient(circle at 114% 6%, rgba(59,218,173,.18) 0%, rgba(59,218,173,.08) 18%, transparent 40%),
    radial-gradient(circle at -10% 92%, rgba(100,170,255,.10) 0%, transparent 32%),
    linear-gradient(180deg,rgba(7,8,10,.82),rgba(7,8,10,.56))!important;
}
body.puro-home-dark .fase-card.fase-3{
  background:
    radial-gradient(circle at 114% -2%, rgba(159,116,255,.16) 0%, rgba(159,116,255,.08) 18%, transparent 42%),
    radial-gradient(circle at -12% 96%, rgba(77,171,255,.10) 0%, transparent 30%),
    linear-gradient(180deg,rgba(7,8,10,.82),rgba(7,8,10,.56))!important;
}
body.puro-home-dark .fase-card::before,
body.puro-home-dark .fase-card.fase-1::before,
body.puro-home-dark .fase-card.fase-2::before,
body.puro-home-dark .fase-card.fase-3::before{
  content:''!important;
  position:absolute!important;
  left:0!important;right:0!important;top:0!important;
  height:1px!important;
  opacity:.75!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent)!important;
  z-index:1!important;
  animation:none!important;
}
body.puro-home-dark .fase-card.fase-1::before{background:linear-gradient(90deg,transparent,rgba(101,165,255,.58),transparent)!important}
body.puro-home-dark .fase-card.fase-2::before{background:linear-gradient(90deg,transparent,rgba(69,219,178,.60),transparent)!important}
body.puro-home-dark .fase-card.fase-3::before{background:linear-gradient(90deg,transparent,rgba(163,122,255,.52),transparent)!important}
body.puro-home-dark .fase-card::after,
body.puro-home-dark .fase-card.fase-1::after,
body.puro-home-dark .fase-card.fase-2::after,
body.puro-home-dark .fase-card.fase-3::after{display:none!important;background:none!important;animation:none!important}
body.puro-home-dark .fase-card:hover,
body.puro-home-dark .fase-card.fase-1:hover,
body.puro-home-dark .fase-card.fase-2:hover,
body.puro-home-dark .fase-card.fase-3:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 24px 58px rgba(0,0,0,.36)!important;
}
body.puro-home-dark .fase-card .fase-head{
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.016))!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
body.puro-home-dark .fase-card .fase-num{letter-spacing:.12em!important;font-size:.72rem!important;font-weight:800!important}
body.puro-home-dark .fase-card.fase-1 .fase-num{color:#6aa6ff!important}
body.puro-home-dark .fase-card.fase-2 .fase-num{color:#51d9b4!important}
body.puro-home-dark .fase-card.fase-3 .fase-num{color:#b392ff!important}
body.puro-home-dark .fase-card .fase-title{color:#fff!important}
body.puro-home-dark .fase-card .fase-sub,
body.puro-home-dark .fase-card .fase-micro{color:#c7cedc!important}
body.puro-home-dark .fase-card .fase-list li{
  background:transparent!important;
  border-bottom:1px solid rgba(255,255,255,.075)!important;
  min-height:44px!important;
}
body.puro-home-dark .fase-card .fase-list li:last-child{border-bottom:0!important}
body.puro-home-dark .fase-card .puro-phase-brands svg{filter:none!important;opacity:.95!important}
body.puro-home-dark .fase-card .puro-phase-brands{display:inline-flex!important;align-items:center!important;gap:10px!important}

@media(max-width:760px){
  .puro-ambient{transform:translate3d(0,calc(var(--puro-parallax-ambient-y) * .55),0)!important}
  .puro-ambient-orb-a{transform:translate3d(calc(var(--puro-parallax-orb-a-x) * .55),calc(var(--puro-parallax-orb-a-y) * .55),0) scale(1.02)!important}
  .puro-ambient-orb-b{transform:translate3d(calc(var(--puro-parallax-orb-b-x) * .55),calc(var(--puro-parallax-orb-b-y) * .55),0) scale(1.03)!important}
}

@media(prefers-reduced-motion:reduce){
  body.puro-site-dark::before,
  body.puro-home-dark::before,
  body.puro-commercial-page::before,
  body.puro-site-dark::after,
  body.puro-home-dark::after,
  body.puro-commercial-page::after,
  .puro-ambient,
  .puro-ambient-orb{transition:none!important;transform:none!important}
}


/* =========================================================
   v2.5.2 — Mobile browser chrome, hamburger contrast,
   cleaner brand marks and more perceptible scroll ambience
   ========================================================= */

/* Hamburger must stay visible regardless of legacy theme color inheritance. */
.pc-menu-button{
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.24)!important;
}
.pc-menu-button .puro-svg-icon,
.pc-menu-button .puro-svg-icon *,
.pc-mobile-head button .puro-svg-icon,
.pc-mobile-head button .puro-svg-icon *{
  color:#fff!important;
  stroke:#fff!important;
  opacity:1!important;
}
.pc-menu-button:hover,
.pc-menu-button:focus-visible{background:rgba(255,255,255,.12)!important;outline:none!important}

/* Brand marks only where the phase/table UI explicitly asks for them. */
.puro-phase-brands .puro-brand-google,
.puro-phase-brands .puro-brand-meta{
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
}
.puro-phase-brands .puro-brand-google path{fill:#fff!important}
.puro-phase-brands .puro-brand-meta path{fill:#0866FF!important}
.puro-phase-brands .puro-brand-meta{
  filter:drop-shadow(0 0 7px rgba(8,102,255,.18))!important;
}

/* Orbs are clearer on black, but stay diffused and calm. */
.puro-ambient-orb{
  width:42rem!important;
  height:42rem!important;
  filter:blur(78px)!important;
}
.puro-ambient-orb-a{
  opacity:.70!important;
  background:radial-gradient(circle at 40% 40%,
    rgba(53,229,180,.78) 0%,
    rgba(36,191,157,.43) 25%,
    rgba(52,138,236,.24) 52%,
    rgba(0,0,0,0) 74%)!important;
}
.puro-ambient-orb-b{
  opacity:.68!important;
  background:radial-gradient(circle at 42% 42%,
    rgba(72,164,255,.76) 0%,
    rgba(52,134,232,.44) 26%,
    rgba(44,207,163,.25) 54%,
    rgba(0,0,0,0) 75%)!important;
}

/* No long transition lag: the background follows scroll but remains smooth. */
body.puro-site-dark::before,
body.puro-home-dark::before,
body.puro-commercial-page::before{
  transition:transform 180ms linear,opacity 280ms ease!important;
}
body.puro-site-dark::after,
body.puro-home-dark::after,
body.puro-commercial-page::after{
  transition:transform 220ms linear,opacity 280ms ease!important;
}
.puro-ambient{transition:transform 240ms ease-out!important}
.puro-ambient-orb{transition:transform 280ms ease-out,opacity 300ms ease!important}

/* Mobile: keep movement visible without flooding the viewport. */
@media(max-width:760px){
  .puro-ambient-orb{width:28rem!important;height:28rem!important;filter:blur(66px)!important}
  .puro-ambient-orb-a{left:-12rem!important;opacity:.61!important}
  .puro-ambient-orb-b{right:-13rem!important;opacity:.58!important}
}
