/*
 * Open homepage, white coachwork.
 * A page-scoped surface system that leaves the protected Orb untouched.
 */

.site-v2.premium-home {
  --home-white: var(--ttb-bg-base);
  --home-surface: var(--ttb-bg-surface);
  --home-ice: var(--ttb-bg-subtle);
  --home-ice-strong: var(--ttb-bg-ice);
  --home-chapter: var(--ttb-bg-chapter);
  --home-line: var(--ttb-border-base);
  --home-line-soft: var(--ttb-border-subtle);
  --home-ink: var(--ttb-fg-base);
  --home-body: var(--ttb-fg-subtle);
  --home-muted: var(--ttb-fg-muted);
  --home-petrol: var(--ttb-accent-primary);
  --home-petrol-hover: var(--ttb-accent-primary-hover);
  --home-signal: var(--ttb-accent-primary);
  --home-night: var(--ttb-bg-inverse);
  --open-motion-fast: 180ms;
  --open-motion-base: 280ms;
  --open-motion-surface: 420ms;
  --open-motion-hero: 600ms;
  --open-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  background: var(--home-white);
  color: var(--home-ink);
}

/* A dark photographic prelude gives way to the white editorial document. */
.premium-home .announcement-v2 {
  background: var(--home-night);
}

.premium-home .site-header-v3:not(.is-condensed) {
  background: var(--home-night);
  border-color: color-mix(in srgb, var(--home-white) 14%, transparent);
  color: var(--home-white);
}

.premium-home .site-header-v3.is-condensed {
  background: color-mix(in srgb, var(--home-white) 98%, transparent);
  border-color: var(--home-line);
  color: var(--home-ink);
  box-shadow: 0 8px 28px color-mix(in srgb, var(--home-night) 5.5%, transparent);
}

.premium-home .site-header-v3:not(.is-condensed) :is(.brand-open, .nav-link, .mobile-toggle) {
  color: var(--home-white);
}

.premium-home .site-header-v3:not(.is-condensed) .brand-descriptor {
  color: color-mix(in srgb, var(--home-white) 72%, transparent);
  opacity: 1;
}

.premium-home .site-header-v3:not(.is-condensed) .language-trigger {
  color: color-mix(in srgb, var(--home-white) 76%, transparent);
}

.premium-home .language-trigger {
  border-color: color-mix(in srgb, currentColor 22%, transparent);
}

.premium-home .language-option.is-active {
  background: var(--home-ice);
  color: var(--home-petrol);
}

.premium-home .language-menu {
  background: var(--home-white);
  border-color: var(--home-line);
}

.premium-home .language-option:hover {
  background: var(--home-ice);
}

.premium-home .site-header-v3:not(.is-condensed) .language-trigger:hover,
.premium-home .site-header-v3:not(.is-condensed) .language-switcher.is-open .language-trigger {
  background: color-mix(in srgb, var(--home-white) 10%, transparent);
  border-color: color-mix(in srgb, var(--home-white) 40%, transparent);
  color: var(--home-white);
}

.premium-home .site-header-v3:not(.is-condensed) .header-cta {
  background-color: var(--home-white);
  background-image: linear-gradient(var(--home-white), var(--home-white));
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 0 100%;
  border-color: var(--home-white);
  color: var(--home-night);
}

.premium-home .site-header-v3:not(.is-condensed) .header-cta:hover,
.premium-home .site-header-v3:not(.is-condensed) .header-cta:focus-visible {
  background-color: var(--home-petrol);
  background-size: 0 100%;
  border-color: var(--home-petrol);
  color: var(--home-white);
}

.premium-home .site-header-v3:not(.is-condensed) :is(a, button):focus-visible {
  outline-color: var(--ttb-focus-inverse);
}

.premium-home .nav-link::before {
  background: var(--home-white);
}

.premium-home .site-header-v3.is-condensed .nav-link::before,
.premium-home .site-header-v3.mega-open .nav-link::before {
  background: var(--home-petrol);
}

.premium-home .site-header-v3.mega-open {
  background: var(--home-white);
  border-color: var(--home-line);
  color: var(--home-ink);
}

.premium-home .site-header-v3.mega-open :is(.brand-open, .brand-descriptor, .nav-link, .language-trigger) {
  color: var(--home-ink);
}

.premium-home .site-header-v3 .mobile-toggle-bar {
  background: currentColor;
}

.premium-home .mega {
  background: var(--home-white);
  border-color: var(--home-line);
  box-shadow: 0 3px 8px color-mix(in srgb, var(--home-night) 8%, transparent);
  transform-origin: top center;
  transition: box-shadow var(--open-motion-fast) ease;
}

.premium-home :is(.mega-frameworks-side, .mega-feature-lg) {
  background: var(--home-ice);
  border-color: var(--home-line);
}

.premium-home .mega-frameworks-side[data-mega-media] {
  background: var(--home-night);
  color: var(--home-white);
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.premium-home .mega-frameworks-side[data-mega-media]::before,
.premium-home .mega-frameworks-side[data-mega-media]::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.premium-home .mega-frameworks-side[data-mega-media]::before {
  background: var(--mega-media) center / cover no-repeat;
  filter: saturate(0.72) contrast(1.04) brightness(0.86);
  opacity: 0;
  transform: scale(1.025);
  transition: opacity var(--open-motion-surface) var(--open-ease-out), transform var(--open-motion-hero) var(--open-ease-out);
  z-index: 0;
}

.premium-home .mega-frameworks-side[data-mega-media]::after {
  background: linear-gradient(180deg, color-mix(in srgb, var(--home-night) 24%, transparent), color-mix(in srgb, var(--home-night) 92%, transparent));
  z-index: 1;
}

.premium-home .mega-frameworks-side[data-mega-media] > * {
  position: relative;
  z-index: 2;
}

.premium-home .nav-item.is-open .mega-frameworks-side.is-media-ready::before {
  opacity: 0.68;
  transform: scale(1);
}

.premium-home .site-header-v3 .mega-frameworks-side .mega-side-title {
  color: var(--home-white);
}

.premium-home .site-header-v3 .mega-frameworks-side .mega-side-blurb {
  color: color-mix(in srgb, var(--home-white) 78%, transparent);
}

.premium-home .site-header-v3 .mega-frameworks-side .mega-all-link {
  color: var(--home-white);
}

.premium-home .site-header-v3 .mega-frameworks-side .mega-all-link:hover,
.premium-home .site-header-v3 .mega-frameworks-side .mega-all-link:focus-visible {
  color: var(--home-white);
}

.premium-home :is(.fw-grid, .mega-cards-grid, .mega-stage) {
  background: var(--home-line);
  border-color: var(--home-line);
}

.premium-home :is(.fw-tile, .mega-card, .stage-card, .mega-link) {
  background: var(--home-white);
}

.premium-home :is(.fw-tile, .mega-card, .stage-card, .mega-link):hover {
  background: var(--home-ice);
}

/* The first viewport is an editorial white field with a contained image plane. */
.premium-home .premium-hero {
  background: var(--home-white);
  border-bottom: 1px solid var(--home-line);
  color: var(--home-ink);
}

.premium-home .premium-hero-image {
  filter: saturate(0.62) contrast(1.025) brightness(1.02);
  inset: 0 0 0 auto;
  object-position: 63% center;
  transform: none;
  width: 52%;
  z-index: 0;
}

.premium-home .premium-hero-shade {
  background:
    linear-gradient(90deg, var(--home-white) 0%, var(--home-white) 42%, color-mix(in srgb, var(--home-white) 95%, transparent) 51%, color-mix(in srgb, var(--home-white) 36%, transparent) 68%, color-mix(in srgb, var(--home-night) 20%, transparent) 100%),
    linear-gradient(0deg, color-mix(in srgb, var(--home-night) 24%, transparent), transparent 45%);
  z-index: 1;
}

.premium-home .premium-hero::after {
  background-image:
    linear-gradient(color-mix(in srgb, var(--home-ink) 5.5%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--home-ink) 5.5%, transparent) 1px, transparent 1px);
  mask-image: linear-gradient(90deg, black 0%, black 46%, transparent 68%);
  opacity: 0.62;
  z-index: 2;
}

