/* ═══════════════════════════════════════════════════
   RENOVA SERVEIS JURÍDICS · Design System v2
═══════════════════════════════════════════════════ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
img,svg{display:block;}
:root{
  --verde:#1E4A3C;--verde-mid:#2D6B58;--verde-lt:#3D8A70;--verde-pale:#EBF2EE;
  --crema:#F7F3EE;--crema-dk:#EDE7DF;
  --mostaza:#9A7B2E;--mostaza-lt:#C9A84C;--mostaza-pale:#FBF5E6;
  --gris:#6B6560;--gris-lt:#9E9893;
  --negro:#1A1714;--blanco:#FFFFFF;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',system-ui,sans-serif;
  --r:2px;--rl:8px;--nav-h:72px;
  --sh-sm:0 2px 12px rgba(30,74,60,.08);
  --sh-md:0 8px 32px rgba(30,74,60,.12);
  --sh-lg:0 20px 60px rgba(0,0,0,.15);
}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--crema);color:var(--negro);line-height:1.6;overflow-x:hidden;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border-radius:var(--r);border:none;cursor:pointer;transition:background .25s,transform .15s,box-shadow .2s;white-space:nowrap;}
.btn:hover{transform:translateY(-1px);}
.btn-verde{background:var(--verde);color:var(--blanco);}
.btn-verde:hover{background:var(--verde-mid);box-shadow:0 6px 20px rgba(30,74,60,.3);}
.btn-mostaza{background:var(--mostaza);color:var(--blanco);}
.btn-mostaza:hover{background:#7A621F;box-shadow:0 6px 20px rgba(154,123,46,.35);}
.btn-ghost{background:none;border:none;color:var(--verde);font-family:var(--sans);font-size:.875rem;font-weight:400;text-decoration:none;border-bottom:1px solid currentColor;padding:0 0 2px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:gap .2s,color .2s;}
.btn-ghost:hover{gap:12px;color:var(--mostaza);}
.btn-sm{padding:11px 20px;font-size:.76rem;}
.btn-full{width:100%;justify-content:center;}

/* SEC LABELS */
.sec-lbl{font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--mostaza);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.sec-lbl::before{content:'';display:block;width:18px;height:1px;background:var(--mostaza);}
.sec-lbl.light{color:var(--mostaza-lt);}
.sec-lbl.light::before{background:var(--mostaza-lt);}
.sec-title{font-family:var(--serif);font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:300;color:var(--verde);line-height:1.15;max-width:560px;}
.sec-title em{font-style:italic;}
.sec-title.white{color:var(--blanco);}
.sec-title.white em{color:var(--mostaza-lt);}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:300;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:rgba(247,243,238,0.97);backdrop-filter:blur(16px);border-bottom:1px solid rgba(30,74,60,.1);transition:box-shadow .3s;}
nav.scrolled{box-shadow:var(--sh-sm);}
.nav-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;}
.nav-logo img{height:38px;width:auto;object-fit:contain;}
.nav-center{display:flex;align-items:center;gap:2px;list-style:none;}
.nav-item{position:relative;}
.nav-item>a,.nav-item>button{display:flex;align-items:center;gap:5px;font-family:var(--sans);font-size:.77rem;font-weight:400;color:var(--gris);text-decoration:none;letter-spacing:.07em;text-transform:uppercase;padding:8px 11px;border-radius:4px;background:none;border:none;cursor:pointer;white-space:nowrap;transition:color .2s,background .2s;}
.nav-item>a:hover,.nav-item>button:hover{color:var(--verde);background:var(--verde-pale);}
.nav-chevron{width:11px;height:11px;transition:transform .25s;flex-shrink:0;}
.nav-item.open .nav-chevron{transform:rotate(180deg);}
.nav-dropdown{display:none;position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--blanco);border:1px solid rgba(30,74,60,.08);border-radius:var(--rl);box-shadow:var(--sh-lg);min-width:260px;padding:8px;z-index:400;}
.nav-item.open .nav-dropdown{display:block;animation:fadeUp .2s ease;}
.nav-dropdown a{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:6px;font-size:.81rem;color:var(--gris);text-decoration:none;transition:background .15s,color .15s;white-space:nowrap;}
.nav-dropdown a:hover{background:var(--crema);color:var(--verde);}
.nav-dropdown .dd-icon{flex-shrink:0;color:var(--mostaza);}
.nav-dropdown-divider{height:1px;background:var(--crema-dk);margin:4px 8px;}
.nav-cta{background:var(--verde)!important;color:var(--blanco)!important;padding:10px 20px!important;border-radius:var(--r)!important;transition:background .2s!important;}
.nav-cta:hover{background:var(--verde-mid)!important;color:var(--blanco)!important;}
.lang-btn{font-family:var(--sans);font-size:.72rem;color:var(--gris-lt);border:1px solid var(--crema-dk);padding:4px 10px;border-radius:2px;text-decoration:none;background:none;cursor:pointer;flex-shrink:0;}

