/*
 * Copyright 2020 Adobe. All rights reserved.
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */


/* fallback fonts */
@font-face {
  font-family: roboto-condensed-fallback;
  size-adjust: 88.82%;
  src: local('Arial');
}

@font-face {
  font-family: roboto-fallback;
  size-adjust: 99.529%;
  src: local('Arial');
}

/*
 * MSIL Corporate — CSS tokens mirror the Figma library “MSIL Corporate CC Pt 2”.
 *   Colors, spacing, radius: https://www.figma.com/design/pO1jMYsSJPpYLa1Op3U9Qj/MSIL-Corporate-CC-Pt-2?node-id=143-2345
 *   Typography (per-breakpoint font-size / line-height / font-weight): https://www.figma.com/design/pO1jMYsSJPpYLa1Op3U9Qj/MSIL-Corporate-CC-Pt-2?node-id=7292-48063
 *   CTAs, tabs, buttons:    https://www.figma.com/design/pO1jMYsSJPpYLa1Op3U9Qj/MSIL-Corporate-CC-Pt-2?node-id=143-2489
 * The Figma “Complete Guide” also lists breakpoints such as desktop min-width 992px; this stylesheet
 * keeps --corp-breakpoint-tablet 768px and --corp-breakpoint-desktop 1200px to match existing Arena layouts.
 * Align breakpoints here only if product standardizes on the Figma guide values.
 *
 * Footer-updates: mobile 7294:83436; tablet 7312:39193; desktop 7294:82922 — section #01044B, cards #131766;
 * Layout: tablet 8-col (header 4, cards 4×2-col); desktop 12-col (header 6, cards fill 6 cols 2×2).
 * Component rules: `blocks/footer-updates/footer-updates.css`.
 */

