/* SEINA home interface styles. Generated from the former inline critical CSS. */
/* Tweak presets */
html[data-accent="vibrante"]{--orange:#FF7A1F;--orange-soft:#FF9F5A;--orange-glow:rgba(255,122,31,0.45);}html[data-accent="neon"]{--orange:#D6FF3D;--orange-soft:#E6FF7A;--orange-glow:rgba(214,255,61,0.4);}html[data-accent="neon"] .pulse-block,html[data-accent="neon"] .highlight,html[data-accent="neon"] .form-submit,html[data-accent="neon"] .btn-primary,html[data-accent="neon"] .nav-cta,html[data-accent="neon"] .diff-cta-card{color:#14140A !important;}html[data-accent="neon"] .diff-cta-card:hover{color:var(--orange) !important;}html[data-energy="sereno"] .hero-orb,html[data-energy="sereno"] .hero-ring{display:none;}html[data-energy="sereno"] body::before{display:none;}html[data-energy="sereno"] .scroll-cue{opacity:0.4;}html[data-energy="sereno"] .scroll-cue .line::after{animation:none;opacity:0.5;top:14px;}html[data-energy="sereno"] .mock-status .dot,html[data-energy="sereno"] .pulse-block{animation-iteration-count:1 !important;}html[data-energy="sereno"] .hero-orb{animation:none !important;}html[data-energy="sereno"] .reveal,html[data-energy="sereno"] .reveal-stagger > *{transition-duration:1.1s !important;}html[data-energy="sereno"] .signal-card:hover,html[data-energy="sereno"] .method-step:hover,html[data-energy="sereno"] .diff-card:hover{transform:none !important;box-shadow:0 6px 18px rgba(0,0,0,0.15) !important;}html[data-energy="sereno"] .btn-primary:hover,html[data-energy="sereno"] .btn-ghost:hover{transform:none !important;}html[data-energy="brutal"] .hero-orb{width:1100px;height:1100px;background:radial-gradient(circle at 30% 30%,rgba(232,98,10,0.28),transparent 60%);filter:blur(28px);animation-duration:6s;}html[data-energy="brutal"] .hero-ring{animation-duration:28s;border-width:1.5px;border-color:rgba(232,98,10,0.32);}html[data-energy="brutal"] .hero-ring.r2{animation-duration:18s;border-color:rgba(232,98,10,0.22);}html[data-energy="brutal"] .pulse-block{animation:wordReveal 0.7s cubic-bezier(.4,0,.2,1) 1s forwards,blockPulse 1.4s ease-out 1.6s infinite !important;}html[data-energy="brutal"] .scroll-cue .line::after{animation-duration:0.9s;}html[data-energy="brutal"] body::before{opacity:0.9;}html[data-energy="brutal"] .reveal,html[data-energy="brutal"] .reveal-stagger > *{transition-duration:0.55s !important;transition-timing-function:cubic-bezier(0.34,1.56,0.64,1) !important;}html[data-energy="brutal"] .signal-card:hover{transform:translateY(-8px) rotate(-1deg) !important;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1) !important;}html[data-energy="brutal"] .method-step:hover{transform:translateY(-10px) scale(1.015) !important;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1) !important;}html[data-energy="brutal"] .diff-card:hover{transform:translateY(-6px) scale(1.01) !important;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1) !important;}html[data-energy="brutal"] .pillar:hover{transform:translateX(8px) !important;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1) !important;}html[data-energy="brutal"] .btn-primary:hover{transform:translateY(-4px) scale(1.04) !important;transition:all 0.4s cubic-bezier(0.34,1.56,0.64,1) !important;}html[data-energy="brutal"] .mock-status .dot{animation-duration:0.9s !important;}html[data-energy="brutal"] .mock-bar .fill{transition-duration:0.55s !important;}html[data-rhythm="compacto"] section{padding:70px 40px;}html[data-rhythm="compacto"] .hero{padding:50px 40px 80px;min-height:78vh;}html[data-rhythm="compacto"] .hero h1{font-size:clamp(44px,7.2vw,104px);}html[data-rhythm="compacto"] .hero-strip{margin-top:56px;}html[data-rhythm="compacto"] .strip-cell{padding:16px 20px;}html[data-rhythm="compacto"] .strip-cell .num{font-size:30px;}html[data-rhythm="compacto"] .section-title{font-size:clamp(36px,5vw,72px);margin-bottom:22px;}html[data-rhythm="compacto"] .section-lede{font-size:16px;margin-bottom:36px;}html[data-rhythm="compacto"] .lead-message{font-size:clamp(20px,2.5vw,30px);margin-bottom:52px;}html[data-rhythm="compacto"] .gap-statement{font-size:clamp(24px,3.6vw,44px);margin-bottom:38px;}html[data-rhythm="compacto"] .gap-pull{padding:24px 0;margin:36px 0;gap:24px;}html[data-rhythm="compacto"] .signal-grid{gap:10px;}html[data-rhythm="compacto"] .signal-card{padding:22px 20px;}html[data-rhythm="compacto"] .method-flow{gap:12px;}html[data-rhythm="compacto"] .method-step{padding:30px 22px 22px;}html[data-rhythm="compacto"] .clarifications{margin-top:40px;}html[data-rhythm="compacto"] .clarification{padding:20px 22px;}html[data-rhythm="compacto"] .diff-card{padding:24px 22px;}html[data-rhythm="compacto"] .diff-card.featured{grid-row:auto;}html[data-rhythm="compacto"] .diff-cta-card{padding:28px 24px;}html[data-rhythm="compacto"] .pillar{padding:28px 26px;gap:20px;}html[data-rhythm="compacto"] .instruments{padding:24px 28px;}html[data-rhythm="compacto"] .confidence-line{margin-top:44px;padding-top:28px;font-size:clamp(20px,2.4vw,32px);}html[data-rhythm="compacto"] .faq-q{padding:18px 0;font-size:clamp(20px,2.2vw,28px);}html[data-rhythm="compacto"] .contact-form{padding:28px 26px;}html[data-rhythm="amplio"] section{padding:200px 40px;}html[data-rhythm="amplio"] .hero{min-height:106vh;padding-top:96px;padding-bottom:140px;}html[data-rhythm="amplio"] .hero h1{font-size:clamp(64px,11vw,168px);}html[data-rhythm="amplio"] .section-title{font-size:clamp(56px,8vw,128px);margin-bottom:36px;}html[data-rhythm="amplio"] .section-lede{font-size:21px;margin-bottom:80px;}html[data-rhythm="amplio"] .lead-message{font-size:clamp(28px,3.4vw,44px);margin-bottom:110px;}html[data-rhythm="amplio"] .gap-statement{font-size:clamp(32px,5vw,64px);margin-bottom:80px;}html[data-rhythm="amplio"] .signal-card{padding:36px 30px;}html[data-rhythm="amplio"] .method-step{padding:48px 32px 36px;}html[data-rhythm="amplio"] .diff-card{padding:40px 36px;}html[data-rhythm="amplio"] .diff-cta-card{padding:56px 48px;}html[data-rhythm="amplio"] .pillar{padding:48px 44px;gap:32px;}html[data-rhythm="amplio"] .container{max-width:1200px;}@media (prefers-reduced-motion:reduce){*{animation:none !important;transition-duration:0.01ms !important;}html[data-energy="brutal"] *,html[data-energy="brutal"] *::before,html[data-energy="brutal"] *::after{animation:none !important;}.scroll-cue{display:none;}}@keyframes slideIn{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}@keyframes skeleton-shine{0%{background-position:-1000px 0;}100%{background-position:1000px 0;}}.skeleton{background:linear-gradient( 90deg,rgba(232,98,10,0.1) 0%,rgba(232,98,10,0.15) 20%,rgba(232,98,10,0.1) 40%,rgba(232,98,10,0.1) 100% );background-size:1000px 100%;animation:skeleton-shine 2s infinite;border-radius:4px;}.skeleton-text{height:16px;margin-bottom:8px;}.skeleton-title{height:24px;margin-bottom:16px;}.skeleton-card{height:200px;margin-bottom:16px;}@media (max-width:768px){.hero{background-attachment:scroll;}.hero-orb,.hero-ring{display:none;}.signal-card,.method-step,.diff-card,.pillar{transition:box-shadow 0.3s ease;}@supports (pointer:coarse){html[data-energy="brutal"] .signal-card:hover,html[data-energy="brutal"] .method-step:hover,html[data-energy="brutal"] .diff-card:hover,html[data-energy="brutal"] .pillar:hover,html[data-energy="brutal"] .btn-primary:hover{transform:none !important;box-shadow:0 8px 20px rgba(0,0,0,0.2) !important;}}}@media (max-width:375px){:root{font-size:15px;}section{padding:50px 20px;}.hero{padding:40px 20px 60px;min-height:auto;background-size:cover;}.hero h1{font-size:clamp(32px,8vw,56px);margin-bottom:24px;}.hero-side{border-left:none;padding-left:0;margin-top:20px;}.hero-sub{font-size:16px;margin-bottom:20px;}.hero-pull{font-size:15px;padding:10px 14px;margin-bottom:20px;}.hero-strip{margin-top:40px;grid-template-columns:repeat(2,1fr);gap:0;}.strip-cell{padding:12px 16px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}.strip-cell:nth-child(odd):not(:last-child){border-right:1px solid var(--line);}.strip-cell:nth-child(even){border-right:none;}.strip-cell:nth-child(n+3){border-bottom:none;}.strip-cell .num{font-size:24px;}.btn{padding:12px 16px;font-size:12px;min-height:44px;width:100%;justify-content:center;}.nav-links{gap:16px;}nav.site-nav{padding:12px 20px;}nav.site-nav.scrolled{padding:10px 20px;}.section-title{font-size:clamp(28px,6vw,44px);margin-bottom:16px;}.section-lede{font-size:16px;margin-bottom:32px;}.container{max-width:100%;}}@media (max-height:600px) and (orientation:landscape){.hero{min-height:auto;padding:40px 40px;}.scroll-cue{display:none;}}@media (max-width:768px){.hero-grid{grid-template-columns:1fr;gap:30px;}.audience-content{grid-template-columns:1fr;gap:40px;}.contact-grid{grid-template-columns:1fr;gap:50px;}.pillars{grid-template-columns:1fr;border-left:none;}.pillar{flex-direction:column;align-items:center;text-align:center;border-left:none;}.pillar .pillar-num{min-width:auto;}.footer-grid{grid-template-columns:1fr;gap:40px;}.mock-dashboard{padding:20px;}.mock-foot{grid-template-columns:1fr;gap:16px;padding-top:16px;}.mock-foot .cell{padding:12px 0;border-right:none;border-bottom:1px solid var(--line);}.mock-foot .cell:last-child{border-bottom:none;}.form-row{grid-template-columns:1fr;gap:12px;}.audience-tabs{margin-bottom:40px;}.audience-tab{padding:14px 16px;font-size:12px;}}@media (max-width:768px){.form-group input,.form-group select,.form-group textarea{padding:16px 12px;font-size:16px;min-height:44px;}.form-group textarea{min-height:120px;}}@media (max-width:768px){.signal-grid{grid-template-columns:1fr;}.signal-card{padding:20px 18px;}}@media (max-width:768px){.method-flow{grid-template-columns:1fr;}.method-step{padding:24px 18px 18px;}}@media (max-width:768px){.diff-grid{grid-template-columns:1fr;}.diff-card{padding:20px 18px;}.diff-card.featured{grid-row:auto;}}@media (max-width:768px){.nav-links{gap:12px;}.nav-links a:not(.nav-cta){font-size:12px;padding:2px 0;}.nav-logo img{width:32px;height:32px;}.nav-logo .lock{font-size:18px;}.nav-logo .tag{font-size:8px;}}@media (max-width:768px){.contact-channel{gap:14px;padding:14px 0;}.ch-icon{width:40px;height:40px;}.contact-channel .ch-value{font-size:18px;}}@media (max-width:768px){.faq-q{padding:16px 0;font-size:clamp(18px,4vw,24px);gap:12px;}.faq-q .icon{width:32px;height:32px;font-size:18px;}.faq-item.open{padding-left:12px;}.faq-a{font-size:15px;max-height:500px;}}@media (max-width:768px){.btn{padding:12px 16px;gap:8px;font-size:12px;width:100%;justify-content:center;}.nav-cta{padding:9px 14px;font-size:11px;}}@media (max-width:768px){.hero-side{border-left:none;padding-left:0;margin-top:20px;}.hero-sub{font-size:15px;line-height:1.5;}.hero-actions{flex-direction:column;}.hero-actions .btn{width:100%;}}

/* Base home styles */
:root{
    --bg:#1A1A14;
    --bg-deep:#13130E;
    --cream:#F2EDE4;
    --cream-deep:#E8E1D2;
    --orange:#E8620A;
    --orange-soft:#F2854A;
    --orange-glow:rgba(232,98,10,0.35);
    --ink:#F0EBE0;
    --ink-dim:rgba(240,235,224,0.90);
    --ink-faint:rgba(240,235,224,0.65);
    --ink-dark:#1A1A14;
    --muted:#9D9D8A;
    --line:rgba(240,235,224,0.08);
    --line-strong:#2E2E24;

    /* --- Z-INDEX SCALE ---
       Stacking context hierarchy for layering elements consistently:
       - Base: Default flow (0)
       - Content: Above base content (10)
       - Sticky: Fixed/sticky headers/footers (20)
       - Modal: Modal/drawer overlays (100)
       - Tooltip: Tooltips & popovers (1000) */
    --z-base: 0;
    --z-content: 10;
    --z-sticky: 20;
    --z-modal: 100;
    --z-tooltip: 1000;
    --nav-offset: 36px;
    --site-nav-height: 84px;
    --mobile-nav-height: 0px;
    --chrome-height: calc(var(--nav-offset) + var(--site-nav-height) + var(--mobile-nav-height));
  }

  .word-delay-1 { animation-delay: .1s; }
  .word-delay-2 { animation-delay: .2s; }
  .word-delay-3 { animation-delay: .3s; }
  .word-delay-4 { animation-delay: .4s; }
  .word-delay-5 { animation-delay: .5s; }

  .icon-14 { width: 14px; height: 14px; }
  .icon-16 { width: 16px; height: 16px; }
  .icon-20 { width: 20px; height: 20px; }
  .icon-22 { width: 22px; height: 22px; }
  .icon-24 { width: 24px; height: 24px; }

  .title-wide { max-width: 1100px; }
  .diff-cta-card { text-decoration: none; }
  .instruments-note { margin-top: 28px; margin-bottom: 0; }
  .faq-title { margin-bottom: 70px; }
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; max-width: 100%; overflow-x: hidden; }

  /* Skip link for keyboard navigation */
  .skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--orange);
    color: var(--ink-dark);
    padding: 8px 12px;
    text-decoration: none;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    z-index: var(--z-tooltip);
  }
  .skip-link:focus {
    top: 0;
    outline: none;
  }

  body {
    font-family: 'DM Sans', sans-serif;
    background: var(--bg);
    color: var(--ink);
    -webkit-font-smoothing: antialiased;
    line-height: 1.55;
    overflow-x: hidden;
    font-size: 17px;
    padding-top: var(--chrome-height);
  }
  body.brand-intro-lock {
    overflow: hidden;
  }
  body.brand-intro-lock .nav-logo img {
    opacity: 0;
  }
  .scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    transform-origin: 0 50%;
    transform: scaleX(0);
    background: linear-gradient(90deg, var(--orange), #ffd3ad);
    box-shadow: 0 0 24px var(--orange-glow);
    z-index: var(--z-tooltip);
    pointer-events: none;
  }
  .cursor-aura {
    position: fixed;
    width: 340px;
    height: 340px;
    border-radius: 999px;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle, rgba(255,122,31,0.16), rgba(255,122,31,0.05) 34%, transparent 68%);
    filter: blur(12px);
    transition: opacity 0.25s ease;
    mix-blend-mode: screen;
  }
  .brand-intro {
    position: fixed;
    inset: 0;
    z-index: 2400;
    display: none;
    place-items: center;
    padding: 28px;
    background: transparent;
    overflow: hidden;
    pointer-events: none;
  }
  .js .brand-intro {
    display: grid;
  }
  .brand-intro::before {
    content: '';
    position: absolute;
    inset: -20%;
    background:
      linear-gradient(115deg, transparent 0 36%, rgba(255,122,31,0.16) 44%, transparent 56%),
      repeating-linear-gradient(90deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 120px),
      radial-gradient(circle at 22% 18%, rgba(255,122,31,0.18), transparent 32%),
      radial-gradient(circle at 78% 82%, rgba(0,90,58,0.34), transparent 38%),
      linear-gradient(135deg, #090a06 0%, #11130e 48%, #06150f 100%);
    opacity: 1;
    transform: translateX(-8%);
    transition: opacity 460ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  .brand-intro::after {
    content: '';
    position: absolute;
    width: min(54vw, 620px);
    aspect-ratio: 1;
    border: 1px solid rgba(255,122,31,0.28);
    border-radius: 50%;
    box-shadow: 0 0 90px rgba(255,122,31,0.16);
    animation: introRing 1.45s cubic-bezier(0.16, 1, 0.3, 1) both;
    transition: opacity 460ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  .brand-intro-mark {
    width: clamp(260px, 34vw, 460px);
    aspect-ratio: 1;
    position: relative;
    z-index: 1;
    border-radius: 36px;
    overflow: hidden;
    box-shadow:
      0 0 0 1px rgba(255,255,255,0.09),
      0 26px 90px rgba(0,0,0,0.55),
      0 0 80px rgba(255,122,31,0.22);
    transform: translate3d(0, 20px, 0) scale(0.92);
    transform-origin: center center;
    opacity: 0;
    filter: saturate(1.06) contrast(1.04);
    transition:
      transform 980ms cubic-bezier(0.22, 1, 0.36, 1),
      border-radius 980ms cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 980ms cubic-bezier(0.22, 1, 0.36, 1),
      opacity 320ms ease,
      filter 980ms ease;
  }
  .brand-intro-mark img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
  }
  .brand-intro.is-ready .brand-intro-mark {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
  }
  .brand-intro.is-flying .brand-intro-mark {
    transform: translate3d(var(--brand-flight-x, 0px), var(--brand-flight-y, 0px), 0) scale(var(--brand-flight-scale, 0.16));
    border-radius: 16px;
    box-shadow:
      0 0 0 4px rgba(255,122,31,0.14),
      0 14px 34px rgba(0,0,0,0.34);
    filter: saturate(1.08) contrast(1.04);
  }
  .brand-intro.is-flying::before,
  .brand-intro.is-flying::after {
    opacity: 0;
  }
  .brand-intro.is-done {
    opacity: 0;
    visibility: hidden;
    transition: opacity 300ms ease, visibility 300ms ease;
  }
  .nav-logo.brand-landed img {
    animation: navLogoArrival 720ms cubic-bezier(0.16, 1, 0.3, 1);
  }
  @keyframes introRing {
    from { transform: scale(0.78); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
  }
  @keyframes navLogoArrival {
    0% {
      transform: scale(0.84);
      box-shadow:
        0 0 0 0 rgba(255,122,31,0.38),
        0 12px 28px rgba(0,0,0,0.28);
    }
    55% {
      transform: scale(1.025);
      box-shadow:
        0 0 0 5px rgba(255,122,31,0.12),
        0 16px 34px rgba(0,0,0,0.32);
    }
    100% { transform: scale(1); }
  }
  ::selection{ background: var(--orange); color: var(--ink-dark); }

  /* -- NOISE / GRAIN -- */
  body::before{
    content:'';
    position:fixed; inset:0;
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
    opacity: 0.6;
    mix-blend-mode: overlay;
    pointer-events:none;
    z-index: var(--z-tooltip);
  }

  h1,h2,h3,h4,h5{ font-family: 'Anton', 'Barlow Condensed', sans-serif; font-weight: 400; letter-spacing: 0.005em; }

  /* -- TOP STRIP -- */
  .top-strip {
    background: var(--bg-deep);
    color: var(--ink);
    text-align: center;
    padding: max(9px, env(safe-area-inset-top)) 48px 9px 24px;
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--line);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 110;
  }
  .top-strip a {
    color: var(--orange);
    text-decoration: none;
    font-weight: 700;
    border-bottom: 1px solid var(--orange);
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .top-strip .close {
    position: absolute;
    right: 12px;
    top: 50%;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    cursor: pointer;
    opacity: 0.65;
  }
  .top-strip button.close { background: transparent; border: 0; color: currentColor; font: inherit; }
  .top-strip .close:hover { opacity: 1; }

  /* -- NAV -- */
  nav.site-nav {
    background: rgba(26,26,20,0.72);
    border-bottom: 1px solid transparent;
    padding: 18px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: fixed;
    left: 0;
    right: 0;
    top: var(--nav-offset);
    z-index: 100;
    backdrop-filter: blur(14px);
    transition: top 0.3s, backdrop-filter 0.3s, background 0.3s, border-color 0.3s, padding 0.3s, box-shadow 0.3s;
  }
  nav.site-nav.scrolled {
    backdrop-filter: blur(16px);
    background: rgba(19,19,14,0.92);
    border-bottom-color: var(--line);
    padding: 12px 40px;
    box-shadow: 0 16px 50px rgba(0,0,0,0.26);
  }
  main { position: relative; }
  .nav-logo {
    display: flex; align-items: center; gap: 14px;
    color: var(--ink);
    text-decoration: none;
    min-height: 60px;
    transition: opacity 0.25s;
  }
  .nav-logo:hover { opacity: 0.85; }
  .nav-logo img {
    width: 58px;
    height: 58px;
    box-sizing: border-box;
    border-radius: 16px;
    object-fit: cover;
    object-position: center;
    background: #08120d;
    border: 1px solid rgba(255,122,31,0.55);
    box-shadow:
      0 0 0 3px rgba(255,122,31,0.1),
      0 14px 30px rgba(0,0,0,0.32);
    filter: saturate(1.08) contrast(1.04);
    transition: transform 0.4s, box-shadow 0.4s;
  }
  .nav-logo:hover img { transform: rotate(-6deg); }
  .nav-logo .lock {
    font-family: 'Anton', sans-serif;
    font-size: 22px;
    letter-spacing: 0.02em;
    line-height: 1;
    color: var(--ink);
    text-transform: uppercase;
  }
  .nav-logo .tag {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 500;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--orange);
    display: block;
    margin-top: 1px;
  }
  .nav-links { display: flex; gap: 32px; align-items: center; }
  .nav-links a:not(.nav-cta) {
    color: var(--ink);
    text-decoration: none;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    position: relative;
    padding: 4px 0;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    transition: color 0.2s;
  }
  .nav-links a:not(.nav-cta)::after{
    content:''; position:absolute; left:0; right:0; bottom:-3px;
    height:2px; background:var(--orange);
    transform: scaleX(0); transform-origin:left;
    transition: transform 0.3s ease;
  }
  .nav-links a:not(.nav-cta):hover{ color: var(--orange); }
  .nav-links a:not(.nav-cta):hover::after,
  .nav-links a:not(.nav-cta).active::after { transform: scaleX(1); }
  .nav-links a:not(.nav-cta).active { color: var(--orange); }
  .nav-links a:not(.nav-cta):focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 4px;
    border-radius: 2px;
  }
  .mobile-section-nav {
    display: none;
  }

  /* -- BUTTONS -- */
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 22px;
    min-height: 44px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    border: 2px solid var(--orange);
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(.4,0,.2,1);
    position: relative;
    overflow: hidden;
  }
  .btn-primary {
    background: var(--orange);
    color: var(--ink-dark);
  }
  .btn-primary:hover {
    background: var(--bg);
    color: var(--orange);
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.4);
  }
  .btn-primary:active {
    transform: translateY(0px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  }
  .btn-primary i { transition: transform 0.25s; }
  .btn-primary:hover i { transform: translateX(4px); }
  .btn-ghost {
    background: transparent;
    color: var(--ink);
    border-color: rgba(240,235,224,0.3);
  }
  .btn-ghost:hover { border-color: var(--orange); color: var(--orange); transform: translateY(-2px); }
  .btn-ghost:active {
    border-color: var(--orange);
    color: var(--orange);
    transform: translateY(0px);
    background: rgba(232,98,10,0.1);
  }
  .btn:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 2px;
  }
  .btn:active {
    transform: scale(0.98);
    opacity: 0.9;
  }
  .btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
  }
  .nav-cta { padding: 11px 18px; font-size: 13px; }

  /* -- EYEBROW -- */
  .eyebrow{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 32px;
  }
  .eyebrow::before{
    content:'';
    width: 32px; height: 1px;
    background: var(--orange);
  }

  /* -- SECTION HEADLINES -- */
  .section-title{
    font-family: 'Anton', sans-serif;
    font-size: clamp(48px, 7vw, 104px);
    line-height: 0.95;
    letter-spacing: 0.005em;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: 28px;
  }
  .gap-title {
    line-height: 1.08;
    max-width: 1160px;
  }
  .gap-title .title-line {
    display: block;
    line-height: 1.04;
  }
  .gap-title .highlight {
    display: block;
    width: fit-content;
    margin-top: 0.18em;
    padding: 0.04em 0.18em 0.08em;
    line-height: 1.02;
  }
  .on-cream .section-title{ color: var(--ink-dark); }
  .highlight {
    background: var(--orange);
    color: var(--ink-dark);
    padding: 0 0.18em 0.06em;
    display: inline-block;
    line-height: 1;
  }
  .accent-text{ color: var(--orange); }

  .section-lede {
    font-size: 19px;
    line-height: 1.55;
    color: var(--ink-dim);
    max-width: 720px;
    margin-bottom: 60px;
  }
  .section-lede.single-line-lede {
    max-width: none;
    white-space: nowrap;
  }
  .on-cream .section-lede { color: #4a4a3d; }

  section { padding: 140px 40px; position: relative; }
  section[id] { scroll-margin-top: 112px; }
  .container { max-width: 1320px; margin: 0 auto; }
  .container,
  .contact-grid,
  .contact-form,
  .contact-channel,
  .gap-pull {
    min-width: 0;
  }

  /* -- HERO -- */
  .hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 80px 40px 120px;
    background:
      radial-gradient(circle at 78% 58%, rgba(255,122,31,0.22), transparent 28%),
      linear-gradient(90deg, rgba(12,12,8,0.96) 0%, rgba(12,12,8,0.86) 41%, rgba(12,12,8,0.34) 69%, rgba(12,12,8,0.12) 100%);
    overflow: hidden;
  }
  .hero-bg-grid{
    position: absolute; inset: 0;
    background-image:
      linear-gradient(rgba(240,235,224,0.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(240,235,224,0.025) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events:none;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 30%, transparent 80%);
  }
  .hero-orb{
    position:absolute;
    right:-300px; top:50%;
    width: 900px; height: 900px;
    border-radius: 50%;
    transform: translateY(-50%);
    pointer-events:none;
    background: radial-gradient(circle at 30% 30%, rgba(232,98,10,0.15), transparent 60%);
    filter: blur(40px);
    animation: orbPulse 12s ease-in-out infinite alternate;
  }
  @keyframes orbPulse{
    0% { transform: translateY(-50%) scale(1); opacity: 0.7; }
    100% { transform: translateY(-50%) scale(1.1); opacity: 1; }
  }
  .hero-ring{
    position:absolute;
    right:-200px; top:50%;
    width:900px; height:900px;
    border:1px solid rgba(232,98,10,0.18);
    border-radius:50%;
    transform:translateY(-50%);
    pointer-events:none;
    animation: spinSlow 80s linear infinite;
  }
  .hero-ring.r2{ width:700px; height:700px; right:-100px; border-color: rgba(232,98,10,0.1); animation: spinSlow 60s linear infinite reverse; }
  @keyframes spinSlow{ to { transform: translateY(-50%) rotate(360deg); } }

  .hero-content { position: relative; max-width: 1320px; margin: 0 auto; width: 100%; z-index: 2; }
  .hero-grid {
    display: grid;
    grid-template-columns: 1fr 0.95fr;
    gap: 50px;
    align-items: center;
  }
  .hero-img-col {
    display: block;
    position: absolute;
    inset: -70px -290px -120px auto;
    width: min(940px, 66vw);
    height: calc(100% + 190px);
    z-index: -1;
    overflow: hidden;
    opacity: 0.98;
    filter: saturate(1.08) contrast(1.04);
    mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
  }
  .hero-img-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
    display: block;
  }
  .hero-img-col::after {
    content: '';
    position: absolute;
    inset: 0;
    height: auto;
    background:
      linear-gradient(90deg, rgba(26,26,20,0.82), transparent 28%, transparent 72%, rgba(26,26,20,0.34)),
      linear-gradient(0deg, rgba(26,26,20,0.74), transparent 38%);
    pointer-events: none;
  }
  .hero h1 {
    font-family: 'Anton', sans-serif;
    font-weight: 400;
    font-size: clamp(50px, 7vw, 112px);
    line-height: 0.94;
    letter-spacing: 0.005em;
    color: #ffffff;
    text-transform: uppercase;
    margin-bottom: 36px;
    max-width: 760px;
  }
  .hero h1 .word{
    display: inline-block;
    opacity: 0;
    transform: translateY(40px);
    animation: wordReveal 0.7s cubic-bezier(.4,0,.2,1) forwards;
  }
  .hero h1 .word-wide {
    font-size: 0.83em;
  }
  @keyframes wordReveal{
    to { opacity: 1; transform: translateY(0); }
  }
  .hero h1 .pulse-block{
    display: inline-block;
    background: var(--orange);
    color: var(--ink-dark);
    padding: 0.12em 0.16em 0.08em;
    line-height: 1.14;
    box-shadow: 0 0 0 0 var(--orange-glow);
    animation: wordReveal 0.7s cubic-bezier(.4,0,.2,1) 1s forwards, blockPulse 1.6s ease-out 1.6s 1;
    opacity: 0;
    transform: translateY(40px);
  }
  @keyframes blockPulse{
    0% { box-shadow: 0 0 0 0 var(--orange-glow); }
    50% { box-shadow: 0 0 0 24px transparent; }
    100% { box-shadow: 0 0 0 0 transparent; }
  }
  .hero-subline {
    max-width: 690px;
    margin: -12px 0 28px;
    color: rgba(255,255,255,0.86);
    font-size: clamp(17px, 1.6vw, 22px);
    line-height: 1.55;
    opacity: 0;
    animation: fadeIn 0.9s ease 0.85s forwards;
  }

  .hero-side {
    border-left: 1px solid rgba(255,255,255,0.3);
    padding-left: 40px;
    opacity: 0;
    animation: fadeIn 0.9s ease 0.7s forwards;
  }
  @keyframes fadeIn { to { opacity: 1; } }
  .hero-sub {
    font-size: 18px;
    line-height: 1.6;
    color: #e0e0e0;
    margin-bottom: 28px;
  }
  .hero-pull {
    border: 1px solid rgba(255,122,31,0.45);
    padding: 12px 18px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 17px;
    letter-spacing: 0.02em;
    color: #ffffff;
    margin-bottom: 32px;
    line-height: 1.4;
    background: rgba(0,0,0,0.2);
  }
  .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

  .hero-eyebrow{
    opacity: 0;
    animation: fadeIn 0.6s ease 0.2s forwards;
    color: #FF7A1F;
  }

  /* Hero stat strip */
  .hero-strip{
    position: relative;
    margin-top: 100px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    opacity: 0;
    animation: fadeIn 0.9s ease 1.2s forwards;
  }
  .strip-cell{
    padding: 22px 24px;
    border-right: 1px solid var(--line);
  }
  .strip-cell:last-child{ border-right: none; }
  .strip-cell .num{
    font-family: 'Anton', sans-serif;
    font-size: 38px;
    color: var(--orange);
    line-height: 1;
    margin-bottom: 6px;
  }
  .strip-cell .lbl{
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ink-dim);
    line-height: 1.4;
  }
  .signal-ticker {
    margin-top: 18px;
    border: 1px solid rgba(240,235,224,0.1);
    background: rgba(19,19,14,0.54);
    overflow: hidden;
    opacity: 0;
    animation: fadeIn 0.9s ease 1.35s forwards;
  }
  .signal-ticker-track {
    display: flex;
    gap: 14px;
    width: max-content;
    padding: 12px 14px;
    animation: tickerMove 34s linear infinite;
  }
  .signal-ticker span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    white-space: nowrap;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    color: rgba(240,235,224,0.8);
  }
  .signal-ticker span::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--orange);
    box-shadow: 0 0 16px var(--orange-glow);
  }
  @keyframes tickerMove {
    to { transform: translateX(-50%); }
  }

  /* Scroll indicator */
  .scroll-cue{
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: var(--ink-dim);
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    z-index: 3;
    opacity: 0;
    animation: fadeIn 0.6s ease 1.5s forwards;
  }
  .scroll-cue .line{
    width: 1px; height: 40px;
    background: linear-gradient(180deg, var(--orange), transparent);
    position: relative;
    overflow: hidden;
  }
  .scroll-cue .line::after{
    content:''; position:absolute; left:0; right:0; height: 12px; background: var(--orange);
    animation: scrollDot 2s ease-in-out infinite;
  }
  @keyframes scrollDot{
    0% { top: -12px; }
    100% { top: 40px; }
  }

  /* -- REVEAL (scroll-triggered) -- */
  .reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(.4,0,.2,1), transform 0.8s cubic-bezier(.4,0,.2,1);
  }
  .reveal.visible { opacity: 1; transform: translateY(0); }
  .reveal-stagger > * {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s cubic-bezier(.4,0,.2,1), transform 0.7s cubic-bezier(.4,0,.2,1);
  }
  .reveal-stagger.visible > *:nth-child(1) { transition-delay: 0.0s; opacity:1; transform:translateY(0); }
  .reveal-stagger.visible > *:nth-child(2) { transition-delay: 0.06s; opacity:1; transform:translateY(0); }
  .reveal-stagger.visible > *:nth-child(3) { transition-delay: 0.12s; opacity:1; transform:translateY(0); }
  .reveal-stagger.visible > *:nth-child(4) { transition-delay: 0.18s; opacity:1; transform:translateY(0); }
  .reveal-stagger.visible > *:nth-child(5) { transition-delay: 0.24s; opacity:1; transform:translateY(0); }
  .reveal-stagger.visible > *:nth-child(6) { transition-delay: 0.30s; opacity:1; transform:translateY(0); }
  .reveal-stagger.visible > *:nth-child(7) { transition-delay: 0.36s; opacity:1; transform:translateY(0); }
  .reveal-stagger.visible > *:nth-child(8) { transition-delay: 0.42s; opacity:1; transform:translateY(0); }

  /* -- LA BRECHA -- */
  .gap-section { background: var(--bg); }
  .gap-statement {
    font-family: 'Anton', sans-serif;
    font-size: clamp(28px, 4vw, 56px);
    line-height: 1.05;
    letter-spacing: 0.005em;
    text-transform: uppercase;
    color: var(--ink);
    max-width: 1100px;
    margin-bottom: 60px;
  }
  .gap-statement mark{
    background: var(--orange);
    color: var(--ink-dark);
    padding: 0 0.16em 0.04em;
    display: inline-block;
    line-height: 1;
  }
  .gap-statement em{ font-style: normal; color: var(--orange); }

  .gap-pull{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 40px;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    padding: 36px 0;
    margin: 60px 0;
  }
  .gap-pull .big-num{
    font-family: 'Anton', sans-serif;
    font-size: clamp(80px, 12vw, 160px);
    line-height: 0.85;
    color: var(--orange);
  }
  .gap-pull .big-num small{
    font-size: 0.4em;
    color: var(--ink);
    display: block;
    margin-top: 8px;
    line-height: 1;
  }
  .gap-pull .body{
    align-self: center;
  }
  .gap-pull .body p{
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.4;
    color: var(--ink);
    margin-bottom: 8px;
    letter-spacing: 0.005em;
  }
  .gap-pull .body small{
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--muted);
  }

  /* -- SEÑALES (7 cards) -- */
  .signal-label{
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 28px;
    display: block;
  }
  .signal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
  }
  .signal-card {
    background: rgba(240,235,224,0.02);
    border: 1px solid var(--line-strong);
    padding: 28px 26px;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
    position: relative;
    overflow: hidden;
  }
  .signal-card::before{
    content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
    background: var(--orange);
    transform: scaleY(0); transform-origin: top;
    transition: transform 0.35s ease;
  }
  .signal-card:hover {
    border-color: rgba(232,98,10,0.4);
    transform: translateY(-4px);
    box-shadow: 0 14px 40px rgba(0,0,0,0.3), 0 0 40px rgba(232,98,10,0.08);
  }
  .signal-card:hover::before {
    transform: scaleY(1);
  }
  .signal-card:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 2px;
  }
  .signal-card .num {
    font-family: 'Anton', sans-serif;
    font-size: 42px;
    color: var(--orange);
    line-height: 1;
    margin-bottom: 18px;
    display: block;
  }
  .signal-card h3 {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 19px;
    color: var(--ink);
    letter-spacing: 0.005em;
    line-height: 1.2;
    text-transform: none;
  }

  .gap-disclaimer {
    margin-top: 56px;
    padding: 24px 28px;
    border: 1px solid var(--line-strong);
    background: rgba(232,98,10,0.05);
    font-size: 15px;
    color: var(--ink-dim);
    line-height: 1.6;
    max-width: 820px;
  }
  .gap-disclaimer strong{ color: var(--orange); font-weight: 600; }

  /* -- METODOLOGÍA -- */
  .what-section {
    background: var(--cream);
    color: var(--ink-dark);
  }
  .what-section .eyebrow{ color: var(--orange); }
  .what-section .eyebrow::before{ background: var(--orange); }
  .lead-message {
    font-family: 'Anton', sans-serif;
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1.15;
    text-transform: uppercase;
    color: var(--ink-dark);
    max-width: 1000px;
    margin-bottom: 90px;
  }
  .lead-message mark {
    background: var(--orange);
    color: var(--ink-dark);
    padding: 0 0.14em 0.04em;
    display: inline-block;
    line-height: 1;
  }

  .method-flow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    position: relative;
  }
  /* Connector line between method steps */
  .method-flow::before{
    content:'';
    position: absolute;
    top: 56px;
    left: 5%; right: 5%;
    border-top: 2px dashed rgba(232,98,10,0.4);
    z-index: 0;
    pointer-events: none;
  }
  .method-step {
    background: #fff;
    border: 1px solid var(--cream-deep);
    padding: 38px 26px 28px;
    position: relative;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
    overflow: hidden;
    z-index: 1;
  }
  .method-step::after{
    content:''; position:absolute; left:0; right:0; bottom:0; height:3px;
    background: var(--orange);
    transform: scaleX(0); transform-origin: left;
    transition: transform 0.4s ease;
  }
  .method-step:hover {
    border-color: var(--orange);
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(26,26,20,0.12);
  }
  .method-step:hover::after {
    transform: scaleX(1);
  }
  .method-step:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 2px;
  }
  .ghost-num{
    position: absolute;
    top: 8px; right: 18px;
    font-family: 'Anton', sans-serif;
    font-size: 88px;
    line-height: 0.85;
    color: rgba(232,98,10,0.08);
    pointer-events: none;
  }
  .method-step .step-num {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: var(--orange);
    letter-spacing: 0.22em;
    margin-bottom: 16px;
    text-transform: uppercase;
    position: relative;
  }
  .method-step h3 {
    font-family: 'Anton', sans-serif;
    font-size: 30px;
    color: var(--ink-dark);
    margin-bottom: 12px;
    text-transform: uppercase;
    line-height: 1;
    position: relative;
  }
  .method-step p {
    font-size: 14.5px;
    line-height: 1.55;
    color: #4a4a3d;
    position: relative;
  }

  .clarifications {
    margin-top: 64px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    border-top: 1px solid var(--cream-deep);
    border-bottom: 1px solid var(--cream-deep);
  }
  .clarification {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-size: 14.5px;
    color: #3d3d30;
    line-height: 1.55;
    padding: 28px 28px;
    border-right: 1px solid var(--cream-deep);
    transition: background 0.25s;
  }
  .clarification:last-child{ border-right: none; }
  .clarification:hover{ background: rgba(232,98,10,0.04); }
  .clarification i {
    color: var(--orange);
    flex-shrink: 0;
  }
  .clarification strong{ color: var(--ink-dark); font-weight: 600; }

  /* -- POR QUÉ SEÍNA - magazine grid -- */
  .differential-section { background: var(--bg); }
  .diff-mag {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: minmax(220px, auto);
    gap: 14px;
  }
  .diff-card {
    background: rgba(240,235,224,0.02);
    border: 1px solid var(--line-strong);
    padding: 32px 30px;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
  }
  .diff-card::before{
    content:''; position:absolute; inset:0;
    background: radial-gradient(circle at 30% 30%, rgba(232,98,10,0.1), transparent 70%);
    opacity: 0;
    transition: opacity 0.4s;
    pointer-events: none;
  }
  .diff-card:hover {
    border-color: rgba(232,98,10,0.4);
    transform: translateY(-4px);
    box-shadow: 0 14px 40px rgba(0,0,0,0.35);
  }
  .diff-card:hover::before {
    opacity: 1;
  }
  .diff-card.cycle-card {
    border-color: rgba(255,122,31,0.58);
    background:
      radial-gradient(circle at 80% 18%, rgba(255,122,31,0.24), transparent 32%),
      linear-gradient(145deg, rgba(255,122,31,0.08), rgba(240,235,224,0.02));
  }
  .cycle-pill {
    display: inline-flex;
    width: fit-content;
    margin: 18px 0 0;
    padding: 8px 12px;
    border: 1px solid rgba(255,122,31,0.48);
    color: #ffd3ad;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    background: rgba(255,122,31,0.08);
  }
  .diff-card:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 2px;
  }
  .diff-card .icon-wrap{
    width: 48px; height: 48px;
    border: 1px solid rgba(232,98,10,0.4);
    background: rgba(232,98,10,0.08);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 22px;
    transition: all 0.3s;
  }
  .diff-card:hover .icon-wrap{ background: var(--orange); border-color: var(--orange); }
  .diff-card:hover .icon-wrap i,
  .diff-card:hover .icon-wrap svg{ color: var(--ink-dark); stroke: currentColor; }
  .diff-card .icon-wrap i,
  .diff-card .icon-wrap svg{
    color: var(--orange);
    stroke: currentColor;
    stroke-width: 2.2;
    transition: color 0.3s;
  }
  .diff-card .diff-num {
    position: absolute; top: 24px; right: 24px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: rgba(232,98,10,0.7);
    letter-spacing: 0.18em;
  }
  .diff-card h3 {
    font-family: 'Anton', sans-serif;
    font-size: 30px;
    color: var(--ink);
    margin-bottom: 14px;
    line-height: 1;
    text-transform: uppercase;
    position: relative;
  }
  .diff-card p {
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--ink-dim);
    position: relative;
  }
  /* Featured large cards: top row */
  .diff-card.featured { grid-column: span 3; grid-row: span 2; }
  .diff-card.featured h3 { font-size: clamp(36px, 4vw, 56px); margin-bottom: 18px; }
  .diff-card.featured p { font-size: 16px; max-width: 480px; }
  /* Mid row 3 cards */
  .diff-card.mid { grid-column: span 2; }
  /* Bottom row 2 cards */
  .diff-card.wide { grid-column: span 3; }
  /* CTA card - full orange fill */
  .diff-cta-card {
    grid-column: span 3;
    background: var(--orange);
    color: var(--ink-dark);
    border: none;
    padding: 40px 36px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.35s cubic-bezier(.4,0,.2,1);
    position: relative;
    overflow: hidden;
  }
  .diff-cta-card::before{
    content:'→';
    position: absolute;
    right: -10px; bottom: -40px;
    font-family: 'Anton', sans-serif;
    font-size: 280px;
    line-height: 1;
    color: rgba(26,26,20,0.08);
    pointer-events: none;
  }
  .diff-cta-card:hover { background: var(--ink-dark); color: var(--orange); transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0,0,0,0.4); }
  .diff-cta-card:hover::before{ color: rgba(232,98,10,0.15); }
  .diff-cta-card h3 {
    font-family: 'Anton', sans-serif;
    font-size: clamp(36px, 4vw, 52px);
    color: inherit;
    margin-bottom: 14px;
    line-height: 1;
    text-transform: uppercase;
    position: relative;
  }
  .diff-cta-card p {
    font-size: 16px;
    line-height: 1.5;
    color: inherit;
    opacity: 0.85;
    margin-bottom: 28px;
    max-width: 440px;
    position: relative;
  }
  .diff-cta-card .arrow{
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: inherit;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-bottom: 2px solid currentColor;
    padding-bottom: 4px;
    align-self: flex-start;
    position: relative;
    transition: gap 0.25s;
  }
  .diff-cta-card .arrow {
    position: relative;
  }
  .diff-cta-card .arrow:hover {
    gap: 18px;
  }
  .diff-cta-card .arrow:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
    border-radius: 2px;
  }

  /* -- AUDIENCIAS -- */
  .audience-section {
    background: var(--cream);
    color: var(--ink-dark);
  }
  .audience-tabs {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--cream-deep);
    margin-bottom: 60px;
    flex-wrap: wrap;
  }
  .audience-tab {
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    padding: 18px 24px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--muted);
    cursor: pointer;
    transition: all 0.25s;
    margin-bottom: -1px;
  }
  .audience-tab.active {
    color: var(--ink-dark);
    border-bottom-color: var(--orange);
  }
  .audience-tab:hover { color: var(--ink-dark); }
  .audience-content {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 70px;
    align-items: start;
  }
  .audience-text h3 {
    font-family: 'Anton', sans-serif;
    font-size: clamp(36px, 4vw, 56px);
    color: var(--ink-dark);
    margin-bottom: 22px;
    line-height: 0.95;
    text-transform: uppercase;
  }
  .audience-text p {
    font-size: 17px;
    line-height: 1.6;
    color: #3d3d30;
    margin-bottom: 24px;
  }
  .audience-bullets {
    list-style: none;
    margin: 28px 0;
  }
  .audience-bullets li {
    padding: 14px 0;
    border-bottom: 1px solid var(--cream-deep);
    font-size: 15px;
    color: #3d3d30;
    display: flex;
    gap: 14px;
    transition: all 0.25s;
  }
  .audience-bullets li:hover{ padding-left: 8px; color: var(--ink-dark); }
  .audience-bullets li::before {
    content: '→';
    color: var(--orange);
    font-weight: 700;
    flex-shrink: 0;
    transition: transform 0.25s;
  }
  .audience-bullets li:hover::before{ transform: translateX(4px); }
  .audience-cta {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--orange);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    gap: 8px;
    border-bottom: 2px solid var(--orange);
    padding: 4px 0;
    transition: gap 0.25s, opacity 0.25s;
    position: relative;
  }
  .audience-cta:hover {
    gap: 14px;
    opacity: 0.85;
  }
  .audience-cta:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 4px;
    border-radius: 2px;
  }

  /* Mock Dashboard */
  .mock-dashboard{
    background: var(--ink-dark);
    color: var(--ink);
    padding: 28px;
    border: 1px solid var(--line-strong);
    box-shadow: 0 24px 60px rgba(26,26,20,0.18);
    position: relative;
    overflow: hidden;
    transform-style: preserve-3d;
  }
  .mock-dashboard::before{
    content:''; position:absolute; top:0; left:0; right:0; height: 3px; background: var(--orange);
  }
  .mock-dashboard::after{
    content:'';
    position:absolute;
    inset:-35% auto auto -35%;
    width:70%;
    height:70%;
    background: radial-gradient(circle, rgba(255,122,31,0.15), transparent 62%);
    transform: translate3d(var(--tilt-x, 0), var(--tilt-y, 0), 0);
    pointer-events:none;
  }
  .mock-head{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 24px;
  }
  .mock-head .ds-label{
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.22em;
    color: var(--orange);
    text-transform: uppercase;
    margin-bottom: 8px;
  }
  .mock-head h4{
    font-family: 'Anton', sans-serif;
    font-size: 28px;
    color: var(--ink);
    text-transform: uppercase;
    line-height: 0.95;
  }
  .mock-head h4 small{ display: block; font-size: 13px; color: var(--ink-dim); font-family: 'DM Sans', sans-serif; font-weight: 400; margin-top: 6px; letter-spacing: 0; }
  .mock-status{
    background: rgba(232,98,10,0.12);
    border: 1px solid rgba(232,98,10,0.4);
    padding: 6px 12px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px;
    color: var(--orange-soft);
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
  .mock-status.green{ background: rgba(80,160,90,0.12); border-color: rgba(80,160,90,0.4); color: #8ec797; }
  .mock-bars{ display: flex; flex-direction: column; gap: 18px; margin-bottom: 24px; }
  .mock-bar .row{ display: flex; justify-content: space-between; margin-bottom: 8px; }
  .mock-bar .label{ font-family: 'Barlow Condensed', sans-serif; font-weight: 600; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-dim); }
  .mock-bar .val{ font-family: 'JetBrains Mono', monospace; font-size: 12px; color: var(--ink); font-weight: 500; }
  .mock-bar .track{
    height: 6px;
    background: rgba(240,235,224,0.06);
    position: relative;
    overflow: hidden;
  }
  .mock-bar .fill{
    position: absolute; left: 0; top: 0; bottom: 0;
    background: linear-gradient(90deg, var(--orange), var(--orange-soft));
    width: 0%;
    transition: width 0.9s cubic-bezier(.4,0,.2,1);
  }
  .mock-bar .fill.low{ background: linear-gradient(90deg, #6c8a73, #8ec797); }
  .mock-foot{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    padding-top: 20px;
    border-top: 1px solid var(--line);
  }
  .mock-foot .cell{
    padding: 0 14px;
    border-right: 1px solid var(--line);
  }
  .mock-foot .cell:first-child{ padding-left: 0; }
  .mock-foot .cell:last-child{ padding-right: 0; border-right: none; }
  .mock-foot .num{
    font-family: 'Anton', sans-serif;
    font-size: 26px;
    color: var(--orange);
    line-height: 1;
    margin-bottom: 4px;
  }
  .mock-foot .lbl{
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 500;
    font-size: 11px;
    color: var(--ink-dim);
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  .mock-note {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid var(--line);
    font-family: 'JetBrains Mono', monospace;
    font-size: 10.5px;
    line-height: 1.55;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(240,235,224,0.62);
  }
  .live-ribbon {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 18px 0 2px;
    border: 1px solid var(--line);
    background: var(--line);
    position: relative;
    z-index: 1;
  }
  .live-ribbon span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    background: rgba(240,235,224,0.035);
    color: rgba(240,235,224,0.78);
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px;
    letter-spacing: 0.11em;
    text-transform: uppercase;
  }
  .live-ribbon b {
    color: var(--orange);
    font-weight: 500;
    margin-right: 7px;
  }

  /* -- FUNDAMENTOS -- */
  .method-section { background: var(--bg); }
  .pillars {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    margin-bottom: 70px;
    border-top: 1px solid var(--line-strong);
    border-left: 1px solid var(--line-strong);
  }
  .pillar {
    background: transparent;
    border-right: 1px solid var(--line-strong);
    border-bottom: 1px solid var(--line-strong);
    padding: 38px 36px;
    display: flex;
    gap: 28px;
    align-items: flex-start;
    transition: background 0.3s;
    position: relative;
    overflow: hidden;
  }
  .pillar:hover { background: rgba(232,98,10,0.04); }
  .pillar:hover .pillar-num{ transform: translateY(-4px); }
  .pillar .pillar-num {
    font-family: 'Anton', sans-serif;
    font-size: clamp(64px, 6vw, 96px);
    color: var(--orange);
    line-height: 0.85;
    flex-shrink: 0;
    min-width: 90px;
    transition: transform 0.3s;
  }
  .pillar h3 {
    font-family: 'Anton', sans-serif;
    font-size: 24px;
    color: var(--ink);
    margin-bottom: 10px;
    text-transform: uppercase;
    line-height: 1;
  }
  .pillar p {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--ink-dim);
  }

  .instruments {
    background: rgba(232,98,10,0.04);
    border: 1px solid rgba(232,98,10,0.25);
    padding: 36px 40px;
  }
  .instruments .lbl {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 22px;
    display: block;
  }
  .instruments-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  .instrument {
    background: transparent;
    border: 1px solid rgba(232,98,10,0.45);
    color: var(--ink);
    padding: 9px 16px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    border-radius: 30px;
    transition: all 0.25s;
    cursor: default;
  }
  .instrument {
    position: relative;
  }
  .instrument.cycle-focus {
    background: var(--orange);
    color: var(--ink-dark);
    border-color: var(--orange);
    box-shadow: 0 18px 34px rgba(232,98,10,0.22);
  }
  .instrument:hover {
    background: var(--orange);
    color: var(--ink-dark);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(232,98,10,0.2);
  }
  .instrument:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 2px;
  }

  /* --- ÉTICA Y PRIVACIDAD --- */
  .ethics-section {
    background: var(--cream);
    color: var(--ink-dark);
    overflow: hidden;
  }
  .ethics-panel {
    border: 1px solid var(--cream-deep);
    background:
      linear-gradient(135deg, rgba(232,98,10,0.12), transparent 42%),
      #fff;
    padding: clamp(32px, 5vw, 64px);
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: clamp(28px, 5vw, 72px);
    align-items: start;
    box-shadow: 0 28px 70px rgba(26,26,20,0.10);
  }
  .ethics-kicker {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--orange);
    margin-bottom: 22px;
    display: block;
  }
  .ethics-title {
    font-family: 'Anton', sans-serif;
    font-size: clamp(40px, 5vw, 76px);
    line-height: 0.95;
    text-transform: uppercase;
    color: var(--ink-dark);
  }
  .ethics-copy {
    font-size: 18px;
    line-height: 1.65;
    color: #3d3d30;
    margin-bottom: 28px;
  }
  .ethics-values-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ink-dark);
    margin-bottom: 12px;
  }
  .ethics-values {
    display: grid;
    gap: 10px;
    list-style: none;
    margin-bottom: 26px;
  }
  .ethics-values li {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #343429;
    font-size: 15px;
    line-height: 1.45;
  }
  .ethics-values li::before {
    content: '';
    width: 7px;
    height: 7px;
    background: var(--orange);
    flex: 0 0 auto;
  }
  .ethics-note {
    border-top: 1px solid var(--cream-deep);
    padding-top: 18px;
    color: #343429;
    font-size: 15px;
    line-height: 1.55;
  }
  .ethics-note strong { color: var(--ink-dark); }
  .ethics-list {
    display: grid;
    gap: 14px;
    list-style: none;
  }
  .ethics-list li {
    border-top: 1px solid var(--cream-deep);
    padding-top: 14px;
    color: #343429;
    font-size: 15px;
    line-height: 1.55;
  }
  .ethics-list strong { color: var(--ink-dark); }
  .testimonial-list {
    display: grid;
    gap: 14px;
    max-height: 720px;
    overflow: auto;
    padding-right: 6px;
  }
  .testimonial-card {
    border-top: 1px solid var(--cream-deep);
    padding-top: 14px;
  }
  .testimonial-card:first-child {
    border-top: 0;
    padding-top: 0;
  }
  .testimonial-card blockquote {
    color: #2f2f26;
    font-size: 15px;
    line-height: 1.55;
    margin: 0 0 10px;
  }
  .testimonial-card cite {
    display: block;
    font-style: normal;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-dark);
    font-size: 12px;
  }
  .testimonial-card cite span {
    display: block;
    margin-top: 3px;
    color: var(--orange);
  }

  .confidence-line {
    margin-top: 70px;
    padding-top: 44px;
    border-top: 1px solid var(--line);
    font-family: 'Anton', sans-serif;
    font-size: clamp(24px, 3vw, 40px);
    color: var(--ink);
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
  }
  .confidence-line strong {
    color: var(--orange);
    font-weight: 400;
  }

  /* -- FAQ -- */
  .faq-section {
    background: var(--cream);
    color: var(--ink-dark);
  }
  .faq-list { max-width: 980px; margin: 0 auto; }
  .faq-item {
    border-top: 1px solid var(--cream-deep);
    padding: 0;
    border: 1px solid transparent;
    transition: all 0.3s;
  }
  .faq-item:last-child { border-bottom: 1px solid var(--cream-deep); }
  .faq-item.open{
    border-color: rgba(232,98,10,0.45);
    background: rgba(232,98,10,0.03);
    padding-left: 20px;
  }
  .faq-q {
    font-family: 'Anton', sans-serif;
    font-size: clamp(22px, 2.5vw, 34px);
    color: var(--ink-dark);
    line-height: 1.1;
    text-transform: uppercase;
    padding: 26px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    cursor: pointer;
    user-select: none;
  }
  .faq-q .icon{
    width: 40px; height: 40px;
    border: 2px solid var(--orange);
    color: var(--orange);
    display: flex; align-items: center; justify-content: center;
    font-family: 'Anton', sans-serif;
    font-size: 22px;
    flex-shrink: 0;
    transition: all 0.4s ease;
  }
  .faq-item.open .faq-q .icon{ background: var(--orange); color: var(--ink-dark); transform: rotate(45deg); }
  .faq-a {
    font-size: 16px;
    line-height: 1.65;
    color: #3d3d30;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease, padding 0.4s ease;
    padding: 0 0 0 0;
  }
  .faq-item.open .faq-a{ max-height: 400px; padding: 0 0 26px 0; }

  /* -- CONTACTO -- */
  .contact-section {
    background: var(--bg);
    position: relative;
    overflow: hidden;
  }
  .contact-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(rgba(232,98,10,0.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(232,98,10,0.05) 1px, transparent 1px);
    background-size: 80px 80px;
    pointer-events: none;
    mask-image: radial-gradient(ellipse at 30% 50%, #000 30%, transparent 80%);
  }
  .contact-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: 80px;
    position: relative;
  }
  .contact-headline {
    font-family: 'Anton', sans-serif;
    font-size: clamp(48px, 6vw, 96px);
    line-height: 0.95;
    text-transform: uppercase;
    color: var(--ink);
    margin-bottom: 28px;
  }
  .contact-headline .highlight{ background: var(--orange); color: var(--ink-dark); padding: 0 0.16em 0.06em; line-height: 1; }
  .contact-sub {
    font-size: 17px;
    line-height: 1.6;
    color: var(--ink-dim);
    margin-bottom: 36px;
    max-width: 500px;
  }
  .contact-channel {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 18px 0;
    border-top: 1px solid var(--line);
    color: var(--ink);
    text-decoration: none;
    transition: all 0.25s;
  }
  .contact-channel:last-child { border-bottom: 1px solid var(--line); }
  .contact-channel:hover { padding-left: 8px; color: var(--orange); }
  .contact-channel:hover .ch-icon{ background: var(--orange); border-color: var(--orange); }
  .contact-channel:hover .ch-icon i{ color: var(--ink-dark); }
  .contact-channel:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 4px;
    border-radius: 4px;
  }
  .ch-icon{
    width: 44px; height: 44px;
    border: 1px solid rgba(232,98,10,0.4);
    background: rgba(232,98,10,0.05);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: all 0.25s;
  }
  .ch-icon i{ color: var(--orange); transition: color 0.25s; }
  .contact-channel .ch-label {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 11px;
    color: var(--ink-dim);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    display: block;
  }
  .contact-channel .ch-value {
    font-family: 'Anton', sans-serif;
    font-size: 22px;
    margin-top: 4px;
    line-height: 1;
    text-transform: uppercase;
  }

  .contact-form {
    background: rgba(240,235,224,0.02);
    border: 1px solid var(--line-strong);
    padding: 40px 36px;
    position: relative;
    overflow: hidden;
  }
  .contact-form::before {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 3px;
    background: linear-gradient(90deg, var(--orange), transparent);
  }
  .contact-form::after {
    content: '';
    position: absolute;
    right: -120px;
    top: -120px;
    width: 280px;
    height: 280px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(255,122,31,0.14), transparent 66%);
    pointer-events: none;
  }
  .form-eyebrow {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: var(--orange);
    letter-spacing: 0.22em;
    text-transform: uppercase;
    margin-bottom: 14px;
    display: block;
  }
  .contact-form h3 {
    font-family: 'Anton', sans-serif;
    font-size: 32px;
    text-transform: uppercase;
    margin-bottom: 28px;
    color: var(--ink);
    line-height: 1;
  }
  .form-group { margin-bottom: 18px; }
  .form-group label {
    display: block;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: var(--ink-dim);
    margin-bottom: 8px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }
  .form-group label.sr-only{
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0,0,0,0); white-space: nowrap; border: 0;
  }
  .form-group input, .form-group select, .form-group textarea {
    width: 100%;
    background: rgba(240,235,224,0.03);
    border: 1px solid var(--line-strong);
    padding: 13px 16px;
    color: var(--ink);
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    transition: all 0.25s;
  }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    outline: none;
    border-color: var(--orange);
    background: rgba(232,98,10,0.04);
    box-shadow: 0 0 0 3px rgba(232,98,10,0.15);
  }
  .form-group input[aria-invalid="true"], .form-group select[aria-invalid="true"], .form-group textarea[aria-invalid="true"] {
    border-color: #e74c3c;
    background: rgba(231, 76, 60, 0.04);
  }
  .form-group input[aria-invalid="true"]:focus, .form-group select[aria-invalid="true"]:focus, .form-group textarea[aria-invalid="true"]:focus {
    box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15);
    border-color: #e74c3c;
  }
  .form-group input::placeholder, .form-group textarea::placeholder { color: var(--ink-dim); }
  .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .form-submit {
    width: 100%;
    background: var(--orange);
    color: var(--ink-dark);
    border: 2px solid var(--orange);
    padding: 17px;
    min-height: 44px;
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s;
    margin-top: 12px;
  }
  .form-submit:hover { background: var(--bg); color: var(--orange); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0,0,0,0.4); }
  .form-submit:active { transform: translateY(0px); box-shadow: 0 4px 12px rgba(0,0,0,0.3); }
  .form-submit:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
  .form-submit:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }
  .fineprint {
    margin-bottom: 16px;
    font-size: 12px;
    color: rgba(240,235,224,0.72);
    text-align: center;
  }
  .fineprint a { color: var(--orange-soft); text-decoration: underline; text-underline-offset: 3px; }
  .form-message {
    display: none;
    padding: 14px 16px;
    border-radius: 6px;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 500;
    border: 1px solid transparent;
    animation: slideIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  /* -- FOOTER -- */
  footer {
    background: var(--bg-deep);
    border-top: 3px solid var(--orange);
    padding: 64px 40px 28px;
    color: var(--ink);
    position: relative;
  }
  .footer-grid {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(320px, 1.6fr) repeat(4, minmax(140px, 0.75fr));
    gap: clamp(32px, 5vw, 64px);
    align-items: start;
    margin-bottom: 42px;
  }
  .footer-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
  }
  .footer-brand img {
    width: 76px;
    height: 76px;
    box-sizing: border-box;
    border-radius: 18px;
    object-fit: cover;
    object-position: center;
    background: #08120d;
    border: 1px solid rgba(255,122,31,0.45);
    box-shadow:
      0 0 0 4px rgba(255,122,31,0.1),
      0 18px 36px rgba(0,0,0,0.28);
    filter: saturate(1.08) contrast(1.04);
  }
  .footer-brand-text {
    font-family: 'Anton', sans-serif;
    font-size: 32px;
    color: var(--ink);
    letter-spacing: 0.02em;
    line-height: 1;
    text-transform: uppercase;
  }
  .footer-brand-tag {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 500;
    font-size: 11px;
    color: var(--orange);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-top: 6px;
  }
  .footer-bio {
    font-size: 14px;
    line-height: 1.65;
    color: var(--ink-dim);
    max-width: 380px;
  }
  .footer-col h4 {
    font-family: 'Anton', sans-serif;
    font-size: 18px;
    color: var(--ink);
    margin-bottom: 18px;
    line-height: 1;
    text-transform: uppercase;
  }
  .footer-col a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 5px 0;
    color: var(--ink-dim);
    text-decoration: none;
    font-size: 15px;
    line-height: 1.5;
    transition: all 0.25s;
    border-bottom: 1px solid transparent;
    padding-left: 8px;
  }
  .footer-col a:hover {
    color: var(--orange);
    border-bottom-color: var(--orange);
    padding-left: 12px;
  }
  .footer-col a:focus-visible {
    outline: 2px solid var(--orange);
    outline-offset: 2px;
    border-radius: 2px;
  }

  .footer-bottom {
    max-width: 1320px;
    margin: 0 auto;
    padding-top: 24px;
    border-top: 1px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 32px;
    flex-wrap: wrap;
  }

  .footer-legal {
    font-size: 13px;
    color: var(--ink-dim);
    line-height: 1.65;
    max-width: 860px;
  }
  .footer-legal span {
    display: block;
  }

  .footer-copy {
    font-family: 'Barlow Condensed', sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: var(--ink-dim);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  /* -- RESPONSIVE -- */
  @media (max-width: 1100px) {
    .section-lede.single-line-lede {
      white-space: normal;
    }
    .nav-links { gap: 18px; }
    .nav-links a:not(.nav-cta) { display: none; }
    .mobile-section-nav {
      display: flex;
      gap: 18px;
      overflow-x: auto;
      padding: 9px 22px;
      background: rgba(19,19,14,0.96);
      border-bottom: 1px solid var(--line);
      position: fixed;
      left: 0;
      right: 0;
      top: calc(var(--nav-offset) + var(--site-nav-height));
      z-index: 95;
      scrollbar-width: none;
      -webkit-overflow-scrolling: touch;
    }
    .mobile-section-nav::-webkit-scrollbar { display: none; }
    .mobile-section-nav a {
      flex: 0 0 auto;
      min-height: 44px;
      display: inline-flex;
      align-items: center;
      color: var(--ink);
      text-decoration: none;
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
    }
    .mobile-section-nav a:focus-visible {
      outline: 2px solid var(--orange);
      outline-offset: 2px;
      border-radius: 2px;
    }
    .hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .hero-img-col {
      inset: auto -120px -80px auto;
      width: min(720px, 86vw);
      height: 58%;
      opacity: 0.72;
      mask-image: linear-gradient(90deg, transparent 0%, #000 20%, #000 100%);
    }
    .hero-side { border-left: none; padding-left: 0; border-top: 1px solid rgba(255,255,255,0.3); padding-top: 32px; }
    .hero-strip { grid-template-columns: repeat(2, 1fr); }
    .strip-cell:nth-child(2){ border-right: none; }
    .strip-cell:nth-child(1), .strip-cell:nth-child(2){ border-bottom: 1px solid var(--line); }
    .method-flow { grid-template-columns: repeat(2, 1fr); }
    .method-flow::before{ display: none; }
    .clarifications { grid-template-columns: 1fr; }
    .clarification { border-right: none; border-bottom: 1px solid var(--cream-deep); }
    .clarification:last-child{ border-bottom: none; }
    .audience-content { grid-template-columns: 1fr; gap: 50px; }
    .pillars { grid-template-columns: 1fr; }
    .pillar { border-right: none; }
    .ethics-panel { grid-template-columns: 1fr; }
    .contact-grid { grid-template-columns: 1fr; gap: 60px; }
    .footer-grid {
      grid-template-columns: minmax(260px, 1.2fr) repeat(2, minmax(160px, 1fr));
      gap: 42px;
    }
    .footer-grid > div:first-child { grid-column: 1 / -1; }
    .diff-mag { grid-template-columns: repeat(2, 1fr); }
    .diff-card.featured, .diff-card.mid, .diff-card.wide, .diff-cta-card { grid-column: span 2; grid-row: auto; }
  }
  @media (max-width: 900px) {
    #brecha,
    #metodologia,
    #diferencial,
    #audiencias,
    #fundamentos,
    #contacto,
    .diff-card,
    .audience-content,
    .mock-dashboard {
      scroll-margin-top: calc(var(--chrome-height) + 18px);
    }
    .mock-dashboard {
      width: 100%;
      max-width: 100%;
      min-width: 0;
      padding: clamp(18px, 5vw, 24px);
      overflow: hidden;
    }
    .mock-head {
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .mock-status {
      width: fit-content;
      max-width: 100%;
      white-space: normal;
      line-height: 1.4;
    }
    .mock-bar .row {
      gap: 12px;
      align-items: flex-start;
    }
    .mock-bar .label {
      min-width: 0;
      overflow-wrap: anywhere;
    }
    .mock-bar .val {
      flex: 0 0 auto;
      white-space: nowrap;
    }
    .mock-foot {
      grid-template-columns: 1fr;
      gap: 0;
    }
    .mock-foot .cell,
    .mock-foot .cell:first-child,
    .mock-foot .cell:last-child {
      display: flex;
      align-items: baseline;
      gap: 14px;
      min-width: 0;
      padding: 12px 0;
      border-right: 0;
      border-bottom: 1px solid var(--line);
    }
    .mock-foot .cell:last-child {
      border-bottom: 0;
    }
    .mock-foot .num {
      flex: 0 0 52px;
      margin-bottom: 0;
    }
    .mock-foot .lbl {
      min-width: 0;
      overflow-wrap: anywhere;
      line-height: 1.45;
      word-break: normal;
    }
    .live-ribbon {
      grid-template-columns: 1fr;
    }
    .live-ribbon span {
      justify-content: flex-start;
      padding: 0 14px;
      min-width: 0;
      overflow-wrap: anywhere;
    }
  }
  @media (max-width: 700px) {
    body {
      padding-left: env(safe-area-inset-left);
      padding-right: env(safe-area-inset-right);
      padding-bottom: max(0px, env(safe-area-inset-bottom));
    }
    section { padding: 90px 22px; }
    section[id] { scroll-margin-top: 150px; }
    .hero {
      padding: 50px 22px 260px;
      background:
        radial-gradient(circle at 72% 68%, rgba(255,122,31,0.2), transparent 36%),
        linear-gradient(90deg, rgba(12,12,8,0.98) 0%, rgba(12,12,8,0.88) 55%, rgba(12,12,8,0.42) 100%);
    }
    .diff-card .icon-wrap {
      background: var(--orange);
      border-color: var(--orange);
    }
    .diff-card .icon-wrap i,
    .diff-card .icon-wrap svg {
      color: var(--ink-dark);
      stroke: currentColor;
    }
    .section-lede.single-line-lede,
    .confidence-line {
      white-space: normal;
    }
    nav.site-nav { padding: 10px 18px; }
    nav.site-nav.scrolled { padding: 8px 18px; }
    .top-strip {
      padding: max(6px, env(safe-area-inset-top)) 44px 6px 14px;
      text-align: left;
      font-size: 11px;
      line-height: 1.18;
      letter-spacing: 0.05em;
    }
    .top-strip a {
      min-height: 34px;
      white-space: nowrap;
    }
    .top-strip .close {
      right: 6px;
      width: 38px;
      height: 38px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
    .nav-logo { gap: 10px; min-width: 0; }
    .nav-logo img {
      width: 48px;
      height: 48px;
      border-radius: 14px;
    }
    .nav-logo > div { min-width: 0; }
    .nav-logo .tag { display: none; }
    .nav-cta {
      display: none;
    }
    .mobile-section-nav { padding: 4px 18px; gap: 16px; min-height: 48px; align-items: center; }
    .mobile-section-nav a { min-height: 40px; }
    .hero-img-col {
      width: 110vw;
      right: -48vw;
      bottom: -70px;
      height: 50%;
      opacity: 0.45;
    }
    .section-title.gap-title {
      font-size: clamp(36px, 11vw, 50px);
      line-height: 1.1;
    }
    .gap-title .title-line {
      line-height: 1.14;
    }
    .gap-title .highlight {
      width: 100%;
      margin-top: 0.22em;
      padding: 0.08em 0.18em 0.12em;
      line-height: 1.08;
    }
    .gap-statement {
      font-size: clamp(27px, 8.1vw, 37px);
      line-height: 1.1;
    }
    .gap-pull {
      grid-template-columns: 1fr;
      gap: 22px;
      margin: 48px 0;
      padding: 28px 0;
    }
    .gap-pull .big-num {
      font-size: clamp(86px, 26vw, 116px);
      line-height: 0.9;
    }
    .gap-pull .big-num small {
      font-size: 0.34em;
      line-height: 1.02;
      max-width: 9ch;
    }
    .gap-pull .body p {
      font-size: clamp(22px, 7vw, 28px);
      line-height: 1.24;
      max-width: 15ch;
    }
    .gap-pull .body small {
      display: block;
      max-width: 18ch;
      line-height: 1.8;
    }
    .contact-grid {
      gap: 42px;
      width: 100%;
      max-width: 100%;
    }
    .contact-headline {
      font-size: clamp(45px, 13vw, 58px);
      line-height: 1.02;
    }
    .contact-headline .highlight {
      display: inline-block;
      max-width: 100%;
    }
    .contact-sub {
      max-width: 100%;
      font-size: 18px;
      line-height: 1.55;
    }
    .contact-channel {
      gap: 14px;
      align-items: flex-start;
      max-width: 100%;
      overflow: hidden;
    }
    .contact-channel > div:last-child {
      flex: 1;
      min-width: 0;
    }
    .contact-channel .ch-value {
      display: block;
      font-size: clamp(22px, 7vw, 28px);
      line-height: 1.05;
      overflow-wrap: anywhere;
      word-break: break-word;
    }
    .contact-form {
      width: 100%;
      max-width: 100%;
      padding: 28px 18px;
      overflow: hidden;
    }
    .contact-form h3 {
      font-size: clamp(36px, 11vw, 48px);
      line-height: 1.02;
    }
    .form-group input,
    .form-group select,
    .form-group textarea {
      min-width: 0;
      max-width: 100%;
    }
    .form-row { grid-template-columns: 1fr; }
    footer { padding: 56px 24px 28px; }
    .footer-grid {
      grid-template-columns: 1fr;
      gap: 30px;
      margin-bottom: 34px;
    }
    .footer-grid > div:first-child { grid-column: auto; }
    .footer-brand { margin-bottom: 16px; }
    .footer-col h4 { margin-bottom: 10px; }
    .footer-col a { padding: 3px 0; padding-left: 0; }
    .footer-col a:hover { padding-left: 4px; }
    .footer-bottom { display: grid; gap: 18px; }
    .signal-grid { grid-template-columns: 1fr; }
    .method-flow { grid-template-columns: 1fr; }
    .diff-mag { grid-template-columns: 1fr; }
    .diff-card.featured, .diff-card.mid, .diff-card.wide, .diff-cta-card { grid-column: span 1; }
    .audience-tab { padding: 14px 16px; font-size: 12px; }
    .cursor-aura { display: none; }
    .signal-ticker-track { animation-duration: 24s; }
    .live-ribbon { grid-template-columns: 1fr; }
    .hero-actions .btn {
      min-width: 0;
      padding-left: 14px;
      padding-right: 14px;
      font-size: 11px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
    .reveal, .reveal-stagger > * { opacity: 1; transform: none; }
    .brand-intro { display: none !important; }
    body.brand-intro-lock { overflow-x: hidden; overflow-y: auto; }
  }