/* Hamburger */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:4px;flex-shrink:0;}
.hamburger span{display:block;width:24px;height:1.5px;background:var(--verde);border-radius:2px;transition:transform .3s,opacity .3s;transform-origin:center;}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* Mobile drawer */
.mobile-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;bottom:0;background:var(--crema);z-index:290;flex-direction:column;padding:32px 6% 48px;overflow-y:auto;}
.mobile-menu.open{display:flex;}
.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:0;margin-bottom:28px;}
.mobile-menu ul li{border-bottom:1px solid var(--crema-dk);}
.mob-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;font-family:var(--serif);font-size:1.6rem;font-weight:300;color:var(--verde);text-decoration:none;background:none;border:none;cursor:pointer;text-align:left;transition:color .2s;}
.mob-row:hover{color:var(--mostaza);}
.mob-sub{display:none;flex-direction:column;gap:0;padding:0 0 8px 0;}
.mob-sub.open{display:flex;}
.mob-sub a{font-family:var(--sans);font-size:.9rem;font-weight:400;color:var(--gris);padding:9px 0;border-bottom:none!important;display:flex;align-items:center;gap:8px;}
.mob-sub a:hover{color:var(--verde);}
.mob-cta{display:inline-flex;align-items:center;gap:10px;background:var(--verde);color:var(--blanco);padding:17px 28px;font-size:.85rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border-radius:var(--r);}
.mob-locs{margin-top:24px;display:flex;gap:16px;flex-wrap:wrap;}
.mob-loc{font-size:.78rem;color:var(--gris-lt);font-weight:300;display:flex;align-items:center;gap:6px;}

/* ── HERO ── */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;padding-top:var(--nav-h);overflow:hidden;}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:64px 5% 64px 8%;}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mostaza);margin-bottom:20px;}
.hero-tag::before{content:'';display:block;width:22px;height:1px;background:var(--mostaza);}
.hero h1{font-family:var(--serif);font-size:clamp(2.5rem,4vw,3.7rem);font-weight:300;line-height:1.1;color:var(--verde);margin-bottom:20px;letter-spacing:-.01em;}
.hero h1 em{font-style:italic;color:var(--mostaza);}
.hero-body{font-size:.97rem;color:var(--gris);line-height:1.78;max-width:420px;margin-bottom:36px;font-weight:300;}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.hero-locs{margin-top:28px;display:flex;gap:10px;flex-wrap:wrap;}
.hero-loc-pill{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;color:var(--gris);font-weight:300;background:var(--blanco);border:1px solid var(--crema-dk);padding:5px 12px;border-radius:20px;}
.hero-flex-box{margin-top:28px;display:flex;align-items:flex-start;gap:14px;padding:16px 20px;background:var(--blanco);border-left:3px solid var(--mostaza);border-radius:0 var(--rl) var(--rl) 0;max-width:400px;box-shadow:var(--sh-sm);}
.hero-flex-box strong{display:block;font-family:var(--serif);font-size:.95rem;font-weight:600;color:var(--verde);margin-bottom:2px;}
.hero-flex-box span{font-size:.78rem;color:var(--gris);font-weight:300;}
.hero-right{background:var(--verde);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;}
.hero-team-img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(30,74,60,.35) 0%,rgba(30,74,60,.05) 50%);pointer-events:none;}
.stat-card{position:absolute;background:var(--blanco);border-radius:var(--rl);padding:12px 18px;box-shadow:var(--sh-lg);z-index:3;}
.stat-card.c1{bottom:12%;left:6%;}
.stat-card.c2{top:16%;right:6%;}
.stat-card .snum{font-family:var(--serif);font-size:2rem;font-weight:600;color:var(--verde);line-height:1;}
.stat-card .slbl{font-size:.65rem;color:var(--gris);font-weight:300;text-transform:uppercase;letter-spacing:.08em;}

