/* M367_PAGE_CONTRACT_V1
   Shared page geometry and primitives. Family styles consume this contract;
   they do not redefine the site shell.
*/

.m367-page,
.m367-page * {
    box-sizing: border-box;
}


.m367-page {
    color: var(--m367-foundation-text);
    background: var(--m367-foundation-bg);
    font-family: var(--m367-font-family-base);
}


.m367-page-frame,
.m367-page-panel,
.m367-page-hero,
.m367-page-filter-bar,
.m367-page-card-grid,
.m367-page-final-cta {
    width: 100%;
    max-width: none;
    margin-right: 0;
    margin-left: 0;
}

/* M367_PAGE_INTRO_TOKEN_CONTRACT_V1_20260903 START
   Shared renderer for the shell-owned breadcrumbs and public page title.
   Families may position the intro, but must not restyle these primitives. */
.m367-page.m367-page-intro,
.m367-page .m367-page-intro {
    width: 100%;
    margin: 0 0 var(--m367-page-intro-content-gap);
    color: var(--m367-foundation-text);
    background: var(--m367-foundation-bg);
}

.m367-page .m367-section-head {
    width: 100%;
    margin: 0;
    padding: 0;
}

.m367-page .m367-section-head__crumbs-row {
    margin: 0 0 var(--m367-page-intro-crumb-title-gap) !important;
}

.m367-page .m367-section-head__crumbs {
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 0 !important;
}

.m367-page.m367-page-intro .bx-breadcrumb,
.m367-page .m367-page-intro .bx-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--m367-breadcrumb-gap);
    margin: 0;
    padding: 0;
    color: var(--m367-breadcrumb-current);
    background: var(--m367-breadcrumb-bg);
    border: 0;
    font-family: var(--m367-breadcrumb-font-family);
    font-size: var(--m367-breadcrumb-font-size);
    font-weight: var(--m367-breadcrumb-current-weight);
    line-height: var(--m367-breadcrumb-line-height);
}

.m367-page.m367-page-intro .bx-breadcrumb-item,
.m367-page .m367-page-intro .bx-breadcrumb-item {
    display: inline-flex;
    align-items: center;
    gap: var(--m367-breadcrumb-gap);
    margin: 0;
    padding: 0;
}

.m367-page.m367-page-intro .bx-breadcrumb a,
.m367-page.m367-page-intro .bx-breadcrumb a:link,
.m367-page.m367-page-intro .bx-breadcrumb a:visited,
.m367-page .m367-page-intro .bx-breadcrumb a,
.m367-page .m367-page-intro .bx-breadcrumb a:link,
.m367-page .m367-page-intro .bx-breadcrumb a:visited {
    color: var(--m367-breadcrumb-link);
    font-weight: var(--m367-breadcrumb-link-weight);
    text-decoration: none;
}

.m367-page.m367-page-intro .bx-breadcrumb a:hover,
.m367-page.m367-page-intro .bx-breadcrumb a:focus-visible,
.m367-page .m367-page-intro .bx-breadcrumb a:hover,
.m367-page .m367-page-intro .bx-breadcrumb a:focus-visible {
    color: var(--m367-breadcrumb-link-hover);
    text-decoration: none;
}

.m367-page.m367-page-intro :where(.bx-breadcrumb-item-text, [aria-current="page"]),
.m367-page .m367-page-intro :where(.bx-breadcrumb-item-text, [aria-current="page"]) {
    color: var(--m367-breadcrumb-current);
    font-weight: var(--m367-breadcrumb-current-weight);
}

.m367-page.m367-page-intro :where(.bx-breadcrumb-item-angle, .breadcrumb-separator, i),
.m367-page .m367-page-intro :where(.bx-breadcrumb-item-angle, .breadcrumb-separator, i) {
    color: var(--m367-breadcrumb-separator);
    font-weight: var(--m367-breadcrumb-current-weight);
}

.m367-page #pagetitle.m367-section-head__title {
    margin: 0 !important;
    color: var(--m367-page-title-color) !important;
    font-family: var(--m367-font-family-base);
    font-size: var(--m367-font-size-page-title);
    font-weight: var(--m367-font-weight-display);
    line-height: var(--m367-line-height-page-title);
    letter-spacing: var(--m367-letter-spacing-page-title);
}
/* M367_PAGE_INTRO_TOKEN_CONTRACT_V1_20260903 END */


/* Canonical global search. Homepage and page families share this geometry. */
.m367-site-search {
    position: relative;
    top: auto;
    z-index: 1;
    width: 100%;
    margin: 0 0 12px;
    padding: 0;
    background: transparent;
}


.m367-site-search__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px;
    width: 100%;
    height: 46px;
    overflow: hidden;
    background: #111214;
    border: 1px solid var(--m367-foundation-border);
    border-radius: var(--m367-foundation-radius);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .24);
}


