/* Shared navigation, responsive hero, and legal-name corrections. */
.nav-shell,
.home-nav{
  position:absolute;
  z-index:10;
  inset:0 0 auto 0;
  transform:none;
  width:100%;
  min-height:112px;
  display:grid;
  align-items:center;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  padding:0 46px 0 54px;
  grid-template-columns:188px 1fr auto;
}
.brand img,.home-brand img{width:188px}
.nav-links,.home-nav-links{display:flex;justify-content:center;align-items:center;gap:34px;font-size:14px;font-weight:750}
.nav-links a{padding:12px 2px;border-bottom:2px solid transparent}
.nav-links .active{color:var(--cobalt);border-color:var(--cobalt)}
.nav-cta,.home-nav-cta{
  width:345px;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  background:var(--cobalt);
  color:#fff;
  border-radius:999px;
  padding:17px 27px;
  line-height:1.25;
}

/* Decorative strokes must guide the eye without ever covering content. */
.hero-ribbon,.hero-ribbons,.home-ribbon{z-index:2;pointer-events:none}
.home-hero-copy,.hero-copy{z-index:4}

/* The founders overlap intentionally, with Susan—the lead trainer—on top. */
.portrait-field-claudio{left:3%;right:auto;bottom:10%;width:44%;height:57%;z-index:2}
.portrait-field-susan{left:49%;right:auto;top:7%;width:48%;height:65%;z-index:3}
.tm{font-family:var(--sans);font-size:.34em;font-weight:700;line-height:0;vertical-align:super;letter-spacing:0;margin-left:.04em}

/* Closed FAQ rows display +; an expanded row displays −. */
.faq .toggle{font-size:0;transform:none!important}
.faq .toggle::before{content:"+";font-size:31px;line-height:1;font-weight:300}
.faq[open] .toggle::before{content:"−"}

.footer-bottom{gap:30px;align-items:flex-start}
.trademark-notice{max-width:760px;text-align:right;line-height:1.45}
.mobile-menu{display:none}

/* At intermediate widths, stack the illustration and copy. This prevents the
   copy from drifting over the artwork while preserving the organic mask. */
@media (min-width:901px) and (max-width:1200px){
  .home-hero,.hero{height:auto!important;min-height:0!important;padding-bottom:90px}
  .home-hero-art,.hero-art{
    position:relative!important;
    width:100%!important;
    height:clamp(500px,58vw,690px)!important;
    border-radius:0 0 0 150px!important;
  }
  .home-hero-copy,.hero-copy{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:min(100% - 96px,900px)!important;
    margin:0 auto!important;
    padding:72px 0 0!important;
  }
  .home-hero h1,.hero-copy h1{max-width:760px!important}
  .home-hero-copy p,.hero-copy p{max-width:720px!important}
  .home-ribbon,.hero-ribbon,.hero-ribbons{display:none}
  .home-pill{position:relative;right:auto;bottom:auto;margin:44px 48px 0;width:max-content;max-width:calc(100% - 96px)}
  .site-header{position:absolute;inset:0 0 auto 0;width:100%}
}

/* The full navigation needs more room than the old 900px breakpoint allowed.
   Switch before links or the CTA can collide, and keep the header readable
   over every hero illustration. */
@media (max-width:1200px){
  .nav-links,.home-nav-links{display:none!important}
  .nav-shell,.home-nav,.site-header{
    position:absolute!important;
    inset:0 0 auto 0!important;
    transform:none!important;
    width:100%!important;
    min-height:92px;
    grid-template-columns:1fr auto!important;
    padding:10px 18px!important;
    background:linear-gradient(180deg,rgba(247,241,231,.96),rgba(247,241,231,.72) 72%,transparent)!important;
  }
  .brand img,.home-brand img,.brand{width:145px!important}
  .nav-cta,.home-nav-cta,.header-cta{display:none!important}
  .mobile-menu{display:block;justify-self:end;position:relative;z-index:20}
  .mobile-menu summary{list-style:none;cursor:pointer;background:var(--cobalt);color:#fff;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:800}
  .mobile-menu summary::-webkit-details-marker{display:none}
  .mobile-menu summary::after{content:" +"}.mobile-menu[open] summary::after{content:" −"}
  .mobile-menu-panel{position:absolute;right:0;top:56px;width:245px;padding:17px;background:var(--white);border-radius:22px;box-shadow:0 18px 48px rgba(16,47,86,.2);display:grid;gap:3px}
  .mobile-menu-panel a{padding:10px 12px;border-radius:10px;font-size:15px;font-weight:750}
  .mobile-menu-panel a:hover,.mobile-menu-panel a:focus{background:var(--linen-deep,#efe4d4)}
  .mobile-menu-panel .mobile-contact{margin-top:7px;background:var(--cobalt);color:#fff;line-height:1.3}
}

@media (max-width:900px){
  .hero-copy,.home-hero-copy{padding-top:72px!important}
  .home-hero h1,.hero-copy h1{font-size:clamp(48px,12vw,64px)!important}
  .home-ribbon,.hero-ribbon,.hero-ribbons{display:none!important}
  .portrait-field-susan{left:50%;right:auto;width:48%;height:62%}
  .portrait-field-claudio{left:2%;width:45%;height:55%}
  .footer-bottom{flex-direction:column}
  .trademark-notice{text-align:left}
}
/* Shared privacy link and optional analytics consent. */
.privacy-footer{position:relative;z-index:3;max-width:1296px;margin:0 auto;padding-top:12px;font:700 12px/1.4 Inter,"Helvetica Neue",Arial,sans-serif}.privacy-footer a{text-decoration:underline;text-underline-offset:3px}.analytics-consent{position:fixed;z-index:9999;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;padding:18px 20px;background:#fffdf8;color:#102f56;border:1px solid rgba(16,47,86,.18);border-radius:20px;box-shadow:0 18px 55px rgba(16,47,86,.22);font:15px/1.5 Inter,"Helvetica Neue",Arial,sans-serif}.analytics-consent[hidden]{display:none}.analytics-consent p{margin:0}.analytics-consent p a{text-decoration:underline;text-underline-offset:3px}.analytics-consent>div{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.analytics-consent button{min-height:42px;border:1px solid #1647b8;border-radius:999px;padding:0 18px;background:#fffdf8;color:#1647b8;font:800 14px Inter,"Helvetica Neue",Arial,sans-serif;cursor:pointer}.analytics-consent button[data-analytics-accept]{background:#1647b8;color:#fff}
