@font-face {
  font-family:HarmonyOS;
  src:url('assets/fonts/HarmonyOS_Sans_Regular.ttf') format('truetype');
  font-weight:400;
  font-display:swap
}

@font-face {
  font-family:HarmonyOS;
  src:url('assets/fonts/HarmonyOS_Sans_Bold.ttf') format('truetype');
  font-weight:700 900;
  font-display:swap
}

@font-face {
  font-family:BrandDisplay;
  src:url('assets/heading.ttf') format('truetype');
  font-weight:700;
  font-display:swap
}

/* The supplied display font has an oversized NBSP glyph; use the body font for that codepoint. */
@font-face {
  font-family:BrandDisplay;
  src:url('assets/fonts/HarmonyOS_Sans_Bold.ttf') format('truetype');
  font-weight:700;
  unicode-range:U+00A0;
  font-display:swap
}

:root {
  --purple:#4940ba;
  --yellow:#fdcb56;
  --green:#4c8945;
  --text-marker:linear-gradient(to bottom,transparent 52%,var(--green) 52%,var(--green) 90%,transparent 90%);
  --red:#bd1934;
  --ink:#14141c;
  --body:#424251;
  --muted:#68687a;
  --line:#dcdbe8;
  --canvas:#f5f4fa;
  --radius:24px
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  color:var(--ink);
  background:#fff;
  font:17px/1.65 HarmonyOS,Arial,sans-serif;
  -webkit-font-smoothing:antialiased
}
body.modal-open {
  overflow:hidden
}
button,input,textarea {
  font:inherit
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button {
  cursor:pointer
}
a {
  color:inherit
}
img {
  max-width:100%;
  height:auto;
  display:block
}
button:disabled {
  cursor:default;
  opacity:.35
}
[hidden] {
  display:none!important
}

h1,h2,h3,h4,p,blockquote {
  margin:0
}
h1,h2,h3,h4 {
  font-weight:700;
  color:var(--ink)
}
h1 {
  font-size:clamp(36px,3.4vw,52px);
  line-height:1.12;
  letter-spacing:-1.6px
}
h2 {
  font-size:clamp(32px,3.2vw,46px);
  line-height:1.15;
  letter-spacing:-1.1px;
  max-width:1000px;
  margin-bottom:28px;
  text-wrap:balance
}
h3 {
  font-size:25px;
  line-height:1.3;
  letter-spacing:-.4px
}
h4 {
  font-size:18px;
  line-height:1.45
}
p {
  color:var(--body)
}
p+p {
  margin-top:20px
}
.wrap {
  width:min(1240px,calc(100% - 96px));
  margin-inline:auto
}
.section,.pain-section,.author-section {
  padding-block:100px
}
.lead {
  font-size:21px;
  line-height:1.6;
  max-width:850px
}
.eyebrow {
  display:block;
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase
}
.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:22px;
  min-height:54px;
  padding:15px 26px;
  border:0;
  border-radius:40px;
  background:var(--yellow);
  color:#15151c;
  font-weight:700;
  font-size:16px;
  line-height:1.45;
  text-decoration:none;
  transition:background .2s,transform .2s
}
.button:hover {
  background:#f7bf36;
  transform:translateY(-2px)
}
.button.dark {
  background:var(--purple);
  color:white
}
.button.dark:hover {
  background:#38309a
}
.button.outline {
  background:transparent;
  border:1px solid #b7b1de;
  color:var(--purple)
}
.booking-button {
  background:var(--green);
  color:white
}
.booking-button:hover {
  background:#204a36
}
.text-button {
  padding:0;
  background:none;
  border:0;
  color:var(--purple);
  text-align:left;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:5px
}
.actions {
  margin-top:28px
}
.small {
  font-size:14px;
  color:var(--muted)
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:3px solid #8278ef;
  outline-offset:5px
}

.header.wrap {
  position:fixed;
  z-index:30;
  inset:0 0 auto;
  width:100%;
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:14px max(48px,calc((100% - 1240px)/2));
  background:#fff;
  transition:background .2s,box-shadow .2s
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.2px;
  flex-shrink:0
}
.brand-icon {
  display:grid;
  place-items:center;
  width:36px;
  height:40px;
  border-radius:9px;
  background:var(--purple);
  color:var(--yellow);
  font-size:29px
}
.header nav {
  display:flex;
  gap:26px;
  font-size:14px
}
.header nav a {
  text-decoration:none;
  white-space:nowrap
}
.header nav a:hover {
  color:var(--purple)
}
.header-cta {
  font-size:14px;
  min-height:46px;
  padding:12px 22px
}
.header.is-scrolled {
  box-shadow:0 2px 15px #17132f0a;
  border-bottom:1px solid var(--line)
}
body:has(.media-hero) .header:not(.is-scrolled) {
  background:transparent;
  color:white
}
body:has(.media-hero) .header:not(.is-scrolled) nav a:hover {
  color:var(--yellow)
}
body:has(.media-hero) .header:not(.is-scrolled) .header-cta {
  background:var(--purple);
  color:white
}

.media-hero {
  position:relative;
  isolation:isolate;
  min-height:760px;
  padding:120px 0 54px;
  background:#302e43
}
.hero-media {
  position:absolute;
  inset:0;
  z-index:-1;
  overflow:hidden;
  background:#302e43
}
.hero-media video {
  width:100%;
  height:100%;
  object-fit:cover
}
.hero-media::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(24,23,38,.7),rgba(24,23,38,.48) 62%,rgba(24,23,38,.2))
}
.hero-inner {
  display:block
}
.hero-copy {
  max-width:770px;
  padding:40px 44px 42px;
  background:#fffffff2;
  border-radius:4px 32px 32px 32px
}
.hero-copy .eyebrow {
  color:var(--muted);
  max-width:490px;
  margin-bottom:24px
}
.hero-copy h1 em {
  font-style:normal;
  color:var(--purple)
}
.hero-lead {
  font-size:21px;
  line-height:1.5;
  margin-top:24px;
  max-width:600px
}
.hero-detail {
  margin-top:16px;
  font-size:16px;
  max-width:570px;
  color:var(--muted)
}
.hero-proof {
  padding-block:30px
}
.hero-facts {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:60px;
  max-width:940px
}
.hero-facts span {
  font-size:15px;
  color:var(--muted)
}
.hero-facts strong {
  display:block;
  font-size:18px;
  color:var(--ink);
  margin-bottom:4px
}

.pain-section {
  background:var(--canvas)
}
.pain-section h2 {
  max-width:860px
}
.pain-intro {
  font-size:20px;
  color:var(--muted);
  max-width:700px
}
.pain-grid {
  display:block;
  background:#fff;
  border-radius:var(--radius);
  padding:8px 32px;
  margin-top:38px
}
.pain-item {
  border-bottom:1px solid var(--line)
}
.pain-item:last-child {
  border:0
}
summary {
  cursor:pointer;
  list-style:none
}
summary::-webkit-details-marker {
  display:none
}
summary::marker {
  content:''
}
.pain-item summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  padding:23px 0;
  min-height:82px
}
.pain-item h3 {
  font-size:21px;
  line-height:1.45;
  letter-spacing:-.2px
}
.pain-toggle,.expand {
  flex-shrink:0;
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  font-size:27px;
  font-weight:400;
  color:var(--purple);
  transition:transform .2s
}
.pain-item[open] .pain-toggle,.program-row[open] .expand {
  transform:rotate(45deg)
}
.pain-item[open] h3,.pain-item summary:hover h3 {
  color:var(--purple)
}
.pain-description {
  padding:0 60px 26px 0;
  max-width:860px;
  font-size:18px
}
.problem-banner {
  position:relative;
  display:flex;
  align-items:center;
  gap:54px;
  margin-top:28px;
  background:#e6ecdf;
  padding:30px 36px;
  border-radius:var(--radius);
  font-size:21px;
  color:#243729;
  line-height:1.55
}
.down-arrow {
  font-family:Arial,sans-serif;
  color:var(--green);
  font-size:80px;
  font-weight:900;
  line-height:1;
  flex-shrink:0;
  margin-left:auto
}

.team-section h2 {
  max-width:100%;
  margin-bottom:42px
}
.team-intro {
  display:grid;
  grid-template-columns:.8fr 1fr;
  gap:100px;
  align-items:start
}
.team-intro>.lead {
  font-size:26px;
  line-height:1.45;
  color:var(--ink);
  max-width:420px
}
.team-story p {
  font-size:18px
}
.team-story strong {
  color:var(--ink)
}
.team-banner {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  align-items:center;
  gap:60px;
  background:#f6d571;
  border-radius:var(--radius);
  padding:40px;
  margin-top:52px
}
.team-takeaway {
  border:0;
  padding:0
}
.team-takeaway strong {
  display:block;
  font-size:30px;
  line-height:1.25;
  letter-spacing:-.6px;
  color:var(--purple);
  margin-bottom:22px
}
.team-takeaway p {
  font-size:18px
}
.department-map svg {
  display:block;
  width:100%;
  height:auto;
  overflow:visible
}
.network-line {
  fill:none;
  stroke:#958bd2;
  stroke-width:2;
  stroke-dasharray:7 7;
  animation:line-flow 14s linear infinite;
  animation-play-state:paused
}
.network-node rect {
  fill:#fff;
  stroke:none
}
.network-node text {
  fill:var(--purple);
  font-size:15px;
  font-weight:700;
  text-anchor:middle
}
.network-node {
  opacity:1
}
.network-leader rect {
  fill:var(--purple)
}
.network-leader text {
  fill:white
}
.team-banner.is-in-view .network-line {
  animation-play-state:running
}
.team-banner.is-in-view .network-node {
  animation:node-in .6s both;
  animation-delay:calc(var(--i)*.15s)
}
.team-banner.is-in-view .network-node:not(.network-leader) rect {
  animation:department-light 10s ease-in-out infinite;
  animation-delay:calc(var(--i)*1.5s)
}
.team-banner.is-paused * {
  animation-play-state:paused!important
}
.diagram-toggle {
  margin-top:12px;
  padding:4px 0;
  background:none;
  border:0;
  color:var(--purple);
  font-size:12px;
  text-decoration:underline;
  text-underline-offset:3px
}
@keyframes line-flow {
  to {
  stroke-dashoffset:-140
}

}
@keyframes node-in {
  from {
  opacity:0;
  transform:translateY(10px)
}
to {
  opacity:1;
  transform:translateY(0)
}

}
@keyframes department-light {
  0%,18%,100% {
  fill:#fff
}
6%,12% {
  fill:#fdcb56
}

}

