
:root{--ink:#503025;--text:#503025;--muted:#705644;--paper:#f8f4ee;--cream:#eee6db;--stone:#e3d7c8;--accent:#875d3e;--line:#d6c8b8;--white:#fffdf8;--brass:#b08254}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--paper);font:16px/1.8 Arial,Helvetica,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3,.brand{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(48px,5.25vw,80px);line-height:1.09;letter-spacing:-3.4px}h2{font-size:clamp(36px,3.65vw,54px);line-height:1.16;letter-spacing:-1.8px}h3{font-size:28px;line-height:1.25;letter-spacing:-.6px}em{font-weight:400;color:var(--accent)}p{color:var(--muted)}a{color:inherit;text-underline-offset:6px}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:6px}a:hover{text-decoration-thickness:2px}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:10px;letter-spacing:2.1px;text-transform:uppercase;font-weight:600;display:block;line-height:1.7;margin-bottom:24px}.number{font-size:10px;letter-spacing:1.7px;color:var(--accent)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--white);padding:12px 20px}.skip:focus{top:12px}.concept{text-align:center;background:var(--cream);color:var(--muted);font-size:10px;letter-spacing:1px;padding:5px 18px}.concept span{margin:0 9px}.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:108px;gap:24px}.brand{display:inline-block;font-size:35px;text-decoration:none;line-height:1.1;letter-spacing:-1.3px;white-space:nowrap}.brand span{display:block;font:9px/1.6 Arial,sans-serif;letter-spacing:2.6px;margin-top:9px}.nav{display:flex;gap:30px;align-items:center}.nav a{font-size:12px;text-decoration:none;padding:9px 0}.nav a[aria-current=page]{border-bottom:1px solid var(--accent)}.nav a:hover{color:var(--accent)}.nav .nav-cta{padding:12px 22px;border:1px solid var(--ink);margin-left:10px}.nav-cta span{margin-left:20px}.menu-toggle{display:none;background:transparent;border:1px solid var(--ink);min-width:64px;min-height:44px;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--ink);color:var(--white);padding:17px 25px;text-decoration:none;font-size:12px;letter-spacing:.3px;min-height:54px}.button:hover{background:#634734}.button span{font-size:19px}.text-link{font-size:12px;display:inline-block;text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:4px}.text-link span{margin-left:16px;font-size:17px}.actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:30px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:66px;padding-block:58px 64px;align-items:center}.hero-copy{min-width:0}.hero .eyebrow{font-size:9px;letter-spacing:1.8px}.hero h1{margin-bottom:25px}.hero-lead{font-size:19px;line-height:1.65;color:var(--text);margin-bottom:18px}.hero-copy>p:not(.hero-lead){font-size:14px;max-width:450px}.hero-image{position:relative;min-width:0;height:610px;overflow:hidden}.hero-image img{display:block;width:100%;height:100%;object-fit:cover}.hero-image figcaption{position:absolute;bottom:24px;left:28px;color:var(--white);font-family:Georgia,serif;font-style:italic;font-size:21px;text-shadow:0 1px 5px #000b}.hero-note{display:flex;gap:12px;align-items:center;margin-top:36px;font-size:10px;letter-spacing:.5px;color:var(--muted)}.small-line{width:28px;height:1px;background:var(--brass)}.section{padding:96px 0}.intro{border-top:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.intro-grid>.eyebrow{padding-top:12px}.intro-prose{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:30px}.intro-prose p{font-size:15px}.support{background:var(--cream)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:44px}.section-top>p{max-width:280px;font-size:14px;margin-bottom:5px}.service-rows{display:grid;grid-template-columns:1fr 1fr;column-gap:60px}.service-row{display:flex;align-items:center;gap:20px;border-top:1px solid #cdbba6;padding:27px 0;text-decoration:none}.service-row h3{font-size:26px;flex:1}.service-row>span:last-child{font-size:22px;color:var(--accent)}.service-row:hover h3{color:var(--accent)}.meet-section{background:var(--ink);color:var(--paper);padding:86px 0}.meet-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.identity-panel{text-align:center;border:1px solid #735846;padding:34px 20px}.identity-mark{position:relative;font:italic 150px/1.6 Georgia,serif;color:#d9c6ac}.identity-mark span{position:absolute;width:200px;height:200px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #967457;border-radius:50%}.identity-panel p{font:italic 24px/1.5 Georgia,serif;color:#dfd1c2;padding-top:12px}.meet-copy h2{margin-bottom:28px}.meet-copy em,.cta em{color:#d7b28b}.meet-copy p{color:#ded0c2;margin-bottom:20px;font-size:15px}.meet-copy .eyebrow{color:#d1b797}.meet-copy .text-link{margin-top:5px;border-color:#c7a781}.meet-section a:focus-visible,.cta a:focus-visible,.contact-panel a:focus-visible{outline-color:#e6c59f}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.steps article{border-top:1px solid var(--line);padding-top:24px}.steps h3{margin:23px 0 17px}.steps p{font-size:14px}.cta{background:#5c4030;color:var(--white);padding:76px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:44px}.cta .eyebrow{color:#e0c7ac}.cta p{color:#e9dacb;font-size:14px;margin-top:25px}.cta .button{background:var(--paper);color:var(--text)}.cta .button:hover{background:var(--stone)}.footer{padding:58px 0 22px}.footer-top{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:50px}.footer-top p{font-size:12px;margin-top:22px}.footer nav,.footer-contact{display:flex;flex-direction:column;align-items:start;gap:10px;font-size:12px}.footer nav a,.footer-contact a{text-decoration:none;min-height:30px}.footer-contact span{font-size:11px;color:var(--muted);margin-top:10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;color:var(--muted);font-size:10px}.page-intro{padding-top:78px;padding-bottom:55px}.page-intro h1{max-width:1120px;font-size:clamp(46px,5vw,73px)}.page-intro p{font-size:18px;margin-top:27px;line-height:1.75}.page-intro .text-link{margin-top:27px}.about-main{padding-top:20px}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.about-signature{background:var(--cream);border:1px solid var(--line);padding:40px;min-height:490px;display:flex;flex-direction:column;justify-content:space-between}.about-signature h2{font-size:32px}.about-signature p{font-size:13px;margin-top:10px}.monogram{font:italic 130px/1.3 Georgia,serif;color:#9b7652;align-self:center}.reading p{margin-top:24px;font-size:16px}.reading .text-link{margin-top:28px}.callout{border-left:2px solid var(--brass);padding:14px 24px;margin-top:32px;font-size:13px;color:var(--muted)}.service-section{padding-top:10px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:25px 70px}.service-list article{display:flex;gap:24px;border-top:1px solid var(--line);padding:32px 0;min-width:0}.service-list .number{padding-top:9px}.service-list h2{font-size:32px;letter-spacing:-1px;margin-bottom:18px}.service-list h3{font-family:Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.6;letter-spacing:0;margin-bottom:12px}.service-list p{font-size:14px}.service-list article:target{border-color:var(--accent)}[id]{scroll-margin-top:24px}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.faq-layout>div>p{margin-top:25px;font-size:14px;max-width:320px}.faq-layout .text-link{margin-top:24px}.faq details{border-top:1px solid #c9b9a6;padding:22px 0}.faq details:last-child{border-bottom:1px solid #c9b9a6}.faq summary{font-size:16px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:24px;color:var(--accent)}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:14px;margin:16px 35px 0 0}.contact-section{padding-top:15px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-panel{background:var(--ink);color:var(--paper);padding:48px}.contact-panel em{color:#d9b58f}.contact-panel>p{color:#ddcbb9;font-size:13px;margin-top:22px}.contact-panel .eyebrow{color:#d1b797}.contact-block{border-top:1px solid #705644;padding-top:25px;margin-top:27px}.contact-block .eyebrow{font-size:9px;margin-bottom:9px}.contact-block a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;font-size:clamp(17px,1.65vw,24px);overflow-wrap:anywhere}.contact-block p{color:#e4d8cb;font-size:14px}.contact-next{padding-top:30px}.contact-next>p{margin-top:25px}.simple-list{list-style:none;padding:0;margin:24px 0 30px}.simple-list li{position:relative;padding:12px 0 12px 23px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}.simple-list li:before{content:'—';position:absolute;left:0;color:var(--accent)}.privacy-note{padding-top:28px;margin-top:35px;border-top:1px solid var(--line)}.privacy-note .eyebrow{margin-bottom:12px}.privacy-note p{font-size:12px}
@media(min-width:1600px){.hero-image{height:650px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.hero{gap:36px}.hero-image{height:530px}.nav{gap:19px}.nav .nav-cta{margin-left:0}.hero h1{font-size:clamp(47px,5.4vw,66px)}.hero .eyebrow{max-width:310px}.intro-grid,.meet-grid,.about-grid,.faq-layout,.contact-layout{gap:45px}.service-rows{column-gap:35px}.service-row h3{font-size:23px}.contact-panel{padding:32px}.footer-top{gap:30px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.concept{font-size:9px;letter-spacing:.3px}.header-inner{min-height:90px;position:relative}.brand{font-size:29px}.brand span{font-size:8px;letter-spacing:2px}.nav-enhanced .menu-toggle{display:block}.nav-enhanced .nav{display:none}.nav-enhanced .nav.is-open{display:flex;position:absolute;top:100%;left:-20px;right:-20px;z-index:20;background:var(--paper);padding:22px;flex-direction:column;align-items:stretch;gap:10px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #3e2c2314;max-height:calc(100dvh - 125px);overflow:auto}.nav a{padding:12px;font-size:14px}.nav .nav-cta{margin-top:8px}.nav:not(.is-open){flex-wrap:wrap}html:not(.nav-enhanced) .header-inner{flex-wrap:wrap;padding-top:22px}html:not(.nav-enhanced) .nav{display:flex;padding-bottom:20px;gap:6px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:34px}.hero .eyebrow{font-size:9px;max-width:none;letter-spacing:1.25px}.hero h1{font-size:clamp(43px,10.8vw,66px);letter-spacing:-2px}.hero-lead{font-size:17px}.hero-copy>p:not(.hero-lead){font-size:14px}.hero-image{height:430px;max-height:110vw}.hero-note{margin-top:24px}.actions{gap:24px}.hero-image figcaption{font-size:20px;bottom:20px;left:22px}.section{padding:60px 0}.intro-grid,.intro-prose,.meet-grid,.about-grid,.faq-layout,.contact-layout,.service-list{grid-template-columns:1fr;gap:28px}.intro-grid>.eyebrow{margin:0;padding:0}.intro-prose{gap:18px;margin-top:25px}h2{font-size:38px;letter-spacing:-1.3px}.section-top{display:block;margin-bottom:30px}.section-top>p{margin-top:24px;max-width:100%}.service-rows{grid-template-columns:1fr}.service-row{padding:22px 0}.service-row h3{font-size:25px}.meet-section{padding:50px 0}.meet-grid{gap:36px}.identity-panel{padding:15px 20px 25px}.identity-mark{font-size:105px}.identity-mark span{width:145px;height:145px}.identity-panel p{font-size:21px}.steps{grid-template-columns:1fr;gap:26px}.steps h3{margin-top:15px}.cta{padding:55px 0}.cta-inner{display:block}.cta .button{margin-top:30px}.footer{padding-top:40px}.footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-top>div:first-child{grid-column:1/-1}.footer nav a,.footer-contact a{min-height:38px}.footer-contact{overflow-wrap:anywhere;min-width:0}.footer-bottom{flex-direction:column;gap:4px;margin-top:25px}.page-intro{padding-top:45px;padding-bottom:35px}.page-intro h1{font-size:clamp(40px,10vw,62px);letter-spacing:-1.9px}.page-intro p{font-size:16px}.page-intro br{display:none}.about-main,.service-section,.contact-section{padding-top:5px}.about-signature{min-height:330px;padding:28px}.monogram{font-size:100px}.reading p{font-size:15px}.service-list{gap:0}.service-list article{padding:28px 0;gap:18px}.service-list h2{font-size:30px}.faq-layout{gap:34px}.contact-panel{padding:30px 26px}.contact-block a{font-size:20px}.contact-next{padding-top:10px}.contact-panel h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(forced-colors:active){.button{border:1px solid ButtonText}.nav a[aria-current=page]{border-bottom:2px solid LinkText}}

.hero-image figcaption{background:#3e2c23;padding:8px 14px;font-size:18px;text-shadow:none}

/* Approved portrait: original photograph, framed responsively without retouching. */
.cori-portrait{margin:0;min-width:0;width:100%}
.cori-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 48%;background:#fff}
.cori-portrait figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:17px 0;font-family:Georgia,serif;font-size:23px;border-bottom:1px solid var(--line)}
.cori-portrait figcaption span{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.8px}
.home-portrait{max-width:450px}
.home-portrait figcaption{border-color:#735846;color:#c3a385}
.home-portrait figcaption span{color:#c3a385}
.about-portrait figcaption{flex-direction:column;gap:4px}
@media(max-width:760px){.cori-portrait{max-width:450px;margin-inline:auto}.cori-portrait img{aspect-ratio:4/5}.cori-portrait figcaption{font-size:22px}}

/* Contact enquiry: calm, readable fields, with no public contact address. */
.enquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:76px;align-items:start}
.enquiry-intro{padding-top:16px}.enquiry-intro>p{margin-top:25px;font-size:15px;max-width:390px}
.enquiry-offer,.enquiry-location{border-top:1px solid var(--line);padding-top:23px;margin-top:30px}
.enquiry-intro .eyebrow{margin-bottom:15px}.enquiry-offer p,.enquiry-location p{font-size:14px}.enquiry-intro .text-link{margin-top:30px}
.enquiry-card{background:var(--cream);border-top:3px solid var(--accent);padding:40px}
.enquiry-card h2{font-size:42px}.form-intro{font-size:14px;margin:20px 0}
.form-preview-note{background:var(--paper);border-left:2px solid var(--accent);padding:12px 16px;font-size:12px;margin:20px 0 28px}
.form-field{margin-bottom:24px}.form-field label{display:block;font-size:14px;margin-bottom:9px;color:var(--text)}
.form-field label span{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.form-field input{width:100%;min-height:50px;border:1px solid #a28e7a;border-radius:0;background:var(--white);color:var(--text);font:16px/1.5 Arial,sans-serif;padding:12px 13px}
.form-field input::placeholder{color:var(--muted);opacity:1}.form-field input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.field-hint{font-size:11px;margin-top:8px}.contact-preference{padding:0;margin:0 0 24px;border:0;min-width:0}
.contact-preference legend{font-size:14px;margin-bottom:9px;line-height:1.6}.choice-row{display:flex;flex-wrap:wrap;gap:12px 25px}
.choice-row label{display:flex;align-items:center;gap:9px;font-size:14px;min-height:44px;cursor:pointer}
.choice-row input,.consent-choice input{width:19px;height:19px;accent-color:var(--ink);flex-shrink:0}
.choice-row input:focus-visible,.consent-choice input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.form-reassurance{font-size:12px;margin:8px 0 24px}.consent-choice{display:flex;align-items:start;gap:12px;font-size:13px;cursor:pointer;margin:0 0 25px}.consent-choice input{margin-top:3px}
.form-submit{border:0;cursor:pointer;font:12px/1.8 Arial,sans-serif}.enquiry-status{font-size:13px;margin-top:20px}.enquiry-status:empty{display:none}
[hidden]{display:none!important}
@media(max-width:1000px){.enquiry-layout{gap:35px}.enquiry-card{padding:30px}}
@media(max-width:760px){.enquiry-layout{grid-template-columns:1fr;gap:30px}.enquiry-card{padding:28px 22px}.enquiry-card h2{font-size:36px}.enquiry-intro{padding:0}.enquiry-offer,.enquiry-location{margin-top:23px}.form-submit{width:100%}.form-field label{font-size:15px}}

.email-next-step{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.email-next-step h3{font-size:27px;margin-bottom:14px}.email-next-step p{font-size:14px;margin-bottom:20px}.email-next-step .field-hint{font-size:12px;margin-top:18px}.enquiry-location a{overflow-wrap:anywhere}

/* Text-labelled buttons in the practice's walnut and warm stone palette. */
.button,.nav .nav-cta{border-radius:7px;min-height:48px;border:1px solid transparent;justify-content:center;gap:0;text-align:center;line-height:1.5;padding:15px 23px;font-size:13px;letter-spacing:.2px;box-shadow:0 2px 3px #3e2c230a;transition:background-color .16s ease,border-color .16s ease}
.button-secondary{background:transparent;color:var(--text);border-color:#a58b72;box-shadow:none}
.button-secondary:hover{background:#e4d6c4;border-color:#875d3e;color:var(--text)}
.nav .nav-cta{background:var(--ink);color:var(--white);padding:13px 23px}
.nav .nav-cta:hover{background:#634734;color:var(--white)}
.meet-copy .button-secondary{border-color:#b99b7c;color:var(--paper);margin-top:10px}
.meet-copy .button-secondary:hover{background:#5c4030;border-color:#e1c5a7;color:var(--white)}
.service-rows{gap:24px;align-items:stretch}
.support-card{padding:28px;border:1px solid #cfbda8;background:#f8f4ee80;display:flex;flex-direction:column;align-items:start;border-radius:8px;min-width:0}
.support-card h3{margin-top:18px;font-size:27px}.support-card p{font-size:14px;margin-top:12px;margin-bottom:24px}.support-card .button{margin-top:auto}
.approach-section{padding-top:15px}.approach-section .button{margin-top:26px}.qualifications-section{background:var(--cream)}
.qualifications-section+.support{background:var(--paper)}
.footer-contact .footer-enquiry{min-height:44px;font-size:12px;padding:11px 18px;margin-bottom:8px}
@media(max-width:760px){.support-card{padding:24px}.service-rows{gap:17px}.button{max-width:100%;white-space:normal}.footer-top{grid-template-columns:1fr}.footer-contact .footer-enquiry{width:auto}.approach-section{padding-top:0}}
@media(prefers-reduced-motion:reduce){.button,.nav .nav-cta{transition:none}}

/* Explicit warm text colours also prevent iOS default blue button labels. */
.site-header .brand,.footer .brand{color:var(--text)}
.menu-toggle{color:var(--text);-webkit-text-fill-color:var(--text)}

/* Preserve the approved portrait composition without additional cropping. */
.cori-portrait img{aspect-ratio:auto;height:auto;object-fit:contain;background:#B8A18F}
.medication-support{background:var(--cream)}
.medication-support .reading p:first-child{margin-top:0}

/* CS identity: the site's exact warm brown palette and existing typefaces. */
.brand.brand-logo{display:inline-flex;align-items:center;gap:12px;white-space:nowrap}
.brand-logo .brand-mark{display:block;width:64px;height:64px;flex:none}
.brand-logo .brand-wordmark{font:400 35px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-1.3px;margin:0}
.brand-logo .brand-tagline{font:9px/1.6 Arial,Helvetica,sans-serif;letter-spacing:2.6px;margin-top:9px}
@media(max-width:1050px) and (min-width:761px){.brand-logo .brand-mark{width:48px;height:48px}.brand-logo .brand-wordmark{font-size:29px}.brand-logo .brand-tagline{font-size:8px;letter-spacing:1.6px}.brand.brand-logo{gap:8px}}
@media(max-width:760px){.brand-logo .brand-mark{width:48px;height:48px}.brand-logo .brand-wordmark{font-size:27px;letter-spacing:-1px}.brand-logo .brand-tagline{font-size:7px;letter-spacing:1.5px;margin-top:6px}.brand.brand-logo{gap:8px}.header-inner{gap:12px}}
@media(max-width:360px){.brand-logo .brand-mark{width:38px;height:38px}.brand-logo .brand-wordmark{font-size:25px}.brand-logo .brand-tagline{font-size:6px}}

/* More connected section spacing on smaller screens. */
@media(max-width:760px){
.service-section{padding-bottom:24px}
.medication-link-section{padding-top:24px}
.medication-support{padding-bottom:30px}
.qualifications-section{padding-top:30px}
.qualifications-section .intro-grid{gap:24px}
.qualifications-section .reading p:first-child{margin-top:0}
}

/* User-supplied Cori Shiff Therapy identity; original image preserved. */
.brand.brand-logo{display:block;flex:none;line-height:0;white-space:normal}
.brand-logo .practice-logo{display:block;width:210px;height:auto}
.header-inner{min-height:150px}
@media(max-width:760px){.brand-logo .practice-logo{width:180px}.header-inner{min-height:130px}}
@media(max-width:360px){.brand-logo .practice-logo{width:160px}}

/* Original JPEG preserved byte-for-byte; crop bottom only to existing 5:6 portrait frame. */
.cori-portrait img{aspect-ratio:5/6;height:auto;object-fit:cover;object-position:center top;background:#fff}
