/* =========================================
   BIOGUARDIANS — LANDING B2B
   Dinametra — dinametra.com
========================================= */

:root{
  --color-primary:#5F7D27;
  --color-secondary:#87A155;
  --color-accent:#DAEFFC;
  --color-sage:#BEC6A1;
  --color-olive:#748465;
  --color-dark:#1C281B;
  --color-dark-2:#2A4424;
  --color-bg:#FBF8EF;
  --color-bg-soft:#F2F2E8;
  --color-card:#FFFFFF;
  --color-text:#243020;
  --color-muted:#66705F;
  --color-line:rgba(42,68,36,.16);
  --font-display:"Advent Pro",sans-serif;
  --font-ui:"Montserrat",sans-serif;
  --font-serif:Georgia,"Times New Roman",serif;
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:16px;
  --shadow-soft:0 24px 70px rgba(35,52,29,.12);
  --shadow-card:0 16px 40px rgba(35,52,29,.10);
  --ease:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.22,1.3,.36,1);
  --container:min(1180px,calc(100vw - 40px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--color-bg);
  color:var(--color-text);
  font-family:var(--font-ui);
  line-height:1.6;
  overflow-x:hidden;
}
body.modal-open{overflow:hidden}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
::selection{background:var(--color-secondary);color:#fff}
:focus-visible{outline:3px solid var(--color-secondary);outline-offset:4px}
.container{width:var(--container);margin-inline:auto}
.hidden{display:none!important}
.text-center{text-align:center}

.skip-link{
  position:fixed;left:12px;top:-80px;z-index:9999;
  background:#fff;padding:12px 16px;border-radius:10px;
  box-shadow:var(--shadow-card);transition:.25s;
}
.skip-link:focus{top:12px}

.scroll-progress{
  position:fixed;inset:0 0 auto;z-index:9999;height:3px;
  background:rgba(255,255,255,.08);pointer-events:none;
}
.scroll-progress span{
  display:block;width:0;height:100%;
  background:linear-gradient(90deg,var(--color-accent),var(--color-secondary),var(--color-primary));
  box-shadow:0 0 14px rgba(135,161,85,.8)
}

/* CUSTOM CURSOR */
.cursor-dot,.cursor-follower{
  position:fixed;left:0;top:0;z-index:9998;pointer-events:none;
  transform:translate(-50%,-50%);border-radius:50%;
}
.cursor-dot{width:7px;height:7px;background:var(--color-primary)}
.cursor-follower{
  width:38px;height:38px;border:1px solid rgba(95,125,39,.65);
  background:rgba(218,239,252,.08);backdrop-filter:blur(3px);
  transition:width .25s var(--ease),height .25s var(--ease),background .25s,border-color .25s;
}
body.cursor-active .cursor-follower{
  width:62px;height:62px;background:rgba(135,161,85,.16);border-color:var(--color-secondary)
}

/* TOPBAR + NAV */
.topbar{
  position:fixed;inset:0 0 auto;z-index:800;
  height:32px;background:var(--color-dark);color:#F7F8F1;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;
}
.topbar__inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.site-header{
  position:fixed;z-index:790;left:0;right:0;top:32px;
  padding:14px 0;transition:.4s var(--ease)
}
.site-header.is-scrolled{padding:8px 0}
.nav-shell{
  height:74px;display:flex;align-items:center;gap:28px;
  padding:10px 14px 10px 18px;border:1px solid rgba(255,255,255,.2);
  border-radius:999px;background:rgba(251,248,239,.66);
  backdrop-filter:blur(18px) saturate(125%);
  box-shadow:0 8px 24px rgba(29,43,24,.08);
  transition:.4s var(--ease)
}
.site-header.is-scrolled .nav-shell{
  height:62px;background:rgba(251,248,239,.9);
  border-color:rgba(42,68,36,.15);box-shadow:0 14px 40px rgba(29,43,24,.14)
}
.brand{display:inline-flex;align-items:center;gap:10px;min-width:220px}
.brand img{width:46px;height:46px;object-fit:contain;align-self:center}
.brand span{display:grid;line-height:1}
.brand strong{font-family:var(--font-display);font-size:21px;letter-spacing:.02em}
.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--color-muted);margin-top:5px}
.desktop-nav{margin-left:auto;display:flex;gap:25px;font-size:13px;font-weight:600}
.desktop-nav a{position:relative;padding:10px 0}
.desktop-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:5px;height:1px;background:var(--color-primary);transition:.3s var(--ease)
}
.desktop-nav a:hover::after{right:0}
.menu-toggle{
  display:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--color-dark);padding:0;place-items:center
}
.menu-toggle span{position:absolute;width:18px;height:1px;background:#fff;transition:.3s}
.menu-toggle span:first-child{transform:translateY(-4px)}
.menu-toggle span:last-child{transform:translateY(4px)}
.menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
.mobile-menu{
  display:none;position:absolute;top:86px;left:20px;right:20px;
  background:rgba(251,248,239,.97);border:1px solid var(--color-line);
  border-radius:24px;padding:18px;box-shadow:var(--shadow-card);backdrop-filter:blur(18px)
}
.mobile-menu.open{display:grid;gap:4px}
.mobile-menu a{padding:13px 8px;border-bottom:1px solid var(--color-line);font-weight:600}
.mobile-menu .btn{margin-top:10px}

/* BUTTONS */
.btn{
  min-height:52px;padding:0 22px;border-radius:999px;border:1px solid transparent;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:700;font-size:13px;letter-spacing:.01em;
  transition:transform .35s var(--spring),box-shadow .35s var(--ease),background .25s,color .25s,border-color .25s;
}
.btn:hover{transform:translateY(-4px)}
.btn--small{min-height:44px;padding-inline:18px;font-size:12px;white-space:nowrap}
.btn--primary{background:var(--color-primary);color:#fff;box-shadow:0 12px 28px rgba(95,125,39,.26)}
.btn--primary:hover{background:var(--color-dark-2);box-shadow:0 18px 34px rgba(42,68,36,.30)}
.btn--ghost{border-color:rgba(42,68,36,.3);background:rgba(255,255,255,.32)}
.btn--ghost:hover{background:#fff;border-color:var(--color-primary)}
.btn--accent{background:var(--color-accent);color:var(--color-dark);box-shadow:0 12px 32px rgba(218,239,252,.24)}
.btn--dark{background:var(--color-dark);color:#fff}
.btn--full{width:100%}
.text-link,.footer-link{
  padding:0;border:0;background:none;color:var(--color-dark-2);
  display:inline-flex;align-items:center;gap:8px;font-weight:700;text-align:left
}
.text-link span{transition:transform .25s var(--spring)}
.text-link:hover span{transform:translateX(6px)}

/* HERO */
.hero-journey{height:440vh;position:relative;background:var(--color-bg)}
.hero-stage{
  position:sticky;top:0;height:100vh;min-height:700px;overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(218,239,252,.66),transparent 25%),
    linear-gradient(135deg,#F5F0E3 0%,#FBF8EF 48%,#E8EBD8 100%);
}
.particles-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-curtain{
  position:absolute;top:-8%;bottom:-8%;width:58%;z-index:2;
  background:
    radial-gradient(ellipse at center,rgba(135,161,85,.1),transparent 58%),
    repeating-radial-gradient(ellipse at 20% 30%,rgba(95,125,39,.22) 0 2px,transparent 3px 17px),
    linear-gradient(130deg,#2A4424 0%,#5F7D27 46%,#87A155 100%);
  filter:saturate(.9);box-shadow:0 0 80px rgba(42,68,36,.24);
  will-change:transform;border-radius:0 55% 55% 0;
}
.hero-curtain::after{
  content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 22%),
  linear-gradient(100deg,transparent 0 40%,rgba(255,255,255,.08) 50%,transparent 60%);
  mix-blend-mode:screen
}
.hero-curtain--left{left:-8%;transform-origin:left center}
.hero-curtain--right{right:-8%;transform:scaleX(-1);transform-origin:right center}
.portal-shell{
  position:absolute;z-index:1;left:50%;top:50%;width:min(72vw,920px);aspect-ratio:1/1;
  transform:translate(-50%,-50%) scale(.46);
  border-radius:49% 51% 48% 52%/46% 44% 56% 54%;
  overflow:hidden;box-shadow:0 0 0 2px rgba(255,255,255,.72),0 0 100px rgba(218,239,252,.8);
  will-change:transform,border-radius
}
.portal-shell::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 58% 30%,transparent 0 26%,rgba(31,46,26,.18) 78%);
  pointer-events:none
}
.portal-scene{width:100%;height:100%;object-fit:cover;transform:scale(1.1);will-change:transform}
.portal-glow{position:absolute;inset:-10%;border:4px solid rgba(236,255,212,.65);border-radius:inherit;filter:blur(8px)}
.hero-layout{
  position:relative;z-index:4;height:100%;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;
  padding-top:110px
}
.hero-copy{opacity:0;transform:translateY(38px);will-change:opacity,transform;max-width:680px}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;
  color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase
}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.eyebrow--light{color:var(--color-accent)}
.hero-title{
  margin:0;font-family:var(--font-display);font-size:clamp(56px,7.6vw,118px);font-weight:600;
  line-height:.78;letter-spacing:-.045em;text-transform:uppercase;color:var(--color-dark)
}
.hero-title span{display:block}
.hero-sub{max-width:660px;margin:30px 0 0;font-size:clamp(16px,1.3vw,20px);color:#3D4938;line-height:1.7}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero-microcopy{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;font-size:11px;font-weight:600;color:var(--color-muted)}
.hero-microcopy span{display:flex;align-items:center;gap:7px}
.hero-microcopy span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-secondary)}
.hero-orbit{position:relative;height:600px;opacity:0;pointer-events:none}
.hero-guardian{
  position:absolute;right:-6%;bottom:-18%;width:min(43vw,510px);
  filter:drop-shadow(0 34px 40px rgba(32,48,27,.24));transform:translateY(34px) rotate(2deg)
}
.float-badge{
  position:absolute;padding:16px 18px;background:rgba(255,255,255,.75);backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,.8);border-radius:18px;box-shadow:var(--shadow-card);
  display:grid;min-width:145px;transform-style:preserve-3d;will-change:transform
}
.float-badge strong{font-family:var(--font-display);font-size:25px;line-height:1}
.float-badge span{font-size:10px;color:var(--color-muted);margin-top:5px;text-transform:uppercase;letter-spacing:.09em}
.float-badge--one{right:2%;top:18%}
.float-badge--two{left:2%;bottom:22%}
.hero-scroll-hint{
  position:absolute;left:50%;bottom:22px;z-index:5;transform:translateX(-50%);
  display:grid;justify-items:center;gap:8px;color:var(--color-muted);font-size:9px;text-transform:uppercase;letter-spacing:.2em
}
.hero-scroll-hint i{width:1px;height:40px;background:linear-gradient(var(--color-primary),transparent);animation:scrollHint 1.8s ease-in-out infinite}
@keyframes scrollHint{0%,100%{transform:scaleY(.3);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* MARQUEE */
.marquee-band{overflow:hidden;background:var(--color-dark);color:#fff;border-block:1px solid rgba(255,255,255,.08)}
.marquee-track{display:flex;width:max-content;animation:marquee 24s linear infinite}
.marquee-content{display:flex;align-items:center;gap:28px;padding:17px 14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.13em}
.marquee-content i{width:6px;height:6px;border-radius:50%;background:var(--color-accent)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* GLOBAL SECTION */
.section{position:relative;padding:clamp(90px,11vw,160px) 0}
.section--compact{padding:52px 0}
.section--soft{background:var(--color-bg-soft)}
.section--dark{background:var(--color-dark);color:#fff;overflow:hidden}
.section-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-muted)}
.section-heading{
  display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:54px
}
.section-heading--wide>div:first-child{max-width:760px}
.section-heading--light{color:#fff}
.split-title{margin:0;font-family:var(--font-display);font-size:clamp(48px,6vw,84px);line-height:.9;letter-spacing:-.035em;text-transform:uppercase;font-weight:600}
.split-title--light{color:#fff}
.line-wrap{display:block;overflow:hidden;padding-bottom:.04em}
.line{display:block;transform:translateY(112%);filter:blur(8px);transition:transform 1s var(--ease),filter 1s var(--ease)}
.split-title.is-visible .line{transform:translateY(0);filter:blur(0)}
.split-title .line-wrap:nth-child(2) .line{transition-delay:.08s}
.split-title .line-wrap:nth-child(3) .line{transition-delay:.16s}
.lead{max-width:680px;font-size:clamp(16px,1.5vw,20px);line-height:1.8;color:var(--color-muted)}
.lead--light{color:rgba(255,255,255,.72)}
.reveal,.fade-up{opacity:0;transform:translateY(28px);filter:blur(8px);transition:opacity .85s var(--ease),transform .85s var(--ease),filter .85s var(--ease)}
.reveal.is-visible,.fade-up.is-visible{opacity:1;transform:translateY(0);filter:blur(0)}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}

/* TRUST */
.operation-cloud{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:24px}
.operation-chip{
  padding:13px 17px;border-radius:999px;background:#fff;border:1px solid var(--color-line);
  box-shadow:0 8px 20px rgba(42,68,36,.05);font-size:12px;font-weight:600;color:var(--color-muted)
}
.operation-chip span{filter:grayscale(.4);margin-right:5px}
.trust-note{text-align:center;font-family:var(--font-serif);font-size:16px;color:var(--color-dark-2);margin:22px 0 0}

/* SPLIT */
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,8vw,110px);align-items:center}
.split-grid--reverse .support-visual{order:2}
.split-copy .lead{margin:28px 0}
.statement-card{
  padding:24px;border-left:3px solid var(--color-primary);background:rgba(190,198,161,.26);border-radius:0 var(--radius-md) var(--radius-md) 0
}
.statement-card strong{font-family:var(--font-serif);font-size:22px}
.statement-card p{margin:8px 0 0;color:var(--color-muted)}
.chip-list{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.chip-list span{padding:8px 12px;border:1px solid var(--color-line);border-radius:999px;font-size:11px;font-weight:600;background:#fff}
.visual-card{
  min-height:620px;border-radius:var(--radius-xl);overflow:hidden;position:relative;
  box-shadow:var(--shadow-soft);background:#fff;transform-style:preserve-3d
}
.visual-card img{width:100%;height:100%;object-fit:cover}
.visual-card__caption{
  position:absolute;left:22px;right:22px;bottom:22px;background:rgba(251,248,239,.78);backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.72);border-radius:18px;padding:18px
}
.visual-card__caption span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--color-primary);font-weight:700}
.visual-card__caption strong{font-family:var(--font-serif);font-size:20px}

/* PROCESS */
.sector-switch{
  display:inline-flex;padding:5px;background:rgba(116,132,101,.12);border:1px solid var(--color-line);
  border-radius:999px;margin-bottom:40px
}
.sector-tab,.calc-tab{
  border:0;background:transparent;color:var(--color-muted);border-radius:999px;padding:11px 20px;font-weight:700;font-size:12px
}
.sector-tab.active,.calc-tab.active{background:var(--color-dark-2);color:#fff;box-shadow:0 8px 18px rgba(42,68,36,.2)}
.process-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.process-visual{
  min-height:500px;border-radius:var(--radius-xl);background:
  radial-gradient(circle at 50% 45%,rgba(218,239,252,.85),transparent 24%),
  linear-gradient(145deg,#E7EBD7,#C9D4B5);
  position:relative;display:grid;place-items:center;overflow:hidden;padding:40px
}
.process-visual p{position:absolute;left:30px;right:30px;bottom:28px;margin:0;text-align:center;font-family:var(--font-serif);font-size:18px}
.process-orbit{width:250px;aspect-ratio:1;position:relative;display:grid;place-items:center}
.process-logo{width:112px;height:112px;object-fit:contain;z-index:2;filter:drop-shadow(0 20px 24px rgba(42,68,36,.25))}
.orbit{position:absolute;inset:0;border:1px solid rgba(42,68,36,.28);border-radius:50%;animation:orbitSpin 18s linear infinite}
.orbit::before{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:var(--color-primary);top:10%;left:18%}
.orbit--2{inset:24px;animation-direction:reverse;animation-duration:13s}
.orbit--3{inset:48px;animation-duration:9s}
@keyframes orbitSpin{to{transform:rotate(360deg)}}
.process-steps{list-style:none;padding:0;margin:0;display:grid}
.process-step{
  display:grid;grid-template-columns:54px 1fr;gap:18px;padding:24px 0;border-bottom:1px solid var(--color-line);
  transition:padding .35s var(--ease),background .35s
}
.process-step:hover{padding-left:14px;background:rgba(255,255,255,.32)}
.process-step>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--color-line);font-size:11px;font-weight:700}
.process-step h3{margin:0;font-family:var(--font-display);font-size:27px;text-transform:uppercase}
.process-step p{margin:4px 0 0;color:var(--color-muted)}

/* SOLUTIONS */
.bento-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:repeat(2,minmax(280px,auto));gap:18px}
.solution-card{
  padding:30px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--color-line);
  box-shadow:0 10px 30px rgba(42,68,36,.05);position:relative;overflow:hidden;
  display:flex;flex-direction:column;min-height:280px;transform-style:preserve-3d;
  transition:transform .45s var(--spring),box-shadow .45s var(--ease),border-color .35s
}
.solution-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--color-primary);transform:scaleY(0);transform-origin:bottom;transition:.45s var(--ease)}
.solution-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card);border-color:rgba(95,125,39,.35)}
.solution-card:hover::before{transform:scaleY(1)}
.solution-card--featured{grid-row:span 2;min-height:578px;background:
  radial-gradient(circle at 78% 20%,rgba(218,239,252,.8),transparent 25%),
  linear-gradient(145deg,#F1F3E6,#E0E7CF)}
.solution-card--featured .solution-icon{font-size:82px;margin-top:auto}
.solution-tag{display:inline-flex;align-self:flex-start;padding:7px 11px;border-radius:999px;background:rgba(95,125,39,.12);color:var(--color-primary);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.solution-icon{font-size:44px;margin:22px 0 10px;transition:transform .4s var(--spring)}
.solution-card:hover .solution-icon{transform:scale(1.08) rotate(-4deg)}
.solution-card h3{font-family:var(--font-display);font-size:clamp(32px,3vw,48px);line-height:.95;text-transform:uppercase;margin:10px 0}
.solution-card p{color:var(--color-muted);max-width:520px}
.solution-card .text-link{margin-top:auto}

/* FINDER */
.finder-layout{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.finder-card{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(16px);
  border-radius:var(--radius-xl);padding:32px;box-shadow:0 24px 70px rgba(0,0,0,.18)
}
.finder-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.finder-fields label,.lead-form label,.calc-fields label{display:grid;gap:8px}
.finder-fields label span,.lead-form label>span,.calc-fields label span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
select,input,textarea{
  width:100%;border:1px solid rgba(42,68,36,.2);background:#fff;color:var(--color-text);
  border-radius:13px;padding:14px 15px;min-height:50px;transition:border-color .2s,box-shadow .2s
}
select:focus,input:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(95,125,39,.12)}
.finder-card select{background:rgba(255,255,255,.96)}
.finder-result{
  min-height:250px;margin:18px 0;padding:24px;border-radius:20px;background:rgba(218,239,252,.1);
  border:1px solid rgba(218,239,252,.22);display:grid;align-items:center
}
.finder-result__empty{display:flex;align-items:center;gap:18px;color:rgba(255,255,255,.6)}
.finder-result__empty span{font-family:var(--font-display);font-size:52px;color:var(--color-accent)}
.finder-answer .finder-organism{font-family:var(--font-serif);font-style:italic;font-size:31px;color:#fff}
.finder-answer p{color:rgba(255,255,255,.7)}
.finder-answer dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 0}
.finder-answer dl div{padding:13px;border:1px solid rgba(255,255,255,.12);border-radius:12px}
.finder-answer dt{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}
.finder-answer dd{margin:4px 0 0;font-weight:600}
.finder-card>.btn{width:100%}
.finder-card>small{display:block;text-align:center;color:rgba(255,255,255,.52);margin-top:11px}

/* CATALOG */
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.catalog-filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-btn{
  border:1px solid var(--color-line);background:transparent;border-radius:999px;padding:10px 16px;font-weight:700;font-size:11px;color:var(--color-muted)
}
.filter-btn.active{background:var(--color-dark-2);color:#fff;border-color:var(--color-dark-2)}
.drag-hint{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-muted)}
.catalog-track{
  display:flex;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;
  padding:8px 4px 28px;scrollbar-width:thin;cursor:grab
}
.catalog-track.dragging{cursor:grabbing;user-select:none}
.organism-card{
  flex:0 0 min(360px,82vw);scroll-snap-align:start;padding:26px;border-radius:var(--radius-lg);
  background:#fff;border:1px solid var(--color-line);min-height:360px;display:flex;flex-direction:column;
  transition:transform .35s var(--spring),box-shadow .35s
}
.organism-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-card)}
.organism-card.is-hidden{display:none}
.organism-sector{align-self:flex-start;padding:7px 10px;border-radius:999px;background:var(--color-bg-soft);font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--color-primary)}
.organism-card h3{font-family:var(--font-display);font-size:34px;line-height:1;margin:34px 0 12px}
.organism-card h3 em{font-family:var(--font-serif);font-size:26px}
.organism-card p{color:var(--color-muted)}
.organism-card dl{margin:auto 0 0;display:grid;gap:8px}
.organism-card dl div{padding-top:12px;border-top:1px solid var(--color-line)}
.organism-card dt{font-size:9px;text-transform:uppercase;letter-spacing:.11em;color:var(--color-muted)}
.organism-card dd{margin:3px 0 0;font-weight:600;font-size:13px}