/* GEO STRIP */
.geo-strip{background:var(--verde);display:grid;grid-template-columns:1fr 1fr;}
.geo-card{padding:36px 6%;border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:8px;}
.geo-card:last-child{border-right:none;}
.geo-city{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--blanco);line-height:1;}
.geo-svc{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mostaza-lt);font-weight:500;}
.geo-desc{font-size:.82rem;color:rgba(255,255,255,.6);font-weight:300;line-height:1.6;}
.geo-link{display:inline-flex;align-items:center;gap:7px;font-size:.74rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72);text-decoration:none;margin-top:6px;transition:color .2s,gap .2s;}
.geo-link:hover{color:var(--blanco);gap:11px;}

/* TICKER */
.ticker-section{background:var(--mostaza-pale);border-top:1px solid rgba(154,123,46,.15);border-bottom:1px solid rgba(154,123,46,.15);overflow:hidden;}
.ticker-inner{display:flex;align-items:center;height:52px;}
.ticker-label{flex-shrink:0;background:var(--mostaza);color:var(--blanco);padding:0 24px;height:100%;display:flex;align-items:center;font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;z-index:2;}
.ticker-track-wrap{flex:1;overflow:hidden;position:relative;}
.ticker-track-wrap::before,.ticker-track-wrap::after{content:'';position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;}
.ticker-track-wrap::before{left:0;background:linear-gradient(to right,var(--mostaza-pale),transparent);}
.ticker-track-wrap::after{right:0;background:linear-gradient(to left,var(--mostaza-pale),transparent);}
.ticker-track{display:flex;align-items:center;white-space:nowrap;animation:ticker 32s linear infinite;}
.ticker-track:hover{animation-play-state:paused;}
@keyframes ticker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.ticker-item{display:inline-flex;align-items:center;gap:10px;padding:0 28px;}
.ticker-amount{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--verde);}
.ticker-text{font-size:.77rem;color:var(--gris);font-weight:300;}
.ticker-sep{width:4px;height:4px;border-radius:50%;background:var(--mostaza-lt);flex-shrink:0;}

/* SERVICES */
.services{background:var(--blanco);padding:96px 8%;}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin-top:52px;}
.svc-card{background:var(--crema);padding:40px 28px;position:relative;transition:background .3s,transform .25s,box-shadow .25s;overflow:hidden;}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--mostaza);transform:scaleX(0);transform-origin:left;transition:transform .35s;}
.svc-card:hover{background:var(--blanco);transform:translateY(-3px);box-shadow:var(--sh-md);z-index:2;}
.svc-card:hover::after{transform:scaleX(1);}
.svc-card.feat{background:var(--verde);}
.svc-card.feat:hover{background:var(--verde-mid);}
.svc-card.feat::after{background:var(--mostaza-lt);}
.svc-icon{margin-bottom:24px;}
.svc-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:400;line-height:1.2;margin-bottom:12px;color:var(--verde);}
.svc-card.feat h3{color:var(--blanco);}
.svc-card p{font-size:.83rem;color:var(--gris);font-weight:300;line-height:1.65;}
.svc-card.feat p{color:rgba(255,255,255,.68);}
.svc-link{display:inline-flex;align-items:center;gap:6px;margin-top:24px;font-size:.74rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--mostaza);text-decoration:none;transition:gap .2s;}
.svc-card.feat .svc-link{color:rgba(255,255,255,.75);}
.svc-link:hover{gap:10px;}

