@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{color-scheme:dark;font-family:'DM Sans',Arial,sans-serif;background:#090909;color:#f3eee3;--black:#090909;--panel:#151310;--panel2:#1d1914;--gold:#d6b472;--gold-bright:#f1d596;--muted:#b7ae9d;--line:#51412b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black)}a{color:var(--gold-bright);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px;color:#ffe2a9}button,input,select{font:inherit}button{cursor:pointer}header{position:sticky;top:0;z-index:20;background:#090909ed;border-bottom:1px solid #66502d;backdrop-filter:blur(16px)}.nav{max-width:1240px;margin:auto;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:22px}.brand{color:var(--gold-bright);font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;letter-spacing:.06em;white-space:nowrap}.navlinks{display:flex;align-items:center;gap:20px;font-size:.9rem;font-weight:600}.navlinks>a{color:#e9d7b4;white-space:nowrap}.navlinks>a:hover{color:#fff1cd}.mobile{display:none}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 21px;border:1px solid #e1bd79;border-radius:4px;background:linear-gradient(125deg,#f1d596,#b7853c);color:#1b1409!important;font-weight:700;box-shadow:0 4px 20px #a7782c22;transition:transform .18s,background .18s,box-shadow .18s;text-decoration:none!important}.button:hover{transform:translateY(-2px);background:linear-gradient(125deg,#ffe9ad,#d8ac63);box-shadow:0 8px 24px #a7782c44}.button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}.ghost{background:transparent;color:var(--gold-bright)!important;box-shadow:none}.ghost:hover{background:#3e2e19;color:#fff!important}.hero{background:radial-gradient(circle at 76% 24%,#71512c55,transparent 31%),radial-gradient(circle at 15% 80%,#3d2c1944,transparent 37%),linear-gradient(120deg,#070707,#17130e 55%,#080808);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-9%;top:-90px;width:42vw;height:42vw;border:1px solid #b9955240;border-radius:50%;box-shadow:0 0 0 58px #b9955209,0 0 0 116px #b9955205;pointer-events:none}.wrap{max-width:1180px;margin:auto;padding:0 24px}.hero .wrap{padding-top:86px;padding-bottom:100px;position:relative;z-index:1}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold-bright);font-size:.82rem;font-weight:700}.hero h1,h1,h2,h3{font-family:'Playfair Display',Georgia,serif}h1,h2{color:var(--gold-bright);line-height:1.13}h1{font-size:clamp(2.75rem,6vw,5.5rem);max-width:900px;margin:18px 0}h2{font-size:clamp(2rem,3.5vw,3rem);margin-top:0}h3{color:#f2d7a2}p{line-height:1.75;color:#d3c9b8;font-size:1rem}.lead{max-width:730px;font-size:1.2rem;color:#e6dac5}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{padding:70px 0;border-bottom:1px solid #392f22}.section:nth-of-type(even){background:#100e0c}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card,.area,.local{border:1px solid #5b472b;background:linear-gradient(145deg,#1b1712,#11100f);border-radius:12px;box-shadow:0 10px 35px #0003}.card{padding:25px}.card h3{margin:0 0 9px;font-size:1.3rem}.card p{margin:0}.areas{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.area{display:block;padding:14px 16px;color:#e9d6ad}.area:hover,.card:has(a:hover){border-color:#caa25e;background:#241c13;text-decoration:none;transform:translateY(-2px)}.area span{display:block;font-size:.85rem;color:#b8ad99;margin-top:4px}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px}.price{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:15px 0}.price strong{color:var(--gold-bright);text-align:right}.muted,.crumb{color:var(--muted)}.crumb{font-size:.92rem}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-weight:600;color:var(--gold-bright)}.local{border-left:4px solid #d3a965;padding:25px 30px;max-width:850px}.local h2{margin-top:0}.local p{margin-bottom:0}.related-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.related-nav a{border:1px solid #806642;padding:10px 14px;border-radius:4px;color:#f1d596;background:#201910}.related-nav a:hover{background:#3d2d19;text-decoration:none}.feature-link{display:inline-block;margin-top:14px;font-weight:700}footer{padding:36px 0;background:#080807;color:#b7a989;border-top:1px solid #5b4628}footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}footer a{color:#daba80}.contact-hero .wrap{padding-top:62px;padding-bottom:64px}.contact-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:48px}.booking-form{background:linear-gradient(150deg,#1c1813,#11100e);border:1px solid #8b6a36;border-radius:14px;padding:30px;box-shadow:0 16px 45px #0007}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#f1d596}.form-grid .full{grid-column:1/-1}.form-grid small{font-weight:400;color:#bfb19a}.form-grid input,.form-grid select{width:100%;min-width:0;padding:13px;border:1px solid #826943;border-radius:5px;background:#0c0c0b;color:#f7edda}.form-grid input::placeholder{color:#a69a85}.form-grid option{background:#151310;color:#f7edda}.form-note{font-size:.94rem;color:#cfc2ab}.booking-form button:disabled{opacity:.6;cursor:not-allowed}.booking-status{min-height:1.4em;margin:12px 0 0;color:#f1d596;font-weight:700}.therapist-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.therapist-card{padding:25px;border:1px solid #735936;border-radius:10px;background:linear-gradient(155deg,#211b13,#12100e);min-height:225px;display:flex;flex-direction:column}.therapist-card h3{font-size:1.6rem;margin:0 0 8px}.therapist-card p{margin:0 0 12px}.therapist-card .feature-link{margin-top:auto}.therapist-meta{font-size:.85rem;letter-spacing:.05em;color:#e2bb7a;font-weight:700}.therapist-note{color:#bfb2a0;font-size:.9rem}.link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.link-grid a{display:block;border:1px solid var(--line);padding:18px;background:#1c1711;border-radius:7px}.link-grid a:hover{background:#302316;text-decoration:none}main{min-height:60vh}
@media(max-width:900px){.nav{flex-wrap:wrap}.navlinks{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:8px 18px;padding-top:8px;border-top:1px solid #473824}.navlinks .button{padding:8px 15px}.mobile{display:none}.therapist-grid,.areas{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.nav{padding:12px 16px;gap:10px}.brand{font-size:.98rem}.navlinks{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap;padding-bottom:4px;font-size:.85rem}.hero .wrap{padding-top:60px;padding-bottom:70px}.hero:after{width:70vw;height:70vw;right:-25%}.section{padding:46px 0}.grid,.split,.contact-layout,.form-grid,.therapist-grid,.link-grid{grid-template-columns:1fr}.areas{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-form{padding:20px}.price{display:block}.price strong{display:block;text-align:left;margin-top:4px}.therapist-card{min-height:0}.wrap{padding-left:18px;padding-right:18px}}
@media(max-width:370px){.areas{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

.therapist-card{padding:0 0 24px;overflow:hidden}.therapist-card h3,.therapist-card .therapist-meta,.therapist-card .therapist-note,.therapist-card .feature-link{margin-left:20px;margin-right:20px}.therapist-card h3{margin-top:18px}.therapist-photo-button{display:block;width:100%;height:330px;border:0;padding:0;background:#0a0908;cursor:zoom-in;overflow:hidden}.therapist-photo-button img{display:block;width:100%;height:100%;object-fit:contain}.therapist-photo-button:hover img{transform:scale(1.025)}.therapist-photo-button img{transition:transform .2s}.home-photo{height:290px;margin:-25px -25px 20px;width:calc(100% + 50px)}.photo-dialog{border:1px solid #b89659;border-radius:8px;padding:42px 12px 12px;background:#0b0a09;color:#fff;max-width:min(94vw,900px);max-height:94vh;box-shadow:0 20px 90px #000c}.photo-dialog::backdrop{background:#000c}.photo-dialog img{display:block;max-width:100%;max-height:calc(94vh - 65px);object-fit:contain;margin:auto}.photo-close{position:absolute;right:10px;top:6px;border:0;background:transparent;color:#f1d596;font-size:2rem;line-height:1;cursor:pointer}.photo-dialog button:focus-visible,.therapist-photo-button:focus-visible{outline:2px solid #f1d596;outline-offset:-3px}
.therapist-card:not(:has(.therapist-photo-button)){padding:25px}

/* User supplied gallery: each image appears once and remains fully visible. */
.hero .wrap:has(.hero-photo){display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);column-gap:52px;align-items:center}.hero .wrap:has(.hero-photo)>:not(.hero-photo){grid-column:1}.hero-photo{grid-column:2;grid-row:1 / span 5;align-self:stretch;min-height:320px;max-height:480px}.site-photo{margin:0;overflow:hidden;border:1px solid #775d35;border-radius:10px;background:radial-gradient(circle at center,#302418,#0d0b09 70%);box-shadow:0 16px 45px #0008}.site-photo img{display:block;width:100%;height:100%;object-fit:contain}.detail-photo{height:min(65vh,560px);max-width:1000px;margin:auto}.image-interval{padding-top:30px;padding-bottom:30px}.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}@media(max-width:720px){.hero .wrap:has(.hero-photo){display:flex;flex-direction:column;align-items:stretch;gap:0}.hero-photo{width:100%;height:360px;min-height:0;max-height:none;margin-top:28px}.detail-photo{height:420px}}

/* Full image home editorial with a dark text overlay; no image cropping. */
.home-hero{min-height:650px;display:flex;align-items:center;background:#090807}.home-hero:after{display:none}.home-hero-image{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;background:#090807}.home-hero-image img{width:100%;height:100%;object-fit:contain;display:block}.home-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,4,4,.94) 0%,rgba(5,5,5,.79) 34%,rgba(6,5,4,.23) 74%,rgba(6,5,4,.12) 100%),linear-gradient(0deg,rgba(5,5,5,.62),transparent 32%);pointer-events:none}.home-hero .wrap{display:block!important;width:100%;padding-top:105px;padding-bottom:100px;position:relative;z-index:2}.home-hero h1{max-width:760px}.home-hero .lead{max-width:620px;color:#f5eee4}.home-feature-photo{height:auto;max-width:1100px;position:relative}.home-feature-photo img{width:100%;height:auto;object-fit:contain}.home-feature-photo:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(6,5,4,.56),transparent 58%),linear-gradient(90deg,rgba(6,5,4,.22),transparent 60%)}@media(max-width:720px){.home-hero{display:block;min-height:0}.home-hero-image{position:relative;inset:auto;aspect-ratio:16/9}.home-hero:before{height:auto;aspect-ratio:16/9;background:linear-gradient(0deg,rgba(5,5,5,.6),transparent 70%)}.home-hero .wrap{padding-top:32px;padding-bottom:55px}.home-hero h1{font-size:clamp(2.4rem,9vw,4rem)}}
/* Let each gallery photograph stand on its own without a visible card or side bars. */
.site-photo{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.hero-photo{width:fit-content;max-width:100%;min-height:0;max-height:none;align-self:center;justify-self:center}
.hero-photo img{width:auto;max-width:100%;height:auto;max-height:480px;object-fit:contain}
.detail-photo{width:fit-content;max-width:100%;height:auto}
.detail-photo img{width:auto;max-width:100%;height:auto;max-height:560px;object-fit:contain}
.home-feature-photo{width:100%}.home-feature-photo img{width:100%;max-height:none}
@media(max-width:720px){.hero-photo{height:auto;min-height:0;margin:28px auto 0}.hero-photo img{max-height:480px}.detail-photo{height:auto}.detail-photo img{max-height:480px}}

/* Therapist listing: soft dark fade over page images; enlarged photos stay clear. */
body:has(.therapist-grid) .therapist-photo-button,
body:has(.therapist-grid) .hero-photo{position:relative}
body:has(.therapist-grid) .therapist-photo-button::after,
body:has(.therapist-grid) .hero-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,4,4,.08) 0%,rgba(5,4,4,.10) 45%,rgba(5,4,4,.50) 100%)}

.mobile-photo-title{display:none}
@media(max-width:650px){
  body:has(.therapist-grid) .contact-hero .wrap{display:flex;flex-direction:column}
  body:has(.therapist-grid) .contact-hero .eyebrow{order:1}
  body:has(.therapist-grid) .contact-hero h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  body:has(.therapist-grid) .contact-hero .hero-photo{order:2;position:relative;margin:20px auto 24px}
  body:has(.therapist-grid) .contact-hero .lead{order:3;margin-top:0}
  body:has(.therapist-grid) .contact-hero .actions{order:4}
  body:has(.therapist-grid) .contact-hero .hero-photo::after{background:linear-gradient(180deg,transparent 35%,rgba(5,4,4,.25) 58%,rgba(5,4,4,.83) 100%)}
  body:has(.therapist-grid) .mobile-photo-title{display:block;position:absolute;z-index:1;left:16px;right:16px;bottom:20px;color:#f1d596;font:700 clamp(2rem,8vw,3.3rem)/1.05 'Playfair Display',Georgia,serif;text-shadow:0 2px 16px #000c}
}

/* Clear booking action beneath each therapist portrait. */
.therapist-card .feature-link{display:flex;align-items:center;justify-content:center;align-self:stretch;min-height:48px;padding:11px 18px;margin-top:auto;border:1px solid #f5d79b;border-radius:999px;background:linear-gradient(110deg,#f8e0a6,#d9aa5d 52%,#f3d591);color:#201509;font-size:.96rem;font-weight:800;text-align:center;text-decoration:none;box-shadow:0 5px 18px #d6a65635, inset 0 1px 0 #fff8d5;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.therapist-card .feature-link:hover{color:#160f07;text-decoration:none;transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 8px 24px #d6a65670}
.therapist-card .feature-link:focus-visible{outline:3px solid #fff5ce;outline-offset:3px}
