/* ReCentre Physio — warm, grounded telehealth practice system */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Karla:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap');
@media (max-width:960px){.primary-nav a.mobile-booking{background:#93532f!important}.primary-nav a.mobile-booking:hover{background:#753b20!important}}
:root{--sand:#f5efe3;--paper:#fbf7ef;--paper-strong:#fffdf8;--bark:#34281c;--moss:#46583f;--moss-deep:#354631;--sage:#dce3d4;--sage-soft:#edf1e9;--clay:#b06a3f;--clay-deep:#93532f;--clay-dark:#753b20;--line:#ddd2c1;--ink-soft:#62584d;--error:#8b302d;--ok:#315e4d;--maxw:75rem;--font-display:Fraunces,Georgia,serif;--font-body:Karla,"Helvetica Neue",Arial,sans-serif;--radius-lg:.35rem;--radius-pill:.25rem;--soft-shadow:0 8px 24px rgba(52,40,28,.04)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--bark);font-family:var(--font-body);font-size:1.0625rem;line-height:1.68;-webkit-font-smoothing:antialiased}img,svg{max-width:100%}h1,h2,h3,h4{color:var(--bark);font-family:var(--font-display);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0 0 .62em}h1{font-size:clamp(3rem,6.15vw,5.55rem)}h2{font-size:clamp(2.2rem,4.2vw,3.65rem)}h3{font-size:clamp(1.35rem,2vw,1.7rem)}p{margin:0 0 1em;max-width:43rem}li{max-width:43rem}a{color:var(--clay-deep);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--clay-dark)}:focus-visible{outline:3px solid var(--clay);outline-offset:4px}.skip-link{background:var(--bark);color:var(--paper);left:-999px;padding:.65rem 1rem;position:absolute;top:.5rem;z-index:100}.skip-link:focus{left:.75rem}.wrap{margin:0 auto;max-width:var(--maxw);padding:0 2rem}
/* Honest demo message */
.demo-banner{background:var(--moss);color:#f5f0e8;font-size:.78rem;line-height:1.35;padding:.42rem 1rem;text-align:center}.demo-banner strong{color:#fffdf8;font-weight:700}
/* Header */
.site-header{background:rgba(245,239,227,.96);border-bottom:1px solid var(--line);position:sticky;top:0;transition:box-shadow 220ms ease,background 220ms ease;z-index:50}.site-header.is-scrolled{background:rgba(251,247,239,.94);box-shadow:0 8px 24px rgba(52,40,28,.08);backdrop-filter:blur(12px)}.header-bar{align-items:center;display:flex;gap:1.25rem;min-height:5.5rem;transition:min-height 220ms ease}.site-header.is-scrolled .header-bar{min-height:4.8rem}.wordmark{color:var(--moss);font-family:var(--font-display);font-size:1.82rem;letter-spacing:-.04em;line-height:.92;margin-right:auto;text-decoration:none}.wordmark span{color:var(--moss);display:block;font-family:var(--font-body);font-size:.58rem;font-weight:700;letter-spacing:.19em;margin-top:.52rem;text-transform:uppercase}.primary-nav>ul{align-items:center;display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.primary-nav a,.primary-nav .nav-btn{background:transparent;border:0;color:var(--bark);cursor:pointer;display:inline-block;font:inherit;font-size:.9rem;font-weight:500;padding:.5rem .65rem;text-decoration:none}.primary-nav a:hover,.primary-nav .nav-btn:hover{color:var(--moss);text-decoration:underline;text-underline-offset:5px}.nav-group{position:relative}.nav-group>ul{background:var(--paper-strong);border:1px solid var(--line);border-radius:.25rem;box-shadow:var(--soft-shadow);display:block;left:0;list-style:none;margin:0;min-width:15rem;opacity:0;padding:.4rem;pointer-events:none;position:absolute;top:calc(100% + .5rem);transform:translateY(-6px);transition:opacity 160ms ease,transform 160ms ease,visibility 160ms;visibility:hidden;z-index:60}.nav-group[data-open="true"]>ul{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.nav-group>ul a{border-radius:.55rem;display:block;padding:.58rem .7rem}.nav-group>ul a:hover{background:var(--sage-soft);text-decoration:none}.nav-btn::after{color:var(--moss);content:"⌄";font-size:.95em;margin-left:.25rem}.nav-group[data-open="true"]>.nav-btn::after{content:"⌃"}.header-actions{align-items:center;display:flex;gap:.9rem}.util-link{color:var(--moss);font-size:.8rem;font-weight:600;white-space:nowrap}.header-actions .btn{white-space:nowrap}.menu-toggle{display:none}
/* Actions */
.btn{background:var(--clay-deep);border:1px solid var(--clay-deep);border-radius:var(--radius-pill);color:#fffdf8;cursor:pointer;display:inline-block;font:inherit;font-size:.93rem;font-weight:700;letter-spacing:.005em;padding:.76rem 1.3rem;text-decoration:none;transition:background 160ms ease,border-color 160ms ease,transform 160ms ease}.btn:hover{background:var(--clay-dark);border-color:var(--clay-dark);color:#fffdf8;transform:translateY(-1px)}.btn-secondary,.btn-quiet{background:transparent;border-color:var(--moss);color:var(--moss)}.btn-secondary:hover,.btn-quiet:hover{background:var(--sage-soft);border-color:var(--moss-deep);color:var(--moss-deep)}.btn-small{font-size:.82rem;padding:.6rem 1rem}
/* Text-led opening while approved photography is pending */
.hero{border-bottom:1px solid var(--line);overflow:hidden;padding:clamp(3.75rem,6vw,5.4rem) 0 clamp(3.5rem,5vw,4.8rem);position:relative}.hero-layout{align-items:center;display:grid;grid-template-columns:minmax(0,1fr)}.hero-inner{max-width:48rem}.hero h1{font-size:clamp(2.85rem,5vw,4.7rem);max-width:11.2em}.hero p.lede{color:var(--ink-soft);font-size:clamp(1.1rem,1.6vw,1.28rem);line-height:1.62;max-width:38rem}.hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:1.9rem 0 1rem}.hero .reassure{color:var(--ink-soft);font-size:.9rem}.eyebrow,.pill,.tag-later{color:var(--moss);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
/* Content rhythm */
.section{border-bottom:1px solid var(--line);padding:clamp(4.2rem,7vw,6.75rem) 0}.section.alt{background:var(--paper)}.eyebrow{margin-bottom:1.1rem}.section-intro{color:var(--ink-soft);font-size:1.1rem;max-width:43rem}.card-grid{display:grid;gap:1rem 3rem;grid-template-columns:repeat(2,minmax(0,1fr));margin:2.8rem 0 2.1rem}.card{border-top:1px solid var(--line);padding:1.45rem 0 1.85rem}.card h3{margin-bottom:.42em}.card p{color:var(--ink-soft);font-size:1rem}.steps{counter-reset:item;display:grid;gap:0;list-style:none;margin:2.5rem 0 1.5rem;padding:0}.steps li{border-top:1px solid var(--line);counter-increment:item;display:grid;gap:1rem;grid-template-columns:3.2rem 12rem minmax(0,1fr);max-width:none;padding:1.55rem 0}.steps li::before{color:var(--clay-deep);content:counter(item,decimal-leading-zero);font-size:.78rem;font-weight:700;padding-top:.35rem}.steps h3{font-size:1.38rem;margin:0}.steps p{color:var(--ink-soft);font-size:1rem;margin:0}.steps li:last-child{border-bottom:1px solid var(--line)}.steps.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.steps.three-col li{border-bottom:1px solid var(--line);display:block;padding:1.6rem 1.5rem 1.85rem 0}.steps.three-col li::before{display:block;margin-bottom:2rem}.note{background:var(--sage-soft);border-left:3px solid var(--moss);border-radius:0;color:var(--ink-soft);font-size:.94rem;max-width:48rem;padding:1.05rem 1.25rem}.note strong{color:var(--bark)}
/* FAQ and form */
.faq-group{border-top:1px solid var(--moss);margin:2rem 0;max-width:54rem}details.faq{border-bottom:1px solid var(--line)}details.faq summary{cursor:pointer;font-family:var(--font-display);font-size:1.28rem;list-style:none;padding:1.3rem 3rem 1.3rem 0;position:relative}details.faq summary::-webkit-details-marker{display:none}details.faq summary::after{color:var(--clay-deep);content:"+";font-family:var(--font-body);font-size:1.45rem;font-weight:400;position:absolute;right:.4rem;top:1.08rem}details.faq[open] summary::after{content:"−"}details.faq .faq-body{color:var(--ink-soft);padding:0 2rem 1.3rem 0}details.faq .faq-body p:last-child{margin-bottom:0}details.faq[open] .faq-body{animation:settle-in 260ms ease both}.demo-form{background:var(--paper-strong);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--soft-shadow);max-width:35rem;padding:2rem}.field{margin-bottom:1.2rem}.field label{display:block;font-size:.92rem;font-weight:700;margin-bottom:.38rem}.field .optional{color:var(--ink-soft);font-weight:400}.field input,.field textarea{background:#fffdfa;border:1px solid #cfc3b0;border-radius:.15rem;color:var(--bark);font:inherit;padding:.75rem .85rem;width:100%}.field input:focus,.field textarea:focus{border-color:var(--moss);outline:2px solid rgba(70,88,63,.18)}.field textarea{min-height:7rem;resize:vertical}.field [aria-invalid="true"]{border-color:var(--error)}.field-error{color:var(--error);display:none;font-size:.87rem;margin-top:.3rem}.field-error[data-visible="true"]{display:block}.form-status{border-radius:.65rem;display:none;margin-top:1rem;padding:.9rem 1.1rem}.form-status[data-visible="true"]{display:block}.form-status.success{background:#e6efea;color:var(--ok)}.form-status.error{background:#f4e4e4;color:var(--error)}.form-tools{border-top:1px solid var(--line);color:var(--ink-soft);font-size:.82rem;margin-top:1.2rem;padding-top:1rem}.form-tools button{margin:0 .4rem .4rem 0}
/* Footer and interior */
.site-footer{background:var(--moss-deep);color:#e8e7dc;font-size:.9rem;padding:4rem 0 2rem}.footer-grid{display:grid;gap:2.5rem;grid-template-columns:1.4fr repeat(2,1fr);margin-bottom:3rem}.site-footer h2{color:#fffdf8;font-size:1.25rem;margin-bottom:.7em}.site-footer ul{list-style:none;margin:0;padding:0}.site-footer li{margin-bottom:.35rem}.site-footer a{color:#f8f5ec}.site-footer a:hover{color:#fff}.footer-line{color:#fffdf8;font-family:var(--font-display);font-size:1.45rem;margin-bottom:1rem}.footer-meta{border-top:1px solid rgba(255,253,248,.22);font-size:.78rem;padding-top:1.3rem}.cred-list{font-size:.8rem;margin:.4rem 0 0}.page-hero{border-bottom:1px solid var(--line);padding:clamp(4.2rem,8vw,7.5rem) 0 clamp(3.2rem,6vw,5rem)}.page-hero .hero-inner{max-width:52rem}.page-hero h1{max-width:14ch}.page-hero .lede{color:var(--ink-soft);font-size:1.16rem}.two-col{display:grid;gap:clamp(2.5rem,6vw,6rem);grid-template-columns:repeat(2,minmax(0,1fr))}.check-list{padding-left:1.15rem}.check-list li{margin-bottom:.55rem}.pill,.tag-later{border-bottom:1px solid var(--clay);display:inline-block;margin-bottom:1rem;padding-bottom:.15rem}.tag-later{margin-left:.4rem}.journey-steps{counter-reset:step;list-style:none;margin:2rem 0;padding:0}.journey-steps li{border-top:1px solid var(--line);counter-increment:step;max-width:none;padding:1.4rem 0 1.4rem 3.25rem;position:relative}.journey-steps li::before{color:var(--clay-deep);content:counter(step,decimal-leading-zero);font-size:.78rem;font-weight:700;left:0;position:absolute;top:1.75rem}.journey-steps h3{font-size:1.3rem;margin-bottom:.25em}.journey-steps p{color:var(--ink-soft);font-size:1rem;margin:0}.contact-details{font-size:1rem}.sample-choice{margin:.4rem 0}
@media (max-width:960px){.menu-toggle{background:transparent;border:1px solid var(--moss);border-radius:var(--radius-pill);color:var(--moss);cursor:pointer;display:inline-block;font:inherit;font-size:.84rem;font-weight:700;padding:.48rem .8rem}.primary-nav{display:grid;flex-basis:100%;grid-template-rows:0fr;opacity:0;order:4;transition:grid-template-rows 240ms ease,opacity 180ms ease;width:100%}.primary-nav[data-open="true"]{grid-template-rows:1fr;opacity:1}.primary-nav>ul{align-items:stretch;border-top:1px solid transparent;flex-direction:column;min-height:0;overflow:hidden;padding:0;transition:border-color 200ms ease,padding 240ms ease}.primary-nav[data-open="true"]>ul{border-color:var(--line);padding:.8rem 0 1.05rem}.primary-nav a,.primary-nav .nav-btn{padding:.58rem 0;text-align:left;width:100%}.nav-group>ul{background:transparent;border:0;box-shadow:none;margin-left:1rem;max-height:0;padding:0;position:static;transform:none;transition:max-height 220ms ease,opacity 180ms ease,visibility 180ms}.nav-group[data-open="true"]>ul{max-height:18rem}.header-bar{flex-wrap:wrap;padding-bottom:.85rem;padding-top:.85rem}.header-actions{margin-left:0}.mobile-group-label{color:var(--moss);font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:.8rem 0 .15rem;text-transform:uppercase}.util-link-mobile{color:var(--moss)!important;display:inline-block;font-weight:600!important}.mobile-booking{background:var(--clay-deep);border-radius:var(--radius-pill);color:#fffdf8!important;display:inline-block!important;font-weight:700!important;margin:.65rem 0 .35rem;padding:.72rem 1rem!important;text-align:center!important;width:min(100%,19rem)!important}.mobile-booking:hover{background:var(--clay-dark);color:#fffdf8!important;text-decoration:none!important}.hero-layout{align-items:start;grid-template-columns:1fr}.practitioner-note{max-width:34rem}}@media (min-width:961px){li.mobile-group-label,.primary-nav a.util-link-mobile,.primary-nav a.mobile-booking{display:none}}@media (max-width:680px){body{font-size:1rem}.wrap{padding:0 1.15rem}.demo-banner{font-size:.74rem;text-align:left}.header-actions .util-link,.header-actions .btn{display:none}.wordmark{font-size:1.65rem}.hero{padding-top:3.75rem}.hero::before{height:19rem;right:-10rem;top:-7rem;width:19rem}.hero h1{font-size:clamp(2.85rem,14vw,4rem)}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{text-align:center;width:100%}.practitioner-note{padding:1.55rem}.card-grid,.two-col,.footer-grid{grid-template-columns:1fr}.card-grid{gap:0}.steps li{display:block;padding:1.25rem 0}.steps li::before{display:block;margin-bottom:.9rem}.steps h3{margin-bottom:.4em}.steps.three-col{grid-template-columns:1fr}.demo-form{padding:1.25rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Boutique refinement: spacious typography, personal introduction and quiet surfaces. */
h1,h2,h3 { text-wrap: balance; }
.section h2 { max-width: 22ch; }
.demo-banner { background: var(--sand); color: var(--ink-soft); padding: .45rem 1rem; font-size: .72rem; }
.demo-banner strong { color: var(--bark); font-weight: 500; }
.site-header, .site-header.is-scrolled { background: var(--paper); box-shadow: none; backdrop-filter: none; }
.header-bar { min-height: 6.3rem; }
.wordmark { font-weight: 500; }
.header-actions .btn { background: transparent; border-color: var(--moss); color: var(--moss); }
.header-actions .btn:hover { background: var(--moss); color: var(--paper); }
.btn { font-weight: 500; padding: .85rem 1.4rem; }
.btn:hover { transform: none; }
.btn-small { padding: .65rem 1rem; }
.btn-quiet { border-width: 0 0 1px; border-radius: 0; padding: .6rem 0; }
.btn-quiet:hover { background: transparent; }
.hero { background: var(--sand); padding: clamp(4rem,7vw,7rem) 0 3rem; }
.hero-layout { grid-template-columns: minmax(0,1fr); }
.hero-inner { max-width: none; width: 100%; }
.hero .eyebrow { font-weight: 500; letter-spacing: .13em; margin-bottom: 2rem; }
.hero h1 { font-size: clamp(3.4rem,6.8vw,6.5rem); max-width: 17ch; line-height: 1.06; letter-spacing: -.055em; margin-bottom: .6em; }
.hero h1 span { display: block; color: var(--moss); }
.hero-bottom { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 5rem; align-items: end; }
.hero p.lede { font-size: 1.08rem; max-width: 35rem; line-height: 1.8; }
.hero-actions { gap: 1.8rem; margin: 1.65rem 0 1.2rem; }
.hero .reassure { margin-bottom: 0; font-size: .82rem; }
.practice-intro { border-left: 1px solid #c9c8b6; padding: .3rem 0 .3rem 2rem; max-width: 21rem; justify-self: end; }
.practice-intro p { font-size: .94rem; color: var(--ink-soft); margin-bottom: 1.1rem; }
.practice-intro .practice-name { font-family: var(--font-display); font-size: 1.65rem; color: var(--moss); line-height: 1.25; }
.practice-intro a { font-size: .86rem; }
.hero-footnote { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #d6cdbd; margin-top: 3.5rem; padding-top: 1rem; color: var(--ink-soft); font-size: .76rem; }
.hero-footnote p { margin: 0; }
.section { border-bottom: 0; padding: clamp(4.5rem,8vw,8rem) 0; }
.section.alt { background: var(--sand); }
.eyebrow { font-size: .72rem; font-weight: 500; letter-spacing: .12em; }
.card-grid { gap: .5rem 4rem; }
.card { padding: 1.75rem 0; }
.card h3 { font-size: 1.65rem; }
.home-recognition > .wrap { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.25fr); column-gap: 6rem; }
.home-recognition .recognition-intro { grid-column: 1; }
.home-recognition .card-grid { grid-column: 2; grid-row: 1 / 3; grid-template-columns: 1fr; margin: 0; }
.home-recognition .recognition-link { grid-column: 1; align-self: start; }
.home-recognition h2 { font-size: clamp(2.2rem,3.5vw,3.2rem); }
.home-philosophy { background: var(--moss-deep); color: var(--paper); }
.home-philosophy h2,.home-philosophy h3 { color: var(--paper); }
.home-philosophy .eyebrow,.home-philosophy .section-intro,.home-philosophy .steps p { color: #e0e4d9; }
.home-philosophy a { color: var(--paper); }
.home-philosophy .steps li { border-color: #6e7c65; }
.home-philosophy .steps.three-col li::before { content: none; }
.home-philosophy .steps.three-col li { padding: 2rem 2rem 1rem 0; border-bottom: 0; }
.home-philosophy .steps h3 { font-size: 2rem; margin-bottom: 1rem; }
.home-philosophy h2 { max-width: none; }
.home-emily .two-col { grid-template-columns: minmax(0,1.4fr) minmax(0,1fr); align-items: center; }
.home-emily .card { border-top: 0; border-left: 1px solid var(--line); padding: 1rem 0 1rem 3rem; }
.home-emily .contact-details { line-height: 1.9; }
.home-questions .wrap { max-width: 61rem; }
.note { background: transparent; border-left-width: 1px; padding: .6rem 1.15rem; }
.demo-form { background: transparent; border: 0; border-top: 1px solid var(--moss); box-shadow: none; border-radius: 0; padding: 2rem 0 0; }
.field input,.field textarea { background: var(--paper); }
.page-hero { background: var(--sand); }
.page-hero .hero-inner { max-width: 64rem; }
.page-hero h1 { max-width: 22ch; font-size: clamp(2.8rem,5.3vw,5rem); }
.page-hero .lede { max-width: 41rem; }
.site-footer { padding-top: 5rem; }
.footer-grid { grid-template-columns: 1.7fr 1fr 1.2fr 1fr; gap: 2rem; }
.footer-line { font-size: 2rem; line-height: 1.25; }
.site-footer h2 { font-family: var(--font-body); font-size: .8rem; letter-spacing: .04em; }
.site-footer li { margin-bottom: .6rem; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; }
@media (max-width: 1100px) and (min-width: 961px) {
  .header-bar { gap: .6rem; }
  .header-actions .util-link { display: none; }
  .primary-nav a,.primary-nav .nav-btn { padding-inline: .5rem; }
}
@media (max-width: 960px) {
  .hero-bottom { gap: 2.5rem; }
  .home-recognition > .wrap { column-gap: 3rem; }
  .footer-grid { grid-template-columns: 1.4fr 1fr; }
  .primary-nav[data-open="true"] > ul { max-height: calc(100dvh - 8rem); overflow-y: auto; }
  .header-bar { gap: .75rem; min-height: 5rem; }
}
@media (max-width: 680px) {
  .wrap { padding-inline: 1.4rem; }
  .hero { padding-top: 3rem; padding-bottom: 1.5rem; }
  .hero h1 { font-size: clamp(3rem,12vw,4.4rem); }
  .hero .eyebrow { font-size: .65rem; margin-bottom: 1.65rem; }
  .hero-bottom { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero p.lede { font-size: 1rem; }
  .hero-actions { flex-direction: row; gap: 1.3rem; align-items: center; }
  .hero-actions .btn { width: auto; }
  .hero-actions .btn-quiet { padding-inline: 0; }
  .practice-intro { justify-self: start; max-width: none; padding-left: 1.2rem; }
  .hero-footnote { margin-top: 2rem; flex-direction: column; gap: .35rem; }
  .home-recognition > .wrap { display: block; }
  .home-recognition .card-grid { margin: 2rem 0 1rem; }
  .home-emily .two-col { grid-template-columns: 1fr; }
  .home-emily .card { padding-left: 1.2rem; }
  .home-philosophy .steps.three-col li { padding: 1.6rem 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .footer-grid > :nth-child(3) { grid-column: 1 / -1; grid-row: 3; }
  .page-hero h1 { font-size: clamp(2.65rem,10vw,4rem); }
}

/* Responsive logo lockup: an uncropped symbol with live, accessible lettering. */
.wordmark { display: inline-flex; align-items: center; gap: .7rem; flex-shrink: 0; }
.wordmark .brand-mark { display: block; width: 3.15rem; height: 3.15rem; margin: 0; flex: 0 0 auto; }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.wordmark .brand-name { display: block; margin: 0; color: var(--moss); font-family: var(--font-display); font-size: 1.9rem; font-weight: 500; letter-spacing: -.055em; line-height: 1; text-transform: none; }
.wordmark .brand-name > span { display: block; margin: .55rem 0 0 .13rem; font-family: var(--font-body); font-size: .58rem; font-weight: 500; letter-spacing: .36em; line-height: 1; text-transform: uppercase; }
@media (max-width: 680px) {
  .wordmark { gap: .55rem; }
  .wordmark .brand-mark { width: 2.8rem; height: 2.8rem; }
  .wordmark .brand-name { font-size: 1.75rem; }
  .wordmark .brand-name > span { font-size: .53rem; margin-top: .45rem; }
}

/* Client revision: original brand lockup, concise homepage, and clearer page bands. */
.wordmark .brand-mark {
  width: 5.25rem;
  height: 5.25rem;
}
.wordmark .brand-name {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.site-header .header-bar { min-height: 6.1rem; }
.home-hero { padding: clamp(2.5rem,5vw,4.5rem) 0 1.25rem; }
.home-hero-layout {
  align-items: center;
  display: grid;
  gap: clamp(2.5rem,6vw,6rem);
  grid-template-columns: minmax(0,.88fr) minmax(28rem,1.12fr);
}
.home-hero .hero-inner { max-width: 35rem; }
.home-hero h1 { color: var(--moss-deep); font-size: clamp(3.8rem,6.8vw,6.7rem); max-width: 8ch; }
.home-hero .lede { color: var(--bark); font-family: var(--font-display); font-size: clamp(1.4rem,2.2vw,2rem); line-height: 1.35; }
.hero-service { color: var(--ink-soft); max-width: 31rem; }
.hero-media { border-radius: 0 0 0 4.5rem; margin: 0; overflow: hidden; }
.hero-media img { aspect-ratio: 3 / 2; display: block; height: 100%; object-fit: cover; width: 100%; }
.home-hero .hero-footnote { margin-top: 1.25rem; }
.recognition-list { border-top: 1px solid var(--moss); grid-column: 2; grid-row: 1 / 3; list-style: none; margin: 0; padding: 0; }
.recognition-list li { border-bottom: 1px solid var(--line); font-family: var(--font-display); font-size: clamp(1.25rem,2vw,1.7rem); max-width: none; padding: 1.25rem 0; }
.credential-list { border-left: 1px solid var(--line); padding: 1rem 0 1rem 3rem; }
.review-note { color: var(--ink-soft); font-size: .82rem; }
.capacity-layout { align-items: end; display: grid; gap: clamp(2.5rem,7vw,7rem); grid-template-columns: minmax(0,1fr) minmax(0,.85fr); }
.pull-quote { border-left: 1px solid var(--clay); color: var(--moss); font-family: var(--font-display); font-size: clamp(1.8rem,3.3vw,3rem); line-height: 1.25; margin: 0; max-width: 15ch; padding-left: 2rem; }
.home-start .quiet-link { font-size: .9rem; margin-top: 1.25rem; }
.page-hero ~ .section { border-top: 1px solid var(--line); }
.page-hero ~ .section.alt { background: var(--sand); }

@media (max-width: 960px) {
  .home-hero-layout { grid-template-columns: minmax(0,1fr) minmax(22rem,.95fr); }
}

@media (max-width: 680px) {
  .wordmark .brand-mark { height: 4.25rem; width: 4.25rem; }
  .home-hero-layout,.capacity-layout { grid-template-columns: 1fr; }
  .home-hero h1 { font-size: clamp(3.35rem,16vw,5rem); }
  .hero-media { border-radius: 0 0 0 2.5rem; }
  .home-hero .hero-footnote { padding-top: .85rem; }
  .recognition-list { margin: 2rem 0 1rem; }
  .credential-list { padding-left: 1.2rem; }
  .pull-quote { max-width: 18ch; }
}

/* Wix-inspired revision: direct navigation, image-led hero and broad content bands. */
.site-header,.site-header.is-scrolled { background: #faf1e7; }
.site-header .header-bar { min-height: 7.25rem; }
.wordmark .brand-mark { height: 6.15rem; width: 6.15rem; }
.primary-nav > ul { gap: .12rem; }
.primary-nav a { color: var(--moss-deep); font-size: .82rem; padding: .55rem .58rem; white-space: nowrap; }
.primary-nav a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--clay); text-underline-offset: 6px; }
.header-actions { margin-left: .4rem; }
.header-actions .btn { background: var(--clay-deep); border-color: var(--clay-deep); color: #fffdf8; }
.header-actions .btn:hover { background: var(--clay-dark); border-color: var(--clay-dark); color: #fffdf8; }

.home-hero { background: #fffdf8; border-bottom: 0; padding: 0; }
.hero-stage { height: clamp(34rem,50vw,44rem); overflow: hidden; position: relative; }
.hero-stage-image { height: 100%; object-fit: cover; object-position: center; width: 100%; }
.hero-stage-inner { inset: 0; position: absolute; }
.hero-copy { background: rgba(255,253,248,.94); left: 2rem; max-width: 31rem; padding: clamp(1.8rem,3.5vw,3.1rem); position: absolute; top: 50%; transform: translateY(-50%); }
.home-hero .hero-copy h1 { color: var(--bark); font-size: clamp(3.25rem,5.4vw,5.4rem); letter-spacing: -.05em; line-height: .98; margin-bottom: .42em; max-width: 8ch; }
.home-hero .hero-copy .lede { color: var(--bark); font-family: var(--font-body); font-size: 1.06rem; line-height: 1.55; max-width: 26rem; }
.home-hero .hero-actions { margin-bottom: 0; }
.home-hero .btn-quiet { background: #fffdf8; border: 1px solid var(--clay-deep); border-radius: var(--radius-pill); color: var(--clay-deep); padding: .85rem 1.4rem; }
.home-hero .btn-quiet:hover { background: var(--sand); }
.hero-values { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding-bottom: 2.25rem; padding-top: 2.25rem; }
.hero-values > div { border-left: 1px solid var(--line); padding: 0 1.5rem; }
.hero-values > div:first-child { border-left: 0; padding-left: 0; }
.hero-values > div:last-child { padding-right: 0; }
.hero-values h2 { color: var(--bark); font-family: var(--font-display); font-size: 1.08rem; letter-spacing: -.02em; margin-bottom: .45rem; }
.hero-values p { color: var(--ink-soft); font-size: .84rem; line-height: 1.48; margin: 0; }

.home-recognition { background: #fff; border-top: 1px solid var(--line); }
.home-recognition .recognition-intro { padding-right: 1rem; }
.home-recognition .recognition-list { counter-reset: recognition; }
.home-recognition .recognition-list li { align-items: baseline; counter-increment: recognition; display: grid; gap: 1rem; grid-template-columns: 2.25rem 1fr; }
.home-recognition .recognition-list li::before { color: var(--clay-deep); content: counter(recognition, decimal-leading-zero); font-family: var(--font-body); font-size: .78rem; font-weight: 600; }
.home-philosophy { background: var(--moss-deep); }
.home-emily { background: #fffdf8; }
.home-capacity { background: var(--sand); text-align: center; }
.home-capacity .capacity-layout { display: block; }
.home-capacity .capacity-layout > div { margin: 0 auto; max-width: 48rem; }
.home-capacity .section-intro { margin-left: auto; margin-right: auto; }
.home-capacity .pull-quote { border: 0; font-size: clamp(1.35rem,2.2vw,1.8rem); margin: 2.25rem auto 0; max-width: 28ch; padding: 0; }
.home-start { background: var(--clay-deep)!important; color: #fffdf8; }
.home-start h2,.home-start .eyebrow,.home-start a,.home-start .review-note { color: #fffdf8; }
.home-start .btn { background: #fffdf8; border-color: #fffdf8; color: var(--clay-dark); }
.home-start .btn:hover { background: var(--sand); border-color: var(--sand); color: var(--clay-dark); }
.home-start .demo-form { border-top-color: rgba(255,253,248,.65); }
.home-start .field input,.home-start .field textarea { background: #fffdf8; border-color: rgba(255,253,248,.85); }
.home-start .field .optional { color: rgba(255,253,248,.78); }
.home-start .form-tools { border-top-color: rgba(255,253,248,.4); color: #fffdf8; }
.home-start .form-tools .btn { background: transparent; border-color: #fffdf8; color: #fffdf8; }

@media (max-width: 1100px) and (min-width: 961px) {
  .site-header .header-bar { padding-inline: 1.25rem; }
  .wordmark .brand-mark { height: 5.4rem; width: 5.4rem; }
  .primary-nav a { font-size: .76rem; padding-inline: .4rem; }
  .header-actions .btn { font-size: .75rem; padding-inline: .8rem; }
}

@media (max-width: 960px) {
  .site-header .header-bar { min-height: 5.8rem; }
  .wordmark .brand-mark { height: 4.8rem; width: 4.8rem; }
  .primary-nav > ul { gap: 0; }
  .primary-nav a { font-size: .95rem; padding: .72rem 0; }
  .header-actions { margin-left: auto; }
  .hero-values { grid-template-columns: repeat(2,minmax(0,1fr)); row-gap: 1.75rem; }
  .hero-values > div:nth-child(3) { border-left: 0; padding-left: 0; }
}

@media (max-width: 680px) {
  .site-header .header-bar { min-height: 5.25rem; }
  .wordmark .brand-mark { height: 4.25rem; width: 4.25rem; }
  .hero-stage { height: auto; display: flex; flex-direction: column; }
  .hero-stage-image { aspect-ratio: 4 / 3; object-position: 64% center; order: 2; }
  .hero-stage-inner { order: 1; position: static; }
  .hero-copy { background: var(--sand); left: auto; max-width: none; padding: 3.5rem 1.4rem; position: static; transform: none; }
  .home-hero .hero-copy h1 { font-size: clamp(3.35rem,16vw,4.8rem); }
  .home-hero .hero-actions { align-items: stretch; flex-direction: row; }
  .home-hero .hero-actions .btn { flex: 1; text-align: center; }
  .hero-values { grid-template-columns: 1fr; padding-bottom: 1rem; padding-top: 1rem; }
  .hero-values > div,.hero-values > div:first-child,.hero-values > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); padding: 1.15rem 0; }
  .hero-values > div:first-child { border-top: 0; }
  .home-recognition .recognition-list li { grid-template-columns: 2rem 1fr; }
  .home-start .two-col { gap: 3rem; }
}

/* Interior pages have their own reading rhythm while sharing the brand. */
body[class^="page-"] .page-hero { padding: clamp(3.5rem, 6vw, 6rem) 0; }
body[class^="page-"] .page-hero .hero-inner { max-width: none; }
body[class^="page-"] .page-hero h1 { font-size: clamp(3rem, 5.8vw, 5.6rem); line-height: 1.08; }
body[class^="page-"] .page-hero .eyebrow,
body[class^="page-"] .page-hero .pill { align-self: start; grid-column: 1 / -1; }

/* About: a personal opening followed by an editorial story. */
.page-about .page-hero { background: #fffdf8; }
.page-about .page-hero .hero-inner { align-items: end; display: grid; gap: 0 5rem; grid-template-columns: minmax(0, 1.45fr) minmax(16rem, .7fr); }
.page-about .page-hero h1 { max-width: 15ch; }
.page-about .page-hero .lede { border-left: 2px solid var(--clay); font-size: 1.27rem; line-height: 1.7; padding-left: 1.5rem; }
.page-about main > section:nth-of-type(4) { background: #fffdf8; }
.page-about main > section:nth-of-type(4) .wrap { display: grid; gap: 0 5rem; grid-template-columns: minmax(12rem, .55fr) minmax(0, 1.45fr); }
.page-about main > section:nth-of-type(4) h2 { align-self: start; grid-column: 1; grid-row: 1 / span 20; position: sticky; top: 8rem; }
.page-about main > section:nth-of-type(4) .wrap > :not(h2) { grid-column: 2; }
.page-about main > section:nth-of-type(4) p { max-width: 48rem; }
.page-about main > section:nth-of-type(5) .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Audience: an immersive introduction and recognisable experiences in open columns. */
.page-audience .page-hero { background: var(--moss-deep); }
.page-audience .page-hero .hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 0 5rem; align-items: start; }
.page-audience .page-hero h1 { grid-column: 1; grid-row: 1 / span 5; }
.page-audience .page-hero .hero-inner > p { grid-column: 2; }
.page-audience .page-hero h1,
.page-audience .page-hero .eyebrow { color: #fffdf8; }
.page-audience .page-hero .lede { color: #e4e8de; max-width: 39rem; }
.page-audience .page-hero .hero-inner > p:not(.page-final-action) { color: #f1f2e9; }
.page-audience .page-hero h1 { max-width: 12ch; }
.page-audience main > section:nth-of-type(2) { background: #fffdf8; }
.page-audience main > section:nth-of-type(2) .wrap { display: grid; gap: 0 5rem; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); }
.page-audience main > section:nth-of-type(2) h2 { grid-column: 1; grid-row: 1 / span 3; }
.page-audience main > section:nth-of-type(2) .wrap > :not(h2) { grid-column: 2; }
.page-audience .card-grid { gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.page-audience .card-grid .card { background: #fffdf8; border: 1px solid var(--line); padding: 1.55rem; }
.page-audience .card-grid .card:nth-child(2),
.page-audience .card-grid .card:nth-child(5) { background: var(--sage-soft); }

/* Process: a visual sequence with the introduction held beside the steps. */
.page-process .page-hero { background: var(--sage-soft); }
.page-process .page-hero .hero-inner { display: grid; gap: 0 4rem; grid-template-columns: minmax(0, 1.3fr) minmax(15rem, .7fr); }
.page-process .page-hero h1 { max-width: 13ch; }
.page-process .page-hero .lede { align-self: end; border-top: 2px solid var(--moss); font-size: 1.24rem; padding-top: 1.25rem; }
.page-process .page-hero .hero-actions { grid-column: 1 / -1; }
.page-process main > section:nth-of-type(2) .wrap { display: grid; gap: 0 4.5rem; grid-template-columns: minmax(15rem, .65fr) minmax(0, 1.35fr); }
.page-process main > section:nth-of-type(2) h2,
.page-process main > section:nth-of-type(2) .section-intro { grid-column: 1; }
.page-process main > section:nth-of-type(2) .steps { grid-column: 2; grid-row: 1 / span 3; margin-top: 0; }
.page-process main > section:nth-of-type(2) .steps li { grid-template-columns: 2.5rem minmax(8rem, .55fr) minmax(0, 1fr); }

/* Services: a clear offer and table-like service detail. */
.page-services .page-hero { background: var(--clay-deep); }
.page-services .page-hero .hero-inner { display: grid; gap: 0 4rem; grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr); }
.page-services .page-hero h1 { grid-column: 1; grid-row: 1 / span 5; }
.page-services .page-hero .hero-inner > p { grid-column: 2; }
.page-services .page-hero h1,
.page-services .page-hero .eyebrow { color: #fffdf8; }
.page-services .page-hero .lede { align-self: end; color: #fff4eb; font-size: 1.2rem; }
.page-services .page-hero .hero-inner > p:not(.page-final-action),
.page-services .page-hero .hero-inner > p > a:not(.btn) { color: #fff4eb; }
.page-services .page-hero .hero-actions { grid-column: 1 / -1; }
.page-services .page-hero .btn { background: #fffdf8; border-color: #fffdf8; color: var(--clay-dark); }
.page-services .page-hero .btn:hover { background: var(--sand); border-color: var(--sand); color: var(--clay-dark); }
.page-services main > section:nth-of-type(3) { background: #fffdf8; }
.page-services main > section:nth-of-type(3) .wrap { display: grid; gap: 0 4rem; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); }
.page-services main > section:nth-of-type(3) .wrap > h2 { grid-column: 1; grid-row: 1 / span 20; }
.page-services main > section:nth-of-type(3) .wrap > :not(h2) { grid-column: 2; }
.page-services main > section:nth-of-type(4) .card-grid { grid-template-columns: 1fr; max-width: 55rem; }
.page-services main > section:nth-of-type(4) .card { display: grid; gap: 1.5rem; grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr); }
.page-services main > section:nth-of-type(4) .card h3 { grid-column: 1; grid-row: 1 / span 3; }
.page-services main > section:nth-of-type(4) .card p { grid-column: 2; margin: 0; }

/* Influences: a compact, centred opening before the essay's left rails. */
body.page-influences .page-hero { background: #fffdf8; padding: clamp(3.5rem, 5vw, 5rem) 0; text-align: center; }
body.page-influences .page-hero .hero-inner { max-width: 58rem; }
body.page-influences .page-hero h1 { font-size: clamp(3.2rem, 5vw, 4.8rem); max-width: 14ch; margin: 0 auto .35em; }
body.page-influences .page-hero .lede { max-width: 39rem; margin: 0 auto 1.5rem; }
body.page-influences .page-hero .page-final-action { max-width: none; margin: 0; }
.page-influences main > .section .wrap { display: grid; gap: 0 5rem; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr); }
.page-influences main > .section .wrap > h2 { border-top: 2px solid var(--moss); grid-column: 1; grid-row: 1 / span 20; padding-top: 1rem; }
.page-influences main > .section .wrap > :not(h2) { grid-column: 2; }
.page-influences main > .section:nth-of-type(even) { background: var(--sage-soft); }

/* FAQ: section headings form a scan-friendly contents rail. */
.page-faq .page-hero { background: var(--paper); padding-bottom: 3.5rem; }
.page-faq .page-hero h1 { max-width: 20ch; }
.page-faq .page-hero .lede { max-width: 40rem; }
.faq-jump { display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; margin-top: 2rem; }
.faq-jump a { border-bottom: 1px solid var(--clay-deep); color: var(--moss-deep); font-size: .9rem; font-weight: 700; padding-bottom: .15rem; text-decoration: none; }
.faq-jump a:hover { color: var(--clay-deep); }
.page-faq main > .section { padding-top: 2rem; }
.page-faq .faq-group { display: grid; gap: 0 4rem; grid-template-columns: minmax(11rem, .42fr) minmax(0, 1fr); margin: 0; max-width: none; padding: 3.25rem 0; }
.page-faq .faq-group h2 { font-size: clamp(1.65rem, 2.3vw, 2.25rem); grid-column: 1; grid-row: 1 / span 30; margin: 0; }
.page-faq .faq-group details { grid-column: 2; }
.page-faq .faq-group details:first-of-type { border-top: 1px solid var(--line); }
.page-faq .faq-group + .faq-group { border-top: 1px solid var(--line); }

/* The article, booking and preview routes keep their task-specific tone. */
.page-blog .page-hero { background: #fffdf8; border-bottom: 3px solid var(--moss); text-align: center; }
.page-blog .page-hero h1,
.page-blog .page-hero .lede { margin-left: auto; margin-right: auto; }
.page-blog .page-hero h1 { max-width: 18ch; }
.page-blog main > .section .wrap { max-width: 50rem; }
.page-blog main > .section .card { border-top: 2px solid var(--moss); max-width: none !important; padding-top: 2rem; }
.page-book .page-hero { background: var(--moss-deep); }
.page-book .page-hero h1,
.page-book .page-hero .eyebrow { color: #fffdf8; }
.page-book .page-hero .lede { color: #e4e8de; }
.page-book .page-hero .btn { background: #fffdf8; border-color: #fffdf8; color: var(--moss-deep); }
.page-book .page-hero .note { border-color: #c4d2bd; color: #e4e8de; }
.page-book .page-hero .note strong { color: #fffdf8; }
.page-book main > section:nth-of-type(2) { background: #fffdf8; }
.page-self-check .page-hero { background: var(--sage-soft); }
.page-self-check .page-hero h1 { max-width: 20ch; }
.page-self-check .page-hero .hero-inner { max-width: 54rem; }
.page-self-check main > .section .wrap { max-width: 58rem; }
.page-self-check main > .section .card { background: #fffdf8; border: 1px solid var(--line); border-radius: 1rem; padding: 2rem; }
.page-waiting-room .page-hero { background: #fffdf8; padding-bottom: 3rem; }
.page-waiting-room .page-hero h1 { max-width: 18ch; }
.page-waiting-room main > .section .wrap { max-width: 58rem; }
.page-waiting-room main > .section .card { background: var(--sage-soft); border: 0; border-radius: 1rem; margin: 0 auto; max-width: none !important; padding: 2.5rem; }

@media (max-width: 1100px) {
  .page-process main > section:nth-of-type(2) .wrap,
  .page-services main > section:nth-of-type(3) .wrap { display: block; }
}
@media (max-width: 900px) {
  .page-about .page-hero .hero-inner,
  .page-audience .page-hero .hero-inner,
  .page-about main > section:nth-of-type(4) .wrap,
  .page-audience main > section:nth-of-type(2) .wrap,
  .page-process .page-hero .hero-inner,
  .page-process main > section:nth-of-type(2) .wrap,
  .page-services .page-hero .hero-inner,
  .page-services main > section:nth-of-type(3) .wrap,
  .page-influences main > .section .wrap,
  .page-faq .faq-group { display: block; }
  .page-about main > section:nth-of-type(4) h2 { position: static; }
  .page-about .page-hero .lede { margin-top: 1rem; }
  .page-process .page-hero .hero-actions,
  .page-services .page-hero .hero-actions { grid-column: auto; }
  .page-audience .page-hero h1,
  .page-services .page-hero h1,
  .page-audience .page-hero .hero-inner > p,
  .page-services .page-hero .hero-inner > p { grid-column: auto; grid-row: auto; }
  .page-faq .faq-group h2 { margin-bottom: 1rem; }
  .page-audience .card-grid,
  .page-about main > section:nth-of-type(5) .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  body[class^="page-"] .page-hero h1 { font-size: clamp(2.65rem, 10vw, 4rem); }
  body[class^="page-"] .page-hero { padding: 3.5rem 0; }
  .page-about .page-hero h1,
  .page-services .page-hero h1 { font-size: clamp(2.4rem, 9vw, 3.2rem); }
  .page-services .page-hero .lede { font-size: 1.05rem; line-height: 1.6; }
  .page-audience .card-grid,
  .page-about main > section:nth-of-type(5) .card-grid { grid-template-columns: 1fr; }
  .page-services main > section:nth-of-type(4) .card { display: block; }
  .page-services main > section:nth-of-type(4) .card p { margin-top: .65rem; }
  .page-blog .page-hero { text-align: left; }
  body.page-influences .page-hero h1 { font-size: clamp(2.65rem, 10vw, 3.6rem); }
  .page-faq .faq-group { padding: 2rem 0; }
}
/* Self-check: one calm conversation, embedded on Home and available at its own URL. */
.self-check-section{background:#f3ecdf;scroll-margin-top:7rem}
.quiz-shell{max-width:64rem;margin:auto;background:#fbf7f0;border:1px solid #ddd2c1;padding:clamp(1.4rem,5vw,4rem);color:#3b2e24}
.quiz-shell h1,.quiz-shell h2{max-width:20ch;font-size:clamp(2.2rem,4vw,3.5rem)}.quiz-shell [data-quiz-title]:focus{outline:none}.quiz-shell h1 em,.quiz-shell h2 em{color:#35543c;font-weight:400}
.quiz-shell h3{font-size:clamp(1.45rem,2.5vw,2.2rem)}.quiz-shell p{max-width:55rem}
.quiz-facts{font-weight:700;color:#35543c}.quiz-footer,.quiz-disclaimer{font-size:.86rem;color:#584b3f;border-top:1px solid #ddd2c1;margin:2.5rem 0 0;padding-top:1rem}
.quiz-contexts,.quiz-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:2rem 0}
.quiz-chip,.quiz-answer{appearance:none;background:#fffdf8;border:1px solid #9d8d7c;border-radius:.3rem;color:#3b2e24;cursor:pointer;font:600 1rem/1.35 var(--font-body);min-height:4.5rem;padding:1rem 1.25rem;text-align:left;transition:background .2s,border-color .2s}
.quiz-chip:hover,.quiz-answer:hover{background:#f3ecdf;border-color:#35543c}.quiz-chip.is-selected,.quiz-answer.is-selected{background:#dce3d4;border:2px solid #35543c}
.quiz-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.75rem}.quiz-actions .btn{min-height:44px}.quiz-text-button{appearance:none;border:0;background:transparent;color:#35543c;text-decoration:underline;text-underline-offset:4px;cursor:pointer;font:600 1rem var(--font-body);min-height:44px;padding:.6rem}
.quiz-progress-label{font-weight:700;margin-bottom:.5rem}.quiz-progress{height:.38rem;background:#e2d6c8;margin-bottom:3rem}.quiz-progress span{display:block;height:100%;background:#b4644a;transition:width .2s}.quiz-prompt{color:#62584d}
.quiz-summary{font:italic clamp(1.3rem,2.5vw,1.9rem)/1.4 var(--font-display);color:#35543c}.quiz-result>section{margin-top:3rem}.quiz-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;border-top:1px solid #ddd2c1;margin-top:3rem;padding-top:2rem}.quiz-result-grid h3{font-size:1.5rem}
.quiz-load{border-top:1px solid #ddd2c1;border-bottom:1px solid #ddd2c1;margin-top:2.5rem;padding:2rem 0}.quiz-load-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;margin:1rem 0}.quiz-load-steps span{border-top:.4rem solid #d0c4b7;color:#62584d;font-size:.77rem;line-height:1.35;padding:.6rem .2rem}.quiz-load-steps .is-current{border-color:#b4644a;color:#3b2e24;font-weight:700}
.quiz-support{border-left:4px solid #b4644a;padding:1rem 1.3rem;background:#f3ecdf;margin:3rem 0}.quiz-support.is-emphasised{border-width:6px}.quiz-support p{margin:.4rem 0 0}
.quiz-practice{background:#e8eddf;padding:clamp(1.2rem,3vw,2rem)}.quiz-practice h3{color:#35543c}
.quiz-mix-row{display:grid;grid-template-columns:minmax(10rem,1fr) 2fr;gap:1rem;align-items:center;margin:.8rem 0;font-size:.92rem}.quiz-mix-track{height:.55rem;background:#e4ddd0}.quiz-mix-track span{display:block;height:100%;background:#9aa88b}.quiz-mix-row.is-main .quiz-mix-track span{background:#35543c}.quiz-mix-row.is-main{font-weight:700}
.quiz-closing{font:italic clamp(1.3rem,2.3vw,1.8rem)/1.4 var(--font-display);margin-top:3rem}.quiz-email{border-top:1px solid #ddd2c1;padding-top:2rem;margin-top:3rem}.quiz-email label{display:block}.quiz-email input{min-height:44px;padding:.6rem .8rem;margin:.4rem .7rem .4rem 0;font:inherit;max-width:100%}.quiz-email button:disabled,.quiz-email input:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:650px){.quiz-contexts,.quiz-answers,.quiz-result-grid{grid-template-columns:1fr}.quiz-mix-row{grid-template-columns:1fr;gap:.25rem}.quiz-load-steps span{font-size:.62rem;overflow-wrap:anywhere}}

/* September handover: varied editorial structures for the final copy. */
.home-hero .home-seo-h1{font:700 .75rem/1.4 var(--font-body);letter-spacing:.12em;text-transform:uppercase;max-width:40rem;margin:0 0 1.2rem;color:var(--moss)}
.home-hero .hero-copy .home-seo-h1{font:700 .75rem/1.4 var(--font-body);letter-spacing:.12em;line-height:1.4;text-transform:uppercase;max-width:none;margin:0 0 1.2rem;color:var(--moss);text-wrap:wrap}
.home-hero .hero-stage{display:flex;height:auto;min-height:39rem;overflow:visible}
.home-hero .hero-stage-image{order:2;width:50%;height:auto;object-fit:cover;object-position:62% center;min-height:39rem}
.home-hero .hero-stage-inner{order:1;position:static;width:50%;max-width:none;padding:0;margin:0}
.home-hero .hero-copy{position:static;transform:none;max-width:none;height:100%;padding:clamp(2rem,4vw,4rem);background:#fffdf8}
.home-hero .home-visual-headline{font-size:clamp(2.9rem,5.1vw,5.5rem);line-height:1.08;max-width:15ch;margin-bottom:.4em;color:var(--moss-deep)}
.home-hero .reassure{font-size:.85rem;color:var(--bark);margin-top:1rem}
.hero-values{grid-template-columns:repeat(5,minmax(0,1fr))}.hero-values h2{font-size:1rem;line-height:1.3}.hero-values p{font-size:.86rem}
.home-recognition>.wrap{display:block}.home-recognition h2{max-width:16ch}.home-recognition .recognition-list{columns:2;column-gap:3.5rem;padding-left:1.2rem;margin:2rem 0}.home-recognition .recognition-list li{break-inside:avoid;padding:.45rem 0}
.home-philosophy p{color:#e9eee5}.home-philosophy p a{color:#fff}
.home-change>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem 5rem}.home-change h2{grid-column:1}.home-change> .wrap > p:nth-of-type(-n+2),.home-change> .wrap > ul{grid-column:1}.home-change .home-timeline{grid-column:2;grid-row:1/span 4;border-left:1px solid var(--line);padding-left:2.5rem}
.home-approach{background:var(--sand)}.home-approach .editorial-list{columns:2;column-gap:4rem}.editorial-list{list-style:none;margin:1.5rem 0;padding:0}.editorial-list li{border-top:1px solid var(--line);padding:1.1rem 0;break-inside:avoid}
.home-emily>.wrap{max-width:65rem}.home-ready{background:var(--moss-deep);color:#f6f2e8}.home-ready h2,.home-ready a{color:#fff}.home-ready .btn{border-color:#fff}
.story-chapters{max-width:56rem;margin-left:auto}.story-chapters article{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(0,2fr);gap:0 2rem;border-top:1px solid var(--line);padding:2rem 0}.story-chapters article h3{grid-row:1/span 3}.about-values .editorial-list{columns:2;column-gap:4rem}
.audience-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);margin-top:3rem;margin-bottom:3rem}.audience-index a{display:flex;align-items:center;background:var(--paper);padding:1.25rem;color:var(--moss-deep);font:1.15rem/1.3 var(--font-display);text-decoration:none;min-height:6rem}.audience-index a:hover{background:var(--sage-soft)}
.audience-detail{scroll-margin-top:6rem}.audience-detail>.wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:1rem 5rem}.audience-detail h2{grid-row:1/span 5}.audience-detail p{grid-column:2}.audience-detail.alt{background:var(--sand)}
.expect-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2.5rem 0 4rem;border-top:2px solid #b37d1e}.expect-timeline article{padding-top:1.5rem}.expect-timeline span{display:block;color:var(--clay-deep);font-weight:700;margin-bottom:1rem}.expect-timeline h3{font-size:1.8rem}
.services-details>.wrap{max-width:70rem}.services-details p{border-top:1px solid var(--line);padding-top:1.2rem;margin:0 0 1.2rem}.services-fees{scroll-margin-top:6rem}.fee-list{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}.fee-list article{border-top:2px solid var(--moss);padding-top:1.5rem}.fee-list strong{display:block;color:var(--moss);font:2.4rem var(--font-display)}.services-funding ul{columns:2;column-gap:3rem}
.services-details h3{margin:2.4rem 0 1rem;color:var(--moss-deep)}
.services-emily>.wrap{display:grid;grid-template-columns:minmax(21rem,.8fr) minmax(0,1.2fr);gap:0 3rem}
.services-emily h2{grid-column:1;grid-row:1/span 4;font-size:clamp(2.45rem,3.6vw,3.4rem)}
.services-emily>.wrap>:not(h2){grid-column:2}
.influences-intro>.wrap{max-width:60rem}.influences-chapter:nth-of-type(even){background:var(--sand)}.influences-chapter>.wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem 4rem}.influences-chapter h2{grid-row:1/span 8}.influences-chapter p,.influences-chapter .note{grid-column:2}.influences-chapter .note p{margin:0}
.faq-jump{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2rem;margin-bottom:2rem}.faq-jump a{padding:.55rem .8rem;border:1px solid var(--line);color:var(--moss);text-decoration:none}.faq-jump a:hover{background:var(--sage-soft)}.faq-group{scroll-margin-top:6rem}.faq-group:nth-of-type(even){background:var(--sand)}.faq-group>.wrap{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);column-gap:4rem}.faq-group h2{grid-column:1;grid-row:1/span 15}.faq-group .faq-item{grid-column:2}
.page-faq section.faq-group{display:block;max-width:none;margin:0;padding:3.5rem 0}
.page-faq section.faq-group>.wrap{max-width:var(--maxw)}
@media(max-width:960px){.hero-values{grid-template-columns:repeat(3,minmax(0,1fr))}.audience-index{grid-template-columns:repeat(2,minmax(0,1fr))}.faq-group>.wrap,.audience-detail>.wrap,.influences-chapter>.wrap{display:block}.faq-group h2,.audience-detail h2,.influences-chapter h2{margin-bottom:1.5rem}}
@media(max-width:650px){.hero-values{grid-template-columns:1fr 1fr}.home-recognition .recognition-list,.home-approach .editorial-list,.about-values .editorial-list,.services-funding ul{columns:1}.home-change>.wrap{display:block}.home-change .home-timeline{border-left:0;border-top:1px solid var(--line);padding:2rem 0 0}.story-chapters article{display:block}.audience-index{grid-template-columns:1fr}.audience-index a{min-height:3.5rem}.expect-timeline,.fee-list{grid-template-columns:1fr}.faq-jump a{font-size:.83rem}}
@media(max-width:760px){.home-hero .hero-stage{display:flex;flex-direction:column;min-height:0}.home-hero .hero-stage-inner{width:100%;order:1}.home-hero .hero-stage-image{display:block;width:100%;height:19rem;min-height:0;order:2}.home-hero .hero-copy{padding:2rem 1.15rem}.home-hero .home-visual-headline{font-size:clamp(2.3rem,9vw,3rem)}.home-hero .hero-copy .lede{font-size:1rem;line-height:1.5}}
@media(max-width:900px){.services-emily>.wrap{display:block}}
@media(max-width:550px){.footer-grid{grid-template-columns:1fr;gap:1.6rem}.footer-grid>:first-child,.footer-grid>:nth-child(3){grid-column:auto;grid-row:auto}.site-footer{padding-top:3rem}.footer-grid{margin-bottom:2rem}}

/* About: deliberate editorial proportions and a calmer reading rhythm. */
body.page-about .about-hero { padding: clamp(4rem, 6vw, 6rem) 0; }
body.page-about .about-hero .hero-inner { align-items: start; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); column-gap: clamp(3rem, 7vw, 7rem); row-gap: 1.1rem; max-width: var(--maxw); }
body.page-about .about-hero h1 { font-size: clamp(3.6rem, 5.3vw, 5.1rem); grid-column: 1; grid-row: 1; margin: 0; }
body.page-about .about-hero .lede { border-left: 2px solid var(--clay); color: var(--moss-deep); font-family: var(--font-display); font-size: clamp(1.25rem, 1.7vw, 1.55rem); line-height: 1.45; grid-column: 1; grid-row: 2; margin: .4rem 0 0; max-width: 24rem; padding-left: 1.3rem; }
body.page-about .about-hero .about-hero-story { color: var(--ink-soft); font-size: 1.12rem; line-height: 1.72; grid-column: 2; grid-row: 1 / span 2; margin: .4rem 0 0; max-width: 31rem; }
body.page-about .about-hero .page-final-action { grid-column: 2; grid-row: 3; margin: .3rem 0 0; max-width: none; }

body.page-about .about-story { padding: clamp(4.5rem, 6vw, 6rem) 0; }
body.page-about .about-story > .wrap { display: grid; grid-template-columns: minmax(11rem, .3fr) minmax(0, 1fr); gap: clamp(2.5rem, 5vw, 5rem); }
body.page-about .about-story h2 { align-self: start; font-size: clamp(2.5rem, 3.8vw, 3.5rem); margin: 0; position: sticky; top: 8rem; }
body.page-about .story-chapters { margin: 0; max-width: none; }
body.page-about .story-chapters article { gap: 0 2.5rem; grid-template-columns: minmax(10rem, .7fr) minmax(0, 1.5fr); padding: 2rem 0 2.5rem; }
body.page-about .story-chapters article h3 { font-size: clamp(1.38rem, 1.8vw, 1.7rem); line-height: 1.22; }
body.page-about .story-chapters article p { line-height: 1.72; max-width: 39rem; }

body.page-about .about-approach { background: var(--moss-deep); color: #f5f2e9; padding: clamp(4.5rem, 6vw, 6rem) 0; }
body.page-about .about-approach > .wrap { display: grid; grid-template-columns: minmax(13rem, .75fr) minmax(0, 1.25fr); gap: 0 clamp(3rem, 7vw, 7rem); }
body.page-about .about-approach h2 { color: #fffdf8; font-size: clamp(2.6rem, 3.8vw, 3.6rem); grid-column: 1; grid-row: 1 / span 5; max-width: 12ch; }
body.page-about .about-approach p { color: #ecf0e8; grid-column: 2; line-height: 1.75; max-width: 42rem; }
body.page-about .about-approach p:first-of-type { font-size: 1.12rem; }
body.page-about .about-approach a { color: #fffdf8; text-decoration-color: #c8d2be; }

body.page-about .about-values { background: #fffdf8; }
body.page-about main > section.about-values > .wrap { display: block; }
body.page-about .about-values h2 { max-width: none; }
body.page-about .about-values .editorial-list { columns: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 2.5rem; margin: 2.2rem 0 0; }
body.page-about .about-values .editorial-list li { font-size: 1rem; line-height: 1.62; margin: 0; max-width: none; padding: 1.35rem 0 2rem; }
body.page-about .about-values .editorial-list strong { color: var(--moss-deep); display: block; font-family: var(--font-display); font-size: 1.45rem; font-weight: 400; letter-spacing: -.03em; line-height: 1.22; margin-bottom: .55rem; }

body.page-about .about-credentials { background: #fffdf8; }
body.page-about .about-credentials > .wrap { display: grid; grid-template-columns: minmax(13rem, .65fr) minmax(0, 1.35fr); gap: 0 clamp(3rem, 7vw, 7rem); }
body.page-about .about-credentials h2 { grid-column: 1; grid-row: 1 / span 2; max-width: 13ch; }
body.page-about .about-credentials p { color: var(--ink-soft); grid-column: 2; }
body.page-about .about-credentials .check-list { display: grid; grid-column: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; list-style: none; margin: 1.5rem 0 0; padding: 0; }
body.page-about .about-credentials .check-list li { border-top: 1px solid var(--line); line-height: 1.55; margin: 0; max-width: none; padding: 1rem 0 1.2rem; }
body.page-about .about-final { background: var(--sand); text-align: center; }
body.page-about .about-final > .wrap { max-width: 58rem; }
body.page-about .about-final h2 { margin-left: auto; margin-right: auto; max-width: 22ch; }
body.page-about .about-final p { margin-left: auto; margin-right: auto; max-width: 44rem; }
body.page-about .about-final .page-final-action { margin: 1.7rem auto .8rem; }

/* FAQ summaries share the same custom disclosure treatment as other accordions. */
body.page-faq .faq-item { border-bottom: 1px solid var(--line); }
body.page-faq .faq-item summary { cursor: pointer; display: block; font-family: var(--font-display); font-size: clamp(1.16rem, 1.6vw, 1.35rem); line-height: 1.3; list-style: none; padding: 1.2rem 2.8rem 1.2rem 0; position: relative; }
body.page-faq .faq-item summary::marker { content: ""; }
body.page-faq .faq-item summary::-webkit-details-marker { display: none; }
body.page-faq .faq-item summary::after { color: var(--clay-deep); content: "+"; font-family: var(--font-body); font-size: 1.55rem; font-weight: 400; position: absolute; right: .2rem; top: 1rem; }
body.page-faq .faq-item[open] summary::after { content: "−"; }
body.page-faq .faq-item .faq-body { color: var(--ink-soft); padding: 0 2.8rem 1.3rem 0; }
body.page-faq .faq-item .faq-body p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
  body.page-about .about-hero .hero-inner,
  body.page-about .about-story > .wrap,
  body.page-about .about-approach > .wrap,
  body.page-about .about-credentials > .wrap { display: block; }
  body.page-about .about-hero h1 { font-size: clamp(3rem, 8vw, 4.5rem); }
  body.page-about .about-hero .lede { margin: 1.2rem 0 0; }
  body.page-about .about-hero .about-hero-story { margin: 2rem 0 0; }
  body.page-about .about-hero .page-final-action { margin: 1.5rem 0 0; }
  body.page-about .about-story h2 { margin-bottom: 2rem; position: static; }
  body.page-about .about-approach h2 { margin-bottom: 2rem; }
  body.page-about .about-values .editorial-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body.page-about .about-hero { padding: 3.5rem 0 4rem; }
  body.page-about .about-hero h1 { font-size: clamp(2.75rem, 10vw, 3.6rem); }
  body.page-about .about-hero .lede { font-size: 1.3rem; }
  body.page-about .about-story,
  body.page-about .about-approach { padding: 4rem 0; }
  body.page-about .story-chapters article { display: block; padding: 1.6rem 0 1.9rem; }
  body.page-about .story-chapters article h3 { margin-bottom: .75rem; }
  body.page-about .about-values .editorial-list,
  body.page-about .about-credentials .check-list { grid-template-columns: 1fr; }
}

/* Keep the supplied hero copy readable without delaying the next step on phones. */
.home-hero .hero-copy h1.home-visual-headline{font-size:clamp(2.7rem,4.2vw,4.5rem);line-height:1.08;max-width:17ch;letter-spacing:-.04em}
.home-more{border-top:1px solid var(--line);padding-top:1.25rem;margin-top:1.5rem}
.home-more summary{cursor:pointer;color:var(--moss-deep);font:1.4rem/1.4 var(--font-display);padding:.4rem 0;min-height:44px}
.home-more[open] summary{margin-bottom:1rem}
.booking-frame{display:block;border:1px solid var(--line);background:#fff;scroll-margin-top:7rem}
@media(max-width:760px){.home-hero .hero-copy h1.home-visual-headline{font-size:clamp(2.25rem,9.5vw,3rem);max-width:19ch}.home-hero .hero-actions{margin-top:1.25rem}.home-hero .hero-copy{padding:1.75rem 1.15rem}.home-more summary{font-size:1.25rem}.booking-section .wrap{padding-inline:1rem}}

/* Self-check is the quieter next step alongside booking. */
.home-hero .hero-copy .self-check-hint{font-size:.8rem;color:var(--ink-soft);margin:.75rem 0 0}
.hero-actions .btn-secondary,.page-final-action .btn-secondary{background:transparent;color:var(--moss-deep);border:1px solid var(--moss);box-shadow:none}
.hero-actions .btn-secondary:hover,.page-final-action .btn-secondary:hover{background:var(--sage-soft)}
.page-hero .page-final-action{display:flex;flex-wrap:wrap;gap:.75rem}
.home-hero .hero-actions{gap:.75rem}
.self-check-section{scroll-margin-top:7rem}
@media(max-width:760px){.home-hero .hero-actions{flex-direction:column;align-items:stretch}.home-hero .hero-actions .btn{flex:auto;width:100%;min-height:48px}.page-hero .page-final-action .btn{width:100%;text-align:center;min-height:48px}}