.practice-banner {
  background:var(--purple);
  color:white;
  padding:78px 0;
  overflow:hidden
}
.practice-banner .wrap {
  display:grid;
  grid-template-columns:1.45fr .8fr;
  gap:40px;
  align-items:center
}
.practice-banner h2 {
  font-family:BrandDisplay,HarmonyOS,sans-serif;
  text-transform:uppercase;
  font-size:clamp(36px,4vw,54px);
  line-height:1.15;
  letter-spacing:-.3px;
  color:white;
  margin-bottom:28px
}
.practice-banner mark {
  background:var(--text-marker);
  color:white;
  padding:0 8px;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone
}
.practice-banner p {
  color:#f3f2ff;
  font-size:19px
}
.practice-capsules {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:20px 0 28px;
  padding:0;
  list-style:none
}
.practice-capsules li {
  border-radius:28px;
  background:#6259c6;
  padding:7px 17px;
  font-size:17px
}
.practice-capsules li::before {
  content:'✓';
  color:var(--yellow);
  font-weight:700;
  margin-right:10px
}
.practice-art {
  width:100%;
  border-radius:50%;
  aspect-ratio:1;
  object-fit:cover
}
.practice-banner .practice-note {
  font-size:16px;
  max-width:550px;
  color:#e0dcff
}

.case-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  margin-top:42px
}
.case-meta {
  display:flex;
  gap:5px;
  flex-direction:column;
  font-size:14px;
  color:var(--muted);
  margin-bottom:20px
}
.case-meta strong {
  font-size:22px;
  color:var(--ink)
}
.case h3 {
  margin:28px 0 15px
}
.media-placeholder {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:16px;
  border:0;
  border-radius:20px;
  background:#e5e2f5;
  color:var(--purple);
  width:100%;
  aspect-ratio:16/10;
  padding:28px;
  text-align:center
}
.play-symbol {
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:50%;
  background:var(--purple);
  color:#fff;
  font-size:20px;
  padding-left:3px
}
.mock-label {
  position:absolute;
  top:18px;
  left:20px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:var(--purple)
}
.sample-caption {
  font-size:12px;
  color:var(--muted);
  margin-bottom:10px
}
.sample-quote {
  font-size:21px;
  line-height:1.55;
  color:var(--body);
  padding:0;
  border:0;
  background:none
}
.review-role {
  font-size:14px;
  color:var(--muted);
  margin-top:18px
}

.program-section {
  background:var(--canvas)
}
.program-overview {
  display:flex;
  flex-direction:column;
  gap:18px;
  background:#fff;
  border-radius:24px 24px 0 0;
  padding:40px 44px;
  margin:40px 0 0;
  list-style:none
}
.program-overview a {
  display:flex;
  align-items:center;
  gap:22px;
  text-decoration:none;
  width:fit-content
}
.stage-icon {
  width:62px;
  height:62px;
  flex-shrink:0;
  background:var(--purple);
  border-radius:50%;
  overflow:hidden
}
.stage-icon img {
  width:100%;
  height:100%;
  object-fit:cover
}
.program-overview small {
  display:block;
  color:var(--muted);
  font-size:12px;
  margin-bottom:2px
}
.program-overview strong {
  display:block;
  font-size:20px;
  line-height:1.35
}
.program-overview a:hover strong {
  color:var(--purple)
}
.program-list {
  background:#fff;
  border-radius:0 0 24px 24px;
  padding:12px 44px 32px
}
.program-row {
  border:0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:112px
}
.program-row:last-child {
  border:0
}
.program-row>summary {
  display:grid;
  grid-template-columns:44px 1fr 36px;
  gap:14px;
  align-items:center;
  padding:21px 0
}
.program-number {
  font-size:14px;
  color:var(--muted)
}
.program-name {
  font-size:19px;
  font-weight:700;
  line-height:1.5
}
.program-row[open] .program-name {
  color:var(--purple)
}
.program-body {
  padding:16px 0 36px
}
.program-body>h3 {
  font-size:29px;
  margin-bottom:22px;
  max-width:850px
}
.program-body>.benefit {
  font-size:18px;
  max-width:880px;
  margin-bottom:28px
}
.program-body>h4 {
  margin:25px 0 12px
}
.program-tools-intro {
  font-size:16px;
  color:var(--purple);
  margin-bottom:20px
}
.outcome-list {
  list-style:none;
  padding:0;
  margin:0 0 30px;
  max-width:930px
}
.outcome-list li {
  position:relative;
  padding-left:26px;
  margin-top:10px;
  color:var(--body)
}
.outcome-list li::before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--green)
}
.program-results {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:30px 0
}
.owner-value,.artifact-line {
  padding:30px;
  border-radius:4px;
  min-height:250px;
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:22px;
  margin:0!important;
  font-size:18px;
  line-height:1.6
}
.owner-value {
  background:var(--green)
}
.owner-value h4,.owner-value p {
  color:white
}
.owner-value h4,.artifact-line strong {
  font-size:14px;
  font-weight:700;
  line-height:1.4;
  text-transform:uppercase;
  letter-spacing:.5px
}
.artifact-line {
  background:var(--red)
}
.artifact-line strong {
  display:block
}
.program-tools {
  margin-top:28px;
  padding:0;
  background:none;
  border:0;
  max-width:930px
}
.program-tools h4 {
  margin-bottom:12px
}
.program-tools p {
  font-size:16px;
  margin-top:12px
}

.fit-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:38px
}
.fit-grid>article,.fit-grid>div {
  background:var(--canvas);
  border-radius:24px;
  overflow:hidden
}
.fit-card-head {
  position:relative;
  min-height:156px;
  padding:30px 120px 30px 30px;
  display:flex;
  align-items:center;
  background:var(--purple)
}
.fit-card-head h3 {
  color:white;
  font-size:25px;
  line-height:1.3
}
.fit-card-head img {
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  width:78px;
  height:78px;
  border-radius:50%;
  opacity:.4;
  filter:grayscale(1)
}
.fit-grid>article>p,.fit-grid>div>p {
  padding:28px 30px 34px
}
.fit-paths {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  margin-top:50px
}
.fit-paths article {
  border-top:1px solid var(--line);
  padding-top:26px
}
.fit-paths h3 {
  margin:16px 0
}
.fit-paths p {
  margin-bottom:26px
}
.fit-paths .eyebrow {
  color:var(--purple)
}

#format {
  background:var(--canvas)
}
.learning-flow {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
  padding:0;
  margin:46px 0 34px;
  list-style:none
}
.learning-flow li {
  border-top:1px solid #c8c3e3;
  padding-top:24px
}
.learning-flow li>span {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--purple);
  color:white;
  font-size:13px;
  margin-bottom:20px
}
.learning-flow h3 {
  font-size:23px;
  margin-bottom:16px
}
.learning-flow p {
  font-size:16px
}
.support-grid {
  display:grid;
  gap:12px;
  margin-top:28px
}
.support-grid article {
  display:grid;
  grid-template-columns:280px 1fr;
  gap:25px;
  padding:20px 26px;
  background:#eae7f4;
  border-radius:14px
}
.support-grid h4 {
  font-size:16px
}
.support-grid p {
  font-size:15px
}
.owner-report {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  background:var(--purple);
  padding:44px;
  border-radius:24px;
  margin-top:120px
}
.owner-report .eyebrow {
  color:var(--yellow);
  margin-bottom:20px
}
.owner-report h2 {
  font-size:34px;
  color:#fff
}
.owner-report p {
  color:#e8e6fc;
  font-size:17px
}
.report-content {
  background:#fff;
  border-radius:18px;
  padding:30px
}
.owner-report>div:last-child {
  background:white;
  padding:30px;
  border-radius:18px
}
.owner-report>div:last-child h3 {
  font-size:25px;
  margin-bottom:28px
}
.report-outline ol {
  list-style:none;
  counter-reset:report;
  padding:0;
  margin:0
}
.report-outline ol li {
  position:relative;
  padding-left:34px;
  margin-top:24px
}
.report-outline ol li::before {
  counter-increment:report;
  content:counter(report,decimal-leading-zero);
  position:absolute;
  left:0;
  top:3px;
  font-size:13px;
  color:var(--purple)
}
.report-outline ol strong,.report-outline ol span {
  display:block
}
.report-outline ol span {
  font-size:16px;
  color:var(--muted);
  margin-top:8px
}

.format-booking {
  display:flex;
  align-items:center;
  gap:28px;
  margin-top:30px
}
.format-booking p {
  font-size:15px;
  max-width:420px
}
.owner-part {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:70px;
  border-top:1px solid var(--line);
  padding-top:50px;
  margin-top:70px
}
.owner-part h3 {
  font-size:28px;
  margin-bottom:18px
}
.owner-attention {
  display:block;
  color:var(--green);
  font:700 72px/1 Arial;
  margin-bottom:20px
}
.owner-part article {
  position:relative;
  padding-left:48px;
  margin-bottom:32px
}
.owner-part article>span {
  position:absolute;
  left:0;
  top:0;
  border-radius:50%;
  background:var(--purple);
  color:white;
  width:32px;
  height:32px;
  text-align:center;
  line-height:32px
}
.owner-part h4 {
  font-size:19px;
  margin-bottom:14px
}

.review-track {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 48px)/3);
  gap:24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:4px 0 10px;
  margin-top:40px
}
.review-track::-webkit-scrollbar {
  display:none
}
.review-track article {
  scroll-snap-align:start;
  min-width:0
}
.review-track .media-placeholder {
  aspect-ratio:9/16;
  justify-content:flex-start;
  padding:0;
  overflow:hidden;
  background:#e4e0f1
}
.review-track .play-symbol {
  position:absolute;
  top:35%;
  left:50%;
  transform:translate(-50%,-50%)
}
.video-quote {
  position:absolute;
  inset:auto 0 0;
  background:var(--purple);
  color:#fff;
  font-size:19px;
  line-height:1.4;
  text-align:left;
  padding:25px 24px
}
.review-track h3 {
  font:400 15px/1.4 HarmonyOS,sans-serif;
  margin-top:18px
}
.review-track .review-role {
  font-size:13px;
  margin-top:5px
}
.carousel-controls {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px
}
.carousel-controls button {
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid var(--line);
  background:white;
  color:var(--purple);
  font-size:24px
}
.carousel-controls button:hover {
  background:var(--canvas)
}