/* COMPARISON */
.comparison-wrap{overflow-x:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}
.comparison-table{width:100%;min-width:860px;border-collapse:collapse;background:#fff}
.comparison-table th,.comparison-table td{padding:19px 18px;border-bottom:1px solid var(--color-line);text-align:left;vertical-align:middle}
.comparison-table th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}
.comparison-table td{font-size:13px}
.comparison-table .featured{background:rgba(190,198,161,.32);font-weight:700}
.comparison-table .positive{color:var(--color-dark-2)}
.comparison-table .positive::before{content:"✓ ";color:var(--color-primary)}
.comparison-table .negative{color:#786C62}
.comparison-table .negative::before{content:"× ";color:#A75546}
.center-cta{text-align:center;margin-top:28px}

/* CALCULATOR */
.calculator-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.calc-disclaimer{padding:18px;border-left:2px solid var(--color-primary);color:var(--color-muted);font-size:12px;background:var(--color-bg-soft);border-radius:0 12px 12px 0}
.calculator-card{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-xl);padding:30px;box-shadow:var(--shadow-soft)}
.sector-switch--compact{margin-bottom:22px}
.calc-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.calc-output{margin:22px 0;padding:24px;background:var(--color-dark);color:#fff;border-radius:20px;display:grid;gap:4px}
.calc-output span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--color-accent)}
.calc-output strong{font-family:var(--font-display);font-size:45px;line-height:1.1}
.calc-output small{color:rgba(255,255,255,.6)}

/* RESULTS */
.results-band{
  padding:clamp(90px,10vw,145px) 0;background:
  radial-gradient(circle at 20% 0%,rgba(135,161,85,.35),transparent 35%),
  var(--color-dark-2);color:#fff
}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-xl);overflow:hidden}
.stat-card{padding:36px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);min-height:180px;display:flex;flex-direction:column;justify-content:space-between}
.stat-card:nth-child(3n){border-right:0}
.stat-card:nth-last-child(-n+3){border-bottom:0}
.stat-card strong{font-family:var(--font-display);font-size:clamp(52px,6vw,78px);line-height:.8;color:var(--color-accent)}
.stat-card p{margin:22px 0 0;color:rgba(255,255,255,.7);max-width:240px}
.method-note{text-align:center;margin:24px 0 0;color:rgba(255,255,255,.55);font-size:11px}

/* CASES */
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case-card{
  min-height:390px;padding:28px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--color-line);
  box-shadow:0 10px 30px rgba(42,68,36,.05);display:flex;flex-direction:column;transform-style:preserve-3d
}
.case-number{font-family:var(--font-display);font-size:72px;line-height:1;color:var(--color-primary)}
.case-card h3{font-family:var(--font-display);font-size:34px;text-transform:uppercase;line-height:1;margin:28px 0 12px}
.case-card p{color:var(--color-muted)}
.case-card small{margin-top:auto;padding-top:20px;border-top:1px solid var(--color-line);font-weight:600}

/* TESTIMONIALS */
.testimonials{overflow:hidden}
.testimonials .container{margin-bottom:42px}
.testimonial-marquee{overflow:hidden}
.testimonial-track{display:flex;width:max-content;gap:16px;animation:testimonialLoop 34s linear infinite;padding:10px 0 26px}
.testimonial-marquee:hover .testimonial-track{animation-play-state:paused}
.testimonial-card{
  width:min(420px,82vw);min-height:220px;padding:26px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--color-line);
  display:flex;flex-direction:column;box-shadow:0 10px 28px rgba(42,68,36,.05)
}
.testimonial-card p{font-family:var(--font-serif);font-size:20px;line-height:1.5;margin:0}
.testimonial-card footer{margin-top:auto;display:grid}
.testimonial-card footer span{color:var(--color-muted);font-size:11px;margin-top:4px}
@keyframes testimonialLoop{to{transform:translateX(calc(-50% - 8px))}}
.testimonial-note{text-align:center;color:var(--color-muted);font-size:10px;margin:10px 0 0}

/* SUPPORT */
.support-visual{min-height:620px;border-radius:var(--radius-xl);background:linear-gradient(145deg,#DCE5C9,#B5C79A);display:grid;place-items:center;position:relative;overflow:hidden}
.shield-wrap{width:330px;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.34);display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);box-shadow:inset 0 0 50px rgba(255,255,255,.3)}
.shield-wrap img{width:220px;filter:drop-shadow(0 28px 34px rgba(42,68,36,.25))}
.support-copy-card{position:absolute;left:26px;right:26px;bottom:26px;background:rgba(251,248,239,.82);backdrop-filter:blur(14px);border-radius:18px;padding:18px}
.support-copy-card strong{font-family:var(--font-serif);font-size:20px}
.support-copy-card p{margin:6px 0 0;color:var(--color-muted)}
.support-list{display:grid;margin-top:30px}
.support-item{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--color-line)}
.support-item>span{font-family:var(--font-display);font-size:24px;color:var(--color-primary)}
.support-item h3{margin:0;font-family:var(--font-display);font-size:26px;text-transform:uppercase}
.support-item p{margin:4px 0 0;color:var(--color-muted)}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}
.faq-heading{position:sticky;top:130px}
.faq-item{border-bottom:1px solid var(--color-line)}
.faq-question{
  width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:24px 0;text-align:left;font-weight:700;color:var(--color-text)
}
.faq-question span{font-size:16px}
.faq-question i{font-style:normal;font-size:24px;color:var(--color-primary)}
.faq-answer{max-height:0;overflow:hidden;opacity:0;transition:max-height .45s var(--ease),opacity .35s,padding .45s}
.faq-answer p{margin:0;color:var(--color-muted)}
.faq-item.active .faq-answer{max-height:260px;opacity:1;padding:0 0 24px}

