/* Public website only. Shared portal styles and functionality stay independent. */
:root{--ink:#24494e;--deep:#236873;--teal:#287f89;--orange:#c84f21;--muted:#526e72;--light:#edf5f1;--pale:#fff2e7;--line:#dce5df;--cream:#fbf8f3}

body{background:var(--cream);line-height:1.6}

body>.demo{background:#edf3ee;color:#4e6766;font-size:11px;padding:5px 20px;letter-spacing:0}

body>header{max-width:1220px;padding:22px 36px;background:transparent;gap:24px}

header .logo{width:230px}
header nav{gap:22px}
header nav a{font-size:14px;font-weight:500}
header nav a[aria-current=page]:not(.button){color:var(--deep);text-decoration:underline;text-decoration-color:#d46c44;text-decoration-thickness:2px;text-underline-offset:7px}

.wrap{max-width:1160px;padding:48px 32px}
.discovery-page{max-width:1160px!important;padding-top:32px!important;padding-bottom:48px!important}

h1{font-size:clamp(32px,3.9vw,48px);letter-spacing:-.035em;line-height:1.16}
h2{font-size:29px}
h3{font-size:20px}
.lead{font-size:17px;line-height:1.65;max-width:610px}
.eyebrow{font-size:11px;letter-spacing:.12em;margin-bottom:13px}

.button,button.primary,.button.secondary,button.secondary{border-radius:13px;padding:12px 19px;min-height:44px;box-shadow:none}
.button.orange{color:white}
.button.orange:hover{background:#a6411b;border-color:#a6411b}
.button.small{font-size:14px;padding:10px 15px}
.actions{gap:12px;margin:25px 0 0}

.hero{max-width:1156px;min-height:460px;margin:10px auto 0;grid-template-columns:1.05fr 1fr;border-radius:28px;background:#eaf2ed;border:1px solid #e0e9e1}
.hero-copy{padding:40px 40px 40px 44px}
.hero h1{font-size:clamp(34px,3.7vw,47px)}
.hero .lead{font-size:16px;margin-bottom:20px}
.hero-media{min-height:430px}
.hero-media>img{object-position:center}
.hero .caption{bottom:22px;left:22px;border-radius:15px;padding:14px 18px;font-size:15px;background:#fffcf5;box-shadow:none}
.caption small{font-size:12px;margin-top:3px}

.hex-cluster{transform:scale(.65);transform-origin:left center;margin:0 0 8px;height:78px;opacity:.8}
.hero .hex-cluster{margin-bottom:4px}
.hex-cluster .hex:nth-child(3n+1){background:#db8055}
.hex-cluster .hex:nth-child(3n+2){background:#93bdb4}
.hex-cluster .hex:nth-child(3n){background:#dfcdb9}

.band{background:#eef3ed;border-top:1px solid #e4eadf}
.band .wrap{padding-top:42px;padding-bottom:42px}
.band .lead{margin-bottom:24px}

.public-grid{gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.public-card{padding:20px;border-radius:19px;background:#fffefd;box-shadow:none;border-color:#dce5df}
.public-card img,.public-card .initials{height:210px;border-radius:13px;object-position:center 25%}
.public-card h3{font-size:20px;margin-top:16px;margin-bottom:7px}
.public-card p{font-size:14px;margin-bottom:14px}
.public-card>a:last-child{font-size:14px;color:var(--deep)}

.discovery-page h1{font-size:clamp(29px,3.7vw,40px)!important;margin:10px 0 14px}
.discovery-page .lead{font-size:16px;max-width:670px}
.audience-choices{gap:16px;margin:25px 0}
.audience-choice{background:#fffefd;border-color:#dce5df;border-radius:17px;padding:18px 20px}
.audience-choice:first-child{background:#fff2e7;border-color:#edddce}
.audience-choice:nth-child(2){background:#edf5ef}
.audience-choice strong{font-size:17px}
.audience-choice small{font-size:13px;color:var(--muted)}
.audience-choice.selected{outline:2px solid var(--teal);outline-offset:2px}
.audience-choice:hover{border-color:#66958f;background:#e5f0e9}
.audience-mark{font-size:29px}

.discovery-toolbar{padding:0 0 18px;border-bottom:1px solid #dedfd7;margin-bottom:22px;gap:18px}
.discovery-toolbar>a{font-weight:600;color:var(--deep)}
.discovery-toolbar input{background:#fffefd}
.discovery-toolbar>span{color:var(--muted)}

.offer-category{border-radius:15px;background:#fffefd;border-color:#dce5df;margin:16px 0}
.offer-category>summary{background:#f0f4ed;padding:14px 18px}
.offer-category>summary strong{font-size:16px}
.offer-category>summary span{color:var(--muted)}
.offering-row>summary{padding:13px 16px}
.offering-row[open]>summary{background:#fff4e9}
.offering-row strong{font-size:14px}
.offering-detail{padding:5px 16px 14px}
.offering-detail>p{font-size:14px}
.booking-person strong{font-size:14px}
.booking-person .button{min-height:44px}

.photo-category{border:0;background:transparent;overflow:visible;margin:25px 0}
.photo-category>summary{border-radius:12px;background:#e9f1e9;border:1px solid #dbe5da;padding:12px 16px}
.photo-category:nth-child(even)>summary{background:#f8eee2;border-color:#eaddcc}
.therapist-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;padding-top:15px}
.therapist-tile{min-width:0;border:1px solid #dce5df;border-radius:18px;background:#fffefd;overflow:hidden;box-shadow:0 3px 10px #27453b04}
.therapist-tile>summary{display:grid;grid-template-columns:82px minmax(0,1fr);gap:13px;align-items:center;cursor:pointer;list-style:none;padding:17px}
.therapist-tile>summary::-webkit-details-marker{display:none}
.therapist-tile>summary:hover{background:#f4f8f2}
.therapist-tile>summary:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.tile-portrait{display:block;width:82px;height:94px}
.tile-portrait img,.tile-portrait .initials{display:flex;align-items:center;justify-content:center;width:82px!important;height:94px!important;min-height:0!important;object-fit:cover;object-position:center 22%;border-radius:13px;background:#e6efe9;color:var(--deep);font-size:25px}
.tile-person strong{display:block;font-size:16px;line-height:1.3}
.tile-person small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:7px}
.tile-action{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0e8;padding-top:12px;font-size:12px;color:var(--deep)}
.therapist-tile[open]{border-color:#84a79d}
.therapist-tile[open] .tile-action>span{transform:rotate(180deg)}
.tile-detail{border-top:1px solid #dce5df;padding:0 13px 12px}
.tile-profile-link{display:inline-block;font-size:13px;color:var(--deep);padding:14px 3px}
.tile-detail .offering-row>summary{padding:12px 3px;gap:9px}
.tile-detail .offering-row strong{font-size:13px}
.tile-detail .offering-price{font-size:13px}
.tile-detail .disclosure-label{font-size:0}
.tile-detail .disclosure-label span{font-size:14px}
.tile-detail .offering-detail{padding:8px 3px}
.tile-detail .booking-person{flex-wrap:wrap;gap:10px}
.tile-detail .booking-person>span{min-width:100%}
.tile-detail .booking-person .button{width:100%;margin:0}

.booking-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px}
.booking-flip{height:355px;max-width:none}
.booking-card-front,.booking-card-back{border-radius:19px;border-color:#dce5df;background:#fffefd;box-shadow:0 3px 12px #24494e06}
.booking-card-front:hover{transform:none;background:#fffefd;border-color:#73988b}
.booking-portrait{height:215px;flex-shrink:0}
.booking-card-front .booking-person{display:block;padding:15px 18px 10px;border:0;margin:0}
.booking-card-front .booking-person strong{font-size:18px}
.booking-card-front .booking-person small{font-size:12px}
.booking-card-front>.availability-label{margin:0 18px 16px;font-size:11px;background:#edf4ec;padding:4px 9px}
.booking-card-back{padding:22px}
.booking-card-back .eyebrow{max-width:85%;margin-top:0}
.booking-card-back h2{font-size:21px}
.booking-card-back>p{font-size:13px}
.booking-service-links{gap:8px}
.booking-service-links a{padding:11px;border-radius:11px;font-size:13px;background:#f1f5ec}
.booking-service-links a>span:last-child{font-size:11px}
.booking-card-back>a{font-size:13px}

.booking-page .public-card{background:#fffefd}
.booking-page aside.public-card{background:#f0f5ed}
.booking-service-summary{background:#fffbf5}
.booking-page .month-day.available{background:#e4f0e8;color:#235f58;border-color:#c9dfce}
.booking-page .month-day.chosen{background:var(--deep);color:white}
.booking-page .month-day:disabled{background:#f4f3ee;opacity:.6}
.slot-list{gap:8px}
.slot-list button{min-height:44px;padding:9px 17px;border-radius:11px}
.book-feedback{background:#fff1e4}
.gallery{gap:22px}
.gallery img{border-radius:19px}
.gallery figcaption{font-size:15px;padding:13px 3px;color:var(--muted)}

footer{background:#eaf1e9;color:var(--ink);border-top:1px solid #dce5d8;padding:32px max(30px,calc((100% - 1090px)/2));gap:25px;font-size:13px}
footer p{font-size:13px;color:var(--muted);margin:5px 0}
footer a{font-size:13px}

@media(max-width:1000px){body>header{flex-wrap:wrap;justify-content:center;padding:18px 24px;gap:16px}
header nav{justify-content:center;gap:18px}
.hero{margin:8px 22px 0}
.hero-copy{padding:30px}
.hero .actions{gap:10px}
.hero .button{font-size:14px;padding:11px 14px}
.therapist-tile-grid,.booking-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero h1{font-size:36px}
.hero-media{min-height:430px}
}

@media(max-width:760px){.hero{grid-template-columns:1fr;min-height:0;margin:4px 18px 0;border-radius:22px}
.hero-copy{padding:28px}
.hero h1{font-size:37px}
.hero-media{min-height:270px}
.hero .caption{left:18px;bottom:18px}
.wrap{padding:34px 20px}
.public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.public-grid .public-card:last-child:nth-child(3){grid-column:1/-1;max-width:350px;width:100%;justify-self:center}
.public-card{padding:16px}
.public-card img,.public-card .initials{height:180px}
.discovery-page{padding-top:20px!important}
.discovery-page .eyebrow{margin-top:12px}
.booking-page .book-layout{grid-template-columns:1fr}
.booking-page .book-layout select{font-size:16px}
footer{padding:28px 22px;flex-wrap:wrap}
.audience-choice{padding:15px}
.hex-cluster{height:78px}
}

@media(max-width:540px){header .logo{width:208px}
header nav{gap:8px 15px}
header nav a{font-size:13px}
header nav .button.small{min-height:44px;padding:10px 12px;font-size:13px}
body>.demo{font-size:10px;line-height:1.4}
.hero-copy{padding:25px}
.hero h1{font-size:33px}
.hero .lead{font-size:15px}
.hero .actions{flex-direction:column;align-items:stretch}
.public-grid,.therapist-tile-grid,.booking-card-grid{grid-template-columns:1fr}
.public-grid .public-card:last-child:nth-child(3){grid-column:auto;max-width:none}
.public-card img,.public-card .initials{height:220px}
.therapist-tile>summary{grid-template-columns:86px minmax(0,1fr);padding:16px}
.tile-person strong{font-size:17px}
.therapist-tile-grid{gap:12px}
.booking-flip{max-width:380px;width:100%;margin:auto}
.booking-portrait{height:215px}
.audience-choices{grid-template-columns:1fr;gap:12px}
.audience-choice strong{font-size:16px}
.discovery-toolbar{gap:14px}
.discovery-toolbar>span{margin-left:auto}
.gallery{grid-template-columns:1fr}
.discovery-page h1{font-size:29px!important}
.booking-page .month-day{min-height:48px}
.booking-page .month-grid{gap:4px}
.booking-page .public-card{padding:16px}
.photo-category>summary strong{font-size:15px}
}

@media(prefers-reduced-motion:reduce){.booking-card-inner{transition:none}
.audience-choice{transition:none}
}

