/* OLD SITE CSS - archived 2 Nov 2026. Wrapped in @media not all so none of it applies. Delete once the new site is live. */
@media not all {
/* =========================================================
   THE SOBER COMEBACK - styling layer for Zoho Sites
   Look and feel inspired by kinhive.com: serif headlines
   with italic emphasis, notched corners and pill buttons.
   Palette kept to four colours: ink, cream, white and the
   light orange from the logo (--sc-yellow).

   All text, images, buttons and sections are edited in the
   Zoho Sites editor. This file only changes how they look.
   Each section has a class set in its CSS tab:
   sc-hero, sc-band, sc-approach, sc-loop,
   sc-coaching, sc-about, sc-faq, sc-cta.
   Fonts (Lora + Figtree) and base colours are set in
   Customization > Visual Editor.
   ========================================================= */

/* 1. Design tokens (change colours here) */
:root {
  --sc-ink: #22201f;
  --sc-text: #3d3936;
  --sc-muted: #6a655f;
  --sc-cream: #faf9f5;
  --sc-white: #ffffff;
  --sc-yellow: #f7b538; /* light orange from the logo: boxes */
  --sc-orange: #f3792b; /* orange from the logo: text on dark */
  --sc-line: rgba(34, 32, 31, 0.16);
  --sc-max: 1140px;
  --sc-notch: 18px;
}

/* Notched corners used on cards and panels */
.sc-hero .zprow > .zpelem-col:first-of-type,
.sc-about .zprow,
.sc-note .zprow,
.sc-faq .zpaccordion,
.sc-about .zpelem-image img {
  clip-path: polygon(
    var(--sc-notch) 0, calc(100% - var(--sc-notch)) 0, 100% var(--sc-notch),
    100% calc(100% - var(--sc-notch)), calc(100% - var(--sc-notch)) 100%,
    var(--sc-notch) 100%, 0 calc(100% - var(--sc-notch)), 0 var(--sc-notch)
  );
}

/* 2. Base */
body { color: var(--sc-text); -webkit-font-smoothing: antialiased; }

/* 3. Header */
/* !important overrides the size the theme writes inline
   when a logo is uploaded */
.theme-header .theme-logo-parent img {
  max-height: 48px !important;
  height: auto !important;
  width: auto !important;
}
.theme-menu-area .theme-menu > ul > li > a {
  color: var(--sc-ink);
  font-weight: 500;
  font-size: 15px;
  border-radius: 999px;
}
/* The menu item that links to #contact shows as a dark pill */
.theme-menu-area a[href*="#contact"] {
  background: var(--sc-ink);
  color: #fff !important;
  border-radius: 999px;
  padding: 10px 20px;
}
.theme-menu-area a[href*="#contact"]:hover { background: var(--sc-yellow); color: var(--sc-ink) !important; }

/* 4. Section rhythm and headings */
.sc-band {
  padding-top: clamp(64px, 9vw, 112px);
  padding-bottom: clamp(64px, 9vw, 112px);
  background-color: var(--sc-cream);
}
.sc-band .zpcontainer,
.sc-hero .zpcontainer { max-width: var(--sc-max); }

.sc-hero h1,
.sc-band h2 {
  color: var(--sc-ink);
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.08;
}
.sc-hero h1 { font-size: clamp(2.4rem, 4.8vw, 3.7rem); }
.sc-band h2 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); }
.sc-hero h1 i,
.sc-band h2 i { font-style: italic; }
/* No decorative bar under headings */
.sc-band h2::after,
.sc-hero h1::after { display: none; }

.sc-band h3 {
  font-family: inherit;
  color: var(--sc-ink);
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
}
.sc-band .zptext,
.sc-hero .zptext { font-size: 17px; line-height: 1.65; color: var(--sc-text); }
.sc-band .zptext p + p { margin-top: 12px; }

/* 5. Buttons: pill shaped */
.sc-hero .zpbutton,
.sc-band .zpbutton {
  border-radius: 999px;
  font-weight: 600;
  font-size: 16px;
  padding: 14px 26px;
  transition: background-color .15s ease, color .15s ease;
}
.sc-hero .zpbutton-type-primary,
.sc-band .zpbutton-type-primary {
  background-color: var(--sc-ink);
  border-color: var(--sc-ink);
  color: #fff;
}
.sc-hero .zpbutton-type-primary:hover,
.sc-band .zpbutton-type-primary:hover {
  background-color: #000;
  border-color: #000;
  color: #fff;
}

/* 6. Hero: photo set as the section background in the editor,
      content sits on a yellow notched card */