/* FORMS */
.conversion-section{
  position:relative;overflow:hidden;padding:clamp(90px,10vw,150px) 0;background:
  radial-gradient(circle at 20% 30%,rgba(135,161,85,.25),transparent 35%),
  linear-gradient(140deg,#1C281B,#2A4424);color:#fff
}
.conversion-layout{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.conversion-points{display:grid;gap:10px;margin-top:26px}
.conversion-points span{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.74);font-size:13px}
.conversion-points span::before{content:"✓";width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(218,239,252,.14);color:var(--color-accent)}
.lead-form{background:rgba(255,255,255,.95);color:var(--color-text);border:1px solid rgba(255,255,255,.4);border-radius:var(--radius-xl);padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.2)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.form-span-2{grid-column:1/-1}
textarea{resize:vertical;min-height:90px}
.checkbox-field{display:flex!important;grid-template-columns:18px 1fr!important;gap:10px!important;align-items:start;margin:16px 0}
.checkbox-field input{width:17px;height:17px;min-height:0;margin-top:3px}
.checkbox-field span{text-transform:none!important;letter-spacing:0!important;font-size:11px!important;color:var(--color-muted)}
.form-status{min-height:20px;margin:10px 0 0;font-size:12px;color:#A43D2D}
.lead-form>small{display:block;text-align:center;margin-top:11px;color:var(--color-muted);font-size:9px}

/* FOOTER */
.site-footer{position:relative;overflow:hidden;background:#111811;color:#fff;padding:80px 0 22px}
.site-footer>.container{position:relative;z-index:2}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px;padding-bottom:60px}
.brand--footer{min-width:0}
.brand--footer small{color:rgba(255,255,255,.5)}
.footer-brand p{max-width:360px;color:rgba(255,255,255,.58);font-size:13px}
.footer-grid h3{font-family:var(--font-display);text-transform:uppercase;font-size:18px;margin:0 0 18px}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:10px;font-size:12px;color:rgba(255,255,255,.62)}
.footer-grid a:hover,.footer-link:hover{color:var(--color-accent)}
.footer-link{color:rgba(255,255,255,.62)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.38);font-size:10px}

/* FLY + FLOAT CTA + WHATSAPP */
.flying-fly{
  position:fixed;z-index:690;width:70px;height:auto;pointer-events:none;opacity:0;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.25));will-change:transform,opacity
}
.floating-cta{
  position:fixed;z-index:700;left:50%;bottom:22px;transform:translate(-50%,120px);
  border:1px solid rgba(255,255,255,.26);background:rgba(28,40,27,.92);backdrop-filter:blur(12px);
  color:#fff;border-radius:999px;padding:11px 12px 11px 18px;display:flex;align-items:center;gap:16px;
  font-weight:700;font-size:12px;box-shadow:0 20px 50px rgba(0,0,0,.24);transition:.5s var(--spring)
}
.floating-cta.show{transform:translate(-50%,0)}
.floating-cta i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--color-secondary);font-style:normal}
.whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:710;width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 16px 36px rgba(37,211,102,.28);
  animation:waPulse 2.2s infinite
}
.whatsapp-float svg{width:27px;fill:currentColor}
@keyframes waPulse{0%,100%{box-shadow:0 16px 36px rgba(37,211,102,.28),0 0 0 0 rgba(37,211,102,.25)}50%{box-shadow:0 16px 36px rgba(37,211,102,.32),0 0 0 12px rgba(37,211,102,0)}}

