/* Whole-site design language taken from the Apple Enterprise page (apple.css): system SF stack, Apple neutrals and link blue,
   pill buttons, rounded tiles on light grey, black hero and dark sections, centred headings, sentence-case labels.
   Loaded after site.css and dense.css; the Apple pages (body.apple) keep apple.css. */
body:not(.apple) {
  --ap-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "Archivo", Arial, sans-serif;
  --font: var(--ap-font); --mono: var(--ap-font);
  --brand: #0071e3; --brand-700: #0077ed; --brand-300: #2997ff; --brand-100: #e8f1fc;
  --ink: #1d1d1f; --ink-2: #424245; --ink-3: #6e6e73;
  --paper: #f5f5f7; --line: #d2d2d7; --line-strong: #b7b7bd;
  --navy-950: #000; --navy-900: #000; --navy-800: #161617; --navy-700: #1d1d1f;
  --on-dark: #f5f5f7; --on-dark-2: #c7c7cc; --on-dark-3: #86868b;
  --line-dark: rgba(255, 255, 255, 0.14); --line-dark-strong: rgba(255, 255, 255, 0.24);
  --teal-400: #2997ff; --teal-700: #0071e3;
  --radius: 18px; --r-sm: 12px; --r-pill: 980px;
  --header-h: 52px;
  --section: clamp(56px, 7vw, 104px);
  font-family: var(--ap-font); letter-spacing: -0.012em; background: #fff; color: var(--ink);
}
body:not(.apple) h1, body:not(.apple) h2, body:not(.apple) h3, body:not(.apple) h4,
body:not(.apple) .h1, body:not(.apple) .h2, body:not(.apple) .h3 { font-stretch: 100%; font-weight: 600; }

/* ---------- type ---------- */
body:not(.apple) .h1, body:not(.apple) .hero h1 { font-size: clamp(2.4rem, 1.4rem + 4.2vw, 4.6rem); letter-spacing: -0.035em; line-height: 1.04; max-width: 18ch; }
body:not(.apple) .h2 { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 3.2rem); letter-spacing: -0.03em; line-height: 1.07; }
body:not(.apple) .h3 { font-size: clamp(1.3rem, 1.1rem + 0.9vw, 1.75rem); letter-spacing: -0.022em; line-height: 1.12; }
body:not(.apple) .lede { font-size: clamp(1.1rem, 1rem + 0.5vw, 1.4rem); line-height: 1.4; letter-spacing: -0.014em; color: var(--ink-2); }
body:not(.apple) .section--dark .lede, body:not(.apple) .section--deep .lede { color: var(--on-dark-2); }
body:not(.apple) .eyebrow, body:not(.apple) .tag, body:not(.apple) .node__label, body:not(.apple) .node .tech, body:not(.apple) .product__role,
body:not(.apple) .partner small, body:not(.apple) .client small, body:not(.apple) .dir-item span, body:not(.apple) .tile__idx, body:not(.apple) .vstrip .idx,
body:not(.apple) .cap__n, body:not(.apple) .crumbs, body:not(.apple) .tab .idx, body:not(.apple) .hero__kicker {
  font-family: var(--ap-font); text-transform: none; letter-spacing: 0; }
