
:root{--ink:#111417;--ink2:#252a2d;--muted:#69716d;--green:#6DB47A;--green2:#4a9e5e;--mint:#e8f5eb;--soft:#f5f7f4;--line:#e3e8e2;--white:#fff;--radius:28px;--shadow:0 28px 80px rgba(17,20,23,.10);--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fbfcfa;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit}.container{width:min(calc(100% - 36px),var(--max));margin:auto}.skip-link{position:fixed;left:12px;top:-80px;background:var(--ink);color:#fff;padding:10px 14px;z-index:9999;border-radius:10px}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;z-index:200;background:rgba(251,252,250,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(227,232,226,.7)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;font-weight:850;letter-spacing:.03em}.brand-mark{width:38px;height:34px;color:var(--ink)}.brand-name{font-size:20px}.brand-name small{display:block;font-size:9px;letter-spacing:.38em;color:var(--green);line-height:1;margin-top:-2px}.main-nav{display:flex;gap:26px;align-items:center;font-size:14px;font-weight:650}.main-nav>a:not(.nav-cta){color:#414844}.main-nav>a:hover{color:var(--ink)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:999px;transition:.25s ease}.nav-cta{padding:11px 17px;background:var(--ink);color:#fff!important}.menu-btn{display:none;background:none;border:0;width:42px;height:42px;position:relative}.menu-btn span{position:absolute;left:10px;width:22px;height:2px;background:var(--ink);transition:.25s}.menu-btn span:first-child{top:16px}.menu-btn span:last-child{top:24px}.section{padding:108px 0;position:relative}.section-grid{background-image:linear-gradient(rgba(17,20,23,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,20,23,.035) 1px,transparent 1px);background-size:42px 42px}.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#5f6863}.eyebrow>span{width:28px;height:2px;background:var(--green);border-radius:9px}.eyebrow.light{color:#b8c0bb}h1,h2,h3{line-height:1.05;margin:0;letter-spacing:-.045em}h1{font-size:clamp(48px,7vw,92px);max-width:920px}h1 em{font-style:normal;color:var(--green)}h2{font-size:clamp(38px,5vw,66px);max-width:860px}h3{font-size:26px}.lead{font-size:clamp(18px,2vw,23px);color:#59615d;max-width:720px;margin:26px 0 30px}.btn{padding:15px 22px;font-weight:800;border:1px solid var(--line);background:#fff;cursor:pointer}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 15px 35px rgba(17,20,23,.14)}.btn.green{background:var(--green);border-color:var(--green);color:#102014}.btn.ghost:hover,.btn.primary:hover,.btn.green:hover{transform:translateY(-2px)}.hero{padding:88px 0 95px;min-height:calc(100vh - 78px);display:flex;align-items:center;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}.hero-copy{position:relative;z-index:2}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.trust-line{margin-top:27px;display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.trust-line strong{color:var(--ink)}.global-pill{margin:0 0 20px;display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #dfe8df;background:rgba(255,255,255,.7);border-radius:999px;font-size:13px;font-weight:750}.global-pill i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(109,180,122,.16)}.hero-stage{min-height:555px;position:relative;display:flex;align-items:center}.stage-glow{position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(109,180,122,.24),rgba(109,180,122,0) 68%);right:-40px;top:30px}.glass-card{background:rgba(255,255,255,.83);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.search-shell{width:100%;border-radius:24px;overflow:hidden;position:relative;z-index:2}.search-top{height:50px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px;padding:0 18px}.dot{width:9px;height:9px;border-radius:50%;background:#d9ddda}.dot.red{background:#ef8c83}.dot.amber{background:#e4ba6d}.dot.green{background:#72bc81}.browser-url{margin-left:10px;font-size:12px;color:#8a918e}.search-box{margin:27px;border:1px solid #d9dfda;border-radius:999px;padding:14px 18px;display:flex;gap:12px;align-items:center;font-size:17px;min-height:54px}.search-box svg{width:20px;color:#636a67}.caret{animation:blink 1s infinite}.results{padding:0 27px 28px}.result{padding:19px 4px;border-top:1px solid #eef1ee;display:flex;gap:14px}.result.featured{background:linear-gradient(90deg,rgba(109,180,122,.10),transparent);margin:0 -10px;padding:20px 14px;border-radius:16px}.result.featured b{display:block;font-size:17px}.result.featured p{margin:5px 0;font-size:13px}.result.featured small{color:var(--green2)}.mini-logo{flex:0 0 38px;height:38px;background:var(--ink);color:#fff;border-radius:10px;display:grid;place-items:center;font-weight:900}.result.muted{display:block}.result.muted span,.result.muted i{display:block;background:#edf0ed;border-radius:999px;height:9px;margin:5px}.result.muted span{width:55%}.result.muted i{width:84%}.result.muted i:last-child{width:69%}.metric-card{position:absolute;z-index:3;background:var(--ink);color:#fff;padding:16px 18px;border-radius:18px;box-shadow:0 18px 45px rgba(17,20,23,.18);min-width:150px}.metric-card small,.metric-card span{display:block;color:#adb7b0;font-size:11px}.metric-card strong{font-size:22px}.metric-one{right:-18px;top:64px}.metric-two{left:-22px;bottom:64px}.logo-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.strip-inner{min-height:74px;display:flex;align-items:center;justify-content:center;gap:22px;color:#69716d;font-size:13px;font-weight:750;flex-wrap:wrap}.strip-inner i{width:4px;height:4px;border-radius:50%;background:var(--green)}.section-heading{display:flex;flex-direction:column;gap:18px}.section-heading.centered{text-align:center;align-items:center;margin-bottom:48px}.section-heading p{max-width:680px;color:var(--muted);font-size:18px;margin:0}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.problem-stack{display:grid;gap:14px}.problem-card{padding:28px;border-radius:22px;background:#fff;border:1px solid var(--line);transition:.3s}.problem-card:hover{transform:translateX(8px);border-color:#c9d9cc}.problem-card .index{font-size:11px;color:var(--green2);font-weight:900;letter-spacing:.14em}.problem-card h3{font-size:25px;margin:8px 0}.problem-card p{margin:0;color:var(--muted)}.dark-section{background:var(--ink);color:#fff}.story-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}.story-copy p{color:#aab4ae;font-size:19px;max-width:520px}.story-stage{min-height:570px;display:grid;place-items:center}.story-visual{width:min(530px,100%);aspect-ratio:1;position:relative}.orbit{position:absolute;inset:14%;border:1px dashed #39403c;border-radius:50%;animation:spin 30s linear infinite}.journey-center{position:absolute;inset:34%;border-radius:50%;background:#171b1d;border:1px solid #323936;display:grid;place-items:center;text-align:center;box-shadow:0 0 90px rgba(109,180,122,.10)}.journey-center svg{width:68px}.journey-center span{font-size:11px;color:#86918b}.journey-node{position:absolute;width:130px;padding:14px;background:#171b1d;border:1px solid #333936;border-radius:18px;transition:.4s}.journey-node small,.journey-node span{display:block;font-size:10px;color:#7f8a84}.journey-node b{font-size:15px}.journey-node.active{border-color:var(--green);box-shadow:0 0 0 4px rgba(109,180,122,.08)}.journey-node:nth-of-type(2){top:3%;left:38%}.journey-node:nth-of-type(3){right:0;top:31%}.journey-node:nth-of-type(4){right:10%;bottom:3%}.journey-node:nth-of-type(5){left:8%;bottom:2%}.journey-node:nth-of-type(6){left:-2%;top:31%}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:50px}.service-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:30px;min-height:315px;position:relative;overflow:hidden;transition:.3s}.service-card:hover{transform:translateY(-7px);box-shadow:0 20px 60px rgba(17,20,23,.08)}.service-card.featured-service{background:var(--ink);color:#fff}.service-card.featured-service p,.service-card.featured-service li{color:#adb6b0}.service-badge{position:absolute;right:16px;top:16px;background:var(--green);color:#132016;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.service-icon{font-size:30px;color:var(--green);margin-bottom:26px}.service-card small{color:var(--green2);text-transform:uppercase;letter-spacing:.13em;font-weight:900;font-size:10px}.service-card h3{margin:7px 0 12px}.service-card p{color:var(--muted);margin:0 0 17px}.service-card ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:7px}.service-card li{font-size:11px;color:#59615d;border:1px solid #e5e9e5;border-radius:999px;padding:5px 8px}.text-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-weight:800;color:var(--green2)}.industries{background:linear-gradient(180deg,#fbfcfa,#f2f6f1)}.industry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:44px}.industry-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;min-height:160px;transition:.3s}.industry-card:hover{border-color:#a9c9af;transform:translateY(-4px)}.industry-card b{display:block;font-size:18px;margin-bottom:8px}.industry-card span{color:var(--muted);font-size:13px}.industry-note{margin-top:25px;padding:18px 22px;border-radius:18px;background:var(--mint);display:flex;gap:10px;align-items:flex-start}.world-section{overflow:hidden}.world-card{border:1px solid var(--line);border-radius:32px;padding:54px;background:var(--ink);color:#fff;position:relative;overflow:hidden}.world-card:after{content:"";position:absolute;width:500px;height:500px;border:1px solid #2b342f;border-radius:50%;right:-150px;top:-160px;box-shadow:0 0 0 70px rgba(109,180,122,.035),0 0 0 140px rgba(109,180,122,.025)}.world-card p{color:#b5beb8;font-size:18px;max-width:720px}.world-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px;position:relative;z-index:2}.world-tags span{border:1px solid #39443d;border-radius:999px;padding:8px 12px;font-size:12px;color:#c4ccc7}.cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:46px}.case-card{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;transition:.3s}.case-card:hover{transform:translateY(-5px);box-shadow:0 18px 55px rgba(17,20,23,.08)}.case-visual{height:230px;padding:20px;position:relative;background:linear-gradient(135deg,#1b2022,#2d3630);color:#fff;overflow:hidden}.case-visual:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(109,180,122,.14);right:-50px;bottom:-80px}.case-visual span{font-size:10px;letter-spacing:.13em;font-weight:900;color:#aab8ae}.case-visual strong{display:block;font-size:34px;max-width:420px;line-height:1.05;margin-top:26px;letter-spacing:-.04em}.case-copy{padding:27px}.case-copy small{color:var(--green2);font-weight:800}.case-copy h3{margin:8px 0 10px}.case-copy p{color:var(--muted)}.cases-cta{margin-top:28px}.diagnosis-section{background:#f0f5ef}.diagnosis-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}.diagnosis-copy{position:sticky;top:120px}.diagnosis-copy p{font-size:18px;color:var(--muted)}.diagnosis-shell{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.diag-progress{display:flex;gap:6px;padding:18px 22px;border-bottom:1px solid var(--line)}.diag-progress i{height:5px;flex:1;background:#e8ebe8;border-radius:999px}.diag-progress i.active{background:var(--green)}.diag-step{padding:34px;display:none}.diag-step.active{display:block;animation:fadeUp .35s ease}.diag-step .step-num{font-size:10px;color:var(--green2);font-weight:900;text-transform:uppercase;letter-spacing:.14em}.diag-step h3{font-size:30px;margin:8px 0 22px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{border:1px solid var(--line);border-radius:15px;background:#fff;text-align:left;padding:15px 16px;cursor:pointer;transition:.2s}.choice:hover,.choice.selected{border-color:var(--green);background:var(--mint)}.diag-controls{display:flex;justify-content:space-between;gap:10px;margin-top:26px}.diag-controls button{border:0;background:none;font-weight:800;cursor:pointer}.diag-controls .next{background:var(--ink);color:#fff;border-radius:999px;padding:11px 17px}.field{display:grid;gap:6px;margin:12px 0}.field label{font-weight:750;font-size:13px}.field input,.field textarea,.field select{width:100%;border:1px solid #dce2dd;border-radius:14px;padding:13px 14px;background:#fff;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(109,180,122,.11)}.field textarea{min-height:120px;resize:vertical}.privacy-row{display:flex;gap:9px;font-size:12px;color:var(--muted);margin-top:14px}.diag-result{padding:36px;display:none}.diag-result.active{display:block}.diag-result ul{padding-left:18px}.nosotros-grid{display:grid;grid-template-columns:1fr .95fr;gap:60px}.principles{display:grid;gap:12px}.principle{padding:22px;border:1px solid var(--line);background:#fff;border-radius:20px}.principle b{display:block;margin-bottom:4px}.principle span{color:var(--muted)}.cta-panel{background:var(--ink);color:#fff;border-radius:36px;padding:60px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;overflow:hidden;position:relative}.cta-panel p{color:#acb6b0;max-width:660px;font-size:18px}.site-footer{padding:48px 0 28px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}.footer-links{display:grid;gap:8px;color:#68706c;font-size:14px}.footer-title{font-weight:900;color:var(--ink);margin-bottom:10px}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:22px;margin-top:34px;color:#8a918e;font-size:12px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.page-hero{padding:88px 0 70px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fbfcfa,#f5f8f4)}.page-hero .breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:22px}.page-hero h1{font-size:clamp(42px,6vw,76px);max-width:960px}.page-hero p{font-size:20px;color:var(--muted);max-width:760px}.service-layout,.case-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.sticky-aside{position:sticky;top:115px;align-self:start}.sticky-aside .mini-nav{display:grid;gap:9px;margin-top:20px}.sticky-aside a{font-size:13px;color:var(--muted)}.content-stack{display:grid;gap:58px}.content-stack section{scroll-margin-top:110px}.content-stack h2{font-size:40px}.content-stack p,.content-stack li{color:var(--muted);font-size:17px}.check-list{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-list li{padding:14px 15px;background:#fff;border:1px solid var(--line);border-radius:15px}.check-list li:before{content:"✓";color:var(--green2);font-weight:900;margin-right:9px}.case-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.summary-box{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px}.summary-box small{display:block;color:var(--green2);font-weight:850}.summary-box b{display:block;margin-top:5px}.timeline{display:grid;gap:12px}.timeline-item{display:grid;grid-template-columns:48px 1fr;gap:14px}.timeline-item i{width:40px;height:40px;border-radius:50%;background:var(--mint);display:grid;place-items:center;font-style:normal;font-weight:900;color:var(--green2)}.timeline-item div{border-bottom:1px solid var(--line);padding:4px 0 18px}.disclaimer{padding:18px 20px;border-radius:16px;background:#fff4dd;border:1px solid #f1dcae;color:#6b5731}.live-site{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px;background:var(--ink);color:#fff;border-radius:20px}.live-site small{color:#aab5ae}.all-cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px}.small-case{border:1px solid var(--line);border-radius:20px;padding:22px;background:#fff}.small-case small{color:var(--green2);font-weight:800}.small-case h3{font-size:22px;margin:8px 0}.small-case p{font-size:14px;color:var(--muted)}.form-status{font-size:13px;margin-top:10px}.honeypot{position:absolute!important;left:-9999px!important}.legal-note{font-size:12px;color:var(--muted)}
@keyframes blink{50%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:980px){.main-nav{position:fixed;inset:78px 0 auto 0;background:#fbfcfa;border-bottom:1px solid var(--line);padding:22px;display:none;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-btn{display:block}.hero-grid,.split-grid,.story-grid,.diagnosis-wrap,.nosotros-grid,.service-layout,.case-layout{grid-template-columns:1fr}.hero{padding-top:54px}.hero-stage{min-height:470px}.services-grid{grid-template-columns:1fr 1fr}.industry-grid{grid-template-columns:1fr 1fr}.diagnosis-copy,.sticky-aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}.all-cases-grid{grid-template-columns:1fr 1fr}.case-summary{grid-template-columns:1fr}.cta-panel{grid-template-columns:1fr}.story-copy{margin-bottom:20px}}
@media(max-width:640px){.container{width:min(calc(100% - 24px),var(--max))}.nav-wrap{height:68px}.main-nav{inset:68px 0 auto 0}.hero{min-height:auto;padding:54px 0 65px}.hero-grid{gap:28px}h1{font-size:46px}.lead{font-size:18px}.hero-actions{display:grid}.btn{width:100%}.hero-stage{min-height:405px}.metric-card{display:none}.search-box{margin:18px 15px;font-size:14px}.results{padding:0 15px 18px}.section{padding:78px 0}.split-grid{gap:35px}.services-grid,.industry-grid,.cases-grid,.choice-grid,.all-cases-grid{grid-template-columns:1fr}.world-card,.cta-panel{padding:32px 24px}.story-stage{min-height:430px}.story-visual{transform:scale(.9)}.journey-node{width:110px;padding:11px}.diag-step{padding:24px 20px}.diag-step h3{font-size:26px}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.check-list{grid-template-columns:1fr}.page-hero{padding:65px 0 50px}.page-hero h1{font-size:44px}.case-visual{height:200px}.case-visual strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* V2.1 — Hero search contrast improvements */
.hero-stage{isolation:isolate}
.hero-stage:before{content:"";position:absolute;inset:34px -22px 26px 34px;border-radius:34px;background:linear-gradient(145deg,#eef5ee 0%,#f5f7f4 52%,#e8f2e9 100%);border:1px solid #dce8de;box-shadow:0 24px 70px rgba(34,57,39,.10);z-index:0}
.stage-glow{z-index:0;opacity:.82}
.search-shell{background:#fff;border:1px solid #d8dfd9;box-shadow:0 28px 72px rgba(17,20,23,.16),0 8px 24px rgba(17,20,23,.08)}
.search-top{background:#f2f4f2;border-bottom:1px solid #d7ddd8}
.browser-url{color:#656d68;font-weight:650}
.search-box{background:#fff;border-color:#cfd7d1;box-shadow:0 5px 18px rgba(17,20,23,.045)}
.result.featured{background:linear-gradient(90deg,#edf7ef 0%,#f8fbf8 68%,#fff 100%);border:1px solid #dbe9de;margin:2px -10px;padding:20px 14px}
.result.featured small{font-weight:750}
@media(max-width:640px){
  .hero-stage{padding:18px 8px 24px;min-height:430px}
  .hero-stage:before{inset:0 -7px 0 8px;border-radius:28px;background:linear-gradient(160deg,#eaf3eb,#f4f7f4 55%,#e7f1e9);box-shadow:0 18px 48px rgba(26,45,31,.11)}
  .search-shell{border-color:#cfd8d0;box-shadow:0 20px 50px rgba(17,20,23,.16),0 5px 18px rgba(17,20,23,.08)}
  .search-top{height:48px;background:#eef1ee}
  .browser-url{font-size:13px;color:#5f6863}
  .result.featured{margin:4px 0;padding:18px 12px;border-radius:16px;background:linear-gradient(90deg,#e9f5eb,#f8fbf8)}
}

/* V2.2 — Stronger mobile separation for hero search mockup */
.hero-stage:before{
  inset:24px -28px 18px 24px;
  background:linear-gradient(145deg,#dfece1 0%,#edf4ee 48%,#d9e8dc 100%);
  border:1px solid #c8d9cb;
  box-shadow:0 28px 80px rgba(28,48,33,.16);
}
.search-shell{
  border:1.5px solid #c6d0c8;
  box-shadow:0 30px 80px rgba(17,20,23,.22),0 10px 28px rgba(17,20,23,.10);
}
.search-top{background:#ecefec;border-bottom:1px solid #cfd7d1}

@media(max-width:640px){
  .hero-stage{
    padding:24px 8px 30px;
    min-height:445px;
    margin-top:6px;
  }
  .hero-stage:before{
    inset:4px -12px 2px -12px;
    border-radius:30px;
    background:linear-gradient(160deg,#dceadd 0%,#e9f2ea 52%,#d5e5d8 100%);
    border:1px solid #bfd3c3;
    box-shadow:0 20px 56px rgba(26,45,31,.18);
  }
  .search-shell{
    border:2px solid #c1cdc3;
    box-shadow:0 24px 60px rgba(17,20,23,.24),0 8px 24px rgba(17,20,23,.12);
    background:#fff;
  }
  .search-top{
    height:50px;
    background:#e9eeea;
    border-bottom:1px solid #c6d0c8;
  }
  .search-box{
    border:1.5px solid #c2ccc4;
    box-shadow:0 5px 16px rgba(17,20,23,.07);
  }
  .result.featured{
    background:linear-gradient(90deg,#e1f1e4 0%,#f3f8f4 72%,#fff 100%);
    border:1px solid #cbded0;
  }
}


/* === Mobile refinement approved: gray browser bar, no green backing block === */
@media(max-width:640px){
  .hero-stage{
    min-height:405px;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }
  .stage-glow{
    display:none !important;
  }
  .search-shell{
    background:#fff !important;
    border:1px solid #d7dcd8 !important;
    border-radius:24px !important;
    box-shadow:
      0 26px 60px rgba(17,20,23,.16),
      0 8px 22px rgba(17,20,23,.08),
      0 0 0 1px rgba(17,20,23,.025) !important;
    overflow:hidden !important;
  }
  .search-top{
    height:58px !important;
    background:#ecefed !important;
    border-bottom:1px solid #d8ddda !important;
    padding:0 18px !important;
  }
  .browser-url{
    color:#6f7773 !important;
    font-weight:650 !important;
    font-size:13px !important;
  }
  .search-box{
    background:#fff !important;
    border:1.5px solid #cfd6d1 !important;
    box-shadow:0 4px 10px rgba(17,20,23,.025) inset !important;
  }
  .results{background:#fff !important;}
  .result.featured{
    background:linear-gradient(90deg,rgba(109,180,122,.10),rgba(109,180,122,.035),transparent) !important;
    border:1px solid #dce8de !important;
  }
}


/* V2.9 — CTA pulse + WhatsApp floating button */
@keyframes ctaPulse{
  0%{transform:scale(1);box-shadow:0 15px 35px rgba(17,20,23,.14),0 0 0 0 rgba(109,180,122,.28)}
  40%{transform:scale(1.018);box-shadow:0 18px 40px rgba(17,20,23,.16),0 0 0 14px rgba(109,180,122,0)}
  100%{transform:scale(1);box-shadow:0 15px 35px rgba(17,20,23,.14),0 0 0 0 rgba(109,180,122,0)}
}
.btn.cta-pulse,.nav-cta.cta-pulse{
  animation:ctaPulse 1.9s ease-in-out infinite;
}
.btn.cta-pulse:hover,.nav-cta.cta-pulse:hover{
  animation-play-state:paused;
}
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  width:62px;
  height:62px;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 18px 40px rgba(17,20,23,.18),0 0 0 0 rgba(109,180,122,.28);
  z-index:350;
  transition:transform .25s ease, box-shadow .25s ease;
  animation:waPulse 2s ease-in-out infinite;
}
.whatsapp-float:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 22px 44px rgba(17,20,23,.2);
}
.whatsapp-float svg{width:29px;height:29px;display:block}
.whatsapp-float-label{
  position:absolute;
  right:74px;
  white-space:nowrap;
  background:#0f1511;
  color:#fff;
  padding:10px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  opacity:0;
  transform:translateX(8px);
  pointer-events:none;
  transition:.25s ease;
}
.whatsapp-float:hover .whatsapp-float-label{opacity:1;transform:translateX(0)}
@keyframes waPulse{
  0%{box-shadow:0 18px 40px rgba(17,20,23,.18),0 0 0 0 rgba(109,180,122,.28)}
  70%{box-shadow:0 18px 40px rgba(17,20,23,.18),0 0 0 16px rgba(109,180,122,0)}
  100%{box-shadow:0 18px 40px rgba(17,20,23,.18),0 0 0 0 rgba(109,180,122,0)}
}
@media(max-width:640px){
  .whatsapp-float{right:14px;bottom:14px;width:58px;height:58px}
  .whatsapp-float svg{width:27px;height:27px}
  .whatsapp-float-label{display:none}
}
@media(prefers-reduced-motion:reduce){
  .btn.cta-pulse,.nav-cta.cta-pulse,.whatsapp-float{animation:none!important}
}


/* V2.10 — Valor de gestión Google Ads */
.ads-value-section{background-color:#f8faf7}
.ads-value-head{max-width:900px;margin-bottom:42px}
.ads-value-head h2 em{font-style:normal;color:var(--green2)}
.ads-value-head p{max-width:760px;color:var(--muted);font-size:19px}
.ads-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ads-value-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;min-height:330px;box-shadow:0 12px 34px rgba(17,20,23,.045)}
.ads-value-icon{width:42px;height:42px;border-radius:13px;background:var(--mint);color:var(--green2);display:grid;place-items:center;font-weight:900;font-size:12px;margin-bottom:28px}
.ads-value-card h3{font-size:26px;margin-bottom:12px}
.ads-value-card>p{color:var(--muted);margin-bottom:22px}
.search-example,.mini-metric{border-radius:16px;padding:16px;background:#f5f8f5;border:1px solid #e1e9e2}
.search-example span,.mini-metric small{display:block;color:var(--green2);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.search-example b{display:block;font-size:18px;margin:5px 0 3px}
.search-example small{color:var(--muted);font-size:12px}
.mini-metric strong{display:block;margin-top:6px;font-size:17px;line-height:1.3}
.conversion-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#111417;color:#fff;padding:15px;border-radius:16px;font-size:13px}
.conversion-flow i{color:#7f8a84;font-style:normal}.conversion-flow strong{color:#8ed39a}
.ads-value-bottom{margin-top:18px;background:var(--ink);color:#fff;border-radius:28px;padding:34px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.ads-value-bottom small{color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.13em}.ads-value-bottom h3{font-size:30px;margin:7px 0 10px;max-width:780px}.ads-value-bottom p{color:#adb6b0;margin:0;max-width:760px}
.ads-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.ads-detail-grid article{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.ads-detail-grid small{color:var(--green2);font-weight:900}.ads-detail-grid h3{font-size:21px;margin:8px 0 10px}.ads-detail-grid p{margin:0!important;font-size:15px!important}
.ads-callout{margin-top:14px;padding:22px;border-radius:20px;background:var(--ink);color:#fff}.ads-callout strong{display:block;font-size:22px}.ads-callout span{display:block;color:#aeb8b1;margin-top:7px}
@media(max-width:980px){.ads-value-grid{grid-template-columns:1fr 1fr}.ads-value-bottom{grid-template-columns:1fr}}
@media(max-width:640px){.ads-value-grid,.ads-detail-grid{grid-template-columns:1fr}.ads-value-card{min-height:auto}.ads-value-bottom{padding:26px 22px}.ads-value-bottom h3{font-size:25px}.ads-value-head p{font-size:17px}}


/* V2.11 — Google + Instagram/Facebook strategy + FAQ */
.channel-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 18px}
.channel-card{border-radius:28px;padding:30px;border:1px solid var(--line);background:#fff;box-shadow:0 12px 34px rgba(17,20,23,.045);min-height:300px}
.channel-card small{color:var(--green2);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.channel-card h3{font-size:31px;margin:10px 0 12px}
.channel-card p{color:var(--muted);font-size:16px}
.channel-card.google-card{background:linear-gradient(160deg,#fff,#f4f8f4)}
.channel-card.meta-card{background:linear-gradient(160deg,#171b1d,#252c28);color:#fff;border-color:#303934}
.channel-card.meta-card p{color:#b8c1bb}.channel-card.meta-card small{color:#8bc795}
.channel-searches{display:flex;flex-wrap:wrap;gap:7px;margin-top:24px}.channel-searches span{border:1px solid #dfe7e0;border-radius:999px;padding:7px 10px;font-size:11px;color:#59615d;background:rgba(255,255,255,.7)}
.meta-card .channel-searches span{border-color:#3d4941;color:#d0d7d2;background:#202622}
.channel-inline{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.channel-inline>div{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.channel-inline small,.channel-inline strong,.channel-inline span{display:block}.channel-inline small{color:var(--green2);font-weight:850;margin-bottom:5px}.channel-inline strong{font-size:18px}.channel-inline span{font-size:13px;color:var(--muted);margin-top:4px}
.faq-section{background:linear-gradient(180deg,#fbfcfa,#f3f7f2)}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:42px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:20px;padding:0 22px;box-shadow:0 8px 26px rgba(17,20,23,.035)}.faq-item summary{cursor:pointer;list-style:none;padding:21px 34px 21px 0;font-weight:850;font-size:17px;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:0;top:18px;width:28px;height:28px;border-radius:50%;background:var(--mint);color:var(--green2);display:grid;place-items:center;font-size:20px;line-height:1;transition:.2s}.faq-item[open] summary:after{content:"–"}.faq-item p{color:var(--muted);margin:-3px 0 22px;font-size:15px;padding-right:18px}.faq-item[open]{border-color:#c9dbcD}
@media(max-width:980px){.channel-compare,.faq-list{grid-template-columns:1fr}.channel-inline{grid-template-columns:1fr}}
@media(max-width:640px){.channel-card{padding:24px;min-height:auto}.channel-card h3{font-size:27px}.faq-list{margin-top:28px}.faq-item{padding:0 17px}.faq-item summary{font-size:16px}}


/* V2.13 — logos de casos + FAQ propia */
.case-card-logo .case-visual{height:275px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.case-card-logo .case-visual:after{opacity:.55;z-index:-1}
.case-logo-wrap{position:absolute;inset:22px 22px auto 22px;height:105px;display:flex;align-items:center;justify-content:flex-start;z-index:2}
.case-logo-wrap img{max-width:230px;max-height:96px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,0,0,.10))}
.case-card-logo .case-visual span{position:relative;z-index:2;color:rgba(17,20,23,.62)}
.case-card-logo .case-visual strong{position:relative;z-index:2;color:var(--ink);font-size:28px;margin-top:10px}
.case-brand-carmak{background:linear-gradient(135deg,#fff4f3,#f6ddd9)}
.case-brand-move{background:linear-gradient(135deg,#eff5ff,#dce8fb)}
.case-brand-made{background:linear-gradient(135deg,#effbfa,#d8f1ed)}
.case-brand-adriana{background:linear-gradient(135deg,#f5edff,#e7d9fb)}
.case-brand-pablo{background:linear-gradient(135deg,#fff4f1,#f2ddd8)}
.case-brand-punto{background:linear-gradient(135deg,#f6f1e7,#e9dfcd)}
.case-logo-index-grid{align-items:stretch}
.case-logo-index{padding-top:16px;overflow:hidden}
.small-case-logo{height:120px;margin:-6px -6px 18px;border-radius:15px;display:flex;align-items:center;justify-content:center;padding:16px}
.small-case-logo img{max-width:88%;max-height:92px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.08))}
.tone-red{background:#fff0ef}.tone-blue{background:#eef4ff}.tone-teal{background:#eef9f8}.tone-purple{background:#f3ebff}.tone-warm{background:#fff2ef}.tone-sand{background:#f4efe4}.tone-dark{background:#202523}.tone-gold{background:#fff5e9}.tone-forest{background:#e9f0eb}.tone-pink{background:#fff0f2}
.faq-more{margin-top:26px}.faq-page-wrap{max-width:980px}.faq-cta-panel{margin-top:42px;padding:36px;border-radius:28px;background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.faq-cta-panel small{color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.11em}.faq-cta-panel h2{font-size:34px;margin-top:8px}
@media(max-width:980px){.faq-cta-panel{grid-template-columns:1fr}}
@media(max-width:640px){.case-card-logo .case-visual{height:255px}.case-logo-wrap{height:90px;inset:18px 18px auto 18px}.case-logo-wrap img{max-height:82px;max-width:210px}.case-card-logo .case-visual strong{font-size:25px}.small-case-logo{height:105px}.faq-cta-panel{padding:28px 22px}.faq-cta-panel h2{font-size:28px}}


/* === V2.14 Casos: logo grande sobre blanco + contenido coloreado debajo === */
.case-card-logo{
  background:#fff;
  border:1px solid #e1e6e1;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 12px 34px rgba(17,20,23,.045);
}
.case-card-logo:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 56px rgba(17,20,23,.09);
}
.case-card-logo .case-visual{
  height:285px;
  padding:0;
  background:#fff !important;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid #e6eae6;
}
.case-card-logo .case-visual:after{
  display:none !important;
}
.case-card-logo .case-logo-wrap{
  position:static;
  inset:auto;
  width:100%;
  height:100%;
  padding:28px 34px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.case-card-logo .case-logo-wrap img{
  width:100%;
  height:100%;
  max-width:92%;
  max-height:88%;
  object-fit:contain;
  filter:none;
}
.case-card-logo .case-copy{
  padding:30px 30px 32px;
  border-top:0;
}
.case-card-logo .case-services{
  font-size:11px;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:900;
  color:#466d4d;
  margin-bottom:10px;
}
.case-card-logo .case-headline{
  font-size:27px;
  line-height:1.08;
  letter-spacing:-.035em;
  margin:0 0 22px;
  max-width:560px;
  color:var(--ink);
}
.case-card-logo .case-copy small{
  display:block;
  margin-bottom:6px;
}
.case-card-logo .case-copy h3{
  margin:0 0 10px;
}
.case-card-logo .case-copy p{
  margin:0 0 8px;
}

/* Colores suaves solo en la zona de texto; los banners de logo quedan blancos */
.case-carmak .case-copy{background:#fff1ef}
.case-move .case-copy{background:#eef4ff}
.case-made .case-copy{background:#ecfaf7}
.case-adriana .case-copy{background:#f6efff}
.case-pablo .case-copy{background:#fff3f1}
.case-punto .case-copy{background:#f6f3ec}

/* Índice de casos: logos también sobre blanco */
.small-case-logo{
  background:#fff !important;
  border:1px solid #e8ece8;
}
.small-case-logo img{
  max-width:92%;
  max-height:94px;
  filter:none;
}

@media(max-width:640px){
  .case-card-logo .case-visual{
    height:220px;
  }
  .case-card-logo .case-logo-wrap{
    padding:22px 24px;
  }
  .case-card-logo .case-logo-wrap img{
    max-width:95%;
    max-height:90%;
  }
  .case-card-logo .case-copy{
    padding:24px 22px 26px;
  }
  .case-card-logo .case-headline{
    font-size:23px;
    margin-bottom:18px;
  }
}


/* === V2.15: arquitectura, publicidad, casos y nosotros === */
.ads-value-head h2 em{color:var(--green);font-style:normal}
.ads-value-head p{max-width:820px}
.services-index-link{margin-top:4px}

/* Case logo normalization */
.case-carmak .case-logo-wrap img,.case-move .case-logo-wrap img,.case-punto .case-logo-wrap img{transform:scale(1.30)}
.case-pablo .case-logo-wrap img,.case-adriana .case-logo-wrap img{transform:scale(.70)}
.case-viento .case-logo-wrap img{transform:scale(1.05)}
.case-rincon .case-logo-wrap img{transform:scale(1.02)}
.case-colinas .case-logo-wrap img{transform:scale(1.15)}
.case-made .case-logo-wrap img{transform:scale(1.08)}
.case-mariana .case-logo-wrap img{transform:scale(.86)}
.eden-wordmark{font-size:clamp(34px,4vw,58px);font-weight:850;letter-spacing:-.045em;color:#153f2f;text-align:center;line-height:1.02;max-width:760px;padding:0 24px}
.cases-grid-all{grid-template-columns:repeat(2,1fr)}
.cases-grid-all .case-card-logo .case-visual{height:270px}

/* About */
.about-hero p{max-width:800px}
.about-story-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:64px;align-items:center}
.about-story-copy h2{font-size:clamp(38px,4.6vw,62px);margin:12px 0 24px}
.about-story-copy p{font-size:18px;color:var(--muted);max-width:760px}
.about-photo{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:#eef4ed}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover}
.about-photo-vertical{aspect-ratio:5/7}
.about-numbers .section-heading p{color:#aab4ae}
.social-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:44px}
.social-proof-grid>div{border:1px solid #333a36;border-radius:22px;padding:24px;background:#171b1d}
.social-proof-grid strong{display:block;font-size:38px;color:var(--green);line-height:1}
.social-proof-grid span{display:block;color:#b0bab4;margin-top:8px;font-size:13px}
.about-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-gallery figure{margin:0}
.about-gallery img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:28px;display:block}
.about-gallery figcaption{font-size:13px;color:var(--muted);padding:10px 4px}
.about-principles{grid-template-columns:repeat(2,1fr);display:grid}
.about-cta{text-align:center;margin-top:32px}
.services-index-page{margin-top:0}
.services-diagnosis-panel{margin-top:50px;padding:38px;border-radius:28px;background:var(--mint);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.services-diagnosis-panel h2{font-size:34px}
.services-diagnosis-panel p{margin:0;color:var(--muted)}

@media(max-width:900px){
 .about-story-grid{grid-template-columns:1fr}.about-photo-vertical{max-width:540px;margin:auto;width:100%}
 .social-proof-grid{grid-template-columns:1fr 1fr}.about-principles{grid-template-columns:1fr}
 .services-diagnosis-panel{grid-template-columns:1fr}.cases-grid-all{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .case-carmak .case-logo-wrap img,.case-move .case-logo-wrap img,.case-punto .case-logo-wrap img{transform:scale(1.22)}
 .case-pablo .case-logo-wrap img,.case-adriana .case-logo-wrap img{transform:scale(.76)}
 .cases-grid-all{grid-template-columns:1fr}
 .social-proof-grid,.about-gallery-grid{grid-template-columns:1fr}
 .social-proof-grid strong{font-size:34px}
 .services-diagnosis-panel{padding:28px 22px}
 .services-diagnosis-panel .btn{width:100%}
 .about-story-copy p{font-size:17px}
}


/* === V2.16 Nosotros: Instagram + fotos reales + historia actualizada === */
.instagram-proof{
  margin-top:24px;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(17,20,23,.05);
}
.instagram-proof:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(17,20,23,.08)}
.instagram-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#7b61ff,#f94f8d,#f5a647);
  color:#fff;font-size:28px;font-weight:800;
}
.instagram-proof span:last-child{display:grid;gap:1px}
.instagram-proof strong{font-size:15px}
.instagram-proof small{color:var(--green2);font-weight:800}

.social-proof-note{
  margin-top:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:20px 22px;
  border:1px solid #343d37;
  border-radius:18px;
  background:#171b1d;
}
.social-proof-note p{margin:0;color:#aeb8b1;max-width:800px}
.social-proof-note a{color:var(--green);font-weight:850;white-space:nowrap}

.about-photo img,
.about-gallery img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.about-photo-vertical{
  min-height:620px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 24px 65px rgba(17,20,23,.12);
}
.about-gallery-three{
  grid-template-columns:1.25fr .75fr;
  align-items:stretch;
}
.about-gallery-horizontal{
  min-height:440px;
}
.about-gallery-vertical{
  min-height:440px;
}
.about-gallery figure{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 15px 45px rgba(17,20,23,.06);
  display:grid;
  grid-template-rows:1fr auto;
}
.about-gallery figure img{min-height:0}
.about-gallery figure figcaption{
  padding:15px 18px;
  font-size:13px;
  color:var(--muted);
  background:#fff;
}

@media(max-width:780px){
  .social-proof-note{flex-direction:column;align-items:flex-start}
  .about-gallery-three{grid-template-columns:1fr}
  .about-photo-vertical{min-height:470px}
  .about-gallery-horizontal,.about-gallery-vertical{min-height:360px}
}


/* === V2.17 Nosotros: marcas, seguimiento y nueva distribución de fotos === */
.about-gallery-three{
  grid-template-columns:1fr 1fr;
}
.about-gallery-horizontal{
  min-height:420px;
}
.about-team-note{
  margin:34px auto 0;
  max-width:900px;
  padding:24px 26px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#f8faf8;
}
.about-team-note strong{
  display:block;
  font-size:20px;
  margin-bottom:8px;
}
.about-team-note p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}
@media(max-width:780px){
  .about-gallery-three{grid-template-columns:1fr}
  .about-gallery-horizontal{min-height:340px}
}


/* === V2.18 diagnóstico reducido + privacidad === */
.step-helper{margin:-4px 0 18px;color:var(--muted);font-size:14px}
.optional-label{font-weight:600;color:var(--muted);font-size:.9em}
.privacy-row a{text-decoration:underline;text-underline-offset:3px}
.redirect-note{margin-top:10px;color:var(--muted);font-size:14px}
.legal-content{max-width:860px}
.legal-content h2{margin:34px 0 10px;font-size:26px}
.legal-content p{color:var(--muted);line-height:1.75}
.legal-content a{color:var(--green2);font-weight:800}


/* =========================================================
   V2.26 — MOBILE WIDTH / ZOOM SAFETY + CONTACT EMAIL
   ========================================================= */

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

main,
header,
footer,
section{
  max-width:100%;
}

.container,
.nav-wrap,
.hero-grid,
.split-grid,
.story-grid,
.services-grid,
.industry-grid,
.cases-grid,
.diagnosis-wrap,
.nosotros-grid,
.service-layout,
.case-layout,
.footer-grid,
.cta-panel,
.about-story-grid,
.channel-compare,
.channel-inline{
  min-width:0;
}

img,
video,
canvas,
iframe{
  max-width:100%;
  height:auto;
}

svg{
  max-width:100%;
}

p,
h1,
h2,
h3,
a,
span,
strong{
  overflow-wrap:break-word;
}

.footer-email{
  display:inline-flex;
  margin-top:10px;
  color:#4a9e5e;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  word-break:break-word;
}

.footer-email:hover{
  text-decoration:underline;
}

.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.contact-email-line{
  margin-top:18px;
  color:#69716d;
}

.contact-email-line a{
  color:#4a9e5e;
  font-weight:800;
}

@media(max-width:640px){
  html,
  body{
    width:100%;
    min-width:0;
    max-width:100%;
    overflow-x:hidden;
  }

  .container{
    width:calc(100% - 24px) !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .hero-grid,
  .split-grid,
  .story-grid,
  .diagnosis-wrap,
  .nosotros-grid,
  .service-layout,
  .case-layout,
  .footer-grid,
  .cta-panel,
  .about-story-grid,
  .channel-compare,
  .channel-inline{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .search-shell,
  .glass-card,
  .diagnosis-shell,
  .world-card,
  .cta-panel,
  .faq-cta-panel,
  .case-card,
  .small-case,
  .service-card,
  .ads-value-card,
  .channel-card{
    max-width:100%;
  }

  .hero-stage,
  .story-stage{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* Prevent the animated system from widening the document canvas. */
  #sistema{
    overflow:hidden;
  }

  #sistema .story-stage{
    overflow:hidden !important;
  }

  #sistema .story-visual.gear-system{
    width:100% !important;
    max-width:100% !important;
  }

  .contact-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .contact-actions .btn{
    width:100%;
  }

  .footer-email{
    font-size:15px;
  }
}


/* =========================================================
   V2.27 — HERO STATUS PULSE + MOBILE SISTEMA MIMBI
   ========================================================= */

@keyframes mimbiStatusPulse{
  0%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(109,180,122,.55);
    opacity:1;
  }
  55%{
    transform:scale(1.08);
    box-shadow:0 0 0 7px rgba(109,180,122,0);
    opacity:1;
  }
  100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(109,180,122,0);
    opacity:1;
  }
}

.global-pill i{
  animation:mimbiStatusPulse 1.8s ease-out infinite;
  transform-origin:center;
}

@media(max-width:640px){

  /* Más aire y proporción en la sección del sistema */
  #sistema{
    overflow:hidden;
  }

  #sistema .story-grid{
    gap:28px !important;
  }

  #sistema .story-stage{
    width:100%;
    max-width:100%;
    overflow:hidden !important;
    padding:0 !important;
  }

  #sistema .story-visual.gear-system{
    width:100% !important;
    max-width:100% !important;
    min-height:430px !important;
    height:430px !important;
    margin:0 auto !important;
    overflow:hidden !important;
  }

  #sistema .gear-glow{
    width:340px !important;
    height:340px !important;
  }

  #sistema .gear-wheel{
    width:270px !important;
    height:270px !important;
  }

  #sistema .gear-tooth{
    width:14px !important;
    height:28px !important;
    margin-left:-7px !important;
    margin-top:-153px !important;
    transform-origin:7px 153px !important;
    border-radius:5px !important;
  }

  #sistema .gear-ring-outer{
    width:268px !important;
    height:268px !important;
  }

  #sistema .gear-ring-mid{
    width:220px !important;
    height:220px !important;
  }

  #sistema .gear-ring-inner{
    width:148px !important;
    height:148px !important;
  }

  #sistema .gear-circuit{
    width:246px !important;
    height:246px !important;
  }

  #sistema .journey-center{
    width:118px !important;
    height:118px !important;
  }

  #sistema .journey-center::before{
    inset:9px !important;
  }

  #sistema .journey-center svg{
    width:36px !important;
  }

  #sistema .journey-center span{
    font-size:11px !important;
  }

  #sistema .gear-card{
    width:108px !important;
    min-width:108px !important;
    max-width:108px !important;
    height:78px !important;
    min-height:78px !important;
    max-height:78px !important;
    padding:10px 11px !important;
    border-radius:17px !important;
  }

  #sistema .gear-card small{
    margin:0 0 5px !important;
    font-size:9px !important;
  }

  #sistema .gear-card b{
    margin:0 0 4px !important;
    font-size:13px !important;
    line-height:1.06 !important;
  }

  #sistema .gear-card span{
    font-size:10px !important;
    line-height:1.15 !important;
  }

  #sistema .gear-card.active{
    transform:
      translate(-50%,-50%)
      rotate(var(--counter-rotation,0deg))
      scale(1.07) !important;
  }

  #sistema .read-zone{
    width:118px !important;
    height:88px !important;
    left:calc(50% + 118px) !important;
    border-radius:20px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .global-pill i{
    animation:none;
  }
}


/* =========================================================
   V2.30 — HERO HÍBRIDO PREMIUM (SAFE)
   ========================================================= */

.search-shell .hybrid-results{
  display:grid;
  gap:9px;
  padding:18px 20px 20px;
}

.hybrid-result{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:11px 12px;
  border-radius:15px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(17,20,23,.075);
  box-shadow:0 6px 18px rgba(17,20,23,.045);
}

.hybrid-result.competitor-result{
  opacity:.52;
  transform:scale(.985);
}

.hybrid-result.main-result{
  background:linear-gradient(180deg,#fbfffc,#f4faf5);
  border-color:rgba(109,180,122,.26);
  box-shadow:0 12px 28px rgba(34,76,45,.085);
}

.hybrid-result.main-result.is-highlighted{
  animation:mimbiHeroResultGlow 2.8s ease-in-out infinite;
}

@keyframes mimbiHeroResultGlow{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:0 12px 28px rgba(34,76,45,.085);
  }
  50%{
    transform:translateY(-2px) scale(1.012);
    box-shadow:0 17px 34px rgba(34,76,45,.13),0 0 25px rgba(109,180,122,.08);
  }
}

.result-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-size:12px;
  font-weight:900;
}

.result-icon-main{
  background:#111417;
  color:#fff;
}

.result-icon-muted{
  background:#edf1ee;
  color:#6f7773;
}

.result-copy{
  min-width:0;
  flex:1;
}

.result-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
}

.result-topline strong{
  color:#111417;
  font-size:13px;
  line-height:1.15;
}

.result-stars{
  color:#87908b;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}

.result-stars.strong{
  color:#4a9e5e;
}

.result-meta,
.result-desc,
.result-trustline{
  display:block;
  margin-top:4px;
  color:#6f7773;
  font-size:10px;
  line-height:1.32;
}

.result-trustline{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}

.result-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(109,180,122,.11);
  color:#3f8d52;
  border:1px solid rgba(109,180,122,.19);
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}

.result-chips{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:7px;
}

.result-chips span{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:0 7px;
  border-radius:999px;
  background:#eef7f0;
  color:#438d54;
  border:1px solid rgba(109,180,122,.16);
  font-size:8px;
  font-weight:900;
}

.hybrid-insight-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.hybrid-insight{
  padding:9px 10px;
  border-radius:13px;
  background:#111417;
  box-shadow:0 8px 20px rgba(17,20,23,.13);
}

.hybrid-insight small{
  display:block;
  color:#929a96;
  font-size:8px;
  margin-bottom:3px;
}

.hybrid-insight strong{
  display:block;
  color:#fff;
  font-size:10px;
  line-height:1.15;
}

.hybrid-insight span{
  display:block;
  margin-top:2px;
  color:#aeb5b1;
  font-size:8px;
}

.hybrid-results.result-refresh .hybrid-result,
.hybrid-results.result-refresh .hybrid-insight-row{
  animation:mimbiResultRefresh .48s ease both;
}

@keyframes mimbiResultRefresh{
  from{opacity:.35;transform:translateY(5px);}
  to{opacity:1;transform:translateY(0);}
}

@media(max-width:640px){
  .search-shell .hybrid-results{
    padding:12px 10px 14px;
    gap:7px;
  }

  .hybrid-result.competitor-result{
    display:none;
  }

  .hybrid-result{
    padding:9px 10px;
    border-radius:13px;
  }

  .result-icon{
    width:30px;
    height:30px;
    flex-basis:30px;
  }

  .result-topline strong{font-size:11px;}
  .result-meta,.result-desc,.result-trustline{font-size:8px;}
  .result-badge{font-size:7px;min-height:19px;padding:0 6px;}
  .result-chips{gap:4px;margin-top:6px;}
  .result-chips span{font-size:7px;min-height:18px;padding:0 5px;}
  .hybrid-insight{padding:8px 9px;}
  .hybrid-insight strong{font-size:9px;}
  .hybrid-insight small,.hybrid-insight span{font-size:7px;}
}

@media(prefers-reduced-motion:reduce){
  .hybrid-result.main-result.is-highlighted,
  .hybrid-results.result-refresh .hybrid-result,
  .hybrid-results.result-refresh .hybrid-insight-row{
    animation:none !important;
  }
}


/* =========================================================
   V2.31 — HERO RESULTADOS CLAROS
   ========================================================= */

.search-shell .clear-results{
  display:grid;
  gap:9px;
  padding:18px 20px 20px;
}

.clear-results-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:0 4px 3px;
}

.clear-results-head span{
  color:#111417;
  font-size:11px;
  font-weight:800;
}

.clear-results-head small{
  color:#8a928e;
  font-size:9px;
}

.clear-result{
  display:grid;
  grid-template-columns:28px 36px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border-radius:15px;
  border:1px solid rgba(17,20,23,.075);
  background:#fff;
}

.clear-result.muted-result{
  opacity:.48;
  background:rgba(255,255,255,.76);
}

.rank-number{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#f1f3f2;
  color:#747c78;
  font-size:10px;
  font-weight:900;
}

.rank-main{
  background:#6DB47A;
  color:#fff;
  box-shadow:0 5px 14px rgba(109,180,122,.22);
}

.clear-result-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#edf1ee;
  color:#6f7773;
  font-size:12px;
  font-weight:900;
}

.main-icon{
  background:#111417;
  color:#fff;
}

.clear-result-copy{
  min-width:0;
}

.clear-result-copy strong{
  display:block;
  color:#111417;
  font-size:13px;
  line-height:1.15;
}

.clear-result-meta{
  display:block;
  margin-top:3px;
  color:#737b77;
  font-size:10px;
}

.clear-result-copy small{
  display:block;
  margin-top:2px;
  color:#979e9a;
  font-size:8px;
}

.clear-result.main-result{
  position:relative;
  background:linear-gradient(180deg,#fbfffc,#f4faf5);
  border-color:rgba(109,180,122,.35);
  box-shadow:
    0 16px 34px rgba(40,85,51,.11),
    0 0 0 1px rgba(109,180,122,.04) inset;
  transform:translateY(-1px);
}

.clear-result.main-result::after{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:999px;
  background:#6DB47A;
  box-shadow:0 0 14px rgba(109,180,122,.45);
}

.main-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.main-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(109,180,122,.12);
  border:1px solid rgba(109,180,122,.18);
  color:#438d54;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}

.main-meta{
  color:#4f8e5e;
  font-weight:800;
}

.main-desc{
  color:#65706a !important;
  font-size:9px !important;
}

.clear-result-tags{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:7px;
}

.clear-result-tags span{
  display:inline-flex;
  align-items:center;
  min-height:20px;
  padding:0 7px;
  border-radius:999px;
  background:#eef7f0;
  color:#438d54;
  border:1px solid rgba(109,180,122,.15);
  font-size:8px;
  font-weight:900;
}

.clear-results-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:2px;
  padding:11px 13px;
  border-radius:14px;
  background:#111417;
  box-shadow:0 10px 24px rgba(17,20,23,.12);
}

.clear-results-bottom small{
  display:block;
  color:#929a96;
  font-size:8px;
  margin-bottom:2px;
}

.clear-results-bottom strong{
  display:block;
  color:#fff;
  font-size:10px;
  line-height:1.2;
}

.clear-results-arrow{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#6DB47A;
  color:#fff;
  font-size:15px;
  font-weight:900;
}

@keyframes clearResultPulse{
  0%,100%{
    transform:translateY(-1px) scale(1);
    box-shadow:
      0 16px 34px rgba(40,85,51,.11),
      0 0 0 1px rgba(109,180,122,.04) inset;
  }
  50%{
    transform:translateY(-3px) scale(1.008);
    box-shadow:
      0 18px 38px rgba(40,85,51,.15),
      0 0 24px rgba(109,180,122,.07);
  }
}

.clear-result.main-result.is-highlighted{
  animation:clearResultPulse 3s ease-in-out infinite;
}

.clear-results.result-refresh .clear-result,
.clear-results.result-refresh .clear-results-bottom{
  animation:clearResultRefresh .45s ease both;
}

@keyframes clearResultRefresh{
  from{opacity:.35;transform:translateY(4px);}
  to{opacity:1;transform:translateY(0);}
}

@media(max-width:640px){
  .search-shell .clear-results{
    padding:12px 10px 14px;
    gap:7px;
  }

  .clear-results-head{
    padding:0 2px 2px;
  }

  .clear-results-head span{
    font-size:9px;
  }

  .clear-results-head small{
    font-size:7px;
  }

  .clear-result{
    grid-template-columns:24px 30px minmax(0,1fr);
    gap:8px;
    padding:9px 9px;
    border-radius:13px;
  }

  .clear-result.muted-result{
    display:none;
  }

  .rank-number{
    width:24px;
    height:24px;
    border-radius:8px;
    font-size:9px;
  }

  .clear-result-icon{
    width:30px;
    height:30px;
    border-radius:8px;
    font-size:10px;
  }

  .clear-result-copy strong{
    font-size:11px;
  }

  .clear-result-meta{
    font-size:8px;
  }

  .main-badge{
    min-height:19px;
    padding:0 6px;
    font-size:7px;
  }

  .main-desc{
    font-size:8px !important;
  }

  .clear-result-tags{
    gap:4px;
    margin-top:6px;
  }

  .clear-result-tags span{
    min-height:18px;
    padding:0 5px;
    font-size:7px;
  }

  .clear-results-bottom{
    padding:9px 10px;
  }

  .clear-results-bottom strong{
    font-size:9px;
  }

  .clear-results-bottom small{
    font-size:7px;
  }

  .clear-results-arrow{
    width:24px;
    height:24px;
    font-size:13px;
  }
}

@media(prefers-reduced-motion:reduce){
  .clear-result.main-result.is-highlighted,
  .clear-results.result-refresh .clear-result,
  .clear-results.result-refresh .clear-results-bottom{
    animation:none !important;
  }
}


/* =========================================================
   V2.32 — HERO SUBIENDO SIN FALSA EXPECTATIVA
   ========================================================= */
.hybrid-result,
.hybrid-insight-row,
.clear-results{display:none !important;}

.search-shell .rising-results{
  display:grid;
  gap:12px;
  padding:18px 20px 20px;
}

.rising-results-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:0 4px;
}

.rising-results-head span{
  color:#111417;
  font-size:11px;
  font-weight:800;
}

.rising-results-head small{
  color:#8a928e;
  font-size:9px;
}

.rising-viewport{
  position:relative;
  min-height:280px;
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(180deg,#fbfdfb 0%,#f6f8f7 100%);
  border:1px solid rgba(17,20,23,.07);
}

.blurred-track{
  position:absolute;
  inset:14px 14px 20px 14px;
  display:grid;
  gap:12px;
}

.blur-row{
  display:grid;
  grid-template-columns:24px 34px minmax(0,1fr) 34px;
  gap:10px;
  align-items:center;
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.84);
  border:1px solid rgba(17,20,23,.045);
  opacity:.75;
  filter:blur(1.25px);
  transform:scale(.985);
}

.blur-rank,
.blur-avatar,
.blur-score,
.blur-lines i{
  display:block;
  border-radius:999px;
  background:linear-gradient(90deg,#edf1ee 0%,#e4e8e5 100%);
}

.blur-rank{width:24px;height:24px;}
.blur-avatar{width:34px;height:34px;border-radius:10px;}
.blur-score{width:34px;height:14px;justify-self:end;}
.blur-lines{display:grid;gap:6px;}
.blur-lines i:first-child{height:12px;width:68%;}
.blur-lines i:last-child{height:10px;width:44%;}

.row-a{margin-right:38px;}
.row-b{margin-left:10px; margin-right:16px;}
.row-c{margin-right:48px;}
.row-d{margin-left:18px; margin-right:28px;}

.rise-lane{
  position:absolute;
  right:18px;
  top:24px;
  bottom:24px;
  width:84px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  pointer-events:none;
}

.rise-lane::before{
  content:"";
  position:absolute;
  top:16px;
  bottom:16px;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(109,180,122,.05) 0%, rgba(109,180,122,.5) 100%);
}

.rise-lane span{
  width:40px;
  height:40px;
  border-radius:50%;
  background:rgba(109,180,122,.14);
  border:1px solid rgba(109,180,122,.24);
  box-shadow:0 0 28px rgba(109,180,122,.18);
  position:relative;
}

.rise-lane span::before{
  content:"↑";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#49925a;
  font-size:18px;
  font-weight:900;
}

.rise-lane small{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(109,180,122,.16);
  color:#4b935b;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(36,61,43,.07);
}

.rising-card{
  position:absolute;
  left:18px;
  right:102px;
  bottom:22px;
  z-index:2;
  border-radius:18px;
  background:linear-gradient(180deg,#fbfffc 0%,#f4faf5 100%);
  border:1px solid rgba(109,180,122,.34);
  box-shadow:0 18px 34px rgba(26,51,34,.13), 0 0 0 1px rgba(109,180,122,.05) inset;
  padding:14px 15px 13px;
  transform:translateY(52px);
  animation:risingCardDemo 8s cubic-bezier(.22,.9,.25,1) infinite;
}

.rising-card::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:999px;
  background:#6DB47A;
  box-shadow:0 0 16px rgba(109,180,122,.5);
}

.rising-card::after{
  content:"";
  position:absolute;
  left:28px;
  right:28px;
  bottom:-12px;
  height:16px;
  border-radius:999px;
  background:radial-gradient(ellipse at center, rgba(109,180,122,.22) 0%, rgba(109,180,122,0) 72%);
  filter:blur(8px);
}

@keyframes risingCardDemo{
  0%,18%{
    transform:translateY(58px) scale(.98);
    box-shadow:0 14px 24px rgba(26,51,34,.09), 0 0 0 1px rgba(109,180,122,.04) inset;
  }
  34%,72%{
    transform:translateY(-10px) scale(1.01);
    box-shadow:0 20px 38px rgba(26,51,34,.16), 0 0 28px rgba(109,180,122,.08);
  }
  100%{
    transform:translateY(58px) scale(.98);
    box-shadow:0 14px 24px rgba(26,51,34,.09), 0 0 0 1px rgba(109,180,122,.04) inset;
  }
}

.rising-rank{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(109,180,122,.11);
  color:#458e55;
  border:1px solid rgba(109,180,122,.18);
  font-size:8px;
  font-weight:900;
  margin-bottom:10px;
}

.rising-card-main{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
}

.rising-brand{
  width:42px;
  height:42px;
  border-radius:12px;
  background:#111417;
  color:#fff;
  display:grid;
  place-items:center;
  font-size:16px;
  font-weight:900;
}

.rising-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.rising-title-row strong{
  color:#111417;
  font-size:14px;
  line-height:1.15;
}

.rising-state{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  background:#111417;
  color:#fff;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}

.rising-meta{
  display:block;
  margin-top:4px;
  color:#4f8e5e;
  font-size:10px;
  font-weight:800;
}

.rising-desc{
  margin:6px 0 0;
  color:#65706a;
  font-size:9px;
  line-height:1.45;
}

.rising-progress{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(17,20,23,.08);
}

.rising-progress i{
  flex:0 0 72px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(109,180,122,.2) 0%, #6DB47A 72%, rgba(109,180,122,.42) 100%);
  box-shadow:0 0 18px rgba(109,180,122,.22);
  position:relative;
  overflow:hidden;
}

.rising-progress i::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.58) 50%, transparent 100%);
  animation:risingProgressShine 2.4s linear infinite;
}

@keyframes risingProgressShine{
  from{transform:translateX(-100%);} to{transform:translateX(100%);} 
}

.rising-progress span{
  color:#51615a;
  font-size:8px;
  font-weight:700;
}

.rising-results-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px;
  border-radius:14px;
  background:#111417;
  box-shadow:0 10px 24px rgba(17,20,23,.12);
}

.rising-results-bottom small{
  display:block;
  color:#929a96;
  font-size:8px;
  margin-bottom:2px;
}

.rising-results-bottom strong{
  display:block;
  color:#fff;
  font-size:10px;
  line-height:1.25;
}

.rising-results-badge{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#6DB47A;
  color:#fff;
  font-size:15px;
  font-weight:900;
  box-shadow:0 0 16px rgba(109,180,122,.28);
}

@media(max-width:640px){
  .search-shell .rising-results{
    padding:12px 10px 14px;
    gap:9px;
  }

  .rising-results-head span{font-size:9px;}
  .rising-results-head small{font-size:7px;}

  .rising-viewport{
    min-height:208px;
    border-radius:16px;
  }

  .blurred-track{inset:10px 10px 14px 10px; gap:9px;}
  .blur-row{grid-template-columns:18px 26px minmax(0,1fr) 22px; padding:10px 10px; border-radius:12px;}
  .blur-rank{width:18px;height:18px;}
  .blur-avatar{width:26px;height:26px;border-radius:8px;}
  .blur-score{width:22px;height:10px;}
  .blur-lines i:first-child{height:10px;}
  .blur-lines i:last-child{height:8px;}

  .rise-lane{
    right:10px;
    top:14px;
    bottom:14px;
    width:56px;
  }
  .rise-lane span{width:28px;height:28px;}
  .rise-lane span::before{font-size:14px;}
  .rise-lane small{font-size:6px;padding:5px 6px;max-width:52px;white-space:normal;line-height:1.1;text-align:center;}

  .rising-card{
    left:10px;
    right:58px;
    bottom:14px;
    border-radius:14px;
    padding:10px 10px 10px;
    transform:translateY(40px);
  }

  @keyframes risingCardDemo{
    0%,18%{transform:translateY(40px) scale(.98);box-shadow:0 10px 18px rgba(26,51,34,.08), 0 0 0 1px rgba(109,180,122,.04) inset;}
    34%,72%{transform:translateY(-6px) scale(1.01);box-shadow:0 16px 28px rgba(26,51,34,.16), 0 0 22px rgba(109,180,122,.08);}
    100%{transform:translateY(40px) scale(.98);box-shadow:0 10px 18px rgba(26,51,34,.08), 0 0 0 1px rgba(109,180,122,.04) inset;}
  }

  .rising-rank{min-height:18px;padding:0 7px;font-size:7px;margin-bottom:8px;}
  .rising-card-main{grid-template-columns:32px minmax(0,1fr);gap:8px;}
  .rising-brand{width:32px;height:32px;border-radius:10px;font-size:13px;}
  .rising-title-row{display:block;}
  .rising-title-row strong{font-size:11px;display:block;}
  .rising-state{margin-top:5px;min-height:18px;padding:0 6px;font-size:7px;display:inline-flex;}
  .rising-meta{font-size:8px;margin-top:4px;}
  .rising-desc{font-size:7px;line-height:1.38;margin-top:5px;}
  .rising-progress{margin-top:8px;padding-top:8px;gap:6px;}
  .rising-progress i{flex-basis:42px;height:6px;}
  .rising-progress span{font-size:7px;line-height:1.2;}

  .rising-results-bottom{padding:9px 10px;border-radius:12px;}
  .rising-results-bottom small{font-size:7px;}
  .rising-results-bottom strong{font-size:8px;line-height:1.25;}
  .rising-results-badge{width:24px;height:24px;font-size:13px;}
}

@media(prefers-reduced-motion:reduce){
  .rising-card,
  .rising-progress i::after{animation:none !important;}
}


/* =========================================================
   V2.33 — HERO FONDO EN MOVIMIENTO / MENSAJE LIMPIO
   ========================================================= */
.metric-card,
.rising-results-bottom,
.rising-results-badge{display:none !important;}

.search-shell .rising-results{
  display:grid;
  gap:12px;
  padding:18px 20px 16px;
}

.rising-viewport{
  min-height:300px;
}

.blurred-track{
  inset:14px 14px 18px 14px;
  gap:12px;
  animation:blurredTrackDown 11s linear infinite;
  will-change:transform;
}

@keyframes blurredTrackDown{
  0%{transform:translateY(-72px);}
  100%{transform:translateY(40px);}
}

.blur-row{
  opacity:.68;
  filter:blur(2.4px);
}

.row-a{margin-right:56px;}
.row-b{margin-left:12px; margin-right:24px;}
.row-c{margin-right:70px;}
.row-d{margin-left:20px; margin-right:34px;}
.row-e{margin-right:48px;}
.row-f{margin-left:8px; margin-right:62px;}

.rise-lane{
  right:16px;
  top:18px;
  bottom:20px;
  width:84px;
}

.rise-lane::before{
  background:linear-gradient(180deg,rgba(109,180,122,.02) 0%, rgba(109,180,122,.56) 100%);
}

.rising-card{
  left:18px;
  right:100px;
  bottom:28px;
  transform:translateY(62px);
  animation:risingCardIntro 1.3s cubic-bezier(.2,.86,.22,1) .2s forwards;
}

@keyframes risingCardIntro{
  0%{
    transform:translateY(62px) scale(.985);
    box-shadow:0 10px 16px rgba(26,51,34,.08), 0 0 0 1px rgba(109,180,122,.04) inset;
  }
  60%{
    transform:translateY(10px) scale(1.01);
    box-shadow:0 20px 34px rgba(26,51,34,.14), 0 0 24px rgba(109,180,122,.08);
  }
  100%{
    transform:translateY(0) scale(1);
    box-shadow:0 18px 34px rgba(26,51,34,.13), 0 0 0 1px rgba(109,180,122,.05) inset;
  }
}

.rising-summary{
  margin:0;
  padding:0 4px;
  color:#111417;
  font-size:12px;
  line-height:1.35;
  font-weight:800;
}

@media(max-width:640px){
  .search-shell .rising-results{
    padding:12px 10px 12px;
    gap:9px;
  }

  .rising-viewport{
    min-height:228px;
  }

  .blurred-track{
    inset:10px 10px 12px 10px;
    gap:9px;
    animation:blurredTrackDownMobile 10s linear infinite;
  }

  @keyframes blurredTrackDownMobile{
    0%{transform:translateY(-54px);}
    100%{transform:translateY(26px);}
  }

  .row-a{margin-right:32px;}
  .row-b{margin-left:8px; margin-right:12px;}
  .row-c{margin-right:40px;}
  .row-d{margin-left:14px; margin-right:18px;}
  .row-e{margin-right:26px;}
  .row-f{margin-left:6px; margin-right:32px;}

  .rise-lane{
    right:10px;
    top:12px;
    bottom:16px;
    width:54px;
  }

  .rising-card{
    left:10px;
    right:54px;
    bottom:14px;
    padding:10px;
    transform:translateY(42px);
  }

  @keyframes risingCardIntro{
    0%{transform:translateY(42px) scale(.985); box-shadow:0 10px 16px rgba(26,51,34,.08), 0 0 0 1px rgba(109,180,122,.04) inset;}
    60%{transform:translateY(6px) scale(1.01); box-shadow:0 16px 26px rgba(26,51,34,.13), 0 0 20px rgba(109,180,122,.08);}
    100%{transform:translateY(0) scale(1); box-shadow:0 14px 22px rgba(26,51,34,.12), 0 0 0 1px rgba(109,180,122,.05) inset;}
  }

  .rising-summary{
    font-size:9px;
    line-height:1.35;
    padding:0 2px;
  }
}

@media(prefers-reduced-motion:reduce){
  .blurred-track,
  .rising-card,
  .rising-progress i::after{animation:none !important; transform:none !important;}
}


/* =========================================================
   V2.34 — HERO TEXTO FIJO + ASCENSO SUAVE
   ========================================================= */

/* La tarjeta principal mantiene siempre el mismo mensaje. */
.rising-desc strong{
  color:#111417;
  font-size:12px;
  line-height:1.3;
  font-weight:900;
}

.rising-desc{
  color:#5f6a64;
  font-size:10px;
  line-height:1.45;
}

.rising-progress{
  align-items:flex-start;
}

.rising-progress span{
  color:#42514a;
  font-size:8px;
  line-height:1.3;
  font-weight:800;
}

/* Fondo baja de forma continua. */
.blurred-track{
  animation:blurredTrackDownV234 12s linear infinite !important;
}

@keyframes blurredTrackDownV234{
  from{transform:translateY(-86px);}
  to{transform:translateY(54px);}
}

/* La ficha principal sube lentamente y de forma continua.
   El recorrido es deliberadamente corto para no sugerir “puesto 1”. */
.rising-card{
  animation:risingCardFloatUpV234 9s ease-in-out infinite alternate !important;
  will-change:transform;
}

@keyframes risingCardFloatUpV234{
  0%{
    transform:translateY(24px) scale(.992);
    box-shadow:0 14px 24px rgba(26,51,34,.10),0 0 0 1px rgba(109,180,122,.04) inset;
  }
  100%{
    transform:translateY(-14px) scale(1.005);
    box-shadow:0 20px 38px rgba(26,51,34,.15),0 0 28px rgba(109,180,122,.08);
  }
}

@media(max-width:640px){
  .rising-desc strong{
    font-size:10px;
  }

  .rising-desc{
    font-size:8px;
    line-height:1.4;
  }

  .rising-progress span{
    font-size:7px;
    line-height:1.25;
  }

  .blurred-track{
    animation:blurredTrackDownMobileV234 11s linear infinite !important;
  }

  @keyframes blurredTrackDownMobileV234{
    from{transform:translateY(-62px);}
    to{transform:translateY(34px);}
  }

  .rising-card{
    animation:risingCardFloatUpMobileV234 8s ease-in-out infinite alternate !important;
  }

  @keyframes risingCardFloatUpMobileV234{
    0%{transform:translateY(18px) scale(.994);}
    100%{transform:translateY(-8px) scale(1.004);}
  }
}

@media(prefers-reduced-motion:reduce){
  .blurred-track,
  .rising-card{animation:none !important; transform:none !important;}
}


/* =========================================================
   V2.35 — HERO MOBILE LEGIBILIDAD
   ========================================================= */

/* Más legibilidad en la ficha principal */
.rising-title-row strong{
  font-size:16px !important;
}

.rising-meta{
  font-size:11px !important;
}

.rising-desc{
  font-size:11px !important;
  line-height:1.5 !important;
}

.rising-progress span{
  font-size:9px !important;
  line-height:1.35 !important;
}

.rising-state{
  font-size:9px !important;
}

.rising-summary{
  font-size:13px !important;
  line-height:1.4 !important;
}

/* Desktop: un poco más de aire dentro de la ficha */
.rising-card{
  padding:16px 17px 15px !important;
}

/* Mobile */
@media(max-width:640px){
  .rising-viewport{
    min-height:274px !important; /* aprox. +20% respecto a 228px */
  }

  .rising-card{
    left:10px !important;
    right:54px !important;
    bottom:16px !important;
    padding:13px 12px 12px !important;
    border-radius:15px !important;
  }

  .rising-card-main{
    grid-template-columns:36px minmax(0,1fr) !important;
    gap:10px !important;
  }

  .rising-brand{
    width:36px !important;
    height:36px !important;
    border-radius:10px !important;
    font-size:15px !important;
  }

  .rising-title-row{
    display:block !important;
  }

  .rising-title-row strong{
    font-size:14px !important;
    line-height:1.15 !important;
    margin-bottom:6px !important;
  }

  .rising-state{
    display:inline-flex !important;
    font-size:8px !important;
    min-height:20px !important;
    padding:0 7px !important;
    margin-top:0 !important;
  }

  .rising-meta{
    font-size:10px !important;
    margin-top:6px !important;
  }

  .rising-desc{
    font-size:10px !important;
    line-height:1.45 !important;
    margin-top:6px !important;
  }

  .rising-progress{
    margin-top:10px !important;
    padding-top:9px !important;
    gap:7px !important;
    align-items:flex-start !important;
  }

  .rising-progress i{
    flex-basis:48px !important;
    height:6px !important;
    margin-top:3px !important;
  }

  .rising-progress span{
    font-size:8.5px !important;
    line-height:1.3 !important;
  }

  .rising-summary{
    font-size:10px !important;
    line-height:1.4 !important;
  }

  .rise-lane{
    bottom:18px !important;
  }

  .rise-lane small{
    font-size:7px !important;
    padding:5px 7px !important;
    max-width:56px !important;
  }
}


/* =========================================================
   V2.36 — HERO ASCENSO LIMPIO + RECORRIDO MÁS LARGO
   ========================================================= */

/* Simplificamos el lateral: sin texto, sin línea fija, solo señal visual ascendente. */
.rise-lane{
  right:18px !important;
  top:18px !important;
  bottom:18px !important;
  width:70px !important;
  justify-content:center !important;
}

.rise-lane::before,
.rise-lane small{
  display:none !important;
  content:none !important;
}

.rise-lane span{
  width:44px !important;
  height:44px !important;
  border-radius:14px !important;
  background:rgba(109,180,122,.12) !important;
  border:1px solid rgba(109,180,122,.28) !important;
  box-shadow:0 0 0 1px rgba(109,180,122,.06) inset, 0 0 24px rgba(109,180,122,.18) !important;
  display:grid !important;
  place-items:center !important;
  animation:riseBlinkV236 1.35s ease-in-out infinite !important;
}

.rise-lane span::before{
  content:"↑" !important;
  position:static !important;
  inset:auto !important;
  color:#4e9a5e !important;
  font-size:22px !important;
  font-weight:900 !important;
  line-height:1 !important;
  animation:riseArrowV236 1.35s ease-in-out infinite !important;
}

.rise-lane span::after{
  content:"";
  position:absolute;
  width:12px;
  height:12px;
  border-right:2px solid rgba(109,180,122,.55);
  border-top:2px solid rgba(109,180,122,.55);
  transform:translateY(8px) rotate(-45deg);
  opacity:.0;
  animation:riseEchoV236 1.35s ease-in-out infinite;
}

@keyframes riseBlinkV236{
  0%,100%{transform:scale(1); box-shadow:0 0 0 1px rgba(109,180,122,.06) inset, 0 0 18px rgba(109,180,122,.14);} 
  50%{transform:scale(1.08); box-shadow:0 0 0 1px rgba(109,180,122,.10) inset, 0 0 30px rgba(109,180,122,.28);} 
}

@keyframes riseArrowV236{
  0%,100%{transform:translateY(0); opacity:.9;} 
  50%{transform:translateY(-3px); opacity:1;} 
}

@keyframes riseEchoV236{
  0%{opacity:0; transform:translateY(10px) rotate(-45deg);} 
  30%{opacity:.35;} 
  60%{opacity:0; transform:translateY(1px) rotate(-45deg);} 
  100%{opacity:0; transform:translateY(1px) rotate(-45deg);} 
}

/* La tarjeta sube más: aprox +40% de recorrido respecto a la versión anterior. */
.rising-card{
  animation:risingCardFloatUpV236 10s ease-in-out infinite alternate !important;
}

@keyframes risingCardFloatUpV236{
  0%{
    transform:translateY(34px) scale(.992);
    box-shadow:0 14px 24px rgba(26,51,34,.10),0 0 0 1px rgba(109,180,122,.04) inset;
  }
  100%{
    transform:translateY(-20px) scale(1.006);
    box-shadow:0 22px 40px rgba(26,51,34,.16),0 0 28px rgba(109,180,122,.08);
  }
}

@media(max-width:640px){
  .rise-lane{
    right:8px !important;
    top:14px !important;
    bottom:14px !important;
    width:48px !important;
  }

  .rise-lane span{
    width:32px !important;
    height:32px !important;
    border-radius:11px !important;
  }

  .rise-lane span::before{
    font-size:18px !important;
  }

  .rise-lane span::after{
    width:9px !important;
    height:9px !important;
    border-right-width:2px !important;
    border-top-width:2px !important;
  }

  .rising-card{
    animation:risingCardFloatUpMobileV236 10s ease-in-out infinite alternate !important;
  }

  @keyframes risingCardFloatUpMobileV236{
    0%{transform:translateY(28px) scale(.994);} 
    100%{transform:translateY(-12px) scale(1.004);} 
  }
}

@media(prefers-reduced-motion:reduce){
  .rise-lane span,
  .rise-lane span::before,
  .rise-lane span::after,
  .rising-card{animation:none !important; transform:none !important;}
}


/* =========================================================
   V2.37 — FLECHA ÚNICA + ASCENSO MÁS ALTO
   ========================================================= */

/* Dejar una sola flecha sutil, sin la flecha gruesa con palito. */
.rise-lane span{
  position:relative !important;
  overflow:visible !important;
}

.rise-lane span::before{
  content:none !important;
  display:none !important;
}

.rise-lane span::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:14px !important;
  height:14px !important;
  border-right:2px solid rgba(109,180,122,.78) !important;
  border-top:2px solid rgba(109,180,122,.78) !important;
  transform:translate(-50%,-38%) rotate(-45deg) !important;
  opacity:.92 !important;
  animation:singleArrowPulseV237 1.3s ease-in-out infinite !important;
}

.rise-lane span{
  animation:riseBlinkOnlyV237 1.3s ease-in-out infinite !important;
}

@keyframes riseBlinkOnlyV237{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 0 1px rgba(109,180,122,.06) inset, 0 0 18px rgba(109,180,122,.14);
  }
  50%{
    transform:scale(1.08);
    box-shadow:0 0 0 1px rgba(109,180,122,.10) inset, 0 0 30px rgba(109,180,122,.24);
  }
}

@keyframes singleArrowPulseV237{
  0%,100%{
    transform:translate(-50%,-34%) rotate(-45deg) scale(1);
    opacity:.78;
    filter:drop-shadow(0 0 0 rgba(109,180,122,0));
  }
  50%{
    transform:translate(-50%,-48%) rotate(-45deg) scale(1.12);
    opacity:1;
    filter:drop-shadow(0 0 8px rgba(109,180,122,.28));
  }
}

/* La tarjeta sube más alto que en V2.36. */
.rising-card{
  animation:risingCardFloatUpV237 10.5s ease-in-out infinite alternate !important;
}

@keyframes risingCardFloatUpV237{
  0%{
    transform:translateY(52px) scale(.992);
    box-shadow:0 14px 24px rgba(26,51,34,.10),0 0 0 1px rgba(109,180,122,.04) inset;
  }
  100%{
    transform:translateY(-30px) scale(1.008);
    box-shadow:0 24px 42px rgba(26,51,34,.16),0 0 28px rgba(109,180,122,.08);
  }
}

@media(max-width:640px){
  .rise-lane span::after{
    width:12px !important;
    height:12px !important;
    border-right-width:2px !important;
    border-top-width:2px !important;
  }

  .rising-card{
    animation:risingCardFloatUpMobileV237 10.5s ease-in-out infinite alternate !important;
  }

  @keyframes risingCardFloatUpMobileV237{
    0%{transform:translateY(40px) scale(.994);} 
    100%{transform:translateY(-24px) scale(1.005);} 
  }
}

@media(prefers-reduced-motion:reduce){
  .rise-lane span,
  .rise-lane span::after,
  .rising-card{animation:none !important; transform:none !important;}
}


/* =========================================================
   V2.38 — LA FICHA SUBE UNA VEZ Y QUEDA ARRIBA
   ========================================================= */

/*
  La ficha ya no usa infinite ni alternate.
  Sube una sola vez y conserva la posición final con forwards.
*/
.rising-card{
  animation:risingCardUpOnceV238 6.5s cubic-bezier(.22,.72,.22,1) forwards !important;
  will-change:transform;
}

@keyframes risingCardUpOnceV238{
  0%{
    transform:translateY(52px) scale(.992);
    box-shadow:
      0 14px 24px rgba(26,51,34,.10),
      0 0 0 1px rgba(109,180,122,.04) inset;
  }

  100%{
    transform:translateY(-34px) scale(1.008);
    box-shadow:
      0 24px 42px rgba(26,51,34,.16),
      0 0 28px rgba(109,180,122,.08);
  }
}

/* En mobile también sube una sola vez y queda arriba. */
@media(max-width:640px){
  .rising-card{
    animation:risingCardUpOnceMobileV238 6.5s cubic-bezier(.22,.72,.22,1) forwards !important;
  }

  @keyframes risingCardUpOnceMobileV238{
    0%{
      transform:translateY(40px) scale(.994);
    }

    100%{
      transform:translateY(-28px) scale(1.005);
    }
  }
}

/* La flecha puede seguir latiendo para reforzar la idea de ascenso. */
.rise-lane span,
.rise-lane span::after{
  animation-iteration-count:infinite !important;
}

/* El fondo continúa bajando de manera continua. */
.blurred-track{
  animation-iteration-count:infinite !important;
}

@media(prefers-reduced-motion:reduce){
  .rising-card{
    animation:none !important;
    transform:translateY(-34px) scale(1.008) !important;
  }
}


/* =========================================================
   V2.41 — FOTO HUMANA EN HOME
   ========================================================= */

.home-human-break{
  padding:34px 0 18px;
  background:#fbfcfa;
}

.home-human-photo{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:32px;
  min-height:430px;
  background:#eef4ed;
  box-shadow:0 28px 70px rgba(17,20,23,.10);
  border:1px solid rgba(17,20,23,.06);
}

.home-human-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(17,20,23,.55) 0%,rgba(17,20,23,.22) 34%,rgba(17,20,23,0) 62%),
    linear-gradient(0deg,rgba(17,20,23,.18),transparent 42%);
  pointer-events:none;
}

.home-human-photo img{
  display:block;
  width:100%;
  height:430px;
  object-fit:cover;
  object-position:center 42%;
}

.home-human-photo figcaption{
  position:absolute;
  left:34px;
  bottom:30px;
  z-index:2;
  max-width:430px;
  color:#fff;
}

.home-human-photo figcaption span{
  display:block;
  margin-bottom:6px;
  color:#b8ddc0;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.home-human-photo figcaption strong{
  display:block;
  font-size:clamp(24px,3vw,38px);
  line-height:1.05;
  letter-spacing:-.035em;
}

@media(max-width:640px){
  .home-human-break{
    padding:22px 0 8px;
  }

  .home-human-photo{
    min-height:360px;
    border-radius:24px;
  }

  .home-human-photo img{
    height:360px;
    object-position:center center;
  }

  .home-human-photo::after{
    background:
      linear-gradient(0deg,rgba(17,20,23,.60) 0%,rgba(17,20,23,.20) 45%,rgba(17,20,23,0) 70%);
  }

  .home-human-photo figcaption{
    left:20px;
    right:20px;
    bottom:20px;
    max-width:none;
  }

  .home-human-photo figcaption span{
    font-size:9px;
  }

  .home-human-photo figcaption strong{
    font-size:25px;
  }
}


/* =========================================================
   V2.42 — FOTO HOME HORIZONTAL, MENOS RECORTADA
   ========================================================= */

/*
  La foto original ya es horizontal.
  En vez de forzarla a un bloque demasiado panorámico,
  le damos más altura para conservar mucho más del encuadre.
*/
.home-human-photo{
  min-height:unset !important;
  aspect-ratio:2 / 1 !important;
}

.home-human-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* El texto sigue superpuesto, pero con más aire. */
.home-human-photo figcaption{
  left:34px !important;
  bottom:32px !important;
}

/* Mobile: también horizontal/semihorizontal, sin aplastar tanto la foto. */
@media(max-width:640px){
  .home-human-photo{
    min-height:unset !important;
    aspect-ratio:4 / 3 !important;
  }

  .home-human-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  .home-human-photo figcaption{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
  }
}


/* =========================================================
   V2.43B — FOTO HOME SIN RECORTE REAL
   ========================================================= */

.home-human-photo{
  min-height:unset !important;
  aspect-ratio:auto !important;
  height:auto !important;
}

.home-human-photo img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
}

.home-human-photo figcaption{
  left:34px !important;
  bottom:30px !important;
}

@media(max-width:640px){
  .home-human-photo{
    min-height:unset !important;
    aspect-ratio:auto !important;
    height:auto !important;
  }

  .home-human-photo img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
  }

  .home-human-photo figcaption{
    left:18px !important;
    right:18px !important;
    bottom:18px !important;
  }
}


/* =========================================================
   V2.44 — HERO FICHA SIMPLIFICADA
   ========================================================= */

/* La tarjeta queda más limpia y con menos altura visual. */
.rising-card{
  padding-bottom:16px !important;
}

.rising-progress{
  display:none !important;
}

/* El resumen sale de la ficha y concentra el beneficio debajo. */
.rising-summary-wrap{
  margin-top:2px;
  padding:0 4px;
}

.rising-summary{
  margin:0 !important;
  padding:0 !important;
}

.rising-benefits{
  margin:7px 0 0;
  color:#4f5d56;
  font-size:10px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.01em;
}

@media(max-width:640px){
  .rising-card{
    padding-bottom:12px !important;
  }

  .rising-summary-wrap{
    padding:0 2px;
  }

  .rising-benefits{
    margin-top:5px;
    font-size:8.5px;
    line-height:1.35;
  }
}


/* =========================================================
   V2.45 — NOSOTROS + CASOS RELACIONADOS + DIAGNÓSTICO
   ========================================================= */

/* Nosotros: una sola foto, centrada y con más presencia */
.about-gallery-single{
  grid-template-columns:minmax(0,900px) !important;
  justify-content:center;
}

.about-gallery-single .about-gallery-horizontal{
  width:100%;
}

/* Diagnóstico: acceso directo a WhatsApp como alternativa al formulario */
.diagnosis-direct{
  margin-top:28px;
  padding:22px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 36px rgba(17,20,23,.06);
}

.diagnosis-direct small{
  display:block;
  margin-bottom:6px;
  color:var(--green2);
  font-size:10px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.diagnosis-direct strong{
  display:block;
  color:var(--ink);
  font-size:18px;
  line-height:1.25;
}

.diagnosis-direct p{
  margin:8px 0 16px;
  font-size:14px;
  line-height:1.45;
}

.diagnosis-direct .btn{
  width:auto;
}

/* Casos de servicio: un poco más de jerarquía sin alterar el diseño general */
.content-stack .all-cases-grid .small-case{
  display:flex;
  flex-direction:column;
}

.content-stack .all-cases-grid .small-case .text-link{
  margin-top:auto;
  padding-top:8px;
}

@media(max-width:640px){
  .about-gallery-single{
    grid-template-columns:1fr !important;
  }

  .diagnosis-direct{
    padding:18px;
  }

  .diagnosis-direct .btn{
    width:100%;
  }
}


/* =========================================================
   V2.46 — HERO sin "La meta" + foto Nosotros sin recorte
   ========================================================= */

.rising-summary-wrap{
  display:flex;
  flex-direction:column;
  gap:0;
}

.rising-summary-wrap .rising-benefits{
  margin:2px 0 0;
}

/* La foto de Nosotros debe verse completa, sin cortar la cabeza */
.about-gallery-single .about-gallery-horizontal{
  min-height:unset !important;
}

.about-gallery-single .about-gallery-horizontal img{
  display:block;
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
  border-radius:26px 26px 0 0;
}

.about-gallery-single .about-gallery-horizontal figure,
.about-gallery-single .about-gallery-horizontal{
  background:#fff;
}

/* Evita que el contenedor recorte la imagen por altura fija */
.about-gallery-single .about-gallery-horizontal,
.about-gallery-single .about-gallery-horizontal figure{
  overflow:visible;
}

@media(max-width:780px){
  .about-gallery-single .about-gallery-horizontal img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
}


/* =========================================================
   V2.49 — DIAGNÓSTICO / CRM / SEGUIMIENTO
   ========================================================= */
.field-help{
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}

@media(max-width:640px){
  .field-help{
    font-size:11px;
  }
}