/* MODAL */
.modal{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;padding:18px}
.modal.open{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(9,14,9,.72);backdrop-filter:blur(8px);animation:modalFade .3s}
.modal-dialog{
  position:relative;z-index:1;width:min(920px,100%);max-height:calc(100vh - 36px);overflow:auto;
  display:grid;grid-template-columns:.82fr 1.18fr;background:var(--color-bg);border-radius:30px;
  box-shadow:0 34px 100px rgba(0,0,0,.4);animation:modalIn .45s var(--spring)
}
@keyframes modalFade{from{opacity:0}}@keyframes modalIn{from{opacity:0;transform:translateY(28px) scale(.97)}}
.modal-close{position:absolute;right:14px;top:14px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:24px}
.modal-intro{padding:42px;background:linear-gradient(150deg,#2A4424,#1C281B);color:#fff}
.modal-intro h2{font-family:var(--font-display);font-size:52px;line-height:.9;text-transform:uppercase;margin:12px 0 18px}
.modal-intro p{color:rgba(255,255,255,.68)}
.modal-intro ul{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px}
.modal-intro li{display:flex;gap:8px;font-size:12px}
.modal-intro li::before{content:"✓";color:var(--color-accent)}
.modal-form{border-radius:0;box-shadow:none;padding:42px 34px;background:transparent}

/* THANK YOU PAGE */
.thankyou-body{min-height:100vh;background:linear-gradient(135deg,#EEF2E3,#FBF8EF)}
.thankyou-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.thankyou-copy{padding:80px clamp(28px,7vw,100px);display:flex;flex-direction:column;justify-content:center}
.thankyou-copy .brand{margin-bottom:70px}
.thankyou-check{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:#fff;font-size:30px;margin-bottom:26px;box-shadow:0 15px 36px rgba(95,125,39,.26)}
.thankyou-copy h1{font-family:var(--font-display);font-size:clamp(58px,7vw,104px);line-height:.82;text-transform:uppercase;margin:0}
.thankyou-copy p{max-width:620px;color:var(--color-muted);font-size:18px}
.thankyou-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.thankyou-note{font-size:11px!important;margin-top:24px}
.thankyou-panel{padding:60px;display:grid;place-items:center;background:var(--color-dark);position:relative;overflow:hidden}
.schedule-card{position:relative;z-index:2;width:min(520px,100%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:30px;padding:36px;color:#fff;backdrop-filter:blur(16px)}
.schedule-card h2{font-family:var(--font-display);font-size:48px;text-transform:uppercase;line-height:.9;margin:0 0 14px}
.schedule-card p{color:rgba(255,255,255,.66)}
.schedule-steps{display:grid;gap:12px;margin:26px 0}
.schedule-step{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px}
.schedule-step span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(218,239,252,.12);color:var(--color-accent);font-size:11px}
.schedule-step strong{display:block}
.schedule-step small{color:rgba(255,255,255,.5)}
.redirect-countdown{font-size:11px;color:rgba(255,255,255,.55);text-align:center;margin-top:12px}

/* RESPONSIVE */
@media (max-width:1100px){
  .desktop-nav{display:none}
  .nav-shell>.btn{margin-left:auto}
  .menu-toggle{display:grid}
  .hero-layout{grid-template-columns:1fr .75fr;gap:20px}
  .hero-title{font-size:clamp(56px,9vw,95px)}
  .finder-layout,.calculator-layout,.conversion-layout{gap:45px}
  .footer-grid{grid-template-columns:1.3fr 1fr 1fr}
  .footer-grid>div:last-child{grid-column:2/4}
}
@media (max-width:880px){
  :root{--container:min(100% - 28px,760px)}
  .topbar__location{display:none}
  .topbar__inner{justify-content:center}
  .site-header{padding-inline:0}
  .nav-shell{height:64px;padding:7px 9px 7px 12px}
  .site-header .brand{min-width:0}
  .site-header .brand span{display:none}
  .site-header .brand img{width:42px;height:42px}
  .nav-shell>.btn{display:none}
  .hero-journey{height:300vh}
  .hero-stage{min-height:650px}
  .hero-layout{grid-template-columns:1fr;align-items:end;padding:140px 0 80px}
  .hero-copy{max-width:100%}
  .hero-orbit{position:absolute;right:-14%;top:13%;height:360px;width:55vw;opacity:.45!important}
  .hero-guardian{width:320px;bottom:0}
  .float-badge{display:none}
  .portal-shell{width:95vw}
  .hero-curtain{width:68%}
  .hero-title{font-size:clamp(52px,12vw,84px)}
  .hero-sub{max-width:620px}
  .split-grid,.process-layout,.finder-layout,.calculator-layout,.conversion-layout,.faq-layout{grid-template-columns:1fr}
  .split-grid--reverse .support-visual{order:0}
  .visual-card,.support-visual{min-height:520px}
  .section-heading{align-items:start;flex-direction:column}
  .bento-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .solution-card--featured{grid-row:auto;grid-column:1/-1;min-height:420px}
  .finder-copy{max-width:680px}
  .calc-fields{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .stat-card:nth-child(3n){border-right:1px solid rgba(255,255,255,.12)}
  .stat-card:nth-child(2n){border-right:0}
  .stat-card:nth-last-child(-n+3){border-bottom:1px solid rgba(255,255,255,.12)}
  .stat-card:nth-last-child(-n+2){border-bottom:0}
  .case-grid{grid-template-columns:1fr}
  .case-card{min-height:310px}
  .faq-heading{position:relative;top:auto}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:last-child{grid-column:auto}
  .modal-dialog{grid-template-columns:1fr;max-width:620px}
  .modal-intro{display:none}
  .thankyou-shell{grid-template-columns:1fr}
  .thankyou-panel{min-height:620px}
}
@media (max-width:640px){
  :root{--container:calc(100vw - 24px)}
  .topbar{font-size:9px}
  .hero-journey{height:250vh}
  .hero-stage{min-height:620px}
  .hero-layout{padding-top:120px}
  .hero-title{font-size:clamp(48px,15.5vw,70px)}
  .hero-sub{font-size:14px;line-height:1.6}
  .hero-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .btn{width:100%}
  .hero-microcopy{gap:10px}
  .hero-microcopy span:nth-child(3){display:none}
  .hero-orbit{right:-31%;top:14%;width:74vw;opacity:.28!important}
  .portal-shell{width:110vw}
  .hero-curtain{width:76%}
  .hero-scroll-hint{display:none}
  .section{padding:78px 0}
  .section--compact{padding:42px 0}
  .split-title{font-size:clamp(43px,13vw,62px)}
  .split-grid{gap:38px}
  .visual-card,.support-visual{min-height:420px}
  .process-visual{min-height:400px}
  .process-step{grid-template-columns:44px 1fr}
  .process-step h3{font-size:23px}
  .bento-grid{grid-template-columns:1fr}
  .solution-card--featured{grid-column:auto}
  .finder-card,.calculator-card,.lead-form{padding:20px}
  .finder-fields,.form-grid{grid-template-columns:1fr}
  .form-span-2{grid-column:auto}
  .finder-answer dl{grid-template-columns:1fr}
  .catalog-toolbar{align-items:flex-start;flex-direction:column}
  .drag-hint{display:none}
  .stats-grid{grid-template-columns:1fr}
  .stat-card,.stat-card:nth-child(n){border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .stat-card:last-child{border-bottom:0}
  .stat-card{min-height:150px}
  .shield-wrap{width:240px}
  .shield-wrap img{width:170px}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .floating-cta{left:14px;right:78px;bottom:14px;transform:translateY(120px);justify-content:space-between}
  .floating-cta.show{transform:translateY(0)}
  .whatsapp-float{right:14px;bottom:14px}
  .modal{padding:8px}
  .modal-dialog{max-height:calc(100vh - 16px);border-radius:20px}
  .modal-form{padding:54px 18px 20px}
  .modal-close{top:10px;right:10px}
  .thankyou-copy{padding:40px 22px}
  .thankyou-copy .brand{margin-bottom:50px}
  .thankyou-panel{padding:24px;min-height:560px}
  .schedule-card{padding:24px}
}
@media (max-width:390px){
  .hero-title{font-size:46px}
  .split-title{font-size:42px}
  .brand strong{font-size:18px}
  .process-visual{min-height:360px}
  .organism-card{flex-basis:88vw}
  .whatsapp-float{width:50px;height:50px}
}

/* REDUCED MOTION + POINTER */
@media (pointer:coarse){
  .cursor-dot,.cursor-follower{display:none!important}
  body{cursor:auto!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-journey{height:auto}
  .hero-stage{position:relative;height:auto;min-height:780px}
  .hero-copy,.hero-orbit{opacity:1!important;transform:none!important}
  .portal-shell{transform:translate(-50%,-50%) scale(1)!important}
  .hero-curtain{display:none}
  .line,.reveal,.fade-up{transform:none!important;filter:none!important;opacity:1!important}
  .flying-fly{display:none}
}


/* =========================================
   AJUSTES LIGEROS — JULIO 2026
   Conserva arquitectura, motion y UX base.
========================================= */

/* Hero: misma experiencia, composición centrada y tamaños contenidos */
.hero-layout{
  grid-template-columns:1fr;
  justify-items:center;
  text-align:center;
  padding-top:110px;
}
.hero-copy{
  width:min(820px,74vw);
  max-width:none;
  margin-inline:auto;
  display:grid;
  justify-items:center;
}
.hero-eyebrow{justify-content:center}
.hero-title{
  font-size:clamp(52px,6.2vw,94px);
  line-height:.84;
  max-width:12ch;
}
.hero-sub{
  max-width:760px;
  margin-inline:auto;
}
.hero-actions{justify-content:center}
.hero-orbit{
  position:absolute;
  inset:0;
  height:100%;
}
.hero-guardian{
  right:1%;
  bottom:-3%;
  width:min(31vw,430px);
  max-height:76vh;
  object-fit:contain;
  object-position:right bottom;
}
.portal-scene{
  object-position:center;
  filter:saturate(.92) contrast(1.03) brightness(.92);
}
.hero-statbar{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.hero-statbar span{
  display:flex;
  align-items:baseline;
  gap:6px;
  padding:10px 14px;
  border:1px solid rgba(42,68,36,.12);
  border-radius:999px;
  background:rgba(251,248,239,.72);
  backdrop-filter:blur(12px);
  color:var(--color-muted);
  font-size:11px;
  box-shadow:0 8px 22px rgba(42,68,36,.06);
}
.hero-statbar strong{
  color:var(--color-dark);
  font-family:var(--font-display);
  font-size:20px;
  line-height:1;
}

/* Titulares: reducción moderada, no rediseño */
.split-title{
  font-size:clamp(42px,5vw,72px);
}

/* Operaciones: chips convertidos en cards visuales, misma sección */
.operation-cloud--visual{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.operation-card{
  position:relative;
  min-height:190px;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--color-line);
  box-shadow:0 10px 28px rgba(42,68,36,.07);
  transform-style:preserve-3d;
}
.operation-card::after{
  content:"";
  position:absolute;
  inset:35% 0 0;
  background:linear-gradient(transparent,rgba(17,24,17,.86));
  pointer-events:none;
}
.operation-card img{
  width:100%;
  height:100%;
  min-height:190px;
  object-fit:cover;
}
.operation-card div{
  position:absolute;
  left:14px;
  right:14px;
  bottom:12px;
  z-index:2;
  display:flex;
  align-items:center;
  gap:8px;
  color:#fff;
}
.operation-card div span{font-size:20px}
.operation-card div strong{font-size:12px;line-height:1.2}

/* Qué hacemos: foto real + cruce de mosca dentro de la sección */
.visual-card{isolation:isolate}
.section-fly{
  position:absolute;
  z-index:5;
  width:68px;
  height:auto;
  pointer-events:none;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.22));
  will-change:transform,opacity;
}
.section-fly--about{
  top:25%;
  right:-90px;
  animation:flySectionRightToLeft 12s linear infinite;
}
.section-fly--catalog{
  top:42%;
  right:-90px;
  animation:flySectionRightToLeft 15s linear infinite 2.5s;
}
.section-fly--testimonials{
  top:34%;
  left:-90px;
  animation:flySectionLeftToRight 14s linear infinite 1.2s;
}
@keyframes flySectionRightToLeft{
  0%{transform:translate3d(0,0,0) rotate(5deg) scale(.78);opacity:0}
  12%{opacity:.9}
  38%{transform:translate3d(-35vw,-34px,0) rotate(-8deg) scale(1)}
  65%{transform:translate3d(-68vw,22px,0) rotate(7deg) scale(.92)}
  88%{opacity:.86}
  100%{transform:translate3d(-112vw,-12px,0) rotate(-4deg) scale(.7);opacity:0}
}
@keyframes flySectionLeftToRight{
  0%{transform:translate3d(0,0,0) rotate(-5deg) scale(.78);opacity:0}
  12%{opacity:.9}
  42%{transform:translate3d(42vw,28px,0) rotate(8deg) scale(1)}
  72%{transform:translate3d(80vw,-24px,0) rotate(-7deg) scale(.9)}
  100%{transform:translate3d(112vw,10px,0) rotate(4deg) scale(.72);opacity:0}
}

/* Catálogo: misma pista horizontal y mismos filtros, ahora con imagen */
.organism-card{
  padding:0;
  min-height:420px;
  overflow:hidden;
}
.organism-media{
  margin:0;
  height:150px;
  overflow:hidden;
  background:var(--color-bg-soft);
}
.organism-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .6s var(--ease);
}
.organism-card:hover .organism-media img{transform:scale(1.05)}
.organism-card > .organism-sector,
.organism-card > h3,
.organism-card > p,
.organism-card > dl{
  margin-left:22px;
  margin-right:22px;
}
.organism-card > .organism-sector{margin-top:20px}
.organism-card h3{margin-top:22px}

/* Floating sutil para todas las cards visuales; el tilt JS original se conserva */
.operation-card,
.organism-card,
.testimonial-card,
.solution-card,
.case-card{
  animation:cardBreath 7s ease-in-out infinite;
}
.operation-card:nth-child(2n),
.organism-card:nth-child(2n),
.testimonial-card:nth-child(2n){animation-delay:-2.4s}
@keyframes cardBreath{
  0%,100%{translate:0 0}
  50%{translate:0 -5px}
}

/* Testimonios: fotos B2B, estrellas y fuentes visuales sin calificación inventada */
.testimonial-track{
  animation-duration:22s;
  gap:12px;
}
.testimonial-card{
  width:min(430px,84vw);
  min-height:250px;
  padding:22px;
}
.testimonial-profile{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.testimonial-profile > img{
  width:58px;
  height:58px;
  border-radius:50%;
  object-fit:cover;
  border:3px solid var(--color-bg-soft);
}
.testimonial-source{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.review-stars{
  width:100%;
  color:#E8A800;
  letter-spacing:.08em;
  font-size:12px;
}
.review-platform{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:4px 7px;
  border-radius:999px;
  border:1px solid var(--color-line);
  background:var(--color-bg-soft);
  font-size:9px;
  font-family:var(--font-ui);
  color:var(--color-muted);
}
.review-platform b{
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#4285F4;
}
.review-platform.trustpilot b{
  color:#00B67A;
}
.testimonial-card p{font-size:18px}

/* Evita cortes del personaje y mantiene mobile ligero */
@media (max-width:1100px){
  .hero-copy{width:min(760px,72vw)}
  .hero-guardian{width:min(34vw,360px);right:-2%;bottom:-2%}
  .operation-cloud--visual{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:880px){
  .hero-copy{width:min(680px,88vw)}
  .hero-guardian{
    width:min(42vw,300px);
    right:-5%;
    bottom:-1%;
    opacity:.82;
  }
  .hero-title{font-size:clamp(48px,10vw,72px)}
  .operation-cloud--visual{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .hero-copy{width:92vw}
  .hero-title{font-size:clamp(42px,13vw,62px)}
  .hero-sub{font-size:15px;line-height:1.6}
  .hero-guardian{
    width:min(54vw,260px);
    right:-11%;
    bottom:0;
    opacity:.66;
  }
  .hero-statbar{
    display:grid;
    grid-template-columns:1fr;
    width:min(330px,100%);
  }
  .hero-statbar span{justify-content:center}
  .operation-cloud--visual{grid-template-columns:1fr 1fr}
  .operation-card{min-height:155px}
  .operation-card img{min-height:155px}
  .section-fly{width:52px}
}


/* =========================================================
   HERO MYTHIC-NATURECORE — AJUSTE AISLADO
   ========================================================= */
.hero-journey--mythic{height:480vh}

.hero-journey--mythic .hero-stage{
  position:sticky;
  top:0;
  height:100svh;
  min-height:680px;
  isolation:isolate;
  perspective:1200px;
  background:
    radial-gradient(circle at 50% 44%,rgba(247,241,218,.62),transparent 30%),
    linear-gradient(180deg,#ecebdc 0%,#f8f3e7 52%,#e1e7d2 100%);
}

.hero-journey--mythic .portal-shell{
  z-index:1;
  width:min(78vw,1120px);
  aspect-ratio:16/10;
  border-radius:46% 54% 48% 52% / 54% 48% 52% 46%;
  transform:translate(-50%,-50%) scale(.42);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.85),
    0 0 80px rgba(235,247,212,.8),
    0 45px 110px rgba(24,42,19,.24);
  overflow:hidden;
}

.hero-journey--mythic .portal-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg,rgba(20,38,17,.12),transparent 35%,rgba(15,30,13,.18)),
    radial-gradient(circle at 50% 42%,rgba(255,250,228,.08),rgba(17,31,14,.18) 82%);
  pointer-events:none;
}

.hero-journey--mythic .portal-scene{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
  transform:scale(1.04);
  filter:saturate(.92) contrast(1.04) brightness(.88);
  will-change:transform,filter;
}

.hero-journey--mythic .portal-depth{
  position:absolute;
  inset:-8%;
  pointer-events:none;
  z-index:3;
  mix-blend-mode:screen;
  will-change:transform,opacity;
}

.hero-journey--mythic .portal-depth--back{
  background:
    radial-gradient(ellipse at 50% 85%,rgba(169,195,101,.18),transparent 40%),
    radial-gradient(circle at 50% 18%,rgba(255,246,208,.25),transparent 32%);
}

.hero-journey--mythic .portal-depth--mid{
  background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.12) 48%,transparent 63%);
  filter:blur(3px);
}

.hero-journey--mythic .hero-curtain{
  z-index:3;
  width:60%;
  background:
    radial-gradient(ellipse at 35% 35%,rgba(172,201,107,.18),transparent 50%),
    repeating-radial-gradient(ellipse at 20% 30%,rgba(63,96,34,.24) 0 2px,transparent 3px 17px),
    linear-gradient(130deg,#1f3a1e 0%,#4f7128 46%,#839d50 100%);
  box-shadow:0 0 100px rgba(30,58,26,.34);
}

.hero-layout--centered{
  z-index:5;
  display:grid;
  grid-template-columns:1fr;
  place-items:center;
  align-content:center;
  height:100%;
  padding-top:clamp(92px,11vh,128px);
  padding-bottom:clamp(96px,12vh,136px);
  text-align:center;
}

.hero-copy--centered{
  width:min(900px,92%);
  max-width:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  opacity:0;
  transform:translateY(30px);
  will-change:opacity,transform;
}

.hero-copy--centered .hero-eyebrow{
  justify-content:center;
  font-family:"Imprima",sans-serif;
  letter-spacing:.18em;
}

.hero-title--mythic{
  max-width:12ch;
  margin-inline:auto;
  font-family:"Viaoda Libre",serif;
  font-size:clamp(52px,7vw,104px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.045em;
  text-transform:none;
  text-wrap:balance;
  text-shadow:0 2px 22px rgba(246,243,224,.38);
}

.hero-copy--centered .hero-sub{
  max-width:760px;
  margin:24px auto 0;
  font-family:"Imprima",sans-serif;
  color:#26331f;
  line-height:1.58;
  text-wrap:balance;
}

.hero-copy--centered .hero-actions,
.hero-copy--centered .hero-statbar{justify-content:center}

.hero-copy--centered .hero-statbar{
  width:min(760px,100%);
  padding:10px;
  margin-top:22px;
  border:1px solid rgba(255,255,255,.62);
  border-radius:999px;
  background:rgba(250,247,235,.66);
  box-shadow:0 16px 42px rgba(31,49,24,.12);
  backdrop-filter:blur(16px);
}

.hero-copy--centered .hero-statbar span{
  flex:1 1 180px;
  justify-content:center;
  background:transparent;
  border:0;
  box-shadow:none;
}

.hero-orbit--centered{
  position:absolute;
  inset:0;
  z-index:-1;
  height:auto;
  opacity:0;
  pointer-events:none;
}

.hero-orbit--centered .hero-guardian{
  right:clamp(-70px,-3vw,-20px);
  bottom:clamp(-185px,-15vh,-90px);
  width:min(34vw,460px);
  opacity:.92;
}

.hero-arc-scene{
  position:absolute;
  inset:0;
  z-index:6;
  display:grid;
  place-items:center;
  pointer-events:none;
  opacity:0;
  transform:translateY(42px) scale(.96);
  will-change:opacity,transform;
}

.hero-arc-heading{
  position:absolute;
  top:20%;
  left:50%;
  transform:translateX(-50%);
  display:grid;
  gap:5px;
  width:min(760px,90%);
  text-align:center;
  color:#f8f4e8;
  text-shadow:0 3px 24px rgba(15,28,13,.5);
}

.hero-arc-heading span{
  font-family:"Imprima",sans-serif;
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  opacity:.78;
}

.hero-arc-heading strong{
  font-family:"Viaoda Libre",serif;
  font-size:clamp(38px,5vw,72px);
  font-weight:400;
  line-height:1;
}

.hero-arc-track{
  position:absolute;
  left:50%;
  top:93%;
  width:1px;
  height:1px;
  transform-style:preserve-3d;
  will-change:transform;
}

.hero-arc-card{
  position:absolute;
  left:50%;
  top:50%;
  width:clamp(158px,13vw,210px);
  min-height:150px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:6px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.2),rgba(246,242,224,.88)),
    radial-gradient(circle at 50% 5%,rgba(170,195,99,.32),transparent 52%);
  box-shadow:
    0 24px 56px rgba(13,28,12,.25),
    inset 0 1px 0 rgba(255,255,255,.7);
  backdrop-filter:blur(14px);
  color:#22331d;
  opacity:0;
  transform-origin:center 360px;
  will-change:transform,opacity;
}

.hero-arc-card::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:17px;
  border:1px solid rgba(82,110,40,.12);
  pointer-events:none;
}

.hero-arc-card span{
  align-self:flex-start;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(91,126,36,.12);
  color:#526f24;
  font-family:"Imprima",sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hero-arc-card strong{
  position:relative;
  font-family:"Viaoda Libre",serif;
  font-size:21px;
  font-weight:400;
  line-height:1.02;
}

.hero-arc-card small{
  position:relative;
  color:#5f6959;
  font-family:"Imprima",sans-serif;
  line-height:1.25;
}

.hero-journey--mythic .hero-scroll-hint{
  z-index:8;
  color:rgba(248,245,230,.9);
  text-shadow:0 2px 10px rgba(19,36,17,.38);
}

.hero-journey--mythic .portal-scene,
.hero-journey--mythic .portal-depth,
.hero-journey--mythic .hero-orbit{
  transition:translate .2s ease-out,rotate .2s ease-out;
}

@media (max-width:900px){
  .hero-journey--mythic{height:430vh}

  .hero-journey--mythic .portal-shell{
    width:94vw;
    aspect-ratio:4/5;
  }

  .hero-title--mythic{
    font-size:clamp(44px,12vw,76px);
    line-height:.92;
  }

  .hero-copy--centered .hero-sub{
    max-width:620px;
    font-size:15px;
  }

  .hero-orbit--centered .hero-guardian{
    width:min(45vw,350px);
    right:-90px;
    bottom:-110px;
    opacity:.62;
  }

  .hero-arc-heading{top:18%}

  .hero-arc-track{
    top:78%;
    left:0;
    width:max-content;
    height:auto;
    display:flex;
    gap:14px;
    padding-inline:14px;
    transform:none !important;
    animation:heroArcMobile 22s linear infinite;
  }

  .hero-arc-card{
    position:relative;
    left:auto;
    top:auto;
    flex:0 0 178px;
    min-height:142px;
    opacity:1;
    transform:none !important;
  }
}

@media (max-width:640px){
  .hero-journey--mythic .hero-stage{min-height:620px}

  .hero-layout--centered{
    padding-top:105px;
    padding-bottom:105px;
  }

  .hero-copy--centered{width:94%}

  .hero-copy--centered .hero-actions{width:100%}

  .hero-copy--centered .hero-actions .btn{
    width:min(100%,360px);
  }

  .hero-copy--centered .hero-statbar{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border-radius:24px;
  }

  .hero-copy--centered .hero-statbar span{
    padding:8px 5px;
    display:grid;
    gap:2px;
    font-size:9px;
  }

  .hero-copy--centered .hero-statbar strong{font-size:18px}
  .hero-arc-heading{top:20%}
  .hero-arc-heading strong{font-size:42px}
}

@keyframes heroArcMobile{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 7px))}
}

@media (prefers-reduced-motion:reduce){
  .hero-journey--mythic{height:auto}

  .hero-journey--mythic .hero-stage{
    position:relative;
    height:auto;
    min-height:100svh;
  }

  .hero-copy--centered{
    opacity:1 !important;
    transform:none !important;
  }

  .hero-arc-scene,
  .hero-curtain{display:none}
}


/* =========================================================
   AJUSTES FINALES SOLICITADOS
   ========================================================= */

.hero-journey--fast{height:220vh !important}

.hero-journey--fast .hero-stage{
  position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;
  background:#172216;isolation:isolate
}

.hero-journey--fast .portal-shell--full{
  position:absolute;inset:0;width:100%;height:100%;transform:none;
  border-radius:0;overflow:hidden;opacity:1;z-index:1;box-shadow:none
}

.hero-journey--fast .portal-scene{
  width:100%;height:100%;object-fit:cover;object-position:center 62%;
  transform:scale(1.01);filter:saturate(.92) contrast(1.04) brightness(.78);
  will-change:transform;animation:heroAutoZoom 14s ease-in-out infinite alternate
}

.hero-journey--fast .portal-overlay{
  position:absolute;inset:0;z-index:2;
  background:
    linear-gradient(180deg,rgba(12,25,13,.42),rgba(12,25,13,.25) 42%,rgba(12,25,13,.48)),
    radial-gradient(circle at 50% 45%,rgba(20,41,18,.02),rgba(7,18,9,.44) 86%);
  pointer-events:none
}

.hero-journey--fast .portal-depth{z-index:3;opacity:.26;pointer-events:none}

.hero-journey--fast .hero-layout--centered{
  position:relative;z-index:5;height:100%;display:grid;place-items:center;
  text-align:center;padding-top:clamp(92px,11vh,126px);padding-bottom:clamp(82px,10vh,118px)
}

.hero-journey--fast .hero-copy--centered{
  width:min(900px,92%);display:flex;flex-direction:column;align-items:center;
  opacity:0;transform:translateY(22px);
  animation:heroCopyEnter .82s .12s cubic-bezier(.16,1,.3,1) forwards
}

.hero-journey--fast .hero-eyebrow,
.hero-journey--fast .hero-sub,
.hero-journey--fast .hero-title--fast{
  color:#fff;text-shadow:0 3px 22px rgba(0,0,0,.38)
}

.hero-journey--fast .hero-eyebrow{
  font-family:"Montserrat",sans-serif;font-weight:700;letter-spacing:.17em
}

.hero-journey--fast .hero-title--fast{
  position:relative;max-width:14ch;margin-inline:auto;overflow:hidden;
  font-family:"Montserrat",sans-serif;font-size:clamp(50px,6.3vw,92px);
  font-weight:700;line-height:.94;letter-spacing:-.055em;text-transform:none
}

.hero-journey--fast .hero-title--fast span{display:block}

.hero-journey--fast .hero-title--fast::after{
  content:"";position:absolute;inset:-25% auto -25% -34%;width:24%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  filter:blur(2px);animation:heroLightSweep 3.6s 1.1s ease-in-out infinite;
  pointer-events:none
}

.hero-journey--fast .hero-sub{
  max-width:760px;margin:22px auto 0;font-family:"Montserrat",sans-serif;
  font-size:clamp(15px,1.5vw,19px);line-height:1.6;text-wrap:balance
}

.hero-journey--fast .hero-actions,
.hero-journey--fast .hero-statbar{justify-content:center}

.hero-journey--fast .hero-statbar{
  width:min(760px,100%);margin-top:20px;padding:9px;border-radius:999px;
  background:rgba(250,247,235,.84);border:1px solid rgba(255,255,255,.68);
  backdrop-filter:blur(14px)
}

.hero-journey--fast .hero-statbar span{
  flex:1 1 170px;justify-content:center;background:transparent;border:0;box-shadow:none
}

.hero-journey--fast .hero-orbit--centered{
  position:absolute;inset:0;z-index:4;opacity:.92;pointer-events:none
}

.hero-journey--fast .hero-guardian{
  right:clamp(-70px,-2vw,-16px);bottom:clamp(-180px,-13vh,-88px);width:min(33vw,440px)
}

.hero-journey--fast .hero-scroll-hint{z-index:7;color:rgba(255,255,255,.88)}

@keyframes heroCopyEnter{to{opacity:1;transform:translateY(0)}}
@keyframes heroLightSweep{
  0%,28%{left:-34%;opacity:0}
  38%{opacity:.8}
  60%{left:118%;opacity:0}
  100%{left:118%;opacity:0}
}
@keyframes heroAutoZoom{from{transform:scale(1.01)}to{transform:scale(1.085)}}

#que-hacemos{position:relative;overflow:hidden}

.visual-card--cover{
  min-height:620px;position:relative;overflow:hidden;background:#1c281b
}

.visual-card--cover > img:first-child{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center
}

.visual-card__shade{
  position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(11,23,12,.64));z-index:1
}

.visual-card--cover .visual-card__caption{z-index:2;color:var(--color-text)}

.realistic-section-fly{
  position:absolute;z-index:8;width:72px;aspect-ratio:1.45/1;
  object-fit:cover;object-position:center;border-radius:46%;
  mix-blend-mode:multiply;
  filter:contrast(1.08) saturate(.78) drop-shadow(0 8px 12px rgba(0,0,0,.2));
  pointer-events:none;will-change:transform,opacity
}

.realistic-section-fly--about{
  top:30%;right:-90px;animation:realFlyAcrossAbout 10.5s linear infinite
}

.realistic-section-fly--catalog{
  top:38%;right:-90px;animation:realFlyAcrossCatalog 12.5s linear infinite 1.1s
}

@keyframes realFlyAcrossAbout{
  0%{transform:translate3d(0,18px,0) rotate(8deg) scale(.72);opacity:0}
  9%{opacity:.92}
  28%{transform:translate3d(-28vw,-42px,0) rotate(-9deg) scale(.86)}
  54%{transform:translate3d(-58vw,28px,0) rotate(7deg) scale(.78)}
  78%{transform:translate3d(-84vw,-22px,0) rotate(-6deg) scale(.9);opacity:.9}
  100%{transform:translate3d(calc(-100vw - 180px),12px,0) rotate(4deg) scale(.74);opacity:0}
}

@keyframes realFlyAcrossCatalog{
  0%{transform:translate3d(0,-10px,0) rotate(5deg) scale(.7);opacity:0}
  10%{opacity:.88}
  35%{transform:translate3d(-36vw,34px,0) rotate(-8deg) scale(.86)}
  65%{transform:translate3d(-70vw,-28px,0) rotate(7deg) scale(.8)}
  90%{opacity:.86}
  100%{transform:translate3d(calc(-100vw - 180px),16px,0) rotate(-3deg) scale(.72);opacity:0}
}

.catalog-track--auto{
  overflow:hidden !important;cursor:default !important;padding:16px 0 34px;
  scrollbar-width:none;touch-action:pan-y
}

.catalog-track--auto::-webkit-scrollbar{display:none}

.catalog-loop{
  display:flex;gap:18px;width:max-content;
  animation:catalogAutoLoop 28s linear infinite;will-change:transform
}

.catalog-track--auto:hover .catalog-loop,
.catalog-track--auto:focus-within .catalog-loop{animation-play-state:paused}

.catalog-loop .organism-card{flex:0 0 min(360px,82vw)}

@keyframes catalogAutoLoop{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 9px))}
}

