:root{--navy:#102a40;--navy2:#173e5b;--green:#11a36a;--green2:#74dfb3;--ink:#13202b;--muted:#61707d;--line:#dbe4e8;--paper:#f6f9f8;--white:#fff;--shadow:0 1.5rem 3.75rem rgba(16,42,64,.12);--radius:1.5rem;--container:73.75rem}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 2.5rem),var(--container));margin:auto}.section{padding:6rem 0}.alt{background:var(--paper)}.skip-link{position:absolute;left:-624.9375rem}.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(0.875rem);border-bottom:0.0625rem solid rgba(219,228,232,.8)}.nav-wrap{height:4.875rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand-logo{width:auto;max-width:14.0625rem;max-height:3.625rem}.main-nav{display:flex;align-items:center;gap:1.375rem;font-size:0.8125rem;font-weight:700}.main-nav>a:not(.btn){position:relative}.main-nav>a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-0.4375rem;width:0;height:0.125rem;background:var(--green);transition:.2s}.main-nav>a:hover::after{width:100%}.nav-consulting{color:#73818c}.menu-toggle{display:none;background:none;border:0}.menu-toggle span{display:block;width:1.625rem;height:0.125rem;background:var(--navy);margin:0.3125rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.875rem;border-radius:62.4375rem;padding:0.8125rem 1.3125rem;font-weight:800;font-size:0.8125rem;border:0.0625rem solid transparent;transition:.2s}.btn:hover{transform:translateY(-0.125rem)}.btn-primary{background:var(--green);color:#fff;box-shadow:0 0.75rem 1.625rem rgba(17,163,106,.24)}.btn-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.08)}.btn-light{background:#fff;color:var(--navy)}.btn-outline{border-color:var(--navy);color:var(--navy)}.btn-sm{min-height:2.5rem;padding:0.625rem 1.0625rem}.btn-full{width:100%}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:0.6875rem;font-weight:900;color:#aee5ca;margin:0 0 0.9375rem}.eyebrow.dark{color:var(--green)}.hero{position:relative;min-height:48.75rem;display:flex;align-items:center;padding-top:4.875rem;background:var(--navy);overflow:hidden}.hero-media{position:absolute;inset:0;background:url('assets/hero-consultoria.jpg') center/cover;filter:saturate(.68) contrast(1.05);transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,47,.96) 0%,rgba(8,30,47,.82) 50%,rgba(8,30,47,.22) 100%)}.hero-grid{position:relative;z-index:1}.hero-content{max-width:49.375rem;color:#fff;padding:5rem 0}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(3.125rem,6.3vw,5.25rem);line-height:1;letter-spacing:-.05em;margin:0}.hero h1 span{color:#b7e6cf}.hero-lead{font-size:1.1875rem;color:rgba(255,255,255,.8);max-width:43.75rem;margin:1.6875rem 0 1.875rem}.hero-actions{display:flex;gap:0.75rem;flex-wrap:wrap}.trust-strip{margin-top:3.375rem;padding-top:1.5rem;border-top:0.0625rem solid rgba(255,255,255,.2);display:flex;gap:2.875rem}.trust-strip div{display:grid;gap:0.1875rem}.trust-strip strong{font:800 1.3125rem Manrope;color:#b7e6cf}.trust-strip span{font-size:0.75rem;color:rgba(255,255,255,.64)}.section-heading{max-width:47.5rem}.section-heading.centered{text-align:center;margin:0 auto 3.125rem}.section-heading h2,.intro-modern h2,.cta-strip h2,.contact h2{font:800 clamp(2.1875rem,4vw,3.4375rem)/1.08 Manrope;letter-spacing:-.035em;margin:0}.section-heading>p:last-child{color:var(--muted);font-size:1rem}.intro-modern{display:grid;grid-template-columns:1.2fr .8fr;gap:4.375rem;align-items:center}.intro-points{display:flex;flex-wrap:wrap;gap:0.625rem}.intro-points span{padding:0.8125rem 1rem;border-radius:62.4375rem;border:0.0625rem solid var(--line);background:#fff;font-weight:800;font-size:0.8125rem;color:var(--navy);box-shadow:0 0.625rem 1.375rem rgba(16,42,64,.04)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.625rem}.service-card{position:relative;padding:1.75rem;border-radius:1.375rem;background:#fff;border:0.0625rem solid var(--line);min-height:16.25rem;transition:.25s;display:flex;flex-direction:column}.service-card:hover{transform:translateY(-0.375rem);box-shadow:var(--shadow);border-color:rgba(17,163,106,.25)}.service-no{font-size:0.6875rem;font-weight:900;color:var(--green);letter-spacing:.1em}.service-arrow{position:absolute;right:1.375rem;top:1.25rem;width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;background:#edf7f2;color:var(--green);font-weight:900}.service-card h3{font:800 1.375rem/1.18 Manrope;margin:2.3125rem 0 0.625rem}.service-card p{font-size:0.875rem;color:var(--muted);margin:0}.service-link{margin-top:auto;padding-top:1.5rem;font-size:0.75rem;font-weight:900;color:var(--navy)}.sustainability{padding:6.625rem 0;background:linear-gradient(180deg,#fff,#f1f8f4)}.circle-system{position:relative;width:min(100%,57.5rem);height:38.75rem;margin:1.75rem auto 0}.circle-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:13.75rem;height:13.75rem;border-radius:50%;background:linear-gradient(145deg,var(--navy),var(--navy2));display:grid;place-content:center;text-align:center;color:#fff;z-index:5;box-shadow:0 1.875rem 4.375rem rgba(16,42,64,.25);padding:1.5625rem}.circle-core strong{font:900 1.625rem Manrope;letter-spacing:.12em}.circle-core span{font-size:0.75rem;color:#b7e6cf;margin-top:0.5rem}.orbit-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0.0625rem dashed rgba(17,163,106,.22);border-radius:50%}.ring-a{width:31.25rem;height:31.25rem}.ring-b{width:38.75rem;height:38.75rem}.circle-node{position:absolute;width:11.125rem;min-height:7rem;padding:1rem;border-radius:1.125rem;background:#fff;border:0.0625rem solid rgba(17,163,106,.18);box-shadow:0 1.125rem 2.5rem rgba(16,42,64,.09);z-index:6;display:grid;gap:0.1875rem;transition:.2s}.circle-node:hover{transform:translateY(-0.3125rem);box-shadow:0 1.5rem 3rem rgba(16,42,64,.14)}.circle-node b{font-size:0.625rem;color:var(--green)}.circle-node strong{font:800 1.0625rem Manrope;color:var(--navy)}.circle-node span{font-size:0.6875rem;color:var(--muted)}.node-1{left:50%;top:0;transform:translateX(-50%)}.node-1:hover{transform:translate(-50%,-0.3125rem)}.node-2{right:3%;top:25%}.node-3{right:8%;bottom:9%}.node-4{left:8%;bottom:9%}.node-5{left:3%;top:25%}.impact-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-radius:1.5rem;overflow:hidden;background:var(--navy);margin-top:-0.625rem}.impact-metrics div{padding:1.5rem;border-left:0.0625rem solid rgba(255,255,255,.11);display:grid;gap:0.3125rem}.impact-metrics div:first-child{border-left:0}.impact-metrics strong{font:800 1.0625rem Manrope;color:#7ee0b7}.impact-metrics span{font-size:0.75rem;color:rgba(255,255,255,.68)}.center-action{text-align:center;margin-top:1.625rem}.dark-section{background:linear-gradient(145deg,#081f33,#103b58);color:#fff}.section-heading.light h2{color:#fff}.method-flow{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.method-flow div{min-width:9.0625rem;padding:1.25rem;border-radius:1.125rem;border:0.0625rem solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);display:grid;gap:0.3125rem;text-align:center}.method-flow b{font-size:0.625rem;color:#74dfb3}.method-flow strong{font:800 1rem Manrope}.method-flow i{font-style:normal;color:#74dfb3;font-weight:900}.method-result{text-align:center;color:rgba(255,255,255,.68);margin-top:1.75rem}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.625rem}.trust-grid article{padding:1.75rem;border-radius:1.25rem;border:0.0625rem solid var(--line);background:#fff}.trust-grid span{font-size:0.6875rem;font-weight:900;color:var(--green)}.trust-grid h3{font:800 1.25rem Manrope;margin:1.25rem 0 0.5rem}.trust-grid p{font-size:0.8125rem;color:var(--muted);margin:0}.cta-strip{padding:3.875rem 0;background:var(--green)}.cta-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.875rem}.cta-strip .eyebrow{color:#d9f4e8}.cta-strip h2{color:#fff;font-size:clamp(2rem,4vw,3rem)}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:4.375rem}.contact-copy p{color:var(--muted)}.contact-direct{display:flex;gap:1.125rem;flex-wrap:wrap;margin-top:1.75rem}.contact-direct a{font-weight:900;color:var(--navy);border-bottom:0.125rem solid var(--green)}.contact-form{padding:2rem;border-radius:1.375rem;background:var(--paper);border:0.0625rem solid var(--line)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0.9375rem}.contact-form label{display:grid;gap:0.4375rem;margin-bottom:0.9375rem;font-size:0.6875rem;font-weight:900;color:var(--navy)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:0.875rem;border:0.0625rem solid #cad6dc;border-radius:0.6875rem;background:#fff;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 0.1875rem rgba(17,163,106,.1)}.site-footer{background:#061827;color:#fff;padding:2.625rem 0}.footer-grid{display:grid;grid-template-columns:auto 1fr auto;gap:2.125rem;align-items:center}.footer-logo{max-height:3.625rem}.footer-copy{font-size:0.75rem;color:rgba(255,255,255,.62)}.footer-link{color:#7ee0b7;font-weight:800}.footer-meta{font-size:0.6875rem;color:rgba(255,255,255,.42)}.whatsapp-float{position:fixed;right:1.125rem;bottom:1.125rem;z-index:999;display:flex;align-items:center;gap:0.5rem;background:#25D366;color:#fff;border:0.1875rem solid #fff;border-radius:62.4375rem;padding:0.75rem 0.9375rem;box-shadow:0 1.125rem 2.5rem rgba(16,42,64,.22);font-size:0.75rem;font-weight:900}.whatsapp-float svg{width:1.5rem;height:1.5rem;fill:currentColor}.reveal{opacity:0;transform:translateY(1.125rem);transition:.65s}.reveal.visible{opacity:1;transform:none}
/* service pages */.service-hero{padding:10.625rem 0 5.625rem;background:linear-gradient(145deg,#081f33,#103b58);color:#fff}.service-hero .container{max-width:57.5rem}.back-link{display:inline-block;color:#aee5ca;font-size:0.75rem;font-weight:800;margin-bottom:2.125rem}.service-hero h1{font:800 clamp(2.75rem,6vw,4.5rem)/1.02 Manrope;letter-spacing:-.045em;margin:0 0 1.375rem}.service-hero>div>p:not(.eyebrow){font-size:1.125rem;color:rgba(255,255,255,.76);max-width:47.5rem}.service-detail-grid{display:grid;grid-template-columns:1fr .8fr;gap:4.375rem}.service-detail-grid h2{font:800 2.625rem/1.08 Manrope;margin:0 0 1.5625rem}.detail-list,.deliverable-panel ul{list-style:none;padding:0;margin:0}.detail-list li,.deliverable-panel li{padding:0.8125rem 0 0.8125rem 1.5625rem;border-top:0.0625rem solid var(--line);position:relative}.detail-list li::before,.deliverable-panel li::before{content:"→";position:absolute;left:0;color:var(--green);font-weight:900}.deliverable-panel{background:var(--paper);border-radius:1.5rem;padding:2rem;border:0.0625rem solid var(--line)}.deliverable-panel h3{font:800 1.625rem/1.16 Manrope;margin:0 0 1.25rem}.service-next{padding:3.4375rem 0;background:#edf7f2}.service-next .container{display:flex;align-items:center;justify-content:space-between;gap:1.5625rem}.service-next p{font:800 1.5625rem Manrope;color:var(--navy);margin:0}
@media(max-width:65.625rem){.main-nav{gap:0.875rem;font-size:0.75rem}.services-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:53.75rem){.menu-toggle{display:block;z-index:1002}.main-nav{position:fixed;inset:4.875rem 0 0;background:#fff;display:flex;flex-direction:column;align-items:stretch;padding:1.75rem;gap:0;transform:translateX(100%);transition:.25s;overflow-y:auto}.main-nav.open{transform:none}.main-nav a{padding:1.0625rem 0.25rem;border-bottom:0.0625rem solid var(--line)}.main-nav .btn{margin-top:1rem}.hero{min-height:45rem}.hero-overlay{background:linear-gradient(180deg,rgba(8,30,47,.88),rgba(8,30,47,.97))}.intro-modern,.contact-grid,.service-detail-grid{grid-template-columns:1fr;gap:2.375rem}.circle-system{height:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:0.75rem}.circle-core{position:relative;left:auto;top:auto;transform:none;width:auto;height:auto;border-radius:1.5rem;grid-column:1/-1;min-height:9.375rem}.circle-node{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:auto;min-height:6.5625rem}.orbit-ring{display:none}.impact-metrics{grid-template-columns:repeat(2,1fr)}.cta-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.service-next .container{align-items:flex-start;flex-direction:column}}
@media(max-width:37.5rem){.container{width:min(calc(100% - 1.75rem),var(--container))}.nav-wrap{height:4.375rem}.brand-logo{max-width:11.5625rem;max-height:3rem}.main-nav{inset:4.375rem 0 0}.hero{padding-top:4.375rem;min-height:auto}.hero-content{padding:4.5rem 0 3.625rem}.hero h1{font-size:2.875rem}.hero-lead{font-size:1rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.trust-strip{display:grid;gap:0.75rem}.trust-strip div{grid-template-columns:3.75rem 1fr;align-items:center}.section{padding:4.375rem 0}.section-heading h2,.intro-modern h2,.contact h2{font-size:2.25rem}.services-grid,.trust-grid{grid-template-columns:1fr}.service-card{min-height:13.75rem}.circle-system{grid-template-columns:1fr}.circle-core{grid-column:auto}.impact-metrics{grid-template-columns:1fr}.impact-metrics div{border-left:0;border-top:0.0625rem solid rgba(255,255,255,.11)}.impact-metrics div:first-child{border-top:0}.method-flow{display:grid;grid-template-columns:1fr}.method-flow i{transform:rotate(90deg)}.field-row{grid-template-columns:1fr}.contact-form{padding:1.375rem}.whatsapp-float span{display:none}.whatsapp-float{width:3.5rem;height:3.5rem;border-radius:50%;padding:0;justify-content:center}.service-hero{padding:8.125rem 0 4.375rem}.service-hero h1{font-size:2.75rem}.service-next p{font-size:1.375rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn:hover,.service-card:hover,.circle-node:hover{transform:none}}
/* =========================
   UX + visual upgrades
   ========================= */
.trust-strip-animated div{animation:liftIn .8s ease both}
.trust-strip-animated div:nth-child(2){animation-delay:.12s}
.trust-strip-animated div:nth-child(3){animation-delay:.24s}
.intro-points-compact span{box-shadow:0 0.625rem 1.625rem rgba(16,42,64,.06)}
.hero-content{max-width:47.5rem}
.hero::after{content:"";position:absolute;right:-5rem;top:7.5rem;width:20rem;height:20rem;border-radius:50%;background:radial-gradient(circle,rgba(126,224,183,.16),rgba(126,224,183,0));filter:blur(0.5rem);animation:floatOrb 9s ease-in-out infinite;pointer-events:none;z-index:0}
.hero-content,.hero-grid{position:relative;z-index:1}

/* Compact sustainability */
.sustainability-compact-wrap{max-width:70rem}
.eco-compact{margin-top:2.125rem;display:grid;grid-template-columns:1.05fr .95fr;gap:1.5rem;align-items:center}
.eco-compact-visual{padding:1.75rem;border-radius:1.75rem;background:linear-gradient(145deg,#f5fbf8,#eef6f2);border:0.0625rem solid rgba(17,163,106,.12);box-shadow:0 1.125rem 2.875rem rgba(16,42,64,.06)}
.eco-pyramid{position:relative;max-width:35rem;margin:0 auto;display:grid;justify-items:center;gap:0.875rem}
.eco-row{display:flex;gap:0.875rem;justify-content:center;width:100%}
.eco-box{position:relative;display:grid;gap:0.25rem;place-items:center;text-align:center;min-width:10.3125rem;padding:1.125rem 1rem;border-radius:1.125rem;background:#fff;border:0.0625rem solid var(--line);box-shadow:0 0.875rem 2.125rem rgba(16,42,64,.08);transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;color:var(--navy);animation:softPulse 5.5s ease-in-out infinite}
.eco-box:hover{transform:translateY(-0.3125rem);box-shadow:0 1.25rem 2.625rem rgba(16,42,64,.13);border-color:rgba(17,163,106,.35)}
.eco-box small{font-size:0.625rem;font-weight:900;letter-spacing:.12em;color:var(--green)}
.eco-box strong{font:800 1.0625rem/1.1 Manrope}
.eco-top{min-width:13.125rem}
.eco-box.featured{background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#fff;border-color:transparent;animation-delay:.4s}
.eco-box.featured small{color:#7ee0b7}
.eco-row:nth-of-type(2) .eco-box:first-child{animation-delay:.18s}
.eco-row:nth-of-type(3) .eco-box:first-child{animation-delay:.28s}
.eco-row:nth-of-type(3) .eco-box:last-child{animation-delay:.36s}
.eco-connector{position:absolute;height:0.125rem;background:linear-gradient(90deg,rgba(17,163,106,.05),rgba(17,163,106,.5),rgba(17,163,106,.05));transform-origin:left center;animation:connectorPulse 2.6s ease-in-out infinite}
.c-1{top:5.25rem;left:50%;width:0.125rem;height:1.375rem;transform:translateX(-50%);background:linear-gradient(180deg,rgba(17,163,106,.05),rgba(17,163,106,.55),rgba(17,163,106,.05))}
.c-2{top:9.625rem;left:11.5rem;width:6.125rem;transform:rotate(-26deg)}
.c-3{top:9.625rem;right:11.5rem;width:6.125rem;transform:rotate(26deg)}
.c-4{display:none}
.eco-compact-copy{display:grid;gap:1rem;align-content:center}
.eco-mini-card{padding:1.625rem;border-radius:1.5rem;background:linear-gradient(145deg,#102a40,#143a56);box-shadow:0 1.125rem 2.875rem rgba(16,42,64,.14)}
.eco-mini-card strong{display:block;font:800 1.5rem/1.12 Manrope;color:#fff;margin-bottom:0.625rem}
.eco-mini-card p{margin:0;color:rgba(255,255,255,.72)}
.eco-mini-metrics{display:flex;flex-wrap:wrap;gap:0.625rem}
.eco-mini-metrics span{padding:0.75rem 0.875rem;border-radius:62.4375rem;background:#fff;border:0.0625rem solid rgba(17,163,106,.15);box-shadow:0 0.625rem 1.625rem rgba(16,42,64,.06);font-size:0.8125rem;font-weight:800;color:var(--navy)}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2.625rem}
.gallery-card{position:relative;display:block;overflow:hidden;min-height:16.25rem;border-radius:1.5rem;background:#dfe8ee;box-shadow:0 1rem 2.375rem rgba(16,42,64,.08)}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease, filter .45s ease;display:block}
.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,30,47,.06) 0%,rgba(8,30,47,.16) 45%,rgba(8,30,47,.82) 100%)}
.gallery-card:hover img{transform:scale(1.06);filter:saturate(1.05)}
.gallery-chip{position:absolute;top:0.875rem;left:0.875rem;z-index:2;padding:0.5rem 0.75rem;border-radius:62.4375rem;background:rgba(255,255,255,.92);font-size:0.6875rem;font-weight:800;letter-spacing:.06em;color:var(--navy);text-transform:uppercase}
.gallery-overlay{position:absolute;left:1.125rem;right:1.125rem;bottom:1rem;z-index:2;color:#fff}
.gallery-overlay strong{font:800 1.5rem/1.08 Manrope;display:block;max-width:17.5rem}
.gallery-modal{position:fixed;inset:0;z-index:2000;background:rgba(5,16,27,.78);backdrop-filter:blur(0.5rem);display:grid;place-items:center;padding:1.375rem;opacity:0;pointer-events:none;transition:opacity .25s ease}
.gallery-modal.open{opacity:1;pointer-events:auto}
.gallery-modal-dialog{width:min(61.25rem,100%);background:#fff;border-radius:1.625rem;overflow:hidden;box-shadow:0 1.5rem 5rem rgba(0,0,0,.28);display:grid;grid-template-columns:1.2fr .8fr}
.gallery-modal-image{width:100%;height:100%;min-height:23.75rem;object-fit:cover;background:#edf2f5}
.gallery-modal-copy{padding:1.875rem;display:grid;align-content:center;gap:0.875rem}
.gallery-modal-title{margin:0;font:800 2.125rem/1.08 Manrope;color:var(--navy)}
.gallery-modal-caption{margin:0;color:var(--muted);font-size:1rem;line-height:1.65}
.gallery-modal-close{position:absolute;right:1.5rem;top:1.125rem;width:2.875rem;height:2.875rem;border-radius:50%;border:0;background:#fff;color:var(--navy);font-size:1.875rem;line-height:1;box-shadow:0 0.625rem 1.625rem rgba(0,0,0,.18);cursor:pointer}

/* Keyframes */
@keyframes liftIn{from{opacity:0;transform:translateY(0.875rem)}to{opacity:1;transform:none}}
@keyframes floatOrb{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,1.125rem,0)}}
@keyframes softPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-0.25rem)}}
@keyframes connectorPulse{0%,100%{opacity:.45}50%{opacity:1}}

/* Responsive refinements */
@media(max-width:65.625rem){
  .eco-compact{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-modal-dialog{grid-template-columns:1fr}
  .gallery-modal-image{min-height:18.75rem;max-height:26.25rem}
}
@media(max-width:53.75rem){
  .eco-pyramid{max-width:100%}
  .c-2,.c-3{display:none}
}
@media(max-width:37.5rem){
  .eco-compact-visual{padding:1.375rem}
  .eco-row{flex-direction:column}
  .eco-box,.eco-top{min-width:0;width:100%}
  .c-1{display:none}
  .eco-mini-card strong{font-size:1.375rem}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-card{min-height:14.375rem}
  .gallery-overlay strong{font-size:1.375rem}
  .gallery-modal-copy{padding:1.5rem}
  .gallery-modal-title{font-size:1.75rem}
}


/* Sustainability section with image */
.sustainability-showcase{margin-top:2.125rem;display:grid;grid-template-columns:1.25fr .75fr;gap:1.5rem;align-items:center}
.sustainability-image-card{background:#fff;border:0.0625rem solid rgba(17,163,106,.12);border-radius:1.75rem;padding:1.125rem;box-shadow:0 1.125rem 2.875rem rgba(16,42,64,.08);overflow:hidden}
.sustainability-image-card img{display:block;width:100%;height:auto;border-radius:1.125rem}

/* Gallery featured card */
.featured-gallery-card{grid-column:span 2;min-height:21.25rem}
.featured-gallery-card .gallery-overlay strong{max-width:22.5rem}

@media(max-width:65.625rem){
  .sustainability-showcase{grid-template-columns:1fr}
  .featured-gallery-card{grid-column:auto;min-height:17.5rem}
}
@media(max-width:37.5rem){
  .sustainability-image-card{padding:0.75rem;border-radius:1.375rem}
}


/* SEO + commercial visual upgrade */
.seo-solutions{padding:4.875rem 0;background:linear-gradient(180deg,#fff,#f4f8fa)}
.seo-solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.875rem;margin-top:2.375rem}
.seo-solution-card{position:relative;min-height:9.375rem;padding:1.5rem;border-radius:1.25rem;background:#fff;border:0.0625rem solid var(--line);box-shadow:0 0.875rem 2.125rem rgba(16,42,64,.06);display:grid;align-content:start;gap:0.5625rem;transition:.22s}
.seo-solution-card:hover{transform:translateY(-0.3125rem);border-color:rgba(17,163,106,.3);box-shadow:0 1.375rem 2.75rem rgba(16,42,64,.11)}
.seo-solution-card span{font-size:0.625rem;font-weight:900;color:var(--green);letter-spacing:.12em}
.seo-solution-card strong{font:800 1.3125rem/1.15 Manrope;color:var(--navy)}
.seo-solution-card small{font-size:0.75rem;color:var(--muted);line-height:1.45}
.seo-service-hero h1{max-width:56.25rem}
.hero .eyebrow{max-width:50rem}
.hero-lead{max-width:47.5rem}
@media(max-width:56.25rem){.seo-solution-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:37.5rem){.seo-solutions{padding:3.875rem 0}.seo-solution-grid{grid-template-columns:1fr}.seo-solution-card{min-height:auto}}


/* =========================================================
   MOBILE-FIRST REFINEMENTS · Alerce Industrial
   Optimizado para smartphone, touch y pantallas pequeñas
   ========================================================= */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 4.75rem;
}
body {
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img {
  max-width: 100%;
  height: auto;
}
a, button, input, select, textarea {
  -webkit-tap-highlight-color: transparent;
}

/* Tablet / notebook compacto */
@media (max-width: 67.5rem) {
  .container {
    width: min(calc(100% - 2.5rem), var(--container));
  }
  .main-nav {
    gap: 0.875rem;
  }
  .main-nav > a:not(.btn) {
    font-size: 0.75rem;
  }
  .brand-logo {
    max-width: 12.8125rem;
  }
}

/* Smartphone + tablet vertical */
@media (max-width: 53.75rem) {
  .site-header {
    background: rgba(255,255,255,.97);
    backdrop-filter: blur(0.875rem);
  }

  .nav-wrap {
    height: 4.375rem;
  }

  .brand {
    min-width: 0;
    max-width: calc(100% - 4rem);
  }

  .brand-logo {
    width: auto;
    max-width: 11.25rem;
    max-height: 2.875rem;
    object-fit: contain;
  }

  .menu-toggle {
    display: block;
    position: relative;
    z-index: 1003;
    min-width: 2.875rem;
    min-height: 2.875rem;
    padding: 0.625rem;
    border-radius: 0.75rem;
  }

  .main-nav {
    inset: 4.375rem 0 0;
    padding: 1.25rem 1.375rem max(1.875rem, env(safe-area-inset-bottom));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: rgba(255,255,255,.99);
  }

  .main-nav a {
    min-height: 3.125rem;
    display: flex;
    align-items: center;
    font-size: 1rem !important;
    padding: 0.875rem 0.375rem;
  }

  .main-nav .btn {
    margin-top: 0.875rem;
    width: 100%;
    min-height: 3.125rem;
  }

  .hero {
    min-height: auto;
    padding-top: 4.375rem;
  }

  .hero-media {
    background-position: 60% center;
  }

  .hero-overlay {
    background:
      linear-gradient(180deg, rgba(8,30,47,.78) 0%, rgba(8,30,47,.92) 55%, rgba(8,30,47,.98) 100%);
  }

  .hero-content {
    padding: 4rem 0 3.125rem;
    max-width: 100%;
  }

  .hero h1 {
    font-size: clamp(2.5rem, 10.5vw, 3.5rem);
    line-height: 1.02;
    letter-spacing: -.035em;
  }

  .hero-lead {
    font-size: 1rem;
    line-height: 1.58;
    margin: 1.375rem 0 1.75rem;
    max-width: 100%;
  }

  .eyebrow {
    line-height: 1.5;
    letter-spacing: .12em;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .hero-actions .btn {
    width: 100%;
    min-height: 3.125rem;
  }

  .trust-strip {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.625rem;
    margin-top: 2.125rem;
    padding-top: 1.25rem;
  }

  .trust-strip > div {
    display: grid;
    grid-template-columns: 4rem 1fr;
    align-items: center;
    gap: 0.625rem;
    padding: 0.5rem 0;
  }

  .trust-strip strong {
    font-size: 1.125rem;
  }

  .section {
    padding: 4rem 0;
  }

  .section-heading {
    max-width: 100%;
  }

  .section-heading h2,
  .intro-modern h2,
  .contact h2 {
    font-size: clamp(2rem, 8vw, 2.5rem);
    line-height: 1.08;
  }

  .section-heading > p:last-child {
    font-size: 0.9375rem;
  }

  .intro-modern,
  .contact-grid,
  .service-detail-grid,
  .cta-grid {
    grid-template-columns: 1fr !important;
    gap: 1.875rem;
  }

  .intro-points {
    gap: 0.5rem;
  }

  .intro-points span {
    flex: 1 1 calc(50% - 0.5rem);
    text-align: center;
    min-height: 2.75rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .services-grid,
  .trust-grid,
  .solution-grid,
  .gallery-grid {
    grid-template-columns: 1fr !important;
  }

  .service-card {
    min-height: auto;
    padding: 1.5rem 1.375rem;
  }

  .service-card h3 {
    font-size: 1.375rem;
    padding-right: 2rem;
  }

  .service-card p {
    font-size: 0.875rem;
    line-height: 1.55;
  }

  .service-arrow {
    top: 1.125rem;
    right: 1.125rem;
  }

  .sustainability-showcase,
  .eco-compact {
    grid-template-columns: 1fr !important;
    gap: 1.125rem;
  }

  .sustainability-image-card {
    padding: 0.625rem;
    border-radius: 1.25rem;
  }

  .sustainability-image-card img {
    border-radius: 0.875rem;
  }

  .eco-mini-card {
    padding: 1.375rem;
  }

  .eco-mini-card strong {
    font-size: 1.375rem;
  }

  .eco-mini-metrics {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.5rem;
  }

  .eco-mini-metrics span {
    width: 100%;
    text-align: center;
    padding: 0.6875rem 0.5rem;
    font-size: 0.75rem;
  }

  .gallery-card,
  .featured-gallery-card {
    grid-column: auto !important;
    min-height: 13.75rem;
    border-radius: 1.125rem;
  }

  .gallery-overlay strong {
    font-size: 1.3125rem;
  }

  .gallery-chip {
    font-size: 0.625rem;
    padding: 0.4375rem 0.625rem;
  }

  .gallery-modal {
    padding: 0.75rem;
  }

  .gallery-modal-dialog {
    width: 100%;
    max-height: 88vh;
    overflow-y: auto;
    grid-template-columns: 1fr;
    border-radius: 1.125rem;
  }

  .gallery-modal-image {
    min-height: 13.75rem;
    max-height: 48vh;
  }

  .gallery-modal-copy {
    padding: 1.375rem;
  }

  .gallery-modal-title {
    font-size: 1.625rem;
  }

  .gallery-modal-close {
    right: 0.875rem;
    top: 0.75rem;
    width: 2.625rem;
    height: 2.625rem;
  }

  .method-flow {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .method-flow div {
    width: 100%;
    min-width: 0;
    padding: 1rem;
  }

  .method-flow i {
    transform: rotate(90deg);
    line-height: 1;
    text-align: center;
  }

  .trust-grid {
    gap: 0.75rem;
  }

  .trust-grid article {
    padding: 1.5rem 1.375rem;
  }

  .cta-strip {
    padding: 3.125rem 0;
  }

  .cta-grid .btn {
    width: 100%;
    min-height: 3.125rem;
  }

  .contact-grid {
    gap: 1.75rem;
  }

  .contact-form {
    padding: 1.25rem;
    border-radius: 1.125rem;
  }

  .field-row {
    grid-template-columns: 1fr !important;
    gap: 0;
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea {
    font-size: 1rem; /* evita zoom automático en iOS */
    min-height: 3rem;
  }

  .contact-form textarea {
    min-height: 8.125rem;
  }

  .contact-direct {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }

  .contact-direct a {
    min-height: 2.75rem;
    display: flex;
    align-items: center;
    width: max-content;
  }

  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem;
    text-align: left;
  }

  .footer-meta {
    text-align: left;
  }

  .footer-logo {
    max-width: 11.875rem;
  }

  .whatsapp-float {
    width: 3.5rem;
    height: 3.5rem;
    min-width: 3.5rem;
    min-height: 3.5rem;
    right: 0.875rem;
    bottom: calc(0.875rem + env(safe-area-inset-bottom));
    border-radius: 50%;
    padding: 0;
    justify-content: center;
  }

  .whatsapp-label {
    display: none;
  }

  /* páginas de servicio */
  .service-hero {
    padding: 7.375rem 0 3.625rem;
  }

  .service-hero h1 {
    font-size: clamp(2.375rem, 10vw, 3.125rem);
    line-height: 1.04;
  }

  .service-hero > div > p:not(.eyebrow) {
    font-size: 1rem;
    line-height: 1.6;
  }

  .service-detail-grid h2 {
    font-size: 2rem;
  }

  .deliverable-panel {
    padding: 1.5rem 1.25rem;
  }

  .service-next {
    padding: 2.625rem 0;
  }

  .service-next .container {
    flex-direction: column;
    align-items: stretch;
  }

  .service-next .btn {
    width: 100%;
  }
}

/* Teléfonos pequeños */
@media (max-width: 26.875rem) {
  .container {
    width: min(calc(100% - 1.5rem), var(--container));
  }

  .brand-logo {
    max-width: 9.875rem;
  }

  .hero h1 {
    font-size: 2.4375rem;
  }

  .hero-content {
    padding: 3.5rem 0 2.75rem;
  }

  .section {
    padding: 3.5rem 0;
  }

  .section-heading h2,
  .intro-modern h2,
  .contact h2 {
    font-size: 1.9375rem;
  }

  .intro-points span {
    flex-basis: 100%;
  }

  .eco-mini-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .service-card {
    padding: 1.375rem 1.125rem;
  }

  .gallery-card {
    min-height: 12.8125rem;
  }
}

@media (max-width: 22.5rem) {
  .hero h1 {
    font-size: 2.1875rem;
  }

  .brand-logo {
    max-width: 9.0625rem;
  }

  .eco-mini-metrics {
    grid-template-columns: 1fr;
  }
}

/* Touch devices: targets mínimos accesibles */
@media (hover: none) and (pointer: coarse) {
  .btn,
  .main-nav a,
  .service-card,
  .contact-direct a {
    min-height: 2.75rem;
  }

  .service-card:hover,
  .gallery-card:hover img,
  .trust-grid article:hover {
    transform: none;
  }
}


/* ===== Enterprise UI refinement ===== */
:root{--soft:#f3f6f8;--board:#f7f8fa;--shadow-lg:0 1.5rem 4rem rgba(16,42,64,.10);--shadow-md:0 1rem 2.5rem rgba(16,42,64,.08)}
body{background:#fff}
.section{padding:4.5rem 0}
.site-header{backdrop-filter:blur(0.875rem)}
.header-meta{display:flex;justify-content:space-between;align-items:center;gap:1.125rem;padding:0.625rem 0 0.125rem;font-size:0.75rem;color:#5f7180}
.header-meta-left{display:flex;gap:1.125rem;align-items:center;flex-wrap:wrap}
.header-meta-left a{font-weight:800;color:var(--navy)}
.header-meta-left span{display:inline-flex;align-items:center;gap:0.5rem}
.header-meta-right,.footer-socials,.hero-social-icons,.contact-social-row{display:flex;align-items:center;gap:0.625rem}
.social-icon{width:2.375rem;height:2.375rem;border-radius:50%;border:0.0625rem solid rgba(16,42,64,.15);display:inline-flex;align-items:center;justify-content:center;color:var(--navy);background:#fff;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.social-icon svg{width:1.125rem;height:1.125rem;fill:currentColor}
.social-icon:hover{transform:translateY(-0.1875rem) scale(1.03);box-shadow:0 0.875rem 1.75rem rgba(16,42,64,.12);border-color:rgba(16,42,64,.28)}
.hero{min-height:48.75rem}
.enterprise-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:1.75rem}
.hero-content{padding-bottom:4.25rem}
.hero-lead{max-width:45rem}
.compact-trust-strip{margin-top:1.75rem;max-width:45rem}
.hero-enterprise-panel{display:grid;gap:1rem;margin-bottom:3.25rem}
.hero-panel-card{background:rgba(255,255,255,.96);border:0.0625rem solid rgba(255,255,255,.42);border-radius:1.625rem;padding:1.625rem;box-shadow:var(--shadow-lg)}
.panel-label{display:inline-flex;padding:0.4375rem 0.6875rem;border-radius:62.4375rem;background:var(--soft);font-size:0.6875rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--green)}
.panel-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:0.75rem}
.panel-list li{position:relative;padding-left:1.125rem;color:var(--navy);font-weight:600}
.panel-list li::before{content:"";position:absolute;left:0;top:.65em;width:0.5rem;height:0.5rem;border-radius:50%;background:var(--green)}
.hero-contact-link{display:block;font:800 1.875rem/1.05 Manrope;color:var(--navy);margin-top:0.875rem}
.hero-contact-address{margin:0.625rem 0 0.875rem;color:var(--muted);font-size:0.9375rem}
.intro-modern{padding:2.25rem 2.375rem;border:0.0625rem solid var(--line);border-radius:1.75rem;box-shadow:var(--shadow-md);background:#fff}
.alt-board{background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%)}
.enterprise-board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.125rem;margin-top:2.25rem}
.board-card{padding:1.75rem;border:0.0625rem solid var(--line);border-radius:1.5rem;background:#fff;box-shadow:var(--shadow-md);transition:transform .22s ease, box-shadow .22s ease}
.board-card:hover{transform:translateY(-0.375rem);box-shadow:var(--shadow-lg)}
.board-card span{display:inline-flex;width:2.125rem;height:2.125rem;border-radius:0.625rem;background:#eef5f1;color:var(--green);align-items:center;justify-content:center;font-size:0.6875rem;font-weight:900;margin-bottom:1rem}
.board-card h3{font:800 1.4375rem/1.12 Manrope;margin:0 0 0.625rem;color:var(--navy)}
.board-card p{margin:0;color:var(--muted);font-size:0.875rem;line-height:1.6}
.seo-solution-grid,.services-grid{gap:1.125rem}
.seo-solution-card,.service-card,.trust-grid article{border-radius:1.5rem;box-shadow:var(--shadow-md)}
.service-card,.seo-solution-card{background:#fff}
.sustainability-showcase,.gallery-grid,.contact-grid{margin-top:2.25rem}
.pro-contact-grid{grid-template-columns:.95fr 1.05fr;gap:1.75rem;align-items:start}
.contact-quick-grid{display:grid;gap:0.875rem}
.contact-info-card{display:grid;grid-template-columns:2.875rem 1fr;gap:0.875rem;padding:1.25rem 1.375rem;border-radius:1.375rem;border:0.0625rem solid var(--line);background:#fff;box-shadow:var(--shadow-md)}
.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:2.875rem;height:2.875rem;border-radius:0.875rem;background:#f0f5f8;color:var(--navy);font-size:1.25rem;font-weight:700}
.contact-info-card strong{display:block;font:800 1.0625rem/1.1 Manrope;color:var(--navy);margin-bottom:0.375rem}
.contact-info-card a,.contact-info-card p{margin:0;color:var(--muted);font-size:0.9375rem}
.contact-info-card a{font-weight:700;color:var(--navy)}
.social-card .contact-icon{font-size:1rem}
.contact-helper{margin-top:1.125rem;color:var(--muted);max-width:33.75rem}
.contact-form{box-shadow:var(--shadow-md)}
.footer-pro-grid{grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center}
.footer-address{color:rgba(255,255,255,.65)}
.pro-footer-meta{display:grid;gap:0.625rem;justify-items:end}
.footer-socials .social-icon{background:transparent;border-color:rgba(255,255,255,.18);color:#fff}
.footer-socials .social-icon:hover{box-shadow:none;border-color:rgba(255,255,255,.40)}
.gallery-card,.featured-gallery-card,.sustainability-image-card,.eco-mini-card{box-shadow:var(--shadow-md)}

@media (max-width:68.75rem){
  .enterprise-hero-grid,.pro-contact-grid,.enterprise-board-grid{grid-template-columns:1fr}
  .hero-enterprise-panel{margin-bottom:3rem}
}
@media (max-width:53.75rem){
  .header-meta{padding:0.625rem 0 0;align-items:flex-start;flex-direction:column}
  .header-meta-right{display:none}
  .service-meta-bar{display:none}
  .enterprise-board-grid{grid-template-columns:1fr}
  .intro-modern{padding:1.75rem 1.5rem}
}
@media (max-width:37.5rem){
  .section{padding:3.625rem 0}
  .hero{min-height:auto}
  .enterprise-hero-grid{gap:1.125rem}
  .hero-content{padding-bottom:1.75rem}
  .hero-panel-card{padding:1.25rem;border-radius:1.25rem}
  .hero-contact-link{font-size:1.5rem}
  .contact-quick-grid{gap:0.625rem}
  .contact-info-card{padding:1.125rem 1.125rem;grid-template-columns:2.5rem 1fr}
  .contact-icon{width:2.5rem;height:2.5rem;border-radius:0.75rem;font-size:1.125rem}
  .social-icon{width:2.25rem;height:2.25rem}
  .footer-pro-grid{grid-template-columns:1fr}
  .pro-footer-meta{justify-items:start}
}


/* =========================================================
   Contacto discreto · interfaz ejecutiva
   ========================================================= */
.header-meta,
.service-meta-bar {
  display: none !important;
}

.site-header .nav-wrap {
  min-height: 4.875rem;
}

.hero-enterprise-panel {
  align-self: end;
  max-width: 27.5rem;
  margin-left: auto;
}

.hero-enterprise-panel .hero-panel-card {
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(0.75rem);
}

.contact-mini-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem 1.125rem;
  padding: 0.875rem 1rem;
  margin-bottom: 1.25rem;
  border: 0.0625rem solid var(--line);
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 0.5rem 1.5rem rgba(16,42,64,.05);
}

.contact-mini-bar > a {
  font-weight: 800;
  color: var(--navy);
}

.contact-mini-bar > span {
  color: var(--muted);
  font-size: 0.875rem;
}

.contact-mini-socials {
  display: flex;
  gap: 0.5rem;
  margin-left: auto;
}

.contact-mini-socials .social-icon {
  width: 2.125rem;
  height: 2.125rem;
  border-color: rgba(16,42,64,.12);
  background: transparent;
}

.contact-note {
  padding: 1.375rem 1.5rem;
  border-radius: 1.25rem;
  background: #f7f9fa;
  border: 0.0625rem solid var(--line);
}

.contact-note strong {
  display: block;
  font: 800 1.25rem/1.15 Manrope;
  color: var(--navy);
  margin-bottom: 0.5rem;
}

.contact-note p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.footer-address {
  display: inline-block;
  margin-top: 0.375rem;
  font-size: 0.75rem;
  color: rgba(255,255,255,.56);
}

.footer-socials .social-icon {
  width: 2.125rem;
  height: 2.125rem;
  opacity: .78;
}

.footer-socials .social-icon:hover {
  opacity: 1;
}

@media (max-width: 53.75rem) {
  .site-header .nav-wrap {
    min-height: 4.375rem;
  }

  .hero-enterprise-panel {
    max-width: 100%;
    margin-left: 0;
  }

  .contact-mini-bar {
    align-items: flex-start;
  }

  .contact-mini-socials {
    margin-left: 0;
  }
}

@media (max-width: 37.5rem) {
  .contact-mini-bar {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.5rem 0.75rem;
    padding: 0.875rem;
  }

  .contact-mini-bar > span {
    grid-column: 1 / -1;
  }

  .contact-mini-socials {
    grid-column: 2;
    grid-row: 1;
  }

  .footer-address {
    line-height: 1.6;
  }
}


/* =========================================================
   Datos de contacto con títulos claros
   ========================================================= */
.contact-details-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-bottom: 1.125rem;
}

.contact-detail-item {
  padding: 1.125rem 1.25rem;
  border: 0.0625rem solid var(--line);
  border-radius: 1.125rem;
  background: #fff;
  box-shadow: 0 0.5rem 1.5rem rgba(16,42,64,.05);
  display: grid;
  gap: 0.375rem;
}

.contact-detail-social {
  grid-column: 1 / -1;
  grid-template-columns: 1fr auto;
  align-items: center;
}

.contact-detail-title {
  font-size: 0.6875rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--green);
}

.contact-detail-value {
  font: 800 1.125rem/1.2 Manrope, sans-serif;
  color: var(--navy);
}

a.contact-detail-value:hover {
  color: var(--green);
}

.contact-detail-social .contact-mini-socials {
  margin-left: 0;
}

@media (max-width: 37.5rem) {
  .contact-details-grid {
    grid-template-columns: 1fr;
  }

  .contact-detail-social {
    grid-column: auto;
    grid-template-columns: 1fr auto;
  }

  .contact-detail-value {
    font-size: 1.0625rem;
  }
}


/* =========================================================
   RESPONSIVE SMARTPHONE FINAL · breakpoint menor a 48rem
   ========================================================= */
:root{
  --touch-target:3rem;
  --mobile-radius:1.125rem;
}
html{font-size:100%;scroll-padding-top:4.5rem}
body{width:100%;max-width:100%;overflow-x:hidden}
.container{width:min(92%,var(--container))}

button,.btn,.main-nav a,.social-icon,.whatsapp-float,.gallery-modal-close{
  min-width:var(--touch-target);
  min-height:var(--touch-target);
}

/* Hamburguesa accesible y animada */
.menu-toggle{
  width:var(--touch-target);
  height:var(--touch-target);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:.3125rem;
  border-radius:.75rem;
  cursor:pointer;
}
.menu-toggle span{
  width:1.5rem;
  height:.125rem;
  margin:0;
  transform-origin:center;
  transition:transform .22s ease,opacity .22s ease;
}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(.4375rem) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-.4375rem) rotate(-45deg)}

@media (max-width:47.9375rem){
  .container{width:calc(100% - 2rem)}
  .section{padding-block:clamp(3.25rem,10vw,4.5rem)}

  /* Navegación móvil */
  .site-header .nav-wrap{height:4.5rem;min-height:4.5rem}
  .brand{max-width:calc(100% - 4rem)}
  .brand-logo{max-width:min(10.5rem,58vw);max-height:2.75rem}
  .menu-toggle{display:flex;position:relative;z-index:1003;flex:0 0 var(--touch-target)}
  .main-nav{
    position:fixed;
    inset:4.5rem 0 0;
    z-index:1002;
    width:100%;
    height:calc(100dvh - 4.5rem);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:1rem max(1rem,env(safe-area-inset-right)) max(1.5rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));
    background:rgba(255,255,255,.99);
    overflow-y:auto;
    overscroll-behavior:contain;
    transform:translateX(100%);
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transition:transform .28s ease,opacity .2s ease,visibility .28s;
  }
  .main-nav.open{transform:translateX(0);visibility:visible;opacity:1;pointer-events:auto}
  .main-nav a{
    width:100%;
    min-height:var(--touch-target);
    padding:.875rem .5rem;
    border-bottom:.0625rem solid var(--line);
    font-size:1rem!important;
    line-height:1.35;
  }
  .main-nav a::after{display:none}
  .main-nav .btn{width:100%;margin-top:1rem}

  /* Hero */
  .hero{min-height:auto;padding-top:4.5rem}
  .enterprise-hero-grid,.hero-grid{grid-template-columns:1fr!important;gap:1.25rem}
  .hero-content{width:100%;max-width:100%;padding-block:clamp(3.5rem,14vw,5rem) 2rem}
  .hero h1{font-size:clamp(2.3rem,10vw,3.25rem);line-height:1.04;letter-spacing:-.035em}
  .hero-lead{font-size:clamp(1rem,4vw,1.125rem);line-height:1.6;margin-block:1.25rem 1.5rem}
  .eyebrow{font-size:.6875rem;line-height:1.5;letter-spacing:.12em}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:.75rem}
  .hero-actions .btn{width:100%}
  .trust-strip,.compact-trust-strip{display:grid;grid-template-columns:1fr;gap:.5rem;margin-top:1.5rem;padding-top:1rem}
  .trust-strip>div{grid-template-columns:4rem 1fr;align-items:center;min-height:var(--touch-target)}
  .hero-enterprise-panel{width:100%;max-width:100%;margin:0 0 2rem}
  .hero-panel-card{padding:1.25rem;border-radius:var(--mobile-radius)}

  /* Tipografía móvil */
  .section-heading,.section-heading.centered{max-width:100%}
  .section-heading.centered{margin-bottom:2rem}
  .section-heading h2,.intro-modern h2,.cta-strip h2,.contact h2,.service-detail-grid h2{
    font-size:clamp(1.9rem,8vw,2.5rem);
    line-height:1.1;
    letter-spacing:-.025em;
  }
  .section-heading>p:last-child{font-size:.9375rem;line-height:1.6}

  /* Todas las grillas principales en una columna */
  .intro-modern,.enterprise-board-grid,.seo-solution-grid,.services-grid,
  .sustainability-showcase,.eco-compact,.gallery-grid,.trust-grid,
  .contact-grid,.pro-contact-grid,.service-detail-grid,.cta-grid,
  .footer-grid,.footer-pro-grid{
    grid-template-columns:1fr!important;
    gap:1rem;
  }

  .intro-modern{padding:1.375rem}
  .intro-points{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
  .intro-points span{
    min-height:var(--touch-target);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:.75rem;
    text-align:center;
  }

  /* Tarjetas */
  .seo-solution-card,.service-card,.board-card,.trust-grid article{
    width:100%;
    min-height:auto;
    padding:1.25rem;
    border-radius:var(--mobile-radius);
  }
  .service-card h3,.board-card h3{font-size:1.25rem}
  .service-arrow{width:var(--touch-target);height:var(--touch-target);right:.875rem;top:.875rem}

  /* Sostenibilidad */
  .sustainability-image-card,.eco-mini-card{padding:.875rem;border-radius:var(--mobile-radius)}
  .eco-mini-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
  .eco-mini-metrics span{
    min-height:var(--touch-target);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:.625rem;
  }

  /* Galería */
  .gallery-card,.featured-gallery-card{
    grid-column:auto!important;
    width:100%;
    min-height:min(58vw,16rem);
    border-radius:var(--mobile-radius);
  }
  .gallery-card img{width:100%;height:100%;object-fit:cover}
  .gallery-modal{padding:.75rem}
  .gallery-modal-dialog{
    width:100%;
    max-height:90dvh;
    grid-template-columns:1fr;
    overflow-y:auto;
    border-radius:var(--mobile-radius);
  }
  .gallery-modal-image{min-height:14rem;max-height:48dvh}
  .gallery-modal-copy{padding:1.25rem}
  .gallery-modal-title{font-size:1.6rem}

  /* Flujo */
  .method-flow{display:grid;grid-template-columns:1fr;gap:.5rem}
  .method-flow div{width:100%;min-width:0;min-height:var(--touch-target);padding:1rem}
  .method-flow i{transform:rotate(90deg);text-align:center}

  /* Contacto/formulario */
  .contact-details-grid{grid-template-columns:1fr;gap:.75rem}
  .contact-detail-social{grid-column:auto}
  .contact-detail-item{padding:1rem}
  .contact-form{width:100%;padding:1.125rem;border-radius:var(--mobile-radius)}
  .field-row{grid-template-columns:1fr!important;gap:0}
  .contact-form input,.contact-form select,.contact-form textarea{
    width:100%;
    min-height:var(--touch-target);
    padding:.875rem;
    border-radius:.75rem;
    font-size:1rem;
  }
  .contact-form textarea{min-height:8rem;resize:vertical}

  /* Footer y WhatsApp */
  .footer-grid,.footer-pro-grid{text-align:left}
  .pro-footer-meta{justify-items:start}
  .footer-logo{max-width:min(11rem,62vw)}
  .whatsapp-float{
    width:var(--touch-target);
    height:var(--touch-target);
    right:max(.875rem,env(safe-area-inset-right));
    bottom:max(.875rem,env(safe-area-inset-bottom));
    padding:0;
    border-radius:50%;
    justify-content:center;
  }
  .whatsapp-label{display:none}

  /* Páginas internas */
  .service-hero{padding:7.5rem 0 3.5rem}
  .service-hero h1{font-size:clamp(2.25rem,10vw,3rem)}
  .service-hero>div>p:not(.eyebrow){font-size:1rem;line-height:1.65}
  .deliverable-panel{padding:1.25rem;border-radius:var(--mobile-radius)}
  .service-next{padding-block:2.5rem}
  .service-next .container{display:grid;grid-template-columns:1fr;gap:1rem}
  .service-next .btn{width:100%}
}

@media (max-width:30rem){
  .container{width:calc(100% - 1.5rem)}
  .hero h1{font-size:clamp(2rem,10vw,2.6rem)}
  .intro-points,.eco-mini-metrics{grid-template-columns:1fr}
}

@media (hover:none) and (pointer:coarse){
  .btn:hover,.service-card:hover,.seo-solution-card:hover,
  .board-card:hover,.gallery-card:hover img,.social-icon:hover{
    transform:none;
  }
}


/* =========================================================
   MOBILE MENU · Drawer premium
   ========================================================= */
.mobile-menu-backdrop{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(5,18,29,.58);
  backdrop-filter:blur(.25rem);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}
.mobile-menu-backdrop.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.mobile-nav-head,.mobile-nav-footer{display:none}

@media (max-width:47.9375rem){
  body.menu-open{overflow:hidden;touch-action:none}
  .site-header{z-index:1100}

  .main-nav{
    inset:0 0 0 auto;
    width:min(88vw,23.5rem);
    height:100dvh;
    padding:max(1rem,env(safe-area-inset-top)) 1rem max(1.25rem,env(safe-area-inset-bottom));
    border-radius:1.5rem 0 0 1.5rem;
    box-shadow:-1.5rem 0 4rem rgba(5,18,29,.22);
    transform:translateX(105%);
    background:rgba(255,255,255,.995);
    display:flex;
    flex-direction:column;
    overscroll-behavior:contain;
  }
  .main-nav.open{transform:translateX(0)}

  .mobile-nav-head{
    display:grid;
    gap:.35rem;
    padding:.5rem .5rem 1rem;
    margin-bottom:.5rem;
    border-bottom:.0625rem solid var(--line);
  }
  .mobile-nav-kicker{
    font-size:.6875rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--green);
  }
  .mobile-nav-head strong{
    font:800 1.15rem/1.2 Manrope,sans-serif;
    color:var(--navy);
  }

  .main-nav>a{
    position:relative;
    min-height:3.25rem;
    padding:.9rem .75rem;
    border-bottom:.0625rem solid rgba(16,42,64,.08);
    border-radius:.75rem;
    font-size:.98rem!important;
    font-weight:750;
    color:var(--navy);
    transition:background-color .18s ease,transform .18s ease,color .18s ease;
  }
  .main-nav>a:not(.btn)::before{
    content:"";
    width:.375rem;
    height:.375rem;
    border-radius:50%;
    background:rgba(17,163,106,.28);
    margin-right:.7rem;
    flex:0 0 auto;
  }
  .main-nav>a:not(.btn):active{
    background:#f2f7f4;
    transform:scale(.99);
  }
  .main-nav>.btn{
    margin-top:1rem;
    border-radius:.9rem;
    min-height:3.25rem;
    justify-content:center;
    font-weight:900;
  }

  .mobile-nav-footer{
    display:grid;
    gap:.6rem;
    margin-top:auto;
    padding:1rem .5rem .25rem;
    border-top:.0625rem solid var(--line);
  }
  .mobile-nav-footer>span{
    color:var(--muted);
    font-size:.8rem;
  }
  .mobile-nav-phone{
    min-height:auto!important;
    padding:0!important;
    border:0!important;
    font:800 1rem/1.2 Manrope,sans-serif!important;
    color:var(--navy)!important;
  }
  .mobile-nav-socials{
    display:flex;
    gap:.5rem;
    margin-top:.15rem;
  }
  .mobile-nav-socials .social-icon{
    width:2.75rem;
    height:2.75rem;
    min-width:2.75rem;
    min-height:2.75rem;
    background:#f7f9fa;
    border-color:rgba(16,42,64,.1);
  }

  .menu-toggle{
    background:#fff;
    border:.0625rem solid rgba(16,42,64,.12);
    box-shadow:0 .4rem 1rem rgba(16,42,64,.08);
  }
  .menu-toggle[aria-expanded="true"]{
    position:fixed;
    top:max(.75rem,env(safe-area-inset-top));
    right:.9rem;
    background:#f5f7f8;
  }
  .menu-toggle[aria-expanded="true"] span{background:var(--navy)}
}

@media (max-width:30rem){
  .main-nav{
    width:min(92vw,22rem);
    border-radius:1.25rem 0 0 1.25rem;
  }
  .mobile-nav-head strong{font-size:1.05rem}
}