body:not(.apple) .eyebrow { font-size: 1.05rem; font-weight: 600; color: var(--ink); gap: 0; }
body:not(.apple) .section--dark .eyebrow, body:not(.apple) .hero .eyebrow, body:not(.apple) .section--deep .eyebrow { color: #f5f5f7; }
body:not(.apple) .eyebrow .idx, body:not(.apple) .eyebrow .bar, body:not(.apple) .eyebrow .signal, body:not(.apple) .vstrip .idx, body:not(.apple) .tile__idx, body:not(.apple) .cap__n, body:not(.apple) .hero__index { display: none; }
body:not(.apple) .tag { border: 0; padding: 0; font-size: 0.8rem; font-weight: 600; color: var(--brand); }
body:not(.apple) .section--dark .tag, body:not(.apple) .mega .tag { color: var(--brand-300); }

/* ---------- section heads: centred, as apple.com ---------- */
body:not(.apple) .section-head { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 10px; margin-bottom: clamp(24px, 3vw, 40px); }
body:not(.apple) .section-head > :last-child { justify-self: center; }
body:not(.apple) .section-head .lede { max-width: 58ch; }
body:not(.apple) .section--paper, body:not(.apple) .section--tight.section--paper { background: var(--paper); }

/* ---------- buttons: pills ---------- */
body:not(.apple) .btn { border-radius: var(--r-pill); min-height: 44px; padding: 0 22px; font-weight: 400; font-size: 1.0625rem; letter-spacing: -0.01em; border-width: 1px; }
body:not(.apple) .btn--primary { background: var(--brand); color: #fff; }
body:not(.apple) .btn--primary:hover { background: var(--brand-700); }
body:not(.apple) .btn--secondary { border-color: var(--brand); color: var(--brand); }
body:not(.apple) .btn--secondary:hover { background: var(--brand); color: #fff; border-color: var(--brand); }
body:not(.apple) .hero .btn--secondary, body:not(.apple) .section--dark .btn--secondary { border-color: var(--brand-300); color: var(--brand-300); }
body:not(.apple) .hero .btn--secondary:hover, body:not(.apple) .section--dark .btn--secondary:hover { background: var(--brand-300); color: #000; }
body:not(.apple) .btn--light { background: #f5f5f7; color: #1d1d1f; }
body:not(.apple) .link-arrow { font-weight: 400; font-size: 1.0625rem; color: var(--brand); gap: 2px; }
body:not(.apple) .link-arrow svg { display: none; }
body:not(.apple) .link-arrow::after { content: "\203A"; font-size: 1.25em; line-height: 1; transform: translateY(-1px); }
body:not(.apple) .link-arrow:hover { text-decoration: underline; }
body:not(.apple) .section--dark .link-arrow, body:not(.apple) .hero .link-arrow { color: var(--brand-300); }
body:not(.apple) .btn-row { gap: 14px; }

/* ---------- header: black, translucent, small type ---------- */
body:not(.apple) .topbar { display: none; }
body:not(.apple) .site-header { background: rgba(0, 0, 0, 0.82); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); position: sticky; }
body:not(.apple) .site-header::after { background: rgba(255, 255, 255, 0.1); }
body:not(.apple) .site-header.is-solid, body:not(.apple) .site-header.is-open { background: rgba(0, 0, 0, 0.86); }
body:not(.apple) .nav__link { font-size: 0.8rem; font-weight: 400; letter-spacing: 0; color: rgba(245, 245, 247, 0.88); }
body:not(.apple) .nav__link:hover, body:not(.apple) .nav__link[aria-expanded="true"], body:not(.apple) .nav__link[aria-current="page"] { color: #fff; }
body:not(.apple) .nav__link::after { display: none; }
body:not(.apple) .header-cta .btn { min-height: 30px; padding: 0 14px; font-size: 0.8rem; }
body:not(.apple) .mega { background: #161617; border-radius: 0 0 var(--radius) var(--radius); }
body:not(.apple) .mega__feature { border-left-color: rgba(255, 255, 255, 0.1); }

/* ---------- hero: black, centred ---------- */
body:not(.apple) .hero { background: #000; text-align: center; }
body:not(.apple) .hero__body { align-items: center; padding-top: calc(var(--header-h) + 40px); padding-bottom: 44px; }
body:not(.apple) .hero h1, body:not(.apple) .hero .h1 { margin-inline: auto; }
body:not(.apple) .hero .lede { margin: 16px auto 24px; max-width: 46ch; color: #f5f5f7; opacity: 0.88; }
body:not(.apple) .hero .btn-row { justify-content: center; }
body:not(.apple) .hero .crumbs { justify-content: center; }
body:not(.apple) .hero--light { background: var(--paper); color: var(--ink); }
body:not(.apple) .hero--light .lede { color: var(--ink-2); opacity: 1; }
body:not(.apple) .vstrip { border-top: 0; display: flex; justify-content: center; gap: 8px 26px; flex-wrap: wrap; }
body:not(.apple) .vstrip a { border: 0; padding: 4px 0; }
body:not(.apple) .vstrip strong { font-weight: 400; font-size: 0.9rem; color: var(--brand-300); }
body:not(.apple) .vstrip a:hover strong { text-decoration: underline; }

/* ---------- tiles and cards: rounded, on grey, no hairline grids ---------- */
body:not(.apple) .tiles, body:not(.apple) .products, body:not(.apple) .partners, body:not(.apple) .family, body:not(.apple) .directory,
body:not(.apple) .tree, body:not(.apple) .clients, body:not(.apple) .metrics, body:not(.apple) .capabilities, body:not(.apple) .paths {
  gap: 12px; border: 0; background: transparent; }
body:not(.apple) .tile, body:not(.apple) .product, body:not(.apple) .partner, body:not(.apple) .family > *, body:not(.apple) .dir-item,
body:not(.apple) .client, body:not(.apple) .cap, body:not(.apple) .path, body:not(.apple) .office, body:not(.apple) .metric {
  border: 0; border-radius: var(--radius); background: var(--paper); }
body:not(.apple) .section--paper .tile, body:not(.apple) .section--paper .product, body:not(.apple) .section--paper .partner, body:not(.apple) .section--paper .client,
body:not(.apple) .section--paper .cap, body:not(.apple) .section--paper .dir-item, body:not(.apple) .section--paper .office { background: #fff; }
body:not(.apple) .tile { overflow: hidden; }
body:not(.apple) .tile:hover, body:not(.apple) .product:hover, body:not(.apple) .dir-item:hover { background: #ececf0; }
body:not(.apple) .section--paper .tile:hover, body:not(.apple) .section--paper .product:hover, body:not(.apple) .client:hover { background: #fff; box-shadow: 0 4px 22px rgba(0, 0, 0, 0.08); }
body:not(.apple) .tile__media { border-radius: 0; }
body:not(.apple) .tile h3, body:not(.apple) .product h3, body:not(.apple) .cap h3 { letter-spacing: -0.02em; }
body:not(.apple) .tile__go { background: rgba(255, 255, 255, 0.92); }
body:not(.apple) .tile li, body:not(.apple) .chips li { border-radius: var(--r-pill); border-color: var(--line); }
body:not(.apple) .cap, body:not(.apple) .cap:not(:nth-child(4n)), body:not(.apple) .cap:not(:nth-child(4n+1)) { padding: 22px; border: 0; }
body:not(.apple) .cap svg { color: var(--brand); }
body:not(.apple) .metric, body:not(.apple) .metric:first-child { padding: 22px 24px; border: 0; }
body:not(.apple) .metric__value { letter-spacing: -0.03em; }
body:not(.apple) .client { background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
body:not(.apple) .partner { background: #fff; box-shadow: inset 0 0 0 1px #ececf0; }
body:not(.apple) .figure img, body:not(.apple) .split figure img, body:not(.apple) .product-hero figure { border-radius: var(--radius); }
body:not(.apple) .case figure, body:not(.apple) .case img { border-radius: var(--radius); }

/* ---------- dark sections: black, rounded inner cards ---------- */
body:not(.apple) .section--dark, body:not(.apple) .section--deep { background: #000; }
body:not(.apple) .workflow { border: 0; border-radius: 24px; background: #161617; }
body:not(.apple) .workflow__grid { display: none; }
body:not(.apple) .workflow--light { background: var(--paper); }
body:not(.apple) .node { border: 0; border-radius: 16px; background: #1d1d1f; }
body:not(.apple) .node--key { box-shadow: inset 0 0 0 1px var(--brand-300); }
body:not(.apple) .workflow--light .node { background: #fff; }
body:not(.apple) .node__label { color: var(--brand-300); font-weight: 600; font-size: 0.78rem; }
body:not(.apple) .node .tech { border-top-color: rgba(255, 255, 255, 0.12); font-size: 0.78rem; }
body:not(.apple) .path { background: #161617; }
body:not(.apple) .paths { background: transparent; }
body:not(.apple) .tabs { border-bottom-color: rgba(255, 255, 255, 0.14); }
body:not(.apple) .tab[aria-selected="true"]::after { background: var(--brand-300); }
body:not(.apple) .section--dark .product, body:not(.apple) .section--dark .partner { background: #161617; box-shadow: none; }

/* ---------- lists, faq, forms ---------- */
body:not(.apple) .form { border-radius: 24px; }
body:not(.apple) .field input, body:not(.apple) .field select, body:not(.apple) .field textarea { border-radius: var(--r-sm); }
body:not(.apple) .spec-table thead th { font-family: var(--ap-font); text-transform: none; letter-spacing: 0; font-size: 0.8rem; }
body:not(.apple) .mapframe iframe { border-radius: var(--radius); border: 0; }
body:not(.apple) .since { border-radius: 24px; background: #000; }
body:not(.apple) .hero__tc { display: none; }
body:not(.apple) main img:not(.client img):not(.tile__media img):not([class*="plogo"]) { border-radius: var(--radius); }
body:not(.apple) .hero img, body:not(.apple) .hero__media img { border-radius: 0; }
body:not(.apple) .tile__media img { border-radius: 0; }

/* footer: light grey, small grey type, as apple.com */
body:not(.apple) .footer { background: var(--paper); color: var(--ink-3); padding: 48px 0 24px; font-size: 0.8rem; }
body:not(.apple) .footer__brand img { filter: brightness(0) opacity(0.82); height: 30px; }
body:not(.apple) .footer__brand p, body:not(.apple) .footer__offices p, body:not(.apple) .footer__bottom, body:not(.apple) .footer__credit { color: var(--ink-3); }
body:not(.apple) .footer h4 { font-family: var(--ap-font); text-transform: none; letter-spacing: 0; font-size: 0.78rem; font-weight: 600; color: var(--ink); }
body:not(.apple) .footer a, body:not(.apple) .footer__offices a, body:not(.apple) .footer__credit a { color: var(--ink-2); }
body:not(.apple) .footer a:hover { color: var(--brand); text-decoration: underline; }
body:not(.apple) .footer__offices h5 { color: var(--ink); }
body:not(.apple) .footer__top, body:not(.apple) .footer__offices { border-bottom-color: var(--line); }