.solution-card,
.operation-card,
.organism-card,
.case-card,
.testimonial-card,
.trust-card,
.finder-card,
.calculator-card,
.statement-card,
.visual-card,
.process-step,
.metric-card,
.faq-item{
  animation:cardFloatVisible 5.4s ease-in-out infinite;
  will-change:translate,box-shadow
}

.solution-card:nth-child(2n),
.operation-card:nth-child(2n),
.organism-card:nth-child(2n),
.case-card:nth-child(2n),
.testimonial-card:nth-child(2n),
.trust-card:nth-child(2n),
.process-step:nth-child(2n),
.metric-card:nth-child(2n),
.faq-item:nth-child(2n){animation-delay:-1.75s}

.solution-card:nth-child(3n),
.operation-card:nth-child(3n),
.organism-card:nth-child(3n),
.case-card:nth-child(3n),
.testimonial-card:nth-child(3n),
.trust-card:nth-child(3n),
.process-step:nth-child(3n),
.metric-card:nth-child(3n),
.faq-item:nth-child(3n){animation-delay:-3.15s}

@keyframes cardFloatVisible{
  0%,100%{translate:0 0;box-shadow:var(--shadow-soft)}
  50%{translate:0 -11px;box-shadow:0 24px 55px rgba(31,50,25,.16)}
}

.modal-context-summary{
  margin:0 0 18px;padding:15px;border:1px solid rgba(89,120,40,.2);
  border-radius:17px;background:linear-gradient(135deg,#f1f4e8,#fbf8ef)
}

.modal-context-summary__head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px
}

.modal-context-summary__head span{
  font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--color-primary)
}

.modal-context-summary__head button{
  border:0;background:transparent;color:var(--color-muted);font-size:11px;
  cursor:pointer;text-decoration:underline
}

.modal-context-summary dl{display:grid;gap:8px;margin:0}

.modal-context-summary dl div{
  display:grid;grid-template-columns:minmax(115px,.8fr) 1.4fr;gap:10px;
  padding-top:8px;border-top:1px solid rgba(48,70,34,.09)
}

.modal-context-summary dt{color:var(--color-muted);font-size:11px}
.modal-context-summary dd{margin:0;color:var(--color-text);font-size:12px;font-weight:700}

.conversion-section--banner{padding:clamp(74px,8vw,112px) 0}
.conversion-banner{position:relative;z-index:2}

.conversion-banner__button{
  width:100%;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-xl);
  padding:clamp(30px,5vw,62px);
  background:
    linear-gradient(115deg,rgba(255,255,255,.04),rgba(255,255,255,.01)),
    radial-gradient(circle at 88% 20%,rgba(135,161,85,.28),transparent 28%);
  color:#fff;text-align:left;cursor:pointer;box-shadow:0 28px 80px rgba(0,0,0,.18);
  transition:transform .35s var(--spring),border-color .35s,box-shadow .35s
}

.conversion-banner__button:hover{
  transform:translateY(-6px);border-color:rgba(218,239,252,.3);
  box-shadow:0 34px 90px rgba(0,0,0,.25)
}

.conversion-banner .conversion-copy{width:min(820px,100%)}

.conversion-banner__cta{
  display:inline-flex;align-items:center;gap:12px;margin-top:28px;padding:13px 18px;
  border-radius:999px;background:var(--color-primary);color:#fff;font-weight:800
}

.conversion-banner__cta b{font-size:18px}

@media (max-width:900px){
  .hero-journey--fast{height:185vh !important}
  .hero-journey--fast .hero-title--fast{font-size:clamp(42px,11vw,72px)}
  .hero-journey--fast .hero-guardian{
    width:min(48vw,350px);right:-95px;bottom:-110px;opacity:.72
  }
}

@media (max-width:640px){
  .hero-journey--fast{height:165vh !important}
  .hero-journey--fast .hero-stage{min-height:610px}
  .hero-journey--fast .hero-title--fast{font-size:clamp(39px,12.5vw,57px);line-height:.98}
  .hero-journey--fast .hero-statbar{
    display:grid;grid-template-columns:repeat(3,1fr);border-radius:24px
  }
  .hero-journey--fast .hero-statbar span{
    display:grid;gap:2px;padding:7px 3px;font-size:9px
  }
  .hero-journey--fast .hero-statbar strong{font-size:18px}
  .realistic-section-fly{width:58px}
  .catalog-loop{animation-duration:24s}
  .modal-context-summary dl div{grid-template-columns:1fr;gap:3px}
}