/* CASOS SLIDER */
.casos{background:var(--crema);padding:96px 8%;overflow:hidden;}
.slider-wrap{position:relative;overflow:hidden;}
.slider-track{display:flex;gap:20px;will-change:transform;cursor:grab;}
.slider-track:active{cursor:grabbing;}
.caso-card{flex:0 0 300px;min-width:0;background:var(--blanco);border-radius:var(--rl);padding:32px 28px;position:relative;transition:box-shadow .3s;user-select:none;}
.caso-card:hover{box-shadow:var(--sh-md);}
.caso-amount{font-family:var(--serif);font-size:2.8rem;font-weight:300;color:var(--verde);line-height:1;margin-bottom:4px;}
.caso-badge{display:inline-block;background:var(--verde-pale);color:var(--verde);font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:2px;margin-bottom:14px;}
.caso-text{font-family:var(--serif);font-size:1rem;font-weight:300;line-height:1.62;font-style:italic;color:var(--gris);margin-bottom:20px;}
.caso-author{display:flex;align-items:center;gap:10px;}
.caso-av{width:36px;height:36px;border-radius:50%;background:var(--verde);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:.82rem;color:var(--blanco);flex-shrink:0;}
.caso-name{font-weight:500;font-size:.83rem;color:var(--negro);}
.caso-detail{font-size:.7rem;color:var(--gris-lt);font-weight:300;}
.slider-nav{display:flex;align-items:center;gap:12px;margin-top:36px;}
.slider-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--crema-dk);background:var(--blanco);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;}
.slider-btn:hover{background:var(--verde);border-color:var(--verde);}
.slider-btn:hover path{stroke:#fff;}
.slider-dots{display:flex;gap:8px;}
.slider-dot{width:6px;height:6px;border-radius:50%;background:var(--crema-dk);border:none;cursor:pointer;padding:0;transition:background .3s,transform .3s;}
.slider-dot.active{background:var(--verde);transform:scale(1.35);}

/* TEAM */
.team{background:var(--blanco);padding:96px 8%;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.team-img-wrap{border-radius:var(--rl);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-md);}
.team-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s ease;}
.team-img-wrap:hover img{transform:scale(1.03);}
.team-text h2{font-family:var(--serif);font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:300;color:var(--verde);line-height:1.15;margin-bottom:20px;}
.team-text h2 em{font-style:italic;color:var(--mostaza);}
.team-text p{font-size:.9rem;color:var(--gris);font-weight:300;line-height:1.78;margin-bottom:14px;}

/* CITIES */
.cities{padding:96px 8%;background:var(--crema);}
.cities-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:52px;}
.city-card{background:var(--blanco);border-radius:var(--rl);overflow:hidden;transition:box-shadow .3s;}
.city-card:hover{box-shadow:var(--sh-md);}
.city-header{background:var(--verde);padding:32px 32px 24px;}
.city-name{font-family:var(--serif);font-size:1.9rem;font-weight:300;color:var(--blanco);line-height:1;margin-bottom:5px;}
.city-tag{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mostaza-lt);font-weight:500;}
.city-body{padding:28px 32px;}
.city-kw{margin-bottom:16px;display:flex;flex-wrap:wrap;gap:6px;}
.kw-pill{font-size:.68rem;font-weight:400;background:var(--crema);color:var(--gris);padding:4px 10px;border-radius:20px;border:1px solid var(--crema-dk);}
.city-svcs{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:20px;}
.city-svcs li{display:flex;align-items:flex-start;gap:9px;font-size:.82rem;color:var(--gris);font-weight:300;line-height:1.5;}
.city-svcs li::before{content:'';flex-shrink:0;margin-top:7px;width:5px;height:5px;border-radius:50%;background:var(--mostaza);}
.city-page-link{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--verde);text-decoration:none;margin-bottom:18px;border-bottom:1px solid var(--verde-lt);padding-bottom:2px;transition:color .2s;width:fit-content;}
.city-page-link:hover{color:var(--mostaza);}
.city-map{width:100%;height:190px;overflow:hidden;}
.city-map iframe{width:100%;height:100%;border:0;display:block;}
.city-cta{padding:18px 32px 28px;}

