
:root{
  --eco-navy:#102A45;
  --eco-navy-2:#0B2137;
  --eco-gold:#B1975A;
  --eco-gold-light:#D8C69C;
  --eco-cream:#F8F7F3;
  --eco-ink:#172433;
  --eco-text:#5E6770;
  --eco-line:#E8E3D8;
  --eco-white:#fff;
  --eco-shadow:0 18px 55px rgba(16,42,69,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ecoiuris-fullwidth{margin:0!important;background:#fff;color:var(--eco-text)}
.eco-site{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--eco-text);line-height:1.7;overflow:hidden}
.eco-site h1,.eco-site h2,.eco-site h3,.eco-site h4{font-family:Baskerville,"Iowan Old Style","Palatino Linotype",Georgia,serif;margin:0;color:var(--eco-navy);font-weight:600;letter-spacing:-.02em}
.eco-site a{text-decoration:none}
.eco-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}
.eco-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,42,69,.07)}
.eco-header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.eco-brand{display:flex;align-items:center;gap:12px;color:var(--eco-navy)}
.eco-brand img{width:54px;height:54px;object-fit:contain}
.eco-brand-text{display:flex;flex-direction:column;line-height:1}
.eco-brand-text strong{font-family:Baskerville,Georgia,serif;font-size:25px;letter-spacing:.08em;font-weight:600}
.eco-brand-text small{font-size:10px;letter-spacing:.34em;margin-top:8px;color:var(--eco-gold)}
.eco-nav{display:flex;align-items:center;gap:26px}
.eco-nav a{color:#33465a;font-size:14px;font-weight:600;transition:.25s}
.eco-nav a:hover{color:var(--eco-gold)}
.eco-nav-cta{border:1px solid var(--eco-gold);padding:11px 18px;border-radius:4px}
.eco-menu-toggle{display:none;background:none;border:0;padding:8px}
.eco-menu-toggle span{display:block;width:26px;height:2px;background:var(--eco-navy);margin:5px}

.eco-hero{position:relative;min-height:700px;background:linear-gradient(135deg,#fbfaf7 0%,#fff 55%,#f5f0e6 100%);display:flex;align-items:center}
.eco-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;padding:92px 0}
.eco-eyebrow,.eco-kicker{font-size:12px;font-weight:800;letter-spacing:.22em;color:var(--eco-gold);margin:0 0 18px}
.eco-hero h1{font-size:clamp(48px,5.1vw,76px);line-height:1.02;max-width:760px}
.eco-hero h1 em{font-style:normal;color:var(--eco-gold)}
.eco-hero-lead{font-size:18px;font-weight:700;color:var(--eco-navy);margin:26px 0 12px}
.eco-hero-text{font-size:17px;max-width:720px;margin:0;color:#66717c}
.eco-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.eco-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:5px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;transition:.28s;border:1px solid transparent}
.eco-btn-primary{background:var(--eco-navy);color:#fff}
.eco-btn-primary:hover{background:var(--eco-gold);transform:translateY(-2px)}
.eco-btn-ghost{border-color:var(--eco-navy);color:var(--eco-navy);background:transparent}
.eco-btn-ghost:hover{background:var(--eco-navy);color:#fff}
.eco-btn-gold{background:var(--eco-gold);color:#fff}
.eco-btn-gold:hover{background:#c3a66b;transform:translateY(-2px)}
.eco-hero-meta{display:flex;gap:34px;margin-top:40px;padding-top:22px;border-top:1px solid #ddd7cc;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.eco-hero-meta b{color:var(--eco-navy);display:block;font-size:14px;text-transform:none;letter-spacing:0}
.eco-hero-visual{position:relative;min-height:500px}
.eco-seal-card{position:absolute;width:410px;height:410px;right:15px;top:24px;border-radius:50%;background:#fff;box-shadow:0 35px 90px rgba(14,37,61,.14);display:flex;align-items:center;justify-content:center}
.eco-seal-ring{width:325px;height:325px;border-radius:50%;border:1px solid var(--eco-gold-light);display:flex;align-items:center;justify-content:center;position:relative}
.eco-seal-ring:before,.eco-seal-ring:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(177,151,90,.25)}
.eco-seal-ring:before{inset:15px}
.eco-seal-ring:after{inset:34px}
.eco-seal-ring img{width:230px;height:230px;object-fit:contain;z-index:1}
.eco-seal-caption{position:absolute;bottom:40px;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.16em;color:var(--eco-navy)}
.eco-seal-caption i{width:4px;height:4px;background:var(--eco-gold);border-radius:50%}
.eco-float-card{position:absolute;background:#fff;border-radius:8px;box-shadow:var(--eco-shadow);padding:15px 18px 15px 14px;font-weight:700;color:var(--eco-navy);font-size:13px;display:flex;align-items:center;gap:11px;max-width:220px}
.eco-float-card span{color:var(--eco-gold);font-family:Baskerville,Georgia,serif;font-size:20px}
.eco-float-a{left:0;top:105px}
.eco-float-b{right:-20px;bottom:58px}
.eco-hero-orbit{position:absolute;border:1px solid rgba(177,151,90,.15);border-radius:50%;pointer-events:none}
.eco-orbit-1{width:520px;height:520px;right:-190px;top:30px}
.eco-orbit-2{width:330px;height:330px;left:-180px;bottom:-120px}

.eco-section{padding:100px 0}
.eco-section-head{text-align:center;max-width:810px;margin:0 auto 48px}
.eco-section-head h2{font-size:clamp(38px,4vw,54px);line-height:1.08}
.eco-section-head>p:last-child{font-size:17px;margin:18px auto 0;max-width:720px}
.eco-disciplines{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.eco-mini-card{background:#fff;border-radius:8px;padding:28px;box-shadow:0 12px 35px rgba(16,42,69,.075);display:flex;gap:20px;align-items:flex-start;transition:.3s}
.eco-mini-card:hover{transform:translateY(-7px);box-shadow:0 20px 45px rgba(16,42,69,.12)}
.eco-mini-card svg{width:42px;min-width:42px;height:42px;fill:none;stroke:var(--eco-gold);stroke-width:2}
.eco-mini-card h3{font-size:23px;margin-bottom:8px}
.eco-mini-card p{margin:0;font-size:14px}
.eco-intro{background:#fff}

.eco-areas{background:var(--eco-cream)}
.eco-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.eco-area-card{padding:44px;border-radius:8px;box-shadow:0 16px 48px rgba(16,42,69,.09);transition:.3s}
.eco-area-card:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(16,42,69,.14)}
.eco-area-dark{background:var(--eco-navy);color:#dce4ec}
.eco-area-light{background:#fff;color:var(--eco-text)}
.eco-area-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.eco-area-top>span{font-family:Baskerville,Georgia,serif;font-size:45px;color:rgba(177,151,90,.55)}
.eco-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(177,151,90,.13)}
.eco-icon svg{width:31px;height:31px;fill:none;stroke:var(--eco-gold);stroke-width:2}
.eco-area-card h3{font-size:35px;margin-bottom:18px}
.eco-area-dark h3{color:#fff}
.eco-area-card>p{margin:0 0 24px}
.eco-bullets{list-style:none;padding:0;margin:25px 0 30px}
.eco-bullets li{position:relative;padding:11px 0 11px 25px;border-top:1px solid rgba(127,137,147,.17);font-size:14px}
.eco-bullets li:before{content:"";position:absolute;left:1px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--eco-gold)}
.eco-area-dark .eco-bullets li{border-color:rgba(255,255,255,.12)}
.eco-text-link{display:inline-flex;gap:12px;align-items:center;color:var(--eco-gold);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.eco-text-link span{font-size:21px;transition:.25s}
.eco-text-link:hover span{transform:translateX(5px)}

.eco-statement{background:var(--eco-navy-2);padding:90px 0;color:#dce5ed}
.eco-statement-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.eco-statement-copy h2{font-size:clamp(38px,4vw,58px);color:#fff;line-height:1.07;margin-bottom:25px}
.eco-statement-copy p{font-size:16px;margin:0 0 14px}
.eco-kicker-gold{color:var(--eco-gold-light)}
.eco-bars{height:370px;display:flex;align-items:flex-end;gap:18px;position:relative;padding:40px 30px 28px;border-left:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.eco-bars i{display:block;width:50px;height:var(--h);background:linear-gradient(180deg,var(--eco-gold-light),var(--eco-gold));border-radius:4px 4px 0 0;box-shadow:0 14px 30px rgba(0,0,0,.14)}
.eco-bars b{position:absolute;left:27px;right:18px;bottom:50px;height:2px;background:linear-gradient(90deg,transparent,var(--eco-gold),transparent);transform:rotate(-25deg);transform-origin:left center}
.eco-bars b:after{content:"";position:absolute;right:-2px;top:-5px;border-left:10px solid var(--eco-gold);border-top:6px solid transparent;border-bottom:6px solid transparent}

.eco-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.eco-stats article{text-align:center;background:#fff;padding:34px 24px;border-radius:8px;box-shadow:0 12px 36px rgba(16,42,69,.07);transition:.3s}
.eco-stats article:hover{transform:translateY(-6px)}
.eco-stats strong{display:block;color:var(--eco-gold);font-family:Baskerville,Georgia,serif;font-size:36px;margin-bottom:8px}
.eco-stats span{font-size:13px;color:var(--eco-text)}
.eco-experience{background:#fff}

.eco-team{background:var(--eco-cream)}
.eco-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.eco-role-card{background:#fff;border-radius:8px;padding:32px;display:flex;gap:20px;box-shadow:0 14px 40px rgba(16,42,69,.07);transition:.3s}
.eco-role-card:hover{transform:translateY(-7px)}
.eco-role-icon{width:58px;height:58px;min-width:58px;border-radius:50%;background:var(--eco-cream);display:grid;place-items:center}
.eco-role-icon svg{width:31px;height:31px;stroke:var(--eco-gold);fill:none;stroke-width:2}
.eco-role-card span{font-size:10px;letter-spacing:.18em;color:var(--eco-gold);font-weight:800}
.eco-role-card h3{font-size:28px;margin:3px 0 7px}
.eco-role-card p{margin:0;font-size:14px}

.eco-national{background:#fff}
.eco-national-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.eco-national-copy h2{font-size:clamp(38px,4vw,54px);line-height:1.08;margin-bottom:22px}
.eco-national-copy blockquote{border-left:3px solid var(--eco-gold);padding:8px 0 8px 20px;margin:28px 0 0;color:var(--eco-navy);font-family:Baskerville,Georgia,serif;font-size:22px}
.eco-network-map{text-align:center}
.eco-map-shape{width:100%;aspect-ratio:1.35/1;background:linear-gradient(145deg,#faf8f3,#fff);clip-path:polygon(13% 20%,30% 7%,51% 15%,73% 7%,91% 23%,87% 43%,94% 62%,74% 82%,55% 76%,40% 91%,21% 78%,8% 57%);position:relative;box-shadow:inset 0 0 0 2px var(--eco-gold-light)}
.eco-map-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:108px;height:108px;border-radius:50%;background:var(--eco-navy);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;box-shadow:0 12px 30px rgba(16,42,69,.25);z-index:3}
.eco-map-center svg{width:34px;height:34px;stroke:var(--eco-gold-light);fill:none;stroke-width:2;margin-bottom:4px}
.eco-map-center b{font-size:10px;letter-spacing:.17em}
.dot{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--eco-gold);box-shadow:0 0 0 6px rgba(177,151,90,.13);z-index:2}
.d1{left:25%;top:30%}.d2{left:42%;top:25%}.d3{right:27%;top:29%}.d4{left:20%;bottom:30%}.d5{right:20%;bottom:31%}.d6{left:43%;bottom:19%}.d7{right:40%;top:46%}
.eco-network-map>p{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--eco-gold);font-weight:800;margin:20px 0 0}

.eco-values{background:var(--eco-navy)}
.eco-section-head-light h2{color:#fff}
.eco-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.eco-values-grid article{background:rgba(255,255,255,.055);border-radius:8px;padding:30px;text-align:left;transition:.3s}
.eco-values-grid article:hover{background:#fff;transform:translateY(-7px)}
.eco-values-grid article>div{width:52px;height:52px;border-radius:50%;background:rgba(177,151,90,.15);display:grid;place-items:center;margin-bottom:18px}
.eco-values-grid svg{width:28px;height:28px;fill:none;stroke:var(--eco-gold-light);stroke-width:2}
.eco-values-grid h3{color:#fff;font-size:25px;margin-bottom:8px}
.eco-values-grid p{color:#c7d0d8;margin:0;font-size:13px}
.eco-values-grid article:hover h3{color:var(--eco-navy)}
.eco-values-grid article:hover p{color:var(--eco-text)}

.eco-contact{background:linear-gradient(135deg,#faf8f3,#fff)}
.eco-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.eco-contact-copy h2{font-size:58px}
.eco-contact-copy>p{font-size:17px;max-width:470px}
.eco-contact-data{margin-top:30px;display:grid;gap:10px}
.eco-contact-data a,.eco-contact-data span{display:block;color:var(--eco-navy);font-weight:700}
.eco-contact-data small{display:block;color:var(--eco-gold);font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.eco-contact-card{background:#fff;border-radius:8px;box-shadow:var(--eco-shadow);padding:36px}
.eco-contact-card form{display:grid;gap:18px}
.eco-contact-card label{font-size:12px;font-weight:800;color:var(--eco-navy);letter-spacing:.03em}
.eco-contact-card input,.eco-contact-card textarea{width:100%;margin-top:7px;border:1px solid #dce0e4;border-radius:4px;padding:13px 14px;font:inherit;font-size:14px;outline:none;background:#fbfbfb}
.eco-contact-card input:focus,.eco-contact-card textarea:focus{border-color:var(--eco-gold);background:#fff}
.eco-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.eco-check{display:flex;align-items:flex-start;gap:9px}
.eco-check input{width:auto;margin:5px 0 0}
.eco-check span{font-weight:500;color:var(--eco-text)}
.eco-hp{position:absolute!important;left:-9999px!important}
.eco-form-ok{background:#edf7ef;color:#276338;padding:12px 14px;border-radius:4px;margin-bottom:16px}

.eco-footer{background:#071a2b;color:#b8c4ce;padding:58px 0 20px}
.eco-footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1.25fr 1fr;gap:45px}
.eco-brand-footer{color:#fff}
.eco-brand-footer img{filter:brightness(0) invert(1);opacity:.96}
.eco-footer-brand p{font-size:13px;max-width:330px}
.eco-footer h4{font-family:Inter,Arial,sans-serif;font-size:11px;letter-spacing:.16em;color:var(--eco-gold-light);margin-bottom:15px}
.eco-footer a{display:block;color:#c2ccd5;font-size:13px;margin:7px 0}
.eco-footer a:hover{color:#fff}
.eco-footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;color:#81909b}

@media(max-width:1080px){
  .eco-nav{gap:16px}.eco-nav a{font-size:12px}
  .eco-hero-grid{grid-template-columns:1fr .85fr;gap:30px}
  .eco-seal-card{width:340px;height:340px}.eco-seal-ring{width:270px;height:270px}.eco-seal-ring img{width:190px;height:190px}
  .eco-float-a{left:-30px}.eco-float-b{right:-5px}
}
@media(max-width:900px){
  .eco-menu-toggle{display:block;z-index:1002}
  .eco-nav{position:absolute;left:0;right:0;top:88px;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:20px 24px 28px;border-top:1px solid #eee;box-shadow:0 18px 30px rgba(0,0,0,.08)}
  .eco-nav.is-open{display:flex}.eco-nav a{font-size:14px;padding:8px 0}
  .eco-hero-grid,.eco-statement-grid,.eco-national-grid,.eco-contact-grid{grid-template-columns:1fr}
  .eco-hero-grid{padding:70px 0 55px}.eco-hero-visual{min-height:440px}
  .eco-seal-card{left:50%;right:auto;transform:translateX(-50%)}
  .eco-float-a{left:10px}.eco-float-b{right:10px}
  .eco-disciplines,.eco-team-grid,.eco-values-grid{grid-template-columns:1fr 1fr}
  .eco-stats{grid-template-columns:1fr 1fr}
  .eco-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .eco-wrap{width:min(100% - 30px,1180px)}
  .eco-header-inner{height:74px}.eco-nav{top:74px}
  .eco-brand img{width:46px;height:46px}.eco-brand-text strong{font-size:20px}.eco-brand-text small{font-size:8px}
  .eco-hero{min-height:auto}.eco-hero h1{font-size:45px}.eco-hero-grid{padding-top:54px}.eco-hero-text{font-size:15px}
  .eco-hero-meta{flex-direction:column;gap:10px}
  .eco-hero-visual{min-height:375px}
  .eco-seal-card{width:300px;height:300px;top:28px}.eco-seal-ring{width:240px;height:240px}.eco-seal-ring img{width:165px;height:165px}
  .eco-float-card{max-width:190px;font-size:11px}.eco-float-a{top:60px}.eco-float-b{bottom:5px}
  .eco-section{padding:72px 0}.eco-section-head{margin-bottom:34px}.eco-section-head h2{font-size:38px}
  .eco-disciplines,.eco-area-grid,.eco-team-grid,.eco-values-grid,.eco-stats{grid-template-columns:1fr}
  .eco-area-card{padding:30px}.eco-area-card h3{font-size:31px}
  .eco-statement{padding:70px 0}.eco-statement-grid{gap:45px}.eco-bars{height:270px;gap:10px;padding-left:15px}.eco-bars i{width:38px}
  .eco-national-grid{gap:45px}.eco-contact-grid{gap:35px}.eco-contact-copy h2{font-size:46px}
  .eco-contact-card{padding:24px}.eco-form-row{grid-template-columns:1fr}
  .eco-footer-grid{grid-template-columns:1fr}.eco-footer-bottom{flex-direction:column;gap:8px}
}

.eco-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.eco-reveal.eco-in{opacity:1;transform:none}
.eco-header.is-scrolled{box-shadow:0 8px 24px rgba(16,42,69,.07)}

/* v1.0.1 - Logo horizontal aprobado */
.eco-brand-logo img{
  width:auto;
  height:64px;
  max-width:360px;
  object-fit:contain;
  display:block;
}
.eco-brand-footer.eco-brand-logo img{
  height:72px;
  max-width:390px;
  filter:none;
  background:#fff;
  border-radius:3px;
  padding:5px 8px;
}
@media(max-width:900px){
  .eco-brand-logo img{height:56px;max-width:310px}
}
@media(max-width:680px){
  .eco-brand-logo img{height:48px;max-width:260px}
}

/* v1.0.3 - menos espacio entre cabecera/logo y titular principal */
.eco-hero{min-height:560px;}
.eco-hero-grid{padding:46px 0 70px;}
.eco-hero-copy{margin-top:-10px;}
@media(max-width:900px){.eco-hero-grid{padding:42px 0 42px;}.eco-hero{min-height:auto;}}
@media(max-width:680px){.eco-hero-grid{padding:34px 0 28px;}.eco-hero-copy{margin-top:0;}}
