/*
 * AVRYN Consulting Signal 2.9.2
 * Visual refinement: clearer hierarchy, quieter systems, product-led composition.
 */

:root {
  --av-ref-black: #070807;
  --av-ref-surface: #0d100e;
  --av-ref-ivory: #f4f5ef;
  --av-ref-muted: #a6ada3;
  --av-ref-dim: #6e766d;
  --av-ref-lime: #b6ff3b;
  --av-ref-line: rgba(244, 245, 239, .13);
}

/* Keep one primary visual focus per viewport. */
.avc-section { padding-block: clamp(112px, 12vw, 176px); }
.avc-editorial-head { grid-template-columns: minmax(130px, 180px) minmax(0, 760px); gap: clamp(24px, 4vw, 64px); margin-bottom: clamp(48px, 6vw, 72px); }
.avc-editorial-head h2,
.avc-method h2,
.avc-control h2,
.avc-firm h2,
.avc-final h2,
.avc-page-hero h1,
.avc-page-section h2 { letter-spacing: -.045em; }

/* Header: fewer competing controls and quieter chrome. */
.av-header-inner { min-height: 76px; }
.av-menu { gap: clamp(16px, 2vw, 30px); }
.av-menu a { font-size: 12px; letter-spacing: .01em; }
.av-header-cta { min-height: 42px; padding-inline: 18px; border-radius: 7px; box-shadow: none; }
.av-header-cta:hover { box-shadow: 0 0 24px rgba(182, 255, 59, .12); }

/* Hero: remove the secondary rail and keep the promise dominant. */
.avc-hero { min-height: min(820px, 100svh); padding: clamp(116px, 13vw, 164px) 0 clamp(72px, 8vw, 104px); }
.avc-hero::after { opacity: .10; background-size: 120px 120px; }
.avc-hero .av-ai-hero-grid { min-height: clamp(520px, 62vh, 640px); }
.avc-hero .av-ai-hero-copy { max-width: 620px; }
.avc-hero .av-ai-hero-eyebrow { margin-bottom: 24px; }
.avc-hero h1 { max-width: 720px; font-size: clamp(54px, 6.1vw, 88px); line-height: .96; }
.avc-hero .av-ai-hero-lead { max-width: 580px; margin-top: 30px; color: var(--av-ref-muted); font-size: 17px; line-height: 1.62; }
.avc-hero .av-ai-hero-actions { margin-top: 34px; }
.avc-hero .av-button-primary { box-shadow: 0 14px 34px rgba(182, 255, 59, .14); }
.avc-hero .av-ai-hero-secondary { color: var(--av-ref-muted); }
.avc-hero .av-ai-hero-system { transform: scale(.92); transform-origin: center; }
.avc-hero-rail,
.av-ai-hero-principle { display: none !important; }

/* Quiet systems: diagrams remain, status labels stop competing with content. */
.avc-capability-grid { gap: clamp(18px, 2vw, 28px); }
.avc-capability { padding: clamp(22px, 2.4vw, 30px); border-radius: 18px; box-shadow: 0 22px 70px rgba(5, 5, 5, .24); transform: none; }
.avc-capability:hover { transform: translateY(-3px); }
.avc-capability h3 { margin-top: 24px; font-size: clamp(28px, 2.35vw, 38px); }
.avc-capability > p { min-height: 0; color: var(--av-ref-muted); }
.avc-system { min-height: 276px; background-size: 44px 44px, 44px 44px, auto, auto; animation: none; }
.avc-system-meta { opacity: .62; }
.avc-system-readout { opacity: .58; }
.avc-system::after { opacity: .45; animation-duration: 12s; }
.avc-capability li { color: var(--av-ref-muted); border-color: var(--av-ref-line); }
.avc-delivery-system { margin-top: clamp(42px, 5vw, 72px); }

/* Reduce editorial repetition. */
.avc-method-intro > p:last-of-type,
.avc-production-grid p,
.avc-insight-grid p { max-width: 560px; color: var(--av-ref-muted); }
.avc-method-steps { max-width: 820px; }
.avc-method-steps li { padding-block: 24px; }
.avc-method-steps div > p:first-child { max-width: 420px; }