@media (prefers-reduced-motion:reduce){
  .hero-journey--fast{height:auto !important}
  .hero-journey--fast .hero-stage{position:relative;min-height:100svh}
  .hero-journey--fast .hero-copy--centered{
    opacity:1;transform:none;animation:none
  }
  .hero-journey--fast .portal-scene,
  .hero-journey--fast .hero-title--fast::after,
  .catalog-loop,
  .realistic-section-fly,
  .solution-card,
  .operation-card,
  .organism-card,
  .case-card,
  .testimonial-card,
  .trust-card,
  .finder-card,
  .calculator-card,
  .statement-card,
  .visual-card,
  .process-step,
  .metric-card,
  .faq-item{animation:none !important}
}



/* =========================================================
   AJUSTE POPUP ODM + HERO ZOOM + MOSCA PNG
   ========================================================= */

/* Hero: mantener look actual con acercamiento más perceptible */
.hero-journey--fast{height:250vh !important}
.hero-journey--fast .portal-scene{
  animation:heroAutoZoomFast 10s ease-in-out infinite alternate !important;
}
@keyframes heroAutoZoomFast{
  from{transform:scale(1.03)}
  to{transform:scale(1.12)}
}

/* Popup estilo ODM adaptado a BioGuardians */
.modal-dialog--odm{
  width:min(760px,100%);
  max-height:min(94vh,920px);
  display:block !important;
  overflow:auto;
  background:#F8F5EC;
  border-radius:28px;
  box-shadow:0 30px 100px rgba(0,0,0,.35);
  animation:modalIn .38s var(--spring);
}

.modal-shell{
  padding:32px;
}

.modal-close{
  width:44px;height:44px;right:16px;top:16px;
  border:1px solid rgba(26,52,20,.08);
  background:rgba(255,255,255,.9);
  color:#4D5C44;
}

.modal-steps{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:18px;
}

.modal-step-pill{
  appearance:none;
  border:0;
  border-radius:999px;
  padding:10px 16px;
  background:#EEECE5;
  color:#68735F;
  font-size:14px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  transition:all .25s ease;
}

.modal-step-pill.is-active{
  background:linear-gradient(135deg,#2D4527,#567C2C);
  color:#fff;
}

.modal-step-line{
  flex:1;
  height:1px;
  background:#D8D7CC;
}

.modal-head{
  margin-bottom:18px;
}

.modal-head .eyebrow{
  margin-bottom:8px;
}

.modal-head h2{
  margin:0 0 8px;
  font-family:var(--font-body);
  font-size:clamp(28px,4.3vw,42px);
  line-height:1.02;
  color:#203121;
  letter-spacing:-.03em;
  font-weight:900;
}

.modal-head p{
  margin:0;
  color:#617060;
  font-size:17px;
  line-height:1.5;
  max-width:62ch;
}

.modal-interest-card{
  background:linear-gradient(135deg,#20361F,#577A2B);
  color:#fff;
  border-radius:18px;
  padding:15px 18px;
  margin-bottom:18px;
}

.modal-interest-card span{
  display:block;
  font-size:11px;
  letter-spacing:.08em;
  font-weight:800;
  opacity:.78;
  text-transform:uppercase;
  margin-bottom:4px;
}

.modal-interest-card strong{
  display:block;
  font-size:26px;
  line-height:1.1;
}

.modal-form--odm{
  display:block;
}

.modal-step-panel{
  display:none;
}
.modal-step-panel.is-active{
  display:block;
}

.form-grid--odm{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}

.form-grid--odm label{
  display:grid;
  gap:7px;
}

.form-grid--odm label span{
  font-size:14px;
  font-weight:700;
  color:#364234;
}

.form-grid--odm input,
.form-grid--odm select,
.form-grid--odm textarea{
  width:100%;
  min-height:58px;
  border-radius:16px;
  border:1px solid #D8D7CC;
  background:#fff;
  padding:16px 18px;
  font-size:18px;
  color:#1F2B1E;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.form-grid--odm textarea{
  min-height:112px;
  resize:vertical;
}

.form-grid--odm input::placeholder,
.form-grid--odm textarea::placeholder{
  color:#8B9485;
}

.form-grid--odm input:focus,
.form-grid--odm select:focus,
.form-grid--odm textarea:focus{
  outline:none;
  border-color:#7DA233;
  box-shadow:0 0 0 4px rgba(125,162,51,.13);
}

.checkbox-field--odm{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:4px 0 0;
  margin-bottom:20px;
  color:#6A7164;
}

.checkbox-field--odm input{
  width:20px;
  height:20px;
  accent-color:#7A9C2D;
  margin-top:2px;
}

.modal-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
}

.modal-actions--single{
  justify-content:flex-end;
}

.modal-actions .btn{
  min-width:180px;
}

.btn--soft{
  background:#EEF0E8 !important;
  color:#273528 !important;
  border:1px solid #D8D7CC !important;
}

.modal-side-note{
  padding:14px 16px;
  border-radius:18px;
  background:#F1F2EA;
  border:1px solid rgba(32,49,33,.08);
  margin-top:4px;
}

.modal-side-note ul{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

.modal-side-note li{
  position:relative;
  padding-left:18px;
  color:#5D6A59;
  font-weight:600;
}
.modal-side-note li::before{
  content:"";
  width:8px;height:8px;border-radius:50%;
  background:#7A9C2D;
  position:absolute;left:0;top:.5em;
}

.modal-context-summary--odm{
  margin:0 0 16px;
  border-radius:18px;
  background:#FFF;
  border:1px solid #E4E2D8;
  box-shadow:none;
}

.modal-context-summary--odm dl div{
  grid-template-columns:minmax(150px,.82fr) 1.35fr;
}

.form-status{
  margin-top:12px;
  color:#63715F;
}

.realistic-section-fly{
  width:92px;
  mix-blend-mode:normal;
  filter:drop-shadow(0 9px 16px rgba(0,0,0,.18));
}
.realistic-section-fly--about{
  animation-duration:9.8s !important;
}
.realistic-section-fly--catalog{
  animation-duration:11.5s !important;
}

@media (max-width: 720px){
  .modal-shell{
    padding:22px 18px 20px;
  }
  .modal-dialog--odm{
    border-radius:24px;
  }
  .modal-steps{
    gap:8px;
  }
  .modal-step-pill{
    font-size:12px;
    padding:10px 12px;
  }
  .modal-head h2{
    font-size:30px;
  }
  .modal-head p{
    font-size:15px;
  }
  .modal-interest-card strong{
    font-size:20px;
  }
  .form-grid--odm{
    grid-template-columns:1fr;
  }
  .modal-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }
  .modal-actions .btn{
    width:100%;
    min-width:0;
  }
  .modal-context-summary--odm dl div{
    grid-template-columns:1fr;
  }
  .realistic-section-fly{
    width:78px;
  }
}



/* =========================================================
   AJUSTES UX COMPACTOS — SOLO LO SOLICITADO
   ========================================================= */

/* HERO: video en loop + profundidad rápida */
.hero-journey--fast{
  height:175vh !important;
}

.hero-journey--fast .portal-shell--full{
  background:#172216;
}

.hero-journey--fast .portal-scene,
.hero-journey--fast .portal-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
  transform:scale(1.03);
  will-change:transform;
}

.hero-journey--fast .portal-scene{
  z-index:0;
  animation:none !important;
}

.hero-journey--fast .portal-video{
  z-index:1;
  opacity:0;
  transition:opacity .35s ease;
  filter:saturate(.94) contrast(1.04) brightness(.8);
}

.hero-journey--fast .portal-video.is-ready{
  opacity:1;
}

/* Popup compacto, centrado y sin scroll interno */
.modal{
  padding:12px !important;
}

.modal-dialog--odm{
  width:min(650px,100%) !important;
  max-height:calc(100svh - 24px) !important;
  overflow:hidden !important;
  border-radius:26px !important;
}

.modal-shell{
  padding:clamp(18px,2.7vh,28px) clamp(18px,3vw,30px) !important;
  max-height:calc(100svh - 24px);
  overflow:hidden;
}

.modal-steps{
  margin-bottom:12px !important;
}

.modal-head{
  margin-bottom:12px !important;
}

.modal-head .eyebrow{
  margin-bottom:5px !important;
}

.modal-head h2{
  margin-bottom:5px !important;
  font-size:clamp(25px,3.4vw,34px) !important;
}

.modal-head p{
  font-size:14px !important;
  line-height:1.42 !important;
}

.modal-context-summary--compact{
  margin:0 0 12px !important;
  padding:11px !important;
  border-radius:15px !important;
  background:#F0F3E8 !important;
  border:1px solid rgba(69,95,40,.15) !important;
}

.modal-context-summary--compact .modal-context-summary__head{
  margin-bottom:8px !important;
}

.modal-context-groups{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.modal-context-card{
  min-width:0;
  padding:9px 10px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(37,56,31,.08);
}

.modal-context-card > span{
  display:block;
  margin-bottom:3px;
  font-size:9px;
  line-height:1.2;
  letter-spacing:.08em;
  font-weight:800;
  color:var(--color-primary);
  text-transform:uppercase;
}

.modal-context-card > strong{
  display:block;
  margin-bottom:3px;
  color:#223120;
  font-size:12px;
  line-height:1.25;
}

.modal-context-card > small{
  display:block;
  color:#66715F;
  font-size:10px;
  line-height:1.35;
}

.modal-form--odm{
  min-height:0;
}

.form-grid--odm{
  gap:10px !important;
  margin-bottom:10px !important;
}

.form-grid--odm label{
  gap:4px !important;
}

.form-grid--odm label span{
  font-size:12px !important;
}

.form-grid--odm input,
.form-grid--odm select,
.form-grid--odm textarea{
  min-height:48px !important;
  padding:12px 14px !important;
  border-radius:13px !important;
  font-size:15px !important;
}

.form-grid--odm textarea{
  min-height:76px !important;
  max-height:76px !important;
  resize:none !important;
}

.checkbox-field--odm{
  margin-bottom:11px !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

.modal-side-note{
  margin-top:0 !important;
  padding:10px 12px !important;
  border-radius:13px !important;
}

.modal-side-note ul{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px !important;
}

.modal-side-note li{
  font-size:10px !important;
  line-height:1.25;
}

.modal-actions{
  margin-top:10px !important;
}

.modal-actions .btn{
  min-width:150px !important;
  min-height:45px;
  padding:10px 16px !important;
}

.modal-form .form-status{
  margin:7px 0 0 !important;
  font-size:11px;
}

/* FAQ sin fondo, sombra ni floating */
#faq .faq-item{
  background:transparent !important;
  box-shadow:none !important;
  animation:none !important;
  translate:0 0 !important;
  transform:none !important;
  border:0 !important;
  border-bottom:1px solid rgba(43,63,35,.16) !important;
  border-radius:0 !important;
}

#faq .faq-question,
#faq .faq-answer,
#faq .faq-answer-inner{
  background:transparent !important;
  box-shadow:none !important;
}

#faq .faq-item:hover{
  transform:none !important;
  box-shadow:none !important;
}

/* CTA diagnóstico centrado */
.conversion-banner__button{
  text-align:center !important;
}

.conversion-banner .conversion-copy{
  margin-inline:auto !important;
  text-align:center !important;
}

.conversion-banner .eyebrow,
.conversion-banner .split-title,
.conversion-banner .lead{
  text-align:center !important;
}

.conversion-banner .conversion-points{
  justify-content:center !important;
}

.conversion-banner__cta{
  margin-inline:auto !important;
}

/* Ajuste de altura extrema: evita scroll interno */
@media (max-height:720px) and (min-width:721px){
  .modal-dialog--odm{
    scale:.9;
  }
}

@media (max-width:720px){
  .hero-journey--fast{
    height:150vh !important;
  }

  .modal{
    padding:8px !important;
  }

  .modal-dialog--odm{
    max-height:calc(100svh - 16px) !important;
    border-radius:22px !important;
  }

  .modal-shell{
    padding:16px !important;
    max-height:calc(100svh - 16px);
  }

  .modal-context-groups{
    grid-template-columns:1fr;
    gap:6px;
  }

  .modal-context-card{
    padding:8px 9px;
  }

  .modal-context-card > small{
    font-size:9px;
  }

  .modal-side-note ul{
    grid-template-columns:1fr;
    gap:4px !important;
  }
}

@media (max-height:620px){
  .modal-dialog--odm{
    scale:.82;
    width:min(760px,120%) !important;
  }
}



/* =========================================================
   AJUSTE FINAL — POPUP COMPACTO + TYPEWRITER + MOBILE
   ========================================================= */

/* Accesibilidad */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Hero: sin sombra y con área estable para typewriter */
.hero-journey--fast .hero-title--fast{
  text-shadow:none !important;
  min-height:2.82em;
  display:grid;
  place-items:center;
}

.hero-journey--fast .hero-title-typed{
  display:block;
  width:100%;
  white-space:pre-line;
  text-align:center;
  line-height:.94;
}

.hero-journey--fast .hero-title--fast::after{
  content:"";
  display:inline-block;
  width:.075em;
  height:.86em;
  margin-left:.08em;
  background:#fff;
  vertical-align:-.06em;
  opacity:0;
}

.hero-journey--fast .hero-title--fast.is-typing::after{
  opacity:1;
  animation:typeCaretBlink .72s steps(1,end) infinite;
}

.hero-journey--fast .hero-title--fast.is-typed::after{
  opacity:0;
}

@keyframes typeCaretBlink{
  0%,48%{opacity:1}
  49%,100%{opacity:0}
}

/* Desactiva el barrido anterior para no competir con el typewriter */
.hero-journey--fast .hero-title--fast::before{
  content:none !important;
}

/* Resumen: una card horizontal de ancho completo para reducir altura */
.modal-context-groups{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
}

.modal-context-card{
  width:100% !important;
  display:grid !important;
  grid-template-columns:minmax(116px,.68fr) minmax(150px,.92fr) minmax(0,1.8fr);
  align-items:center;
  gap:10px;
  padding:9px 12px !important;
}

