*,*::before,*::after{ box-sizing:border-box; }
  html,body{ margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  :root{
    --white:#ffffff; --g10:#f4f4f4; --g20:#e0e0e0; --g30:#c6c6c6; --g50:#8d8d8d;
    --g70:#525252; --g90:#262626; --g100:#161616;
    --blue:#0f62fe; --blue-h:#0353e9; --blue-l:#d0e2ff; --pur:#8a3ffc; --cool:#78a9ff; --pink:#ee5396; --pink-l:#ff7eb6;
    --grad:linear-gradient(135deg,#0f62fe 0%,#8a3ffc 100%);
    --font:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,sans-serif;
    --mono:"IBM Plex Mono",ui-monospace,monospace;
    --maxw:1312px;
  }
  body{ background:var(--white); color:var(--g100); font-family:var(--font); font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
  a{ color:inherit; text-decoration:none; }
  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 16px; }
  @media (min-width:672px){ .wrap{ padding:0 32px; } }

  h1,h2,h3,h4{ margin:0; font-weight:400; letter-spacing:0; }
  .fluid-xl{ font-size:clamp(40px,5vw,68px); line-height:1.08; font-weight:600; letter-spacing:-.02em; }
  .fluid-lg{ font-size:clamp(30px,3.6vw,48px); line-height:1.12; font-weight:600; letter-spacing:-.01em; }
  .body-lg{ font-size:clamp(18px,1.4vw,21px); line-height:1.45; color:var(--g70); }
  .kicker{ font-family:var(--mono); font-size:13px; letter-spacing:.02em; color:var(--blue); display:inline-flex; align-items:center; gap:8px; }
  .kicker::before{ content:""; width:18px; height:1px; background:var(--blue); display:inline-block; }

  .btn{ display:inline-flex; align-items:center; justify-content:space-between; gap:40px; min-width:200px; padding:14px 16px; font-family:var(--font); font-size:16px; border:1px solid transparent; cursor:pointer; transition:background .15s,border-color .15s,color .15s; }
  .btn .i{ width:18px; height:18px; flex-shrink:0; }
  .btn-primary{ background:var(--blue); color:#fff; } .btn-primary:hover{ background:var(--blue-h); }
  .btn-tert{ background:transparent; color:var(--blue); border-color:var(--blue); } .btn-tert:hover{ background:var(--blue); color:#fff; }
  .btn-ghost-d{ background:transparent; color:#fff; border-color:#fff; } .btn-ghost-d:hover{ background:rgba(255,255,255,.12); }
  @media (max-width:520px){ .btn{ min-width:0; width:100%; gap:24px; } }

  /* MASTHEAD */
  .masthead{ background:var(--g100); color:#fff; height:48px; display:flex; align-items:center; }
  .mast-inner{ max-width:var(--maxw); margin:0 auto; width:100%; padding:0 16px; display:flex; align-items:center; height:100%; }
  .mast-brand{ font-size:14px; padding-right:24px; } .mast-brand b{ font-weight:600; } .mast-brand b span{ color:var(--cool); }
  .mast-nav{ display:flex; height:100%; }
  .mast-nav a{ display:flex; align-items:center; padding:0 16px; font-size:14px; color:#c6c6c6; transition:background .12s,color .12s; }
  .mast-nav a:hover{ background:#393939; color:#fff; }
  .mast-right{ margin-left:auto; display:flex; height:100%; }
  .mast-right a{ display:flex; align-items:center; padding:0 16px; font-size:14px; color:#fff; }
  @media (max-width:860px){ .mast-nav a:not(.keep){ display:none; } }

  /* PRODUCT SUB-NAV (watsonx signature) */
  .subnav{ position:sticky; top:0; z-index:90; background:var(--white); border-bottom:1px solid var(--g20); }
  .subnav-inner{ max-width:var(--maxw); margin:0 auto; padding:0 16px; display:flex; align-items:center; height:64px; }
  @media (min-width:672px){ .subnav-inner{ padding:0 32px; } }
  .subnav .prod{ font-size:20px; font-weight:600; letter-spacing:-.01em; padding-right:40px; }
  .subnav .prod span{ color:var(--blue); }
  .subnav-links{ display:flex; gap:28px; }
  .subnav-links a{ font-size:14px; color:var(--g70); padding:6px 0; border-bottom:2px solid transparent; transition:color .15s,border-color .15s; white-space:nowrap; }
  .subnav-links a:hover{ color:var(--g100); border-bottom-color:var(--g100); }
  .subnav-right{ margin-left:auto; display:flex; align-items:center; gap:8px; }
  .subnav-right .demo{ background:var(--blue); color:#fff; padding:10px 16px; font-size:14px; transition:background .15s; white-space:nowrap; }
  .subnav-right .demo:hover{ background:var(--blue-h); }
  .subnav-right .free{ color:var(--blue); padding:10px 14px; font-size:14px; white-space:nowrap; }
  .subnav-right .free:hover{ text-decoration:underline; }
  
  @media (max-width:480px){ .subnav-right .free{ display:none; } }

  /* HERO */
  .hero{ position:relative; overflow:hidden; border-bottom:1px solid var(--g20); }
  .hero::before{ content:""; position:absolute; top:-120px; right:-120px; width:680px; height:680px; border-radius:50%;
    background:radial-gradient(circle, rgba(138,63,252,.12) 0%, rgba(15,98,254,.08) 40%, transparent 70%); pointer-events:none; }
  .hero-grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; padding:72px 0 80px; position:relative; }
  @media (max-width:960px){ .hero-grid{ grid-template-columns:1fr; gap:48px; padding:56px 0 64px; } }
  .hero h1{ margin-top:22px; max-width:15ch; }
  .hero .body-lg{ margin-top:24px; max-width:46ch; }
  .hero-ctas{ margin-top:36px; display:flex; gap:1px; flex-wrap:wrap; }

  /* PRODUCT UI MOCK */
  .ui{ border:1px solid var(--g20); background:var(--white); box-shadow:0 24px 60px -28px rgba(22,22,22,.32); position:relative; }
  .ui-bar{ height:40px; background:var(--g100); display:flex; align-items:center; gap:8px; padding:0 14px; }
  .ui-bar .d{ width:9px; height:9px; border-radius:50%; background:#525252; } .ui-bar .d:nth-child(1){ background:#fa4d56; } .ui-bar .d:nth-child(2){ background:#f1c21b; } .ui-bar .d:nth-child(3){ background:#42be65; }
  .ui-bar .t{ margin-left:10px; font-family:var(--mono); font-size:11px; color:#c6c6c6; letter-spacing:.02em; }
  .ui-body{ display:grid; grid-template-columns:62px 1fr; }
  .ui-rail{ background:var(--g10); border-right:1px solid var(--g20); padding:14px 0; display:flex; flex-direction:column; gap:4px; align-items:center; }
  .ui-rail i{ width:26px; height:26px; background:var(--white); border:1px solid var(--g20); display:block; }
  .ui-rail i.on{ background:var(--blue); border-color:var(--blue); }
  .ui-main{ padding:18px 18px 20px; }
  .ui-h{ font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:space-between; }
  .ui-h .cnt{ font-family:var(--mono); font-size:11px; color:#fff; background:var(--blue); padding:1px 7px; }
  .ui-row{ border:1px solid var(--g20); border-left:3px solid var(--blue); padding:11px 12px; margin-top:10px; }
  .ui-row .who{ font-family:var(--mono); font-size:10px; letter-spacing:.04em; color:var(--g70); }
  .ui-row .ti{ font-size:13px; font-weight:500; margin-top:3px; }
  .ui-row .tags{ display:flex; gap:6px; margin-top:9px; }
  .ui-row .tag{ font-family:var(--mono); font-size:9.5px; letter-spacing:.04em; padding:2px 7px; background:var(--g10); color:var(--g70); }
  .ui-row .tag.b{ background:var(--blue-l); color:#0043ce; }
  .ui-row .tag.g{ background:#defbe6; color:#0e6027; }
  .ui-row.flag{ border-left-color:#f1c21b; }
  .ui-foot{ margin-top:12px; font-family:var(--mono); font-size:10px; color:var(--g50); display:flex; justify-content:space-between; }

  /* STATS */
  .stats{ border-bottom:1px solid var(--g20); }
  .stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
  .stat{ padding:32px; border-right:1px solid var(--g20); } .stat:last-child{ border-right:0; }
  @media (max-width:760px){ .stats-grid{ grid-template-columns:1fr 1fr; } .stat:nth-child(2){ border-right:0; } .stat:nth-child(-n+2){ border-bottom:1px solid var(--g20); } }
  .stat .v{ font-size:44px; font-weight:600; line-height:1; letter-spacing:-.02em; } .stat .v .u{ color:var(--blue); }
  .stat .l{ margin-top:10px; font-family:var(--mono); font-size:12px; color:var(--g70); }

  section{ padding:88px 0; }
  .sec-intro{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:52px; }
  @media (max-width:820px){ .sec-intro{ grid-template-columns:1fr; gap:18px; } }
  .sec-intro .body-lg{ max-width:42ch; }
  .kicker.sec{ margin-bottom:18px; }

  /* FEATURE ROWS */
  .feat{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; padding:72px 0; border-top:1px solid var(--g20); }
  .feat:nth-child(even) .feat-media{ order:-1; }
  @media (max-width:900px){ .feat{ grid-template-columns:1fr; gap:36px; } .feat:nth-child(even) .feat-media{ order:0; } }
  .feat h3{ font-size:clamp(26px,3vw,38px); font-weight:600; letter-spacing:-.01em; line-height:1.12; margin-top:16px; }
  .feat p{ margin-top:18px; color:var(--g70); font-size:16px; line-height:1.55; max-width:46ch; }
  .feat ul{ margin:22px 0 0; padding:0; list-style:none; }
  .feat li{ padding:12px 0 12px 28px; border-top:1px solid var(--g20); font-size:14px; position:relative; }
  .feat li::before{ content:""; position:absolute; left:0; top:18px; width:14px; height:1px; background:var(--blue); }
  .feat-link{ display:inline-flex; align-items:center; gap:10px; margin-top:24px; color:var(--blue); font-size:16px; }
  .feat-link:hover{ text-decoration:underline; }

  /* mini timeline tile */
  .tl-tile{ border:1px solid var(--g20); background:var(--white); box-shadow:0 18px 44px -26px rgba(22,22,22,.28); }
  .tl-tile .h{ background:var(--g10); border-bottom:1px solid var(--g20); padding:12px 16px; font-family:var(--mono); font-size:11px; color:var(--g70); letter-spacing:.04em; }
  .tl-tile .r{ display:grid; grid-template-columns:84px 1fr; gap:14px; padding:13px 16px; border-bottom:1px solid var(--g20); align-items:center; }
  .tl-tile .r:last-child{ border-bottom:0; }
  .tl-tile .tt{ font-family:var(--mono); font-size:12px; color:var(--blue); }
  .tl-tile .tx{ font-size:13px; } .tl-tile .tx b{ font-weight:600; }
  /* audit tile */
  .au-tile{ background:var(--g100); color:#fff; box-shadow:0 18px 44px -26px rgba(22,22,22,.5); }
  .au-tile .h{ padding:12px 16px; border-bottom:1px solid #393939; font-family:var(--mono); font-size:11px; color:#c6c6c6; letter-spacing:.04em; display:flex; justify-content:space-between; }
  .au-tile .h .ok{ color:#42be65; }
  .au-tile .l{ padding:11px 16px; border-bottom:1px solid #262626; font-family:var(--mono); font-size:11.5px; line-height:1.5; color:#c6c6c6; }
  .au-tile .l:last-child{ border-bottom:0; }
  .au-tile .l .hash{ color:var(--cool); }

  /* CARDS */
  .cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--g20); border:1px solid var(--g20); }
  @media (max-width:960px){ .cards{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:560px){ .cards{ grid-template-columns:1fr; } }
  .card{ background:var(--white); padding:24px 20px 56px; position:relative; min-height:196px; transition:background .15s; border-left:2px solid transparent; }
  .card:hover{ background:var(--g10); border-left-color:var(--blue); }
  .card .role{ font-family:var(--mono); font-size:12px; color:var(--g70); }
  .card .nm{ font-size:27px; font-weight:600; letter-spacing:-.01em; margin-top:16px; }
  .card .desc{ margin-top:11px; font-size:14px; color:var(--g70); line-height:1.45; }
  .card .tier{ position:absolute; left:20px; bottom:20px; font-family:var(--mono); font-size:11px; color:var(--g50); }
  .card .corner{ position:absolute; right:16px; bottom:16px; width:20px; height:20px; color:var(--g50); transition:color .15s; }
  .card:hover .corner{ color:var(--blue); }
  .card.accent .nm{ color:var(--blue); } .card.accent .tier{ color:var(--blue); }
  .card.dark{ background:var(--g100); color:#fff; } .card.dark .role{ color:#a8a8a8; } .card.dark:hover{ background:#262626; } .card.dark .desc{ color:#c6c6c6; }
  .card.dark a{ color:var(--cool); font-family:var(--mono); font-size:12px; position:absolute; left:20px; bottom:20px; }

  /* DARK BAND */
  .band-dark{ background:var(--g100); color:#fff; }
  .band-dark .body-lg{ color:#c6c6c6; } .band-dark .kicker{ color:var(--cool); } .band-dark .kicker::before{ background:var(--cool); }
  .gov{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#393939; border:1px solid #393939; }
  @media (max-width:820px){ .gov{ grid-template-columns:1fr; } }
  .gc{ background:var(--g100); padding:32px 28px 36px; }
  .gc .gn{ font-family:var(--mono); font-size:12px; color:var(--cool); }
  .gc h3{ font-size:22px; font-weight:600; margin-top:16px; line-height:1.2; }
  .gc p{ margin-top:14px; color:#c6c6c6; font-size:14px; line-height:1.55; }
  .gc .ref{ margin-top:18px; font-family:var(--mono); font-size:11px; color:var(--g50); }

  /* PRICING */
  .price-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--g20); border:1px solid var(--g20); }
  @media (max-width:820px){ .price-grid{ grid-template-columns:1fr; } }
  .tier{ background:var(--white); padding:32px 28px 28px; position:relative; }
  .tier.feature{ background:var(--g10); } .tier.feature::before{ content:""; position:absolute; top:0; left:0; width:100%; height:4px; background:var(--grad); }
  .tier .tname{ font-family:var(--mono); font-size:13px; color:var(--g70); }
  .tier .save{ position:absolute; top:30px; right:28px; font-family:var(--mono); font-size:11px; color:var(--blue); }
  .tier .amt{ font-size:50px; font-weight:600; line-height:1; margin-top:24px; letter-spacing:-.02em; }
  .tier .amt .c{ font-size:22px; font-weight:400; color:var(--g70); vertical-align:top; }
  .tier .amt .per{ font-family:var(--mono); font-size:13px; color:var(--g50); }
  .tier .sub{ margin-top:14px; font-size:13px; color:var(--g70); min-height:34px; }
  .tier .tcta{ margin-top:22px; } .tier .tcta .btn{ width:100%; }
  .price-note{ border:1px solid var(--g20); border-top:0; padding:18px 28px; font-family:var(--mono); font-size:13px; color:var(--g70); }
  .price-note b{ color:var(--g100); font-weight:500; } .price-note a{ color:var(--blue); }

  /* FAQ */
  .faq{ border-top:1px solid var(--g20); max-width:980px; }
  .faq-item{ border-bottom:1px solid var(--g20); }
  .faq-q{ width:100%; background:transparent; border:0; cursor:pointer; text-align:left; color:var(--g100); padding:24px 8px 24px 0; display:flex; align-items:center; justify-content:space-between; gap:24px; font-family:var(--font); font-size:clamp(18px,2vw,22px); transition:color .15s; }
  .faq-q:hover{ color:var(--blue); }
  .faq-q .ic{ font-family:var(--mono); font-size:22px; color:var(--blue); flex-shrink:0; transition:transform .2s; }
  .faq-item[open] .faq-q .ic{ transform:rotate(45deg); }
  .faq-a{ padding:0 48px 28px 0; color:var(--g70); font-size:15px; line-height:1.6; max-width:80ch; }
  details summary{ list-style:none; } details summary::-webkit-details-marker{ display:none; }

  /* CTA BAND */
  .cta-band{ background:var(--grad); color:#fff; }
  .cta-band .inner{ padding:80px 0; display:grid; grid-template-columns:1.4fr 1fr; gap:40px; align-items:center; }
  @media (max-width:820px){ .cta-band .inner{ grid-template-columns:1fr; gap:28px; } }
  .cta-band h2{ font-size:clamp(30px,3.6vw,46px); font-weight:600; letter-spacing:-.01em; line-height:1.1; max-width:18ch; }
  .cta-band p{ margin-top:16px; color:rgba(255,255,255,.85); font-size:17px; max-width:44ch; }
  .cta-band .acts{ display:flex; flex-direction:column; gap:1px; }
  .cta-band .btn-white{ background:#fff; color:var(--g100); } .cta-band .btn-white:hover{ background:var(--g10); }

  /* DISCLOSURE */
  .disc{ background:var(--g10); }
  .disc p{ color:var(--g70); font-size:13px; line-height:1.65; max-width:84ch; } .disc p+p{ margin-top:14px; } .disc .sc{ color:var(--g100); font-weight:600; }

  /* FOOTER */
  footer{ background:var(--g100); color:#fff; padding:64px 0 40px; }
  .foot-top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:32px; padding-bottom:48px; border-bottom:1px solid #393939; }
  @media (max-width:820px){ .foot-top{ grid-template-columns:1fr 1fr; gap:32px 24px; } }
  .foot-brand .w{ font-size:18px; font-weight:600; } .foot-brand .w span{ color:var(--cool); }
  .foot-brand p{ margin-top:14px; color:#a8a8a8; font-size:13px; max-width:32ch; line-height:1.6; }
  .foot-col h5{ font-size:14px; font-weight:600; margin:0 0 18px; } .foot-col a{ display:block; font-size:14px; color:#c6c6c6; margin-bottom:12px; transition:color .15s; } .foot-col a:hover{ color:var(--cool); }
  .foot-bottom{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:28px; font-family:var(--mono); font-size:12px; color:var(--g50); }

  .reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1); }
  .reveal.in{ opacity:1; transform:none; }
  @media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; } }

/* ===== FLOW DIAGRAM (platform architecture) ===== */
.flow{ display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:stretch; gap:0; border:1px solid var(--g20); background:var(--g20); margin-bottom:28px; }
@media (max-width:820px){ .flow{ grid-template-columns:1fr; } }
.flow-node{ background:#fff; padding:24px 22px; }
.flow-node.accent{ background:var(--g100); color:#fff; }
.flow-node .fn-k{ font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--blue); }
.flow-node.accent .fn-k{ color:var(--cool); }
.flow-node .fn-t{ font-size:20px; font-weight:600; letter-spacing:-.01em; margin-top:12px; }
.flow-node .fn-s{ margin-top:8px; font-family:var(--mono); font-size:11px; color:var(--g50); line-height:1.5; }
.flow-node.accent .fn-s{ color:#a8a8a8; }
.flow-arrow{ background:#fff; display:flex; align-items:center; justify-content:center; padding:0 14px; color:var(--blue); font-size:20px; }
@media (max-width:820px){ .flow-arrow{ padding:10px 0; transform:rotate(90deg); } }

/* ===== ARTIFACT TILES (what agents produce) ===== */
.arti-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--g20); border:1px solid var(--g20); }
@media (max-width:900px){ .arti-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .arti-grid{ grid-template-columns:1fr; } }
.arti{ background:#fff; padding:20px; }
.arti .who{ font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--g50); }
.arti .doc{ margin-top:14px; border:1px solid var(--g20); background:var(--g10); padding:14px; min-height:118px; }
.arti .ln{ height:6px; background:var(--g30); margin-bottom:7px; }
.arti .ln.s{ width:55%; } .arti .ln.b{ background:var(--blue); width:38%; height:8px; margin-bottom:11px; }
.arti .ln.g{ background:#9fd2a6; }
.arti .bars{ display:flex; align-items:flex-end; gap:7px; height:74px; margin-top:6px; }
.arti .bars i{ flex:1; background:var(--g30); } .arti .bars i.hi{ background:var(--blue); }
.arti .pill{ display:inline-block; font-family:var(--mono); font-size:10px; padding:3px 8px; margin:3px 4px 0 0; background:var(--g10); color:var(--g70); }
.arti .pill.g{ background:#defbe6; color:#0e6027; } .arti .pill.r{ background:#fff1f1; color:#a2191f; }
.arti .cap{ margin-top:14px; font-size:13px; font-weight:600; }
.arti .sub{ margin-top:4px; font-size:12px; color:var(--g70); }


/* ===== BENCH CARD PHOTOS ===== */
.card{ padding-top:0 !important; overflow:hidden; }
.card-photo{ margin:0 -20px 18px; height:230px; background:var(--g10); display:block; position:relative; border-bottom:1px solid var(--g20); }
.card-photo img{ width:100%; height:100%; object-fit:cover; object-position:center 22%; display:block; filter:grayscale(1) contrast(1.02); }
.card-photo.ph{ display:flex; align-items:center; justify-content:center; }
.card-photo.ph span{ font-size:48px; font-weight:600; color:var(--g30); font-family:var(--font); }
.card.accent .card-photo.ph span{ color:var(--blue); }
.card.dark{ padding-top:24px !important; }
.card .role{ padding-top:0; }


/* ===== NORNGATE CARDS WITH MINI GRAPHS ===== */
.snap2{ display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--g20); border:1px solid var(--g20); }
@media (max-width:760px){ .snap2{ grid-template-columns:1fr; } }
.snapcard{ background:#fff; padding:24px; display:grid; grid-template-columns:1fr 128px; gap:18px; align-items:center; }
@media (max-width:480px){ .snapcard{ grid-template-columns:1fr; } }
.snapcard .role{ font-family:var(--mono); font-size:12px; color:var(--g70); }
.snapcard .nm{ font-size:20px; font-weight:600; letter-spacing:-.01em; margin-top:12px; }
.snapcard .desc{ margin-top:10px; font-size:13.5px; color:var(--g70); line-height:1.5; }
.sc-viz{ border:1px solid var(--g20); background:var(--g10); padding:10px; }
.sc-viz svg{ width:100%; height:auto; display:block; }


/* ===== MASTHEAD SOCIAL ICONS ===== */
.mast-social{ display:inline-flex; align-items:center; justify-content:center; height:100%; padding:0 9px; color:var(--pink); transition:color .15s,background .12s; }
.mast-social svg{ width:16px; height:16px; display:block; }
.mast-social:hover{ color:#fff; background:#393939; }
.mast-right .keep{ border-left:1px solid #393939; }


/* ===== CONSOLIDATED WHITE HEADER SOCIAL ===== */
.subnav-social{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; color:var(--pink); transition:color .15s,background .12s; }
.subnav-social svg{ width:16px; height:16px; display:block; }
.subnav-social:hover{ color:var(--pink-l); background:var(--g10); }
.subnav-right{ gap:6px; }
@media (max-width:520px){ .subnav-social{ display:none; } }


/* ===== PRICING MODAL ===== */
.pm-overlay{ position:fixed; inset:0; background:rgba(22,22,22,.62); z-index:200; display:none; align-items:center; justify-content:center; padding:24px; }
.pm-overlay.open{ display:flex; }
.pm{ background:#fff; width:100%; max-width:940px; max-height:92vh; overflow:auto; border:1px solid var(--g20); box-shadow:0 30px 80px -40px rgba(0,0,0,.5); }
.pm-top{ background:var(--g100); color:#fff; padding:28px 32px; position:relative; }
.pm-top .ek{ font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--cool); }
.pm-top h2{ font-size:clamp(26px,3vw,36px); font-weight:600; letter-spacing:-.01em; margin:10px 0 8px; }
.pm-top p{ color:#c6c6c6; font-size:14px; max-width:52ch; }
.pm-close{ position:absolute; top:18px; right:18px; width:40px; height:40px; background:transparent; border:1px solid #525252; color:#fff; cursor:pointer; font-size:18px; line-height:1; transition:background .15s; }
.pm-close:hover{ background:#393939; }
.pm-body{ padding:0; }
.pm .price-grid{ border:0; border-bottom:1px solid var(--g20); }
.pm-foot{ padding:18px 32px; font-family:var(--mono); font-size:12px; color:var(--g70); }
.pm-foot b{ color:var(--g100); font-weight:500; }


/* ===== BRAND WORDMARK PINK ===== */
.prod span, .foot-brand .w span, .login-brand b span, .topbar .b span, .mast-brand b span{ color:var(--pink) !important; font-weight:700 !important; }


/* ===== BRAND TM ===== */
.prod span::after, .foot-brand .w span::after, .login-brand b span::after, .topbar .b span::after, .mast-brand b span::after{
  content:"TM"; color:var(--g100); font-weight:600; font-size:.42em; vertical-align:super; margin-left:1px; letter-spacing:.02em; font-family:var(--font);
}
/* on dark surfaces the TM must stay legible */
footer .foot-brand .w span::after, .topbar .b span::after, .login-brand b span::after{ color:#fff; }


/* ===== INLINE BRANDMARK ===== */
.pk{ color:inherit; }
.pkw{ color:var(--pink); font-weight:700; }
.pk::after{ content:"TM"; color:var(--g100); font-weight:600; font-size:.42em; vertical-align:super; margin-left:1px; font-family:var(--font); }
.foot-bottom .pk::after, footer .pk::after, .band-dark .pk::after{ color:#fff; }


/* ===== NORNGATE MARK ===== */
.ng-gate{ color:#24a148; font-weight:700; }
.ng::after{ content:"TM"; color:var(--g100); font-weight:600; font-size:.42em; vertical-align:super; margin-left:1px; font-family:var(--font); }
footer .ng::after, .band-dark .ng::after, .au-tile .ng::after, .card.dark .ng::after, .topbar .ng::after, .login-left .ng::after, .pm-top .ng::after{ color:#fff; }


/* ===== BRANDMARK LINK ===== */
a.pk-link{ text-decoration:none; color:inherit; }
a.pk-link:hover .pkw{ color:var(--pink-l); }

a.ng-link{ text-decoration:none; color:inherit; }
a.ng-link:hover .ng-gate{ color:#42be65; }


/* ===== MOBILE NAV ===== */
.nav-toggle{ display:none; align-items:center; justify-content:center; width:40px; height:40px; background:transparent; border:1px solid var(--g20); cursor:pointer; color:var(--g100); padding:0; }
.nav-toggle:hover{ background:var(--g10); }
.nav-toggle span{ display:block; width:18px; height:1.5px; background:currentColor; position:relative; transition:background .15s; }
.nav-toggle span::before,.nav-toggle span::after{ content:""; position:absolute; left:0; width:18px; height:1.5px; background:currentColor; transition:transform .2s; }
.nav-toggle span::before{ top:-6px; } .nav-toggle span::after{ top:6px; }
.nav-toggle[aria-expanded="true"] span{ background:transparent; }
.nav-toggle[aria-expanded="true"] span::before{ transform:translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span::after{ transform:translateY(-6px) rotate(-45deg); }
@media (max-width:1024px){
  .nav-toggle{ display:inline-flex; }
  .subnav-links{ display:none; position:absolute; top:64px; left:0; right:0; background:#fff; border-top:1px solid var(--g20); border-bottom:1px solid var(--g20); flex-direction:column; gap:0; padding:4px 0; box-shadow:0 18px 40px -28px rgba(22,22,22,.4); }
  .subnav-links.open{ display:flex; }
  .subnav-links a{ padding:14px 32px; width:100%; border-bottom:0; }
  .subnav-links a:hover{ background:var(--g10); border-bottom:0; }
}
@media (max-width:520px){ .subnav-right .free{ display:none; } }