:root {
  /* Breakpoints */
  --corp-breakpoint-mobile: 360px;
  --corp-breakpoint-tablet: 768px;
  --corp-breakpoint-desktop: 1200px;

  /* Colors extracted from the MSIL corporate Figma library */
  --corp-color-neutral-black: #000;
  --corp-color-neutral-black-2: #1e1e1e;
  --corp-color-neutral-black-3: #191919;
  --corp-color-neutral-dark-gray: #1d1d1d;
  --corp-color-neutral-charcoal: #1e1e1e;
  --corp-color-neutral-sm-black: #474747;
  --corp-color-neutral-md-black: #262626;
  --corp-color-neutral-charcoal-gray: #7d8285;
  --corp-color-neutral-medium-gray: #939393;
  --corp-color-neutral-light-medium-gray:#b6b6b6;
  --corp-color-neutral-light-gray: #ccc;
  --corp-color-neutral-light-gray-2: #c4c4c4;
  --corp-color-neutral-charcoal-gray-2: #7E8285;
  --corp-color-neutral-charcoal-gray-3: #B6B6B6;
  --corp-color-stone: #343330;
  --corp-color-slate: #d9d9d9;
  --corp-color-slate-2: #D6D6D6;
  --corp-color-white: #fff;
  --corp-color-surface: #fff;
  --corp-color-surface-secondary: #f5f5f5;
  --corp-color-surface-tertiary: #f2f2f2;
  --corp-color-surface-100: #f2f2f2;
  --corp-color-surface-200: #f4f4f4;
  --corp-color-surface-300:#f6f6f6;
  --corp-color-primary: #171c8f;
  --corp-color-primary-hover: #01044b;
  --corp-color-primary-card:#131766;
  --corp-color-accent-yellow: #fcbe62;
  --corp-color-accent-blue: #398bd7;
  --corp-color-accent-teal: #00bca4;
  --corp-color-accent-coral: #e15f67;
  --corp-color-semantic-error: #c70f12;
  --corp-color-semantic-caution: #8e670b;
  --corp-color-semantic-success: #257500;
  --corp-color-semantic-info: #1a4993;
  --corp-color-link: var(--corp-color-primary);
  --corp-color-text: var(--corp-color-neutral-black);
  --corp-color-heading: var(--corp-color-neutral-dark-gray);
  --corp-color-focus: var(--corp-color-accent-blue);
  --corp-hero-blue: #2432c7;
  --corp-table-bg: #f3f5f6;
  --corp-legend-bg:#fafafa;
  --corp-table-border: #eaeaea;
  --corp-color-white-1: #F1F3F9;
  --corp-color-white-5: #dedede;
  --corp-color-gray-1: #666666;
  --corp-color-gray-2: #757575;
  --corp-color-white-2: #F3F3F7;
  --corp-color-blue-1: #161c9b;
  --corp-color-blue-2: #171C8F;
  --corp-border-blue: #2432c733;
  --corp-border-white-2: #F4F5F0;
  --corp-border-gray-3: #AFB0AB;
  --corp-color-grey-2: #6b7280;
  --corp-color-grey-3:#232323;
  --corp-color-grey-4: #f7f7f7;
  --corp-color-white-2: #F3F3F7;
  --corp-color-blue-1: #161c9b;
  --corp-color-blue-2: #171C8F;
  --corp-color-blue-3:#0a66c2;
  --corp-border-blue:#2432c733;
  --neutral-medium-gray:#939393;
  --corp-line-height: 1.08;

  --corp-color-overlay-white-18: rgb(255 255 255 / 18%);
  --corp-color-overlay-black-65: rgb(0 0 0 / 65%);
  --corp-color-overlay-black-70: rgb(0 0 0 / 70%);
  --corp-color-overlay-black-60: rgba(0, 0, 0, 0.6);
  --corp-color-overlay-black-50: rgba(0, 0, 0, 0.5);
  --corp-color-overlay-black-80: rgba(0, 0, 0, 0.8);
  --corp-color-overlay-white-70: rgba(255, 255, 255, 0.7);
  --corp-color-overlay-white-10: rgba(0, 0, 0, 0.1);
  --corp-color-overlay-white-60: rgba(255, 255, 255, 0.60);
  --corp-color-overlay-primary-5: rgb(23 28 143 / 5%);
  --corp-color-overlay-primary-8: rgb(23 28 143 / 8%);
  --corp-color-overlay-primary-20: rgb(23 28 143 / 20%);
  --corp-color-overlay-black-5: rgb(0 0 0 / 5%);
  --corp-color-overlay-black-8: rgb(0 0 0 / 8%);
  --corp-color-overlay-black-20: rgb(0 0 0 / 20%);
  --corp-color-overlay-black-40: rgb(0 0 0 / 40%);
  --corp-color-overlay-black-04: rgba(0, 0, 0, 0.05);
  --corp-color-near-white: #fbfbfb;
  --corp-color-border-light: #d1d1d1;
  --corp-color-progress-bg: #e0e0e0;

  --corp-color-overlay-primary-5: rgb(23 28 143 / 5%);
  --corp-color-overlay-primary-8: rgb(23 28 143 / 8%);
  --corp-color-overlay-primary-20: rgb(23 28 143 / 20%);
  --corp-color-overlay-black-5: rgb(0 0 0 / 5%);
  --corp-color-overlay-black-8: rgb(0 0 0 / 8%);
  --corp-color-overlay-black-20: rgb(0 0 0 / 20%);
  --corp-color-overlay-black-40: rgb(0 0 0 / 40%);
  --corp-color-near-white: #fbfbfb;
  --corp-color-border-light: #d1d1d1;
  --corp-color-progress-bg: #e0e0e0;


  /* Compatibility aliases used by existing corporate blocks */
  --primary-black: var(--corp-color-neutral-black);
  --secondary-black: var(--corp-color-neutral-dark-gray);
  --secondary-white: var(--corp-color-white);
  --primary-blue-700: var(--corp-color-primary);
  --primary-blue-900: var(--corp-color-primary-hover);
  --primary-blue-550: var(--corp-color-semantic-info);
  --secondary-gray-10: var(--corp-color-white);
  --secondary-gray-20: var(--corp-color-surface-secondary);
  --secondary-gray-200: #d8d8d8;
  --secondary-gray-300: var(--corp-color-neutral-light-gray-2);
  --secondary-gray-700: #6c6f72;
  --tertiary-white: var(--corp-color-white);
  --tertiary-black: var(--corp-color-neutral-black);

  /* Fonts and weights */
  --corp-font-family: 'roboto', 'roboto-fallback', sans-serif;
  --corp-display-font-family: 'Inter Display', var(--corp-font-family);
  --body-font-arena: var(--corp-font-family);
  --body-font-family: var(--corp-font-family);
  --fw-300: 300;
  --fw-400: 400;
  --fw-500: 500;
  --fw-600: 600;
  --fw-700: 700;

  /* Radius and spacing */
  --corp-radius-xsm: 3px;
  --corp-radius-xsmd:4px;
  --corp-radius-smd:5px;
  --corp-radius-ssm:6px;
  --corp-radius-sm: 8px;
  --corp-radius-md: 12px;
  --corp-radius-xxxl: 15px;
  --corp-radius-lg: 16px;
  --corp-radius-xxl: 10px;
  --corp-radius-xl: 24px;
  --corp-radius-2xl: 32px;
  --corp-space-xs: 4px;
  --corp-space-sm: 8px;
  --corp-space-md: 12px;
  --corp-space-lg: 16px;
  --corp-space-xl: 24px;
  --corp-space-2xl: 32px;
  --corp-space-3xl: 48px;
  --corp-space-4xl: 36px;
  --corp-space-5xl: 56px;
  --corp-space-6xl: 60px;

  /* Extended spacing tokens */
  --corp-space-5: 5px;
  --corp-space-6: 6px;
  --corp-space-7: 7px;
  --corp-space-9: 9px;
  --corp-space-10: 10px;
  --corp-space-13: 13px;
  --corp-space-14: 14px;
  --corp-space-15: 15px;
  --corp-space-17: 17px;
  --corp-space-20: 20px;
  --corp-space-22: 22px;
  --corp-space-26: 26px;
  --corp-space-28: 28px;
  --corp-space-30: 30px;
  --corp-space-31: 31px;
  --corp-space-34: 34px;
  --corp-space-35: 35px;
  --corp-space-37: 37px;
  --corp-space-40: 40px;
  --corp-space-42: 42px;
  --corp-space-48: 48px;
  --corp-space-49: 49px;
  --corp-space-50: 50px;
  --corp-space-61: 61px;
  --corp-space-63: 63px;
  --corp-space-67: 67px;
  --corp-space-70: 70px;
  --corp-space-158: 158px;
  --corp-space-93: 93px;
  --corp-space-95: 95px;
  --corp-space-100: 100px;
  --corp-space-192: 192px;

  /* Extended typography tokens */
  --corp-type-file-card-font-size: 0.8125rem;
  --corp-type-lh-10: 10px;
  --corp-type-lh-21: 21px;

  /* Form state colors */
  --corp-color-error-bg: #fff2f2;
  --corp-color-error-text: #c62828;
  --corp-color-error-border: #ffcdd2;
  --corp-color-success-bg: #f1f8f1;
  --corp-color-success-text: #2e7d32;
  --corp-color-success-border: #c8e6c9;
  --onroad-form-modal-backdrop: rgba(232, 232, 232, 0.70);
  --onroad-form-overlay-gradient-start: rgb(0 0 0 / 15%);
  --onroad-form-otp-box-bg-desktop: #f7f7f7;
  --onroad-form-error-light-bg: #fdecea;
  --onroad-form-verified-color: #0b9d5b;

  /* Button and CTA tokens */
  --corp-button-padding-x-sm: 16px;
  --corp-button-padding-y-sm: 8px;
  --corp-button-padding-x-md: 24px;
  --corp-button-padding-y-md: 12px;
  --corp-button-padding-x-lg: 32px;
  --corp-button-padding-y-lg: 16px;
  --corp-cta-height-sm: 30px;
  --corp-cta-height-md: 40px;
  --corp-cta-height-lg: 50px;
  --corp-cta-icon-size: 20px;
  --corp-cta-border-width: 2px;
  --corp-cta-radius: var(--corp-radius-md);
  --corp-cta-radius-hero: 10px;
  --corp-cta-height-hero: 44px;
  --corp-cta-letter-spacing-primary: -0.42px;
  --corp-cta-letter-spacing-primary-md: -0.16px;
  --corp-toggle-height: 62px;
  --corp-toggle-item-height: 56px;
  --corp-toggle-radius: var(--corp-radius-md);
  --corp-toggle-item-radius: 9px;
  --corp-arrow-btn-size: 60px;

  /*
   * Typography primitives — Figma “Typography” (node 7292:48063). Each style has
   * separate font-size / line-height / font-weight; font-style only where Figma uses italic.
   * Use semantic `--corp-type-*` tokens for responsive defaults; reference breakpoint primitives
   * when a block needs a fixed breakpoint style.
   */
  /* Desktop primitives */
  --corp-type-desktop-display-5xl-font-size: 140px;
  --corp-type-desktop-display-5xl-line-height: 1.09;
  --corp-type-desktop-display-5xl-font-weight: 400;
  --corp-type-desktop-display-5xl-letter-spacing: -1.8px;
  --corp-type-desktop-display-4xl-font-size: 96px;
  --corp-type-desktop-display-4xl-line-height: 100px;
  --corp-type-desktop-display-7xl-line-height: 92px;
  --corp-type-desktop-display-4xl-font-weight: 300;
  --corp-type-desktop-display-3xl-font-size: 96px;
  --corp-type-desktop-display-3xl-line-height: 1;
  --corp-type-desktop-display-3xl-font-weight: 400;
  --corp-type-desktop-display-2xl-font-size: 84px;
  --corp-type-desktop-display-2xl-line-height: 1;
  --corp-type-desktop-display-2xl-font-weight: 300;
  --corp-type-desktop-display-lg-font-size: 72px;
  --corp-type-desktop-display-lg-line-height: 100px;
  --corp-type-desktop-display-lg-font-weight: 300;
  --corp-type-desktop-display-font-size: 60px;
  --corp-type-desktop-display-line-height: 72px;
  --corp-type-desktop-display-font-weight: 300;
  --corp-type-desktop-heading-4xxl-line-height: 60px;
  --corp-type-desktop-heading-4xl-line-height: 64px;
  --corp-type-desktop-heading-xxl-font-size: 50px;
  --corp-type-desktop-heading-3xl-line-height: 24px;
  --corp-type-desktop-heading-xxl-line-height: 1.2;
  --corp-type-desktop-heading-xxl-font-weight: 400;
  --corp-type-desktop-heading-xl-font-size: 48px;
  --corp-type-desktop-heading-xl-line-height: 56px;
  --corp-type-desktop-heading-xl-font-weight: 300;
  --corp-type-desktop-heading-lg-font-size: 36px;
  --corp-type-desktop-heading-lg-line-height: 1.2;
  --corp-type-desktop-heading-lg-font-weight: 400;
  --corp-type-desktop-heading-1-font-size: 32px;
  --corp-type-desktop-heading-1-line-height: 40px;
  --corp-type-desktop-heading-1-font-weight: 400;
  --corp-type-desktop-heading-2-font-size: 24px;
  --corp-type-desktop-heading-2-line-height: 32px;
  --corp-type-desktop-heading-2-font-weight: 400;
  --corp-type-desktop-heading-3-font-size: 22px;
  --corp-type-desktop-heading-1-regular-line-height: 22px;
  --corp-type-desktop-heading-3-line-height: 1.09;
  --corp-type-desktop-heading-3-font-weight: 400;
  --corp-type-desktop-heading-4-font-size: 20px;
  --corp-type-desktop-heading-4-line-height: 1.2;
  --corp-type-desktop-heading-4-font-weight: 500;
  --corp-type-desktop-heading-5-font-size: 18px;
  --corp-type-desktop-heading-5-line-height: 28px;
  --corp-type-desktop-heading-5-font-weight: 400;
  --corp-type-desktop-heading-6-font-size: 18px;
  --corp-type-desktop-heading-6-line-height: 20px;
  --corp-type-desktop-heading-6-font-weight: 500;
  --corp-type-desktop-body-lg-font-size: 16px;
  --corp-type-desktop-body-lg-line-height: 1.4;
  --corp-type-desktop-body-lg-font-weight: 300;
  --corp-type-desktop-body-font-size: 16px;
  --corp-type-desktop-body-line-height: 1.3;
  --corp-type-desktop-body-font-weight: 400;
  --corp-type-desktop-body-2-font-size: 16px;
  --corp-type-desktop-body-2-line-height: 20px;
  --corp-type-desktop-body-2-font-weight: 500;
  --corp-type-desktop-body-3-font-size: 14px;
  --corp-type-desktop-body-3-line-height: 1.3;
  --corp-type-desktop-body-3-font-weight: 400;
  --corp-type-desktop-body-4-font-size: 14px;
  --corp-type-desktop-body-4-line-height: 1.5;
  --corp-type-desktop-body-4-font-weight: 400;
  --corp-type-desktop-body-5-font-size: 14px;
  --corp-type-desktop-body-5-line-height: 1.3;
  --corp-type-desktop-body-5-font-weight: 500;
  --corp-type-desktop-body-xs-font-size: 12px;
  --corp-type-desktop-body-xs-line-height: 18px;
  --corp-type-desktop-body-2xs-line-height: 16px;
  --corp-type-desktop-body-xs-font-weight: 400;
  --corp-type-desktop-body-tiny-font-size: 10px;
  --corp-type-desktop-body-tiny-line-height: 1.3;
  --corp-type-desktop-body-tiny-font-weight: 300;
  --corp-type-desktop-caption-1-font-size: 14px;
  --corp-type-desktop-caption-1-line-height: 1.1;
  --corp-type-desktop-caption-1-font-weight: 500;
  --corp-type-desktop-caption-2-font-size: 12px;
  --corp-type-desktop-caption-2-line-height: 14px;
  --corp-type-desktop-caption-2-font-weight: 400;
  --corp-type-desktop-caption-3-font-size: 12px;
  --corp-type-desktop-caption-3-line-height: 16px;
  --corp-type-desktop-caption-3-font-weight: 500;
  --corp-type-desktop-disclaimer-font-size: 10px;
  --corp-type-desktop-disclaimer-line-height: 14px;
  --corp-type-desktop-disclaimer-font-weight: 300;
  --corp-type-desktop-disclaimer-font-style: italic;
  --corp-type-desktop-caption-4-line-height: 43.2px;
  --corp-type-desktop-caption-5-line-height: 24px;
  --corp-type-desktop-caption-6-line-height: 60px;
  --corp-type-desktop-caption-9-line-height: 64px;
  --corp-type-desktop-caption-7-line-height: 19.6px;
  --corp-type-desktop-caption-8-line-height: 15.4px;

  /* Mobile primitives */
  --corp-type-mobile-display-xl-font-size: 42px;
  --corp-type-mobile-display-xl-line-height: 56px;
  --corp-type-mobile-display-xl-font-weight: 400;
  --corp-type-mobile-display-lg-font-size: 36px;
  --corp-type-mobile-display-lg-line-height: 42px;
  --corp-type-mobile-display-lgmd-line-height: 40px;
  --corp-type-mobile-display-lg-font-weight: 300;
  --corp-type-mobile-display-1-font-size: 28px;
  --corp-type-mobile-display-1-line-height: 1.3;
  --corp-type-mobile-display-1-font-weight: 300;
  --corp-type-mobile-display-2-font-size: 28px;
  --corp-type-mobile-display-2-line-height: 38px;
  --corp-type-mobile-display-2-font-weight: 400;
  --corp-type-mobile-display-3-font-size: 28px;
  --corp-type-mobile-display-5-line-height: 34px;
  --corp-type-mobile-display-3-line-height: 38px;
  --corp-type-mobile-display-3-font-weight: 500;
  --corp-type-mobile-display-4-font-size: 24px;
  --corp-type-mobile-display-4-line-height: 1.3;
  --corp-type-mobile-display-4-font-weight: 400;
  --corp-type-mobile-heading-x-line-height: 26px;
  --corp-type-mobile-heading-x-font-size: 22px;
  --corp-type-mobile-heading-xxl-font-size: 24px;
  --corp-type-mobile-heading-xxl-line-height: 32px;
  --corp-type-mobile-heading-xxl-font-weight: 400;
  --corp-type-mobile-heading-xl-font-size: 20px;
  --corp-type-mobile-heading-xl-line-height: 1.2;
  --corp-type-mobile-heading-xl-font-weight: 400;
  --corp-type-mobile-heading-base-font-size: 18px;
  --corp-type-mobile-heading-base-line-height: 18px;
  --corp-type-mobile-heading-base-font-weight: 400;
  --corp-type-mobile-heading-1-regular-font-size: 16px;
  --corp-type-mobile-heading-1-regular-line-height: 22px;
  --corp-type-mobile-heading-1-regular-font-weight: 400;
  --corp-type-mobile-heading-2-medium-font-size: 16px;
  --corp-type-mobile-heading-2-medium-line-height: 20px;
  --corp-type-mobile-heading-2-medium-font-weight: 500;
  --corp-type-mobile-heading-3-bold-font-size: 16px;
  --corp-type-mobile-heading-3-bold-line-height: 1;
  --corp-type-mobile-heading-3-bold-font-weight: 700;
  --corp-type-mobile-body-1-font-size: 14px;
  --corp-type-mobile-body-1-line-height: 20px;
  --corp-type-mobile-body-1-font-weight: 300;
  --corp-type-mobile-body-2-font-size: 14px;
  --corp-type-mobile-body-2-line-height: 18px;
  --corp-type-mobile-body-2-font-weight: 400;
  --corp-type-mobile-body-3-font-size: 14px;
  --corp-type-mobile-body-3-line-height: 18px;
  --corp-type-mobile-body-3-font-weight: 500;
  --corp-type-mobile-body-sm-font-size: 12px;
  --corp-type-mobile-body-sm-line-height: 16px;
  --corp-type-mobile-body-sm-font-weight: 500;
  --corp-type-mobile-body-sm-2-font-size: 12px;
  --corp-type-mobile-body-sm-2-line-height: 16px;
  --corp-type-mobile-body-sm-2-font-weight: 400;
  --corp-type-mobile-body-xs-font-size: 10px;
  --corp-type-mobile-body-xs-line-height: 11px;
  --corp-type-mobile-body-xss-line-height: 12px;
  --corp-type-mobile-body-xs-font-weight: 400;
  --corp-type-mobile-body-xs-2-font-size: 10px;
  --corp-type-mobile-body-xs-2-line-height: 11px;
  --corp-type-mobile-body-xs-2-font-weight: 500;
  --corp-type-mobile-tag-1-font-size: 14px;
  --corp-type-mobile-tag-1-line-height: 20px;
  --corp-type-mobile-tag-1-font-weight: 500;
  --corp-type-mobile-tag-2-font-size: 14px;
  --corp-type-mobile-tag-2-line-height: 1.3;
  --corp-type-mobile-tag-4-line-height: 15px;
  --corp-type-mobile-tag-2-font-weight: 400;
  --corp-type-mobile-tag-3-font-size: 10px;
  --corp-type-mobile-tag-3-line-height: 1;
  --corp-type-mobile-tag-3-font-weight: 400;
  --corp-type-mobile-tag-disclaimer-font-size: 8px;
  --corp-type-mobile-tag-disclaimer-line-height: 10px;
  --corp-type-mobile-tag5-disclaimer-line-height:24px;
  --corp-type-mobile-tag11-disclaimer-line-height:38px;
  --corp-type-mobile-tag12-disclaimer-line-height:43.2px;
  --corp-type-mobile-tag-disclaimer-font-weight: 300;
  --corp-type-mobile-tag-disclaimer-font-style: italic;
  --corp-type-mobile-tag-4-font-size: 29px;
  --corp-content-blue: #2432c7;
  --corp-content-pastel: #f6f7fa;

  /*
   * Header nav block (`blocks/header-nav`) — colours and type not covered
   * by semantic tokens above; keep in sync with header-nav.css usage.
   */
  --corp-color-header-nav-subtab: #3e406e;
  --corp-color-header-nav-tagline: #696969;
  --corp-color-header-nav-car-name: #434343;
  --corp-color-header-nav-divider: #ededed;
  --corp-color-header-nav-card-overlay: #0f0f0f;
  --corp-type-nav-bar-link-font-size: 14px;
  --corp-type-nav-bar-link-line-height: 16px;
  --corp-type-nav-bar-link-font-weight: var(--fw-400);
  --corp-type-nav-card-cta-line-height: 22px;
  --corp-type-nav-car-name-line-height: 27px;

  /* Tablet primitives */
  --corp-type-tablet-display-xxl-font-size: 72px;
  --corp-type-tablet-display-xxl-line-height: 1.09;
  --corp-type-tablet-display-xxl-letter-spacing: 0.14px;
  --corp-type-tablet-display-xxl-font-weight: 400;
  --corp-type-tablet-heading-1-regular-letter-spacing: -0.96px;
  --corp-type-tablet-display-3xl-letter-spacing: -0.54px;
  --corp-type-tablet-heading-1-regular-line-height: 22px;
  --corp-type-tablet-display-xl-letter-spacing: -0.09px;
  --corp-type-tablet-display-xl-font-size: 48px;
  --corp-type-tablet-display-2xl-letter-spacing: -0.36px;
  --corp-type-tablet-display-xl-line-height: 52px;
  --corp-type-tablet-display-xl-font-weight: 300;
  --corp-type-tablet-display-l-font-size: 32px;
  --corp-type-tablet-display-l-line-height: 40px;
  --corp-type-tablet-display-l-font-weight: 300;
  --corp-type-tablet-display-6xl-line-height: 16px;
  --corp-type-tablet-display-3xl-line-height: 34px;
  --corp-type-tablet-display-4xl-line-height: 24px;
  --corp-type-tablet-display-font-size: 28px;
  --corp-type-tablet-display-line-height: 32px;
  --corp-type-tablet-display-font-weight: 400;
  --corp-type-tablet-display-sm-font-size: 24px;
  --corp-type-tablet-display-sm-line-height: 32px;
  --corp-type-tablet-display-sm-font-weight: 300;
  --corp-type-tablet-heading-xl-font-size: 20px;
  --corp-type-tablet-heading-xl-line-height: 1.2;
  --corp-type-tablet-heading-xxl-line-height: 27px;
  --corp-type-tablet-heading-xl-font-weight: 400;
  --corp-type-tablet-heading-lg-font-size: 16px;
  --corp-type-tablet-heading-lg-line-height: 1.2;
  --corp-type-tablet-heading-lg-font-weight: 400;
  --corp-type-tablet-heading-1-font-size: 14px;
  --corp-type-tablet-heading-1-line-height: 1.1;
  --corp-type-tablet-heading-1-font-weight: 400;
  --corp-type-tablet-heading-2-font-size: 14px;
  --corp-type-tablet-heading-2-line-height: 1.2;
  --corp-type-tablet-heading-2-font-weight: 500;
  --corp-type-tablet-body-xl-font-size: 16px;
  --corp-type-tablet-body-xxl-font-size: 18px;
  --corp-type-tablet-body-xl-line-height: 1.1;
  --corp-type-tablet-body-xl-font-weight: 300;
  --corp-type-tablet-body-lg-font-size: 14px;
  --corp-type-tablet-body-5xl-line-height: 14px;
  --corp-type-tablet-body-lg-line-height: 1.2;
  --corp-type-tablet-body-lg-font-weight: 400;
  --corp-type-tablet-body-1-font-size: 12px;
  --corp-type-tablet-body-1-line-height: 1.1;
  --corp-type-tablet-body-1-font-weight: 300;
  --corp-type-tablet-body-2-font-size: 12px;
  --corp-type-tablet-body-2-line-height: 1.2;
  --corp-type-tablet-body-2-font-weight: 400;
  --corp-type-tablet-body-3-font-size: 12px;
  --corp-type-tablet-body-3-line-height: 1.3;
  --corp-type-tablet-body-3-font-weight: 500;
  --corp-type-tablet-body-sm-font-size: 10px;
  --corp-type-tablet-body-sm-line-height: 15px;
  --corp-type-tablet-body-sm-font-weight: 300;
  --corp-type-tablet-body-sm-2-font-size: 10px;
  --corp-type-tablet-body-sm-2-line-height: 1.3;
  --corp-type-tablet-body-sm-2-font-weight: 400;
  --corp-type-tablet-body-sm-3-font-size: 10px;
  --corp-type-tablet-body-sm-3-line-height: 13px;
  --corp-type-tablet-body-sm-3-font-weight: 500;
  --corp-type-tablet-caption-font-size: 8px;
  --corp-type-tablet-caption-line-height: 1.2;
  --corp-type-tablet-caption-font-weight: 400;
  --corp-type-tablet-disclaimer-font-size: 6px;
  --corp-type-tablet-disclaimer-line-height: 8px;
  --corp-type-tablet-disclaimer-font-weight: 300;
  --corp-type-tablet-disclaimer-font-style: italic;
  --corp-type-tablet-body-4-line-height: 20px;
  --corp-type-tablet-body-5-line-height: 10px;
  --corp-type-tablet-body-4-font-size: 18px;
  --corp-type-tablet-body-5-font-size: 9px;
  --corp-type-tablet-body-6-line-height: 1;
  --corp-type-tablet-body-7-line-height: 14.4px;
  --corp-type-tablet-body-8-line-height: 16.8px;
  --corp-type-tablet-body-9-line-height: 34px;
  --corp-type-tablet-body-10-line-height: 15.6px;
  --corp-type-tablet-body-11-line-height: 22.4px;
  --corp-type-tablet-body-18-line-height: 18.2px;
   --corp-type-tablet-body-14-line-height: 38px;

  /* Semantic typography (switches at tablet / desktop breakpoints) */
  --corp-type-display-hero-font-family: var(--corp-font-family);
  --corp-type-display-hero-font-size: var(--corp-type-mobile-display-xl-font-size);
  --corp-type-display-hero-line-height: var(--corp-type-mobile-display-xl-line-height);
  --corp-type-display-hero-font-weight: var(--corp-type-mobile-display-xl-font-weight);
  --corp-type-display-xl-font-size: var(--corp-type-mobile-display-lg-font-size);
  --corp-type-display-xl-line-height: var(--corp-type-mobile-display-lg-line-height);
  --corp-type-display-xl-font-weight: var(--corp-type-mobile-display-lg-font-weight);
  --corp-type-display-lg-font-size: var(--corp-type-mobile-display-1-font-size);
  --corp-type-display-lg-line-height: var(--corp-type-mobile-display-1-line-height);
  --corp-type-display-lg-font-weight: var(--corp-type-mobile-display-1-font-weight);
  --corp-type-heading-xl-font-size: var(--corp-type-mobile-heading-xxl-font-size);
  --corp-type-heading-xl-line-height: var(--corp-type-mobile-heading-xxl-line-height);
  --corp-type-heading-xl-font-weight: var(--corp-type-mobile-heading-xxl-font-weight);
  --corp-type-heading-lg-font-size: var(--corp-type-mobile-heading-xl-font-size);
  --corp-type-heading-lg-line-height: var(--corp-type-mobile-heading-xl-line-height);
  --corp-type-heading-lg-font-weight: var(--corp-type-mobile-heading-xl-font-weight);
  --corp-type-heading-md-font-size: var(--corp-type-mobile-heading-base-font-size);
  --corp-type-heading-md-line-height: var(--corp-type-mobile-heading-base-line-height);
  --corp-type-heading-md-font-weight: var(--corp-type-mobile-heading-base-font-weight);
  --corp-type-heading-sm-font-size: var(--corp-type-mobile-heading-2-medium-font-size);
  --corp-type-heading-sm-line-height: var(--corp-type-mobile-heading-2-medium-line-height);
  --corp-type-heading-sm-font-weight: var(--corp-type-mobile-heading-2-medium-font-weight);
  --corp-type-body-lg-font-size: var(--corp-type-mobile-body-1-font-size);
  --corp-type-body-lg-line-height: var(--corp-type-mobile-body-1-line-height);
  --corp-type-body-lg-font-weight: var(--corp-type-mobile-body-1-font-weight);
  --corp-type-body-font-size: var(--corp-type-mobile-body-2-font-size);
  --corp-type-body-line-height: var(--corp-type-mobile-body-2-line-height);
  --corp-type-body-font-weight: var(--corp-type-mobile-body-2-font-weight);
  --corp-type-body-sm-font-size: var(--corp-type-mobile-body-sm-2-font-size);
  --corp-type-body-sm-line-height: var(--corp-type-mobile-body-sm-2-line-height);
  --corp-type-body-sm-font-weight: var(--corp-type-mobile-body-sm-2-font-weight);
  --corp-type-caption-font-size: var(--corp-type-mobile-body-xs-font-size);
  --corp-type-caption-line-height: var(--corp-type-mobile-body-xs-line-height);
  --corp-type-caption-font-weight: var(--corp-type-mobile-body-xs-font-weight);
  --corp-type-disclaimer-font-size: var(--corp-type-mobile-tag-disclaimer-font-size);
  --corp-type-disclaimer-line-height: var(--corp-type-mobile-tag-disclaimer-line-height);
  --corp-type-disclaimer-font-weight: var(--corp-type-mobile-tag-disclaimer-font-weight);
  --corp-type-disclaimer-font-style: var(--corp-type-mobile-tag-disclaimer-font-style);
  --corp-type-cta-font-size: 14px;
  --corp-type-cta-line-height: 18px;
  --corp-type-cta-font-weight: 400;
  --corp-type-cta-2-font-weight: 500;
  --corp-type-cta-2-line-height: 19.6px;
  --corp-type-cta-3-line-height: 20px;
  --corp-letter-spacing: 0;
  --corp-type-hero-line-height-9: 9px;
  --corp-type-hero-line-height-17: 17px;
  --corp-type-hero-line-height-24: 24px;
  --corp-type-hero-line-height-30: 30px;
  --corp-type-hero-line-height-54: 54px;
  --corp-type-line-height-none: 0;

  /* Grid System */
  --grid-columns: 4;
  --grid-gutter-width: 16px;
  --container-margin: 20px;
  --grid-formula: calc(((100vw - (var(--container-margin) * 2)) - (var(--grid-gutter-width) * (var(--grid-columns) - 1))) / var(--grid-columns));
}