.premium-home :is(.premium-hero-grid, .premium-hero-rail) {
  position: relative;
  z-index: 3;
}

.premium-home .premium-hero-copy h1 {
  color: var(--home-ink);
  max-width: 17ch;
}

.premium-home .premium-hero-copy > p:not(.premium-hero-eyebrow) {
  color: var(--home-body);
  max-width: 58ch;
}

/* White, ice and charcoal now mark changes in meaning rather than decoration. */
.premium-home .client-proof-band {
  background: var(--home-ice);
  border-color: var(--home-line);
}

.premium-home .decision-system {
  background: var(--home-white);
  border-color: var(--home-line);
}

.premium-home .premium-intro {
  background: var(--home-white);
}

.premium-home .practice-stage {
  background: var(--home-line);
}

.premium-home .practice-panel-assurance {
  background: var(--home-white);
  border-color: var(--home-line);
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance) {
  background: var(--home-night);
  color: var(--home-white);
  isolation: isolate;
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance)::before,
.premium-home :is(.practice-panel-cyber, .practice-panel-assurance)::after {
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.premium-home .practice-panel-cyber::before {
  background: url("/assets/open-editorial-cybersecurity-v2.webp") 58% center / cover no-repeat;
}

.premium-home .practice-panel-assurance::before {
  background: url("/assets/open-editorial-assurance-v2.webp") 62% center / cover no-repeat;
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance)::before {
  filter: saturate(0.82) contrast(1.04) brightness(0.86);
  transform: scale(1.001);
  transition: transform var(--open-motion-hero) var(--open-ease-out), filter var(--open-motion-base) ease;
  z-index: 0;
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance)::after {
  background: linear-gradient(180deg, color-mix(in srgb, var(--home-night) 38%, transparent), color-mix(in srgb, var(--home-night) 94%, transparent));
  z-index: 1;
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance) > * {
  position: relative;
  z-index: 2;
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance):hover::before,
.premium-home :is(.practice-panel-cyber, .practice-panel-assurance):focus-visible::before {
  filter: saturate(0.92) contrast(1.04) brightness(0.92);
  transform: scale(1.025);
}

.premium-home .rigor-section {
  background: var(--home-white);
  border-color: var(--home-line);
}

.premium-home .rigor-section > .rigor-proof {
  background: transparent;
  border-top: 1px solid var(--home-line);
  margin-top: clamp(68px, 8vw, 112px);
  padding: clamp(68px, 8vw, 112px) 0 0;
}

.premium-home .rigor-flow {
  border-color: var(--home-line);
}

.premium-home .rigor-flow li {
  border-color: var(--home-line);
}

.premium-home .rigor-flow li.is-active {
  background: var(--home-ice);
}

.premium-home .framework-ledger {
  background: var(--home-ice-strong);
  border-color: var(--home-line);
}

.premium-home .framework-ledger-grid {
  border-color: var(--home-line);
}

.premium-home .framework-ledger-grid a {
  --framework-color: var(--home-petrol);
  background: color-mix(in srgb, var(--home-white) 68%, transparent);
  border-color: var(--home-line);
}

.premium-home .framework-ledger-grid a:hover,
.premium-home .framework-ledger-grid a:focus-visible {
  background: var(--home-white);
}

.premium-home .decision-path {
  --path-color: var(--home-petrol);
  border-color: var(--home-line);
}

.premium-home .decision-path-grid {
  border-color: var(--home-line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.premium-home .decision-path {
  min-height: 330px;
}

.premium-home .decision-path:hover,
.premium-home .decision-path:focus-visible {
  background: var(--home-night);
}

.premium-home .field-notes {
  background: var(--home-white);
}

.premium-home .proof-section {
  background: var(--home-ice);
  border-color: var(--home-line);
}

.premium-home .proof-lines,
.premium-home .proof-lines a,
.premium-home .field-notes-list,
.premium-home .field-notes-list a {
  border-color: var(--home-line);
}

@media (max-width: 980px) {
  .premium-home .premium-hero-image {
    opacity: 0.7;
    width: 58%;
  }

  .premium-home .decision-path-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .premium-home .decision-path,
  .premium-home .framework-ledger-grid a {
    min-height: 0;
  }

  .premium-home .decision-path-grid {
    grid-template-columns: 1fr;
  }

}

/* Keep the full navigation visible on compact desktop and notebook widths.
   The shared shell collapses at 1180px, which made the menu appear to vanish
   inside narrower browser panels. Only true tablet/mobile widths use the
   drawer; secondary header actions yield first so the navigation can breathe. */
@media (min-width: 981px) and (max-width: 1180px) {
  .premium-home .site-header-v3 .primary-nav {
    display: block;
    margin-left: auto;
  }

  .premium-home .site-header-v3 .nav-link {
    font-size: 0.73rem;
    padding-inline: 8px;
  }

  .premium-home .site-header-v3 .header-cta {
    display: none;
  }

  .premium-home .site-header-v3 .mobile-toggle {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .premium-home .premium-hero-image {
    transform: none !important;
  }
}

/* Image-led v2. The homepage opens as a cinematic trust scene, then resolves
   into the white and ice document system below. The Orb remains untouched. */
.premium-home .premium-hero-image {
  filter: saturate(0.86) contrast(1.035) brightness(0.9);
  inset: 0;
  object-position: center center;
  width: 100%;
}

@media (max-width: 680px) {
  .premium-home .announcement-v2 {
    display: none;
  }

  .premium-home .site-header-v3:not(.is-condensed) .header-inner {
    height: 84px;
    min-height: 84px;
  }

  .premium-home .site-header-v3:not(.is-condensed) {
    background: var(--home-night);
    border-color: color-mix(in srgb, var(--home-white) 14%, transparent);
  }

  .premium-home .premium-hero-image,
  .premium-home .premium-hero-shade {
    display: block;
    height: max(744px, calc(100svh - 84px));
  }

  .premium-home .premium-hero::after {
    background-size: 48px 48px;
    mask-image: linear-gradient(180deg, transparent 0%, black 44%, black 100%);
    opacity: 0.38;
  }

  .premium-home .premium-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 360px;
    padding-bottom: 34px;
  }

  .premium-home .premium-hero-copy .hero-line,
  .premium-home .premium-hero-copy .hero-line > span {
    display: inline;
    overflow: visible;
    padding: 0;
  }

  .premium-home .premium-hero-copy .hero-line:first-child::after {
    content: " ";
  }

  .premium-home .premium-hero-actions {
    align-items: flex-start;
    gap: 16px;
    margin-top: 24px;
  }

  .premium-home .premium-hero-actions .btn {
    align-self: flex-start;
    justify-content: space-between;
    min-height: 52px;
    width: auto;
  }

  .premium-home .premium-hero-actions .premium-text-link {
    display: none;
  }

  .premium-home .orb-system {
    background: color-mix(in srgb, var(--home-night) 94%, black);
    margin-top: 30px;
  }

  .premium-home .premium-hero-rail {
    background: var(--home-night);
    grid-template-columns: repeat(3, 1fr);
    padding-bottom: 16px !important;
    padding-top: 16px !important;
  }

  .premium-home .premium-hero-rail span,
  .premium-home .premium-hero-rail span:not(:first-child) {
    border-left: 1px solid color-mix(in srgb, var(--home-white) 16%, transparent);
    font-size: var(--font-size-label);
    justify-content: center;
    min-height: 42px;
    padding-inline: 8px;
    text-align: center;
  }

  .premium-home .premium-hero-rail span:first-child {
    border-left: 0;
  }

  .premium-home .practice-panel-cyber h3 {
    font-size: clamp(1.875rem, 9vw, 2.75rem);
    overflow-wrap: anywhere;
  }

  .premium-home .mobile-drawer-v3 {
    background: var(--home-night);
    color: var(--home-white);
    opacity: 1;
    transform: translateX(100%);
    transition: transform var(--open-motion-surface) var(--open-ease-out), visibility 0s linear var(--open-motion-surface);
    visibility: hidden;
  }

  .premium-home .mobile-drawer-v3.is-open {
    transform: translateX(0);
    transition: transform var(--open-motion-surface) var(--open-ease-out), visibility 0s;
    visibility: visible;
  }

  .premium-home .mobile-drawer-v3 .mobile-drawer-inner {
    max-width: none;
    padding: 0 24px 48px;
  }

  .premium-home .mobile-drawer-v3 .mobile-drawer-header {
    background: var(--home-night);
    border-color: color-mix(in srgb, var(--home-white) 14%, transparent);
    min-height: 84px;
    padding-inline: 0;
  }

  .premium-home .mobile-drawer-v3 .mobile-drawer-brand,
  .premium-home .mobile-drawer-v3 .mobile-nav-link,
  .premium-home .mobile-drawer-v3 .mobile-group summary {
    color: var(--home-white);
  }

  .premium-home .mobile-drawer-v3 .mobile-group,
  .premium-home .mobile-drawer-v3 .mobile-nav-link {
    border-color: color-mix(in srgb, var(--home-white) 14%, transparent);
  }

  .premium-home .mobile-drawer-v3 .mobile-group ul li a {
    color: color-mix(in srgb, var(--home-white) 70%, transparent);
  }

  .premium-home .mobile-drawer-v3 .mobile-close {
    background: transparent;
    border-color: color-mix(in srgb, var(--home-white) 28%, transparent);
    color: var(--home-white);
    height: 44px;
    padding: 0;
    place-items: center;
    width: 44px;
    min-width: 44px;
  }

  .premium-home .mobile-drawer-v3 .mobile-close:is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--home-white) 10%, transparent);
    border-color: var(--home-white);
    color: var(--home-white);
  }

  .premium-home .mobile-drawer-v3 .mobile-cta {
    background: var(--home-white);
    border-color: var(--home-white);
    color: var(--home-night);
  }

}

