/* hypnotherapy.css — HealOneSelf /hypnotherapy/ page. Loads AFTER tokens.css, components.css, finally-you.css.
   Page uses the Finally You namespace (.hos-fy). Version 22 September 2026 (full Finally You match). */

/* =========================================================
   THREE TIERS OF ATTENTION
   .say      whisper — supporting copy, spaced short paragraphs
   .verse    breathe — genuine runs, one line each
   .display  stop    — the line that holds the chapter
   ========================================================= */

.hos-fy .sec{padding-top:clamp(92px,9vw,148px);padding-bottom:clamp(92px,9vw,148px)}
/* opening keeps Finally You's own hero spacing */
.hos-fy .sec.hero{padding-top:clamp(72px,8vw,124px);padding-bottom:clamp(72px,8vw,116px)}


.hos-fy .say{max-width:58ch;margin:0 0 22px;line-height:1.9}
.hos-fy .say:last-child{margin-bottom:0}
.hos-fy .say--mid{margin-left:auto;margin-right:auto}

.hos-fy .verse{margin:0 0 34px;max-width:52ch}
.hos-fy .verse:last-child{margin-bottom:0}
.hos-fy .verse p{margin:0;line-height:2.05;max-width:52ch}
.hos-fy .verse--air p{line-height:2.4}

.hos-fy .display{font-family:var(--serif);font-weight:300;
  font-size:clamp(29px,3.4vw,44px);line-height:1.25;letter-spacing:.005em;
  color:var(--hos-ink);max-width:19ch;margin:64px 0}
.hos-fy .display em{font-style:italic;color:var(--hos-ink-2)}
.hos-fy .display--terra{color:var(--hos-terra-text);font-style:italic;font-weight:400}
.hos-fy .display--mid{margin-left:auto;margin-right:auto;text-align:center;max-width:22ch}
.hos-fy .display--open{max-width:26ch}

.hos-fy .stack{margin:34px 0;padding-left:26px;border-left:1px solid var(--hos-hairline)}
.hos-fy .stack p{margin:0;line-height:1.95;max-width:34ch}

/* measures */
.hos-fy .col{max-width:62ch}
.hos-fy .col--mid{margin:0 auto}
.hos-fy .col--right{margin-left:auto}
.hos-fy .mid{text-align:center}

/* Labyrinths: Finally You's own .lb--l / .lb--r (finally-you.css) — no page overrides */

/* =========================================================
   CHAPTER COMPOSITIONS
   ========================================================= */

/* the pattern run — wide, asymmetric */
.hos-fy .run{columns:2;column-gap:76px;max-width:980px;margin:0 0 48px}
.hos-fy .run p{margin:0 0 16px;line-height:1.85;max-width:36ch;break-inside:avoid}

/* the quiet chapters */
.hos-fy .still{text-align:center;padding-top:clamp(128px,13vw,210px);padding-bottom:clamp(128px,13vw,210px)}
.hos-fy .still .wrap{max-width:820px}
.hos-fy h2{margin:0 0 40px}
.hos-fy .still h2{max-width:22ch;margin:0 auto 48px}
.hos-fy .still .verse{margin-left:auto;margin-right:auto;max-width:42ch}
.hos-fy .still .verse p{max-width:42ch}
.hos-fy .still .say{margin-left:auto;margin-right:auto;max-width:46ch}

/* the beliefs */
.hos-fy .creed{text-align:center;margin:88px auto;max-width:660px}
.hos-fy .creed p{font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(24px,2.4vw,32px);line-height:1.9;color:var(--hos-terra-text);margin:0;max-width:none}

/* the room — magazine spread */
.hos-fy .spread{width:100vw;margin-left:calc(50% - 50vw);
  margin-top:calc(-1 * clamp(92px,9vw,148px));margin-bottom:clamp(64px,6.5vw,104px)}
.hos-fy .spread img{display:block;width:100%;height:clamp(360px,62vw,760px);
  object-fit:cover;object-position:50% 44%}
