.elementor-3479 .elementor-element.elementor-element-9ef464b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3479 .elementor-element.elementor-element-986f8b2{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-701630f */.rpl ul,.rpl ol{list-style:none;margin:0;padding:0;}
.rpl a{text-decoration:none;color:inherit;}
.rpl button{cursor:pointer;border:none;background:none;font:inherit;}
.rpl{font-family:var(--rep-font-body);color:var(--rep-text-secondary);line-height:1.6;}

.rpl h1,.rpl h2,.rpl h3,.rpl h4{font-family:var(--rep-font-display)!important;color:var(--rep-forest);line-height:1.15!important;margin:0;}
.rpl h1{font-size:clamp(2.3rem,4.5vw,3.5rem)!important;font-weight:700!important;letter-spacing:-.03em;}
.rpl h2{font-size:clamp(1.7rem,3.2vw,2.4rem)!important;font-weight:600!important;}
.rpl h3{font-size:clamp(1.05rem,1.8vw,1.3rem)!important;font-weight:600!important;}
.rpl h4{font-size:clamp(.9rem,1.4vw,1.1rem)!important;font-weight:600!important;}

.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.wrap--narrow{max-width:780px;margin:0 auto;padding:0 24px;}

/* ── Atoms ── */
.kicker{display:inline-block;font:600 .78rem/1 var(--rep-font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--rep-teal);margin-bottom:12px;}
.kicker--light{color:var(--rep-green);}
.muted{color:var(--rep-text-muted);max-width:620px;}
.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;border-radius:var(--rep-radius-full);background:var(--rep-bg-light);border:1px solid var(--rep-border);font:500 .78rem/1 var(--rep-font-body);color:var(--rep-text-secondary);}
.chip--green{background:rgba(146,241,203,.12);border-color:rgba(146,241,203,.30);color:var(--rep-forest);}
.chip--teal{background:rgba(65,153,159,.08);border-color:rgba(65,153,159,.25);color:var(--rep-teal);}
.chip--sun{background:rgba(247,212,80,.12);border-color:rgba(247,212,80,.35);color:#6C5E1A;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--rep-radius-md);font:600 .95rem/1 var(--rep-font-body);transition:all .25s ease;min-height:48px;white-space:nowrap;text-decoration:none;}
.btn-primary{background:var(--rep-teal);color:#fff;}
.btn-primary:hover{background:#368F95;transform:translateY(-2px);box-shadow:var(--rep-shadow-md);}
.btn-accent{background:var(--rep-sun);color:var(--rep-forest);}
.btn-accent:hover{background:#f5cc3d;transform:translateY(-2px);box-shadow:var(--rep-shadow-md);}
.btn-outline{background:transparent;color:var(--rep-teal);border:1.5px solid var(--rep-teal);}
.btn-outline:hover{background:var(--rep-teal);color:#fff;}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);}
.btn-ghost:hover{background:rgba(255,255,255,.18);}
.btn-white{background:#fff;color:var(--rep-forest)!important;}
.btn-white:hover{background:var(--rep-bg-light);transform:translateY(-2px);box-shadow:var(--rep-shadow-md);}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}
@keyframes dws-show{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.reveal{animation:dws-show .55s ease both!important;}
.reveal[data-delay="1"]{animation-delay:.1s!important}
.reveal[data-delay="2"]{animation-delay:.2s!important}
.reveal[data-delay="3"]{animation-delay:.3s!important}
.reveal[data-delay="4"]{animation-delay:.4s!important}
.reveal[data-delay="5"]{animation-delay:.5s!important}
.reveal[data-delay="6"]{animation-delay:.6s!important}
.reveal.is-visible{animation:none!important;opacity:1!important;transform:none!important;}

/* ===== 1. HERO ===== */
.dws-hero{
  background:linear-gradient(160deg,#1A2B20 0%,#0F1C14 45%,#162A1B 100%);
  color:#fff;padding:160px 0 110px;position:relative;overflow:hidden;
}
.dws-hero::before{
  content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='.8' fill='%2393F1C9' opacity='.04'/%3E%3C/svg%3E");
  pointer-events:none;
}
.dws-hero::after{
  content:"";position:absolute;top:-30%;left:-15%;width:60%;height:100%;
  background:radial-gradient(ellipse,rgba(65,153,159,.14) 0%,transparent 60%);
  pointer-events:none;
}
.dws-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}

.dws-hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(147,241,201,.1);border:1px solid rgba(147,241,201,.22);
  border-radius:var(--rep-radius-full);padding:6px 16px;
  font:600 .75rem/1 var(--rep-font-body);color:var(--rep-green);
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:22px;
}
.dws-hero h1{color:#fff;margin-bottom:20px;}
.dws-hero h1 span{color:var(--rep-green);font-style:italic;}
.dws-hero .hero-sub{font-size:1.08rem;color:rgba(255,255,255,.72);line-height:1.75;margin-bottom:32px;max-width:520px;}
.dws-hero .hero-sub strong{color:#fff;}
.dws-hero .hero-sub em{color:var(--rep-green);font-style:normal;font-weight:600;}
.dws-hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:32px;}
.dws-hero-badges .chip{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.8);}
.dws-hero-badges .chip i{color:var(--rep-green);}
.dws-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
.dws-trust-note{font-size:.8rem;color:rgba(255,255,255,.38);display:flex;align-items:center;gap:6px;}
.dws-trust-note::before{content:'';width:16px;height:1px;background:rgba(255,255,255,.2);}

/* Hero visual */
.dws-hero-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:440px;}
.dws-hero-visual .orb{
  position:absolute;width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle at 40% 40%,rgba(147,241,201,.12),rgba(65,153,159,.06) 55%,transparent 70%);
  filter:blur(50px);animation:dws-float 10s ease-in-out infinite;
}
@keyframes dws-float{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(2deg)}}
.dws-hero-code{
  position:relative;z-index:1;
  background:rgba(15,28,20,.9);backdrop-filter:blur(12px);
  border:1px solid rgba(147,241,201,.15);border-radius:var(--rep-radius-xl);
  padding:32px;max-width:420px;width:100%;
  box-shadow:0 40px 80px rgba(0,0,0,.5);
  font-family:var(--rep-font-mono);font-size:.82rem;line-height:1.8;
}
.dws-hero-code .code-bar{
  display:flex;gap:6px;align-items:center;margin-bottom:20px;padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.dws-hero-code .dot{width:10px;height:10px;border-radius:50%;}
.dws-hero-code .dot-r{background:#ff5f57;}
.dws-hero-code .dot-y{background:#febc2e;}
.dws-hero-code .dot-g{background:#28c840;}
.dws-hero-code .code-file{font:500 .72rem/1 var(--rep-font-body);color:rgba(255,255,255,.4);margin-left:8px;}
.dws-hero-code .ln{color:rgba(255,255,255,.18);user-select:none;margin-right:16px;min-width:16px;text-align:right;}
.dws-hero-code .c-comment{color:rgba(147,241,201,.55);}
.dws-hero-code .c-tag{color:#7ec8e3;}
.dws-hero-code .c-attr{color:#f8c6a0;}
.dws-hero-code .c-str{color:var(--rep-green);}
.dws-hero-code .c-val{color:#e8c585;}
.dws-hero-code .c-plain{color:rgba(255,255,255,.65);}

/* Hero floating metrics */
.dws-metric{
  position:absolute;z-index:2;
  background:rgba(15,28,20,.88);backdrop-filter:blur(16px);
  border:1px solid rgba(147,241,201,.18);border-radius:var(--rep-radius-lg);
  padding:14px 18px;min-width:140px;
}
.dws-metric .m-val{font:700 1.4rem/1 var(--rep-font-display);color:var(--rep-green);margin-bottom:3px;}
.dws-metric .m-label{font:400 .72rem/1.3 var(--rep-font-body);color:rgba(255,255,255,.55);}
.dws-metric--lcp{top:12%;left:-5%;}
.dws-metric--score{bottom:18%;right:-8%;}

/* ===== 2. QUÉ ES (filosofía) ===== */
.dws-what{background:var(--rep-bg-light);padding:96px 0;}
.dws-what .wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.dws-what-copy h2{margin-bottom:20px;}
.dws-what-copy p{font-size:1.05rem;line-height:1.8;margin-bottom:18px;}
.dws-what-copy p strong{color:var(--rep-forest);}
.dws-what-copy .footnote{
  font-size:.82rem;color:var(--rep-text-muted);margin-top:24px;
  padding-left:12px;border-left:3px solid var(--rep-border);
}
.dws-stats{display:flex;flex-direction:column;gap:20px;position:sticky;top:24px;}
.dws-stat-card{
  background:#fff;border:1px solid var(--rep-border);border-radius:var(--rep-radius-lg);
  padding:24px 28px;transition:box-shadow .2s;
}
.dws-stat-card:hover{box-shadow:var(--rep-shadow-md);}
.dws-stat-card .s-val{
  font:700 2.6rem/1 var(--rep-font-display);
  background:var(--rep-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin-bottom:6px;
}
.dws-stat-card .s-label{font:600 .85rem/1.3 var(--rep-font-body);color:var(--rep-forest);margin-bottom:4px;}
.dws-stat-card .s-note{font:400 .78rem/1.4 var(--rep-font-body);color:var(--rep-text-muted);}
.dws-what-tagline{
  margin-top:28px;padding:20px 24px;
  background:linear-gradient(135deg,rgba(65,153,159,.08),rgba(147,241,201,.06));
  border:1px solid rgba(65,153,159,.2);border-radius:var(--rep-radius-md);
  font:500 1rem/1.65 var(--rep-font-body);color:var(--rep-forest);
  font-style:italic;
}

/* ===== 3. CÓMO — Stack técnico ===== */
.dws-how{background:var(--rep-forest);padding:90px 0;color:#fff;position:relative;overflow:hidden;}
.dws-how::before{
  content:"";position:absolute;right:-10%;bottom:-20%;width:50%;height:80%;
  background:radial-gradient(ellipse,rgba(65,153,159,.12) 0%,transparent 65%);
  pointer-events:none;
}
.dws-how .kicker--light{margin-bottom:10px;}
.dws-how h2{color:#fff;margin-bottom:14px;}
.dws-how-intro{font-size:1.05rem;color:rgba(255,255,255,.65);max-width:620px;margin-bottom:56px;line-height:1.75;}
.dws-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.dws-pillar{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  border-radius:var(--rep-radius-xl);padding:32px 28px;
  transition:background .25s, border-color .25s, transform .25s;
}
.dws-pillar:hover{background:rgba(255,255,255,.07);border-color:rgba(147,241,201,.18);transform:translateY(-4px);}
.dws-pillar-icon{
  width:52px;height:52px;border-radius:var(--rep-radius-md);
  background:rgba(147,241,201,.1);
  display:flex;align-items:center;justify-content:center;
  font-size:26px;color:var(--rep-green);margin-bottom:20px;
}
.dws-pillar h3{color:#fff;margin-bottom:12px;}
.dws-pillar p{font-size:.92rem;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:16px;}
.dws-pillar .pillar-metrics{display:flex;flex-direction:column;gap:6px;margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.07);}
.dws-pillar .pm-row{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;}
.dws-pillar .pm-label{color:rgba(255,255,255,.45);}
.dws-pillar .pm-val{font:600 .78rem/1 var(--rep-font-body);color:var(--rep-green);background:rgba(147,241,201,.1);padding:3px 8px;border-radius:var(--rep-radius-full);}

/* CWV bar */
.dws-cwv{
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  margin-top:52px;padding-top:40px;border-top:1px solid rgba(255,255,255,.07);
}
.dws-cwv-item{text-align:center;}
.dws-cwv-item .cv-val{font:700 2rem/1 var(--rep-font-display);color:var(--rep-green);margin-bottom:4px;}
.dws-cwv-item .cv-metric{font:600 .78rem/1 var(--rep-font-body);color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;}
.dws-cwv-item .cv-name{font:400 .8rem/1.3 var(--rep-font-body);color:rgba(255,255,255,.5);}

/* ===== 4. TIPOLOGÍAS ===== */
.dws-types{padding:90px 0;background:#fff;}
.dws-types-head{text-align:center;margin-bottom:56px;}
.dws-types-head h2{margin-bottom:12px;}
.dws-types-head p{color:var(--rep-text-muted);max-width:520px;margin:0 auto;}
.dws-types-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.dws-type-card{
  border:1px solid var(--rep-border);border-radius:var(--rep-radius-xl);
  padding:32px 28px;transition:all .25s;position:relative;overflow:hidden;
}
.dws-type-card::before{
  content:"";position:absolute;inset:0;opacity:0;
  background:linear-gradient(135deg,rgba(65,153,159,.06),rgba(147,241,201,.04));
  transition:opacity .25s;
}
.dws-type-card:hover{box-shadow:var(--rep-shadow-lg);transform:translateY(-3px);border-color:rgba(65,153,159,.25);}
.dws-type-card:hover::before{opacity:1;}
.dws-type-card .tc-icon{
  width:52px;height:52px;border-radius:var(--rep-radius-md);
  background:var(--rep-bg-light);display:flex;align-items:center;justify-content:center;
  font-size:26px;color:var(--rep-teal);margin-bottom:20px;
  transition:background .25s;
}
.dws-type-card:hover .tc-icon{background:rgba(65,153,159,.1);}
.dws-type-card h3{margin-bottom:10px;}
.dws-type-card p{font-size:.9rem;color:var(--rep-text-muted);line-height:1.65;margin-bottom:16px;}
.dws-type-card .tc-from{font:600 .78rem/1 var(--rep-font-body);color:var(--rep-teal);}
.dws-type-card--wide{grid-column:span 3;}

/* ===== 5. PROCESO ===== */
.dws-process{background:var(--rep-bg-light);padding:90px 0;}
.dws-process-head{text-align:center;margin-bottom:56px;}
.dws-process-head h2{margin-bottom:12px;}
.dws-process-head .muted{margin:0 auto;}
.dws-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.dws-steps::before{
  content:"";position:absolute;top:42px;left:calc(12.5% + 12px);
  right:calc(12.5% + 12px);height:2px;
  background:linear-gradient(90deg,var(--rep-teal),var(--rep-green));
  opacity:.25;
}
.dws-step{text-align:center;padding:0 16px;}
.dws-step-num{
  width:52px;height:52px;border-radius:50%;
  background:var(--rep-forest);color:var(--rep-green);
  font:700 1.1rem/52px var(--rep-font-display);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;position:relative;z-index:1;
  box-shadow:0 0 0 6px var(--rep-bg-light);
}
.dws-step h4{margin-bottom:8px;}
.dws-step p{font-size:.87rem;color:var(--rep-text-muted);line-height:1.6;}
.dws-process-note{
  max-width:780px;margin:48px auto 0;
  padding:22px 28px;background:#fff;
  border:1px solid var(--rep-border);border-radius:var(--rep-radius-lg);
  display:flex;align-items:flex-start;gap:14px;
}
.dws-process-note i{font-size:20px;color:var(--rep-teal);flex-shrink:0;margin-top:2px;}
.dws-process-note p{font-size:.9rem;color:var(--rep-text-muted);line-height:1.65;margin:0;}
.dws-process-note p strong{color:var(--rep-forest);}


/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .dws-hero .wrap{grid-template-columns:1fr;gap:40px;}
  .dws-hero-visual{min-height:320px;}
  .dws-hero-code{max-width:340px;}
  .dws-metric--score{right:4%;}
  .dws-what .wrap{grid-template-columns:1fr;}
  .dws-stats{position:static;flex-direction:row;flex-wrap:wrap;}
  .dws-stat-card{flex:1;min-width:160px;}
  .dws-pillars{grid-template-columns:1fr 1fr;}
  .dws-types-grid{grid-template-columns:1fr 1fr;}
  .dws-type-card--wide{grid-column:span 2;}
  .dws-steps{grid-template-columns:1fr 1fr;gap:40px;}
  .dws-steps::before{display:none;}
}
@media(max-width:640px){
  .dws-hero{padding:120px 0 80px;}
  .dws-ctas{flex-direction:column;}
  .dws-pillars{grid-template-columns:1fr;}
  .dws-cwv{grid-template-columns:1fr 1fr;}
  .dws-types-grid{grid-template-columns:1fr;}
  .dws-type-card--wide{grid-column:span 1;}
  .dws-steps{grid-template-columns:1fr;}
  .dws-hero-visual{display:none;}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d4700f4 *//* ===== 6. PORTFOLIO ===== */
.dws-portfolio{padding:90px 0;background:#fff;}
.dws-portfolio-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px;flex-wrap:wrap;}
.dws-portfolio-head h2{margin-bottom:8px;}
.dws-portfolio-head .head-sub{font-size:.95rem;color:var(--rep-text-muted);}
.dws-portfolio-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:36px;}
.dws-pf{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 14px;border-radius:var(--rep-radius-full);
  border:1.5px solid var(--rep-border);
  font:500 .82rem/1 var(--rep-font-body);color:var(--rep-text-muted);
  background:#fff;cursor:pointer;transition:all .18s;
}
.dws-pf.active,.dws-pf:hover{background:var(--rep-teal);color:#fff;border-color:var(--rep-teal);}
.dws-portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dws-project-card{
  border-radius:var(--rep-radius-xl);overflow:hidden;
  border:1px solid var(--rep-border);
  transition:all .25s;
}
.dws-project-card:hover{box-shadow:var(--rep-shadow-lg);transform:translateY(-4px);}
.dws-project-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .35s;}
.dws-project-card:hover img{transform:scale(1.04);}
.dws-project-card .pc-info{padding:18px 20px;}
.dws-project-card .pc-type{font:500 .73rem/1 var(--rep-font-body);color:var(--rep-teal);text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px;}
.dws-project-card .pc-name{font:600 1rem/1.3 var(--rep-font-display);color:var(--rep-forest);}

/* ===== 7. COMPARATIVA ===== */
.dws-compare{padding:88px 0;background:var(--rep-bg-light);}
.dws-compare-head{text-align:center;margin-bottom:52px;}
.dws-compare-head h2{margin-bottom:12px;}
.dws-compare-head p{color:var(--rep-text-muted);max-width:540px;margin:0 auto;}
.dws-compare-table{
  width:100%;border-radius:var(--rep-radius-xl);overflow:hidden;
  border:1px solid var(--rep-border);background:#fff;
  box-shadow:var(--rep-shadow-sm);
}
.dws-compare-table thead th{
  padding:18px 24px;font:600 .82rem/1 var(--rep-font-body);
  text-transform:uppercase;letter-spacing:.08em;text-align:left;
}
.dws-compare-table thead th:first-child{color:var(--rep-text-muted);background:#fff;}
.dws-compare-table thead th:nth-child(2){background:#fef9ef;color:#6C5E1A;border-left:1px solid #e8e0c8;}
.dws-compare-table thead th:nth-child(3){background:rgba(65,153,159,.08);color:var(--rep-teal);border-left:1px solid rgba(65,153,159,.15);}
.dws-compare-table thead th:nth-child(3) span{font-size:1em;}
.dws-compare-table tbody tr:not(:last-child){border-bottom:1px solid var(--rep-border);}
.dws-compare-table tbody td{padding:16px 24px;font-size:.9rem;color:var(--rep-text-secondary);}
.dws-compare-table tbody td:first-child{font-weight:500;color:var(--rep-forest);}
.dws-compare-table tbody td:nth-child(2){background:#fffdf5;border-left:1px solid #e8e0c8;color:#7A6A2A;}
.dws-compare-table tbody td:nth-child(3){background:rgba(65,153,159,.03);border-left:1px solid rgba(65,153,159,.12);color:var(--rep-teal);font-weight:500;}
.dws-compare-table .yes{color:#2a7a4a;font-weight:600;}
.dws-compare-table .no{color:#b0443a;}
.dws-compare-table .ok{color:var(--rep-teal);font-weight:600;}

/* ===== 8. TESTIMONIOS ===== */
.dws-reviews{padding:88px 0;background:var(--rep-forest);overflow:hidden;position:relative;}
.dws-reviews::before{
  content:"";position:absolute;top:-30%;right:-10%;width:50%;height:80%;
  background:radial-gradient(ellipse,rgba(65,153,159,.1) 0%,transparent 65%);
  pointer-events:none;
}
.dws-reviews-head{text-align:center;margin-bottom:48px;position:relative;z-index:1;}
.dws-reviews-head .kicker--light{color:var(--rep-green);}
.dws-reviews-head h2{color:#fff;}
.dws-reviews-head p{color:rgba(255,255,255,.55);max-width:500px;margin:12px auto 0;}
/* Reviews reel (mismo patrón que homepage de Replanta) */
#reviews{position:relative;z-index:1;}
#reviews .container{max-width:1140px;margin:0 auto;padding:0 24px;}
#reviews .head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:36px;flex-wrap:wrap;}
#reviews .cta-all a{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 20px;border:1px solid rgba(255,255,255,.2);border-radius:var(--rep-radius-full);
  color:rgba(255,255,255,.65);font:.6rem/1 var(--rep-font-body);font-size:.82rem;
  transition:all .18s;
}
#reviews .cta-all a:hover{background:rgba(255,255,255,.08);color:#fff;}
.reel{width:100%;overflow:hidden;margin-bottom:20px;}
.track{display:flex;gap:16px;width:max-content;animation:reel-scroll 32s linear infinite;}
.track:hover,.track:focus-within{animation-play-state:paused;}
@keyframes reel-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.chunk{display:flex;gap:16px;}
.rv-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--rep-radius-lg);padding:22px;width:290px;flex-shrink:0;
  transition:background .18s;
}
.rv-card:hover{background:rgba(255,255,255,.09);}
.rv-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.stars{color:var(--rep-sun);font-size:.95rem;letter-spacing:1px;}
.source{font:500 .7rem/1 var(--rep-font-body);color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.07em;}
.rv-card blockquote{font-size:.88rem;line-height:1.65;color:rgba(255,255,255,.75);margin:0 0 16px;}
.rv-card blockquote strong{color:#fff;}
.rv-bottom{display:flex;gap:10px;align-items:center;}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--rep-teal);display:flex;align-items:center;justify-content:center;font:700 .75rem/1 var(--rep-font-body);color:#fff;flex-shrink:0;}
.name{font:600 .82rem/1.2 var(--rep-font-body);color:rgba(255,255,255,.8);}
.date{font:400 .7rem/1 var(--rep-font-body);color:rgba(255,255,255,.35);}
.row{margin-bottom:0;}
.row.reverse .track{animation-direction:reverse;}

/* ===== 9. CROSSLINKS Ecosistema ===== */
.dws-ecosystem{padding:90px 0;background:#fff;}
.dws-ecosystem-head{text-align:center;margin-bottom:52px;}
.dws-ecosystem-head h2{margin-bottom:12px;}
.dws-ecosystem-head p{color:var(--rep-text-muted);max-width:560px;margin:0 auto;}
.dws-eco-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.dws-eco-card{
  border:1px solid var(--rep-border);border-radius:var(--rep-radius-xl);
  padding:36px 32px;transition:all .25s;position:relative;overflow:hidden;
}
.dws-eco-card::after{
  content:"";position:absolute;inset:0;opacity:0;
  background:linear-gradient(135deg,rgba(65,153,159,.05),rgba(147,241,201,.04));
  transition:opacity .25s;pointer-events:none;
}
.dws-eco-card:hover{box-shadow:var(--rep-shadow-lg);transform:translateY(-4px);border-color:rgba(65,153,159,.25);}
.dws-eco-card:hover::after{opacity:1;}
.dws-eco-card .eco-icon{
  width:56px;height:56px;border-radius:var(--rep-radius-md);
  background:var(--rep-bg-light);display:flex;align-items:center;justify-content:center;
  font-size:28px;color:var(--rep-teal);margin-bottom:20px;
}
.dws-eco-card h3{margin-bottom:10px;}
.dws-eco-card p{font-size:.92rem;color:var(--rep-text-muted);line-height:1.7;margin-bottom:20px;}
.dws-eco-card ul{display:flex;flex-direction:column;gap:6px;margin-bottom:24px;}
.dws-eco-card ul li{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--rep-text-secondary);}
.dws-eco-card ul li::before{content:'✓';color:var(--rep-teal);font-weight:700;flex-shrink:0;}
.dws-eco-card .eco-link{
  display:inline-flex;align-items:center;gap:6px;
  font:600 .88rem/1 var(--rep-font-body);color:var(--rep-teal);
  transition:gap .18s;
}
.dws-eco-card .eco-link:hover{gap:10px;}

/* ===== 10. FAQs ===== */
.dws-faqs{padding:90px 0;background:var(--rep-bg-light);}
.dws-faqs-head{text-align:center;margin-bottom:52px;}
.dws-faqs-head h2{margin-bottom:12px;}
.dws-faqs-head p{color:var(--rep-text-muted);max-width:500px;margin:0 auto;}
.dws-faq-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.dws-faq{
  border:1px solid var(--rep-border);border-radius:var(--rep-radius-lg);
  background:#fff;overflow:hidden;
}
.dws-faq summary{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 28px;cursor:pointer;
  font:600 .98rem/1.4 var(--rep-font-display);color:var(--rep-forest);
  list-style:none;gap:16px;
  transition:background .15s;
}
.dws-faq summary::-webkit-details-marker{display:none;}
.dws-faq summary:hover{background:var(--rep-bg-light);}
.dws-faq[open] summary{background:var(--rep-bg-light);}
.dws-faq .faq-icon{
  width:28px;height:28px;border-radius:50%;
  background:var(--rep-bg-light);border:1.5px solid var(--rep-border);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;color:var(--rep-teal);flex-shrink:0;
  transition:transform .25s;
}
.dws-faq[open] .faq-icon{transform:rotate(45deg);}
.dws-faq .faq-body{padding:0 28px 24px;border-top:1px solid var(--rep-border);}
.dws-faq .faq-body p{font-size:.95rem;line-height:1.75;color:var(--rep-text-secondary);padding-top:18px;margin:0;}
.dws-faq .faq-body p strong{color:var(--rep-forest);}
.dws-faq .faq-body a{color:var(--rep-teal);font-weight:600;}

/* ===== 11. CTA FINAL ===== */
.dws-cta-final{
  padding:100px 0;
  background:linear-gradient(160deg,#1A2B20 0%,#0F1C14 60%,#1A2B20 100%);
  position:relative;overflow:hidden;
}
.dws-cta-final::before{
  content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml,%3Csvg width='80' height='80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='.8' fill='%2393F1C9' opacity='.03'/%3E%3C/svg%3E");
}
.dws-cta-final .wrap{position:relative;z-index:1;text-align:center;}
.dws-cta-final .kicker--light{color:var(--rep-green);}
.dws-cta-final h2{color:#fff;margin-bottom:18px;max-width:640px;margin-left:auto;margin-right:auto;}
.dws-cta-final p{color:rgba(255,255,255,.6);max-width:540px;margin:0 auto 36px;font-size:1.05rem;line-height:1.75;}
.dws-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:28px;}
.dws-cta-final .trust-strip{
  display:flex;gap:20px;justify-content:center;flex-wrap:wrap;
  font:400 .78rem/1 var(--rep-font-body);color:rgba(255,255,255,.35);
}
.dws-cta-final .trust-strip span{display:flex;align-items:center;gap:5px;}
.dws-cta-final .trust-strip i{font-size:13px;color:var(--rep-green);}
.btn.btn-ghost{color:white;}
/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .dws-portfolio-grid{grid-template-columns:1fr 1fr;}
  .dws-eco-grid{grid-template-columns:1fr;}
  .dws-compare-table{overflow-x:auto;display:block;}
}
@media(max-width:640px){
  .dws-portfolio-grid{grid-template-columns:1fr;}
  .dws-portfolio-head{flex-direction:column;align-items:flex-start;}
  .dws-faq summary{padding:18px 20px;font-size:.9rem;}
  .dws-faq .faq-body{padding:0 20px 20px;}
}/* End custom CSS */