@media (prefers-reduced-motion: no-preference) and (min-width: 981px) {
  .premium-home .nav-item .fw-tile,
  .premium-home .nav-item .mega-card,
  .premium-home .nav-item .stage-card,
  .premium-home .nav-item .mega-link {
    opacity: 0;
    transform: translateY(10px);
  }

  .premium-home .nav-item.is-open .fw-tile,
  .premium-home .nav-item.is-open .mega-card,
  .premium-home .nav-item.is-open .stage-card,
  .premium-home .nav-item.is-open .mega-link {
    opacity: 1;
    transform: translateY(0);
    transition: opacity var(--open-motion-base) var(--open-ease-out), transform var(--open-motion-base) var(--open-ease-out);
  }

  .premium-home .nav-item.is-open :is(.fw-tile, .mega-card, .stage-card, .mega-link):nth-child(2) { transition-delay: 35ms; }
  .premium-home .nav-item.is-open :is(.fw-tile, .mega-card, .stage-card, .mega-link):nth-child(3) { transition-delay: 70ms; }
  .premium-home .nav-item.is-open :is(.fw-tile, .mega-card, .stage-card, .mega-link):nth-child(4) { transition-delay: 105ms; }
}

@media (prefers-reduced-motion: reduce) {
  .premium-home .premium-hero-image,
  .premium-home .premium-hero-copy,
  .premium-home .mobile-drawer-v3 {
    animation: none !important;
    transition-duration: 0.01ms !important;
  }
}

/* Bright editorial v3. Natural light carries the photography while the Orb
   remains the deliberate dark product object. */
.premium-home .premium-hero {
  background: var(--home-white);
  border-bottom-color: var(--home-line);
  color: var(--home-ink);
}

/* The signature Orb keeps its original halo and color ramp while the public
   interface around it moves to the blue-teal system. */
.premium-home .hero-v2-visual {
  --ttb-accent-rgb: 57, 119, 138;
}