/* DIFERENCIAL */
.diferencial{background:var(--verde);padding:96px 8%;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.dif-points{display:flex;flex-direction:column;gap:16px;}
.dif-point{display:flex;align-items:flex-start;gap:14px;padding:22px;background:rgba(255,255,255,.06);border-radius:var(--rl);border:1px solid rgba(255,255,255,.09);transition:background .2s;}
.dif-point:hover{background:rgba(255,255,255,.1);}
.dif-icon{flex-shrink:0;margin-top:2px;}
.dif-point h5{font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--blanco);margin-bottom:3px;}
.dif-point p{font-size:.78rem;color:rgba(255,255,255,.55);font-weight:300;line-height:1.65;}

/* PROCESS */
.process{padding:96px 8%;background:var(--blanco);display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.process-steps{display:flex;flex-direction:column;}
.process-step{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--crema-dk);}
.process-step:first-child{border-top:1px solid var(--crema-dk);}
.step-num{font-family:var(--serif);font-size:2.1rem;font-weight:300;color:var(--crema-dk);line-height:1;padding-top:3px;transition:color .3s;}
.process-step:hover .step-num{color:var(--verde-lt);}
.step-content h4{font-family:var(--serif);font-size:1.12rem;font-weight:400;color:var(--verde);margin-bottom:6px;}
.step-content p{font-size:.83rem;color:var(--gris);font-weight:300;line-height:1.65;}

/* CTA FINAL */
.cta-final{background:var(--crema-dk);padding:96px 8%;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;}
.cta-final h2{font-family:var(--serif);font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:300;color:var(--verde);line-height:1.15;margin-bottom:10px;}
.cta-final h2 em{font-style:italic;}
.cta-final .cl p{font-size:.95rem;color:var(--gris);font-weight:300;}
.cta-actions{display:flex;flex-direction:column;align-items:flex-end;gap:11px;}
.cta-trust{font-size:.7rem;color:var(--gris-lt);text-align:right;font-weight:300;}

/* PAGE HERO (interior) */
.page-hero{padding:calc(var(--nav-h) + 72px) 8% 80px;background:var(--verde);position:relative;overflow:hidden;}
.page-hero-inner{max-width:720px;position:relative;z-index:2;}
.page-hero-bg{position:absolute;inset:0;pointer-events:none;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.72rem;color:rgba(255,255,255,.4);margin-bottom:20px;flex-wrap:wrap;}
.breadcrumb a{color:rgba(255,255,255,.55);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:rgba(255,255,255,.9);}
.breadcrumb-sep{opacity:.3;}
.page-tag{font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--mostaza-lt);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.page-tag::before{content:'';display:block;width:18px;height:1px;background:var(--mostaza-lt);}
.page-hero h1{font-family:var(--serif);font-size:clamp(2.4rem,4.5vw,3.8rem);font-weight:300;line-height:1.1;color:var(--blanco);margin-bottom:20px;}
.page-hero h1 em{font-style:italic;color:var(--mostaza-lt);}
.page-hero-desc{font-size:1.03rem;color:rgba(255,255,255,.72);font-weight:300;line-height:1.78;max-width:580px;margin-bottom:36px;}
.page-hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.page-hero-stats{display:flex;gap:36px;margin-top:52px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap;}
.stat-item .stat-num{font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--blanco);line-height:1;}
.stat-item .stat-lbl{font-size:.68rem;color:rgba(255,255,255,.5);font-weight:300;letter-spacing:.08em;text-transform:uppercase;}

