/* Orbital Site UX: the new design (loaded only while WooCommerce → Site UX → "New design" is ticked).
   1. Archivo, self-hosted   2. Brand tokens   3. One typeface site-wide (icon fonts untouched)   4. Colour fixes for
   existing content   5. Full-bleed bands inside Elementor; old header/footer sections hidden   6. Shared parts
   7. Top bar   8. Header and menu   9. Footer   10. Home sections   11. Tablet and phone   12. Business page (1.2)
   Selectors start with "body.osu-design" so the brand rules outrank theme and Elementor kit styles. The Elementor
   kit's own rules are remapped by the inline CSS that follows this file (OSU_Design::inline_css()). */

/* ---------- 1. Archivo (SIL Open Font License, fonts/OFL.txt): variable weight 100–900, width 62–125%, Latin ---------- */
@font-face {
  font-family: "Archivo";
  src: url("fonts/archivo-latin-var.woff2") format("woff2-variations"), url("fonts/archivo-latin-var.woff2") format("woff2");
  font-weight: 100 900;
  font-stretch: 62% 125%;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2190-2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Arial sized to Archivo's widths (measured: text 98.2%, the 800-weight 115%-wide display style 118.4% of Arial Bold)
   and given Archivo's ascent and descent (878/210 per 1000), so the page barely moves when the font arrives. */
@font-face { font-family: "Archivo Fallback"; src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Liberation Sans"); size-adjust: 98.2%; ascent-override: 89.4%; descent-override: 21.4%; line-gap-override: 0%; }
@font-face { font-family: "Archivo Fallback Wide"; src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Liberation Sans Bold"); font-weight: 700 900; size-adjust: 118.4%; ascent-override: 74.2%; descent-override: 17.7%; line-gap-override: 0%; }

/* ---------- 2. Brand tokens (brand system board) ---------- */
body.osu-design {
  --osu-blue: #019CDE;        /* Orbital Blue: fills; white text on it only at 19px bold or larger (3.1:1) */
  --osu-blue-hover: #0089C4;
  --osu-deep: #006A96;        /* Deep Blue: links and small blue text (6.0:1 on white, 5.5:1 on Mist) */
  --osu-deep-hover: #00567A;
  --osu-ink: #21252B;         /* text, the top bar, the footer */
  --osu-graphite: #2E333A;    /* dark sections */
  --osu-steel: #4A5058;       /* secondary text, outlines (8.1:1 on white) */
  --osu-mist: #F4F5F6;        /* cards, product photo ground */
  --osu-fog: #EEEEEE;         /* proof bands */
  --osu-line: #DCDFE3;        /* borders and dividers */
  --osu-open: #1E8A50;        /* the open-now dot, nothing else */
  --osu-closed: #8A9097;
  --osu-font: "Archivo", "Archivo Fallback", Arial, Helvetica, sans-serif;
  --osu-font-wide: "Archivo", "Archivo Fallback Wide", Arial, Helvetica, sans-serif;
  /* Type scale: desktop / phone (≤767px) */
  --osu-fs-display: 56px;     /* 34 */
  --osu-fs-title: 40px;       /* 28 */
  --osu-fs-section: 30px;     /* 22 */
  --osu-fs-card: 24px;        /* 20 */
  --osu-fs-lead: 20px;        /* 18 */
  --osu-fs-body: 18px;        /* 16 */
  --osu-fs-ui: 16px;          /* 14 */
  --osu-fs-small: 14px;       /* 13 */
}

/* ---------- 3. One typeface everywhere. Icon fonts (Font Awesome, eicons, dashicons, WooCommerce stars), SVG and code keep theirs. ---------- */
body.osu-design,
body.osu-design *:not(i, svg, svg *, code, pre, pre *, kbd, samp, tt, var, [class^="fa"], [class*=" fa"], [class*="eicon"], [class*="dashicons"], [class*="star-rating"], [class*="star-rating"] *, [class*="material-icons"], [class*="material-symbols"], #wpadminbar, #wpadminbar *) {
  font-family: var(--osu-font) !important;
}
body.osu-design :is(.osu-home-hero__title, .osu-feature__title, .osu-story__title, .osu-expert__title, .osu-card .orb-card__title, .osu-biz-hero__title, .osu-biz__title) { font-family: var(--osu-font-wide) !important; }

/* ---------- 4. Colour fixes for existing content (fonts and colours only: no sizes change) ---------- */
/* Printed with this stylesheet by OSU_Design::inline_css(): the kit's colours, widget colours from the page's Elementor
   files, and colours typed into text widgets (Orbital Blue, light blue and light grey become Deep Blue and Steel), all
   except inside dark or photo backgrounds, where the light originals read better. */

/* ---------- 5. Full-bleed bands inside Elementor wrappers; old header/footer sections hidden ---------- */
/* A band (.osu-bleed) spans the full width even if its section is boxed or padded, and stacked bands touch. */
body.osu-design .elementor-section:has(.osu-bleed) > .elementor-container { max-width: none; }
body.osu-design .elementor-section:has(.osu-bleed) { margin-top: 0; margin-bottom: 0; padding: 0; }
body.osu-design .elementor-column:has(.osu-bleed) > .elementor-widget-wrap { padding: 0; }
body.osu-design .elementor-widget:has(.osu-bleed) { margin-block-end: 0; margin-bottom: 0; }
body.osu-design .e-con:has(.osu-bleed) { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --container-max-width: none; --content-width: 100%; --gap: 0px; --row-gap: 0px; }
body.osu-design .e-con:has(.osu-bleed) > .e-con-inner { max-width: none; padding: 0; }
/* Elementor 4's atomic Flexbox and Div block (what "+" → Flexbox → a structure makes when the V4 editor is on) set
   their 10px padding directly, not through the variables above. */
body.osu-design .e-atomic-element:has(.osu-bleed) { padding: 0; gap: 0; max-width: none; min-height: 0; }
/* The widget fills the box's width whichever way the box lays out (a row-direction box would shrink it). */
body.osu-design .e-con:has(> .elementor-widget .osu-bleed) > .elementor-widget:has(.osu-bleed),
body.osu-design .e-con-inner > .elementor-widget:has(.osu-bleed) { width: 100%; max-width: 100%; flex: 1 1 100%; align-self: stretch; }
body.osu-design .elementor-shortcode:has(> .osu-bleed) { display: block; }
/* In a Theme Builder header or footer that holds the new parts, the old sections are hidden (not in the editor;
   a section with the CSS class osu-keep stays). osu.js does the same where :has() is not supported. */
body.osu-design:not(.elementor-editor-active) .elementor-location-header:has(.osu-header, .osu-topbar) > :not(:has(.osu-header, .osu-topbar), .osu-keep, script, style),
body.osu-design:not(.elementor-editor-active) .elementor-location-footer:has(.osu-footer) > :not(:has(.osu-footer), .osu-keep, script, style),
body.osu-design .osu-old-hidden { display: none !important; }

/* ---------- 6. Shared parts ---------- */
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) {
  box-sizing: border-box; margin: 0; color: var(--osu-ink); text-align: left; font-style: normal; letter-spacing: 0; text-transform: none;
  font-feature-settings: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) :where(*, *::before, *::after) { box-sizing: border-box; }
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) :where(h1, h2, h3, h4, p, ul, ol, li, figure, blockquote, nav, details, summary) {
  margin: 0; padding: 0; border: 0; background: none; color: inherit; font-style: normal; letter-spacing: 0; text-transform: none; text-align: left; list-style: none;
}
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) :where(li)::before,
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) :where(li)::marker { content: none; }
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) :where(a) { box-shadow: none; text-transform: none; letter-spacing: 0; background: none; }
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) :where(a, button)[href]::after { content: none; }
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) :where(img) { display: block; max-width: 100%; height: auto; border: 0; border-radius: 0; box-shadow: none; }
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) svg { fill: none; }
body.osu-design :where(.osu-topbar, .osu-header, .osu-footer, .osu-band) [hidden] { display: none !important; }