.premium-home .premium-hero-image {
  filter: saturate(0.86) contrast(0.98) brightness(1.06);
}

.premium-home .premium-hero-shade {
  background:
    linear-gradient(90deg, var(--home-white) 0%, color-mix(in srgb, var(--home-white) 98%, transparent) 34%, color-mix(in srgb, var(--home-white) 86%, transparent) 44%, color-mix(in srgb, var(--home-white) 18%, transparent) 56%, transparent 72%),
    linear-gradient(0deg, color-mix(in srgb, var(--home-white) 12%, transparent), transparent 40%);
}

.premium-home .premium-hero::after {
  background-image:
    linear-gradient(color-mix(in srgb, var(--home-ink) 6%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--home-ink) 6%, transparent) 1px, transparent 1px);
  mask-image: linear-gradient(90deg, black 0%, black 48%, transparent 72%);
  opacity: 0.4;
}

.premium-home .premium-hero-copy h1 {
  color: var(--home-ink);
}

.premium-home .premium-hero-copy > p:not(.premium-hero-eyebrow) {
  color: var(--home-body);
}

.premium-home .premium-hero-eyebrow {
  color: var(--home-muted);
}

.premium-home .premium-hero-actions .btn-light {
  background: var(--home-night);
  border-color: var(--home-night);
  color: var(--home-white);
}

.premium-home .premium-hero-actions .btn-light:hover,
.premium-home .premium-hero-actions .btn-light:focus-visible {
  background: var(--home-petrol);
  border-color: var(--home-petrol);
  color: var(--home-white);
}

.premium-home .premium-hero .premium-text-link,
.premium-home .premium-hero .premium-text-link:hover,
.premium-home .premium-hero .premium-text-link:focus-visible {
  color: var(--home-petrol);
  text-decoration-color: var(--home-line);
}

.premium-home .premium-hero-rail {
  background: color-mix(in srgb, var(--home-white) 94%, transparent);
  border-color: var(--home-line);
}

.premium-home .premium-hero-rail span {
  border-color: var(--home-line);
  color: var(--home-muted);
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance) {
  background: var(--home-white);
  color: var(--home-ink);
}

.premium-home .practice-panel-cyber::before {
  background-image: url("/assets/open-editorial-cybersecurity-bright-v3.webp");
  background-position: 50% center;
}

.premium-home .practice-panel-assurance::before {
  background-image: url("/assets/open-editorial-assurance-bright-v3.webp");
  background-position: 50% center;
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance)::before {
  filter: saturate(0.84) contrast(0.98) brightness(1.08);
}

.premium-home .practice-panel-alfred {
  background: var(--ttb-accent-deep);
  color: var(--home-white);
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance)::after {
  background: linear-gradient(180deg, color-mix(in srgb, var(--home-white) 4%, transparent) 18%, color-mix(in srgb, var(--home-white) 88%, transparent) 76%, var(--home-white) 100%);
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance):hover::before,
.premium-home :is(.practice-panel-cyber, .practice-panel-assurance):focus-visible::before {
  filter: saturate(0.92) contrast(0.98) brightness(1.12);
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance) p {
  color: var(--home-body);
}

.premium-home .mega-frameworks-side[data-mega-media] {
  background: var(--home-white);
  color: var(--home-ink);
}

.premium-home .mega-frameworks-side[data-mega-media]::before {
  filter: saturate(0.8) contrast(0.98) brightness(1.08);
}

.premium-home .mega-frameworks-side[data-mega-media]::after {
  background: linear-gradient(180deg, color-mix(in srgb, var(--home-white) 12%, transparent) 0%, color-mix(in srgb, var(--home-white) 86%, transparent) 68%, var(--home-white) 100%);
}

.premium-home .nav-item.is-open .mega-frameworks-side.is-media-ready::before {
  opacity: 0.92;
}

.premium-home .mega-frameworks-side[data-mega-tone="deep"] {
  background: var(--home-night);
  color: var(--home-white);
}

.premium-home .mega-frameworks-side[data-mega-tone="deep"]::before {
  filter: saturate(0.74) contrast(1.02) brightness(1.06);
}

.premium-home .mega-frameworks-side[data-mega-framing="document"]::before {
  background-position: center 62%;
}

.premium-home .mega-frameworks-side[data-mega-tone="deep"]::after {
  background: linear-gradient(180deg, color-mix(in srgb, var(--home-night) 14%, transparent), color-mix(in srgb, var(--home-night) 92%, transparent));
}

.premium-home .nav-item.is-open .mega-frameworks-side.is-media-ready[data-mega-tone="deep"]::before {
  opacity: 0.82;
}

.premium-home .site-header-v3 .mega-frameworks-side .mega-side-title {
  color: var(--home-ink);
}

.premium-home .site-header-v3 .mega-frameworks-side .mega-side-blurb {
  color: var(--home-body);
}

.premium-home .site-header-v3 .mega-frameworks-side .mega-all-link,
.premium-home .site-header-v3 .mega-frameworks-side .mega-all-link:hover,
.premium-home .site-header-v3 .mega-frameworks-side .mega-all-link:focus-visible {
  color: var(--home-petrol);
}

.premium-home .site-header-v3 .mega-frameworks-side[data-mega-tone="deep"] .mega-side-title {
  color: var(--home-white);
}

.premium-home .site-header-v3 .mega-frameworks-side[data-mega-tone="deep"] .mega-side-blurb {
  color: color-mix(in srgb, var(--home-white) 78%, transparent);
}

.premium-home .site-header-v3 .mega-frameworks-side[data-mega-tone="deep"] .mega-all-link,
.premium-home .site-header-v3 .mega-frameworks-side[data-mega-tone="deep"] .mega-all-link:hover,
.premium-home .site-header-v3 .mega-frameworks-side[data-mega-tone="deep"] .mega-all-link:focus-visible {
  color: var(--home-signal);
}

.premium-home .rigor-editorial img,
.premium-home .framework-bridge-media img {
  filter: saturate(0.82) contrast(0.97) brightness(1.12);
}

@media (max-width: 680px) {
  .premium-home .premium-hero::after {
    background-image:
      linear-gradient(color-mix(in srgb, var(--home-ink) 5%, transparent) 1px, transparent 1px),
      linear-gradient(90deg, color-mix(in srgb, var(--home-ink) 5%, transparent) 1px, transparent 1px);
    opacity: 0.3;
  }

  .premium-home .premium-hero-rail {
    background: var(--home-white);
  }

  .premium-home .premium-hero-rail span,
  .premium-home .premium-hero-rail span:not(:first-child) {
    border-left-color: var(--home-line);
    color: var(--home-muted);
  }
}