.hos-fy .spread-cap{max-width:var(--wrap);margin:18px auto 0;padding:0 40px;
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--hos-ink-3)}

@media (max-width:768px){
  .hos-fy .say,.hos-fy .verse,.hos-fy .verse p,.hos-fy .stack p,.hos-fy .col,.hos-fy .ask .say{max-width:none}
  .hos-fy .verse p{line-height:1.95}
  .hos-fy .display{font-size:26px;max-width:none;margin:44px 0}
  .hos-fy .run{columns:1}
  .hos-fy .run p{max-width:none}
  .hos-fy .creed{margin:60px auto}
  .hos-fy .creed p{font-size:22px;line-height:1.7}
  .hos-fy .spread img{height:clamp(300px,74vw,460px)}
  .hos-fy .spread-cap{padding:0 22px}
}
@media (prefers-reduced-motion:reduce){.hos-fy *{animation:none!important;transition:none!important}}

/* =========================================================
   REBUILD — alternating rhythm, after Finally You
   ========================================================= */

/* two-column block: heading rail left, content right */
.hos-fy .g2{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(40px,6vw,96px);align-items:start;max-width:1180px;margin:0 auto}
.hos-fy .g2 > .g2-h{position:sticky;top:96px}
.hos-fy .g2 h2{margin:0 0 26px;max-width:16ch}
.hos-fy .g2 .say{max-width:52ch}
@media (max-width:900px){
  .hos-fy .g2{grid-template-columns:minmax(0,1fr);gap:34px}
  .hos-fy .g2 > .g2-h{position:static}
  .hos-fy .g2 h2{max-width:20ch}
}

/* the litany — serif, one line each */
.hos-fy .litany{margin:0 0 44px;max-width:30ch}
.hos-fy .litany p{font-family:var(--serif);font-weight:300;
  font-size:clamp(21px,2.1vw,26px);line-height:1.4;color:var(--hos-ink);
  margin:0 0 22px;max-width:none}
.hos-fy .litany p:last-child{margin-bottom:0}

/* portrait figure */
.hos-fy .fig{margin:0}
.hos-fy .fig img{display:block;width:100%;height:auto;border-radius:3px}
.hos-fy .fig figcaption{margin-top:16px;font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--hos-ink-3)}


/* =========================================================
   21 SEPTEMBER — LOCKED SECTION REVIEW
   ========================================================= */
.hos-fy .terra-h{color:var(--hos-terra-text)}          /* exemption headings, deeper terracotta */
.hos-fy .gemline{display:block;color:var(--hos-terra);font-size:13px;line-height:1;text-align:center;margin:0 auto}
.hos-fy .star{color:var(--hos-terra);font-style:normal}

/* 03 — Drift: statements alternate left/right with a terracotta hairline edge */
.hos-fy .drift{max-width:760px;margin:0 auto;text-align:left}
.hos-fy .drift p{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(22px,2.2vw,28px);line-height:1.4;color:var(--hos-ink);
  max-width:28ch;margin:0 0 34px;text-wrap:balance}
.hos-fy .drift p:nth-child(odd){margin-right:auto;border-left:1px solid var(--hos-terra);padding-left:24px;text-align:left}
.hos-fy .drift p:nth-child(even){margin-left:auto;border-right:1px solid var(--hos-terra);padding-right:24px;text-align:right}
.hos-fy .drift p:last-child{margin-bottom:0}

/* 05 — framed serif lists */
.hos-fy .framed{margin:44px auto;max-width:720px}
.hos-fy .framed .gemline:first-child{margin-bottom:26px}
.hos-fy .framed .gemline:last-child{margin-top:26px}
.hos-fy .framed p{font-family:var(--serif);font-weight:300;font-size:clamp(22px,2.2vw,27px);
  line-height:1.5;color:var(--hos-ink);margin:0 auto;max-width:none;text-wrap:balance}