.sc-hero {
  padding-top: clamp(48px, 6vw, 96px);
  padding-bottom: clamp(48px, 6vw, 96px);
}
.sc-hero .zprow > .zpelem-col:first-of-type {
  background: var(--sc-yellow);
  padding: clamp(32px, 4vw, 56px);
  flex: 0 0 auto;
  width: min(660px, 100%);
  max-width: 660px;
}
.sc-hero .zpelem-text .zptext { color: var(--sc-ink); max-width: 32em; }
.sc-eyebrow .zptext {
  color: var(--sc-ink) !important;
  font-size: 12px !important;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.sc-eyebrow .zptext::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 3px;
  margin-right: 10px;
  vertical-align: middle;
  border-radius: 2px;
  background: var(--sc-ink);
}
.sc-hero .zpbutton-group-container {
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 4px;
}
/* Secondary hero button reads as an underlined text link */
.sc-hero a.zpbutton.zpbutton-type-secondary {
  background: transparent;
  border-color: transparent;
  color: var(--sc-ink);
  padding-left: 14px;
  padding-right: 14px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* 8. Approach: centred intro on white */
.sc-approach { background-color: var(--sc-white); }
.sc-approach .zprow:first-child .zpheading,
.sc-approach .zprow:first-child .zptext { text-align: center; }
.sc-approach .zprow:first-child .zptext { font-size: 19px; max-width: 40em; margin: 0 auto; }

/* 9. Card rows (approach + coaching): columns adapt to however
      many are in the row */
.sc-approach .zprow + .zprow,
.sc-coaching .zprow + .zprow {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: flex-start;
  margin: 40px 0 0;
}
.sc-approach .zprow + .zprow > .zpelem-col,
.sc-coaching .zprow + .zprow > .zpelem-col {
  flex: 1 1 240px;
  max-width: none;
  padding: 0;
}
.sc-approach .zprow + .zprow .zpheading,
.sc-approach .zprow + .zprow .zptext { text-align: center; }
.sc-coaching .zprow + .zprow > .zpelem-col {
  border-top: 1px solid var(--sc-line);
  padding-top: 22px;
}
.sc-coaching .zprow + .zprow .zptext,
.sc-coaching .zprow + .zprow .zpheading { text-align: left; }
.sc-coaching .zprow + .zprow .zptext { color: var(--sc-muted); font-size: 16px; }
.sc-coaching .zprow + .zprow .zpbutton {
  background: transparent;
  border-color: transparent;
  color: var(--sc-ink);
  padding: 4px 0;
  font-weight: 500;
  font-size: 15px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.sc-coaching .zprow + .zprow .zpbutton:hover { background: transparent; color: #000; }

/* 10. Loop: white */
.sc-loop { background-color: var(--sc-white); }
.sc-loop .zpcontainer { max-width: 860px; }
.sc-loop .zpheading { text-align: center; }

/* Lists (loop + about) */
.sc-band .zptext ul { list-style: none; padding-left: 0; margin: 20px 0 0; }
.sc-band .zptext ul li {
  position: relative;
  padding: 14px 0 14px 30px;
  border-bottom: 1px solid var(--sc-line);
  color: var(--sc-ink);
}
.sc-band .zptext ul li:last-child { border-bottom: 0; }
.sc-band .zptext ul li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 23px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--sc-ink);
}

/* 11. About: yellow notched panel (matches the hero card) */
.sc-about .zprow {
  background: var(--sc-yellow);
  padding: clamp(28px, 5vw, 56px);
  margin-left: 0;
  margin-right: 0;
}
.sc-about .zpheading,
.sc-about .zptext,
.sc-about h2 { color: var(--sc-ink); text-align: left; }
.sc-about .zpelem-image + .zpelem-text .zptext {
  font-family: Lora, Georgia, serif;
  font-size: 20px;
  font-style: italic;
  margin-top: 20px;
}
.sc-about .zptext ul li { border-bottom-color: rgba(34, 32, 31, 0.22); }

/* 12. Disclaimer note: white notched card */
.sc-note .zpcontainer { max-width: 900px; }
.sc-note .zprow {
  background: var(--sc-white);
  padding: clamp(24px, 4vw, 44px);
  margin-left: 0;
  margin-right: 0;
}
.sc-note h2 { font-size: clamp(1.7rem, 3vw, 2.3rem); }

/* 13. FAQ: white notched items on white with a soft outline */
.sc-faq { background-color: var(--sc-white); }
.sc-faq .zpcontainer { max-width: 900px; }
.sc-faq .zpheading { text-align: center; }
.sc-faq .zpaccordion-container { border: 0; background: transparent; }
/* !important clears the theme's own item borders */
.sc-faq .zpaccordion-container,
.sc-faq .zpaccordion,
.sc-faq .zpaccordion-content { border: 0 !important; }
.sc-faq .zpaccordion {
  background: var(--sc-cream);
  border: 0;
  margin-top: 12px;
  padding-top: 8px;
  padding-bottom: 8px;
  color: var(--sc-ink);
  font-size: 18px;
  font-weight: 500;
}
.sc-faq .zpaccordion-content {
  background: var(--sc-cream);
  border: 0;
  margin-top: -6px;
}

/* 14. Closing call to action: dark with yellow type */
.sc-cta { background-color: var(--sc-ink); }
.sc-cta h2 { color: var(--sc-orange); }
.sc-cta .zptext { color: #d9d6cf; }
.sc-cta .zpbutton-type-primary {
  background-color: var(--sc-yellow);
  border-color: var(--sc-yellow);
  color: var(--sc-ink);
}
.sc-cta .zpbutton-type-primary:hover {
  background-color: #fff;
  border-color: #fff;
  color: var(--sc-ink);
}

/* 15. Footer */
/* !important is needed because the theme sets the footer
   background inline */
.footer-container .zpsection { background: var(--sc-ink) !important; }
.footer-container h6 {
  font-family: Figtree, sans-serif;
  color: var(--sc-orange);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.footer-container .zptext,
.footer-container .zptext a { color: #e9e7df; font-size: 15px; line-height: 1.9; }
.footer-container .zptext a:hover { color: var(--sc-orange); }

/* 16. Hide the theme's floating social bar until real profiles are added */
.zpsocialicon-floater { display: none; }

/* 17. Small screens: photo shows above the card */
@media (max-width: 767px) {
  .sc-hero {
    padding-top: 300px;
    padding-bottom: 0;
    background-position: 70% top !important;
    background-size: auto 340px !important;
    background-color: var(--sc-yellow);
  }
  .sc-hero .zprow > .zpelem-col:first-of-type { max-width: none; }
  .sc-about .zprow,
  .sc-note .zprow { padding: 24px 20px; }
  .sc-about .zpcontainer,
  .sc-note .zpcontainer { padding-left: 16px; padding-right: 16px; }
}

/* 18. Accents: orange italics, approach cards, dark loop band */
/* Italic words in headings pick up the logo orange */
.sc-approach h2 i,
.sc-coaching h2 i,
.sc-note h2 i,
.sc-faq h2 i { color: var(--sc-orange); }

/* Approach: the three points become cream notched cards */
.sc-approach .zprow + .zprow { align-items: stretch; }
.sc-approach .zprow + .zprow > .zpelem-col {
  background: var(--sc-cream);
  padding: 34px 30px 30px;
  position: relative;
  clip-path: polygon(
    var(--sc-notch) 0, calc(100% - var(--sc-notch)) 0, 100% var(--sc-notch),
    100% calc(100% - var(--sc-notch)), calc(100% - var(--sc-notch)) 100%,
    var(--sc-notch) 100%, 0 calc(100% - var(--sc-notch)), 0 var(--sc-notch)
  );
}
.sc-approach .zprow + .zprow > .zpelem-col::before {
  content: "";
  display: block;
  width: 36px;
  height: 4px;
  border-radius: 2px;
  background: var(--sc-orange);
  margin-bottom: 18px;
}
.sc-approach .zprow + .zprow .zpheading,
.sc-approach .zprow + .zprow .zptext { text-align: left; }
.sc-approach .zprow + .zprow h3 {
  font-family: Lora, Georgia, serif;
  font-size: 1.45rem;
  font-weight: 400;
}

/* Loop: dark band for contrast between the two light sections */
.sc-loop { background-color: var(--sc-ink); }
.sc-loop h2 { color: var(--sc-cream); }
.sc-loop h2 i { color: var(--sc-orange); }
.sc-loop .zptext ul li {
  color: #e9e7df;
  font-size: 18px;
  border-bottom-color: rgba(250, 249, 245, 0.14);
}
.sc-loop .zptext ul li::before { background: var(--sc-orange); }

/* 19. FAQ with the disclaimer: two columns on desktop.
   Left: heading and the disclaimer note (dark card).
   Right: the questions. Stacks on smaller screens. */
.sc-faq .zpcontainer { max-width: var(--sc-max); }
.sc-faq > .zpcontainer > .zprow > .zpelem-col > .zpelem-heading .zpheading { text-align: left; }
@media (min-width: 900px) {
  .sc-faq > .zpcontainer > .zprow > .zpelem-col {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    column-gap: 64px;
    align-items: start;
  }
  .sc-faq > .zpcontainer > .zprow > .zpelem-col > .zpelem-accordion { grid-column: 2; grid-row: 1 / span 3; }
  .sc-faq > .zpcontainer > .zprow > .zpelem-col > .zpelem-heading,
  .sc-faq > .zpcontainer > .zprow > .zpelem-col > .zpelem-text { grid-column: 1; }
}
.sc-faq > .zpcontainer > .zprow > .zpelem-col > .zpelem-text .zptext {
  background: var(--sc-ink);
  color: #e9e7df;
  font-size: 16px;
  padding: 30px 30px 26px;
  margin-top: 28px;
  clip-path: polygon(
    var(--sc-notch) 0, calc(100% - var(--sc-notch)) 0, 100% var(--sc-notch),
    100% calc(100% - var(--sc-notch)), calc(100% - var(--sc-notch)) 100%,
    var(--sc-notch) 100%, 0 calc(100% - var(--sc-notch)), 0 var(--sc-notch)
  );
}
.sc-faq > .zpcontainer > .zprow > .zpelem-col > .zpelem-text .zptext strong {
  display: block;
  font-family: Lora, Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 1.5rem;
  color: var(--sc-orange);
}
/* Questions: cream cards, light orange when open */    
.sc-faq .zpaccordion-container .zpaccordion {
  background: var(--sc-cream);
  transition: background-color .15s ease;
}
.sc-faq .zpaccordion-container .zpaccordion:hover { background: #f3efe6; }
.sc-faq .zpaccordion-container .zpaccordion.zpaccordion-active { background: var(--sc-yellow); }
.sc-faq .zpaccordion-container .zpaccordion-content { background: var(--sc-cream); }
.sc-faq .zpaccordion-container .zpaccordion-active-content { background: #fdf3df; }
.sc-faq .zpaccordionicon svg { fill: var(--sc-orange); }
.sc-faq .zpaccordion-container .zpaccordion.zpaccordion-active .zpaccordionicon svg { fill: var(--sc-ink); }

} /* end archived CSS */

/* =========================================================
   THE SOBER COMEBACK · design layer v1 (2 Nov 2026)
   Daylight Disco: white page, graphite type at poster scale,
   Mist panels, one magenta beat (booking buttons + glint only).
   Content lives in the builder. This file only sets structure,
   rhythm and finish. Each section carries a class in its
   Section > CSS tab: tsc-hero, tsc-trust, tsc-loop, tsc-way,
   tsc-compare, tsc-band, tsc-coaching, tsc-steps, tsc-about,
   tsc-faq, tsc-cta. Remove this block to fall back to the theme.
   ========================================================= */

:root {
  --tsc-ink: #45454C;
  --tsc-ink-soft: #62626A;
  --tsc-magenta: #D6136F;
  --tsc-mist: #F3F2F7;
  --tsc-line: rgba(69, 69, 76, .16);
  --tsc-max: 1200px;
  --tsc-gutter: clamp(20px, 4vw, 48px);
  --tsc-space: clamp(72px, 9vw, 128px);
  --tsc-display: 'Bricolage Grotesque', 'Inter', Arial, sans-serif;
}

/* ---------- page basics ---------- */
body { color: var(--tsc-ink); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--tsc-ink); color: #fff; }
a { text-underline-offset: .22em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--tsc-magenta); outline-offset: 3px; border-radius: 4px; }

[class*="tsc-"] h1, [class*="tsc-"] h2, [class*="tsc-"] h3, [class*="tsc-"] h4 {
  font-family: var(--tsc-display) !important;
  font-weight: 800 !important;
  color: var(--tsc-ink) !important;
  letter-spacing: -0.03em;
  text-wrap: balance;
}
[class*="tsc-"] h1 i, [class*="tsc-"] h2 i { font-style: normal; }
[class*="tsc-"] h1::after, [class*="tsc-"] h2::after,
[class*="tsc-"] .zpheading::after { display: none !important; content: none !important; }
[class*="tsc-"] p, [class*="tsc-"] .zptext { color: var(--tsc-ink-soft); }
[class*="tsc-"] .zptext p { margin: 0 0 .5em; }
[class*="tsc-"] .zpelem-spacer { display: none !important; }

/* one container width and one vertical rhythm for every section */
.zpsection[class*="tsc-"] { padding-top: var(--tsc-space) !important; padding-bottom: 0 !important; background: #fff; }
.zpsection[class*="tsc-"] > .zpcontainer,
.zpsection[class*="tsc-"] .zpcontainer { max-width: var(--tsc-max) !important; padding-left: var(--tsc-gutter); padding-right: var(--tsc-gutter); margin: 0 auto; }
.zpsection[class*="tsc-"] .zprow { margin-left: 0 !important; margin-right: 0 !important; }
.zpsection[class*="tsc-"] .zpelem-col { padding-left: 0 !important; padding-right: 0 !important; }

/* ---------- buttons ---------- */
[class*="tsc-"] .zpbutton-type-primary,
[class*="tsc-"] a.zpbutton-wrapper.zpbutton-type-primary {
  background: var(--tsc-magenta) !important; border: 0 !important; color: #fff !important;
  border-radius: 999px !important; padding: 18px 30px !important;
  font: 600 17px/1 'Inter', Arial, sans-serif !important; letter-spacing: 0;
  box-shadow: 0 1px 2px rgba(69,69,76,.12), 0 8px 24px -10px rgba(214,19,111,.55);
  transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s cubic-bezier(.16,1,.3,1), background .2s;
}
[class*="tsc-"] .zpbutton-type-primary:hover { background: #B80F5E !important; transform: translateY(-2px); box-shadow: 0 2px 4px rgba(69,69,76,.12), 0 14px 30px -12px rgba(214,19,111,.6); }
[class*="tsc-"] .zpbutton-type-primary:active { transform: translateY(0); }
[class*="tsc-"] .zpbutton-type-link {
  background: none !important; border: 0 !important; padding: 0 !important; color: var(--tsc-ink) !important;
  font: 600 16px/1.4 'Inter', Arial, sans-serif !important;
  text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 1px;
}
[class*="tsc-"] .zpbutton-type-link:hover { color: var(--tsc-magenta) !important; text-decoration-thickness: 2px; }
[class*="tsc-"] .zpbutton-type-link .zpbutton-content::after { content: " \2192"; }

/* ---------- 1 hero ---------- */
.tsc-hero.zpsection { padding-top: clamp(56px, 8vw, 112px) !important; }
.tsc-hero .zprow > .zpelem-col:last-of-type:not(:first-of-type) { display: none; }
.tsc-hero .zprow > .zpelem-col:first-of-type { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
.tsc-hero h1 {
  font-size: clamp(48px, 8.4vw, 112px) !important; line-height: .96 !important; letter-spacing: -0.035em !important;
  max-width: 11ch; margin: 0 !important;
}
.tsc-hero .zpelem-heading::before {
  content: ""; display: block; width: 64px; height: 16px; margin-bottom: clamp(24px, 3vw, 36px);
  background: url("/tsc-dots-divider.png") left center / contain no-repeat;
}
.tsc-hero .zpelem-text .zptext, .tsc-hero .zpelem-text .zptext p {
  font-size: clamp(18px, 1.6vw, 22px) !important; line-height: 1.5 !important; color: var(--tsc-ink-soft) !important; max-width: 34ch;
}
.tsc-hero .zpelem-heading + .zpelem-text { margin-top: clamp(24px, 3vw, 36px) !important; }
.tsc-hero .zpelem-buttongroup { margin-top: clamp(28px, 3vw, 40px) !important; }
.tsc-hero .zpbutton-group-container, .tsc-hero .zpelem-buttongroup > div { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; justify-content: flex-start !important; }

/* ---------- 2 trust strip ---------- */
.tsc-trust.zpsection { padding-top: clamp(48px, 6vw, 80px) !important; }
.tsc-trust .zpelem-text { display: flex; justify-content: center; }
.tsc-trust .zptext {
  display: inline-block; background: var(--tsc-mist); border-radius: 999px;
  padding: 14px 28px; font: 500 15px/1.5 'Inter', Arial, sans-serif !important; color: var(--tsc-ink) !important; text-align: center;
}
.tsc-trust .zptext p { margin: 0 !important; }

/* ---------- 3 the loop ---------- */
.tsc-loop .zpelem-col { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(32px, 6vw, 96px); align-items: end; }
.tsc-loop h2 { font-size: clamp(36px, 4.6vw, 60px) !important; line-height: 1.02 !important; margin: 0 !important; }
.tsc-loop .zpelem-text .zptext { font-size: 18px !important; line-height: 1.6 !important; max-width: 40ch; padding-bottom: .4em; }
@media (max-width: 767px) { .tsc-loop .zpelem-col { display: block !important; } .tsc-loop .zpelem-text { margin-top: 20px; } }

/* ---------- 4 the way out ---------- */
.tsc-way .zprow + .zprow { margin-top: clamp(40px, 5vw, 64px) !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px); }
.tsc-way .zprow + .zprow > .zpelem-col { max-width: none !important; width: auto !important; flex: none !important; border-top: 1px solid var(--tsc-line); padding-top: 28px !important; text-align: left !important; }
.tsc-way .zprow + .zprow > .zpelem-col:first-of-type { border-top: 2px solid var(--tsc-magenta); }
.tsc-way h2 { font-size: clamp(36px, 4.6vw, 60px) !important; line-height: 1.02 !important; max-width: 14ch; margin: 0 !important; }
.tsc-way h3 { font-size: 26px !important; line-height: 1.15 !important; text-align: left !important; margin: 0 0 12px !important; }
.tsc-way .zptext, .tsc-way .zptext p { text-align: left !important; font-size: 17px !important; line-height: 1.6 !important; }
@media (max-width: 767px) { .tsc-way .zprow + .zprow { grid-template-columns: 1fr; } }

/* ---------- 5 the loop vs the comeback ---------- */
.tsc-compare.zpsection { background: #fff !important; }
.tsc-compare h2 { font-size: clamp(36px, 4.6vw, 60px) !important; line-height: 1.02 !important; text-align: left !important; margin: 0 !important; }
.tsc-compare .zprow + .zprow { margin-top: clamp(32px, 4vw, 48px) !important; display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px; }
.tsc-compare .zprow + .zprow > .zpelem-col { max-width: none !important; width: auto !important; flex: none !important; margin: 0 !important; }
.tsc-compare .zpelem-box { height: 100%; border-radius: 28px !important; box-shadow: none !important; padding: clamp(28px, 3vw, 40px) !important; margin: 0 !important; }
.tsc-compare .zprow + .zprow > .zpelem-col:first-of-type .zpelem-box { background: #fff !important; border: 1px solid var(--tsc-line) !important; }
.tsc-compare .zprow + .zprow > .zpelem-col:last-of-type .zpelem-box { background: var(--tsc-mist) !important; border: 1px solid transparent !important; }
.tsc-compare .zpicon-container > .zpicon, .tsc-compare [data-element-type="icon"] { display: none !important; }
.tsc-compare .zpicon-heading { font-size: 28px !important; margin: 0 0 16px !important; text-align: left !important; }
.tsc-compare .zpicon-text-container p { margin: 0 !important; padding: 14px 0; border-top: 1px solid var(--tsc-line); font-size: 17px; line-height: 1.5; color: var(--tsc-ink); }
@media (max-width: 767px) { .tsc-compare .zprow + .zprow { grid-template-columns: 1fr; } }

/* ---------- 6 statement band ---------- */
.tsc-band.zpsection { background: #fff !important; }
.tsc-band > .zpcontainer > .zprow {
  background: var(--tsc-mist) url("/facet-grid-tile-mist-64.png") 0 0 / 32px 32px repeat;
  border-radius: 32px; padding: clamp(64px, 8vw, 112px) clamp(24px, 4vw, 64px) !important; text-align: center;
}
.tsc-band .zprow .zpelem-col { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; margin: 0 auto !important; }
.tsc-band .zprow .zprow { background: none; padding: 0 !important; justify-content: center; }
.tsc-band h2 { font-size: clamp(40px, 6.4vw, 84px) !important; line-height: .98 !important; letter-spacing: -0.04em !important; margin: 0 auto !important; max-width: 12ch; text-align: center !important; }
.tsc-band h2::before {
  content: ""; display: block; width: 72px; height: 72px; margin: 0 auto 28px;
  background: url("/tsc-symbol-full-colour-512.png") center / contain no-repeat;
}
.tsc-band .zptext { text-align: center !important; font-size: clamp(18px, 1.6vw, 21px) !important; line-height: 1.5 !important; max-width: 30ch; margin: 20px auto 0 !important; color: var(--tsc-ink) !important; }

/* ---------- 7 coaching options ---------- */
.tsc-coaching .zprow:first-child h2 { font-size: clamp(36px, 4.6vw, 60px) !important; line-height: 1.02 !important; max-width: 14ch; margin: 0 !important; }
.tsc-coaching .zprow:first-child .zptext { font-size: 18px !important; max-width: 52ch; margin-top: 16px !important; }
.tsc-coaching .zprow + .zprow { margin-top: clamp(32px, 4vw, 48px) !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.tsc-coaching .zprow + .zprow > .zpelem-col {
  max-width: none !important; width: auto !important; flex: none !important; margin: 0 !important;
  display: flex !important; flex-direction: column; text-align: left !important;
  border: 1px solid var(--tsc-line); border-radius: 28px; padding: clamp(28px, 3vw, 36px) !important;
  transition: border-color .25s, transform .3s cubic-bezier(.16,1,.3,1);
}
.tsc-coaching .zprow + .zprow > .zpelem-col:hover { border-color: rgba(69,69,76,.4); transform: translateY(-3px); }
.tsc-coaching .zprow + .zprow h3 { font-size: 28px !important; line-height: 1.1 !important; text-align: left !important; margin: 0 0 14px !important; order: 0; }
.tsc-coaching .zprow + .zprow .zpelem-text { flex: 1; }
.tsc-coaching .zprow + .zprow .zptext, .tsc-coaching .zprow + .zprow .zptext p { text-align: left !important; font-size: 16px !important; line-height: 1.6 !important; }
.tsc-coaching .zprow + .zprow .zptext p:first-child { font: 600 12px/1.4 'Inter', Arial, sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: var(--tsc-ink) !important; margin-bottom: 14px !important; }
.tsc-coaching .zprow + .zprow .zptext p:last-child { margin: 24px 0 0 !important; padding-top: 20px; border-top: 1px solid var(--tsc-line); }
.tsc-coaching .zprow + .zprow .zptext p:last-child b { font: 800 26px/1 var(--tsc-display); letter-spacing: -0.02em; color: var(--tsc-ink); }
.tsc-coaching .zprow + .zprow .zpelem-button { margin-top: 16px !important; }
.tsc-coaching .zprow + .zprow .zpbutton-container { justify-content: flex-start !important; text-align: left !important; }
@media (max-width: 991px) { .tsc-coaching .zprow + .zprow { grid-template-columns: 1fr; } }

/* ---------- 8 how it works ---------- */
.tsc-steps .zprow:last-of-type { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }
.tsc-steps .zprow:last-of-type > .zpelem-col { max-width: none !important; width: auto !important; flex: none !important; border: 0 !important; text-align: left !important; }
.tsc-steps .zpicon-container > .zpicon, .tsc-steps [data-element-type="icon"] { display: none !important; }
.tsc-steps .zpicon-heading { font-size: 24px !important; line-height: 1.15 !important; text-align: left !important; margin: 0 0 10px !important; }
.tsc-steps .zpicon-heading::before {
  content: ""; display: block; width: 64px; height: 16px; margin-bottom: 22px;
  background: url("/tsc-dots-step-1.png") left center / contain no-repeat;
}
.tsc-steps .zprow:last-of-type > .zpelem-col:nth-of-type(2) .zpicon-heading::before { background-image: url("/tsc-dots-step-2.png"); }
.tsc-steps .zprow:last-of-type > .zpelem-col:nth-of-type(3) .zpicon-heading::before { background-image: url("/tsc-dots-step-3.png"); }
.tsc-steps .zprow:last-of-type > .zpelem-col:nth-of-type(4) .zpicon-heading::before { background-image: url("/tsc-dots-step-4.png"); }
.tsc-steps .zpicon-text-container, .tsc-steps .zpicon-text-container p { text-align: left !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--tsc-ink-soft); }
@media (max-width: 991px) { .tsc-steps .zprow:last-of-type { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .tsc-steps .zprow:last-of-type { grid-template-columns: 1fr; } }

/* ---------- 9 about ---------- */
.tsc-about .zprow { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.tsc-about .zprow > .zpelem-col { max-width: none !important; width: auto !important; flex: none !important; }
.tsc-about img { border-radius: 28px; width: 100% !important; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.tsc-about h2 { font-size: clamp(36px, 4.6vw, 60px) !important; line-height: 1.02 !important; text-align: left !important; margin: 0 !important; }
.tsc-about .zptext, .tsc-about .zptext p { text-align: left !important; }
.tsc-about .zprow > .zpelem-col:first-of-type [data-element-type="image"] + [data-element-type="text"] .zptext { font: 500 20px/1.5 'Inter', Arial, sans-serif !important; color: var(--tsc-ink) !important; margin-top: 24px; }
.tsc-about .zprow > .zpelem-col:last-of-type .zptext { margin-top: 24px; font-size: 16px !important; color: var(--tsc-ink) !important; }
@media (max-width: 767px) { .tsc-about .zprow { grid-template-columns: 1fr; } }

/* ---------- 10 faq ---------- */
.tsc-faq h2 { font-size: clamp(36px, 4.6vw, 60px) !important; line-height: 1.02 !important; margin: 0 0 clamp(28px, 3vw, 40px) !important; max-width: 14ch; }
.tsc-faq .zpaccordion-container { border-top: 1px solid var(--tsc-line); }
.tsc-faq .zpaccordion, .tsc-faq .zpaccordion-content { background: transparent !important; border: 0 !important; border-radius: 0 !important; }
.tsc-faq .zpaccordion { border-bottom: 1px solid var(--tsc-line) !important; padding: 22px 0 !important; display: flex !important; align-items: center; justify-content: space-between; gap: 24px; cursor: pointer; }
.tsc-faq .zpaccordion-name { font: 600 19px/1.35 'Inter', Arial, sans-serif !important; color: var(--tsc-ink) !important; flex: 1; }
.tsc-faq .zpaccordion:hover .zpaccordion-name { color: var(--tsc-magenta) !important; }
.tsc-faq .zpaccordionicon svg { fill: var(--tsc-ink) !important; width: 14px; height: 14px; }
.tsc-faq .zpaccordion-content { padding: 0 0 24px !important; border-bottom: 1px solid var(--tsc-line) !important; }
.tsc-faq .zpaccordion-content .zptext { font-size: 17px !important; line-height: 1.6 !important; max-width: 64ch; padding: 0 !important; }
.tsc-faq .zprow > .zpelem-col > .zpelem-text:last-child .zptext { font-size: 14px !important; margin-top: 24px; color: var(--tsc-ink-soft) !important; }

/* ---------- 11 final call to action ---------- */
.tsc-cta.zpsection { padding-bottom: var(--tsc-space) !important; }
.tsc-cta > .zpcontainer > .zprow { background: var(--tsc-mist); border-radius: 32px; padding: clamp(56px, 7vw, 96px) clamp(24px, 4vw, 64px) !important; text-align: center; }
.tsc-cta h2 { font-size: clamp(36px, 5vw, 64px) !important; line-height: 1.02 !important; max-width: 16ch; margin: 0 auto !important; text-align: center !important; }
.tsc-cta .zptext { text-align: center !important; font-size: 18px !important; max-width: 44ch; margin: 18px auto 0 !important; }
.tsc-cta .zpelem-button { margin-top: 32px !important; }
.tsc-cta .zpbutton-container { justify-content: center !important; text-align: center !important; }

/* ---------- header and footer ---------- */
.theme-header-area, .zpheader-style-01 { box-shadow: none !important; border-bottom: 1px solid transparent; }
.theme-header-area .zpcontainer, .zpheader-style-01 .zpcontainer, header .zpcontainer {
  max-width: var(--tsc-max) !important; padding-left: var(--tsc-gutter) !important; padding-right: var(--tsc-gutter) !important; margin: 0 auto !important;
}
.theme-footer-area, .theme-footer-area .zpsection { background: #fff !important; background-image: none !important; }
.theme-footer-area { border-top: 1px solid var(--tsc-line); }
.theme-footer-area .zpcontainer { max-width: var(--tsc-max) !important; padding-left: var(--tsc-gutter) !important; padding-right: var(--tsc-gutter) !important; margin: 0 auto !important; }
.theme-footer-area h6, .theme-footer-area .zpheading { font: 600 12px/1.4 'Inter', Arial, sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: var(--tsc-ink) !important; }
.theme-footer-area .zptext, .theme-footer-area .zptext p, .theme-footer-area a { font-size: 15px !important; line-height: 1.8 !important; color: var(--tsc-ink-soft) !important; text-decoration: none; }
.theme-footer-area a:hover { color: var(--tsc-magenta) !important; }
.theme-footer-area img[src*="sober-club"] { max-width: 120px !important; height: auto; margin-top: 16px; }

/* ---------- motion: one authored moment ---------- */
@media (prefers-reduced-motion: no-preference) {
  .tsc-hero h1 { animation: tsc-rise .9s cubic-bezier(.16,1,.3,1) both; }
  .tsc-hero .zpelem-text, .tsc-hero .zpelem-buttongroup { animation: tsc-rise .9s cubic-bezier(.16,1,.3,1) .12s both; }
}
@keyframes tsc-rise { from { transform: translateY(18px); } to { transform: none; } }

/* ---------- mobile ---------- */
@media (max-width: 767px) {
  .tsc-hero h1 { max-width: none; }
  .tsc-trust .zptext { border-radius: 24px; }
  .tsc-band > .zpcontainer > .zprow, .tsc-cta > .zpcontainer > .zprow { border-radius: 24px; }
}
/* nav: the last menu item is the booking pill */
.theme-menu-area .theme-menu > ul > li:last-child > a { background: var(--tsc-ink) !important; color: #fff !important; border-radius: 999px; padding: 12px 22px !important; font-weight: 600 !important; line-height: 1 !important; }
.theme-menu-area .theme-menu > ul > li:last-child > a:hover { background: #2E2E33 !important; color: #fff !important; }
.theme-menu-area .theme-menu > ul > li > a { font-size: 15px !important; font-weight: 500; color: var(--tsc-ink) !important; }

/* ---------- v1.1 review fixes ---------- */
.tsc-compare .zpicon-container, .tsc-steps .zpicon-container { padding: 0 !important; margin: 0 !important; display: block !important; }
.tsc-compare .zpicon-heading, .tsc-steps .zpicon-heading { padding-left: 0 !important; margin-left: 0 !important; }
.tsc-compare .zpicon-container > .zpicon, .tsc-steps .zpicon-container > .zpicon { display: none !important; }
.tsc-steps .zprow:first-of-type:not(:last-of-type) h2 { font-size: clamp(36px, 4.6vw, 60px) !important; line-height: 1.02 !important; text-align: left !important; margin: 0 0 clamp(32px, 4vw, 48px) !important; }
.tsc-faq .zpaccordionicon { flex: 0 0 auto; }

.tsc-faq .zpaccordion { flex-direction: row !important; padding-left: 0 !important; padding-right: 0 !important; }
.tsc-faq .zpaccordion::before, .tsc-faq .zpaccordion::after { display: none !important; }
.tsc-faq .zpaccordion-name { padding: 0 !important; margin: 0 !important; }
.tsc-faq .zpaccordionicon { position: static !important; margin: 0 !important; padding: 0 !important; }
.tsc-coaching .zprow + .zprow { align-items: stretch !important; }
.tsc-coaching .zprow + .zprow > .zpelem-col { align-self: stretch !important; }
.tsc-coaching .zprow + .zprow .zpelem-text { display: flex !important; flex-direction: column; }
.tsc-coaching .zprow + .zprow .zpelem-text > .zptext { flex: 1; display: flex; flex-direction: column; }
.tsc-coaching .zprow + .zprow .zptext p:last-child { margin-top: auto !important; }
.tsc-coaching .zprow + .zprow .zptext p:nth-last-child(2) { margin-bottom: 24px !important; }
/* ---------- footer layout v1.2 ---------- */
.theme-footer-area .zprow { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto 1fr auto auto; grid-template-areas: "bh ex lg bd" "bt ex lg bd" "nh nh nh nh" "nt nt nt nt"; column-gap: clamp(24px, 3vw, 48px); align-items: start; }
.theme-footer-area .zprow > .zpelem-col { max-width: none !important; width: auto !important; flex: none !important; padding: 0 !important; margin: 0 !important; }
.theme-footer-area .zprow > .zpelem-col:first-of-type, .theme-footer-area .zprow > .zpelem-col:last-of-type { display: contents !important; }
.theme-footer-area .zprow > .zpelem-col:first-of-type > .zpelem-heading { grid-area: bh; }
.theme-footer-area .zprow > .zpelem-col:first-of-type > .zpelem-text { grid-area: bt; }
.theme-footer-area .zprow > .zpelem-col:first-of-type > .zpelem-image { grid-area: bd; justify-self: end; margin: 0 !important; }
.theme-footer-area .zprow > .zpelem-col:first-of-type > .zpelem-image .zpimage-container { justify-content: flex-end !important; text-align: right !important; }
.theme-footer-area .zprow > .zpelem-col:first-of-type > .zpelem-image img { margin-top: 0 !important; }
.theme-footer-area .zprow > .zpelem-col:nth-of-type(2) { grid-area: ex; }
.theme-footer-area .zprow > .zpelem-col:nth-of-type(3) { grid-area: lg; }
.theme-footer-area .zprow > .zpelem-col:last-of-type > .zpelem-heading { grid-area: nh; margin-top: clamp(40px, 5vw, 64px) !important; padding-top: 28px !important; border-top: 1px solid var(--tsc-line); }
.theme-footer-area .zprow > .zpelem-col:last-of-type > .zpelem-text { grid-area: nt; margin-top: 8px !important; }
.theme-footer-area .zprow > .zpelem-col:last-of-type .zptext p { font-size: 13px !important; line-height: 1.7 !important; margin: 0 !important; }
@media (max-width: 767px) {
  .theme-footer-area .zprow { grid-template-columns: 1fr 1fr; grid-template-rows: none; grid-template-areas: "bh bh" "bt bt" "ex lg" "bd bd" "nh nh" "nt nt"; row-gap: 24px; }
  .theme-footer-area .zprow > .zpelem-col:first-of-type > .zpelem-image { justify-self: start; }
}

.theme-footer-area img[src*="sober-club"], .theme-footer-area .zpimage-container figure img[src*="sober-club"] { width: 140px !important; max-width: 140px !important; height: auto !important; max-height: none !important; aspect-ratio: 1 / 1; object-fit: contain !important; margin: -8px -20px 0 0 !important; display: block; }
@media (max-width: 767px) { .theme-footer-area img[src*="sober-club"], .theme-footer-area .zpimage-container figure img[src*="sober-club"] { width: 120px !important; max-width: 120px !important; margin: 0 0 0 -19px !important; } }
/* ---------- hero with portrait v1.3 ---------- */
.tsc-hero .zprow { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.tsc-hero .zprow > .zpelem-col, .tsc-hero .zprow > .zpelem-col:first-of-type { flex: none !important; max-width: none !important; width: auto !important; margin: 0 !important; }
.tsc-hero .zprow > .zpelem-col:last-of-type:not(:first-of-type) { display: block !important; }
.tsc-hero h1 { font-size: clamp(44px, 6.4vw, 92px) !important; }
.tsc-hero .zpelem-image, .tsc-hero .zpimage-container, .tsc-hero figure, .tsc-hero .zpimage-anchor, .tsc-hero picture { display: block !important; width: 100% !important; margin: 0 !important; }
.tsc-hero img { width: 100% !important; max-width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; border-radius: 28px; display: block; }
@media (max-width: 767px) {
  .tsc-hero .zprow { grid-template-columns: 1fr; }
  .tsc-hero img { aspect-ratio: 1 / 1; }
}
/* ---------- trust + loop v1.4 ---------- */
.tsc-trust.zpsection { padding-top: clamp(40px, 5vw, 64px) !important; }
.tsc-trust .zpelem-text { display: block; }
.tsc-trust .zptext { display: block; background: none; border-radius: 0; border-top: 1px solid var(--tsc-line); border-bottom: 1px solid var(--tsc-line); padding: 18px 0; font: 500 14px/1.6 'Inter', Arial, sans-serif !important; letter-spacing: .02em; color: var(--tsc-ink) !important; text-align: center; }
.tsc-loop.zpsection { padding-top: clamp(48px, 6vw, 80px) !important; }
.zpsection.tsc-loop .zprow > .zpelem-col {
  background: radial-gradient(120% 90% at 100% 0%, rgba(214, 19, 111, .24) 0%, rgba(214, 19, 111, 0) 55%), var(--tsc-ink);
  border-radius: 32px; padding: clamp(40px, 6vw, 88px) !important; align-items: center;
}
.tsc-loop h2 { color: #fff !important; font-size: clamp(36px, 5vw, 68px) !important; }
.tsc-loop .zpelem-text { border-top: 2px solid var(--tsc-magenta); padding-top: 24px !important; }
.tsc-loop .zpelem-text .zptext, .tsc-loop .zpelem-text .zptext p { color: rgba(255, 255, 255, .82) !important; font-size: clamp(17px, 1.4vw, 20px) !important; line-height: 1.6 !important; }
@media (max-width: 767px) { .zpsection.tsc-loop .zprow > .zpelem-col { border-radius: 24px; padding: 36px 24px !important; } .tsc-loop .zpelem-text { margin-top: 32px; } }
/* ---------- about without photo v1.5 ---------- */
.tsc-about .zprow { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr) !important; grid-template-areas: "h h" "s q" "s a"; grid-template-rows: auto auto 1fr; column-gap: clamp(32px, 6vw, 96px) !important; row-gap: 0 !important; align-items: start !important; }
.tsc-about .zprow > .zpelem-col { display: contents !important; }
.tsc-about .zpelem-heading { grid-area: h; margin-bottom: clamp(40px, 5vw, 64px) !important; }
.tsc-about h2 { font-size: clamp(40px, 6vw, 84px) !important; line-height: .98 !important; letter-spacing: -0.035em !important; max-width: 16ch; }
.tsc-about h2 i { font-style: normal; color: var(--tsc-ink-soft); }
.tsc-about .zprow > .zpelem-col:last-of-type .zpelem-text { grid-area: s; }
.tsc-about .zprow > .zpelem-col:last-of-type .zptext { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 clamp(24px, 3vw, 40px); margin: 0 !important; }
.tsc-about .zprow > .zpelem-col:last-of-type .zptext p { margin: 0 !important; padding: 22px 0 26px !important; border-top: 1px solid var(--tsc-line); font: 400 16px/1.5 'Inter', Arial, sans-serif !important; color: var(--tsc-ink-soft) !important; text-align: left !important; }
.tsc-about .zprow > .zpelem-col:last-of-type .zptext p:first-child { border-top: 2px solid var(--tsc-magenta); }
.tsc-about .zprow > .zpelem-col:last-of-type .zptext p b { display: block; font: 800 clamp(30px, 3.4vw, 46px)/1 var(--tsc-display) !important; letter-spacing: -0.03em; color: var(--tsc-ink) !important; margin-bottom: 8px; }
.tsc-about .zprow > .zpelem-col:first-of-type .zpelem-text:first-of-type { grid-area: q; background: var(--tsc-mist); border-radius: 28px 28px 0 0; padding: clamp(32px, 3.5vw, 48px) clamp(28px, 3.5vw, 44px) 20px !important; margin: 0 !important; }
.tsc-about .zprow > .zpelem-col:first-of-type .zpelem-text:first-of-type::before { content: ""; display: block; width: 64px; height: 16px; margin-bottom: 24px; background: url("/tsc-dots-divider.png") left center / contain no-repeat; }
.tsc-about .zprow > .zpelem-col:first-of-type .zpelem-text:first-of-type .zptext, .tsc-about .zprow > .zpelem-col:first-of-type .zpelem-text:first-of-type .zptext p { font: 700 clamp(22px, 2vw, 28px)/1.3 var(--tsc-display) !important; letter-spacing: -0.015em; color: var(--tsc-ink) !important; margin: 0 !important; text-align: left !important; }
.tsc-about .zprow > .zpelem-col:first-of-type .zpelem-text:last-of-type { grid-area: a; background: var(--tsc-mist); border-radius: 0 0 28px 28px; padding: 0 clamp(28px, 3.5vw, 44px) clamp(32px, 3.5vw, 44px) !important; margin: 0 !important; }
.tsc-about .zprow > .zpelem-col:first-of-type .zpelem-text:last-of-type .zptext { margin: 0 !important; font-size: 15px !important; line-height: 1.5 !important; color: var(--tsc-ink-soft) !important; text-align: left !important; }
.tsc-about .zprow > .zpelem-col:first-of-type .zpelem-text:last-of-type strong { color: var(--tsc-ink); }
@media (max-width: 767px) {
  .tsc-about .zprow { grid-template-columns: 1fr !important; grid-template-areas: "h" "s" "q" "a"; grid-template-rows: none; }
  .tsc-about .zprow > .zpelem-col:last-of-type .zpelem-text { margin-bottom: 32px !important; }
}
/* ---------- coaching page v1.6 ---------- */
.theme-menu-area .theme-menu > ul > li.theme-menu-selected:not(:last-child) > a { background: none !important; color: var(--tsc-ink) !important; box-shadow: inset 0 -2px 0 var(--tsc-magenta); border-radius: 0 !important; }
/* intro */
.tsc-intro:first-of-type .zpelem-col, .tsc-plans ~ .tsc-intro .zpelem-col { text-align: left !important; }
.zpsection.tsc-intro:not(.tsc-plans ~ .tsc-intro) h1, .zpsection.tsc-intro:not(.tsc-plans ~ .tsc-intro) h2 { font-size: clamp(44px, 7vw, 96px) !important; line-height: .98 !important; letter-spacing: -0.035em !important; max-width: 12ch; margin: 0 !important; text-align: left !important; }
.zpsection.tsc-intro:not(.tsc-plans ~ .tsc-intro) .zpelem-heading::before { content: ""; display: block; width: 64px; height: 16px; margin-bottom: clamp(24px, 3vw, 36px); background: url("/tsc-dots-divider.png") left center / contain no-repeat; }
.zpsection.tsc-intro:not(.tsc-plans ~ .tsc-intro) .zptext, .zpsection.tsc-intro:not(.tsc-plans ~ .tsc-intro) .zptext p { font-size: clamp(18px, 1.6vw, 22px) !important; line-height: 1.5 !important; max-width: 40ch; text-align: left !important; margin-top: 24px !important; color: var(--tsc-ink-soft) !important; }
.zpsection.tsc-intro:not(.tsc-plans ~ .tsc-intro) .zpelem-button { margin-top: 32px !important; }
.zpsection.tsc-intro .zpbutton-container { text-align: left !important; justify-content: flex-start !important; }
/* plan cards */
.tsc-plans .zprow:first-child { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch !important; }
.tsc-plans .zprow:first-child > .zpelem-col { max-width: none !important; width: auto !important; flex: none !important; margin: 0 !important; display: flex !important; flex-direction: column; border: 1px solid var(--tsc-line); border-radius: 28px; padding: clamp(28px, 3vw, 36px) !important; text-align: left !important; transition: border-color .25s, transform .3s cubic-bezier(.16,1,.3,1); }
.tsc-plans .zprow:first-child > .zpelem-col:hover { border-color: rgba(69,69,76,.4); transform: translateY(-3px); }
.tsc-plans .zpicon-container > .zpicon, .tsc-plans [data-element-type="icon"] { display: none !important; }
.tsc-plans .zpelem-iconheadingtext, .tsc-plans [data-element-type="iconHeadingText"] { flex: 1; display: flex !important; flex-direction: column; }
.tsc-plans .zpicon-container { padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column; flex: 1; text-align: left !important; }
.tsc-plans .zpicon-heading { flex: none !important; height: auto !important; font-size: 28px !important; line-height: 1.1 !important; text-align: left !important; margin: 0 0 14px !important; padding: 0 !important; }
.tsc-plans .zpicon-text-container { flex: 1; display: flex; flex-direction: column; text-align: left !important; padding: 0 !important; }
.tsc-plans .zpicon-text-container p { text-align: left !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--tsc-ink-soft); margin: 0 !important; }
.tsc-plans .zpicon-text-container p:first-child { font: 600 12px/1.4 'Inter', Arial, sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: var(--tsc-ink) !important; margin-bottom: 14px !important; }
.tsc-plans .zpicon-text-container p:last-child { margin-top: auto !important; padding-top: 20px; border-top: 1px solid var(--tsc-line); font-size: 14px !important; line-height: 1.5 !important; }
.tsc-plans .zpicon-text-container p:nth-last-child(2) { margin-bottom: 24px !important; }
.tsc-plans .zpicon-text-container p:last-child b + br { display: none; }
.tsc-plans .zpicon-text-container p:last-child b { display: block; font: 800 28px/1 var(--tsc-display) !important; letter-spacing: -0.02em; color: var(--tsc-ink) !important; margin-bottom: 6px; }
.tsc-plans .zpelem-buttonicon { margin-top: 16px !important; }
.tsc-plans .zpbutton-container { text-align: left !important; justify-content: flex-start !important; }
.tsc-plans .zpbutton-icon { display: none !important; }
.tsc-plans .zprow + .zprow .zptext, .tsc-plans .zprow + .zprow .zptext p { font-size: 15px !important; line-height: 1.6 !important; color: var(--tsc-ink-soft) !important; text-align: left !important; max-width: 70ch; }
.tsc-plans .zprow + .zprow { margin-top: 24px !important; }
@media (min-width: 992px) { .tsc-plans .zpicon-heading { min-height: 2.2em; } }
@media (max-width: 991px) { .tsc-plans .zprow:first-child { grid-template-columns: 1fr; } }
/* detail sections */
.zpsection.tsc-plans ~ .tsc-intro .zpelem-col { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(32px, 6vw, 96px); align-items: start; border-top: 1px solid var(--tsc-line); padding-top: clamp(40px, 5vw, 64px) !important; }
.zpsection.tsc-plans ~ .tsc-intro .zpelem-heading { grid-column: 1; grid-row: 1 / span 4; position: sticky; top: 96px; }
.zpsection.tsc-plans ~ .tsc-intro .zpelem-text, .zpsection.tsc-plans ~ .tsc-intro .zpelem-button { grid-column: 2; }
.zpsection.tsc-plans ~ .tsc-intro h2 { font-size: clamp(34px, 4.4vw, 56px) !important; line-height: 1.02 !important; text-align: left !important; margin: 0 !important; }
.zpsection.tsc-plans ~ .tsc-intro .zptext { text-align: left !important; max-width: 60ch; }
.zpsection.tsc-plans ~ .tsc-intro .zptext p, .zpsection.tsc-plans ~ .tsc-intro .zptext li { text-align: left !important; font-size: 17px !important; line-height: 1.65 !important; color: var(--tsc-ink-soft) !important; margin: 0 0 14px !important; }
.zpsection.tsc-plans ~ .tsc-intro .zptext p:first-child { font: 600 13px/1.4 'Inter', Arial, sans-serif !important; letter-spacing: .1em; text-transform: uppercase; color: var(--tsc-ink) !important; margin-bottom: 20px !important; }
.zpsection.tsc-plans ~ .tsc-intro .zptext p:nth-child(2) { font: 700 clamp(22px, 2vw, 26px)/1.3 var(--tsc-display) !important; letter-spacing: -0.015em; color: var(--tsc-ink) !important; margin-bottom: 18px !important; }
.zpsection.tsc-plans ~ .tsc-intro .zptext p > b:only-child { display: block; font: 600 12px/1.4 'Inter', Arial, sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: var(--tsc-ink); margin-top: 28px; }
.zpsection.tsc-plans ~ .tsc-intro .zptext p:first-child > b:only-child { margin-top: 0; font: inherit !important; }
.zpsection.tsc-plans ~ .tsc-intro .zptext ul, .zpsection.tsc-plans ~ .tsc-intro .zptext ol { padding: 0 !important; margin: 0 0 16px !important; list-style: none !important; }
.zpsection.tsc-plans ~ .tsc-intro .zptext li { position: relative; padding: 10px 0 10px 28px !important; margin: 0 !important; border-top: 1px solid var(--tsc-line); }
.zpsection.tsc-plans ~ .tsc-intro .zptext li:last-child { border-bottom: 1px solid var(--tsc-line); }
.zpsection.tsc-plans ~ .tsc-intro .zptext ul > li::before { content: ""; position: absolute; left: 4px; top: 21px; width: 7px; height: 7px; border-radius: 50%; background: var(--tsc-ink); }
.zpsection.tsc-plans ~ .tsc-intro .zptext ol { counter-reset: tsc-ol; }
.zpsection.tsc-plans ~ .tsc-intro .zptext ol > li { counter-increment: tsc-ol; }
.zpsection.tsc-plans ~ .tsc-intro .zptext ol > li::before { content: counter(tsc-ol); position: absolute; left: 0; top: 10px; font: 800 15px/1.65 var(--tsc-display); color: var(--tsc-magenta); }
.zpsection.tsc-plans ~ .tsc-intro .zptext p:last-child { background: var(--tsc-mist); border-radius: 20px; padding: 18px 22px !important; margin-top: 24px !important; color: var(--tsc-ink) !important; }
.zpsection.tsc-plans ~ .tsc-intro .zptext p:last-child > b { display: inline; font: 700 17px/1.65 'Inter', Arial, sans-serif !important; letter-spacing: 0; text-transform: none; margin: 0; }
.zpsection.tsc-plans ~ .tsc-intro .zpelem-button { margin-top: 28px !important; }
.zpsection.tsc-plans ~ .tsc-intro .zpelem-button ~ .zpelem-text { grid-column: 1 / -1; margin-top: clamp(48px, 6vw, 72px) !important; padding-top: 20px; border-top: 1px solid var(--tsc-line); max-width: none; }
.zpsection.tsc-plans ~ .tsc-intro .zpelem-button ~ .zpelem-text .zptext p { font: 400 13px/1.6 'Inter', Arial, sans-serif !important; background: none !important; padding: 0 !important; margin: 0 !important; color: var(--tsc-ink-soft) !important; text-transform: none; letter-spacing: 0; }
.zpsection.tsc-plans ~ .zpsection.tsc-intro { padding-top: clamp(48px, 6vw, 80px) !important; }
.zpsection.tsc-plans ~ .tsc-intro:last-of-type { padding-bottom: clamp(48px, 6vw, 96px) !important; }
@media (max-width: 767px) { .zpsection.tsc-plans ~ .tsc-intro .zpelem-col { grid-template-columns: 1fr; } .zpsection.tsc-plans ~ .tsc-intro .zpelem-heading { grid-column: 1; grid-row: auto; position: static; margin-bottom: 24px; } .zpsection.tsc-plans ~ .tsc-intro .zpelem-text, .zpsection.tsc-plans ~ .tsc-intro .zpelem-button { grid-column: 1; } }
/* ---------- legal page v1.7 ---------- */
.tsc-legal .zpelem-col { text-align: left !important; }
.tsc-legal h1, .tsc-legal h2 { font-size: clamp(40px, 6vw, 80px) !important; line-height: 1 !important; letter-spacing: -0.035em !important; text-align: left !important; margin: 0 0 clamp(32px, 4vw, 56px) !important; max-width: 14ch; }
.tsc-legal .zpelem-heading::before { content: ""; display: block; width: 64px; height: 16px; margin-bottom: clamp(24px, 3vw, 36px); background: url("/tsc-dots-divider.png") left center / contain no-repeat; }
.tsc-legal .zptext { text-align: left !important; max-width: 68ch; padding-bottom: clamp(48px, 6vw, 96px); }
.tsc-legal .zptext h3 { font: 700 clamp(20px, 1.8vw, 24px)/1.25 var(--tsc-display) !important; letter-spacing: -0.015em; color: var(--tsc-ink) !important; text-align: left !important; margin: 40px 0 12px !important; padding-top: 28px; border-top: 1px solid var(--tsc-line); }
.tsc-legal .zptext h3:first-child { margin-top: 0 !important; border-top: 2px solid var(--tsc-magenta); }
.tsc-legal .zptext p { text-align: left !important; font-size: 17px !important; line-height: 1.7 !important; color: var(--tsc-ink-soft) !important; margin: 0 0 14px !important; }
/* ---------- price block alignment v1.8 ---------- */
.tsc-plans .zpicon-text-container p:last-child, .tsc-coaching .zprow + .zprow .zptext p:last-child { box-sizing: border-box; min-height: 100px; text-wrap: pretty; }
.tsc-coaching .zprow + .zprow .zptext p:last-child b { display: block; margin-bottom: 6px; }
.tsc-coaching .zprow + .zprow .zptext p:last-child b + br { display: none; }
.tsc-coaching .zprow + .zprow .zptext p:last-child { font-size: 14px !important; line-height: 1.5 !important; }
@media (min-width: 992px) { .tsc-coaching .zprow + .zprow h3 { min-height: 2.2em; } }
/* ---------- home cards without prices v1.9 ---------- */
.tsc-coaching .zprow + .zprow .zptext p:last-child:not(:first-child) { margin: 0 !important; padding: 0 !important; border: 0 !important; min-height: 0 !important; font-size: 16px !important; line-height: 1.6 !important; }
.tsc-coaching .zprow + .zprow .zptext p:first-child:nth-last-child(2) { margin-bottom: 14px !important; }
.tsc-coaching .zprow + .zprow .zpelem-button { margin-top: 28px !important; padding-top: 20px !important; border-top: 1px solid var(--tsc-line); }
/* ---------- legal lists v2.0 ---------- */
.tsc-legal .zptext ul { list-style: none !important; padding: 0 !important; margin: 0 0 16px !important; }
.tsc-legal .zptext li { position: relative; padding: 10px 0 10px 24px !important; margin: 0 !important; border-top: 1px solid var(--tsc-line); font-size: 17px !important; line-height: 1.65 !important; color: var(--tsc-ink-soft) !important; text-align: left !important; }
.tsc-legal .zptext li:last-child { border-bottom: 1px solid var(--tsc-line); }
.tsc-legal .zptext li::before { content: ""; position: absolute; left: 2px; top: 21px; width: 7px; height: 7px; border-radius: 50%; background: var(--tsc-ink); }
.tsc-legal .zptext li b { color: var(--tsc-ink); font-weight: 600; }
.tsc-legal + .tsc-legal { border-top: 1px solid var(--tsc-line); }
/* ---------- consent bar + badge v2.1 ---------- */
.theme-footer-area img[src*="sober-club"], .theme-footer-area .zpimage-container figure img[src*="sober-club"] { width: 182px !important; max-width: 182px !important; margin: -10px -26px 0 0 !important; }
@media (max-width: 767px) { .theme-footer-area img[src*="sober-club"], .theme-footer-area .zpimage-container figure img[src*="sober-club"] { width: 156px !important; max-width: 156px !important; margin: 0 0 0 -25px !important; } }
#zc-revise { width: 56px !important; height: 56px !important; padding: 0 !important; border-radius: 50% !important; border: 1px solid var(--tsc-line) !important; background: #fff url("/tsc-symbol-full-colour-512.png") center / 38px 38px no-repeat !important; box-shadow: 0 8px 24px rgba(69,69,76,.16) !important; left: 16px !important; bottom: 16px !important; transition: transform .3s cubic-bezier(.16,1,.3,1); }
#zc-revise:hover { transform: rotate(-12deg) scale(1.06); }
#zc-revise img { opacity: 0 !important; }
#zcb-banner.zcb-bar { left: 16px !important; right: 16px !important; bottom: 16px !important; width: auto !important; max-width: 1168px; margin: 0 auto !important; background: #fff !important; border: 1px solid var(--tsc-line) !important; border-radius: 24px !important; box-shadow: 0 12px 40px rgba(69,69,76,.16) !important; padding: 18px 20px 18px 28px !important; font-family: 'Inter', Arial, sans-serif !important; }
#zcb-banner .zcb-message-bar { display: flex !important; align-items: center; gap: 16px 32px; width: 100%; flex-wrap: wrap; }
#zcb-banner .zcb-msg { flex: 1 1 380px; font: 400 14px/1.55 'Inter', Arial, sans-serif !important; color: var(--tsc-ink-soft) !important; }
#zcb-banner .zcb-btn { display: flex !important; gap: 10px; flex-wrap: wrap; }
#zcb-banner .zcb-links, .zs-popup .zcb-links { color: var(--tsc-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; font-weight: 600; }
#zcb-banner .zpbutton, .zs-popup .zcb-button { border-radius: 999px !important; font: 600 14px/1 'Inter', Arial, sans-serif !important; padding: 12px 20px !important; min-height: 0 !important; height: auto !important; box-shadow: none !important; letter-spacing: 0 !important; }
#zcb-banner .zpbutton-type-secondary, .zs-popup .zcb-button.zpbutton-type-secondary { background: transparent !important; color: var(--tsc-ink) !important; border: 1px solid rgba(69,69,76,.35) !important; }
#zcb-banner .zpbutton-type-secondary:hover, .zs-popup .zcb-button.zpbutton-type-secondary:hover { border-color: var(--tsc-ink) !important; }
#zcb-banner .zpbutton-type-primary, .zs-popup .zcb-button.zpbutton-type-primary { background: var(--tsc-magenta) !important; color: #fff !important; border: 1px solid var(--tsc-magenta) !important; }
.zs-popup:has(#zcb-popup-title) { background: rgba(69,69,76,.45) !important; }
.zs-popup:has(#zcb-popup-title) .zs-popup-container { border-radius: 28px !important; padding: 12px 8px 8px !important; box-shadow: 0 24px 64px rgba(69,69,76,.25) !important; font-family: 'Inter', Arial, sans-serif !important; }
#zcb-popup-title { font: 800 28px/1.1 var(--tsc-display) !important; letter-spacing: -0.02em !important; color: var(--tsc-ink) !important; }
.zs-popup:has(#zcb-popup-title) .zs-heading-cont, .zs-popup .zcb-desc { font: 400 14px/1.6 'Inter', Arial, sans-serif !important; color: var(--tsc-ink-soft) !important; }
.zs-popup .zcb-acc { border-top: 1px solid var(--tsc-line); padding: 6px 0; }
.zs-popup .zcb-acc-title { font: 600 15px/1.4 'Inter', Arial, sans-serif !important; color: var(--tsc-ink) !important; }
.zs-popup .zcb-swb:checked + .zcb-slider { background: var(--tsc-magenta) !important; }
.zs-popup .zs-button-cntr { display: flex; justify-content: flex-end; gap: 10px; }
@media (max-width: 767px) { #zcb-banner.zcb-bar { left: 12px !important; right: 12px !important; bottom: 12px !important; padding: 18px !important; } #zcb-banner .zcb-btn { width: 100%; } #zcb-banner .zpbutton { flex: 1; } }
/* ---------- about page v2.2 ---------- */
[class*="tsc-ab-"] h2, [class*="tsc-ab-"] h3, [class*="tsc-ab-"] .zptext, [class*="tsc-ab-"] .zptext p, [class*="tsc-ab-"] .zptext li { text-align: left !important; }
[class*="tsc-ab-"] h2 { font-family: var(--tsc-display) !important; font-weight: 800 !important; font-size: clamp(32px, 4vw, 52px) !important; line-height: 1.02 !important; letter-spacing: -0.03em !important; color: var(--tsc-ink) !important; margin: 0 !important; }
[class*="tsc-ab-"] .zptext, [class*="tsc-ab-"] .zptext p, [class*="tsc-ab-"] .zptext li { color: var(--tsc-ink) !important; font-size: 17px !important; line-height: 1.65 !important; }
[class*="tsc-ab-"] .zptext p { margin: 0 0 16px !important; }
[class*="tsc-ab-"] .zptext p:last-child { margin-bottom: 0 !important; }
/* hero */
.tsc-ab-hero .zprow { grid-template-columns: minmax(0, 11fr) minmax(0, 9fr) !important; }
.tsc-ab-hero h1 { font-size: clamp(40px, 5.4vw, 78px) !important; max-width: 13ch !important; }
.tsc-ab-hero .zpelem-heading::before { content: "ABOUT MATT"; width: auto !important; height: auto !important; padding-left: 80px; background-size: 64px 16px !important; font: 600 13px/16px Inter, Arial, sans-serif; letter-spacing: .16em; color: var(--tsc-ink); }
.tsc-ab-hero .zptext, .tsc-ab-hero .zptext p { max-width: 38ch !important; }
.zpsection.tsc-ab-hero .zprow .zpelem-image .zpimage-container figure img { aspect-ratio: auto !important; height: clamp(360px, 42vw, 540px) !important; object-position: 64% 40% !important; }
/* facts */
.tsc-ab-facts.zpsection { padding-top: clamp(48px, 6vw, 80px) !important; }
.tsc-ab-facts .zptext { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px clamp(16px, 3vw, 40px); }
.tsc-ab-facts .zptext p { margin: 0 !important; padding-top: 18px; border-top: 2px solid var(--tsc-ink); color: var(--tsc-ink-soft) !important; font-size: 16px !important; line-height: 1.45 !important; }
.tsc-ab-facts .zptext p:nth-of-type(3) { border-top-color: var(--tsc-magenta); }
.tsc-ab-facts .zptext p b { display: block; font-family: var(--tsc-display); font-weight: 800; font-size: clamp(28px, 3vw, 40px); line-height: 1.05; letter-spacing: -0.02em; color: var(--tsc-ink); margin-bottom: 6px; }
/* the world I knew */
.zpsection.tsc-ab-world .zprow > .zpelem-col { display: grid !important; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 24px clamp(32px, 5vw, 80px); align-items: start; }
.tsc-ab-world .zptext p { font-size: clamp(17px, 1.4vw, 19px) !important; }
/* pull quote */
.tsc-ab-quote .zptext, .tsc-ab-quote .zptext p { font-family: var(--tsc-display) !important; font-weight: 700 !important; font-style: normal !important; font-size: clamp(26px, 3.4vw, 44px) !important; line-height: 1.18 !important; letter-spacing: -0.02em !important; color: var(--tsc-ink) !important; max-width: 30ch; }
/* stopping meant starting again */
.zpsection.tsc-ab-stop .zprow > .zpelem-col { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(32px, 5vw, 72px); align-items: start; background: var(--tsc-mist) url("/facet-grid-tile-mist-64.png") 0 0 / 32px 32px repeat; border-radius: 32px; padding: clamp(36px, 6vw, 80px) !important; }
.tsc-ab-stop .zpelem-text, .tsc-ab-stop .zptext { display: contents !important; }
.tsc-ab-stop .zpelem-heading { grid-column: 1; grid-row: 1; }
.tsc-ab-stop h2 { font-size: clamp(32px, 3.6vw, 48px) !important; }
.tsc-ab-stop .zptext p:first-of-type { grid-column: 2; grid-row: 1; align-self: end; margin: 0 !important; font-size: clamp(17px, 1.4vw, 19px) !important; }
.tsc-ab-stop .zptext ul { grid-column: 1 / -1; grid-row: 2; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; list-style: none !important; margin: clamp(16px, 2vw, 24px) 0 0 !important; padding: 0 !important; }
.tsc-ab-stop .zptext li { list-style: none !important; margin: 0 !important; background: #fff; border-radius: 20px; padding: 24px !important; font-family: var(--tsc-display) !important; font-weight: 800 !important; font-size: 20px !important; line-height: 1.2 !important; }
.tsc-ab-stop .zptext li::marker { content: none; }
.tsc-ab-stop .zptext li::before { content: ""; display: block; width: 64px; height: 16px; margin-bottom: 20px; background: url("/tsc-dots-step-1.png") left center / contain no-repeat; }
.tsc-ab-stop .zptext li:nth-child(2)::before { background-image: url("/tsc-dots-step-2.png"); }
.tsc-ab-stop .zptext li:nth-child(3)::before { background-image: url("/tsc-dots-step-3.png"); }
.tsc-ab-stop .zptext li:nth-child(4)::before { background-image: url("/tsc-dots-step-4.png"); }
.tsc-ab-stop .zptext p:last-of-type:not(:first-of-type) { grid-column: 1 / -1; grid-row: 3; margin: 8px 0 0 !important; font-weight: 600; }
/* why gay men in midlife */
.tsc-ab-midlife .zprow { display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.tsc-ab-midlife .zprow > .zpelem-col { flex: none !important; max-width: none !important; width: auto !important; margin: 0 !important; }
.tsc-ab-midlife .zprow > .zpelem-col:last-of-type { order: -1; }
.tsc-ab-midlife .zpelem-image, .tsc-ab-midlife .zpimage-container, .tsc-ab-midlife figure, .tsc-ab-midlife .zpimage-anchor, .tsc-ab-midlife picture { display: block !important; width: 100% !important; margin: 0 !important; }
.zpsection.tsc-ab-midlife .zprow .zpelem-image .zpimage-container figure img { width: 100% !important; max-width: 100% !important; height: clamp(320px, 34vw, 440px) !important; object-fit: cover; object-position: 50% 50%; border-radius: 28px; display: block; }
.tsc-ab-midlife .zpelem-heading + .zpelem-text { margin-top: 24px !important; }
/* how I coach / what I'm not */
.zpsection.tsc-ab-coach .zprow > .zpelem-col { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); grid-template-rows: auto auto 1fr; column-gap: 24px; row-gap: 0; position: relative; }
.zpsection.tsc-ab-coach .zprow > .zpelem-col::before, .zpsection.tsc-ab-coach .zprow > .zpelem-col::after { content: ""; grid-row: 1 / -1; border-radius: 28px; z-index: 0; }
.zpsection.tsc-ab-coach .zprow > .zpelem-col::before { grid-column: 1; border: 1px solid var(--tsc-ink); background: #fff; }
.zpsection.tsc-ab-coach .zprow > .zpelem-col::after { grid-column: 2; background: var(--tsc-mist); }
.tsc-ab-coach .zpelem-text, .tsc-ab-coach .zptext { display: contents !important; }
.tsc-ab-coach .zpelem-heading, .tsc-ab-coach .zptext > * { position: relative; z-index: 1; }
.tsc-ab-coach .zpelem-heading { grid-column: 1; grid-row: 1; padding: clamp(28px, 4vw, 48px) clamp(24px, 4vw, 48px) 0 !important; }
.tsc-ab-coach .zptext ul { grid-column: 1; grid-row: 2 / span 2; display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; list-style: none !important; margin: 0 !important; padding: 28px clamp(24px, 4vw, 48px) clamp(28px, 4vw, 48px) !important; align-content: start; }
.tsc-ab-coach .zptext li { list-style: none !important; margin: 0 !important; font-size: 16px !important; line-height: 1.55 !important; color: var(--tsc-ink-soft) !important; }
.tsc-ab-coach .zptext li::marker { content: none; }
.tsc-ab-coach .zptext li b { display: block; font-weight: 600; font-size: 17px; color: var(--tsc-ink); margin-bottom: 4px; }
.tsc-ab-coach .zptext h3 { grid-column: 2; grid-row: 1; font-family: var(--tsc-display) !important; font-weight: 800 !important; font-size: clamp(24px, 2.4vw, 32px) !important; line-height: 1.1 !important; color: var(--tsc-ink) !important; margin: 0 !important; padding: clamp(28px, 4vw, 48px) clamp(24px, 3vw, 40px) 0 !important; align-self: end; }
.tsc-ab-coach .zptext p { grid-column: 2; margin: 0 !important; padding: 20px clamp(24px, 3vw, 40px) 0 !important; }
.tsc-ab-coach .zptext h3 + p { grid-row: 2; }
.tsc-ab-coach .zptext p:last-of-type { grid-row: 3; font-size: 14px !important; color: var(--tsc-ink-soft) !important; padding-bottom: clamp(28px, 4vw, 48px) !important; }
/* credential */
.tsc-ab-cred .zprow { display: grid !important; grid-template-columns: 120px minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: center; border-top: 1px solid var(--tsc-line); border-bottom: 1px solid var(--tsc-line); padding: clamp(28px, 4vw, 40px) 0 !important; }
.tsc-ab-cred .zprow > .zpelem-col { flex: none !important; max-width: none !important; width: auto !important; margin: 0 !important; }
.tsc-ab-cred .zprow > .zpelem-col:last-of-type { order: -1; }
.tsc-ab-cred .zpelem-image, .tsc-ab-cred .zpimage-container, .tsc-ab-cred figure, .tsc-ab-cred .zpimage-anchor, .tsc-ab-cred picture { display: block !important; width: 120px !important; margin: 0 !important; }
.zpsection.tsc-ab-cred .zprow .zpelem-image .zpimage-container figure img { width: 120px !important; max-width: 120px !important; height: auto !important; display: block; }
.tsc-ab-cred h2 { font-size: clamp(24px, 2.6vw, 34px) !important; }
.tsc-ab-cred .zpelem-heading + .zpelem-text { margin-top: 10px !important; }
@media (max-width: 767px) {
  .tsc-ab-hero .zprow { grid-template-columns: 1fr !important; }
  .zpsection.tsc-ab-hero .zprow .zpelem-image .zpimage-container figure img { height: 420px !important; }
  .tsc-ab-facts .zptext { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zpsection.tsc-ab-world .zprow > .zpelem-col, .zpsection.tsc-ab-stop .zprow > .zpelem-col, .tsc-ab-midlife .zprow { grid-template-columns: 1fr; }
  .tsc-ab-stop .zptext p:first-of-type { grid-column: 1; grid-row: 2; }
  .tsc-ab-stop .zptext ul { grid-row: 3; }
  .tsc-ab-stop .zptext p:last-of-type:not(:first-of-type) { grid-row: 4; }
  .zpsection.tsc-ab-stop .zprow > .zpelem-col { border-radius: 24px; padding: 32px 20px !important; }
  .tsc-ab-stop .zptext ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .tsc-ab-stop .zptext li { padding: 18px !important; font-size: 17px !important; }
  .zpsection.tsc-ab-midlife .zprow .zpelem-image .zpimage-container figure img { height: 340px !important; }
  .zpsection.tsc-ab-coach .zprow > .zpelem-col { grid-template-columns: 1fr; grid-template-rows: repeat(5, auto); }
  .zpsection.tsc-ab-coach .zprow > .zpelem-col::before { grid-column: 1; grid-row: 1 / 3; }
  .zpsection.tsc-ab-coach .zprow > .zpelem-col::after { grid-column: 1; grid-row: 3 / 6; margin-top: 16px; }
  .tsc-ab-coach .zptext ul { grid-row: 2; grid-template-columns: 1fr; gap: 20px; padding: 24px !important; }
  .tsc-ab-coach .zpelem-heading { padding: 28px 24px 0 !important; }
  .tsc-ab-coach .zptext h3 { grid-column: 1; grid-row: 3; padding: 44px 24px 0 !important; }
  .tsc-ab-coach .zptext h3 + p { grid-column: 1; grid-row: 4; padding: 16px 24px 0 !important; }
  .tsc-ab-coach .zptext p:last-of-type { grid-column: 1; grid-row: 5; padding: 16px 24px 28px !important; }
  .tsc-ab-cred .zprow { grid-template-columns: 88px minmax(0, 1fr); gap: 20px; }
  .tsc-ab-cred .zpelem-image, .tsc-ab-cred .zpimage-container, .tsc-ab-cred figure, .tsc-ab-cred .zpimage-anchor, .tsc-ab-cred picture, .zpsection.tsc-ab-cred .zprow .zpelem-image .zpimage-container figure img { width: 88px !important; max-width: 88px !important; }
}
/* ---------- end design layer v1 ---------- */