@media screen and (width >=768px) {
  :root {
    --grid-columns: 8;
    --grid-gutter-width: 24px;
    --container-margin: 32px;
    --corp-type-display-hero-font-family: var(--corp-display-font-family);
    --corp-type-display-hero-font-size: var(--corp-type-tablet-display-xxl-font-size);
    --corp-type-display-hero-line-height: var(--corp-type-tablet-display-xxl-line-height);
    --corp-type-display-hero-font-weight: var(--corp-type-tablet-display-xxl-font-weight);
    --corp-type-display-xl-font-size: var(--corp-type-tablet-display-xl-font-size);
    --corp-type-display-xl-line-height: var(--corp-type-tablet-display-xl-line-height);
    --corp-type-display-xl-font-weight: var(--corp-type-tablet-display-xl-font-weight);
    --corp-type-display-lg-font-size: var(--corp-type-tablet-display-l-font-size);
    --corp-type-display-lg-line-height: var(--corp-type-tablet-display-l-line-height);
    --corp-type-display-lg-font-weight: var(--corp-type-tablet-display-l-font-weight);
    --corp-type-heading-xl-font-size: var(--corp-type-tablet-display-font-size);
    --corp-type-heading-xl-line-height: var(--corp-type-tablet-display-line-height);
    --corp-type-heading-xl-font-weight: var(--corp-type-tablet-display-font-weight);
    --corp-type-heading-lg-font-size: var(--corp-type-tablet-heading-xl-font-size);
    --corp-type-heading-lg-line-height: var(--corp-type-tablet-heading-xl-line-height);
    --corp-type-heading-lg-font-weight: var(--corp-type-tablet-heading-xl-font-weight);
    --corp-type-heading-md-font-size: var(--corp-type-tablet-heading-lg-font-size);
    --corp-type-heading-md-line-height: var(--corp-type-tablet-heading-lg-line-height);
    --corp-type-heading-md-font-weight: var(--corp-type-tablet-heading-lg-font-weight);
    --corp-type-heading-sm-font-size: var(--corp-type-tablet-heading-2-font-size);
    --corp-type-heading-sm-line-height: var(--corp-type-tablet-heading-2-line-height);
    --corp-type-heading-sm-font-weight: var(--corp-type-tablet-heading-2-font-weight);
    --corp-type-body-lg-font-size: var(--corp-type-tablet-body-xl-font-size);
    --corp-type-body-lg-line-height: var(--corp-type-tablet-body-xl-line-height);
    --corp-type-body-lg-font-weight: var(--corp-type-tablet-body-xl-font-weight);
    --corp-type-body-font-size: var(--corp-type-tablet-body-lg-font-size);
    --corp-type-body-line-height: var(--corp-type-tablet-body-lg-line-height);
    --corp-type-body-font-weight: var(--corp-type-tablet-body-lg-font-weight);
    --corp-type-body-sm-font-size: var(--corp-type-tablet-body-2-font-size);
    --corp-type-body-sm-line-height: var(--corp-type-tablet-body-2-line-height);
    --corp-type-body-sm-font-weight: var(--corp-type-tablet-body-2-font-weight);
    --corp-type-caption-font-size: var(--corp-type-tablet-caption-font-size);
    --corp-type-caption-line-height: var(--corp-type-tablet-caption-line-height);
    --corp-type-caption-font-weight: var(--corp-type-tablet-caption-font-weight);
    --corp-type-disclaimer-font-size: var(--corp-type-tablet-disclaimer-font-size);
    --corp-type-disclaimer-line-height: var(--corp-type-tablet-disclaimer-line-height);
    --corp-type-disclaimer-font-weight: var(--corp-type-tablet-disclaimer-font-weight);
    --corp-type-disclaimer-font-style: var(--corp-type-tablet-disclaimer-font-style);
  }
}

