/* Icon navigation, expanded wayfinding, and official brand artwork. */
.site-header{position:relative;z-index:40;border-top:0}
.header-utility{background:#f5f6f0}
.site-header .header-main{height:116px}
.header-brand .brand-mark{width:115px;height:65px}
.header-brand .brand-name{font-size:34px}
.header-brand-en{font-size:10px;letter-spacing:.19em}
.header-actions{gap:34px}
.site-header .header-phone{font-size:30px}
.header-line-button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;min-height:76px;padding:14px 19px;border:1px solid #d8e4d0;border-radius:8px;background:#f2f8ec}
.header-line-button>img{width:211px;height:27px;object-fit:contain}
.header-line-button>span{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#466b3c}
.header-line-button>span>span{font-size:17px;line-height:1}
.header-line-button:hover{background:#eaf3e3;border-color:#b5caaa}
.header-nav-shell{border:0;background:#eef2e7;box-shadow:inset 0 -1px #dbe2d1}
.clinic-navigation{position:relative}
.clinic-nav-bar{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.nav-tile{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:108px;gap:3px;padding:10px 4px 12px;color:#224c39;background:transparent;border:0;text-align:center;cursor:pointer;font-family:var(--sans)}
.nav-tile::after{content:"";position:absolute;top:27px;right:0;width:1px;height:54px;background:#d5dec9}
.nav-tile:last-child::after{display:none}
.nav-icon-wrap{display:flex;align-items:center;justify-content:center;position:relative;width:58px;height:44px}
.nav-icon-wrap::before{content:"";position:absolute;width:49px;height:40px;border-radius:58% 42% 52% 48%;background:#e5eacb;transform:rotate(-17deg) scale(.8);opacity:0;transition:opacity .18s,transform .2s}
.nav-icon{position:relative;width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.nav-tile:hover .nav-icon-wrap::before,.nav-tile:focus-visible .nav-icon-wrap::before,.nav-tile[aria-expanded=true] .nav-icon-wrap::before{opacity:1;transform:rotate(-17deg) scale(1)}
.nav-tile[aria-expanded=true]{background:#f9faf4}
.nav-tile[aria-expanded=true] .nav-icon-wrap::before{background:#efe1a4}
.nav-label{font-size:14px;font-weight:500;line-height:1.65;letter-spacing:.045em}
.nav-en{color:#607253;font-size:8px;line-height:1.7;letter-spacing:.15em}
.nav-chevron{position:absolute;right:16px;top:54px;width:6px;height:6px;border-bottom:1px solid #668255;border-right:1px solid #668255;transform:rotate(45deg);transition:transform .18s}
.nav-tile[aria-expanded=true] .nav-chevron{transform:rotate(225deg)}
.mega-panel[hidden]{display:none!important}
.mega-panel{position:absolute;z-index:45;top:100%;left:0;right:0;background:#fffef9;border:1px solid #d6e0cb;border-top:0;border-radius:0 0 16px 16px;box-shadow:0 18px 28px #173f321a;padding:37px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr) minmax(0,1fr);gap:32px;align-items:center}
.mega-photo{position:relative;align-self:stretch;min-height:175px}
.mega-photo>img{height:100%;width:100%;object-fit:cover;object-position:center;border-radius:5px 38px 5px 5px}
.mega-photo>span{position:absolute;left:14px;bottom:14px;color:#fff;background:#193f32de;font-size:8px;letter-spacing:.14em;padding:5px 10px}
.mega-heading>p{font-size:9px;letter-spacing:.16em;color:#667d54;margin-bottom:12px}
.mega-heading>h2{font-family:var(--serif);font-size:24px;line-height:1.8;color:#234d3e;font-weight:500;letter-spacing:.035em}
.mega-heading>span{display:block;font-size:11px;color:#63735c;margin-top:13px;line-height:1.9}
.mega-links{display:flex;flex-direction:column}
.mega-links>a{padding:13px 2px;border-bottom:1px solid #dee6d4;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:13px;color:#244f3a}
.mega-links>a:first-child{border-top:1px solid #dee6d4}
.mega-links>a small{display:block;font-size:10px;color:#63735c;line-height:1.6;margin-top:3px}
.mega-links>a>span:last-child{font-size:19px;color:#6e8458}
.mega-links>a:hover,.mega-service-links>a:hover{background:#f0f4e8}
.mega-close{border:0;width:32px;height:32px;background:#eaf0df;color:#3f6240;border-radius:50%;font-size:24px;line-height:1;position:absolute;right:10px;top:10px;display:flex;align-items:center;justify-content:center}
.mega-care{grid-template-columns:minmax(0,.7fr) minmax(0,2fr);gap:40px}
.mega-service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.mega-service-links>a{display:flex;flex-direction:column;align-items:flex-start;padding:13px 21px;gap:14px;border-left:1px solid #dbe3d0;min-height:170px}
.mega-number{font-family:var(--serif);font-size:29px;font-weight:400;color:#809867;line-height:1.2}
.mega-service-links strong{display:block;font-size:13px;font-weight:500;color:#244f3a;line-height:1.85}
.mega-service-links small{display:block;font-size:10px;line-height:1.9;color:#63735c;margin-top:8px}
.mega-service-links>a>span:last-child{font-size:18px;color:#70865b;align-self:flex-end;margin-top:auto}
.mobile-menu-information{display:none}

.site-footer{border-top:0}
.footer-contact{padding-bottom:35px}
.footer-contact-copy h2{font-size:31px}
.footer-contact-actions{padding-right:45px}
.footer-phone{font-size:37px}
.line-banner{background:#f4faef;border-radius:10px;padding:29px 39px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) auto;align-items:center;gap:35px;color:#244a35;margin-bottom:25px}
.line-banner-identity>p{font-family:var(--serif);font-size:19px;font-weight:500;letter-spacing:.07em;margin-bottom:11px;line-height:1.5}
.line-banner-identity>img{width:266px;height:34px;object-fit:contain;object-position:left;max-width:100%}
.line-banner-message{border-left:1px solid #cadcc0;padding-left:32px}
.line-banner-message>strong{display:block;font-family:var(--serif);font-size:19px;line-height:1.8;font-weight:500;letter-spacing:.035em}
.line-banner-message>span{display:block;margin-top:5px;font-size:12px;line-height:1.8;color:#5d7350}
.line-friend-button{display:block;padding:8px 0}
.line-friend-button>img{width:174px;height:54px}
.footer-practical{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:35px}
.footer-practical>section+section{padding-left:34px}
.practical-heading{margin-bottom:18px}
.practical-heading h3{font-size:16px}
.payment-panel>p{font-size:13px}
.card-brands{display:flex;align-items:center;flex-wrap:wrap;gap:27px;min-height:82px;margin:10px 0 12px;padding:14px 16px;background:#fff;border-radius:4px}
.card-brands>img{object-fit:contain;height:auto;max-height:43px;max-width:90px;flex-shrink:0}
.card-brands>.card-visa{width:85px}
.card-brands>.card-jcb{width:55px}
.card-brands>.card-amex{width:43px}
.payment-panel>small{font-size:11px}
.insurance-banners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;align-items:center;margin:0 0 14px}
.insurance-banners>a{display:block;background:#fff;padding:10px;border-radius:4px}
.insurance-banners img{width:100%;height:auto;display:block}
.insurance-panel>p{font-size:11px}
.footer-card{padding-bottom:33px}
.mobile-actions .mobile-line>img{width:40px;height:40px}

@media(max-width:1199px){
  .header-brand .brand-name{font-size:29px}.header-brand .brand-mark{width:99px;height:56px}.header-brand-en{font-size:9px}.header-actions{gap:22px}.site-header .header-phone{font-size:26px}.header-line-button{padding:12px 14px}.header-line-button>img{width:184px;height:auto}
  .nav-label{font-size:13px;letter-spacing:.015em}.nav-chevron{right:9px}.mega-panel{padding:32px 27px;gap:24px}.mega-heading>h2{font-size:22px}.mega-service-links>a{padding-inline:16px}
  .line-banner{padding:26px 30px;gap:25px}.line-banner-identity>img{width:234px;height:auto}.line-banner-message{padding-left:24px}.line-banner-message>strong{font-size:17px}.line-friend-button>img{width:145px;height:45px}
  .footer-practical{gap:26px}.footer-practical>section+section{padding-left:26px}.card-brands{gap:22px}.card-brands>.card-visa{width:75px}.card-brands>.card-jcb{width:50px}.card-brands>.card-amex{width:40px}
}
@media(max-width:1023px){
  .site-header{position:sticky}.site-header .header-main{height:88px}.header-brand .brand-name{font-size:28px}.header-brand .brand-mark{width:90px;height:51px}.header-phone-block{display:none}.header-line-button{min-height:52px;padding:10px 13px}.header-line-button>img{width:156px;height:20px}.header-line-button>span{display:none}.header-nav-shell{background:transparent;box-shadow:none}
  .clinic-navigation{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:20px 32px 26px;margin:0;background:#f9faf4;border-bottom:1px solid #d0dcc2;max-height:calc(100dvh - 179px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 14px 25px #173f321a}.clinic-navigation.is-open{display:block}body.menu-open{overflow:hidden}
  .clinic-nav-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#dce5d1;border:1px solid #dce5d1;border-radius:10px;overflow:hidden}.nav-tile{background:#eef3e6;height:104px;padding:11px 4px}.nav-tile::after{display:none}.nav-icon-wrap{height:40px}.nav-icon{width:33px;height:33px}.nav-label{font-size:14px}.nav-chevron{right:16px;top:48px}
  .mega-panel{position:relative;top:auto;border:1px solid #d6e0cb;border-radius:8px;padding:30px 23px 23px;margin-top:15px;box-shadow:none;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px}.mega-photo{display:none}.mega-heading>h2{font-size:24px}.mega-care{grid-template-columns:minmax(0,1fr);gap:20px}.mega-care .mega-heading>h2 br{display:none}.mega-care .mega-heading>span{display:none}.mega-care .mega-heading>p{margin-bottom:7px}.mega-service-links>a:first-child{border-left:0;padding-left:0}.mega-service-links>a{min-height:150px;padding-block:0}
  .mobile-menu-information{display:block;padding:25px 1px 0}.mobile-menu-information>p{font-family:var(--serif);color:#31593f;font-size:18px;font-weight:500;line-height:1.8}.mobile-menu-information>span{display:block;font-size:12px;line-height:2;color:#566d4f;margin-top:8px}.mobile-menu-information .menu-contact{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:18px}.menu-contact a{min-height:54px;padding:10px 16px;border-radius:5px;font-size:18px;letter-spacing:.015em}.menu-contact a:last-child{background:#fff;border:1px solid #ceddc3}.menu-contact img{width:180px;height:auto}
  .footer-contact-actions{padding-right:20px}.footer-contact-copy h2{font-size:28px}.footer-phone{font-size:32px}.line-banner{grid-template-columns:minmax(0,1fr) auto;gap:15px 25px}.line-banner-identity{grid-column:1;grid-row:1}.line-banner-message{grid-column:1;grid-row:2;padding:0;border:0}.line-banner-message>strong{font-family:var(--sans);font-size:13px}.line-banner-message>span{display:none}.line-friend-button{grid-column:2;grid-row:1/3}.line-friend-button>img{width:174px;height:54px}
  .footer-practical{grid-template-columns:minmax(0,1fr);gap:27px}.footer-practical>section+section{border-left:0;padding:26px 0 0;border-top:1px solid #d8dfce}.insurance-banners{max-width:610px;gap:27px}.insurance-banners>a{padding:14px}.card-brands{min-height:80px;gap:30px;width:max-content;max-width:100%}.card-brands>.card-visa{width:86px}.card-brands>.card-jcb{width:55px}.card-brands>.card-amex{width:43px}
}
@media(max-width:767px){
  .header-actions{display:none}
  .site-header .header-main{height:82px}.header-brand .brand-name{font-size:24px}.header-brand .brand-mark{width:78px;height:45px}.header-brand-en{font-size:7px;letter-spacing:.13em}.header-line-button{background:#f2f8ec;border:1px solid #d8e4d0;padding:8px 10px;min-height:44px}.header-line-button>img{width:141px;height:18px}
  .clinic-navigation{padding:17px 20px 25px;max-height:calc(100dvh - 172px)}.clinic-nav-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-tile{height:97px;gap:2px}.nav-label{font-size:13px}.nav-en{font-size:8px;letter-spacing:.1em}.nav-icon-wrap{height:37px}.nav-icon{width:31px;height:31px}.nav-icon-wrap::before{width:44px;height:35px}.nav-chevron{top:44px;right:13px}
  .mega-panel{padding:25px 19px 19px;grid-template-columns:minmax(0,1fr);gap:18px}.mega-heading>p{font-size:8px;margin-bottom:8px}.mega-heading>h2{font-size:22px}.mega-heading>h2 br{display:none}.mega-heading>span{display:none}.mega-links>a{padding:12px 1px;font-size:13px}.mega-service-links{grid-template-columns:minmax(0,1fr)}.mega-service-links>a,.mega-service-links>a:first-child{flex-direction:row;align-items:center;border-left:0;border-top:1px solid #dce4d2;padding:15px 0;min-height:0;gap:15px}.mega-number{font-size:23px}.mega-service-links strong{font-size:13px}.mega-service-links small{font-size:11px;margin-top:4px}.mega-service-links>a>span:last-child{margin:0 0 0 auto;align-self:center}
  .mobile-menu-information>p{font-size:16px}.mobile-menu-information>span{font-size:12px}.mobile-menu-information .menu-contact{grid-template-columns:minmax(0,1fr);gap:10px}.menu-contact a{min-height:51px;font-size:19px}.menu-contact img{width:211px;height:27px}
  .footer-contact{padding-bottom:28px}.footer-contact-copy h2{font-size:25px}.footer-contact-actions{margin-top:24px;padding:0}.footer-phone{font-size:32px}.line-banner{padding:25px 23px;grid-template-columns:minmax(0,1fr);gap:13px;margin-bottom:19px;border-radius:8px}.line-banner-identity{grid-column:1;grid-row:1}.line-banner-identity>p{font-size:18px;margin-bottom:12px}.line-banner-identity>img{width:250px;height:32px}.line-banner-message{grid-column:1;grid-row:2}.line-banner-message>strong{font-size:12px;font-weight:400}.line-friend-button{grid-column:1;grid-row:3;padding:4px 0 0;width:max-content}.line-friend-button>img{width:145px;height:45px}
  .footer-practical{gap:23px}.practical-heading h3{font-size:16px}.card-brands{gap:22px;margin:12px 0;min-height:76px;padding:14px}.card-brands>.card-visa{width:73px}.card-brands>.card-jcb{width:48px}.card-brands>.card-amex{width:39px}.insurance-banners{gap:13px;grid-template-columns:minmax(0,1fr);max-width:290px}.insurance-banners>a{padding:13px}.insurance-panel>p,.payment-panel>small{font-size:12px;line-height:1.9}.mobile-actions .mobile-line{padding:0;gap:0;font-size:9px;line-height:1.2}.mobile-actions .mobile-line>img{width:40px;height:40px;margin-bottom:2px}
}
@media(max-width:479px){.header-actions{display:none}.header-brand .brand-name{font-size:23px}.header-brand .brand-mark{width:74px;height:43px}}
@media(max-width:374px){.header-brand .brand-name{font-size:20px}.header-brand .brand-mark{width:63px;height:38px}.header-brand-en{font-size:6px}.clinic-navigation{padding-inline:16px}.nav-label{font-size:12px}.nav-chevron{right:10px}.footer-contact-copy h2{font-size:23px}.footer-phone{font-size:29px}.line-banner{padding-inline:20px}.line-banner-identity>img{width:234px;height:30px}.card-brands{gap:18px}.card-brands>.card-visa{width:65px}.card-brands>.card-jcb{width:44px}.card-brands>.card-amex{width:36px}}
@media(prefers-reduced-motion:reduce){.nav-icon-wrap::before,.nav-chevron{transition:none}}