/* CONTENT SECTIONS */
.content-section{padding:88px 8%;background:var(--blanco);}
.content-section.alt{background:var(--crema);}
.content-section.dark{background:var(--verde);}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.content-text h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:300;color:var(--verde);line-height:1.15;margin-bottom:18px;}
.content-text h2 em{font-style:italic;color:var(--mostaza);}
.dark .content-text h2{color:var(--blanco);}
.dark .content-text h2 em{color:var(--mostaza-lt);}
.content-text p{font-size:.9rem;color:var(--gris);font-weight:300;line-height:1.78;margin-bottom:16px;}
.dark .content-text p{color:rgba(255,255,255,.65);}
.req-list{list-style:none;display:flex;flex-direction:column;gap:13px;}
.req-list li{display:flex;align-items:flex-start;gap:12px;font-size:.88rem;color:var(--gris);font-weight:300;line-height:1.6;}
.req-list li::before{content:'';flex-shrink:0;margin-top:8px;width:8px;height:8px;border-radius:50%;background:var(--mostaza);}
.dark .req-list li{color:rgba(255,255,255,.65);}
.dark .req-list li::before{background:var(--mostaza-lt);}
.steps-list{display:flex;flex-direction:column;}
.step-item{display:grid;grid-template-columns:56px 1fr;gap:18px;padding:28px 0;border-bottom:1px solid var(--crema-dk);}
.step-item:first-child{border-top:1px solid var(--crema-dk);}
.step-n{font-family:var(--serif);font-size:2rem;font-weight:300;color:var(--crema-dk);line-height:1;padding-top:3px;transition:color .3s;}
.step-item:hover .step-n{color:var(--verde-lt);}
.step-body h4{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--verde);margin-bottom:6px;}
.step-body p{font-size:.83rem;color:var(--gris);font-weight:300;line-height:1.65;}
.guarantee-box{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:var(--rl);padding:24px;margin-top:20px;}
.guarantee-box h4{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--blanco);margin-bottom:8px;}
.guarantee-box p{font-size:.83rem;color:rgba(255,255,255,.6);font-weight:300;line-height:1.65;}
.local-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px;}
.local-link{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--verde);text-decoration:none;border-bottom:1px solid var(--verde-lt);padding-bottom:2px;transition:color .2s,gap .2s;}
.local-link:hover{color:var(--mostaza);gap:9px;}

