:root{--paper:#f5f0e7;--white:#fffcf6;--ink:#293f32;--ink-soft:#4f5d50;--olive:#667453;--amber:#c28b42;--line:#d5d7c9;--cream:#e4e7d8;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1,h2{letter-spacing:-.055em;line-height:1.03}h1{font-size:clamp(3.8rem,6vw,6.4rem)}h2{font-size:clamp(2.5rem,4.2vw,4.4rem)}h3{font-size:2rem;letter-spacing:-.035em;line-height:1.15}em{font-weight:400}p{color:var(--ink-soft)}.container{max-width:1328px;margin-inline:auto;padding-inline:56px}.section{padding-block:105px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:600;color:var(--ink);line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-80px;left:20px;background:var(--ink);color:var(--white);padding:14px;z-index:99}.skip-link:focus{top:10px}:focus-visible{outline:3px solid var(--amber);outline-offset:5px}
.header{max-width:1432px;padding:29px 56px 22px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;text-decoration:none}.brand-name{font:1.8rem/1.2 var(--serif);letter-spacing:-.045em}.brand-period{color:var(--amber);font-weight:700}.brand-subtitle{font-size:.75rem;letter-spacing:.19em;margin-top:8px}.header nav{display:flex;gap:30px;align-items:center}.header nav>a{font-size:.85rem;text-decoration:none}.header nav>a:hover{text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;gap:10px;padding:13px 25px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--white);font-size:.9rem;font-weight:500;line-height:1.5;text-decoration:none;transition:background .2s,transform .2s}.button:hover{background:#3b5140;transform:translateY(-2px)}.button-small{min-height:44px;padding:10px 21px}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:#e6dfd0;color:var(--ink)}.text-link{font-size:.88rem;text-decoration:underline;font-weight:500}.text-link:hover{color:#755223}.menu-toggle{display:none}.hero{padding-block:68px 57px;display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}.hero .eyebrow{margin-bottom:27px}.hero h1 em{color:#647350}.hero-description{max-width:415px;margin-top:27px;line-height:1.75;font-size:1.03rem}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-footnote{margin-top:47px;font-size:.75rem;letter-spacing:.04em}.hero-footnote span{padding-inline:15px;color:#949f82}.hero-art{position:relative;margin:0;padding:5px 0 0}.hero-image-wrap{width:100%;height:550px;background:var(--olive);border-radius:260px 260px 5px 5px;overflow:hidden}.hero-image-wrap img{width:100%;height:100%;object-position:50% 50%}.hero-art:after{content:'';position:absolute;inset:-14px -14px 44px 14px;border:1px solid var(--amber);border-radius:280px 280px 4px 4px;pointer-events:none;z-index:-1}.hero-art figcaption{display:flex;align-items:center;justify-content:space-between;padding-top:23px;gap:12px;font-size:.75rem}.hero-art figcaption span:first-child{letter-spacing:.13em;font-size:.75rem}.hero-art figcaption span:last-child{font:1.15rem var(--serif);font-style:italic}.intro-band{background:var(--cream);margin-top:12px}.intro-inner{padding-block:36px;display:grid;grid-template-columns:1fr 2.2fr .7fr;align-items:center;gap:35px}.section-number{font-size:.75rem;letter-spacing:.12em}.intro-inner>p{font:1.8rem/1.3 var(--serif);color:var(--ink);letter-spacing:-.025em}.intro-note{font-size:.83rem;line-height:1.6;color:var(--ink-soft)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:120px;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{max-width:460px;line-height:1.8;padding-bottom:4px}.care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.care-card{padding:30px;background:var(--white);border:1px solid var(--line);border-radius:5px;display:flex;flex-direction:column;align-items:flex-start}.card-number{font:italic 1.1rem var(--serif);color:#71694e;margin-bottom:34px}.care-card h3{margin-bottom:19px}.care-card p{line-height:1.7;font-size:.95rem}.care-card ul{list-style:none;padding:24px 0 28px;margin:0;font-size:.84rem;line-height:1.65;color:var(--ink-soft);width:100%}.care-card li{padding:7px 0;border-bottom:1px solid var(--line)}.care-card li:last-child{border:0}.care-card .text-link{margin-top:auto}.about-section{background:#e9e1d3;padding-block:83px}.about-grid{display:grid;grid-template-columns:.85fr 1.3fr;gap:95px;align-items:center}.portrait{max-width:410px}.portrait img{width:100%;height:465px;border-radius:5px 5px 115px 5px;object-position:center 28%}.portrait figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:19px;font:1.05rem var(--serif)}.portrait figcaption span{font:.75rem/1.7 var(--sans)}.about-copy .eyebrow{margin-bottom:23px}.about-copy .lead{font:1.35rem/1.55 var(--serif);color:var(--ink);max-width:530px;margin-block:26px 22px}.about-copy>p:not(.lead):not(.eyebrow){max-width:510px}.credential{display:flex;flex-direction:column;margin-block:28px;padding-left:16px;border-left:2px solid var(--amber);font-size:.8rem;gap:1px}.credential span:first-child{font-weight:600}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:62px}.approach-mark{display:block;color:#946933;font:italic 2rem var(--serif);margin-bottom:20px}.approach-grid h3{font-size:1.6rem;margin-bottom:13px}.approach-grid p{font-size:.96rem;line-height:1.75}.faq-section{display:grid;grid-template-columns:.8fr 1.5fr;gap:85px;padding-block:92px 110px}.faq-section .eyebrow{margin-bottom:22px;max-width:255px}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;padding-block:21px;font-size:.97rem;line-height:1.6}.faq-list summary::-webkit-details-marker{display:none}.faq-icon{font-size:1.6rem;line-height:1;flex-shrink:0;font-weight:400}.faq-list details[open] .faq-icon{transform:rotate(45deg)}.faq-list details p{padding:0 32px 24px 0;font-size:.91rem;line-height:1.8}.connect-section{background:var(--ink);color:var(--paper);padding-block:88px}.connect-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:130px;align-items:center}.connect-section .eyebrow{color:#d8c9a1;margin-bottom:20px}.connect-section h2 em{color:#d4d9b8}.connect-section p{color:#d6ddcd;max-width:430px;margin-block:25px}.connect-grid address{font-style:normal;border-left:1px solid #627263;padding-left:45px;display:flex;align-items:flex-start;flex-direction:column}.contact-caption{font-size:.75rem;letter-spacing:.12em;color:#d8c9a1;margin-bottom:20px}.contact-phone{font:2.1rem var(--serif);text-decoration:none;white-space:nowrap}.contact-email{font-size:.88rem;margin-top:13px;overflow-wrap:anywhere;max-width:100%}.connect-grid address p{font-size:.95rem}.contact-note{font-size:.75rem;color:#cbd2c3}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:36px;font-size:.75rem}.footer-brand{font:1.4rem var(--serif);text-decoration:none}.footer-brand span{color:var(--amber)}.footer>span{font-size:.75rem;color:var(--ink-soft)}
@media(min-width:1550px){.hero{padding-top:83px;padding-bottom:72px}.hero-image-wrap{height:610px}}
@media(max-width:1100px){.container{padding-inline:36px}.header{padding-inline:36px}.header nav{gap:22px}.hero{gap:45px}.hero h1{font-size:5.2rem}.hero-image-wrap{height:520px}.hero-actions{gap:19px}.section-heading{gap:60px}.care-card{padding:25px}.about-grid{gap:60px}.connect-grid{gap:65px}.portrait img{height:440px}.contact-phone{font-size:1.9rem}.contact-email{font-size:.8rem}.approach-grid{gap:35px}}
@media(max-width:850px){.header{padding-block:22px;flex-wrap:wrap}.brand-name{font-size:1.6rem}.brand-subtitle{font-size:.75rem}.menu-toggle{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:transparent;border-radius:3px;padding:9px 12px;font-size:.85rem;color:var(--ink)}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:15px;gap:0}.header nav.is-open{display:flex}.header nav>a{padding:13px 0;font-size:1rem}.header nav>a.button{margin-top:12px;padding:12px}.hero{gap:30px;padding-top:45px;grid-template-columns:1.05fr 1fr}.hero h1{font-size:4rem}.hero .eyebrow{font-size:.75rem;margin-bottom:22px}.hero-description{font-size:.95rem}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero-image-wrap{height:440px}.hero-art figcaption{flex-direction:column;align-items:flex-start}.hero-footnote{margin-top:30px;font-size:.75rem}.hero-footnote span{padding-inline:6px}.intro-inner{grid-template-columns:1fr 2fr;gap:25px}.intro-inner>p{font-size:1.5rem}.intro-note{display:none}.section{padding-block:76px}.section-heading{grid-template-columns:1fr 1fr;gap:45px}.care-grid{gap:12px}.care-card{padding:23px 19px}.care-card h3{font-size:1.8rem}.care-card ul{font-size:.78rem}.about-grid{gap:40px}.portrait img{height:370px}.portrait figcaption{flex-direction:column;gap:3px}.about-copy h2{font-size:3rem}.about-copy .lead{font-size:1.16rem}.faq-section{gap:45px;padding-block:76px}.connect-grid{gap:45px}.connect-grid address{padding-left:25px}.connect-section h2{font-size:3rem}.footer{flex-wrap:wrap}.footer>span{width:100%}}
@media(max-width:620px){.container,.header{padding-inline:24px}.header{padding-block:19px}.hero{grid-template-columns:1fr;padding-block:38px 38px;gap:44px}.hero .eyebrow{font-size:.75rem;letter-spacing:.08em}.hero h1{font-size:clamp(3.45rem,12.2vw,4.5rem)}.hero-description{margin-top:24px;max-width:370px;font-size:1rem}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:22px}.hero-actions .button{font-size:.82rem;padding-inline:19px}.hero-footnote{font-size:.75rem}.hero-image-wrap{height:365px;border-radius:180px 180px 4px 4px}.hero-art{max-width:410px;width:100%;margin-inline:auto}.hero-art:after{inset:-11px -10px 42px 10px}.hero-art figcaption{flex-direction:row;align-items:center;padding-top:20px}.hero-art figcaption span:first-child{font-size:.75rem}.hero-art figcaption span:last-child{font-size:1rem}.intro-inner{grid-template-columns:1fr;gap:14px;padding-block:27px}.intro-inner>p{font-size:1.6rem}.section{padding-block:62px}.section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:30px}.section-heading>p{font-size:.96rem}.section-heading .eyebrow{margin-bottom:17px}h2{font-size:3rem}.care-grid{grid-template-columns:1fr;gap:16px}.care-card{padding:28px}.card-number{margin-bottom:22px}.care-card h3{font-size:2rem}.care-card p{font-size:1rem}.care-card ul{font-size:.88rem;padding-block:20px}.care-card .text-link{margin-top:8px}.about-section{padding-block:57px}.about-grid{grid-template-columns:1fr;gap:36px}.portrait{width:100%;max-width:370px;margin-inline:auto}.portrait img{height:410px}.portrait figcaption{flex-direction:row}.about-copy .lead{font-size:1.3rem}.about-copy .eyebrow{margin-bottom:17px}.approach-grid{grid-template-columns:1fr;gap:30px;margin-top:35px}.approach-grid>div{position:relative;padding-left:48px}.approach-mark{position:absolute;left:0;top:0;font-size:1.65rem}.approach-grid h3{font-size:1.6rem}.faq-section{grid-template-columns:1fr;gap:30px;padding-block:61px}.faq-section h2 br{display:none}.faq-section h2 em{margin-left:8px}.faq-section .eyebrow{max-width:none;font-size:.75rem}.faq-list summary{font-size:.95rem;padding-block:20px}.faq-list details p{font-size:.95rem;padding-right:5px}.connect-section{padding-block:61px}.connect-grid{grid-template-columns:1fr;gap:40px}.connect-section h2{font-size:2.8rem}.connect-grid address{padding:29px 0 0;border-left:0;border-top:1px solid #627263}.contact-phone{font-size:2.3rem}.contact-email{font-size:.94rem}.footer{padding-block:28px;gap:14px}.footer-brand{font-size:1.3rem}.footer p{font-size:.75rem}.footer>a:last-of-type{font-size:.8rem}.footer>span{padding-top:6px}.eyebrow{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Readable type across viewports. */
h1,h2,h3{overflow-wrap:anywhere}.hero>* ,.section-heading>*,.about-grid>*,.connect-grid>*{min-width:0}
.header nav>a,.menu-toggle,.text-link,.button,.care-card ul,.contact-email,.faq-list summary{font-size:max(.875rem,1em)}
.hero-description,.care-card p,.section-heading>p,.about-copy>p:not(.eyebrow),.approach-grid p,.faq-list details p,.connect-section p,.connect-grid address p{font-size:1rem}.brand-subtitle,.eyebrow,.contact-caption,.hero-art figcaption span:first-child{font-size:.75rem!important}

/* Assessment enquiries remain a small closing section. */
.assessment-section{background:#e8ebdf;border-top:1px solid var(--line);padding-block:64px}
.assessment-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}
.assessment-grid>*{min-width:0}.assessment-section .eyebrow{margin-bottom:16px}
.assessment-section h2{font-size:clamp(2rem,3vw,2.75rem)}
.assessment-copy p{max-width:560px;margin-bottom:24px;font-size:1rem}
@media(max-width:850px){.assessment-grid{gap:40px}.assessment-section{padding-block:56px}}
@media(max-width:620px){.assessment-grid{grid-template-columns:1fr;gap:24px}.assessment-section{padding-block:48px}}

/* Keep each population visible as its own counselling option. */
.hero-footnote{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0}
.hero-footnote span{padding-inline:9px}
.care-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.care-card{padding:25px 22px}.care-card h3{font-size:1.65rem}.card-number{margin-bottom:24px}
.care-actions{margin-top:28px}
@media(max-width:1100px){.care-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.care-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.care-card:last-child{grid-column:1/-1}}
@media(max-width:620px){.care-grid{grid-template-columns:1fr}.care-card{padding:26px}.care-card:last-child{grid-column:auto}.care-card h3{font-size:1.8rem}.hero-footnote span{padding-inline:7px}}

.contact-name{font:2rem/1.25 var(--serif)}

/* Make urgent support easy to find and phone numbers easy to tap. */
.header nav .urgent-link{color:#825728}
.crisis-section{padding-block:84px;background:var(--white);border-top:1px solid var(--line)}
.crisis-section .section-heading{margin-bottom:32px}.crisis-section .section-heading>*{min-width:0}
.crisis-section h2{font-size:clamp(2.5rem,4vw,3.8rem)}
.emergency-banner{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:28px 32px;background:#f3e5db;border:1px solid #d3b19d;border-radius:5px}
.emergency-banner h3{font-size:1.65rem;line-height:1.3;color:#633a2b}.emergency-banner p{margin-top:10px;color:#633a2b}
.button-emergency{background:#873e2c;border-color:#873e2c;white-space:nowrap}.button-emergency:hover{background:#6c3022}
.crisis-list-title{font-size:1.6rem;margin-top:40px;margin-bottom:22px}
.crisis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}
.crisis-line{padding:28px;border:1px solid var(--line);border-radius:5px;background:var(--paper);min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.crisis-line h3{font-size:1.5rem;line-height:1.3;letter-spacing:-.025em}.crisis-line p{margin-top:12px;line-height:1.75}
.crisis-phone{font-size:1.2rem;font-weight:600;display:inline-flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:48px;margin-top:16px;overflow-wrap:anywhere}
.crisis-phone span{font-size:.875rem;font-weight:400}.crisis-line-wide{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;gap:28px;background:#e8ebdf}
.crisis-actions{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0}.crisis-text-button{background:transparent;color:var(--ink)}.crisis-text-button:hover{background:#d8dfce}
.crisis-sources{margin-top:24px;font-size:.8rem;line-height:1.9}
@media(max-width:850px){.crisis-section{padding-block:66px}.crisis-section .section-heading{gap:30px}.crisis-line-wide{align-items:flex-start;flex-direction:column}.emergency-banner{padding:26px;align-items:flex-start}.crisis-line{padding:25px}}
@media(max-width:620px){.crisis-section{padding-block:56px}.crisis-grid{grid-template-columns:1fr}.crisis-line-wide{grid-column:auto}.emergency-banner{flex-direction:column;gap:20px;padding:24px}.emergency-banner h3{font-size:1.5rem}.crisis-line{padding:24px}.crisis-line h3{font-size:1.4rem}.crisis-actions{width:100%}.crisis-actions .button{flex:1}.crisis-section h2{font-size:2.8rem}.crisis-sources{font-size:.875rem}}

.about-copy > p:not(.eyebrow):not(.lead) + p{margin-top:18px}

/* Practice identity and direct counselling contact. */
.brand-location{display:inline-block;font:600 .7rem/1.2 var(--sans);letter-spacing:.14em;vertical-align:middle;border:1px solid var(--line);border-radius:3px;padding:4px 5px;margin-left:2px}
.about-links{display:flex;flex-wrap:wrap;gap:14px 24px}.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 24px}
.contact-actions .text-link{color:var(--paper)}.contact-actions .text-link:hover{color:#e4c996}
.faq-list details a{overflow-wrap:anywhere}
@media(max-width:1050px){.header{padding-block:22px;flex-wrap:wrap}.menu-toggle{display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:transparent;border-radius:3px;padding:9px 12px;font-size:.85rem;color:var(--ink)}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:15px;gap:0}.header nav.is-open{display:flex}.header nav>a{padding:13px 0;font-size:1rem}.header nav>a.button{margin-top:12px;padding:12px}}
@media(max-width:620px){.header{gap:14px}.brand-name{font-size:1.3rem}.brand-subtitle{letter-spacing:.1em}.brand-location{font-size:.65rem}.about-links{flex-direction:column;gap:16px}.contact-caption{letter-spacing:.08em}}