.m367-site-search__form input {
    min-width: 0;
    height: 100%;
    margin: 0;
    padding: 0 22px;
    color: var(--m367-foundation-text);
    background: transparent;
    border: 0;
    border-radius: 0;
    outline: 0;
    font: inherit;
    font-size: 15px;
    font-weight: 700;
}


.m367-site-search__form input::placeholder {
    color: rgba(242, 234, 223, .54);
}


.m367-site-search__form button {
    height: 100%;
    margin: 0;
    padding: 0 18px;
    color: #fff;
    background: var(--m367-foundation-accent);
    border: 0;
    border-radius: 0;
    font: inherit;
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
}


.m367-site-search__form button:hover,
.m367-site-search__form button:focus-visible {
    background: var(--m367-brand-orange-hover, #e95100);
}


.m367-page-panel,
.m367-page-hero,
.m367-page-final-cta {
    color: var(--m367-foundation-text);
    background: var(--m367-foundation-surface);
    border: 1px solid var(--m367-foundation-border-soft);
    border-radius: var(--m367-foundation-radius);
}


@media (max-width: 991px) {
    .m367-site-search__form {
        grid-template-columns: minmax(0, 1fr) 92px;
        height: 42px;
    }


    .m367-site-search__form input {
        padding: 0 14px;
        font-size: 14px;
    }


    .m367-site-search__form button {
        padding: 0 10px;
        font-size: 14px;
    }

}

/* M367_GENERIC_STATE_CONTRACT_V1 START
   Owner: m367_page_contract.css
   Purpose: generic active/focus/error/success states for page families.
   Scope: .m367-page only. No homepage-only selectors. No breadcrumbs package.
*/
.m367-page :where(a, button, input, select, textarea, [role="button"], .m367-action, .m367-btn, .m367-chip):focus-visible {
    outline: 0;
    box-shadow: var(--m367-input-focus-ring);
}


.m367-page :where(.is-active, .m367-is-active, [aria-current="page"], [aria-selected="true"]) {
    border-color: var(--m367-border-strong);
}


.m367-page :where(.is-error, .m367-is-error, [aria-invalid="true"]) {
    border-color: var(--m367-state-error-border);
}


.m367-page :where(.is-success, .m367-is-success, .m367-success) {
    border-color: var(--m367-state-success-border);
}

/* M367_GENERIC_STATE_CONTRACT_V1 END */

/* M367_TASKS_HERO_CONTRACT_FROM_HOME_READONLY_V0_2_20260701_START */
/* Downstream hero contract copied from readonly homepage source. Homepage files are not modified by this package. */
.m367-hero-standard {
  --m367-hero-standard-columns: minmax(0, 49fr) minmax(0, 51fr);
  --m367-hero-standard-gap: 56px;
  --m367-hero-standard-min-height: 380px;
  --m367-hero-standard-padding: 36px 0 46px;
  --m367-hero-standard-mobile-padding: 18px;
  --m367-hero-standard-media-min-height: 340px;
  --m367-hero-standard-media-radius: 10px;
  --m367-hero-standard-title-max-width: 720px;
  --m367-hero-standard-title-margin: 0 0 20px;
  --m367-hero-standard-title-size: clamp(36px, 2.65vw, 48px);
  --m367-hero-standard-title-weight: 900;
  --m367-hero-standard-title-line-height: 1.1;
  --m367-hero-standard-text-max-width: 700px;
  --m367-hero-standard-text-size: 16px;
  --m367-hero-standard-text-line-height: 1.6;
  --m367-hero-standard-actions-gap: 14px;
  display: grid;
  grid-template-columns: var(--m367-hero-standard-columns);
  align-items: center;
  gap: var(--m367-hero-standard-gap);
  min-height: var(--m367-hero-standard-min-height);
  padding: var(--m367-hero-standard-padding);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.m367-hero-standard::before,
.m367-hero-standard::after {
  content: none;
  display: none;
}

.m367-hero-standard__content {
  min-width: 0;
}

.m367-hero-standard__title {
  max-width: var(--m367-hero-standard-title-max-width);
  margin: var(--m367-hero-standard-title-margin);
  color: var(--m367-foundation-text);
  font-size: var(--m367-hero-standard-title-size);
  font-weight: var(--m367-hero-standard-title-weight);
  line-height: var(--m367-hero-standard-title-line-height);
  letter-spacing: 0;
}

.m367-hero-standard__title span {
  color: var(--m367-foundation-accent);
}

.m367-hero-standard__text {
  max-width: var(--m367-hero-standard-text-max-width);
  margin: 0;
  color: var(--m367-foundation-muted);
  font-size: var(--m367-hero-standard-text-size);
  line-height: var(--m367-hero-standard-text-line-height);
}

.m367-hero-standard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--m367-hero-standard-actions-gap);
}

