:root {
      --brand-deep: #112c51;
      --brand: #1c6187;
      --brand-light: #e9f2f7;
      --ink: #102038;
      --muted: #56677c;
      --paper: #f7f9fc;
      --white: #ffffff;
      --line: rgba(17,44,81,.12);
      --shadow: 0 22px 60px rgba(17,44,81,.10);
      --shadow-hover: 0 28px 72px rgba(17,44,81,.15);
      --radius-xl: 32px;
      --radius-lg: 24px;
      --radius-md: 18px;
      --container: 1180px;
      --header-h: 82px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; max-width: 100%; overflow-x: clip; }
    body {
      margin: 0;
      max-width: 100%;
      overflow-x: clip;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      color: var(--ink);
      background:
        radial-gradient(circle at 0 0, rgba(28,97,135,.10), transparent 28rem),
        radial-gradient(circle at 100% 8%, rgba(17,44,81,.08), transparent 24rem),
        var(--paper);
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button, input, select, textarea { font: inherit; }
    p { margin: 0 0 1rem; }
    h1, h2, h3, h4 { margin: 0 0 1rem; line-height: 1.08; letter-spacing: -.035em; }
    h1 { font-size: clamp(2.65rem, 6vw, 5rem); }
    h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
    h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
    section[id] { scroll-margin-top: calc(var(--header-h) + 20px); }
    main, header, footer, section, .container, .grid > *, .hero-grid > *, .split > *,
    .audience-grid > *, .enterprise-services > *, .detail-grid > *,
    .professionals-layout > *, .professional-grid > *, .contact-grid > * { min-width: 0; max-width: 100%; }
    p, li, a, span, strong { overflow-wrap: anywhere; }
    .container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
    .section { padding: 92px 0; }
    .section-compact, .section-tight { padding: 72px 0; }
    .lead { color: var(--muted); font-size: 1.08rem; }
    .muted { color: var(--muted); }
    .section-head { max-width: 790px; margin-bottom: 2.5rem; }
    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      margin-bottom: 1rem;
      padding: .48rem .88rem;
      border: 1px solid rgba(28,97,135,.15);
      border-radius: 999px;
      background: rgba(28,97,135,.08);
      color: var(--brand-deep);
      font-size: .9rem;
      font-weight: 800;
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .65rem;
      min-height: 52px;
      max-width: 100%;
      padding: .75rem 1.2rem;
      border: 1px solid transparent;
      border-radius: 999px;
      font-weight: 800;
      line-height: 1.2;
      text-align: center;
      cursor: pointer;
      transition: transform .22s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease;
    }
    .btn:hover { transform: translateY(-2px); }
    .btn-primary { color: #fff; background: linear-gradient(135deg, var(--brand), var(--brand-deep)); box-shadow: 0 14px 34px rgba(17,44,81,.22); }
    .btn-secondary { color: var(--brand-deep); background: rgba(255,255,255,.88); border-color: rgba(17,44,81,.16); }
    .btn-light { color: var(--brand-deep); background: #fff; }
    .btn-link { color: var(--brand-deep); padding-inline: 0; min-height: auto; border-radius: 0; }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 50;
      border-bottom: 1px solid rgba(17,44,81,.08);
      background: rgba(247,249,252,.88);
      backdrop-filter: blur(14px);
    }
    .header-inner { min-height: var(--header-h); display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
    .brand { display: inline-flex; align-items: center; gap: .8rem; color: var(--brand-deep); font-weight: 900; letter-spacing: -.02em; flex: 0 0 auto; }
    .brand img { width: 50px; height: 50px; object-fit: contain; }
    .nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.1rem; }
    .nav a { color: var(--muted); font-weight: 700; }
    .nav a:hover, .nav a:focus-visible { color: var(--brand-deep); }

    .hero { padding: 52px 0 90px; overflow: clip; }
    .hero-grid { display: grid; grid-template-columns: minmax(0,1.16fr) minmax(360px,.84fr); align-items: center; gap: 2.25rem; }
    .hero-copy { max-width: 720px; }
    .hero-copy .lead { max-width: 690px; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.7rem; }
    .hero-points { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin-top: 2rem; }
    .mini-stat { padding: 1rem 1.05rem; border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(255,255,255,.82); box-shadow: var(--shadow); }
    .mini-stat strong { display: block; margin-bottom: .25rem; color: var(--brand-deep); }
    .mini-stat span { color: var(--muted); font-size: .95rem; }

    .hero-card { position: relative; justify-self: end; width: min(100%,470px); overflow: hidden; padding: 1rem; border: 1px solid var(--line); border-radius: 36px; background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(233,242,247,.94)); box-shadow: var(--shadow); }
    .hero-card::before { content:""; position:absolute; right:-80px; bottom:-100px; width:260px; height:260px; border-radius:50%; background:radial-gradient(circle,rgba(28,97,135,.20),transparent 68%); pointer-events:none; }
    .hero-card .media-frame {
      aspect-ratio: 9/16;
      min-height: 0;
      border-radius: 27px;
    }
    .hero-card .media-frame img { object-position: 50% 34%; }
    .hero-float { position: absolute; z-index: 2; max-width: 235px; padding: .85rem 1rem; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.95); box-shadow: 0 18px 42px rgba(17,44,81,.16); }
    .hero-float strong { display:block; color: var(--brand-deep); }
    .hero-float small { color: var(--muted); }
    .hero-float.one { left: 24px; bottom: 24px; }
    .hero-float.two { right: 24px; top: 24px; }

    .media-frame { position: relative; overflow: hidden; margin: 0; background: linear-gradient(135deg, var(--brand-deep), var(--brand)); }
    .media-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
    .media-frame.is-missing::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 30% 25%,rgba(255,255,255,.18),transparent 28%), linear-gradient(135deg,var(--brand-deep),var(--brand)); }
    .media-frame.is-missing::after { content: attr(data-label); position:absolute; inset:auto 1rem 1rem; padding:.75rem 1rem; border-radius:14px; color:#fff; font-weight:800; background:rgba(17,44,81,.58); backdrop-filter:blur(8px); }

    .audience-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
    .audience-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr; min-height: 0; border: 1px solid var(--line); border-radius: var(--radius-xl); background: rgba(255,255,255,.9); box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease; }
    .audience-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover); }
    .audience-card .media-frame { aspect-ratio: 16/10; min-height: 0; border-radius: 0; }
    .audience-card:first-child .media-frame img { object-position: 50% 42%; }
    .audience-card:last-child .media-frame img { object-position: 50% 38%; }
    .audience-card-content { display: flex; flex-direction: column; justify-content: center; padding: 1.7rem; }
    .service-tags { display: flex; flex-wrap: wrap; gap: .55rem; margin: .45rem 0 1.25rem; }
    .service-tag { padding: .38rem .65rem; border-radius: 999px; background: var(--brand-light); color: var(--brand-deep); font-size: .86rem; font-weight: 800; }

    .enterprise-shell { padding: 2rem; border-radius: 38px; background: linear-gradient(160deg, rgba(17,44,81,.99), rgba(28,97,135,.96)); color:#fff; box-shadow: 0 28px 70px rgba(17,44,81,.25); }
    .enterprise-shell .section-head p, .enterprise-shell .muted { color: rgba(255,255,255,.80); }
    .enterprise-shell .eyebrow { color:#fff; border-color:rgba(255,255,255,.20); background:rgba(255,255,255,.10); }
    .enterprise-services { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.4rem; }
    .enterprise-card { overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:28px; background:rgba(255,255,255,.09); backdrop-filter:blur(8px); }
    .enterprise-card .media-frame { aspect-ratio: 16/10; }
    .enterprise-card:first-child .media-frame img { object-position: 50% 42%; }
    .enterprise-card:last-child .media-frame img { object-position: 50% 40%; }
    .enterprise-content { padding: 1.5rem; }
    .enterprise-content p, .enterprise-content li { color: rgba(255,255,255,.80); }
    .detail-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1.15rem; }
    .detail-box { padding:1rem; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.07); }
    .detail-box strong { display:block; margin-bottom:.35rem; color:#fff; }
    .detail-box p { margin:0; font-size:.94rem; }
    .enterprise-cta { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; margin-top:1.6rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.15); }

    .professionals-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:1.6rem; align-items:stretch; }
    .professionals-intro { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-xl); background:#fff; box-shadow:var(--shadow); }
    .professionals-intro .media-frame { aspect-ratio: 4/3; }
    .professionals-intro .media-frame img { object-position: 50% 38%; }
    .professionals-intro-content { padding:1.55rem; }
    .professional-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; }
    .service-card { padding:1.4rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.90); box-shadow:var(--shadow); transition:transform .24s ease, box-shadow .24s ease; }
    .service-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-hover); }
    .icon { width:52px; height:52px; display:grid; place-items:center; margin-bottom:1rem; border-radius:16px; color:var(--brand-deep); background:linear-gradient(135deg,rgba(28,97,135,.18),rgba(17,44,81,.08)); }
    .icon svg { width:25px; height:25px; stroke:currentColor; }
    .service-card p { color:var(--muted); }
    .service-card ul { margin:.8rem 0 0; padding-left:1.1rem; color:var(--muted); }

    .steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; }
    .step { padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.9); box-shadow:var(--shadow); }
    .step-number { width:50px; height:50px; display:grid; place-items:center; margin-bottom:1rem; border-radius:15px; color:#fff; font-weight:900; background:linear-gradient(135deg,var(--brand-deep),var(--brand)); }
    .step p { color:var(--muted); }

    .highlight { display:grid; grid-template-columns:1.08fr .92fr; gap:2rem; align-items:stretch; padding:2rem; border-radius:36px; color:#fff; background:linear-gradient(160deg,var(--brand-deep),var(--brand)); box-shadow:0 28px 70px rgba(17,44,81,.25); }
    .media-text-grid > * { min-width:0; }
    .media-text-grid > .media-frame { align-self:stretch; height:100%; min-height:440px; aspect-ratio:auto; }
    .highlight p, .highlight li { color:rgba(255,255,255,.82); }
    .highlight .eyebrow { color:#fff; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.10); }
    .highlight .media-frame { border-radius:27px; }
    .highlight .media-frame img { object-position: 50% 38%; }

    .article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.3rem; }
    .article { height:100%; padding:1.4rem; border:1px solid var(--line); border-radius:var(--radius-lg); background:rgba(255,255,255,.88); box-shadow:var(--shadow); }
    .article p { color:var(--muted); }
    .tag { display:inline-flex; margin-bottom:.85rem; padding:.35rem .65rem; border-radius:999px; background:var(--brand-light); color:var(--brand-deep); font-size:.85rem; font-weight:800; }

    .faq-list { display:grid; gap:1rem; }
    .faq { overflow:hidden; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.9); box-shadow:var(--shadow); }
    .faq summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.15rem 1.25rem; color:var(--brand-deep); font-weight:800; }
    .faq summary::-webkit-details-marker { display:none; }
    .faq summary::after { content:"+"; flex:0 0 auto; font-size:1.5rem; color:var(--brand); }
    .faq[open] summary::after { content:"–"; }
    .faq-answer { padding:0 1.25rem 1.2rem; color:var(--muted); }

    .contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:1.5rem; }
    .contact-card, .contact-form { padding:1.6rem; border:1px solid var(--line); border-radius:var(--radius-xl); background:rgba(255,255,255,.92); box-shadow:var(--shadow); }
    .contact-list { display:grid; gap:.9rem; margin-top:1.25rem; }
    .contact-item { min-width:0; display:flex; gap:.85rem; align-items:flex-start; padding:1rem; border:1px solid rgba(28,97,135,.10); border-radius:18px; background:rgba(28,97,135,.05); }
    .contact-item > * { min-width:0; }
    .contact-item strong { display:block; color:var(--brand-deep); }
    .contact-links { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:.55rem; }
    .contact-links a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:.48rem .78rem; border:1px solid rgba(28,97,135,.18); border-radius:999px; background:#fff; color:var(--brand-deep); font-weight:800; line-height:1.2; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
    .contact-links a:hover, .contact-links a:focus-visible { transform:translateY(-1px); border-color:rgba(28,97,135,.38); background:var(--brand-soft); }
    .contact-links .whatsapp-link { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--brand),var(--brand-deep)); }
    .contact-links .whatsapp-link:hover, .contact-links .whatsapp-link:focus-visible { background:linear-gradient(135deg,var(--brand-deep),var(--brand)); }
    form { min-width:0; display:grid; gap:1rem; }
    .field { display:grid; gap:.45rem; }
    label { color:var(--brand-deep); font-weight:800; }
    input, select, textarea { min-width:0; width:100%; padding:.92rem 1rem; border:1px solid rgba(17,44,81,.16); border-radius:15px; color:var(--ink); background:#fff; outline:none; }
    input:focus, select:focus, textarea:focus { border-color:rgba(28,97,135,.50); box-shadow:0 0 0 4px rgba(28,97,135,.12); }
    textarea { min-height:140px; resize:vertical; }
    .form-note { color:var(--muted); font-size:.9rem; }

    footer { padding:28px 0 46px; color:var(--muted); }
    .footer-grid { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding-top:1rem; border-top:1px solid rgba(17,44,81,.08); }
    .footer-brand { display:flex; align-items:center; gap:.75rem; }
    .footer-brand img { width:96px; height:96px; object-fit:contain; }
    .footer-links { display:flex; flex-wrap:wrap; gap:1rem; }

    .reveal { opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s ease; }
    .reveal.is-visible { opacity:1; transform:none; }

    @media (max-width: 1120px) {
      .header-inner { flex-wrap:wrap; padding:.8rem 0; }
      .nav { order:3; width:100%; padding-top:.7rem; border-top:1px solid rgba(17,44,81,.08); }
      .audience-card .media-frame { aspect-ratio:16/10; }
    }
    @media (max-width: 980px) {
      .hero-grid, .professionals-layout, .highlight, .contact-grid { grid-template-columns:1fr; }
      .hero-card { justify-self:center; width:min(100%,600px); max-width:600px; margin-inline:auto; }
      .hero-card .media-frame { min-height:0; aspect-ratio:4/5; }
      .media-text-grid > .media-frame { height:auto; min-height:0; aspect-ratio:16/10; }
      .hero-points, .steps, .article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media (max-width: 780px) {
      :root { --header-h: auto; }
      .section { padding:74px 0; }
      .section-compact, .section-tight { padding:62px 0; }
      .header-inner { align-items:flex-start; flex-direction:column; }
      .nav { justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:.25rem; scrollbar-width:none; }
      .nav::-webkit-scrollbar { display:none; }
      .nav a { flex:0 0 auto; }
      .hero { padding-top:28px; }
      .audience-grid, .enterprise-services, .professional-grid, .hero-points, .steps, .article-grid { grid-template-columns:1fr; }
      .detail-grid { grid-template-columns:1fr; }
      .hero-card .media-frame { min-height: 0; aspect-ratio: 4/5; }
      .audience-card .media-frame, .enterprise-card .media-frame { aspect-ratio: 4/3; }
      .hero-float { position:static; max-width:none; margin-top:.75rem; }
      .enterprise-shell { padding:1.2rem; border-radius:28px; }
      .highlight { padding:1.25rem; border-radius:28px; }
      .media-text-grid > .media-frame { aspect-ratio:4/3; }
      .btn { white-space:normal; }
    }
    @supports not (overflow-x: clip) { html, body { overflow-x:hidden; } }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior:auto; }
      *, *::before, *::after { animation:none!important; transition:none!important; }
      .reveal { opacity:1; transform:none; }
    }
