:root{--cream:#f3ece4;--sand:#e8d8c8;--cacao:#5a4038;--rose:#d9a6a6;--sage:#a8b09a;--gold:#c6a56b;--line:rgba(90,64,56,.22);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Montserrat',Arial,sans-serif;--header-height:100px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--cacao);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.1}h1{font-size:clamp(3.6rem,5.6vw,6rem);letter-spacing:-.035em}h2{font-size:clamp(2.7rem,4.3vw,4.2rem);letter-spacing:-.025em}h3{font-size:1.9rem;line-height:1.15}p{max-width:65ch}a{color:inherit;text-underline-offset:5px}button{font:inherit}button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--cacao);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}svg{display:block;width:22px;height:22px;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.section-width{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section-space{padding-block:88px}.eyebrow{font-family:var(--sans);font-size:.875rem;font-weight:500;line-height:1.5;letter-spacing:.09em}.section-heading{max-width:760px;margin-bottom:42px}.section-heading h2,.about-copy h2,.consultation-copy h2,.faq-grid h2{margin-bottom:22px}.section-heading h2:after,.about-copy h2:after,.consultation-copy h2:after,.faq-grid h2:after{content:'';display:block;width:74px;height:2px;background:var(--gold);margin-top:20px}.section-lead{font-family:var(--serif);font-size:1.75rem;line-height:1.25;margin-bottom:17px;max-width:44ch}.section-heading>p:not(.section-lead){font-size:1rem}.skip-link{position:fixed;top:8px;left:8px;background:var(--cacao);color:var(--cream);padding:10px 20px;z-index:100;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.site-header{width:min(1280px,calc(100% - 72px));margin:auto;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:30px}.wordmark{display:flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1}.wordmark span{font-family:var(--serif);font-size:2.6rem;letter-spacing:-.035em}.wordmark small{font-size:1rem;letter-spacing:.18em;margin-top:8px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:.875rem}.site-header nav a{text-decoration:none;padding-block:10px;border-bottom:1px solid transparent}.site-header nav a:hover{border-bottom-color:var(--cacao)}.site-header nav .nav-contact{border:1px solid var(--cacao);border-radius:4px;padding:9px 22px}.site-header nav .nav-contact:hover{background:linear-gradient(rgba(217,166,166,.8),rgba(217,166,166,.8)),var(--cream)}.menu-toggle{display:none}
.hero-opening{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;padding-block:28px 38px}.hero-copy .eyebrow{margin-bottom:24px;max-width:40ch}.hero h1{margin-bottom:25px}.hero h1 em{font-style:normal;font-weight:500;display:inline-block;border-bottom:2px solid var(--gold);padding-bottom:8px}.hero-intro{font-size:1.12rem;line-height:1.65;max-width:37ch}.hero-photo{position:relative;height:565px;border-radius:110px 8px 60px 8px;overflow:hidden;border-bottom:4px solid var(--rose)}.hero-photo img{position:absolute;inset:0;object-position:50% 40%}.hero-followup{max-width:820px;text-align:center;padding-block:15px 42px}.hero-followup>p{margin-inline:auto}.hero-followup .section-cta{margin-top:23px}.contact-note{font-size:.875rem;margin-top:12px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;max-width:100%;padding:13px 22px;border-radius:4px;font-size:.875rem;font-weight:500;line-height:1.6;text-align:center;text-decoration:none;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--cacao);color:var(--cream);border:1px solid var(--cacao)}.button-primary:hover{background:#422d27}.button-secondary{color:var(--cacao);background:transparent;border:1px solid var(--cacao)}.button-secondary:hover{background:var(--sand)}.section-cta{margin-top:38px;text-align:center}.section-cta-wide{grid-column:1/-1;margin-top:0}.trust-strip{display:grid;grid-template-columns:repeat(3,1fr);padding-block:25px 34px;gap:24px;border-top:1px solid var(--gold)}.trust-strip>div{display:flex;align-items:center;justify-content:center;gap:16px;font-size:.875rem;line-height:1.6;text-align:center}.trust-strip>div+div{border-left:1px solid var(--line)}.experience-number{font-family:var(--serif);font-size:3.2rem;line-height:1}
.areas{background:linear-gradient(rgba(217,166,166,.25),rgba(217,166,166,.25)),var(--cream);border-block:1px solid rgba(217,166,166,.6)}.area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 44px;list-style:none;padding:0;margin:0}.area-grid li{position:relative;padding:22px 0 18px 25px;border-top:1px solid var(--line)}.area-grid li:before{content:'';position:absolute;left:0;top:33px;width:7px;height:7px;border-radius:50%;background:var(--cacao)}.area-grid h3{font-size:2rem;margin-bottom:12px}.area-grid p{font-size:1rem;max-width:46ch}
.about-section{background:var(--cream)}.about-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:68px;align-items:center}.about-image{height:535px;border-radius:6px 70px 6px 6px;overflow:hidden}.about-image img{object-position:50% 32%}.about-copy>p:not(.section-lead):not(.professional-id){margin-top:20px}.professional-id{font-size:.875rem;letter-spacing:.035em;margin-top:22px}.training-block{margin-top:55px;padding-top:32px;border-top:1px solid var(--gold)}.training-block>h3{font-size:2.35rem;margin-bottom:26px}.training-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 44px;list-style:none;padding:0;margin:0}.training-list li{border-left:3px solid var(--rose);padding-left:20px}.training-list .training-name{font-family:var(--serif);font-size:1.6rem;line-height:1.18;margin-bottom:9px}.training-list p{font-size:1rem;line-height:1.65}.experience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:35px}.experience-grid article{padding:27px;background:linear-gradient(rgba(217,166,166,.2),rgba(217,166,166,.2)),var(--cream);border-radius:4px}.experience-grid h3{font-size:1.7rem;margin-bottom:13px}
.goals-section{background:linear-gradient(rgba(168,176,154,.3),rgba(168,176,154,.3)),var(--cream)}.goals-layout{display:grid;grid-template-columns:.94fr 1.06fr;gap:30px 80px;align-items:start}.goals-layout .section-heading{margin-bottom:0}.goals-list{list-style:none;padding:0;margin:0}.goals-list li{position:relative;padding:0 0 25px 27px;border-left:1px solid var(--cacao)}.goals-list li:before{content:'';position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--cacao)}.goals-list li:last-child{padding-bottom:0}.goals-list h3{font-size:1.9rem;margin-bottom:11px}.process-note{grid-column:1/-1;max-width:68ch;text-align:center;margin:8px auto 0;font-size:1rem}
.approach{background:var(--cream)}.approach .section-heading{margin-inline:auto;text-align:center}.approach .section-heading h2:after{margin-inline:auto}.approach-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:48px;align-items:center}.approach-photo{height:600px;border-radius:65px 5px 5px 5px;overflow:hidden}.approach-photo img{object-position:50% 38%}.approach-points{display:flex;flex-direction:column;gap:20px}.approach-points article{display:grid;grid-template-columns:88px 1fr;align-items:center;gap:22px;padding:26px;border:1px solid var(--gold);border-radius:5px}.approach-points article:nth-child(2){background:linear-gradient(rgba(217,166,166,.2),rgba(217,166,166,.2)),var(--cream);border-color:var(--rose)}.approach-points article:nth-child(3){background:linear-gradient(rgba(168,176,154,.13),rgba(168,176,154,.13)),var(--cream);border-color:var(--sage)}.approach-sign svg{width:88px;height:60px;stroke:var(--cacao);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;fill:none}.approach-sign circle{fill:var(--cream)}.approach-points article:last-child .approach-sign circle{fill:none}.approach-points h3{font-size:2rem;margin-bottom:10px}.approach-points p{font-size:1rem}.approach-closing{font-family:var(--serif);font-size:1.9rem;text-align:center;line-height:1.35;margin:35px auto 0;max-width:50ch}
.start-section{background:linear-gradient(rgba(217,166,166,.4),rgba(217,166,166,.4)),var(--cream)}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;gap:38px;padding:0;margin:0}.steps li{position:relative;border-top:1px solid var(--cacao);padding-top:25px}.step-number{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:1px solid var(--cacao);border-radius:50%;font-family:var(--serif);font-size:1.65rem;margin-bottom:20px;background:var(--cream)}.steps h3{margin-bottom:13px}.process-continuation{margin:36px auto 0;padding:26px 32px;max-width:880px;border-left:3px solid var(--gold);background:var(--cream)}.process-continuation h3{font-size:1.75rem;margin-bottom:12px}.process-continuation p{max-width:none}
.consultation{background:var(--cream)}.consultation-grid{display:grid;grid-template-columns:1.17fr .83fr;gap:38px 60px;align-items:center}.consultation-copy>p{margin-bottom:28px}.locations-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.location{padding:21px 18px;border:1px solid var(--sage);border-radius:4px}.location h3{font-size:1.7rem;margin-bottom:10px}.location p{font-size:1rem}.location .location-label{font-size:.875rem;margin-bottom:12px}.online-location{margin-top:16px;background:linear-gradient(rgba(168,176,154,.18),rgba(168,176,154,.18)),var(--cream)}.consultation-image img{height:540px;border-radius:4px 4px 70px 4px}.consultation-image figcaption{font-family:var(--serif);font-size:1.4rem;line-height:1.3;margin-top:13px}
.faq-section{border-top:1px solid var(--gold);background:linear-gradient(rgba(232,216,200,.24),rgba(232,216,200,.24)),var(--cream)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:35px 55px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;font-size:1rem;font-weight:500;line-height:1.6;padding-block:22px}summary::-webkit-details-marker{display:none}summary>span{font-weight:400;font-size:1.7rem;line-height:1;transition:transform .2s}details[open]>summary>span{transform:rotate(45deg)}.details-body{font-size:1rem;padding:0 18px 22px 0;line-height:1.75}.contact-section{background:linear-gradient(rgba(217,166,166,.8),rgba(217,166,166,.8)),var(--cream);text-align:center;border-top:3px solid var(--gold)}.contact-inner h2{margin-bottom:20px}.contact-inner .section-lead{font-size:2rem;margin-inline:auto;margin-bottom:20px}.contact-inner>p:not(.section-lead){margin-inline:auto}.contact-inner .section-cta{margin-top:26px}.other-contact{display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap;margin-top:26px;font-size:.875rem}.other-contact a{overflow-wrap:anywhere}.site-footer{display:flex;justify-content:space-between;gap:30px;padding-block:38px 85px;font-size:.875rem}.footer-name{font-family:var(--serif);font-size:2.2rem;text-decoration:none}.site-footer p{margin-top:6px}.footer-details{text-align:right;align-self:center;font-size:.875rem}
@media(max-width:1000px){.section-width{width:calc(100% - 64px)}.site-header{width:calc(100% - 48px)}.site-header nav{gap:19px}.hero-opening{gap:35px}.hero h1{font-size:4.4rem}.hero-photo{height:520px}.about-grid,.goals-layout{gap:35px}.about-image{height:565px}.approach-grid{grid-template-columns:.8fr 1.2fr;gap:28px}.approach-points article{grid-template-columns:60px 1fr;gap:17px;padding:22px}.approach-sign svg{width:60px;height:50px}.approach-photo{height:655px}.consultation-grid{gap:32px}.locations-grid{grid-template-columns:1fr}.consultation-image img{height:650px}.faq-grid{gap:35px}}
@media(max-width:860px){:root{--header-height:84px}.site-header{position:relative;flex-wrap:wrap;gap:0}.wordmark span{font-size:2.35rem}.wordmark small{font-size:1rem}.menu-toggle{display:flex;gap:11px;align-items:center;border:0;padding:12px 0;background:none;color:var(--cacao);font-size:.875rem}.menu-lines{width:22px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.site-header nav{display:none;flex-basis:100%;padding-block:15px 25px;gap:4px;align-items:stretch;font-size:1rem}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav a{padding:10px}.site-header nav .nav-contact{margin-top:8px;text-align:center}.hero-opening{gap:25px}.hero h1{font-size:3.7rem}.hero-intro{font-size:1rem}.hero-photo{height:475px}.section-space{padding-block:68px}.about-grid{grid-template-columns:.8fr 1.2fr;gap:30px}.about-image{height:600px}.about-copy h2{font-size:3rem}.goals-layout{gap:30px}.approach-grid{grid-template-columns:1fr}.approach-photo{height:370px;max-width:510px;width:100%;margin-inline:auto}.approach-photo img{object-position:50% 25%}.approach-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.approach-points article{display:block;padding:22px 18px}.approach-sign{margin-bottom:15px}.approach-sign svg{width:75px}.approach-points h3{font-size:1.8rem}.steps{gap:24px}.steps h3{font-size:1.75rem}.faq-grid{grid-template-columns:1fr}.faq-grid .section-lead{margin-bottom:0}}
@media(max-width:640px){:root{--header-height:72px}.section-width,.site-header{width:calc(100% - 40px)}.site-header{min-height:4.5rem}.wordmark span{font-size:2.2rem}.wordmark small{font-size:1rem;letter-spacing:.16em;margin-top:6px}.hero-opening{display:flex;flex-direction:column;align-items:stretch;gap:16px;height:auto;min-height:calc(100svh - 4.5rem);padding-block:12px 18px}.hero-copy{flex:0 0 auto}.hero-copy .eyebrow{font-size:.875rem;letter-spacing:.035em;margin-bottom:12px;max-width:none}.hero h1{font-size:clamp(2.4rem,10vw,2.8rem);line-height:1.01;margin-bottom:12px;letter-spacing:-.025em}.hero h1 em{padding-bottom:5px}.hero-intro{font-size:1rem;line-height:1.55;max-width:36ch}.hero-photo{flex:1 0 auto;min-height:12rem;height:clamp(12rem,calc(100svh - 25rem),32rem);border-radius:55px 4px 35px 4px;border-bottom-width:3px}.hero-photo img{object-position:50% 36%}.hero-followup{padding-block:26px 30px;text-align:left}.hero-followup .section-cta{text-align:left;margin-top:20px}.hero-followup .contact-note{margin-inline:0}.trust-strip{grid-template-columns:1fr;padding-block:12px 22px;gap:0}.trust-strip>div{padding-block:14px;gap:16px}.trust-strip>div+div{border-left:0;border-top:1px solid var(--line)}.trust-strip>div:not(:first-child) br{display:none}.experience-number{font-size:2.8rem}.section-space{padding-block:55px}h2{font-size:2.35rem;line-height:1.07}h3{font-size:1.8rem}.section-heading{margin-bottom:30px}.section-heading h2,.about-copy h2,.consultation-copy h2,.faq-grid h2{margin-bottom:19px}.section-heading h2:after,.about-copy h2:after,.consultation-copy h2:after,.faq-grid h2:after{width:60px;margin-top:16px}.section-lead{font-size:1.5rem;line-height:1.3;margin-bottom:15px}.desktop-break{display:none}.section-cta{text-align:left;margin-top:28px}.section-cta-wide{margin-top:0}.area-grid{grid-template-columns:1fr;gap:10px}.area-grid li{padding:19px 0 19px 22px}.area-grid li:before{top:29px;width:6px;height:6px}.area-grid h3{font-size:1.85rem}.about-grid{display:flex;flex-direction:column;gap:28px}.about-copy{order:0}.about-copy h2{font-size:2.35rem}.about-image{order:1;width:100%;height:360px}.about-image img{object-position:50% 30%}.about-copy>p:not(.section-lead):not(.professional-id){margin-top:17px}.training-block{margin-top:32px;padding-top:27px}.training-block>h3{font-size:2rem;margin-bottom:24px}.training-list{grid-template-columns:1fr;gap:24px}.training-list li{padding-left:17px}.training-list .training-name{font-size:1.55rem}.experience-grid{grid-template-columns:1fr;gap:16px;margin-top:30px}.experience-grid article{padding:23px}.goals-layout{grid-template-columns:1fr;gap:27px}.goals-list li{padding-left:23px;padding-bottom:26px}.goals-list h3{font-size:1.85rem}.process-note{text-align:left;margin-top:0}.approach .section-heading{text-align:left}.approach .section-heading h2:after{margin-inline:0}.approach-grid{gap:25px}.approach-photo{height:340px;width:100%;border-radius:50px 4px 4px 4px}.approach-points{display:flex;gap:16px}.approach-points article{display:grid;grid-template-columns:56px 1fr;gap:15px;padding:23px 18px;align-items:start}.approach-sign{margin:0;padding-top:2px}.approach-sign svg{width:56px;height:47px}.approach-points h3{font-size:1.8rem}.approach-closing{text-align:left;font-size:1.6rem;margin-top:25px}.steps{grid-template-columns:1fr;gap:26px}.steps li{display:grid;grid-template-columns:42px 1fr;gap:0 17px;padding-top:23px}.step-number{grid-row:1/3;width:42px;height:42px;font-size:1.4rem;margin:0}.steps h3{font-size:1.8rem;align-self:center}.steps p{grid-column:2}.process-continuation{margin-top:28px;padding:24px 22px}.process-continuation h3{font-size:1.7rem}.consultation-grid{grid-template-columns:1fr;gap:28px}.locations-grid{grid-template-columns:1fr}.location{padding:22px}.location h3{font-size:1.85rem}.consultation-image img{height:350px}.faq-grid{gap:26px}.faq-list summary{font-size:1rem;padding-block:20px}.details-body{padding-right:0}.contact-inner h2{font-size:2.35rem}.contact-inner .section-lead{font-size:1.75rem}.contact-inner .section-cta{text-align:center}.other-contact{flex-direction:column;gap:13px;font-size:.875rem}.site-footer{flex-direction:column;padding-block:32px 95px;gap:22px}.footer-details{text-align:left;align-self:start}}
@media(max-width:360px){.approach-points article{grid-template-columns:1fr}.approach-sign svg{width:65px;height:43px}.hero-copy .eyebrow{letter-spacing:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Read each six-item list down the first column, then the second. */
@media(min-width:641px){.training-list,.area-grid{grid-auto-flow:column;grid-template-rows:repeat(3,auto)}}

/* Softer supporting surfaces and a clearer hierarchy of professional training. */
.experience-grid article{padding:22px 0 0;border-top:1px solid var(--line);background:none;border-radius:0}
.experience-grid h3{font-size:1.4rem}
.goals-section{background:linear-gradient(rgba(90,64,56,.075),rgba(90,64,56,.075)),var(--cream)}
.approach-points article:nth-child(3){background:linear-gradient(rgba(90,64,56,.045),rgba(90,64,56,.045)),var(--cream);border-color:var(--line)}
.approach-points article:nth-child(4){border-color:var(--rose)}
.approach-points article:nth-child(3) .approach-sign circle,.approach-points article:nth-child(4) .approach-sign circle{fill:none}
.start-section{background:linear-gradient(rgba(217,166,166,.22),rgba(217,166,166,.22)),var(--cream);border-top:1px solid var(--gold)}
.location{border-color:var(--line)}
.online-location{background:linear-gradient(rgba(90,64,56,.045),rgba(90,64,56,.045)),var(--cream)}
.contact-section{background:#d7b4b0;color:var(--cacao);border-top:1px solid var(--gold);padding-block:72px}
@media(min-width:641px) and (max-width:860px){.approach-points{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep the established approach pink and cream method cards. */
.approach{background:linear-gradient(rgba(217,166,166,.22),rgba(217,166,166,.22)),var(--cream)}
.approach-points article,.approach-points article:nth-child(2),.approach-points article:nth-child(3){background:var(--cream)}
.approach-points .approach-method{font-size:.875rem;font-weight:600;line-height:1.5;color:var(--cacao);margin:0 0 10px}

/* Keep the process note integrated and the consultation on cream. */
.start-section .process-continuation{max-width:none;margin-inline:0;padding:26px 0 0;background:transparent;border-left:0;border-top:1px solid var(--line)}
.consultation{border-top:1px solid var(--line)}
.faq-section{background:var(--cream);border-top:1px solid var(--line)}
.faq-list details{border-color:rgba(90,64,56,.35)}

/* Cream remains the page canvas; sand is concentrated in useful groupings. */
.faq-list{background:var(--sand);padding:0 28px;border:1px solid var(--line);border-radius:4px}
.faq-list details:first-child{border-top:0}
.faq-list details:last-child{border-bottom:0}
.contact-inner{padding-block:0;border:0}
.contact-section .button-primary{background:var(--cream);color:var(--cacao);border-color:var(--cacao)}
.contact-section .button-primary:hover{background:var(--sand);border-color:var(--cacao)}
.contact-section a:focus-visible{outline-color:var(--cacao)}
.contact-section .other-contact a:hover{text-decoration-thickness:2px}
@media(max-width:640px){.faq-list{padding-inline:20px}.contact-section{padding-block:52px}}

/* A cream panel sits within the soft pink process section, between two cream sections. */
.process-panel{padding:28px;background:var(--cream);border:1px solid var(--line);border-radius:4px}
@media(max-width:640px){.process-panel{padding:24px 20px}.start-section .step-number{grid-row:auto}.start-section .steps p{grid-column:1/-1;margin-top:4px}}

/* Brand gold warms small process accents and the two in-person locations. */
.start-section .step-number{background:linear-gradient(rgba(198,165,107,.38),rgba(198,165,107,.38)),var(--cream);border-color:var(--gold);color:var(--cacao)}
.locations-grid .location{background:linear-gradient(135deg,rgba(198,165,107,.38),rgba(198,165,107,.18)),var(--cream);border-color:var(--gold);border-left-width:3px}
.consultation .online-location{background:linear-gradient(rgba(198,165,107,.22),rgba(198,165,107,.22)),var(--cream);border-color:var(--gold)}

/* Soft contact fills follow each section; cacao is reserved for text and borders. */
.areas{--cta-fill:#e5c6c2;--cta-hover:#e0b9b6}
.contact-section{--cta-fill:var(--cream);--cta-hover:#f8f3ee}
.section-cta .button{background:var(--cta-fill,var(--sand));color:var(--cacao);border-color:var(--cacao);border-width:1px;box-shadow:none}
.section-cta .button:hover{background:var(--cta-hover,var(--cta-fill,var(--sand)));color:var(--cacao);border-color:var(--cacao);box-shadow:none}




.site-footer{padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))}

/* A secondary route to the Google reviews supplied by Sonia. */
.reviews-link{margin-top:36px;padding-top:28px;border-top:1px solid var(--gold);text-align:center}
.reviews-link .button{background:#e5c6c2}
.reviews-link .button:hover{background:#e0b9b6}


/* Hybrid editorial revision · 28 October 2026. */
.hero-support{font-size:1rem;line-height:1.7;margin-top:16px;max-width:43ch}
.hero-copy .hero-cta{text-align:left;margin-top:24px}
.hero-copy .contact-note{max-width:43ch}
.hero-cta .button{background:#e5c6c2}
.hero-cta .button:hover{background:#e0b9b6}
.trust-strip>div{flex-direction:column;gap:7px;padding-inline:12px}
.trust-title{font-family:var(--serif);font-size:1.9rem;line-height:1.2}
.training-block{border-bottom:1px solid var(--gold);padding:0}
.training-block>summary{padding-block:24px;gap:24px}
.training-block>summary h3{font-size:2.15rem}
.training-content{padding:12px 0 32px}
.training-block .experience-grid{margin-top:30px}
.approach-points .approach-method{display:inline-block;margin:14px 0 0;padding-top:7px;border-top:1px solid var(--gold);font-size:.8rem}
.reviews-card{display:flex;gap:26px;align-items:center;margin-top:42px;padding:30px;background:#e5c6c2;border:1px solid #c59491;border-radius:5px}
.reviews-icon{flex:0 0 56px}
.reviews-icon svg{width:56px;height:56px;stroke:var(--cacao);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.reviews-copy{flex:1}
.reviews-copy h3{margin-bottom:8px;font-size:2rem}
.reviews-copy p{font-size:.9rem}
.reviews-card .button{background:var(--cream);white-space:nowrap}
.reviews-card .button:hover{background:#f8f3ee}
.consultation-grid{grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.consultation-copy>p{margin-bottom:0}
.consultation-copy .section-lead{margin-bottom:20px}
.consultation-image img{height:410px}
.consultation>.section-width>.locations-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:36px}
.locations-grid .map-location{padding:0;overflow:hidden;border-left-width:1px}
.location-heading{padding:26px 26px 18px}
.location-heading h3{font-size:2rem}
.location-heading .location-label{margin:8px 0 0;font-size:.875rem}
.map-slot{margin:0 18px;height:230px;background:#f3ece4;border:1px solid rgba(90,64,56,.18);border-radius:3px;overflow:hidden}





.map-slot iframe{display:block;width:100%;height:100%;border:0}
.map-external{display:block;margin:16px 26px 22px;font-size:.875rem;width:fit-content}
.consultation .online-location{display:flex;gap:22px;align-items:center;margin-top:24px;padding:25px 28px}
.online-location>svg{width:52px;height:52px;stroke:var(--cacao);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.online-location h3{margin-bottom:8px}
.contact-inner>.eyebrow{margin-bottom:20px}
.contact-inner h2{font-size:clamp(2.35rem,4.3vw,4.2rem)}
.site-footer{padding-bottom:38px}
@media(min-width:641px) and (max-width:1000px){.hero h1{font-size:3.6rem}.hero-photo{height:590px}.reviews-card{flex-wrap:wrap}.reviews-card .button{margin-left:82px}}
@media(max-width:640px){
 .hero-opening{min-height:0;gap:20px;padding-block:15px 28px}
 .hero-copy .eyebrow{font-size:.78rem;line-height:1.5;letter-spacing:.035em}
 .hero-support{font-size:.9rem;line-height:1.6;margin-top:10px}
 .hero-copy .hero-cta{margin-top:18px}
 .hero-copy .contact-note{font-size:.75rem;margin-top:9px;line-height:1.5;max-width:38ch}
 .hero-photo{flex:none;min-height:240px;height:clamp(240px,calc(100svh - 34rem),420px)}
 .trust-strip>div{padding-block:17px;gap:5px}
 .trust-title{font-size:1.7rem}
 .training-block>summary h3{font-size:1.9rem}
 .training-content{padding-top:8px}
 .reviews-card{display:grid;grid-template-columns:40px 1fr;gap:16px;margin-top:30px;padding:23px 20px}
 .reviews-icon{align-self:start}.reviews-icon svg{width:40px;height:40px}
 .reviews-copy h3{font-size:1.8rem}
 .reviews-card .button{grid-column:1/-1;width:100%;white-space:normal}
 .consultation-grid{grid-template-columns:1fr;gap:25px}
 .consultation-image img{height:320px}
 .consultation>.section-width>.locations-grid{grid-template-columns:1fr;gap:22px;margin-top:28px}
 .location-heading{padding:23px 22px 16px}
 .location-heading h3{font-size:1.85rem}
 .map-slot{height:220px}
 .consultation .online-location{padding:23px 22px;gap:16px;align-items:flex-start}
 .online-location>svg{width:40px;height:40px}
 .contact-inner h2 br{display:none}
 .site-footer{padding-bottom:32px}
}
@media print{.skip-link,.menu-toggle{display:none}.training-content{display:block}}

/* 30 October: complete original portrait, direct maps and dated Google rating. */
.hero-photo{height:auto;min-height:0;aspect-ratio:1 / 1;flex:none;align-self:center;width:100%}
.hero-photo img{position:static;width:100%;height:auto;object-fit:contain}
.hero-copy .eyebrow{max-width:none}
.about-copy .about-label{margin:0 0 17px;font-size:.8rem;letter-spacing:.11em}
.about-copy h2{font-size:clamp(2.35rem,3.8vw,3.6rem)}
.trust-review a{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;border-radius:4px;padding:4px 16px}
.trust-review a:hover .trust-review-label{text-decoration:underline;text-underline-offset:4px}
.trust-rating{font-family:var(--serif);font-size:2rem;line-height:1.1}
.trust-rating small{font-size:1rem}
.review-stars{color:#966822;font-family:Arial,sans-serif;font-size:1.15rem;letter-spacing:.12em;line-height:1.3;white-space:nowrap}
.rating-date{font-size:.75rem;line-height:1.55}
.trust-review .rating-date{font-size:.7rem}
.reviews-card{gap:28px;padding:32px;align-items:center}
.reviews-rating{display:flex;flex-direction:column;align-items:center;gap:8px;flex:0 0 146px;padding:22px 15px;background:var(--cream);border:1px solid var(--gold);border-radius:4px}
.rating-number{font-family:var(--serif);font-size:3.3rem;line-height:1}
.rating-number small{font-size:1.25rem}
.rating-provider{font-size:.875rem}
.reviews-copy .rating-date{font-size:.75rem;margin-top:14px;max-width:43ch}
@media(min-width:641px) and (max-width:1000px){.reviews-card .button{margin-left:174px}}
@media(max-width:640px){
 .hero-photo{height:auto;min-height:0;aspect-ratio:1 / 1}
 .about-copy .about-label{margin-top:0}
 .reviews-card{grid-template-columns:1fr;gap:22px;padding:26px 22px;text-align:center}
 .reviews-rating{justify-self:center;min-width:156px;padding:20px 24px}
 .reviews-copy p{margin-inline:auto}
 .reviews-copy .rating-date{max-width:32ch}
 .reviews-card .button{margin-left:0;min-height:54px}
}

/* 1 November: coherent introduction and independent Google opinions section. */
.about-copy .about-intro{font-size:clamp(1.65rem,2.25vw,2.15rem);line-height:1.3;max-width:30ch}
.training-meta-label{font-weight:600}
.reviews-section{background:#eee0cb;border-top:1px solid #d4bb8c;border-bottom:1px solid #d4bb8c}
.reviews-layout{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:64px}
.reviews-heading .eyebrow{margin:0 0 16px}
.reviews-heading h2{max-width:17ch;margin-bottom:24px}
.reviews-heading h2:after{content:'';display:block;width:74px;height:2px;background:var(--gold);margin-top:20px}
.reviews-heading>p:last-child{max-width:45ch;margin-bottom:0}
.reviews-panel{background:#f8f2e9;border:1px solid #c6a56b;border-radius:5px;padding:34px 30px;text-align:center}
.reviews-score{display:flex;flex-direction:column;align-items:center;gap:12px}
.reviews-score .rating-number{font-size:4.25rem}
.reviews-score .rating-provider{font-size:.95rem}
.reviews-panel .button{margin-top:25px;min-height:52px;background:#e9d7b8;border-color:#a88955;box-shadow:0 2px 0 #c6a56b40}
.reviews-panel .button:hover{background:#dfc9a3}
.review-source{margin-top:20px;font-size:.75rem;line-height:1.6}
.review-source summary{display:flex;justify-content:center;gap:8px;min-height:44px;padding:0;font-size:.75rem;font-weight:400;cursor:pointer;text-underline-offset:4px;text-decoration:underline}
.review-source summary>span{font-size:1rem}
.review-source p{margin:12px auto 0;max-width:38ch;font-size:.75rem}
.review-source summary:focus-visible{outline:2px solid var(--cacao);outline-offset:5px}
@media(max-width:860px){.reviews-layout{gap:32px;grid-template-columns:1fr 1fr}.reviews-panel{padding:28px 20px}}
@media(max-width:640px){.reviews-layout{grid-template-columns:1fr;gap:28px}.reviews-heading h2{max-width:17ch;margin-bottom:24px}
.reviews-heading h2:after{content:'';display:block;width:74px;height:2px;background:var(--gold);margin-top:20px}.reviews-panel{padding:28px 22px}.reviews-panel .button{width:100%}.about-copy .about-intro{font-size:1.7rem}}

/* 1 November, second revision: contrast for the CTA on the therapy area. */
.areas .section-cta .button{background:#fff8ec;border:2px solid #a68150;box-shadow:0 3px 0 #a681502b;color:var(--cacao)}
.areas .section-cta .button:hover{background:#efdfc4;border-color:#8c673b;box-shadow:0 4px 8px #a6815026}

/* A concise, visible H1 identifies the service; the motto leads visually. */
.hero h1{font-family:var(--sans);font-size:clamp(1.125rem,1.5vw,1.25rem);font-weight:500;line-height:1.5;letter-spacing:0;margin-bottom:24px;max-width:40ch;text-wrap:balance}
.hero-motto{font-family:var(--serif);font-size:clamp(3rem,4.2vw,4rem);font-weight:500;line-height:1.05;letter-spacing:-.025em;margin-bottom:24px}
.hero-motto em{display:inline-block;font-style:normal;border-bottom:2px solid var(--gold);padding-bottom:8px}
.hero-modality{font-size:.95rem;line-height:1.6;margin-bottom:0}
.hero-support{margin-top:18px}
@media(max-width:640px){
 .hero h1{font-size:1.0625rem;line-height:1.5;max-width:none;margin-bottom:20px}
 .hero-motto{font-size:clamp(2.35rem,9.5vw,2.8rem);line-height:1.05;margin-bottom:20px}
 .hero-motto em{padding-bottom:6px}
 .hero-modality{font-size:.83rem;line-height:1.6}
 .hero-support{margin-top:14px}
}

/* On phones, show the complete portrait before the supporting copy and CTA. */
@media(max-width:640px){
 .hero-copy{display:contents}
 .hero-opening{gap:16px}
 .hero h1{margin-bottom:16px}
 .hero-motto{font-size:clamp(1.9rem,9.5vw,2.8rem);margin-bottom:16px}
 .hero-intro-block{order:0}
 .hero-opening .hero-photo{order:1;width:min(100%,max(220px,calc(100svh - 340px)));margin-inline:auto}
 .hero-details{order:2}
 .hero-details .hero-support{margin-top:0}
}

/* Review carousel, confined to the opinions section. */
#resenas .reviews-layout{row-gap:30px}
#resenas .reviews-carousel{grid-column:1 / -1;min-width:0}
#resenas .reviews-carousel-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
#resenas .reviews-carousel-hint{font-family:var(--serif);font-size:1.65rem;margin:0;line-height:1.15}
#resenas .reviews-carousel-controls{display:flex;align-items:center;gap:10px;flex-shrink:0}
#resenas .reviews-carousel-controls[hidden]{display:none}
#resenas .reviews-carousel-status{font-size:.8rem;min-width:74px;text-align:center}
#resenas .reviews-arrow{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid #a88955;background:#f8f2e9;color:var(--cacao);padding:0;cursor:pointer;transition:background .15s}
#resenas .reviews-arrow:hover{background:#e9d7b8}
#resenas .reviews-arrow:disabled{opacity:.38;cursor:default}
#resenas .reviews-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#resenas .reviews-prev svg{transform:rotate(180deg)}
#resenas .reviews-previews{display:grid;align-items:start;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#bca36f transparent;padding:3px 2px 16px;overscroll-behavior-x:contain}
#resenas .review-preview{display:flex;flex-direction:column;min-width:0;margin:0;padding:28px 25px 18px;background:#fffaf4;border:1px solid #d3bd94;border-radius:14px 14px 38px 14px;box-shadow:0 3px 8px #81653a0c;text-align:left;scroll-snap-align:start;scroll-snap-stop:always}
#resenas .review-preview figcaption{display:flex;gap:14px;align-items:center;font-size:.78rem;margin-bottom:20px}
#resenas .review-quote-mark{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:#ecd7cf;font-family:var(--serif);font-size:3.2rem;line-height:1;padding-top:9px;color:#75594d}
#resenas .review-preview .review-stars{display:block;font-size:.95rem;margin-top:6px}
#resenas .review-preview blockquote{margin:0 0 22px;padding:0;border:0}
#resenas .review-preview blockquote p{font-size:1rem;line-height:1.75;margin:0;color:var(--cacao)}
#resenas .review-preview-link{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:auto;font-size:.82rem;text-underline-offset:4px}
#resenas .reviews-footer{grid-column:1 / -1;text-align:center}
#resenas .reviews-footer>.button{min-height:52px;background:#e9d7b8;border-color:#a88955;box-shadow:0 2px 0 #c6a56b40}
#resenas .reviews-footer>.button:hover{background:#dfc9a3}
#resenas :is(.review-preview-link,.reviews-arrow,.reviews-previews):focus-visible{outline:2px solid var(--cacao);outline-offset:3px}
@media(max-width:1000px){#resenas .reviews-previews{grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:640px){
 #resenas .reviews-layout{row-gap:24px}
 #resenas .reviews-panel{padding:20px}
 #resenas .reviews-score{display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:5px;text-align:left}
 #resenas .reviews-score .rating-number{grid-row:1 / 3;font-size:3rem}
 #resenas .reviews-score .review-stars{align-self:end}
 #resenas .reviews-score .rating-provider{font-size:.8rem;align-self:start}
 #resenas .reviews-carousel-bar{align-items:flex-start;gap:12px}
 #resenas .reviews-carousel-hint{font-size:1.35rem;max-width:none}
 #resenas .reviews-carousel-controls{gap:6px}
 #resenas .reviews-carousel-status{min-width:54px;font-size:.73rem}
 #resenas .reviews-arrow{width:44px;height:44px}
 #resenas .reviews-previews{grid-auto-columns:88%;gap:14px;padding-bottom:14px}
 #resenas .review-preview{padding:24px 20px 16px}
 #resenas .review-preview blockquote p{font-size:.94rem}
 #resenas .reviews-footer>.button{width:100%}
}

/* Public first names or alias from the supplied Google review captures. */
#resenas .review-author-details{display:flex;flex-direction:column;min-width:0;line-height:1.3}
#resenas .review-author-name{font-size:1rem;font-weight:600;color:var(--cacao)}
#resenas .review-author-source{display:block;font-size:.72rem;line-height:1.4;margin-top:5px;color:var(--cacao)}
#resenas .review-author-details .review-stars{margin-top:5px}