.modal-context-card > span,
.modal-context-card > strong,
.modal-context-card > small{
  margin:0 !important;
  min-width:0;
}

.modal-context-card > span{
  font-size:9px !important;
}

.modal-context-card > strong{
  font-size:12px !important;
}

.modal-context-card > small{
  font-size:10px !important;
  line-height:1.28 !important;
}

/* Popup: aprovecha mejor el ancho sin ganar altura */
.modal-dialog--odm{
  width:min(720px,100%) !important;
}

.modal-context-summary--compact{
  padding:10px 11px !important;
}

/* Mobile real */
@media (max-width:720px){
  .hero-journey--fast .hero-title--fast{
    font-size:clamp(36px,10.6vw,52px) !important;
    line-height:.97 !important;
    min-height:2.91em;
    max-width:13ch;
  }

  .hero-journey--fast .hero-title-typed{
    line-height:.97;
  }

  .hero-journey--fast .hero-sub{
    font-size:14px !important;
    line-height:1.5 !important;
    max-width:92%;
  }

  .hero-journey--fast .hero-actions{
    width:min(100%,360px);
  }

  .hero-journey--fast .hero-actions .btn{
    width:100%;
  }

  .modal-dialog--odm{
    width:100% !important;
    max-width:100% !important;
  }

  .modal-shell{
    padding:14px !important;
  }

  .modal-head h2{
    font-size:clamp(24px,7vw,30px) !important;
    line-height:1.04 !important;
  }

  .modal-head p{
    font-size:13px !important;
  }

  .modal-context-summary--compact{
    padding:9px !important;
    margin-bottom:9px !important;
  }

  .modal-context-summary__head{
    margin-bottom:6px !important;
  }

  .modal-context-card{
    grid-template-columns:minmax(92px,.72fr) minmax(0,1.6fr) !important;
    gap:4px 8px !important;
    padding:8px 9px !important;
  }

  .modal-context-card > small{
    grid-column:2;
  }

  .form-grid--odm{
    gap:8px !important;
  }

  .form-grid--odm input,
  .form-grid--odm select,
  .form-grid--odm textarea{
    min-height:46px !important;
    font-size:16px !important;
  }

  .checkbox-field--odm{
    font-size:11px !important;
  }

  .modal-step-pill{
    padding:9px 11px !important;
    font-size:11px !important;
  }

  .modal-close{
    width:38px !important;
    height:38px !important;
    right:10px !important;
    top:10px !important;
  }
}

@media (max-width:420px){
  .hero-journey--fast .hero-title--fast{
    font-size:clamp(34px,10.8vw,46px) !important;
  }

  .modal-context-card{
    grid-template-columns:86px minmax(0,1fr) !important;
  }

  .modal-context-card > span{
    font-size:8px !important;
  }

  .modal-context-card > strong{
    font-size:11px !important;
  }

  .modal-context-card > small{
    font-size:9px !important;
  }
}

@media (prefers-reduced-motion:reduce){
  .hero-journey--fast .hero-title--fast::after{
    display:none !important;
  }
}

/* =========================================
   REFERENCE REDESIGN — 12 AUG 2026
   Reuses the existing BioGuardians tokens.
========================================= */
:root{
  --space-section:clamp(76px,8.5vw,128px);
  --space-section-compact:clamp(44px,5vw,72px);
  --space-grid:clamp(18px,2.2vw,30px);
}
.section{padding:var(--space-section) 0}
.section--compact{padding:var(--space-section-compact) 0}
.results-band,.conversion-section--banner{padding:var(--space-section) 0}
.section-heading,.reference-solutions__head,.testimonials-reference__head{margin-bottom:clamp(34px,5vw,64px)}

