/* ESTUDIO ESG — Estilos compartidos v2.0 */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --black:#1A1A1A;--blue-deep:#012C4B;--blue-accent:#015366;
  --gray-50:#f7f8f9;--gray-100:#eef0f2;--gray-300:#c4c9cf;--gray-500:#5a5f66;
  --white:#fff;--border:#e8eaed;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'DM Sans',-apple-system,sans-serif;
  --ease:cubic-bezier(0.4,0,0.2,1)
}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
a{color:inherit;text-decoration:none}

/* ── NAV ── */
.nav{position:fixed;top:0;width:100%;z-index:100;background:rgba(255,255,255,0.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,0.05);transition:box-shadow .4s var(--ease),top .3s var(--ease)}
.nav.scrolled{box-shadow:0 1px 8px rgba(0,0,0,0.06)}
.nav-inner{max-width:1240px;margin:0 auto;padding:16px 32px;display:flex;justify-content:space-between;align-items:center}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-brand-text{font-size:1.4em;font-weight:700;letter-spacing:.22em;line-height:1}
.nav-brand-text small{display:block;font-size:.48em;font-weight:400;letter-spacing:.055em;color:var(--blue-deep);text-transform:uppercase;margin-top:2px}
.nav-links{display:flex;gap:28px;align-items:center;list-style:none}
.nav-links a{font-size:.88em;font-weight:500;color:var(--gray-500);transition:color .3s}
.nav-links a:hover,.nav-links a.active{color:var(--black)}
.nav-cta{background:var(--black);color:var(--white)!important;padding:9px 20px;border-radius:4px;font-size:.85em;transition:background .3s}
.nav-cta:hover{background:var(--blue-accent)}
.nav-cta.active{background:var(--blue-accent)!important;color:var(--white)!important}

/* ── HAMBURGER ── */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;z-index:101;padding:4px}
.hamburger span{width:22px;height:2px;background:var(--black);border-radius:1px;transition:all .3s var(--ease)}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* ── NAV OVERLAY (móvil) ── */
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0);z-index:99;transition:background .3s}
.nav-overlay.open{display:block;background:rgba(0,0,0,0.4)}

/* ── BOTONES ── */
.btn{display:inline-block;padding:14px 28px;border-radius:4px;font-family:var(--font-body);font-weight:500;font-size:.92em;cursor:pointer;transition:all .3s var(--ease);border:2px solid transparent}
.btn--dark{background:var(--black);color:var(--white);border-color:var(--black)}
.btn--dark:hover{background:var(--blue-accent);border-color:var(--blue-accent)}
.btn--outline{background:transparent;color:var(--black);border-color:var(--black)}
.btn--outline:hover{background:var(--black);color:var(--white)}
.btn--small{padding:10px 20px;font-size:.85em}

/* ── PAGE HERO ── */
.page-hero{padding:140px 0 80px;background:var(--gray-50);position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;border:1px solid rgba(1,83,102,0.05);border-radius:50%;pointer-events:none}
.page-hero-inner{max-width:720px;margin:0 auto;padding:0 32px}
.page-hero h1{font-family:var(--font-display);font-size:clamp(2em,4vw,3em);font-weight:600;line-height:1.1;margin-bottom:16px;letter-spacing:-0.02em}
.page-hero p{font-size:1.05em;color:var(--gray-500);line-height:1.7}

/* ── SECCIONES ── */
.section{padding:80px 0}
.section-inner{max-width:1240px;margin:0 auto;padding:0 32px}
.section--gray{background:var(--gray-50)}
.section--dark{background:var(--black);color:var(--white)}
.section--blue{background:var(--blue-deep);color:var(--white)}
.section-header-left{margin-bottom:48px;max-width:540px}
.section-header-left h2{font-family:var(--font-display);font-size:2.2em;font-weight:600;line-height:1.15;margin-bottom:14px}
.section-header-left p{color:var(--gray-500);line-height:1.7}
.section--dark .section-header-left p{color:rgba(255,255,255,0.6)}

/* ── SERVICE ITEMS ── */
.service-tag{display:inline-block;font-size:.72em;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-accent);padding:4px 10px;border:1px solid rgba(1,83,102,0.2);border-radius:3px;margin-bottom:16px}
.service-item{padding:36px 28px;border:1px solid var(--border);border-radius:8px;transition:all .35s var(--ease);position:relative;overflow:hidden}
.service-item::before{content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--blue-accent);transition:height .35s var(--ease)}
.service-item:hover::before{height:100%}
.service-item:hover{box-shadow:0 8px 32px rgba(0,0,0,0.08);transform:translateY(-2px)}
.service-item h3{font-family:var(--font-display);font-size:1.35em;font-weight:600;margin-bottom:10px}
.service-item p{font-size:.88em;color:var(--gray-500);line-height:1.65;margin-bottom:20px}