/* 06 — session cards, Finally You card style */
.hos-fy .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:8px}
.hos-fy .step{position:relative;overflow:hidden;background:var(--hos-white);
  border:1px solid var(--hos-hairline);border-radius:var(--radius-card);
  box-shadow:var(--hos-shadow-card);padding:38px 36px 150px}
.hos-fy .step .lb{top:auto;bottom:28px;width:112px;opacity:.30;transform:none} /* whole stamp, in the corner */
/* whole stamps are small, so the line is drawn heavier to read like Finally You's card stamps */
.hos-fy .step .lb,.hos-fy .offer .lb{stroke-width:15}
.hos-fy .step:nth-child(odd) .lb{left:28px}
.hos-fy .step:nth-child(even) .lb{right:28px}
.hos-fy .step-in{position:relative}
.hos-fy .step .num{display:flex;align-items:center;gap:12px;font-family:var(--sans);font-size:11px;
  font-weight:500;letter-spacing:.28em;color:var(--hos-ink-3);margin-bottom:14px}
.hos-fy .step .num .star{font-size:14px;letter-spacing:0}
.hos-fy .step h3{font-size:clamp(25px,2.3vw,30px);margin:0 0 16px}
.hos-fy .step .say{max-width:40ch}

/* 07 — the room */
.hos-fy .room-quote{margin:34px 0 0;max-width:30ch}
.hos-fy .room-quote .star{display:block;font-size:14px;margin-bottom:14px}
.hos-fy .room-quote p{font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(22px,2.1vw,27px);line-height:1.45;color:var(--hos-ink-2);margin:0;max-width:none}
.hos-fy .talk{margin-top:44px;padding-top:34px;border-top:1px solid var(--hos-hairline)}
.hos-fy .talk p{font-family:var(--serif);font-weight:300;font-size:clamp(22px,2vw,26px);line-height:1.4;margin:0 0 22px}

/* 08 — beliefs, smaller, framed by stars */
.hos-fy .creed{text-align:left;margin:44px 0;max-width:none}
.hos-fy .creed .gemline{text-align:left;margin:0}
.hos-fy .creed .gemline:first-child{margin-bottom:22px}
.hos-fy .creed .gemline:last-child{margin-top:22px}
.hos-fy .creed p{font-family:var(--serif);font-style:normal;font-weight:300;
  font-size:clamp(21px,1.9vw,24px);line-height:1.75;color:var(--hos-ink);margin:0;max-width:none}
.hos-fy .creed p em{font-style:italic;color:var(--hos-terra-text)}
.hos-fy .asks{margin:34px 0}
.hos-fy .asks p{font-family:var(--serif);font-weight:300;font-size:clamp(21px,1.9vw,24px);
  line-height:1.6;margin:0}

/* 09 — two flowing layers */
.hos-fy .flow{font-family:var(--serif);font-weight:300;font-size:clamp(23px,2.3vw,29px);
  line-height:1.65;max-width:none;margin:44px auto;text-wrap:balance}
.hos-fy .flow .star{font-size:.5em;vertical-align:middle;margin:0 .6em}
.hos-fy .flow--ink{color:var(--hos-ink)}
.hos-fy .flow--terra{font-style:italic;color:var(--hos-terra-text)}
.hos-fy .flow-bridge{font-family:var(--sans);margin:0 auto;text-align:center}

/* 10 — questions, tap to open */
.hos-fy .qa{border-top:1px solid var(--hos-hairline)}
.hos-fy .qa:last-child{border-bottom:1px solid var(--hos-hairline)}
.hos-fy .qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;
  align-items:baseline;gap:24px;padding:28px 0;font-family:var(--serif);font-weight:300;
  font-size:clamp(22px,2vw,25px);line-height:1.3;color:var(--hos-ink)}
.hos-fy .qa summary::-webkit-details-marker{display:none}
.hos-fy .qa summary::after{content:'+';font-family:var(--sans);font-weight:300;font-size:22px;
  color:var(--hos-terra);flex:none;transition:transform .3s ease}