@media screen and (width >=1200px) {
  :root {
    --grid-columns: 12;
    --grid-gutter-width: 24px;
    --container-margin: 56px;
    --corp-type-display-hero-font-family: var(--corp-display-font-family);
    --corp-type-display-hero-font-size: var(--corp-type-desktop-display-5xl-font-size);
    --corp-type-display-hero-line-height: var(--corp-type-desktop-display-5xl-line-height);
    --corp-type-display-hero-font-weight: var(--corp-type-desktop-display-5xl-font-weight);
    --corp-type-display-xl-font-size: var(--corp-type-desktop-display-font-size);
    --corp-type-display-xl-line-height: var(--corp-type-desktop-display-line-height);
    --corp-type-display-xl-font-weight: var(--corp-type-desktop-display-font-weight);
    --corp-type-display-lg-font-size: var(--corp-type-desktop-heading-xxl-font-size);
    --corp-type-display-lg-line-height: var(--corp-type-desktop-heading-xxl-line-height);
    --corp-type-display-lg-font-weight: var(--corp-type-desktop-heading-xxl-font-weight);
    --corp-type-heading-xl-font-size: var(--corp-type-desktop-heading-xl-font-size);
    --corp-type-heading-xl-line-height: var(--corp-type-desktop-heading-xl-line-height);
    --corp-type-heading-xl-font-weight: var(--corp-type-desktop-heading-xl-font-weight);
    --corp-type-heading-lg-font-size: var(--corp-type-desktop-heading-lg-font-size);
    --corp-type-heading-lg-line-height: var(--corp-type-desktop-heading-lg-line-height);
    --corp-type-heading-lg-font-weight: var(--corp-type-desktop-heading-lg-font-weight);
    --corp-type-heading-md-font-size: var(--corp-type-desktop-heading-2-font-size);
    --corp-type-heading-md-line-height: var(--corp-type-desktop-heading-2-line-height);
    --corp-type-heading-md-font-weight: var(--corp-type-desktop-heading-2-font-weight);
    --corp-type-heading-sm-font-size: var(--corp-type-desktop-heading-4-font-size);
    --corp-type-heading-sm-line-height: var(--corp-type-desktop-heading-4-line-height);
    --corp-type-heading-sm-font-weight: var(--corp-type-desktop-heading-4-font-weight);
    --corp-type-body-lg-font-size: var(--corp-type-desktop-body-lg-font-size);
    --corp-type-body-lg-line-height: var(--corp-type-desktop-body-lg-line-height);
    --corp-type-body-lg-font-weight: var(--corp-type-desktop-body-lg-font-weight);
    --corp-type-body-font-size: var(--corp-type-desktop-body-font-size);
    --corp-type-body-line-height: var(--corp-type-desktop-body-line-height);
    --corp-type-body-font-weight: var(--corp-type-desktop-body-font-weight);
    --corp-type-body-sm-font-size: var(--corp-type-desktop-body-xs-font-size);
    --corp-type-body-sm-line-height: var(--corp-type-desktop-body-xs-line-height);
    --corp-type-body-sm-font-weight: var(--corp-type-desktop-body-xs-font-weight);
    --corp-type-caption-font-size: var(--corp-type-desktop-caption-2-font-size);
    --corp-type-caption-line-height: var(--corp-type-desktop-caption-2-line-height);
    --corp-type-caption-font-weight: var(--corp-type-desktop-caption-2-font-weight);
    --corp-type-disclaimer-font-size: var(--corp-type-desktop-disclaimer-font-size);
    --corp-type-disclaimer-line-height: var(--corp-type-desktop-disclaimer-line-height);
    --corp-type-disclaimer-font-weight: var(--corp-type-desktop-disclaimer-font-weight);
    --corp-type-disclaimer-font-style: var(--corp-type-desktop-disclaimer-font-style);
  }
}

/* Reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: var(--corp-breakpoint-mobile);
  text-size-adjust: 100%;
  scrollbar-gutter: stable;
  -webkit-tap-highlight-color: transparent;
  scroll-behavior: smooth;
}

body {
  min-width: var(--corp-breakpoint-mobile);
  margin: 0;
  background: var(--corp-color-surface);
  color: var(--corp-color-text);
  font-family: var(--corp-font-family);
  font-size: var(--corp-type-body-font-size);
  line-height: var(--corp-type-body-line-height);
  font-weight: var(--corp-type-body-font-weight);
  display: none;
}

body.appear {
  display: block;
  width: 100vw;
  overflow-x: hidden;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

img,
picture,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button {
  cursor: pointer;
}

button:disabled,
[aria-disabled='true'] {
  cursor: not-allowed;
}

a {
  color: inherit;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.hidden, [hidden] {
  display: none !important;
}

:focus-visible {
  outline: 2px solid var(--corp-color-focus);
  outline-offset: 3px;
}

/* Typography utilities */
[class^='corp-type-'],
[class*=' corp-type-'] {
  letter-spacing: var(--corp-letter-spacing);
}

.corp-type-display-hero {
  font-family: var(--corp-type-display-hero-font-family);
  font-size: var(--corp-type-display-hero-font-size);
  line-height: var(--corp-type-display-hero-line-height);
  font-weight: var(--corp-type-display-hero-font-weight);
}