.author-section {
  background:var(--canvas)
}
.author-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:start
}
.author-identity {
  display:grid;
  grid-template-columns:1fr 190px;
  column-gap:24px;
  background:white;
  padding:36px;
  border-radius:24px
}
.author-identity>.eyebrow {
  grid-column:1;
  color:var(--muted);
  margin:0 0 16px
}
.author-identity h2 {
  grid-column:1;
  font-size:34px;
  margin-bottom:15px
}
.author-identity>.lead {
  grid-column:1;
  font-size:16px;
  line-height:1.55
}
.author-identity>img {
  grid-column:2;
  grid-row:1/5;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:18px
}
.author-quote {
  grid-column:1/-1;
  font-size:30px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:-.4px;
  margin-top:65px;
  color:var(--ink)
}
.author-quote::before {
  content:'“';
  display:block;
  font:700 70px/.7 Georgia;
  color:var(--purple);
  margin-bottom:20px
}
.author-side {
  display:grid;
  gap:24px
}
.author-biography {
  padding:36px;
  background:white;
  border-radius:24px
}
.author-biography p {
  font-size:17px
}
.book-block {
  position:relative;
  padding:34px 36px;
  background:#e6e2f5;
  border-radius:24px
}
.book-number {
  float:right;
  font-size:58px;
  line-height:1;
  color:var(--purple);
  margin:0 0 18px 20px
}
.book-number>span {
  display:block;
  font-size:12px;
  text-align:right;
  margin-top:8px
}
.book-block h3 {
  font-size:25px;
  margin-bottom:20px
}
.book-block p {
  font-size:16px;
  clear:both
}
.book-block .button {
  margin-top:26px
}

.cohort-limit {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px 32px;
  padding:28px 32px;
  background:var(--canvas);
  border-radius:20px;
  margin-top:34px
}
.cohort-limit strong {
  font-size:22px
}
.cohort-limit p {
  font-size:16px;
  max-width:760px
}
.cohort-limit button {
  grid-column:2;
  grid-row:1/3;
  align-self:center
}
.pricing-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:30px
}
.price-card {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  padding:30px;
  border:1px solid var(--line);
  border-radius:22px
}
.price-card h3 {
  font-size:24px;
  min-height:70px
}
.price {
  font-size:44px;
  font-weight:700;
  letter-spacing:-1px;
  margin:28px 0 0;
  line-height:1.1
}
.price span {
  font-size:25px
}
.price-card .small {
  margin:8px 0 24px
}
.price-card p {
  font-size:16px;
  min-height:80px
}
.check-list {
  padding:0;
  list-style:none;
  margin:24px 0 32px;
  font-size:15px
}
.check-list li {
  position:relative;
  padding-left:23px;
  margin-bottom:14px
}
.check-list li::before {
  content:'✓';
  position:absolute;
  left:0;
  color:var(--green)
}
.price-card .button {
  margin-top:auto;
  padding:14px 16px;
  font-size:14px
}
.price-card.premium {
  background:#efedf9;
  border-color:#dad4f0
}
.consult-strip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
  margin:40px 0
}
.consult-strip p {
  max-width:730px;
  font-size:16px;
  margin-top:12px
}
.consult-strip .text-button {
  flex-shrink:0
}
.guarantee {
  display:grid;
  grid-template-columns:116px 1fr;
  gap:30px;
  align-items:center;
  padding:35px;
  background:var(--canvas);
  border-radius:24px;
  margin-top:55px
}
.guarantee-mark {
  width:116px;
  height:116px;
  border-radius:50%;
  overflow:hidden
}
.guarantee-mark img {
  width:100%;
  height:100%;
  object-fit:cover
}
.guarantee .eyebrow {
  color:var(--green);
  font-size:14px;
  margin-bottom:10px
}
.guarantee h3 {
  font-family:BrandDisplay,HarmonyOS,sans-serif;
  text-transform:uppercase;
  font-size:32px;
  margin-bottom:14px
}
.guarantee p {
  font-size:16px;
  max-width:860px
}

.final-cta {
  background:var(--purple);
  padding:90px 0;
  color:white
}
.final-cta h2,.final-cta h3 {
  color:white
}
.final-cta>.wrap>p {
  max-width:740px;
  color:#e6e3ff;
  font-size:20px
}
.final-cta .button {
  margin-top:28px
}
.footer {
  padding-block:36px;
  font-size:13px;
  color:var(--muted);
  display:flex;
  gap:40px;
  justify-content:space-between
}
.footer-brand span {
  display:block
}
.footer-links {
  display:flex;
  flex-direction:column;
  gap:7px
}
.footer-links a {
  text-decoration:none
}
.back-to-top {
  position:fixed;
  right:25px;
  bottom:25px;
  z-index:20;
  background:var(--purple);
  color:white;
  border:1px solid #ffffff60;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:26px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s
}
.back-to-top.is-visible {
  opacity:1;
  pointer-events:auto
}

dialog {
  border:0;
  border-radius:24px;
  padding:40px;
  width:min(580px,calc(100% - 32px));
  max-height:90dvh;
  overflow:auto;
  color:var(--ink);
  background:#fff
}
dialog::backdrop {
  background:#14141c99
}
dialog h2 {
  font-size:32px;
  margin:20px 0 25px
}
.dialog-close {
  position:absolute;
  top:16px;
  right:18px;
  background:none;
  border:0;
  color:var(--purple);
  font-size:30px
}
.request-context,#request-context {
  margin-bottom:20px;
  font-size:16px
}
form label {
  display:block;
  font-size:14px;
  margin-top:18px
}
input,textarea {
  display:block;
  width:100%;
  padding:13px 15px;
  border:1px solid #cfcbdc;
  border-radius:9px;
  background:white;
  color:var(--ink);
  margin-top:7px;
  font-size:16px
}
textarea {
  resize:vertical;
  min-height:100px
}
input::placeholder,textarea::placeholder {
  color:#75717e
}
.inline-consent {
  display:flex;
  gap:12px;
  font-size:12px
}
.inline-consent input {
  width:16px;
  flex-shrink:0;
  margin-top:5px
}
form button[type=submit] {
  margin-top:25px;
  width:100%
}
/* Request form: enough width to show all fields without desktop scrolling. */
#request-dialog {width:min(860px,calc(100% - 32px));padding:32px 40px}
#request-dialog h2 {margin:14px 0 10px}
#request-context {margin-bottom:18px}
#request-form:not([hidden]) {display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;align-items:start}
#request-form > label {margin:0;min-width:0}
#request-form > .demo-notice,
#request-form > .inline-consent,
#request-form > button {grid-column:1 / -1;margin:0}
#request-form textarea {min-height:100px;height:100px}
#request-form .inline-consent {align-items:flex-start;line-height:1.5}
#request-form .inline-consent input {height:16px;margin:2px 0 0;padding:0}
@media(max-width:600px) {
  #request-dialog {padding:28px 24px}
  #request-form:not([hidden]) {grid-template-columns:1fr;gap:12px}
}
.mock-video {
  background:var(--canvas);
  padding:50px 20px;
  text-align:center;
  margin:25px 0
}
.demo-notice {
  font-size:13px;
  color:var(--muted)
}
#request-summary {
  white-space:pre-wrap;
  margin:24px 0 28px;
  line-height:1.65;
  font-size:15px
}
.cookie-banner {
  position:fixed;
  bottom:16px;
  left:16px;
  z-index:40;
  background:#fff;
  padding:20px;
  border:1px solid var(--line);
  border-radius:16px;
  max-width:430px;
  font-size:13px
}
.cookie-banner button {
  margin-top:12px
}
.legal-page {
  padding-top:130px;
  padding-bottom:70px
}
.legal-page p {
  margin:18px 0
}
.legal-page h2 {
  font-size:28px;
  margin-top:36px
}

@media(min-width:1500px) {
  .media-hero {
  min-height:800px;
  padding-top:140px
}
.hero-copy {
  max-width:800px;
  padding:44px 48px
}
.hero-copy h1 {
  font-size:52px
}

}

@media(max-width:1100px) {
  .wrap {
  width:calc(100% - 64px)
}
.header.wrap {
  padding-inline:32px
}
.header-cta {
  display:none
}
.header nav {
  gap:22px
}
.hero-copy {
  max-width:730px
}
.team-intro {
  gap:48px
}
.team-banner {
  gap:35px;
  padding:32px
}
.team-takeaway strong {
  font-size:26px
}
.practice-banner .wrap {
  grid-template-columns:1.5fr .8fr
}
.practice-banner h2 {
  font-size:40px
}
.author-identity {
  grid-template-columns:1fr 130px;
  padding:28px
}
.author-identity h2 {
  font-size:28px
}
.author-quote {
  font-size:26px
}
.pricing-grid {
  gap:14px
}
.price-card {
  padding:23px
}
.price-card h3 {
  font-size:21px
}
.price-card .button {
  font-size:13px;
  gap:8px
}
.owner-report {
  gap:25px;
  padding:30px
}
.owner-report h2 {
  font-size:28px
}
.review-track {
  grid-auto-columns:calc((100% - 40px)/2.5);
  gap:20px
}

}