/* Office chooser */
.office-chooser{background:var(--crema);padding:48px 44px;border-radius:var(--rl);}
.office-chooser h3{font-family:var(--serif);font-size:1.5rem;font-weight:300;color:var(--verde);margin-bottom:6px;}
.office-chooser p{font-size:.85rem;color:var(--gris);font-weight:300;margin-bottom:22px;}
.office-btns{display:flex;flex-direction:column;gap:12px;}
.office-btn{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--blanco);border-radius:var(--rl);text-decoration:none;border:1px solid var(--crema-dk);transition:box-shadow .2s,transform .15s;}
.office-btn:hover{box-shadow:var(--sh-sm);transform:translateX(4px);}
.office-btn-city{font-family:var(--serif);font-size:1.1rem;font-weight:400;color:var(--verde);}
.office-btn-area{font-size:.72rem;color:var(--gris-lt);font-weight:300;}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:2px;margin-top:48px;}
.faq-item{background:var(--blanco);border-radius:var(--rl);overflow:hidden;}
.faq-q{width:100%;background:none;border:none;padding:20px 28px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--serif);font-size:1.08rem;font-weight:400;color:var(--verde);transition:background .2s;}
.faq-q:hover{background:var(--crema);}
.faq-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1px solid var(--crema-dk);display:flex;align-items:center;justify-content:center;transition:transform .3s,background .2s,border-color .2s;}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--mostaza);border-color:var(--mostaza);}
.faq-item.open .faq-icon path{stroke:#fff;}
.faq-a{display:none;padding:0 28px 20px;font-size:.88rem;color:var(--gris);font-weight:300;line-height:1.75;}
.faq-item.open .faq-a{display:block;}

/* CTA banner interior */
.cta-banner{background:var(--crema-dk);padding:88px 8%;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;}
.cta-banner h2{font-family:var(--serif);font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:300;color:var(--verde);line-height:1.15;margin-bottom:10px;}
.cta-banner h2 em{font-style:italic;}
.cta-banner p{font-size:.95rem;color:var(--gris);font-weight:300;}
.cta-b-actions{display:flex;flex-direction:column;align-items:flex-end;gap:11px;flex-shrink:0;}

/* FOOTER */
footer{background:var(--negro);color:rgba(255,255,255,.52);padding:52px 8% 30px;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:26px;}
.footer-logo img{height:28px;width:auto;filter:brightness(0) invert(1);opacity:.75;margin-bottom:14px;}
.footer-desc{font-size:.8rem;font-weight:300;line-height:1.72;max-width:250px;}
.footer-col h6{font-size:.66rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--blanco);margin-bottom:16px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-col ul a{color:rgba(255,255,255,.46);text-decoration:none;font-size:.8rem;font-weight:300;transition:color .2s;}
.footer-col ul a:hover{color:rgba(255,255,255,.9);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:300;flex-wrap:wrap;gap:8px;}

/* WA BUTTON */
.wa-float{position:fixed;bottom:28px;right:28px;z-index:500;display:flex;align-items:center;text-decoration:none;filter:drop-shadow(0 8px 24px rgba(37,211,102,.4));transition:filter .25s,transform .25s;}
.wa-float:hover{transform:scale(1.05);filter:drop-shadow(0 12px 32px rgba(37,211,102,.55));}
.wa-btn-circle{width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:2;transition:border-radius .3s ease;}
.wa-float:hover .wa-btn-circle{border-radius:28px 8px 28px 28px;}
.wa-btn-circle svg{width:28px;height:28px;}
.wa-label{background:#25D366;color:#fff;font-family:var(--sans);font-size:.78rem;font-weight:500;height:42px;display:flex;align-items:center;white-space:nowrap;border-radius:0 28px 28px 0;margin-left:-8px;padding-left:14px;padding-right:16px;max-width:0;overflow:hidden;transition:max-width .4s ease,padding .4s ease;}
.wa-float:hover .wa-label{max-width:200px;}
.wa-pulse{position:absolute;inset:0;border-radius:50%;background:rgba(37,211,102,.4);animation:wa-pulse 2.4s ease-out infinite;}
@keyframes wa-pulse{0%{transform:scale(1);opacity:.6;}70%{transform:scale(1.6);opacity:0;}100%{transform:scale(1.6);opacity:0;}}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
.hero-left>*{animation:fadeUp .65s ease both;}
.hero-left>*:nth-child(1){animation-delay:.08s;}
.hero-left>*:nth-child(2){animation-delay:.17s;}
.hero-left>*:nth-child(3){animation-delay:.27s;}
.hero-left>*:nth-child(4){animation-delay:.37s;}
.hero-left>*:nth-child(5){animation-delay:.46s;}
.hero-left>*:nth-child(6){animation-delay:.54s;}

/* RESPONSIVE */
@media(max-width:1024px){.services-grid{grid-template-columns:1fr 1fr;}.footer-top{grid-template-columns:1fr 1fr;gap:32px;}/* card widths set by JS initSlider */}
@media(max-width:768px){
  :root{--nav-h:64px;}
  .nav-center,.lang-btn{display:none;}
  .hamburger{display:flex;}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-left{padding:48px 6% 52px;}
  .hero h1{font-size:clamp(2.3rem,8vw,2.9rem);}
  .hero-right{height:340px;}
  .geo-strip{grid-template-columns:1fr;}
  .geo-card{border-right:none;border-bottom:1px solid rgba(255,255,255,.1);}
  .geo-card:last-child{border-bottom:none;}
  .services,.casos,.team,.cities,.diferencial,.process,.cta-final{padding:60px 6%;}
  .services-grid{grid-template-columns:1fr;}
  .team{grid-template-columns:1fr;gap:40px;}
  .cities-grid{grid-template-columns:1fr;}
  .diferencial{grid-template-columns:1fr;gap:44px;}
  .process{grid-template-columns:1fr;gap:44px;}
  .cta-final{grid-template-columns:1fr;}
  .cta-actions{align-items:flex-start;}
  .cta-trust{text-align:left;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  /* card width mobile: set by JS */
  .content-grid{grid-template-columns:1fr;gap:44px;}
  .content-section,.cta-banner{padding:60px 6%;}
  .cta-banner{grid-template-columns:1fr;}
  .cta-b-actions{align-items:flex-start;}
  .page-hero{padding:calc(var(--nav-h) + 44px) 6% 56px;}
  .page-hero-stats{gap:20px;}
  .wa-label{display:none;}
  .wa-float:hover .wa-btn-circle{border-radius:50%;}
  .office-chooser{padding:32px 24px;}
}
@media(max-width:480px){
  .nav-logo img{height:30px;}
  .hero-left{padding:36px 5% 44px;}
  .hero-actions{flex-direction:column;align-items:flex-start;}
  .hero-locs{flex-direction:column;gap:8px;}
  .footer-top{grid-template-columns:1fr;}
  /* card width small: set by JS */
}
