/* styles/74-marketing-cohesion.css */
/* The company website keeps one light Contakt material across route changes.
   Tenant branding remains scoped to the source-rendered product assets. */
body{--ct-bg:#f7f8fa;--ct-surface:#fff;--ct-sunken:#f1f3f6;--ct-sunken-strong:#e9edf1;--ct-hairline:#e1e4e8;--ct-rule:#e3e6ea;--ct-rule-strong:#b8bfc8;--ct-text:#1f2328;--ct-text-secondary:#626a73;--ct-ring:#1f2328;--ct-control-border:#626a73;--ct-green-mid:#2fa24b;--ct-green:#1e7b33;--ct-green-deep:#1e7b33;--ct-green-soft:#e5f7e8;--ct-on-green:#fff}
body .closing[data-theme=ink]{--ct-bg:#f7f8fa;--ct-surface:#fff;--ct-sunken:#f1f3f6;--ct-sunken-strong:#e9edf1;--ct-text:#1f2328;--ct-text-secondary:#626a73;--ct-hairline:#e1e4e8;--ct-rule:#e3e6ea;--ct-rule-strong:#b8bfc8;--ct-control-border:#626a73;--ct-green:#1e7b33;--ct-green-deep:#1e7b33;--ct-green-soft:#e5f7e8;--ct-on-green:#fff;--ct-ring:#1f2328;border-top:1px solid #e1e4e8}
.site-header .lockup img,.site-footer .lockup img{content:url('brand/CONTAKT_wordmark_primary.svg')}
.site-footer h2{font-family:var(--ct-font-text);letter-spacing:0;text-transform:none;font-size:13px}
.menu__panel nav a[aria-current=page]{color:#1e7b33}
.menu__panel nav a[aria-current=page]::after{content:'';width:7px;height:7px;border-radius:50%;background:#1e7b33;margin-left:auto}
.site-nav a{padding-inline:10px}
:is(.page-home,.page-clubs,.page-programs,.page-managed){--wrap:1740px;--gutter:48px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{display:block;min-height:0;padding-block:clamp(56px,5.2vw,88px) 44px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__top{grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr);gap:clamp(40px,6vw,100px);align-items:center}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__title{gap:22px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero .eyebrow{font-family:var(--ct-font-text);font-size:13px;letter-spacing:0;text-transform:none;margin:0}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font:500 clamp(48px,5.45vw,84px)/1.04 var(--ct-font-display);letter-spacing:-.045em;max-width:16ch;text-wrap:balance}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1>span{color:#626a73}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side{padding:0;gap:18px}
:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{font-size:18px;line-height:1.65;max-width:43ch}
.page-home .hero__side .actions{margin-top:4px}
.page-home .hero .home-help{margin-top:0;padding-top:16px}
.page-home .ai-stage{padding-top:44px}
.page-home .ai-heading h2{font-size:clamp(42px,4.6vw,70px)}
.page-home .ai-heading{margin-bottom:48px}
.page-home .ai-after{border-top:1px solid #e1e4e8;padding-block:56px}
.page-home .ai-after>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:12px 64px;align-items:center}
.page-home .ai-after .eyebrow{grid-column:1;margin:0}
.page-home .ai-after h2{grid-column:1;font-size:clamp(32px,3.4vw,50px);margin:0}
.page-home .ai-after>.wrap>p:not(.eyebrow){grid-column:2;grid-row:1/3;margin:0}
.academy-pathways{border-top:1px solid #e1e4e8}
.academy-pathways__head{display:grid;grid-template-columns:1.2fr .8fr;gap:20px 80px;align-items:end;margin-bottom:56px}
.academy-pathways__head .eyebrow{grid-column:1/-1;margin:0}
.academy-pathways__head h2{font:500 clamp(40px,4.4vw,68px)/1.08 var(--ct-font-display);letter-spacing:-.035em;max-width:16ch}
.academy-pathways__head>p{font-size:17px;line-height:1.7;color:#626a73;max-width:43ch}
.academy-pathways__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.academy-path{min-width:0;border-top:1px solid #b8bfc8;padding-top:28px}
.academy-path__text>h3{font:500 clamp(28px,2.7vw,42px)/1.15 var(--ct-font-display);letter-spacing:-.035em;max-width:19ch;margin:14px 0 16px}
.academy-path__text>p:not(.eyebrow){max-width:49ch;font-size:16px;line-height:1.7;color:#626a73;margin-bottom:20px}
.academy-path__asset{display:block;text-decoration:none;color:#626a73;margin-top:36px;outline-offset:8px}
.academy-path__caption:focus-visible{outline:2px solid #1f2328}
.academy-path__asset:has(a:hover,a:focus-visible) .pathway-record:first-child{border-color:#626a73}
.pathway-asset.academy-scene{--font-sans:var(--ct-font-text);--font-display:var(--ct-font-display);--font-mono:var(--ct-font-mono);--foreground:#1f2328;--muted-foreground:#626a73;--card:#fff;--background:#f7f8fa;--surface:#f1f3f6;--surface-strong:#e9edf1;--warning-soft:#fbefd9;--warning-ink:#8a5714;--border:#e1e4e8;--border-strong:#b8bfc8;--club1:var(--ai-club);--club1-ink:color-mix(in srgb,var(--ai-club) 85%,#1f2328);--club1-soft:color-mix(in srgb,var(--ai-club) 10%,#f7f8fa);border:0;background:transparent;overflow:visible;position:relative;padding:0 24px 0 0;font-family:var(--ct-font-text)}
.pathway-record{position:relative;z-index:2;border:1px solid #e1e4e8;border-radius:8px;box-shadow:0 8px 20px rgb(31 35 40 / .07);background:#fff;transition:border-color 180ms}
.pathway-record>.space-y-4{border:0!important;background:transparent!important;padding:24px}
.pathway-record h2{font-size:19px;letter-spacing:-.025em}
.pathway-record .lg\:grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.pathway-record:nth-child(2){z-index:1;position:relative;height:110px;margin:18px -24px 0 24px;overflow:hidden;pointer-events:none}
.pathway-record:nth-child(2)>.space-y-4{min-height:110px}
.academy-path__caption{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;text-decoration:none;color:#626a73;font:400 12px/1.5 var(--ct-font-text);margin-top:12px}
.academy-service-bridge{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;border-top:1px solid #b8bfc8;margin-top:72px;padding-top:32px;align-items:start}
.academy-service-bridge h3{font:500 clamp(28px,2.7vw,42px)/1.15 var(--ct-font-display);letter-spacing:-.035em;max-width:24ch}
.academy-service-bridge p:not(.eyebrow){color:#626a73;font-size:17px;line-height:1.7;max-width:43ch}
.academy-service-bridge .actions{margin-top:16px}
.academy-related{border-top:1px solid #e1e4e8}
.academy-related__head{margin-bottom:36px}
.academy-related__head h2{font:500 clamp(38px,3.7vw,56px)/1.1 var(--ct-font-display);letter-spacing:-.035em}
.academy-related nav{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.academy-related__link{display:grid;grid-template-columns:1fr 24px;gap:12px 20px;border-top:1px solid #b8bfc8;padding-block:24px;text-decoration:none;color:#1f2328}
.academy-related__link>span{font-size:13px;color:#626a73}
.academy-related__link>strong{grid-column:1;font:500 clamp(24px,2.4vw,36px)/1.2 var(--ct-font-display);letter-spacing:-.025em}
.academy-related__link>p{grid-column:1;color:#626a73;font-size:15px;line-height:1.7;max-width:45ch}
.academy-related__link>svg{grid-column:2;grid-row:2;align-self:center;width:24px;height:24px}
.academy-related__link:hover>strong,.academy-related__link:hover>svg{color:#1e7b33}
.academy-start-now{border-top:1px solid #b8bfc8;padding-top:24px}
.academy-start-now>h3{font:500 25px/1.3 var(--ct-font-display);letter-spacing:-.025em;margin-bottom:20px}
.academy-start-now .actions{margin-top:20px}
.academy-monthly-help{border-top:1px solid #b8bfc8;padding-top:8px}
.academy-monthly-help .note{margin-top:20px}
.page-home #managed .split--flip{grid-template-columns:1fr 1fr}
.page-home #managed .split__text{order:0}
.page-home #managed .home-request{padding:32px 0 0;background:transparent;border:0;border-top:1px solid #e1e4e8;border-radius:0}
.page-home .band .eyebrow,.academy-related .eyebrow{font-family:var(--ct-font-text);letter-spacing:0;text-transform:none}
.page-home #facts .facts>li{border-top:1px solid #e1e4e8;padding-top:24px}
@media(min-width:2000px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--wrap:2200px;--gutter:80px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font-size:110px}.page-home .ai-heading h2{font-size:90px}.academy-pathways__head h2{font-size:82px}.academy-pathways__grid{gap:100px}.pathway-record>.space-y-4{padding:32px}.pathway-record h2{font-size:24px}}
@media(max-width:1179px){.site-header .wrap{--gutter:24px}}
@media(max-width:1100px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--gutter:24px}.academy-pathways__grid,.academy-service-bridge,.academy-related nav{gap:32px}.academy-pathways__head{gap:20px 40px}.academy-path__text>h3{font-size:30px}}
@media(max-width:899px){:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__top{grid-template-columns:1fr;gap:28px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{max-width:21ch}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{max-width:55ch}.academy-pathways__head,.academy-service-bridge{grid-template-columns:1fr}.academy-pathways__head h2{max-width:24ch}.academy-pathways__head>p{max-width:55ch}.academy-pathways__grid{grid-template-columns:1fr;gap:48px}.academy-path{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.academy-path__asset{margin-top:0}.page-home #managed .split--flip{grid-template-columns:1fr}}
@media(max-width:767px){:is(.page-home,.page-clubs,.page-programs,.page-managed){--gutter:16px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero{padding-block:40px 22px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__title{gap:18px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero h1{font-size:clamp(42px,10.5vw,64px);max-width:20ch}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side{gap:16px}:is(.page-home,.page-clubs,.page-programs,.page-managed) .hero__side .lede{font-size:16px;line-height:1.6}.page-home .hero .home-help{font-size:12px}.page-home .ai-stage{padding-top:30px}.page-home .ai-heading h2{font-size:clamp(38px,8vw,52px)}.page-home .ai-after{padding-block:40px}.page-home .ai-after>.wrap{grid-template-columns:1fr;gap:16px}.page-home .ai-after h2{font-size:36px}.page-home .ai-after>.wrap>p:not(.eyebrow){grid-column:1;grid-row:auto;font-size:15px}.academy-pathways__head{gap:18px;margin-bottom:36px}.academy-pathways__head h2{font-size:clamp(38px,8vw,52px)}.academy-pathways__head>p{font-size:15px}.academy-path{display:block;padding-top:24px}.academy-path__text>h3{font-size:32px}.academy-path__text>p:not(.eyebrow){font-size:15px}.academy-path__asset{margin-top:28px}.pathway-asset.academy-scene{padding:0 16px 40px 0}.pathway-record>.space-y-4{padding:16px}.pathway-record:nth-child(2){height:95px;margin:14px -16px 0 16px}.pathway-record h2{font-size:18px}.academy-service-bridge{margin-top:48px;padding-top:24px;gap:20px}.academy-service-bridge h3{font-size:32px}.academy-service-bridge p:not(.eyebrow){font-size:15px}.academy-related nav{grid-template-columns:1fr;gap:12px}.academy-related__link>strong{font-size:28px}.site-header .wrap{--gutter:16px}.page-home #managed .home-request{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.academy-path__asset *{transition:none!important}}

@media(max-width:767px){.page-home .hero h1>span{font-size:clamp(36px,9.5vw,64px)}.page-home .hero__side .btn{padding-inline:16px}.page-home .hero__side .actions{gap:10px}}
@media(max-width:767px){.page-product .hero__side>.actions{flex-direction:column;align-items:flex-start}}

/* pages/about/style.css */
/* About */

/* A small mono label, as used before a value on this page. */
.about-photo__role,
.about-photo__facts dt,
.about-contact__label {
  font: 500 11px/1.4 var(--ct-font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ct-text-secondary);
}

/* ── The founder ─────────────────────────────────────────────────────── */
.about-founder {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  gap: 32px clamp(32px, 6vw, 80px);
  align-items: start;
}
.about-founder__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.about-prose {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 58ch;
  margin-top: 4px;
}
.about-prose p {
  font-size: 1.0625rem;
  line-height: 1.6;
}

/* The photo slot. Without the photograph it is the founder card and nothing
   is missing. With it, the photograph and the card read as one sheet on a
   narrow screen, and stand apart on a wide one (see below). */
.about-photo {
  background: var(--ct-bg);
  border: 1px solid var(--ct-hairline);
  border-radius: var(--ct-radius);
  overflow: hidden;
}
.about-photo__frame {
  border-bottom: 1px solid var(--ct-hairline);
}
.about-photo__frame img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 85%;
}
.about-photo__card {
  padding: clamp(20px, 3vw, 28px);
}
.about-photo__name {
  font: 500 1.5rem/1.2 var(--ct-font-display);
  letter-spacing: -0.02em;
}
.about-photo__role {
  margin-top: 6px;
}
.about-photo__facts {
  margin-top: 20px;
}
.about-photo__facts > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 2px 16px;
  align-items: baseline;
  padding: 12px 0;
  border-top: 1px solid var(--ct-hairline);
}
.about-photo__facts > div:last-child {
  padding-bottom: 0;
}
.about-photo__facts dd {
  margin: 0;
}

/* With the photograph, on a wide screen: the photograph takes one side at the
   full height of the band, the passage and the card take the other. */
@media (min-width: 900px) {
  .about-founder--photo {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    grid-template-rows: auto 1fr;
    grid-template-areas:
      "photo text"
      "photo card";
    align-items: stretch;
  }
  .about-founder--photo .about-founder__text {
    grid-area: text;
  }
  .about-founder--photo .about-photo {
    display: contents;
  }
  .about-founder--photo .about-photo__frame {
    grid-area: photo;
    position: relative;
    min-height: 560px;
    border: 1px solid var(--ct-hairline);
    border-radius: var(--ct-radius);
    overflow: hidden;
  }
  .about-founder--photo .about-photo__frame img {
    position: absolute;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
    object-position: 50% 60%;
  }
  .about-founder--photo .about-photo__card {
    grid-area: card;
    align-self: end;
    background: var(--ct-bg);
    border: 1px solid var(--ct-hairline);
    border-radius: var(--ct-radius);
  }
  .about-founder--photo .about-photo__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 32px;
  }
  .about-founder--photo .about-photo__facts > div {
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
  }
  .about-founder--photo .about-photo__facts > div:nth-last-child(2) {
    padding-bottom: 0;
  }
}

/* ── How we work with you ────────────────────────────────────────────── */
/* Four commitments: four across, then two, then one. The titles share a row,
   so the text under them starts on one line whatever the titles wrap to. */
.page-about #work .facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@supports (grid-template-rows: subgrid) {
  .page-about #work .facts > li {
    display: grid;
    grid-row: span 2;
    grid-template-rows: subgrid;
    row-gap: 8px;
  }
}
.page-about #work .route-line {
  margin-top: clamp(32px, 5vw, 56px);
}
/* The Managed line runs to three sentences. It wraps beside its link where
   there is room for both, and stands above it on a phone. */
.page-about #work .route-line p {
  flex: 1 1 28ch;
  text-wrap: balance;
}

/* ── Privacy and data ────────────────────────────────────────────────── */
.about-data {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: 32px clamp(32px, 6vw, 80px);
  align-items: start;
}
.about-rows > li {
  display: grid;
  grid-template-columns: 168px minmax(0, 1fr);
  gap: 2px 24px;
  padding: 18px 0;
  border-top: 1px solid var(--ct-hairline);
}
.about-rows > li:first-child {
  border-top-color: var(--ct-rule-strong);
}
.about-rows > li:last-child {
  border-bottom: 1px solid var(--ct-hairline);
}
.about-rows strong {
  font-weight: 600;
}
.about-rows p {
  grid-column: 2;
  color: var(--ct-text-secondary);
  max-width: 56ch;
}
.about-rows .link-arrow {
  grid-column: 2;
  justify-self: start;
}

.about-ledger {
  padding: clamp(20px, 3vw, 28px);
  background: var(--ct-bg);
  border: 1px solid var(--ct-hairline);
  border-radius: var(--ct-radius);
}
.about-ledger h3 {
  font-size: 1.0625rem;
}
.about-ledger h3 + p {
  margin-top: 6px;
  color: var(--ct-text-secondary);
}
.about-ledger__names {
  margin-top: 16px;
}
.about-ledger__names > li {
  padding: 10px 0;
  border-top: 1px solid var(--ct-hairline);
  font: 500 14px/1.5 var(--ct-font-mono);
  letter-spacing: 0.02em;
}
.about-ledger__names > li:last-child {
  border-bottom: 1px solid var(--ct-hairline);
}
.about-ledger__names + p {
  margin-top: 14px;
  color: var(--ct-text-secondary);
}

/* ── Contact ─────────────────────────────────────────────────────────── */
.about-contact,
.about-legal__in {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 28px clamp(32px, 6vw, 80px);
}
.about-contact {
  align-items: center;
}
.about-contact__text,
.about-legal__title {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.about-contact__list {
  background: var(--ct-surface);
  border: 1px solid var(--ct-hairline);
  border-radius: var(--ct-radius);
}
.about-contact__list > li + li {
  border-top: 1px solid var(--ct-hairline);
}
.about-contact__list a {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) auto;
  align-items: center;
  gap: 2px 16px;
  min-height: 68px;
  padding: 12px clamp(16px, 3vw, 24px);
  color: var(--ct-text);
  text-decoration: none;
}
.about-contact__value {
  font-size: 1.0625rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.about-contact__list a:hover .about-contact__value {
  text-decoration: underline;
  text-underline-offset: 0.3em;
  text-decoration-thickness: 1px;
}
.about-contact__list .icon {
  color: var(--ct-text-secondary);
}

/* ── Legal identity ──────────────────────────────────────────────────── */
.about-legal h2 {
  font-size: clamp(1.375rem, 1.15rem + 0.9vw, 1.75rem);
  line-height: 1.15;
}
.about-legal__text {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.about-legal__text > p:first-child {
  color: var(--ct-text-secondary);
  max-width: 62ch;
}
.about-legal__line {
  padding-top: 14px;
  border-top: 1px solid var(--ct-rule-strong);
  font: 400 13px/1.8 var(--ct-font-mono);
  letter-spacing: 0.02em;
}
.about-legal__line span {
  white-space: nowrap;
}

/* ── What to do next ─────────────────────────────────────────────────── */
/* The passage and the start that is not open yet on one side, the request and
   the question on the other with what sending does under them. */
.page-about .closing__in {
  display: grid;
  grid-template-columns: minmax(0, 640px) minmax(0, 440px);
  grid-template-areas:
    "next request"
    "soon request";
  justify-content: space-between;
  align-items: start;
  gap: 24px 48px;
}
.about-next {
  grid-area: next;
}
.about-request {
  grid-area: request;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.about-soon {
  grid-area: soon;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  max-width: 54ch;
  padding-top: 16px;
  border-top: 1px solid var(--ct-hairline);
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ct-text-secondary);
}

/* ── Narrower screens ────────────────────────────────────────────────── */
@media (max-width: 1039.98px) {
  .page-about #work .facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 899.98px) {
  .page-about .closing__in {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "next"
      "request"
      "soon";
    gap: 28px;
  }
  .about-founder,
  .about-data,
  .about-contact,
  .about-legal__in {
    grid-template-columns: minmax(0, 1fr);
  }
  .about-photo--image {
    max-width: 440px;
  }
}
@media (max-width: 599.98px) {
  .page-about #work .facts {
    grid-template-columns: minmax(0, 1fr);
  }
  .about-rows > li {
    grid-template-columns: minmax(0, 1fr);
  }
  .about-rows p,
  .about-rows .link-arrow {
    grid-column: 1;
  }
  .about-contact__list a {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .about-contact__label {
    grid-column: 1 / -1;
  }
  .about-contact__value {
    font-size: 1rem;
  }
  .about-ledger__names > li,
  .about-legal__line {
    font-size: 15px;
  }
}
