/* Playful clinic identity: four pastel colors, round type and illustrated profiles. */
body,body[data-theme=pastel]{--ink:#443c4b;--muted:#706775;--primary:#aa2d59;--primary-hover:#8d2248;--paper:#fffdf7;--soft:#fff0f6;--line:#f0dee5;--tint-pink:#ffe7f0;--tint-blue:#e0f5ff;--tint-yellow:#fff2ad;--tint-mint:#e2f5e9}
body[data-theme=sky]{--tint-mint:#e1f5e9;--tint-yellow:#fff3b8;--tint-blue:#daf3ff;--tint-pink:#ffedf4}
body[data-theme=rose]{--tint-mint:#e3f6ed;--tint-yellow:#fff4bb;--tint-blue:#e7f7ff;--tint-pink:#ffe4ef}
body{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif}
h1,h2,h3{font-weight:700;letter-spacing:.035em}
.draft-bar{background:var(--tint-yellow);border-color:#f3e6a1}
.header{background:#fff;border-bottom:2px solid #f7eaf0}
.header nav>a:not(.header-phone){font-weight:600}
.header-phone{background:var(--primary);color:#fff;border:2px solid var(--primary);box-shadow:0 4px 0 #f3c5d6;font-weight:600}
.hero{background:radial-gradient(circle at 3% 11%,var(--tint-yellow) 0 66px,transparent 67px),radial-gradient(circle at 43% 74%,var(--tint-pink) 0 28px,transparent 29px);padding-top:54px;padding-bottom:76px;gap:36px;min-height:620px}
.hero-copy{position:relative}
.hero .eyebrow{display:inline-block;background:#fff;border:1px solid #f2dbe5;border-radius:99px;padding:7px 12px;letter-spacing:.12em;font-size:9px}
.hero h1{font-size:clamp(34px,3.65vw,55px);line-height:1.6;color:var(--primary);font-weight:800}
.hero h1 span{color:#2d6780;background:linear-gradient(transparent 68%,var(--tint-yellow) 68%);border-radius:5px}
.hero-lead{font-size:14px;line-height:2.1;color:var(--ink)}
.button{font-weight:600;border:2px solid transparent;transition:background .18s,transform .18s}
.primary{box-shadow:0 5px 0 #e8b6c8!important}
.primary:hover{transform:translateY(-2px)}
.hero-art.clinic-hero{aspect-ratio:auto;height:auto!important;border:8px solid #fff;border-radius:45px 75px 40px 65px;box-shadow:12px 12px 0 var(--tint-blue),-9px -9px 0 var(--tint-pink);transform:rotate(1deg);margin:0 0 0 3px;overflow:hidden}
.clinic-interior{object-fit:cover;object-position:center}
.clinic-hero figcaption{background:#fff;border:2px solid var(--tint-mint);border-radius:40px;padding:10px 15px;left:15px;right:15px;bottom:14px;box-shadow:0 3px 0 #274b2310}
.clinic-hero figcaption span{font-weight:600;font-size:11px}
.clinic-hero figcaption small{font-size:8px;color:#417057}
.scroll-link{color:var(--primary)}
.quick-contact{border:3px solid #fff;background:var(--tint-mint);border-radius:34px;box-shadow:0 0 0 1px #d7eddd,0 7px 0 #e9f4e9;padding:26px 35px}
.phone-number{font-size:30px;font-weight:700}
.quick-contact .text-link{font-weight:600}
.section-heading .eyebrow,.section-title-row .eyebrow,.visit-intro .eyebrow{color:var(--primary);background:var(--tint-yellow);display:inline-block;border-radius:99px;padding:5px 12px;font-size:10px;letter-spacing:.14em}
.section-heading h2,.section-title-row h2,.visit-intro h2{font-size:31px;font-weight:700}
.heading-rule{width:72px;height:9px;background:linear-gradient(to right,#f4b7d2 0 25%,#8bd1ee 25% 50%,#ffe277 50% 75%,#afdcc3 75%);border-radius:9px}
.about{padding-top:85px;gap:64px}
.clinic-exterior{width:100%;max-width:430px;padding:10px 10px 0;border:2px solid #cce6f2;box-shadow:5px 6px 0 var(--tint-blue);border-radius:26px;transform:rotate(-1deg)}
.clinic-exterior img{border-radius:18px;width:100%;height:auto}
.clinic-exterior figcaption{padding:12px 5px;font-weight:600}
.about-copy .large-copy{font-size:25px;font-weight:600;color:#2d6780}
.clinic-identity{background:var(--tint-yellow);border:2px dashed #eed98b;border-radius:28px;transform:rotate(.5deg)}
.editor-note{background:white;border-left:4px solid #f3bad0;border-radius:0 14px 14px 0;padding:14px 17px}
.care-section{padding-top:38px}
.care-list{gap:17px}
.care-row{padding:24px;border-radius:26px;border:2px solid white!important;box-shadow:0 4px 0 #443c4b0b;gap:20px;grid-template-columns:49px 1fr 1.1fr auto}
.care-row:nth-child(4){background:var(--tint-mint)}
.care-number{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:white;font-weight:700;font-size:16px;color:var(--primary)}
.care-row:nth-child(2) .care-number{color:#286a8b}.care-row:nth-child(3) .care-number{color:#8e6a17}.care-row:nth-child(4) .care-number{color:#397656}
.care-row h3{font-size:22px;font-weight:700}
.care-row>a b{width:45px;height:45px;box-shadow:0 3px 0 #443c4b0b}
.care-row>p{color:var(--ink)}
.doctors{padding-top:40px;padding-bottom:90px}
.doctors .section-title-row{margin-bottom:30px}
.doctors-lead{font-size:14px;line-height:2.1;color:var(--muted);margin-bottom:34px;max-width:750px}
.doctor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;align-items:stretch}
.doctor-card{border:2px solid #cfe9f5;border-radius:36px;background:white;overflow:hidden;box-shadow:0 7px 0 #dceff6}
.doctor-card.deputy{border-color:#f4d1df;box-shadow:0 7px 0 #f9e0ea}
.doctor-portrait{position:relative;height:290px;overflow:hidden;background:var(--tint-blue);display:flex;align-items:end;justify-content:center}
.doctor-card.deputy .doctor-portrait{background:var(--tint-pink)}
.doctor-portrait:before{content:"";width:245px;height:245px;border-radius:50%;background:#fff9d4;position:absolute;left:50%;top:20px;transform:translateX(-50%)}
.doctor-card.deputy .doctor-portrait:before{background:#e4f5ec}
.doctor-portrait:after{content:"";width:36px;height:36px;border-radius:12px;background:#b4e0c8;transform:rotate(20deg);position:absolute;left:28px;top:45px;box-shadow:290px 140px 0 #fff}
.doctor-card.deputy .doctor-portrait:after{background:#ffe78b;transform:rotate(-20deg);box-shadow:240px 180px 0 #fff}
.doctor-portrait img{position:relative;z-index:1;height:280px;width:280px;object-fit:contain;object-position:center bottom}
.doctor-body{padding:30px}
.doctor-role{display:inline-block;background:var(--tint-blue);border-radius:99px;padding:3px 15px;font-size:12px;font-weight:600;color:#326c83}
.deputy .doctor-role{background:var(--tint-pink);color:var(--primary)}
.doctor-body h3{font-size:27px;letter-spacing:.11em;margin:11px 0 17px;font-weight:700}
.doctor-intro{font-size:13px;line-height:2;color:var(--muted);margin-bottom:24px}
.doctor-body h4{font-size:13px;font-weight:600;margin:0 0 14px;display:flex;align-items:center;gap:12px}
.doctor-body h4:after{content:"";height:2px;background:var(--line);flex:1;border-radius:2px}
.doctor-history{margin:0;display:grid;gap:14px;font-size:12px;line-height:1.85}
.history-item{border-left:3px solid #c8e8f6;padding-left:13px}
.deputy .history-item{border-color:#f6cee0}
.doctor-history dt{font-family:Arial,"Yu Gothic",sans-serif;font-size:11px;font-weight:700;color:#39748c;margin-bottom:2px}
.deputy .doctor-history dt{color:var(--primary)}
.doctor-history dd{margin:0;color:var(--ink)}
.doctor-history dd small{font-size:10px;color:var(--muted)}
.doctor-qualifications{margin-top:24px;padding:17px 18px;background:var(--tint-yellow);border-radius:17px}
.doctor-qualifications h4{margin-bottom:9px}.doctor-qualifications h4:after{display:none}
.doctor-qualifications p{font-size:11px;line-height:1.95}
.profile-note{font-size:10px;line-height:1.9;color:var(--muted);margin:23px 5px 0}
.visit{padding-top:5px}
.visit-symbol{background:var(--tint-yellow);border:3px solid #fff;box-shadow:4px 4px 0 var(--tint-pink)}
.faq details{background:white;padding:0 20px;border:2px solid #f2e6eb!important;border-radius:22px;margin-bottom:12px}
.faq summary{font-weight:600}
.faq details[open]{background:#fffaf0;border-color:#f1e2ab!important}
.access-section{border-radius:70px 70px 0 0;background:var(--tint-pink);border-top:6px solid #fff;box-shadow:0 -8px 0 var(--tint-yellow)}
.access-copy h2{font-weight:700}
.access-phone{font-weight:700}
.hours-card{border:3px solid #fff;border-radius:32px;box-shadow:6px 7px 0 #f4ccdc;background:#fff}
.hours-card h3{font-weight:700}
.schedule thead{background:var(--tint-yellow)}
.schedule th,.schedule td{border-bottom:2px dotted #efdde5}
.schedule th:first-child{border-radius:12px 0 0 12px}.schedule th:last-child{border-radius:0 12px 12px 0}
.map-button{border:2px solid var(--primary);box-shadow:0 4px 0 #edc2d2}
.footer-bottom{border-top:2px dashed var(--line)}
.mobile-contact{border-top:3px solid white}.mobile-contact a{font-weight:700}.mobile-contact a:first-child{background:var(--tint-yellow)}
@media(max-width:1200px){
 .hero h1{font-size:39px}.hero{gap:25px;min-height:560px}.doctor-portrait:after{box-shadow:240px 140px 0 #fff}
 .quick-contact{padding:24px 30px}
}
@media(max-width:1100px){
 .header nav{position:absolute;top:96px;left:0;right:0;background:white;padding:16px 28px 28px;display:none;border-bottom:2px solid var(--line);box-shadow:0 8px 15px #183f2610;flex-direction:column;align-items:stretch;gap:4px;font-size:14px}
 .header nav.is-open{display:flex}
 .header nav>a:not(.header-phone){padding:13px 0;border-bottom:1px solid var(--line)}
 .header-phone{margin-top:14px;justify-content:center;padding:12px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;background:var(--tint-pink);width:44px;height:44px;padding:8px;border-radius:14px;flex-shrink:0}
 .menu-toggle span{display:block;height:2px;width:27px;background:var(--primary);transition:transform .2s}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
}
@media(max-width:850px){
 .header nav{top:80px}.hero h1{font-size:31px}.hero{min-height:510px;padding-top:36px;padding-bottom:60px;gap:24px}
 .hero-art.clinic-hero{border-width:6px;border-radius:35px 50px 30px 45px;box-shadow:8px 8px 0 var(--tint-blue),-6px -6px 0 var(--tint-pink)}
 .clinic-hero figcaption{left:8px;right:8px;bottom:9px;padding:7px 9px}.clinic-hero figcaption span{font-size:9px}.clinic-hero figcaption small{font-size:7px}
 .hero-lead{font-size:12px}.quick-contact{padding:22px 25px;gap:18px}.quick-contact>p{font-size:10px}.phone-number{font-size:26px}
 .about{gap:35px;padding-top:70px}.about-copy .large-copy{font-size:22px}
 .section-heading h2,.section-title-row h2,.visit-intro h2{font-size:28px}
 .care-row{grid-template-columns:40px 1fr 1fr auto;gap:14px;padding:20px}.care-number{width:36px;height:36px;font-size:13px}
 .doctor-grid{gap:20px}.doctor-body{padding:24px 21px}.doctor-body h3{font-size:25px}.doctor-portrait{height:250px}.doctor-portrait img{width:240px;height:240px}.doctor-portrait:before{width:220px;height:220px;top:15px}.doctor-portrait:after{left:18px;top:33px;width:25px;height:25px;box-shadow:205px 125px 0 #fff}
 .doctor-card.deputy .doctor-portrait:after{box-shadow:190px 140px 0 #fff}.doctor-history{font-size:11px}.doctor-intro{font-size:12px}
 .doctor-qualifications{padding:15px}.doctor-qualifications p{font-size:10px}
}
@media(max-width:600px){
 .header nav{top:76px}.hero{padding:33px 25px 49px;gap:35px;background:radial-gradient(circle at 3% 8%,var(--tint-yellow) 0 45px,transparent 46px);min-height:0}
 .hero .eyebrow{font-size:7px;padding:6px 10px;letter-spacing:.13em}
 .hero h1{font-size:clamp(29px,8.3vw,41px);line-height:1.6;margin:23px 0 18px}
 .hero h1 span{background:linear-gradient(transparent 68%,var(--tint-yellow) 68%)}
 .hero-lead{font-size:12px}.hero-art.clinic-hero{aspect-ratio:auto;width:100%;margin:0;border-width:6px;border-radius:33px 55px 30px 45px}
 .clinic-hero figcaption{left:10px;right:10px;bottom:10px;padding:8px 11px}.clinic-hero figcaption span{font-size:9px}.clinic-hero figcaption small{font-size:7px}
 .quick-contact{border-radius:28px;margin:0 23px;padding:22px}.quick-contact>p{font-size:11px}.phone-number{font-size:29px}
 .section-heading h2,.section-title-row h2,.visit-intro h2{font-size:28px}.about{padding-top:65px;padding-bottom:55px}.about-copy .large-copy{font-size:22px}
 .clinic-exterior{max-width:100%;transform:rotate(-1deg);padding:8px 8px 0;border-radius:23px}.clinic-exterior img{border-radius:16px}
 .clinic-identity{border-radius:23px}.care-section{padding-top:15px}
 .care-row{grid-template-columns:36px 1fr 34px;gap:9px 10px;padding:21px 14px;border-radius:25px}.care-number{width:32px;height:32px;margin-top:2px;font-size:12px}
 .care-row h3{font-size:20px}.care-row>a b{width:32px;height:32px}.care-row>p{font-size:11px}
 .doctors{padding-top:10px;padding-bottom:65px}.doctors-lead{font-size:12px;margin-bottom:25px}.doctor-grid{grid-template-columns:1fr;gap:30px}
 .doctor-card{border-radius:29px}.doctor-portrait{height:270px}.doctor-portrait img{width:260px;height:260px}.doctor-portrait:before{width:230px;height:230px;top:20px}.doctor-portrait:after{left:22px;top:37px;box-shadow:230px 135px 0 #fff}.doctor-card.deputy .doctor-portrait:after{box-shadow:220px 150px 0 #fff}
 .doctor-body{padding:26px 24px 30px}.doctor-body h3{font-size:27px}.doctor-intro{font-size:12px}.doctor-history{font-size:12px;gap:15px}.doctor-qualifications p{font-size:11px}.profile-note{font-size:10px}
 .faq details{padding:0 16px;border-radius:20px}.faq summary{font-size:12px}.access-section{border-radius:40px 40px 0 0}.hours-card{border-radius:27px;box-shadow:4px 5px 0 #f4ccdc}
}
@media(prefers-reduced-motion:reduce){.primary:hover{transform:none}}

/* Show the full restored newspaper photograph; place the caption below it. */
.hero-art.clinic-hero{display:flex;flex-direction:column;min-width:0;background:#fff}
.clinic-hero .clinic-exterior-photo{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;flex:none}
.clinic-hero figcaption{position:static;margin:10px 9px 6px;padding:8px 12px;box-shadow:none;gap:10px}
@media(max-width:600px){.clinic-hero figcaption{margin:8px 5px 3px;padding:7px 9px}}


/* Treatment overviews on the homepage, with a dedicated orthodontic guide. */
.care-section .care-row{grid-template-columns:48px 190px minmax(0,1fr);align-items:start;gap:22px;padding:28px}
.care-section .care-number{grid-column:1;grid-row:1;margin-top:3px}
.care-section .care-name{grid-column:2;grid-row:1;padding-top:6px}
.care-description{grid-column:3;grid-row:1;min-width:0;font-size:14px;line-height:2}
.care-description h4{font-size:17px;font-weight:700;line-height:1.8;margin:0 0 10px}
.care-description p+p{margin-top:10px}
.care-description strong{font-weight:600}
.care-tags{list-style:none;margin:17px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.care-tags li{background:#ffffffc7;border:1px solid #ffffff;border-radius:99px;padding:4px 12px;font-size:11px;line-height:1.7}
.care-description .care-small{font-size:12px;line-height:1.9;margin-top:13px;color:var(--muted)}
.care-consult{margin-top:25px;padding:24px 28px;border:2px dashed #d8e9df;border-radius:25px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fff}
.care-consult>div>strong{font-size:15px;font-weight:600}
.care-consult p{font-size:12px;color:var(--muted);margin-top:4px}
.care-consult>a{display:flex;flex-direction:column;color:var(--primary);padding:8px 12px;border-radius:18px;background:var(--soft);text-align:center;min-height:60px}
.care-consult>a small{font-size:11px;font-weight:600}
.care-consult>a span{font-family:Arial,sans-serif;font-size:27px;font-weight:700;white-space:nowrap;line-height:1.4}
.header-phone span{font-family:Arial,sans-serif;white-space:nowrap;font-size:13px;font-weight:700}
.phone-number,.access-phone,.faq-phone{display:inline-block;min-height:44px}
.mobile-contact>a:last-child>span{display:flex;flex-direction:column;align-items:center;line-height:1.5}
.mobile-contact small{font-size:10px}.mobile-contact strong{font:700 16px/1.5 Arial,sans-serif;white-space:nowrap}

/* Readable factual credentials, with equal treatment of the complete title. */
.doctor-body .doctor-qualifications{margin:0 0 27px;padding:19px 18px;background:#fff9e9;border:1px solid #ebdfbf;border-left:4px solid #d7b97e;border-radius:16px;box-shadow:none}
.doctor-body .doctor-qualifications h4{margin:0 0 14px;font-size:14px;font-weight:600;letter-spacing:.03em;color:var(--ink)}
.qualification-list{display:grid;gap:12px}
.qualification-item{padding:0 0 12px;border-bottom:1px solid #eadfc6}
.qualification-item:last-child{padding-bottom:0;border-bottom:0}
.qualification-year{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-bottom:4px}
.qualification-item strong{display:block;font-size:17px;font-weight:600;line-height:1.8;color:var(--ink);letter-spacing:.02em}

.clinic-map{grid-column:1/-1;background:#fff;border:3px solid white;border-radius:28px;overflow:hidden;box-shadow:6px 7px 0 #f4ccdc;min-width:0;scroll-margin-top:20px}
.map-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 25px}
.map-heading h3{font-size:20px}.map-heading p{font-size:12px;color:var(--muted)}
.clinic-map iframe{display:block;width:100%;height:360px;border:0;background:var(--tint-blue)}
.map-help{padding:14px 22px;font-size:12px;color:var(--muted)}
.map-help a{display:inline-block;min-height:44px;line-height:44px;color:var(--primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:850px){
 .care-section .care-row{grid-template-columns:40px 145px minmax(0,1fr);gap:16px;padding:24px 20px}
 .care-description{font-size:13px}.care-description h4{font-size:16px}.care-tags li{font-size:10px;padding:4px 10px}
 .care-consult{padding:23px}.care-consult>a span{font-size:25px}
 .qualification-item strong{font-size:16px}.doctor-body .doctor-qualifications{padding:17px 15px}
 .map-heading{display:block}.map-heading p{margin-top:5px}
}
@media(max-width:600px){
 .care-section .care-row{grid-template-columns:36px minmax(0,1fr);gap:15px 12px;padding:24px 20px}
 .care-section .care-name{padding-top:0}.care-section .care-number{margin-top:1px}
 .care-description{grid-column:1/-1;grid-row:2;font-size:13px;line-height:2}
 .care-description h4{font-size:16px;margin-bottom:10px}.care-description .care-small{font-size:12px}
 .care-tags{margin-top:14px;gap:6px}.care-tags li{font-size:11px}
 .care-consult{flex-direction:column;align-items:stretch;gap:16px;padding:23px 20px}.care-consult>div>strong{font-size:14px}.care-consult p{font-size:12px}.care-consult>a span{font-size:28px}
 .doctor-body .doctor-qualifications{padding:19px 17px;margin-bottom:26px}.qualification-item strong{font-size:17px}
 .mobile-contact a{min-height:59px}
 .clinic-map{margin-top:32px;border-radius:24px}.map-heading{padding:18px}.map-heading h3{font-size:19px}.map-heading p{font-size:11px}
 .clinic-map iframe{height:300px}.map-help{padding:10px 15px;font-size:11px}
}


/* Treatment choices, costs and balanced patient information in the orthodontic guide. */
.orthodontic-guide{grid-column:1/-1;display:grid;gap:24px;min-width:0;font-size:14px;line-height:1.95;color:var(--ink)}
.orthodontic-guide section{padding:27px 29px;background:#fff;border:1px solid #d6e6ec;border-radius:22px;min-width:0}
.orthodontic-guide h4,.orthodontic-guide h2{font-size:18px;line-height:1.7;font-weight:600;margin:0 0 12px;color:var(--ink)}
.ortho-section-head{display:flex;align-items:center;gap:13px;margin-bottom:12px;flex-wrap:wrap}
.ortho-section-head h4,.ortho-section-head h2{margin:0}
.ortho-insurance{font-size:12px;line-height:1.7;background:#eff7fa;border:1px solid #dcebef;border-radius:30px;padding:3px 12px;color:#435f6b}
.ortho-common-fees{display:flex;flex-wrap:wrap;gap:12px 32px;margin:20px 0 14px;padding:15px 18px;background:#f3f9fb;border-radius:12px}
.ortho-common-fees>div{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline}
.ortho-common-fees dd{margin:0;font-variant-numeric:tabular-nums;font-weight:600}
.ortho-fee-intro{margin-bottom:16px}
.ortho-fee-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;line-height:1.85;table-layout:fixed}
.ortho-fee-table caption{text-align:left;font-size:15px;font-weight:600;padding:0 0 12px}
.ortho-fee-table th,.ortho-fee-table td{padding:14px 16px;border-bottom:1px solid #e3ebee;vertical-align:middle;overflow-wrap:anywhere}
.ortho-fee-table thead th{background:#eef6f8;font-size:13px;font-weight:600}
.ortho-fee-table th:first-child{width:43%}
.ortho-fee-table tbody th{font-weight:500}
.ortho-fee-table tbody th span{display:block;font-size:12px;line-height:1.75;color:var(--muted);margin-top:4px}
.ortho-fee-table td{font-variant-numeric:tabular-nums}
.ortho-duration{padding:19px 21px;border-radius:14px;background:#f5f9f3;margin-top:23px}
.ortho-duration h5,.ortho-duration h3{font-size:15px;font-weight:600;margin:0 0 12px}
.ortho-duration dl{display:flex;flex-wrap:wrap;gap:12px 40px;margin:0 0 9px}
.ortho-duration dl>div{display:flex;align-items:baseline;gap:15px}
.ortho-duration dd{margin:0;font-size:18px;font-weight:600}
.ortho-duration p{font-size:14px;line-height:1.95}
.ortho-considerations{margin-top:24px;padding-top:22px;border-top:1px solid #e3ebee}
.ortho-considerations h5,.ortho-considerations h3{font-size:15px;font-weight:600;line-height:1.7;margin:0 0 10px}
.ortho-considerations-lead{margin:0 0 16px}
.ortho-risk-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;margin:0}
.ortho-risk-list>div{border-top:1px solid #e3ebee;padding-top:16px}
.ortho-risk-list dt{font-size:14px;font-weight:600;line-height:1.95;margin-bottom:5px}
.ortho-risk-list dd{font-size:14px;line-height:1.95;margin:0}
.ortho-considerations-end{border-top:1px solid #e3ebee;padding-top:18px;margin-top:22px;font-size:14px;line-height:1.95}
.ortho-reference{font-size:12px;color:var(--muted);margin-top:13px}
@media(max-width:850px){
 .orthodontic-guide section{padding:23px}
 .ortho-fee-table th,.ortho-fee-table td{padding:12px 10px}
 .ortho-fee-table th:first-child{width:39%}
 .ortho-risk-list{column-gap:23px}
}
@media(max-width:600px){
 .orthodontic-guide{gap:18px}
 .orthodontic-guide section{padding:21px 16px;border-radius:18px}
 .orthodontic-guide h4,.orthodontic-guide h2{font-size:17px}
 .ortho-common-fees{display:block;padding:14px}
 .ortho-common-fees>div+div{margin-top:6px}
 .ortho-fee-table thead{display:none}
 .ortho-fee-table tbody,.ortho-fee-table tr,.ortho-fee-table th,.ortho-fee-table td{display:block;width:100%!important}
 .ortho-fee-table tr{padding:15px 0;border-top:1px solid #e3ebee}
 .ortho-fee-table tr:last-child{border-bottom:1px solid #e3ebee}
 .ortho-fee-table th,.ortho-fee-table td{padding:0;border:0}
 .ortho-fee-table tbody th{font-weight:600;margin-bottom:5px}
 .ortho-fee-table td:nth-child(2){font-size:16px;margin-bottom:3px}
 .ortho-fee-table td:nth-child(3)::before{content:"別途："}
 .ortho-duration{padding:17px 15px;margin-top:18px}
 .ortho-duration dl{display:block}
 .ortho-duration dl>div+div{margin-top:6px}
 .ortho-risk-list{grid-template-columns:1fr;gap:15px}
}

/* A compact, welcoming second page using the clinic's existing palette. */
.ortho-detail-link{margin-top:18px;max-width:100%;gap:18px;border:2px solid #b8deed;border-radius:18px;background:#fff;color:#286a8b;line-height:1.8;text-align:left;box-shadow:0 4px 0 #d4eaf4}
.ortho-detail-link:hover{background:#e0f5ff;transform:translateY(-2px)}
.ortho-detail-link span{flex-shrink:0}
.ortho-page-main{max-width:1056px;margin:0 auto;padding:28px 32px 64px}
.ortho-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:var(--muted);margin-bottom:22px}
.ortho-breadcrumb a{display:inline-block;min-height:44px;line-height:44px;text-decoration:underline;text-underline-offset:4px;color:#286a8b}
.ortho-page-heading{padding:38px 40px;border-radius:30px;background:radial-gradient(circle at 97% 6%,var(--tint-yellow) 0 65px,transparent 66px),var(--tint-blue);margin-bottom:28px;border:2px solid #fff;box-shadow:0 5px 0 #d8ebf4}
.ortho-page-heading .eyebrow{display:inline-block;background:#fff;border-radius:99px;padding:6px 13px;color:#286a8b;font-size:10px}
.ortho-page-heading h1{font-size:clamp(27px,3.4vw,38px);line-height:1.6;color:#286a8b;margin:14px 0 12px;overflow-wrap:anywhere}
.ortho-page-heading>p:last-child{font-size:14px;line-height:2}
.ortho-methods{padding:28px 30px;background:#fff6e0;border:1px solid #f0e5bc;border-radius:22px;margin-bottom:24px}
.ortho-detail-intro{font-size:14px;line-height:2}
.ortho-detail-intro h2{font-size:20px;line-height:1.8;margin:0 0 14px}
.ortho-detail-intro p+p{margin-top:12px}
.ortho-detail-intro strong{font-weight:600}
.ortho-detail-intro .care-small{margin-top:15px;font-size:14px}
.ortho-page-contact h2{font-size:18px;line-height:1.8}
.ortho-page-contact p{font-size:14px}
.ortho-page-contact p+p{margin-top:12px}
.ortho-page-return{display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;margin-top:25px}
.ortho-page-return .button{margin-top:0}
@media(max-width:600px){
 .ortho-page-main{padding:18px 20px 35px}
 .ortho-breadcrumb{margin-bottom:16px;font-size:11px}
 .ortho-page-heading{padding:27px 22px;border-radius:24px;margin-bottom:22px}
 .ortho-methods{padding:23px 18px}
 .ortho-detail-intro h2{font-size:18px}
 .ortho-detail-link{font-size:12px;padding:13px 16px;gap:12px;width:100%}
 .ortho-page-return{align-items:stretch;gap:18px}
 .ortho-page-return .text-link{font-size:12px}
}

/* Larger reading text on both pages, with room for longer lines and labels. */
body{font-size:1rem}
.hero-lead,.about-copy>p:not(.large-copy),.care-description,
.doctors-lead,.doctor-intro,.doctor-history,.visit-intro>p:not(.eyebrow),
.faq details>div,.access-copy address,.ortho-page-heading>p:last-child,
.ortho-detail-intro,.ortho-detail-intro .care-small,.orthodontic-guide,
.ortho-duration p,.ortho-risk-list dt,.ortho-risk-list dd,
.ortho-considerations-end,.ortho-page-contact p{font-size:1rem;line-height:2}
.care-description h4{font-size:1.1875rem;line-height:1.8}
.section-title-row>p,.quick-contact>p,.care-consult p,.editor-note{font-size:.9375rem;line-height:1.95}
.quick-contact>p span,.clinic-identity p span,.care-description .care-small,
.hours-note,.hours-exception,.hours-key,.map-heading p,.map-help,
.profile-note,.section-footnote{font-size:.875rem;line-height:1.9}
.clinic-identity p{font-size:1rem}
.care-consult>div>strong,.doctor-body h4,.doctor-body .doctor-qualifications h4{font-size:1.0625rem}
.care-consult>a small,.care-tags li,.doctor-role,.doctor-history dt,
.qualification-year,.ortho-insurance{font-size:.875rem}
.doctor-history dd small,.ortho-reference{font-size:.8125rem}
.qualification-item strong{font-size:1.125rem}
.doctor-qualifications p{font-size:.875rem;line-height:1.95}
.faq summary{font-size:1rem;line-height:1.85}
.hours-closed{font-size:.9375rem}
.schedule th{font-size:.8125rem}
.schedule th[scope=row]{font-size:.875rem}
.schedule td{font-size:.9375rem}
.schedule col:first-child{width:120px}
.ortho-fee-table{font-size:1rem;line-height:1.9}
.ortho-fee-table caption{font-size:1.0625rem}
.ortho-fee-table thead th,.ortho-fee-table tbody th span{font-size:.875rem}
.ortho-fee-table td:nth-child(2){font-size:1.0625rem}
.ortho-duration h3,.ortho-considerations h3{font-size:1.0625rem}
.orthodontic-guide h2,.ortho-page-contact h2{font-size:1.25rem}
.ortho-breadcrumb{font-size:.875rem}
.button,.hero .button,.map-button,.ortho-detail-link{font-size:.9375rem;line-height:1.8}
.text-link,.quick-contact .text-link,.hours-card .text-link,.ortho-page-return .text-link{font-size:.875rem;line-height:1.85;max-width:100%;gap:18px}
.text-link span{flex-shrink:0}
.hero-place,.mini-label,.top-link{font-size:.8125rem}
.clinic-hero figcaption,.clinic-exterior figcaption{flex-wrap:wrap;row-gap:4px}
.clinic-hero figcaption span,.clinic-exterior figcaption{font-size:.8125rem}
.clinic-hero figcaption small,.clinic-exterior figcaption small{font-size:.625rem}
.hero .eyebrow{font-size:.625rem}
.section-heading .eyebrow,.section-title-row .eyebrow,.visit-intro .eyebrow{font-size:.6875rem}
.header nav{font-size:.8125rem}
.header-phone span{font-size:.875rem}
.brand small{font-size:.6875rem}
.footer-bottom{font-size:.75rem}
.mobile-contact a{font-size:.875rem;min-height:64px}
.mobile-contact small{font-size:.75rem}
.mobile-contact strong{font-size:1.0625rem}
@media(max-width:1100px){
 .header nav{font-size:1rem}
 .header-phone span{font-size:1rem}
}
@media(max-width:950px){
 .quick-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px}
 .quick-contact>p{grid-column:1/-1;grid-row:2}
 .quick-contact .text-link{grid-column:2;grid-row:1}
}
@media(max-width:760px){
 .doctor-grid{grid-template-columns:1fr;gap:30px}
 .ortho-fee-table thead{display:none}
 .ortho-fee-table tbody,.ortho-fee-table tr,.ortho-fee-table th,.ortho-fee-table td{display:block;width:100%!important}
 .ortho-fee-table tr{padding:18px 0;border-top:1px solid #e3ebee}
 .ortho-fee-table tr:last-child{border-bottom:1px solid #e3ebee}
 .ortho-fee-table th,.ortho-fee-table td{padding:0;border:0}
 .ortho-fee-table tbody th{font-weight:600;margin-bottom:7px}
 .ortho-fee-table td:nth-child(2){margin-bottom:4px}
 .ortho-fee-table td:nth-child(3)::before{content:"別途："}
}
@media(max-width:600px){
 .brand small{font-size:.5625rem}
 .quick-contact{grid-template-columns:minmax(0,1fr);gap:14px}
 .quick-contact .text-link{grid-column:1;grid-row:3}
 .schedule col:first-child{width:100px}
 .schedule th[scope=row]{font-size:.8125rem}
 .faq details>div{padding-right:0}
}

/* Local treatment guide: clear in-page navigation and appointment questions. */
.ortho-page-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
.ortho-page-nav a{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid #b8deed;border-radius:99px;background:#fff;color:#286a8b;font-size:.9375rem;font-weight:600;line-height:1.7}
.ortho-page-nav a:hover{background:var(--tint-blue)}
.ortho-faq{padding:28px 30px;border:1px solid #d6e6ec;border-radius:22px;background:#fff;margin-top:24px}
.ortho-faq h2{font-size:1.25rem;line-height:1.8;margin-bottom:18px}
.ortho-faq .text-link,.ortho-page-contact .text-link{font-size:.9375rem;line-height:1.8;gap:12px}
.ortho-faq .text-link{margin-top:12px}
@media(max-width:600px){
 .ortho-page-nav{gap:8px}
 .ortho-page-nav a{padding:8px 12px;font-size:.875rem}
 .ortho-faq{padding:23px 18px}
 .ortho-faq .faq summary{gap:12px}
 .ortho-faq .faq details>div{padding-right:0}
}