.corp-type-display-xl {
  font-size: var(--corp-type-display-xl-font-size);
  line-height: var(--corp-type-display-xl-line-height);
  font-weight: var(--corp-type-display-xl-font-weight);
}

.corp-type-display-lg {
  font-size: var(--corp-type-display-lg-font-size);
  line-height: var(--corp-type-display-lg-line-height);
  font-weight: var(--corp-type-display-lg-font-weight);
}

.corp-type-heading-xl {
  color: var(--corp-color-heading);
  font-size: var(--corp-type-heading-xl-font-size);
  line-height: var(--corp-type-heading-xl-line-height);
  font-weight: var(--corp-type-heading-xl-font-weight);
}

.corp-type-heading-lg {
  color: var(--corp-color-heading);
  font-size: var(--corp-type-heading-lg-font-size);
  line-height: var(--corp-type-heading-lg-line-height);
  font-weight: var(--corp-type-heading-lg-font-weight);
}

.corp-type-heading,
.corp-type-heading-md {
  color: var(--corp-color-heading);
  font-size: var(--corp-type-heading-md-font-size);
  line-height: var(--corp-type-heading-md-line-height);
  font-weight: var(--corp-type-heading-md-font-weight);
}

.corp-type-heading-sm {
  color: var(--corp-color-heading);
  font-size: var(--corp-type-heading-sm-font-size);
  line-height: var(--corp-type-heading-sm-line-height);
  font-weight: var(--corp-type-heading-sm-font-weight);
}