/* ── ENTREGABLES ── */
.deliverable{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:.85em;color:var(--gray-500)}
.deliverable svg{width:16px;height:16px;stroke:var(--blue-accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:2px}

/* ── PAQUETES ── */
.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.package{padding:36px 28px;border:1px solid rgba(255,255,255,0.1);border-radius:8px;background:rgba(255,255,255,0.04)}
.package.featured{border-color:var(--blue-accent);background:rgba(1,83,102,0.08);position:relative}
.featured-tag{position:absolute;top:-10px;left:24px;background:var(--blue-accent);color:var(--white);font-size:.7em;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 12px;border-radius:3px}
.package-name{font-family:var(--font-display);font-size:1.6em;font-weight:600;margin-bottom:4px}
.package-target{font-size:.85em;color:rgba(255,255,255,0.5);margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,0.08)}
.package-feature{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:.85em;color:rgba(255,255,255,0.65)}
.package-feature svg{width:16px;height:16px;stroke:var(--blue-accent);fill:none;stroke-width:2;flex-shrink:0;margin-top:2px}
.package-btn{display:block;text-align:center;margin-top:24px;padding:12px;border:1.5px solid rgba(255,255,255,0.2);border-radius:4px;color:var(--white);font-size:.88em;font-weight:500;transition:all .3s}
.package-btn:hover{background:var(--white);color:var(--black)}

/* ── FORMULARIOS ── */
.form-group{margin-bottom:18px}
.form-group label{display:block;margin-bottom:5px;font-weight:500;font-size:.88em}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:4px;font-family:var(--font-body);font-size:.92em;color:var(--black);transition:border-color .3s,box-shadow .3s;background:var(--white)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--blue-accent);box-shadow:0 0 0 3px rgba(1,83,102,0.08)}
.form-group textarea{resize:vertical;min-height:120px}
.form-group input::placeholder,.form-group textarea::placeholder{color:#aab0b8}
.form-submit{width:100%;padding:14px;background:var(--black);color:var(--white);border:none;border-radius:4px;font-family:var(--font-body);font-weight:500;font-size:.95em;cursor:pointer;transition:background .3s}
.form-submit:hover{background:var(--blue-accent)}
.form-success{display:none;text-align:center;padding:48px 20px}
.form-success.show{display:block}
.form-success h4{font-family:var(--font-display);font-size:1.4em;font-weight:600;margin-bottom:8px}
.form-success p{color:var(--gray-500);font-size:.9em}
.success-check{width:56px;height:56px;border-radius:50%;background:var(--blue-accent);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.success-check svg{width:24px;height:24px;stroke:var(--white);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* ── FOOTER ── */
.footer{background:var(--black);color:var(--white);padding:56px 0 28px}
.footer-inner{max-width:1240px;margin:0 auto;padding:0 32px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.footer-name{font-size:1.3em;font-weight:700;letter-spacing:.06em;color:var(--white)}
.footer-brand-text{color:rgba(255,255,255,0.5);font-size:.88em;line-height:1.65;margin-bottom:16px}
.footer-contact{color:rgba(255,255,255,0.4);font-size:.82em;margin-bottom:4px;display:flex;align-items:center;gap:8px}
.footer-contact svg{width:14px;height:14px;stroke:rgba(255,255,255,0.3);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.footer-col h4{font-size:.78em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,0.75);margin-bottom:16px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:8px}
.footer-col a{color:rgba(255,255,255,0.45);font-size:.85em;transition:color .3s}
.footer-col a:hover{color:var(--white)}
.footer-bottom{text-align:center;padding-top:24px;border-top:1px solid rgba(255,255,255,0.06);color:rgba(255,255,255,0.3);font-size:.78em}

/* ── ANIMACIONES ── */
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .packages-grid{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hamburger{display:flex}
  .nav-links{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--white);flex-direction:column;justify-content:center;gap:20px;padding:40px;box-shadow:-8px 0 32px rgba(0,0,0,0.1);transition:right .3s var(--ease);z-index:100}
  .nav-links.open{right:0}
  .nav-links a{color:var(--black);font-size:1em}
  .nav-cta{text-align:center;width:100%}
  .page-hero h1{font-size:2em}
  .page-hero{padding:110px 0 50px}
  .section{padding:56px 0}
  .section-header-left h2{font-size:1.8em}
  .footer-grid{grid-template-columns:1fr;gap:24px}
}