body.osu-design .osu-wrap { width: 100%; max-width: 1280px; margin: 0 auto; padding: 0 32px; }
body.osu-design .osu-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
body.osu-design :is(.osu-topbar, .osu-header, .osu-footer, .osu-band) { padding: 0; }
body.osu-design .osu-band { display: block; width: 100%; }

/* Buttons: one filled blue per area (19px bold or larger on Orbital Blue); secondary = white with a Steel outline. */
body.osu-design a.osu-btn,
body.osu-design a.osu-btn:visited {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; margin: 0; padding: 12px 24px;
  border: 1px solid transparent; border-radius: 4px; background: none; box-shadow: none; font-size: 19px; line-height: 1.2; font-weight: 700;
  font-style: normal; text-decoration: none; text-transform: none; letter-spacing: 0; text-align: center; white-space: normal;
  transition: background-color .15s, border-color .15s, color .15s;
}
body.osu-design a.osu-btn--primary,
body.osu-design a.osu-btn--primary:visited { background: var(--osu-blue); border-color: var(--osu-blue); color: #FFFFFF; }
body.osu-design a.osu-btn--primary:hover,
body.osu-design a.osu-btn--primary:focus { background: var(--osu-blue-hover); border-color: var(--osu-blue-hover); color: #FFFFFF; }
body.osu-design a.osu-btn--secondary,
body.osu-design a.osu-btn--secondary:visited { background: #FFFFFF; border-color: var(--osu-steel); color: var(--osu-ink); font-size: 18px; font-weight: 500; }
body.osu-design a.osu-btn--secondary:hover,
body.osu-design a.osu-btn--secondary:focus { background: #FFFFFF; border-color: var(--osu-ink); color: var(--osu-ink); }
body.osu-design a.osu-btn--outline,
body.osu-design a.osu-btn--outline:visited { min-height: 44px; gap: 8px; padding: 8px 16px; background: #FFFFFF; border-color: var(--osu-steel); color: var(--osu-ink); font-size: 16px; font-weight: 600; }
body.osu-design a.osu-btn--outline:hover,
body.osu-design a.osu-btn--outline:focus { background: #FFFFFF; border-color: var(--osu-ink); color: var(--osu-ink); }
body.osu-design .osu-btn .orb-icon { flex: none; width: 20px; height: 20px; stroke-width: 2; }
body.osu-design .osu-btn--outline .orb-icon { width: 18px; height: 18px; }
body.osu-design :is(.osu-topbar, .osu-header, .osu-footer, .osu-band, .orb-proof) :is(a, button, summary):focus-visible { outline: 3px solid var(--osu-deep); outline-offset: 2px; }
body.osu-design :is(.osu-topbar, .osu-footer, .osu-story, .osu-expert) :is(a, button):focus-visible { outline-color: #FFFFFF; }
body.osu-design .osu-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 20px 0 0; }
body.osu-design .osu-eyebrow { margin: 0; font-size: var(--osu-fs-small); line-height: 1.4; font-weight: 600; color: var(--osu-deep); }

/* The open/closed line: neutral hours until osu.js decides, then a green or grey dot. */
body.osu-design .osu-status { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-size: 16px; line-height: 1.45; color: var(--osu-steel); }
body.osu-design .osu-status strong { font-weight: 600; color: var(--osu-ink); }
body.osu-design .osu-status a { color: var(--osu-deep); font-size: inherit; font-weight: inherit; text-decoration: underline; }
body.osu-design .osu-status a.osu-status__quiet { color: var(--osu-steel); }
body.osu-design .osu-dot { display: none; flex: none; width: 10px; height: 10px; margin-top: 6px; border-radius: 50%; background: var(--osu-open); }
body.osu-design :is(.osu-status, .orb-hero__status):is(.is-open, .is-closed) .osu-dot { display: block; }
body.osu-design :is(.osu-status, .orb-hero__status).is-closed .osu-dot { background: var(--osu-closed); }
body.osu-design .orb-hero .orb-hero__status a.osu-status__quiet { color: var(--osu-steel); }

/* ---------- 7. Top bar [orbital_topbar] ---------- */
body.osu-design .osu-topbar { display: block; width: 100%; background: var(--osu-ink); color: #FFFFFF; }
body.osu-design .osu-topbar__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px; padding-top: 10px; padding-bottom: 10px; font-size: 14px; line-height: 1.4; }
body.osu-design .osu-topbar__line { margin: 0; font-size: 14px; line-height: 1.4; font-weight: 400; color: rgba(255, 255, 255, .86); }
body.osu-design .osu-topbar__status { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; line-height: 1.4; color: #FFFFFF; }
body.osu-design .osu-topbar__status .osu-dot { width: 8px; height: 8px; margin: 0; box-shadow: 0 0 0 2px rgba(255, 255, 255, .9); }
body.osu-design .osu-topbar__status .osu-status__text { color: #FFFFFF; }
body.osu-design .osu-topbar__status strong { font-weight: 400; color: #FFFFFF; }
body.osu-design .osu-topbar__status a,
body.osu-design .osu-topbar__status a:visited { color: #FFFFFF; font-size: 14px; text-decoration: underline; }
body.osu-design .osu-topbar__sep { color: rgba(255, 255, 255, .86); }
body.osu-design .osu-topbar a.osu-topbar__tel,
body.osu-design .osu-topbar a.osu-topbar__tel:visited { color: #FFFFFF; font-size: 14px; font-weight: 600; text-decoration: none; }
body.osu-design .osu-topbar a.osu-topbar__tel:hover { color: #FFFFFF; text-decoration: underline; }
/* A sale: an Orbital Blue attention strip, white bold text at 19px (large text: 3.1:1 passes), code in a white pill. */
body.osu-design .osu-topbar.is-sale { background: var(--osu-blue); }
body.osu-design .osu-topbar__sale { justify-content: center; text-align: center; }
body.osu-design .osu-topbar .osu-topbar__sale-link,
body.osu-design .osu-topbar a.osu-topbar__sale-link:visited { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 12px; margin: 0; color: #FFFFFF; font-size: 19px; line-height: 1.3; font-weight: 700; text-decoration: none; }
body.osu-design .osu-topbar a.osu-topbar__sale-link .osu-topbar__sale-text { text-decoration: underline; text-underline-offset: 3px; }
body.osu-design .osu-topbar a.osu-topbar__sale-link:hover,
body.osu-design .osu-topbar a.osu-topbar__sale-link:focus { color: #FFFFFF; }
body.osu-design .osu-pill { display: inline-block; padding: 3px 12px; border-radius: 999px; background: #FFFFFF; color: var(--osu-ink); font-size: 15px; line-height: 1.3; font-weight: 700; letter-spacing: .02em; text-decoration: none; }

/* ---------- 8. Header [orbital_header] ---------- */
body.osu-design .osu-header { position: relative; display: block; width: 100%; background: #FFFFFF; border-bottom: 1px solid var(--osu-line); z-index: 50; }
body.osu-design .osu-header__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; padding-top: 16px; padding-bottom: 16px; min-height: 76px; }
body.osu-design .osu-header a.osu-header__logo { display: flex; flex: none; align-items: center; min-height: 44px; text-decoration: none; }
body.osu-design .osu-header .osu-header__logo-img { display: block; width: auto; height: 42px; max-width: none; }
body.osu-design .osu-header__logo-text { font-size: 20px; font-weight: 700; color: var(--osu-deep); }
body.osu-design .osu-header__actions { display: flex; flex: none; align-items: center; gap: 16px; }
body.osu-design .osu-header a.osu-header__call { display: none; }
body.osu-design .osu-header a.osu-header__cart,
body.osu-design .osu-header a.osu-header__cart:visited { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--osu-ink); text-decoration: none; }
body.osu-design .osu-header__cart .orb-icon { width: 24px; height: 24px; stroke-width: 1.8; }
body.osu-design .osu-cart-dot { display: none; position: absolute; top: 7px; right: 5px; width: 10px; height: 10px; border-radius: 50%; background: var(--osu-blue); box-shadow: 0 0 0 2px #FFFFFF; }
body.osu-design .osu-header.osu-has-cart .osu-cart-dot { display: block; }
body.osu-design .osu-header button.osu-header__menu-btn,
body.osu-design .osu-header button.osu-header__menu-btn:hover,
body.osu-design .osu-header button.osu-header__menu-btn:focus { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 4px; background: none; box-shadow: none; color: var(--osu-ink); }
body.osu-design .osu-header__menu-btn .orb-icon { width: 24px; height: 24px; stroke-width: 2; }
body.osu-design .osu-header__menu-btn .orb-icon--close,
body.osu-design .osu-header.is-open .osu-header__menu-btn .orb-icon--menu { display: none; }
body.osu-design .osu-header.is-open .osu-header__menu-btn .orb-icon--close { display: block; }
body.osu-design .osu-nav__note { font-size: 14px; color: var(--osu-steel); }

/* Menu */
body.osu-design .osu-nav { display: block; min-width: 0; }
body.osu-design .osu-header .osu-menu { display: flex; flex-wrap: nowrap; align-items: center; gap: 30px; margin: 0; padding: 0; list-style: none; }
body.osu-design .osu-menu > .osu-menu__item { position: relative; display: flex; align-items: center; gap: 2px; margin: 0; padding: 10px 0; white-space: nowrap; }
body.osu-design .osu-header .osu-menu a.osu-menu__link,
body.osu-design .osu-header .osu-menu a.osu-menu__link:visited,
body.osu-design .osu-header .osu-menu button.osu-menu__link {
  display: inline-flex; align-items: center; gap: 4px; min-height: 24px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none;
  color: var(--osu-ink); font-size: 16px; line-height: 1.5; font-weight: 500; text-decoration: none; white-space: nowrap; cursor: pointer;
}
body.osu-design .osu-header .osu-menu a.osu-menu__link:hover,
body.osu-design .osu-header .osu-menu button.osu-menu__link:hover { color: var(--osu-deep); background: none; text-decoration: underline; text-underline-offset: 4px; }
body.osu-design .osu-header .osu-menu .is-current > a.osu-menu__link,
body.osu-design .osu-header .osu-menu .is-current-parent > .osu-menu__link { text-decoration: underline; text-decoration-color: var(--osu-blue); text-decoration-thickness: 2px; text-underline-offset: 6px; }
body.osu-design .osu-header .osu-menu button.osu-menu__toggle,
body.osu-design .osu-header .osu-menu button.osu-menu__toggle:hover,
body.osu-design .osu-header .osu-menu button.osu-menu__toggle:focus { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; margin: 0; padding: 0; border: 0; border-radius: 3px; background: none; box-shadow: none; color: var(--osu-ink); }
body.osu-design .osu-menu__toggle .orb-icon { width: 16px; height: 16px; stroke-width: 2.2; transition: transform .15s; }
body.osu-design .osu-menu .is-open > .osu-menu__toggle .orb-icon { transform: rotate(180deg); }
/* Dropdowns: hover (mouse), or opened by osu.js (click, tap, Enter, Space). Without JS: focus inside opens them. */
body.osu-design .osu-header .osu-menu__sub { display: none; position: absolute; top: 100%; left: -16px; z-index: 60; min-width: 250px; margin: 0; padding: 8px 0; list-style: none; background: #FFFFFF; border: 1px solid var(--osu-line); border-radius: 6px; }
body.osu-design .osu-header .is-wide > .osu-menu__sub { columns: 2; column-gap: 0; min-width: 500px; }
body.osu-design .osu-header .osu-menu .is-open > .osu-menu__sub,
body.osu-design .osu-header .osu-nav--bar .osu-menu .is-hover > .osu-menu__sub,
body.osu-design .osu-header:not(.osu-js) .osu-menu > .osu-menu__item:focus-within > .osu-menu__sub { display: block; }
@media (hover: hover) and (min-width: 1024px) {
  body.osu-design .osu-header:not(.osu-js) .osu-nav--bar .osu-menu > .osu-menu__item:hover > .osu-menu__sub { display: block; }
}
body.osu-design .osu-menu__sub > .osu-menu__item { display: block; margin: 0; padding: 0; break-inside: avoid; }
body.osu-design .osu-header .osu-menu__sub a.osu-menu__link,
body.osu-design .osu-header .osu-menu__sub a.osu-menu__link:visited { display: block; padding: 8px 16px; font-size: 15px; line-height: 1.4; font-weight: 400; color: var(--osu-ink); white-space: normal; }
body.osu-design .osu-header .osu-menu__sub a.osu-menu__link:hover,
body.osu-design .osu-header .osu-menu__sub a.osu-menu__link:focus { background: var(--osu-mist); color: var(--osu-ink); text-decoration: underline; }

/* Phone/tablet panel (menu button): the menu as an accordion, then phone, hours line and "Email us". */
body.osu-design .osu-header__panel { display: none; border-top: 1px solid var(--osu-line); background: #FFFFFF; }
body.osu-design .osu-header__extras { display: flex; flex-direction: column; gap: 10px; padding: 18px 0 22px; }
body.osu-design .osu-header a.osu-header__extra-tel,
body.osu-design .osu-header a.osu-header__extra-tel:visited { display: inline-flex; align-items: center; gap: 10px; color: var(--osu-ink); font-size: 20px; line-height: 1.3; font-weight: 700; text-decoration: none; }
body.osu-design .osu-header a.osu-header__extra-tel .orb-icon { width: 20px; height: 20px; stroke-width: 2; }
body.osu-design .osu-header .osu-header__status { font-size: 15px; }
body.osu-design .osu-header a.osu-header__extra-email,
body.osu-design .osu-header a.osu-header__extra-email:visited { align-self: flex-start; color: var(--osu-deep); font-size: 16px; line-height: 1.45; font-weight: 600; text-decoration: underline; }
body.osu-design .osu-nav--panel { display: none; }

/* ---------- 9. Footer [orbital_footer] ---------- */
body.osu-design .osu-footer { display: block; width: 100%; background: var(--osu-ink); color: rgba(255, 255, 255, .86); }
body.osu-design .osu-footer > .osu-wrap { padding-top: 48px; padding-bottom: 28px; }
body.osu-design .osu-footer__cols { display: flex; flex-wrap: wrap; gap: 32px 48px; font-size: 15px; line-height: 1.9; }
body.osu-design .osu-footer__nav { display: contents; }
body.osu-design .osu-footer__col { flex: 1 1 180px; min-width: 0; }
body.osu-design .osu-footer__col--talk { flex: 1 1 220px; }
body.osu-design .osu-footer__title { margin: 0 0 6px; font-size: 16px; line-height: 1.9; font-weight: 600; color: #FFFFFF; }
body.osu-design .osu-footer__links { margin: 0; padding: 0; list-style: none; }
body.osu-design .osu-footer__links li { display: block; margin: 0; padding: 0; font-size: 15px; line-height: 1.9; color: rgba(255, 255, 255, .86); }
body.osu-design .osu-footer a,
body.osu-design .osu-footer a:visited { color: rgba(255, 255, 255, .86); font-size: 15px; line-height: 1.9; font-weight: 400; text-decoration: none; }
body.osu-design .osu-footer a:hover,
body.osu-design .osu-footer a:focus { color: #FFFFFF; text-decoration: underline; }
body.osu-design .osu-footer a.osu-footer__tel,
body.osu-design .osu-footer a.osu-footer__tel:visited { color: #FFFFFF; font-weight: 600; }
body.osu-design .osu-footer a.osu-footer__u,
body.osu-design .osu-footer a.osu-footer__u:visited { text-decoration: underline; }
body.osu-design .osu-footer__hours { color: rgba(255, 255, 255, .86); }
body.osu-design .osu-footer__bottom { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 24px; margin: 32px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(255, 255, 255, .18); }
body.osu-design .osu-footer__line { margin: 0; font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .7); }
body.osu-design .osu-footer__legal { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 0; list-style: none; }
body.osu-design .osu-footer__legal li { margin: 0; padding: 0; }
body.osu-design .osu-footer .osu-footer__legal a,
body.osu-design .osu-footer .osu-footer__legal a:visited { font-size: 13px; line-height: 1.5; color: rgba(255, 255, 255, .7); text-decoration: underline; }

/* ---------- 10. Home sections ---------- */
/* [orbital_home_hero] */
body.osu-design .osu-home-hero { padding: 64px 0 0; background: #FFFFFF; }
body.osu-design .osu-home-hero .osu-home-hero__title { max-width: 940px; margin: 0; padding: 0; color: var(--osu-ink); font-size: clamp(34px, 5.2vw, 56px); line-height: 1.04; font-weight: 800; font-stretch: 115%; letter-spacing: -0.015em; text-transform: none; }
body.osu-design .osu-home-hero .osu-home-hero__lead { max-width: 760px; margin: 18px 0 0; color: var(--osu-steel); font-size: 20px; line-height: 1.5; font-weight: 400; }

/* [orbital_range] */
body.osu-design .osu-range { padding: 40px 0 56px; background: #FFFFFF; }
body.osu-design .osu-range__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
body.osu-design .osu-range a.osu-range__card,
body.osu-design .osu-range a.osu-range__card:visited { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #FFFFFF; border: 1px solid var(--osu-line); border-radius: 6px; color: var(--osu-ink); text-decoration: none; transition: border-color .15s; }
body.osu-design .osu-range a.osu-range__card:hover { border-color: var(--osu-steel); color: var(--osu-ink); }
body.osu-design .osu-range__media { display: flex; align-items: center; justify-content: center; height: 230px; padding: 15px; background: var(--osu-mist); }
body.osu-design .osu-range .osu-range__img { display: block; width: auto; height: 100%; max-width: 100%; max-height: 200px; object-fit: contain; mix-blend-mode: darken; }
body.osu-design .osu-range__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 6px; padding: 20px 22px 22px; }
body.osu-design .osu-range .osu-range__title { display: block; margin: 0; font-size: 24px; line-height: 1.2; font-weight: 700; color: var(--osu-ink); }
body.osu-design .osu-range__title-short { display: none; }
body.osu-design .osu-range__line { display: block; font-size: 16px; line-height: 1.45; color: var(--osu-steel); }
body.osu-design .osu-range__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 12px; margin-top: auto; padding-top: 14px; }
body.osu-design .osu-range__price { font-size: 18px; line-height: 1.3; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--osu-ink); }
body.osu-design .osu-range__more { font-size: 16px; line-height: 1.3; font-weight: 600; color: var(--osu-deep); }
body.osu-design .osu-range a.osu-range__card:hover .osu-range__more { text-decoration: underline; }
body.osu-design .osu-range .osu-range__note { margin: 22px 0 0; font-size: 16px; line-height: 1.5; color: var(--osu-steel); }
body.osu-design .osu-range a.osu-range__call,
body.osu-design .osu-range a.osu-range__call:visited { color: var(--osu-deep); font-size: inherit; font-weight: 600; text-decoration: underline; }
body.osu-design .osu-range a.osu-range__call:hover { color: var(--osu-ink); }

/* [orbital_proof] under the new design: the grey band with hexagon badges */
body.osu-design .orb-proof { display: block; margin: 0; padding: 0; background: var(--osu-fog); }
body.osu-design .orb-proof .orb-proof__list { display: grid; grid-template-columns: repeat(min(var(--orb-cols, 4), 4), minmax(0, 1fr)); gap: 20px 32px; max-width: 1280px; margin: 0 auto; padding: 24px 32px; list-style: none; }
body.osu-design .orb-proof .orb-proof__item { display: flex; align-items: center; gap: 14px; margin: 0; padding: 0; font-size: 14px; line-height: 1.35; color: var(--osu-steel); }
body.osu-design .orb-proof .osu-hex { display: block; flex: none; width: 44px; height: 50px; }
body.osu-design .orb-proof .osu-hex__bg { fill: #FFFFFF; stroke: var(--osu-blue); }
body.osu-design .orb-proof .osu-hex__icon { fill: none; stroke: var(--osu-deep); }
body.osu-design .orb-proof .orb-proof__text,
body.osu-design .orb-proof .orb-proof__sub { display: block; font-size: 14px; line-height: 1.35; color: var(--osu-steel); }
body.osu-design .orb-proof .orb-proof__title,
body.osu-design .orb-proof a.orb-proof__title:visited { display: block; font-size: 16px; line-height: 1.35; font-weight: 600; color: var(--osu-ink); text-decoration: none; }
body.osu-design .orb-proof a.orb-proof__title:hover { color: var(--osu-ink); text-decoration: underline; }

/* [orbital_feature] */
body.osu-design .osu-feature { padding: 64px 0; background: var(--osu-mist); }
body.osu-design .osu-feature__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 40px 64px; }
body.osu-design .osu-feature__media { display: flex; flex: 1 1 420px; justify-content: center; min-width: 0; }
body.osu-design .osu-feature .osu-feature__img { display: block; width: auto; height: auto; max-width: 100%; max-height: 430px; object-fit: contain; mix-blend-mode: darken; }
body.osu-design .osu-feature__text { flex: 1 1 420px; min-width: 0; }
body.osu-design .osu-feature--no-image .osu-feature__text { flex-basis: 100%; max-width: 760px; }
body.osu-design .osu-feature .osu-feature__title { margin: 8px 0 0; color: var(--osu-ink); font-size: clamp(28px, 3.6vw, 40px); line-height: 1.08; font-weight: 700; font-stretch: 112%; letter-spacing: -0.01em; }
body.osu-design .osu-feature .osu-feature__desc { max-width: 32em; margin: 16px 0 0; font-size: 18px; line-height: 1.55; color: var(--osu-steel); }
body.osu-design .osu-feature .osu-feature__price { margin: 20px 0 0; font-size: 24px; line-height: 1.3; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--osu-ink); }
body.osu-design .osu-feature a.osu-btn--primary { padding-left: 26px; padding-right: 26px; }

/* [orbital_story]: Graphite band; text only unless a real image is set */
body.osu-design .osu-story { padding: 0; background: var(--osu-graphite); color: #FFFFFF; }
body.osu-design .osu-story__inner { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0 56px; }
body.osu-design .osu-story__text { flex: 1 1 420px; min-width: 0; padding: 72px 0; }
body.osu-design .osu-story--no-image .osu-story__text { max-width: 860px; }
body.osu-design .osu-story .osu-eyebrow { color: rgba(255, 255, 255, .78); }
body.osu-design .osu-story .osu-story__title { max-width: 15em; margin: 8px 0 0; color: #FFFFFF; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.08; font-weight: 700; font-stretch: 112%; letter-spacing: -0.01em; }
body.osu-design .osu-story--no-image .osu-story__title { max-width: 22em; }
body.osu-design .osu-story .osu-story__desc { max-width: 32em; margin: 16px 0 0; font-size: 18px; line-height: 1.55; color: rgba(255, 255, 255, .84); }
body.osu-design .osu-story a.osu-story__link,
body.osu-design .osu-story a.osu-story__link:visited { display: inline-block; margin-top: 22px; color: #FFFFFF; font-size: 17px; line-height: 1.4; font-weight: 600; text-decoration: underline; }
body.osu-design .osu-story a.osu-story__link:hover { color: #FFFFFF; text-decoration-thickness: 2px; }
body.osu-design .osu-story__media { position: relative; flex: 1 1 480px; min-width: 0; min-height: 360px; background: #1B1F24; overflow: hidden; }
body.osu-design .osu-story .osu-story__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }

/* [orbital_expert]: the dark band over the toned-down hexagon banner (or a faint hex grid), with the spec-check card */
body.osu-design .osu-expert {
  padding: 72px 0; color: #FFFFFF; background-color: var(--osu-ink);
  background-image: linear-gradient(90deg, rgba(33, 37, 43, .94) 0%, rgba(33, 37, 43, .86) 55%, rgba(33, 37, 43, .72) 100%), var(--osu-expert-image, none);
  background-size: cover; background-position: center; background-repeat: no-repeat;
}
body.osu-design .osu-expert:not(.osu-expert--image) {
  background-color: var(--osu-graphite);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34.64' height='60' viewBox='0 0 34.64 60'%3E%3Cpath d='M17.32 0V10L0 20M17.32 10L34.64 20M0 20V40L17.32 50L34.64 40M17.32 50V60' fill='none' stroke='%23019CDE' stroke-opacity='.12' stroke-width='1'/%3E%3C/svg%3E");
  background-size: 34.64px 60px; background-repeat: repeat;
}
body.osu-design .osu-expert__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 40px 56px; }
body.osu-design .osu-expert__text { flex: 1 1 520px; min-width: 0; }
body.osu-design .osu-expert .osu-expert__title { max-width: 14em; margin: 0; color: #FFFFFF; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.08; font-weight: 700; font-stretch: 112%; letter-spacing: -0.01em; }
body.osu-design .osu-expert .osu-expert__desc { max-width: 33em; margin: 16px 0 0; font-size: 18px; line-height: 1.55; color: rgba(255, 255, 255, .86); }
body.osu-design .osu-expert__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin: 26px 0 0; }
body.osu-design .osu-expert a.osu-expert__email,
body.osu-design .osu-expert a.osu-expert__email:visited { color: #FFFFFF; font-size: 17px; line-height: 1.4; font-weight: 600; text-decoration: underline; }
body.osu-design .osu-expert a.osu-expert__email:hover { color: #FFFFFF; text-decoration-thickness: 2px; }
body.osu-design .osu-expert .osu-expert__status { flex: 1 1 100%; margin-top: 2px; color: rgba(255, 255, 255, .86); }
body.osu-design .osu-expert .osu-expert__status strong { color: #FFFFFF; }
body.osu-design .osu-expert .osu-expert__status .osu-dot { box-shadow: 0 0 0 2px rgba(255, 255, 255, .9); }
body.osu-design .osu-expert .osu-expert__status a,
body.osu-design .osu-expert .osu-expert__status a.osu-status__quiet { color: #FFFFFF; }
/* The spec-check card (the hero's card, restyled for the band) */
body.osu-design .osu-expert details.osu-card { flex: 0 1 400px; min-width: 0; margin: 0; padding: 28px 28px 24px; background: #FFFFFF; color: var(--osu-ink); border: 0; border-radius: 6px; }
body.osu-design .osu-card .orb-card__summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0; padding: 0; list-style: none; cursor: default; color: var(--osu-ink); }
body.osu-design .osu-card .orb-card__summary::-webkit-details-marker { display: none; }
body.osu-design .osu-card .orb-card__summary::marker { content: ""; }
body.osu-design .osu-card .orb-card__titles { display: block; }
body.osu-design .osu-card .orb-card__title { display: block; font-size: 22px; line-height: 1.25; font-weight: 700; font-stretch: 112%; color: var(--osu-ink); }
body.osu-design .osu-card .orb-card__hint { display: block; margin: 6px 0 0; font-size: 15px; line-height: 1.45; font-weight: 400; color: var(--osu-steel); }
body.osu-design .osu-card .orb-card__summary .orb-icon { display: none; flex: none; width: 22px; height: 22px; color: var(--osu-ink); stroke-width: 2; transition: transform .15s; }
body.osu-design .osu-card .orb-card__body { padding: 18px 0 0; }
body.osu-design .osu-card .orb-steps { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
body.osu-design .osu-card .orb-steps li { display: flex; gap: 14px; margin: 0; padding: 0; font-size: 16px; line-height: 1.45; color: var(--osu-ink); list-style: none; }
body.osu-design .osu-card .orb-steps__n { display: flex; flex: none; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid var(--osu-blue); border-radius: 50%; background: #FFFFFF; color: var(--osu-deep); font-size: 14px; line-height: 1; font-weight: 700; }
body.osu-design .osu-card .orb-steps strong { font-weight: 600; color: var(--osu-ink); }
body.osu-design .osu-card .orb-card__foot { margin: 20px 0 0; padding: 14px 0 0; border-top: 1px solid var(--osu-line); font-size: 15px; line-height: 1.5; color: var(--osu-steel); }
body.osu-design .osu-card .orb-card__foot a,
body.osu-design .osu-card .orb-card__foot a:visited { color: var(--osu-deep); font-size: 15px; text-decoration: underline; }

/* ---------- 11. Tablet (header menu behind the menu button) and phone ---------- */
@media (max-width: 1279px) and (min-width: 1024px) {
  body.osu-design .osu-header__bar { gap: 16px 20px; }
  body.osu-design .osu-header .osu-header__logo-img { height: 38px; }
  body.osu-design .osu-header .osu-menu { gap: 18px; }
  body.osu-design .osu-header .osu-menu a.osu-menu__link,
  body.osu-design .osu-header .osu-menu button.osu-menu__link { font-size: 15px; }
  body.osu-design .osu-header__actions { gap: 10px; }
  body.osu-design .osu-header a.osu-btn--outline { padding-left: 12px; padding-right: 12px; font-size: 15px; }
}
@media (max-width: 1023px) {
  body.osu-design .osu-wrap { padding: 0 24px; }
  body.osu-design .osu-header .osu-nav--bar { display: none; }
  body.osu-design .osu-header button.osu-header__menu-btn,
  body.osu-design .osu-header button.osu-header__menu-btn:hover,
  body.osu-design .osu-header button.osu-header__menu-btn:focus { display: inline-flex; }
  body.osu-design .osu-header__actions { gap: 8px; }
  body.osu-design .osu-header.is-open .osu-header__panel { display: block; }
  body.osu-design .osu-header .osu-nav--panel { display: block; }
  body.osu-design .osu-header .osu-nav--panel .osu-menu { display: block; gap: 0; }
  body.osu-design .osu-nav--panel .osu-menu > .osu-menu__item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 0; border-bottom: 1px solid var(--osu-line); white-space: normal; }
  body.osu-design .osu-header .osu-nav--panel .osu-menu > .osu-menu__item > .osu-menu__link { flex: 1 1 auto; min-height: 52px; font-size: 17px; font-weight: 600; }
  body.osu-design .osu-header .osu-nav--panel .osu-menu button.osu-menu__toggle { width: 44px; height: 44px; }
  body.osu-design .osu-header .osu-nav--panel .osu-menu button.osu-menu__toggle--label { width: auto; flex: 1 1 auto; justify-content: space-between; }
  body.osu-design .osu-header .osu-nav--panel .osu-menu__sub { position: static; flex: 1 1 100%; min-width: 0; padding: 0 0 12px 12px; border: 0; border-radius: 0; columns: 1; }
  body.osu-design .osu-header .osu-nav--panel .is-wide > .osu-menu__sub { columns: 2; min-width: 0; }
  body.osu-design .osu-header .osu-nav--panel .osu-menu__sub a.osu-menu__link { padding: 9px 8px; font-size: 16px; }
  body.osu-design .osu-range__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.osu-design .orb-proof .orb-proof__list { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 22px 24px; }
}
@media (max-width: 767px) {
  body.osu-design {
    --osu-fs-display: 34px; --osu-fs-title: 28px; --osu-fs-section: 22px; --osu-fs-card: 20px;
    --osu-fs-lead: 18px; --osu-fs-body: 16px; --osu-fs-ui: 14px; --osu-fs-small: 13px;
  }
  body.osu-design .osu-wrap { padding: 0 16px; }

  /* Top bar: phones show it only while a sale runs. */
  body.osu-design .osu-topbar { display: none; }
  body.osu-design .osu-topbar.is-sale { display: block; }
  body.osu-design .osu-topbar__inner { padding-top: 10px; padding-bottom: 10px; }

  /* Header: logo, Call, the cart when it has items, the menu button. */
  body.osu-design .osu-header__bar { min-height: 64px; padding: 0 12px 0 16px; gap: 8px; }
  body.osu-design .osu-header .osu-header__logo-img { height: 30px; }
  body.osu-design .osu-header a.osu-header__talk { display: none; }
  body.osu-design .osu-header a.osu-header__call,
  body.osu-design .osu-header a.osu-header__call:visited { display: inline-flex; min-height: 44px; gap: 8px; padding: 8px 16px; font-size: 19px; }
  body.osu-design .osu-header a.osu-header__call .orb-icon { width: 18px; height: 18px; stroke-width: 2.2; }
  body.osu-design .osu-header__actions { gap: 6px; }
  body.osu-design .osu-header a.osu-header__cart { display: none; }
  body.osu-design .osu-header.osu-has-cart a.osu-header__cart { display: inline-flex; }

  /* Home hero and range */
  body.osu-design .osu-home-hero { padding-top: 28px; }
  body.osu-design .osu-home-hero .osu-home-hero__title { font-size: 34px; line-height: 1.05; }
  body.osu-design .osu-home-hero .osu-home-hero__lead { margin-top: 14px; font-size: 17px; }
  body.osu-design .osu-range { padding: 24px 0 32px; }
  body.osu-design .osu-range__grid { gap: 12px; }
  body.osu-design .osu-range__media { height: 124px; padding: 8px; }
  body.osu-design .osu-range .osu-range__img { max-height: 108px; }
  body.osu-design .osu-range__body { gap: 0; padding: 12px 12px 14px; }
  body.osu-design .osu-range .osu-range__title { font-size: 17px; line-height: 1.2; }
  body.osu-design .osu-range__title-long,
  body.osu-design .osu-range__line,
  body.osu-design .osu-range__more { display: none; }
  body.osu-design .osu-range__title-short { display: inline; }
  body.osu-design .osu-range__foot { margin-top: 0; padding-top: 4px; }
  body.osu-design .osu-range__price { font-size: 15px; color: var(--osu-steel); }
  body.osu-design .osu-range .osu-range__note { margin-top: 18px; font-size: 15px; line-height: 1.45; }

  /* Proof band */
  body.osu-design .orb-proof .orb-proof__list { gap: 18px 14px; padding: 20px 16px; }
  body.osu-design .orb-proof .orb-proof__item { flex-direction: column; align-items: flex-start; gap: 8px; font-size: 13px; }
  body.osu-design .orb-proof .osu-hex { width: 36px; height: 41px; }
  body.osu-design .orb-proof .orb-proof__text,
  body.osu-design .orb-proof .orb-proof__sub { font-size: 13px; }
  body.osu-design .orb-proof .orb-proof__title { font-size: 15px; }

  /* Feature */
  body.osu-design .osu-feature { padding: 32px 0 36px; }
  body.osu-design .osu-feature__inner { gap: 20px; }
  body.osu-design .osu-feature .osu-feature__img { max-height: 260px; }
  body.osu-design .osu-feature .osu-feature__title { margin-top: 6px; font-size: 28px; line-height: 1.1; }
  body.osu-design .osu-feature .osu-feature__desc { margin-top: 12px; font-size: 16px; }
  body.osu-design .osu-feature .osu-feature__price { margin-top: 16px; font-size: 22px; }
  body.osu-design .osu-feature .osu-actions { flex-direction: column; gap: 10px; margin-top: 16px; }
  body.osu-design .osu-feature a.osu-btn { width: 100%; min-height: 52px; }
  body.osu-design .osu-feature a.osu-btn--secondary { font-size: 17px; }

  /* Story: picture first, edge to edge */
  body.osu-design .osu-story { padding: 0 0 32px; }
  body.osu-design .osu-story__media { order: -1; flex: 1 1 100%; min-height: 200px; height: 200px; margin: 0 -16px; }
  body.osu-design .osu-story__text { padding: 24px 0 0; }
  body.osu-design .osu-story--no-image .osu-story__text { padding-top: 32px; }
  body.osu-design .osu-story .osu-story__title { margin-top: 6px; font-size: 24px; line-height: 1.15; }
  body.osu-design .osu-story .osu-story__desc { margin-top: 12px; font-size: 16px; }
  body.osu-design .osu-story a.osu-story__link { margin-top: 14px; font-size: 16px; }

  /* Expert band: call, open line, email, then the folded card */
  body.osu-design .osu-expert { padding: 36px 0; background-image: linear-gradient(180deg, rgba(33, 37, 43, .9) 0%, rgba(33, 37, 43, .84) 100%), var(--osu-expert-image, none); }
  body.osu-design .osu-expert__inner { gap: 22px; }
  body.osu-design .osu-expert__text { flex-basis: 100%; }
  body.osu-design .osu-expert .osu-expert__title { font-size: 28px; line-height: 1.1; }
  body.osu-design .osu-expert .osu-expert__desc { margin-top: 12px; font-size: 16px; }
  body.osu-design .osu-expert__actions { flex-direction: column; align-items: stretch; gap: 0; margin-top: 20px; }
  body.osu-design .osu-expert a.osu-expert__call { order: 1; width: 100%; }
  body.osu-design .osu-expert .osu-expert__status { order: 2; margin-top: 14px; font-size: 15px; }
  body.osu-design .osu-expert a.osu-expert__email { order: 3; align-self: flex-start; margin-top: 10px; font-size: 16px; }
  body.osu-design .osu-expert details.osu-card { flex-basis: 100%; padding: 0; }
  body.osu-design .osu-card .orb-card__summary { min-height: 44px; padding: 16px; cursor: pointer; }
  body.osu-design .osu-card .orb-card__title { font-size: 18px; }
  body.osu-design .osu-card .orb-card__hint { margin-top: 2px; font-size: 14px; }
  body.osu-design .osu-card .orb-card__summary .orb-icon { display: block; }
  body.osu-design .osu-card[open] .orb-card__summary .orb-icon { transform: rotate(180deg); }
  body.osu-design .osu-card .orb-card__body { padding: 0 16px 16px; }

  /* Footer: phone first, links in two columns */
  body.osu-design .osu-footer > .osu-wrap { padding-top: 32px; padding-bottom: 24px; }
  body.osu-design .osu-footer__cols { display: flex; flex-direction: column; gap: 20px; line-height: 1.8; }
  body.osu-design .osu-footer__col--talk { order: -1; flex: none; }
  body.osu-design .osu-footer__col--talk .osu-footer__title { display: none; }
  body.osu-design .osu-footer a.osu-footer__tel { font-size: 20px; font-weight: 700; }
  body.osu-design .osu-footer__nav { display: block; column-count: 2; column-gap: 16px; }
  body.osu-design .osu-footer__nav .osu-footer__col { display: block; break-inside: avoid; }
  body.osu-design .osu-footer__nav .osu-footer__col + .osu-footer__col { margin-top: 14px; }
  body.osu-design .osu-footer__nav .osu-footer__title { display: none; }
  body.osu-design .osu-footer__links li,
  body.osu-design .osu-footer a { line-height: 1.8; }
  body.osu-design .osu-footer__bottom { margin-top: 20px; padding-top: 14px; }
  body.osu-design .osu-footer__line,
  body.osu-design .osu-footer .osu-footer__legal a { font-size: 12px; }
}
@media (max-width: 359px) {
  body.osu-design .osu-header__bar { padding: 0 8px 0 12px; gap: 4px; }
  body.osu-design .osu-header .osu-header__logo-img { height: 26px; }
  body.osu-design .osu-header a.osu-header__call { padding: 8px 12px; }
  body.osu-design .osu-header__actions { gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  body.osu-design :is(.osu-btn, .osu-range__card, .osu-menu__toggle .orb-icon, .osu-card .orb-card__summary .orb-icon) { transition: none; }
}

/* ---------- 12. Business page [orbital_business] (1.2) and the "For business" link ---------- */
/* The link: in the top bar's right-hand group before the open/closed status, and in the phone menu under "Email us"
   (44px tall to tap, laid out like a text line). It is printed only once its URL is set. */
body.osu-design .osu-topbar a.osu-topbar__biz,
body.osu-design .osu-topbar a.osu-topbar__biz:visited { display: inline-flex; align-items: center; min-height: 44px; margin: -12px 16px -12px 0; color: #FFFFFF; font-size: 14px; line-height: 1.4; font-weight: 600; text-transform: none; text-decoration: underline; text-underline-offset: 3px; }
body.osu-design .osu-topbar a.osu-topbar__biz:hover { color: #FFFFFF; text-decoration-thickness: 2px; }
body.osu-design .osu-header a.osu-header__extra-biz,
body.osu-design .osu-header a.osu-header__extra-biz:visited { display: inline-flex; align-items: center; align-self: flex-start; min-height: 44px; margin: -10px 0; color: var(--osu-deep); font-size: 16px; line-height: 1.45; font-weight: 600; text-transform: none; text-decoration: underline; }

/* Bands: white, then Mist for "Why we cost less" and "Support"; headings H2 (30px, display width), lines H3. */
body.osu-design .osu-biz-hero { padding: 64px 0 56px; background: #FFFFFF; }
body.osu-design .osu-biz-hero .osu-biz-hero__eyebrow { margin: 0 0 12px; }
body.osu-design .osu-biz-hero .osu-biz-hero__title { max-width: 1040px; margin: 0; padding: 0; color: var(--osu-ink); font-size: clamp(34px, 4.7vw, 56px); line-height: 1.04; font-weight: 800; font-stretch: 115%; letter-spacing: -0.015em; text-transform: none; }
body.osu-design .osu-biz-hero .osu-biz-hero__lead { max-width: 760px; margin: 18px 0 0; color: var(--osu-steel); font-size: 20px; line-height: 1.5; font-weight: 400; }
body.osu-design .osu-biz-hero .osu-actions { margin-top: 28px; }
body.osu-design .osu-biz-hero .osu-biz-hero__status { margin-top: 18px; }

body.osu-design .osu-biz-sec,
body.osu-design .osu-biz-who { padding: 72px 0; background: #FFFFFF; }
body.osu-design :is(.osu-biz-cost, .osu-biz-support) { background: var(--osu-mist); }
body.osu-design .osu-biz .osu-biz__title { max-width: 24em; margin: 0 0 28px; padding: 0; color: var(--osu-ink); font-size: 30px; line-height: 1.15; font-weight: 700; font-stretch: 112%; letter-spacing: -0.01em; text-transform: none; }
body.osu-design .osu-biz .osu-biz__item-title { margin: 0; padding: 0; color: var(--osu-ink); font-size: 20px; line-height: 1.3; font-weight: 700; letter-spacing: 0; text-transform: none; }
body.osu-design .osu-biz .osu-biz__item-text { margin: 8px 0 0; padding: 0; color: var(--osu-steel); font-size: 16px; line-height: 1.5; font-weight: 400; }
body.osu-design .osu-biz .osu-biz__code { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--osu-ink); letter-spacing: .02em; }

/* Cards (Ways to buy; Support): white, a Line border, a short Orbital Blue rule on top. */
body.osu-design .osu-biz .osu-biz__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
body.osu-design .osu-biz-support .osu-biz__cards { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.osu-design .osu-biz .osu-biz__cards > .osu-biz__item { display: block; min-width: 0; margin: 0; padding: 24px 24px 26px; background: #FFFFFF; border: 1px solid var(--osu-line); border-radius: 6px; list-style: none; color: var(--osu-steel); font-size: 16px; line-height: 1.5; }
body.osu-design .osu-biz .osu-biz__cards > .osu-biz__item::before { content: ""; display: block; width: 28px; height: 3px; margin: 0 0 18px; border-radius: 2px; background: var(--osu-blue); }

/* Two-column list divided by rules (Buying more than one). */
body.osu-design .osu-biz .osu-biz__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; margin: 0; padding: 0; list-style: none; }
body.osu-design .osu-biz .osu-biz__list > .osu-biz__item { display: block; min-width: 0; margin: 0; padding: 22px 0 26px; border-top: 1px solid var(--osu-line); list-style: none; color: var(--osu-steel); font-size: 16px; line-height: 1.5; }

/* Heading beside its paragraph (Why we cost less). */
body.osu-design .osu-biz .osu-biz-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px 56px; align-items: start; }
body.osu-design .osu-biz .osu-biz-split .osu-biz__title { margin: 0; }
body.osu-design .osu-biz .osu-biz__lead { max-width: 40em; margin: 0; padding: 0; color: var(--osu-ink); font-size: 20px; line-height: 1.6; font-weight: 400; }

/* Government, schools and universities; Resellers, consultants and IT providers: two Mist panels side by side. */
body.osu-design .osu-biz .osu-biz-who__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr)); gap: 24px; }
body.osu-design .osu-biz .osu-biz-panel { display: block; min-width: 0; margin: 0; padding: 36px 36px 40px; background: var(--osu-mist); border-radius: 6px; }
body.osu-design .osu-biz .osu-biz-panel .osu-biz__title { margin-bottom: 16px; font-size: 28px; }
body.osu-design .osu-biz .osu-biz__text { max-width: 36em; margin: 0; padding: 0; color: var(--osu-steel); font-size: 18px; line-height: 1.55; font-weight: 400; }
body.osu-design .osu-biz .osu-biz-panel .osu-actions { margin-top: 24px; }

@media (max-width: 1199px) {
  body.osu-design .osu-biz-support .osu-biz__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
  body.osu-design .osu-biz-sec,
  body.osu-design .osu-biz-who { padding: 56px 0; }
  body.osu-design .osu-biz .osu-biz__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.osu-design .osu-biz .osu-biz-split { grid-template-columns: minmax(0, 1fr); }
  body.osu-design .osu-biz .osu-biz-split .osu-biz__title { margin-bottom: 4px; }
}
@media (max-width: 767px) {
  body.osu-design .osu-biz-hero { padding: 28px 0 36px; }
  body.osu-design .osu-biz-hero .osu-biz-hero__eyebrow { margin-bottom: 8px; }
  body.osu-design .osu-biz-hero .osu-biz-hero__title { font-size: 34px; line-height: 1.05; }
  body.osu-design .osu-biz-hero .osu-biz-hero__lead { margin-top: 14px; font-size: 17px; }
  body.osu-design .osu-biz-hero .osu-actions { flex-direction: column; gap: 10px; margin-top: 22px; }
  body.osu-design .osu-biz-hero a.osu-btn { width: 100%; min-height: 52px; }
  body.osu-design .osu-biz-hero a.osu-btn--secondary { font-size: 17px; }
  body.osu-design .osu-biz-hero .osu-biz-hero__status { margin-top: 16px; font-size: 15px; }
  body.osu-design .osu-biz-sec,
  body.osu-design .osu-biz-who { padding: 40px 0; }
  body.osu-design .osu-biz .osu-biz__title { margin-bottom: 18px; font-size: 22px; line-height: 1.2; }
  body.osu-design .osu-biz .osu-biz__item-title { font-size: 18px; }
  body.osu-design .osu-biz .osu-biz__cards { gap: 12px; }
  body.osu-design .osu-biz .osu-biz__cards > .osu-biz__item { padding: 18px 18px 20px; }
  body.osu-design .osu-biz .osu-biz__cards > .osu-biz__item::before { margin-bottom: 12px; }
  body.osu-design .osu-biz .osu-biz__list { grid-template-columns: minmax(0, 1fr); }
  body.osu-design .osu-biz .osu-biz__list > .osu-biz__item { padding: 16px 0 18px; }
  body.osu-design .osu-biz .osu-biz__lead { font-size: 17px; line-height: 1.55; }
  body.osu-design .osu-biz .osu-biz-who__grid { gap: 12px; }
  body.osu-design .osu-biz .osu-biz-panel { padding: 24px 20px 26px; }
  body.osu-design .osu-biz .osu-biz-panel .osu-biz__title { margin-bottom: 12px; font-size: 22px; }
  body.osu-design .osu-biz .osu-biz__text { font-size: 16px; }
  body.osu-design .osu-biz .osu-biz-panel a.osu-btn { width: 100%; min-height: 52px; font-size: 17px; }
}
@media (max-width: 599px) {
  body.osu-design .osu-biz .osu-biz__cards,
  body.osu-design .osu-biz-support .osu-biz__cards { grid-template-columns: minmax(0, 1fr); }
}