/* WHAT WE DO — stacked editorial panels inspired by reference image 4 */
.section--reference-work{background:var(--color-bg)}
.reference-work{display:grid;grid-template-columns:minmax(240px,.68fr) minmax(0,1.32fr);gap:clamp(34px,6vw,92px);align-items:start}
.reference-work__intro{position:sticky;top:126px}
.reference-work__intro .lead{max-width:500px;margin-top:22px}
.reference-work__stack{display:grid;gap:14px}
.workflow-panel{min-height:330px;border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 12px 35px rgba(42,68,36,.06)}
.workflow-panel__copy{padding:clamp(26px,3.2vw,44px);display:flex;flex-direction:column;align-items:flex-start}
.workflow-panel__tag{display:inline-flex;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.62);margin-bottom:18px}
.workflow-panel h3{font-family:var(--font-display);font-size:clamp(35px,4vw,58px);line-height:.92;text-transform:uppercase;margin:0 0 14px;max-width:570px}
.workflow-panel p{margin:0 0 22px;color:var(--color-muted);max-width:560px}
.workflow-panel__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.workflow-panel__chips span{font-size:11px;font-weight:600;padding:8px 10px;border-radius:999px;border:1px solid rgba(42,68,36,.14);background:rgba(255,255,255,.56)}
.workflow-panel--blue{background:linear-gradient(135deg,#e9f5fb,#f4f8f2)}
.workflow-panel--peach{background:linear-gradient(135deg,#f8eadf,#f5f0e7)}
.workflow-panel--lime{background:linear-gradient(135deg,#eef2b2,#f6f5de)}
.workflow-panel__visual{position:relative;min-height:330px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.22)}
.workflow-panel__visual::before,.workflow-panel__visual::after{content:"";position:absolute;left:-12%;right:-12%;height:7px;border-radius:999px;background:rgba(42,68,36,.18);transform:rotate(-11deg)}
.workflow-panel__visual::before{top:33%}.workflow-panel__visual::after{bottom:25%;transform:rotate(7deg)}
.visual-glyph{position:relative;z-index:3;width:112px;aspect-ratio:1;border-radius:32px;display:grid;place-items:center;background:rgba(255,255,255,.78);border:1px solid rgba(42,68,36,.12);box-shadow:0 24px 50px rgba(42,68,36,.13);font-family:var(--font-display);font-size:64px;color:var(--color-primary);transition:transform .5s var(--spring)}
.workflow-panel:hover .visual-glyph{transform:translateY(-8px) rotate(-4deg)}
.orb{position:absolute;border-radius:50%;filter:blur(.2px);box-shadow:0 10px 30px rgba(42,68,36,.13)}
.orb--one{width:76px;height:76px;background:var(--color-accent);left:23%;top:25%}.orb--two{width:38px;height:38px;background:#E69E86;right:21%;top:41%}.orb--three{width:26px;height:26px;background:var(--color-secondary);left:30%;bottom:24%}
.visual-console{position:absolute;width:150px;height:116px;border-radius:24px;background:#ef9d76;border:1px solid rgba(42,68,36,.16);box-shadow:0 20px 45px rgba(42,68,36,.12);display:flex;align-items:center;justify-content:center;gap:9px}.visual-console i{display:block;width:28px;height:28px;border-radius:50%;background:var(--color-dark)}.visual-console i:nth-child(2){background:var(--color-accent)}.visual-console i:nth-child(3){background:#f1b1a0}
.visual-cross{position:absolute;width:138px;height:138px;transform:rotate(8deg)}.visual-cross i{position:absolute;inset:48px 0;background:#b7d111;border-radius:20px}.visual-cross i:last-child{inset:0 48px}

/* SOLUTIONS — image-led feature cards inspired by reference image 3 */
.section--reference-solutions{background:#f7f5ee}
.reference-solutions__head{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,7vw,100px);align-items:end}
.reference-solutions__intro{max-width:520px}.reference-solutions__intro .btn{margin-top:18px}
.reference-solution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-grid)}
.reference-solution-card{background:transparent;min-width:0}
.reference-solution-card__media{position:relative;aspect-ratio:1.15/1;overflow:hidden;border-radius:var(--radius-lg);background:var(--color-bg-soft)}
.reference-solution-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.reference-solution-card:hover .reference-solution-card__media img{transform:scale(1.035)}
.reference-solution-card__icon{position:absolute;left:22px;bottom:-1px;transform:translateY(50%);width:52px;aspect-ratio:1;border-radius:14px;background:var(--color-dark-2);color:#fff;border:4px solid #f7f5ee;display:grid;place-items:center;font-size:24px}
.reference-solution-card__body{padding:38px 18px 8px}
.reference-solution-card h3{font-family:var(--font-display);font-size:clamp(28px,2.6vw,38px);line-height:1;text-transform:uppercase;margin:10px 0 12px}
.reference-solution-card p{color:var(--color-muted);min-height:52px}
.reference-solution-card ul{list-style:none;margin:20px 0 24px;padding:0;display:grid;gap:10px}
.reference-solution-card li{position:relative;padding-left:28px;font-size:13px;color:var(--color-text)}
.reference-solution-card li::before{content:"✓";position:absolute;left:0;top:0;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:rgba(95,125,39,.11);color:var(--color-primary);font-size:11px;font-weight:800}
.production-strip{margin-top:clamp(28px,4vw,50px);padding:clamp(24px,3vw,36px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-radius:var(--radius-lg);background:var(--color-dark-2);color:#fff}
.production-strip h3{font-family:var(--font-display);font-size:30px;text-transform:uppercase;margin:8px 0 4px}.production-strip p{margin:0;color:rgba(255,255,255,.68)}.production-strip .solution-tag{color:var(--color-accent)}.production-strip .btn--ghost{border-color:rgba(255,255,255,.24);color:#fff;white-space:nowrap}

/* RESULTS — map + metric rail inspired by reference image 2 */
.results-band--map{background:var(--color-dark-2);color:#fff}
.results-reference__main{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,6vw,78px);align-items:start}
.results-reference__visual .split-title{margin-bottom:28px}
.mexico-map-shell{position:relative;border-radius:var(--radius-lg);padding:22px;background:rgba(18,38,27,.35);border:1px solid rgba(255,255,255,.08);overflow:hidden;min-height:350px;display:grid;place-items:center}
.mexico-map{width:100%;height:auto;max-height:390px;display:block}
.mx-state{fill:#dff9c6;stroke:var(--color-dark-2);stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .18s ease,filter .18s ease,opacity .18s ease}
.mx-state:hover,.mx-state:focus-visible,.mx-state.is-active{fill:var(--color-accent);filter:brightness(1.04);outline:none}
.mx-state.is-known{fill:#b8d58a}
.map-tooltip{position:absolute;z-index:10;min-width:190px;max-width:250px;padding:11px 13px;border-radius:12px;background:#fff;color:var(--color-text);font-size:12px;line-height:1.35;box-shadow:var(--shadow-card);pointer-events:none}
.map-tooltip strong{display:block;font-size:13px}.map-tooltip span{color:var(--color-muted)}
.map-help{font-size:11px;color:rgba(255,255,255,.58);margin:12px 0 0}
.results-reference__stats{display:grid;border-top:1px solid rgba(255,255,255,.2)}
.reference-stat{padding:28px 0;border-bottom:1px solid rgba(255,255,255,.2);min-height:145px;display:flex;flex-direction:column;justify-content:center}
.reference-stat strong{font-family:var(--font-display);font-size:clamp(54px,5.4vw,78px);line-height:.9;color:#dff9c6}.reference-stat p{margin:10px 0 0;color:rgba(255,255,255,.82)}
.results-reference__secondary{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden}
.results-reference__secondary span{padding:20px 22px;border-right:1px solid rgba(255,255,255,.12);font-size:12px;color:rgba(255,255,255,.65)}.results-reference__secondary span:last-child{border-right:0}.results-reference__secondary b{display:block;font-family:var(--font-display);font-size:28px;color:#fff;margin-bottom:2px}

/* TESTIMONIALS — editorial carousel inspired by reference image 1 */
.testimonials--reference{overflow:hidden}
.testimonials--reference .container{margin-bottom:0}
.testimonials-reference__head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px}
.testimonials-reference__head .lead{max-width:660px;margin:18px 0 0}
.testimonial-controls{display:flex;gap:8px;flex:0 0 auto}
.testimonial-arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--color-line);background:var(--color-card);color:var(--color-dark);display:grid;place-items:center;font-size:18px;transition:.25s var(--ease)}
.testimonial-arrow:hover{background:var(--color-dark-2);color:#fff;transform:translateY(-2px)}
.testimonial-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,32%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:2px 2px 16px;scrollbar-width:none}.testimonial-carousel::-webkit-scrollbar{display:none}
.testimonial-story{scroll-snap-align:start;display:grid;grid-template-rows:minmax(255px,1.2fr) minmax(220px,.8fr);gap:18px;min-height:570px}
.testimonial-story:nth-child(even){grid-template-rows:minmax(220px,.8fr) minmax(255px,1.2fr)}
.testimonial-story:nth-child(even) .testimonial-visual{order:2}
.testimonial-visual,.testimonial-quote{border-radius:var(--radius-lg);overflow:hidden;position:relative}
.testimonial-visual{background:var(--color-bg-soft);min-height:260px}.testimonial-visual img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.testimonial-story:hover .testimonial-visual img{transform:scale(1.025)}
.testimonial-visual__overlay{position:absolute;inset:auto 0 0;padding:48px 20px 20px;background:linear-gradient(transparent,rgba(20,31,19,.82));color:#fff;display:flex;align-items:end;justify-content:space-between;gap:18px}
.testimonial-person{display:grid}.testimonial-person strong{font-size:14px}.testimonial-person span{font-size:10px;color:rgba(255,255,255,.72);margin-top:2px}
.testimonial-play{width:44px;aspect-ratio:1;border:0;border-radius:50%;background:rgba(95,125,39,.94);color:#fff;display:grid;place-items:center;font-size:14px;flex:0 0 auto}.testimonial-play:hover{transform:scale(1.06)}
.testimonial-quote{padding:clamp(24px,2.6vw,34px);background:#e9f4e7;display:flex;flex-direction:column}.testimonial-story:nth-child(3n+2) .testimonial-quote{background:#dcf5c7}.testimonial-story:nth-child(3n) .testimonial-quote{background:#daecf8}
.testimonial-rating{font-size:12px;letter-spacing:.13em;color:var(--color-primary);margin-bottom:15px}
.testimonial-quote blockquote{font-family:var(--font-serif);font-size:clamp(18px,1.5vw,22px);line-height:1.42;margin:0;color:var(--color-text)}
.testimonial-quote footer{margin-top:auto;padding-top:20px;display:grid}.testimonial-quote footer strong{font-size:13px}.testimonial-quote footer span{font-size:10px;color:var(--color-muted);margin-top:2px}

/* FOOTER */
.site-footer{background:#142219;color:#fff;padding:clamp(56px,7vw,92px) 0 26px;border-top:1px solid rgba(255,255,255,.06)}
.site-footer__grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:clamp(38px,7vw,90px);align-items:start}
.brand--footer{min-width:0;width:max-content;color:#fff}.brand--footer small{color:rgba(255,255,255,.56)}.site-footer__brand>p{max-width:470px;color:rgba(255,255,255,.62);font-size:13px;margin:22px 0 0}
.site-footer__nav,.site-footer__contact{display:grid;gap:10px}.site-footer__nav strong,.site-footer__contact>strong{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--color-accent);margin-bottom:6px}.site-footer__nav a,.site-footer__contact a,.site-footer__contact span{font-size:13px;color:rgba(255,255,255,.7)}.site-footer__nav a:hover,.site-footer__contact a:hover{color:#fff}.site-footer__contact .text-link{color:#fff;width:max-content;margin-top:6px}
.site-footer__bottom{margin-top:52px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;color:rgba(255,255,255,.46);font-size:10px}

@media (max-width:1000px){
  .reference-work{grid-template-columns:1fr}.reference-work__intro{position:static;max-width:720px}
  .reference-solution-grid{grid-template-columns:repeat(2,1fr)}.reference-solution-card:last-child{grid-column:1/-1;max-width:calc(50% - 10px)}
  .results-reference__main{grid-template-columns:1fr}.results-reference__stats{grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2)}.reference-stat{padding:24px 18px;border-right:1px solid rgba(255,255,255,.2)}.reference-stat:last-child{border-right:0}
  .testimonial-carousel{grid-auto-columns:minmax(310px,46%)}
  .site-footer__grid{grid-template-columns:1fr 1fr}.site-footer__brand{grid-column:1/-1}
}
@media (max-width:720px){
  :root{--space-section:72px;--space-grid:16px}
  .workflow-panel{grid-template-columns:1fr;min-height:0}.workflow-panel__visual{min-height:220px;order:-1}.workflow-panel__copy{padding:26px}.workflow-panel h3{font-size:38px}
  .reference-solutions__head{grid-template-columns:1fr;gap:18px}.reference-solution-grid{grid-template-columns:1fr}.reference-solution-card:last-child{grid-column:auto;max-width:none}.reference-solution-card__media{aspect-ratio:1.4/1}.reference-solution-card__body{padding-inline:4px}.production-strip{align-items:flex-start;flex-direction:column}.production-strip .btn{width:100%}
  .mexico-map-shell{padding:10px;min-height:250px}.results-reference__stats{grid-template-columns:1fr}.reference-stat{border-right:0;min-height:112px}.results-reference__secondary{grid-template-columns:1fr}.results-reference__secondary span{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.results-reference__secondary span:last-child{border-bottom:0}
  .testimonials-reference__head{align-items:flex-start}.testimonial-controls{margin-top:8px}.testimonial-carousel{grid-auto-columns:88%}.testimonial-story{min-height:540px}
  .site-footer__grid{grid-template-columns:1fr}.site-footer__brand{grid-column:auto}.site-footer__bottom{flex-direction:column}
}
@media (max-width:480px){
  .testimonials-reference__head{display:grid}.testimonial-controls{justify-self:end}.testimonial-carousel{grid-auto-columns:94%}
  .reference-solution-card h3{font-size:31px}.reference-stat strong{font-size:58px}
}
@media (prefers-reduced-motion:reduce){
  .testimonial-carousel{scroll-behavior:auto}.reference-solution-card__media img,.visual-glyph{transition:none}
}

/* =========================================================
   USER REVIEW ADJUSTMENTS — 12 AUG 2026
   Popup width, final CTA centering, What We Do layout balance
   ========================================================= */

/* 1) Popup: reduce horizontal footprint on desktop while preserving form usability. */
@media (min-width:721px){
  .modal-dialog--odm{
    width:min(590px,calc(100vw - 36px)) !important;
    max-width:590px !important;
  }
  .modal-shell{
    padding-inline:26px !important;
  }
}

/* 2) Final diagnostic section: true centered composition, including copy and bullets. */
.conversion-banner__button{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
.conversion-banner .conversion-copy{
  width:min(860px,100%) !important;
  margin-inline:auto !important;
  text-align:center !important;
  align-items:center !important;
}
.conversion-banner .conversion-copy .eyebrow,
.conversion-banner .conversion-copy .split-title,
.conversion-banner .conversion-copy .lead{
  width:100%;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.conversion-banner .conversion-copy .lead{
  max-width:760px !important;
}
.conversion-banner .conversion-points{
  width:fit-content;
  max-width:100%;
  margin-left:auto !important;
  margin-right:auto !important;
  justify-content:center !important;
  text-align:left;
}
.conversion-banner__cta{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* 3) What We Do: remove unused left rail and let the panels use the available canvas. */
.reference-work{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:clamp(30px,4vw,52px) !important;
}
.reference-work__intro{
  position:static !important;
  top:auto !important;
  width:100%;
  max-width:1040px !important;
}
.reference-work__intro .lead{
  max-width:760px !important;
}
.reference-work__stack{
  width:100%;
  gap:18px !important;
}
.workflow-panel{
  width:100%;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr) !important;
  min-height:280px !important;
}
.workflow-panel__visual{
  min-height:280px !important;
}
.workflow-panel__copy{
  padding:clamp(28px,3vw,42px) !important;
}
.workflow-panel h3{
  max-width:680px !important;
}
.workflow-panel p{
  max-width:650px !important;
}

@media (max-width:720px){
  .reference-work{
    gap:28px !important;
  }
  .workflow-panel{
    grid-template-columns:1fr !important;
    min-height:0 !important;
  }
  .workflow-panel__visual{
    min-height:190px !important;
    order:-1;
  }
  .conversion-banner .conversion-points{
    width:100%;
    max-width:360px;
  }
}

/* =========================================================
   SPATIAL OPTIMIZATION PASS — 12 AUG 2026
   Density, rhythm and negative-space refinement only.
   No changes to brand colors, typography families or visual patterns.
   ========================================================= */
:root{
  --space-section:clamp(64px,6.5vw,96px);
  --space-section-compact:clamp(38px,4vw,56px);
  --space-grid:clamp(14px,1.8vw,24px);
  --space-heading-bottom:clamp(28px,3.5vw,44px);
  --space-content-xs:8px;
  --space-content-sm:12px;
  --space-content-md:18px;
  --space-content-lg:26px;
  --space-content-xl:36px;
  --container:min(1240px,calc(100vw - 64px));
}

.section-heading,
.reference-solutions__head,
.testimonials-reference__head{margin-bottom:var(--space-heading-bottom)}

/* Global reading rhythm */
.lead{line-height:1.55}
.section p:not(.hero-sub):not(.map-help):not(.method-note){line-height:1.5}

/* Hero: keep impact while tightening the content stack */
.hero-sub{margin-top:24px;line-height:1.58}
.hero-actions{margin-top:22px}
.hero-statbar{margin-top:24px}

/* Trust strip: deliberately shorter transitional section */
.trust-strip{padding:40px 0 46px}
.trust-strip .section-kicker{margin-bottom:22px}
.operation-cloud{gap:var(--space-grid)}
.trust-note{margin-top:18px}

/* What We Do: stronger grouping, less dead canvas */
.reference-work{gap:34px !important}
.reference-work__intro{max-width:820px !important}
.reference-work__intro .lead{max-width:660px !important;margin-top:16px !important}
.reference-work__stack{gap:13px !important}
.workflow-panel{
  grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr) !important;
  min-height:255px !important;
}
.workflow-panel__visual{min-height:255px !important}
.workflow-panel__copy{padding:32px 36px !important}
.workflow-panel__tag{margin-bottom:14px}
.workflow-panel h3{line-height:.96;margin-bottom:10px !important}
.workflow-panel p{line-height:1.5;margin-bottom:16px !important}

/* Program MIP */
.process-layout{grid-template-columns:.85fr 1.15fr;gap:44px}
.process-step{padding-block:17px}
.process-step h3{line-height:1.05}
.process-step p{margin-top:3px;line-height:1.45}

/* Solutions */
.reference-solutions__head{grid-template-columns:1fr .8fr;gap:48px}
.reference-solutions__intro .btn{margin-top:16px}
.reference-solution-card__body{padding:32px 14px 6px}
.reference-solution-card h3{margin:10px 0 8px}
.reference-solution-card p{line-height:1.5}
.reference-solution-card ul{margin:16px 0 18px;gap:8px}
.production-strip{margin-top:32px;padding:26px 30px;gap:22px}

/* Pest finder */
.finder-layout{grid-template-columns:.92fr 1.08fr;gap:50px}
.finder-fields{gap:12px}
.finder-fields label{gap:6px}

/* Catalog: slightly faster section rhythm */
#organismos{padding-block:72px}
#organismos .section-heading{margin-bottom:28px}
.catalog-toolbar{margin-bottom:18px}

/* Results */
.results-reference__main{grid-template-columns:1.2fr .8fr;gap:48px}
.results-reference__visual .split-title{margin-bottom:22px}
.reference-stat{padding:20px 0;min-height:118px}
.reference-stat p{margin-top:7px}
.results-reference__secondary{margin-top:24px}
.results-reference__secondary span{padding:16px 18px}
.map-help{margin-top:10px}

/* Cases: compact three-card band */
#casos{padding-block:72px}
.case-grid{gap:16px}
.case-card{padding:28px}
.case-card .case-number{margin-bottom:12px}
.case-card h3{margin-bottom:8px}
.case-card small{margin-top:16px}

/* Testimonials */
.testimonials-reference__head .lead{margin-top:14px}
.testimonial-carousel{gap:14px}
.testimonial-story{
  grid-template-rows:minmax(230px,1.15fr) minmax(190px,.85fr);
  gap:14px;
  min-height:510px;
}
.testimonial-story:nth-child(even){grid-template-rows:minmax(190px,.85fr) minmax(230px,1.15fr)}
.testimonial-visual{min-height:230px}
.testimonial-quote{padding:26px}
.testimonial-rating{margin-bottom:10px}
.testimonial-quote blockquote{line-height:1.36}
.testimonial-quote footer{padding-top:16px}

/* Support */
.support-visual{min-height:500px}
.support-list{margin-top:22px}
.support-item{padding:15px 0;gap:14px}
.support-item p{line-height:1.45}

/* FAQ */
.faq-layout{grid-template-columns:.8fr 1.2fr;gap:48px}
.faq-question{padding-block:18px}
.faq-item.active .faq-answer{padding-bottom:18px}
.faq-answer p{line-height:1.5}

/* Final CTA: centered composition stays intact, with tighter rhythm */
.conversion-banner .conversion-copy{max-width:760px}
.conversion-banner .conversion-copy .lead{max-width:720px !important;margin-top:20px}
.conversion-banner .conversion-points{margin-top:20px;gap:8px}
.conversion-banner__cta{margin-top:24px}

/* Footer */
.site-footer{padding:60px 0 22px}
.site-footer__grid{gap:48px}
.site-footer__brand>p{margin-top:16px;line-height:1.5}
.site-footer__bottom{margin-top:36px;padding-top:18px}

@media (max-width:1000px){
  :root{--container:min(100% - 40px,1040px)}
  .process-layout,.finder-layout,.faq-layout{gap:36px}
  .support-visual{min-height:470px}
  .reference-solutions__head{gap:34px}
  .results-reference__main{gap:36px}
}

@media (max-width:720px){
  :root{
    --space-section:58px;
    --space-section-compact:36px;
    --space-grid:14px;
    --container:calc(100vw - 36px);
  }
  .hero-sub{margin-top:20px;line-height:1.52}
  .hero-actions{margin-top:20px}
  .hero-statbar{margin-top:20px}
  .trust-strip{padding:34px 0 38px}
  .reference-work{gap:26px !important}
  .reference-work__intro .lead{margin-top:14px !important}
  .workflow-panel__copy{padding:24px !important}
  .workflow-panel__visual{min-height:180px !important}
  .process-layout,.finder-layout,.faq-layout{gap:28px}
  .process-step{padding-block:15px}
  .reference-solutions__head{gap:16px}
  .reference-solution-card__body{padding:28px 4px 4px}
  .production-strip{margin-top:26px;padding:24px}
  #organismos,#casos{padding-block:58px}
  .results-reference__secondary{margin-top:18px}
  .testimonial-story{min-height:490px;gap:12px}
  .testimonial-quote{padding:22px}
  .support-visual{min-height:400px}
  .support-list{margin-top:18px}
  .faq-question{padding-block:16px}
  .site-footer{padding:48px 0 20px}
  .site-footer__grid{gap:30px}
  .site-footer__bottom{margin-top:28px}
}

@media (max-width:480px){
  :root{--container:calc(100vw - 28px)}
}
