/*
 * Awomo site stylesheet.
 * Extracted verbatim from the <style> blocks of public/home.html, in their
 * original order so the cascade is unchanged. Shared by the static homepage
 * and the Next-rendered pages under it (see app/layout.tsx), so both use the
 * same header, footer and design tokens.
 */

/* ===== base ===== */
:root {
      --navy-950: #031027;
      --navy-900: #06152f;
      --navy-850: #081b3c;
      --navy-800: #0a2249;
      --blue-700: #075cd8;
      --blue-600: #0875f5;
      --blue-500: #1597ff;
      --cyan-400: #25d5ff;
      --cyan-300: #7be8ff;
      --ink: #07162d;
      --ink-2: #283b55;
      --muted: #617087;
      --line: #dce6f3;
      --soft-blue: #f3f7fd;
      --soft-cyan: #effbff;
      --white: #ffffff;
      --container: 1240px;
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 14px;
      --shadow: 0 24px 70px rgba(5, 39, 93, .12);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background: var(--white);
      font-family: Inter, "SF Pro Display", "Segoe UI", Helvetica, Arial, sans-serif;
      font-size: 16px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    body.menu-open { overflow: hidden; }
    a { color: inherit; text-decoration: none; }
    button, input, textarea, select { font: inherit; }
    button { color: inherit; }
    img, svg { display: block; max-width: 100%; }
    h1, h2, h3, h4, p { margin-top: 0; }
    h1, h2, h3, h4 { line-height: 1.12; letter-spacing: -.035em; }
    p { margin-bottom: 0; }

    .container {
      width: min(calc(100% - 48px), var(--container));
      margin-inline: auto;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 17px;
      color: var(--blue-600);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .16em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      content: "";
      width: 24px;
      height: 2px;
      border-radius: 999px;
      background: currentColor;
    }

    .section-head {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(300px, .65fr);
      gap: 80px;
      align-items: end;
      margin-bottom: 52px;
    }

    .section-head h2 {
      max-width: 790px;
      margin-bottom: 0;
      color: var(--ink);
      font-size: clamp(36px, 4vw, 62px);
      font-weight: 700;
    }

    .section-head p {
      color: var(--muted);
      font-size: 17px;
    }

    .section-head.light h2,
    .section-head.light p { color: var(--white); }
    .section-head.light p { color: #b8c9e5; }
    .section-head.light .eyebrow { color: var(--cyan-400); }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      min-height: 50px;
      padding: 0 22px;
      border: 1px solid transparent;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 750;
      transition: transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
    }

    .btn:hover { transform: translateY(-2px); }
    .btn-primary {
      color: var(--white);
      background: linear-gradient(135deg, var(--blue-600), #18bfff);
      box-shadow: 0 13px 30px rgba(8, 117, 245, .28);
    }
    .btn-primary:hover { box-shadow: 0 16px 35px rgba(8, 117, 245, .38); }
    .btn-ghost {
      color: #d8eaff;
      border-color: rgba(255,255,255,.28);
      background: rgba(255,255,255,.05);
      backdrop-filter: blur(10px);
    }
    .btn-ghost:hover { border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.09); }
    .btn-light {
      color: var(--blue-700);
      background: var(--white);
      box-shadow: 0 15px 40px rgba(0,0,0,.14);
    }

    .arrow {
      display: inline-block;
      width: 15px;
      height: 15px;
      border-top: 1.7px solid currentColor;
      border-right: 1.7px solid currentColor;
      transform: rotate(45deg);
      margin-left: -3px;
    }

    /* Header */
    .site-header {
      position: fixed;
      inset: 0 0 auto;
      z-index: 100;
      color: var(--white);
      border-bottom: 1px solid transparent;
      transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .site-header.scrolled {
      background: rgba(4, 18, 42, .92);
      border-bottom-color: rgba(255,255,255,.11);
      box-shadow: 0 12px 35px rgba(0,0,0,.12);
      backdrop-filter: blur(18px);
    }

    .nav-row {
      display: flex;
      align-items: center;
      min-height: 82px;
      gap: 30px;
    }

    .brand {
      display: inline-flex;
      align-items: center;
      gap: 13px;
      flex: 0 0 auto;
      font-size: 20px;
      font-weight: 760;
      letter-spacing: -.03em;
    }

    .brand-mark {
      position: relative;
      width: 34px;
      height: 34px;
      overflow: hidden;
      border: 1px solid rgba(94, 219, 255, .5);
      border-radius: 8px;
      background:
        linear-gradient(145deg, rgba(33, 212, 255, .24), rgba(7, 92, 216, .08)),
        rgba(255,255,255,.04);
      box-shadow: inset 0 0 20px rgba(37, 213, 255, .12);
    }

    .brand-mark::before,
    .brand-mark::after {
      content: "";
      position: absolute;
      inset: 7px;
      border: 2px solid #5cddff;
      transform: rotate(45deg);
    }

    .brand-mark::after {
      inset: 12px 7px 7px 12px;
      border-color: #1b8fff;
    }

    .brand-cn {
      margin-left: 5px;
      color: #94a9c8;
      font-size: 12px;
      font-weight: 600;
      letter-spacing: .08em;
    }

    .desktop-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 27px;
      margin-left: auto;
    }

    .desktop-nav a {
      position: relative;
      color: #cfdbec;
      font-size: 14px;
      font-weight: 650;
    }

    .desktop-nav a::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -10px;
      height: 2px;
      background: var(--cyan-400);
      transition: right .2s ease;
    }

    .desktop-nav a:hover { color: var(--white); }
    .desktop-nav a:hover::after { right: 0; }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .language {
      display: inline-flex;
      align-items: center;
      min-height: 40px;
      padding: 0 12px;
      color: #c8d8ed;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 9px;
      font-size: 12px;
      font-weight: 700;
    }

    .nav-contact {
      min-height: 42px;
      padding-inline: 17px;
      font-size: 13px;
    }

    .menu-button {
      display: none;
      width: 44px;
      height: 44px;
      padding: 0;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 10px;
      background: rgba(255,255,255,.05);
    }

    .menu-button span {
      display: block;
      width: 19px;
      height: 1.5px;
      margin: 5px auto;
      background: white;
      transition: transform .2s ease, opacity .2s ease;
    }

    .mobile-menu {
      position: fixed;
      inset: 82px 0 auto;
      z-index: 95;
      display: none;
      padding: 22px 24px 30px;
      color: var(--white);
      background: rgba(4,18,42,.98);
      border-top: 1px solid rgba(255,255,255,.08);
      box-shadow: 0 25px 45px rgba(0,0,0,.25);
    }

    .mobile-menu.open { display: block; }
    .mobile-menu a {
      display: block;
      padding: 13px 0;
      border-bottom: 1px solid rgba(255,255,255,.1);
      font-weight: 650;
    }

    /* Hero */
    .hero {
      position: relative;
      min-height: 830px;
      overflow: hidden;
      color: var(--white);
      background:
        radial-gradient(circle at 76% 40%, rgba(18, 134, 255, .25), transparent 31%),
        radial-gradient(circle at 45% 120%, rgba(0, 218, 255, .14), transparent 35%),
        linear-gradient(145deg, #020c1e 0%, #061934 53%, #062552 100%);
    }

    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      opacity: .22;
      background-image:
        linear-gradient(rgba(111,183,255,.13) 1px, transparent 1px),
        linear-gradient(90deg, rgba(111,183,255,.13) 1px, transparent 1px);
      background-size: 74px 74px;
      mask-image: linear-gradient(to bottom, transparent 8%, black 45%, transparent 100%);
    }

    .hero::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -1px;
      height: 110px;
      background: linear-gradient(to bottom, transparent, rgba(255,255,255,.045));
      clip-path: polygon(0 82%, 30% 42%, 60% 78%, 100% 25%, 100% 100%, 0 100%);
    }

    .hero-inner {
      position: relative;
      z-index: 2;
      display: grid;
      grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr);
      gap: 55px;
      align-items: center;
      min-height: 830px;
      padding-top: 92px;
    }

    .hero-copy { padding-bottom: 30px; }
    .hero-kicker {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 24px;
      color: #7fe7ff;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .18em;
      text-transform: uppercase;
    }
    .hero-kicker::before {
      content: "";
      width: 34px;
      height: 1px;
      background: #64dfff;
      box-shadow: 0 0 12px rgba(37,213,255,.7);
    }

    .hero h1 {
      max-width: 690px;
      margin-bottom: 25px;
      font-size: clamp(48px, 5.3vw, 78px);
      font-weight: 690;
      letter-spacing: -.052em;
    }

    .hero h1 .accent {
      color: transparent;
      background: linear-gradient(90deg, #62ddff, #228cff 70%);
      -webkit-background-clip: text;
      background-clip: text;
    }

    .hero-lead {
      max-width: 660px;
      color: #b7c7df;
      font-size: clamp(17px, 1.5vw, 20px);
      line-height: 1.75;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 13px;
      margin-top: 38px;
    }

    .hero-note {
      display: flex;
      flex-wrap: wrap;
      gap: 22px;
      margin-top: 36px;
      color: #8197b7;
      font-size: 12px;
      font-weight: 650;
    }

    .hero-note span { display: inline-flex; align-items: center; gap: 8px; }
    .hero-note span::before {
      content: "";
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: var(--cyan-400);
      box-shadow: 0 0 10px var(--cyan-400);
    }

    .world-visual {
      position: relative;
      min-height: 650px;
      display: grid;
      place-items: center;
    }

    .world-visual::before {
      content: "";
      position: absolute;
      width: 570px;
      height: 570px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(15,145,255,.15), transparent 67%);
      filter: blur(2px);
    }

    .world-svg {
      position: relative;
      z-index: 2;
      width: min(100%, 690px);
      filter: drop-shadow(0 0 35px rgba(26,150,255,.19));
    }

    .orbit { transform-origin: 350px 350px; animation: orbit 22s linear infinite; }
    .orbit.reverse { animation-direction: reverse; animation-duration: 30s; }
    .pulse-node { animation: pulse 2.8s ease-in-out infinite; }
    .pulse-node.delay { animation-delay: -1.35s; }
    .scan-line { animation: scan 4.5s ease-in-out infinite; }

    .visual-label {
      position: absolute;
      z-index: 4;
      min-width: 126px;
      padding: 10px 13px;
      border: 1px solid rgba(97,209,255,.28);
      border-radius: 11px;
      color: #d9f5ff;
      background: rgba(4,22,52,.72);
      box-shadow: 0 14px 30px rgba(0,0,0,.15), inset 0 0 24px rgba(31,150,255,.05);
      backdrop-filter: blur(10px);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase;
    }
    .visual-label small {
      display: block;
      margin-top: 2px;
      color: #6f8fae;
      font-size: 9px;
      letter-spacing: .02em;
      text-transform: none;
    }
    .label-1 { left: 2%; top: 23%; }
    .label-2 { right: 0; top: 18%; }
    .label-3 { left: 6%; bottom: 19%; }
    .label-4 { right: 4%; bottom: 15%; }

    @keyframes orbit { to { transform: rotate(360deg); } }
    @keyframes pulse { 0%,100% { opacity: .45; } 50% { opacity: 1; } }
    @keyframes scan { 0%,100% { transform: translateY(-14px); opacity: .25; } 50% { transform: translateY(20px); opacity: .9; } }

    /* Brand definition */
    .brand-section {
      padding: 118px 0 112px;
      background: var(--white);
    }

    .brand-layout {
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(430px, 1.1fr);
      gap: 80px;
      align-items: center;
    }

    .brand-layout h2 {
      max-width: 650px;
      margin-bottom: 25px;
      font-size: clamp(39px, 4.2vw, 64px);
      font-weight: 700;
    }

    .brand-layout .lead {
      max-width: 650px;
      color: var(--ink-2);
      font-size: 18px;
    }

    .brand-origin {
      margin-top: 27px;
      padding-left: 20px;
      border-left: 3px solid var(--blue-500);
      color: var(--muted);
    }

    .name-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }

    .name-card {
      position: relative;
      min-height: 250px;
      overflow: hidden;
      padding: 26px 22px;
      border: 1px solid var(--line);
      border-radius: var(--radius-lg);
      background: linear-gradient(160deg, #ffffff, #f4f8ff);
      box-shadow: 0 18px 50px rgba(9, 58, 127, .07);
    }

    .name-card::after {
      content: "";
      position: absolute;
      right: -55px;
      bottom: -65px;
      width: 145px;
      height: 145px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(21,151,255,.18), transparent 68%);
    }

    .name-symbol {
      margin-bottom: 62px;
      color: var(--blue-600);
      font-size: 49px;
      font-weight: 760;
      letter-spacing: -.07em;
    }
    .name-card h3 { margin-bottom: 10px; font-size: 18px; }
    .name-card p { color: var(--muted); font-size: 14px; }

    /* Technology */
    .technology-section {
      position: relative;
      overflow: hidden;
      padding: 120px 0;
      color: var(--white);
      background:
        radial-gradient(circle at 85% 20%, rgba(16,118,255,.19), transparent 30%),
        linear-gradient(140deg, var(--navy-950), var(--navy-850));
    }

    .technology-section::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .2;
      background-image: linear-gradient(rgba(107,176,255,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(107,176,255,.11) 1px, transparent 1px);
      background-size: 84px 84px;
      mask-image: linear-gradient(90deg, transparent, black 30%, black 80%, transparent);
    }

    .technology-section > .container { position: relative; z-index: 2; }

    .why-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-bottom: 66px;
    }

    .why-card {
      min-height: 220px;
      padding: 28px;
      border: 1px solid rgba(139,194,255,.16);
      border-radius: var(--radius-lg);
      background: linear-gradient(150deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
      backdrop-filter: blur(8px);
    }

    .why-card .index {
      display: inline-grid;
      place-items: center;
      width: 38px;
      height: 38px;
      margin-bottom: 37px;
      border: 1px solid rgba(55,210,255,.4);
      border-radius: 50%;
      color: var(--cyan-400);
      font-size: 11px;
      font-weight: 800;
    }

    .why-card h3 { margin-bottom: 12px; font-size: 23px; font-weight: 650; }
    .why-card p { color: #9eb2cd; font-size: 14px; }

    .system-title {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 30px;
      margin-bottom: 28px;
    }
    .system-title h3 { margin: 0; font-size: clamp(27px, 3vw, 40px); }
    .system-title p { max-width: 460px; color: #91a9c7; }

    .system-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      border: 1px solid rgba(136,194,255,.16);
      border-radius: var(--radius-lg);
      overflow: hidden;
      background: rgba(255,255,255,.028);
    }

    .system-step {
      position: relative;
      min-height: 255px;
      padding: 28px 23px 25px;
      border-right: 1px solid rgba(136,194,255,.13);
      transition: background .2s ease;
    }
    .system-step:last-child { border-right: 0; }
    .system-step:hover { background: rgba(31,140,255,.08); }
    .system-step .num {
      color: rgba(106,222,255,.88);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .15em;
    }
    .step-icon {
      position: relative;
      width: 64px;
      height: 64px;
      margin: 32px 0 26px;
      border: 1px solid rgba(56,206,255,.35);
      border-radius: 16px;
      background: radial-gradient(circle at 35% 30%, rgba(41,202,255,.25), rgba(6,53,104,.2));
      box-shadow: inset 0 0 25px rgba(36,175,255,.08);
    }
    .step-icon::before,
    .step-icon::after {
      content: "";
      position: absolute;
      border-radius: 999px;
      background: #44d6ff;
      box-shadow: 0 0 9px rgba(68,214,255,.6);
    }
    .step-icon::before { width: 28px; height: 2px; left: 18px; top: 31px; transform: rotate(35deg); }
    .step-icon::after { width: 2px; height: 28px; left: 31px; top: 18px; transform: rotate(35deg); }
    .system-step h4 { margin-bottom: 10px; font-size: 18px; font-weight: 650; }
    .system-step p { color: #8fa5c1; font-size: 13px; line-height: 1.6; }

    /* Advantages */
    .advantages-section { padding: 110px 0; background: var(--soft-blue); }
    .advantage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .advantage-card {
      min-height: 285px;
      padding: 34px;
      border: 1px solid #d7e4f5;
      border-radius: var(--radius-lg);
      background: white;
      box-shadow: 0 15px 45px rgba(16,66,130,.06);
    }
    .advantage-icon {
      display: grid;
      place-items: center;
      width: 53px;
      height: 53px;
      margin-bottom: 55px;
      border-radius: 14px;
      color: var(--blue-600);
      background: #eaf4ff;
      font-size: 21px;
      font-weight: 800;
    }
    .advantage-card h3 { margin-bottom: 13px; font-size: 25px; }
    .advantage-card p { color: var(--muted); }

    /* Applications */
    .applications-section { padding: 120px 0; background: white; }
    .application-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
    }
    .application-card {
      position: relative;
      min-height: 510px;
      overflow: hidden;
      border-radius: 22px;
      color: var(--white);
      background: var(--navy-900);
      box-shadow: 0 20px 50px rgba(5,31,75,.12);
    }
    .application-card.wide { grid-column: 1 / -1; min-height: 500px; }
    .application-card img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .65s ease;
    }
    .application-card:hover img { transform: scale(1.035); }
    .application-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(2,12,30,.97) 0%, rgba(3,17,40,.48) 44%, rgba(4,18,42,.03) 76%);
    }
    .application-content {
      position: absolute;
      z-index: 2;
      left: 0;
      right: 0;
      bottom: 0;
      padding: 36px;
    }
    .application-tag {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 12px;
      color: #65ddff;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    .application-tag::before { content:""; width:18px; height:1px; background:currentColor; }
    .application-card h3 { margin-bottom: 12px; font-size: clamp(26px, 3vw, 38px); }
    .application-card p { max-width: 690px; color: #c2d1e5; font-size: 15px; }
    .application-detail { margin-top: 12px; color: #8fa8c7 !important; font-size: 13px !important; }

    /* About */
    .about-section {
      padding: 120px 0;
      background: linear-gradient(180deg, var(--soft-blue), white);
    }
    .stats-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin-bottom: 55px;
      border: 1px solid var(--line);
      border-radius: 18px;
      overflow: hidden;
      background: white;
    }
    .stat {
      min-height: 145px;
      padding: 27px 31px;
      border-right: 1px solid var(--line);
    }
    .stat:last-child { border-right: 0; }
    .stat strong {
      display: block;
      margin-bottom: 8px;
      color: var(--blue-600);
      font-size: 38px;
      letter-spacing: -.05em;
    }
    .stat span { color: var(--muted); font-size: 14px; }

    .about-grid {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 24px;
    }
    .founder-card,
    .about-gallery {
      border-radius: 22px;
      overflow: hidden;
      background: white;
      box-shadow: var(--shadow);
    }
    .founder-image { position: relative; min-height: 350px; background: #e8eef7; }
    .founder-image img { width: 100%; height: 100%; min-height: 350px; object-fit: cover; object-position: center 25%; }
    .founder-copy { padding: 32px; }
    .founder-copy .role { margin-bottom: 7px; color: var(--blue-600); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .founder-copy h3 { margin-bottom: 14px; font-size: 30px; }
    .founder-copy p { color: var(--muted); font-size: 14px; }

    .about-gallery {
      display: grid;
      grid-template-rows: minmax(300px, 1fr) minmax(220px, .72fr);
      gap: 3px;
      background: #dce6f3;
    }
    .gallery-image { position: relative; overflow: hidden; }
    .gallery-image img { width: 100%; height: 100%; object-fit: cover; }
    .gallery-caption {
      position: absolute;
      left: 20px;
      bottom: 18px;
      padding: 7px 11px;
      border: 1px solid rgba(255,255,255,.25);
      border-radius: 8px;
      color: white;
      background: rgba(4,17,39,.62);
      backdrop-filter: blur(8px);
      font-size: 11px;
      font-weight: 700;
    }

    .team-summary {
      margin-top: 35px;
      padding: 31px 34px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: white;
      color: var(--ink-2);
      font-size: 17px;
    }

    /* News */
    .news-section { padding: 115px 0; background: white; }
    .news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
    .news-card {
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: white;
      transition: transform .25s ease, box-shadow .25s ease;
    }
    .news-card:hover { transform: translateY(-5px); box-shadow: 0 20px 45px rgba(6,55,120,.1); }
    .news-thumb { position: relative; height: 220px; overflow: hidden; background: var(--navy-900); }
    .news-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
    .news-card:hover .news-thumb img { transform: scale(1.04); }
    .news-thumb.abstract {
      background:
        radial-gradient(circle at 70% 25%, rgba(27,178,255,.55), transparent 25%),
        radial-gradient(circle at 30% 75%, rgba(5,94,216,.7), transparent 32%),
        linear-gradient(145deg, #03112a, #083878);
    }
    .news-thumb.abstract::before,
    .news-thumb.abstract::after {
      content:"";
      position:absolute;
      border:1px solid rgba(113,224,255,.45);
      border-radius:50%;
    }
    .news-thumb.abstract::before { width:170px; height:170px; right:34px; top:22px; }
    .news-thumb.abstract::after { width:90px; height:90px; right:74px; top:62px; }
    .news-body { padding: 25px 25px 28px; }
    .news-meta { margin-bottom: 12px; color: var(--blue-600); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .news-card h3 { margin-bottom: 13px; font-size: 22px; line-height: 1.3; }
    .news-card p { color: var(--muted); font-size: 14px; }
    .news-link { display: inline-flex; align-items:center; gap:9px; margin-top:22px; color:var(--blue-600); font-size:13px; font-weight:750; }

    /* Careers */
    .careers-section {
      position: relative;
      overflow: hidden;
      padding: 115px 0;
      color: white;
      background: linear-gradient(135deg, #06152f, #092c60);
    }
    .careers-section::after {
      content:"";
      position:absolute;
      right:-170px;
      bottom:-260px;
      width:650px;
      height:650px;
      border:1px solid rgba(52,201,255,.23);
      border-radius:50%;
      box-shadow: 0 0 0 80px rgba(14,117,238,.035), 0 0 0 165px rgba(14,117,238,.025);
    }
    .career-grid {
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
      max-width:920px;
    }
    .career-card {
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      min-height:80px;
      padding:18px 22px;
      border:1px solid rgba(139,203,255,.17);
      border-radius:13px;
      background:rgba(255,255,255,.05);
      transition:background .2s ease, border-color .2s ease;
    }
    .career-card:hover { background:rgba(255,255,255,.09); border-color:rgba(91,213,255,.36); }
    .career-card strong { font-size:15px; }
    .career-card span { color:#7adfff; font-size:20px; }
    .career-note { position:relative; z-index:2; margin-top:28px; color:#9db1cf; font-size:14px; }

    /* FAQ */
    .faq-section { padding: 115px 0; background: var(--soft-blue); }
    .faq-wrap { max-width: 940px; margin: 0 auto; }
    .faq-item { border-bottom: 1px solid #cad9eb; }
    .faq-question {
      width: 100%;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding: 25px 0;
      border: 0;
      background: transparent;
      text-align: left;
      cursor: pointer;
      font-size: 20px;
      font-weight: 680;
    }
    .faq-plus {
      position: relative;
      flex: 0 0 auto;
      width: 30px;
      height: 30px;
      border: 1px solid #aec5df;
      border-radius: 50%;
    }
    .faq-plus::before,
    .faq-plus::after {
      content:"";
      position:absolute;
      left:8px;
      right:8px;
      top:14px;
      height:1px;
      background:var(--blue-600);
      transition:transform .2s ease;
    }
    .faq-plus::after { transform:rotate(90deg); }
    .faq-item.open .faq-plus::after { transform:rotate(0); }
    .faq-answer {
      max-height: 0;
      overflow: hidden;
      transition: max-height .3s ease;
    }
    .faq-answer p {
      max-width: 800px;
      padding: 0 55px 26px 0;
      color: var(--muted);
      font-size: 16px;
    }

    /* Contact */
    .contact-section {
      position: relative;
      overflow: hidden;
      padding: 116px 0 108px;
      color: white;
      background:
        radial-gradient(circle at 85% 20%, rgba(31,191,255,.27), transparent 30%),
        linear-gradient(135deg, #075fd7, #063778 63%, #041c42);
    }
    .contact-section::before {
      content:"";
      position:absolute;
      inset:0;
      opacity:.21;
      background-image:linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);
      background-size:68px 68px;
      mask-image:linear-gradient(90deg,transparent,black 55%,black);
    }
    .contact-layout {
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns: minmax(0,1.05fr) minmax(390px,.65fr);
      gap:80px;
      align-items:end;
    }
    .contact-layout h2 { max-width:800px; margin-bottom:22px; font-size:clamp(43px,5vw,72px); }
    .contact-layout .intro { max-width:720px; color:#c2d8f2; font-size:18px; }
    .contact-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
    .contact-info {
      overflow:hidden;
      border:1px solid rgba(255,255,255,.18);
      border-radius:18px;
      background:rgba(4,23,54,.27);
      backdrop-filter:blur(12px);
    }
    .contact-row { padding:20px 22px; border-bottom:1px solid rgba(255,255,255,.13); }
    .contact-row:last-child { border-bottom:0; }
    .contact-row small { display:block; margin-bottom:5px; color:#79dfff; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
    .contact-row strong { font-size:14px; font-weight:650; }

    /* Footer */
    .footer { padding:62px 0 30px; color:#9aabc3; background:#020b1b; }
    .footer-top { display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:45px; padding-bottom:45px; }
    .footer-brand p { max-width:410px; margin-top:18px; color:#71849f; font-size:14px; }
    .footer h4 { margin-bottom:16px; color:white; font-size:13px; letter-spacing:.06em; text-transform:uppercase; }
    .footer a { display:block; margin:9px 0; color:#8294ae; font-size:13px; }
    .footer a:hover { color:white; }
    .footer-bottom { display:flex; justify-content:space-between; gap:30px; padding-top:25px; border-top:1px solid rgba(255,255,255,.09); font-size:11px; }

    .reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    @media (max-width: 1100px) {
      .desktop-nav { display: none; }
      .menu-button { display: block; }
      .nav-contact { display: none; }
      .hero-inner { grid-template-columns: 1fr 1fr; gap: 20px; }
      .world-visual { min-height: 560px; }
      .label-1, .label-3 { left: -2%; }
      .label-2, .label-4 { right: -2%; }
      .brand-layout { grid-template-columns: 1fr; gap: 50px; }
      .section-head { grid-template-columns: 1fr; gap: 22px; }
      .system-grid { grid-template-columns: repeat(3, 1fr); }
      .system-step { border-bottom: 1px solid rgba(136,194,255,.13); }
      .system-step:nth-child(3) { border-right: 0; }
      .system-step:nth-child(4), .system-step:nth-child(5) { border-bottom: 0; }
      .about-grid { grid-template-columns: .9fr 1.1fr; }
      .contact-layout { grid-template-columns: 1fr; }
      .contact-info { max-width: 700px; }
    }

    @media (max-width: 820px) {
      .container { width: min(calc(100% - 34px), var(--container)); }
      .nav-row { min-height: 72px; }
      .mobile-menu { top: 72px; }
      .brand-cn, .language { display: none; }
      .hero { min-height: auto; }
      .hero-inner { grid-template-columns: 1fr; min-height: auto; padding-top: 132px; padding-bottom: 65px; }
      .hero-copy { padding-bottom: 0; }
      .world-visual { min-height: 500px; margin-top: -20px; }
      .world-visual::before { width: 430px; height: 430px; }
      .visual-label { min-width: 110px; padding: 8px 10px; font-size: 9px; }
      .label-1 { top: 18%; left: 0; }
      .label-2 { top: 16%; right: 0; }
      .label-3 { bottom: 15%; left: 1%; }
      .label-4 { bottom: 12%; right: 1%; }
      .brand-section, .technology-section, .applications-section, .about-section, .news-section, .careers-section, .faq-section { padding: 90px 0; }
      .name-grid, .why-grid, .advantage-grid, .news-grid { grid-template-columns: 1fr; }
      .name-card { min-height: auto; }
      .name-symbol { margin-bottom: 35px; }
      .system-title { align-items: flex-start; flex-direction: column; }
      .system-grid { grid-template-columns: 1fr; }
      .system-step { min-height: auto; border-right: 0; border-bottom: 1px solid rgba(136,194,255,.13) !important; }
      .system-step:last-child { border-bottom: 0 !important; }
      .system-step .step-icon { margin: 24px 0 20px; }
      .application-grid { grid-template-columns: 1fr; }
      .application-card, .application-card.wide { grid-column: auto; min-height: 470px; }
      .stats-row { grid-template-columns: 1fr; }
      .stat { border-right: 0; border-bottom: 1px solid var(--line); }
      .stat:last-child { border-bottom: 0; }
      .about-grid { grid-template-columns: 1fr; }
      .career-grid { grid-template-columns: 1fr; }
      .footer-top { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 560px) {
      .container { width: min(calc(100% - 28px), var(--container)); }
      .brand { font-size: 18px; }
      .brand-mark { width: 31px; height: 31px; }
      .hero h1 { font-size: 45px; }
      .hero-lead { font-size: 16px; }
      .hero-actions .btn { width: 100%; }
      .hero-note { gap: 10px 18px; }
      .world-visual { min-height: 380px; margin-top: 8px; }
      .visual-label { display: none; }
      .section-head { margin-bottom: 36px; }
      .section-head h2, .brand-layout h2 { font-size: 38px; }
      .name-grid { grid-template-columns: 1fr; }
      .application-card, .application-card.wide { min-height: 420px; }
      .application-content { padding: 27px 24px; }
      .application-card h3 { font-size: 28px; }
      .founder-image, .founder-image img { min-height: 310px; }
      .about-gallery { grid-template-rows: 250px 210px; }
      .contact-section { padding: 88px 0 82px; }
      .contact-layout h2 { font-size: 43px; }
      .contact-actions .btn { width: 100%; }
      .footer-top { grid-template-columns: 1fr; }
      .footer-bottom { flex-direction: column; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
      .reveal { opacity: 1; transform: none; }
    }

/* ===== base ===== */
/* Pitch-deck-integrated additions */
.hero-thesis {
  max-width: 700px;
  margin: -7px 0 22px;
  color: #eaf8ff;
  font-size: clamp(18px, 1.65vw, 24px);
  font-weight: 620;
  letter-spacing: -.02em;
}

.challenge-ribbon {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 16px 22px;
  margin: -13px 0 30px;
  padding: 17px 20px;
  border: 1px solid rgba(85, 218, 255, .2);
  border-radius: 14px;
  background: rgba(19, 92, 177, .13);
}
.challenge-label,
.why-tag {
  color: #6de5ff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.challenge-ribbon strong { font-size: 17px; color: white; }
.challenge-ribbon p { color: #9db4d0; font-size: 13px; }
.why-card .why-tag { margin: -25px 0 14px 52px; }

.map-insight {
  display: grid;
  grid-template-columns: minmax(280px, .68fr) minmax(600px, 1.32fr);
  gap: 38px;
  align-items: center;
  margin: 0 0 70px;
  padding: 36px;
  border: 1px solid rgba(117, 202, 255, .18);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(255,255,255,.065), rgba(4,39,85,.13));
  box-shadow: 0 25px 70px rgba(0,0,0,.18);
}
.map-copy h3 { margin-bottom: 18px; color: white; font-size: clamp(30px, 3vw, 46px); }
.map-copy > p { color: #9fb5d1; font-size: 15px; }
.map-points { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 26px; }
.map-points span {
  padding: 8px 10px;
  border: 1px solid rgba(78,209,255,.17);
  border-radius: 999px;
  color: #bdeeff;
  background: rgba(10,95,175,.12);
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .03em;
}
.map-comparison {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
}
.map-panel {
  overflow: hidden;
  border: 1px solid rgba(98, 196, 255, .22);
  border-radius: 18px;
  background: #071b3d;
}
.map-panel-head { padding: 16px 17px 14px; border-bottom: 1px solid rgba(125,194,255,.12); }
.map-panel-head strong { display: block; color: white; font-size: 13px; }
.map-panel-head span { color: #7492b6; font-size: 10px; }
.map-panel svg { width: 100%; height: auto; }
.map-transform { display: grid; place-items: center; }
.map-transform span { position: relative; width: 36px; height: 2px; background: linear-gradient(90deg,#1a80e7,#62e5ff); }
.map-transform span::after { content:""; position:absolute; right:0; top:-5px; width:10px; height:10px; border-top:2px solid #62e5ff; border-right:2px solid #62e5ff; transform:rotate(45deg); }

.evidence-section {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  color: white;
  background:
    radial-gradient(circle at 86% 15%, rgba(45, 161, 255, .28), transparent 30%),
    linear-gradient(140deg, #03112a, #082a5c 62%, #063b79);
}
.evidence-section::before {
  content:""; position:absolute; inset:0; opacity:.2;
  background-image: linear-gradient(rgba(108,182,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(108,182,255,.12) 1px,transparent 1px);
  background-size: 82px 82px;
  mask-image: linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);
}
.evidence-section > .container { position:relative; z-index:1; }
.evidence-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.evidence-card {
  min-height: 320px;
  padding: 28px 25px;
  border: 1px solid rgba(130, 209, 255, .19);
  border-radius: 20px;
  background: linear-gradient(155deg, rgba(255,255,255,.09), rgba(255,255,255,.025));
  backdrop-filter: blur(10px);
}
.evidence-status {
  display:inline-flex; margin-bottom:42px; padding:6px 9px; border:1px solid rgba(88,220,255,.24); border-radius:999px;
  color:#71e4ff; font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase;
}
.evidence-number { display:block; margin-bottom:20px; color:#7ce9ff; font-size:clamp(48px,5vw,72px); line-height:.9; letter-spacing:-.07em; }
.evidence-card h3 { margin-bottom:12px; font-size:21px; }
.evidence-card p { color:#9eb4cf; font-size:13px; }
.methodology-bar {
  display:grid; grid-template-columns:auto 1fr auto; gap:24px; align-items:center;
  margin-top:22px; padding:20px 22px; border:1px solid rgba(119,205,255,.17); border-radius:14px; background:rgba(2,20,48,.46);
}
.methodology-bar > div { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.methodology-icon { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:#01254a; background:#68e3ff; font-weight:900; }
.methodology-bar p { color:#91a9c8; font-size:12px; }
.methodology-bar a { color:#79e8ff; font-size:12px; font-weight:780; white-space:nowrap; }

.deployment-section { padding:120px 0; background:linear-gradient(180deg,#f4f8fe,#ffffff); }
.deployment-principle {
  display:grid; grid-template-columns:86px 1fr; gap:24px; align-items:center;
  margin-bottom:26px; padding:24px 27px; border:1px solid #d5e4f6; border-radius:18px; background:white; box-shadow:0 18px 45px rgba(16,66,130,.055);
}
.principle-mark { display:grid; place-items:center; width:72px; height:72px; border-radius:18px; color:white; background:linear-gradient(145deg,#0875f5,#1cc8f4); font-size:15px; font-weight:850; letter-spacing:.08em; box-shadow:0 15px 28px rgba(8,117,245,.24); }
.deployment-principle strong { color:var(--ink); font-size:21px; }
.deployment-principle p { margin-top:5px; color:var(--muted); font-size:14px; }
.deployment-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.deployment-card {
  min-height:430px; padding:31px; border:1px solid #d8e4f3; border-radius:22px; background:white; box-shadow:0 18px 52px rgba(7,53,116,.07);
}
.deployment-icon { position:relative; width:60px; height:60px; margin-bottom:46px; border-radius:16px; color:var(--blue-600); background:#eaf4ff; }
.deployment-icon::before,.deployment-icon::after,.deployment-icon span::before,.deployment-icon span::after { content:""; position:absolute; }
.api-icon::before { left:14px; top:18px; width:31px; height:24px; border:2px solid currentColor; border-radius:7px; }
.api-icon::after { left:24px; top:27px; width:12px; height:2px; background:currentColor; box-shadow:0 6px 0 currentColor; }
.private-icon::before { left:18px; top:24px; width:24px; height:22px; border:2px solid currentColor; border-radius:5px; }
.private-icon::after { left:23px; top:12px; width:14px; height:17px; border:2px solid currentColor; border-bottom:0; border-radius:9px 9px 0 0; }
.system-icon::before { left:13px; top:18px; width:34px; height:26px; border:2px solid currentColor; transform:skewY(-12deg); }
.system-icon::after { left:29px; top:12px; width:2px; height:38px; background:currentColor; transform:rotate(58deg); }
.deployment-kicker { margin-bottom:8px; color:var(--blue-600); font-size:10px; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.deployment-card h3 { margin-bottom:13px; font-size:27px; }
.deployment-card > p { min-height:78px; color:var(--muted); font-size:14px; }
.deployment-card ul { display:grid; gap:8px; margin:24px 0 0; padding:20px 0 0; border-top:1px solid #e4ebf4; list-style:none; }
.deployment-card li { position:relative; padding-left:18px; color:#3e526c; font-size:13px; }
.deployment-card li::before { content:""; position:absolute; left:0; top:.67em; width:7px; height:7px; border-radius:50%; background:var(--blue-500); }
.delivery-status {
  display:grid; grid-template-columns:repeat(3,1fr); margin-top:24px; border:1px solid #d5e2f2; border-radius:18px; overflow:hidden; background:#fff;
}
.delivery-status article { min-height:145px; padding:24px; border-right:1px solid #dfe8f4; }
.delivery-status article:last-child { border-right:0; }
.delivery-status span { display:block; margin-bottom:8px; color:var(--blue-600); font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.delivery-status strong { display:block; color:var(--ink); font-size:15px; }
.delivery-status p { margin-top:7px; color:var(--muted); font-size:12px; }

.stats-row { grid-template-columns:repeat(4,1fr); }
.leadership-section { padding:118px 0; background:#fff; }
.leadership-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.leader-card { overflow:hidden; border:1px solid var(--line); border-radius:22px; background:linear-gradient(160deg,#fff,#f4f8ff); box-shadow:0 18px 50px rgba(9,58,127,.07); }
.leader-photo,.leader-avatar { height:260px; background:linear-gradient(145deg,#e9f4ff,#d6e8fa); }
.leader-photo img { width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.leader-avatar { position:relative; display:grid; place-items:center; overflow:hidden; }
.leader-avatar::before,.leader-avatar::after { content:""; position:absolute; width:190px; height:190px; border:1px solid rgba(10,117,245,.22); border-radius:50%; }
.leader-avatar::after { width:125px; height:125px; border-color:rgba(37,213,255,.42); }
.leader-avatar span { position:relative; z-index:1; color:var(--blue-600); font-size:52px; font-weight:750; letter-spacing:-.07em; }
.leader-body { padding:27px; }
.leader-role { margin-bottom:7px; color:var(--blue-600); font-size:10px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.leader-body h3 { margin-bottom:12px; font-size:28px; }
.leader-body p { min-height:73px; color:var(--muted); font-size:13px; }
.leader-focus { margin-top:21px; padding-top:16px; border-top:1px solid #e1e9f4; color:#3f5876; font-size:11px; font-weight:720; }
.leadership-note { margin-top:18px; color:#76869b; font-size:11px; text-align:right; }

.global-section {
  position:relative; overflow:hidden; padding:120px 0; color:white;
  background:radial-gradient(circle at 10% 25%,rgba(12,119,244,.24),transparent 30%),linear-gradient(140deg,#031027,#071f43 60%,#063365);
}
.global-section::before { content:""; position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(100,178,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(100,178,255,.12) 1px,transparent 1px); background-size:78px 78px; }
.global-section > .container { position:relative; z-index:1; }
.global-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:24px; }
.global-map-card { overflow:hidden; border:1px solid rgba(120,205,255,.18); border-radius:22px; background:#071936; }
.global-map-card svg { width:100%; }
.global-map-caption { display:flex; justify-content:space-between; gap:20px; padding:18px 22px; border-top:1px solid rgba(132,198,255,.14); }
.global-map-caption strong { font-size:14px; }
.global-map-caption span { color:#86a6c7; font-size:11px; }
.global-cards { display:grid; gap:14px; }
.global-card { min-height:150px; padding:22px; border:1px solid rgba(126,202,255,.17); border-radius:18px; background:rgba(255,255,255,.055); }
.global-icon { display:grid; place-items:center; width:38px; height:38px; float:left; margin:0 15px 30px 0; border:1px solid rgba(83,220,255,.3); border-radius:10px; color:#6de5ff; background:rgba(10,109,197,.2); font-size:13px; font-weight:850; }
.global-card h3 { margin-bottom:6px; font-size:20px; }
.global-card p { color:#9bb2cf; font-size:12px; }
.global-disclaimer { margin-top:17px; padding:15px 18px; border-left:3px solid #4bdfff; color:#8fa9c7; background:rgba(2,15,36,.32); font-size:11px; }
.global-disclaimer strong { color:#cdefff; }

@media (max-width: 1160px) {
  .desktop-nav { gap:18px; }
  .desktop-nav a { font-size:13px; }
  .map-insight { grid-template-columns:1fr; }
  .evidence-grid { grid-template-columns:repeat(2,1fr); }
  .global-layout { grid-template-columns:1fr; }
  .global-cards { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 920px) {
  .challenge-ribbon { grid-template-columns:1fr; gap:7px; }
  .map-comparison { grid-template-columns:1fr; }
  .map-transform { height:34px; transform:rotate(90deg); }
  .deployment-grid,.leadership-grid { grid-template-columns:1fr; }
  .deployment-card { min-height:auto; }
  .deployment-card > p,.leader-body p { min-height:0; }
  .delivery-status,.stats-row { grid-template-columns:repeat(2,1fr); }
  .delivery-status article:nth-child(2),.stats-row .stat:nth-child(2) { border-right:0; }
  .delivery-status article:nth-child(-n+2),.stats-row .stat:nth-child(-n+2) { border-bottom:1px solid #dfe8f4; }
  .global-cards { grid-template-columns:1fr; }
  .global-map-caption { flex-direction:column; }
  .methodology-bar { grid-template-columns:1fr; }
  .methodology-bar > div { white-space:normal; }
}

@media (max-width: 640px) {
  .hero-thesis { font-size:17px; }
  .map-insight { padding:22px; }
  .map-copy h3 { font-size:31px; }
  .evidence-grid { grid-template-columns:1fr; }
  .evidence-card { min-height:270px; }
  .deployment-principle { grid-template-columns:1fr; }
  .delivery-status,.stats-row { grid-template-columns:1fr; }
  .delivery-status article,.stats-row .stat { border-right:0 !important; border-bottom:1px solid #dfe8f4; }
  .delivery-status article:last-child,.stats-row .stat:last-child { border-bottom:0; }
  .leader-photo,.leader-avatar { height:220px; }
  .global-map-card svg { min-height:270px; object-fit:cover; }
  .methodology-bar a { white-space:normal; }
}

/* ===== requested-revisions ===== */
/* Requested structural revisions — August 2026 */
.site-part,
#technology-overview,
#advantages,
#validation,
#application-areas,
#deployment,
#about-awomo,
#team,
#join-team,
#news,
#faq,
#contact-form { scroll-margin-top: 86px; }

/* Five-part navigation */
.site-header .nav-row { justify-content: center; }
.primary-five { margin-left: 0; gap: 36px; }
.desktop-nav .nav-item { position: relative; display: flex; align-items: center; min-height: 82px; }
.desktop-nav .nav-item > a,
.desktop-nav > .nav-direct { display: inline-flex; align-items: center; gap: 7px; }
.nav-caret { width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .7; }
.submenu {
  position: absolute; top: 70px; left: 50%; z-index: 120;
  min-width: 220px; padding: 10px;
  border: 1px solid rgba(132,205,255,.18); border-radius: 14px;
  background: rgba(4,18,42,.98); box-shadow: 0 24px 55px rgba(0,0,0,.28);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(-50%, 8px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  backdrop-filter: blur(18px);
}
.nav-item:hover .submenu,
.nav-item:focus-within .submenu { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.desktop-nav .submenu a { display: block; padding: 11px 12px; border-radius: 9px; color: #b9cce5; white-space: nowrap; font-size: 13px; }
.desktop-nav .submenu a:hover { color: white; background: rgba(70,167,255,.12); }
.desktop-nav .submenu a::after { display: none; }
.menu-button { margin-left: auto; }
.mobile-menu { max-height: calc(100vh - 72px); overflow-y: auto; }
.mobile-nav-group { border-bottom: 1px solid rgba(255,255,255,.1); }
.mobile-menu .mobile-main,
.mobile-menu .mobile-direct { padding: 14px 0 11px; border-bottom: 0; color: white; font-size: 16px; }
.mobile-subs { display: grid; gap: 1px; padding: 0 0 13px 15px; }
.mobile-menu .mobile-subs a { padding: 7px 0; border-bottom: 0; color: #8fa9c9; font-size: 13px; font-weight: 590; }
.mobile-menu > .mobile-direct { border-bottom: 1px solid rgba(255,255,255,.1); }

/* Connected Concept World Model technical path */
.cwm-path-diagram {
  margin-top: 38px; padding: 28px 28px 20px;
  border: 1px solid rgba(101,192,255,.22); border-radius: 24px;
  background: linear-gradient(145deg, rgba(7,37,79,.96), rgba(4,22,52,.98));
  box-shadow: inset 0 0 50px rgba(30,142,255,.08), 0 24px 70px rgba(0,0,0,.15);
}
.cwm-path-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 23px; }
.cwm-path-heading span { color: #69e2ff; font-size: 11px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.cwm-path-heading strong { color: white; font-size: 18px; font-weight: 680; }
.cwm-path-scroll { overflow-x: auto; overflow-y: hidden; padding-bottom: 3px; scrollbar-color: rgba(88,198,255,.35) transparent; }
.cwm-path-track { display: grid; grid-template-columns: repeat(4, minmax(185px, 1fr) 40px) minmax(185px, 1fr); align-items: stretch; min-width: 1080px; }
.cwm-path-node {
  position: relative; min-height: 265px; padding: 24px 22px;
  border: 1px solid rgba(116,196,255,.15); border-radius: 17px;
  background: linear-gradient(155deg, rgba(18,67,126,.7), rgba(8,35,77,.72));
}
.cwm-path-node::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; border-radius:17px 0 0 17px; background:linear-gradient(#57e1ff,#1e7cff); }
.cwm-path-node-final { background: linear-gradient(155deg, rgba(10,102,143,.72), rgba(8,43,84,.8)); }
.cwm-node-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:32px; }
.cwm-step-number { color:#6fe3ff; font-size:11px; font-weight:850; letter-spacing:.12em; }
.cwm-node-icon { display:grid; place-items:center; width:54px; height:54px; border:1px solid rgba(94,225,255,.25); border-radius:15px; background:rgba(31,142,225,.13); }
.cwm-node-icon svg { width:34px; height:34px; fill:none; stroke:#6fe7ff; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.cwm-path-node h4 { min-height:55px; margin-bottom:14px; color:white; font-size:19px; line-height:1.32; }
.cwm-path-node p { color:#9db7d4; font-size:13px; line-height:1.68; }
.cwm-path-connector { position:relative; }
.cwm-path-connector::before { content:""; position:absolute; left:4px; right:6px; top:50%; height:1px; background:linear-gradient(90deg,rgba(73,195,255,.25),#58dfff); }
.cwm-path-connector::after { content:""; position:absolute; right:3px; top:calc(50% - 4px); width:8px; height:8px; border-top:1.5px solid #58dfff; border-right:1.5px solid #58dfff; transform:rotate(45deg); }
.cwm-feedback-loop { position:relative; min-width:1080px; height:92px; margin-top:3px; }
.cwm-feedback-loop svg { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.cwm-feedback-loop path { fill:none; stroke:#55dfff; stroke-width:1.5; stroke-dasharray:5 7; opacity:.55; }
.cwm-feedback-loop span { position:absolute; left:50%; bottom:4px; transform:translateX(-50%); padding:5px 13px; border-radius:999px; color:#80c9e6; background:#061a3b; font-size:10px; font-weight:720; letter-spacing:.06em; white-space:nowrap; }

/* Validation and demo — research article plus reserved future videos */
.validation-demo-section { min-height: 600px; }
.validation-demo-section .section-head { margin-bottom: 34px; }

/* Application and deployment refinements */
#application-areas .section-head { grid-template-columns: 1fr; }
#application-areas .section-head h2 { max-width: 900px; }
.deployment-grid-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.deployment-grid-four .deployment-card { min-height: 445px; padding: 28px; }
.deployment-symbol { display:grid; place-items:center; width:60px; height:60px; margin-bottom:40px; border-radius:16px; color:var(--blue-600); background:#eaf4ff; }
.deployment-symbol svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.deployment-grid-four .deployment-card > p { min-height: 110px; }

/* About Awomo and Brand Definition */
.brand-subsection { display:grid; grid-template-columns:minmax(0,.78fr) minmax(620px,1.22fr); gap:48px; margin:64px 0 28px; padding:42px; border:1px solid #dbe7f4; border-radius:24px; background:linear-gradient(145deg,#fff,#f2f7fe); }
.brand-subsection-copy h3 { max-width:620px; margin:10px 0 18px; font-size:clamp(32px,3vw,48px); line-height:1.12; }
.brand-subsection-copy > p { color:var(--muted); font-size:15px; }
.brand-subsection .brand-origin { margin-top:20px; }
.brand-subsection .name-grid { align-self:stretch; }
.brand-subsection .name-card { min-height:300px; padding:25px; }
.brand-subsection .name-symbol { margin-bottom:42px; font-size:38px; }
.brand-subsection .name-card h4 { margin-bottom:12px; font-size:20px; }
.about-grid-no-founder { grid-template-columns:1fr; }
.about-grid-no-founder .about-gallery { grid-template-columns:1.12fr .88fr; grid-template-rows:420px; }

/* Meet the team */
.team-section .section-head { grid-template-columns:1fr; }
.team-section .leader-body p { min-height:130px; }
.leader-placeholder { min-height:100%; background:linear-gradient(155deg,#f8fbff,#eaf2fb); }
.leader-placeholder .leader-avatar { height:100%; min-height:470px; }
.leader-placeholder .leader-avatar span { font-size:82px; color:#72a8d9; }

/* News: two entries only */
.news-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.news-grid-two .news-card { display:flex; flex-direction:column; }
.news-grid-two .news-body { flex:1; }
.news-grid-two .news-card-featured p + p { margin-top:12px; }
.news-meta-split { display:flex; justify-content:space-between; gap:18px; }
.news-meta-split time { color:#8091a8; font-weight:650; letter-spacing:0; text-transform:none; }
.news-content-empty { min-height:86px; }

/* Contact form */
.contact-layout-form { grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr); align-items:start; gap:62px; }
.contact-intro-panel { padding-top:22px; }
.contact-quick-info { display:grid; gap:15px; margin-top:38px; }
.contact-quick-info > div { padding:18px 20px; border:1px solid rgba(255,255,255,.14); border-radius:13px; background:rgba(3,22,51,.25); }
.contact-quick-info small { display:block; margin-bottom:5px; color:#79dfff; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contact-quick-info strong { color:white; font-size:13px; font-weight:620; }
.contact-form { padding:30px; border:1px solid rgba(255,255,255,.2); border-radius:22px; background:rgba(3,22,51,.42); box-shadow:0 25px 60px rgba(0,0,0,.16); backdrop-filter:blur(16px); }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.contact-form label { display:grid; gap:8px; }
.contact-form label > span { color:#cde2f6; font-size:11px; font-weight:750; letter-spacing:.03em; }
.contact-form input,
.contact-form select,
.contact-form textarea { width:100%; border:1px solid rgba(162,212,255,.22); border-radius:10px; color:white; background:rgba(2,17,40,.55); outline:none; font:inherit; }
.contact-form input,
.contact-form select { height:48px; padding:0 13px; }
.contact-form textarea { resize:vertical; min-height:145px; padding:13px; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color:#63ddff; box-shadow:0 0 0 3px rgba(58,199,255,.1); }
.contact-form select option { color:#07172f; background:white; }
.contact-form ::placeholder { color:#7790ad; }
.form-span-two { grid-column:1 / -1; }
.consent-row { display:flex !important; grid-template-columns:auto 1fr !important; align-items:flex-start; gap:10px !important; margin-top:18px; }
.consent-row input { flex:0 0 auto; width:16px; height:16px; margin-top:2px; accent-color:#38c9ff; }
.consent-row span { color:#9fb5cf !important; font-size:11px !important; font-weight:520 !important; }
.form-submit-row { display:flex; align-items:center; gap:18px; margin-top:22px; }
.form-status { color:#91e8ff; font-size:12px; }

@media (max-width: 1180px) {
  .primary-five { gap:24px; }
  .brand-subsection { grid-template-columns:1fr; }
  .deployment-grid-four { grid-template-columns:repeat(2,1fr); }
  .deployment-grid-four .deployment-card > p { min-height:72px; }
}
@media (max-width: 1100px) {
  .site-header .nav-row { justify-content:flex-end; }
  .contact-layout-form { grid-template-columns:1fr; }
  .contact-form { max-width:820px; }
}
@media (max-width: 820px) {
  .validation-demo-section { min-height:0; }
  .brand-subsection { margin-top:45px; padding:28px; }
  .brand-subsection .name-grid { grid-template-columns:1fr; }
  .brand-subsection .name-card { min-height:auto; }
  .about-grid-no-founder .about-gallery { grid-template-columns:1fr; grid-template-rows:280px 230px; }
  .news-grid-two { grid-template-columns:1fr; }
  .form-grid { grid-template-columns:1fr; }
  .form-span-two { grid-column:auto; }
  .contact-form { padding:24px; }
}
@media (max-width: 650px) {
  .deployment-grid-four { grid-template-columns:1fr; }
  .deployment-grid-four .deployment-card > p { min-height:0; }
  .cwm-path-diagram { padding:22px 16px 15px; }
  .cwm-path-heading { align-items:flex-start; flex-direction:column; gap:7px; }
  .cwm-path-track { min-width:1000px; }
  .cwm-feedback-loop { min-width:1000px; }
  .leader-placeholder .leader-avatar { min-height:360px; }
  .form-submit-row { align-items:stretch; flex-direction:column; }
  .form-submit-row .btn { width:100%; }
}

/* ===== final-render-fixes ===== */
.mobile-menu.open { height: calc(100vh - 82px); }
@media (max-width: 820px) { .mobile-menu.open { height: calc(100vh - 72px); } }

/* ===== option-2-technology-demo ===== */
/* Option 2: Side-by-side contrast */
.o2-section-head { margin-bottom: 38px; }
.o2-section-head h2 { max-width: 760px; }
.o2-comparison {
  display: grid;
  /* Equal columns keep the visual divider at the true centre. */
  grid-template-columns: minmax(0, 1fr) 108px minmax(0, 1fr);
  align-items: stretch;
  margin-bottom: 28px;
}
.o2-existing,
.o2-awomo {
  position: relative;
  overflow: hidden;
  border-radius: 25px;
}
.o2-existing {
  padding: 32px;
  border: 1px solid rgba(159, 190, 224, .17);
  background: linear-gradient(150deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
}
.o2-awomo {
  padding: 34px;
  border: 1px solid rgba(70, 216, 255, .45);
  background:
    radial-gradient(circle at 78% 18%, rgba(46, 195, 255, .25), transparent 33%),
    radial-gradient(circle at 18% 84%, rgba(24, 106, 221, .20), transparent 31%),
    linear-gradient(135deg, rgba(8, 58, 124, .96), rgba(3, 21, 51, .985));
  box-shadow: 0 28px 85px rgba(0, 8, 25, .34), inset 0 1px 0 rgba(255,255,255,.055);
}
.o2-awomo::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  background-image:
    linear-gradient(rgba(91, 211, 255, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(91, 211, 255, .12) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(110deg, transparent 4%, black 50%, transparent 100%);
  pointer-events: none;
}
.o2-existing > *, .o2-awomo > * { position: relative; z-index: 2; }
.o2-kicker {
  display: block;
  margin-bottom: 9px;
  color: #68e4ff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.o2-existing .o2-kicker { color: #8da6c3; }
.o2-panel-head { padding-bottom: 22px; border-bottom: 1px solid rgba(151, 186, 225, .13); }
.o2-panel-head h3 { margin: 0; color: #fff; font-size: clamp(27px, 2.8vw, 41px); letter-spacing: -.035em; line-height: 1.08; }
.o2-existing .o2-panel-head h3 { font-size: clamp(25px, 2.35vw, 34px); }
.o2-panel-head > p { margin: 13px 0 0; max-width: 650px; color: #98adc7; font-size: 13px; line-height: 1.68; }
.o2-awomo .o2-panel-head > p { color: #c9e5f2; }
.o2-approach-list { display: grid; gap: 0; }
.o2-approach-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  padding: 22px 0;
  border-bottom: 1px solid rgba(151, 186, 225, .11);
}
.o2-approach-row:last-child { border-bottom: 0; padding-bottom: 14px; }
.o2-row-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(146, 180, 215, .16);
  border-radius: 13px;
  color: #8fa7c4;
  background: rgba(255,255,255,.025);
}
.o2-row-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.o2-row-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.o2-row-title h4 { margin: 0; color: #f4f8fc; font-size: 19px; }
.o2-row-title span {
  flex: 0 0 auto;
  padding: 6px 8px;
  border: 1px solid rgba(167, 194, 221, .13);
  border-radius: 999px;
  color: #9fb3cb;
  background: rgba(255,255,255,.022);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.o2-row-copy > strong { display: block; margin-top: 6px; color: #b7c7da; font-size: 11px; font-weight: 730; }
.o2-row-copy > p { margin: 8px 0 0; color: #8fa5bf; font-size: 12px; line-height: 1.65; }
.o2-existing-summary {
  margin-top: 15px;
  padding: 16px;
  border: 1px solid rgba(155, 187, 218, .12);
  border-radius: 15px;
  background: rgba(4, 24, 53, .32);
}
.o2-existing-summary > span { display: block; margin-bottom: 10px; color: #7f96b2; font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.o2-existing-summary > div { display: flex; flex-wrap: wrap; gap: 7px; }
.o2-existing-summary b {
  padding: 7px 9px;
  border-radius: 8px;
  color: #b6c6d9;
  background: rgba(255,255,255,.035);
  font-size: 10px;
  font-weight: 720;
}
.o2-divider {
  display: grid;
  grid-template-rows: 1fr auto 1fr;
  place-items: center;
  gap: 18px;
  padding: 20px 0;
}
.o2-divider-line {
  width: 2px;
  height: 100%;
  min-height: 72px;
  border-radius: 999px;
  background: linear-gradient(180deg, transparent, rgba(79, 218, 255, .72), transparent);
}
.o2-divider-label {
  display: grid;
  place-items: center;
  width: 92px;
  min-height: 92px;
  padding: 12px;
  border: 1px solid rgba(75, 218, 255, .46);
  border-radius: 50%;
  color: #d8f8ff;
  background: radial-gradient(circle at 35% 30%, rgba(29, 120, 205, .96), rgba(6, 42, 86, .94));
  box-shadow: 0 0 38px rgba(42, 202, 255, .18), inset 0 1px 0 rgba(255,255,255,.08);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: .065em;
  text-align: center;
  text-transform: uppercase;
}
.o2-awomo-lead { font-size: 15px !important; font-weight: 620; line-height: 1.55 !important; }
.o2-awomo-body {
  display: grid;
  grid-template-columns: 205px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-top: 27px;
}
.o2-core-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 315px;
}
.o2-core-orbit {
  position: absolute;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(91, 231, 255, .30);
  border-radius: 50%;
  box-shadow: 0 0 40px rgba(46, 206, 255, .09), inset 0 0 30px rgba(35, 149, 230, .06);
}
.o2-core-orbit::before,
.o2-core-orbit::after {
  content: "";
  position: absolute;
  inset: 27px;
  border: 1px solid rgba(91, 231, 255, .18);
  border-radius: 50%;
  transform: scaleY(.42) rotate(28deg);
}
.o2-core-orbit::after { transform: scaleY(.42) rotate(-42deg); }
.o2-core-center {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 106px;
  height: 106px;
  border: 1px solid rgba(103, 235, 255, .48);
  border-radius: 50%;
  color: #fff;
  background: radial-gradient(circle, rgba(48, 204, 255, .24), rgba(11, 83, 164, .72));
  box-shadow: 0 0 42px rgba(45, 207, 255, .20), inset 0 0 26px rgba(102, 231, 255, .09);
  text-align: center;
}
.o2-core-center strong { font-size: 15px; line-height: 1.18; }
.o2-orbit-node {
  position: absolute;
  z-index: 4;
  display: grid;
  place-items: center;
  min-width: 56px;
  min-height: 29px;
  padding: 5px 8px;
  border: 1px solid rgba(94, 224, 255, .24);
  border-radius: 999px;
  color: #d5f7ff;
  background: rgba(7, 48, 98, .88);
  box-shadow: 0 0 18px rgba(42, 202, 255, .08);
  font-size: 8px;
  font-weight: 780;
}
.o2-node-state { top: 7px; left: 50%; transform: translateX(-50%); }
.o2-node-constraint { right: -2px; top: 50%; transform: translateY(-50%); }
.o2-node-action { bottom: 8px; left: 50%; transform: translateX(-50%); }
.o2-node-outcome { left: -2px; top: 50%; transform: translateY(-50%); }
.o2-capability-list { display: grid; gap: 0; }
.o2-capability-item {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(135, 215, 244, .13);
}
.o2-capability-item:last-child { border-bottom: 0; }
.o2-capability-item > span { color: #5ee2ff; font-size: 9px; font-weight: 850; letter-spacing: .08em; }
.o2-capability-item strong { display: block; color: #f5fcff; font-size: 12px; }
.o2-capability-item small { display: block; margin-top: 4px; color: #93aec7; font-size: 10px; line-height: 1.48; }
.o2-primary-outcomes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 23px;
  padding-top: 20px;
  border-top: 1px solid rgba(135, 215, 244, .13);
}
.o2-primary-outcomes > span { margin-right: 5px; color: #8eabc4; font-size: 8px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.o2-primary-outcomes b {
  padding: 8px 10px;
  border: 1px solid rgba(82, 221, 255, .23);
  border-radius: 8px;
  color: #dbf9ff;
  background: rgba(30, 170, 229, .10);
  font-size: 9px;
  font-weight: 770;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.o2-conclusion {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(460px, 1.28fr);
  gap: 34px;
  align-items: center;
  margin-bottom: 72px;
  padding: 22px 27px;
  border: 1px solid rgba(74, 215, 255, .22);
  border-radius: 17px;
  background: linear-gradient(90deg, rgba(16, 91, 168, .16), rgba(29, 173, 224, .07));
}
.o2-conclusion span { color: #7f9bb7; font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.o2-conclusion strong { color: #dff9ff; font-size: clamp(17px, 1.7vw, 23px); line-height: 1.4; }

@media (max-width: 1120px) {
  .o2-comparison { grid-template-columns: 1fr; gap: 22px; }
  .o2-divider { grid-template-columns: 1fr auto 1fr; grid-template-rows: auto; padding: 0 20px; }
  .o2-divider-line { width: 100%; height: 1px; min-height: 0; background: linear-gradient(90deg, transparent, rgba(79, 218, 255, .52), transparent); }
  .o2-awomo-body { grid-template-columns: minmax(220px, .7fr) minmax(360px, 1.3fr); }
}
@media (max-width: 760px) {
  .o2-section-head { margin-bottom: 27px; }
  .o2-existing, .o2-awomo { padding: 21px 18px; border-radius: 21px; }
  .o2-panel-head { padding-bottom: 18px; }
  .o2-approach-row { grid-template-columns: 41px 1fr; gap: 12px; padding: 18px 0; }
  .o2-row-icon { width: 40px; height: 40px; border-radius: 11px; }
  .o2-row-title { align-items: flex-start; }
  .o2-row-title h4 { font-size: 17px; }
  .o2-row-title span { font-size: 7px; }
  .o2-divider { padding: 0 3px; }
  .o2-divider-label { width: 72px; min-height: 72px; padding: 9px; font-size: 8px; }
  .o2-awomo-body { grid-template-columns: 1fr; gap: 19px; }
  .o2-core-visual { min-height: 280px; }
  .o2-core-orbit { width: 220px; height: 220px; }
  .o2-core-center { width: 112px; height: 112px; }
  .o2-conclusion { grid-template-columns: 1fr; gap: 9px; margin-bottom: 56px; padding: 19px; }
}

/* ===== awomo-logo-header-styles ===== */
/* Official Awomo wordmark supplied by the user. */
  .site-header .nav-row {
    display: grid !important;
    grid-template-columns: minmax(165px, 1fr) auto minmax(165px, 1fr);
    align-items: center;
    justify-content: initial !important;
    gap: 24px;
  }

  .site-logo {
    grid-column: 1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    width: 158px;
    height: 54px;
    flex: 0 0 auto;
    line-height: 0;
    transition: opacity .2s ease, transform .2s ease;
  }

  .site-logo:hover {
    opacity: .9;
    transform: translateY(-1px);
  }

  .site-logo:focus-visible {
    outline: 2px solid #5cddff;
    outline-offset: 5px;
    border-radius: 5px;
  }

  .site-logo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 54px;
    object-fit: contain;
  }

  .site-header .desktop-nav {
    grid-column: 2;
    justify-self: center;
    margin-left: 0;
  }

  .site-header .menu-button {
    grid-column: 3;
    justify-self: end;
    margin-left: 0;
  }

  @media (max-width: 1100px) {
    .site-header .nav-row {
      grid-template-columns: 145px 1fr 48px;
      gap: 14px;
    }

    .site-logo {
      width: 140px;
      height: 47px;
    }

    .site-logo img {
      max-height: 47px;
    }
  }

  @media (max-width: 560px) {
    .site-header .nav-row {
      grid-template-columns: 128px 1fr 44px;
      gap: 10px;
    }

    .site-logo {
      width: 124px;
      height: 42px;
    }

    .site-logo img {
      max-height: 42px;
    }
  }

/* ===== validation-article-styles ===== */
/* Physics-IQ article shared by Validation and Demo and News. */
  .validation-demo-section { min-height: auto; }
  .validation-feature-card {
    display: grid;
    grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
    overflow: hidden;
    margin-bottom: 48px;
    border: 1px solid rgba(117, 207, 255, .24);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(8, 44, 94, .92), rgba(4, 24, 57, .96));
    box-shadow: 0 24px 70px rgba(0, 0, 0, .18), inset 0 0 50px rgba(42, 164, 255, .06);
  }
  .validation-feature-copy { padding: 40px 42px 42px; }
  .validation-article-meta {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    color: #70e1ff;
    font-size: 11px;
    font-weight: 820;
    letter-spacing: .12em;
    text-transform: uppercase;
  }
  .validation-article-meta::before {
    content: "";
    width: 22px;
    height: 1px;
    background: currentColor;
  }
  .validation-feature-card h3 {
    max-width: 760px;
    margin: 0 0 18px;
    color: #fff;
    font-size: clamp(27px, 2.6vw, 42px);
    line-height: 1.16;
    letter-spacing: -.025em;
  }
  .validation-feature-card p {
    max-width: 760px;
    color: #a9bdd7;
    font-size: 15px;
    line-height: 1.78;
  }
  .validation-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 24px 0 28px;
  }
  .validation-tags span {
    padding: 8px 11px;
    border: 1px solid rgba(117, 207, 255, .17);
    border-radius: 999px;
    color: #c4d9ef;
    background: rgba(255, 255, 255, .035);
    font-size: 11px;
    font-weight: 660;
  }
  .article-open-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid rgba(113, 224, 255, .42);
    border-radius: 999px;
    color: #fff;
    background: rgba(27, 151, 236, .15);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 760;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
  }
  .article-open-button:hover {
    transform: translateY(-2px);
    border-color: rgba(113, 224, 255, .72);
    background: rgba(27, 151, 236, .25);
  }
  .article-open-button:focus-visible {
    outline: 2px solid #65e0ff;
    outline-offset: 3px;
  }
  .article-open-button .arrow {
    width: 15px;
    height: 8px;
  }
  .validation-benchmark-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 410px;
    padding: 36px;
    overflow: hidden;
    border-left: 1px solid rgba(119, 203, 255, .16);
    background:
      radial-gradient(circle at 70% 23%, rgba(55, 211, 255, .34), transparent 25%),
      radial-gradient(circle at 22% 78%, rgba(20, 107, 245, .42), transparent 35%),
      linear-gradient(155deg, rgba(8, 78, 149, .72), rgba(3, 24, 58, .9));
  }
  .validation-benchmark-panel::before,
  .validation-benchmark-panel::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(111, 224, 255, .32);
    border-radius: 50%;
  }
  .validation-benchmark-panel::before {
    width: 265px;
    height: 265px;
    right: -72px;
    top: -46px;
    box-shadow: 0 0 0 52px rgba(61, 185, 255, .045);
  }
  .validation-benchmark-panel::after {
    width: 104px;
    height: 104px;
    right: 48px;
    top: 66px;
  }
  .validation-benchmark-kicker {
    position: relative;
    z-index: 1;
    margin-bottom: 11px;
    color: #70e1ff;
    font-size: 10px;
    font-weight: 820;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .validation-benchmark-panel strong {
    position: relative;
    z-index: 1;
    display: block;
    color: #fff;
    font-size: clamp(32px, 3vw, 48px);
    line-height: 1.02;
    letter-spacing: -.035em;
  }
  .validation-benchmark-panel > span {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 290px;
    margin-top: 18px;
    color: #a9c2dc;
    font-size: 12px;
    line-height: 1.65;
  }
  .news-article-summary {
    min-height: 82px;
    margin-top: 4px;
  }
  .news-card .article-open-button.news-article-button {
    min-height: auto;
    margin-top: 21px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: var(--blue-600);
    background: transparent;
  }
  .news-card .article-open-button.news-article-button:hover {
    transform: none;
    color: #004bbd;
    background: transparent;
  }

  .article-dialog {
    width: min(940px, calc(100vw - 32px));
    max-width: 940px;
    max-height: calc(100vh - 32px);
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 24px;
    color: #132033;
    background: #fff;
    box-shadow: 0 35px 110px rgba(0, 12, 34, .42);
  }
  .article-dialog::backdrop {
    background: rgba(1, 10, 27, .76);
    backdrop-filter: blur(8px);
  }
  .article-dialog-shell {
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .article-dialog-header {
    position: relative;
    padding: 54px 64px 40px;
    color: #fff;
    background:
      radial-gradient(circle at 80% 15%, rgba(40, 210, 255, .27), transparent 26%),
      linear-gradient(135deg, #061733, #0a3a78);
  }
  .article-dialog-header .eyebrow { color: #72e3ff; }
  .article-dialog-header h2 {
    max-width: 760px;
    margin: 14px 0 0;
    color: #fff;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.08;
    letter-spacing: -.035em;
  }
  .article-dialog-close {
    position: absolute;
    top: 22px;
    right: 22px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .08);
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
  }
  .article-dialog-close:hover { background: rgba(255, 255, 255, .16); }
  .article-dialog-close:focus-visible { outline: 2px solid #72e3ff; outline-offset: 3px; }
  .article-dialog-content {
    max-width: 790px;
    margin: 0 auto;
    padding: 50px 52px 58px;
  }
  .article-dialog-content h3 {
    margin: 45px 0 17px;
    color: #0b2140;
    font-size: 27px;
    line-height: 1.24;
  }
  .article-dialog-content h3:first-child { margin-top: 0; }
  .article-dialog-content p {
    margin: 0 0 19px;
    color: #4d6078;
    font-size: 16px;
    line-height: 1.82;
  }
  .article-dialog-content a {
    color: #0966d7;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
  }
  .article-table-note {
    margin: 28px 0;
    padding: 22px 24px;
    border: 1px dashed #b7cce3;
    border-radius: 14px;
    background: #f5f9fe;
  }
  .article-table-note strong {
    display: block;
    color: #183352;
    font-size: 14px;
  }
  .article-table-note span {
    display: block;
    margin-top: 6px;
    color: #73859a;
    font-size: 12px;
  }
  .article-dialog-footer {
    display: flex;
    justify-content: flex-end;
    padding-top: 18px;
    border-top: 1px solid #e0e8f2;
  }
  .article-dialog-footer button {
    min-height: 42px;
    padding: 0 17px;
    border: 1px solid #bfd0e3;
    border-radius: 999px;
    color: #163252;
    background: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 720;
  }
  body.article-modal-open { overflow: hidden; }

  @media (max-width: 860px) {
    .validation-feature-card { grid-template-columns: 1fr; }
    .validation-benchmark-panel {
      min-height: 290px;
      border-top: 1px solid rgba(119, 203, 255, .16);
      border-left: 0;
    }
    .article-dialog-header { padding: 50px 34px 34px; }
    .article-dialog-content { padding: 38px 34px 46px; }
  }
  @media (max-width: 560px) {
    .validation-feature-copy { padding: 30px 24px 32px; }
    .validation-benchmark-panel { min-height: 250px; padding: 28px 24px; }
    .article-dialog { width: calc(100vw - 18px); max-height: calc(100vh - 18px); border-radius: 18px; }
    .article-dialog-shell { max-height: calc(100vh - 18px); }
    .article-dialog-header { padding: 48px 24px 28px; }
    .article-dialog-close { top: 14px; right: 14px; }
    .article-dialog-content { padding: 32px 24px 40px; }
    .article-dialog-content p { font-size: 15px; }
  }

/* ===== team-card-only-update ===== */
/* Text-only team cards: no portraits or image placeholders. */
.team-section .section-head { margin-bottom: 42px; }
.team-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.team-profile-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 250px;
  padding: 30px 30px 28px;
  overflow: hidden;
  border: 1px solid #d8e5f3;
  border-radius: 20px;
  background: linear-gradient(145deg, #ffffff 0%, #f3f8fe 100%);
  box-shadow: 0 18px 45px rgba(22, 66, 119, .07);
}
.team-profile-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #1e77ff, #29d5e8);
}
.team-profile-card::after {
  content: "";
  position: absolute;
  right: -55px;
  bottom: -70px;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(38, 139, 255, .12);
  border-radius: 50%;
}
.team-profile-role {
  position: relative;
  z-index: 1;
  align-self: flex-start;
  margin-bottom: 28px;
  padding: 7px 10px;
  border: 1px solid #cde4fb;
  border-radius: 999px;
  color: #1267c5;
  background: #edf7ff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}
.team-profile-card h3 {
  position: relative;
  z-index: 1;
  margin: 0 0 18px;
  color: #10213a;
  font-size: clamp(25px, 2.1vw, 32px);
  line-height: 1.1;
}
.team-profile-card p {
  position: relative;
  z-index: 1;
  max-width: 37ch;
  margin: auto 0 0;
  color: #63738a;
  font-size: 14px;
  line-height: 1.68;
}
.team-profile-card p strong {
  color: #213652;
  font-weight: 750;
}
@media (max-width: 980px) {
  .team-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .team-profile-grid { grid-template-columns: 1fr; }
  .team-profile-card { min-height: 210px; padding: 26px 26px 24px; }
}

/* ===== contact-footer-updates ===== */
.contact-quick-info strong a {
    color: inherit;
    text-decoration: none;
    transition: color .2s ease;
  }
  .contact-quick-info strong a:hover,
  .contact-quick-info strong a:focus-visible {
    color: #82e8ff;
  }
  .footer-logo {
    display: inline-flex;
    align-items: center;
    width: 172px;
    max-width: 100%;
    margin: 0 0 12px;
    line-height: 0;
    transition: opacity .2s ease, transform .2s ease;
  }
  .footer-logo:hover {
    opacity: .9;
    transform: translateY(-1px);
  }
  .footer-logo:focus-visible {
    outline: 2px solid #5cddff;
    outline-offset: 5px;
    border-radius: 5px;
  }
  .footer-logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  @media (max-width: 560px) {
    .footer-logo { width: 150px; }
  }
