
  .av-app-page{ overflow-x:hidden; }
  .av-app-page *{ box-sizing:border-box; }

  .av-app-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:var(--font-heading);
    font-size:12px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--secondary);
  }
  .av-app-eyebrow::before{
    content:"";
    width:26px;
    height:2px;
    background:var(--secondary);
    display:inline-block;
  }

  .av-reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease; }
  .av-reveal.av-in{ opacity:1; transform:translateY(0); }


  /* ---------------------------------------------------------
     02. INTRODUCTION
     --------------------------------------------------------- */
  .av-app-intro__grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; }
  .av-app-intro__statement{ font-family:var(--font-heading); font-weight:700; font-size:clamp(24px, 2.6vw, 32px); line-height:1.3; color:var(--primary); border-left:4px solid var(--secondary); padding-left:26px; margin:0; }
  .av-app-intro__text{ font-family:var(--font-body); font-size:16px; line-height:1.8; color:var(--text-light); margin:0 0 34px; }
  .av-app-intro__points{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .av-app-intro__point{border-radius: 4px; border:1px solid var(--border); padding:24px 20px; transition:border-color .25s ease, transform .25s ease; }
  .av-app-intro__pointtitle{ font-family:var(--font-heading); font-size:14px; font-weight:700; letter-spacing:1px; color:var(--primary); margin:0 0 8px; }
  .av-app-intro__pointtext{ font-family:var(--font-body); font-size:13px; line-height:1.6; color:var(--text-light); margin:0; }

  /* ---------------------------------------------------------
     03. INDUSTRY APPLICATION MAP
     --------------------------------------------------------- */
  .av-app-map{ position:relative; }
  .av-app-map__head{ text-align:center; max-width:640px; margin:0 auto 56px; }
  .av-app-map__head .av-app-eyebrow{ justify-content:center; margin-bottom:16px; }
  .av-app-map__title{ font-family:var(--font-heading); font-weight:700; font-size:clamp(26px,3vw,36px); color:var(--primary); margin:0; }

  .av-app-map__diagram{ position:relative; max-width:820px; aspect-ratio:1/1; margin:0 auto; }
  .av-app-map__lines{ position:absolute; inset:0; width:100%; height:100%; }
  .av-app-map__lines path{ stroke:var(--border); stroke-width:0.4; fill:none; transition:stroke .25s ease, stroke-width .25s ease; }
  .av-app-map__lines path.is-active{ stroke:var(--secondary); stroke-width:0.7; }

  .av-app-map__center{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:170px; height:170px; border:2px solid var(--primary); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:var(--bg); z-index:2; }
  .av-app-map__center::before{ content:""; position:absolute; inset:14px; border:1px dashed var(--metal); border-radius:50%; }
  .av-app-map__center img{ position:relative; z-index:1; display:block; width:122px; height:auto; max-width:72%; object-fit:contain; }

  .av-app-map__node{border-radius: 6px; position:absolute; width:150px; transform:translate(-50%,-50%); text-align:center; padding:16px 12px; border:1px solid var(--border); background:var(--bg); transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease; cursor:default; z-index:1; }
  .av-app-map__node:hover{ border-color:var(--secondary); transform:translate(-50%,-50%) translateY(-4px); box-shadow:0 12px 24px rgba(28,59,87,0.12); }
  .av-app-map__node:hover .av-app-map__node-icon img{ filter:sepia(1) saturate(4) hue-rotate(95deg); }
  .av-app-map__node-icon img{ display:block; width:44px; height:44px; margin:0 auto 8px; object-fit:contain; transition:filter .2s ease; }
  .av-app-map__node-title{ font-family:var(--font-heading); font-size:12.5px; font-weight:700; letter-spacing:0.5px; color:var(--primary); margin:0 0 4px; }
  .av-app-map__node-sub{ font-family:var(--font-body); font-size:11px; line-height:1.4; color:var(--text-light); margin:0; }

  .av-app-map__n1{ top:4%;  left:50%; }
  .av-app-map__n2{ top:19%; left:84%; }
  .av-app-map__n3{ top:50%; left:96%; }
  .av-app-map__n4{ top:81%; left:84%; }
  .av-app-map__n5{ top:96%; left:50%; }
  .av-app-map__n6{ top:81%; left:16%; }
  .av-app-map__n7{ top:50%; left:4%; }
  .av-app-map__n8{ top:19%; left:16%; }

  .av-app-map__list{ display:none; }

  /* ---------------------------------------------------------
     14. WHY ASTRON
     --------------------------------------------------------- */
  .av-app-why__grid{border-radius: 6px; display:grid; grid-template-columns:repeat(5,1fr); gap:0; border-top:1px solid var(--border); border-left:1px solid var(--border); }
  .av-app-why__item{ padding:30px 22px; border-right:1px solid var(--border); border-bottom:1px solid var(--border); transition:background .2s ease; }
  .av-app-why__item:hover{ background:var(--bg); }
  .av-app-why__icon svg{ width:26px; height:26px; stroke:var(--secondary); margin-bottom:18px; }
  .av-app-why__title{ font-family:var(--font-heading); font-size:13.5px; font-weight:700; letter-spacing:0.5px; color:var(--primary); margin:0 0 10px; }
  .av-app-why__text{ font-family:var(--font-body); font-size:12.5px; line-height:1.6; color:var(--text-light); margin:0; }


  /* =========================================================
     RESPONSIVE
     ========================================================= */
  @media (max-width: 1200px){
    .av-app-why__grid{ grid-template-columns:repeat(3,1fr); }
    .av-app-map__diagram{ max-width:680px; }
    .av-app-map__node{ width:130px; padding:12px 10px; }
  }

  @media (max-width: 992px){
    .av-app-intro__grid{ grid-template-columns:1fr; gap:40px; }
    .av-app-intro__statement{ padding-left:20px; }

    .av-app-map__diagram{ display:none; }
    .av-app-map__list{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .av-app-map__list .av-app-map__node{ position:static; transform:none; width:auto; }
    .av-app-map__list .av-app-map__node:hover{ transform:translateY(-4px); }

    .av-app-why__grid{ grid-template-columns:repeat(2,1fr); }
      }

  @media (max-width: 768px){
    .av-app-intro__points{ grid-template-columns:1fr; }
    .av-app-map__list{ grid-template-columns:1fr; }
    .av-app-why__grid{ grid-template-columns:1fr; }
  }

  @media (max-width: 576px){
  }