@import url("/site-assets/card-background.css?v=20261014-source-crop");
/* Hitorerut unified typography — 2026-10-02
   One language, one rhythm. Rubik carries the reading; BuNotza is reserved for short display titles. */
@font-face{font-family:"BuNotza";src:url("/assets/buNotza-2.0-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{
  --type-body:19px;
  --type-body-mobile:17px;
  --type-small:13px;
  --type-small-mobile:12.5px;
  --type-cta:17px;
  --type-cta-mobile:17px;
  --type-card-title:20px;
  --type-card-title-mobile:18px;
  --type-heading:28px;
  --type-heading-mobile:23px;
  --type-question:32px;
  --type-question-mobile:25px;
  --type-display:40px;
  --type-display-mobile:31px;
  --type-notza:38px;
  --type-notza-mobile:30px;
}
html{-webkit-text-size-adjust:100%}
body{font-family:Rubik,Arial,sans-serif!important;font-size:var(--type-body);font-weight:400;line-height:1.62}
body :where(p,li,span,a,button,label,input,textarea,select,summary){font-family:Rubik,Arial,sans-serif}
p,li{overflow-wrap:normal;word-break:normal}
p,.copy,.lead,.desc,.story-panel p{text-wrap:pretty}
h1,h2,h3,h4,.question,.hero-question,.hook,.lead,.turn{text-wrap:balance;overflow-wrap:normal;word-break:normal}

/* Default: headings are Rubik too. BuNotza is an accent, never the reading font. */

body .type-short-title{
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-weight:400!important;
  font-size:var(--type-notza)!important;
  line-height:1.14!important;
  letter-spacing:0!important;
  text-wrap:balance;
}
body .type-long-title{font-family:Rubik,Arial,sans-serif!important}

/* Stable hierarchy */
body :where(.hero-copy h1,.intro h1,.copy h1,.page-title,h1.type-display){
  font-size:var(--type-display)!important;
  line-height:1.12!important;
  font-weight:600!important;
}
body :where(.panel h2,.offers h2,.story-panel h2,.section-title){
  font-size:var(--type-heading)!important;
  line-height:1.26!important;
  font-weight:500!important;
}
body :where(.question,.hero-question,.hook,.type-question){
  font-size:var(--type-question)!important;
  line-height:1.24!important;
  font-weight:500!important;
}
body :where(.offer strong,.card-content strong,.card-title){
  font-size:var(--type-card-title)!important;
  line-height:1.28!important;
  font-weight:500!important;
}
body :where(p,.offer p,.card-content p,.panel p,.story-panel p,.copy,.desc){
  font-size:var(--type-body)!important;
  line-height:1.62!important;
}
body :where(.eyebrow,.kicker,small,.meta){font-size:var(--type-small)!important;line-height:1.4!important}
body :where(.cta,.story-cta,.pill,.btn,.button,button){
  font-size:var(--type-cta)!important;
  line-height:1.25!important;
  font-weight:500!important;
}

/* A complete bold statement gets air of its own. */
p>strong:only-child,.copy p>strong:only-child,.lead>strong:only-child,.type-bold-line{
  display:block;
  font-weight:600;
  margin-block:.15em .28em;
}

/* Product/audience cards stay compact; the title may become BuNotza only when the JS marks it as short. */
.offers .offer strong{font-size:var(--type-card-title)!important}

/* Avoid typographic orphans where the browser supports pretty wrapping. */
@supports(text-wrap:pretty){p,.copy,.desc,.lead,.story-panel p{white-space:normal;text-wrap:pretty}}
@supports(text-wrap:balance){h1,h2,h3,.question,.hero-question,.hook,.turn{white-space:normal;text-wrap:balance}}

@media(max-width:700px){
  body{font-size:var(--type-body-mobile);line-height:1.56}
  body :where(p,.offer p,.card-content p,.panel p,.story-panel p,.copy,.desc){
    font-size:var(--type-body-mobile)!important;
    line-height:1.56!important;
  }
  body :where(.hero-copy h1,.intro h1,.copy h1,.page-title,h1.type-display){
    font-size:var(--type-display-mobile)!important;
    line-height:1.12!important;
  }
  body .type-short-title{
    font-size:var(--type-notza-mobile)!important;
    line-height:1.12!important;
  }
  body :where(.panel h2,.offers h2,.story-panel h2,.section-title){
    font-size:var(--type-heading-mobile)!important;
    line-height:1.25!important;
  }
  body :where(.question,.hero-question,.hook,.type-question){
    font-size:var(--type-question-mobile)!important;
    line-height:1.24!important;
  }
  body :where(.offer strong,.card-content strong,.card-title,.offers .offer strong){
    font-size:var(--type-card-title-mobile)!important;
    line-height:1.27!important;
  }
  body :where(.eyebrow,.kicker,small,.meta){font-size:var(--type-small-mobile)!important}
  body :where(.cta,.story-cta,.pill,.btn,.button,button){font-size:var(--type-cta-mobile)!important}
  /* Bold opening sentence never shares a mobile line with regular copy. */
  p>strong,.copy p>strong,.lead>strong{display:block;margin-bottom:.3em}
}

/* 2026-10-02 final authority layer.
   This deliberately comes last and neutralizes legacy page-level typography. */
body :where(.field-heading>span:not(.field-symbol),.cards .card .card-content>strong){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-size:var(--type-notza)!important;
  line-height:1.14!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
body :where(.story>h1.field-heading,.story>.field-heading){
  font-size:var(--type-notza)!important;
  line-height:1.14!important;
}
body :where(.journey-hero h1,.journey-title h1){
  font-size:var(--type-display)!important;
  line-height:1.12!important;
}
body :where(.reading-line){font-size:inherit!important;line-height:inherit!important}
@media(max-width:700px){
  body :where(.field-heading>span:not(.field-symbol),.cards .card .card-content>strong){
    font-size:var(--type-notza-mobile)!important;
    line-height:1.12!important;
  }
  body :where(.story>h1.field-heading,.story>.field-heading){
    font-size:var(--type-notza-mobile)!important;
    line-height:1.12!important;
  }
  body :where(.journey-hero h1,.journey-title h1){
    font-size:var(--type-display-mobile)!important;
    line-height:1.12!important;
  }
}


/* Brand names and landing-page titles always use BuNotza. */
body .type-landing-title,
body .type-product-title,
body .type-course-title,
body .type-workshop-title {
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:0!important;
}


/* 2026-10-02 site-wide typography authority.
   Running copy uses one Rubik size. Display titles are semantic BuNotza. */
body :where(
  p,
  li,
  .copy,
  .desc,
  .lead,
  .case-line,
  .case-lead,
  .case-closing,
  .case-closing p,
  .story-reveal p,
  .offers-intro,
  .offers-heading p,
  .offer p,
  .footer-note,
  .meeting-quote
){
  font-family:Rubik,Arial,sans-serif!important;
  font-size:var(--type-body)!important;
  line-height:1.62!important;
  font-weight:400;
}

/* Bold is emphasis, not a second body size. */
body :where(
  .case-lead,
  p strong,
  .copy strong,
  .lead strong,
  .offer p strong
){
  font-size:inherit!important;
}

/* Semantic display headings. Never classify by word count. */
body :where(
  .field-heading>span:not(.field-symbol),
  .audience-heading,
  .ways-outside-title,
  .offers h2,
  .offers-heading h2,
  .section-title,
  .page-title,
  .case-question,
  .question,
  .hero-question,
  .hook,
  .type-product-title,
  .type-course-title,
  .type-workshop-title,
  .type-landing-title
){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

/* Keep a consistent heading scale across audience/landing pages. */
body :where(
  .ways-outside-title,
  .offers h2,
  .offers-heading h2,
  .section-title,
  .audience-heading
){
  font-size:var(--type-heading)!important;
  line-height:1.22!important;
}

body :where(
  .case-question,
  .question,
  .hero-question,
  .hook
){
  font-size:var(--type-question)!important;
  line-height:1.24!important;
}

/* Product/workshop/process names use BuNotza but remain compact in cards. */
body :where(
  .offer strong,
  .card-content>strong,
  .card-title
){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-size:var(--type-card-title)!important;
  line-height:1.22!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

@media(max-width:700px){
  body :where(
    p,
    li,
    .copy,
    .desc,
    .lead,
    .case-line,
    .case-lead,
    .case-closing,
    .case-closing p,
    .story-reveal p,
    .offers-intro,
    .offers-heading p,
    .offer p,
    .footer-note,
    .meeting-quote
  ){
    font-size:var(--type-body-mobile)!important;
    line-height:1.56!important;
  }

  body :where(
    .ways-outside-title,
    .offers h2,
    .offers-heading h2,
    .section-title,
    .audience-heading
  ){
    font-size:var(--type-heading-mobile)!important;
  }

  body :where(
    .case-question,
    .question,
    .hero-question,
    .hook
  ){
    font-size:var(--type-question-mobile)!important;
  }

  body :where(
    .offer strong,
    .card-content>strong,
    .card-title
  ){
    font-size:var(--type-card-title-mobile)!important;
  }
}


/* 2026-10-02 landing/product completion layer.
   Same reading size across all marketing/landing surfaces. */
body :where(
  .landing p,
  .landing-copy,
  .landing-copy p,
  .hero-copy p,
  .intro p,
  .content p,
  .content li,
  .details p,
  .details li,
  .benefits p,
  .benefits li,
  .faq p,
  .faq li,
  .product-copy,
  .product-copy p,
  .workshop-copy,
  .workshop-copy p,
  .course-copy,
  .course-copy p,
  .process-copy,
  .process-copy p,
  .card p,
  .tile p,
  .feature p,
  .feature li
){
  font-family:Rubik,Arial,sans-serif!important;
  font-size:var(--type-body)!important;
  line-height:1.62!important;
}

/* Names of workshops, processes, products and card decks are always BuNotza. */
body :where(
  .product-title,
  .workshop-title,
  .course-title,
  .process-title,
  .deck-title,
  .program-title,
  .service-title,
  .landing-title,
  .card-name,
  .tile-title,
  .offer-title,
  .product-card strong,
  .workshop-card strong,
  .course-card strong,
  .process-card strong
){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:0!important;
  font-size:var(--type-card-title)!important;
  line-height:1.22!important;
}

/* Page-level landing titles use the larger BuNotza scale. */
body :where(
  h1.type-landing-title,
  h1.type-product-title,
  h1.type-course-title,
  h1.type-workshop-title,
  .landing-hero h1,
  .product-hero h1,
  .workshop-hero h1,
  .course-hero h1
){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:0!important;
  font-size:var(--type-notza)!important;
  line-height:1.14!important;
}

/* Small metadata stays small; reading copy never does. */
body :where(
  .meta,
  .eyebrow,
  .kicker,
  .number,
  .breadcrumb,
  .go,
  .footer-note small
){
  font-size:var(--type-small)!important;
}

@media(max-width:700px){
  body :where(
    .landing p,
    .landing-copy,
    .landing-copy p,
    .hero-copy p,
    .intro p,
    .content p,
    .content li,
    .details p,
    .details li,
    .benefits p,
    .benefits li,
    .faq p,
    .faq li,
    .product-copy,
    .product-copy p,
    .workshop-copy,
    .workshop-copy p,
    .course-copy,
    .course-copy p,
    .process-copy,
    .process-copy p,
    .card p,
    .tile p,
    .feature p,
    .feature li
  ){
    font-size:var(--type-body-mobile)!important;
    line-height:1.56!important;
  }

  body :where(
    .product-title,
    .workshop-title,
    .course-title,
    .process-title,
    .deck-title,
    .program-title,
    .service-title,
    .landing-title,
    .card-name,
    .tile-title,
    .offer-title,
    .product-card strong,
    .workshop-card strong,
    .course-card strong,
    .process-card strong
  ){
    font-size:var(--type-card-title-mobile)!important;
  }

  body :where(
    h1.type-landing-title,
    h1.type-product-title,
    h1.type-course-title,
    h1.type-workshop-title,
    .landing-hero h1,
    .product-hero h1,
    .workshop-hero h1,
    .course-hero h1
  ){
    font-size:var(--type-notza-mobile)!important;
  }

  body :where(
    .meta,
    .eyebrow,
    .kicker,
    .number,
    .breadcrumb,
    .go,
    .footer-note small
  ){
    font-size:var(--type-small-mobile)!important;
  }
}


/* Workshop/process card hierarchy: name in BuNotza, subtitle in light Rubik. */
body .hero-card h2{
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:0!important;
}
body .hero-card .hook{
  font-family:Rubik,Arial,sans-serif!important;
  font-weight:300!important;
  letter-spacing:0!important;
  font-size:var(--type-body)!important;
  line-height:1.45!important;
}
@media(max-width:700px){
  body .hero-card .hook{
    font-size:var(--type-body-mobile)!important;
    line-height:1.42!important;
  }
}


/* =========================================================
   2026-10-02 GLOBAL PROPORTION SYSTEM — FINAL AUTHORITY
   Applies site-wide on desktop and mobile.
   ========================================================= */
:root{
  --h-body:19px;
  --h-body-mobile:17px;
  --h-meta:14px;
  --h-meta-mobile:13px;
  --h-card-title:clamp(23px,2.15vw,29px);
  --h-card-title-mobile:clamp(19px,5.1vw,23px);
  --h-section-title:clamp(28px,3vw,38px);
  --h-section-title-mobile:clamp(25px,7vw,32px);
  --h-question:clamp(23px,2.45vw,32px);
  --h-question-mobile:clamp(21px,5.9vw,27px);
  --h-page-title:clamp(38px,4.5vw,56px);
  --h-page-title-mobile:clamp(34px,9.5vw,45px);
}

/* Reading copy: one size, one rhythm. */
body :where(
  p,li,.copy,.desc,.lead,.content,.content p,.content li,
  .panel p,.story-panel p,.offer p,.tile p,.card p,
  .case-line,.case-lead,.case-closing,.story-reveal p,
  .landing-copy,.hero-copy p,.product-copy,.workshop-copy,
  .course-copy,.process-copy,.feature p,.feature li
){
  font-family:Rubik,Arial,sans-serif!important;
  font-size:var(--h-body)!important;
  line-height:1.58!important;
  font-weight:400!important;
}

/* Product / workshop / course / process names: BuNotza. */
body :where(
  .offer>strong,.offer .copy>strong,.tile .copy>strong,
  .card-content>strong,.card-title,.card-name,.tile-title,
  .product-title,.workshop-title,.course-title,.process-title,
  .deck-title,.program-title,.service-title,.offer-title,
  .product-card strong,.workshop-card strong,.course-card strong,.process-card strong,
  .hero-card h2
){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-size:var(--h-card-title)!important;
  line-height:1.08!important;
  font-weight:400!important;
  letter-spacing:0!important;
  white-space:normal!important;
  text-wrap:balance!important;
}

/* Labels above images / card metadata: always Rubik. */
body :where(
  .number,.kind,.eyebrow,.kicker,.meta,.breadcrumb,.go,
  .offer .number,.tile .kind,.card .number
){
  font-family:Rubik,Arial,sans-serif!important;
  font-size:var(--h-meta)!important;
  line-height:1.35!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}

/* Subtitle under a workshop/product name: light Rubik. */
body :where(
  .hook,.subtitle,.sub-title,.product-subtitle,.workshop-subtitle,
  .course-subtitle,.process-subtitle,.hero-card .hook
){
  font-family:Rubik,Arial,sans-serif!important;
  font-size:var(--h-body)!important;
  line-height:1.42!important;
  font-weight:300!important;
  letter-spacing:0!important;
}

/* Hero question: Rubik, clear but subordinate to the product/page name. */
body :where(
  .question,.hero-question,.case-question,.type-question,.facilitator-question
){
  font-family:Rubik,Arial,sans-serif!important;
  font-size:var(--h-question)!important;
  line-height:1.27!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

/* Section headings: BuNotza, restrained. */
body :where(
  .section-title,.ways-outside-title,.offers h2,.offers-heading h2,
  .audience-heading,.experience>h2,.in-room h2,.closing h2,
  .panel>h2,.panel h2.section-title
){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-size:var(--h-section-title)!important;
  line-height:1.12!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

/* Page / landing / product names are the strongest display level. */
body :where(
  h1.type-landing-title,h1.type-product-title,h1.type-course-title,
  h1.type-workshop-title,.landing-hero h1,.product-hero h1,
  .workshop-hero h1,.course-hero h1,.page-title,
  .journey-title h1,.journey-hero h1,.copy>h1
){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-size:var(--h-page-title)!important;
  line-height:1.06!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

/* Complete bold lines use weight only, never a larger text size. */
body :where(p strong,.copy strong,.lead strong,.offer p strong){
  font-size:inherit!important;
}

/* Workshop/product images: show the full frame whenever cards/tiles are involved.
   Avoid face/head cropping from fixed-height cover rules. */
body :where(
  .offer-art,.tile>img,.tile img.pack,.product-card img,.workshop-card img,
  .course-card img,.process-card img
){
  object-fit:contain!important;
  object-position:center!important;
  background:rgba(255,252,246,.42);
}

/* Card images retain a stable box without forcing crop. */
body :where(.offer-art,.tile>img){
  max-width:100%!important;
}

/* Keep titles balanced without orphan words. */
body :where(
  h1,h2,h3,.question,.hero-question,.case-question,
  .section-title,.offer>strong,.tile .copy>strong,.hero-card h2
){
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}

@media(max-width:700px){
  body :where(
    p,li,.copy,.desc,.lead,.content,.content p,.content li,
    .panel p,.story-panel p,.offer p,.tile p,.card p,
    .case-line,.case-lead,.case-closing,.story-reveal p,
    .landing-copy,.hero-copy p,.product-copy,.workshop-copy,
    .course-copy,.process-copy,.feature p,.feature li
  ){
    font-size:var(--h-body-mobile)!important;
    line-height:1.54!important;
  }

  body :where(
    .offer>strong,.offer .copy>strong,.tile .copy>strong,
    .card-content>strong,.card-title,.card-name,.tile-title,
    .product-title,.workshop-title,.course-title,.process-title,
    .deck-title,.program-title,.service-title,.offer-title,
    .product-card strong,.workshop-card strong,.course-card strong,.process-card strong,
    .hero-card h2
  ){
    font-size:var(--h-card-title-mobile)!important;
    line-height:1.08!important;
    white-space:normal!important;
    text-wrap:balance!important;
  }

  body :where(
    .number,.kind,.eyebrow,.kicker,.meta,.breadcrumb,.go,
    .offer .number,.tile .kind,.card .number
  ){
    font-size:var(--h-meta-mobile)!important;
  }

  body :where(
    .hook,.subtitle,.sub-title,.product-subtitle,.workshop-subtitle,
    .course-subtitle,.process-subtitle,.hero-card .hook
  ){
    font-size:var(--h-body-mobile)!important;
    line-height:1.4!important;
    font-weight:300!important;
  }

  body :where(
    .question,.hero-question,.case-question,.type-question,.facilitator-question
  ){
    font-size:var(--h-question-mobile)!important;
    line-height:1.25!important;
  }

  body :where(
    .section-title,.ways-outside-title,.offers h2,.offers-heading h2,
    .audience-heading,.experience>h2,.in-room h2,.closing h2,
    .panel>h2,.panel h2.section-title
  ){
    font-size:var(--h-section-title-mobile)!important;
    line-height:1.1!important;
  }

  body :where(
    h1.type-landing-title,h1.type-product-title,h1.type-course-title,
    h1.type-workshop-title,.landing-hero h1,.product-hero h1,
    .workshop-hero h1,.course-hero h1,.page-title,
    .journey-title h1,.journey-hero h1,.copy>h1
  ){
    font-size:var(--h-page-title-mobile)!important;
    line-height:1.05!important;
  }
}


/* 2026-10-02 content-heading correction.
   BuNotza marks named offerings; explanatory headings and questions stay Rubik. */
body :where(
  .question,.hero-question,.case-question,.type-question,
  .section-title,.ways-outside-title,.offers-heading h2,
  .experience>h2,.in-room h2,.closing h2,
  .panel>h2,.panel h2.section-title
){
  font-family:Rubik,Arial,sans-serif!important;
  letter-spacing:0!important;
}
body :where(
  .question,.hero-question,.case-question,.type-question
){
  font-weight:500!important;
}
body :where(
  .section-title,.ways-outside-title,.offers-heading h2,
  .experience>h2,.in-room h2,.closing h2,
  .panel>h2,.panel h2.section-title
){
  font-weight:500!important;
}

/* BuNotza remains reserved for the names of products, workshops, courses and processes. */
body :where(
  .offer>strong,.offer .copy>strong,.tile .copy>strong,
  .card-content>strong,.card-title,.card-name,.tile-title,
  .product-title,.workshop-title,.course-title,.process-title,
  .deck-title,.program-title,.service-title,.offer-title,
  .product-card strong,.workshop-card strong,.course-card strong,
  .process-card strong,.hero-card h2,
  h1.type-landing-title,h1.type-product-title,h1.type-course-title,h1.type-workshop-title
){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-weight:400!important;
}


/* =========================================================
   2026-10-02 ACCESSIBILITY FOUNDATION
   Keyboard, focus, reduced motion, touch targets and contrast.
   ========================================================= */
.skip-link{
  position:absolute!important;
  top:0!important;
  right:0!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
.skip-link:focus{
  position:fixed!important;
  top:10px!important;
  right:10px!important;
  z-index:100000!important;
  width:auto!important;
  height:auto!important;
  padding:10px 16px!important;
  margin:0!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  white-space:normal!important;
  border-radius:999px!important;
  background:#173d34!important;
  color:#fff!important;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:16px!important;
  font-weight:500!important;
  text-decoration:none!important;
  box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
}

:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid #9b641f!important;
  outline-offset:3px!important;
}

:where(button,.button,.btn,.cta,.primary-cta,.payment-button,.menu,.site-menu-close){
  min-height:44px;
  min-width:44px;
}

:where(input,select,textarea){
  font:inherit;
}

:where(input,select,textarea):focus-visible{
  border-color:#173d34!important;
}

[aria-current="page"]{
  font-weight:600!important;
  text-decoration:underline!important;
  text-underline-offset:4px;
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
  video[autoplay]{animation:none!important}
}

@media(prefers-contrast:more){
  :where(.card,.tile,.offer,.panel,.copy,.hero-copy){
    border-color:currentColor!important;
  }
  :where(.button,.btn,.cta,.primary,.payment-button){
    border:2px solid currentColor!important;
  }
}

@media(forced-colors:active){
  :where(a,button,.button,.btn,.cta,.payment-button){
    forced-color-adjust:auto;
  }
}


/* Site-wide trust / policy footer. */
.site-policy-links{
  width:min(1120px,94vw);
  margin:34px auto 18px;
  padding:18px 10px 0;
  border-top:1px solid rgba(23,61,52,.14);
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  font-family:Rubik,Arial,sans-serif;
  font-size:14px;
}
.site-policy-links a{
  color:#173d34;
  text-decoration:none;
}
.site-policy-links a:hover,
.site-policy-links a:focus-visible{
  text-decoration:underline;
  text-underline-offset:4px;
}
@media(max-width:700px){
  .site-policy-links{
    width:92vw;
    gap:12px 16px;
    font-size:13px;
    margin-top:24px;
  }
}




/* Contextual Q&A gateway */
.qa-entry{
  width:min(820px,92%);
  margin:28px auto 10px;
  padding:18px 20px;
  border-radius:18px;
  background:rgba(255,251,243,.78);
  border:1px solid rgba(23,61,52,.10);
  text-align:center;
}
.qa-entry p{
  margin:0 0 10px!important;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:400!important;
}
.qa-entry a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  background:rgba(23,61,52,.08);
  color:#173d34;
  text-decoration:none;
  font-family:Rubik,Arial,sans-serif;
  font-size:15px;
  font-weight:500;
}
.qa-entry a:hover,
.qa-entry a:focus-visible{background:rgba(23,61,52,.14)}
@media(max-width:700px){
  .qa-entry{width:94%;margin-top:20px;padding:16px}
  .qa-entry p{font-size:15px!important}
  .qa-entry a{width:100%}
}


/* Contextual Q&A — practical, crawlable, accessible. */
.context-qa{
  width:min(860px,94%);
  margin:30px auto 12px;
  padding:24px 22px;
  border-radius:22px;
  background:rgba(255,251,243,.78);
  border:1px solid rgba(255,255,255,.9);
  text-align:center;
}
.context-qa>h2{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:clamp(23px,2.5vw,30px)!important;
  line-height:1.2!important;
  font-weight:500!important;
  margin:0 0 14px!important;
}
.context-qa details{
  text-align:right;
  border-top:1px solid rgba(23,61,52,.11);
}
.context-qa details:first-of-type{border-top:0}
.context-qa summary{
  cursor:pointer;
  list-style:none;
  padding:14px 0;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1.45!important;
  font-weight:500!important;
}
.context-qa summary::-webkit-details-marker{display:none}
.context-qa details p{
  margin:0 0 14px!important;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:16.5px!important;
  line-height:1.58!important;
  font-weight:300!important;
}
.context-qa-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:12px;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  background:rgba(23,61,52,.08);
  color:#173d34;
  text-decoration:none;
  font-family:Rubik,Arial,sans-serif;
  font-size:14px;
  font-weight:500;
}
@media(max-width:700px){
  .context-qa{width:100%;padding:20px 16px;margin-top:24px}
  .context-qa>h2{font-size:23px!important}
  .context-qa summary{font-size:17px!important}
  .context-qa details p{font-size:16.5px!important}
}


/* Contextual Q&A links: practical discovery blocks across the site. */
.context-qa{
  width:min(860px,92vw);
  margin:34px auto 10px;
  padding:24px 22px;
  border-radius:22px;
  background:rgba(255,251,243,.82);
  border:1px solid rgba(255,255,255,.9);
  text-align:center;
}
.context-qa h2{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:clamp(23px,2.4vw,30px)!important;
  line-height:1.25!important;
  font-weight:500!important;
  margin:0 0 14px!important;
}
.context-qa>a{
  display:block;
  width:fit-content;
  max-width:100%;
  margin:8px auto;
  color:#173d34;
  font-family:Rubik,Arial,sans-serif;
  font-size:17px;
  line-height:1.45;
  font-weight:400;
  text-decoration:none;
}
.context-qa>a:hover,
.context-qa>a:focus-visible{
  text-decoration:underline;
  text-underline-offset:4px;
}
.context-qa .context-qa-more{
  margin-top:16px;
  font-weight:500;
}
@media(max-width:700px){
  .context-qa{
    width:94vw;
    margin-top:26px;
    padding:20px 16px;
  }
  .context-qa h2{
    font-size:22px!important;
  }
  .context-qa>a{
    font-size:16.5px;
  }
}


/* Contextual Q&A discovery strip */
.qa-context{
  width:min(920px,92vw);
  margin:28px auto 8px;
  padding:20px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border-radius:20px;
  background:rgba(255,251,243,.82);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 8px 22px rgba(62,49,33,.06);
  font-family:Rubik,Arial,sans-serif;
}
.qa-context>div{min-width:0}
.qa-context strong{
  display:block;
  margin:0 0 5px;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:500!important;
}
.qa-context p{
  margin:0!important;
  font-size:16px!important;
  line-height:1.5!important;
  font-weight:300!important;
  max-width:58em;
}
.qa-context>a{
  flex:0 0 auto;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  border-radius:999px;
  background:#173d34;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:500;
}
@media(max-width:700px){
  .qa-context{
    width:94vw;
    flex-direction:column;
    align-items:stretch;
    text-align:center;
    padding:18px 16px;
    gap:12px;
  }
  .qa-context strong{font-size:17px!important}
  .qa-context p{font-size:16px!important}
  .qa-context>a{width:100%}
}


/* Contextual Q&A bridges across audience and product pages. */
.qna-bridge{
  width:min(920px,92vw);
  margin:28px auto 10px;
  padding:24px;
  border-radius:22px;
  background:rgba(255,251,243,.78);
  border:1px solid rgba(255,255,255,.9);
  text-align:center;
}
.qna-bridge h2{
  margin:0 0 14px;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:clamp(24px,2.6vw,32px)!important;
  line-height:1.2!important;
  font-weight:500!important;
}
.qna-bridge details{
  margin:8px 0;
  border-top:1px solid rgba(23,61,52,.1);
  text-align:right;
}
.qna-bridge summary{
  cursor:pointer;
  padding:13px 2px;
  font-family:Rubik,Arial,sans-serif;
  font-size:17px;
  line-height:1.45;
  font-weight:500;
}
.qna-bridge p{
  margin:0 0 14px!important;
  font-size:16px!important;
  line-height:1.55!important;
  font-weight:400!important;
}
.qna-bridge .more{
  display:inline-flex;
  margin-top:10px;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border-radius:999px;
  background:#173d34;
  color:#fff;
  text-decoration:none;
  font-weight:500;
}
@media(max-width:700px){
  .qna-bridge{width:94vw;padding:20px 16px}
  .qna-bridge h2{font-size:24px!important}
  .qna-bridge summary{font-size:16.5px}
  .qna-bridge p{font-size:16px!important}
}

.policy-owner{opacity:.72}
.policy-footer .cancel-link{font-weight:600;text-decoration:underline;text-underline-offset:4px}


/* Compact contextual Q&A: keep search value without taking over the page. */
.context-qa{
  width:min(840px,92vw)!important;
  margin:22px auto 0!important;
  padding:0!important;
}
.context-qa h2{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:20px!important;
  line-height:1.3!important;
  font-weight:500!important;
  text-align:center!important;
  margin:0 0 8px!important;
}
.context-qa details{
  margin:0 0 6px!important;
  border-radius:12px!important;
}
.context-qa summary{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:15.5px!important;
  line-height:1.4!important;
  font-weight:500!important;
  padding:11px 14px!important;
}
.context-qa details p{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:15px!important;
  line-height:1.5!important;
  font-weight:400!important;
  margin:0!important;
  padding:0 14px 12px!important;
}
.context-qa-more{
  display:block!important;
  margin:8px auto 0!important;
  text-align:center!important;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:500!important;
}
@media(max-width:700px){
  .context-qa{
    width:94vw!important;
    margin-top:16px!important;
  }
  .context-qa h2{
    font-size:18px!important;
    margin-bottom:6px!important;
  }
  .context-qa details{
    margin-bottom:5px!important;
    border-radius:10px!important;
  }
  .context-qa summary{
    font-size:14.5px!important;
    line-height:1.35!important;
    padding:9px 12px!important;
  }
  .context-qa details p{
    font-size:14px!important;
    line-height:1.45!important;
    padding:0 12px 10px!important;
  }
  .context-qa-more{
    font-size:12.5px!important;
    margin-top:7px!important;
  }
}


/* 2026-10-03 compact mobile cards — align all workshop/process tiles to the compact reference page. */
@media(max-width:700px){
  body :where(
    .offer p,
    .tile p,
    .card p,
    .hero-card p,
    .product-card p,
    .workshop-card p,
    .course-card p,
    .process-card p
  ){
    font-size:15.5px!important;
    line-height:1.42!important;
    margin-top:7px!important;
    margin-bottom:8px!important;
  }

  body :where(
    .offer,
    .tile,
    .hero-card,
    .product-card,
    .workshop-card,
    .course-card,
    .process-card
  ){
    row-gap:6px!important;
  }

  body :where(
    .offer .number,
    .tile .kind,
    .card .number,
    .hero-card .number
  ){
    margin-bottom:4px!important;
  }

  body :where(
    .offer>strong,
    .offer .copy>strong,
    .tile .copy>strong,
    .card-content>strong,
    .hero-card h2,
    .product-title,
    .workshop-title,
    .course-title,
    .process-title
  ){
    margin-top:3px!important;
    margin-bottom:6px!important;
  }

  body :where(
    .offer .go,
    .tile .go,
    .card .go
  ){
    margin-top:8px!important;
  }
}


/* 2026-10-03 COMPACT AUDIENCE OFFER CARDS
   Card copy is intentionally smaller than page body copy. */
body .offers .offer{
  padding:10px 10px 11px!important;
}
body .offers .offer-art{
  margin-bottom:6px!important;
}
body .offers .offer .number{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:400!important;
  margin-bottom:4px!important;
  letter-spacing:.04em!important;
}
body .offers .offer>strong,
body .offers .offer .copy>strong{
  margin-bottom:5px!important;
  line-height:1.05!important;
}
body .offers .offer p{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:15px!important;
  line-height:1.38!important;
  font-weight:300!important;
  margin:0!important;
}
body .offers .offer .go{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:500!important;
  margin-top:7px!important;
}

@media(max-width:700px){
  body .offers{
    padding-top:12px!important;
    padding-bottom:14px!important;
  }
  body .offers .offer-grid{
    gap:8px!important;
  }
  body .offers .offer{
    padding:9px 8px 10px!important;
    min-height:0!important;
  }
  body .offers .offer-art{
    margin-bottom:5px!important;
  }
  body .offers .offer .number{
    font-size:12.5px!important;
    line-height:1.22!important;
    margin-bottom:3px!important;
  }
  body .offers .offer>strong,
  body .offers .offer .copy>strong{
    font-size:clamp(19px,5.2vw,23px)!important;
    line-height:1.04!important;
    margin-bottom:4px!important;
  }
  body .offers .offer p{
    font-size:14px!important;
    line-height:1.34!important;
    font-weight:300!important;
  }
  body .offers .offer .go{
    font-size:12px!important;
    line-height:1.2!important;
    margin-top:6px!important;
  }
}


/* 2026-10-03 compact audience offer cards.
   Exception to general body size: offer-card copy is deliberately denser. */
body .offers .offer{
  padding:12px 12px 13px!important;
}
body .offers .offer .offer-art{
  margin-bottom:7px!important;
}
body .offers .offer .number{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.25!important;
  margin-bottom:4px!important;
  font-weight:400!important;
}
body .offers .offer>strong,
body .offers .offer .copy>strong{
  margin-bottom:5px!important;
  line-height:1.08!important;
}
body .offers .offer p{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:15px!important;
  line-height:1.42!important;
  font-weight:400!important;
  margin:0!important;
}
body .offers .offer .go{
  font-family:Rubik,Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.25!important;
  margin-top:8px!important;
}
@media(max-width:700px){
  body .offers{
    padding:11px 8px 13px!important;
  }
  body .offers .offer-grid{
    gap:8px!important;
  }
  body .offers .offer{
    padding:10px 8px 11px!important;
    min-height:0!important;
  }
  body .offers .offer .offer-art{
    margin-bottom:6px!important;
  }
  body .offers .offer .number{
    font-size:12.5px!important;
    margin-bottom:3px!important;
  }
  body .offers .offer>strong,
  body .offers .offer .copy>strong{
    margin-bottom:4px!important;
  }
  body .offers .offer p{
    font-size:14px!important;
    line-height:1.38!important;
  }
  body .offers .offer .go{
    font-size:12.5px!important;
    margin-top:7px!important;
  }
}


/* 2026-10-03 compact workshop/process cards.
   Card descriptions are intentionally smaller than running page copy. */
body :where(.offer,.tile,.product-card,.workshop-card,.course-card,.process-card){
  gap:0!important;
}
body :where(.offer p,.tile p,.product-card p,.workshop-card p,.course-card p,.process-card p){
  font-family:Rubik,Arial,sans-serif!important;
  font-size:15px!important;
  line-height:1.42!important;
  font-weight:300!important;
  margin-top:6px!important;
  margin-bottom:4px!important;
}
body :where(.offer .number,.tile .kind,.product-card .number,.workshop-card .number,.course-card .number,.process-card .number){
  font-size:12px!important;
  line-height:1.3!important;
  margin-bottom:4px!important;
}
body :where(.offer>strong,.offer .copy>strong,.tile .copy>strong,.product-card strong,.workshop-card strong,.course-card strong,.process-card strong){
  margin-top:2px!important;
  margin-bottom:5px!important;
}
body :where(.offer .go,.tile .go){
  margin-top:8px!important;
}

@media(max-width:700px){
  body :where(.offer,.tile,.product-card,.workshop-card,.course-card,.process-card){
    padding-top:8px!important;
    padding-bottom:9px!important;
  }
  body :where(.offer p,.tile p,.product-card p,.workshop-card p,.course-card p,.process-card p){
    font-size:14px!important;
    line-height:1.38!important;
    font-weight:300!important;
    margin-top:4px!important;
    margin-bottom:2px!important;
  }
  body :where(.offer .number,.tile .kind,.product-card .number,.workshop-card .number,.course-card .number,.process-card .number){
    font-size:11.5px!important;
    line-height:1.25!important;
    margin-bottom:3px!important;
  }
  body :where(.offer>strong,.offer .copy>strong,.tile .copy>strong,.product-card strong,.workshop-card strong,.course-card strong,.process-card strong){
    margin-top:1px!important;
    margin-bottom:3px!important;
  }
  body :where(.offer .go,.tile .go){
    margin-top:6px!important;
  }
}


/* 2026-10-03 contextual Q&A — reference layout from audience pages */
.context-qa{
  width:min(900px,92vw);
  margin:34px auto 10px;
  padding:22px 22px 24px;
  border-radius:24px;
  background:rgba(255,251,243,.84);
  border:1px solid rgba(255,255,255,.94);
  box-shadow:0 10px 28px rgba(70,55,32,.08);
}
.context-qa h2{
  margin:0 0 16px!important;
  text-align:center!important;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:clamp(24px,2.5vw,32px)!important;
  line-height:1.18!important;
  font-weight:500!important;
}
.context-qa details{
  border-top:1px solid rgba(23,61,52,.1);
}
.context-qa details:first-of-type{
  border-top:0;
}
.context-qa summary{
  cursor:pointer;
  list-style:none;
  padding:14px 2px 12px;
  font-family:Rubik,Arial,sans-serif;
  font-size:17px;
  line-height:1.45;
  font-weight:500;
  position:relative;
  padding-left:34px;
}
.context-qa summary::-webkit-details-marker{display:none}
.context-qa summary::after{
  content:"+";
  position:absolute;
  left:2px;
  top:50%;
  transform:translateY(-50%);
  font-size:22px;
  font-weight:300;
}
.context-qa details[open] summary::after{content:"−"}
.context-qa details p{
  margin:0;
  padding:0 2px 14px;
  font-family:Rubik,Arial,sans-serif!important;
  font-size:17px!important;
  line-height:1.58!important;
  font-weight:300!important;
}
.context-qa-more{
  display:block;
  margin-top:12px;
  text-align:center;
  font-family:Rubik,Arial,sans-serif;
  font-size:15px;
  line-height:1.4;
  font-weight:500;
  color:inherit;
  text-decoration:underline;
  text-underline-offset:4px;
}
@media(max-width:700px){
  .context-qa{
    width:94vw;
    margin:28px auto 8px;
    padding:18px 14px 20px;
    border-radius:20px;
  }
  .context-qa h2{
    font-size:22px!important;
    line-height:1.2!important;
    margin-bottom:12px!important;
  }
  .context-qa summary{
    font-size:16px;
    line-height:1.4;
    padding:13px 0 11px 30px;
  }
  .context-qa details p{
    font-size:16px!important;
    line-height:1.5!important;
    padding-bottom:13px;
  }
  .context-qa-more{
    font-size:14px;
    margin-top:10px;
  }
}


/* No floating utility/legal badges anywhere on the site.
   Keep utility links inside the hamburger menu; skip-link is focus-only. */
:where(.policy-footer,.floating-legal,.floating-accessibility,.accessibility-widget,.a11y-widget){
  display:none!important;
}
.policy-menu-links{
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid rgba(23,61,52,.12);
}
.policy-menu-links a{
  font-size:14px!important;
  opacity:.82;
}


/* 2026-10-03 QA: readability floor.
   No user-facing card/list copy may fall below the approved running-text minimum. */
body :where(
  .offers .offer p,.offer p,.tile p,.product-card p,.workshop-card p,.course-card p,.process-card p,
  .context-qa summary,.context-qa details p,.qa-entry p
){
  font-size:var(--type-body)!important;
  line-height:1.55!important;
  font-weight:400!important;
}
body :where(
  .offers .offer .go,.offer .go,.tile .go,.context-qa-more
){
  font-size:var(--type-cta)!important;
  line-height:1.35!important;
}
@media(max-width:700px){
  body :where(
    .offers .offer p,.offer p,.tile p,.product-card p,.workshop-card p,.course-card p,.process-card p,
    .context-qa summary,.context-qa details p,.qa-entry p
  ){
    font-size:var(--type-body-mobile)!important;
    line-height:1.52!important;
  }
  body :where(
    .offers .offer .go,.offer .go,.tile .go,.context-qa-more
  ){
    font-size:var(--type-cta-mobile)!important;
  }
}


/* 2026-10-03 QA pass 2: approved readability floor for actual reading copy.
   Tiny metadata may remain compact; prose, guidance and card descriptions may not. */
body :where(
  .hero p,.lead,.closing,.personal-story,.case-line,.case-closing,.case-closing p,
  .offers-intro,.offers-heading p,.ways-outside p,.community-invite p,
  .meeting-contact p,.qa-context-block p,.compact-faq summary,.compact-faq p,
  .intro,.pain,.step,.step strong,.out,.sub,
  .journey-hero .intro,.journey-prose p,.journey-two p,.journey-about p,
  .journey-copy p,.journey-path p,.journey-guidance p,.journey-practical p,.journey-close p,
  .journey-practical li,.journey-details span,.copy
){
  font-size:var(--type-body)!important;
  line-height:1.58!important;
}
@media(max-width:700px){
  body :where(
    .hero p,.lead,.closing,.personal-story,.case-line,.case-closing,.case-closing p,
    .offers-intro,.offers-heading p,.ways-outside p,.community-invite p,
    .meeting-contact p,.qa-context-block p,.compact-faq summary,.compact-faq p,
    .intro,.pain,.step,.step strong,.out,.sub,
    .journey-hero .intro,.journey-prose p,.journey-two p,.journey-about p,
    .journey-copy p,.journey-path p,.journey-guidance p,.journey-practical p,.journey-close p,
    .journey-practical li,.journey-details span,.copy
  ){
    font-size:var(--type-body-mobile)!important;
    line-height:1.54!important;
  }
  /* Never force display copy to remain on one line when zoom/reflow needs space. */
  body :where(.hero h1,.field-heading>span:not(.field-symbol),.combined-landing-title,.hero-card h2,.question,.journey-title h1){
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
  }
}


/* Screen-reader-only text: semantic headings without visual duplication. */
.visually-hidden{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* 2026-10-03 accessibility QA: allow meaningful copy to reflow at narrow widths / zoom. */
@media(max-width:700px){
  body :where(
    .community-invite p,
    .meeting-quote .quote-first-line,.meeting-quote .quote-second-line,
    .tile .copy>strong,.recognition .sentence
  ){
    white-space:normal!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
  }
}


/* Canonical font roles; sizes and page layouts remain unchanged. */
html body :is(h1,h2,h3,h4){
  font-family:BuNotza,Rubik,Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:0;
}


/* Reading questions and functional copy always use Rubik. */
html body :is(.question,.hero-question,.case-question,.hook,.turn,.type-question,.context-qa summary,.hero-card .hook,.reading-question){
  font-family:Rubik,Arial,sans-serif!important;
  font-weight:400!important;
  line-height:1.4!important;
  white-space:normal!important;
  text-wrap:balance;
}
.independent-emphasis{display:block;margin-block:.3em;font-family:Rubik,Arial,sans-serif;line-height:inherit}
body[data-page-kind="landing"] main :is(h1,h2,h3,p,.copy,.story,.practice-copy,.recognition,.details,.cta-wrap){text-align:center}
body[data-page-kind="landing"] main :is(p,.copy,.story,.practice-copy){max-width:42rem;margin-inline:auto!important}
body[data-page-kind="landing"] main :is(.actions,.payment-actions){justify-content:center}
body[data-page-kind="landing"] main :is(.hero-copy,.panel,.practice-copy){min-width:0}
body[data-page-kind="landing"] main :is(.primary-cta,.cta,.secondary-cta){max-width:100%;white-space:normal;text-wrap:balance;text-align:center;line-height:1.45}
html body :is(.offer strong,.tile .copy>strong,.hero-card h2,.combined-landing-title){white-space:normal!important;text-wrap:balance!important}
body[data-page-kind="landing"] main :is(.step span,.audience p,.details .pill){font-size:var(--type-body)!important;line-height:1.5}
@media(max-width:700px){body[data-page-kind="landing"] main :is(.step span,.audience p,.details .pill){font-size:var(--type-body-mobile)!important}}

/* FAQ questions and answers follow the same reading floor as prose. */
html body .context-qa :is(summary,details p){font-size:var(--type-body)!important;line-height:1.54!important}
body[data-page-kind="landing"] .context-qa summary{text-align:center}
@media(max-width:700px){
 html body .context-qa details p{font-size:var(--type-body-mobile)!important}
 html body main :is(.context-qa,.compact-faq,.qna-bridge,.faq) summary:not([hidden]){
   font-size:15.5px!important;line-height:1.3!important;
   padding-block:6px!important;min-height:44px!important;
   box-sizing:border-box;
 }
 html body main .faq{gap:4px!important}
 /* Inset separators keep the list light without changing its click targets. */
 html body main :is(.context-qa,.compact-faq,.qna-bridge,.faq) details{
   position:relative;border-block-start:0!important;
 }
 html body main :is(.context-qa,.compact-faq,.qna-bridge,.faq) details+details::before{
   content:"";position:absolute;inset-block-start:0;inset-inline:10%;
   border-block-start:1px solid rgba(23,61,52,.065);pointer-events:none;
 }
}

/* Landing copy and process names keep their roles at every breakpoint. */
html body[data-page-kind="landing"] main :is(.copy p,.recognition,.recognition span,.recognition strong,.questions span){font-size:var(--type-body)!important;line-height:1.54!important;white-space:normal!important;text-wrap:pretty}
html body main .context-qa>h2{font-family:BuNotza,Rubik,Arial,sans-serif!important;font-weight:400!important;font-size:var(--type-heading)!important;line-height:1.26!important;text-wrap:balance}
html body[data-page-kind="landing"] .hero-card h2{font-size:var(--type-display)!important;line-height:1.18!important}
@media(max-width:700px){
 html body[data-page-kind="landing"] main :is(.copy p,.recognition,.recognition span,.recognition strong,.questions span){font-size:var(--type-body-mobile)!important}
 html body main .context-qa>h2{font-size:var(--type-heading-mobile)!important}
 html body[data-page-kind="landing"] .hero-card h2{font-size:var(--type-display-mobile)!important}
}

/* Keep nested FAQ and links within the available column. */
html body main :is(.context-qa,.context-qa-link){max-width:100%!important;min-width:0;box-sizing:border-box}
html body[data-page-kind="landing"] main p:not(:is(.question,.hero-question,.hook,.turn,.reading-question)){font-size:var(--type-body)!important;line-height:1.54!important}
html body[data-page-kind="landing"] main :is(.secondary-button,.secondary-cta,.switcher button,.other){font-family:Rubik,Arial,sans-serif!important;font-size:var(--type-cta)!important;min-height:44px;white-space:normal;text-wrap:balance}
html body[data-page-kind="landing"] .landing-card{height:0}
@media(max-width:700px){html body[data-page-kind="landing"] main p:not(:is(.question,.hero-question,.hook,.turn,.reading-question)){font-size:var(--type-body-mobile)!important}}

/* Consistent reading sizes, with responsive room for process cards. */
html body main p:not(:is(.question,.hero-question,.hook,.turn,.reading-question)),html body main li{font-size:var(--type-body)!important;line-height:1.54!important;text-wrap:pretty}
html body main #ways .offer :is(p,.number){font-size:var(--type-body)!important;line-height:1.5!important;min-height:0!important}
html body main #ways .offer strong{font-size:var(--type-heading)!important;line-height:1.25!important;text-wrap:balance!important;white-space:normal!important}
html body main p>strong,.independent-emphasis{display:block;text-wrap:balance}
html body[data-page-kind="landing"] main :is(h1,h2,h3,p,strong,ul,li){text-align:center!important}
html body[data-page-kind="landing"] main ul{padding-inline:0;list-style-position:inside;max-width:42rem;margin-inline:auto}
@media(max-width:700px){
 html body main p:not(:is(.question,.hero-question,.hook,.turn,.reading-question)),html body main li,html body main #ways .offer :is(p,.number){font-size:var(--type-body-mobile)!important}
 html body main #ways .offer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 html body main #ways .offer{padding:8px!important;grid-column:auto!important}
 html body main #ways .offer .number{font-size:15.5px!important;line-height:1.3!important;margin-bottom:2px!important}
 html body main #ways .offer p:not(.reading-question){line-height:1.32!important}
 html body main .tile .copy p{line-height:1.32!important}
 html body main #ways .offer strong{font-size:var(--type-heading-mobile)!important;line-height:1.15!important;margin-block:0 3px!important}
 html body main #ways .offer .offer-art{margin-bottom:4px!important}
 html body main #ways .offer-art{width:100%!important;height:auto!important;aspect-ratio:16/9!important;max-height:none!important}
}

/* Final QA: preserve readable content and existing visual roles. */
html body main p{ text-wrap:balance!important }
.sentence-start{display:inline-block;max-inline-size:100%;vertical-align:baseline;white-space:normal;text-wrap:pretty;overflow-wrap:anywhere}
html body main :is(.tile .copy>strong,.tile strong){font-size:var(--type-heading)!important;line-height:1.25!important;white-space:normal!important;text-wrap:balance!important}
html body main :is(.kind,.card-content small,.note,.privacy-notice,.privacy-note,label,.article-meta,.meta,.readmore){font-family:Rubik,Arial,sans-serif!important;font-size:17px!important;line-height:1.54!important;opacity:1}
html body main .card-content .pill{font-family:Rubik,Arial,sans-serif!important;font-size:17px!important;min-height:44px!important;display:flex;align-items:center;justify-content:center;white-space:normal!important;text-wrap:balance!important}
html body main a.readmore{display:inline-flex;align-items:center;min-height:44px}
body[data-page-kind="blog"] main .grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));max-width:42rem;margin-inline:auto}
body[data-page-kind="blog"] main .grid>.article:only-child{max-width:420px;width:100%;margin-inline:auto}
body[data-page-kind="contact"] main a[href*="youtube.com"]{background:transparent!important;color:#173d34!important;box-shadow:none!important;border:1px solid currentColor}
body[data-page-kind="about"] .photo{padding:0;overflow:hidden;align-self:start;min-height:0;}
body[data-page-kind="about"] .photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:inherit}
@media(max-width:700px){html body main :is(.tile .copy>strong,.tile strong){font-size:var(--type-heading-mobile)!important}}

/* Keep long editorial questions and FAQ controls readable. */
body[data-page-kind="article"] main h1.reading-question{font-size:clamp(28px,4vw,42px)!important;line-height:1.35!important;text-wrap:balance!important}
html body main :is(figcaption,.back,.read,.lead-note,.article-kicker){font-family:Rubik,Arial,sans-serif!important;font-size:17px!important;line-height:1.54!important;opacity:1}
html body main :is(a.back,a.read){display:inline-flex;align-items:center;min-height:44px}
body[data-page-kind="questions"] main summary{font-family:Rubik,Arial,sans-serif!important;font-size:var(--type-body)!important;line-height:1.54!important;min-height:44px;text-wrap:balance}
body[data-page-kind="questions"] main h2:not(.reading-question){font-family:BuNotza,Rubik,sans-serif!important;font-size:var(--type-heading)!important;line-height:1.25!important;text-wrap:balance}
body[data-page-kind="questions"] main :is(.topic-nav,.qa-jumps){flex-wrap:wrap!important;justify-content:center!important;overflow:visible!important}
body[data-page-kind="questions"] main :is(.topic-nav,.qa-jumps) a{font-size:17px!important;min-height:44px!important;white-space:normal!important;text-wrap:balance}
@media(max-width:700px){body[data-page-kind="questions"] main summary{font-size:var(--type-body-mobile)!important}body[data-page-kind="questions"] main h2:not(.reading-question){font-size:var(--type-heading-mobile)!important}}

body[data-page-kind="questions"] main .search-note{font-family:Rubik,Arial,sans-serif!important;font-size:17px!important;line-height:1.54!important;text-wrap:balance}


/* GLOBAL SITE MENU FALLBACK — ensures secondary/legal pages use the same active hamburger. */
body .site-menu{position:fixed;inset:0;z-index:999;visibility:hidden;opacity:0;background:rgba(19,44,38,.22);transition:opacity .2s ease,visibility .2s ease}
body .site-menu.open{visibility:visible;opacity:1}
body .site-menu-panel{position:absolute;left:0;top:0;height:100%;width:min(82vw,340px);padding:72px 26px;background:#f7efe2;display:flex;flex-direction:column;transform:translateX(-102%);transition:transform .25s ease;overflow:auto}
body .site-menu.open .site-menu-panel{transform:none}
body .site-menu-close{position:absolute;top:15px;left:18px;border:0;background:none;color:#173d34;font-size:34px;cursor:pointer}
body .site-menu-panel>a,body .site-menu-panel>.policy-menu-links>a{display:block;padding:11px 8px;color:#173d34;text-decoration:none;border-bottom:1px solid rgba(23,61,52,.09)}
body .policy-menu-links{display:flex;flex-direction:column}
body button.menu{border:0;background:none;color:#173d34;font-size:31px;cursor:pointer;min-width:44px;min-height:44px}
@media(max-width:700px){body button.menu{font-size:29px}}
@media(prefers-reduced-motion:reduce){body .site-menu,body .site-menu-panel{transition:none}}

body .social-menu-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(23,61,52,.12)}
body .social-menu-links a{display:flex!important;align-items:center;justify-content:center;min-height:44px;padding:8px 10px!important;border:1px solid rgba(23,61,52,.1)!important;border-radius:999px;background:rgba(255,255,255,.35);text-align:center;font-size:14px!important}
@media(max-width:700px){body .social-menu-links{grid-template-columns:1fr 1fr}}

/* 2026-10-11 clean site chrome: no separator line under the top header */
body > header,
body > .top,
body > main > header,
header.top,
.site-header {
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-top:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
}
body > header::before,
body > header::after,
body > main > header::before,
body > main > header::after,
header.top::before,
header.top::after,
.site-header::before,
.site-header::after {
  content:none!important;
  display:none!important;
  border:0!important;
  box-shadow:none!important;
}
