*{box-sizing:border-box}body{margin:0;color:#515a5e;background:#f6f6f3;font-family:YuMincho,serif;font-weight:300;line-height:2}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{position:fixed;inset:0 0 auto;z-index:30;height:86px;padding:22px 4vw;display:flex;justify-content:space-between;background:#f6f6f3e8;border-bottom:1px solid #5552;backdrop-filter:blur(14px)}.brand b{display:block}.brand small{font:8px Arial}.menu-toggle,.menu-close{border:0;background:none;color:inherit;font:12px Arial;letter-spacing:.18em}.menu-panel{position:fixed;inset:0;z-index:40;background:#626d71;color:white;padding:12vh 8vw;opacity:0;visibility:hidden;transition:.35s}.menu-panel.open{opacity:1;visibility:visible}.menu-close{position:absolute;right:4vw;top:28px;color:white}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.menu-panel h2,.display,.section-title,.cta h2{font-family:Georgia;font-weight:300;line-height:.8}.menu-panel h2{font-size:8vw;margin:0}.menu-links{display:grid;grid-template-columns:1fr 1fr;gap:0 4vw}.menu-links a{padding:15px 0;border-bottom:1px solid #fff5}.page-hero{min-height:96vh;padding:22vh 7vw 10vh;display:grid;grid-template-columns:42% 1fr;gap:8vw;align-items:end}.eyebrow{font:11px Arial;letter-spacing:.2em}.display{font-size:10vw;letter-spacing:-.045em;margin:3vw 0}.page-hero-copy{font-size:2vw;line-height:1.9;letter-spacing:.14em}.hero-image{height:65vh;width:100%;object-fit:cover;filter:saturate(.68)}.intro{padding:14vw 8vw;display:grid;grid-template-columns:34% 50%;gap:12%;background:white}.intro h2{font-size:3vw;font-weight:300;line-height:1.8;margin:0}.intro p{margin:0;font-size:15px;line-height:2.7}.treatment-nav,.detail-body,.doctor-story{padding:14vw 7vw}.section-title{font-size:9vw;margin:0 0 8vw}.treatment-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #abb}.treatment-link{padding:35px 30px;border-bottom:1px solid #abb;display:grid;grid-template-columns:64px 1fr auto;gap:18px}.treatment-link:nth-child(odd){border-right:1px solid #abb}.num{font:32px Georgia;color:#9aa}.treatment-link h2{font-weight:300;margin:5px 0}.treatment-link small{font:11px Arial}.detail-body{background:white}.detail-lead{display:grid;grid-template-columns:36% 52%;gap:12%;margin-bottom:12vw}.detail-lead h2{font-size:3.3vw;line-height:1.7;font-weight:300;margin:0}.detail-lead p{font-size:15px;line-height:2.6;margin:0}.feature-image{width:72%;height:50vw;object-fit:cover;margin:0 0 12vw auto;filter:saturate(.72)}.points{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #abb}.point{padding:4vw 3vw;border-right:1px solid #abb}.point:last-child{border:0}.point b{font:48px Georgia;color:#9aa}.point h3{font-weight:300}.doctor-pair{width:76%;height:55vw;object-fit:cover;filter:saturate(.72)}.story-copy{width:50%;margin:-8vw 5vw 12vw auto;background:#f6f6f3;position:relative;padding:6vw}.story-copy h2{font-size:3vw;font-weight:300}.profiles{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.profile img{width:100%;height:48vw;object-fit:cover;filter:saturate(.72)}.profile h2{font:300 42px Georgia}.cta{padding:10vw 8vw;background:#7f898c;color:white;display:grid;grid-template-columns:1fr auto}.cta h2{font-size:8vw;margin:0}.cta a{border-bottom:1px solid;padding:15px 60px 15px 0}.footer{padding:7vw;background:#444c4f;color:#ddd;font:11px Arial;display:flex;justify-content:space-between}@media(max-width:700px){.site-header{height:66px;padding:13px 18px}.brand b{font-size:12px}.brand small{font-size:6px}.menu-panel{padding:14vh 22px}.menu-grid{display:block}.menu-panel h2{font-size:17vw;margin-bottom:12vw}.menu-links{display:block}.page-hero{display:block;min-height:auto;padding:135px 20px 80px}.display{font-size:18vw;margin:8vw 0 14vw}.page-hero-copy{font-size:5.3vw;padding-bottom:16vw}.hero-image{height:108vw}.intro{display:block;padding:24vw 20px}.intro h2{font-size:6.5vw;margin-bottom:12vw}.intro p{font-size:3.55vw}.treatment-nav,.detail-body,.doctor-story{padding:24vw 20px}.section-title{font-size:17vw;margin-bottom:18vw}.treatment-grid{display:block}.treatment-link{padding:7vw 1vw;grid-template-columns:42px 1fr auto}.treatment-link:nth-child(odd){border-right:0}.detail-lead{display:block;margin-bottom:20vw}.detail-lead h2{font-size:7vw;margin-bottom:10vw}.detail-lead p{font-size:3.55vw}.feature-image{width:100%;height:100vw;margin-bottom:22vw}.points{display:block}.point{padding:10vw 0;border-right:0;border-bottom:1px solid #abb}.doctor-pair{width:calc(100% + 20px);height:112vw}.story-copy{width:calc(100% - 20px);margin:-10vw 0 20vw auto;padding:10vw 8vw}.profiles{display:block}.profile{margin-bottom:20vw}.profile img{height:115vw}.cta{display:block;padding:20vw}.cta h2{font-size:16vw;margin-bottom:14vw}.footer{display:block;padding:15vw 20px 24vw}}@media(max-width:700px){.display{font-size:15vw;overflow-wrap:anywhere;word-break:break-word;max-width:100%}.page-hero{overflow:hidden}}.content-section{padding:12vw 8vw;background:#f6f6f3}.content-section.white{background:#fff}.content-head{display:grid;grid-template-columns:30% 58%;gap:12%;margin-bottom:7vw}.content-head small,.faq-label{font:11px Arial;letter-spacing:.2em}.content-head h2{font-size:3vw;line-height:1.7;font-weight:300;margin:0}.content-head p{margin:0;line-height:2.6}.symptom-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid #abb;padding:0}.symptom-list li{list-style:none;padding:24px 10px;border-bottom:1px solid #abb}.symptom-list li:nth-child(odd){border-right:1px solid #abb}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#c4c9ca;border:1px solid #c4c9ca}.feature-card{background:#fff;padding:5vw}.feature-card b,.flow-step b{font:42px Georgia;color:#9aa}.feature-card h3,.flow-step h3{font-size:22px;font-weight:300}.feature-card p{line-height:2.4}.treatment-flow{border-top:1px solid #abb}.flow-step{display:grid;grid-template-columns:80px 28% 1fr;gap:3vw;padding:3vw 0;border-bottom:1px solid #abb}.flow-step p{margin:0}.faq{border-top:1px solid #abb}.faq details{border-bottom:1px solid #abb;padding:26px 0}.faq summary{cursor:pointer;font-size:17px;list-style:none}.faq summary:before{content:'Q';font:22px Georgia;margin-right:24px;color:#849094}.faq details p{padding:12px 0 0 44px;margin:0}.related-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #abb}.related-links a{padding:28px 10px;border-bottom:1px solid #abb;border-right:1px solid #abb}.note-box{margin-top:6vw;padding:3vw;border:1px solid #abb;font-size:13px}.sticky-sp-actions{display:none}@media(max-width:700px){.content-section{padding:22vw 20px}.content-head{display:block;margin-bottom:16vw}.content-head h2{font-size:7vw;margin:5vw 0 8vw}.content-head p{font-size:3.55vw}.symptom-list,.feature-grid,.related-links{display:block}.symptom-list li:nth-child(odd){border-right:0}.feature-card{padding:12vw 7vw}.flow-step{grid-template-columns:54px 1fr;gap:4vw;padding:9vw 0}.flow-step p{grid-column:2}.related-links a{display:block;border-right:0}.note-box{padding:7vw;margin-top:12vw}.cta{padding-bottom:34vw}.sticky-sp-actions{position:fixed;display:grid;grid-template-columns:1fr 1fr;inset:auto 0 0;z-index:35;background:#f6f6f3;border-top:1px solid #899}.sticky-sp-actions a{text-align:center;padding:15px 5px;font:11px Arial;letter-spacing:.12em}.sticky-sp-actions a+a{background:#657176;color:#fff}}
.director-message{padding:13vw 8vw;background:#667277;color:#f7f7f3;position:relative;overflow:hidden}.director-message:before{content:"MESSAGE";position:absolute;right:-2vw;top:1vw;font:300 15vw/.8 Georgia;color:rgba(255,255,255,.06)}.director-message-inner{position:relative;display:grid;grid-template-columns:28% 58%;gap:14%;max-width:1280px;margin:auto}.director-message-label{font:11px Arial;letter-spacing:.22em}.director-message h2{font-size:3.1vw;line-height:1.75;font-weight:300;letter-spacing:.1em;margin:0 0 4vw}.director-message p{font-size:15px;line-height:2.75;margin:0 0 1.8em}.director-message .message-emphasis{font-size:1.25em;line-height:2.2}.director-sign{text-align:right;margin-top:4vw!important;font-size:13px!important;letter-spacing:.14em}.profile-name{font-size:18px;font-weight:300;letter-spacing:.12em}@media(max-width:700px){.director-message{padding:25vw 20px}.director-message:before{font-size:28vw;top:5vw}.director-message-inner{display:block}.director-message-label{display:block;margin-bottom:12vw}.director-message h2{font-size:7vw;line-height:1.8;margin-bottom:12vw}.director-message p{font-size:3.6vw;line-height:2.5}.director-message .message-emphasis{font-size:4.5vw}.director-sign{margin-top:12vw!important}}

/* logo 05 */ .site-header .brand{position:relative;padding-left:62px;min-height:38px}.site-header .brand:before{content:"";position:absolute;left:0;top:3px;width:50px;height:25px;background:url("../assets/logo-mark-05-official-v2.webp") center/contain no-repeat}.cta{position:relative}.cta:after{content:"";position:absolute;right:7vw;bottom:3vw;width:88px;height:34px;background:url("../assets/logo-mark-05-official-v2.webp") center/contain no-repeat;filter:brightness(0) invert(1);opacity:.42}.footer{background-image:url("../assets/logo-mark-05-official-v2.webp");background-repeat:no-repeat;background-position:4vw center;background-size:62px auto;padding-left:10vw}@media(max-width:700px){.site-header .brand{padding-left:48px}.site-header .brand:before{width:39px;height:20px;top:2px}.cta:after{width:62px;right:20px;bottom:20vw}.footer{background-position:20px 9vw;background-size:48px auto;padding-top:19vw}}
/* detail density v2 */.page-hero{min-height:78vh;padding:18vh 7vw 8vh;grid-template-columns:46% 1fr;gap:7vw;align-items:center}.display{font-size:clamp(72px,8vw,145px);margin:2vw 0 3vw}.page-hero-copy{font-size:clamp(22px,1.8vw,34px)}.hero-image{height:52vh;max-height:620px}.detail-body{padding-top:10vw;padding-bottom:10vw}.content-section{padding-top:9vw;padding-bottom:9vw}.stage-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #abb;border-left:1px solid #abb}.stage-card{padding:3.2vw 2.4vw;border-right:1px solid #abb;border-bottom:1px solid #abb;min-height:310px}.stage-card b{font:38px Georgia;color:#95a0a3}.stage-card h3{font-size:20px;font-weight:300;margin:2.5vw 0 1.2vw}.stage-card p{font-size:14px;line-height:2}.stage-card small{font:10px Arial;letter-spacing:.16em}@media(max-width:700px){.page-hero{padding:115px 20px 70px}.display{font-size:14vw;margin:7vw 0 10vw}.page-hero-copy{font-size:5vw;padding-bottom:10vw}.hero-image{height:72vw;max-height:none}.stage-grid{display:block}.stage-card{min-height:0;padding:10vw 7vw}.stage-card h3{margin:6vw 0 3vw}.content-section{padding-top:18vw;padding-bottom:18vw}}
/* long treatment titles */.display{font-size:clamp(60px,6.35vw,116px)}@media(max-width:700px){.display{font-size:13vw}}
/* minimal intervention doctor */.mi-side img{width:100%;height:34vw;max-height:560px;object-fit:cover;object-position:78% center;margin-top:3.5vw;filter:saturate(.72)}.mi-section .content-head{align-items:start}@media(max-width:700px){.mi-side img{height:105vw;margin:9vw 0 14vw;object-position:74% center}}
/* general photo swap */.feature-doctor{object-position:78% center}.mi-side img{object-position:center}
/* compact four-point grid */.feature-card{padding:3.4vw 5vw}.feature-card b{font-size:36px}.feature-card h3{margin:1.4vw 0 .8vw}.feature-card p{margin:0;line-height:2.1}@media(max-width:700px){.feature-grid{display:grid;grid-template-columns:1fr 1fr}.feature-card{padding:9vw 5vw;min-width:0}.feature-card b{font-size:8vw}.feature-card h3{font-size:4.2vw;line-height:1.65;margin:4vw 0 2vw}.feature-card p{font-size:3.2vw;line-height:1.9}}
/* twenty-view audit fixes */.menu-toggle,.menu-close{min-width:44px;min-height:44px;padding:10px}.sticky-sp-actions{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:700px){.display{font-size:10vw;overflow-wrap:normal;word-break:normal}.feature-grid{display:block}.feature-card{padding:10vw 7vw}.feature-card b{font-size:11vw}.feature-card h3{font-size:5vw}.feature-card p{font-size:3.55vw}.sticky-sp-actions a{min-height:48px;padding-bottom:calc(15px + env(safe-area-inset-bottom))}}
/* orthodontics rich content */
.ortho-method-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #abb;border-left:1px solid #abb}.ortho-method{padding:4vw;border-right:1px solid #abb;border-bottom:1px solid #abb}.ortho-method>b,.ortho-checks b{font:42px Georgia;color:#9aa}.ortho-method>small{display:block;margin:1vw 0;font:10px Arial;letter-spacing:.16em}.ortho-method h3{font-size:26px;font-weight:300;margin:.6vw 0 1.5vw}.ortho-method p{line-height:2.2}.ortho-method dl{margin:2vw 0 0;border-top:1px solid #ccd}.ortho-method dt,.ortho-method dd{margin:0;padding:12px 0;border-bottom:1px solid #ccd}.ortho-method dt{float:left;clear:left;width:88px;font-size:12px;color:#7d878a}.ortho-method dd{padding-left:100px;font-size:13px}.compare-scroll{overflow-x:auto}.ortho-compare table{width:100%;min-width:760px;border-collapse:collapse}.ortho-compare th,.ortho-compare td{padding:22px 16px;border-top:1px solid #abb;text-align:left;font-weight:300}.ortho-compare thead th{font:10px Arial;letter-spacing:.13em}.ortho-compare tbody th{font-size:16px}.ortho-checks{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #abb}.ortho-checks article{padding:3vw;border-right:1px solid #abb}.ortho-checks article:last-child{border:0}.ortho-checks h3{font-weight:300}.evidence-link{display:inline-block;margin-top:2vw;padding-bottom:6px;border-bottom:1px solid;font-size:13px}
@media(max-width:700px){.ortho-method-grid{display:block}.ortho-method{padding:14vw 7vw}.ortho-method>b{font-size:12vw}.ortho-method>small{margin:4vw 0 2vw}.ortho-method h3{font-size:6.5vw;margin:2vw 0 6vw}.ortho-method p{font-size:3.55vw}.ortho-method dl{margin-top:8vw}.ortho-method dt{width:72px}.ortho-method dd{padding-left:82px}.compare-scroll{margin-right:-20px;padding-right:20px}.ortho-compare th,.ortho-compare td{padding:16px 12px}.ortho-checks{display:block}.ortho-checks article{padding:10vw 0;border-right:0;border-bottom:1px solid #abb}.evidence-link{margin-top:8vw}}

.ortho-method figure{margin:1.5vw 0 2vw;aspect-ratio:16/10;overflow:hidden}.ortho-method figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.96)}@media(max-width:700px){.ortho-method figure{margin:6vw 0 7vw;aspect-ratio:4/3}}


/* patient-route-and-conversion-system */
body{color:#485257}.site-header{height:92px}.header-actions{display:flex;align-items:center;gap:1.2vw}.header-actions>a{min-height:44px;padding:8px 12px;border-left:1px solid #aeb6b8;display:flex;flex-direction:column;justify-content:center}.header-actions>a span{font:600 10px Arial,sans-serif;letter-spacing:.13em}.header-actions>a small{font:8px Arial,sans-serif;letter-spacing:.06em}.header-actions .header-booking{background:#657176;color:#fff;border:0;padding-left:18px;padding-right:18px}.menu-links a{display:flex;flex-direction:column;justify-content:center;min-height:62px}.menu-links a b{font:400 15px Georgia,serif}.menu-links a small{font:9px Arial,sans-serif;letter-spacing:.12em;opacity:.68}.menu-links .menu-reserve{padding-left:15px;background:rgba(255,255,255,.1)}.urgent-strip{position:fixed;z-index:29;right:4vw;top:92px;display:flex;gap:14px;align-items:center;padding:8px 14px;background:rgba(246,246,243,.92);backdrop-filter:blur(12px);font:10px Arial,sans-serif;letter-spacing:.06em}.urgent-strip a{font-weight:700;border-bottom:1px solid}.booking-guide{padding:2.2vw 8vw;background:#e7eae8;border-top:1px solid #b7bec0;display:grid;grid-template-columns:23% 1fr 1fr;gap:3vw;align-items:center}.booking-guide small{font:10px Arial,sans-serif;letter-spacing:.18em}.booking-guide p{margin:0;font-size:13px;line-height:1.9}.cta{padding:7vw 8vw;grid-template-columns:minmax(0,1fr) minmax(420px,45%);gap:7vw;align-items:end}.cta h2{font-size:clamp(64px,7.2vw,140px);line-height:.78;overflow-wrap:normal}.cta-copy>small{font:10px Arial,sans-serif;letter-spacing:.2em}.cta-copy p{max-width:44em;margin:2vw 0 0}.cta-links{border-top:1px solid rgba(255,255,255,.55)}.cta-links a{display:block;padding:1.5vw 0;border-bottom:1px solid rgba(255,255,255,.55)}.cta-links b,.cta-links small{display:block}.cta-links small{margin-top:.45vw;font:10px Arial,sans-serif;letter-spacing:.05em;opacity:.78}.patient-info-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #abb;border-bottom:1px solid #abb}.patient-info-grid article{padding:3.5vw 2.6vw;border-right:1px solid #abb}.patient-info-grid article:last-child{border:0}.patient-info-grid b{display:block;font:48px Georgia;color:#9aa}.patient-info-grid small{font:9px Arial,sans-serif;letter-spacing:.2em}.patient-info-grid h3{font-size:21px;font-weight:300}.patient-info-grid p{font-size:14px;line-height:2.25}.text-link{display:inline-block;margin-top:3vw;padding-bottom:6px;border-bottom:1px solid;font:11px Arial,sans-serif;letter-spacing:.12em}.price-principles{display:grid;grid-template-columns:1fr 1fr;border:1px solid #abb}.price-principles article{padding:4vw}.price-principles article+article{border-left:1px solid #abb}.price-principles small,.price-links span{font:10px Arial,sans-serif;letter-spacing:.18em}.price-principles h3{font-size:28px;font-weight:300}.price-links{border-top:1px solid #abb}.price-links a{display:grid;grid-template-columns:20% 25% 1fr auto;gap:2vw;align-items:center;padding:2vw 1vw;border-bottom:1px solid #abb}.price-links b{font-size:20px;font-weight:300}.price-links small{line-height:1.8}.recruit-direct-contact{padding:10vw 8vw;background:#7f898c;color:#fff}.recruit-direct-contact>small{font:10px Arial,sans-serif;letter-spacing:.2em}.recruit-direct-contact h2{font-size:4vw;font-weight:300;line-height:1.7}.recruit-direct-contact p{max-width:52em}.recruit-direct-contact a{display:inline-block;margin-top:2vw;padding:14px 28px;border:1px solid #fff}.content-section,.detail-body{scroll-margin-top:92px}@media(max-width:700px){body{font-size:15px}.site-header{height:66px}.header-actions>a{display:none}.header-actions{margin-left:auto}.menu-toggle{font-size:11px}.urgent-strip{top:66px;left:0;right:0;justify-content:center;padding:7px 10px;font-size:2.35vw}.urgent-strip span{display:none}.menu-links a{min-height:58px}.menu-links a b{font-size:4vw}.menu-links a small{font-size:2.6vw}.booking-guide{display:block;padding:11vw 20px}.booking-guide small{font-size:2.5vw}.booking-guide p{font-size:3.45vw;margin-top:4vw}.cta{padding:17vw 20px 34vw;display:block}.cta h2{font-size:13vw;white-space:nowrap;margin:4vw 0 9vw}.cta-copy p{font-size:3.4vw;margin-bottom:10vw}.cta-links a{padding:6vw 0}.cta-links b{font-size:3.5vw}.cta-links small{font-size:2.7vw;line-height:1.7;margin-top:2vw}.patient-info-grid,.price-principles{display:block}.patient-info-grid article,.price-principles article{padding:10vw 2vw;border-right:0;border-bottom:1px solid #abb}.price-principles article+article{border-left:0}.patient-info-grid b{font-size:12vw}.patient-info-grid h3{font-size:5vw}.patient-info-grid p{font-size:3.55vw}.text-link{margin-top:10vw;font-size:2.8vw}.price-links a{grid-template-columns:1fr auto;padding:7vw 1vw}.price-links span,.price-links small{grid-column:1}.price-links b{grid-column:1;font-size:5vw}.price-links i{grid-column:2;grid-row:1/4}.recruit-direct-contact{padding:20vw 20px 30vw}.recruit-direct-contact h2{font-size:7vw}.recruit-direct-contact a{width:100%;text-align:center;margin-top:8vw}}

/* final overflow and readability guard */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.page-hero,.doctor-story,.content-section,.detail-body,.cta{min-width:0;max-width:100%}
.page-hero>*,.profiles>*{min-width:0}
.profile h2{font-size:clamp(30px,3.15vw,56px);line-height:1.02;overflow-wrap:normal}
.profile img{height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;background:#eef0ee}
.compare-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:700px){.section-title,.display,.page-hero .display{max-width:100%;white-space:normal;overflow-wrap:normal;word-break:keep-all}.profile h2{font-size:10vw;overflow-wrap:anywhere}.profile img{height:auto;aspect-ratio:3/2}.urgent-strip a{white-space:nowrap}}

/* refined mobile reservation dock */
@media(max-width:700px){
  body:has(.sticky-sp-actions a[href*="yoyaq.vercel.app"]){padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]){inset:auto 16px calc(12px + env(safe-area-inset-bottom));grid-template-columns:42% 58%;height:66px;padding:0;overflow:hidden;background:rgba(245,244,240,.92);border:1px solid rgba(77,87,91,.28);box-shadow:0 14px 38px rgba(40,48,51,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a{position:relative;display:flex;min-width:0;min-height:66px;padding:0 17px!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;text-align:left;text-decoration:none;font-size:0;line-height:1;border:0}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a+a{background:#59666b;color:#fff;border-left:1px solid rgba(255,255,255,.2)}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a:before{font:400 11px/1 Arial,sans-serif;letter-spacing:.18em}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a:after{font:400 8px/1.1 Arial,sans-serif;letter-spacing:.11em;opacity:.66}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a[href^="tel:"]:before{content:"CALL"}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a[href^="tel:"]:after{content:"052-352-1122"}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a[href*="yoyaq.vercel.app"]:before{content:"WEB RESERVATION  \2197"}
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a[href*="yoyaq.vercel.app"]:after{content:"24H ONLINE"}
}
/* mobile-point-type-refine */
@media(max-width:700px){.points .point{padding:7.5vw 0 8vw}.points .point b{display:block;font-size:13vw;line-height:.9;margin:0 0 5vw}.points .point h3{margin:0 0 3vw;font-size:clamp(22px,6vw,26px);line-height:1.42;letter-spacing:.025em}.points .point p{margin:0;font-size:clamp(16px,4.15vw,18px);line-height:1.7;letter-spacing:.01em}}

/* site-wide-surface-decoration-v1 */
:where(.page-hero,.intro,.detail-body,.content-section,.doctor-story,.treatment-nav,.booking-guide,.cta,.director-message,.recruit-direct-contact){position:relative;isolation:isolate;overflow:hidden}
:where(.page-hero,.intro,.detail-body,.content-section,.doctor-story,.treatment-nav,.booking-guide,.cta,.director-message,.recruit-direct-contact)>*{position:relative;z-index:1}
.page-hero{background:radial-gradient(ellipse at 82% 18%,rgba(139,158,162,.14),transparent 39%),linear-gradient(128deg,#f6f6f3 0%,#fbfbf8 53%,#eef1f0 100%)}
.page-hero:before{content:"";position:absolute;z-index:0;right:-17vw;top:-20vw;width:53vw;height:53vw;border:1px solid rgba(72,94,100,.11);border-radius:50%;box-shadow:0 0 0 7vw rgba(109,130,135,.022),0 0 0 15vw rgba(109,130,135,.012);pointer-events:none}
.page-hero:after{content:"TAKABATA CHUO  /  DENTAL CARE";position:absolute;z-index:0;left:7vw;bottom:5vw;color:rgba(73,92,97,.24);font:400 9px/1 Arial,sans-serif;letter-spacing:.32em;pointer-events:none}
.intro{background:radial-gradient(ellipse at 12% 78%,rgba(152,164,163,.11),transparent 43%),linear-gradient(112deg,#fff 0%,#fbfbf8 58%,#f2f4f2 100%)}
.intro:before,.detail-body:before{content:"";position:absolute;z-index:0;width:42vw;height:42vw;border:1px solid rgba(81,103,108,.09);border-radius:50%;pointer-events:none}
.intro:before{left:-25vw;bottom:-28vw}.detail-body:before{right:-27vw;top:14vw}
.detail-body{background:radial-gradient(ellipse at 90% 25%,rgba(134,153,157,.09),transparent 40%),linear-gradient(135deg,#fff 0%,#fdfdfb 62%,#f4f6f5 100%)}
.content-section{background:radial-gradient(ellipse at 8% 72%,rgba(126,147,151,.10),transparent 42%),linear-gradient(120deg,#f4f5f2 0%,#fafaf7 58%,#eef1ef 100%)}
.content-section.white{background:radial-gradient(ellipse at 88% 24%,rgba(146,158,157,.095),transparent 40%),linear-gradient(132deg,#fff 0%,#fdfdfa 57%,#f3f5f4 100%)}
.content-section:before{content:"";position:absolute;z-index:0;left:-18vw;bottom:-24vw;width:48vw;height:48vw;border:1px solid rgba(72,96,102,.085);border-radius:50%;pointer-events:none}
.content-section.white:before{left:auto;right:-20vw;bottom:auto;top:-22vw}
.content-section:after{content:"";position:absolute;z-index:0;right:8vw;top:6vw;width:16vw;height:1px;background:linear-gradient(90deg,transparent,rgba(78,101,106,.22));pointer-events:none}
.doctor-story,.treatment-nav{background:radial-gradient(ellipse at 82% 16%,rgba(142,158,160,.11),transparent 43%),linear-gradient(124deg,#f5f5f1 0%,#fbfbf8 52%,#edf0ee 100%)}
.doctor-story:before,.treatment-nav:before{content:"";position:absolute;z-index:0;right:-18vw;top:-19vw;width:49vw;height:49vw;border:1px solid rgba(74,97,103,.09);border-radius:50%;pointer-events:none}
.booking-guide{background:linear-gradient(112deg,#e4e8e6 0%,#f1f2ef 52%,#dce2e0 100%)}
:where(.feature-card,.stage-card,.ortho-method,.note-box,.price-principles article,.story-copy){background:linear-gradient(138deg,rgba(255,255,255,.94),rgba(244,246,244,.84))}
:where(.cta,.director-message,.recruit-direct-contact){background:radial-gradient(ellipse at 84% 18%,rgba(255,255,255,.105),transparent 38%),linear-gradient(125deg,#536065 0%,#697579 53%,#4c585d 100%)}
:where(.cta,.recruit-direct-contact):before,.director-message:after{content:"";position:absolute;z-index:0;right:-17vw;bottom:-29vw;width:53vw;height:53vw;border:1px solid rgba(255,255,255,.13);border-radius:50%;box-shadow:0 0 0 7vw rgba(255,255,255,.016);pointer-events:none}
.director-message:before{z-index:0}.footer{background-color:#424b4e;background-image:radial-gradient(ellipse at 88% 20%,rgba(255,255,255,.08),transparent 36%),url("../assets/logo-mark-05-official-v2.webp");background-repeat:no-repeat,no-repeat;background-position:center,4vw center;background-size:cover,62px auto}
@media(max-width:700px){.page-hero:before{right:-42vw;top:-16vw;width:105vw;height:105vw}.page-hero:after{display:none}.intro:before,.detail-body:before,.content-section:before,.doctor-story:before,.treatment-nav:before{opacity:.62;width:105vw;height:105vw}.content-section:after{width:34vw;right:20px;top:12vw}:where(.cta,.recruit-direct-contact):before,.director-message:after{right:-55vw;bottom:-38vw;width:120vw;height:120vw;opacity:.65}.footer{background-position:center,20px 9vw;background-size:cover,48px auto}}
/* final all-lower-page mobile polish */
@media(max-width:700px){
  .page-hero{
    padding:96px 20px 54px!important;
    min-height:auto!important;
  }
  .display,
  .page-hero .display{
    margin:22px 0 28px!important;
    font-size:clamp(40px,12vw,58px)!important;
    line-height:.92!important;
    letter-spacing:0!important;
  }
  .page-hero-copy{
    padding-bottom:28px!important;
    font-size:clamp(20px,5.25vw,25px)!important;
    line-height:1.72!important;
    letter-spacing:.06em!important;
  }
  .hero-image{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important;
    object-position:center!important;
    filter:saturate(.74) contrast(.98)!important;
    background:#edf0ee!important;
  }
  .intro,
  .detail-body,
  .content-section,
  .treatment-nav,
  .doctor-story{
    padding-top:58px!important;
    padding-bottom:58px!important;
  }
  .intro h2,
  .detail-lead h2,
  .content-head h2{
    margin-bottom:26px!important;
    font-size:clamp(25px,6.5vw,31px)!important;
    line-height:1.62!important;
    letter-spacing:.035em!important;
  }
  .intro p,
  .detail-lead p,
  .content-head p,
  .feature-card p,
  .flow-step p,
  .faq details p,
  .note-box,
  .patient-info-grid p,
  .ortho-method p{
    font-size:clamp(15px,4.05vw,17px)!important;
    line-height:1.86!important;
    letter-spacing:.01em!important;
  }
  .section-title{
    margin-bottom:38px!important;
    font-size:clamp(48px,14vw,72px)!important;
    line-height:.9!important;
    letter-spacing:0!important;
  }
  .feature-image{
    width:100%!important;
    height:auto!important;
    aspect-ratio:4/3!important;
    margin:0 0 54px!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .feature-card,
  .stage-card,
  .ortho-method,
  .patient-info-grid article,
  .price-principles article{
    padding:34px 18px!important;
  }
  .feature-card h3,
  .stage-card h3,
  .point h3,
  .flow-step h3,
  .ortho-method h3,
  .patient-info-grid h3{
    font-size:clamp(20px,5.4vw,25px)!important;
    line-height:1.48!important;
    letter-spacing:.025em!important;
  }
  .flow-step{
    grid-template-columns:46px 1fr!important;
    gap:16px!important;
    padding:30px 0!important;
  }
  .faq details{
    padding:22px 0!important;
  }
  .faq summary{
    font-size:clamp(16px,4.4vw,19px)!important;
    line-height:1.65!important;
  }
  .cta,
  .recruit-direct-contact{
    padding:56px 20px calc(108px + env(safe-area-inset-bottom))!important;
  }
  .cta h2{
    margin:0 0 30px!important;
    font-size:clamp(46px,13vw,68px)!important;
    line-height:.88!important;
    letter-spacing:0!important;
    white-space:normal!important;
  }
  .cta-copy p{
    font-size:15.5px!important;
    line-height:1.85!important;
  }
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]){
    left:18px!important;
    right:18px!important;
    height:62px!important;
  }
  .sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a{
    min-height:62px!important;
    padding-left:16px!important;
    padding-right:14px!important;
  }
}


/* logo 05 / site-wide subtle watermark */
.site-header .brand:before,
.cta:after {
  background-image: url("../assets/logo-mark-05-official-v2.webp") !important;
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.site-header .brand:before { width: 44px !important; height: 32px !important; opacity: .92 !important; }
.page-hero,
.lead-section,
.content-section,
.doctor-story,
.treatment-nav,
.recruit-message,
.recruit-culture,
.recruit-requirements,
.access-block,
.footer { position: relative; overflow: hidden; }
.page-hero:before,
.lead-section:before,
.content-section:before,
.doctor-story:before,
.treatment-nav:before,
.recruit-message:before,
.recruit-culture:before,
.recruit-requirements:before,
.access-block:before {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  width: clamp(220px, 30vw, 520px);
  height: clamp(155px, 21vw, 365px);
  background: url("../assets/logo-mark-05-official-v2.webp") center / contain no-repeat;
  opacity: .04;
  filter: grayscale(1);
}
.page-hero:before { right: -6vw; bottom: 4vw; }
.lead-section:before { left: -8vw; top: 4vw; }
.content-section:nth-of-type(even):before { right: -8vw; top: 5vw; }
.content-section:nth-of-type(odd):before { left: -9vw; bottom: 4vw; }
.doctor-story:before,
.recruit-message:before { right: -7vw; top: 3vw; }
.treatment-nav:before,
.recruit-culture:before,
.recruit-requirements:before,
.access-block:before { left: -8vw; top: 4vw; }
.page-hero > *,
.lead-section > *,
.content-section > *,
.doctor-story > *,
.treatment-nav > *,
.recruit-message > *,
.recruit-culture > *,
.recruit-requirements > *,
.access-block > * { position: relative; z-index: 1; }
@media (max-width: 760px) {
  .site-header .brand:before { width: 38px !important; height: 28px !important; }
  .page-hero:before,
  .lead-section:before,
  .content-section:before,
  .doctor-story:before,
  .treatment-nav:before,
  .recruit-message:before,
  .recruit-culture:before,
  .recruit-requirements:before,
  .access-block:before { width: 64vw; height: 44vw; opacity: .032; }
}
/* logo 05 final visibility */ .site-header .brand{padding-left:72px!important;min-height:52px!important}.site-header .brand:before{width:58px!important;height:43px!important;top:4px!important;background-image:url("../assets/logo-mark-05-official-v2.webp")!important;background-size:contain!important}.footer{background-image:radial-gradient(ellipse at 88% 20%,rgba(255,255,255,.08),transparent 36%),url("../assets/logo-mark-05-official-v2.webp")!important;background-size:cover,74px auto!important}@media(max-width:700px){.site-header .brand{padding-left:58px!important;min-height:44px!important}.site-header .brand:before{width:46px!important;height:35px!important;top:4px!important}.footer{background-size:cover,54px auto!important}}

/* Temporary booking pause: keep phone access while hiding every web-reservation entry point. */
a[href*="yoyaq.vercel.app"] { display: none !important; }
.booking-guide { display: none !important; }
.cta-links:has(a[href*="yoyaq.vercel.app"]),
.sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) {
  grid-template-columns: 1fr !important;
}
.sticky-sp-actions:has(a[href*="yoyaq.vercel.app"]) a[href^="tel:"] {
  width: 100% !important;
}

/* mobile-performance-lower-v1 */
@media(max-width:700px){
body{padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}.site-header{position:sticky!important;top:0!important;height:70px!important;padding:12px 18px!important;background:#f4f4f0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}.urgent-strip{position:relative!important;inset:auto!important}.page-hero{padding-top:54px!important}.cta-links{grid-template-columns:1fr!important}.hero-image,.feature-image,.doctor-pair,.profile img,.ortho-method figure img{filter:none!important}.page-hero:before,.content-section:before,:where(.cta,.recruit-direct-contact):before{box-shadow:none!important}
.sticky-sp-actions{left:14px!important;right:14px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;height:52px!important;grid-template-columns:1fr!important;padding:0!important;overflow:hidden!important;background:#536065!important;border:0!important;box-shadow:0 8px 24px rgba(36,45,48,.14)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.sticky-sp-actions a{min-height:52px!important;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;border:0!important;font:400 11px/1 Arial,sans-serif!important;letter-spacing:.14em!important}.sticky-sp-actions a:after{content:"052-352-1122";margin-left:14px;opacity:.72;font-size:10px;letter-spacing:.08em}
}
/* Official logo 05: T/C/D monogram, champagne crescent and star. */
.site-header .brand{padding-left:66px!important;min-height:56px!important}
.site-header .brand:before{background-image:url("../assets/logo-mark-05-official-v2.webp")!important;width:52px!important;height:52px!important;top:1px!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}
.page-hero:before,.lead-section:before,.content-section:before,.doctor-story:before,.treatment-nav:before,.recruit-message:before,.recruit-culture:before,.recruit-requirements:before,.access-block:before{width:clamp(220px,28vw,500px)!important;height:clamp(220px,28vw,500px)!important}
@media(max-width:700px){.site-header .brand{padding-left:56px!important;min-height:48px!important}.site-header .brand:before{width:44px!important;height:44px!important;top:1px!important}.page-hero:before,.lead-section:before,.content-section:before,.doctor-story:before,.treatment-nav:before,.recruit-message:before,.recruit-culture:before,.recruit-requirements:before,.access-block:before{width:62vw!important;height:62vw!important}}/* Balanced official 05 lockup. */
.site-header .brand{display:grid!important;grid-template-columns:48px auto!important;grid-template-rows:auto auto!important;column-gap:18px!important;row-gap:4px!important;align-content:center!important;align-items:center!important;padding-left:0!important;min-height:48px!important}
.site-header .brand:before{position:static!important;grid-column:1!important;grid-row:1 / 3!important;align-self:center!important;width:48px!important;height:48px!important;opacity:1!important}
.site-header .brand b{grid-column:2!important;grid-row:1!important;margin:0!important;font:400 20px/1.15 "Noto Serif JP",YuMincho,serif!important;letter-spacing:.08em!important;white-space:nowrap!important}
.site-header .brand small{grid-column:2!important;grid-row:2!important;margin:0!important;font:400 8px/1.2 Arial,sans-serif!important;letter-spacing:.075em!important;white-space:nowrap!important;opacity:.82!important}
@media(max-width:700px){.site-header .brand{grid-template-columns:38px auto!important;column-gap:12px!important;row-gap:3px!important;min-height:40px!important}.site-header .brand:before{width:38px!important;height:38px!important}.site-header .brand b{font-size:14px!important;letter-spacing:.065em!important}.site-header .brand small{font-size:6.2px!important;letter-spacing:.05em!important}}
/* Align the desktop brand lockup with the page content column. */
@media(min-width:701px){.site-header{padding-left:7vw!important}}

/* full-page layout audit: desktop and mobile overlap guards */
main,main>section,main>section>*,.site-header>*{min-width:0}
:where(.page-hero,.intro,.detail-lead,.content-head,.treatment-link,.flow-step,.profiles,.feature-grid,.patient-info-grid,.price-links,.ortho-method-grid)>*{min-width:0}
:where(h1,h2,h3,p,li,dt,dd,small,b){max-width:100%}
:where(.intro,.detail-body,.content-section,.doctor-story,.director-message,.next-generation-message) p{overflow-wrap:anywhere}
.next-generation-message{scroll-margin-top:120px;
position:relative;isolation:isolate;overflow:hidden;display:grid;
grid-template-columns:minmax(180px,24%) minmax(0,1fr);gap:clamp(48px,8vw,140px);
padding:clamp(110px,11vw,190px) 8vw;
background:radial-gradient(ellipse at 86% 18%,rgba(135,154,158,.12),transparent 40%),linear-gradient(128deg,#f4f5f2 0%,#fbfbf8 56%,#edf1ef 100%)}
.next-generation-message:before{
content:"NEXT";position:absolute;z-index:0;right:-.04em;bottom:-.18em;
color:rgba(76,95,100,.045);font:300 clamp(150px,19vw,360px)/.8 Georgia,serif;
letter-spacing:-.06em;pointer-events:none}
.next-generation-message>*{position:relative;z-index:1;min-width:0}
.next-generation-message>small{padding-top:10px;font:400 10px/1.5 Arial,sans-serif;letter-spacing:.22em}
.next-generation-message>div{width:100%;max-width:920px}
.next-generation-message h2{
margin:0 0 clamp(42px,4vw,72px);font-size:clamp(31px,3vw,55px);
font-weight:300;line-height:1.72;letter-spacing:.08em}
.next-generation-message p{
margin:0 0 1.7em;font-size:clamp(15px,1vw,17px);line-height:2.35;letter-spacing:.025em}
.next-generation-message .next-sign{
margin-top:clamp(34px,3.2vw,58px);text-align:right;font-size:13px;letter-spacing:.12em}
@media(max-width:700px){
main,main>section{width:100%;max-width:100%}
:where(.intro,.detail-body,.content-section,.doctor-story,.director-message,.next-generation-message) p{overflow-wrap:normal;word-break:normal}
.next-generation-message{scroll-margin-top:120px;display:block;padding:64px 20px 68px}
.next-generation-message:before{font-size:36vw;right:-5vw;bottom:-.08em}
.next-generation-message>small{display:block;margin:0 0 38px;padding:0;font-size:9px;line-height:1.5}
.next-generation-message h2{margin:0 0 34px;font-size:clamp(25px,6.7vw,31px);line-height:1.7;letter-spacing:.045em}
.next-generation-message p{margin-bottom:1.55em;font-size:clamp(15px,4.05vw,17px);line-height:1.9;letter-spacing:.01em}
.next-generation-message .next-sign{margin-top:34px;font-size:12px;line-height:1.8}
.cta h2{font-size:clamp(42px,11vw,58px)!important;white-space:normal!important;overflow-wrap:normal!important}}

/* compact desktop and tablet guard */
@media(min-width:701px) and (max-width:1050px){
.page-hero{grid-template-columns:minmax(0,1fr) minmax(320px,48%);gap:4vw;padding-left:5vw;padding-right:5vw}
.page-hero .display,.display{font-size:clamp(42px,5vw,58px);line-height:.9;letter-spacing:-.025em;white-space:normal!important}
.page-hero-copy{font-size:clamp(20px,2.4vw,27px);letter-spacing:.08em}
.cta{display:block;padding:8vw}
.cta-copy{margin-bottom:6vw}
.cta-links{max-width:720px}
.price-links a{grid-template-columns:22% 1fr auto}
.price-links a span{grid-column:1}
.price-links a small{grid-column:2}
.price-links a i{grid-column:3;grid-row:1/3}
}

/* wide-screen title fit */
@media(min-width:1051px){.page-hero .display,.display{font-size:clamp(60px,5.2vw,116px);line-height:.88;letter-spacing:-.035em}}
