/* Bright visual direction, based on the supplied clinic identity. */
body,body[data-theme="pastel"]{
  --ink:#44434a;--muted:#727079;--primary:#a82c55;--primary-hover:#8c2348;
  --paper:#fffefe;--soft:#fff1f6;--line:#eedfe5;
  --tint-blue:#edf8fc;--tint-pink:#fff0f6;--tint-yellow:#fff9de;
}
body[data-theme="sky"]{
  --ink:#374a54;--muted:#657984;--primary:#286e8c;--primary-hover:#205c75;
  --paper:#ffffff;--soft:#eef9fd;--line:#dbeaf0;
  --tint-blue:#eaf7fc;--tint-pink:#fff4f7;--tint-yellow:#fffbe6;
}
body[data-theme="rose"]{
  --ink:#51434b;--muted:#7b6d75;--primary:#a82c55;--primary-hover:#8c2348;
  --paper:#fffdfd;--soft:#fff0f5;--line:#f0dfe6;
  --tint-blue:#f0f9fb;--tint-pink:#ffedf4;--tint-yellow:#fff8e3;
}
body{background:var(--paper)}
h1,h2,h3,.large-copy{
  font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  font-weight:600;
}
.draft-bar{background:var(--tint-blue);color:var(--ink);border-bottom:1px solid #dfedf2}
.theme-open{color:var(--primary);border-color:var(--primary)}
.header{background:#fff;border-color:#f1e9ed}
.brand{gap:12px;min-width:0}
.brand>span{min-width:0}
.brand .clinic-mark{width:68px;height:auto;flex-shrink:0}
.brand .clinic-wordmark{width:310px;height:auto;max-width:100%;margin-top:7px}
.brand small{font-size:10px;letter-spacing:.14em;color:var(--muted)}
.header-phone{background:var(--soft);border-color:transparent;border-radius:30px;color:var(--primary)}
.header nav>a:not(.header-phone):after{background:var(--primary)}
.hero{grid-template-columns:1fr 1.16fr;padding-top:48px;padding-bottom:65px;min-height:640px;gap:32px;background:radial-gradient(ellipse at 7% 0%,var(--tint-yellow),transparent 36%)}
.hero .eyebrow{color:var(--primary)}
.hero h1{font-size:clamp(33px,3.6vw,53px);line-height:1.65;letter-spacing:.04em;margin:22px 0}
.hero h1 span{background:linear-gradient(transparent 71%,var(--tint-pink) 71%);padding-bottom:4px}
.hero-lead{color:#686970}
.button{border-radius:30px;min-height:54px}
.hero .button{box-shadow:0 6px 18px #a82c5512}
.hero-place{margin-top:28px}
.hero-art.clinic-hero{margin:0;height:515px;border-radius:100px 24px 24px 24px;position:relative;overflow:hidden;background:var(--tint-blue);box-shadow:14px 14px 0 var(--tint-blue)}
.clinic-interior{width:100%;height:100%;object-fit:cover;object-position:53% 50%}
.clinic-hero figcaption{position:absolute;bottom:20px;left:20px;right:20px;background:#fffffff2;padding:12px 18px;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:15px;box-shadow:0 3px 16px #00000006}
.clinic-hero figcaption span{font-size:11px;letter-spacing:.04em}
.clinic-hero figcaption small{font-family:Arial,sans-serif;font-size:8px;letter-spacing:.15em;color:var(--muted);white-space:nowrap}
.scroll-link{bottom:18px}
.quick-contact{background:var(--tint-blue);border:0;border-radius:24px;padding:27px 4%;margin-left:auto;margin-right:auto;max-width:1120px}
.phone-number,.access-phone,.faq-phone{font-family:Arial,sans-serif;font-weight:500;color:var(--primary)}
.mini-label{color:var(--muted)}
.quick-contact>p{font-size:12px}
.quick-contact>p span{font-size:11px}
.heading-rule{background:#f6c7dc;height:5px;width:50px;border-radius:5px}
.section-heading h2,.section-title-row h2,.visit-intro h2{letter-spacing:.03em;font-size:30px}
.about{padding-bottom:65px;gap:65px}
.about-copy .large-copy{font-size:24px;font-weight:500;letter-spacing:.03em}
.clinic-exterior{margin:28px 0 0;width:272px;max-width:100%;padding:9px 9px 0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 5px 20px #61354707}
.clinic-exterior img{width:100%;height:auto;border-radius:11px}
.clinic-exterior figcaption{display:flex;justify-content:space-between;align-items:center;padding:10px 3px;font-size:11px;color:var(--ink)}
.clinic-exterior figcaption small{font:8px Arial,sans-serif;letter-spacing:.11em;color:var(--muted)}
.clinic-identity{display:flex;align-items:center;gap:18px;background:var(--tint-yellow);padding:22px 24px;border-radius:20px;margin-top:28px}
.clinic-identity img{width:58px;height:auto;flex-shrink:0}
.clinic-identity p{font-size:13px;line-height:1.9}
.clinic-identity p span{font-size:11px;color:var(--muted)}
.editor-note{border-color:#f2cbd9;font-size:11px}
.care-section{padding-top:25px}
.care-list{border:0;display:grid;gap:13px}
.care-row{border:1px solid var(--line);border-radius:20px;padding:25px 22px;grid-template-columns:35px 1fr 1.1fr auto;gap:20px;background:#fff}
.care-row:nth-child(1){background:var(--tint-pink);border-color:transparent}
.care-row:nth-child(2){background:var(--tint-blue);border-color:transparent}
.care-row:nth-child(3){background:var(--tint-yellow);border-color:transparent}
.care-row:nth-child(4){background:#f0f8f2;border-color:transparent}
.care-row:hover{box-shadow:0 5px 20px #37243008}
.care-row h3{font-size:21px;font-weight:500}
.care-number{font-family:Arial,sans-serif;font-size:14px;color:var(--muted)}
.care-row>a b{background:#fff;border:0;color:var(--primary)}
.care-row>a:hover b{background:var(--primary);color:white}
.visit-symbol{background:var(--tint-yellow)}
.faq details{border-color:var(--line)}
.access-section{background:var(--tint-pink);color:var(--ink);padding:72px 32px;border-radius:60px 60px 0 0}
.access-inner{grid-template-columns:1fr 1.1fr;gap:45px;align-items:center}
.access-copy h2{font-size:27px;letter-spacing:.01em}
.access-name{font-size:17px}
.hours-note{color:var(--muted)}
.map-button{border-color:var(--primary);color:var(--primary);background:white}
.map-button:hover{background:var(--soft)}
.hours-card{background:#fff;border-radius:28px;padding:30px 24px;box-shadow:0 6px 30px #a82c5506}
.hours-card .eyebrow{color:var(--primary)}
.hours-card h3{font-size:23px;margin:8px 0 22px;font-weight:500}
.schedule{width:100%;border-collapse:collapse;table-layout:fixed;line-height:1.5;font-size:12px;text-align:center}
.schedule col:first-child{width:112px}
.schedule th,.schedule td{padding:14px 1px;border-bottom:1px solid var(--line)}
.schedule th{font-size:11px;font-weight:500;color:var(--muted)}
.schedule th[scope=row]{font-family:Arial,sans-serif;font-size:12px;color:var(--ink);white-space:nowrap}
.schedule td{color:var(--primary);font-size:13px}
.schedule .closed{color:#8c8990}
.hours-closed{font-size:12px;line-height:1.8;margin-top:19px;color:var(--ink)}
.hours-closed strong{font-weight:500;color:var(--primary);margin-right:12px}
.hours-key{font-size:10px;color:var(--muted);margin-top:10px}
.hours-exception{font-size:11px;color:var(--primary);line-height:1.9;margin-top:8px}
.schedule .conditional{color:var(--primary);font-weight:600}
.hours-card .text-link{margin-top:13px;color:var(--primary);border-color:var(--primary)}
.footer-top .brand .clinic-wordmark{width:310px}
.mobile-contact a:last-child{background:var(--primary)}
.theme-choices>button{border-radius:14px}
.swatch-pastel{background:conic-gradient(#ffe678 0 25%,#cbe8db 25% 50%,#a5dff9 50% 75%,#f9c9de 75%)}
.swatch-sky{background:#a5dff9}
.swatch-rose{background:#f9c9de}
dialog{border-radius:24px}
dialog::backdrop{background:#49434a80;backdrop-filter:blur(4px)}
dialog h2{font-size:25px;font-weight:500}
@media(max-width:1200px){
 .header{padding-left:28px;padding-right:28px;gap:20px}
 .header nav{gap:17px;font-size:11px}
 .brand .clinic-wordmark{width:275px}.brand .clinic-mark{width:60px}
 .hero{gap:24px;padding-left:5%;padding-right:5%;min-height:590px}
 .hero-art.clinic-hero{height:475px}
 .quick-contact{margin-left:32px;margin-right:32px}
}
@media(max-width:950px){
 .brand .clinic-wordmark{width:245px}.brand .clinic-mark{width:54px}
 .header nav{gap:13px;font-size:10px}
 .hero h1{font-size:34px}.hero-art.clinic-hero{height:420px;border-radius:75px 22px 22px 22px}
 .clinic-hero figcaption{display:block;left:15px;right:15px;bottom:15px;padding:10px 13px}
 .clinic-hero figcaption small{display:block;margin-top:3px}
 .about{gap:38px}.about-copy .large-copy{font-size:22px}
 .care-row{gap:14px;grid-template-columns:28px 1fr 1fr auto;padding:23px 18px}
 .access-inner{gap:30px;grid-template-columns:1fr}
 .hours-card{max-width:650px;width:100%}
 .access-copy h2{font-size:27px}
}
@media(max-width:850px){
 .header nav{background:white;font-size:14px;gap:4px}
 .brand .clinic-wordmark{width:295px}.brand .clinic-mark{width:60px}
 .hero{min-height:535px;padding:35px 30px 56px;gap:25px}
 .hero h1{font-size:31px}.hero-art.clinic-hero{height:400px}
 .clinic-hero figcaption span{font-size:10px}
 .quick-contact{padding:22px 24px;gap:18px}
 .quick-contact>p{font-size:11px}.quick-contact>p span{font-size:10px}
 .section-heading h2,.section-title-row h2,.visit-intro h2{font-size:27px}
 .clinic-identity{padding:19px 17px;gap:14px}.clinic-identity img{width:46px}.clinic-identity p{font-size:12px}
}
@media(max-width:600px){
 .header{padding-left:14px;padding-right:14px;gap:10px}
 .brand{gap:8px;max-width:100%;flex-shrink:1}.brand .clinic-mark{width:46px}
 .brand .clinic-wordmark{width:clamp(155px,55vw,270px);margin-top:6px;height:auto}
 .brand small{font-size:8px}
 .hero{display:flex;padding:32px 24px 44px;gap:28px;min-height:0}
 .hero h1{font-size:clamp(28px,8.1vw,41px);line-height:1.65;letter-spacing:.03em}
 .hero .button{margin-top:22px;min-height:49px}
 .hero-place{margin-top:22px;font-size:9px}
 .hero-art.clinic-hero{height:320px;max-width:none;border-radius:70px 20px 20px 20px;box-shadow:8px 8px 0 var(--tint-blue)}
 .clinic-interior{object-position:53% 48%}
 .clinic-hero figcaption{display:flex;left:13px;right:13px;bottom:13px;padding:10px 12px;gap:10px;border-radius:12px}
 .clinic-hero figcaption span{font-size:9px}.clinic-hero figcaption small{font-size:7px;display:inline;margin:0}
 .quick-contact{margin-left:23px;margin-right:23px;padding:22px 20px;gap:10px;border-radius:22px;grid-template-columns:1fr}
 .quick-contact .text-link{grid-column:1;grid-row:3;justify-self:start;margin-top:3px;font-size:11px;gap:20px}
 .quick-contact>p{font-size:11px}.phone-number{font-size:28px}
 .section-heading h2,.section-title-row h2,.visit-intro h2{font-size:27px}
 .about{padding-top:60px;padding-bottom:60px}
 .clinic-exterior{width:254px;margin-top:24px}
 .about-copy{margin-top:34px}.about-copy .large-copy{font-size:21px}
 .clinic-identity{padding:21px 19px;margin-top:25px}.clinic-identity img{width:51px}.clinic-identity p{font-size:12px}
 .care-section{padding-top:0}
 .care-row{grid-template-columns:24px 1fr 36px;gap:7px 10px;padding:22px 16px;border-radius:18px}
 .care-row h3{font-size:20px}.care-row>p{font-size:11px}.care-row>a b{width:34px;height:34px}
 .care-number{font-size:12px}
 .visit{padding-top:0}.visit-symbol{right:0}
 .access-section{padding:52px 25px;border-radius:36px 36px 0 0}
 .access-inner{display:block}.access-copy h2{font-size:23px}
 .hours-card{margin-top:30px;padding:25px 13px;border-radius:23px}
 .hours-card .eyebrow,.hours-card h3{margin-left:6px}.hours-card h3{font-size:22px;margin-bottom:17px}
 .schedule col:first-child{width:93px}.schedule th{font-size:10px}.schedule th[scope=row]{font-size:10px}.schedule td{font-size:11px}.schedule th,.schedule td{padding:12px 0}
 .hours-closed{font-size:11px;margin:16px 6px 0}.hours-key{margin-left:6px;font-size:9px}.hours-card .text-link{margin-left:6px;font-size:11px}
 .hours-exception{font-size:10px;margin-left:6px;margin-right:6px}
 .footer-top .brand .clinic-wordmark{width:clamp(155px,55vw,270px)}
 dialog h2{font-size:23px}
}