/* Keep the homepage qualification note compact and legible. */
.premium-home .premium-hero-note {
  color: var(--home-muted) !important;
  font-size: 0.76rem !important;
  line-height: 1.5 !important;
  margin-top: 14px !important;
  max-width: 46ch !important;
}

.premium-home .operating-flowline {
  align-items: center;
  border-bottom: 1px solid var(--home-line);
  border-top: 1px solid var(--home-line);
  display: grid;
  gap: 18px;
  grid-template-columns: auto auto auto auto auto auto auto minmax(240px, 1fr) auto;
  margin-top: 0;
  padding-bottom: 24px;
  padding-top: 24px;
}

.premium-home .operating-flowline > span {
  color: var(--home-ink);
  font-size: 0.76rem;
  font-weight: 680;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.premium-home .operating-flowline > i {
  color: var(--home-petrol);
  font-style: normal;
}

.premium-home .operating-flowline p {
  color: var(--home-body);
  font-size: 0.82rem;
  line-height: 1.55;
  margin: 0 0 0 18px;
}

.premium-home .operating-flowline a {
  white-space: nowrap;
}

@media (max-width: 900px) {
  .premium-home .operating-flowline {
    grid-template-columns: auto auto auto auto auto auto auto 1fr;
  }

  .premium-home .operating-flowline p,
  .premium-home .operating-flowline a {
    grid-column: 1 / -1;
    margin-left: 0;
  }
}

@media (max-width: 680px) {
  .premium-home .premium-hero {
    min-height: max(820px, calc(100svh - 66px));
  }

  .premium-home .premium-hero-image {
    display: block;
    height: 380px;
    inset: 0;
    object-fit: cover;
    object-position: 65% 70%;
    opacity: 1;
    width: 100%;
    filter: none;
  }

  .premium-home .premium-hero-shade {
    display: block;
    height: 380px;
    background: linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--home-white) 90%, transparent) 70%, var(--home-white) 88%);
  }

  .premium-home .premium-hero-grid {
    display: block;
    padding-bottom: 0 !important;
    padding-top: 260px !important;
  }

  .premium-home .premium-hero-copy {
    min-height: 0;
    padding-bottom: 34px;
  }

  .premium-home .premium-hero-copy h1 {
    font-size: clamp(2.5rem, 11.8vw, 3.25rem);
    line-height: 0.98;
    max-width: 15ch;
  }

  .premium-home .premium-hero-copy > p:not(.premium-hero-eyebrow) {
    font-size: 1rem;
    line-height: 1.48;
    margin-top: 22px;
    max-width: 34ch;
  }

  .premium-home .premium-hero-copy > .premium-hero-note {
    font-size: 0.72rem !important;
    margin-top: 12px !important;
    max-width: 38ch !important;
  }

  .premium-home .premium-hero-actions {
    margin-top: 24px;
  }

  .premium-home .premium-hero-actions .btn {
    min-height: 52px;
  }

  .premium-home .operating-flowline {
    gap: 10px;
    grid-template-columns: auto auto auto auto auto auto auto;
    overflow: hidden;
  }

  .premium-home .operating-flowline > span {
    font-size: 0.62rem;
    letter-spacing: 0.08em;
  }
}

/* Relume narrative recovery. Scoped away from the protected Orb and header. */
.premium-home main > section[id] {
  scroll-margin-top: 84px;
}

.premium-home [data-rigor] .rigor-flow li:hover {
  opacity: 1;
  transform: none;
}

.premium-home #open-model .rigor-editorial img {
  filter: saturate(0.86) contrast(1.02) brightness(1.04);
}

.premium-home #standards {
  padding: clamp(44px, 5vw, 64px) 0;
}

.premium-home #standards .framework-ledger-heading h2 {
  font-size: clamp(2rem, 3.4vw, 3.25rem);
}

.premium-home #standards .framework-ledger-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 30px !important;
}

.premium-home #standards .framework-ledger-copy {
  align-items: start;
  display: grid;
  gap: 24px;
}

.premium-home #standards .framework-ledger-copy .premium-text-link {
  justify-self: start;
}

.premium-home #standards .framework-ledger-grid a {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 11px;
  justify-content: center;
  min-height: 112px;
  padding: 18px 8px;
  text-align: center;
}

.premium-home #standards .framework-ledger-grid .framework-ledger-glyph {
  height: 27px;
  opacity: 0.76;
  position: static;
  width: 27px;
}

.premium-home #standards .framework-ledger-grid span {
  font-family: var(--font-mono);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.premium-home #standards .framework-ledger-grid a :is(strong, p, b) {
  display: none;
}

.premium-home #why-open .proof-lines {
  margin-top: 48px !important;
}

.premium-home .section-kicker {
  color: var(--home-muted);
  font-family: var(--font-mono);
  font-size: 0.66rem;
  font-weight: 650;
  grid-column: 1 / -1;
  letter-spacing: 0.14em;
  margin: 0 0 -48px;
  text-transform: uppercase;
}

.premium-home .decision-path-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.premium-home .decision-path {
  min-height: 308px;
}

.premium-home .decision-path h3 {
  font-size: clamp(1.3rem, 1.75vw, 1.75rem);
  margin-top: 40px;
}

.premium-home .enterprise-faq {
  background: var(--home-white);
  border-top: 1px solid var(--home-line);
  padding: clamp(76px, 9vw, 124px) 0;
}

.premium-home .enterprise-faq-grid {
  align-items: start;
  display: grid;
  gap: clamp(52px, 9vw, 130px);
  grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
}

.premium-home .enterprise-faq-heading {
  position: sticky;
  top: 104px;
}

.premium-home .enterprise-faq-heading .section-kicker {
  margin: 0 0 20px;
}

.premium-home .enterprise-faq-heading h2 {
  color: var(--home-ink);
  font-family: var(--font-display);
  font-size: clamp(2.5rem, 4.4vw, 4.5rem);
  font-weight: 430;
  letter-spacing: -0.045em;
  line-height: 0.98;
  margin: 0;
}

.premium-home .enterprise-faq-heading > p:last-child {
  color: var(--home-body);
  font-size: 0.94rem;
  line-height: 1.62;
  margin: 28px 0 0;
  max-width: 42ch;
}

.premium-home .enterprise-faq-list {
  border-top: 1px solid var(--home-line);
}

.premium-home .enterprise-faq-list details {
  border-bottom: 1px solid var(--home-line);
}

.premium-home .enterprise-faq-list summary {
  align-items: center;
  color: var(--home-ink);
  cursor: pointer;
  display: flex;
  font-size: clamp(1.02rem, 1.4vw, 1.22rem);
  font-weight: 570;
  gap: 24px;
  justify-content: space-between;
  list-style: none;
  min-height: 86px;
  padding: 22px 0;
}

