/* ==========================================================================
   ISM FY27 brand layer. Plain CSS, no build step.

   The legacy bundles (abovethefold/cake/belowthefold.css) are frozen; this
   layers on top. cake.css loads later, so every override is
   `body.brand-fy27 <original selector>` and wins on specificity.
   Picker values are persisted class names: alias, never rename or remove.
   Removing `brand-fy27` from <body> turns the layer off.
   ========================================================================== */


/* ==========================================================================
   1. TOKENS
   ========================================================================== */

/* .mce-content-body is the TinyMCE iframe; it needs its own tokens. */
body.brand-fy27,
body.mce-content-body {

  /* --- Core brand (style guide p.10) ------------------------------------ */
  --ism-primary:        #005195;   /* ISM Blue. 8.04:1 on white -- AA/AAA   */
  --ism-primary-hover:  #003D70;
  --ism-primary-dark:   #002F59;   /* nav */
  --ism-secondary:      #4AB3F0;   /* 2.33:1 -- DECORATIVE ONLY, never text */
  --ism-accent:         #CCA43B;   /* 2.35:1 -- DECORATIVE ONLY, never text */
  --ism-error:          #CC0000;

  --ism-bg-light:       #F2F2F2;
  --ism-bg-dark:        #A2A2A2;
  --ism-ink:            #1E2629;
  --ism-ink-muted:      #4D4D4D;
  --ism-hairline:       #D8D8D8;

  /* --- Audience segments --------------------------------------------- */
  --seg-foundation:       #1FB6A6;  /* 2.53:1 -- fails AA as small text     */
  --seg-foundation-light: #A6FFE9;

  --seg-growth:           #1E88C7;  /* 3.89:1 -- large text only           */
  --seg-growth-light:     #A6E1FF;

  --seg-leadership:       #543D99;
  --seg-leadership-light: #BAACE6;

  --seg-executive:        #2D1A40;
  --seg-executive-light:  #CEAAF2;
  --seg-executive-accent: #6C32A6;

  /* --- CTA-box photo veil --------------------------------------------- */
  --ism-veil-primary:    rgba(0, 81, 149, .7);    /* --ism-primary    */
  --ism-veil-secondary:  rgba(74, 179, 240, .7);  /* --ism-secondary  */
  --seg-veil-foundation: rgba(31, 182, 166, .7);  /* --seg-foundation */
  --seg-veil-growth:     rgba(30, 136, 199, .7);  /* --seg-growth */
  --seg-veil-leadership: rgba(84, 61, 153, .7);   /* --seg-leadership */

  /* --- Gradients (style guide p.17) ------------------------------------- */
  --ism-grad-foundation-growth:    linear-gradient(90deg, #1FB6A6, #1E88C7);
  --ism-grad-growth-leadership:    linear-gradient(90deg, #1E88C7, #543D99);
  --ism-grad-leadership-executive: linear-gradient(90deg, #543D99, #2D1A40);
  --ism-grad-all-segments:         linear-gradient(90deg, #1FB6A6 0%, #1E88C7 34%, #543D99 67%, #2D1A40 100%);
  --ism-grad-primary:              linear-gradient(#005195, #003D70);

  /* --- Segment channel: re-pointed by .segment--* ---------------------- */
  --seg-primary: var(--ism-primary);
  --seg-surface: #fff;
  --seg-ink:     var(--ism-ink);

  /* --- Shape & elevation ----------------------------------------------- */
  --ism-radius-sm:   4px;
  --ism-radius-md:   8px;
  --ism-radius-lg:   16px;
  --ism-radius-pill: 999px;
  --ism-shadow-md:   0 4px 16px rgba(30, 38, 41, .12);
  --ism-shadow-soft: 0 2px 8px rgba(30, 38, 41, .12);  /* FY27 cards */
  --ism-shadow-lg:   4px 4px 4rem -2px #ccc;

  /* --- Type (style guide p.7-8) ---------------------------------------- */
  --ism-font-headline: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif;
  --ism-font-body:     'Barlow', -apple-system, Helvetica, Arial, sans-serif;
  --ism-border-accent: 4px;
}

/* Segment themes */
body.brand-fy27 .segment--foundation { --seg-primary: var(--seg-foundation); }
body.brand-fy27 .segment--growth     { --seg-primary: var(--seg-growth); }
body.brand-fy27 .segment--leadership { --seg-primary: var(--seg-leadership); }
body.brand-fy27 .segment--executive  { --seg-primary: var(--seg-executive); }

/* Style variant: solid ISM Blue, white text. */
body.brand-fy27 .segment--team {
  --seg-primary: var(--ism-primary);
  --seg-surface: var(--ism-primary);
  --seg-ink: #fff;
}

/* Style variant: gold rule, ink text. */
body.brand-fy27 .segment--accent {
  --seg-primary: var(--ism-accent);
  --seg-surface: #fff;
  --seg-ink: var(--ism-ink);
}


/* ==========================================================================
   2. TYPOGRAPHY -- Barlow replaces Noto Sans
   ========================================================================== */

body.brand-fy27 { font-family: var(--ism-font-body); }

body.brand-fy27 button { font-family: var(--ism-font-body); }

body.brand-fy27 .form-control { font-family: var(--ism-font-body); }

body.brand-fy27 [data-nav-main] .navbar-toggler[aria-expanded=true]:after {
  font-family: var(--ism-font-body);
}

/* cake.css Noto Sans declarations */
body.brand-fy27 .full-blockquote .full-blockquote__cite,
body.brand-fy27 .full-blockquote cite,
body.brand-fy27 [data-seachWithin-magazine] .searchWithin__label,
body.brand-fy27 .richTextmember__small,
body.brand-fy27 .additionalInfo__tabs .nav.nav-tabs .nav-item .nav-link,
body.brand-fy27 .cartBody__link--cart,
body.brand-fy27 .cartBody__link--email,
body.brand-fy27 .cartBody__link--print {
  font-family: var(--ism-font-body);
}

/* Headings: Bold, set explicitly. */
body.brand-fy27 h1, body.brand-fy27 h2, body.brand-fy27 h3,
body.brand-fy27 h4, body.brand-fy27 h5, body.brand-fy27 h6 {
  font-family: var(--ism-font-headline);
  font-weight: 700;
}

/* Subheadline */
body.brand-fy27 .subheadline,
body.brand-fy27 .h2--subheadline {
  font-family: var(--ism-font-headline);
  font-weight: 400;
}

/* Paragraph title */
body.brand-fy27 .paragraph-title {
  font-family: var(--ism-font-body);
  font-weight: 700;
}


/* ==========================================================================
   3. COLOUR -- orange retired
   ========================================================================== */

/* --- 3a. Buttons (HubSpot mirrors each as .hs-button--*) --------------- */

/* Legacy button shape site-wide; caps only on FY27 CTAs (as CMS 13). */
body.brand-fy27 .button,
body.brand-fy27 .hs-button {
  font-family: var(--ism-font-headline);
  font-weight: 700;
}

body.brand-fy27 .segmentCard__link,
body.brand-fy27 .ctaBox__buttons .button,
body.brand-fy27 .gradientBand .button,
body.brand-fy27 .fullWidthCTA__content .button,
body.brand-fy27 .featuredItemWithList--cards .featuredItemWithList__button__wrapper .button,
body.brand-fy27 .getInvolvedSection .box__CTA {
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Solid primary. Resting states are listed because the legacy hover rule
   includes :link/:visited. */
body.brand-fy27 .button--orange,
body.brand-fy27 .button.primary,
body.brand-fy27 .button--primary,
body.brand-fy27 .button--solid,
body.brand-fy27 .hs-button--orange,
body.brand-fy27 .hs-button.primary,
body.brand-fy27 .button--orange:link,    body.brand-fy27 .button--orange:visited,
body.brand-fy27 .button.primary:link,    body.brand-fy27 .button.primary:visited,
body.brand-fy27 .button--primary:link,   body.brand-fy27 .button--primary:visited,
body.brand-fy27 .button--solid:link,     body.brand-fy27 .button--solid:visited,
body.brand-fy27 .hs-button--orange:link, body.brand-fy27 .hs-button--orange:visited {
  background-color: var(--seg-primary);
  border-color: var(--seg-primary);
  color: #fff;
}
body.brand-fy27 .button--orange:hover,   body.brand-fy27 .button--orange:active,
body.brand-fy27 .button--orange:focus,
body.brand-fy27 .button.primary:hover,   body.brand-fy27 .button.primary:active,
body.brand-fy27 .button.primary:focus,
body.brand-fy27 .button--primary:hover,  body.brand-fy27 .button--primary:active,
body.brand-fy27 .button--primary:focus,
body.brand-fy27 .button--solid:hover,    body.brand-fy27 .button--solid:active,
body.brand-fy27 .button--solid:focus,
body.brand-fy27 .hs-button--orange:hover,
body.brand-fy27 .hs-button--orange:active,
body.brand-fy27 .hs-button--orange:focus {
  background-color: var(--ism-primary-hover);
  border-color: var(--ism-primary-hover);
  color: #fff;
}

/* Outline: light-blue border, ISM Blue label (light blue fails AA as text). */
body.brand-fy27 .button--ghost-orange,
body.brand-fy27 .button--outline,
body.brand-fy27 .hs-button--ghost-orange {
  background-color: #fff;
  border-color: var(--ism-secondary);
  color: var(--ism-primary);
}
body.brand-fy27 .button--ghost-orange:hover,
body.brand-fy27 .button--ghost-orange:active,
body.brand-fy27 .button--ghost-orange:focus,
body.brand-fy27 .button--outline:hover,
body.brand-fy27 .button--outline:active,
body.brand-fy27 .button--outline:focus,
body.brand-fy27 .hs-button--ghost-orange:hover,
body.brand-fy27 .hs-button--ghost-orange:active,
body.brand-fy27 .hs-button--ghost-orange:focus {
  background-color: var(--ism-primary);
  border-color: var(--ism-primary);
  color: #fff;
}

/* Solid white; replaces the two conflicting legacy rules. */
body.brand-fy27 .button--white,
body.brand-fy27 .hs-button--white {
  background-color: #fff;
  border-color: #fff;
  color: var(--ism-primary);
}
body.brand-fy27 .button--white:hover,
body.brand-fy27 .button--white:active,
body.brand-fy27 .button--white:focus,
body.brand-fy27 .hs-button--white:hover,
body.brand-fy27 .hs-button--white:active,
body.brand-fy27 .hs-button--white:focus {
  background-color: var(--ism-bg-light);
  border-color: var(--ism-bg-light);
  color: var(--ism-primary-hover);
}

/* Outline white, for gradient/photo backgrounds. */
body.brand-fy27 .button--outline-white {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}
body.brand-fy27 .button--outline-white:hover,
body.brand-fy27 .button--outline-white:active,
body.brand-fy27 .button--outline-white:focus {
  background-color: #fff;
  color: var(--ism-primary);
}

/* Text-link styled buttons */
body.brand-fy27 .button--arrow,   body.brand-fy27 .hs-button--arrow,
body.brand-fy27 .button--clear,   body.brand-fy27 .hs-button--clear,
body.brand-fy27 .button--link {
  color: var(--seg-primary);
}

/* Add-to-calendar: the original uses !important. */
body.brand-fy27 .button.button--atc,
body.brand-fy27 .hs-button.button--atc {
  color: var(--ism-primary) !important;
  border-color: var(--ism-primary) !important;
}

/* Button classes used in views with no CSS of their own. */
body.brand-fy27 .button--green,
body.brand-fy27 .button--blue,
body.brand-fy27 .button--teal,
body.brand-fy27 .button--clean {
  background-color: var(--seg-primary);
  border-color: var(--seg-primary);
  color: #fff;
}


/* --- 3b. Links ------------------------------------------------------- */

body.brand-fy27 a { color: var(--seg-primary); }

body.brand-fy27 a.dark-link { color: var(--ism-ink); }
body.brand-fy27 a.dark-link:hover,
body.brand-fy27 a.dark-link:active,
body.brand-fy27 a.dark-link:focus { color: var(--seg-primary); }

body.brand-fy27 .link-arrow { color: var(--seg-primary); }

/* cake.css component links */
body.brand-fy27 .cardCollection__link:hover,
body.brand-fy27 .cardCollection__link:active,
body.brand-fy27 .cardCollection__link:focus,
body.brand-fy27 .iconcard__link:hover,
body.brand-fy27 .iconcard__link:focus,
body.brand-fy27 .iconcard__link:hover .iconcard__headline,
body.brand-fy27 .iconcard__link:focus .iconcard__headline,
body.brand-fy27 .speaker__link,
body.brand-fy27 .speaker__link:hover,
body.brand-fy27 .speaker__link:active,
body.brand-fy27 .speaker__link:focus,
body.brand-fy27 .detailHeader__link,
body.brand-fy27 .productHeader__link,
body.brand-fy27 .cartBody__link,
body.brand-fy27 .article__share,
body.brand-fy27 .sessions__button,
body.brand-fy27 .agendaAtAGlance__speaker__name,
body.brand-fy27 .article__headline .article__headline__link:hover,
body.brand-fy27 .articleItemWithList__featured .article__headline a:hover,
body.brand-fy27 .articleItemWithList__featured .article__headline a:active,
body.brand-fy27 .articleItemWithList__featured .article__headline a:focus,
body.brand-fy27 .myAccount__headline a:hover,
body.brand-fy27 .esearchList .cartBody__event__title a:hover,
body.brand-fy27 .printable .cartBody__event__title a:hover,
body.brand-fy27 .author__button--print,
body.brand-fy27 .author__button--print:hover,
body.brand-fy27 .author__button--print:active,
body.brand-fy27 .author__button--print:focus {
  color: var(--seg-primary);
}

/* Pagination */
body.brand-fy27 .esearchList .pagination__left,
body.brand-fy27 .esearchList .pagination__page,
body.brand-fy27 .esearchList .pagination__right,
body.brand-fy27 .printable .pagination__left,
body.brand-fy27 .printable .pagination__page,
body.brand-fy27 .printable .pagination__right,
body.brand-fy27 .pagination__left--active,
body.brand-fy27 .pagination__page--active,
body.brand-fy27 .pagination__right--active,
body.brand-fy27 .pagination__left:hover,
body.brand-fy27 .pagination__left:active,
body.brand-fy27 .pagination__left:focus,
body.brand-fy27 .pagination__page:hover,
body.brand-fy27 .pagination__page:active,
body.brand-fy27 .pagination__page:focus,
body.brand-fy27 .pagination__right:hover,
body.brand-fy27 .pagination__right:active,
body.brand-fy27 .pagination__right:focus {
  color: var(--seg-primary);
}

/* Tabs */
body.brand-fy27 .additionalInfo__tabs .nav.nav-tabs .nav-item .nav-link.active,
body.brand-fy27 .additionalInfo__tabs .nav.nav-tabs .nav-item .nav-link:after,
body.brand-fy27 div.tabs-container .nav-tabs .nav-link,
body.brand-fy27 .article__boxes .article__box--active {
  color: var(--seg-primary);
}

/* Interior (left rail) nav current page */
body.brand-fy27 [data-nav-interior] .current--page,
body.brand-fy27 [data-nav-interior] .current--page a {
  color: var(--seg-primary);
}

/* My Account nav. The original carries !important. */
body.brand-fy27 .myAccountNav__account .nav-link,
body.brand-fy27 .myAccountNav__account .nav-span {
  color: var(--seg-primary) !important;
}
body.brand-fy27 .myAccountNav__account .nav-link:before {
  color: var(--seg-primary);
}


/* --- 3c. Top-border motif --------------------------------------------- */

body.brand-fy27 .CTA,
body.brand-fy27 .card,
body.brand-fy27 .orange-component,
body.brand-fy27 .articleGrid__col--right,
body.brand-fy27 .articleRow__wrapper,
body.brand-fy27 .articleSidebar__wrapper,
body.brand-fy27 .directory__wrapper,
body.brand-fy27 .featuredEvents__wrapper,
body.brand-fy27 .agendaAtAGlance__wrapper {
  border-top-color: var(--seg-primary);
}

body.brand-fy27 .CTA .CTA__eyebrow {
  color: var(--ism-ink-muted);
  font-family: var(--ism-font-headline);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}

body.brand-fy27 .card,
body.brand-fy27 .orange-component {
  border-radius: var(--ism-radius-md);
}

body.brand-fy27 .myAccountHeader .orange-component:after {
  background-color: var(--seg-primary);
}


/* --- 3d. Icons ---------------------------------------------------------- */

body.brand-fy27 .icon--orange,
body.brand-fy27 .icon--orange + span,
body.brand-fy27 .esearchList__print i {
  color: var(--seg-primary);
}
body.brand-fy27 .social-bar__icon--orange { fill: var(--seg-primary); }
body.brand-fy27 .loader--orange { border-top-color: var(--seg-primary); }
body.brand-fy27 .burst__wrapper .burst__text { font-family: var(--ism-font-headline); }


/* --- 3e. Utility colour classes (persisted; aliased) ------------------- */

body.brand-fy27 .bgColor--orange     { background-color: var(--ism-primary); }
body.brand-fy27 .bgColor--lightblue  { background-color: var(--ism-secondary); }
body.brand-fy27 .bgColor--blue       { background-color: var(--ism-primary); }
body.brand-fy27 .bgColor--green      { background-color: var(--seg-foundation); }
body.brand-fy27 .bgColor--magenta    { background-color: var(--seg-leadership); }
body.brand-fy27 .bgColor--foundation { background-color: var(--seg-foundation); }
body.brand-fy27 .bgColor--growth     { background-color: var(--seg-growth); }
body.brand-fy27 .bgColor--leadership { background-color: var(--seg-leadership); }
/* bgColor--grey keeps its legacy #ebeae5. */
body.brand-fy27 .fgColor--orange     { color: var(--ism-primary); }

/* Gradients. The last four are first-release values. */
body.brand-fy27 .bgColor--gradient-all                  { background-image: var(--ism-grad-all-segments); }
body.brand-fy27 .bgColor--gradient-foundation-growth    { background-image: var(--ism-grad-foundation-growth); }
body.brand-fy27 .bgColor--gradient-growth-leadership    { background-image: var(--ism-grad-growth-leadership); }
body.brand-fy27 .bgColor--gradient-leadership-executive { background-image: var(--ism-grad-leadership-executive); }
body.brand-fy27 .bgColor--gradient-segments             { background-image: var(--ism-grad-all-segments); }
body.brand-fy27 .bgColor--gradient-foundation           { background-image: var(--ism-grad-foundation-growth); }
body.brand-fy27 .bgColor--gradient-growth               { background-image: var(--ism-grad-growth-leadership); }
body.brand-fy27 .bgColor--gradient-leadership           { background-image: var(--ism-grad-leadership-executive); }


/* --- 3f. One-offs ------------------------------------------------------- */

/* A two-up row holding a plain card sits on white: drop the hex texture (as CMS 13). */
body.brand-fy27 .component:has(> .twoCTA__container .ctaBox--plain) .twoCTA__container > .hex-bg { display: none; }

/* Legacy CTA-box gradients */
body.brand-fy27 .ctaBoxWithImage.bgColor--orange { background-image: var(--ism-grad-primary); }
body.brand-fy27 .ctaBoxWithImage.bgColor--green  { background-image: var(--ism-grad-foundation-growth); }

/* Photo + colour: a translucent veil of the colour over the photo. */
body.brand-fy27 .ctaBoxWithImage.bgColor--orange,
body.brand-fy27 .ctaBoxWithImage.bgColor--blue      { --ctaBox-veil: var(--ism-veil-primary); }
body.brand-fy27 .ctaBoxWithImage.bgColor--lightblue { --ctaBox-veil: var(--ism-veil-secondary); }
body.brand-fy27 .ctaBoxWithImage.bgColor--green     { --ctaBox-veil: var(--seg-veil-foundation); }
body.brand-fy27 .ctaBoxWithImage.bgColor--magenta   { --ctaBox-veil: var(--seg-veil-leadership); }
body.brand-fy27 .ctaBoxWithImage.bgColor--foundation { --ctaBox-veil: var(--seg-veil-foundation); }
body.brand-fy27 .ctaBoxWithImage.bgColor--growth     { --ctaBox-veil: var(--seg-veil-growth); }
body.brand-fy27 .ctaBoxWithImage.bgColor--leadership { --ctaBox-veil: var(--seg-veil-leadership); }

body.brand-fy27 .ctaBoxWithImage[class*="bgColor--"] .ctaBox__bg[data-bg]:not([data-bg=""]) {
  position: relative;
  isolation: isolate;
}
body.brand-fy27 .ctaBoxWithImage[class*="bgColor--"] .ctaBox__bg[data-bg]:not([data-bg=""])::before {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  border-radius: inherit;
  background-color: var(--ctaBox-veil, var(--ism-veil-primary));
  z-index: -1;
  pointer-events: none;
}

/* Chapter footer (belowthefold.css loads after this file) */
body.brand-fy27 .footer--chapter .footer__row--bottom .social-bar--footer .social-bar__icon:hover,
body.brand-fy27 .footer--chapter .footer__row--bottom .social-bar--footer .social-bar__icon:active,
body.brand-fy27 .footer--chapter .footer__row--bottom .social-bar--footer .social-bar__icon:focus {
  fill: var(--ism-secondary);
}
body.brand-fy27 .footer--chapter .footer__row--bottom .footer__copyright .footer__link,
body.brand-fy27 .footer--chapter .footer__row--bottom .footer__copyright span {
  color: var(--ism-secondary);
}

/* Blue rail note + hero breadcrumb hover */
body.brand-fy27 .blue-rail .blue-rail__note,
body.brand-fy27 .blue-rail .blue-rail__note:after,
body.brand-fy27 [data-hero-memberfee] .breadcrumb-item a:hover {
  color: var(--seg-primary);
}


/* --- 3g. Form controls -------------------------------------------------- */

body.brand-fy27 .form-control {
  border-radius: var(--ism-radius-sm);
  border-color: var(--ism-hairline);
}
body.brand-fy27 .form-control:focus {
  border-color: var(--ism-primary);
  box-shadow: 0 0 0 3px rgba(0, 81, 149, .18);
}


/* ==========================================================================
   4. SITE NAV -- collapses to its main row on scroll (desktop, every page)

   Ported from CMS 13. The script in _Header.cshtml sets .isStuck and the
   --nav-* properties; the rules below unwind the legacy Home/Conference
   #rootOfObserver scroll container so the window scrolls.
   ========================================================================== */

body.brand-fy27 .sticky_sentinel { display: none; }

@media (min-width: 1024px) {
  body.brand-fy27.HomePage,
  body.brand-fy27.ConferencePage {
    display: block;
    height: auto;
  }
  body.brand-fy27.HomePage #rootOfObserver,
  body.brand-fy27.ConferencePage #rootOfObserver {
    overflow: visible;
    height: auto;
  }

  body.brand-fy27 [data-nav-main] {
    position: fixed;
    top: var(--nav-top, 0px);
    margin-bottom: 0;
  }
  body.brand-fy27 [data-nav-main].navDNN { position: relative; }
  /* Impersonation keeps the nav in flow. */
  body.brand-fy27 .impersonate ~ [data-nav-main] { position: static; }

  /* Logo spans both rows; stuck, only the main row. */
  body.brand-fy27 [data-nav-main] .col--hasLogo {
    margin-top: 0;
    height: var(--nav-expanded-row-height, 12.8rem);
    padding: 1.6rem 0;
  }
  /* Beats !important logo offsets in chapter CMS styles. */
  body.brand-fy27 #navApp:not(.isStuck) .col--hasLogo {
    margin-top: 0 !important;
    padding: 1.6rem 0 !important;
  }
  body.brand-fy27 [data-nav-main].isStuck .col--hasLogo {
    margin-top: var(--nav-utility-height, 6.4rem);
    height: var(--nav-main-height, 6.4rem);
    padding: 0;
  }

  /* Mega-menu sits under the nav. */
  body.brand-fy27 [data-nav-main] .nav__hasL2s { top: var(--nav-expanded-height, 12.8rem); }

  /* Solid nav on Home/Conference too. */
  body.brand-fy27.HomePage [data-nav-main]:not(.isStuck) .nav__wrapper--inner,
  body.brand-fy27.HomePage [data-nav-main]:not(.isStuck) .nav__wrapper--outer,
  body.brand-fy27.ConferencePage [data-nav-main]:not(.isStuck) .nav__wrapper--inner,
  body.brand-fy27.ConferencePage [data-nav-main]:not(.isStuck) .nav__wrapper--outer {
    background: var(--ism-primary-dark);
  }

  /* Home reserves the nav's height; Conference keeps 0. */
  body.brand-fy27.HomePage [data-nav-main] ~ .main { padding-top: 12.8rem; }
}

/* The hex watermark belongs to the old dark hero. */
body.brand-fy27.HomePage .hex-bg { display: none; }


/* ==========================================================================
   5. HOME PAGE COMPONENTS -- values from CMS 13 _fy27.scss
   ========================================================================== */

/* --- 5a. Section spacing (legacy .component pads 12.8rem) -------------- */

/* The hero has its own top padding. */
body.brand-fy27 .homeHeadline__section,
body.brand-fy27 #main > .homeHeadline__section { padding-top: 0; padding-bottom: 0; }
body.brand-fy27 .homeSegments          { padding-bottom: 4.8rem; }
@media (max-width: 767px) {
  body.brand-fy27 .homeSegments { padding-bottom: 2.4rem; }
}


/* --- 5b. Hero -------------------------------------------------------- */

body.brand-fy27 .homeHeadline {
  text-align: center;
  padding: 6.4rem 3.2rem 4.8rem;
  max-width: 104rem;
  margin: 0 auto;
}
body.brand-fy27 .homeHeadline__eyebrow {
  font-family: var(--ism-font-body);
  font-weight: 600;
  font-size: 1.3rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--ism-ink-muted);
  padding-bottom: 2.4rem;
}
body.brand-fy27 .homeHeadline__title { font-size: 5.6rem; }
body.brand-fy27 .homeHeadline__subtitle {
  font-family: var(--ism-font-headline);
  font-weight: 400;
  font-size: 2.2rem;
  color: var(--ism-ink);
}
/* !important beats inline colour in legacy rich text. */
body.brand-fy27 .homeHeadline__subtitle,
body.brand-fy27 .homeHeadline__subtitle * {
  color: var(--ism-ink) !important;
}
body.brand-fy27 .homeHeadline__subtitle > * { line-height: 1.1; }
body.brand-fy27 .homeHeadline__subtitle > :last-child { padding-bottom: 0; }
body.brand-fy27 .homeHeadline .button__center { margin-top: 2.4rem; }
@media (max-width: 767px) {
  body.brand-fy27 .homeHeadline { padding: 3.2rem 1.6rem; }
  body.brand-fy27 .homeHeadline__title { font-size: 3.6rem; }
}


/* --- 5c. Segment cards ----------------------------------------------- */

body.brand-fy27 .segmentCard__col { margin-bottom: 2.4rem; display: flex; }

body.brand-fy27 .segmentCard {
  background-color: var(--seg-surface);
  color: var(--seg-ink);
  border-top: var(--ism-border-accent) solid var(--seg-primary);
  border-radius: var(--ism-radius-sm);
  box-shadow: var(--ism-shadow-soft);
  padding: 2.4rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}
body.brand-fy27 .segmentCard__eyebrow {
  font-family: var(--ism-font-body);
  font-weight: 600;
  font-size: 1.2rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--ism-ink-muted);
  padding-bottom: .8rem;
}
body.brand-fy27 .segmentCard__heading {
  font-size: 2.2rem;
  color: var(--seg-ink);
  padding-bottom: .8rem;
}
body.brand-fy27 .segmentCard__teaser {
  font-size: 1.5rem;
  color: var(--seg-ink);
  flex-grow: 1;
  padding-bottom: 1.6rem;
}
/* !important beats inline colour in legacy rich text. */
body.brand-fy27 .segmentCard__teaser,
body.brand-fy27 .segmentCard__teaser * {
  color: var(--seg-ink) !important;
}
body.brand-fy27 .segmentCard__link {
  align-self: flex-start;
  font-family: var(--ism-font-headline);
  font-weight: 700;
  font-size: 1.4rem;
  text-decoration: underline;
  color: var(--seg-primary);
}
body.brand-fy27 .segmentCard__link:hover,
body.brand-fy27 .segmentCard__link:focus { text-decoration: none; }

/* Team card: invert eyebrow and link. */
body.brand-fy27 .segment--team .segmentCard__eyebrow { color: rgba(255, 255, 255, .85); }
body.brand-fy27 .segment--team .segmentCard__link { color: #fff; }


/* --- 5d. CTA box; .ctaBox--plain = light surface ----------------------- */

/* Full-width content (cake.css pins 55%). */
body.brand-fy27 .ctaBox__bg { padding: 3.5rem 3rem; min-height: 0; }
body.brand-fy27 .ctaBox__content,
body.brand-fy27 .ctaBox__bg[data-bg=""] .ctaBox__content { width: 100%; }

body.brand-fy27 .ctaBox__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  align-items: center;
}
/* Legacy .button--white has no border; give every button one. */
body.brand-fy27 .ctaBox__buttons .button {
  border-style: solid;
  border-width: 2px;
  padding: 1rem 2rem;
  font-weight: 700;
}

/* Plain card */
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain {
  background-color: #fff;
  box-shadow: none;
}
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__bg {
  box-shadow: none;
  padding-left: 0;
  padding-right: 0;
}
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__headline,
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__text {
  color: var(--ism-ink);
}
/* !important beats inline colour in legacy rich text. */
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__text * {
  color: var(--ism-ink) !important;
}
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__buttons .button--white {
  background-color: var(--ism-primary);
  border-color: var(--ism-primary);
  color: #fff;
}
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__buttons .button--white:hover,
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__buttons .button--white:focus {
  background-color: var(--ism-primary-hover);
  border-color: var(--ism-primary-hover);
}
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__buttons .button--secondary {
  background-color: transparent;
  border-color: var(--ism-primary);
  color: var(--ism-primary);
}
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__buttons .button--secondary:hover,
body.brand-fy27 .ctaBoxWithImage.ctaBox--plain .ctaBox__buttons .button--secondary:focus {
  background-color: var(--ism-primary);
  color: #fff;
}

/* Dark card */
body.brand-fy27 .ctaBoxWithImage:not(.ctaBox--plain) .ctaBox__text * { color: #fff; }
body.brand-fy27 .ctaBoxWithImage:not(.ctaBox--plain) .ctaBox__buttons .button--white {
  border-color: #fff;
  color: var(--ism-primary);
}
body.brand-fy27 .ctaBoxWithImage:not(.ctaBox--plain) .ctaBox__buttons .button--white:hover,
body.brand-fy27 .ctaBoxWithImage:not(.ctaBox--plain) .ctaBox__buttons .button--white:focus {
  background-color: var(--ism-primary);
  border-color: #fff;
  color: #fff;
}
body.brand-fy27 .ctaBoxWithImage:not(.ctaBox--plain) .ctaBox__buttons .button--secondary {
  background-color: transparent;
  border-color: #fff;
  color: #fff;
}
body.brand-fy27 .ctaBoxWithImage:not(.ctaBox--plain) .ctaBox__buttons .button--secondary:hover,
body.brand-fy27 .ctaBoxWithImage:not(.ctaBox--plain) .ctaBox__buttons .button--secondary:focus {
  background-color: #fff;
  color: var(--ism-primary);
}


/* --- 5e. Gradient band ----------------------------------------------- */

body.brand-fy27 .gradientBand__section { padding-bottom: 0; margin-top: 4rem; }
body.brand-fy27 .component:has(+ .gradientBand__section) { padding-bottom: 0; }
/* A two-up CTA row straight after the band gets the same 4rem gap. */
body.brand-fy27 .gradientBand__section + .component:has(> .twoCTA__container),
body.brand-fy27 .gradientBand__section + .anchor + .component:has(> .twoCTA__container) { padding-top: 4rem; }
body.brand-fy27 .gradientBand {
  color: #fff;
  padding: 1.2rem 3.2rem;
}
body.brand-fy27 .gradientBand__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 1.6rem 2.4rem;
}
body.brand-fy27 .gradientBand__headline {
  font-size: 2.2rem;
  color: #fff;
  padding-bottom: 0;
  margin-bottom: 0;
}
body.brand-fy27 .gradientBand .button {
  margin: 0;
  padding: .6rem 1.6rem;
}
body.brand-fy27 .gradientBand__additional {
  font-family: var(--ism-font-headline);
  font-weight: 600;
  font-size: 1.8rem;
  color: #fff;
}
body.brand-fy27 .gradientBand__additional:empty { display: none; }
/* !important beats inline colour in legacy rich text. */
body.brand-fy27 .gradientBand__additional,
body.brand-fy27 .gradientBand__additional * {
  color: #fff !important;
}
body.brand-fy27 .gradientBand p { margin-bottom: 0; padding-bottom: 0; }
@media (max-width: 767px) {
  body.brand-fy27 .gradientBand__inner { flex-direction: column; text-align: center; }
}


/* --- 5f. Get Involved collection (once a segment is picked) ------------ */

body.brand-fy27 .getInvolvedSection { padding: 6.4rem 0; }
body.brand-fy27 .getInvolvedSection .section__headline { color: var(--ism-ink); }

/* Undo the legacy .box border and hover offset. */
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box {
  background-color: var(--seg-surface);
  color: var(--seg-ink);
  border: 0;
  border-top: var(--ism-border-accent) solid var(--seg-primary);
  border-radius: var(--ism-radius-sm);
  box-shadow: var(--ism-shadow-soft);
  padding: 2.4rem;
}
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box:before { display: none; }
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box:hover .box__CTA,
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box:hover .box__headline,
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box:hover .box__teaser {
  color: inherit;
  -webkit-transform: none;
  transform: none;
}
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box__header { min-height: 0; }
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box__headline {
  color: var(--seg-ink);
  font-size: 2rem;
}
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box__teaser {
  color: var(--seg-ink);
  font-size: 1.5rem;
  padding-top: .8rem;
}
/* !important beats inline colour in legacy rich text. */
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box__teaser * {
  color: var(--seg-ink) !important;
}
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box__CTA {
  color: var(--seg-primary);
  font-family: var(--ism-font-headline);
  font-weight: 700;
  font-size: 1.3rem;
  text-decoration: underline;
  padding-top: 1.6rem;
}
/* Gold is decorative only: labelled links read in ink. */
body.brand-fy27 .getInvolvedSection.segment--accent .getInvolvedCollection .box__CTA { color: var(--ism-ink); }
body.brand-fy27 .getInvolvedSection.segment--team .getInvolvedCollection .box__CTA { color: #fff; }

/* Whole-box link (URL, no link text) */
body.brand-fy27 .box__CTA--stretched::after {
  content: "";
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
}
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box__CTA--stretched { padding: 0; }
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box:has(.box__CTA--stretched) {
  transition: box-shadow .2s ease;
}
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box:has(.box__CTA--stretched):hover {
  box-shadow: var(--ism-shadow-lg);
}
body.brand-fy27 .getInvolvedSection .getInvolvedCollection .box:has(.box__CTA--stretched:focus-visible) {
  outline: 2px solid var(--ism-primary);
  outline-offset: 2px;
}

/* Stats row (Statistics area) */
body.brand-fy27 .statRow { margin: 4.8rem 0 0; text-align: center; }
body.brand-fy27 .statRow__item { padding: 1.6rem; }
body.brand-fy27 .statRow__value {
  font-family: var(--ism-font-headline);
  font-weight: 400;
  font-size: 7.2rem;
  line-height: 1;
  color: var(--ism-ink);
}
body.brand-fy27 .statRow__label {
  max-width: 22rem;
  margin: 1.6rem auto 0;
  font-size: 1.6rem;
  color: var(--ism-ink);
}
@media (max-width: 767px) {
  body.brand-fy27 .statRow__value { font-size: 5.6rem; }
}

/* ByTheNumbersBlock */
body.brand-fy27 .numbers__text--top {
  font-family: var(--ism-font-headline);
  font-weight: 700;
  font-size: 6.4rem;
  line-height: 1;
  color: var(--ism-ink);
  padding-bottom: .8rem;
}
body.brand-fy27 .numbers__text--bottom {
  font-size: 1.5rem;
  line-height: 1.4;
  color: var(--ism-ink-muted);
  max-width: 24rem;
  margin: 0 auto;
}
body.brand-fy27 .numbers__list__item { text-align: center; }
@media (max-width: 767px) {
  body.brand-fy27 .numbers__text--top { font-size: 4.8rem; }
  body.brand-fy27 .numbers__list__item { margin-bottom: 3.2rem; }
}


/* --- 5g. Featured item card row -------------------------------------- */

body.brand-fy27 .featuredItemWithList__section {
  background-color: #fff;
  padding: 6.4rem 0;
}
body.brand-fy27 .featuredItemWithList--cards > .row { row-gap: 2.4rem; }

body.brand-fy27 .featuredItemWithList--cards .featuredItem--card {
  background-color: #fff;
  border-radius: var(--ism-radius-sm);
  box-shadow: var(--ism-shadow-soft);
  overflow: hidden;
  height: 100%;
  padding-bottom: 0;
  display: flex;
  flex-direction: column;
}
/* Drop the legacy wrapper padding and image shadow. */
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__img__wrapper {
  margin: 0;
  padding-bottom: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__img__wrapper a { display: block; height: 100%; }
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__img__wrapper .featuredItem__img {
  box-shadow: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__card__body {
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: .8rem;
  flex: 1 1 auto;
}
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__row {
  padding: 0;
  gap: 1.6rem;
  flex-wrap: wrap;
  font-size: 1.2rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__date,
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__member,
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__category {
  margin-right: 0;
  padding-bottom: 0;
  font-family: var(--ism-font-headline);
  font-size: 1.4rem;
}
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__date {
  font-weight: 700;
  color: var(--ism-ink);
}
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__member,
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__category {
  color: var(--ism-accent);
  font-weight: 700;
}
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__headline { padding-bottom: 0; }
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__headline a {
  font-family: var(--ism-font-headline);
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--ism-ink);
  text-decoration: underline;
}
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__headline a:hover,
body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__headline a:focus {
  color: var(--ism-primary-hover);
}
/* Equal image heights across the row. */
@media (min-width: 992px) {
  body.brand-fy27 .featuredItemWithList--cards .featuredItem--card .featuredItem__img__wrapper {
    aspect-ratio: auto;
    height: min(17.6rem, 14vw);
  }
}

body.brand-fy27 .featuredItemWithList--cards .featuredItemWithList__button__wrapper { padding-top: 3.2rem; }
body.brand-fy27 .featuredItemWithList--cards .featuredItemWithList__button__wrapper .button {
  padding: 1rem 2rem;
  margin-top: 0;
}


/* ==========================================================================
   6. NEWSLETTER SIGNUP (global HubSpot form)

   cake.css lays the form out as one flex row, built for an email-and-submit
   form; with the consent text and reCAPTCHA it collapses into slivers. This
   stacks it. Selectors carry .hbspt-form .hs-form to outrank the legacy
   `main>.hubspotLast:nth-last-child(n)` rules.
   ========================================================================== */

body.brand-fy27 .hubspot .hbspt-form .hs-form {
  display: block;
  max-width: 56rem;
  margin: 0 auto;
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs-richtext h3 {
  font-size: 2.8rem;
  text-align: center;
  padding-bottom: 2.4rem;
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_email {
  display: block;
  position: relative;
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_email > label:not(.hs-error-msg) {
  display: block;
  width: auto;
  margin: 0;
  padding-bottom: .8rem;
  transform: none;
  font-family: var(--ism-font-body);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--ism-ink);
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_email > label:not(.hs-error-msg):before { content: none; }
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_email .input {
  display: block;
  padding: 0;
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_email .input input {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 1rem 1.2rem;
  border: 1px solid var(--ism-hairline);
  border-radius: var(--ism-radius-sm);
  background-color: #fff;
  font: 400 1.6rem/1.4 var(--ism-font-body);
  color: var(--ism-ink);
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_email .input input:focus {
  border-color: var(--ism-primary);
  outline: 2px solid var(--ism-primary);
  outline-offset: 1px;
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_email .hs-error-msgs {
  position: static;
  transform: none;
  margin: 0;
  padding: .8rem 0 0;
  list-style: none;
  color: var(--ism-error);
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .legal-consent-container {
  padding-top: 2.4rem;
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--ism-ink);
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .legal-consent-container p { padding-bottom: 1.2rem; }
body.brand-fy27 .hubspot .hbspt-form .hs-form .inputs-list {
  list-style: none;
  margin: 0 0 1.2rem;
  padding: 0;
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .inputs-list label {
  display: flex;
  gap: .8rem;
  align-items: flex-start;
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .inputs-list label > span { margin-left: 0; }
body.brand-fy27 .hubspot .hbspt-form .hs-form .inputs-list input[type="checkbox"] {
  flex: 0 0 auto;
  width: 1.8rem;
  height: 1.8rem;
  margin: .2rem 0 0;
  accent-color: var(--ism-primary);
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_recaptcha { padding-top: 1.2rem; }
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_submit {
  align-self: auto;
  padding: 2.4rem 0 0;
}
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs_submit .actions { margin: 0; text-align: left; }
body.brand-fy27 .hubspot .hbspt-form .hs-form .hs-button {
  margin: 0;
  padding: 1rem 2rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}


/* ==========================================================================
   7. SEGMENT LANDING PAGES -- values from CMS 13 _fy27.scss

   MemberLandingPage with a Segment Hero. The page's Segment Theme is a
   .segment--* class on .segmentPage, so Growth/Leadership need no new CSS.
   ========================================================================== */

/* --- 7a. Section nav ------------------------------------------------------ */

body.brand-fy27 .sectionNav { background-color: var(--seg-primary); }
body.brand-fy27 .sectionNav__list {
  display: flex;
  gap: 3.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
}
body.brand-fy27 .sectionNav__link,
body.brand-fy27 .sectionNav__link:link,
body.brand-fy27 .sectionNav__link:visited {
  display: block;
  padding: 1.6rem 0 1.3rem;
  border-bottom: 3px solid transparent;
  font-family: var(--ism-font-headline);
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  color: #fff;
  text-decoration: none;
}
body.brand-fy27 .sectionNav__link:hover,
body.brand-fy27 .sectionNav__link:focus-visible,
body.brand-fy27 .sectionNav__link[aria-current="page"] {
  color: #fff;
  border-bottom-color: #fff;
}

/* The hero below carries its own top padding. */
body.brand-fy27 .segmentPage .breadcrumb { padding: 2.4rem 0 1.6rem; margin-bottom: 0; }


/* --- 7b. Segment hero ----------------------------------------------------- */

body.brand-fy27 .segmentHero { padding: 4.8rem 0; }
body.brand-fy27 .segmentHero__eyebrow {
  font-family: var(--ism-font-headline);
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--seg-primary);
  padding-bottom: 1.6rem;
  margin: 0;
}
body.brand-fy27 .segmentHero__headline {
  font-size: 5.6rem;
  line-height: 1.05;
  color: var(--ism-ink);
  text-transform: none;
  padding-bottom: 2.4rem;
}
body.brand-fy27 .segmentHero__teaser {
  font-size: 2.4rem;
  line-height: 1.4;
  color: var(--ism-ink);
  padding-bottom: 3.2rem;
  margin: 0;
}
body.brand-fy27 .segmentHero__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
body.brand-fy27 .segmentHero__button,
body.brand-fy27 .segmentHero__button:link,
body.brand-fy27 .segmentHero__button:visited {
  margin: 0;
  padding: 1.2rem 2.4rem;
  border: 2px solid var(--seg-primary);
  border-radius: var(--ism-radius-sm);
  font-size: 1.8rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
body.brand-fy27 .segmentHero__button--primary,
body.brand-fy27 .segmentHero__button--primary:link,
body.brand-fy27 .segmentHero__button--primary:visited {
  background-color: var(--seg-primary);
  color: #fff;
}
body.brand-fy27 .segmentHero__button--secondary,
body.brand-fy27 .segmentHero__button--secondary:link,
body.brand-fy27 .segmentHero__button--secondary:visited {
  background-color: transparent;
  color: var(--seg-primary);
}
/* No -dark tokens: the primary darkens, the secondary fills. */
body.brand-fy27 .segmentHero__button--primary:hover,
body.brand-fy27 .segmentHero__button--primary:focus { filter: brightness(.88); color: #fff; }
body.brand-fy27 .segmentHero__button--secondary:hover,
body.brand-fy27 .segmentHero__button--secondary:focus {
  background-color: var(--seg-primary);
  color: #fff;
}
body.brand-fy27 .segmentHero__img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 991px) {
  body.brand-fy27 .segmentHero__media { padding-top: 3.2rem; }
}
@media (max-width: 767px) {
  body.brand-fy27 .segmentHero { padding: 3.2rem 0 4.8rem; }
  body.brand-fy27 .segmentHero__headline { font-size: 3.6rem; }
  body.brand-fy27 .segmentHero__teaser { font-size: 1.8rem; }
}


/* --- 7c. Path card (CTAs with Icons, Display Style = Path card) ----------
   The row is the card. In view mode the columns are direct children of the
   row; in edit mode the ContentArea adds an area div and one div per item. */

body.brand-fy27 .ctaWithIconCollection.ctaWithIconCollection--path {
  align-items: stretch;
  padding: 0;
  border: 0;
  box-shadow: none;
  background-color: transparent;
}
body.brand-fy27 .ctaWithIconCollection--path .ctaWithIconCollection__header {
  width: 100%;
  padding-bottom: 0;
}
body.brand-fy27 .ctaWithIconCollection--path .ctaWithIconCollection__headline {
  color: var(--ism-ink);
  margin: 0;
  padding-bottom: 1.6rem;
}
body.brand-fy27 .ctaWithIconCollection--path .iconcard__row,
body.brand-fy27 .ctaWithIconCollection--path .iconcard__row--no-border {
  flex-wrap: nowrap;
  margin: 0;
  padding: 2.8rem 0;
  background-color: #fff;
  border-top: var(--ism-border-accent) solid var(--seg-primary);
  box-shadow: var(--ism-shadow-lg);
}
body.brand-fy27 .ctaWithIconCollection--path .iconcard__col,
body.brand-fy27 .ctaWithIconCollection--path [class*="iconcard__row"] > div:not(.iconcard__col):not(.anchor) > div {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
}
body.brand-fy27 .ctaWithIconCollection--path .iconcard__col {
  width: 100%;
  padding: 0 3.2rem;
  border: 0;
}
body.brand-fy27 .ctaWithIconCollection--path [class*="iconcard__row"] > div:not(.iconcard__col):not(.anchor) {
  display: flex;
  width: 100%;
  padding: 0;
}
body.brand-fy27 .ctaWithIconCollection--path .iconcard__row .iconcard__col ~ .iconcard__col,
body.brand-fy27 .ctaWithIconCollection--path .iconcard__row > div:not(.iconcard__col):not(.anchor) > div + div {
  border-left: 1px solid var(--ism-hairline);
}
/* The category slot holds whitespace unless it carries the members-only lock. */
body.brand-fy27 .ctaWithIconCollection--path .iconcard__icon,
body.brand-fy27 .ctaWithIconCollection--path .iconcard__category:not(:has(*)) { display: none; }
body.brand-fy27 .ctaWithIconCollection--path .iconcard__col .iconcard {
  padding-bottom: 0;
  border-top: 0;
}
body.brand-fy27 .ctaWithIconCollection--path .iconcard__content { text-align: left; }
body.brand-fy27 .ctaWithIconCollection--path .iconcard__headline {
  font-family: var(--ism-font-body);
  font-size: 2.4rem;
  font-weight: 600;
  text-transform: none;
  color: var(--seg-primary);
  padding-bottom: .4rem;
}
body.brand-fy27 .ctaWithIconCollection--path .iconcard__link .iconcard__headline { text-decoration: underline; }
body.brand-fy27 .ctaWithIconCollection--path .iconcard__link:hover .iconcard__headline,
body.brand-fy27 .ctaWithIconCollection--path .iconcard__link:focus .iconcard__headline {
  color: var(--seg-primary);
  text-decoration: none;
}
body.brand-fy27 .ctaWithIconCollection--path .iconcard__text {
  color: var(--ism-ink);
  font-size: 1.6rem;
}
body.brand-fy27 .ctaWithIconCollection--path .iconcard__text > :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
@media (max-width: 991px) {
  body.brand-fy27 .ctaWithIconCollection--path .iconcard__row,
  body.brand-fy27 .ctaWithIconCollection--path .iconcard__row--no-border,
  body.brand-fy27 .ctaWithIconCollection--path [class*="iconcard__row"] > div:not(.iconcard__col):not(.anchor) {
    flex-direction: column;
  }
  body.brand-fy27 .ctaWithIconCollection--path .iconcard__row,
  body.brand-fy27 .ctaWithIconCollection--path .iconcard__row--no-border { padding: 0 2.4rem; }
  body.brand-fy27 .ctaWithIconCollection--path .iconcard__col { padding: 2.4rem 0; }
  body.brand-fy27 .ctaWithIconCollection--path .iconcard__row .iconcard__col ~ .iconcard__col,
  body.brand-fy27 .ctaWithIconCollection--path .iconcard__row > div:not(.iconcard__col):not(.anchor) > div + div {
    border-left: 0;
    border-top: 1px solid var(--ism-hairline);
  }
}