/* Evidence and impact should read as proof, not decoration. */
.avc-evidence-principles article,
.avc-impact-list > div { padding: clamp(22px, 2.5vw, 34px); }
.avc-trace { max-width: 980px; }
.avc-trace > div { min-height: 88px; }

/* Accessibility and motion discipline. */
@media (prefers-reduced-motion: reduce) {
  .avc-system::after,
  .avc-system::before,
  .avc-capability-diagram *,
  .av-po-ring,
  .av-po-spinner i { animation: none !important; transition: none !important; }
}

@media (max-width: 900px) {
  .avc-hero { min-height: auto; padding-top: 116px; }
  .avc-hero .av-ai-hero-grid { min-height: auto; gap: 48px; }
  .avc-hero .av-ai-hero-system { transform: scale(.82); }
  .avc-editorial-head { grid-template-columns: 1fr; gap: 16px; }
}

@media (max-width: 640px) {
  .avc-section { padding-block: 88px; }
  .avc-hero { padding-bottom: 70px; }
  .avc-hero h1 { font-size: clamp(46px, 13vw, 68px); }
  .avc-hero .av-ai-hero-lead { font-size: 16px; }
  .avc-hero .av-ai-hero-actions { align-items: flex-start; flex-direction: column; }
  .avc-hero .av-ai-hero-system { transform: scale(.72); margin-block: -42px; }
  .avc-system { min-height: 244px; }
  .avc-capability { padding: 20px; }
}

/* 2.9.1 art direction pass: typography, alignment and rhythm only. */
html { font-kerning: normal; text-rendering: optimizeLegibility; }
body.avryn-consulting-site { font-synthesis: none; font-feature-settings: "kern" 1, "liga" 1; }
h1, h2, h3, p, a, li { text-wrap: pretty; }
.av-header-inner { gap: clamp(22px, 2.2vw, 32px); }
.av-brand img { height: 17px; }
.av-menu a { font-size: 12.5px; line-height: 1; letter-spacing: .006em; }
.av-header-cta { min-width: 142px; padding-inline: 17px; font-size: 12px; letter-spacing: .005em; }
.avc-hero .av-ai-hero-grid { grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: clamp(28px, 3.2vw, 48px); }
.avc-hero .av-ai-hero-copy { max-width: 650px; padding-top: 2px; }
.avc-hero h1 { max-width: 690px; font-size: clamp(53px, 5.85vw, 86px); line-height: .965; letter-spacing: -.057em; text-wrap: balance; }
.avc-hero .av-ai-hero-lead { max-width: 570px; margin-top: 32px; font-size: 16.5px; line-height: 1.64; }
.avc-hero .av-ai-hero-actions { gap: 26px; margin-top: 32px; }
.avc-hero .av-button-primary,
.avc-final .av-button-primary { min-height: 50px; padding-inline: 21px; border-radius: 8px; font-size: 12.5px; }
.avc-hero .av-ai-hero-secondary { min-height: 50px; font-size: 12.5px; letter-spacing: .005em; }
.avc-hero .av-ai-hero-system { transform: translate3d(0, 1px, 0) scale(.90); }
.avc-section-number, .avc-kicker { font-size: 10.5px; line-height: 1.35; letter-spacing: .18em; }
.avc-editorial-head { grid-template-columns: minmax(140px, 190px) minmax(0, 780px); gap: clamp(28px, 4.2vw, 64px); }
.avc-editorial-head h2, .avc-method h2, .avc-final h2 { max-width: 760px; line-height: .995; text-wrap: balance; }
.avc-editorial-head p:last-child, .avc-method-intro > p:last-of-type, .avc-thesis-copy > div { font-size: 16px; line-height: 1.68; }
.avc-thesis-copy { grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); gap: clamp(56px, 7vw, 92px); }
.avc-sequence { margin-top: 68px; }
.avc-sequence li { padding: 20px 13px 22px; }
.avc-sequence strong { margin-top: 12px; font-size: 11.5px; line-height: 1.25; }
.avc-capability-grid { align-items: stretch; }
.avc-capability { display: flex; flex-direction: column; }
.avc-capability h3 { line-height: 1.045; text-wrap: balance; }
.avc-capability > p { font-size: 15px; line-height: 1.62; }
.avc-system-meta { top: 15px; font-size: 7.8px; letter-spacing: .13em; }
.avc-system-meta b { font-size: 7.2px; }
.avc-system-readout { bottom: 14px; font-size: 6.9px; letter-spacing: .095em; }
.avc-delivery-system article strong { line-height: 1.15; }
.avc-method-layout { align-items: start; }
.avc-method-steps li { grid-template-columns: 48px minmax(0, 1fr) 18px; column-gap: 20px; }
.avc-method-steps h3 { line-height: 1.02; text-wrap: balance; }
.avc-method-steps div > p:first-child { line-height: 1.35; }
.avc-method-steps div > p:last-child { max-width: 540px; line-height: 1.6; }
.avc-trace > div { min-height: 84px; }
.avc-evidence-principles h3, .avc-impact-list strong { text-wrap: balance; }