.premium-home .enterprise-faq-list summary::-webkit-details-marker {
  display: none;
}

.premium-home .enterprise-faq-list summary span {
  color: var(--home-petrol);
  flex: 0 0 auto;
  font-size: 1.35rem;
  font-weight: 340;
  transition: transform 220ms var(--ease-in-out);
}

.premium-home .enterprise-faq-list details[open] summary span {
  transform: rotate(45deg);
}

.premium-home .enterprise-faq-list details p {
  color: var(--home-body);
  font-size: 0.91rem;
  line-height: 1.66;
  margin: -4px 0 26px;
  max-width: 68ch;
  padding-right: 64px;
}

.premium-home .enterprise-faq-list summary:focus-visible {
  outline: 2px solid var(--home-petrol);
  outline-offset: 4px;
}

@media (max-width: 1080px) {
  .premium-home .decision-path-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-home #standards .framework-ledger-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .premium-home #standards .framework-ledger-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-home #standards .framework-ledger-grid a {
    min-height: 92px;
  }

  .premium-home .section-kicker {
    margin-bottom: 0;
  }

  .premium-home .decision-path-grid {
    display: grid;
    grid-auto-columns: minmax(274px, 82vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    margin-right: 0 !important;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 0;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }

  .premium-home .decision-path {
    min-height: 310px;
    scroll-snap-align: start;
  }

  .premium-home .enterprise-faq-grid {
    gap: 44px;
    grid-template-columns: 1fr;
  }

  .premium-home .enterprise-faq-heading {
    position: static;
  }

  .premium-home .enterprise-faq-list summary {
    min-height: 76px;
  }

  .premium-home .enterprise-faq-list details p {
    padding-right: 28px;
  }
}

/* Mobile editorial pacing. Keep every decision surface, but remove the
   accumulated vertical slack that made the sequence feel like stacked pages. */
@media (max-width: 680px) {
  .premium-home :is(#disciplines, #open-model, #why-open) {
    padding-block: 64px;
  }

  .premium-home #disciplines .practice-stage {
    margin-top: 44px !important;
  }

  .premium-home #disciplines .operating-flowline {
    gap: 12px;
    padding-block: 18px;
  }

  .premium-home .practice-panel {
    min-height: 300px;
    padding: 24px;
  }

  .premium-home .practice-panel-cyber {
    min-height: 380px;
  }

  .premium-home .practice-panel h3 {
    margin-top: 40px;
  }

  .premium-home .practice-panel-cyber h3 {
    max-width: none;
    overflow-wrap: normal;
  }

  .premium-home .practice-link {
    margin-top: 30px;
    padding-top: 14px;
  }

  .premium-home #open-model .rigor-editorial {
    aspect-ratio: 1;
    max-height: none;
  }

  .premium-home #open-model .evidence-register {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-home #open-model .rigor-flow li {
    min-height: 82px;
  }

  .premium-home #open-model .rigor-flow li.is-active {
    min-height: 168px;
  }

  .premium-home #open-model .rigor-step-trigger {
    min-height: 82px;
    padding: 18px 20px;
  }

  .premium-home #open-model .rigor-step-panel {
    padding-bottom: 22px;
  }

  .premium-home #why-open .proof-lines {
    margin-top: 32px !important;
  }

  .premium-home #why-open .proof-lines > :is(div, a) {
    gap: 10px;
    padding-block: 20px;
  }

}

@media (max-width: 379px) {
  .premium-home #open-model .evidence-register {
    grid-template-columns: 1fr;
  }
}

/* Client relationships move as one quiet editorial ledger beneath the hero. */
@keyframes client-carousel-flow {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.premium-home .client-carousel-section {
  background: var(--home-ice);
  border-block: 1px solid var(--home-line);
  overflow: clip;
  padding-top: 24px;
  position: relative;
}

.premium-home .client-carousel-heading {
  align-items: flex-end;
  display: flex;
  gap: 32px;
  justify-content: space-between;
  padding-bottom: 24px;
}

.premium-home .client-carousel-heading h2 {
  color: var(--home-ink);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 420;
  letter-spacing: 0;
  line-height: 1.4;
  margin: 0;
  max-width: none;
}

.premium-home .client-carousel-kicker {
  color: var(--home-petrol-hover);
  font: 650 0.78rem/1.2 var(--font-body);
  letter-spacing: 0.13em;
  margin: 0 0 14px;
  text-transform: uppercase;
}

.premium-home .client-carousel-viewport {
  border-top: 1px solid var(--home-line);
  overflow-x: auto;
  scrollbar-color: var(--home-petrol) var(--home-line-soft);
  scrollbar-width: thin;
}

.premium-home .client-carousel-viewport:focus-visible {
  outline: 2px solid var(--ttb-focus);
  outline-offset: -3px;
}

.premium-home .client-carousel-track {
  display: flex;
  width: max-content;
}

.premium-home .client-carousel-sequence {
  display: flex;
  flex: 0 0 auto;
  list-style: none;
  margin: 0;
  padding: 0;
}

.premium-home .client-carousel-sequence[aria-hidden="true"] {
  display: none;
}

.premium-home .client-carousel-sequence li {
  align-items: center;
  border-right: 1px solid var(--home-line);
  display: flex;
  flex: 0 0 clamp(190px, 17vw, 260px);
  height: clamp(112px, 11vw, 148px);
  justify-content: center;
  padding: 28px 34px;
}

.premium-home .client-carousel-sequence img {
  display: block;
  filter: grayscale(1) brightness(0.15);
  height: auto;
  max-height: 52px;
  max-width: 172px;
  object-fit: contain;
  opacity: 0.9;
  transition: opacity var(--open-motion-base) ease;
  width: auto;
}

@media (prefers-reduced-motion: no-preference) {
  .premium-home .client-carousel-viewport.is-carousel-enhanced {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, var(--home-night) clamp(20px, 4vw, 64px), var(--home-night) calc(100% - clamp(20px, 4vw, 64px)), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, var(--home-night) clamp(20px, 4vw, 64px), var(--home-night) calc(100% - clamp(20px, 4vw, 64px)), transparent 100%);
    overflow: hidden;
  }

  .premium-home .client-carousel-viewport.is-carousel-enhanced .client-carousel-track {
    animation: client-carousel-flow 46s linear infinite;
    will-change: transform;
  }

  .premium-home .client-carousel-viewport:focus-visible .client-carousel-track,
  .premium-home .client-carousel-viewport.is-carousel-enhanced.is-carousel-paused .client-carousel-track {
    animation-play-state: paused;
  }

  .premium-home .client-carousel-viewport.is-carousel-enhanced .client-carousel-sequence[aria-hidden="true"] {
    display: flex;
  }

  .premium-home .client-carousel-sequence li:hover img {
    opacity: 1;
  }
}