.corp-type-body-lg {
  font-size: var(--corp-type-body-lg-font-size);
  line-height: var(--corp-type-body-lg-line-height);
  font-weight: var(--corp-type-body-lg-font-weight);
}

.corp-type-body {
  font-size: var(--corp-type-body-font-size);
  line-height: var(--corp-type-body-line-height);
  font-weight: var(--corp-type-body-font-weight);
}

.corp-type-body-sm {
  font-size: var(--corp-type-body-sm-font-size);
  line-height: var(--corp-type-body-sm-line-height);
  font-weight: var(--corp-type-body-sm-font-weight);
}

.corp-type-caption {
  font-size: var(--corp-type-caption-font-size);
  line-height: var(--corp-type-caption-line-height);
  font-weight: var(--corp-type-caption-font-weight);
}

.corp-type-disclaimer {
  font-size: var(--corp-type-disclaimer-font-size);
  line-height: var(--corp-type-disclaimer-line-height);
  font-weight: var(--corp-type-disclaimer-font-weight);
  font-style: var(--corp-type-disclaimer-font-style);
}

.corp-type-cta {
  font-size: var(--corp-type-cta-font-size);
  line-height: var(--corp-type-cta-line-height);
  font-weight: var(--corp-type-cta-font-weight);
}

/* CTA and link utilities */
.corp-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--corp-cta-height-md);
  gap: var(--corp-space-md);
  padding: 0 var(--corp-button-padding-x-md);
  border: var(--corp-cta-border-width) solid transparent;
  border-radius: var(--corp-cta-radius);
  font-size: var(--corp-type-cta-font-size);
  font-weight: var(--corp-type-cta-font-weight);
  letter-spacing: var(--corp-letter-spacing);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  background: transparent;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease,
    box-shadow 160ms ease;
}

.corp-cta--sm {
  min-height: var(--corp-cta-height-sm);
  padding-inline: var(--corp-button-padding-x-sm);
  font-size: 14px;
  line-height: 18px;
}

.corp-cta--md {
  min-height: var(--corp-cta-height-md);
  padding-inline: var(--corp-button-padding-x-md);
  font-size: 16px;
  line-height: 1.3;
}

.corp-cta--lg {
  min-height: var(--corp-cta-height-lg);
  padding-inline: var(--corp-button-padding-x-lg);
  font-size: 16px;
  line-height: 1.3;
}

.corp-cta--primary {
  background: var(--corp-color-primary);
  color: var(--corp-color-white);
  font-weight: var(--fw-400);
  letter-spacing: var(--corp-cta-letter-spacing-primary);
}

.corp-cta--primary.corp-cta--md,
.corp-cta--primary.corp-cta--lg {
  letter-spacing: var(--corp-cta-letter-spacing-primary-md);
}

.corp-cta--primary:hover {
  background: var(--corp-color-primary-hover);
}

.corp-cta--secondary {
  background: var(--corp-color-surface-secondary);
  border-color: var(--corp-color-primary);
  color: var(--corp-color-primary);
  font-weight: var(--fw-500);
}

.corp-cta--tertiary {
  background: var(--corp-color-white);
  border-color: var(--corp-color-primary);
  color: var(--corp-color-primary);
  font-weight: var(--fw-500);
}

.corp-cta--secondary:hover,
.corp-cta--tertiary:hover {
  background: var(--corp-color-primary-hover);
  border-color: var(--corp-color-primary-hover);
  color: var(--corp-color-white);
}

.corp-cta--secondary.corp-cta--lg,
.corp-cta--tertiary.corp-cta--lg {
  font-size: 18px;
  line-height: 1.17;
}

.corp-cta--link {
  min-height: auto;
  padding: 0;
  border-color: transparent;
  color: var(--corp-color-link);
  font-weight: var(--fw-400);
  background: transparent;
  letter-spacing: var(--corp-cta-letter-spacing-primary);
}

.corp-cta--link:hover {
  color: var(--corp-color-primary-hover);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.corp-cta--nav {
  min-width: 96px;
  min-height: var(--corp-cta-height-md);
  padding-inline: 40px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 18px;
}

.corp-cta--icon-only {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
}

.corp-cta[disabled],
.corp-cta.is-disabled,
.corp-cta[aria-disabled='true'] {
  opacity: 0.4;
  pointer-events: none;
}

.corp-link,
a.corp-link {
  color: var(--corp-color-link);
  font-size: var(--corp-type-body-font-size);
  line-height: var(--corp-type-body-line-height);
  font-weight: var(--corp-type-body-font-weight);
  letter-spacing: var(--corp-letter-spacing);
  text-decoration: none;
  text-underline-offset: 0.18em;
}

.corp-link:hover {
  color: var(--corp-color-primary-hover);
  text-decoration: underline;
}

/* Ghost CTA — transparent background for hero/image overlay sections */
.corp-cta--ghost {
  min-height: var(--corp-cta-height-hero);
  padding: 12px 20px;
  border-radius: var(--corp-cta-radius-hero);
  background: transparent;
  border-color: transparent;
  color: #f5f5f5;
  font-size: 14px;
  line-height: 18.2px;
  letter-spacing: var(--corp-cta-letter-spacing-primary);
  font-weight: var(--fw-400);
}

.corp-cta--ghost:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: transparent;
  color: var(--corp-color-white);
}