@media (max-width: 1120px) {
  .avc-hero .av-ai-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .92fr); gap: 26px; }
  .avc-hero h1 { font-size: clamp(50px, 6vw, 76px); }
}

/* 2.9.2 mobile pass: correct real responsive scale and spacing. */
@media (max-width: 900px) {
  .avc-hero .av-ai-hero-system { min-height: 520px; transform: none; margin-top: 8px; }
  .avc-hero .av-ai-hero-copy { max-width: 680px; }
  .avc-editorial-head { grid-template-columns: 1fr; gap: 14px; margin-bottom: 42px; }
  .avc-method-layout { gap: 44px; }
}

@media (max-width: 680px) {
  :root { --avc-shell: calc(100% - 40px); }
  .av-header-inner { width: calc(100% - 40px); min-height: 72px; }
  .av-brand img { height: 16px; }
  .avc-section { padding-block: 72px; }
  .avc-editorial-head { gap: 12px; margin-bottom: 36px; }
  .avc-section-number, .avc-kicker { font-size: 9.5px; letter-spacing: .16em; }
  .avc-hero { padding: 112px 0 58px; }
  .avc-hero .av-ai-hero-grid { gap: 14px; }
  .avc-hero h1 { max-width: 100%; font-size: clamp(45px, 12.5vw, 64px); line-height: .985; letter-spacing: -.052em; }
  .avc-hero .av-ai-hero-eyebrow { gap: 8px; margin-bottom: 22px; font-size: 9px; letter-spacing: .12em; }
  .avc-hero .av-ai-hero-lead { max-width: 100%; margin-top: 26px; font-size: 16px; line-height: 1.58; }
  .avc-hero .av-ai-hero-actions { width: 100%; gap: 12px; margin-top: 28px; }
  .avc-hero .av-ai-hero-actions .av-button-primary { width: 100%; }
  .avc-hero .av-ai-hero-secondary { align-self: flex-start; min-height: 42px; font-size: 12px; }
  .avc-hero .av-ai-hero-system { min-height: 0; height: 415px; margin-top: 0; transform: none; }
  .avc-hero .av-premium-hero-orbit { height: 415px; }
  .avc-editorial-head h2, .avc-method h2, .avc-control h2, .avc-firm h2, .avc-final h2, .avc-page-section h2 { font-size: clamp(39px, 10.8vw, 53px); line-height: 1.02; letter-spacing: -.045em; }
  .avc-editorial-head p:last-child, .avc-method-intro > p:last-of-type, .avc-thesis-copy > div { font-size: 15.5px; line-height: 1.62; }
  .avc-thesis-copy { gap: 28px; }
  .avc-sequence { margin-top: 48px; }
  .avc-sequence li { padding: 16px 12px 18px; }
  .avc-sequence strong { font-size: 11px; line-height: 1.22; }
  .avc-capability { padding: 20px; border-radius: 16px; }
  .avc-capability h3 { margin-top: 20px; font-size: clamp(28px, 8.8vw, 36px); }
  .avc-system { min-height: 260px; margin-top: 22px; }
  .avc-system-meta { top: 13px; right: 13px; left: 13px; font-size: 6.8px; }
  .avc-system-meta b { font-size: 6.4px; }
  .avc-system-readout { right: 13px; bottom: 12px; left: 13px; font-size: 6.2px; }
  .avc-delivery-system { margin-top: 42px; }
  .avc-delivery-system > div, .avc-delivery-system article { min-height: 92px; padding: 20px 18px; }
  .avc-method-layout { gap: 36px; }
  .avc-method-steps li { grid-template-columns: 34px minmax(0, 1fr) 12px; column-gap: 12px; min-height: 132px; padding: 22px 6px; }
  .avc-method-steps h3 { font-size: clamp(27px, 8.2vw, 32px); line-height: 1.02; }
  .avc-method-steps div > p:first-child { font-size: 11.5px; line-height: 1.34; }
  .avc-method-steps div > p:last-child { font-size: 12px; line-height: 1.52; }
  .avc-trace > div { min-height: 112px; }
}