@media (max-width: 720px) {
  .premium-home .client-carousel-section {
    padding-top: 30px;
  }

  .premium-home .client-carousel-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
    padding-bottom: 26px;
  }

  .premium-home .client-carousel-heading h2 {
    font-size: 1rem;
  }

  .premium-home .client-carousel-sequence li {
    flex-basis: 184px;
    height: 108px;
    padding: 24px 30px;
  }

  .premium-home .client-carousel-sequence img {
    max-height: 44px;
    max-width: 138px;
  }

}

.premium-home .client-carousel-sequence img[src$="/g4f.webp"] {
  width: clamp(126px, 11vw, 150px);
}

.premium-home .client-carousel-sequence img[src$="/habilitar.webp"] {
  width: clamp(150px, 13vw, 172px);
}

.premium-home .client-carousel-sequence img[src$="/khor.webp"] {
  width: clamp(150px, 13vw, 172px);
}

.premium-home .client-carousel-sequence img[src$="/settle.webp"] {
  width: clamp(98px, 9vw, 116px);
}

/* Partner proof is a single verified editorial spread, not a borrowed badge. */
.premium-home .partner-proof-band {
  background: var(--home-night);
  border-bottom: 1px solid color-mix(in srgb, var(--home-white) 14%, transparent);
  color: var(--home-white);
  overflow: clip;
  padding-block: clamp(54px, 6vw, 84px);
}

.premium-home .partner-proof-grid {
  align-items: stretch;
  display: grid;
  gap: clamp(42px, 7vw, 104px);
  grid-template-columns: minmax(220px, 286px) minmax(0, 1fr);
}

.premium-home .partner-proof-credential {
  align-content: space-between;
  background: var(--home-white);
  border: 1px solid color-mix(in srgb, var(--home-white) 70%, var(--home-night));
  color: var(--home-ink);
  display: grid;
  gap: 24px;
  min-height: 196px;
  padding: 25px 28px;
  position: relative;
  text-decoration: none;
  transition: border-color var(--open-motion-fast) var(--open-ease-out);
}

.premium-home .partner-proof-credential:hover {
  border-color: var(--home-white);
  text-decoration: none;
}

.premium-home .partner-proof-credential:focus-visible {
  outline: 2px solid var(--ttb-focus-inverse);
  outline-offset: 4px;
}

.premium-home .partner-proof-credential-open,
.premium-home .partner-proof-credential-status {
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 570;
  letter-spacing: 0.11em;
  line-height: 1.35;
  text-transform: uppercase;
}

.premium-home .partner-proof-credential-open {
  color: var(--home-ink);
}

.premium-home .partner-proof-credential-status {
  color: var(--home-body);
}

.premium-home .partner-proof-logo {
  align-items: center;
  display: flex;
  min-height: 48px;
}

.premium-home .partner-proof-logo img {
  height: auto;
  width: min(159px, 100%);
}

.premium-home .partner-proof-copy {
  align-content: center;
  border-left: 1px solid color-mix(in srgb, var(--home-white) 18%, transparent);
  display: grid;
  justify-items: start;
  padding-left: clamp(34px, 5vw, 72px);
}

.premium-home .partner-proof-copy h2 {
  color: var(--home-white);
  font-family: var(--font-display);
  font-size: clamp(2.75rem, 5vw, 4.5rem);
  font-weight: 360;
  letter-spacing: -0.04em;
  line-height: 0.98;
  margin: 0;
  max-width: 15ch;
}

.premium-home .partner-proof-copy p {
  color: color-mix(in srgb, var(--home-white) 78%, var(--home-night));
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  margin-top: 24px;
  max-width: 64ch;
}

.premium-home .partner-proof-link {
  align-items: center;
  color: var(--ttb-focus-inverse);
  display: inline-flex;
  font-family: var(--font-body);
  font-size: 0.78rem;
  font-weight: 570;
  gap: 12px;
  margin-top: 26px;
  text-decoration: none;
}

.premium-home .partner-proof-link span {
  transition: transform var(--open-motion-fast) var(--open-ease-out);
}

.premium-home .partner-proof-link:hover {
  color: var(--home-white);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.premium-home .partner-proof-link:hover span {
  transform: translateX(3px);
}

.premium-home .partner-proof-link:focus-visible {
  outline: 2px solid var(--ttb-focus-inverse);
  outline-offset: 5px;
}

@media (max-width: 820px) {
  .premium-home .partner-proof-band {
    padding-block: 44px;
  }

  .premium-home .partner-proof-grid {
    gap: 30px;
    grid-template-columns: 1fr;
  }

  .premium-home .partner-proof-credential {
    gap: 20px;
    min-height: 168px;
    padding: 21px 22px;
    width: min(286px, 100%);
  }

  .premium-home .partner-proof-copy {
    border-left: 0;
    border-top: 1px solid color-mix(in srgb, var(--home-white) 18%, transparent);
    padding-left: 0;
    padding-top: 30px;
  }

  .premium-home .partner-proof-copy h2 {
    max-width: 12ch;
  }

  .premium-home .partner-proof-copy p {
    line-height: 1.5;
    margin-top: 18px;
  }

  .premium-home .partner-proof-link {
    margin-top: 20px;
  }
}

/* Flat editorial controls. Focus and contrast are independent of motion. */
.site-v2.premium-home {
  --home-keyline-strong: var(--ttb-border-strong);
}

.premium-home :is(.premium-hero-actions .btn-light, .alfred-platform-copy .btn-light, .final-cta-v2 .btn-secondary, .site-header-v3 .header-cta) {
  box-shadow: none;
  transition: background-color var(--open-motion-fast) var(--open-ease-out), background-size 400ms var(--open-ease-out), border-color var(--open-motion-fast) var(--open-ease-out), color var(--open-motion-fast) var(--open-ease-out);
}

.premium-home :is(.premium-hero-actions .btn-light, .alfred-platform-copy .btn-light, .final-cta-v2 .btn-secondary, .site-header-v3 .header-cta):focus-visible {
  outline: 2px solid var(--ttb-focus);
  outline-offset: 4px;
}

.premium-home :is(.site-header-v3:not(.is-condensed) .header-cta, .alfred-platform-copy .btn-light, .final-cta-v2 .btn-secondary):focus-visible {
  outline-color: var(--ttb-focus-inverse);
}

.premium-home :is(.practice-stage, #standards .framework-ledger-grid, .decision-path-grid, .rigor-editorial) {
  border: 1px solid var(--home-keyline-strong);
  box-shadow: none;
}

.premium-home .alfred-product {
  border-color: color-mix(in srgb, var(--ttb-focus-inverse) 62%, transparent);
  box-shadow: none;
}

.premium-home .practice-role {
  background: var(--home-night);
  border: 1px solid color-mix(in srgb, var(--home-white) 36%, transparent);
  color: var(--home-white);
  display: inline-flex;
  padding: 8px 11px;
  width: fit-content;
}

.premium-home #standards .framework-ledger-grid .framework-ledger-glyph {
  background: none;
  border: 0;
  box-shadow: none;
  height: 30px;
  padding: 0;
  width: 30px;
}

