:root{
      --bg:#f7f8fb;
      --surface:#ffffff;
      --surface-2:#111318;
      --text:#101216;
      --muted:#666b73;
      --line:#e7e9ee;
      --accent:#ff5a36;
      --accent-2:#111318;
      --lime:#d9ff63;
      --sky:#cfe9ff;
      --peach:#ffe0d5;
      --ink:#111318;
      --success:#188038;
      --shadow:0 18px 42px rgba(16,18,22,.08);
      --radius:18px;
      --radius-sm:12px;
      --g-blue:#4285F4;
      --g-red:#EA4335;
      --g-yellow:#FBBC05;
      --g-green:#34A853;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;overflow-x:hidden}
    body{
      margin:0;
      padding-top:78px;
      font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:linear-gradient(180deg,#fbfbfd 0%,#f4f6fa 100%);
      color:var(--text);
      line-height:1.6;
      overflow-x:hidden;
    }

    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    .container{width:min(calc(100% - 40px), var(--max));margin:auto}

    .nav{
      position:fixed;top:0;left:0;right:0;z-index:50;
      background:rgba(247,248,251,.86);
      backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(231,233,238,.9);
    }
    .nav-inner{
      height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px;
    }
    .brand{
      display:flex;align-items:center;flex:0 0 auto;
    }
    .brand img{display:block;width:154px;height:auto}
    .nav-links{display:flex;gap:26px;align-items:center;color:#42464d;font-size:.95rem}
    .nav-links a:hover{color:var(--text)}
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      min-height:48px;padding:0 20px;border-radius:999px;
      background:var(--accent);color:#fff;font-weight:800;
      box-shadow:0 10px 24px rgba(255,90,54,.20);
      transition:.2s ease;
    }
    .btn:hover{background:#ef4d2a;transform:translateY(-1px)}
    .btn.secondary{
      background:#fff;color:var(--text);border:1px solid #cfd3da;box-shadow:none;
    }

    .hero{
      padding:78px 0 56px;
      position:relative;
      overflow:hidden;
    }
    .hero::before{
      content:"";
      position:absolute;
      width:520px;height:520px;
      border-radius:50%;
      background:radial-gradient(circle,rgba(255,90,54,.18) 0,rgba(255,90,54,0) 70%);
      right:-120px;top:-140px;
      pointer-events:none;
    }
    .hero-shell{
      background:#fff;
      border:1px solid #e3e5e9;
      border-radius:28px;
      overflow:hidden;
      box-shadow:0 22px 60px rgba(16,18,22,.08);
    }
    .hero-grid{
      display:grid;grid-template-columns:1.08fr .92fr;gap:0;align-items:stretch;
      min-height:650px;
    }
    .hero-content{
      padding:70px 58px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      position:relative;
      z-index:2;
    }
    .eyebrow{
      display:block;
      margin-bottom:18px;
      color:#656a72;
      font-weight:700;
      font-size:.82rem;
      text-transform:uppercase;
      letter-spacing:.12em;
    }
    .eyebrow::before{display:none}
    h1,h2,h3{line-height:1.08;letter-spacing:-.04em;margin:0}
    h1{font-size:clamp(2.8rem,5.4vw,5.1rem);max-width:880px;font-weight:850}
    .gradient{color:var(--text)}
    .google-word{font-weight:inherit;white-space:nowrap}
    .g-blue{color:var(--g-blue)}
    .g-red{color:var(--g-red)}
    .g-yellow{color:var(--g-yellow)}
    .g-green{color:var(--g-green)}
    .hero-copy{
      margin:24px 0 26px;color:#555b64;font-size:1.14rem;max-width:700px;
    }
    .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
    .hero-copy-wrap{max-width:760px}
    .hero-points{
      display:flex;
      justify-content:flex-start;
      align-items:center;
      gap:22px;
      flex-wrap:wrap;
      width:100%;
      margin-top:30px;
      color:#454a52;
      font-size:.92rem;
      font-weight:750;
      text-align:left;
    }
    .hero-points span::before{content:"✓";color:var(--success);font-weight:900;margin-right:7px}

    .hero-visual{
      position:relative;
      min-height:650px;
      background:#111318;
      overflow:hidden;
    }
    .hero-visual::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,transparent 55%,rgba(10,11,14,.82) 100%);
      pointer-events:none;
    }
    .portrait-card{
      position:absolute;
      inset:0;
      background:#111318;
      border:0;
      border-radius:0;
      padding:0;
      box-shadow:none;
      overflow:hidden;
    }
    .portrait{
      position:absolute;
      inset:0;
      aspect-ratio:auto;
      border-radius:0;
      padding:0;
      background:#111318;
      display:block;
      overflow:hidden;
    }
    .portrait img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center top;
      filter:grayscale(100%);
    }
    .portrait-meta{
      position:absolute;
      left:30px;
      right:30px;
      bottom:26px;
      z-index:3;
      padding:0;
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      color:#fff;
    }
    .portrait-meta strong{
      display:block;
      font-size:1.25rem;
      line-height:1.1;
      margin-bottom:5px;
    }
    .portrait-meta small{color:rgba(255,255,255,.75)}
    .badge{
      padding:8px 12px;
      border:1px solid rgba(255,255,255,.32);
      border-radius:999px;
      color:#fff;
      font-size:.78rem;
      white-space:nowrap;
      backdrop-filter:blur(8px);
      background:rgba(17,19,24,.28);
    }

    section{padding:84px 0}
    .section-head{max-width:820px;margin-bottom:36px}
    .section-head h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:16px}
    .section-head h2::after{
      content:"";display:block;width:56px;height:6px;background:var(--accent);margin-top:16px;border-radius:4px;
    }
    .section-head p{font-size:1.08rem;color:var(--muted);margin:0}

    .authority{
      background:transparent;border-top:1px solid #cfd3da;border-bottom:1px solid #cfd3da;
      border-radius:0;padding:34px 0;display:grid;grid-template-columns:.75fr 1.25fr;gap:34px;align-items:center;
      width:100%;min-width:0;box-shadow:none;
    }
    .authority > *{min-width:0}
    .authority-kicker{
      font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;
      color:#7b8089;font-weight:800;margin-bottom:12px;
    }
    .authority h2{font-size:clamp(2rem,3.5vw,3.4rem)}
    .authority p{color:var(--muted);font-size:1.05rem;margin:0}
    .authority strong{color:var(--text)}
    .authority-story{grid-template-columns:.9fr 1.1fr}
    .authority-copy{display:grid;gap:16px}
    .authority-media{
      grid-column:1 / -1;
      width:100%;
      min-width:0;
      max-width:100%;
      overflow:hidden;
      margin-top:0;
    }
    .media-logos{
      width:100%;
      min-width:0;
      max-width:100%;
      overflow:hidden;
      -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
      mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
    }
    .media-track{
      --media-gap:52px;
      display:flex;
      width:max-content;
      gap:0;
      animation:media-logo-scroll 16s linear infinite;
      animation-play-state:paused;
      will-change:transform;
    }
    .media-track.is-ready{animation-play-state:running}
    .media-logo-set{
      display:flex;
      flex:none;
      align-items:center;
      gap:var(--media-gap);
      padding-right:var(--media-gap);
    }
    .media-logo{
      flex:0 0 auto;
      height:52px;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .media-logo img{
      width:auto;
      height:auto;
      max-width:220px;
      max-height:34px;
      object-fit:contain;
    }
    .media-logo-carpetas img{max-width:130px;max-height:38px}
    .media-logo-mes img{max-width:132px}
    .media-logo-enoticies img{max-width:150px}
    @keyframes media-logo-scroll{
      to{transform:translateX(-50%)}
    }
    @media (prefers-reduced-motion:reduce){
      .media-logos{overflow-x:auto;mask-image:none;-webkit-mask-image:none}
      .media-track,.media-track.is-ready{animation:none;will-change:auto}
    }
    .accent-text{color:var(--accent)}

    .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
    .case{
      background:var(--sky);border:0;border-radius:18px;
      padding:30px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;
      box-shadow:none;
    }
    .case-sony{background:var(--peach);color:var(--text)}
    .case-logo{
      display:flex;
      align-items:center;
      height:64px;
    }
    .case-logo img{
      width:auto;
      height:auto;
      max-width:100%;
      max-height:64px;
      object-fit:contain;
      object-position:left center;
    }
    .metric{font-size:clamp(2.6rem,5vw,5rem);font-weight:900;letter-spacing:-.06em;margin:20px 0 10px}
    .case p{color:#5f646c;max-width:520px}
    .case-link{font-weight:800;margin-top:28px}
    .case-link::after{content:" →"}

    .services{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
    .service{
      padding:28px;border-radius:16px;background:#fff;border:1px solid #e4e6ea;
      box-shadow:0 8px 24px rgba(16,18,22,.04);
    }
    .service-num{color:var(--accent);font-weight:900;font-size:.82rem;margin-bottom:18px}
    .service h3{font-size:1.45rem;margin-bottom:10px}
    .service p{margin:0;color:var(--muted)}
    .service:nth-child(1){background:var(--peach)}
    .service:nth-child(2){background:var(--sky)}
    .service:nth-child(3){background:var(--lime)}

    .manifesto{
      background:#111318;color:#fff;border-radius:20px;padding:64px 56px;
      position:relative;overflow:hidden;border-left:10px solid var(--accent);
    }
    .manifesto::after{display:none}
    .manifesto h2{font-size:clamp(2.4rem,5vw,4.5rem);max-width:920px}
    .manifesto p{color:#bcc0c8;font-size:1.1rem;max-width:820px;margin:22px 0 0}
    .manifesto strong{color:#fff}

    .process{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
    .step{
      background:#fff;border:1px solid #e3e6ea;border-radius:14px;padding:22px;
      min-height:190px;
    }
    .step b{
      display:inline-flex;width:32px;height:32px;border-radius:8px;
      align-items:center;justify-content:center;
      background:#111318;color:#fff;margin-bottom:18px;font-size:.85rem
    }
    .step h3{font-size:1.15rem;margin-bottom:8px}
    .step p{font-size:.94rem;color:var(--muted);margin:0}

    .ai-box{
      display:grid;grid-template-columns:1fr .8fr;gap:30px;align-items:center;
      background:#eef5ff;border:1px solid #d7e5f5;border-radius:18px;padding:36px;
    }
    .ai-box h2{font-size:clamp(2rem,4vw,3.4rem);margin-bottom:14px}
    .ai-box p{color:var(--muted);margin:0}
    .ai-list{display:grid;gap:12px}
    .ai-list div{
      padding:12px 0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-weight:700
    }

    .cta{
      position:relative;
      overflow:hidden;
      background:#fff;
      color:var(--text);
      border:1px solid #e1e4e8;
      border-radius:24px;
      padding:70px 58px;
      text-align:left;
      box-shadow:0 18px 44px rgba(16,18,22,.06);
    }
    .cta::before{
      content:"";
      position:absolute;
      left:0;top:0;bottom:0;
      width:10px;
      background:var(--accent);
    }
    .cta::after{
      content:"";
      position:absolute;
      width:280px;height:280px;
      border-radius:50%;
      right:-110px;top:-110px;
      background:rgba(255,90,54,.10);
    }
    .cta-inner{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:1.25fr .75fr;
      gap:44px;
      align-items:end;
    }
    .cta-copy{max-width:760px}
    .cta-kicker{
      font-size:.78rem;
      text-transform:uppercase;
      letter-spacing:.12em;
      font-weight:800;
      color:var(--accent);
      margin-bottom:16px;
    }
    .cta h2{
      font-size:clamp(2.5rem,5vw,4.8rem);
      max-width:760px;
      margin:0 0 18px;
    }
    .cta p{
      max-width:680px;
      margin:0;
      color:#676d75;
      font-size:1.08rem;
    }
    .cta-action{
      display:flex;
      justify-content:flex-end;
      align-items:flex-end;
    }
    .cta .btn{
      background:#111318;
      color:#fff;
      box-shadow:none;
      min-height:56px;
      padding:0 26px;
    }
    .cta .btn:hover{background:#2a2d33;transform:translateY(-1px)}

    footer{padding:34px 0 44px;color:#747981;font-size:.9rem}
    .footer-inner{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

    @media (max-width: 920px){
      .nav-links a:not(.btn){display:none}
      .hero{padding-top:48px}
      .hero-grid,.authority,.ai-box{grid-template-columns:1fr}
      .hero-grid{min-height:0}
      .hero-content{padding:54px 38px}
      .hero-visual{min-height:560px}
      .cards,.services{grid-template-columns:1fr}
      .process{grid-template-columns:1fr 1fr}
      .manifesto{padding:40px 28px}
      .authority-story{gap:24px}
      .media-track{--media-gap:44px}
    }
    @media (max-width: 620px){
      body{padding-top:68px}
      .container{width:min(calc(100% - 24px), var(--max))}
      .hero{padding-top:28px}
      .hero-shell{border-radius:20px}
      .hero-grid{gap:0}
      .hero-content{padding:44px 24px 38px}
      .hero-visual{min-height:430px}
      .hero-actions{justify-content:center}
      .hero-points{justify-content:flex-start;gap:12px 18px;margin-top:24px;text-align:left}
      .hero-points span{white-space:nowrap}
      .hero-copy{text-align:center;margin-left:auto;margin-right:auto}
      .hero h1{text-align:center}
      .nav-inner{height:68px}
      .nav-links .btn{padding:0 14px;min-height:42px;font-size:.88rem}
      h1{font-size:3.1rem}
      .hero-copy{font-size:1.03rem}
      section{padding:70px 0}
      .process{grid-template-columns:1fr}
      .cta{padding:46px 28px}
      .cta-inner{grid-template-columns:1fr;gap:28px}
      .cta-action{justify-content:flex-start}
      .cta .btn{width:100%}
      .authority,.ai-box{padding:24px}
      .authority-media{margin-top:0}
      .media-track{--media-gap:36px;animation-duration:8s}
      .portrait-meta{left:20px;right:20px;bottom:20px}
      .portrait-meta .badge{display:none}
    }

/* Hero v11: full-width typographic composition, no portrait */
.hero{
  padding:32px 0 44px;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  right:-160px;
  top:-210px;
  background:radial-gradient(circle, rgba(255,90,54,.15) 0, rgba(255,90,54,0) 72%);
  pointer-events:none;
}
.hero-shell-text{
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(250,251,253,.98)),
    #fff;
  border:1px solid #e1e4e8;
  border-radius:28px;
  box-shadow:0 22px 60px rgba(16,18,22,.07);
  overflow:hidden;
  position:relative;
}
.hero-shell-text::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:300px;
  height:300px;
  border-radius:50%;
  background:rgba(255,90,54,.08);
  pointer-events:none;
}
.hero-content-full{
  min-height:520px;
  padding:54px 56px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  position:relative;
  z-index:2;
}
.hero-content-full h1{
  max-width:1040px;
  font-size:clamp(3.75rem,5.25vw,4.65rem);
  line-height:.98;
  letter-spacing:-.055em;
  margin:0;
  font-weight:900;
}
.hero-content-full .hero-copy{
  max-width:760px;
  font-size:1.08rem;
  line-height:1.6;
  margin:24px 0 22px;
  color:#5f6670;
}
.hero-content-full .hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.hero-content-full .hero-points{
  width:100%;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:28px;
  flex-wrap:wrap;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid #e7e9ed;
  text-align:left;
}
.hero-content-full .hero-points span{
  white-space:nowrap;
  font-weight:750;
  color:#454b53;
}
.hero-content-full .hero-points span::before{
  content:"✓";
  color:#188038;
  font-weight:900;
  margin-right:8px;
}

@media (max-width: 920px){
  .hero-content-full{
    min-height:auto;
    padding:50px 40px 42px;
  }
  .hero-content-full h1{
    font-size:clamp(3.25rem,7.5vw,4.25rem);
  }
}

@media (max-width: 620px){
  .hero{
    padding:24px 0 34px;
  }
  .hero-shell-text{
    border-radius:20px;
  }
  .hero-content-full{
    padding:38px 22px 32px;
    align-items:flex-start;
    text-align:left;
  }
  .hero-content-full h1{
    font-size:clamp(2.5rem,11vw,3.3rem);
    line-height:1;
    text-align:left;
  }
  .hero-content-full .hero-copy{
    margin:22px 0;
    font-size:1rem;
    text-align:left;
  }
  .hero-content-full .hero-actions{
    justify-content:flex-start;
    width:100%;
  }
  .hero-content-full .hero-actions .btn{
    width:100%;
  }
  .hero-content-full .hero-points{
    justify-content:flex-start;
    gap:10px 18px;
    margin-top:26px;
    padding-top:20px;
    text-align:left;
  }
}