/* Hero CTA — wider padding for large hero banner sections, 10px radius per Figma */
.corp-cta--hero {
  min-height: var(--corp-cta-height-hero);
  padding: 12px 40px;
  border-radius: var(--corp-cta-radius-hero);
  border-width: 1px;
  border-color: var(--corp-color-primary);
  font-size: 14px;
  line-height: 18.2px;
  letter-spacing: var(--corp-cta-letter-spacing-primary);
}

/* Arrow modifier — CTA with a leading or trailing directional icon */
.corp-cta--arrow {
  min-height: var(--corp-cta-height-hero);
  padding-inline: var(--corp-button-padding-x-sm);
  gap: var(--corp-space-md);
}

/* Toggle button group */
.corp-toggle {
  display: inline-flex;
  align-items: center;
  height: var(--corp-toggle-height);
  padding: 3px;
  gap: 4px;
  border-radius: var(--corp-toggle-radius);
  background: rgba(233, 233, 233, 0.5);
}

.corp-toggle__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 18px;
  height: var(--corp-toggle-item-height);
  border-radius: var(--corp-toggle-item-radius);
  border: none;
  background: #f4f4f4;
  font: 400 16px / 1 var(--corp-font-family);
  color: var(--corp-color-neutral-black);
  cursor: pointer;
  transition:
    background-color 160ms ease,
    color 160ms ease;
  white-space: nowrap;
}

.corp-toggle__item.is-active,
.corp-toggle__item[aria-selected='true'] {
  background: var(--corp-color-primary);
  color: var(--corp-color-white);
}

.corp-toggle__item:hover:not(.is-active, [aria-selected='true']) {
  background: rgba(0, 0, 0, 0.06);
}

/* Dark overlay toggle variant — used on image/dark-bg sections */
.corp-toggle--dark {
  background: rgba(0, 0, 0, 0.25);
}

.corp-toggle--dark .corp-toggle__item {
  background: transparent;
  border-radius: 10px;
  color: var(--corp-color-white);
  font-size: 14px;
  letter-spacing: 0.14px;
}

.corp-toggle--dark .corp-toggle__item.is-active,
.corp-toggle--dark .corp-toggle__item[aria-selected='true'] {
  background: var(--corp-color-white);
  color: var(--corp-color-primary);
}

.corp-toggle--dark .corp-toggle__item:hover:not(.is-active, [aria-selected='true']) {
  background: rgba(255, 255, 255, 0.12);
}

/* Circular arrow navigation button — for carousels and sliders */
.corp-arrow-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--corp-arrow-btn-size);
  height: var(--corp-arrow-btn-size);
  border-radius: 50%;
  background: var(--corp-color-white);
  border: 1px solid var(--corp-color-primary);
  color: var(--corp-color-primary);
  cursor: pointer;
  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    color 160ms ease;
}

.corp-arrow-btn:hover {
  background: var(--corp-color-primary);
  border-color: var(--corp-color-primary);
  color: var(--corp-color-white);
}

.corp-arrow-btn svg {
  width: 24px;
  height: 24px;
  display: block;
}

/* Inverted arrow button — for dark/image sections where bg is already coloured */
.corp-arrow-btn--inverted {
  border-color: transparent;
}

.corp-arrow-btn--inverted:hover {
  background: rgba(255, 255, 255, 0.9);
  border-color: transparent;
  color: var(--corp-color-primary);
}

.corp-arrow-btn[disabled],
.corp-arrow-btn.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

/* Grid system */
.g-container {
  width: 100%;
  min-width: var(--corp-breakpoint-mobile);
  margin-inline: auto;
  padding-inline: var(--container-margin);
}

.g-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--grid-gutter-width);
}

[class^='g-sm-'],
[class*=' g-sm-'],
[class^='g-md-'],
[class*=' g-md-'],
[class^='g-lg-'],
[class*=' g-lg-'],
[class^='g-xl-'],
[class*=' g-xl-'] {
  --grid-span: var(--grid-columns);

  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
}

.g-sm-1 {
  --grid-span: 1;
}

.g-sm-2 {
  --grid-span: 2;
}

.g-sm-3 {
  --grid-span: 3;
}

.g-sm-4 {
  --grid-span: 4;
}

[class^='g-sm-'],
[class*=' g-sm-'] {
  width: calc((var(--grid-formula) * var(--grid-span)) + (var(--grid-gutter-width) * (var(--grid-span) - 1)));
  max-width: calc((var(--grid-formula) * var(--grid-span)) + (var(--grid-gutter-width) * (var(--grid-span) - 1)));
}

@media screen and (width >=768px) {
  .g-md-1 {
    --grid-span: 1;
  }

  .g-md-2 {
    --grid-span: 2;
  }

  .g-md-3 {
    --grid-span: 3;
  }

  .g-md-4 {
    --grid-span: 4;
  }

  .g-md-5 {
    --grid-span: 5;
  }

  .g-md-6 {
    --grid-span: 6;
  }

  .g-md-7 {
    --grid-span: 7;
  }

  .g-md-8 {
    --grid-span: 8;
  }

  [class^='g-md-'],
  [class*=' g-md-'] {
    width: calc((var(--grid-formula) * var(--grid-span)) + (var(--grid-gutter-width) * (var(--grid-span) - 1)));
    max-width: calc((var(--grid-formula) * var(--grid-span)) + (var(--grid-gutter-width) * (var(--grid-span) - 1)));
  }
}

@media screen and (width >=1200px) {
  .g-lg-1,
  .g-xl-1 {
    --grid-span: 1;
  }

  .g-lg-2,
  .g-xl-2 {
    --grid-span: 2;
  }

  .g-lg-3,
  .g-xl-3 {
    --grid-span: 3;
  }

  .g-lg-4,
  .g-xl-4 {
    --grid-span: 4;
  }

  .g-lg-5,
  .g-xl-5 {
    --grid-span: 5;
  }

  .g-lg-6,
  .g-xl-6 {
    --grid-span: 6;
  }

  .g-lg-7,
  .g-xl-7 {
    --grid-span: 7;
  }

  .g-lg-8,
  .g-xl-8 {
    --grid-span: 8;
  }

  .g-lg-9,
  .g-xl-9 {
    --grid-span: 9;
  }

  .g-lg-10,
  .g-xl-10 {
    --grid-span: 10;
  }

  .g-lg-11,
  .g-xl-11 {
    --grid-span: 11;
  }

  .g-lg-12,
  .g-xl-12 {
    --grid-span: 12;
  }

  [class^='g-lg-'],
  [class*=' g-lg-'],
  [class^='g-xl-'],
  [class*=' g-xl-'] {
    width: calc((var(--grid-formula) * var(--grid-span)) + (var(--grid-gutter-width) * (var(--grid-span) - 1)));
    max-width: calc((var(--grid-formula) * var(--grid-span)) + (var(--grid-gutter-width) * (var(--grid-span) - 1)));
  }
}

.splide__track {
  position: relative;
  z-index: 0;
}

.splide__track--draggable {
  user-select: none;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  padding: 0 !important;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.splide__sr,
.sr-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