.premium-home [data-rigor] .rigor-flow li.is-active,
.premium-home .enterprise-faq-list details[open] {
  background: var(--home-white);
  box-shadow: none;
}

.premium-home .decision-path:hover,
.premium-home .decision-path:focus-visible {
  background: var(--home-white);
  box-shadow: none;
  color: var(--home-ink);
}

.premium-home .decision-path:hover :is(h3, p, span),
.premium-home .decision-path:focus-visible :is(h3, p, span) {
  color: var(--home-ink);
}

.premium-home #standards .framework-ledger-grid a:hover,
.premium-home #standards .framework-ledger-grid a:focus-visible {
  background: var(--home-chapter);
  box-shadow: none;
}

.premium-home :is(.decision-path, #standards .framework-ledger-grid a, #why-open .proof-lines > a, .enterprise-faq-list summary):focus-visible {
  outline: 2px solid var(--ttb-focus);
  outline-offset: -4px;
}

/* A-LIGN-calibrated chapter rhythm. Long, full-width tonal changes replace
   one-off colored modules; Open keeps its own cool blue-teal identity. */
.premium-home .decision-system,
.premium-home .rigor-section {
  background: var(--home-chapter);
}

.premium-home .decision-system {
  border-bottom: 0;
}

.premium-home .rigor-section {
  border-top: 0;
}

.premium-home .rigor-flow li.is-active,
.premium-home [data-rigor] .rigor-flow li.is-active {
  background: var(--home-white);
}

.premium-home .client-carousel-section,
.premium-home .framework-ledger {
  background: var(--home-white);
}

.premium-home .enterprise-faq {
  background: var(--home-chapter);
}

.premium-home .premium-hero-copy h1 {
  font-size: clamp(2.75rem, 4.5vw, 4rem);
  line-height: 1.06;
}

.premium-home :is(
  .premium-intro-heading h2,
  .decision-system-heading h2,
  .rigor-copy h2,
  .proof-heading h2,
  .framework-ledger-heading h2,
  .alfred-platform-copy h2,
  .enterprise-faq-heading h2
) {
  font-size: clamp(2.1rem, 3.6vw, 3rem);
  line-height: 1.08;
}

/* Three equal practices, with photography above the reading surface. */
.premium-home .practice-stage {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto;
  margin-top: 48px !important;
  max-width: 1256px;
  padding-inline: 0;
  width: calc(100% - 64px);
}

.premium-home .practice-panel {
  border: 0;
  gap: 24px;
  grid-row: auto;
  justify-content: flex-start;
  min-height: 560px;
  padding: 24px 28px 28px;
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance)::before {
  bottom: auto;
  height: 210px;
  background-position: center 42%;
  filter: none;
}

.premium-home :is(.practice-panel-cyber, .practice-panel-assurance)::after {
  bottom: auto;
  height: 211px;
  background: linear-gradient(180deg, transparent 65%, var(--home-white));
}

.premium-home .practice-panel > div:not(.practice-alfred-mark) {
  margin-top: 146px;
}

.premium-home .practice-panel h3 {
  font-size: clamp(1.7rem, 2.5vw, 2.2rem);
  line-height: 1.12;
  margin: 0;
  max-width: none;
}

.premium-home .practice-panel p {
  font-size: 0.92rem;
  line-height: 1.55;
  margin-top: 16px;
  opacity: 1;
}

.premium-home .practice-panel .practice-link {
  border-color: var(--home-line);
  margin-top: auto;
}

.premium-home .practice-panel-alfred .practice-link {
  border-color: color-mix(in srgb, var(--home-white) 25%, transparent);
}

.premium-home .practice-alfred-mark {
  height: 112px;
  right: 28px;
  top: 96px;
  width: 112px;
}

.premium-home .decision-path h3 {
  margin-top: 28px;
}

.premium-home .rigor-grid {
  align-items: start;
  gap: 36px clamp(40px, 6vw, 88px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.premium-home .rigor-copy {
  grid-column: 1;
  grid-row: 1;
  position: static;
}

.premium-home .rigor-editorial {
  aspect-ratio: 16 / 10;
  grid-column: 1;
  grid-row: 2;
  max-height: 360px;
  position: relative;
  top: auto;
}

.premium-home .rigor-operating {
  grid-column: 2;
  grid-row: 1 / 3;
  position: sticky;
  top: 100px;
}

@media (max-width: 980px) and (min-width: 681px) {
  .premium-home .practice-stage {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .premium-home .practice-panel-cyber {
    grid-column: auto;
  }

  .premium-home .practice-panel-alfred {
    grid-column: 1 / -1;
    min-height: 300px;
  }

  .premium-home .practice-panel-alfred > div:not(.practice-alfred-mark) {
    margin-top: 24px;
    max-width: 70%;
  }
}

@media (max-width: 680px) {
  .premium-home .practice-stage,
  .premium-home .rigor-grid {
    grid-template-columns: 1fr;
  }

  .premium-home .practice-stage {
    width: calc(100% - 48px);
  }

  .premium-home .practice-panel {
    min-height: 520px;
    padding-inline: 24px;
  }

  .premium-home .practice-panel-alfred {
    min-height: 410px;
  }

  .premium-home .practice-panel-alfred > div:not(.practice-alfred-mark) {
    margin-top: 76px;
  }

  .premium-home :is(.rigor-copy, .rigor-editorial, .rigor-operating) {
    grid-column: auto;
    grid-row: auto;
    position: static;
  }
}

@media (max-width: 680px) {
  .premium-home .premium-hero-copy h1 {
    font-size: clamp(2.4rem, 11.5vw, 3rem);
  }

  .premium-home :is(
    .premium-intro-heading h2,
    .decision-system-heading h2,
    .rigor-copy h2,
    .proof-heading h2,
    .framework-ledger-heading h2,
    .alfred-platform-copy h2,
    .enterprise-faq-heading h2
  ) {
    font-size: 2rem;
    line-height: 1.1;
  }
}