@media(max-width:760px) {
  html {
  scroll-padding-top:112px
}
.wrap {
  width:calc(100% - 40px)
}
body {
  font-size:16px
}
.section,.pain-section,.author-section {
  padding-block:64px
}
h2 {
  font-size:32px;
  line-height:1.16;
  letter-spacing:-.8px;
  margin-bottom:24px
}
h3 {
  font-size:23px
}
.lead {
  font-size:18px
}
.header.wrap {
  padding:10px 20px;
  min-height:90px;
  flex-wrap:wrap;
  gap:8px
}
.brand {
  font-size:10px
}
.brand-icon {
  height:31px;
  width:28px;
  font-size:24px
}
.header nav {
  width:100%;
  justify-content:space-between;
  font-size:12px;
  gap:10px
}
.media-hero {
  padding:120px 0 30px;
  min-height:0
}
.hero-copy {
  padding:27px 23px 30px;
  border-radius:3px 22px 22px 22px
}
.hero-copy h1 {
  font-size:35px;
  letter-spacing:-1px
}
.hero-copy .eyebrow {
  font-size:10px;
  line-height:1.5;
  margin-bottom:20px
}
.hero-lead {
  font-size:18px;
  margin-top:22px
}
.hero-detail {
  font-size:14px;
  line-height:1.6
}
.hero-copy .button {
  font-size:13px;
  padding:15px 18px;
  gap:12px
}
.hero-proof {
  padding-block:25px
}
.hero-facts {
  gap:18px
}
.hero-facts span {
  font-size:12px;
  line-height:1.5
}
.hero-facts strong {
  font-size:14px;
  margin-bottom:6px
}
.pain-intro {
  font-size:17px
}
.pain-grid {
  padding:4px 20px;
  margin-top:28px;
  border-radius:20px
}
.pain-item summary {
  padding:19px 0;
  min-height:76px;
  gap:12px
}
.pain-item h3 {
  font-size:17px
}
.pain-toggle {
  font-size:24px;
  width:24px
}
.pain-description {
  padding:0 12px 22px 0;
  font-size:15px
}
.problem-banner {
  padding:23px;
  font-size:18px;
  gap:15px
}
.down-arrow {
  font-size:53px
}
.team-section h2 {
  margin-bottom:28px
}
.team-intro {
  grid-template-columns:1fr;
  gap:28px
}
.team-intro>.lead {
  font-size:22px;
  max-width:none
}
.team-story p {
  font-size:16px
}
.team-banner {
  grid-template-columns:1fr;
  padding:24px;
  gap:22px;
  margin-top:32px
}
.team-takeaway strong {
  font-size:25px
}
.team-takeaway p {
  font-size:16px
}
.practice-banner {
  padding-block:55px
}
.practice-banner .wrap {
  grid-template-columns:1fr;
  gap:26px
}
.practice-banner h2 {
  font-size:35px
}
.practice-banner p {
  font-size:17px
}
.practice-capsules li {
  font-size:15px;
  padding:8px 12px
}
.practice-art {
  max-width:260px;
  justify-self:center
}
.case-grid {
  grid-template-columns:1fr;
  gap:45px;
  margin-top:30px
}
.sample-quote {
  font-size:18px
}
.case h3 {
  font-size:24px
}
.program-overview {
  padding:26px 22px;
  gap:20px;
  margin-top:30px
}
.stage-icon {
  width:48px;
  height:48px
}
.program-overview a {
  gap:16px
}
.program-overview small {
  font-size:11px
}
.program-overview strong {
  font-size:16px
}
.program-list {
  padding:0 22px 24px
}
.program-row>summary {
  grid-template-columns:32px 1fr 22px;
  gap:9px;
  padding:19px 0
}
.program-name {
  font-size:16px
}
.program-number {
  font-size:11px
}
.program-body>h3 {
  font-size:24px
}
.program-body>.benefit {
  font-size:16px
}
.program-results {
  grid-template-columns:1fr;
  gap:14px
}
.owner-value,.artifact-line {
  min-height:0;
  padding:25px;
  font-size:17px;
  gap:18px
}
.program-tools p {
  font-size:15px
}
.fit-grid,.fit-paths {
  grid-template-columns:1fr;
  gap:24px
}
.fit-card-head {
  min-height:140px;
  padding:26px 112px 26px 25px
}
.fit-card-head h3 {
  font-size:23px
}
.fit-grid>article>p,.fit-grid>div>p {
  padding:24px
}
.fit-paths {
  margin-top:34px
}
.learning-flow {
  grid-template-columns:1fr 1fr;
  gap:28px 20px;
  margin-top:30px
}
.learning-flow h3 {
  font-size:21px
}
.learning-flow p {
  font-size:14px
}
.learning-flow li>span {
  margin-bottom:16px
}
.support-grid article {
  grid-template-columns:1fr;
  gap:9px;
  padding:20px
}
.support-grid p {
  font-size:14px
}
.owner-report {
  grid-template-columns:1fr;
  padding:25px;
  gap:25px;
  margin-top:64px
}
.owner-report h2 {
  font-size:28px
}
.owner-report h2 br {
  display:none
}
.owner-report p {
  font-size:16px
}
.owner-report>div:last-child {
  padding:24px
}

.format-booking {
  flex-direction:column;
  align-items:flex-start;
  gap:16px
}
.owner-part {
  grid-template-columns:1fr;
  gap:25px;
  margin-top:45px;
  padding-top:35px
}
.owner-part h3 {
  font-size:26px
}
.owner-attention {
  font-size:56px;
  margin-bottom:14px
}
.owner-part h4 {
  font-size:18px
}
.owner-part article {
  padding-left:43px
}
.review-track {
  grid-auto-columns:82%;
  gap:16px;
  margin-top:28px
}
.video-quote {
  font-size:17px;
  padding:23px
}
.review-track .mock-label {
  font-size:10px
}
.author-grid {
  grid-template-columns:1fr;
  gap:22px
}
.author-identity {
  padding:25px;
  grid-template-columns:1fr 110px;
  gap:0 18px
}
.author-identity h2 {
  font-size:26px
}
.author-identity>.lead {
  font-size:14px
}
.author-quote {
  font-size:26px;
  margin-top:42px
}
.author-biography,.book-block {
  padding:25px
}
.cohort-limit {
  grid-template-columns:1fr;
  padding:25px;
  gap:16px
}
.cohort-limit button {
  grid-column:auto;
  grid-row:auto;
  justify-self:start
}
.pricing-grid {
  grid-template-columns:1fr;
  gap:22px
}
.price-card {
  padding:28px
}
.price-card h3 {
  min-height:0;
  font-size:24px
}
.price {
  margin-top:24px
}
.price-card p {
  min-height:0
}
.price-card .button {
  font-size:15px
}
.consult-strip {
  flex-direction:column;
  align-items:flex-start;
  gap:22px
}
.guarantee {
  grid-template-columns:70px 1fr;
  padding:24px;
  gap:20px
}
.guarantee-mark {
  width:70px;
  height:70px
}
.guarantee h3 {
  font-size:25px
}
.guarantee p {
  font-size:14px
}
.guarantee .eyebrow {
  font-size:11px
}
.final-cta {
  padding-block:60px
}
.final-cta>.wrap>p {
  font-size:18px
}
.footer {
  flex-direction:column;
  gap:25px;
  padding-block:30px
}
.back-to-top {
  right:14px;
  bottom:14px;
  width:40px;
  height:40px
}
dialog {
  padding:30px 24px
}
dialog h2 {
  font-size:27px
}
.legal-page {
  padding-top:125px
}

}

@media(max-width:360px) {
  .hero-copy h1 {
  font-size:30px
}
.hero-copy {
  padding-inline:20px
}
.hero-copy .button {
  font-size:12px
}
.hero-facts {
  gap:10px
}
.hero-facts strong {
  font-size:13px
}
.program-overview,.program-list {
  padding-inline:17px
}
.guarantee {
  grid-template-columns:1fr
}
.author-identity {
  grid-template-columns:1fr 90px
}
.review-track {
  grid-auto-columns:90%
}

}

@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
*,*::before,*::after {
  animation:none!important;
  transition:none!important
}
.diagram-toggle {
  display:none
}

}


h2 {
  font-family:BrandDisplay,HarmonyOS,sans-serif;
  text-transform:uppercase;
  letter-spacing:0;
  line-height:1.15
}
.author-identity h2,dialog h2,.legal-page h2 {
  font-family:HarmonyOS,sans-serif;
  text-transform:none
}
.fit-card-head h3 {
  font-family:BrandDisplay,HarmonyOS,sans-serif;
  text-transform:uppercase;
  font-size:28px
}
.legal-main {
  max-width:1000px;
  margin:auto
}
.legal-main h1 {
  margin:24px 0
}
.legal-back {
  color:var(--purple)
}
.legal-meta {
  font-size:14px;
  color:var(--muted)
}
.legal-note {
  padding:22px;
  background:var(--canvas);
  border-radius:14px
}
.replace-marker {
  background:#fff0c4
}
.report-outline ol {
  margin-top:25px
}
.carousel-controls[hidden] {
  display:none
}

.down-arrow {font-size:0;width:48px;height:58px;background:none;clip-path:none;flex-shrink:0}

@media(max-width:760px) {.hero-copy h1{font-size:30px;letter-spacing:-.7px}.down-arrow{width:34px;height:46px}}
@media(max-width:360px) {.hero-copy h1{font-size:28px}}