.hos-fy .qa[open] summary::after{transform:rotate(45deg)}
.hos-fy .qa summary:focus-visible{outline:2px solid var(--hos-ink);outline-offset:4px}
.hos-fy .qa .say{margin:0 0 30px}

/* 11 — coming home */
.hos-fy .home{list-style:none;margin:0 0 44px;padding:0;max-width:none}
.hos-fy .home li{font-family:var(--serif);font-weight:300;font-size:clamp(20px,1.75vw,24px);
  line-height:1.4;color:var(--hos-ink);padding:18px 0;border-top:1px solid var(--hos-hairline)}
.hos-fy .home li:last-child{border-bottom:1px solid var(--hos-hairline)}
.hos-fy .home em{font-style:italic;color:var(--hos-terra-text)}
.hos-fy .home-g2{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)}

/* 12 — the offer */
.hos-fy .more p{font-family:var(--serif);font-weight:300;font-size:clamp(23px,2.2vw,28px);line-height:1.5;margin:0}
.hos-fy .more p.more-you{font-style:italic;color:var(--hos-terra-text)}
.hos-fy .offer{position:relative;overflow:hidden;background:var(--hos-white);border:1px solid var(--hos-hairline);
  border-radius:var(--radius-card);box-shadow:var(--hos-shadow-card);padding:40px 38px 44px;margin-top:44px}
.hos-fy .offer .lb{top:auto;bottom:32px;right:32px;width:112px;opacity:.30;transform:none} /* whole stamp, in the corner */
.hos-fy .offer-in{position:relative}
.hos-fy .offer .star{display:block;font-size:14px;margin-bottom:14px}
.hos-fy .offer h3{font-size:clamp(28px,2.6vw,34px);margin:0}
.hos-fy .offer .sub{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--hos-ink-2);margin:6px 0 24px}
.hos-fy .offer .meta{font-size:15px;line-height:1.8;color:var(--hos-ink-2);margin:0 0 20px}
.hos-fy .offer .price{font-family:var(--serif);font-weight:300;font-size:46px;line-height:1;color:var(--hos-ink);margin:0 0 28px}
.hos-fy .soft{margin-top:22px;font-size:15px;color:var(--hos-ink-2)}
.hos-fy .soft a{color:var(--hos-ink-2);text-decoration:underline;text-decoration-color:var(--hos-terra);text-underline-offset:4px}

@media (max-width:768px){
  .hos-fy .drift p{max-width:none;margin-bottom:28px}
  .hos-fy .drift p:nth-child(odd){margin-right:14%}
  .hos-fy .drift p:nth-child(even){margin-left:14%}
  .hos-fy .steps{grid-template-columns:minmax(0,1fr);gap:18px}
  .hos-fy .step{padding:30px 26px 128px}
  .hos-fy .step .lb{bottom:16px;width:26%;opacity:.30}
  .hos-fy .step:nth-child(odd) .lb{left:16px}
  .hos-fy .step:nth-child(even) .lb{right:16px}
  .hos-fy .offer{padding:32px 26px 36px}
  .hos-fy .offer .lb{top:24px;bottom:auto;right:20px;width:26%}
  .hos-fy .offer .btn{display:flex;width:100%}
  .hos-fy .talk .btn{display:flex;width:100%}
  .hos-fy .home-g2{grid-template-columns:minmax(0,1fr)}
  .hos-fy .flow .star{margin:0 .45em}
}
/* room for the mobile booking bar */
@media (max-width:960px){.hos-fy{padding-bottom:0}}
@media (max-width:900px){.hos-fy .home-g2{grid-template-columns:minmax(0,1fr)}}

.hos-fy .eyebrow{max-width:none}
.hos-fy .flow .it{white-space:nowrap}
.hos-fy .flow .star{margin:0 .35em}
@media (max-width:768px){
  .hos-fy .flow .it{white-space:normal}
}
@media (max-width:768px){
  .hos-fy .flow{line-height:1.5}
  .hos-fy .flow .it{display:block;margin:0 0 6px}
  .hos-fy .flow .star,.hos-fy .flow br{display:none}
}

