/* Icons are out of text flow so both labels share identical line boxes. */
body .site-header .site-header__inner .menu-toggle::after{content:none}
body .site-header .site-header__inner .menu-toggle,
body .site-header .site-header__inner .portal-toggle{position:relative;gap:0;padding-inline:0 18px!important;appearance:none;-webkit-appearance:none;border:0}
/* Keep all header controls on their shared centre line without offsets. */
body .site-header .site-header__inner .menu-toggle{top:0}
/* Foundation hero supporting statement follows the site's uppercase editorial system. */
.section-page--about .page-hero .lead{text-transform:uppercase}
body .site-header .site-header__inner .header-control__label{
  display:block;font:inherit;color:var(--white);line-height:16px;
  letter-spacing:inherit;transform:none!important;margin:0;padding:0;
}
body .site-header .site-header__inner .header-control__icon{
  position:absolute;right:0;top:50%;width:8px;height:8px;
  margin-top:-4px;color:var(--sand);transform:none;
}
body .site-header .header-control__icon::before,
body .site-header .header-control__icon::after{
  content:"";position:absolute;background:currentColor;
}
body .site-header .header-control__icon::before{left:0;top:3.5px;width:8px;height:1px}
body .site-header .header-control__icon::after{top:0;left:3.5px;height:8px;width:1px}
body .site-header button[aria-expanded="true"]>.header-control__icon{transform:rotate(45deg)}
/* Shared header metrics override older link-specific and homepage rules. */
body .site-header .site-header__inner{align-items:center}
body .site-header .site-header__inner>.menu-toggle,
body .site-header .site-header__inner>.brand,
body .site-header .site-header__inner>.utility{grid-row:1;align-self:center}
body .site-header .site-header__inner .utility{display:flex;align-items:center}
body .site-header .site-header__inner .portal-menu{display:flex;align-items:center}
body .site-header .site-header__inner .menu-toggle,
body .site-header .site-header__inner .portal-toggle,
body .site-header .site-header__inner .utility>.header-contact{
  display:inline-flex;align-items:center;justify-content:center;
  box-sizing:border-box;height:44px;min-height:44px;margin:0;padding-block:0;
  font:400 .75rem/1 var(--mono)!important;letter-spacing:.07em!important;
  text-transform:uppercase;white-space:nowrap;
}
body .site-header .site-header__inner .portal-nav>a>span,
body .site-header .site-header__inner .portal-nav__pending>span{
  display:block;font:400 .875rem/1.4 var(--mono)!important;
  letter-spacing:.025em!important;color:var(--muted);text-transform:uppercase;
}
@media(max-width:900px){
  body .site-header .site-header__inner .menu-toggle,
  body .site-header .site-header__inner .portal-toggle,
  body .site-header .site-header__inner .utility>.header-contact{
    font-size:.62rem!important;letter-spacing:.06em!important;
  }
}
/* Shared Protocol photo treatment. */
.page-hero__media img.protocol-water-hero{
  object-position:50% 50%;filter:grayscale(1) contrast(1.04) brightness(.7);
}
.section-page--coaching .system-drop .pillar-definition{
  margin:0 0 12px;font:400 .875rem/1.55 var(--mono);color:var(--muted);
}
.shop-coming-soon{min-height:clamp(24rem,64svh,42rem)}
/* Phone-only composition: bring Darren clear of the left-aligned hero copy. */
@media(max-width:700px){
  .section-page--about .page-hero__media img{object-position:0% 50%}
  .section-page--protocol .page-hero__media img.protocol-water-hero{transform:translateX(12%)}
}
@media(min-width:901px){
  /* All three header controls share one row and the same text alignment. */
  .site-header__inner,.site-header__inner .utility{align-items:center}
  .site-header__inner>.menu-toggle,.site-header__inner>.brand,.site-header__inner>.utility{grid-row:1;align-self:center}
  .site-header__inner .menu-toggle,.site-header__inner .utility>a{
    display:inline-flex;align-items:center;justify-content:center;
    height:44px;min-height:44px;padding-block:0;margin-block:0;
    font:400 .75rem/1 var(--mono)!important;letter-spacing:.07em!important;
  }
  .site-header__inner .utility{display:flex;gap:24px}
  .site-header__inner .utility>.header-member{max-width:none}

  .v4-statement h2{max-width:none;font-size:clamp(2rem,3.5vw,3.5rem);white-space:nowrap}
  .v4-explore>header{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;text-align:center}
  .v4-explore>header>span{max-width:none;margin:0;text-align:center;font:400 .875rem/1.5 var(--mono)}

  /* Contain each portrait on the right, preserving the full photograph. */
  :is(.section-page--coaching,.section-page--protocol,.section-page--events) .page-hero{
    min-height:clamp(36rem,48vw,44rem);background:var(--black);align-items:center;
  }
  :is(.section-page--coaching,.section-page--protocol,.section-page--events) .page-hero__media{
    left:auto;right:0;width:46%;background:var(--black);
  }
  :is(.section-page--coaching,.section-page--protocol,.section-page--events) .page-hero__media img{
    width:100%;height:100%;object-fit:contain;object-position:right center;
    filter:grayscale(1) contrast(1.04) brightness(.86);
  }
  :is(.section-page--coaching,.section-page--protocol,.section-page--events) .page-hero__media:after{
    background:linear-gradient(90deg,var(--black) 0%,rgba(7,7,7,.5) 10%,transparent 27%);
  }
  :is(.section-page--coaching,.section-page--protocol,.section-page--events) .page-hero__content{padding-block:64px}
  :is(.section-page--coaching,.section-page--protocol,.section-page--events) .page-hero h1{font-size:clamp(3.2rem,5vw,4.5rem)}
  :is(.section-page--coaching,.section-page--protocol,.section-page--events) .page-hero .lead{max-width:50%}
  .section-page--events .page-hero .events-proof-title,.section-page--events .events-schedule-link{max-width:52%}

  /* Keep the rotating icon in a fixed final column, with or without a subtitle. */
  .system-drop summary{position:relative}
  .system-drop summary>b{
    grid-column:4;grid-row:1;justify-self:end;align-self:center;
    position:static;inset:auto;display:grid;place-items:center;
    width:24px;height:24px;line-height:1;transform-origin:50% 50%;
  }

  .event-system__header{grid-template-columns:1fr;gap:16px;align-items:start}
  .event-system__header h2{font-size:clamp(2.5rem,4.4vw,4rem);line-height:1;white-space:nowrap}
  .event-system__header .event-heading-break{display:none}
  .event-system__header>span{justify-self:start}

  .section-page--about .page-hero h1{max-width:none}
  .section-page--about .foundation-title-line{display:block;white-space:nowrap}
}