/* Review refinements: glass hero, unified programme and editorial cards. */
.hero-inner{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(230px,1fr);gap:42px;align-items:center}
.hero-copy{max-width:none;background:rgba(255,255,255,.10);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid #ffffff24;color:white;border-radius:24px}
.hero-copy h1{font-family:BrandDisplay,HarmonyOS,sans-serif;text-transform:uppercase;font-size:clamp(40px,4vw,60px);font-weight:700;line-height:1.17;letter-spacing:0;color:white}
.hero-copy h1 em{color:white;background:var(--text-marker);padding:0 .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero-copy .eyebrow{color:#ffffffe0}.hero-copy .hero-lead{color:white;font-weight:500}
.hero-footer{display:flex;align-items:center;gap:24px;margin-top:28px}
.hero-footer .actions{margin:0;flex:0 0 44%}
.hero-footer .button{white-space:normal;text-align:center;padding:18px 22px;line-height:1.35}
.hero-footer .hero-detail{margin:0;font-size:14px;font-weight:700;line-height:1.5;color:white}
.hero-facts{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:330px;justify-self:end}
.hero-facts>span{display:block;position:relative;padding:10px 17px 10px 39px;background:#ffffff16;border:1px solid #ffffff20;border-radius:30px;backdrop-filter:blur(3px);color:white;font-size:15px;line-height:1.45}
.hero-facts>span::before{content:"✓";position:absolute;left:15px;top:10px;color:#8ac76e;font-size:20px;line-height:1.2}
.hero-facts strong{display:inline;color:white;font-size:inherit;font-weight:700;margin:0}.hero-facts strong::after{content:" — "}
.problem-head{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center;margin-bottom:36px}
.problem-head h2{margin:0}.problem-head h2 span{color:#4c8945}
.problem-head .pain-intro{margin:0;max-width:390px}
.expectation-list{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.expectation-list p{display:grid;grid-template-columns:1fr 24px 1fr;gap:12px;align-items:start;padding:24px 0;border-top:1px solid var(--line);margin:0;font-size:19px;line-height:1.5}
.expectation-list strong{color:var(--ink)}.expectation-list p>span:first-of-type{color:#bd1934;font-weight:700;font-size:26px;line-height:1.1}
.problem-banner{background:#bd1934;color:white;font-weight:700;font-size:20px;padding:30px 36px;border-radius:24px}
.down-arrow svg{width:100%;height:100%;fill:white;stroke:white;stroke-width:5;stroke-linejoin:round}
.team-intro{grid-template-columns:1.5fr 1fr;gap:64px;align-items:start}
.team-context .lead{font-size:27px;line-height:1.4;max-width:640px;color:var(--ink);margin:0 0 24px}
.team-context>p:last-child{font-size:18px;line-height:1.65;max-width:630px}
.team-story p{font-size:18px;margin:0;line-height:1.65}
.team-banner{background:#4c8945;grid-template-columns:1.2fr 1fr;gap:30px;padding:40px 54px;overflow:hidden}
.team-art{grid-column:2;grid-row:1;width:100%;max-height:390px;object-fit:contain}
.team-takeaway{grid-column:1;grid-row:1;padding:0}
.team-takeaway strong{font-family:BrandDisplay,HarmonyOS,sans-serif;text-transform:uppercase;font-size:40px;line-height:1.15;color:white;max-width:560px}
.team-takeaway p{color:white;font-size:19px;line-height:1.6;margin-top:24px}
#program>.wrap>.lead strong{color:var(--purple)}
.program-list{border-radius:24px;padding:14px 36px;background:white;margin-top:40px}
.program-row>summary{grid-template-columns:64px minmax(0,1fr) 32px;gap:24px;padding:22px 0;align-items:center}
.program-label small{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}
.program-label .program-name{display:block;font-size:23px}
.stage-icon{width:64px;height:64px;flex-shrink:0}.stage-icon img{width:100%;height:100%;object-fit:cover}
.program-body{padding:8px 0 32px 88px}
.fit-card-head{display:flex;align-items:center;min-height:0;padding:28px 30px;margin-bottom:16px;box-sizing:border-box}
.fit-paths{gap:24px;background:var(--canvas);padding:24px;border-radius:28px}
.fit-paths article{border:0;background:white;padding:32px;border-radius:22px;display:flex;flex-direction:column;align-items:flex-start}
.fit-paths article .button{margin-top:auto}.fit-paths p{margin-bottom:24px}
.owner-report .eyebrow{display:inline-block;padding:9px 15px;border-radius:30px;background:var(--yellow);color:var(--ink);font-weight:700;letter-spacing:.7px;line-height:1.4}
.owner-report>div:first-child{display:flex;flex-direction:column;align-items:flex-start}
.owner-report .format-booking{display:flex;flex-wrap:wrap;gap:15px;margin-top:24px}
.owner-report .format-booking p{font-size:14px;line-height:1.5;margin:0;max-width:330px}
.owner-report .booking-button{background:#4c8945}.owner-report .booking-button:hover{background:#376c31}


.owner-part{grid-template-columns:.85fr 1.15fr;gap:64px}
.owner-part h3{font-family:BrandDisplay,HarmonyOS,sans-serif;text-transform:uppercase;color:#4c8945;font-size:40px;line-height:1.15}
.owner-steps{display:grid;gap:20px}
.owner-part article{padding:28px 28px 28px 72px;background:#4c8945;border-radius:24px;margin:0;color:white}
.owner-part article:nth-child(2){background:#bd1934}
.owner-part article>span{left:24px;top:27px;background:#ffffff26;font-weight:700}
.owner-part article h4,.owner-part article p{color:white}.owner-part article p{font-size:16px;line-height:1.65}
#voices{position:relative;padding-inline:34px}
.review-track{grid-auto-columns:calc((100% - 48px)/2.7)}
.carousel-controls{position:absolute;inset:53% 8px auto;justify-content:space-between;margin:0;pointer-events:none}
.carousel-controls button{pointer-events:auto;background:var(--purple);color:white;border:2px solid white;box-shadow:0 3px 14px #24175026;width:46px;height:46px}
.carousel-controls button:hover{background:#3730a1}.carousel-controls button:disabled{opacity:.35;cursor:default}
.video-quote{box-sizing:border-box;display:flex;align-items:flex-start;margin:0;font-size:18px;min-height:155px}
.author-grid{align-items:stretch;grid-template-columns:repeat(2,minmax(0,1fr))}.author-grid>*{min-width:0}.author-identity,.author-biography{height:100%}
.author-identity{grid-template-rows:auto auto auto 1fr}.author-identity>img{object-position:center 25%;height:auto;align-self:start}
.author-biography{display:flex;flex-direction:column;justify-content:center}
.book-block{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr auto;gap:24px 38px;align-items:center;padding:36px 42px}
.book-number{grid-column:3;grid-row:1/3;float:none;font-size:90px;font-weight:700;color:#4c8945;margin:0;text-align:center}
.book-number>span{font-size:15px;text-align:center}.book-block h3{grid-column:1;grid-row:1;margin:0;font-size:28px}
.book-block p{grid-column:2;grid-row:1/3;clear:none;margin:0;font-size:17px}
.book-block .button{grid-column:1;grid-row:2;margin:0;justify-self:start;gap:14px}.book-icon{width:23px;height:23px;flex-shrink:0}
#pricing{background:var(--canvas);padding:60px 32px;border-radius:32px}
.price-card{background:white;border:0;padding:30px;display:flex;flex-direction:column}
.price-card .tariff-label{font-size:16px;line-height:1.4;min-height:0;border-radius:22px;background:var(--yellow);padding:10px 17px;align-self:flex-start;margin:0 0 20px}
.tariff-description{background:var(--canvas);border-radius:20px;padding:22px;min-height:125px!important;font-size:16px;margin:0 0 25px}
.price-card .check-list{flex:1;margin-bottom:30px}
.tariff-price{margin-top:auto;padding-top:8px}.price-card .price{margin:0;font-size:43px}.price-card .small{display:block;margin:8px 0 22px;line-height:1.5}
.price-card .button{margin-top:0;width:100%;white-space:normal;text-align:center;justify-content:center;line-height:1.4}
.guarantee .eyebrow{font-family:BrandDisplay,HarmonyOS,sans-serif;text-transform:uppercase;font-size:42px;line-height:1.15;color:#4c8945;letter-spacing:0;margin-bottom:14px}
@media(max-width:1100px){
 .hero-inner{grid-template-columns:minmax(0,2.5fr) minmax(200px,1fr);gap:24px}.hero-copy{padding:32px}.hero-copy h1{font-size:43px}.hero-footer{display:block}.hero-footer .hero-detail{margin-top:18px}.hero-facts>span{padding:10px 16px 10px 36px;font-size:14px}.hero-facts strong{font-size:inherit}
 .team-context .lead{font-size:24px}.team-intro{gap:35px}.team-banner{padding:36px}.team-takeaway strong{font-size:33px}.team-takeaway p{font-size:17px}
 .book-block{grid-template-columns:1fr 1fr auto;gap:24px}.book-block h3{font-size:24px}.book-block .button{font-size:14px;padding:16px 20px}.book-number{font-size:72px}
 .owner-part{gap:35px}.owner-report{gap:30px;padding:32px}.price-card{padding:24px}.price-card .price{font-size:35px}.tariff-description{min-height:145px!important}
}
@media(max-width:760px){
 .hero-inner{grid-template-columns:1fr;gap:24px}.media-hero{padding-bottom:32px}.hero-copy{padding:26px 24px}.hero-copy h1{font-size:35px;line-height:1.17}.hero-footer{margin-top:22px}.hero-footer .button{font-size:14px}.hero-footer .hero-detail{font-size:14px}
 .hero-facts{max-width:none;justify-self:stretch;gap:10px}.hero-facts>span{padding:9px 16px 9px 36px;border-radius:28px;font-size:14px}.hero-facts strong{font-size:inherit;margin:0}
 .problem-head{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.problem-head .pain-intro{font-size:18px}.expectation-list{grid-template-columns:1fr}.expectation-list p{font-size:16px;gap:10px;padding:20px 0;grid-template-columns:1fr 20px 1fr}
 .problem-banner{padding:24px;font-size:17px;gap:16px;align-items:center}.down-arrow{width:30px;height:42px}
 .team-intro{grid-template-columns:1fr;gap:24px}.team-context .lead{font-size:23px;line-height:1.4;margin-bottom:18px}.team-context>p:last-child,.team-story p{font-size:16px}
 .team-banner{grid-template-columns:1fr;padding:28px;gap:16px}.team-takeaway{grid-column:1;grid-row:1}.team-art{grid-column:1;grid-row:2;max-height:300px}.team-takeaway strong{font-size:31px}.team-takeaway p{font-size:16px;margin-top:18px}
 .program-list{padding:5px 20px;margin-top:28px}.program-row>summary{grid-template-columns:48px minmax(0,1fr) 22px;gap:13px;padding:20px 0}.stage-icon{width:48px;height:48px}.program-label .program-name{font-size:17px;line-height:1.4}.program-label small{font-size:11px}.program-body{padding:8px 0 24px}
 .fit-paths{padding:14px;gap:14px;border-radius:24px}.fit-paths article{padding:24px}.fit-paths .button{font-size:14px;white-space:normal;text-align:center;line-height:1.45}
 .owner-report{padding:26px 22px;grid-template-columns:1fr}.owner-report .eyebrow{font-size:10px;letter-spacing:.4px}.owner-report .format-booking{gap:14px}
 .owner-part{grid-template-columns:1fr;gap:26px}.owner-part h3{font-size:34px}.owner-part article{padding:24px 22px 24px 62px}.owner-part article>span{left:20px;top:23px;width:28px;height:28px;line-height:28px}.owner-part article h4{font-size:17px}.owner-part article p{font-size:15px}
 #voices{padding-inline:10px}.review-track{grid-auto-columns:88%;gap:16px}.carousel-controls{inset:52% -8px auto}.carousel-controls button{width:38px;height:38px}.video-quote{font-size:17px;padding:22px;min-height:155px}
 .author-grid{grid-template-columns:minmax(0,1fr)}.author-identity,.author-biography{height:auto}.author-biography{padding:26px}.author-identity{grid-template-columns:minmax(0,1fr) 105px}.author-identity>img{width:105px}
 .book-block{grid-template-columns:1fr 70px;padding:26px;gap:20px}.book-block h3{grid-column:1;grid-row:1;font-size:24px}.book-number{grid-column:2;grid-row:1;font-size:60px}.book-number>span{font-size:12px}.book-block p{grid-column:1/-1;grid-row:2;font-size:16px}.book-block .button{grid-column:1/-1;grid-row:3;font-size:14px;padding:16px 20px;white-space:normal}
 #pricing{padding:36px 14px;border-radius:24px}.price-card{padding:28px}.price-card .tariff-label{font-size:16px}.tariff-description{min-height:0!important}.price-card .price{font-size:42px}.guarantee .eyebrow{font-size:34px}
}
@media(max-width:360px){.hero-copy h1{font-size:31px}.hero-copy{padding:24px 20px}.author-identity{grid-template-columns:minmax(0,1fr) 85px;column-gap:16px}.author-identity h2{font-size:23px}.author-identity>img{width:85px}.book-block{padding:22px}.book-block h3{font-size:21px}.book-block .button{font-size:12px}.review-track{grid-auto-columns:94%}.video-quote{font-size:16px;padding:18px}}

/* Practice panel follows the width, radius and inset of the team panel. */
.practice-banner.wrap{padding:40px 54px;border-radius:24px;min-height:470px}
.practice-banner.wrap>.wrap{width:100%;grid-template-columns:1.2fr 1fr;gap:30px}
.practice-banner.wrap h2{font-size:40px}
.practice-banner.wrap .practice-art{max-height:390px;object-fit:contain}
@media(max-width:1100px){.practice-banner.wrap{padding:36px}.practice-banner.wrap h2{font-size:33px}}
@media(max-width:760px){.practice-banner.wrap{padding:28px;min-height:0}.practice-banner.wrap>.wrap{grid-template-columns:1fr;gap:20px}.practice-banner.wrap h2{font-size:31px}.fit-card-head{padding:24px}.fit-card-head h3{font-size:25px}}

/* October review: badges, connected colour panels and continuous timeline. */
.hero-facts{align-self:end}
.hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:28px}
.hero-badges>span{display:inline-flex;padding:8px 14px;border-radius:30px;background:#f5f4fa;color:#171627;font-size:11px;font-weight:700;line-height:1.4;text-transform:uppercase}
.hero-badges>span:first-child{color:var(--purple)}
.team-banner{border-radius:24px 24px 0 0;margin-bottom:0;grid-template-columns:1fr 1.2fr}
.team-art{grid-column:1;grid-row:1}.team-takeaway{grid-column:2;grid-row:1}
#team #practice{width:100%;margin:0;padding:40px 54px;border-radius:0 0 24px 24px;min-height:470px}
#team #practice>.wrap{width:100%;grid-template-columns:1.2fr 1fr;gap:30px}
#team #practice h2{font-size:40px}#team #practice .practice-art{max-height:390px;object-fit:contain}
.owner-value,.artifact-line{border-radius:24px}
.program-tools{padding:28px 30px;background:var(--purple);border-radius:24px;max-width:none;color:white}
.program-tools h4,.program-tools p{color:white}
.support-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:44px}
.support-grid article{display:block;position:relative;background:white;border-radius:24px;padding:32px}
.support-grid h4{font-family:BrandDisplay,HarmonyOS,sans-serif;text-transform:uppercase;color:var(--purple);font-size:30px;line-height:1.2;margin-bottom:18px;max-width:400px}
.support-grid p{font-size:17px;line-height:1.65}
.learning-flow{gap:0;position:relative;margin-top:48px}
.learning-flow li{position:relative;border:0;padding:40px 28px 0 0}
.learning-flow li::before{content:'';position:absolute;top:9px;left:0;right:0;height:4px;background:var(--purple)}
.learning-flow li:last-child::before{display:none}
.learning-flow li>span{position:absolute;top:0;left:0;width:22px;height:22px;margin:0;background:var(--purple);border:0}
.learning-flow li:last-child{padding-right:0}
.owner-report{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-report>div{min-width:0}
.owner-report>div:first-child{position:relative;padding-bottom:0}.owner-report h2{max-width:100%;min-width:0}


#voices{padding-inline:70px}
.carousel-controls{inset:53% 0 auto}
.carousel-controls button{background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--purple);width:48px;height:48px;font-size:0;display:grid;place-items:center}
.carousel-controls button::before{content:'';width:40px;height:28px;background:currentColor;clip-path:polygon(0 33%,62% 33%,62% 0,100% 50%,62% 100%,62% 67%,0 67%)}
.carousel-controls button:first-child::before{transform:rotate(180deg)}
.carousel-controls button:hover{background:transparent;color:#30278e}
.author-biography>p:first-child{font-weight:700}
.author-identity{grid-template-columns:minmax(0,1fr) 210px;grid-template-rows:auto auto 1fr auto}
.author-identity>img{width:210px;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:center;grid-row:1/4}
.author-quote{margin-top:32px}
@media(max-width:1100px){
 #team #practice{padding:36px}#team #practice h2{font-size:33px}
 .author-identity{grid-template-columns:minmax(0,1fr) 160px}.author-identity>img{width:160px}
 .support-grid article{padding:26px}.support-grid h4{font-size:27px}
 
}
@media(max-width:760px){
 .hero-facts{align-self:auto}.hero-badges{margin-bottom:22px;gap:8px}.hero-badges>span{font-size:10px;padding:7px 11px}
 .team-banner{grid-template-columns:1fr}.team-art{grid-column:1;grid-row:1}.team-takeaway{grid-column:1;grid-row:2}
 #team #practice{padding:28px;min-height:0}#team #practice>.wrap{grid-template-columns:1fr;gap:20px}#team #practice h2{font-size:31px}
 .program-tools{padding:24px}.support-grid{grid-template-columns:1fr;gap:18px;margin-top:30px}.support-grid article{padding:26px}.support-grid p{font-size:16px}
 .learning-flow{grid-template-columns:1fr;gap:0}.learning-flow li{padding:0 0 32px 40px}.learning-flow li:last-child{padding:0 0 0 40px}
 .learning-flow li::before{top:10px;bottom:-10px;left:9px;width:4px;height:auto;right:auto}.learning-flow li>span{top:2px;width:22px;height:22px}
 .owner-report{grid-template-columns:minmax(0,1fr)}.owner-report .eyebrow{max-width:100%;white-space:normal}.owner-report .booking-button{white-space:normal;text-align:center;max-width:100%;padding-inline:20px}
 
 #voices{padding-inline:42px}.carousel-controls{inset:52% 0 auto}.carousel-controls button{width:32px}.carousel-controls button::before{width:28px;height:24px}.review-track{grid-auto-columns:100%}
 .author-identity{grid-template-columns:minmax(0,1fr) 120px}.author-identity>img{width:120px}.author-identity h2{font-size:26px}.author-quote{margin-top:26px}
}
@media(max-width:360px){.author-identity{grid-template-columns:minmax(0,1fr) 90px;gap:12px}.author-identity>img{width:90px}.author-identity h2{font-size:23px}.author-identity>.lead{font-size:14px}.hero-badges>span{font-size:9px}.video-quote{font-size:15px;padding:16px}}

/* Pricing background and the two final actions. */
.pricing-background{background:var(--canvas)}
.pricing-background #pricing{border-radius:0;padding:60px 0}
#pricing .cohort-limit,#pricing .guarantee{background:white}
.price-card.premium .tariff-label{background:var(--purple);color:white}
#expectations>.wrap{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:start}
.expectations-download p{color:#e6e3ff;font-size:20px;line-height:1.65}
@media(max-width:1100px){#expectations>.wrap{gap:40px}}
@media(max-width:760px){.pricing-background #pricing{padding:44px 0}#expectations>.wrap{grid-template-columns:1fr;gap:38px}.expectations-download p{font-size:17px}}

/* One calm progression when the learning timeline enters the viewport. */
.learning-flow li{--step-delay:0s}
.learning-flow li:nth-child(2){--step-delay:1s}
.learning-flow li:nth-child(3){--step-delay:2s}
.learning-flow li:nth-child(4){--step-delay:3s}
.learning-flow li::before{background:#d9d5ef}
.learning-flow li::after{content:'';position:absolute;top:9px;left:0;right:0;height:4px;background:var(--purple);transform:scaleX(0);transform-origin:left}
.learning-flow li:last-child::after{display:none}
.learning-flow li>span{background:#d9d5ef;z-index:1}
.learning-flow.is-in-view li::after{animation:learning-line 1s ease-in-out var(--step-delay) both}
.learning-flow.is-in-view li>span{animation:learning-dot .6s ease-out var(--step-delay) both}
@keyframes learning-line{to{transform:scaleX(1)}}
@keyframes learning-dot{0%{background:#d9d5ef;box-shadow:0 0 0 0 #4940ba30}55%{background:var(--purple);box-shadow:0 0 0 9px #4940ba18}100%{background:var(--purple);box-shadow:0 0 0 0 #4940ba00}}
@media(max-width:760px){
 .learning-flow li::after{top:10px;bottom:-10px;left:9px;width:4px;height:auto;right:auto;transform:scaleY(0);transform-origin:top}
 .learning-flow.is-in-view li::after{animation-name:learning-line-vertical}
 @keyframes learning-line-vertical{to{transform:scaleY(1)}}
}
@media(prefers-reduced-motion:reduce){
 .learning-flow li::before,.learning-flow li>span{background:var(--purple)}
 .learning-flow.is-in-view li::after,.learning-flow.is-in-view li>span{animation:none}
 .learning-flow li::after{display:none}
}

/* Support symbols, full-width reviews and aligned calls to action. */
.support-grid article{position:relative;padding-right:110px}
.support-icon{position:absolute;width:64px;height:64px;top:28px;right:26px}
.owner-report .format-booking{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;width:100%}
.owner-report .format-booking p{max-width:none;font-size:13px}
.owner-report .format-booking .button{padding-inline:20px}
.owner-part>div:first-child{display:flex;flex-direction:column;align-items:flex-start}
.owner-meeting-art{width:100%;max-width:340px;height:auto;margin:auto 0 70px;align-self:flex-end}
#voices.wrap{width:100%;max-width:none;padding-inline:0}
#voices>h2{width:calc(100% - 96px);max-width:1240px;margin-inline:auto}
#voices .review-track{grid-auto-columns:clamp(270px,29vw,370px);gap:24px}
#voices .carousel-controls{position:static;inset:auto;justify-content:flex-end;gap:28px;margin:28px 48px 0}
.price-card .tariff-name{font-family:BrandDisplay,HarmonyOS,sans-serif;text-transform:uppercase;font-size:35px;line-height:1.15;margin:0 0 18px;color:var(--purple)}
.price-card .tariff-label{font-weight:700}
#expectations>.wrap{align-items:stretch}
#expectations .expectations-download{display:flex;flex-direction:column;align-items:flex-start}
#expectations .expectations-download>.button{margin-top:auto}
#expectations .expectations-download p{margin-bottom:28px}
@media(max-width:1100px){.support-grid article{padding-right:90px}.support-icon{width:48px;height:48px;right:24px}.owner-report .format-booking{gap:12px}.owner-report .format-booking .button{font-size:13px;padding-inline:15px}.owner-meeting-art{margin-bottom:85px}#voices>h2{width:calc(100% - 64px)}}
@media(max-width:760px){.support-grid article{padding-right:92px}.owner-report .format-booking{grid-template-columns:1fr}.owner-report .format-booking .button{justify-self:start;font-size:15px}.owner-meeting-art{max-width:240px;margin:22px 0 0;align-self:center}#voices>h2{width:calc(100% - 40px)}#voices .review-track{grid-auto-columns:85%;gap:16px}#voices .carousel-controls{margin:22px 20px 0}.price-card .tariff-name{font-size:34px}}

.price-card{min-width:0}.price-card .tariff-name{min-height:0}@media(max-width:360px){.price-card .tariff-name{font-size:28px}}

#voices .carousel-controls{min-height:48px;gap:28px;margin-top:30px;margin-bottom:0}

/* Side gutters reserve space for carousel arrows alongside the cards. */
#voices.wrap{padding-inline:72px}#voices>h2{width:100%;max-width:1240px}#voices .carousel-controls{position:absolute;inset:50% 12px auto;margin:0;min-height:48px;justify-content:space-between;gap:0}#voices .carousel-controls button{width:48px;height:48px}@media(max-width:760px){#voices.wrap{padding-inline:44px}#voices .carousel-controls{inset:50% 4px auto}#voices .carousel-controls button{width:32px;height:44px}#voices .review-track{grid-auto-columns:100%}}

/* Manager illustrations share the card heading's purple background. */
.fit-grid .fit-card-head {margin-bottom:0}
.fit-illustration {
  margin:0;
  height:250px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  background:radial-gradient(circle, #ffffff1c 1.5px, transparent 2px) 0 0 / 14px 14px, linear-gradient(130deg,#4940ba,#7961d9);
}
.fit-illustration img {display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
@media(max-width:760px) {.fit-illustration{height:220px}}
/* Review: compact hero, editorial support and paired calls to action. */
.hero-inner{display:block}
.hero-inner .hero-copy{max-width:840px}
.hero-copy ul.hero-lead{font-size:18px;line-height:1.5;margin:24px 0 0;padding-left:22px}
.hero-lead li+li{margin-top:5px}
.hero-lead li::marker{color:var(--yellow)}
.hero-footer .actions{flex-basis:auto}
.hero-benefits{background:var(--canvas);padding:30px 0}
.hero-benefits .hero-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;justify-self:stretch;max-width:none;gap:24px;margin:0}
.hero-benefits .hero-facts>span{background:white;color:var(--ink);border:1px solid var(--line);width:100%;padding:16px 22px 16px 42px;backdrop-filter:none}
.hero-benefits .hero-facts>span::before{top:16px;color:var(--green)}
.hero-benefits .hero-facts strong{color:var(--ink)}
#fit-options .fit-paths{background:var(--purple);padding:46px;gap:40px;color:white}
#fit-options .fit-paths article{padding:0;background:none;border-radius:0}
#fit-options .fit-paths article+article{border-left:1px solid #ffffff40;padding-left:40px}
#fit-options .fit-paths h3{font-family:BrandDisplay,HarmonyOS,sans-serif;text-transform:uppercase;color:white;font-size:34px;line-height:1.2;margin-bottom:24px}
#fit-options .fit-paths p{color:#e6e3ff;font-size:18px;line-height:1.65}
#fit-options .fit-paths .eyebrow{color:#e6e3ff;margin-bottom:18px}
#fit-options .fit-paths .button{background:var(--yellow);color:var(--ink)}
#fit-options .fit-paths article:first-child .button{background:var(--green);color:white}
#format .support-grid{display:block;margin-top:64px}
#format .support-grid>p{font-size:17px;line-height:1.7;max-width:1100px}
#format .support-grid strong{color:var(--purple)}
.author-biography{justify-content:flex-start;padding-top:72px}
#expectations .expectations-download h2{font-size:clamp(32px,3.2vw,46px);line-height:1.15;letter-spacing:-1.1px;margin-bottom:28px}
.guarantee-mark{border-radius:0;overflow:visible}
.guarantee-mark img{object-fit:contain}
@media(max-width:760px){
 .hero-copy ul.hero-lead{font-size:16px}
 .hero-benefits{padding:22px 0}
 .hero-benefits .hero-facts{grid-template-columns:1fr;gap:12px}
 #fit-options .fit-paths{padding:28px;gap:28px}
 #fit-options .fit-paths article+article{border-left:0;border-top:1px solid #ffffff40;padding:28px 0 0}
 #fit-options .fit-paths h3{font-size:30px}
 #fit-options .fit-paths p{font-size:17px}
 .author-biography{padding:26px}
 #expectations .expectations-download h2{font-size:30px}
}
/* Review refinements: full-width choice and unified support rows. */
.hero-benefits .hero-facts{grid-template-columns:1.16fr 1fr 1.08fr;gap:16px}
.hero-benefits .hero-facts>span{font-size:14px;padding:14px 14px 14px 34px;white-space:nowrap}
.hero-benefits .hero-facts>span::before{left:12px;top:14px}
#fit-options{background:var(--purple);padding:80px 0}
#fit-options .fit-paths{padding:0;margin:0;border-radius:0;gap:48px}
#fit-options .fit-paths article+article{padding-left:48px}
#format .support-grid{display:grid;grid-template-columns:1fr;gap:28px}
#format .support-row{display:grid;grid-template-columns:56px 290px minmax(0,1fr);gap:28px;align-items:center}
#format .support-row h4{font:700 23px/1.3 BrandDisplay,HarmonyOS,sans-serif;text-transform:uppercase;color:var(--purple);margin:0;max-width:none}
#format .support-row p{font-size:16px;line-height:1.6;margin:0}
.author-identity{grid-template-columns:minmax(0,1fr) 225px}
.author-identity>img{width:225px}
.author-quote{margin-top:14px}
.author-quote::before{font-size:54px;margin-bottom:8px}
@media(max-width:1100px){
 .hero-benefits .hero-facts{display:flex;flex-wrap:wrap;justify-content:flex-start}
 .hero-benefits .hero-facts>span{width:auto}
 #format .support-row{grid-template-columns:48px 230px minmax(0,1fr);gap:20px}
 .author-identity{grid-template-columns:minmax(0,1fr) 175px}.author-identity>img{width:175px}
}
@media(max-width:760px){
 .hero-benefits .hero-facts{display:grid;grid-template-columns:1fr}
 .hero-benefits .hero-facts>span{font-size:12px;padding-right:10px;padding-left:30px}
 #fit-options{padding:48px 0}
 #fit-options .fit-paths{gap:28px}
 #fit-options .fit-paths article+article{padding:28px 0 0}
 #format .support-row{grid-template-columns:44px minmax(0,1fr);gap:12px 18px}
 #format .support-row p{grid-column:2}
 #format .support-row h4{font-size:23px}
 .author-identity{grid-template-columns:minmax(0,1fr) 130px}.author-identity>img{width:130px}
}
@media(max-width:360px){.hero-benefits .hero-facts>span{font-size:10.5px}.author-identity{grid-template-columns:minmax(0,1fr) 100px}.author-identity>img{width:100px}}
.brand-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.brand-name{display:inline-block;background:var(--text-marker);color:inherit;padding:3px 5px;letter-spacing:.7px;line-height:1}.brand-description{display:block;line-height:1.15}

/* Video-first hero and compact responsive navigation. */
.brand-lockup{display:flex;align-items:center;gap:20px;min-width:0}
.brand-descriptor{color:inherit;max-width:210px;margin:0;padding-left:20px;border-left:1px solid currentColor;font-size:11px;line-height:1.5;font-weight:400}
.header.wrap{gap:20px}
.header nav{gap:20px}
.menu-toggle{display:none}
.media-hero{display:flex;align-items:flex-end;min-height:780px;min-height:clamp(720px,92svh,940px);padding:320px 0 40px}
.hero-media::after{background:linear-gradient(180deg,rgba(24,23,38,.52),rgba(24,23,38,.08) 25%,rgba(24,23,38,.12) 45%,rgba(24,23,38,.64))}

.hero-inner .hero-copy{max-width:none;width:100%;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:20px 40px;padding:28px 32px;background:rgba(38,37,53,.76);backdrop-filter:blur(8px);border-radius:22px}
.hero-copy .hero-badges{grid-column:1/-1;margin:0;gap:10px}
.hero-copy h1{font-size:clamp(30px,3vw,42px);line-height:1.14;letter-spacing:-.5px;margin:0;max-width:none}
.hero-aside{display:flex;flex-direction:column;justify-content:space-between;gap:22px;border-left:1px solid #ffffff35;padding-left:32px}
.hero-copy ul.hero-lead{margin:0;font-size:16px;line-height:1.55;padding-left:18px}
.hero-footer{display:block;margin:0}
.hero-footer .actions{margin:0;display:block}
.hero-footer .button{font-size:14px;padding:16px 20px;white-space:normal;text-align:center}
@media(max-width:1250px){.header-cta{display:none}.header nav{margin-left:auto}.brand-descriptor{max-width:220px}.hero-inner .hero-copy{grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:18px 28px}.hero-aside{padding-left:24px}}
@media(max-width:1100px){
 .header.wrap{flex-wrap:nowrap;min-height:82px;padding:14px 32px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit;padding:10px;flex-shrink:0;cursor:pointer}
 .menu-toggle span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
 .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .header #main-navigation{display:none;position:absolute;top:100%;left:0;right:0;width:auto;margin:0;padding:20px 32px 28px;background:white;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 12px 18px #17132f14;gap:0}
 .header.menu-open #main-navigation{display:flex;flex-direction:column}
 .header #main-navigation a{padding:14px 0;font-size:18px;color:var(--ink)}
 body:has(.media-hero) .header.menu-open{background:white;color:var(--ink)}
 .hero-copy h1{font-size:34px}
}
@media(max-width:760px){
 .header.wrap{padding:12px 20px;gap:12px;min-height:94px}
 .brand-lockup{display:block;max-width:calc(100% - 56px)}
 .brand-descriptor{max-width:270px;border:0;padding:0;margin:7px 0 0;font-size:10px;line-height:1.4}
 .header #main-navigation{padding:12px 20px 20px}
 .media-hero{min-height:0;padding:310px 0 24px}
 .hero-inner .hero-copy{grid-template-columns:1fr;padding:22px 20px;gap:20px;border-radius:18px}
 .hero-copy .hero-badges{gap:8px;flex-wrap:wrap}
 .hero-copy .hero-badges span{font-size:9px;padding:7px 9px}
 .hero-copy h1{font-size:30px;line-height:1.16}
 .hero-aside{border:0;padding:0;gap:20px}
 .hero-copy ul.hero-lead{font-size:15px}
 .hero-footer .button{font-size:14px;width:100%}
 .hero-media video{object-position:45% center}

}
@media(max-width:360px){.brand{font-size:9px}.brand-descriptor{font-size:9px}.hero-copy h1{font-size:27px}.hero-copy .hero-badges span{font-size:8px}}

@media(max-width:760px){#format .support-grid{margin-top:48px}}

/* Supplied owner testimonials: short quotes, expandable full text and source videos. */
#cases .owner-review{border-top:1px solid var(--line);padding-top:28px;min-width:0}
#cases .owner-review h3{margin:0;font-size:25px;line-height:1.4}
#cases .owner-review .review-role{margin:18px 0;color:var(--muted)}
@media(max-width:760px){#cases .owner-review h3{font-size:22px}}

/* Closing consultation with Viktor. */
#expectations>.wrap{display:block}
#expectations .expectations-download{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 64px;align-items:start}
#expectations .expectations-download h2{grid-column:1;grid-row:1/3;margin:0}
#expectations .expectations-download p{grid-column:2;margin:0 0 24px}
#expectations .expectations-download .button{grid-column:2;justify-self:start;margin:0}
.viktor-consultation{background:var(--canvas)}
.consultation-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.consultation-copy h2{font-size:clamp(32px,3.2vw,46px);line-height:1.15;margin:0 0 28px}
.consultation-copy p{font-size:18px;line-height:1.7;margin:0}
#consultation-form{display:grid;gap:20px;background:white;padding:32px;border-radius:24px}
.consultation-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#consultation-form label:not(.inline-consent){display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:700}
#consultation-form input:not([type=checkbox]),#consultation-form textarea{width:100%;min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font:inherit}
#consultation-form textarea{resize:vertical}
.field-optional{color:var(--muted);font-size:12px;font-weight:400}
#consultation-form .inline-consent{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:12px;line-height:1.5}
#consultation-form .inline-consent input{width:16px;height:16px;flex:none;margin:2px 0 0}
#consultation-form .button{width:100%;white-space:normal;text-align:center;font-size:15px;line-height:1.4}
#consultation-form .button:disabled{opacity:.65;cursor:not-allowed}
#consultation-form .consultation-note{margin:-8px 0 0;text-align:center;font-size:13px;color:var(--muted)}
.consultation-status{font-size:14px;margin:0}.consultation-status:empty{display:none}
@media(max-width:1000px){.consultation-grid{gap:32px}.consultation-fields{grid-template-columns:1fr}#consultation-form{padding:26px}}
@media(max-width:760px){#expectations .expectations-download{display:flex;gap:0}#expectations .expectations-download h2{margin-bottom:24px}.consultation-grid{grid-template-columns:1fr;gap:32px}.consultation-copy h2{font-size:32px}.consultation-copy p{font-size:17px}#consultation-form{padding:24px 20px}}

.manager-review .video-quote{background:#e5e2f5;border:0;border-radius:20px;padding:26px;font-size:20px;line-height:1.5;color:var(--purple)}
@media(max-width:760px){.manager-review .video-quote{padding:22px;font-size:18px}}
/* Restored testimonial media and visible full quotes. */
.testimonial-video{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#e5e2f5;border-radius:20px}
#cases .owner-review{border:0;padding:0}
#cases .owner-review h3{margin:26px 0 18px}
.testimonial-full{position:static;margin:18px 0;padding:0;border:0;background:none;font-size:17px;line-height:1.65;color:var(--body)}
#cases .owner-review .review-role{margin:20px 0 0;min-height:22px}
.manager-review .testimonial-video{aspect-ratio:9/16}
.manager-review .video-quote{position:static;inset:auto;margin:0;padding:24px;background:rgba(38,37,53,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:white;border-radius:0 0 20px 20px;font-size:18px;line-height:1.5}
.manager-review .testimonial-video,.manager-review .media-placeholder{border-radius:20px 20px 0 0}
.manager-review .testimonial-full{font-size:16px}
@media(max-width:760px){.testimonial-full{font-size:16px}}

/* Owners: two columns, portrait video beside text. Managers keep their carousel. */
#cases .case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px;align-items:start}
#cases .owner-review{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}
#cases .owner-review .testimonial-video,#cases .owner-review .media-placeholder{aspect-ratio:9/16;width:100%;object-fit:contain;padding:0}
#cases .owner-review .media-placeholder{min-height:0}
#cases .owner-review .mock-label{font-size:9px;left:12px;top:14px}
#cases .owner-review .play-symbol{width:52px;height:52px}
#cases .owner-review h3{font-size:19px;line-height:1.45;margin:18px 0}
#cases .owner-review .review-role{font-size:13px;line-height:1.5;margin:0;color:var(--muted);min-height:40px}
#cases .testimonial-full{font-size:15px;line-height:1.65;margin:0}
.reviews-more{display:block;margin:44px auto 0}
.reviews-more[hidden],#cases article[hidden]{display:none}
@media(max-width:1100px){#cases .case-grid{grid-template-columns:1fr}#cases .owner-review{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:600px){#cases .owner-review{grid-template-columns:120px minmax(0,1fr);gap:16px}#cases .owner-review h3{font-size:17px}#cases .testimonial-full{font-size:14px}#cases .owner-review .review-role{font-size:12px}}

/* Consultation badge and compact, readable field labels. */
.consultation-pill{display:inline-block;padding:9px 16px;margin-bottom:24px;border-radius:999px;background:var(--yellow);color:var(--ink);font-size:12px;line-height:1.4;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.consultation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
#consultation-form label{min-width:0}
#consultation-form label:not(.inline-consent){margin:0}
#consultation-form input:not([type=checkbox]),#consultation-form textarea{font-size:16px;font-weight:400;margin:0}
#consultation-form .question-field{display:grid;gap:4px}
#consultation-form .field-optional{margin:0;font-size:12px;line-height:1.3}
.phone-error{font-size:12px;font-weight:400;color:#bd1934;line-height:1.4}.phone-error:empty{display:none}
#consultation-form input[aria-invalid=true]{border-color:#bd1934}
@media(max-width:1150px){.consultation-fields{grid-template-columns:1fr}}

/* Owner video lightbox: full-height portrait, adjacent quote and circular navigation. */
.owner-video-open{position:relative;display:block;width:100%;padding:0;border:0;border-radius:20px;overflow:hidden;background:#17151e;cursor:pointer;aspect-ratio:9/16}
.owner-video-open img{display:block;width:100%;height:100%;object-fit:cover}
.owner-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:64px;height:64px;padding-left:4px;border:1px solid #ffffff90;border-radius:50%;background:#242137b3;color:white;font-size:24px}
.owner-video-open:hover .owner-video-play{background:var(--purple)}
.owner-video-open:focus-visible{outline:3px solid var(--purple);outline-offset:5px}
#owner-gallery{box-sizing:border-box;width:min(1120px,calc(100vw - 32px));max-width:none;height:calc(100dvh - 32px);max-height:none;padding:16px 24px;margin:auto;border:0;border-radius:20px;background:#f8f7fc;color:var(--ink);overflow:hidden}
#owner-gallery[open]{display:flex;flex-direction:column;gap:12px}
#owner-gallery::backdrop{background:#100e19e8}
.gallery-toolbar,.gallery-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none}
.gallery-counter{font-size:14px;color:var(--muted)}
.gallery-close,.gallery-navigation button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--ink);font:inherit;cursor:pointer}
.gallery-close span{font-size:26px;line-height:1}.gallery-navigation button:hover,.gallery-close:hover{background:var(--purple);color:white}
.gallery-layout{display:flex;align-items:stretch;gap:36px;flex:1;min-height:0}
#owner-gallery .gallery-video{display:block;flex:none;width:auto;height:100%;max-width:52%;min-height:0;aspect-ratio:9/16;object-fit:contain;border-radius:12px;background:#141219}
.gallery-copy{flex:1;min-width:0;overflow:auto;align-self:center;max-height:100%;padding:12px 16px 12px 0}
.gallery-copy .review-role{font-size:14px;color:var(--muted);margin:0 0 24px}
.gallery-copy h3{font-size:clamp(20px,2.2vw,30px);line-height:1.4;margin:0 0 24px}
.gallery-copy .testimonial-full{font-size:17px;line-height:1.65;margin:0}
@media(max-width:700px){
 #owner-gallery{width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:12px;border-radius:16px;gap:8px}
 .gallery-layout{display:block;overflow:auto}
 #owner-gallery .gallery-video{width:auto;max-width:100%;height:58dvh;margin:0 auto}
 .gallery-copy{max-height:none;overflow:visible;padding:24px 8px 12px}
 .gallery-copy .review-role{margin-bottom:14px}.gallery-copy h3{font-size:21px;margin-bottom:16px}.gallery-copy .testimonial-full{font-size:16px}
 .gallery-navigation button{padding:8px 14px;font-size:14px}
}

/* v31: shared brand corners and a low underline on the second wordmark line. */
:root{--control-radius:9px}
.brand-icon,html body :is(button,.button,[role="button"]),body .manager-review .media-placeholder,body .gallery-navigation button,#cases .owner-review .media-placeholder{border-radius:var(--control-radius)}
.brand-wordmark .brand-name{background:none;padding:0;line-height:1.15}
.brand-wordmark .brand-description{background:none;padding:0}
.brand-wordmark .brand-highlight{position:relative;isolation:isolate;display:inline-block;padding:0 2px;margin-left:-2px}

/* v35: thicker wordmark underline, raised slightly into the letters. */
.brand-wordmark .brand-highlight::before{content:"";position:absolute;left:0;right:0;bottom:-.22em;height:.62em;background:var(--green);z-index:-1}