@media (max-width: 390px) {
  .av-header-inner { width: calc(100% - 32px); }
  .avc-hero { padding-top: 108px; }
  .avc-hero h1 { font-size: 44px; }
  .avc-hero .av-ai-hero-eyebrow { font-size: 8.5px; letter-spacing: .105em; }
  .avc-hero .av-ai-hero-system, .avc-hero .av-premium-hero-orbit { height: 375px; }
  .avc-sequence li { padding-inline: 10px; }
  .avc-capability { padding: 18px; }
  .avc-method-steps li { grid-template-columns: 30px minmax(0, 1fr) 10px; column-gap: 10px; }
}

/* 2.9.3 editorial mobile correction: every title gets the full reading width. */
@media (max-width: 900px) {
  .avc-editorial-head,
  .avc-page-section-head {
    display: block !important;
    width: 100%;
    min-width: 0;
    margin-bottom: 42px;
  }

  .avc-editorial-head > .avc-section-number,
  .avc-page-section-head > .avc-section-number {
    display: block;
    width: 100%;
    margin: 0;
  }

  .avc-editorial-head > div,
  .avc-page-section-head > div {
    width: 100%;
    max-width: none !important;
    min-width: 0;
    margin-top: 16px;
  }

  .avc-editorial-head h2,
  .avc-page-section-head h2 {
    width: 100%;
    max-width: none !important;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
  }

  .avc-editorial-head p:last-child,
  .avc-page-section-head p:last-child {
    width: 100%;
    max-width: none !important;
  }

  .avc-method-layout,
  .avc-control-layout,
  .avc-production-grid,
  .avc-firm-layout,
  .avc-final-layout,
  .avc-page-hero .av-container {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  .avc-editorial-head,
  .avc-page-section-head {
    margin-bottom: 34px;
  }

  .avc-editorial-head > div,
  .avc-page-section-head > div {
    margin-top: 14px;
  }

  .avc-editorial-head h2,
  .avc-page-section-head h2 {
    font-size: clamp(39px, 10.8vw, 53px);
    line-height: 1.02;
    letter-spacing: -.045em;
  }
}

/* 2.9.4 hero mobile correction: the copy and orbital must be sequential. */
@media (max-width: 900px) {
  .avc-hero .av-ai-hero-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 28px;
    width: 100%;
  }

  .avc-hero .av-ai-hero-copy {
    width: 100%;
    max-width: none !important;
    min-width: 0;
  }

  .avc-hero h1,
  .avc-hero .av-ai-hero-lead,
  .avc-hero .av-ai-hero-actions {
    width: 100%;
    max-width: none !important;
  }

  .avc-hero .av-ai-hero-system {
    width: 100%;
    min-width: 0;
    margin-top: 0;
  }

  /* Enfoque debe conservar el mismo ancho editorial continuo que Evidencia. */
  .avc-thesis-copy {
    display: grid;
    grid-template-columns: 1fr !important;
    width: 100%;
    gap: 28px;
  }

  .avc-thesis-copy > * {
    width: 100%;
    max-width: none !important;
    min-width: 0;
  }
}
