/* White surfaces, one quiet green accent, and clear typography. */
:root{--paper:#fff;--white:#fff;--ink:#243d37;--muted:#65726d;--deep:#315f53;--gold:#527368;--line:#e3e9e6;--peach:#f3f6f4;--mint:#f5f8f6;--sage:#f4f7f5}
body,.topline,.header,.hero-stage,.philosophy-section,.case-section,.doctors-section,.journal-section,.visit-section,.footer,.content-hero,.case-hero,.content-booking{background:#fff}
.topline{border-bottom:1px solid #f0f3f1}.header{background:#fffffff5}.header-cta{background:#f3f7f5;color:var(--deep);border:1px solid var(--line)}.header-cta:hover{background:#eaf1ed}
.hero{padding:0}.hero-stage{border-radius:0;border-bottom:1px solid var(--line)}.hero-copy{padding:78px 0 65px}.hero-copy h1{font-size:clamp(37px,4.9vw,66px);font-weight:500}.hero-copy h1 em{color:var(--deep)}.hero-copy h1 em:after,.hero-orbit,.hero-kicker:before,.hero-kicker:after{display:none}.hero-kicker{color:var(--deep)}.hero-copy>p{color:var(--muted)}.hero-bottom{font-size:11px;color:var(--muted)}
.section{border-bottom:1px solid #edf0ee}.philosophy-section{border-radius:0}.eyebrow{color:#5d796d}.condition-card,.condition-card:nth-child(n){background:white;border:1px solid var(--line);border-radius:13px;box-shadow:none}.condition-card:nth-child(n) .condition-top svg{color:#55786a}.condition-card:hover{background:#f8faf9;border-color:#9db7aa;transform:translateY(-3px)}.condition-card:nth-child(n) .condition-top>span{color:#75877e}.other-category{background:#fff;border:1px solid var(--line);border-radius:13px}.other-category .eyebrow{display:none}.category-count{color:#637b6f}.other-category:hover{background:#f8faf9}.case-category-links a,.home-reading-grid>a,.record-card,.topic-card{background:white;border-color:var(--line);border-radius:13px;box-shadow:none}.case-category-links a:hover,.home-reading-grid>a:hover{background:#f7faf8}.home-reading-grid p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.case-section .section-head>p{max-width:300px}
.philosophy-portrait,.philosophy-opening img,.doctor-portrait,.doctor-card,.doctor-card img{border-radius:14px}.philosophy-portrait figcaption{background:#fffffff0;border-radius:8px}.philosophy-portrait img{object-position:center 20%;max-height:510px}.home-philosophy-topic{border-bottom:1px solid var(--line);padding:0}.home-philosophy-topic summary{display:flex;align-items:center;gap:18px;cursor:pointer;list-style:none;min-height:94px;padding:22px 0}.home-philosophy-topic summary::-webkit-details-marker{display:none}.home-philosophy-topic summary>span{color:#7e9186;font-size:12px;letter-spacing:.05em;min-width:25px}.home-philosophy-topic summary h3{font-size:23px;line-height:1.6;font-weight:600;flex:1}.home-philosophy-topic summary b{font-size:28px;font-weight:300;transition:transform .2s;color:#6f897d}.home-philosophy-topic[open] summary b{transform:rotate(45deg)}.home-philosophy-topic>p{padding:0 30px 25px 44px;font-size:15px;line-height:1.95}.philosophy-topic summary{font-size:24px;color:var(--ink)}.philosophy-answer p{color:var(--muted)}
.treatment-stage,.care-panel,.care-image,.program-summary-item,.program-detail,.symptom-list li,.check-strip,.clinical-note,.coordination-note,.source-panel,.content-aside .aside-next,.member-card,.member-terms{background:#f8faf9;border-color:var(--line);border-radius:13px}.care-tabs{background:#fff}.care-tab[aria-selected=true]{background:var(--deep);color:white}.care-tab{min-height:44px}.program-summary-item:nth-child(n),.program-card:nth-child(n){background:#fff;border:1px solid var(--line);border-radius:13px}.program-summary-item h3,.program-summary-item small{color:var(--deep)}.program-summary-item>span{color:#70887c}.doctor-info{background:#fff}.doctor-card{border:1px solid var(--line)}.doctor-info>p{font-size:14px}.doctor-grid{gap:30px}.doctor-card>img{border-radius:0}.doctor-secondary img,.consultation-banner{border-radius:13px}.doctor-secondary{display:none}
.content-hero{border-bottom:1px solid #edf0ee}.content-subtitle{color:#637a6e}.condition-illustration{border-radius:13px}.illustration-callouts{background:#f7faf8}.illustration-callouts li:nth-child(n){border-color:var(--line)}.symptom-list li{border-left:2px solid #b4c9bc}.clinical-note{border-left:2px solid #aabfb2}.clinical-note strong{color:#496457}.record-tags span,.linked-count,.member-only-tag{background:#f4f7f5;color:#60786c;border-color:var(--line)}.source-panel{font-size:13px}.source-panel h2{font-size:20px}.library-filters button{min-height:44px}.library-search{background:#fff;border-color:#cbd9d0}.library-search input{min-width:0;font-size:16px}.library-submit{border:0;border-radius:8px;background:var(--deep);color:white;padding:8px 17px;min-height:42px;font-size:13px;flex-shrink:0}.library-search>span:last-child{color:inherit}.all-topic-search{border:1px solid var(--line);border-radius:13px;background:#fff}.all-topic-search>summary{font-size:17px;color:var(--deep);min-height:58px}.library-tools{margin:0 0 24px}.library-result{min-height:24px}.library-empty{background:#f8faf9}.archive-row{background:#fff}.member-dialog{border-color:var(--line);border-radius:16px}.member-dialog .button{background:var(--deep)}.member-dialog-close,.member-dialog-dismiss{min-height:44px}.member-dialog-close{min-width:44px}.member-index-notice{background:#f8faf9;border-color:var(--line)}
.footer{border-top:1px solid var(--line)}.footer p{color:#6b7771}.mobile-contact{background:#fffffff5;border-top:1px solid var(--line)}.mobile-contact a:nth-child(n){background:#fff;color:var(--deep)}.mobile-contact a+a{border-left:1px solid var(--line)}.top-button{background:#fff;color:var(--deep);border-color:var(--line)}.faq-list details{border-color:var(--line)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #6c9682;outline-offset:4px}.button{min-height:48px}.button.ghost{background:#fff;border-color:#c9d8ce}.text-link{border-color:#c9d8ce}.check-strip{color:#5d7668}
@media(max-width:700px){.hero-copy{padding:53px 0 43px}.hero-copy h1{font-size:36px;line-height:1.55}.hero-copy>p{font-size:14px;margin-top:20px}.hero-copy .actions{gap:10px}.hero-copy .button{padding:12px 16px;font-size:12px;gap:12px}.hero-kicker{font-size:11px}.section{padding:62px 0}.areas{padding:40px 0 55px}.hero-bottom{padding:19px 0}.philosophy-grid{gap:24px}.philosophy-portrait img{min-height:320px}.home-philosophy-topic summary{gap:12px;min-height:78px;padding:18px 0}.home-philosophy-topic summary h3{font-size:20px}.home-philosophy-topic>p{padding:0 5px 22px 37px;font-size:14px}.philosophy-topic summary{font-size:20px}.library-search{padding:8px 10px;gap:8px}.library-search>span:first-child{display:none}.library-search input{font-size:16px}.library-submit{padding:8px 12px}.all-topic-search>summary{font-size:16px}.doctor-grid{gap:14px}.doctor-info{padding:22px 15px}.doctor-info>p{font-size:13px}.footer-nav{gap:14px}.content-booking{border-top:1px solid var(--line)}.condition-card{min-height:180px}.reading-content p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Give the primary navigation a distinct, quiet sage surface. */
.header{background:#eef4f0;border-bottom-color:#dce6df;backdrop-filter:none}
.header-inner{height:104px;gap:24px}
.brand strong{font-size:24px}.brand small{font-size:10px}.brand img{height:48px}
.header .nav{font-size:17px;font-weight:600;gap:26px}
.header .nav a{min-height:48px;display:flex;align-items:center;white-space:nowrap}
.menu-button{white-space:nowrap;flex-shrink:0}
.header-cta{font-size:14px;background:#fff;border-color:#d6e2d9;padding:11px 18px}
.header-cta:hover{background:#f9fcfa}
@media(min-width:1101px) and (max-width:1250px){
 .header-inner{height:96px;gap:18px}.header .nav{font-size:16px;gap:20px}
 .brand strong{font-size:23px}.brand img{height:45px}.brand small{font-size:9px}
 .header-cta{font-size:13px;padding:10px 13px}
}
@media(max-width:1100px){
 .header-inner{height:84px;gap:16px}.brand strong{font-size:23px}.brand small{font-size:9px}.brand img{height:42px}
 .menu-button{display:block;min-width:48px;min-height:44px;font-size:13px;background:#fff;border-color:#d6e2d9}
 .header-cta{margin-left:auto;font-size:13px}
 .header .nav{display:none;position:absolute;left:0;right:0;top:84px;flex-direction:column;align-items:stretch;gap:0;padding:16px 32px;background:#eef4f0;border-bottom:1px solid #dce6df;box-shadow:0 12px 18px #2445390a}
 .header .nav.is-open{display:flex}.header .nav a{font-size:17px;padding:14px 0;border-bottom:1px solid #dce6df}
 .header .nav a:last-child{border-bottom:0}.header .nav a[aria-current=page]:after{display:none}
}
@media(max-width:650px){
 .header-inner{height:82px;gap:10px}.brand strong{font-size:20px}.brand small{font-size:8px}.brand img{height:37px}
 .header-cta{font-size:11px;padding:8px 10px}.menu-button{font-size:12px;padding:8px 10px}
 .header .nav{top:82px;padding:12px 20px}
}
@media(max-width:360px){
 .header-inner{gap:8px}.brand strong{font-size:18px}.brand img{height:34px}.brand small{font-size:7px}
 .header-cta{display:none}.menu-button{min-width:44px;padding:8px}
}

/* Show the real reception space while keeping the headline on a light surface. */
.hero-stage{position:relative;min-height:560px}
.hero-photo{position:absolute;inset:0 0 0 auto;width:80%;z-index:0;display:block}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:70% center}
.hero-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,#fff 0%,#fff 34%,#fffffff5 43%,#ffffffb8 53%,#ffffff38 66%,#ffffff00 78%);pointer-events:none}
.hero-copy{text-align:left;padding:85px 0 80px;position:relative;z-index:1}
.hero-copy h1{font-size:clamp(40px,4.2vw,59px);line-height:1.5;max-width:610px}
.hero-copy>p{max-width:560px}.hero-copy .actions{justify-content:flex-start;max-width:560px}
@media(max-width:1100px) and (min-width:921px){
 .hero-copy h1{font-size:44px;max-width:520px}.hero-copy>p{max-width:480px;font-size:14px}
 .hero-copy .button{font-size:13px;padding-inline:20px;gap:16px}
 .hero-shade{background:linear-gradient(90deg,#fff 0%,#fff 30%,#fffffff0 45%,#ffffff80 58%,#ffffff00 80%)}
}
@media(max-width:920px){
 .hero-stage{display:flex;flex-direction:column;min-height:0}
 .hero-photo{position:relative;inset:auto;width:100%;height:330px;order:2}
 .hero-photo img{object-position:center 45%}.hero-shade{display:none}
 .hero-copy{order:1;text-align:center;padding:48px 0 38px}
 .hero-copy h1,.hero-copy>p,.hero-copy .actions{max-width:none}.hero-copy .actions{justify-content:center}
}
@media(max-width:650px){
 .hero-copy{padding:40px 0 32px}.hero-copy h1{font-size:clamp(30px,8.5vw,38px);line-height:1.55}
 .hero-copy>p{font-size:13px}.hero-photo{height:auto;aspect-ratio:3/2}
 .hero-photo img{position:absolute;inset:0;object-fit:contain;height:100%}
 .hero-copy .actions{flex-wrap:wrap}
}

/* The clinic photographs remain unaltered; cropping is only a page layout. */
.clinic-space-section{padding:20px 0 58px;background:#fff}
.clinic-space-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.clinic-space-grid figure{margin:0;overflow:hidden;border-radius:14px;background:#f4f7f5;aspect-ratio:3/2}
.clinic-space-grid img{width:100%;height:100%;object-fit:cover;display:block}
.visit-space-gallery{margin-bottom:48px}
.visit-with-photo{position:relative;isolation:isolate;overflow:hidden;background:#f3f6f5;padding-block:84px}
.visit-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2}
.visit-with-photo:before{content:'';position:absolute;inset:0;background:#f8fbf9a8;z-index:-1;pointer-events:none}
.visit-with-photo>.wrap{position:relative}
.visit-with-photo .visit-layout{gap:28px;align-items:start}
.visit-with-photo .visit-copy,.visit-with-photo .visit-information{background:#fffffff0;border:1px solid #ffffffd6;border-radius:16px;padding:36px;box-shadow:0 10px 34px #203c3109}
.visit-with-photo .visit-copy h2{font-size:clamp(28px,2.7vw,36px);line-height:1.6}
.visit-with-photo .visit-details{margin-top:0}
.visit-with-photo .visit-row{border-color:#dce5df}
.visit-with-photo .visit-row:first-child{padding-top:0}
.visit-with-photo .family-links{background:#ffffffe8;border:1px solid #ffffffd6;border-radius:12px;padding:18px 24px;margin-top:26px;color:#344f43}
@media(max-width:920px){
 .clinic-space-grid{gap:16px}.clinic-space-section{padding-bottom:40px}
 .visit-with-photo{padding-block:58px}.visit-with-photo .visit-layout{gap:18px}
 .visit-with-photo .visit-copy,.visit-with-photo .visit-information{padding:28px}
}
@media(max-width:650px){
 .clinic-space-grid{grid-template-columns:1fr;gap:14px}.clinic-space-section{padding-top:0;padding-bottom:36px}
 .clinic-space-grid figure{border-radius:12px}.visit-space-gallery{margin-bottom:30px}
 .visit-with-photo{padding-block:40px}.visit-background{object-position:42% center}
 .visit-with-photo .visit-copy,.visit-with-photo .visit-information{padding:25px 22px;border-radius:13px}
 .visit-with-photo .visit-copy h2{font-size:28px}.visit-with-photo .family-links{padding:18px;margin-top:18px}
 .visit-with-photo .visit-copy .actions{gap:10px}.visit-with-photo .visit-copy .button{font-size:12px;padding-inline:17px;gap:12px}
}
/* Social profile links retain their names and decorative platform icons. */
.social-link{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;white-space:nowrap}
.social-link .social-icon{display:block;width:22px;height:22px;flex:0 0 22px;object-fit:contain}
.topline-links .social-link{gap:5px}
.topline-links .social-link .social-icon{width:16px;height:16px;flex-basis:16px}
.social-link:focus-visible{outline:2px solid #386452;outline-offset:4px;border-radius:3px}
.doctor-info .doctor-blog-link{font-size:12px;gap:7px;margin-top:14px;white-space:normal;max-width:100%}
.doctor-profile .doctor-blog-link{font-size:16px;gap:8px;margin-top:22px;white-space:normal}
.doctor-blog-link .social-label{font-size:inherit;line-height:1.7}
.doctor-blog-link .social-icon{width:18px;height:18px;flex-basis:18px}
.visit-with-photo .visit-row dt{font-size:14px;font-weight:600}
.visit-with-photo .visit-row dd{font-size:16px}
.visit-with-photo .visit-row .clinic-hours-list{font-variant-numeric:tabular-nums;line-height:1.9}
.visit-with-photo .visit-row .clinic-hours-list .clinic-hours-line{display:inline-flex;justify-content:space-between;gap:14px;width:100%;font-size:17px;line-height:1.9;color:#345443;margin:0}
.clinic-hours-line b{font-weight:500}.clinic-hours-line time{white-space:nowrap}
.visit-with-photo .visit-row .clinic-hours-list .clinic-hours-lunch{display:inline-block;font-size:15px;color:#66796d;margin-top:8px}
.visit-with-photo .visit-row dd .visit-parking-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;margin-top:11px;color:#315f4d;border-bottom:1px solid #b5cbbb}
.visit-with-photo .visit-row dd .visit-parking-link>span{display:inline;font-size:21px;margin:0}
.visit-page-jumps{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.visit-page-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:8px 20px;border:1px solid #cfddd3;border-radius:999px;background:#fff;color:#315e4b;font-size:16px}
.visit-page-jumps a:hover{background:#f1f7f3;border-color:#9cb6a7}
.clinic-parking{padding-block:68px 80px}
.parking-heading{margin-bottom:28px}.parking-heading h2{font-size:36px;line-height:1.5;font-weight:600}
.parking-heading p{font-size:18px;line-height:1.9;margin-top:14px;color:#68786e}.parking-heading strong{color:#315f4d;font-weight:600}
.parking-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.parking-card{padding:32px;border:1px solid #dce6df;border-radius:14px;background:#fff}
.parking-vehicle{display:inline-block;padding:5px 12px;background:#edf5ef;border-radius:6px;color:#345e48;font-size:15px;font-weight:500}
.parking-vehicle-limited{background:#f4f5f4;color:#68736b}
.parking-card h3{font-size:28px;font-weight:600;line-height:1.6;margin-top:17px}
.parking-card p{font-size:18px;line-height:1.9;margin-top:17px;color:#5c7063}
.parking-card .parking-operating{font-size:16px;margin-top:15px}.parking-card .text-link{font-size:16px;margin-top:24px}
.parking-night-note{margin-top:24px;padding:30px 32px;border-radius:12px;background:#f3f8f4;border-left:3px solid #8bac96}
.parking-night-note h3{font-size:24px;line-height:1.65;font-weight:600}.parking-night-note p{font-size:17px;line-height:1.9;margin-top:13px;color:#607568}
#clinic-hours,#parking,#first-visit{scroll-margin-top:140px}
@media(max-width:650px){
 .topline-links{gap:8px}
 .topline-links .social-link.optional{display:inline-flex;justify-content:center;min-width:24px;min-height:28px}
 .topline-links .social-link .social-label{display:none}
 .topline-links .social-link .social-icon{width:18px;height:18px;flex-basis:18px}
 .visit-with-photo .visit-row dt{font-size:13px}.visit-with-photo .visit-row dd{font-size:15px}
 .visit-with-photo .visit-row .clinic-hours-list .clinic-hours-line{font-size:15px;gap:8px}
 .visit-with-photo .visit-row .clinic-hours-list .clinic-hours-lunch{font-size:14px}
 .visit-page-jumps{gap:8px;margin-top:21px}.visit-page-jumps a{font-size:14px;padding:8px 17px}
 .clinic-parking{padding-block:42px 50px}.parking-heading h2{font-size:29px}.parking-heading p{font-size:16px}
 .parking-grid{grid-template-columns:1fr;gap:16px}.parking-card{padding:24px 22px}.parking-card h3{font-size:25px}.parking-card p{font-size:17px}
 .parking-vehicle{font-size:14px}.parking-card .parking-operating{font-size:15px}.parking-card .text-link{font-size:15px;margin-top:20px}
 .parking-night-note{padding:24px 22px}.parking-night-note h3{font-size:21px}.parking-night-note p{font-size:16px}
}
@media(max-width:380px){
 .visit-with-photo .visit-row{grid-template-columns:1fr;gap:10px}
 .clinic-hours-line b{white-space:nowrap}
}