.m367-hero-standard__visual,
.m367-hero-standard__image-panel {
  min-width: 0;
  min-height: var(--m367-hero-standard-media-min-height);
  overflow: hidden;
  border-radius: var(--m367-hero-standard-media-radius);
}

.m367-hero-standard__image-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 991px) {
  .m367-hero-standard {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .m367-hero-standard {
    padding: var(--m367-hero-standard-mobile-padding);
  }
}
/* M367_TASKS_HERO_CONTRACT_FROM_HOME_READONLY_V0_2_20260701_END */

/* M367_BUTTON_CONTRACT_SITE_V0_2_1_20260802_START
   Single site-level renderer. Page families assign semantic roles and may
   control placement/width only; visual geometry and states are owned here. */
.m367-page .m367-button {
    box-sizing: border-box;
    display: inline-flex;
    min-block-size: var(--m367-button-min-h);
    align-items: center;
    justify-content: center;
    gap: var(--m367-button-gap);
    padding-inline: var(--m367-button-pad-x);
    border: var(--m367-button-border);
    border-radius: var(--m367-button-radius);
    font: inherit;
    font-size: var(--m367-button-font-size);
    font-weight: var(--m367-button-weight);
    line-height: var(--m367-button-line-height);
    text-align: center;
    text-decoration: none;
    text-decoration-line: none;
    cursor: pointer;
    outline: none;
    transition: color var(--m367-button-motion), background-color var(--m367-button-motion), border-color var(--m367-button-motion), box-shadow var(--m367-button-motion);
}

.m367-page .m367-button:hover,
.m367-page .m367-button:focus,
.m367-page .m367-button:focus-visible,
.m367-page .m367-button:active {
    text-decoration: none !important;
    text-decoration-line: none !important;
}

.m367-page .m367-button:focus-visible {
    outline: var(--m367-button-focus-ring);
    outline-offset: var(--m367-button-focus-offset);
}

.m367-page .m367-button--primary,
.m367-page .m367-button--primary:link,
.m367-page .m367-button--primary:visited {
    color: var(--m367-button-active-1-text);
    -webkit-text-fill-color: var(--m367-button-active-1-text);
    background: var(--m367-button-active-1-bg);
    border-color: var(--m367-button-active-1-border);
    box-shadow: var(--m367-button-active-1-shadow);
}

.m367-page .m367-button--primary:hover,
.m367-page .m367-button--primary:focus,
.m367-page .m367-button--primary:focus-visible,
.m367-page .m367-button--primary:active {
    color: var(--m367-button-active-1-text-hover);
    -webkit-text-fill-color: var(--m367-button-active-1-text-hover);
    background: var(--m367-button-active-1-bg-hover);
    border-color: var(--m367-button-active-1-border-hover);
}

.m367-page .m367-button--active-2,
.m367-page .m367-button--active-2:link,
.m367-page .m367-button--active-2:visited {
    color: var(--m367-button-active-2-text);
    -webkit-text-fill-color: var(--m367-button-active-2-text);
    background: var(--m367-button-active-2-bg);
    border-color: var(--m367-button-active-2-border);
    box-shadow: var(--m367-button-active-2-shadow);
}

.m367-page .m367-button--active-2:hover,
.m367-page .m367-button--active-2:focus,
.m367-page .m367-button--active-2:focus-visible,
.m367-page .m367-button--active-2:active {
    color: var(--m367-button-active-2-text-hover);
    -webkit-text-fill-color: var(--m367-button-active-2-text-hover);
    background: var(--m367-button-active-2-bg-hover);
    border-color: var(--m367-button-active-2-border-hover);
    box-shadow: var(--m367-button-active-2-shadow-hover);
}

.m367-page .m367-button--secondary,
.m367-page .m367-button--secondary:link,
.m367-page .m367-button--secondary:visited,
.m367-page .m367-button--ghost,
.m367-page .m367-button--ghost:link,
.m367-page .m367-button--ghost:visited {
    color: var(--m367-button-passive-text);
    -webkit-text-fill-color: var(--m367-button-passive-text);
    background: var(--m367-button-passive-bg);
    border-color: var(--m367-button-passive-border);
    box-shadow: var(--m367-button-passive-shadow);
}

.m367-page .m367-button--secondary:hover,
.m367-page .m367-button--secondary:focus,
.m367-page .m367-button--secondary:focus-visible,
.m367-page .m367-button--secondary:active,
.m367-page .m367-button--ghost:hover,
.m367-page .m367-button--ghost:focus,
.m367-page .m367-button--ghost:focus-visible,
.m367-page .m367-button--ghost:active {
    color: var(--m367-button-passive-text-hover);
    -webkit-text-fill-color: var(--m367-button-passive-text-hover);
    background: var(--m367-button-passive-bg-hover);
    border-color: var(--m367-button-passive-border-hover);
}
/* M367_BUTTON_CONTRACT_SITE_V0_2_1_20260802_END */
