/* 자동 생성 · style.css → v5 색 · 직접 고치지 마세요 (inc/design-v5.php) */



:root,
html {
color-scheme: light dark;
}
html,
body {
background-color: var(--color-bg);
color: var(--color-text);
}


:root {

--color-primary: #1F4A3E;          
--color-primary-light: #4E7A6C;    
--color-primary-dark: #163830;     
--color-accent: #8A8A86;           
--color-accent-light: #D6D6D2;
--color-accent-dark: #5E5E5B;      
--color-accent-hover: #757572;     
--color-accent-bg: rgba(138, 138, 134, 0.08);  


--color-bg: #FAFAF8;               
--color-surface: #FFFFFF;          
--color-surface-alt: #F2F1EE;      
--color-white: #FFFFFF;
--color-border: #E4E3DF;           


--color-text: #161616;             
--color-text-sub: #3F3F3D;         
--color-text-mute: #6E6E6B;        
--color-text-on-primary: #FFFFFF;


--color-success: #6FB58F;
--color-warning: #E5A954;
--color-danger:  #C66B5E;


--radius-sm: 2px;
--radius-md: 3px;
--radius-lg: 4px;
--radius-xl: 4px;
--radius-pill: 2px;


--shadow-soft: 0 4px 20px rgba(31, 74, 62, 0.10);
--shadow-hover: 0 12px 32px rgba(31, 74, 62, 0.18);
--shadow-card: 0 2px 12px rgba(22, 22, 22, 0.06);


--card-radius: 2px;
--card-shadow: 0 6px 20px rgba(22, 22, 22, 0.06);
--card-shadow-hover: 0 14px 32px rgba(22, 22, 22, 0.12);
--card-border: 1px solid var(--color-border);
--card-padding: clamp(20px, 2.4vw, 28px);
--card-transition: transform 0.24s var(--ease), box-shadow 0.24s var(--ease), border-color 0.24s var(--ease);


--container-max: 1200px;
--container-narrow: 880px;
--section-padding: clamp(44px, 5.5vw, 76px);
--section-padding-sm: clamp(28px, 3.5vw, 44px);


--fs-display: clamp(2.25rem, 5vw, 3.75rem);
--fs-h1: clamp(1.875rem, 4vw, 2.875rem);
--fs-h2: clamp(1.5rem, 3vw, 2.25rem);
--fs-h3: clamp(1.125rem, 1.8vw, 1.5rem);
--fs-h4: clamp(1rem, 1.4vw, 1.25rem);
--fs-body: clamp(0.9375rem, 1.1vw, 1.0625rem);
--fs-small: clamp(0.875rem, 1vw, 0.9375rem);
--fs-caption: clamp(0.8125rem, 0.9vw, 0.875rem);


--ease: cubic-bezier(0.4, 0, 0.2, 1);
--ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
}


@media (prefers-color-scheme: dark) {
:root {
--color-bg: #1A140E;
--color-surface: #241C15;
--color-surface-alt: #2F251C;
--color-white: #2A211A;
--color-border: #3A2E24;

--color-text: #F0E6DA;
--color-text-sub: #C6B7A6;
--color-text-mute: #8F7F6E;


--color-primary-light: #9CC5B5;


--shadow-soft: 0 4px 20px rgba(0, 0, 0, 0.35);
--shadow-hover: 0 12px 32px rgba(0, 0, 0, 0.5);
--shadow-card: 0 2px 12px rgba(0, 0, 0, 0.4);

--card-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
--card-shadow-hover: 0 14px 32px rgba(0, 0, 0, 0.55);
}

.md-doccard__photo img,
.md-news-card__media img,
.md-hero__media img,
.md-facility-card__img img { filter: brightness(0.9); }


.md-doccard,
.md-news-card,
.md-service-card,
.md-spec,
.md-staff-dept,
.md-hours,
.md-faq__item,
.md-info-card,
.md-region-pill,
.md-mapbtn,
.md-channel-card,
.md-price-table { background: var(--color-white); border-color: var(--color-border); }


.md-doccard__role,
.md-news-card__category,
.md-nav-hero__crumbs { background: rgba(42, 33, 26, 0.94); color: var(--color-text); }


.md-site-header { background: rgba(26, 20, 14, 0.96); }




.md-hero__media {
background:
radial-gradient(circle at 30% 20%, rgba(156, 197, 181, 0.22), transparent 60%),
radial-gradient(circle at 70% 80%, rgba(214, 214, 210, 0.18), transparent 60%),
linear-gradient(160deg, #3A2C22, #241C15);
border: 1px solid rgba(156, 197, 181, 0.15);
}
.md-hero__media-placeholder { color: var(--color-text); opacity: 0.9; }
.md-hero__media-placeholder::before {
opacity: 1;
filter: drop-shadow(0 6px 24px rgba(156, 197, 181, 0.35)) saturate(1.05);
}


.md-hero {
background:
radial-gradient(ellipse at 90% 0%, rgba(156, 197, 181, 0.10), transparent 55%),
radial-gradient(ellipse at 10% 100%, rgba(138, 138, 134, 0.09), transparent 55%),
var(--color-bg);
}


.md-mobile-cta { background: #221A13; border-top-color: rgba(156, 197, 181, 0.18); }
.md-mobile-cta__item--call { color: var(--color-primary-light); border-right-color: rgba(156, 197, 181, 0.15); }
.md-mobile-cta__item--kakao { border-right-color: rgba(0,0,0,0.2); }
.md-mobile-cta__item:active { background: #2E2318; }


.md-header__cta-btn {
filter: brightness(1.12);
box-shadow:
0 0 0 1px rgba(255, 255, 255, 0.12),
0 8px 20px rgba(0, 0, 0, 0.45);
}
.md-header__cta-btn:hover { filter: brightness(1.18); }


.md-lang-switcher__btn {
background: #2A211A;
color: var(--color-text);
border-color: rgba(156, 197, 181, 0.22);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}
.md-lang-switcher__menu {
background: #2A211A;
border-color: rgba(156, 197, 181, 0.18);
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
}
.md-lang-switcher__item { color: var(--color-text); }
.md-lang-switcher__item:hover,
.md-lang-switcher__item:focus-visible { background: rgba(156, 197, 181, 0.12); color: var(--color-primary-light); }


:root {
--color-text: #F7EFE4;        
--color-text-sub: #D6C8B7;    
}

.md-hero__title,
.md-section-head__title,
.md-page-hero__title,
.md-cta-banner__title { color: #FFF6E8; }

.md-hero__lead,
.md-section-head__lead,
.md-page-hero__lead,
.md-cta-banner__lead,
.md-channel-card__desc { color: #E0D2BF; }
}



.md-lang-switcher {
position: fixed;
right: 24px;
bottom: 24px;   
z-index: 160;
display: inline-flex;
}
.md-lang-switcher__btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 14px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 2px;
font-size: 0.8125rem;
font-weight: 700;
color: var(--color-text);
cursor: pointer;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
white-space: nowrap;
}
.md-lang-switcher__btn:hover,
.md-lang-switcher.is-open .md-lang-switcher__btn {
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
border-color: var(--color-primary);
color: var(--color-primary-dark);
}
.md-lang-switcher__globe { flex-shrink: 0; color: var(--color-primary); }
.md-lang-switcher__caret {
font-size: 0.7rem;
transition: transform .15s ease;
}
.md-lang-switcher.is-open .md-lang-switcher__caret { transform: rotate(180deg); }


.md-lang-switcher__menu {
position: absolute;
bottom: calc(100% + 8px);
right: 0;
min-width: 170px;
padding: 6px;
margin: 0;
list-style: none;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
box-shadow: 0 -8px 32px rgba(22, 22, 22, 0.16);
z-index: 100;
}
.md-lang-switcher__item {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 12px;
font-size: 0.875rem;
color: var(--color-text);
border-radius: 3px;
cursor: pointer;
transition: background .12s ease;
}
.md-lang-switcher__item:hover,
.md-lang-switcher__item:focus-visible {
background: rgba(31, 74, 62, 0.10);
outline: none;
}
.md-lang-switcher__flag { font-size: 1.15rem; line-height: 1; }
.md-lang-switcher__label { flex: 1; font-weight: 500; }


@media (max-width: 768px) {
.md-lang-switcher {
right: 12px;
bottom: calc(72px + env(safe-area-inset-bottom, 0px));
}
.md-lang-switcher__btn { padding: 8px 12px; font-size: 0.75rem; }
.md-lang-switcher__menu { min-width: 160px; }
}
@media (max-width: 380px) {

.md-lang-switcher__btn { padding: 8px 10px; }
.md-lang-switcher__caret { display: none; }
}


#google_translate_element {
position: absolute !important;
left: -9999px !important;
top: -9999px !important;
height: 0 !important;
overflow: hidden !important;
}
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate { display: none !important; }
body { top: 0 !important; position: static !important; }
.goog-tooltip,
.goog-tooltip:hover,
.goog-text-highlight { background: none !important; box-shadow: none !important; }

iframe.goog-te-menu-frame { box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important; }


.ast-primary-menu,
.main-header-menu,
.main-navigation .menu,
nav.site-navigation ul,
.md-nav {
flex-wrap: nowrap !important;
min-width: 0 !important;
}
.ast-primary-menu > li,
.main-header-menu > li,
.md-nav > li {
white-space: normal !important;
word-break: keep-all;
max-width: 140px;
}
.ast-primary-menu > li > a,
.main-header-menu > li > a,
.md-nav > li > a {
white-space: normal !important;
line-height: 1.25 !important;
display: inline-block;
text-align: center;
}

@media (min-width: 992px) and (max-width: 1400px) {
.ast-primary-menu > li > a,
.main-header-menu > li > a,
.md-nav > li > a {
font-size: 0.9rem !important;
padding-left: 8px !important;
padding-right: 8px !important;
}
}


.ast-container,
.site-header .ast-container,
.md-site-header .md-container { flex-wrap: nowrap !important; }

.md-header__aside,
.ast-header-button,
.ast-builder-menu-mobile,
.header-widget-area {
flex-shrink: 0 !important;
margin-left: auto !important;
}


font, font > * {
font-family: inherit !important;
color: inherit !important;
}


body {
font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont,
'Apple SD Gothic Neo', 'Malgun Gothic', '맑은 고딕', sans-serif;
color: var(--color-text);
background-color: var(--color-bg);
line-height: 1.75;
letter-spacing: -0.01em;
font-feature-settings: 'tnum';
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
font-family: inherit;
color: var(--color-text);
letter-spacing: -0.025em;
line-height: 1.3;
font-weight: 700;
}

h1 { font-size: var(--fs-h1); }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); font-weight: 600; }
h4 { font-size: var(--fs-h4); font-weight: 600; }

p {
font-size: var(--fs-body);
color: var(--color-text);
margin: 0 0 1em;
}

p.lead {
font-size: clamp(1rem, 1.4vw, 1.1875rem);
color: var(--color-text-sub);
line-height: 1.8;
}

a {
color: var(--color-primary);
text-decoration: none;
transition: color 0.2s var(--ease);
}
a:hover { color: var(--color-primary-dark); }

ul, ol { padding-left: 1.25em; }


.md-container,
.container-md {
max-width: var(--container-max);
margin-inline: auto;
padding-inline: clamp(16px, 4vw, 32px);
}

.md-container--narrow {
max-width: var(--container-narrow);
margin-inline: auto;
padding-inline: clamp(16px, 4vw, 32px);
}

.md-section {
padding-block: var(--section-padding);
}
.md-section--sm {
padding-block: var(--section-padding-sm);
}
.md-section--surface {
background-color: var(--color-surface);
}
.md-section--alt {
background-color: var(--color-surface-alt);
}

.md-section-head {
text-align: center;
max-width: 720px;
margin: 0 auto clamp(24px, 3vw, 40px);
}
.md-section-head__eyebrow {
display: inline-block;
font-size: var(--fs-caption);
font-weight: 600;
color: var(--color-primary);
letter-spacing: 0.12em;
text-transform: uppercase;
margin-bottom: 12px;
}
.md-section-head__title {
font-size: var(--fs-h2);
margin: 0 0 16px;
}
.md-section-head__lead {
font-size: var(--fs-body);
color: var(--color-text-sub);
line-height: 1.8;
}


.md-admin-quickpost {
display: inline-flex;
flex-wrap: wrap;
gap: 8px;
margin-top: 18px;
padding: 8px 12px;
background: rgba(31, 74, 62, 0.08);
border: 1px dashed rgba(31, 74, 62, 0.45);
border-radius: 2px;
}
.md-admin-quickpost .md-btn { white-space: nowrap; }
@media (max-width: 600px) {
.md-admin-quickpost { border-radius: 3px; padding: 10px; }
}


.md-divider-wave {
height: 24px;
background: var(--color-bg);
-webkit-mask: radial-gradient(12px at 12px 0, transparent 98%, #000 100%) -12px 0/24px 100%;
mask: radial-gradient(12px at 12px 0, transparent 98%, #000 100%) -12px 0/24px 100%;
}


.md-btn,
.md-btn-primary,
.md-btn-secondary,
.md-btn-ghost {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 14px 32px;
border-radius: var(--radius-pill);
font-weight: 600;
font-size: var(--fs-body);
font-family: inherit;
line-height: 1;
text-decoration: none;
border: 1.5px solid transparent;
cursor: pointer;
transition: all 0.25s var(--ease);
white-space: nowrap;
}

.md-btn-primary {
background-color: var(--color-primary);
color: var(--color-text-on-primary);
box-shadow: 0 4px 14px rgba(31, 74, 62, 0.28);
}
.md-btn-primary:hover {
background-color: var(--color-primary-dark);
color: var(--color-text-on-primary);
transform: translateY(-2px);
box-shadow: var(--shadow-hover);
}

.md-btn-secondary {
background-color: var(--color-white);
color: var(--color-primary);
border-color: var(--color-primary);
}
.md-btn-secondary:hover {
background-color: var(--color-primary);
color: var(--color-text-on-primary);
transform: translateY(-2px);
}

.md-btn-ghost {
background-color: transparent;
color: var(--color-text);
border-color: var(--color-border);
}
.md-btn-ghost:hover {
background-color: var(--color-surface);
color: var(--color-primary);
border-color: var(--color-primary);
}

.md-btn--lg { padding: 18px 40px; font-size: 1.0625rem; }
.md-btn--sm { padding: 10px 22px; font-size: var(--fs-small); }


.md-btn--kakao {
background-color: #FEE500;
color: #181600;
border-color: #FEE500;
}
.md-btn--kakao:hover {
background-color: #ffd900;
color: #181600;
border-color: #ffd900;
transform: translateY(-2px);
}


.md-btn--naver {
background-color: #03C75A;
color: #FFFFFF;
border-color: #03C75A;
}
.md-btn--naver:hover {
background-color: #02b450;
color: #FFFFFF;
border-color: #02b450;
transform: translateY(-2px);
}


.md-btn--phone {
background-color: var(--color-primary);
color: #FFFFFF;
border-color: var(--color-primary);
box-shadow: 0 4px 14px rgba(31, 74, 62, 0.28);
}
.md-btn--phone:hover {
background-color: var(--color-primary-dark);
color: #FFFFFF;
border-color: var(--color-primary-dark);
transform: translateY(-2px);
box-shadow: 0 8px 22px rgba(31, 74, 62, 0.38);
}


.md-btn-group.md-rcta,
.md-rcta {
display: flex;
flex-direction: row;
align-items: stretch;
justify-content: center;
gap: 12px;
max-width: 720px;
margin-left: auto;
margin-right: auto;
flex-wrap: nowrap;
}
.md-rcta__btn {
display: inline-flex;
align-items: center;
gap: 8px;
border-radius: var(--radius-pill);
font-weight: 700;
white-space: nowrap;
transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease), background-color 0.2s var(--ease);
flex: 1 1 0;
min-width: 0;
justify-content: center;
padding-left: 14px;
padding-right: 14px;
overflow: hidden;
text-overflow: ellipsis;
}

@media (max-width: 520px) {
.md-btn-group.md-rcta,
.md-rcta {
flex-direction: column;
max-width: 340px;
}
.md-rcta__btn { flex: 1 1 auto; width: 100%; }
}
.md-rcta__btn:hover {
transform: translateY(-3px);
}
.md-rcta__btn .md-rcta__icon {
flex-shrink: 0;
width: 22px;
height: 22px;
display: inline-flex;
align-items: center;
justify-content: center;
}
.md-rcta__btn .md-rcta__icon--stroke {
width: 22px;
height: 22px;
}
.md-rcta__label {
font-weight: 700;
letter-spacing: -0.01em;
}


@media (prefers-color-scheme: dark) {
.md-btn--phone { box-shadow: 0 4px 14px rgba(156, 197, 181, 0.25); }
.md-btn--phone:hover { box-shadow: 0 8px 22px rgba(156, 197, 181, 0.35); }
}


.md-rcta__btn {
display: inline-flex !important;
align-items: center;
gap: 8px;
}
.md-rcta__icon {
flex-shrink: 0;
width: 22px;
height: 22px;
display: block;
}
.md-rcta__icon--stroke {
width: 20px;
height: 20px;
}
.md-rcta__label { display: inline-block; }

.md-btn-group {
display: inline-flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
}


.md-rcta {
display: flex;
flex-wrap: wrap;
gap: 12px;
align-items: center;
}
.md-rcta .md-btn { white-space: nowrap; }
@media (max-width: 540px) {
.md-rcta {
flex-direction: column;
align-items: stretch;
gap: 10px;
width: 100%;
}
.md-rcta .md-btn {
width: 100%;
justify-content: center;
padding-left: 16px;
padding-right: 16px;
}
}


.wp-block-button__link,
button.elementor-button {
border-radius: var(--radius-pill) !important;
}


.md-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3vw, 36px);
transition: all 0.3s var(--ease);
}
.md-card:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-4px);
}


.md-utilbar {
background-color: var(--color-surface-alt);
border-bottom: 1px solid var(--color-border);
font-size: var(--fs-caption);
color: var(--color-text-sub);
}
.md-utilbar__inner {
display: flex;
justify-content: space-between;
align-items: center;
gap: 24px;
padding-block: 8px;
flex-wrap: wrap;
}
.md-utilbar__left,
.md-utilbar__right {
display: flex;
gap: 20px;
align-items: center;
flex-wrap: wrap;
}
.md-utilbar a {
color: var(--color-text-sub);
}
.md-utilbar a:hover {
color: var(--color-primary);
}
.md-utilbar__phone {
font-weight: 600;
color: var(--color-primary) !important;
font-feature-settings: 'tnum';
}
@media (max-width: 640px) {
.md-utilbar__right { display: none; }
}


.md-site-header {
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 100;

background-color: #FAFAF8 !important;
color: #161616 !important;
box-shadow: 0 2px 8px rgba(22, 22, 22, 0.06);
transition: box-shadow 0.25s var(--ease), background-color 0.28s var(--ease);
}

.md-site-header.is-scrolled {
box-shadow: 0 6px 24px rgba(22, 22, 22, 0.14);
background-color: #FAFAF8 !important;
}

@media (max-width: 1080px) {
html body header.md-site-header,
html body .md-site-header {
position: fixed !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
width: 100% !important;
z-index: 9999 !important;
background-color: #FAFAF8 !important;
box-shadow: 0 2px 12px rgba(30, 20, 14, 0.10) !important;

transition: none !important;
transform: none !important;
}
html body .md-site-header.is-scrolled {
background-color: #FAFAF8 !important;
box-shadow: 0 4px 16px rgba(30, 20, 14, 0.14) !important;
}
html body .md-site-header.is-scrolled .md-header {
padding-top: 8px !important;
padding-bottom: 8px !important;
}
html body .md-site-header.is-scrolled .md-header__brand-img,
html body .md-site-header.is-scrolled .custom-logo {
transform: none !important;
}

@media (prefers-color-scheme: dark) {
html body header.md-site-header,
html body .md-site-header,
html body .md-site-header.is-scrolled {
background-color: #1B1310 !important;
}
}

html body .md-header__nav-toggle {
display: flex !important;
position: relative !important;
z-index: 10000 !important;
visibility: visible !important;
opacity: 1 !important;
}

html body { padding-top: 72px; }
html body.admin-bar { padding-top: calc(72px + 46px); }
}
.md-site-header .md-header {
transition: padding 0.28s var(--ease);
}
.md-site-header.is-scrolled .md-header {
padding-top: 4px;
padding-bottom: 4px;
}
.md-site-header .md-header__brand-img,
.md-site-header .custom-logo {
transition: transform 0.28s var(--ease);
transform-origin: left center;
}
.md-site-header.is-scrolled .md-header__brand-img,
.md-site-header.is-scrolled .custom-logo {
transform: scale(0.88);
}

@media (prefers-color-scheme: dark) {
.md-site-header.is-scrolled {
background-color: #1B1310 !important;
}
}

.md-header {
background: transparent;
border-bottom: 2px solid var(--color-border);
}


.md-header__brand {

background-color: transparent;
padding: 4px 6px;
border-radius: 3px;
forced-color-adjust: none;
display: inline-flex;
align-items: center;
}
.md-header__brand-img,
.md-header__brand .custom-logo {
forced-color-adjust: none;
}
.md-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
min-height: 84px;
padding-block: 14px;
}
.md-header__brand {
display: flex;
flex-direction: column;
line-height: 1.1;
text-decoration: none;
color: var(--color-text);
}
.md-header__brand-name {
font-size: 1.375rem;
font-weight: 800;
letter-spacing: -0.02em;
color: var(--color-primary-dark);
}
.md-header__brand-en {
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.16em;
color: var(--color-text-mute);
text-transform: uppercase;
margin-top: 2px;
}

.md-header__brand {
display: inline-flex;
align-items: center;

animation: md-logo-enter 0.5s ease-out both;
}
.md-header__brand .custom-logo,
.md-header__brand-img {
max-height: 60px;
width: auto;
display: block;
transform-origin: left center;
transition:
max-height 0.3s var(--ease),
transform 0.25s var(--ease),
filter 0.25s var(--ease);
}


.md-header__brand:hover .md-header__brand-img,
.md-header__brand:hover .custom-logo,
.md-header__brand:focus-visible .md-header__brand-img,
.md-header__brand:focus-visible .custom-logo {
transform: scale(1.03);
filter: drop-shadow(0 2px 6px rgba(31, 74, 62, 0.15));
}



@keyframes md-logo-enter {
from { opacity: 0; transform: translateY(-6px); }
to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 640px) {
.md-header__brand .custom-logo,
.md-header__brand-img { max-height: 44px; }

}

@media (prefers-reduced-motion: reduce) {
.md-header__brand { animation: none; }
.md-header__brand .custom-logo,
.md-header__brand-img { transition: none; }
}


.md-footer__brand-link {
display: inline-block;
margin-bottom: 16px;
transition: transform 0.3s var(--ease), filter 0.3s var(--ease);
}
.md-footer__brand-link:hover {
transform: translateY(-2px);
filter: drop-shadow(0 6px 14px rgba(243, 156, 18, 0.3));
}
.md-footer__brand-img {
max-height: 56px;
width: auto;
display: block;
}
@media (max-width: 520px) {
.md-footer__brand-img { max-height: 44px; }
}

.md-header__nav {
flex: 1;
display: flex;
justify-content: center;
}

.md-nav,
.md-header__nav > ul,
.md-header__nav > div > ul {
list-style: none;
display: flex;
gap: clamp(8px, 1.5vw, 24px);
margin: 0;
padding: 0;
align-items: center;
}
.md-nav > li,
.md-header__nav > ul > li {
position: relative; 
list-style: none;
}
.md-nav > li > a,
.md-header__nav > ul > li > a {
display: inline-flex;
align-items: center;
gap: 4px;
font-weight: 600;
font-size: 0.9375rem;
color: var(--color-text);
padding: 14px 4px;
border-bottom: 2px solid transparent;
transition: all 0.2s var(--ease);
white-space: nowrap;
}
.md-nav > li > a:hover,
.md-nav > li.current-menu-item > a,
.md-header__nav > ul > li.current-menu-item > a {
color: var(--color-primary);
border-bottom-color: var(--color-primary);
}


.md-header__nav .ast-header-navigation-arrow,
.md-header__nav .ast-menu-toggle { display: none; }
.md-header__nav .menu-item-has-children > a::after {
content: '';
width: 0; height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
border-top: 5px solid currentColor;
margin-left: 2px;
opacity: 0.55;
transition: transform 0.2s var(--ease);
}
.md-header__nav .menu-item-has-children:hover > a::after {
transform: rotate(180deg);
}


.md-header__nav .sub-menu {
list-style: none;
position: absolute;
top: calc(100% - 2px);
left: 50%;
transform: translateX(-50%) translateY(8px);
min-width: 180px;
padding: 8px 0;
margin: 0;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
box-shadow: var(--shadow-hover);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.2s var(--ease), transform 0.2s var(--ease), visibility 0.2s;
z-index: 300;
}
.md-header__nav .menu-item-has-children:hover > .sub-menu,
.md-header__nav .menu-item-has-children:focus-within > .sub-menu,
.md-header__nav .menu-item-has-children.md-nav-open > .sub-menu {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateX(-50%) translateY(0);
}
.md-header__nav .sub-menu > li { list-style: none; }
.md-header__nav .sub-menu > li > a {
display: block;
padding: 10px 18px;
font-size: 0.9375rem;
font-weight: 500;
color: var(--color-text);
white-space: nowrap;
border-bottom: none;
transition: background 0.15s var(--ease), color 0.15s var(--ease);
}
.md-header__nav .sub-menu > li > a:hover,
.md-header__nav .sub-menu > li.current-menu-item > a {
background: var(--color-surface);
color: var(--color-primary-dark);
}

.md-header__cta { display: flex; align-items: center; }

.md-header__cta-btn--cycle { min-width: 168px; text-align: center; justify-content: center; }
@media (max-width: 1080px) { .md-header__cta-btn--cycle { min-width: 140px; } }


.menu-toggle,
.main-header-menu-toggle,
.ast-menu-toggle,
.ast-mobile-menu-trigger-fill,
.ast-mobile-menu-trigger-minimal,
.ast-mobile-menu-trigger-fill-clickable,
.ast-mobile-menu-buttons,
#masthead .menu-toggle,
[class*="ast-mobile-menu-buttons"]:not(.md-header__nav-toggle) {
display: none !important;
visibility: hidden !important;
}



.md-header__nav-toggle {
display: none;
flex-direction: column;
justify-content: center;
align-items: center;
width: 46px; height: 46px;
background-color: var(--color-surface);
border: 1.5px solid var(--color-primary);
border-radius: 3px;
cursor: pointer;
padding: 12px 10px;
gap: 5px;
-webkit-appearance: none;
appearance: none;
color: var(--color-text);
flex-shrink: 0;
box-sizing: border-box;
}
.md-header__nav-toggle:hover,
.md-header__nav-toggle:focus-visible {
background-color: var(--color-primary);
border-color: var(--color-primary-dark);
}
.md-header__nav-toggle:hover span,
.md-header__nav-toggle:focus-visible span {
background-color: #fff;
}
.md-header__nav-toggle span {
display: block;
width: 22px;
height: 2.5px;
background-color: var(--color-primary-dark);
border-radius: 2px;
transition: all 0.25s var(--ease);
}
.md-header__nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.md-header__nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.md-header__nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }


@media (max-width: 1080px) {
.md-header__nav-toggle { display: flex; position: relative; z-index: 220; }
}
html.is-mobile-menu .md-header__nav-toggle { display: flex !important; position: relative; z-index: 220; }

@media (max-width: 1080px) {

.md-header__nav {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: auto;
width: 82%;
max-width: 420px;
min-width: 280px;
height: 100vh;
height: 100dvh;                                       
background: var(--color-bg);
border-left: 1px solid var(--color-border);
box-shadow: -12px 0 32px rgba(0, 0, 0, 0.2);
padding: calc(var(--md-header-h, 76px) + 20px) 20px calc(120px + env(safe-area-inset-bottom, 0px));
z-index: 210;
overflow-y: auto;
overscroll-behavior: contain;                         
-webkit-overflow-scrolling: touch;
transform: translateX(100%);
transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
visibility: hidden;
display: block;
}
.md-header__nav.is-open {
transform: translateX(0);
visibility: visible;
}

.md-header__nav::before,
.md-header__nav.is-open::before {
content: none !important;
display: none !important;
}


html.is-menu-open,
html.is-menu-open body {
overflow: hidden !important;
touch-action: none;
}

html.is-menu-open .md-site-header {
z-index: 220;
}
html.is-menu-open .md-header__nav-toggle {
z-index: 230;
}

.md-nav,
.md-header__nav > ul,
.md-header__nav > div > ul {
flex-direction: column;
align-items: stretch;
gap: 0;
padding: 0;                                            
margin: 0;
list-style: none;
}
.md-nav > li,
.md-header__nav > ul > li,
.md-header__nav > div > ul > li { list-style: none; }
.md-nav > li > a,
.md-header__nav > ul > li > a {
display: block;
padding: 14px 4px;
border-bottom: 1px solid var(--color-border);
white-space: normal;
color: var(--color-text);                              
font-weight: 700;
}

.md-header__nav .sub-menu {
position: static;
transform: none !important;
opacity: 1;
visibility: visible;
pointer-events: auto;
background: transparent;
border: none;
box-shadow: none;
padding: 0 0 8px 16px;                                  
margin: 0;
list-style: none;
min-width: 0;
border-radius: 0;
}
.md-header__nav .sub-menu > li { list-style: none; }
.md-header__nav .menu-item-has-children > a::after { display: none; }
.md-header__nav .sub-menu > li > a {
padding: 10px 8px;
font-size: 0.875rem;
color: var(--color-text-sub);
}

.md-header__cta { display: none; }
}


html.is-mobile-menu .md-header__nav {
position: fixed !important;
top: 0; right: 0; bottom: 0; left: auto;
width: 78%; max-width: 400px; min-width: 280px;
background: var(--color-bg);
border-left: 1px solid var(--color-border);
box-shadow: -8px 0 24px rgba(0, 0, 0, 0.15);
padding: 72px 20px calc(120px + env(safe-area-inset-bottom, 0px));
z-index: 210;
overflow-y: auto;
transform: translateX(100%);
transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
visibility: hidden;
display: block !important;
}
html.is-mobile-menu .md-header__nav.is-open { transform: translateX(0); visibility: visible; }
html.is-mobile-menu .md-header__nav > ul,
html.is-mobile-menu .md-header__nav > div > ul {
flex-direction: column !important;
align-items: stretch !important;
gap: 0 !important;
padding: 0 !important;
flex-wrap: nowrap !important;
width: auto !important;
max-width: none !important;
justify-content: flex-start !important;
}
html.is-mobile-menu .md-header__nav > ul > li { flex: 0 0 auto !important; width: 100% !important; }
html.is-mobile-menu .md-header__nav > ul > li > a {
display: block !important;
padding: 14px 4px !important;
border-bottom: 1px solid var(--color-border) !important;
white-space: normal !important;
color: var(--color-text) !important;
font-weight: 700 !important;
font-size: 1rem !important;
text-align: left !important;
}
html.is-mobile-menu .md-header__nav .sub-menu {
position: static !important;
transform: none !important;
opacity: 1 !important;
visibility: visible !important;
pointer-events: auto !important;
background: transparent !important;
border: none !important;
box-shadow: none !important;
padding: 0 0 8px 16px !important;
margin: 0 !important;
min-width: 0 !important;
}
html.is-mobile-menu .md-header__nav .menu-item-has-children > a::after { display: none !important; }
html.is-mobile-menu .md-header__inner {
display: flex !important;
grid-template-columns: none !important;
gap: 10px !important;
padding-inline: 14px !important;
align-items: center !important;
justify-content: flex-start !important;
}
html.is-mobile-menu .md-header__brand { order: 1 !important; }
html.is-mobile-menu .md-header__nav { order: 2 !important; }
html.is-mobile-menu .md-header__aside { order: 3 !important; margin-left: auto !important; padding: 0 !important; }
html.is-mobile-menu .md-header__nav-toggle { order: 4 !important; margin-left: 4px !important; }
html.is-mobile-menu .md-header__cta { display: inline-flex !important; }
html.is-mobile-menu .md-header__info { display: none !important; }
html.is-mobile-menu body:has(.md-header__nav.is-open),
html.is-mobile-menu:has(.md-header__nav.is-open) { overflow: hidden; }


@media (max-width: 1080px) {
body:has(.md-header__nav.is-open) { overflow: hidden; }
}


@media (prefers-color-scheme: dark) and (max-width: 1080px) {
.md-header__nav { background: #FAFAF8 !important; border-bottom-color: rgba(30, 20, 14, 0.10) !important; }
.md-header__nav > ul > li > a,
.md-nav > li > a { border-bottom-color: rgba(30, 20, 14, 0.10) !important; color: #2A1E18 !important; }
.md-header__nav .sub-menu > li > a { color: #6B554A !important; }
}


.md-nav-nolink > a { cursor: default; }
.md-nav-nolink > a:hover { color: var(--color-primary); } 


.md-enc { padding-top: clamp(32px, 4vw, 48px); }


.md-enc-search {
display: flex; align-items: stretch; gap: 8px;
max-width: 720px; margin: 0 auto clamp(24px, 3vw, 36px);
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-pill);
padding: 6px 6px 6px 20px;
}
.md-enc-search input[type="search"] {
flex: 1; border: 0; background: transparent; outline: none;
font-size: 0.9375rem; color: var(--color-text);
min-width: 0;
}
.md-enc-search input[type="search"]::placeholder { color: var(--color-text-mute); }
.md-enc-search .md-btn { padding: 10px 22px; border-radius: var(--radius-pill); }
.md-enc-clear {
align-self: center; padding: 0 12px;
font-size: 0.8125rem; color: var(--color-text-sub);
text-decoration: underline;
}


.md-enc-cats {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
margin-bottom: clamp(18px, 2.4vw, 28px);
padding: clamp(12px, 1.6vw, 18px) clamp(10px, 2vw, 20px);
background: linear-gradient(180deg, rgba(31, 74, 62, 0.03) 0%, rgba(31, 74, 62, 0.08) 100%);
border-radius: 3px;
border: 1px solid rgba(31, 74, 62, 0.12);
}
.md-enc-cat {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 16px 10px 12px;
background: #fff;
border: 1.5px solid rgba(31, 74, 62, 0.15);
border-radius: 2px;
font-size: 0.9rem;
font-weight: 600;
color: var(--color-text);
text-decoration: none;
transition: all .22s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
line-height: 1;
}
.md-enc-cat__ico {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
font-size: 1.05rem;
line-height: 1;
flex-shrink: 0;
}
.md-enc-cat__label {
font-weight: 600;
letter-spacing: -0.01em;
}
.md-enc-cat__n {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 22px;
height: 20px;
padding: 0 7px;
background: rgba(31, 74, 62, 0.10);
color: var(--color-primary-dark);
border-radius: 2px;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0;
transition: all .22s cubic-bezier(0.16, 1, 0.3, 1);
}
.md-enc-cat:hover {
border-color: var(--color-primary);
color: var(--color-primary-dark);
transform: translateY(-1px);
box-shadow: 0 6px 14px rgba(31, 74, 62, 0.16);
}
.md-enc-cat:hover .md-enc-cat__n {
background: rgba(31, 74, 62, 0.18);
}
.md-enc-cat.is-active {
background: linear-gradient(135deg, var(--color-primary) 0%, #c56a4d 100%);
color: #fff;
border-color: var(--color-primary-dark);
box-shadow: 0 6px 16px rgba(31, 74, 62, 0.32);
transform: translateY(-1px);
}
.md-enc-cat.is-active .md-enc-cat__n {
background: rgba(255, 255, 255, 0.24);
color: #fff;
}
.md-enc-cat--all {
font-weight: 700;
}
@media (prefers-color-scheme: dark) {
.md-enc-cats {
background: linear-gradient(180deg, rgba(156, 197, 181, 0.05) 0%, rgba(156, 197, 181, 0.10) 100%);
border-color: rgba(156, 197, 181, 0.18);
}
.md-enc-cat {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.22);
color: #ececec;
}
.md-enc-cat__n {
background: rgba(156, 197, 181, 0.15);
color: #9CC5B5;
}
.md-enc-cat:hover {
background: rgba(156, 197, 181, 0.09);
border-color: #9CC5B5;
color: #9CC5B5;
}
.md-enc-cat:hover .md-enc-cat__n {
background: rgba(156, 197, 181, 0.25);
}
.md-enc-cat.is-active {
background: linear-gradient(135deg, #9CC5B5 0%, #1F4A3E 100%);
color: #1B1310;
border-color: #9CC5B5;
}
.md-enc-cat.is-active .md-enc-cat__n {
background: rgba(27, 19, 16, 0.20);
color: #1B1310;
}
}
@media (max-width: 640px) {
.md-enc-cats { gap: 6px; padding: 10px; }
.md-enc-cat { padding: 8px 12px 8px 10px; font-size: 0.85rem; }
.md-enc-cat__ico { width: 18px; height: 18px; font-size: 0.95rem; }
}


.md-enc-initials {
display: flex; flex-wrap: wrap; gap: 4px;
justify-content: center;
margin-bottom: clamp(24px, 3vw, 32px);
padding: 10px 14px;
background: var(--color-surface);
border-radius: var(--radius-lg);
}
.md-enc-initial {
display: inline-flex; align-items: center; justify-content: center;
width: 34px; height: 34px;
border-radius: 3px;
font-size: 0.9375rem; font-weight: 700;
color: var(--color-text); text-decoration: none;
transition: all .15s var(--ease);
}
.md-enc-initial:first-child { width: auto; padding: 0 12px; }
.md-enc-initial:hover { background: var(--color-white); color: var(--color-primary-dark); }
.md-enc-initial.is-active { background: var(--color-primary); color: #fff; }


.md-enc-count {
text-align: center; font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 0 clamp(24px, 3vw, 32px);
}
.md-enc-count strong { color: var(--color-primary-dark); }
.md-enc-count em { font-style: normal; color: var(--color-text); }


.md-enc-group { margin-bottom: clamp(32px, 4vw, 48px); }
.md-enc-group__title {
font-size: clamp(1.375rem, 2vw, 1.75rem);
font-weight: 800;
margin: 0 0 clamp(16px, 2vw, 22px);
padding: 6px 16px;
background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
color: #fff;
border-radius: 3px;
display: inline-block;
letter-spacing: -0.02em;
}


.md-enc-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: clamp(14px, 1.8vw, 20px);
}
.md-enc-card {
display: flex; flex-direction: column; gap: 8px;
padding: 18px 20px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
text-decoration: none;
color: inherit;
transition: transform .22s var(--ease), border-color .22s var(--ease), box-shadow .22s var(--ease);
}
.md-enc-card:hover {
transform: translateY(-2px);
border-color: var(--color-primary-light);
box-shadow: 0 8px 20px rgba(31, 74, 62, 0.10);
}
.md-enc-card__title {
margin: 0;
font-size: 1.0625rem;
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.015em;
}
.md-enc-card:hover .md-enc-card__title { color: var(--color-primary-dark); }
.md-enc-card__excerpt {
margin: 0;
font-size: 0.875rem;
color: var(--color-text-sub);
line-height: 1.6;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.md-enc-card__cats {
display: flex; flex-wrap: wrap; gap: 4px;
margin-top: auto; padding-top: 4px;
}
.md-enc-card__cat {
font-size: 0.6875rem; font-weight: 600;
color: var(--color-text-mute);
padding: 2px 8px;
background: var(--color-surface);
border-radius: 2px;
}


.md-enc-empty {
text-align: center; padding: 60px 20px;
color: var(--color-text-sub);
}
.md-enc-empty p:first-child { font-size: 1.25rem; font-weight: 700; margin: 0 0 8px; }


.md-term-hero__cats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.md-term-hero__cat {
display: inline-flex; align-items: center;
padding: 4px 12px;
background: var(--color-surface); border: 1px solid var(--color-border);
border-radius: var(--radius-pill);
font-size: 0.75rem; font-weight: 600;
color: var(--color-primary-dark); text-decoration: none;
}
.md-term-hero__cat:hover { background: var(--color-primary); color: #fff; }
.md-term-content { font-size: var(--fs-body); line-height: 1.85; }
.md-term-content > *:first-child { margin-top: 0; }
.md-term-actions {
display: flex; flex-wrap: wrap; gap: 12px;
justify-content: space-between; align-items: center;
margin-top: clamp(32px, 4vw, 48px); padding-top: clamp(24px, 3vw, 32px);
border-top: 1px solid var(--color-border);
}


@media (max-width: 560px) {
.md-enc-search { flex-wrap: wrap; padding: 8px; border-radius: var(--radius-md); }
.md-enc-search input[type="search"] { padding: 8px 12px; }
.md-enc-search .md-btn { flex: 1; }
.md-enc-initial { width: 30px; height: 30px; font-size: 0.875rem; }
.md-enc-grid { grid-template-columns: 1fr; }
}


@media (prefers-color-scheme: dark) {
.md-enc-search { background: rgba(255,246,232,0.06); border-color: rgba(156,197,181,0.18); }
.md-enc-initials { background: rgba(255,246,232,0.04); }
.md-enc-initial:hover { background: rgba(255,246,232,0.10); }
.md-enc-card { background: rgba(255,246,232,0.05); border-color: rgba(156,197,181,0.18); }
.md-enc-card__cat { background: rgba(255,246,232,0.08); color: var(--color-text-sub); }
.md-term-hero__cat { background: rgba(255,246,232,0.08); border-color: rgba(156,197,181,0.18); color: var(--color-primary-light); }
}


.md-hero-combined {
position: relative;
padding: clamp(48px, 6vw, 88px) 0 clamp(40px, 4.5vw, 64px);
overflow: hidden;
background:
radial-gradient(ellipse 60% 45% at 15% 15%, rgba(31, 74, 62, 0.10), transparent 60%),
radial-gradient(ellipse 55% 40% at 85% 85%, rgba(138, 138, 134, 0.10), transparent 60%),
var(--color-bg);
}


.md-hero-combined--has-bg {
padding-top: clamp(80px, 9vw, 140px);
padding-bottom: clamp(72px, 7vw, 110px);
position: relative;
background-image:
linear-gradient(180deg,
rgba(15, 10, 6, calc(var(--md-hero-overlay, 0.35) * 0.4)) 0%,
rgba(15, 10, 6, 0) 30%,
rgba(15, 10, 6, 0) 70%,
rgba(15, 10, 6, calc(var(--md-hero-overlay, 0.35) * 0.4)) 100%),
var(--md-hero-bg);
background-size: cover, cover;
background-position: center, center;
background-repeat: no-repeat, no-repeat;
background-color: #2a1e18;
}

.md-hero-combined--has-bg::before {
display: none !important;
content: none !important;
background: none !important;
}

.md-hero-combined--has-bg::after {
display: none !important;
content: none !important;
}
.md-hero-combined--has-bg .md-container {
position: relative;
z-index: 2;
background: transparent !important;
border: none !important;
box-shadow: none !important;
backdrop-filter: none !important;
-webkit-backdrop-filter: none !important;
}

.md-hero-combined--has-bg .md-hero-combined__eyebrow {
color: #fff !important;
background: rgba(0, 0, 0, 0.42);
border: 1px solid rgba(255, 220, 180, 0.35);
padding: 7px 16px;
border-radius: 2px;
font-weight: 700;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
}
.md-hero-combined--has-bg .md-hero-combined__title {
color: #FFF6E5 !important;                              
font-weight: 800;
text-shadow:
0 1px 0  rgba(0, 0, 0, 0.6),
0 2px 6px rgba(0, 0, 0, 0.85),
0 4px 18px rgba(0, 0, 0, 0.65),
0 8px 40px rgba(0, 0, 0, 0.45);
}
.md-hero-combined--has-bg .md-hero-combined__title em {
color: #FFC48A !important;                              
font-style: normal;
background: none !important;
-webkit-background-clip: unset !important;
-webkit-text-fill-color: #FFC48A !important;
background-clip: unset !important;
text-shadow:
0 1px 0  rgba(0, 0, 0, 0.7),
0 2px 6px rgba(0, 0, 0, 0.9),
0 4px 18px rgba(0, 0, 0, 0.7),
0 0 24px rgba(255, 120, 50, 0.35);                    
filter: none !important;
}
.md-hero-combined--has-bg .md-hero-combined__title em::after {
background: linear-gradient(90deg, transparent, rgba(255, 196, 138, 0.9), transparent);
}
.md-hero-combined--has-bg .md-hero-combined__quote {
color: #FFF6E5 !important;
font-weight: 500;
text-shadow:
0 1px 3px rgba(0, 0, 0, 0.85),
0 2px 12px rgba(0, 0, 0, 0.7);
}
.md-hero-combined--has-bg .md-hero-combined__quote p { color: inherit !important; }

.md-hero-combined--has-bg .md-hero-combined__certs li {
background: rgba(0, 0, 0, 0.50) !important;
border: 1px solid rgba(255, 220, 180, 0.28) !important;
color: #fff !important;
font-weight: 600;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.30);
}

.md-hero-combined--has-bg .md-hero-combined__stats {
background: rgba(0, 0, 0, 0.48) !important;
border: 1px solid rgba(255, 220, 180, 0.22) !important;
border-radius: 3px;
padding: clamp(14px, 1.8vw, 22px);
box-shadow: 0 8px 28px rgba(0, 0, 0, 0.30);
}
.md-hero-combined--has-bg .md-hero-combined__stat-value,
.md-hero-combined--has-bg .md-hero-combined__stat-unit {
color: #FFC48A !important;                              
font-weight: 800;
text-shadow:
0 1px 3px rgba(0, 0, 0, 0.85),
0 2px 10px rgba(0, 0, 0, 0.6);
}
.md-hero-combined--has-bg .md-hero-combined__stat-label {
color: #FFF6E5 !important;
font-weight: 600;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
}


.md-hero-combined .md-container {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
gap: clamp(20px, 3vw, 36px);
text-align: center;
width: 100%;
}


.md-hero-combined__title-block {
display: flex;
flex-direction: column;
align-items: center;
gap: 18px;
}
.md-hero-combined__eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: var(--fs-caption);
font-weight: 600;
color: var(--color-primary-dark);
background: var(--color-white);
padding: 8px 18px;
border-radius: var(--radius-pill);
letter-spacing: 0.05em;
border: 1px solid var(--color-border);
}
.md-hero-combined__title {
font-size: clamp(1.875rem, 5vw, 3.5rem);
line-height: 1.22;
margin: 0;
font-weight: 800;
letter-spacing: -0.03em;
word-break: keep-all;
max-width: 22ch;
}
.md-hero-combined__title em {
color: var(--color-primary);
font-style: normal;
position: relative;
display: inline-block;
}
.md-hero-combined__title em::after {
content: '';
position: absolute;
bottom: 2px; left: 0; right: 0;
height: clamp(8px, 1vw, 14px);
background: var(--color-accent-light);
opacity: 0.5;
z-index: -1;
border-radius: 3px;
}


.md-hero-combined__quote {
margin: 0;
padding: 0;
max-width: 780px;
border: none;
}
.md-hero-combined__quote p {
font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
line-height: 1.75;
color: var(--color-text-sub);
font-weight: 500;
margin: 0;
word-break: keep-all;
font-style: italic;
}


.md-hero-combined__certs {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: 8px 10px;
justify-content: center;
max-width: 900px;
}
.md-hero-combined__certs li {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 14px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-pill);
font-size: 0.8125rem;
color: var(--color-text);
font-weight: 500;
white-space: nowrap;
}
.md-hero-combined__certs li:hover {
border-color: var(--color-primary-light);
color: var(--color-primary-dark);
}


.md-hero-combined__stats {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(16px, 2vw, 32px);
width: 100%;
max-width: 960px;
padding-top: clamp(16px, 2vw, 28px);
border-top: 1px solid var(--color-border);
}
.md-hero-combined__stat {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
}
.md-hero-combined__stat-num {
display: inline-flex;
align-items: baseline;
gap: 4px;
}
.md-hero-combined__stat-value {
font-size: clamp(2rem, 4vw, 2.875rem);
font-weight: 800;
color: var(--color-primary);
letter-spacing: -0.03em;
line-height: 1;
}
.md-hero-combined__stat-unit {
font-size: clamp(0.875rem, 1.1vw, 1rem);
font-weight: 700;
color: var(--color-primary-dark);
}
.md-hero-combined__stat-label {
font-size: clamp(0.8125rem, 1vw, 0.9375rem);
color: var(--color-text-sub);
font-weight: 600;
text-align: center;
word-break: keep-all;
}


@media (max-width: 900px) {
.md-hero-combined__stats { grid-template-columns: repeat(4, 1fr); gap: 12px; }
}
@media (max-width: 640px) {
.md-hero-combined { padding-top: clamp(40px, 8vw, 64px); padding-bottom: clamp(32px, 6vw, 56px); }
.md-hero-combined__stats { grid-template-columns: repeat(2, 1fr); gap: 20px 12px; }
.md-hero-combined__certs { gap: 6px 8px; }
.md-hero-combined__certs li { font-size: 0.75rem; padding: 5px 11px; }
}


@media (prefers-color-scheme: dark) {
.md-hero-combined:not(.md-hero-combined--has-bg) {
background:
radial-gradient(ellipse 60% 45% at 15% 15%, rgba(156, 197, 181, 0.10), transparent 60%),
radial-gradient(ellipse 55% 40% at 85% 85%, rgba(214, 214, 210, 0.08), transparent 60%),
var(--color-bg);
}
.md-hero-combined:not(.md-hero-combined--has-bg) .md-hero-combined__eyebrow,
.md-hero-combined:not(.md-hero-combined--has-bg) .md-hero-combined__certs li {
background: rgba(255, 246, 232, 0.06);
border-color: rgba(156, 197, 181, 0.18);
color: var(--color-text);
}
.md-hero-combined:not(.md-hero-combined--has-bg) .md-hero-combined__eyebrow { color: var(--color-primary-light); }
.md-hero-combined:not(.md-hero-combined--has-bg) .md-hero-combined__stat-value { color: var(--color-primary-light); }
.md-hero-combined:not(.md-hero-combined--has-bg) .md-hero-combined__stats { border-top-color: rgba(156, 197, 181, 0.15); }
}


.md-hero--centered {
padding: clamp(72px, 10vw, 140px) 0 clamp(80px, 11vw, 160px);
text-align: center;
min-height: min(85vh, 780px);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
position: relative;
}
.md-hero--centered::before {
content: '';
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 60% 50% at 20% 20%, rgba(31, 74, 62, 0.10), transparent 60%),
radial-gradient(ellipse 55% 45% at 80% 85%, rgba(138, 138, 134, 0.10), transparent 60%);
pointer-events: none;
z-index: 0;
}
.md-hero--centered .md-container { position: relative; z-index: 1; }

.md-hero__center {
max-width: 820px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 20px;
}

.md-hero--centered .md-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: var(--fs-caption);
font-weight: 600;
color: var(--color-primary-dark);
background: var(--color-white);
padding: 8px 18px;
border-radius: var(--radius-pill);
letter-spacing: 0.05em;
border: 1px solid var(--color-border);
margin: 0;
}

.md-hero--centered .md-hero__title {
font-size: clamp(2rem, 5.5vw, 3.5rem);
line-height: 1.25;
margin: 0;
font-weight: 800;
letter-spacing: -0.03em;
word-break: keep-all;
}
.md-hero--centered .md-hero__title em {
color: var(--color-primary);
font-style: normal;
position: relative;
display: inline-block;
}
.md-hero--centered .md-hero__title em::after {
content: '';
position: absolute;
bottom: 2px; left: 0; right: 0;
height: clamp(8px, 1vw, 14px);
background: var(--color-accent-light);
opacity: 0.5;
z-index: -1;
border-radius: 3px;
}

.md-hero--centered .md-hero__lead {
font-size: clamp(1rem, 1.4vw, 1.1875rem);
color: var(--color-text-sub);
line-height: 1.8;
margin: 8px 0 0;
max-width: 620px;
word-break: keep-all;
}

.md-hero--centered .md-hero__badges {
list-style: none;
padding: 0;
margin: 8px 0 0;
display: flex;
flex-wrap: wrap;
gap: 8px 16px;
justify-content: center;
}
.md-hero--centered .md-hero__badges li {
font-size: var(--fs-small);
color: var(--color-text-sub);
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 14px;
background: var(--color-white);
border-radius: var(--radius-pill);
border: 1px solid var(--color-border);
}
.md-hero--centered .md-hero__badges li span[aria-hidden] {
color: var(--color-success);
font-weight: 700;
}

.md-hero__actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
margin-top: 20px;
}
.md-hero__actions .md-btn {
min-width: 180px;
justify-content: center;
}
.md-hero__actions .md-btn__icon { margin-right: 4px; vertical-align: middle; }


.md-hero__scroll {
position: absolute;
bottom: 24px;
left: 50%;
transform: translateX(-50%);
width: 24px;
height: 40px;
border: 2px solid var(--color-text-mute);
border-radius: 3px;
opacity: 0.5;
display: flex;
justify-content: center;
padding-top: 8px;
}
.md-hero__scroll span {
display: block;
width: 3px;
height: 8px;
background: var(--color-text-mute);
border-radius: 2px;
animation: md-scroll-hint 1.6s ease-in-out infinite;
}
@keyframes md-scroll-hint {
0%, 100% { transform: translateY(0); opacity: 1; }
50% { transform: translateY(10px); opacity: 0.3; }
}
@media (prefers-reduced-motion: reduce) {
.md-hero__scroll span { animation: none; }
}
@media (max-width: 720px) {
.md-hero__scroll { display: none; }
.md-hero__actions .md-btn { min-width: 0; flex: 1 1 auto; }
}


@media (prefers-color-scheme: dark) {
.md-hero--centered .md-hero__eyebrow,
.md-hero--centered .md-hero__badges li {
background: rgba(255, 246, 232, 0.06);
border-color: rgba(156, 197, 181, 0.18);
}
.md-hero--centered .md-hero__eyebrow { color: var(--color-primary-light); }
.md-hero--centered::before {
background:
radial-gradient(ellipse 60% 50% at 20% 20%, rgba(156, 197, 181, 0.10), transparent 60%),
radial-gradient(ellipse 55% 45% at 80% 85%, rgba(214, 214, 210, 0.08), transparent 60%);
}
}


.md-hero {
position: relative;
padding: clamp(60px, 9vw, 120px) 0 clamp(70px, 10vw, 140px);
background:
radial-gradient(ellipse at 90% 0%, rgba(78, 122, 108, 0.18), transparent 55%),
radial-gradient(ellipse at 10% 100%, rgba(138, 138, 134, 0.15), transparent 55%),
var(--color-bg);
overflow: hidden;
}
.md-hero__inner {
display: grid;
grid-template-columns: 1.1fr 1fr;
gap: clamp(32px, 5vw, 72px);
align-items: center;
}
@media (max-width: 880px) {
.md-hero__inner { grid-template-columns: 1fr; }
}
.md-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: var(--fs-caption);
font-weight: 600;
color: var(--color-primary-dark);
background: var(--color-surface);
padding: 8px 18px;
border-radius: var(--radius-pill);
margin-bottom: 24px;
letter-spacing: 0.05em;
}
.md-hero__title {
font-size: var(--fs-display);
line-height: 1.2;
margin: 0 0 24px;
font-weight: 800;
letter-spacing: -0.03em;
}
.md-hero__title em {
color: var(--color-primary);
font-style: normal;
position: relative;
}
.md-hero__title em::after {
content: '';
position: absolute;
bottom: 4px; left: 0; right: 0;
height: 12px;
background: var(--color-accent-light);
opacity: 0.55;
z-index: -1;
border-radius: 3px;
}
.md-hero__lead {
font-size: clamp(1rem, 1.4vw, 1.1875rem);
color: var(--color-text-sub);
line-height: 1.8;
margin: 0 0 36px;
max-width: 520px;
}
.md-hero__media {
position: relative;
aspect-ratio: 4 / 5;
border-radius: var(--radius-xl);
overflow: hidden;
background:
radial-gradient(circle at 30% 20%, rgba(31, 74, 62, 0.18), transparent 55%),
radial-gradient(circle at 70% 80%, rgba(138, 138, 134, 0.22), transparent 55%),
var(--color-surface-alt);
box-shadow: var(--shadow-hover);
}
.md-hero__media img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
}
.md-hero__media-placeholder {
position: absolute; inset: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
color: var(--color-text-mute);
font-size: var(--fs-small);
text-align: center;
padding: 24px;
}
.md-hero__media-placeholder::before {
content: '🦷';
font-size: clamp(3.5rem, 7vw, 5.5rem);
opacity: 0.65;
filter: saturate(0.8);
}


.md-service-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: clamp(16px, 2vw, 24px);
}
.md-service-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3vw, 36px);
text-align: center;
transition: all 0.3s var(--ease);
position: relative;
overflow: hidden;
}
.md-service-card::before {
content: '';
position: absolute;
top: -40px; right: -40px;
width: 120px; height: 120px;
border-radius: 50%;
background: var(--color-surface);
transition: transform 0.4s var(--ease-out-back);
}
.md-service-card:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-hover);
transform: translateY(-6px);
}
.md-service-card:hover::before { transform: scale(1.5); }

.md-service-card__icon {
position: relative;
width: 84px; height: 84px;
margin: 0 auto 20px;
display: flex; align-items: center; justify-content: center;
background: linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface-alt) 100%);
border-radius: 50%;
color: var(--color-primary);
font-size: 40px;
line-height: 1;
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.6), 0 4px 12px rgba(31, 74, 62, 0.10);
transition: transform 0.3s var(--ease-out-back);
}
.md-service-card:hover .md-service-card__icon {
transform: scale(1.08) rotate(-4deg);
}


.md-svg-icon {
display: inline-flex;
align-items: center;
justify-content: center;
line-height: 0;
color: inherit;
}
.md-svg-icon svg {
width: 1em;
height: 1em;
display: block;
}
.md-emoji-icon {
display: inline-flex;
align-items: center;
justify-content: center;
line-height: 1;
}

.md-service-card__icon .md-svg-icon svg {
width: 48px; height: 48px;
stroke-width: 2;
}
.md-service-card__icon .md-svg-icon { color: var(--color-primary); }

.md-spec__icon .md-svg-icon svg { width: 36px; height: 36px; stroke-width: 2; }
.md-spec__icon .md-svg-icon { color: var(--color-primary); }

.md-region-pill__icon .md-svg-icon svg { width: 18px; height: 18px; stroke-width: 2.2; }

.md-clinic-card__icon .md-svg-icon svg { width: 40px; height: 40px; stroke-width: 2; }

.md-page-hero__icon .md-svg-icon svg,
.md-strength-hero__icon .md-svg-icon svg { width: 64px; height: 64px; stroke-width: 1.75; }
.md-page-hero__icon .md-svg-icon,
.md-strength-hero__icon .md-svg-icon { color: var(--color-primary); }
.md-history-explore__icon .md-svg-icon svg { width: 36px; height: 36px; stroke-width: 2; }
.md-history-explore__icon .md-svg-icon { color: var(--color-primary); }

@media (prefers-color-scheme: dark) {
.md-service-card__icon .md-svg-icon { color: var(--color-primary-light); }
}
.md-service-card__title {
font-size: var(--fs-h4);
font-weight: 700;
margin: 0 0 12px;
}
.md-service-card__desc {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0;
}
.md-service-card__link {
position: absolute;
inset: 0;
text-indent: -9999px;
overflow: hidden;
}


.md-doctor {
display: grid;
grid-template-columns: minmax(260px, 380px) 1fr;
gap: clamp(32px, 5vw, 72px);
align-items: center;
}
@media (max-width: 768px) {
.md-doctor { grid-template-columns: 1fr; text-align: center; }
}
.md-doctor__photo {
aspect-ratio: 4 / 5;
border-radius: var(--radius-xl);
overflow: hidden;
background: var(--color-surface-alt);
box-shadow: var(--shadow-hover);
position: relative;
}
.md-doctor__photo img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
}
.md-doctor__role {
font-size: var(--fs-caption);
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--color-primary);
margin-bottom: 8px;
}
.md-doctor__name {
font-size: var(--fs-h2);
margin: 0 0 16px;
}
.md-doctor__name small {
display: inline-block;
font-size: 0.55em;
font-weight: 500;
color: var(--color-text-sub);
margin-left: 8px;
vertical-align: middle;
}
.md-doctor__bio { color: var(--color-text-sub); }
.md-doctor__bio ul {
list-style: none;
padding: 0;
margin: 16px 0 0;
}
.md-doctor__bio li {
padding: 6px 0 6px 20px;
position: relative;
font-size: var(--fs-small);
color: var(--color-text-sub);
}
.md-doctor__bio li::before {
content: '';
position: absolute;
left: 0; top: 16px;
width: 8px; height: 8px;
background: var(--color-accent);
border-radius: 50%;
}


.md-team-group + .md-team-group { margin-top: 48px; }

.md-team-group__title {
font-size: var(--fs-h4);
font-weight: 700;
color: var(--color-primary-dark);
margin: 0 0 20px;
padding-bottom: 12px;
border-bottom: 2px solid var(--color-border);
display: inline-block;
letter-spacing: -0.01em;
}

.md-team-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: clamp(16px, 2vw, 24px);
}
.md-team-grid--lg {
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: clamp(20px, 2.5vw, 32px);
}
.md-team-card__avatar--lg {
width: 160px; height: 160px;
}

.md-team-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: 24px 20px;
text-align: center;
transition: all 0.3s var(--ease);
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
}
.md-team-card:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-4px);
}

.md-team-card__avatar {
width: 144px; height: 144px;
border-radius: 50%;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
display: flex; align-items: center; justify-content: center;
font-size: 1.5rem;
font-weight: 700;
color: var(--color-primary-dark);
letter-spacing: -0.02em;
border: 3px solid var(--color-white);
box-shadow: var(--shadow-card);
overflow: hidden;
}
.md-team-card__avatar--photo {
background: var(--color-white);
}
.md-team-card__avatar img {
width: 100%; height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}
.md-team-card__body { width: 100%; }
.md-team-card__role {
font-size: var(--fs-caption);
font-weight: 600;
color: var(--color-accent);
letter-spacing: 0.06em;
margin-bottom: 4px;
}
.md-team-card__name {
font-size: 1.125rem;
font-weight: 700;
margin: 0 0 4px;
color: var(--color-text);
}
.md-team-card__spec {
font-size: var(--fs-caption);
color: var(--color-text-sub);
margin-bottom: 6px;
}
.md-team-card__bio {
font-size: var(--fs-caption);
color: var(--color-text-sub);
line-height: 1.6;
margin: 4px 0 0;
}


.md-doc-list {
display: flex;
flex-direction: column;
gap: clamp(24px, 3vw, 40px);
}

.md-doc-row {
display: grid;

grid-template-columns: 380px 1fr;
gap: clamp(24px, 3.5vw, 56px);
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(20px, 3vw, 36px);
align-items: start;
transition: all 0.3s var(--ease);
}
.md-doc-row:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
}

@media (max-width: 1080px) {
.md-doc-row { grid-template-columns: 320px 1fr; }
}
@media (max-width: 880px) {
.md-doc-row { grid-template-columns: 260px 1fr; }
}
@media (max-width: 680px) {
.md-doc-row {
grid-template-columns: 1fr;
text-align: center;
justify-items: center;
}

.md-doc-row__media {
max-width: 320px;
}
}

.md-doc-row__media {
width: 100%;
aspect-ratio: 4 / 5;
border-radius: var(--radius-md);
overflow: hidden;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
display: flex;
align-items: center;
justify-content: center;
}
.md-doc-row__media.has-photo { background: var(--color-white); }
.md-doc-row__media img {
width: 100%; height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}
.md-doc-row__initial {
font-size: 3rem;
font-weight: 700;
color: var(--color-primary-dark);
}

.md-doc-row__role {
font-size: var(--fs-caption);
font-weight: 600;
color: var(--color-accent);
letter-spacing: 0.08em;
margin-bottom: 6px;
}
.md-doc-row__name {
font-size: clamp(1.375rem, 2.4vw, 1.75rem);
font-weight: 700;
color: var(--color-text);
margin: 0 0 16px;
letter-spacing: -0.02em;
}
.md-doc-row__quote {
margin: 0 0 20px;
padding: 16px 20px;
background: var(--color-surface);
border-left: 3px solid var(--color-primary);
border-radius: var(--radius-sm);
font-size: var(--fs-small);
color: var(--color-text);
line-height: 1.7;
}
.md-doc-row__bio {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 4px 16px;
}
.md-doc-row__bio li {
padding: 4px 0 4px 16px;
position: relative;
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
}
.md-doc-row__bio li::before {
content: '';
position: absolute;
left: 0; top: 14px;
width: 6px; height: 6px;
border-radius: 50%;
background: var(--color-accent);
}


.md-news-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: clamp(20px, 2.5vw, 28px);
}

.md-news-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
overflow: hidden;
transition: transform 0.28s var(--ease), border-color 0.28s var(--ease), box-shadow 0.28s var(--ease);
display: flex;
flex-direction: column;
}
.md-news-card:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-hover);
transform: translateY(-3px);
}
.md-news-card__link {
display: flex;
flex-direction: column;
height: 100%;
color: inherit;
text-decoration: none;
}

.md-news-card__media {
position: relative;
aspect-ratio: 16 / 10;
overflow: hidden;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
display: flex; align-items: center; justify-content: center;
}
.md-news-card__media img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
transition: transform 0.4s var(--ease);
}
.md-news-card:hover .md-news-card__media img {
transform: scale(1.05);
}
.md-news-card__media-fallback {
font-size: 3rem;
opacity: 0.4;
}

.md-news-card__category {
position: absolute;
top: 12px; left: 12px;
background: rgba(255, 255, 255, 0.94);
color: var(--color-primary-dark);
font-size: 0.75rem;
font-weight: 700;
padding: 6px 12px;
border-radius: var(--radius-pill);
letter-spacing: 0.02em;
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
}

.md-news-card__category--notice {
background: var(--color-primary, #1F4A3E);
color: #fff;
}

.md-news-card__body {
padding: clamp(20px, 2.4vw, 26px);
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
}
.md-news-card__body > * { margin: 0; }
.md-news-card__date {
display: block;
font-size: 0.8125rem;
color: var(--color-text-mute);
letter-spacing: 0.02em;
margin-bottom: 8px;
}
.md-news-card__title {
font-size: 1.0625rem;
font-weight: 700;
line-height: 1.5;
margin: 0 0 10px;
color: var(--color-text);
letter-spacing: -0.015em;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.md-news-card:hover .md-news-card__title {
color: var(--color-primary-dark);
}
.md-news-card__excerpt {
font-size: 0.875rem;
color: var(--color-text-sub);
line-height: 1.65;
margin: 0;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
}

.md-news-footer {
margin-top: clamp(40px, 5vw, 60px);
padding-top: 32px;
border-top: 1px solid var(--color-border);
text-align: center;
}
.md-news-footer p {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 0 16px;
}
.md-news-empty {
text-align: center;
padding: clamp(40px, 6vw, 80px) 24px;
color: var(--color-text-sub);
}
.md-news-empty p { margin: 0 0 16px; }


.md-pagination {
display: flex;
justify-content: center;
gap: 6px;
margin-top: clamp(40px, 5vw, 60px);
flex-wrap: wrap;
}
.md-pagination .page-numbers {
display: inline-flex;
min-width: 40px; height: 40px;
padding: 0 12px;
align-items: center;
justify-content: center;
border-radius: var(--radius-pill);
font-size: var(--fs-small);
font-weight: 600;
color: var(--color-text);
background: var(--color-white);
border: 1px solid var(--color-border);
text-decoration: none;
transition: all 0.2s var(--ease);
}
.md-pagination .page-numbers:hover {
border-color: var(--color-primary);
color: var(--color-primary);
}
.md-pagination .page-numbers.current {
background: var(--color-primary);
border-color: var(--color-primary);
color: var(--color-white);
}
.md-pagination .page-numbers.dots {
border: none;
background: transparent;
}


.md-page-hero--news .md-page-hero__crumbs { margin-bottom: 12px; }

.md-single__category {
display: inline-block;
background: var(--color-primary);
color: var(--color-text-on-primary);
font-size: var(--fs-caption);
font-weight: 700;
padding: 6px 16px;
border-radius: var(--radius-pill);
margin-bottom: 16px;
letter-spacing: 0.04em;
}
.md-single__date {
display: block;
font-size: var(--fs-small);
color: var(--color-text-sub);
margin-top: 12px;
}

.md-single__content {
font-size: 1.0625rem;
line-height: 1.85;
color: var(--color-text);
}
.md-single__content > * + * { margin-top: 1.1em; }
.md-single__content p { margin: 0; }
.md-single__content p + p { margin-top: 1em; }
.md-single__content h2,
.md-single__content h3,
.md-single__content h4 {
margin-top: 1.8em;
margin-bottom: 0.6em;
}
.md-single__content img,
.md-single__content .se-image-resource,
.md-single__content figure img {
max-width: 100%;
height: auto;
border-radius: var(--radius-md);
margin: 1em auto;
display: block;
}
.md-single__content figure { margin: 1.5em 0; }
.md-single__content figcaption {
text-align: center;
font-size: var(--fs-caption);
color: var(--color-text-mute);
margin-top: 8px;
}
.md-single__content blockquote {
margin: 1.6em 0;
padding: 16px 24px;
background: var(--color-surface);
border-left: 4px solid var(--color-primary);
border-radius: var(--radius-sm);
color: var(--color-text-sub);
}
.md-single__content a {
color: var(--color-primary);
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
}


.md-single__content .se-component { margin: 1em 0; }
.md-single__content .se-image { text-align: center; }
.md-single__content .se-text-paragraph { margin: 0 0 0.6em; }
.md-single__content .se-quotation,
.md-single__content .se-quote {
margin: 1.6em 0;
padding: 16px 24px;
background: var(--color-surface);
border-left: 4px solid var(--color-primary);
border-radius: var(--radius-sm);
font-style: normal;
}
.md-single__content .se-quotation__cite,
.md-single__content .se-quote__cite {
display: block;
margin-top: 8px;
font-size: var(--fs-small);
color: var(--color-text-mute);
}
.md-single__content .se-sticker img,
.md-single__content .se-sticker { display: inline-block; vertical-align: middle; }

.md-single__footer {
margin-top: clamp(40px, 5vw, 60px);
padding-top: 32px;
border-top: 1px solid var(--color-border);
}
.md-single__tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: 24px;
}
.md-tag {
display: inline-block;
font-size: var(--fs-caption);
color: var(--color-text-sub);
background: var(--color-surface);
padding: 6px 12px;
border-radius: var(--radius-pill);
}
.md-single__source {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 0 24px;
}
.md-single__nav { text-align: left; }


.md-map-card {
position: relative;
display: block;
aspect-ratio: 16 / 9;
max-height: 480px;
border-radius: var(--radius-lg);
overflow: hidden;
text-decoration: none;
color: var(--color-text);
margin: 24px 0;
background:
radial-gradient(ellipse at 30% 40%, rgba(138, 138, 134, 0.22) 0%, transparent 55%),
radial-gradient(ellipse at 70% 70%, rgba(31, 74, 62, 0.18) 0%, transparent 55%),
linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface-alt) 100%);
border: 1px solid var(--color-border);
transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
cursor: pointer;
}
.md-map-card:hover,
.md-map-card:focus-visible {
transform: translateY(-4px);
box-shadow: var(--shadow-hover);
}


.md-map-card--has-image::before,
.md-map-card--has-image::after { display: none; }
.md-map-card--has-image .md-map-card__pattern { display: none; }
.md-map-card--has-image .md-map-card__info {
background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.96) 55%, var(--color-white) 100%);
}


.md-map-card__pattern {
position: absolute;
inset: 0;
background-image:
linear-gradient(to right, rgba(122, 107, 95, 0.07) 1px, transparent 1px),
linear-gradient(to bottom, rgba(122, 107, 95, 0.07) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
}

.md-map-card::before,
.md-map-card::after {
content: '';
position: absolute;
background: rgba(255, 255, 255, 0.55);
border-radius: 99px;
pointer-events: none;
}
.md-map-card::before {
top: 30%; left: -10%; right: 30%;
height: 6px;
transform: rotate(-3deg);
}
.md-map-card::after {
top: 65%; left: 40%; right: -10%;
height: 8px;
transform: rotate(2deg);
}

.md-map-card__badge {
position: absolute;
top: 16px;
left: 16px;
background: rgba(255, 255, 255, 0.92);
color: var(--color-primary-dark);
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.14em;
padding: 6px 12px;
border-radius: var(--radius-pill);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
z-index: 2;
}


.md-map-card__pin {
position: absolute;
top: 38%;
left: 50%;
width: 44px;
height: 60px;
transform: translate(-50%, -50%);
color: var(--color-primary);
z-index: 2;
filter: drop-shadow(0 6px 12px rgba(31, 74, 62, 0.35));
animation: md-map-pin-bob 3s ease-in-out infinite;
}
.md-map-card__pin svg { width: 100%; height: 100%; }
.md-map-card:hover .md-map-card__pin { animation-play-state: paused; }

.md-map-card__pin::after {
content: '';
position: absolute;
bottom: -8px; left: 50%;
transform: translateX(-50%);
width: 28px; height: 6px;
border-radius: 50%;
background: rgba(0, 0, 0, 0.18);
filter: blur(3px);
}

@keyframes md-map-pin-bob {
0%, 100% { transform: translate(-50%, -50%); }
50%      { transform: translate(-50%, calc(-50% - 4px)); }
}

.md-map-card__info {
position: absolute;
left: 0; right: 0; bottom: 0;
padding: clamp(18px, 2.5vw, 28px);
background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.92) 50%, var(--color-white) 100%);
z-index: 2;
}
.md-map-card__title {
font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
font-weight: 800;
color: var(--color-text);
margin: 0 0 4px;
}
.md-map-card__addr {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 0 10px;
line-height: 1.5;
}
.md-map-card__cta {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: var(--fs-small);
font-weight: 700;
color: var(--color-primary-dark);
transition: gap 0.2s var(--ease);
}
.md-map-card:hover .md-map-card__cta { gap: 12px; }

@media (max-width: 640px) {
.md-map-card { aspect-ratio: 4 / 3; }
.md-map-card__pin { width: 36px; height: 48px; top: 35%; }
}

@media (prefers-reduced-motion: reduce) {
.md-map-card__pin { animation: none; }
}


.md-mobile-cta {
position: fixed;
bottom: 0; left: 0; right: 0;
display: none;
background: var(--color-white);
border-top: 1px solid var(--color-border);
box-shadow: 0 -4px 16px rgba(22, 22, 22, 0.10);
z-index: 200;
padding-bottom: env(safe-area-inset-bottom, 0);
}
.md-mobile-cta__item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 3px;
padding: 8px 2px;
text-decoration: none;
font-size: 0.6875rem;
font-weight: 700;
color: var(--color-text);
transition: background 0.2s var(--ease);
text-align: center;
min-height: 60px;
min-width: 0;
}
.md-mobile-cta__item:active { background: var(--color-surface); }
.md-mobile-cta__item--call       { color: var(--color-primary-dark); border-right: 1px solid var(--color-border); }
.md-mobile-cta__item--kakao      { color: #3C1E1E; background: #FEE500; border-right: 1px solid var(--color-border); }
.md-mobile-cta__item--naver      { color: #fff; background: #03C75A; border-right: 1px solid rgba(0,0,0,0.08); }
.md-mobile-cta__item--directions { color: var(--color-primary-dark); background: var(--color-surface); }
.md-mobile-cta__item--kakao:active      { background: #F0D900; }
.md-mobile-cta__item--naver:active      { background: #029e49; }
.md-mobile-cta__item--directions:active { background: var(--color-border); }
.md-mobile-cta__icon { font-size: 1.15rem; line-height: 1; }
.md-mobile-cta__label {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 100%;
letter-spacing: -0.01em;
}

@media (max-width: 768px) {
.md-mobile-cta { display: flex; }

body { padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px)); }
.md-fab-stack { display: none !important; }
}


.md-fab-stack {
position: fixed;
right: 24px; bottom: 24px;
display: flex;
flex-direction: column;
gap: 12px;
z-index: 150;
align-items: flex-end;
}
.md-fab {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 18px;
border-radius: var(--radius-pill);
text-decoration: none;
font-weight: 700;
font-size: 0.9375rem;
box-shadow: 0 8px 24px rgba(0,0,0,0.18);
transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
white-space: nowrap;
}
.md-fab:hover {
transform: translateY(-3px);
box-shadow: 0 12px 28px rgba(0,0,0,0.24);
}
.md-fab__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px; height: 22px;
border-radius: 50%;
font-weight: 800;
font-size: 0.8125rem;
line-height: 1;
}
.md-fab__icon--svg { background: transparent; width: 22px; height: 22px; border-radius: 0; }

.md-fab--kakao {
background: #FEE500;
color: #3C1E1E;
}
.md-fab--kakao:hover { color: #3C1E1E; }

.md-fab--naver {
background: #03C75A;
color: #fff;
}
.md-fab--naver:hover { color: #fff; }
.md-fab--naver .md-fab__icon {
background: #fff;
color: #03C75A;
}


.md-fab--phone {
background: var(--color-primary);
color: #fff;
box-shadow: 0 8px 24px rgba(31, 74, 62, 0.32);
}
.md-fab--phone:hover {
background: var(--color-primary-dark);
color: #fff;
box-shadow: 0 12px 28px rgba(31, 74, 62, 0.42);
}
.md-fab--phone .md-fab__icon {
background: transparent;
font-size: 1rem;
}


.md-fab--directions {
background: var(--color-accent, #8A8A86);
color: #fff;
box-shadow: 0 8px 24px rgba(138, 138, 134, 0.32);
}
.md-fab--directions:hover {
background: var(--color-accent-dark, #6E8E71);
color: #fff;
box-shadow: 0 12px 28px rgba(138, 138, 134, 0.42);
}
.md-fab--directions .md-fab__icon {
background: transparent;
font-size: 1.05rem;
}


#ast-scroll-top,
.ast-scroll-top,
.ast-scroll-top-icon,
.ast-scroll-to-top,
.astra-scroll-to-top,
.ast-back-to-top,
.elementor-back-to-top,
.kc-back-to-top,
.scroll-to-top-button,
.scroll-top,
.scrolltotop,
.wpfront-scroll-top-container,
#scroll-to-top,
#back-to-top,
.back-to-top:not(.md-totop) {
display: none !important;
visibility: hidden !important;
pointer-events: none !important;
}


.md-totop {

width: 44px;
height: 44px;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0;
background: var(--color-white);
color: var(--color-primary-dark);
border: 1px solid var(--color-border);
border-radius: 50%;
cursor: pointer;
box-shadow: 0 4px 14px rgba(22, 22, 22, 0.12);
opacity: 0;
visibility: hidden;
pointer-events: none;
transform: translateY(8px) scale(0.92);
transition:
opacity 0.25s var(--ease),
transform 0.25s var(--ease),
visibility 0.25s,
background 0.2s var(--ease),
color 0.2s var(--ease),
box-shadow 0.2s var(--ease);
}
.md-totop[hidden] { display: none; }
.md-totop.is-visible {
opacity: 1;
visibility: visible;
pointer-events: auto;
transform: translateY(0) scale(1);
}
.md-totop:hover,
.md-totop:focus-visible {
background: var(--color-primary);
color: #fff;
border-color: var(--color-primary);
transform: translateY(-2px) scale(1);
box-shadow: 0 8px 22px rgba(31, 74, 62, 0.32);
}
.md-totop svg {
width: 22px;
height: 22px;
}


.md-testimonials {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: 20px;
}
.md-testimonial {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(20px, 2.5vw, 28px);
display: flex;
flex-direction: column;
gap: 14px;
transition: all 0.3s var(--ease);
}
.md-testimonial:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-3px);
}

.md-testimonials__more { text-align: center; margin-top: 32px; }
.md-testimonials__disclaimer {
text-align: center;
margin-top: 16px;
font-size: 0.8125rem;
color: var(--color-text-mute);
}

.md-section-head--split {
text-align: left;
max-width: none;
display: flex;
justify-content: space-between;
align-items: end;
gap: 16px;
flex-wrap: wrap;
}
.md-section-head__title--flush { margin: 0; }
.md-notice-subhead {
font-size: clamp(1.125rem, 1.5vw, 1.375rem);
font-weight: 800;
margin: 0 0 clamp(20px, 2.5vw, 28px);
color: var(--color-text);
letter-spacing: -0.015em;
display: flex;
align-items: center;
gap: 12px;
padding-bottom: 14px;
border-bottom: 1px solid var(--color-border);
}
.md-notice-subhead::after {
content: '';
flex: 1;
height: 1px;
background: transparent;
}

.md-notice-subhead.md-u-mt-40 { margin-top: clamp(48px, 6vw, 72px); }
.md-notice-list--spaced { margin-bottom: clamp(24px, 3vw, 36px); }
.md-team__cta { text-align: center; margin-top: 32px; }

.md-page-hero__icon {
font-size: 3rem;
margin-bottom: 12px;
line-height: 1;
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", sans-serif;
}

.md-btn__sub {
display: block;
font-size: 0.8em;
font-weight: 600;
opacity: 0.9;
margin-top: 2px;
letter-spacing: 0.02em;
}
.md-page-hero__actions { margin-top: 24px; }
.md-page-hero__note {
margin-top: 14px;
font-size: 0.9rem;
opacity: 0.9;
}
.md-page-hero__note--caption {
font-size: 0.85rem;
opacity: 0.75;
}
.md-page-hero__note a { text-decoration: underline; }
.md-recruit-block__caption {
display: block;
font-size: 0.75rem;
font-weight: 500;
color: var(--color-text-mute);
margin-top: 3px;
letter-spacing: -0.005em;
}
.md-faq-intro { margin-bottom: clamp(40px, 5vw, 64px); }

.md-section-tail {
text-align: center;
margin-top: clamp(28px, 3.5vw, 40px);
}
.md-section-tail--sm { margin-top: clamp(24px, 3vw, 32px); }

.md-u-center { text-align: center; }
.md-u-mt-14 { margin-top: 14px; }
.md-u-mt-18 { margin-top: 18px; }
.md-u-mt-24 { margin-top: 24px; }
.md-u-mt-cards { margin-top: clamp(24px, 3vw, 36px); }
.md-u-fs-caption { font-size: 0.85rem; opacity: 0.85; }
.md-news-empty {
text-align: center;
padding: clamp(24px, 3vw, 40px);
background: var(--color-white);
border-radius: var(--radius-md);
}
.md-news-empty--surface { background: var(--color-surface); }
.md-mapbtn-grid--top { margin-top: clamp(14px, 1.8vw, 20px); }
.md-doc-single-cta { text-align: center; margin-top: clamp(24px, 3vw, 32px); }
.md-info-block__sub--sep { margin-top: 12px; }
.md-info-block__cta { margin-top: 16px; }
.md-info-block__cta--row { display: flex; gap: 8px; flex-wrap: wrap; }
.md-btn-group--mt-lg { margin-top: 32px; }
.md-news-empty__msg { margin: 0; color: var(--color-text-sub); }

.md-section-head__title--sm { font-size: var(--fs-h3); }
.md-region-cta__hint--sub { opacity: 0.85; margin-top: 6px; }
.md-btn-group--center { justify-content: center; gap: 12px; }

.md-apply-card {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.md-apply-card__body {
padding: clamp(28px, 3.5vw, 40px);
}
.md-apply-card__title {
margin: 0 0 18px;
font-size: 1.1875rem;
font-weight: 800;
color: var(--color-text);
letter-spacing: -0.015em;
padding-bottom: 12px;
border-bottom: 2px solid var(--color-primary);
display: inline-block;
}
.md-apply-card__list {
list-style: none;
padding: 0;
margin: 0 0 24px;
display: grid;
gap: 14px;
}
.md-apply-card__list li {
position: relative;
padding-left: 28px;
font-size: 0.9375rem;
line-height: 1.7;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-apply-card__list li::before {
content: '✓';
position: absolute;
left: 4px; top: 1px;
color: var(--color-primary);
font-weight: 800;
font-size: 0.9375rem;
}
.md-apply-card__list strong { color: var(--color-text); font-weight: 700; }
.md-apply-card__mail {
display: flex;
align-items: center;
gap: 16px;
padding: 18px 22px;
background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
color: #fff;
border-radius: 3px;
text-decoration: none;
transition: transform .2s, box-shadow .2s;
box-shadow: 0 4px 14px rgba(31, 74, 62, 0.25);
}
.md-apply-card__mail:hover {
transform: translateY(-2px);
box-shadow: 0 8px 22px rgba(31, 74, 62, 0.32);
color: #fff;
}
.md-apply-card__mail-ic { font-size: 1.5rem; line-height: 1; }
.md-apply-card__mail-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.md-apply-card__mail-label {
font-size: 0.8125rem;
font-weight: 600;
opacity: 0.9;
letter-spacing: 0.02em;
}
.md-apply-card__mail-addr {
font-size: 1.0625rem;
font-weight: 800;
letter-spacing: -0.01em;
word-break: break-all;
}
.md-apply-card__flow {
padding: clamp(20px, 2.5vw, 28px) clamp(28px, 3.5vw, 40px);
background: var(--color-surface-alt);
border-top: 1px solid var(--color-border);
}
.md-apply-card__flow-title {
margin: 0 0 16px;
font-size: 0.875rem;
font-weight: 700;
color: var(--color-text-sub);
letter-spacing: 0.06em;
text-transform: uppercase;
}
.md-apply-flow {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(12px, 1.5vw, 20px);
counter-reset: apply-step;
}
.md-apply-flow li {
position: relative;
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 3px;
}
.md-apply-flow li + li::before {
content: '›';
position: absolute;
left: -14px; top: 50%;
transform: translateY(-50%);
color: var(--color-primary);
font-size: 1.375rem;
font-weight: 700;
line-height: 1;
}
.md-apply-flow__num {
flex: 0 0 32px;
width: 32px;
height: 32px;
background: var(--color-primary);
color: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 800;
font-size: 0.9375rem;
}
.md-apply-flow strong {
display: block;
font-size: 0.9375rem;
font-weight: 700;
color: var(--color-text);
margin-bottom: 2px;
}
.md-apply-flow p {
margin: 0;
font-size: 0.8125rem;
color: var(--color-text-sub);
line-height: 1.4;
}
@media (max-width: 720px) {
.md-apply-flow { grid-template-columns: 1fr; gap: 10px; }
.md-apply-flow li + li::before {
content: '↓';
left: 50%; top: -12px;
transform: translateX(-50%);
font-size: 1rem;
}
}



:root {
--hover-lift: -3px;
--hover-shadow: 0 6px 20px rgba(31, 74, 62, 0.10);
}
@media (prefers-reduced-motion: reduce) {
:root { --hover-lift: 0; --hover-shadow: none; }
}

.md-history-explore {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(16px, 2vw, 24px);
max-width: 1040px;
margin: 0 auto;
}
@media (max-width: 720px) { .md-history-explore { grid-template-columns: 1fr; } }
.md-history-explore__card {
display: flex;
flex-direction: column;
gap: 12px;
padding: clamp(22px, 2.6vw, 30px);
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
color: var(--color-text);
text-decoration: none;
transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease), border-color 0.2s var(--ease);
}
.md-history-explore__card:hover {
transform: translateY(-3px);
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
}
.md-history-explore__icon {
font-size: 2rem;
line-height: 1;
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", sans-serif;
}
.md-history-explore__card h3 {
font-size: 1.125rem;
font-weight: 800;
margin: 0;
letter-spacing: -0.015em;
color: var(--color-text);
}
.md-history-explore__card p {
margin: 0;
font-size: 0.875rem;
line-height: 1.65;
color: var(--color-text-sub);
word-break: keep-all;
flex: 1;
}
.md-history-explore__more {
font-size: 0.875rem;
font-weight: 700;
color: var(--color-primary-dark);
margin-top: auto;
}
.md-history-explore__card:hover .md-history-explore__more { color: var(--color-primary); }


.md-locmap__fallback-label {
position: absolute;
bottom: 16px; left: 50%;
transform: translateX(-50%);
padding: 10px 18px;
background: rgba(0, 0, 0, 0.65);
color: #fff;
border-radius: 2px;
font-size: 0.875rem;
font-weight: 600;
z-index: 2;
pointer-events: none;
}

.md-hero__admin-note {
background: var(--color-surface);
color: var(--color-text-sub);
padding: 6px 14px;
border-radius: 99px;
font-size: 0.85rem;
border: 1px solid var(--color-border);
}
.md-testimonial__stars {
color: var(--color-warning);
font-size: 1.0625rem;
letter-spacing: 2px;
line-height: 1;
}
.md-testimonial__text {
font-size: 0.9375rem;
color: var(--color-text);
line-height: 1.75;
margin: 0;
flex: 1;
}
.md-testimonial__meta {
padding-top: 12px;
border-top: 1px solid var(--color-border);
}
.md-testimonial__name {
display: block;
font-weight: 700;
font-size: 0.9375rem;
color: var(--color-text);
}
.md-testimonial__sub {
display: block;
font-size: 0.8125rem;
color: var(--color-text-sub);
margin-top: 2px;
}


.md-faq-group + .md-faq-group { margin-top: 40px; }
.md-faq-group__title {
font-size: clamp(1.25rem, 2vw, 1.5rem);
font-weight: 800;
color: var(--color-primary-dark);
margin: 0 0 16px;
padding-bottom: 8px;
border-bottom: 2px solid var(--color-primary);
display: inline-block;
}


.md-policy-hero {
background: linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface-alt) 100%);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3vw, 36px);
margin-bottom: 32px;
text-align: center;
}
.md-policy-hero__eyebrow {
display: inline-block;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.18em;
color: var(--color-primary-dark);
background: var(--color-white);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 12px;
}
.md-policy-hero__lead {
font-size: 1.0625rem;
color: var(--color-text-sub);
margin: 0 0 16px;
line-height: 1.6;
}
.md-policy-hero__badges {
display: flex;
flex-wrap: wrap;
gap: 8px 12px;
justify-content: center;
margin: 16px 0 20px;
}
.md-policy-hero__badges span {
font-size: 0.8125rem;
color: var(--color-text);
background: var(--color-white);
padding: 6px 14px;
border-radius: var(--radius-pill);
font-weight: 600;
border: 1px solid var(--color-border);
}
.md-policy-hero__cta {
display: flex;
gap: 12px;
justify-content: center;
flex-wrap: wrap;
}
.md-policy-meta {
font-size: 0.8125rem;
color: var(--color-text-mute);
font-weight: 600;
padding: 8px 14px;
background: var(--color-surface);
border-radius: var(--radius-sm);
display: inline-block;
margin: 0 0 24px;
}
.md-policy-note {
font-size: 0.8125rem;
color: var(--color-text-sub);
background: var(--color-surface);
padding: 10px 14px;
border-radius: var(--radius-sm);
border-left: 3px solid var(--color-warning);
margin: 8px 0 0;
}


.md-page-hero--reservation .md-page-hero__eyebrow {
display: inline-block;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.18em;
color: var(--color-primary);
background: var(--color-surface);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 12px;
}

.md-reservation {
display: grid;
grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
gap: clamp(24px, 3vw, 48px);
align-items: start;
}
@media (max-width: 880px) {
.md-reservation { grid-template-columns: 1fr; }
}

.md-reservation-form {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3vw, 40px);
}


.md-steps {
display: flex;
gap: 12px;
margin: 0 0 32px;
padding: 0;
list-style: none;
counter-reset: step;
}
.md-step {
flex: 1;
display: flex;
align-items: center;
gap: 10px;
padding: 12px 16px;
background: var(--color-surface);
border: 1px solid transparent;
border-radius: var(--radius-md);
cursor: default;
transition: all 0.25s var(--ease);
}
.md-step.is-active {
background: var(--color-white);
border-color: var(--color-primary);
box-shadow: 0 4px 14px rgba(31, 74, 62, 0.18);
}
.md-step.is-done {
background: var(--color-white);
border-color: var(--color-accent-light);
cursor: pointer;
}
.md-step.is-done:hover { border-color: var(--color-accent); }

.md-step__no {
width: 28px; height: 28px;
display: inline-flex;
align-items: center; justify-content: center;
border-radius: 50%;
background: var(--color-text-mute);
color: var(--color-white);
font-size: 0.875rem;
font-weight: 700;
flex-shrink: 0;
transition: all 0.25s var(--ease);
}
.md-step.is-active .md-step__no { background: var(--color-primary); }
.md-step.is-done .md-step__no {
background: var(--color-accent);
}
.md-step.is-done .md-step__no::before { content: '✓'; }
.md-step.is-done .md-step__no { font-size: 0; }
.md-step.is-done .md-step__no::before { font-size: 0.95rem; }

.md-step__label {
font-size: 0.9375rem;
font-weight: 600;
color: var(--color-text-sub);
}
.md-step.is-active .md-step__label { color: var(--color-text); }

@media (max-width: 640px) {
.md-step__label { display: none; }
.md-step { justify-content: center; padding: 12px; }
.md-step.is-active { padding: 12px 18px; }
.md-step.is-active .md-step__label { display: inline; }
}


.md-step-panel {
display: none;
border: none;
padding: 0;
margin: 0;
animation: md-fade-in 0.3s var(--ease);
}
.md-step-panel.is-active { display: block; }

@keyframes md-fade-in {
from { opacity: 0; transform: translateY(8px); }
to   { opacity: 1; transform: translateY(0); }
}

.md-step-panel__title {
font-size: clamp(1.25rem, 2vw, 1.5rem);
font-weight: 700;
margin: 0 0 8px;
color: var(--color-text);
letter-spacing: -0.02em;
}
.md-step-panel__desc {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 0 24px;
line-height: 1.7;
}


.md-service-pick {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 12px;
margin-bottom: 24px;
}
.md-service-pick__item {
display: block;
padding: 18px 20px;
border: 2px solid var(--color-border);
border-radius: var(--radius-md);
cursor: pointer;
transition: all 0.2s var(--ease);
background: var(--color-white);
}
.md-service-pick__item:hover {
border-color: var(--color-primary-light);
background: var(--color-surface);
}
.md-service-pick__item input { display: none; }
.md-service-pick__item:has(input:checked) {
border-color: var(--color-primary);
background: var(--color-surface);
box-shadow: 0 4px 14px rgba(31, 74, 62, 0.15);
}
.md-service-pick__title {
display: block;
font-size: 1.0625rem;
font-weight: 700;
color: var(--color-text);
margin-bottom: 4px;
}
.md-service-pick__desc {
display: block;
font-size: 0.8125rem;
color: var(--color-text-sub);
line-height: 1.5;
}


.md-field { margin-bottom: 20px; }
.md-field__label {
display: block;
font-size: var(--fs-small);
font-weight: 600;
color: var(--color-text);
margin-bottom: 8px;
}
.md-required { color: var(--color-primary); }
.md-optional { color: var(--color-text-mute); font-weight: 400; font-size: 0.8125rem; }
.md-field__input {
width: 100%;
font: inherit;
font-size: 1rem;
padding: 12px 16px;
border: 1.5px solid var(--color-border);
border-radius: var(--radius-sm);
background: var(--color-white);
color: var(--color-text);
transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
font-family: inherit;
}
.md-field__input:focus {
outline: none;
border-color: var(--color-primary);
box-shadow: 0 0 0 3px rgba(31, 74, 62, 0.15);
}
.md-field__textarea { resize: vertical; min-height: 100px; line-height: 1.6; }
.md-field__hint {
display: block;
margin-top: 6px;
font-size: 0.8125rem;
color: var(--color-text-sub);
}


.md-time-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
gap: 8px;
}
.md-time-grid__item {
display: block;
position: relative;
cursor: pointer;
}
.md-time-grid__item input { position: absolute; opacity: 0; pointer-events: none; }
.md-time-grid__item span {
display: block;
padding: 10px;
text-align: center;
border: 1.5px solid var(--color-border);
border-radius: var(--radius-sm);
font-size: 0.9375rem;
font-weight: 600;
color: var(--color-text);
background: var(--color-white);
transition: all 0.18s var(--ease);
font-feature-settings: 'tnum';
}
.md-time-grid__item:hover span {
border-color: var(--color-primary-light);
background: var(--color-surface);
}
.md-time-grid__item:has(input:checked) span {
border-color: var(--color-primary);
background: var(--color-primary);
color: var(--color-white);
}
.md-time-grid__item.is-disabled span {
border-color: var(--color-border);
background: var(--color-surface);
color: var(--color-text-mute);
cursor: not-allowed;
opacity: 0.4;
}
.md-time-grid__item.is-disabled:hover span {
border-color: var(--color-border);
background: var(--color-surface);
}


.md-agree {
margin: 24px 0;
padding: 16px 20px;
background: var(--color-surface);
border-radius: var(--radius-sm);
display: flex;
flex-direction: column;
gap: 10px;
}
.md-agree__item {
display: flex;
gap: 10px;
align-items: flex-start;
cursor: pointer;
font-size: var(--fs-small);
color: var(--color-text);
line-height: 1.6;
}
.md-agree__item input {
margin-top: 3px;
width: 16px; height: 16px;
flex-shrink: 0;
accent-color: var(--color-primary);
}
.md-agree__item a { text-decoration: underline; }


.md-step-nav {
display: flex;
justify-content: space-between;
gap: 12px;
margin-top: 32px;
padding-top: 24px;
border-top: 1px solid var(--color-border);
}
.md-btn--block { display: block; width: 100%; }


.md-reservation__side {
display: flex;
flex-direction: column;
gap: 16px;
position: sticky;
top: 110px;
}
@media (max-width: 880px) {
.md-reservation__side { position: static; }
}

.md-side-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: 20px 22px;
}
.md-side-card--accent {
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
color: var(--color-white);
border: none;
}
.md-side-card__title {
font-size: 1.125rem;
font-weight: 800;
color: var(--color-white);
margin: 0 0 6px;
}
.md-side-card__lead {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.92);
margin: 0;
line-height: 1.6;
}
.md-side-card__h {
font-size: 0.9375rem;
font-weight: 700;
color: var(--color-text);
margin: 0 0 10px;
letter-spacing: -0.01em;
}
.md-side-card__big {
font-size: 1.5rem;
font-weight: 800;
color: var(--color-primary-dark);
margin: 0 0 4px;
letter-spacing: -0.02em;
font-feature-settings: 'tnum';
}
.md-side-card__big a { color: inherit; }
.md-side-card__sub {
font-size: 0.8125rem;
color: var(--color-text-sub);
margin: 8px 0 0;
}
.md-side-card__hours {
list-style: none;
padding: 0;
margin: 0 0 8px;
}
.md-side-card__hours li {
display: flex;
justify-content: space-between;
padding: 6px 0;
font-size: var(--fs-small);
color: var(--color-text-sub);
border-bottom: 1px dashed var(--color-border);
}
.md-side-card__hours li:last-child { border-bottom: none; }
.md-side-card__hours strong { color: var(--color-text); font-weight: 600; }
.md-side-card__off {
display: block;
text-align: center;
font-style: normal;
color: var(--color-text-mute);
font-size: 0.8125rem;
padding-top: 8px;
margin-top: 4px;
}
.md-side-card__addr {
font-size: var(--fs-small);
color: var(--color-text);
line-height: 1.6;
margin: 0 0 12px;
}


.md-res-result { margin-top: 24px; }
.md-res-success {
text-align: center;
padding: 40px 24px;
}
.md-res-success__icon {
width: 72px; height: 72px;
margin: 0 auto 16px;
display: flex; align-items: center; justify-content: center;
background: var(--color-accent);
color: var(--color-white);
border-radius: 50%;
font-size: 2rem;
font-weight: 800;
animation: md-success-pop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}
@keyframes md-success-pop {
from { transform: scale(0.5); opacity: 0; }
to   { transform: scale(1); opacity: 1; }
}
.md-res-success__title {
font-size: 1.5rem;
font-weight: 800;
color: var(--color-text);
margin: 0 0 8px;
}
.md-res-success__lead {
font-size: var(--fs-body);
color: var(--color-text-sub);
margin: 0 0 24px;
}
.md-res-success__detail {
display: grid;
grid-template-columns: 100px 1fr;
gap: 10px 16px;
max-width: 420px;
margin: 0 auto 24px;
text-align: left;
background: var(--color-surface);
padding: 20px 24px;
border-radius: var(--radius-md);
}
.md-res-success__detail dt {
font-size: var(--fs-small);
font-weight: 700;
color: var(--color-text-sub);
}
.md-res-success__detail dd {
font-size: var(--fs-small);
margin: 0;
color: var(--color-text);
font-weight: 600;
}
.md-res-success__hint {
font-size: 0.8125rem;
color: var(--color-text-mute);
margin: 0;
}


.md-faq { display: flex; flex-direction: column; gap: 12px; }
.md-faq__item {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: 18px 22px;
transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.md-faq__item[open] {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
}
.md-faq__item summary {
font-size: 1rem;
font-weight: 700;
color: var(--color-text);
cursor: pointer;
list-style: none;
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
letter-spacing: -0.01em;
}
.md-faq__item summary::-webkit-details-marker { display: none; }
.md-faq__item summary::after {
content: '+';
font-size: 1.5rem;
font-weight: 400;
color: var(--color-primary);
transition: transform 0.25s var(--ease);
flex-shrink: 0;
}
.md-faq__item[open] summary::after { transform: rotate(45deg); }
.md-faq__item p {
margin: 14px 0 0;
padding-top: 14px;
border-top: 1px solid var(--color-border);
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.8;
}


.md-timeline {
position: relative;
}

.md-timeline-group + .md-timeline-group {
margin-top: clamp(32px, 4vw, 56px);
}
.md-timeline-group__year {
font-size: clamp(2.25rem, 5vw, 3.25rem);
font-weight: 800;
color: var(--color-primary);
letter-spacing: -0.04em;
margin: 0 0 20px;
padding-left: 56px;
position: relative;
line-height: 1;
font-feature-settings: 'tnum';
}
.md-timeline-group__year::before {
content: '';
position: absolute;
left: 16px; top: 50%;
width: 24px; height: 2px;
background: var(--color-primary);
border-radius: 2px;
}

.md-timeline-group__items {
list-style: none;
margin: 0;
padding: 0;
position: relative;
}
.md-timeline-group__items::before {
content: '';
position: absolute;
left: 27px;
top: 12px;
bottom: 12px;
width: 2px;
background: var(--color-border);
border-radius: 2px;
}

.md-timeline__item {
position: relative;
display: grid;
grid-template-columns: 56px 1fr;
gap: 16px;
padding: 10px 0;
align-items: start;
}
.md-timeline__item + .md-timeline__item { margin-top: 4px; }

.md-timeline__month {
font-size: 0.8125rem;
font-weight: 700;
color: var(--color-text-sub);
padding-top: 18px;
text-align: right;
padding-right: 10px;
font-feature-settings: 'tnum';
}

.md-timeline__dot {
position: absolute;
left: 21px;
top: 18px;
width: 14px; height: 14px;
background: var(--color-white);
border: 3px solid var(--color-primary-light);
border-radius: 50%;
z-index: 1;
transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), background 0.25s var(--ease);
}
.md-timeline__item:hover .md-timeline__dot {
background: var(--color-primary);
border-color: var(--color-primary);
transform: scale(1.2);
}

.md-timeline__body {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: 14px 20px;
transition: all 0.25s var(--ease);
margin-left: 12px;
}
.md-timeline__item:hover .md-timeline__body {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateX(2px);
}

.md-timeline__photo {
margin: -14px -20px 14px;
border-radius: var(--radius-md) var(--radius-md) 0 0;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--color-surface);
}
.md-timeline__photo img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
}

.md-timeline__title {
font-size: 1.0625rem;
font-weight: 700;
margin: 0 0 6px;
color: var(--color-text);
line-height: 1.45;
letter-spacing: -0.01em;
}
.md-timeline__desc {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0;
}

@media (max-width: 640px) {
.md-timeline-group__year {
padding-left: 40px;
font-size: 2rem;
}
.md-timeline-group__year::before {
left: 8px;
width: 20px;
}
.md-timeline-group__items::before { left: 19px; }
.md-timeline__item {
grid-template-columns: 40px 1fr;
gap: 8px;
}
.md-timeline__month {
font-size: 0.6875rem;
padding-top: 16px;
padding-right: 4px;
}
.md-timeline__dot {
left: 13px;
top: 16px;
width: 12px; height: 12px;
}
.md-timeline__body {
padding: 12px 16px;
margin-left: 6px;
}
.md-timeline__photo { margin: -12px -16px 12px; }
}


.md-info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: clamp(16px, 2vw, 24px);
}
.md-info-block {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3vw, 32px);
}
.md-info-block__label {
display: inline-block;
font-size: var(--fs-caption);
font-weight: 600;
color: var(--color-primary);
letter-spacing: 0.1em;
text-transform: uppercase;
margin-bottom: 12px;
}
.md-info-block__value {
font-size: var(--fs-h4);
font-weight: 700;
margin: 0 0 8px;
color: var(--color-text);
}
.md-info-block__sub {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0;
}
.md-info-block ul {
list-style: none;
padding: 0;
margin: 0;
}
.md-info-block li {
display: flex;
justify-content: space-between;
padding: 6px 0;
font-size: var(--fs-small);
color: var(--color-text-sub);
border-bottom: 1px dashed var(--color-border);
}
.md-info-block li:last-child { border-bottom: none; }
.md-info-block li strong {
color: var(--color-text);
font-weight: 600;
}



.md-cta-banner {
background:
radial-gradient(circle at 15% 20%, rgba(255,246,232,0.14) 0%, transparent 40%),
radial-gradient(circle at 85% 85%, rgba(0,0,0,0.10) 0%, transparent 45%),
linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 55%, var(--color-primary-light) 100%);
color: var(--color-text-on-primary);
border-radius: clamp(20px, 2vw, 28px);
padding: clamp(48px, 6vw, 80px) clamp(24px, 5vw, 64px);
text-align: center;
position: relative;
overflow: hidden;
box-shadow: 0 20px 60px rgba(184, 99, 71, 0.22);
}
.md-cta-banner::before {
content: '';
position: absolute;
top: -100px; left: -100px;
width: 320px; height: 320px;
border-radius: 50%;
background: rgba(255, 246, 232, 0.07);
}
.md-cta-banner::after {
content: '';
position: absolute;
bottom: -120px; right: -80px;
width: 360px; height: 360px;
border-radius: 50%;
background: rgba(255, 246, 232, 0.05);
}
.md-cta-banner__title {
font-size: clamp(1.75rem, 3.4vw, 2.375rem);
line-height: 1.28;
letter-spacing: -0.022em;
font-weight: 800;
color: var(--color-text-on-primary);
margin: 0 auto 20px;
max-width: 24ch;
position: relative;
}
.md-cta-banner__lead {
font-size: 1rem;
color: rgba(255, 246, 232, 0.94);
line-height: 1.7;
margin: 0 auto 40px;
max-width: 48ch;
position: relative;
}
.md-cta-banner .md-btn-group { position: relative; }
.md-cta-banner .md-btn-secondary {
background: var(--color-white);
color: var(--color-primary);
border-color: var(--color-white);
}
.md-cta-banner .md-btn-secondary:hover {
background: transparent;
color: var(--color-white);
}


.md-footer {
background: var(--color-text);
color: rgba(255, 255, 255, 0.82);
padding: clamp(48px, 6vw, 80px) 0 24px;
}
.md-footer a { color: rgba(255, 255, 255, 0.82); }
.md-footer a:hover { color: var(--color-primary-light); }


.md-footer__grid {
display: grid;

grid-template-columns: 1.4fr 1fr 1.1fr;
gap: clamp(20px, 2.5vw, 40px);
margin-bottom: 40px;
max-width: 1200px;
}
@media (max-width: 900px) {
.md-footer__grid { grid-template-columns: 1fr 1fr; }
.md-footer__col--parking { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
.md-footer__grid { grid-template-columns: 1fr; }
.md-footer__col--parking { grid-column: auto; }
}


.md-footer__col--parking h4,
.md-footer__col--hours h4 {
display: flex;
align-items: center;
gap: 8px;
}
.md-footer__park-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 5px;
background: var(--color-primary);
color: #fff;
font-size: 0.75rem;
font-weight: 700;
line-height: 1;
flex-shrink: 0;
}

.md-footer__hours-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 5px;
background: var(--color-primary);
color: #fff;
flex-shrink: 0;
}
.md-footer__hours-badge svg {
width: 14px;
height: 14px;
}
.md-footer__park-list {
list-style: none;
padding: 0;
margin: 0;
}
.md-footer__park-list li {
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.md-footer__park-list li:last-child { border-bottom: none; }

.md-footer__park-item {
display: flex;
gap: 12px;
padding: 10px 8px;
margin: 0 -8px;
border-radius: 3px;
color: inherit;
text-decoration: none;
transition: background 0.2s var(--ease), transform 0.2s var(--ease);
cursor: pointer;
}
.md-footer__park-item:hover,
.md-footer__park-item:focus-visible {
background: rgba(255, 255, 255, 0.06);
transform: translateX(2px);
}
.md-footer__park-item:hover .md-footer__park-num,
.md-footer__park-item:focus-visible .md-footer__park-num {
background: var(--color-primary);
color: #fff;
}
.md-footer__park-item:hover strong,
.md-footer__park-item:focus-visible strong {
color: #fff;
}
.md-footer__park-item:hover span,
.md-footer__park-item:focus-visible span {
color: rgba(255, 255, 255, 0.85);
}
.md-footer__park-num {
flex: 0 0 32px;
height: 32px;
border-radius: 50%;
background: rgba(31, 74, 62, 0.18);
color: var(--color-primary-light);
font-size: 0.75rem;
font-weight: 700;
display: inline-flex;
align-items: center;
justify-content: center;
transition: background 0.2s var(--ease), color 0.2s var(--ease);
}
.md-footer__park-item > div {
flex: 1;
min-width: 0;
}
.md-footer__park-item strong {
display: block;
font-size: 0.8125rem;
font-weight: 600;
color: rgba(255, 255, 255, 0.92);
margin-bottom: 3px;
line-height: 1.4;
transition: color 0.2s var(--ease);
}
.md-footer__park-item span {
display: block;
font-size: 0.75rem;
color: rgba(255, 255, 255, 0.6);
line-height: 1.5;
transition: color 0.2s var(--ease);
}


.md-footer__park-transit {
list-style: none;
padding: 12px 0 0;
margin: 12px 0 0;
border-top: 1px dashed rgba(255, 255, 255, 0.12);
}
.md-footer__park-transit li {
font-size: 0.75rem;
color: rgba(255, 255, 255, 0.7);
line-height: 1.7;
padding: 3px 0;
}


.md-footer {
background: linear-gradient(180deg, #2A211A 0%, #221A14 100%);
padding: clamp(56px, 6.5vw, 96px) 0 24px;
}



.md-footer__brand {
padding-right: 20px;
}
.md-footer__brand-img { max-height: 60px; margin-bottom: 20px; }

.md-footer__phone,
.md-footer__email,
.md-footer__addr {
margin: 0 0 14px !important;
font-size: 0.9375rem;
line-height: 1.55;
}
.md-footer__phone a,
.md-footer__email a,
.md-footer__addr a,
.md-footer__addr {
display: inline-flex;
align-items: center;
gap: 10px;
color: rgba(255, 255, 255, 0.85);
text-decoration: none;
transition: color 0.2s var(--ease), transform 0.2s var(--ease);
}
.md-footer__phone a { font-weight: 600; font-size: 1.125rem; letter-spacing: 0.01em; }
.md-footer__phone a:hover,
.md-footer__email a:hover,
.md-footer__addr a:hover { color: var(--color-primary-light); }


.md-footer__social {
display: flex;
gap: 10px;
list-style: none;
padding: 0;
margin: 20px 0 0;
}
.md-fsoc {
display: inline-flex;
width: 38px;
height: 38px;
border-radius: 3px;
overflow: hidden;
transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.md-fsoc svg { width: 100%; height: 100%; display: block; }
.md-fsoc:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}


.md-footer__col--hours,
.md-footer__col--parking {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.06);
border-radius: 3px;
padding: 24px 22px;
transition: background 0.25s var(--ease), border-color 0.25s var(--ease);
}
.md-footer__col--hours:hover,
.md-footer__col--parking:hover {
background: rgba(255, 255, 255, 0.05);
border-color: rgba(255, 255, 255, 0.09);
}


.md-footer__col--hours h4,
.md-footer__col--parking h4 {
color: #fff;
font-size: 1.0625rem;
font-weight: 700;
letter-spacing: 0.02em;
margin: 0 0 18px;
padding-bottom: 14px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}


.md-footer__hours-badge,
.md-footer__park-badge {
box-shadow: 0 2px 8px rgba(31, 74, 62, 0.35);
}


.md-footer__hours-link {
padding: 0 !important;
margin: 0 !important;
background: none !important;
border-radius: 0 !important;
}
.md-footer__hours-link:hover,
.md-footer__hours-link:focus-visible {
background: none !important;
}
.md-footer__col--hours ul { padding: 0; margin: 0; }
.md-footer__hours {
display: flex !important;
justify-content: space-between !important;
align-items: center;
padding: 10px 0 !important;
border-bottom: 1px dashed rgba(255, 255, 255, 0.08);
}
.md-footer__hours:last-of-type { border-bottom: none; }
.md-footer__hours strong {
color: rgba(255, 255, 255, 0.9) !important;
font-weight: 500 !important;
font-size: 0.9375rem;
}
.md-footer__hours span {
color: var(--color-primary-light);
font-weight: 600;
font-family: var(--font-mono, ui-monospace, 'SF Mono', monospace);
font-size: 0.9375rem;
letter-spacing: 0.02em;
}
.md-footer__hours-off {
padding: 12px 0 !important;
font-size: 0.9375rem;
color: rgba(255, 255, 255, 0.65) !important;
font-weight: 500;
border-top: 1px dashed rgba(255, 255, 255, 0.08);
margin-top: 4px;
}

.md-footer__hours-note {
margin: 16px 0 0 !important;
padding: 14px 16px !important;
background: rgba(31, 74, 62, 0.08);
border-radius: 3px;
border-top: none !important;
font-size: 0.8125rem;
color: rgba(255, 255, 255, 0.78) !important;
line-height: 1.6;
text-align: left;
}


.md-footer__col--parking ul.md-footer__park-list {
margin: 0 -8px;
}
.md-footer__park-item {
padding: 12px 12px !important;
gap: 14px !important;
border-radius: 3px;
}
.md-footer__park-num {
flex: 0 0 34px !important;
height: 34px !important;
background: rgba(31, 74, 62, 0.14) !important;
color: var(--color-primary-light) !important;
font-size: 0.75rem !important;
font-weight: 700 !important;
letter-spacing: 0.03em;
border: 1px solid rgba(31, 74, 62, 0.22);
}
.md-footer__park-item strong {
font-size: 0.9375rem !important;
color: rgba(255, 255, 255, 0.95) !important;
font-weight: 600 !important;
margin-bottom: 4px !important;
}
.md-footer__park-item span {
font-size: 0.8125rem !important;
color: rgba(255, 255, 255, 0.68) !important;
margin-top: 2px;
line-height: 1.55;
}
.md-footer__park-list li {
border-bottom: 1px dashed rgba(255, 255, 255, 0.08) !important;
}
.md-footer__park-list li:last-child { border-bottom: none !important; }


.md-footer__park-item > div > span::before {
content: "📍";
margin-right: 5px;
font-size: 0.9375rem;
opacity: 0.7;
transition: opacity 0.2s var(--ease);
}
.md-footer__park-item:hover > div > span::before,
.md-footer__park-item:focus-visible > div > span::before {
opacity: 1;
}


.md-footer__park-note {
margin: 14px 4px 0;
padding: 12px 14px;
background: rgba(31, 74, 62, 0.08);
border-radius: 3px;
font-size: 0.8125rem;
line-height: 1.6;
color: rgba(255, 255, 255, 0.78);
}

.md-footer__park-transit {
margin: 16px 0 0 !important;
padding: 14px 4px 0 !important;
border-top: 1px dashed rgba(255, 255, 255, 0.1) !important;
}
.md-footer__park-transit li {
font-size: 0.8125rem !important;
color: rgba(255, 255, 255, 0.78) !important;
padding: 5px 0 !important;
line-height: 1.6;
}


.md-footer__grid {
grid-template-columns: 1.3fr 1fr 1.15fr;
gap: clamp(24px, 3vw, 44px);
margin-bottom: clamp(36px, 4.5vw, 56px);
max-width: 1240px;
}
@media (max-width: 900px) {
.md-footer__col--hours,
.md-footer__col--parking { padding: 20px 18px; }
}
@media (max-width: 520px) {
.md-footer__col--hours,
.md-footer__col--parking { padding: 20px 18px; }
.md-footer__brand { padding-right: 0; }
}


@media (max-width: 768px) {
.md-footer { padding: 40px 0 20px !important; }
.md-footer__grid {
grid-template-columns: 1fr !important;
gap: 20px !important;
margin-bottom: 24px !important;
}
.md-footer__col--parking { grid-column: auto !important; }
.md-footer__brand-img { max-height: 44px; margin-bottom: 14px; }
.md-footer__phone a,
.md-footer__email a,
.md-footer__addr {
font-size: 0.9375rem !important;
word-break: keep-all;
}
.md-footer__phone a { font-size: 1rem !important; }
.md-footer__addr { line-height: 1.55; }
.md-footer__social { gap: 8px; margin-top: 14px; }
.md-fsoc { width: 34px; height: 34px; border-radius: 3px; }


.md-footer__col--hours,
.md-footer__col--parking {
padding: 18px 16px !important;
border-radius: 3px !important;
}
.md-footer__col--hours h4,
.md-footer__col--parking h4 {
font-size: 1rem !important;
padding-bottom: 12px !important;
margin-bottom: 14px !important;
}
.md-footer__hours strong,
.md-footer__hours span,
.md-footer__hours-off {
font-size: 0.875rem !important;
word-break: keep-all;
}
.md-footer__hours-note {
font-size: 0.75rem !important;
padding: 10px 12px !important;
line-height: 1.5;
word-break: keep-all;
}
.md-footer__park-item strong {
font-size: 0.875rem !important;
word-break: keep-all;
}
.md-footer__park-item span {
font-size: 0.75rem !important;
line-height: 1.5;
word-break: keep-all;
}
.md-footer__park-note {
font-size: 0.75rem !important;
padding: 10px 12px !important;
line-height: 1.5;
}
.md-footer__park-transit li {
font-size: 0.75rem !important;
word-break: keep-all;
}


.md-footer__legal-line { padding-top: 20px; }
.md-footer__legal-line p {
font-size: 0.8125rem;
line-height: 1.6;
word-break: keep-all;
}
.md-footer__legal-line small { font-size: 0.75rem; }
.md-footer__policy-line {
font-size: 0.8125rem;
line-height: 1.8;
}
.md-footer__sep { display: inline-block; margin: 0 2px; }
}


.md-footer__legal-line {
padding-top: 24px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
text-align: center;
}
.md-footer__legal-line p {
margin: 0 0 6px;
color: rgba(255, 255, 255, 0.62);
font-size: 0.875rem;
letter-spacing: 0.01em;
line-height: 1.7;
}
.md-footer__legal-line small {
color: rgba(255, 255, 255, 0.48);
font-size: 0.8125rem;
letter-spacing: 0.02em;
}
.md-footer__sep {
color: rgba(255, 255, 255, 0.25);
margin: 0 4px;
}
.md-footer__policy-line {
margin: 0 0 12px !important;
font-size: 0.875rem;
}
.md-footer__policy-line a {
color: rgba(255, 255, 255, 0.78);
font-weight: 500;
padding: 2px 6px;
border-radius: 4px;
transition: background 0.2s var(--ease), color 0.2s var(--ease);
}
.md-footer__policy-line a:hover,
.md-footer__policy-line a:focus-visible {
color: #fff;
background: rgba(255, 255, 255, 0.08);
text-decoration: none;
}


.md-footer__policy-line {
margin: 0 0 8px !important;
font-size: 0.875rem;
color: rgba(255, 255, 255, 0.75);
}
.md-footer__policy-line a {
color: rgba(255, 255, 255, 0.85);
text-decoration: none;
transition: color 0.2s var(--ease);
}
.md-footer__policy-line a:hover,
.md-footer__policy-line a:focus-visible {
color: #fff;
text-decoration: underline;
}

.md-footer__brand h3 {
color: #fff;
font-size: var(--fs-h4);
margin: 0 0 8px;
}
.md-footer__brand p {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.6);
margin: 0 0 16px;
}

.md-footer__col h4 {
color: #fff;
font-size: var(--fs-small);
font-weight: 700;
letter-spacing: 0.05em;
margin: 0 0 12px;
}
.md-footer__col ul {
list-style: none;
padding: 0;
margin: 0;
}
.md-footer__col li {
font-size: var(--fs-small);
padding: 6px 0;
line-height: 1.5;
}
.md-footer__hours {
display: flex;
justify-content: space-between;
font-size: var(--fs-small);
padding: 6px 0;
line-height: 1.5;
}
.md-footer__hours strong {
color: rgba(255, 255, 255, 0.95);
font-weight: 500;
}
.md-footer__bottom {
border-top: 1px solid rgba(255, 255, 255, 0.10);
padding-top: 20px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
flex-wrap: wrap;
font-size: var(--fs-caption);
color: rgba(255, 255, 255, 0.5);
}
@media (max-width: 540px) {
.md-footer__bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}


.md-footer__legal {
margin-top: clamp(28px, 3.5vw, 40px);
padding: clamp(18px, 2.2vw, 24px) 0;
border-top: 1px solid rgba(255, 255, 255, 0.10);
border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.md-footer__legal-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 8px 24px;
margin: 0 0 14px;
}
.md-footer__legal-row {
display: flex;
gap: 10px;
font-size: 0.75rem;
line-height: 1.55;
color: rgba(255, 255, 255, 0.6);
}
.md-footer__legal-row dt {
flex-shrink: 0;
min-width: 78px;
font-weight: 700;
color: rgba(255, 255, 255, 0.75);
}
.md-footer__legal-row dd { margin: 0; }
.md-footer__legal-extra {
margin: 12px 0 0;
font-size: 0.7rem;
line-height: 1.65;
color: rgba(255, 255, 255, 0.45);
word-break: keep-all;
}
.md-footer__policy-links {
list-style: none;
padding: 0;
margin: 14px 0 0;
display: flex;
flex-wrap: wrap;
gap: 6px 14px;
font-size: 0.75rem;
}
.md-footer__policy-links li { position: relative; padding-left: 14px; }
.md-footer__policy-links li:first-child { padding-left: 0; }
.md-footer__policy-links li:not(:first-child)::before {
content: '·';
position: absolute;
left: 4px; top: 0;
color: rgba(255, 255, 255, 0.4);
}
.md-footer__policy-links a {
color: rgba(255, 255, 255, 0.75);
font-weight: 600;
text-decoration: none;
}
.md-footer__policy-links a:hover { color: var(--color-primary-light); }


.md-footer__policy-item a {
color: rgba(255, 255, 255, 0.75);
transition: color 0.2s var(--ease);
}
.md-footer__policy-item a:hover { color: var(--color-primary-light); }

.md-footer__rep {
font-size: 0.8125rem;
color: rgba(255, 255, 255, 0.7);
margin: 8px 0 0;
padding-top: 8px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media print {

* {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important;
}
body { margin: 0 !important; padding: 0 !important; font-size: 11pt; line-height: 1.5; }
html { color-scheme: light !important; }


@page { margin: 15mm 12mm; }


.md-site-header,
.md-header,
.md-header__inner,
.md-mobile-cta,
.md-fab-stack,
.md-fab,
.md-utilbar,
.language-switcher,
.md-language-switcher,
#goog-gt-tt,
.goog-te-banner-frame,
.skiptranslate,
.glang-widget,
.glang-tools,
[class*="glang"],
.md-fsoc,
.md-footer__social,
.md-cta-banner,
.md-cta-banner__hint,
.md-region-cta,
.md-docs-cta,
.md-priceX-cta,
.md-docsingle-others,
.md-doc-single-cta,
.md-testimonials__more,
.md-header__cta,
.md-header__nav-toggle,
.md-header__nav,
.md-locmap,
.md-mapbtn-grid,
#wpadminbar,
form,
iframe,
[role="tablist"],
[aria-hidden="true"] {
display: none !important;
}


.md-container,
.md-container--narrow {
max-width: 100% !important;
padding: 0 !important;
margin: 0 auto !important;
}
.md-section { padding: 12pt 0 !important; page-break-inside: avoid; }


a[href]:not([href^="#"]):not([href^="javascript:"]):after {
content: " (" attr(href) ")";
font-size: 9pt;
color: #555 !important;
word-break: break-all;
}
a { text-decoration: underline; color: #000 !important; }


h1, h2, h3, h4, h5, h6 { color: #000 !important; page-break-after: avoid; }
h1 { font-size: 22pt; margin: 8pt 0 6pt; }
h2 { font-size: 16pt; margin: 12pt 0 6pt; border-bottom: 1pt solid #000; padding-bottom: 3pt; }
h3 { font-size: 13pt; margin: 8pt 0 4pt; }


article, section, aside {
background: #fff !important;
border: 1pt solid #ccc !important;
padding: 6pt !important;
margin-bottom: 6pt !important;
page-break-inside: avoid;
}


img {
max-width: 100% !important;
height: auto !important;
page-break-inside: avoid;
}


table { border-collapse: collapse !important; width: 100% !important; }
table, th, td { border: 1pt solid #999 !important; padding: 4pt !important; }
th { background: #f0f0f0 !important; -webkit-print-color-adjust: exact; }


ul, ol, dl { page-break-inside: avoid; }
tr { page-break-inside: avoid; }


.md-footer {
background: transparent !important;
color: #000 !important;
border-top: 2pt solid #000 !important;
padding: 8pt 0 !important;
margin-top: 12pt !important;
}
.md-footer * { color: #000 !important; }
.md-footer__grid { display: block !important; }
.md-footer__col { margin-bottom: 8pt !important; border: none !important; padding: 0 !important; }
}


.md-footer__legal-line {
margin-top: clamp(20px, 2.5vw, 28px);
padding: clamp(14px, 1.8vw, 16px) 0 0;
border-top: 1px solid rgba(255, 255, 255, 0.08);
text-align: center;
}
.md-footer__legal-line p {
margin: 0;
font-size: 0.75rem;
line-height: 1.9;
color: rgba(255, 255, 255, 0.6);
word-break: keep-all;
}
.md-footer__legal-line small {
font-size: inherit;
color: rgba(255, 255, 255, 0.5);
letter-spacing: 0.02em;
font-feature-settings: 'tnum';
}
.md-footer__legal-line .md-footer__sep {
color: rgba(255, 255, 255, 0.25);
margin: 0 4px;
font-weight: 300;
}
@media (max-width: 720px) {
.md-footer__legal-line p { font-size: 0.7rem; line-height: 1.85; }
.md-footer__legal-line .md-footer__sep { display: inline-block; opacity: 0.5; }
}


.md-footer__copyright-bar {
margin-top: clamp(24px, 3vw, 36px);
padding: clamp(16px, 2vw, 20px) 0 0;
border-top: 1px solid rgba(255, 255, 255, 0.10);
text-align: center;
}
.md-footer__copyright-bar p {
margin: 0;
font-size: 0.8125rem;
color: rgba(255, 255, 255, 0.68);
letter-spacing: 0.02em;
font-feature-settings: 'tnum';
}


@media (max-width: 720px) {
.md-footer__brand { text-align: center; }
.md-footer__phone,
.md-footer__addr { text-align: center; }
.md-footer__social { justify-content: center; }
.md-footer__col h4 { font-size: 0.9375rem; }
.md-footer__col ul { padding: 0; }
.md-footer__col li { padding: 6px 0; font-size: 0.875rem; }
.md-footer__legal-row { font-size: 0.7rem; flex-direction: column; gap: 2px; }
.md-footer__legal-row dt { min-width: 0; }
.md-footer__policy-links { justify-content: center; }
.md-footer__bottom { font-size: 0.7rem; }
.md-footer__biz-info { font-size: 0.72rem; line-height: 1.85; }
.md-footer__biz-info p { margin-bottom: 4px; }
.md-footer__disclaimer { font-size: 0.7rem; }
.md-footer__sep { display: inline-block; opacity: 0.5; }
}


.md-page-hero {
padding: clamp(48px, 7vw, 96px) 0 clamp(40px, 5vw, 64px);
background:
linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 100%);
text-align: center;
}
.md-page-hero__crumbs {
font-size: var(--fs-caption);
color: var(--color-text-mute);
margin-bottom: 16px;
}
.md-page-hero__crumbs a { color: var(--color-text-sub); }
.md-page-hero__title {
font-size: var(--fs-h1);
margin: 0 0 12px;
}
.md-page-hero__lead {
font-size: var(--fs-body);
color: var(--color-text-sub);
max-width: 620px;
margin: 0 auto;
line-height: 1.8;
}


.md-page-content {
font-size: var(--fs-body);
line-height: 1.85;
color: var(--color-text);
}
.md-page-content > * + * { margin-top: 1.25em; }
.md-page-content h2 {
font-size: var(--fs-h2);
margin-top: 2em;
margin-bottom: 0.7em;
}
.md-page-content h3 {
font-size: var(--fs-h3);
margin-top: 1.6em;
margin-bottom: 0.6em;
}
.md-page-content h2 + h3,
.md-page-content h3 + h4 { margin-top: 0.8em; }

.md-page-content ul,
.md-page-content ol {
padding-left: 1.5em;
}
.md-page-content li { margin: 0.4em 0; }

.md-page-content blockquote {
margin: 1.6em 0;
padding: 20px 28px;
background: var(--color-surface);
border-left: 4px solid var(--color-primary);
border-radius: var(--radius-sm);
color: var(--color-text-sub);
font-style: normal;
}
.md-page-content img,
.md-page-content .wp-block-image img {
border-radius: var(--radius-md);
max-width: 100%;
height: auto;
}
.md-page-content table {
width: 100%;
border-collapse: collapse;
margin: 1.6em 0;
}

.md-table-scroll,
.md-page-content .md-table-scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
margin: 1.6em 0;
max-width: 100%;
}
.md-table-scroll > table {
margin: 0;
min-width: 480px;
}
@media (max-width: 640px) {
.md-page-content table:not(.md-table-scroll table) {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
white-space: nowrap;
}
}
.md-page-content th,
.md-page-content td {
padding: 12px 16px;
border-bottom: 1px solid var(--color-border);
text-align: left;
font-size: var(--fs-small);
}
.md-page-content thead th {
background: var(--color-surface);
font-weight: 700;
border-bottom: 2px solid var(--color-border);
}



:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 3px;
border-radius: 4px;
}

@media (prefers-color-scheme: dark) {
:focus-visible {
outline-color: var(--color-primary-light);
}
}

.md-btn:focus-visible,
a:focus-visible {
outline-offset: 3px;
z-index: 1;
position: relative;
}

:root[data-theme="dark"] :focus-visible {
outline-color: var(--color-primary-light);
}

.md-sr-only {
position: absolute !important;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border: 0;
}

@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}


.md-reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity 0.7s var(--ease), transform 0.7s var(--ease);
will-change: opacity, transform;
}
.md-reveal.is-revealed {
opacity: 1;
transform: translateY(0);
}

.md-reveal[data-reveal-delay="1"] { transition-delay: 0.08s; }
.md-reveal[data-reveal-delay="2"] { transition-delay: 0.16s; }
.md-reveal[data-reveal-delay="3"] { transition-delay: 0.24s; }
.md-reveal[data-reveal-delay="4"] { transition-delay: 0.32s; }
.md-reveal[data-reveal-delay="5"] { transition-delay: 0.40s; }
.md-reveal[data-reveal-delay="6"] { transition-delay: 0.48s; }
.md-reveal[data-reveal-delay="7"] { transition-delay: 0.56s; }

@media (prefers-reduced-motion: reduce) {
.md-reveal { opacity: 1; transform: none; transition: none; }
}


.md-screen-reader-text {
position: absolute !important;
width: 1px; height: 1px;
padding: 0; margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
white-space: nowrap;
border: 0;
}


.md-hero__badges {
list-style: none;
padding: 0;
margin: 28px 0 0;
display: flex;
flex-wrap: wrap;
gap: 8px 18px;
}
.md-hero__badges li {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: var(--fs-caption);
color: var(--color-text-sub);
font-weight: 500;
letter-spacing: -0.005em;
}
.md-hero__badges li span[aria-hidden] {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px; height: 18px;
border-radius: 50%;
background: var(--color-accent-light);
color: #2F5A39;
font-size: 0.6875rem;
font-weight: 800;
line-height: 1;
}


.md-trust {
background: var(--color-bg);
padding-block: clamp(40px, 5vw, 64px);
position: relative;
}
.md-trust::before,
.md-trust::after {
content: '';
position: absolute;
left: 0; right: 0;
height: 1px;
background: linear-gradient(90deg,
transparent 0%,
var(--color-border) 18%,
var(--color-border) 82%,
transparent 100%);
}
.md-trust::before { top: 0; }
.md-trust::after  { bottom: 0; }

.md-trust__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(12px, 2.5vw, 32px);
}
@media (max-width: 880px) {
.md-trust__grid { grid-template-columns: repeat(2, 1fr); gap: 24px 12px; }
}

.md-trust__item {
position: relative;
padding: clamp(12px, 2vw, 20px) clamp(8px, 1.5vw, 16px);
text-align: center;
}
.md-trust__item + .md-trust__item::before {
content: '';
position: absolute;
top: 20%; bottom: 20%;
left: 0;
width: 1px;
background: linear-gradient(180deg,
transparent 0%,
var(--color-border) 40%,
var(--color-border) 60%,
transparent 100%);
}
@media (max-width: 880px) {
.md-trust__item + .md-trust__item::before { display: none; }
.md-trust__item:nth-child(odd) + .md-trust__item::before { display: none; }
}

.md-trust__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px; height: 44px;
margin-bottom: 8px;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
border-radius: 50%;
font-size: 1.25rem;
box-shadow: inset 0 0 0 1px rgba(255,255,255,0.7);
}
.md-trust__num {
display: inline-flex;
align-items: baseline;
gap: 4px;
margin: 4px 0 8px;
font-feature-settings: 'tnum';
}
.md-trust__value {
font-size: clamp(2rem, 4.5vw, 3rem);
font-weight: 800;
color: var(--color-primary-dark);
line-height: 1;
letter-spacing: -0.04em;
}
.md-trust__unit {
font-size: clamp(0.875rem, 1.4vw, 1.125rem);
font-weight: 700;
color: var(--color-text-sub);
}
.md-trust__label {
font-size: var(--fs-small);
font-weight: 700;
color: var(--color-text);
margin-bottom: 2px;
letter-spacing: -0.01em;
}
.md-trust__sub {
font-size: var(--fs-caption);
color: var(--color-text-mute);
line-height: 1.5;
}


.md-service-card { padding-top: clamp(32px, 4vw, 44px); }

.md-service-card__num {
position: absolute;
top: 14px; right: 18px;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.1em;
color: var(--color-primary);
opacity: 0.5;
font-feature-settings: 'tnum';
z-index: 2;
transition: opacity 0.3s var(--ease);
}
.md-service-card:hover .md-service-card__num { opacity: 1; }

.md-service-card__more {
display: inline-flex;
align-items: center;
gap: 6px;
margin-top: 16px;
font-size: var(--fs-caption);
font-weight: 700;
color: var(--color-primary-dark);
letter-spacing: 0.02em;
transition: gap 0.25s var(--ease);
}
.md-service-card__arrow {
display: inline-block;
transition: transform 0.3s var(--ease);
}
.md-service-card:hover .md-service-card__more { gap: 10px; }
.md-service-card:hover .md-service-card__arrow { transform: translateX(2px); }


.md-doctor__photo { position: relative; }
.md-doctor__badge {
position: absolute;
bottom: 16px; left: 16px;
background: rgba(255, 255, 255, 0.95);
color: var(--color-primary-dark);
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.14em;
padding: 6px 14px;
border-radius: var(--radius-pill);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
box-shadow: 0 4px 12px rgba(22, 22, 22, 0.10);
}

.md-doctor__quote {
position: relative;
margin: 0 0 8px;
padding: 18px 22px 18px 56px;
background: var(--color-surface);
border-radius: var(--radius-md);
border-left: 3px solid var(--color-primary);
}
.md-doctor__quote::before {
content: '\201C';
position: absolute;
left: 14px; top: -6px;
font-family: Georgia, 'Times New Roman', serif;
font-size: 4rem;
line-height: 1;
color: var(--color-primary);
opacity: 0.55;
}
.md-doctor__quote p {
font-size: var(--fs-body);
color: var(--color-text);
line-height: 1.75;
margin: 0;
font-style: italic;
letter-spacing: -0.01em;
}
@media (max-width: 768px) {
.md-doctor__quote { padding: 16px 18px 16px 48px; }
.md-doctor__quote::before { left: 10px; font-size: 3.25rem; }
}



.md-cta-banner__eyebrow {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.26em;
text-transform: uppercase;
color: rgba(255, 246, 232, 0.85);
background: transparent;
padding: 0;
border-radius: 0;
margin-bottom: 22px;
position: relative;
backdrop-filter: none;
-webkit-backdrop-filter: none;
}
.md-cta-banner__eyebrow::before,
.md-cta-banner__eyebrow::after {
content: '';
display: inline-block;
width: 20px;
height: 1px;
background: rgba(255, 246, 232, 0.55);
}
.md-cta-banner__hint {
font-size: 0.8125rem;
color: rgba(255, 246, 232, 0.82);
margin: 28px 0 0;
position: relative;
letter-spacing: 0;
line-height: 1.6;
}
.md-cta-banner .md-btn-primary {
background: var(--color-white);
color: var(--color-primary-dark);
border-color: var(--color-white);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
.md-cta-banner .md-btn-primary:hover {
background: var(--color-surface);
color: var(--color-primary-dark);
}
.md-cta-banner .md-btn-ghost {
background: transparent;
color: var(--color-white);
border-color: rgba(255, 255, 255, 0.55);
}
.md-cta-banner .md-btn-ghost:hover {
background: rgba(255, 255, 255, 0.14);
color: var(--color-white);
border-color: var(--color-white);
}


.md-cta-banner .md-rcta,
.md-cta-banner .md-btn-group.md-rcta {
gap: 14px;
max-width: 640px;
flex-wrap: nowrap;
}
.md-cta-banner .md-rcta__btn {
display: flex !important;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 12px;
padding: 24px 14px;
border-radius: 3px;
min-height: 116px;
white-space: normal;
overflow: visible;
text-overflow: unset;
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), background-color 0.2s var(--ease);
box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16);
}
.md-cta-banner .md-rcta__btn:hover {
transform: translateY(-4px);
box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}
.md-cta-banner .md-rcta__btn .md-rcta__icon {
width: 34px;
height: 34px;
flex-shrink: 0;
}
.md-cta-banner .md-rcta__btn .md-rcta__label {
font-size: 0.95rem;
font-weight: 700;
letter-spacing: -0.005em;
line-height: 1.3;
}

.md-cta-banner .md-btn--phone {
background: var(--color-white);
color: var(--color-primary-dark);
border-color: var(--color-white);
}
.md-cta-banner .md-btn--phone:hover {
background: var(--color-surface);
color: var(--color-primary-dark);
border-color: var(--color-surface);
}


@media (max-width: 520px) {
.md-cta-banner .md-rcta,
.md-cta-banner .md-btn-group.md-rcta {
flex-direction: column;
max-width: 380px;
}
.md-cta-banner .md-rcta__btn {
flex-direction: row;
gap: 12px;
min-height: 64px;
padding: 16px 22px;
width: 100%;
}
.md-cta-banner .md-rcta__btn .md-rcta__icon {
width: 28px;
height: 28px;
}
}


a.md-team-card {
text-decoration: none;
color: inherit;
cursor: pointer;
}
a.md-team-card:hover { color: inherit; }
.md-team-card__role,
.md-team-card__name,
.md-team-card__bio,
.md-team-card__body,
.md-team-card__more {
display: block;
}
.md-team-card__more {
margin-top: 10px;
padding-top: 10px;
border-top: 1px solid var(--color-border);
font-size: var(--fs-caption);
font-weight: 700;
color: var(--color-primary-dark);
letter-spacing: 0.02em;
transition: color 0.2s var(--ease);
}
a.md-team-card:hover .md-team-card__more {
color: var(--color-primary);
}


.md-channel-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: clamp(14px, 2vw, 22px);
}
.md-channel-card {
position: relative;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 8px;
padding: clamp(24px, 3vw, 32px);
background: var(--color-white);
border: 1.5px solid var(--color-border);
border-radius: var(--radius-lg);
text-decoration: none;
color: var(--color-text);
transition: all 0.3s var(--ease);
overflow: hidden;
}
.md-channel-card::before {
content: '';
position: absolute;
top: -40px; right: -40px;
width: 120px; height: 120px;
border-radius: 50%;
background: var(--color-surface);
transition: transform 0.4s var(--ease-out-back);
z-index: 0;
}
.md-channel-card > * { position: relative; z-index: 1; }
.md-channel-card:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-hover);
transform: translateY(-4px);
color: var(--color-text);
}
.md-channel-card:hover::before { transform: scale(1.6); }

.md-channel-card__icon {
font-size: 2.25rem;
line-height: 1;
display: inline-flex;
align-items: center;
justify-content: center;
}

.md-channel-card__icon svg {
display: block;
flex-shrink: 0;
}
.md-channel-card__icon--phone {
width: 56px;
height: 56px;
border-radius: 50%;
background: rgba(31, 74, 62, 0.10);
color: var(--color-primary);
}
.md-channel-card__icon--kakao,
.md-channel-card__icon--naver {
width: 56px;
height: 56px;
}


.md-channel-card--kakao { border-color: rgba(254, 229, 0, 0.4); }
.md-channel-card--kakao:hover {
border-color: #FEE500;
box-shadow: 0 14px 32px rgba(254, 229, 0, 0.28);
}

.md-channel-card--naver { border-color: rgba(3, 199, 90, 0.4); }
.md-channel-card--naver:hover {
border-color: #03C75A;
box-shadow: 0 14px 32px rgba(3, 199, 90, 0.28);
}
.md-channel-card__title {
font-size: var(--fs-h4);
font-weight: 800;
color: var(--color-text);
letter-spacing: -0.015em;
}
.md-channel-card__desc {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.6;
}
.md-channel-card__cta {
margin-top: auto;
padding-top: 12px;
font-size: var(--fs-caption);
font-weight: 700;
color: var(--color-primary-dark);
letter-spacing: 0.02em;
transition: gap 0.2s var(--ease);
}


.md-channel-card--primary {
background: linear-gradient(135deg, #03C75A 0%, #02a64a 100%);
border-color: #03C75A;
color: #fff;
}
.md-channel-card--primary::before { background: rgba(255,255,255,0.10); }
.md-channel-card--primary .md-channel-card__title,
.md-channel-card--primary .md-channel-card__desc,
.md-channel-card--primary .md-channel-card__cta { color: #fff; }
.md-channel-card--primary .md-channel-card__desc { opacity: 0.92; }
.md-channel-card--primary:hover {
color: #fff;
border-color: #02a64a;
box-shadow: 0 14px 32px rgba(3, 199, 90, 0.32);
}

.md-channel-grid__hint {
margin: 24px 0 0;
text-align: center;
font-size: var(--fs-caption);
color: var(--color-text-mute);
}


.md-mapbtn-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(12px, 2vw, 20px);
margin-bottom: clamp(32px, 4vw, 48px);
}
@media (max-width: 720px) {
.md-mapbtn-grid { grid-template-columns: 1fr; }
}

.md-mapbtn {
display: flex;
align-items: center;
gap: 16px;
padding: 16px 20px;
background: var(--color-white);
border: 1.5px solid var(--color-border);
border-radius: var(--radius-lg);
text-decoration: none;
color: var(--color-text);
transition: all 0.25s var(--ease);
}
.md-mapbtn:hover {
transform: translateY(-3px);
box-shadow: var(--shadow-hover);
color: var(--color-text);
}
.md-mapbtn__logo {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px; height: 44px;
border-radius: 3px;
font-weight: 800;
font-size: 1.25rem;
flex-shrink: 0;
color: #fff;
}
.md-mapbtn--naver  .md-mapbtn__logo { background: #03C75A; }
.md-mapbtn--kakao  .md-mapbtn__logo { background: #FEE500; color: #3C1E1E; }
.md-mapbtn--google .md-mapbtn__logo { background: #4285F4; }

.md-mapbtn__body {
display: flex;
flex-direction: column;
flex: 1;
min-width: 0;
}
.md-mapbtn__name {
font-size: 1rem;
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-mapbtn__sub {
font-size: var(--fs-caption);
color: var(--color-text-sub);
margin-top: 2px;
}
.md-mapbtn__arrow {
font-size: 1.25rem;
font-weight: 600;
color: var(--color-text-mute);
transition: transform 0.25s var(--ease), color 0.25s var(--ease);
}
.md-mapbtn:hover .md-mapbtn__arrow {
transform: translateX(4px);
color: var(--color-primary);
}


.md-location-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: clamp(14px, 2vw, 20px);
margin-bottom: clamp(32px, 4vw, 48px);
}
.md-location-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: clamp(20px, 2.5vw, 28px);
}
.md-location-card h3 {
font-size: 1rem;
font-weight: 700;
margin: 0 0 12px;
color: var(--color-primary-dark);
letter-spacing: -0.01em;
}
.md-location-card ul {
list-style: none;
padding: 0;
margin: 0;
}
.md-location-card li {
position: relative;
padding: 6px 0 6px 18px;
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.65;
}
.md-location-card li::before {
content: '';
position: absolute;
left: 0; top: 14px;
width: 6px; height: 6px;
border-radius: 50%;
background: var(--color-accent);
}

.md-location-floors {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3vw, 32px);
}
.md-location-floors__title {
font-size: var(--fs-h4);
font-weight: 700;
margin: 0 0 16px;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-location-floors ul {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 8px 24px;
}
.md-location-floors li {
padding: 8px 0;
border-bottom: 1px dashed var(--color-border);
font-size: var(--fs-small);
color: var(--color-text-sub);
}
.md-location-floors li strong {
display: inline-block;
min-width: 56px;
font-weight: 800;
color: var(--color-primary-dark);
font-feature-settings: 'tnum';
}


.md-park {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3.5vw, 40px);
margin-bottom: clamp(32px, 4vw, 48px);
position: relative;
overflow: hidden;
}
.md-park::before {
content: '';
position: absolute;
top: -50px; right: -50px;
width: 180px; height: 180px;
border-radius: 50%;
background: var(--color-surface);
opacity: 0.6;
pointer-events: none;
}
.md-park > * { position: relative; }

.md-park__head { margin-bottom: clamp(20px, 2.5vw, 28px); }
.md-park__badge {
display: inline-block;
background: var(--color-accent);
color: #fff;
font-size: var(--fs-caption);
font-weight: 700;
letter-spacing: 0.08em;
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 12px;
}
.md-park__title {
font-size: clamp(1.25rem, 2.4vw, 1.625rem);
font-weight: 800;
color: var(--color-text);
margin: 0 0 8px;
letter-spacing: -0.015em;
word-break: keep-all;
}
.md-park__title strong {
color: var(--color-primary-dark);
}
.md-park__lead {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0;
line-height: 1.65;
word-break: keep-all;
}

.md-park__lead--note {
margin: 0 0 clamp(16px, 2vw, 22px);
padding: 12px 16px;
background: var(--color-accent-light);
border-radius: var(--radius-md);
color: var(--color-text);
}

.md-park__list {
list-style: none;
padding: 0;
margin: 0 0 clamp(20px, 2.5vw, 28px);
display: grid;
gap: 14px;
}
.md-park__list li {
display: grid;
grid-template-columns: 44px 1fr;
gap: 14px;
align-items: start;
padding: 16px 18px;
background: var(--color-surface);
border-radius: var(--radius-md);
border-left: 3px solid var(--color-primary);
}
.md-park__num {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px; height: 44px;
background: var(--color-primary);
color: #fff;
font-size: 0.9375rem;
font-weight: 800;
border-radius: 50%;
font-feature-settings: 'tnum';
flex-shrink: 0;
}
.md-park__list li > div {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 0;
}
.md-park__list li strong {
font-size: 1rem;
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.01em;
word-break: keep-all;
}
.md-park__list li span {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
word-break: keep-all;
overflow-wrap: break-word;
}
.md-park__list li span strong {
display: inline;
font-size: inherit;
color: var(--color-text);
}

.md-park__walk {
margin: 0;
padding: 14px 18px;
background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-surface) 100%);
border-radius: var(--radius-md);
font-size: var(--fs-small);
color: var(--color-text);
line-height: 1.65;
word-break: keep-all;
display: flex;
flex-direction: column;
gap: 4px;
}
.md-park__walk > span { display: block; }
.md-park__walk strong {
color: var(--color-primary-dark);
font-weight: 700;
}


.md-station-link {
color: var(--color-primary-dark);
text-decoration: underline;
text-decoration-color: rgba(31, 74, 62, 0.45);
text-decoration-thickness: 1.5px;
text-underline-offset: 3px;
font-weight: 700;
transition: all 0.18s ease;
}
.md-station-link:hover {
color: var(--color-primary);
text-decoration-color: var(--color-primary);
text-decoration-thickness: 2px;
}

.md-station-hl {
font-weight: 800;
}
.md-station-hl--intercity { color: #4a90e2; }
.md-station-hl--express   { color: #d97744; }

@media (prefers-color-scheme: dark) {
.md-station-link {
color: #9CC5B5;
text-decoration-color: rgba(156, 197, 181, 0.55);
}
.md-station-link:hover {
color: #ffd0b0;
text-decoration-color: #9CC5B5;
}
.md-station-hl--intercity { color: #6cb4ff; }
.md-station-hl--express   { color: #9CC5B5; }
}

@media (max-width: 480px) {
.md-park__list li {
grid-template-columns: 36px 1fr;
gap: 12px;
padding: 14px 14px;
}
.md-park__num { width: 36px; height: 36px; font-size: 0.8125rem; }
}





html { overflow-x: clip; }
body { overflow-x: clip; }


.md-hero__title,
.md-section-head__title,
.md-page-hero__title,
.md-cta-banner__title,
.md-trust__label,
.md-channel-card__title,
.md-doctor__name,
.md-doc-row__name,
.md-team-card__name {
word-break: keep-all;
overflow-wrap: break-word;
}


.md-hero__lead,
.md-section-head__lead,
.md-page-hero__lead,
.md-cta-banner__lead,
.md-channel-card__desc,
.md-trust__sub {
word-break: keep-all;
overflow-wrap: break-word;
}


.md-service-grid > *,
.md-trust__grid > *,
.md-channel-grid > *,
.md-mapbtn-grid > *,
.md-location-grid > *,
.md-team-grid > *,
.md-testimonials > *,
.md-news-grid > *,
.md-info-grid > * {
min-width: 0;
}


@media (max-width: 768px) {
.md-btn,
.md-btn-primary,
.md-btn-secondary,
.md-btn-ghost {
min-height: 44px;
padding-inline: 22px;
}
.md-btn--sm {
padding: 12px 20px;
min-height: 44px;
}
.md-btn--lg {
padding: 16px 28px;
font-size: 1rem;
}
}


@media (max-width: 768px) {

.md-section {
padding-block: clamp(48px, 9vw, 80px);
}
.md-section--sm {
padding-block: clamp(36px, 6vw, 56px);
}


.md-hero {
padding: clamp(36px, 8vw, 64px) 0 clamp(40px, 9vw, 72px);
}
.md-hero__media {
aspect-ratio: 16 / 11;
max-height: 320px;
}
.md-hero__inner {
gap: 24px;
}
.md-hero__title { letter-spacing: -0.02em; }
.md-hero__lead { max-width: none; }


.md-hero__badges {
gap: 6px 14px;
margin-top: 20px;
}

@media (max-width: 480px) {
.md-hero__badges li:nth-child(n+3) { display: none; }
}


.md-hero .md-btn-group {
width: 100%;
}
.md-hero .md-btn-group .md-btn {
flex: 1 1 auto;
min-width: 0;
}


.md-trust { padding-block: 32px; }
.md-trust__item { padding: 8px 4px; }
.md-trust__icon {
width: 36px; height: 36px;
font-size: 1rem;
margin-bottom: 4px;
}
.md-trust__num { margin: 2px 0 4px; }


.md-service-card { padding: 28px 18px 22px; }
.md-service-card__num {
top: 10px; right: 14px;
font-size: 0.6875rem;
}
.md-service-card__icon {
width: 64px; height: 64px;
font-size: 28px;
}


.md-channel-card { padding: 22px 20px; }
.md-channel-card__icon { font-size: 1.875rem; }


.md-mapbtn { padding: 14px 16px; gap: 12px; }
.md-mapbtn__logo { width: 40px; height: 40px; font-size: 1.0625rem; }


.md-location-card { padding: 20px 18px; }
.md-location-floors { padding: 22px 20px; }


.md-cta-banner {
padding: clamp(36px, 6vw, 56px) clamp(20px, 4vw, 32px);
border-radius: 3px;
}
.md-cta-banner__eyebrow {
letter-spacing: 0.2em;
margin-bottom: 16px;
}
.md-cta-banner__eyebrow::before,
.md-cta-banner__eyebrow::after {
width: 14px;
}
.md-cta-banner__title { font-size: 1.5rem; line-height: 1.3; margin-bottom: 14px; }
.md-cta-banner__lead { font-size: 0.9375rem; margin-bottom: 28px; }
.md-cta-banner__lead br { display: none; } 
.md-cta-banner__hint { font-size: 0.75rem; margin-top: 22px; }


.md-doc-row__bio { grid-template-columns: 1fr; gap: 2px 0; }


.md-page-hero {
padding: clamp(40px, 7vw, 64px) 0 clamp(28px, 4vw, 40px);
}


.md-utilbar__hours {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 60vw;
}


.md-field__input,
.md-faq summary {
font-size: 1rem !important; 
}


.md-faq__item summary {
padding-block: 14px;
min-height: 48px;
}
}


@media (max-width: 480px) {

.md-hero__title { font-size: 1.75rem; }
.md-hero__eyebrow { font-size: 0.6875rem; padding: 6px 14px; }


.md-hero .md-btn-group { flex-direction: column; align-items: stretch; }
.md-hero .md-btn-group .md-btn {
width: 100%;
justify-content: center;
}
.md-cta-banner .md-btn-group {
flex-direction: column;
align-items: stretch;
width: 100%;
}
.md-cta-banner .md-btn-group .md-btn { width: 100%; justify-content: center; }


.md-trust__value { font-size: 1.75rem; }
.md-trust__label { font-size: 0.8125rem; }
.md-trust__sub { font-size: 0.75rem; }


.md-section-head { margin-bottom: 32px; }


.md-channel-card .md-channel-card__cta { font-size: 0.8125rem; }


.md-team-card { padding: 18px 14px; }
.md-team-card__avatar { width: 112px; height: 112px; }


.md-footer { padding-top: 36px; }
.md-footer__brand-img,
.md-footer__brand .md-footer__brand-img { max-height: 40px; }
.md-footer__col h4 { margin-bottom: 10px; }


.md-utilbar__hours { display: none; }
}


a, button, .md-btn, .md-mobile-cta__item, .md-channel-card, .md-mapbtn {
-webkit-tap-highlight-color: rgba(31, 74, 62, 0.18);
}


@media (max-width: 768px) {
.md-faq + .md-section,
.md-section:last-child { padding-bottom: clamp(64px, 9vw, 96px); }
}


.md-page-hero__crumbs,
.md-docs-hero__crumbs,
.md-pricing-hero__crumbs,
.md-priceX-hero__crumbs {
display: none !important;
}


.md-doccard--linked {
position: relative;
cursor: pointer;
}
.md-doccard__link-wrap {
position: absolute;
inset: 0;
z-index: 3;
text-decoration: none;

}

.md-doccard__view {
display: block;
margin-top: 10px;
padding-top: 10px;
border-top: 1px dashed var(--color-border);
font-size: var(--fs-caption);
font-weight: 600;
color: var(--color-text-mute);
letter-spacing: 0.02em;
transition: color 0.2s var(--ease), gap 0.2s var(--ease);
}
.md-doccard--linked:hover .md-doccard__view {
color: var(--color-primary);
}

.md-doccard--linked:has(.md-doccard__link-wrap:focus-visible) {
outline: 3px solid var(--color-primary);
outline-offset: 3px;
}
.md-doccard__link-wrap:focus { outline: none; }




.md-docsingle-hero {
position: relative;
padding: clamp(56px, 8vw, 96px) 0 clamp(32px, 4vw, 48px);
background:
radial-gradient(circle at 88% 8%, rgba(31, 74, 62, 0.12), transparent 50%),
radial-gradient(circle at 12% 92%, rgba(138, 138, 134, 0.10), transparent 50%),
var(--color-bg);
text-align: center;
}
.md-docsingle-hero__eyebrow {
display: inline-block;
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.18em;
color: var(--color-primary-dark);
background: var(--color-surface);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 16px;
}
.md-docsingle-hero__title {
font-size: clamp(2rem, 4.8vw, 3rem);
font-weight: 800;
letter-spacing: -0.03em;
margin: 0 0 16px;
color: var(--color-text);
}
.md-docsingle-hero__title small {
display: block;
font-size: 0.4em;
font-weight: 600;
color: var(--color-text-sub);
letter-spacing: -0.01em;
margin-top: 8px;
letter-spacing: 0.02em;
}
.md-docsingle-hero__intro {
font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
color: var(--color-text-sub);
line-height: 1.85;
margin: 0 auto 28px;
max-width: 640px;
font-style: italic;
word-break: keep-all;
}


.md-docsingle-card {
display: grid;
grid-template-columns: minmax(280px, 380px) 1fr;
gap: clamp(24px, 3.5vw, 56px);
align-items: center;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-xl);
padding: clamp(28px, 3.5vw, 48px);
max-width: 1040px;
margin: 0 auto;
box-shadow: var(--shadow-soft);
}
@media (max-width: 768px) {
.md-docsingle-card {
grid-template-columns: 1fr;
text-align: center;
justify-items: center;
}
}
.md-docsingle-card__photo {
width: 100%;
max-width: 380px;
aspect-ratio: 4 / 5;
border-radius: var(--radius-lg);
overflow: hidden;
background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
}
.md-docsingle-card__photo img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
transform-origin: center top;
display: block;
}
.md-docsingle-card__initial {
font-size: 3.5rem;
font-weight: 800;
color: var(--color-primary-dark);
}
.md-docsingle-card__role {
display: inline-block;
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.14em;
color: var(--color-primary-dark);
background: var(--color-surface);
padding: 5px 12px;
border-radius: var(--radius-pill);
margin-bottom: 12px;
}
.md-docsingle-card__name {
font-size: clamp(1.5rem, 3vw, 2rem);
font-weight: 800;
margin: 0 0 18px;
letter-spacing: -0.02em;
color: var(--color-text);
}

.md-creds {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
gap: 22px 34px;
}

.md-creds--one { grid-template-columns: 1fr; }

.md-creds__title {
font-size: 0.7rem;
font-weight: 800;
letter-spacing: 0.13em;
margin: 0 0 9px;
color: var(--color-accent-dark);
padding-bottom: 6px;
border-bottom: 1px solid var(--color-border);
}
.md-creds__list {
list-style: none;
padding: 0;
margin: 0;
display: grid;
gap: 7px;
}
.md-creds__list li {
position: relative;
padding-left: 12px;
font-size: var(--fs-small);
color: var(--color-text);
line-height: 1.6;
word-break: keep-all;
}
.md-creds__list li::before {
content: '';
position: absolute;
left: 0;
top: 0.62em;
width: 4px;
height: 4px;
border-radius: 50%;
background: var(--color-accent);
}

.md-creds__list--split {
display: block;
columns: 2;
column-gap: 34px;
}
.md-creds__list--split li {
break-inside: avoid;
margin-bottom: 7px;
}
@media (max-width: 700px) {
.md-creds__list--split { columns: 1; }
}


.md-docsingle-qa {
display: grid;
gap: clamp(16px, 2.4vw, 24px);
}
.md-docsingle-qa__item {
display: grid;
grid-template-columns: 1fr;
background: var(--color-white);
border: 1px solid var(--color-border);
border-left: 4px solid var(--color-primary);
border-radius: var(--radius-lg);
padding: clamp(20px, 2.6vw, 28px);
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.md-docsingle-qa__item.is-alt {
border-left-color: var(--color-accent);
}

@media (max-width: 720px) {
.md-docsingle-qa__item.is-alt { border-left-color: var(--color-primary); }
}
.md-docsingle-qa__item:hover {
transform: translateY(-2px);
box-shadow: var(--shadow-soft);
}
.md-docsingle-qa__q {
display: grid;
grid-template-columns: auto 1fr;
align-items: center;
gap: 12px;
margin-bottom: 12px;
padding-bottom: 12px;
border-bottom: 1px dashed var(--color-border);
}
.md-docsingle-qa__no {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 32px;
height: 32px;
padding: 0 10px;
background: var(--color-primary);
color: #fff;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.04em;
border-radius: var(--radius-pill);
}
.md-docsingle-qa__item.is-alt .md-docsingle-qa__no {
background: var(--color-accent);
}
.md-docsingle-qa__q h3 {
font-size: 1rem;
font-weight: 700;
margin: 0;
color: var(--color-text);
letter-spacing: -0.01em;
line-height: 1.55;
word-break: keep-all;
}
.md-docsingle-qa__a p {
margin: 0;
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.85;
word-break: keep-all;
}


.md-docsingle-edu {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(20px, 3vw, 32px);
}
@media (max-width: 768px) {
.md-docsingle-edu { grid-template-columns: 1fr; }
}
.md-docsingle-edu__col {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(22px, 2.8vw, 32px);
}
.md-docsingle-edu__col-title {
font-size: 1rem;
font-weight: 800;
color: var(--color-text);
margin: 0 0 16px;
letter-spacing: -0.01em;
}
.md-docsingle-edu__list {
list-style: none;
padding: 0;
margin: 0;
}
.md-docsingle-edu__list li {
position: relative;
padding: 8px 0 8px 16px;
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.65;
border-bottom: 1px dashed var(--color-border);
word-break: keep-all;
}
.md-docsingle-edu__list li:last-child { border-bottom: none; }
.md-docsingle-edu__list li::before {
content: '';
position: absolute;
left: 0; top: 16px;
width: 6px; height: 6px;
border-radius: 50%;
background: var(--color-accent);
}
.md-docsingle-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
}

.md-docsingle-tags--center { justify-content: center; }
.md-docsingle-tag {
display: inline-flex;
align-items: center;
padding: 8px 14px;
background: var(--color-surface);
color: var(--color-text);
font-size: var(--fs-caption);
font-weight: 700;
border-radius: var(--radius-pill);
letter-spacing: -0.005em;
}


.md-docsingle-others {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
gap: clamp(12px, 1.8vw, 20px);
max-width: 1040px;
margin: 0 auto;
}
.md-docsingle-other {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: 14px 12px 16px;
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
text-align: center;
transition: all 0.25s var(--ease);
}
.md-docsingle-other:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-3px);
color: inherit;
}
.md-docsingle-other__photo {
width: 88px;
height: 110px;
border-radius: var(--radius-md);
overflow: hidden;
background: #ffffff;
margin-bottom: 10px;
}
.md-docsingle-other__photo img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.md-docsingle-other__name {
font-size: 0.9375rem;
font-weight: 700;
color: var(--color-text);
margin-bottom: 2px;
letter-spacing: -0.015em;
}
.md-docsingle-other__role {
font-size: 0.6875rem;
color: var(--color-text-mute);
letter-spacing: -0.005em;
word-break: keep-all;
}


.md-page-hero--location {
padding-block: clamp(36px, 5vw, 56px) clamp(8px, 1.5vw, 16px);
}
.md-page-hero__lead--big {
font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
font-weight: 600;
color: var(--color-text);
letter-spacing: -0.015em;
margin-top: 14px;
}

.md-section--tight {
padding-block: clamp(16px, 2vw, 24px);
}


.md-info-pair {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(18px, 2.4vw, 28px);
align-items: stretch;
}

.md-info-pair--3col {
grid-template-columns: 1fr 1fr 1fr;
}

@media (max-width: 1180px) {
.md-info-pair--3col { grid-template-columns: 1fr; }
}
@media (max-width: 880px) {
.md-info-pair { grid-template-columns: 1fr; }
.md-info-pair--3col { grid-template-columns: 1fr; }
}


.md-hours {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(22px, 3vw, 32px);
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
}

a.md-hours.md-hours--link {
color: inherit;
text-decoration: none;
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease),
border-color 0.25s var(--ease), background 0.25s var(--ease), color 0.25s var(--ease);
cursor: pointer;
}
a.md-hours.md-hours--link:hover,
a.md-hours.md-hours--link:focus-visible {
transform: translateY(-2px);
box-shadow: var(--shadow-hover);
border-color: var(--color-primary);
background: linear-gradient(180deg, var(--color-accent-light) 0%, var(--color-white) 100%);
}

a.md-hours.md-hours--link:hover .md-hours__title,
a.md-hours.md-hours--link:focus-visible .md-hours__title,
a.md-hours.md-hours--link:hover .md-hours__day,
a.md-hours.md-hours--link:focus-visible .md-hours__day,
a.md-hours.md-hours--link:hover .md-hours__time,
a.md-hours.md-hours--link:focus-visible .md-hours__time {
color: var(--color-primary);
}
a.md-hours.md-hours--link:hover .md-hours__note,
a.md-hours.md-hours--link:focus-visible .md-hours__note,
a.md-hours.md-hours--link:hover .md-hours__note-naver,
a.md-hours.md-hours--link:focus-visible .md-hours__note-naver {
color: var(--color-primary);
}

.md-hours__note-naver {
margin: 12px 0 0 !important;
padding-top: 12px;
border-top: 1px dashed var(--color-border);
font-size: 0.8125rem;
color: var(--color-text-mute);
line-height: 1.5;
text-align: center;
transition: color 0.25s var(--ease);
}
a.md-hours.md-hours--link:hover .md-hours__note-naver,
a.md-hours.md-hours--link:focus-visible .md-hours__note-naver {
border-top-color: var(--color-primary-light);
}


.md-footer__hours-link {
display: block;
color: inherit;
text-decoration: none;
padding: 12px;
margin: -12px;
border-radius: var(--radius-lg);
transition: background 0.25s var(--ease), color 0.25s var(--ease);
cursor: pointer;
}
a.md-footer__hours-link:hover,
a.md-footer__hours-link:focus-visible {
background: rgba(255, 255, 255, 0.06);
}
a.md-footer__hours-link:hover *,
a.md-footer__hours-link:focus-visible * {
color: #fff !important;
}
a.md-footer__hours-link:hover h4,
a.md-footer__hours-link:focus-visible h4 {
color: #fff;
}
.md-footer__hours-note {
margin: 12px 0 0 !important;
padding-top: 12px;
border-top: 1px dashed rgba(255, 255, 255, 0.15);
font-size: 0.75rem;
color: rgba(255, 255, 255, 0.6);
line-height: 1.5;
transition: color 0.25s var(--ease), border-top-color 0.25s var(--ease);
}
a.md-footer__hours-link:hover .md-footer__hours-note,
a.md-footer__hours-link:focus-visible .md-footer__hours-note {
border-top-color: rgba(255, 255, 255, 0.35);
}
.md-hours::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 4px;
background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-accent) 100%);
pointer-events: none;
}
.md-hours__head {
margin-bottom: clamp(16px, 2vw, 22px);
}
.md-hours__badge {
display: inline-block;
font-size: var(--fs-caption);
font-weight: 700;
letter-spacing: 0.06em;
color: #2F5A39;
background: var(--color-accent-light);
padding: 5px 12px;
border-radius: var(--radius-pill);
margin-bottom: 10px;
}
.md-hours__title {
font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
font-weight: 800;
color: var(--color-text);
margin: 0;
letter-spacing: -0.015em;
}
.md-hours__list {
list-style: none;
padding: 0;
margin: 0;
flex: 1;
}
.md-hours__list li {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 12px;
padding: 12px 0;
border-bottom: 1px dashed var(--color-border);
transition: background 0.2s var(--ease);
}
.md-hours__list li:last-child { border-bottom: none; }
.md-hours__list li.is-today {
margin: 0 -10px;
padding-left: 14px;
padding-right: 14px;
background: linear-gradient(90deg, rgba(31, 74, 62, 0.10), rgba(31, 74, 62, 0.03));
border-radius: var(--radius-md);
border-bottom-color: transparent;
position: relative;
}
.md-hours__list li.is-today::before {
content: 'TODAY';
position: absolute;
top: 6px; right: 14px;
font-size: 0.5625rem;
font-weight: 800;
letter-spacing: 0.16em;
color: var(--color-primary);
}
.md-hours__day {
font-size: var(--fs-small);
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-hours__day small {
font-weight: 500;
font-size: 0.75rem;
color: var(--color-text-mute);
margin-left: 4px;
letter-spacing: -0.01em;
}
.md-hours__time {
font-size: var(--fs-small);
font-weight: 700;
color: var(--color-primary-dark);
font-feature-settings: 'tnum';
letter-spacing: 0.01em;
white-space: nowrap;
}
.md-hours__off .md-hours__time {
color: var(--color-text-mute);
font-weight: 600;
}
.md-hours__note {
margin: clamp(14px, 1.8vw, 18px) 0 0;
padding: 10px 14px;
background: var(--color-surface);
border-radius: var(--radius-md);
font-size: var(--fs-caption);
color: var(--color-text-sub);
text-align: center;
letter-spacing: -0.005em;
}


.md-park--compact {
margin-bottom: 0;
background: var(--color-white);
border-radius: var(--radius-lg);
padding: clamp(22px, 3vw, 32px);
position: relative;
display: flex;
flex-direction: column;
}
.md-park--compact::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 4px;
background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-warning) 100%);
pointer-events: none;
z-index: 2;
}
.md-park--compact .md-park__head { margin-bottom: 16px; }
.md-park--compact .md-park__badge {
background: rgba(31, 74, 62, 0.15);
color: var(--color-primary-dark);
}
.md-park--compact .md-park__title {
font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
}
.md-park--compact .md-park__lead {
font-size: var(--fs-caption);
margin-top: 4px;
}
.md-park--compact .md-park__list { gap: 10px; margin: 0 0 14px; }
.md-park--compact .md-park__list li {
padding: 12px 14px;
grid-template-columns: 32px 1fr;
gap: 12px;
background: var(--color-surface);
}
.md-park--compact .md-park__num {
width: 32px; height: 32px;
font-size: 0.75rem;
}
.md-park--compact .md-park__list li strong { font-size: 0.9375rem; }
.md-park--compact .md-park__list li span { font-size: var(--fs-caption); line-height: 1.6; }
.md-park--compact .md-park__walk {
padding: 10px 14px;
font-size: var(--fs-caption);
margin-top: auto;
}


.md-page-hero--recommend {
background: linear-gradient(135deg, var(--color-primary, #D97742), var(--color-primary-dark, #B45E2E));
color: #fff;
padding: clamp(48px, 6vw, 88px) 0;
}
.md-page-hero--recommend .md-page-hero__crumbs a,
.md-page-hero--recommend .md-page-hero__crumbs { color: rgba(255,255,255,0.9); }
.md-page-hero--recommend .md-page-hero__eyebrow {
display: inline-block;
background: rgba(255,255,255,0.2);
padding: 6px 16px;
border-radius: 2px;
font-size: 0.9rem;
margin: 12px 0;
}
.md-page-hero--recommend .md-page-hero__title em {
font-style: normal;
opacity: 0.85;
font-size: 0.75em;
display: block;
margin-top: 8px;
}
.md-page-hero--recommend .md-page-hero__lead {
font-size: clamp(1rem, 1.5vw, 1.15rem);
line-height: 1.7;
margin-top: 16px;
color: rgba(255,255,255,0.95);
}
.md-recommend-reasons {
list-style: none;
padding: 0;
display: grid;
gap: 20px;
margin-top: 24px;
}
.md-recommend-reasons > li {
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #ecdfd3);
border-left: 4px solid var(--color-primary, #D97742);
border-radius: var(--radius-md, 12px);
padding: 20px 24px;
}
.md-recommend-reasons > li h3 {
color: var(--color-primary-dark, #B45E2E);
font-size: 1.1rem;
margin: 0 0 8px;
}
.md-recommend-reasons > li p {
margin: 0;
color: var(--color-text, #333);
line-height: 1.7;
}
.md-recommend-links {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 14px;
margin-top: 24px;
}
.md-recommend-link-card {
display: flex;
flex-direction: column;
gap: 6px;
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #ecdfd3);
border-radius: var(--radius-md, 12px);
padding: 16px 18px;
text-decoration: none;
transition: all 0.2s ease;
}
.md-recommend-link-card:hover {
border-color: var(--color-primary, #D97742);
box-shadow: 0 6px 18px rgba(31,74,62,0.15);
transform: translateY(-2px);
}
.md-recommend-link-card strong {
color: var(--color-primary-dark, #B45E2E);
font-size: 1rem;
}
.md-recommend-link-card span {
color: var(--color-text-muted, #6b6b6b);
font-size: 0.87rem;
line-height: 1.5;
}
.md-recommend-faq { margin-top: 24px; }
.md-recommend-faq details {
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #ecdfd3);
border-radius: var(--radius-md, 12px);
padding: 16px 20px;
margin-bottom: 12px;
}
.md-recommend-faq summary {
cursor: pointer;
font-weight: 700;
color: var(--color-text, #222);
font-size: 1.02rem;
}
.md-recommend-faq details[open] summary { margin-bottom: 10px; }
.md-recommend-faq p {
margin: 0;
color: var(--color-text, #333);
line-height: 1.7;
}
@media (prefers-color-scheme: dark) {
.md-recommend-reasons > li, .md-recommend-link-card, .md-recommend-faq details {
background: #1c1c1e; border-color: rgba(255,255,255,0.1);
}
.md-recommend-reasons > li h3, .md-recommend-link-card strong { color: #9CC5B5; }
.md-recommend-link-card span, .md-recommend-faq p { color: #d0d0d0; }
}


.md-term-bottom {
padding: clamp(16px, 2vw, 24px) 20px clamp(32px, 4vw, 48px);
}
.md-term-bottom__block {
margin-bottom: clamp(20px, 2.5vw, 32px);
}
.md-term-bottom__block:last-child { margin-bottom: 0; }
.md-term-bottom__block--samecat {
background: var(--color-surface, #f7f2ec);
padding: clamp(18px, 2.5vw, 26px);
border-radius: 3px;
}
@media (prefers-color-scheme: dark) {
.md-term-bottom__block--samecat { background: rgba(255,255,255,0.03); }
}


.md-term-related-title, .md-term-samecat-title {
font-size: clamp(1.05rem, 1.6vw, 1.25rem);
font-weight: 800;
color: var(--color-text, #222);
margin: 0 0 16px;
}
.md-term-related-pills {
display: flex; flex-wrap: wrap; gap: 8px;
}
.md-term-related-pill {
display: inline-flex; align-items: center; gap: 6px;
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #e5d8cd);
padding: 8px 14px; border-radius: 2px;
text-decoration: none;
font-size: 0.9rem;
transition: all 0.2s;
}
.md-term-related-pill:hover {
border-color: var(--color-primary, #D97742);
background: rgba(31, 74, 62, 0.05);
transform: translateY(-1px);
}
.md-term-related-pill__name {
color: var(--color-text, #222); font-weight: 600;
}
.md-term-related-pill__cat {
color: var(--color-primary-dark, #B45E2E);
font-size: 0.75rem;
background: rgba(31, 74, 62, 0.10);
padding: 2px 8px; border-radius: 4px;
}
.md-term-samecat-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 12px;
}
.md-term-samecat-card {
display: flex; flex-direction: column; gap: 6px;
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #e5d8cd);
padding: 16px 18px; border-radius: 3px;
text-decoration: none;
transition: all 0.2s;
color: inherit;
}
.md-term-samecat-card:hover {
border-color: var(--color-primary, #D97742);
transform: translateY(-2px);
box-shadow: 0 6px 18px rgba(31, 74, 62, 0.1);
}
.md-term-samecat-card strong {
color: var(--color-text, #222); font-size: 0.98rem;
}
.md-term-samecat-card span {
color: var(--color-text-mute, #888); font-size: 0.82rem;
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
overflow: hidden;
}
.md-term-nav {
display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center;
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #e5d8cd);
border-radius: 3px;
padding: 12px 16px;
}
.md-term-nav a { text-decoration: none; color: var(--color-text, #222); font-weight: 600; font-size: 0.9rem; padding: 8px 12px; border-radius: 3px; transition: background 0.2s; }
.md-term-nav a:hover { background: rgba(31, 74, 62, 0.05); }
.md-term-nav__prev { justify-self: start; text-align: left; }
.md-term-nav__all { justify-self: center; color: var(--color-primary-dark, #B45E2E)!important; }
.md-term-nav__next { justify-self: end; text-align: right; }
@media (prefers-color-scheme: dark) {
.md-term-related-title, .md-term-samecat-title { color: #f0f0f0; }
.md-term-related-pill, .md-term-samecat-card, .md-term-nav { background: #1c1c1e; border-color: rgba(255,255,255,0.1); }
.md-term-related-pill__name, .md-term-samecat-card strong, .md-term-nav a { color: #f0f0f0; }
.md-term-samecat-card span, .md-term-nav a:hover { color: #d0d0d0; }
.md-term-nav__all { color: #9CC5B5 !important; }
}
@media (max-width: 640px) {
.md-term-nav { grid-template-columns: 1fr; text-align: center; }
.md-term-nav__prev, .md-term-nav__all, .md-term-nav__next { justify-self: center; text-align: center; }
}


.md-enc-modal__related {
margin-top: 20px; padding-top: 16px;
border-top: 1px dashed var(--color-border, #e5d8cd);
}
.md-enc-modal__related-title,
.md-enc-modal__samecat-title {
font-size: 0.98rem; font-weight: 800; margin: 0 0 10px;
color: var(--color-primary-dark, #B45E2E);
}
.md-enc-modal__related-list {
display: flex; flex-wrap: wrap; gap: 6px;
}
.md-enc-modal__related-item {
display: inline-block;
background: rgba(31, 74, 62, 0.06);
border: 1px solid rgba(31, 74, 62, 0.15);
padding: 6px 12px; border-radius: 2px;
text-decoration: none;
color: var(--color-text, #222);
font-size: 0.85rem;
transition: all 0.2s;
}
.md-enc-modal__related-item:hover {
background: rgba(31, 74, 62, 0.15);
border-color: var(--color-primary, #D97742);
}
.md-enc-modal__same-cat {
margin-top: 16px; padding-top: 16px;
border-top: 1px dashed var(--color-border, #e5d8cd);
}
.md-enc-modal__samecat-grid {
display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
}
.md-enc-modal__samecat-card {
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #e5d8cd);
padding: 10px 12px; border-radius: 3px;
text-decoration: none;
color: var(--color-text, #222);
font-size: 0.85rem;
transition: all 0.2s;
}
.md-enc-modal__samecat-card:hover { border-color: var(--color-primary, #D97742); }
.md-enc-modal__samecat-card strong { font-weight: 700; }
@media (prefers-color-scheme: dark) {
.md-enc-modal__related-item, .md-enc-modal__samecat-card { background: rgba(255,255,255,0.03); color: #d0d0d0; border-color: rgba(255,255,255,0.1); }
.md-enc-modal__related-title, .md-enc-modal__samecat-title { color: #9CC5B5; }
}
@media (max-width: 480px) {
.md-enc-modal__samecat-grid { grid-template-columns: 1fr; }
}


.md-enc-modal { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: clamp(12px, 3vw, 40px); }
.md-enc-modal[hidden] { display: none; }
.md-enc-modal__backdrop { position: absolute; inset: 0; background: rgba(20, 15, 10, 0.55); backdrop-filter: blur(4px); animation: mdEncFade 0.2s ease; }
.md-enc-modal__panel {
position: relative;
background: #fff;
border-radius: 3px;
max-width: 640px;
width: 100%;
max-height: 90vh;
display: flex;
flex-direction: column;
overflow: hidden;
box-shadow: 0 30px 80px rgba(0,0,0,0.4);
animation: mdEncSlideUp 0.25s ease;
}
@keyframes mdEncFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes mdEncSlideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.md-enc-modal__close {
position: absolute; top: 12px; right: 12px;
width: 36px; height: 36px;
background: rgba(0,0,0,0.05);
border: none; border-radius: 50%;
font-size: 1.5rem; line-height: 1; cursor: pointer;
color: #333; z-index: 2;
transition: background 0.2s;
}
.md-enc-modal__close:hover { background: rgba(0,0,0,0.1); }
.md-enc-modal__body { flex: 1; overflow-y: auto; padding: clamp(24px, 3vw, 36px); }
.md-enc-modal__loading { padding: 40px; text-align: center; color: #888; }
.md-enc-modal__cats { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.md-enc-modal__cat {
display: inline-block;
background: rgba(31, 74, 62, 0.10);
color: var(--color-primary-dark, #B45E2E);
font-size: 0.78rem;
padding: 4px 10px;
border-radius: 2px;
font-weight: 700;
}
.md-enc-modal__title {
font-size: clamp(1.35rem, 2.5vw, 1.7rem);
font-weight: 800;
color: var(--color-text, #222);
margin: 8px 0 12px;
line-height: 1.3;
}
.md-enc-modal__excerpt {
background: rgba(31, 74, 62, 0.06);
border-left: 3px solid var(--color-primary, #D97742);
padding: 12px 14px;
border-radius: 3px;
font-size: 0.95rem;
color: var(--color-text, #222);
margin-bottom: 20px;
line-height: 1.6;
}
.md-enc-modal__article { color: var(--color-text, #222); font-size: 0.95rem; line-height: 1.75; }
.md-enc-modal__article h3 { margin: 20px 0 8px; font-size: 1.05rem; font-weight: 800; color: var(--color-primary-dark, #B45E2E); }
.md-enc-modal__article h4 { margin: 16px 0 6px; font-size: 0.98rem; font-weight: 700; }
.md-enc-modal__article p { margin: 8px 0; word-break: keep-all; }
.md-enc-modal__article ul, .md-enc-modal__article ol { margin: 8px 0; padding-left: 22px; }
.md-enc-modal__article li { margin-bottom: 4px; }
.md-enc-modal__article strong { color: var(--color-primary-dark, #B45E2E); font-weight: 700; }
.md-enc-modal__article table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 0.9rem; }
.md-enc-modal__article th, .md-enc-modal__article td { padding: 8px 10px; border: 1px solid var(--color-border, #e5d8cd); }
.md-enc-modal__article th { background: rgba(31, 74, 62, 0.08); color: var(--color-primary-dark); text-align: left; }
.md-enc-modal__article blockquote { background: rgba(31, 74, 62, 0.05); border-left: 4px solid var(--color-primary, #D97742); padding: 10px 14px; margin: 12px 0; border-radius: 3px; }
.md-enc-modal__link-full {
margin-top: 24px;
padding-top: 16px;
border-top: 1px dashed var(--color-border, #e5d8cd);
text-align: right;
}
.md-enc-modal__link-full-btn {
display: inline-flex;
align-items: center;
gap: 4px;
color: var(--color-primary-dark, #B45E2E);
font-weight: 700;
font-size: 0.9rem;
text-decoration: none;
border: 1px solid var(--color-primary, #D97742);
padding: 8px 16px;
border-radius: 2px;
transition: all 0.2s;
}
.md-enc-modal__link-full-btn:hover { background: var(--color-primary, #D97742); color: #fff; }
.md-enc-modal__actions {
display: flex;
gap: 10px;
padding: 16px 24px;
border-top: 1px solid var(--color-border, #e5d8cd);
background: rgba(31, 74, 62, 0.03);
}
.md-enc-modal__actions .md-btn { flex: 1; justify-content: center; }
@media (prefers-color-scheme: dark) {
.md-enc-modal__panel { background: #1c1c1e; }
.md-enc-modal__close { background: rgba(255,255,255,0.08); color: #f0f0f0; }
.md-enc-modal__title { color: #f0f0f0; }
.md-enc-modal__excerpt { background: rgba(156, 197, 181, 0.08); color: #e0e0e0; }
.md-enc-modal__article { color: #d0d0d0; }
.md-enc-modal__article h3, .md-enc-modal__article strong { color: #9CC5B5; }
.md-enc-modal__cat { background: rgba(156, 197, 181, 0.15); color: #9CC5B5; }
.md-enc-modal__link-full-btn { color: #9CC5B5; border-color: #9CC5B5; }
.md-enc-modal__link-full-btn:hover { background: #9CC5B5; color: #1c1c1e; }
.md-enc-modal__actions { border-top-color: rgba(255,255,255,0.1); background: rgba(255,255,255,0.03); }
.md-enc-modal__article table td, .md-enc-modal__article table th { border-color: rgba(255,255,255,0.1); }
}
@media (max-width: 640px) {
.md-enc-modal { padding: 0; }
.md-enc-modal__panel { max-width: none; max-height: 100vh; border-radius: 0; }
.md-enc-modal__actions { flex-direction: column; }
}


.md-term-section-title {
display: flex; align-items: center; gap: 10px;
font-size: clamp(1.2rem, 2vw, 1.5rem);
margin: clamp(20px, 3vw, 32px) 0 16px;
font-weight: 800;
color: var(--color-text, #222);
}
.md-term-section-title__num {
display: inline-flex;
align-items: center; justify-content: center;
width: 32px; height: 32px;
background: var(--color-primary, #D97742);
color: #fff;
border-radius: 50%;
font-size: 0.95rem;
font-weight: 800;
}
.md-term-content h2,
.md-term-content h3,
.md-term-content h4 {
margin-top: 24px;
margin-bottom: 10px;
font-weight: 800;
color: var(--color-text, #222);
}
.md-term-content table {
width: 100%;
border-collapse: collapse;
margin: 16px 0;
font-size: 0.95rem;
}
.md-term-content th {
background: rgba(31, 74, 62, 0.08);
color: var(--color-primary-dark);
padding: 10px 12px;
border: 1px solid var(--color-border);
text-align: left;
}
.md-term-content td {
padding: 10px 12px;
border: 1px solid var(--color-border);
}
.md-term-content ul, .md-term-content ol { margin: 10px 0; padding-left: 24px; }
.md-term-content li { margin-bottom: 6px; line-height: 1.75; }
.md-term-content blockquote {
background: rgba(31, 74, 62, 0.06);
border-left: 4px solid var(--color-primary);
padding: 14px 18px;
margin: 16px 0;
border-radius: 3px;
color: var(--color-text);
}


.md-term-inline-cta {
background: linear-gradient(135deg, #FFF5EC 0%, #FFEFDF 100%);
border: 1px solid rgba(31, 74, 62, 0.2);
border-radius: 3px;
padding: clamp(24px, 3vw, 36px);
margin: 32px 0 20px;
text-align: center;
}
.md-term-inline-cta__title {
font-size: clamp(1.05rem, 1.6vw, 1.25rem);
font-weight: 800;
color: var(--color-primary-dark);
margin: 0 0 12px;
line-height: 1.5;
}
.md-term-inline-cta__lead {
font-size: 0.95rem;
color: var(--color-text);
margin: 0 0 20px;
line-height: 1.7;
}
.md-term-inline-cta__actions {
display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
margin-bottom: 12px;
}
.md-term-inline-cta__note {
font-size: 0.82rem;
color: var(--color-text-mute, #888);
margin: 0;
}


.md-term-related-service {
display: flex; align-items: center; gap: 14px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 16px 20px;
margin: 20px 0 32px;
flex-wrap: wrap;
}
.md-term-related-service__label {
display: flex; align-items: center; gap: 8px;
flex: 1; min-width: 240px;
font-size: 0.9rem;
color: var(--color-text-mute, #888);
}
.md-term-related-service__label strong {
color: var(--color-primary-dark);
font-weight: 700;
margin-left: 4px;
}
.md-term-related-service__icon { font-size: 1.2rem; }


.md-term-faq { margin: 32px 0; }
.md-term-faq__list { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.md-term-faq__item {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 14px 20px;
transition: border-color 0.2s;
}
.md-term-faq__item[open] { border-color: var(--color-primary); }
.md-term-faq__q {
cursor: pointer;
font-weight: 700;
color: var(--color-text);
list-style: none;
display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.md-term-faq__q::-webkit-details-marker { display: none; }
.md-term-faq__q::after {
content: '▼';
font-size: 0.7rem;
color: var(--color-primary);
transition: transform 0.2s;
}
.md-term-faq__item[open] .md-term-faq__q::after { transform: rotate(180deg); }
.md-term-faq__a {
margin-top: 12px;
padding-top: 12px;
border-top: 1px dashed var(--color-border);
color: var(--color-text);
line-height: 1.75;
font-size: 0.95rem;
}


.md-term-big-cta {
background: linear-gradient(135deg, #B45E2E, #8F4820);
color: #fff;
padding: clamp(28px, 4vw, 40px);
border-radius: 3px;
text-align: center;
margin: 32px 0;
}
.md-term-big-cta h3 {
font-size: clamp(1.15rem, 1.8vw, 1.4rem);
margin: 0 0 6px;
color: #fff;
font-weight: 800;
}
.md-term-big-cta p {
font-size: 0.9rem;
opacity: 0.92;
margin: 0 0 20px;
}
.md-term-big-cta__actions {
display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
}
.md-term-big-cta__btn {
display: inline-flex; align-items: center; gap: 6px;
padding: 10px 20px;
border-radius: 2px;
text-decoration: none;
font-weight: 700;
font-size: 0.92rem;
transition: all 0.2s;
}
.md-term-big-cta__btn--white {
background: #fff;
color: var(--color-primary-dark);
}
.md-term-big-cta__btn--white:hover {
transform: translateY(-1px);
box-shadow: 0 4px 14px rgba(0,0,0,0.2);
}


@media (prefers-color-scheme: dark) {
.md-term-inline-cta { background: linear-gradient(135deg, #2a1e15 0%, #241a12 100%); border-color: rgba(156, 197, 181, 0.2); }
.md-term-inline-cta__title { color: #9CC5B5; }
.md-term-inline-cta__lead { color: #d0d0d0; }
.md-term-related-service { background: #1c1c1e; border-color: rgba(255,255,255,0.1); }
.md-term-related-service__label { color: #a0a0a0; }
.md-term-related-service__label strong { color: #9CC5B5; }
.md-term-faq__item { background: #1c1c1e; border-color: rgba(255,255,255,0.1); }
.md-term-faq__a { color: #d0d0d0; border-top-color: rgba(255,255,255,0.08); }
}

@media (max-width: 640px) {
.md-term-inline-cta__actions,
.md-term-big-cta__actions { flex-direction: column; align-items: stretch; }
.md-term-inline-cta__actions .md-btn,
.md-term-big-cta__btn { width: 100%; justify-content: center; }
}


.md-quicknav__grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: clamp(12px, 1.5vw, 18px);
max-width: 1080px;
margin: 32px auto 0;
}
.md-quicknav__card {
display: grid;
grid-template-columns: 48px 1fr auto;
gap: 16px;
align-items: center;
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #ecdfd3);
border-radius: var(--radius-md, 12px);
padding: 18px 20px;
text-decoration: none;
color: inherit;
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.md-quicknav__card:hover {
transform: translateY(-2px);
box-shadow: 0 8px 24px rgba(31, 74, 62, 0.12);
border-color: var(--color-primary, #D97742);
}
.md-quicknav__icon {
font-size: 1.6rem;
line-height: 1;
width: 48px; height: 48px;
display: inline-flex;
align-items: center;
justify-content: center;
background: rgba(31, 74, 62, 0.08);
border-radius: 50%;
}
.md-quicknav__body {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 0;
}
.md-quicknav__title {
font-weight: 800;
font-size: 1.02rem;
color: var(--color-text, #222);
letter-spacing: -0.01em;
}
.md-quicknav__desc {
font-size: 0.87rem;
color: var(--color-text-muted, #6b6b6b);
line-height: 1.5;
word-break: keep-all;
}
.md-quicknav__arrow {
font-size: 1.1rem;
color: var(--color-primary, #D97742);
transition: transform 0.2s ease;
}
.md-quicknav__card:hover .md-quicknav__arrow {
transform: translateX(4px);
}
@media (prefers-color-scheme: dark) {
.md-quicknav__card {
background: #1c1c1e;
border-color: rgba(255, 255, 255, 0.1);
}
.md-quicknav__title { color: #f2f2f2; }
.md-quicknav__desc { color: #a0a0a0; }
.md-quicknav__icon { background: rgba(156, 197, 181, 0.12); }
.md-quicknav__arrow { color: #9CC5B5; }
}
@media (max-width: 640px) {
.md-quicknav__grid { grid-template-columns: 1fr; }
.md-quicknav__card { padding: 16px; grid-template-columns: 40px 1fr auto; gap: 12px; }
.md-quicknav__icon { width: 40px; height: 40px; font-size: 1.3rem; }
.md-quicknav__title { font-size: 0.98rem; }
}


.md-floor-guide {
background: var(--color-white, #fff);
border: 1px solid var(--color-border, #ecdfd3);
border-radius: var(--radius-lg, 16px);
padding: clamp(20px, 3vw, 32px) clamp(18px, 3vw, 28px);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
max-width: 620px;
margin: 0 auto;
text-align: left;
width: 100%;
}

.md-info-pair--3col > .md-floor-guide {
max-width: 100%;
align-self: stretch;
}
.md-floor-guide__title {
display: block;
text-align: center;
margin: 0 auto 24px;
font-size: 0;
line-height: 1;
}
.md-floor-guide__title-inner {
display: inline-block;
background: linear-gradient(135deg, var(--color-primary, #E58C4E), var(--color-primary-dark, #D97742));
color: #fff;
font-size: clamp(1.05rem, 1.6vw, 1.25rem);
font-weight: 700;
padding: 10px 32px;
border-radius: 2px;
letter-spacing: 0.02em;
}
.md-floor-guide__lead {
color: var(--color-text-muted, #6b6b6b);
font-size: var(--fs-caption, 0.9rem);
text-align: center;
margin: -12px 0 20px;
}
.md-floor-guide__list {
list-style: none;
padding: 0;
margin: 0;
}
.md-floor-guide__row {
display: grid;
grid-template-columns: 64px 1fr;
gap: clamp(14px, 2vw, 24px);
padding: 14px 4px;
border-bottom: 1px dashed rgba(0, 0, 0, 0.08);
align-items: baseline;
}
.md-floor-guide__row:last-child { border-bottom: none; }
.md-floor-guide__floor {
font-weight: 800;
color: var(--color-text, #222);
font-size: clamp(1.05rem, 1.5vw, 1.15rem);
letter-spacing: 0.02em;
text-align: right;
padding-right: 4px;
}
.md-floor-guide__centers {
color: var(--color-text, #333);
font-size: clamp(0.95rem, 1.4vw, 1.02rem);
line-height: 1.7;
}
.md-floor-guide__center {
display: inline-block;
color: inherit;
}
.md-floor-guide__center--link {
color: inherit;                      
text-decoration: none;
border-bottom: 1px dashed transparent;
transition: border-color 0.2s ease, color 0.2s ease;
}
.md-floor-guide__center--link:hover {
color: var(--color-primary-dark, #D97742);
border-bottom-color: var(--color-primary-dark, #D97742);
}

.md-floor-guide__center--highlight {
color: var(--color-primary-dark, #D97742) !important;
}
.md-floor-guide__center--highlight:hover {
border-bottom-color: var(--color-primary-dark, #D97742);
}
.md-floor-guide__sep {
color: rgba(0, 0, 0, 0.25);
margin: 0 2px;
}

.md-floor-guide--inline {
max-width: none;
border: none;
box-shadow: none;
padding: 0;
background: transparent;
}
.md-floor-guide--inline .md-floor-guide__title-inner {
font-size: 0.95rem;
padding: 6px 20px;
}
.md-floor-guide--inline .md-floor-guide__row {
padding: 8px 0;
grid-template-columns: 48px 1fr;
}

.md-floor-guide--sidebar {
max-width: 320px;
padding: 20px;
}
@media (max-width: 640px) {
.md-floor-guide { padding: 20px 16px; }
.md-floor-guide__row { grid-template-columns: 52px 1fr; gap: 12px; padding: 12px 0; }
.md-floor-guide__floor { font-size: 1rem; }
.md-floor-guide__centers { font-size: 0.92rem; line-height: 1.65; }
}

@media (prefers-color-scheme: dark) {
.md-floor-guide {
background: #1c1c1e;
border-color: rgba(255, 255, 255, 0.1);
}
.md-floor-guide__row { border-bottom-color: rgba(255, 255, 255, 0.08); }
.md-floor-guide__floor { color: #f2f2f2; }
.md-floor-guide__centers { color: #d8d8d8; }
.md-floor-guide__center--link { color: inherit; }
.md-floor-guide__center--highlight { color: #9CC5B5 !important; }
.md-floor-guide__sep { color: rgba(255, 255, 255, 0.25); }
.md-floor-guide__lead { color: #a0a0a0; }
}


.md-home-2col {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 3fr);   
gap: clamp(16px, 2vw, 32px);
max-width: 1600px;
margin: 0 auto;
padding: 0 clamp(12px, 1.5vw, 24px);
align-items: start;
}

.md-home-2col__side {
position: static;
overflow: visible;
max-height: none;
padding: 12px 0;
}
.md-home-2col__main { min-width: 0; }

@media (max-width: 1080px) {
.md-home-2col { display: block; padding: 0; }
.md-home-2col__side {
position: static;
max-height: none;
overflow: visible;
}
.md-home-2col__side .md-history-rail__list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
gap: 10px;
}
}


.md-history-rail {
background: #fff;
border: 1px solid rgba(31, 74, 62, 0.15);
border-radius: 3px;
padding: 18px 14px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.md-history-rail__head {
border-bottom: 1px solid rgba(31, 74, 62, 0.15);
padding-bottom: 12px;
margin-bottom: 14px;
}
.md-history-rail__eyebrow {
display: inline-block;
font-size: 0.68rem;
font-weight: 800;
letter-spacing: 0.12em;
color: var(--color-primary-dark);
background: rgba(31, 74, 62, 0.12);
padding: 3px 9px;
border-radius: 2px;
margin-bottom: 6px;
}
.md-history-rail__title {
font-size: 1.05rem;
font-weight: 800;
color: var(--color-primary-dark);
margin: 0 0 4px 0;
}
.md-history-rail__lead {
font-size: 0.72rem;
color: var(--color-text-mute);
margin: 0;
}
.md-history-rail__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.md-history-rail__item { list-style: none; }
.md-history-rail__link {
display: flex;
gap: 10px;
padding: 6px;
background: transparent;
border-radius: 3px;
text-decoration: none;
color: inherit;
transition: background 0.2s ease, transform 0.2s ease;
align-items: flex-start;
}
.md-history-rail__link:hover {
background: rgba(31, 74, 62, 0.06);
transform: translateX(2px);
}
.md-history-rail__photo {
flex: 0 0 60px;
width: 60px;
height: 60px;
border-radius: 3px;
overflow: hidden;
background: var(--color-surface);
}
.md-history-rail__photo img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.3s ease;
}
.md-history-rail__link:hover .md-history-rail__photo img { transform: scale(1.08); }
.md-history-rail__meta {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 3px;
padding-top: 2px;
}
.md-history-rail__date {
font-size: 0.68rem;
font-weight: 800;
color: var(--color-primary-dark);
letter-spacing: -0.005em;
}
.md-history-rail__title-txt {
font-size: 0.78rem;
font-weight: 600;
color: var(--color-text);
line-height: 1.35;
word-break: keep-all;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.md-history-rail__more {
margin: 16px 0 0 0;
padding-top: 12px;
border-top: 1px solid rgba(31, 74, 62, 0.15);
text-align: center;
}
@media (prefers-color-scheme: dark) {
.md-history-rail {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.22);
}
.md-history-rail__head { border-bottom-color: rgba(156, 197, 181, 0.22); }
.md-history-rail__eyebrow {
background: rgba(156, 197, 181, 0.15);
color: #9CC5B5;
}
.md-history-rail__title { color: #9CC5B5; }
.md-history-rail__date { color: #9CC5B5; }
.md-history-rail__title-txt { color: #ececec; }
.md-history-rail__link:hover { background: rgba(156, 197, 181, 0.08); }
.md-history-rail__more { border-top-color: rgba(156, 197, 181, 0.22); }
}


.md-news-rail {
background: #fff;
border: 1px solid rgba(31, 74, 62, 0.15);
border-radius: 3px;
padding: 18px 14px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
margin-top: 20px;
}
.md-news-rail__head {
border-bottom: 1px solid rgba(31, 74, 62, 0.15);
padding-bottom: 12px;
margin-bottom: 14px;
}
.md-news-rail__eyebrow {
display: inline-block;
font-size: 0.68rem;
font-weight: 800;
letter-spacing: 0.12em;
color: var(--color-primary-dark);
background: rgba(31, 74, 62, 0.12);
padding: 3px 9px;
border-radius: 2px;
margin-bottom: 6px;
}
.md-news-rail__title {
font-size: 1.05rem;
font-weight: 800;
color: var(--color-primary-dark);
margin: 0;
}
.md-news-rail__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.md-news-rail__item { list-style: none; }
.md-news-rail__link {
display: flex;
gap: 10px;
padding: 6px;
background: transparent;
border-radius: 3px;
text-decoration: none;
color: inherit;
transition: background 0.2s ease, transform 0.2s ease;
align-items: flex-start;
}
.md-news-rail__link:hover {
background: rgba(31, 74, 62, 0.06);
transform: translateX(2px);
}
.md-news-rail__thumb {
flex: 0 0 60px;
width: 60px;
height: 60px;
border-radius: 3px;
overflow: hidden;
background: var(--color-surface);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.4rem;
}
.md-news-rail__thumb--empty {
background: linear-gradient(135deg, rgba(31, 74, 62, 0.10), rgba(31, 74, 62, 0.05));
}
.md-news-rail__thumb img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.3s ease;
}
.md-news-rail__link:hover .md-news-rail__thumb img { transform: scale(1.08); }
.md-news-rail__meta {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 3px;
padding-top: 2px;
}
.md-news-rail__date {
font-size: 0.68rem;
font-weight: 800;
color: var(--color-primary-dark);
letter-spacing: -0.005em;
}
.md-news-rail__title-txt {
font-size: 0.78rem;
font-weight: 600;
color: var(--color-text);
line-height: 1.35;
word-break: keep-all;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.md-news-rail__more {
margin: 16px 0 0 0;
padding-top: 12px;
border-top: 1px solid rgba(31, 74, 62, 0.15);
text-align: center;
}
@media (prefers-color-scheme: dark) {
.md-news-rail {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.22);
}
.md-news-rail__head { border-bottom-color: rgba(156, 197, 181, 0.22); }
.md-news-rail__eyebrow {
background: rgba(156, 197, 181, 0.15);
color: #9CC5B5;
}
.md-news-rail__title { color: #9CC5B5; }
.md-news-rail__date { color: #9CC5B5; }
.md-news-rail__title-txt { color: #ececec; }
.md-news-rail__link:hover { background: rgba(156, 197, 181, 0.08); }
.md-news-rail__more { border-top-color: rgba(156, 197, 181, 0.22); }
}
@media (max-width: 1080px) {
.md-news-rail__list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 8px;
}
}


.md-testi-rail {
background: #fff;
border: 1px solid rgba(31, 74, 62, 0.15);
border-radius: 3px;
padding: 18px 14px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
margin-top: 20px;
}
.md-testi-rail__head {
border-bottom: 1px solid rgba(31, 74, 62, 0.15);
padding-bottom: 12px;
margin-bottom: 14px;
}
.md-testi-rail__eyebrow {
display: inline-block;
font-size: 0.68rem;
font-weight: 800;
letter-spacing: 0.12em;
color: var(--color-primary-dark);
background: rgba(31, 74, 62, 0.12);
padding: 3px 9px;
border-radius: 2px;
margin-bottom: 6px;
}
.md-testi-rail__title {
font-size: 1.05rem;
font-weight: 800;
color: var(--color-primary-dark);
margin: 0;
}
.md-testi-rail__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 14px;
}
.md-testi-rail__item {
list-style: none;
padding: 10px 8px;
background: rgba(31, 74, 62, 0.04);
border-radius: 3px;
border-left: 3px solid var(--color-primary);
}
.md-testi-rail__stars {
display: flex;
gap: 1px;
margin-bottom: 6px;
font-size: 0.85rem;
}
.md-testi-rail__star {
color: rgba(0, 0, 0, 0.15);
letter-spacing: -1px;
}
.md-testi-rail__star.is-filled { color: #f5b842; }
.md-testi-rail__text {
font-size: 0.78rem;
font-weight: 500;
color: var(--color-text);
line-height: 1.5;
margin: 0 0 8px 0;
word-break: keep-all;
font-style: italic;
}
.md-testi-rail__meta {
display: flex;
gap: 6px;
align-items: center;
font-size: 0.7rem;
flex-wrap: wrap;
}
.md-testi-rail__name {
font-weight: 700;
color: var(--color-primary-dark);
}
.md-testi-rail__service {
padding: 2px 7px;
background: rgba(31, 74, 62, 0.12);
color: var(--color-primary-dark);
border-radius: 2px;
font-weight: 600;
font-size: 0.66rem;
}
.md-testi-rail__more {
margin: 16px 0 0 0;
padding-top: 12px;
border-top: 1px solid rgba(31, 74, 62, 0.15);
text-align: center;
}
.md-testi-rail__more .md-btn { font-size: 0.78rem; }
@media (prefers-color-scheme: dark) {
.md-testi-rail__more { border-top-color: rgba(156, 197, 181, 0.22); }
}
@media (prefers-color-scheme: dark) {
.md-testi-rail {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.22);
}
.md-testi-rail__head { border-bottom-color: rgba(156, 197, 181, 0.22); }
.md-testi-rail__eyebrow {
background: rgba(156, 197, 181, 0.15);
color: #9CC5B5;
}
.md-testi-rail__title { color: #9CC5B5; }
.md-testi-rail__item {
background: rgba(156, 197, 181, 0.05);
border-left-color: #9CC5B5;
}
.md-testi-rail__text { color: #d8d8d8; }
.md-testi-rail__name { color: #9CC5B5; }
.md-testi-rail__service {
background: rgba(156, 197, 181, 0.15);
color: #9CC5B5;
}
}
@media (max-width: 1080px) {
.md-testi-rail__list {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 10px;
}
}


.md-floor-rail {
background: #fff;
border: 1px solid rgba(31, 74, 62, 0.15);
border-radius: 3px;
padding: 18px 14px;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
margin-top: 20px;
}
.md-floor-rail__head {
border-bottom: 1px solid rgba(31, 74, 62, 0.15);
padding-bottom: 12px;
margin-bottom: 14px;
}
.md-floor-rail__eyebrow {
display: inline-block;
font-size: 0.68rem;
font-weight: 800;
letter-spacing: 0.12em;
color: var(--color-primary-dark);
background: rgba(31, 74, 62, 0.12);
padding: 3px 9px;
border-radius: 2px;
margin-bottom: 6px;
}
.md-floor-rail__title {
font-size: 1.05rem;
font-weight: 800;
color: var(--color-primary-dark);
margin: 0 0 4px 0;
}
.md-floor-rail__lead {
font-size: 0.72rem;
color: var(--color-text-mute);
margin: 0;
line-height: 1.4;
}
.md-floor-rail__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.md-floor-rail__row {
list-style: none;
display: grid;
grid-template-columns: 40px 1fr;
gap: 10px;
align-items: start;
padding: 8px 0;
border-bottom: 1px dashed rgba(31, 74, 62, 0.15);
}
.md-floor-rail__row:last-child { border-bottom: none; }
.md-floor-rail__floor {
font-size: 0.9rem;
font-weight: 900;
color: var(--color-primary-dark);
letter-spacing: -0.02em;
}
.md-floor-rail__centers {
font-size: 0.76rem;
color: var(--color-text);
line-height: 1.5;
word-break: keep-all;
}
.md-floor-rail__center {
display: inline;
color: inherit;
}
.md-floor-rail__center--link {
color: inherit;
text-decoration: none;
border-bottom: 1px dashed transparent;
transition: color 0.2s ease, border-color 0.2s ease;
}
.md-floor-rail__center--link:hover {
color: var(--color-primary-dark);
border-bottom-color: var(--color-primary-dark);
}
.md-floor-rail__center--highlight {
color: var(--color-primary-dark) !important;
font-weight: 700;
}
.md-floor-rail__sep {
color: rgba(0, 0, 0, 0.25);
margin: 0 2px;
}
@media (prefers-color-scheme: dark) {
.md-floor-rail {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.22);
}
.md-floor-rail__head { border-bottom-color: rgba(156, 197, 181, 0.22); }
.md-floor-rail__eyebrow {
background: rgba(156, 197, 181, 0.15);
color: #9CC5B5;
}
.md-floor-rail__title { color: #9CC5B5; }
.md-floor-rail__lead { color: #a0a0a0; }
.md-floor-rail__floor { color: #9CC5B5; }
.md-floor-rail__centers { color: #d8d8d8; }
.md-floor-rail__center--highlight { color: #9CC5B5 !important; }
.md-floor-rail__row { border-bottom-color: rgba(156, 197, 181, 0.15); }
.md-floor-rail__sep { color: rgba(255, 255, 255, 0.25); }
}


.md-home-history__scroll {
margin-top: clamp(20px, 2.5vw, 36px);
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
scroll-snap-type: x mandatory;
padding-bottom: 16px;
scrollbar-width: thin;
scrollbar-color: var(--color-primary-dark) transparent;
}
.md-home-history__scroll::-webkit-scrollbar { height: 8px; }
.md-home-history__scroll::-webkit-scrollbar-track { background: transparent; }
.md-home-history__scroll::-webkit-scrollbar-thumb {
background: rgba(31, 74, 62, 0.35);
border-radius: 4px;
}
.md-home-history__scroll::-webkit-scrollbar-thumb:hover {
background: var(--color-primary-dark);
}
.md-home-history__grid {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-auto-flow: column;
grid-auto-columns: clamp(160px, 16vw, 220px);
gap: clamp(12px, 1.4vw, 20px);
align-items: stretch;
}
.md-home-history__item { list-style: none; scroll-snap-align: start; }
.md-home-history__link {
display: flex;
flex-direction: column;
gap: 8px;
background: #fff;
border: 1px solid rgba(31, 74, 62, 0.15);
border-radius: 3px;
overflow: hidden;
text-decoration: none;
color: inherit;
height: 100%;
transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1),
border-color 0.28s ease;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}
.md-home-history__link:hover {
transform: translateY(-4px);
box-shadow: 0 12px 28px rgba(31, 74, 62, 0.20);
border-color: var(--color-primary);
}
.md-home-history__photo {
position: relative;
width: 100%;
aspect-ratio: 4 / 3;
overflow: hidden;
background: var(--color-surface);
}
.md-home-history__photo img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.md-home-history__link:hover .md-home-history__photo img { transform: scale(1.05); }
.md-home-history__meta {
padding: 10px 12px 14px;
display: flex;
flex-direction: column;
gap: 4px;
}
.md-home-history__date {
font-size: 0.78rem;
font-weight: 800;
color: var(--color-primary-dark);
letter-spacing: -0.01em;
}
.md-home-history__title {
font-size: 0.86rem;
font-weight: 600;
color: var(--color-text);
line-height: 1.35;
word-break: keep-all;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.md-home-history__more {
text-align: center;
margin-top: clamp(18px, 2vw, 28px);
}
@media (prefers-color-scheme: dark) {
.md-home-history__link {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.22);
}
.md-home-history__link:hover {
border-color: #9CC5B5;
box-shadow: 0 12px 28px rgba(156, 197, 181, 0.22);
}
.md-home-history__date { color: #9CC5B5; }
.md-home-history__title { color: #ececec; }
}
@media (max-width: 560px) {
.md-home-history__grid { grid-auto-columns: clamp(140px, 60vw, 180px); }
}


.md-service-floor-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(217, 119, 66, 0.1);
color: var(--color-primary-dark, #D97742);
font-weight: 700;
font-size: 0.85rem;
padding: 6px 14px;
border-radius: 2px;
margin-bottom: 12px;
letter-spacing: 0.02em;
}
@media (prefers-color-scheme: dark) {
.md-service-floor-badge {
background: rgba(156, 197, 181, 0.15);
color: #9CC5B5;
}
}


.md-pain {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(14px, 1.8vw, 20px);
max-width: 1080px;
margin-inline: auto;
}
@media (max-width: 880px) { .md-pain { grid-template-columns: 1fr; } }

.md-pain__pair {
position: relative;
background: #fff;
border: 1px solid rgba(31, 74, 62, 0.14);
border-radius: 3px;
overflow: hidden;
transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1),
border-color 0.28s ease;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}
.md-pain__pair::before {
content: '';
position: absolute;
left: 0; top: 0; bottom: 0;
width: 4px;
background: linear-gradient(180deg, rgba(31, 74, 62, 0.15) 0%, var(--color-primary) 100%);
}
.md-pain__pair:hover {
border-color: var(--color-primary);
box-shadow: 0 14px 36px rgba(31, 74, 62, 0.18);
transform: translateY(-4px);
}

.md-pain__concern,
.md-pain__solution {
position: relative;
padding: 11px clamp(14px, 1.8vw, 20px);
}
.md-pain__concern {
background: linear-gradient(180deg, rgba(31, 74, 62, 0.035) 0%, rgba(31, 74, 62, 0.075) 100%);
padding-bottom: 14px;
}

.md-pain__concern::after {
content: '';
position: absolute;
left: 50%;
bottom: -1px;
transform: translateX(-50%);
width: 26px;
height: 10px;
background:
radial-gradient(circle at 50% 0%, transparent 5px, #fff 5.5px);
}
.md-pain__solution {
background: #fff;
padding-top: 10px;
}


.md-pain__concern p::before {
content: '\201C';
display: inline-block;
font-family: Georgia, serif;
font-size: 1.6em;
line-height: 0;
color: var(--color-primary);
opacity: 0.55;
vertical-align: -0.28em;
margin-right: 6px;
font-weight: 700;
}
.md-pain__concern p::after {
content: '\201D';
display: inline-block;
font-family: Georgia, serif;
font-size: 1.6em;
line-height: 0;
color: var(--color-primary);
opacity: 0.55;
vertical-align: -0.28em;
margin-left: 4px;
font-weight: 700;
}
.md-pain__concern p {
margin: 0;
color: var(--color-text);
font-weight: 600;
font-size: 1.02rem;
line-height: 1.65;
letter-spacing: -0.015em;
word-break: keep-all;
font-style: italic;
}
.md-pain__solution p {
margin: 0;
color: var(--color-text);
font-size: 0.95rem;
line-height: 1.72;
word-break: keep-all;
padding-left: 22px;
position: relative;
}

.md-pain__solution p::before {
content: '';
position: absolute;
left: 0;
top: 9px;
width: 14px;
height: 14px;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%231F4A3E' d='M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0zm-1 15l-5-5 1.41-1.41L9 12.17l7.59-7.59L18 6l-9 9z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
}


.md-pain__tag {
display: inline-flex;
align-items: center;
gap: 5px;
font-size: 0.66rem;
font-weight: 800;
letter-spacing: 0.06em;
color: var(--color-primary-dark);
background: rgba(31, 74, 62, 0.12);
padding: 4px 10px 4px 7px;
border-radius: 2px;
margin-bottom: 5px;
border: 1px solid rgba(31, 74, 62, 0.20);
}
.md-pain__tag::before {
content: '💭';
font-size: 0.9em;
line-height: 1;
}
.md-pain__tag--alt {
background: linear-gradient(135deg, var(--color-primary) 0%, #c56a4d 100%);
color: #fff;
border-color: var(--color-primary-dark);
box-shadow: 0 3px 8px rgba(31, 74, 62, 0.28);
}
.md-pain__tag--alt::before {
content: '✓';
font-size: 0.85em;
font-weight: 900;
}


@media (prefers-color-scheme: dark) {
.md-pain__pair {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.22);
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.md-pain__pair::before {
background: linear-gradient(180deg, rgba(156, 197, 181, 0.20) 0%, #9CC5B5 100%);
}
.md-pain__pair:hover {
border-color: #9CC5B5;
box-shadow: 0 14px 36px rgba(156, 197, 181, 0.22);
}
.md-pain__concern {
background: linear-gradient(180deg, rgba(156, 197, 181, 0.05) 0%, rgba(156, 197, 181, 0.09) 100%);
}
.md-pain__concern::after {
background: radial-gradient(circle at 50% 0%, transparent 10px, rgba(30, 22, 20, 1) 10.5px);
}
.md-pain__solution { background: rgba(30, 22, 20, 1); }
.md-pain__concern p,
.md-pain__solution p { color: #ececec; }
.md-pain__concern p::before,
.md-pain__concern p::after { color: #9CC5B5; }
.md-pain__solution p::before {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%239CC5B5' d='M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0zm-1 15l-5-5 1.41-1.41L9 12.17l7.59-7.59L18 6l-9 9z'/%3E%3C/svg%3E");
}
.md-pain__tag {
background: rgba(156, 197, 181, 0.15);
color: #9CC5B5;
border-color: rgba(156, 197, 181, 0.30);
}
.md-pain__tag--alt {
background: linear-gradient(135deg, #9CC5B5 0%, #1F4A3E 100%);
color: #1B1310;
border-color: #9CC5B5;
}
}


@media (max-width: 560px) {
.md-pain__concern,
.md-pain__solution { padding: 10px 14px; }
.md-pain__concern { padding-bottom: 13px; }
.md-pain__solution { padding-top: 9px; }
.md-pain__concern p { font-size: 0.94rem; }
.md-pain__solution p { font-size: 0.88rem; padding-left: 20px; }
}


.md-strengths {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(14px, 1.6vw, 22px);
}
@media (max-width: 900px) {
.md-strengths { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
.md-strengths { grid-template-columns: 1fr; }
}
.md-strength {
display: flex;
align-items: flex-start;
gap: 14px;
padding: clamp(18px, 2vw, 24px) clamp(18px, 2vw, 22px);
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
text-decoration: none;
color: inherit;
position: relative;
}
.md-strength:hover {
transform: translateY(-2px);
box-shadow: 0 10px 24px rgba(22, 22, 22, 0.08);
border-color: var(--color-primary);
}
.md-strength--link { cursor: pointer; }
.md-strength--link:hover,
.md-strength--link:focus-visible {
border-color: var(--color-primary);
color: inherit;
}
.md-strength__arrow {
position: absolute;
top: 18px;
right: 18px;
color: var(--color-primary);
font-size: 1rem;
font-weight: 700;
opacity: 0;
transform: translateX(-4px);
transition: opacity 0.25s var(--ease), transform 0.25s var(--ease);
}
.md-strength--link:hover .md-strength__arrow,
.md-strength--link:focus-visible .md-strength__arrow {
opacity: 1;
transform: translateX(0);
}
@media (max-width: 540px) {
.md-strength__arrow { opacity: 0.5; transform: none; }
}
.md-strength__icon {
font-size: clamp(1.5rem, 2.2vw, 1.875rem);
line-height: 1;
flex-shrink: 0;
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center;
background: var(--color-surface);
border-radius: 50%;
}
.md-strength__body { min-width: 0; flex: 1; }
.md-strength__label {
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.08em;
color: var(--color-primary-dark);
text-transform: uppercase;
margin: 0 0 4px;
}
.md-strength__value {
font-size: 1rem;
font-weight: 700;
line-height: 1.45;
color: var(--color-text);
margin: 0;
letter-spacing: -0.01em;
word-break: keep-all;
}



html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }


.md-notice-list {
list-style: none;
padding: 0;
margin: 0;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
overflow: hidden;
}
.md-notice-item {
border-bottom: 1px solid var(--color-border);
}
.md-notice-item:last-child { border-bottom: 0; }
.md-notice-item a {
display: flex;
align-items: center;
gap: clamp(10px, 1.6vw, 20px);
padding: clamp(14px, 1.8vw, 20px) clamp(16px, 2vw, 24px);
text-decoration: none;
color: var(--color-text);
transition: background-color 0.2s var(--ease);
}
.md-notice-item a:hover {
background-color: var(--color-surface);
}
.md-notice-item__tag {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 44px;
padding: 4px 10px;
background: var(--color-primary);
color: #fff;
border-radius: 3px;
font-size: 0.75rem;
font-weight: 800;
}
.md-notice-item__title {
flex: 1;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1.5;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.md-notice-item__date {
flex-shrink: 0;
font-size: 0.8125rem;
color: var(--color-text-sub);
font-feature-settings: 'tnum';
}
@media (max-width: 540px) {
.md-notice-item__title { white-space: normal; }
.md-notice-item__date { display: none; }
}


.md-mission-band {
background: linear-gradient(135deg, var(--color-surface) 0%, var(--color-surface-alt) 100%);
padding-block: clamp(48px, 6vw, 80px);
}
.md-mission-band__inner { text-align: center; }
.md-mission-band__eyebrow {
display: inline-block;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.12em;
color: var(--color-primary);
text-transform: uppercase;
margin-bottom: 18px;
}
.md-mission-band__quote {
margin: 0 0 clamp(28px, 3.5vw, 44px);
padding: 0;
border: 0;
}
.md-mission-band__quote p {
font-size: clamp(1.0625rem, 2vw, 1.5rem);
font-weight: 700;
line-height: 1.6;
color: var(--color-text);
margin: 0;
letter-spacing: -0.015em;
word-break: keep-all;
}
.md-mission-band__certs {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
list-style: none;
padding: 0;
margin: 0;
}
@media (max-width: 720px) { .md-mission-band__certs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .md-mission-band__certs { grid-template-columns: 1fr; } }

.md-mission-band__certs li {
display: flex;
align-items: center;
gap: 10px;
padding: 14px 18px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-sm);
font-size: var(--fs-small);
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.005em;
}
.md-mission-band__certs li > span:first-child {
font-size: 1.25rem;
flex-shrink: 0;
}


.md-clinic-intro__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(16px, 2vw, 24px);
margin-bottom: clamp(24px, 3vw, 36px);
}
@media (max-width: 1024px) { .md-clinic-intro__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .md-clinic-intro__grid { grid-template-columns: 1fr; } }

.md-clinic-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: clamp(22px, 2.5vw, 30px);
display: flex;
flex-direction: column;
transition: transform 0.25s var(--ease), border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.md-clinic-card:hover {
transform: translateY(-2px);
border-color: var(--color-primary);
box-shadow: 0 10px 24px rgba(22, 22, 22, 0.08);
}
.md-clinic-card > header {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 14px;
position: relative;
}
.md-clinic-card__num {
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.08em;
color: var(--color-primary);
background: rgba(31, 74, 62, 0.10);
padding: 4px 10px;
border-radius: 99px;
}
.md-clinic-card__icon {
font-size: 1.5rem;
line-height: 1;
}
.md-clinic-card > header h3 {
flex: 1;
font-size: 1.0625rem;
font-weight: 800;
margin: 0;
letter-spacing: -0.015em;
color: var(--color-text);
}
.md-clinic-card__lead {
margin: 0 0 14px;
font-size: var(--fs-small);
line-height: 1.65;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-clinic-card__lead strong { color: var(--color-text); }
.md-clinic-card__list {
list-style: none;
padding: 0;
margin: 0 0 14px;
display: grid;
gap: 6px;
flex: 1;
}
.md-clinic-card__list li {
position: relative;
padding-left: 18px;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--color-text);
word-break: keep-all;
}
.md-clinic-card__list li::before {
content: '✓';
position: absolute;
left: 0; top: 0;
color: var(--color-primary);
font-weight: 800;
font-size: 0.75rem;
}
.md-clinic-card__more {
display: inline-block;
margin-top: auto;
font-size: 0.8125rem;
font-weight: 700;
color: var(--color-primary);
text-decoration: none;
transition: gap 0.2s var(--ease);
}
.md-clinic-card__more:hover {
color: var(--color-primary-dark);
}


.md-clinic-night {
background: linear-gradient(135deg, #4A3B30 0%, #2C2218 100%);
color: #FFF1D9;
padding: clamp(22px, 2.6vw, 30px);
border-radius: var(--radius-md);
display: flex;
align-items: center;
gap: 18px;
}
.md-clinic-night > span {
font-size: clamp(2rem, 3vw, 2.5rem);
line-height: 1;
flex-shrink: 0;
}
.md-clinic-night strong {
display: block;
font-size: 1.0625rem;
font-weight: 800;
margin-bottom: 4px;
color: #FEE500;
}
.md-clinic-night p {
margin: 0;
font-size: var(--fs-small);
line-height: 1.65;
word-break: keep-all;
color: rgba(255, 241, 217, 0.92);
}
.md-clinic-night p strong {
display: inline;
color: #FEE500;
font-weight: 800;
}
.md-clinic-closer {
margin: clamp(28px, 3.5vw, 40px) 0 0;
text-align: center;
font-size: clamp(0.9375rem, 1.4vw, 1.0625rem);
color: var(--color-text);
word-break: keep-all;
font-weight: 500;
line-height: 1.6;
}
.md-clinic-closer strong { color: var(--color-primary); font-weight: 800; }


.md-recruit-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: clamp(24px, 3vw, 36px);
}
.md-recruit-card__head { margin-bottom: clamp(20px, 2.5vw, 28px); }
.md-recruit-card__badge {
display: inline-block;
padding: 6px 14px;
background: var(--color-primary);
color: #fff;
border-radius: 99px;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.08em;
margin-bottom: 12px;
}
.md-recruit-card__badge--alt { background: #5E5E5B; }

.md-recruit-card__badge--common { background: #7A6B5D; }
.md-recruit-card--common {
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
border: 1.5px solid var(--color-primary-light);
margin-bottom: clamp(24px, 3vw, 36px);
}
.md-recruit-card h3 {
font-size: clamp(1.25rem, 2vw, 1.5rem);
font-weight: 800;
margin: 0 0 8px;
letter-spacing: -0.015em;
}
.md-recruit-card__lead {
margin: 0;
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.65;
word-break: keep-all;
}
.md-recruit-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(16px, 2vw, 24px);
}
@media (max-width: 720px) { .md-recruit-grid { grid-template-columns: 1fr; } }
.md-recruit-block h4 {
font-size: 0.9375rem;
font-weight: 800;
margin: 0 0 10px;
color: var(--color-primary-dark);
letter-spacing: -0.015em;
}
.md-recruit-block ul {
list-style: none;
padding: 0;
margin: 0;
}
.md-recruit-block li {
position: relative;
padding-left: 18px;
margin-bottom: 6px;
font-size: var(--fs-small);
line-height: 1.65;
color: var(--color-text);
word-break: keep-all;
}
.md-recruit-block li::before {
content: '·';
position: absolute;
left: 4px; top: -2px;
color: var(--color-primary);
font-weight: 800;
font-size: 1.25rem;
}


.md-recruit-benefits {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(16px, 2vw, 24px);
margin-top: clamp(16px, 2vw, 24px);
}
@media (max-width: 900px) { .md-recruit-benefits { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .md-recruit-benefits { grid-template-columns: 1fr; } }
.md-recruit-benefit {
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: clamp(16px, 2vw, 22px);
transition: border-color .2s, transform .2s;
}
.md-recruit-benefit:hover {
border-color: var(--color-primary-light);
transform: translateY(-2px);
}
.md-recruit-benefit h4 {
font-size: 1rem;
font-weight: 800;
margin: 0 0 12px;
color: var(--color-primary-dark);
letter-spacing: -0.015em;
padding-bottom: 8px;
border-bottom: 1px solid var(--color-border);
}
.md-recruit-benefit ul {
list-style: none;
padding: 0;
margin: 0;
}
.md-recruit-benefit li {
position: relative;
padding-left: 16px;
margin-bottom: 6px;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--color-text);
word-break: keep-all;
}
.md-recruit-benefit li::before {
content: '·';
position: absolute;
left: 3px; top: -3px;
color: var(--color-primary);
font-weight: 800;
font-size: 1.25rem;
}
.md-recruit-benefit li strong {
color: var(--color-primary-dark);
}
.md-recruit-card__hint {
margin: clamp(16px, 2vw, 22px) 0 0;
padding-top: clamp(12px, 1.5vw, 16px);
border-top: 1px dashed var(--color-border);
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.65;
word-break: keep-all;
}


.md-home-news-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(14px, 1.8vw, 22px);
}
@media (max-width: 900px) { .md-home-news-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .md-home-news-grid { grid-template-columns: 1fr; } }


#cavity, #endo, #perio,
#laminate, #aesthetic-resin, #whitening, #gum-whitening, #gummy,
#dental-spa, #scaling, #airflow, #fluoride, #sealant {
scroll-margin-top: 160px;
}



.md-preservation-nav [aria-hidden="true"],
.md-clinic-card__icon,
.md-trust__icon,
.md-mission-band__certs [aria-hidden="true"],
.md-clinic-night [aria-hidden="true"],
.md-service-card__icon {
font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", sans-serif;
}
.md-preservation-nav {
background: var(--color-white);
border-bottom: 1px solid var(--color-border);
position: sticky;
top: 0;
z-index: 50;
padding: 10px 0;
box-shadow: 0 2px 8px rgba(22, 22, 22, 0.05);
}
.md-preservation-nav ul {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 8px;
list-style: none;
padding: 0;
margin: 0;
}
.md-preservation-nav a {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 99px;
text-decoration: none;
color: var(--color-text);
font-size: 0.875rem;
font-weight: 700;
transition: background-color 0.2s var(--ease), color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.md-preservation-nav a:hover {
background: var(--color-primary);
color: #fff;
border-color: var(--color-primary);
}


.md-preservation-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(14px, 1.8vw, 22px);
margin-bottom: clamp(24px, 3vw, 36px);
}
@media (max-width: 720px) {
.md-preservation-grid { grid-template-columns: 1fr; }
}
.md-preservation-card {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: clamp(20px, 2.4vw, 28px);
position: relative;
}
.md-preservation-card__stage {
display: inline-block;
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.08em;
color: var(--color-primary);
background: rgba(31, 74, 62, 0.10);
padding: 4px 10px;
border-radius: 99px;
margin-bottom: 10px;
text-transform: uppercase;
}
.md-preservation-card h3 {
font-size: 1.0625rem;
font-weight: 800;
margin: 0 0 10px;
letter-spacing: -0.015em;
color: var(--color-text);
}
.md-preservation-card p {
margin: 0;
font-size: var(--fs-small);
line-height: 1.65;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-preservation-card strong { color: var(--color-text); }


.md-preservation-h3 {
font-size: clamp(1.0625rem, 1.7vw, 1.25rem);
font-weight: 800;
margin: clamp(28px, 3vw, 40px) 0 14px;
letter-spacing: -0.015em;
padding-bottom: 8px;
border-bottom: 2px solid var(--color-primary);
display: inline-block;
}
.md-preservation-list {
list-style: none;
padding: 0;
margin: 0 0 clamp(20px, 2.4vw, 28px);
display: grid;
gap: 8px;
}
.md-preservation-list li {
position: relative;
padding-left: 26px;
font-size: var(--fs-small);
line-height: 1.65;
color: var(--color-text);
word-break: keep-all;
}
.md-preservation-list li::before {
content: '✓';
position: absolute;
left: 0; top: 0;
color: var(--color-primary);
font-weight: 800;
}




.md-spa-why {
background: linear-gradient(135deg, rgba(31, 74, 62, 0.06) 0%, rgba(78, 122, 108, 0.04) 100%);
border-radius: 3px;
padding: clamp(20px, 2.6vw, 32px);
margin: clamp(24px, 3vw, 36px) 0;
}
.md-spa-why__q {
font-size: clamp(1.125rem, 1.9vw, 1.375rem);
color: var(--color-primary-dark);
font-weight: 800;
letter-spacing: -0.015em;
margin: 0 0 14px;
}
.md-spa-why__body {
font-size: var(--fs-body);
line-height: 1.75;
color: var(--color-text);
}
.md-spa-why__body p { margin: 0 0 12px; }
.md-spa-why__body p:last-child { margin-bottom: 0; }
.md-spa-why__body strong { color: var(--color-primary-dark); }


.md-spa-oral {
margin: clamp(28px, 3vw, 40px) 0;
}
.md-spa-oral__list {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
position: relative;
}
.md-spa-oral__item {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 20px 14px;
background: var(--color-white);
border: 2px solid var(--color-border);
border-radius: 3px;
text-align: center;
position: relative;
transition: transform 0.2s var(--ease), border-color 0.2s var(--ease);
}
.md-spa-oral__item:hover {
border-color: var(--color-primary);
transform: translateY(-3px);
}
.md-spa-oral__item:last-child {
background: linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
border-color: var(--color-primary);
color: #fff;
}
.md-spa-oral__item:last-child .md-spa-oral__name,
.md-spa-oral__item:last-child .md-spa-oral__desc { color: #fff; }
.md-spa-oral__item:last-child .md-spa-oral__num {
background: #fff;
color: var(--color-primary-dark);
}
.md-spa-oral__item:not(:last-child)::after {
content: '→';
position: absolute;
right: -14px;
top: 50%;
transform: translate(50%, -50%);
font-size: 1.5rem;
color: var(--color-primary);
font-weight: 800;
z-index: 2;
background: var(--color-surface);
width: 24px;
text-align: center;
line-height: 1;
}
.md-spa-oral__num {
width: 32px;
height: 32px;
border-radius: 50%;
background: var(--color-primary);
color: #fff;
font-weight: 800;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.9375rem;
line-height: 1;
}
.md-spa-oral__name {
font-size: 1rem;
font-weight: 800;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-spa-oral__desc {
font-size: 0.75rem;
color: var(--color-text-sub);
line-height: 1.5;
}
@media (max-width: 640px) {
.md-spa-oral__list { grid-template-columns: 1fr; }
.md-spa-oral__item:not(:last-child)::after {
content: '↓';
right: 50%;
top: auto;
bottom: -16px;
transform: translateX(50%);
}
}


.md-spa-who {
margin: clamp(28px, 3vw, 40px) 0;
padding: clamp(20px, 2.6vw, 32px);
background: var(--color-surface);
border-radius: 3px;
}
.md-spa-who__lead {
color: var(--color-text-sub);
margin: 0 0 16px;
font-size: var(--fs-small);
}
.md-spa-who__list {
list-style: none;
padding: 0;
margin: 0 0 18px;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 10px;
}
.md-spa-who__list li {
display: flex;
align-items: flex-start;
gap: 8px;
padding: 12px 14px;
background: var(--color-white);
border-radius: 3px;
font-size: 0.9375rem;
line-height: 1.55;
color: var(--color-text);
}
.md-spa-who__list li span {
flex-shrink: 0;
width: 22px; height: 22px;
border-radius: 50%;
background: var(--color-primary);
color: #fff;
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.75rem;
font-weight: 800;
}
.md-spa-who__cta {
margin: 0;
padding: 12px 16px;
background: var(--color-primary);
color: #fff;
border-radius: 3px;
font-weight: 700;
text-align: center;
}


.md-spa-after {
margin: clamp(28px, 3vw, 40px) 0;
padding: clamp(20px, 2.6vw, 32px);
background: linear-gradient(135deg, rgba(138, 138, 134, 0.08) 0%, rgba(31, 74, 62, 0.06) 100%);
border-radius: 3px;
border-left: 4px solid var(--color-primary);
}
.md-spa-after__body {
font-size: var(--fs-body);
line-height: 1.7;
color: var(--color-text);
margin: 0 0 16px;
font-weight: 500;
}
.md-spa-after__list {
list-style: none;
padding: 0;
margin: 0 0 18px;
display: flex;
flex-direction: column;
gap: 8px;
}
.md-spa-after__list li {
font-size: 0.9375rem;
color: var(--color-text);
line-height: 1.6;
padding-left: 4px;
}
.md-spa-after__cta {
margin: 0;
font-weight: 700;
color: var(--color-primary-dark);
font-size: 0.9375rem;
}


.md-spa-flow {
margin: clamp(28px, 3vw, 40px) 0;
}
.md-spa-flow__lead {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 0 18px;
line-height: 1.6;
}
.md-spa-flow__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
counter-reset: flow-step;
}
.md-spa-flow__item {
display: grid;
grid-template-columns: 110px 1fr;
gap: 4px 16px;
align-items: start;
padding: 14px 18px;
border-radius: 3px;
border-left: 4px solid var(--color-border);
background: var(--color-white);
border: 1px solid var(--color-border);
}
.md-spa-flow__item--clinic {
border-left-color: #6b8db8;
background: rgba(107, 141, 184, 0.04);
}
.md-spa-flow__item--spa {
border-left-color: var(--color-primary);
background: rgba(31, 74, 62, 0.05);
}
.md-spa-flow__loc {
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.02em;
padding: 4px 10px;
border-radius: var(--radius-pill);
color: #fff;
text-align: center;
grid-row: 1 / span 2;
align-self: center;
white-space: nowrap;
}
.md-spa-flow__item--clinic .md-spa-flow__loc { background: #6b8db8; }
.md-spa-flow__item--spa .md-spa-flow__loc { background: var(--color-primary); }
.md-spa-flow__name {
font-size: 0.9375rem;
font-weight: 800;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-spa-flow__desc {
font-size: 0.8125rem;
color: var(--color-text-sub);
line-height: 1.55;
}
@media (max-width: 480px) {
.md-spa-flow__item {
grid-template-columns: 1fr;
gap: 6px;
}
.md-spa-flow__loc {
grid-row: auto;
justify-self: start;
align-self: start;
}
}


.md-spa-test {
margin: clamp(28px, 3vw, 40px) 0;
}
.md-spa-test__list {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 14px;
}
.md-spa-test__item {
position: relative;
padding: 22px 20px 18px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
box-shadow: 0 4px 14px rgba(22, 22, 22, 0.05);
transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.md-spa-test__item:hover {
transform: translateY(-3px);
box-shadow: 0 8px 22px rgba(22, 22, 22, 0.10);
}
.md-spa-test__quote {
position: absolute;
top: 8px;
left: 14px;
font-size: 2.5rem;
line-height: 1;
color: var(--color-primary-light);
font-family: Georgia, serif;
opacity: 0.5;
}
.md-spa-test__item p {
margin: 0;
padding-left: 20px;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--color-text);
font-weight: 500;
}



.md-preservation-callout {
background: linear-gradient(135deg, #FFF5EC 0%, #FFFAF5 100%);
border: 1px solid rgba(31, 74, 62, 0.18);
border-left: 6px solid var(--color-primary, #D97742);
padding: clamp(28px, 3.5vw, 44px) clamp(24px, 3vw, 40px);
border-radius: var(--radius-lg, 16px);
margin-top: clamp(28px, 3.5vw, 44px);
box-shadow: 0 8px 32px rgba(31, 74, 62, 0.12);
position: relative;
overflow: hidden;
}
.md-preservation-callout::before {
content: '';
position: absolute;
top: -40px; right: -40px;
width: 160px; height: 160px;
background: radial-gradient(circle, rgba(31, 74, 62, 0.10) 0%, transparent 70%);
border-radius: 50%;
pointer-events: none;
}

.md-preservation-callout > strong {
display: block;
font-size: clamp(1.15rem, 1.9vw, 1.4rem);
margin: 0 0 18px;
padding-bottom: 14px;
color: var(--color-primary-dark, #B45E2E);
letter-spacing: -0.015em;
line-height: 1.35;
border-bottom: 2px dashed rgba(31, 74, 62, 0.25);
position: relative;
z-index: 1;
}

.md-preservation-callout p strong,
.md-preservation-callout li strong {
display: inline;
font-weight: 800;
color: var(--color-primary-dark, #B45E2E);
margin: 0;
padding: 0;
border: none;
line-height: inherit;
}
.md-preservation-callout p {
margin: 0 0 14px;
font-size: clamp(0.98rem, 1.4vw, 1.05rem);
line-height: 1.8;
color: var(--color-text, #3a3a3a);
word-break: keep-all;
position: relative;
z-index: 1;
}
.md-preservation-callout p:last-child { margin-bottom: 0; }
.md-preservation-callout ul,
.md-preservation-callout ol {
list-style: none;
padding: 0;
margin: 20px 0;
display: grid;
gap: 10px;
position: relative;
z-index: 1;
}
.md-preservation-callout li {
background: rgba(255, 255, 255, 0.7);
border-left: 3px solid var(--color-primary, #D97742);
padding: 12px 16px;
border-radius: 3px;
font-size: 0.97rem;
line-height: 1.6;
color: var(--color-text, #3a3a3a);
word-break: keep-all;
}
.md-preservation-callout li::before { display: none; }
.md-preservation-callout a {
display: inline-block;
margin-top: 6px;
color: #fff;
background: linear-gradient(135deg, var(--color-primary, #D97742), var(--color-primary-dark, #B45E2E));
font-weight: 700;
padding: 12px 24px;
border-radius: 2px;
text-decoration: none;
border: none;
transition: transform 0.2s ease, box-shadow 0.2s ease;
box-shadow: 0 4px 14px rgba(31, 74, 62, 0.35);
}
.md-preservation-callout a:hover {
transform: translateY(-1px);
box-shadow: 0 6px 20px rgba(31, 74, 62, 0.45);
}

@media (prefers-color-scheme: dark) {
.md-preservation-callout {
background: linear-gradient(135deg, #2a1f18 0%, #1f1a15 100%);
border-color: rgba(156, 197, 181, 0.2);
border-left-color: #9CC5B5;
}
.md-preservation-callout::before {
background: radial-gradient(circle, rgba(156, 197, 181, 0.08) 0%, transparent 70%);
}
.md-preservation-callout > strong { color: #9CC5B5; border-bottom-color: rgba(156, 197, 181, 0.3); }
.md-preservation-callout p strong, .md-preservation-callout li strong { color: #9CC5B5; }
.md-preservation-callout p { color: #d8d8d8; }
.md-preservation-callout li { background: rgba(255, 255, 255, 0.04); color: #d8d8d8; border-left-color: #9CC5B5; }
}
@media (max-width: 640px) {
.md-preservation-callout { padding: 24px 18px; }
.md-preservation-callout li { padding: 10px 12px; font-size: 0.92rem; }
.md-preservation-callout a { padding: 10px 20px; font-size: 0.95rem; }
}


.md-preservation-card:has(.md-preservation-card__stage:where([data-star]), .md-preservation-card__stage:not(:empty)) {

}
.md-preservation-card--highlight,
.md-preservation-card .md-preservation-card__stage:where(:not(:empty)) {

}

.md-preservation-card:has(> .md-preservation-card__stage:first-child) .md-preservation-card__stage[data-highlight],
.md-preservation-card__stage:where([data-highlight]) {
background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
color: #fff;
}

.md-preservation-card.is-star {
background: linear-gradient(135deg, #fff 0%, rgba(31, 74, 62, 0.06) 100%);
border: 2px solid var(--color-primary);
box-shadow: 0 10px 32px rgba(31, 74, 62, 0.18);
transform: translateY(-2px);
position: relative;
}
.md-preservation-card.is-star::before {
content: '';
position: absolute;
top: -1px; right: -1px;
width: 60px; height: 60px;
background: linear-gradient(135deg, transparent 50%, var(--color-primary) 50%);
border-radius: 0 var(--radius-md) 0 0;
}
.md-preservation-card.is-star .md-preservation-card__stage {
background: var(--color-primary);
color: #fff;
font-weight: 900;
letter-spacing: 0.02em;
text-transform: none;
font-size: 0.75rem;
padding: 6px 14px;
}
.md-preservation-card.is-star h3 {
color: var(--color-primary-dark);
font-size: 1.15rem;
}


.md-section--pulpcap {
background: linear-gradient(180deg, rgba(31, 74, 62, 0.04) 0%, rgba(31, 74, 62, 0.10) 100%);
border-top: 3px solid var(--color-primary);
border-bottom: 3px solid var(--color-primary);
position: relative;
}
.md-section--pulpcap .md-section-head__title {
color: var(--color-primary-dark);
}
.md-eyebrow--star {
background: var(--color-primary);
color: #fff;
padding: 6px 14px;
border-radius: 2px;
font-weight: 800;
letter-spacing: 0.02em;
display: inline-block;
}
.md-preservation-callout--star {
border: 2px solid var(--color-primary);
background: linear-gradient(135deg, #fff 0%, rgba(31, 74, 62, 0.08) 100%);
box-shadow: 0 8px 24px rgba(31, 74, 62, 0.15);
}
.md-preservation-callout--star > strong {
color: var(--color-primary-dark);
border-bottom-color: rgba(31, 74, 62, 0.35);
}
@media (prefers-color-scheme: dark) {
.md-section--pulpcap {
background: linear-gradient(180deg, rgba(156, 197, 181, 0.06) 0%, rgba(156, 197, 181, 0.13) 100%);
border-top-color: #9CC5B5;
border-bottom-color: #9CC5B5;
}
.md-section--pulpcap .md-section-head__title { color: #9CC5B5; }
.md-eyebrow--star { background: #9CC5B5; color: #1B1310; }
.md-preservation-callout--star {
background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, rgba(156, 197, 181, 0.10) 100%);
border-color: #9CC5B5;
}
.md-preservation-callout--star > strong { color: #9CC5B5; border-bottom-color: rgba(156, 197, 181, 0.35); }
}


.md-preservation-steps {
list-style: none;
padding: 0;
margin: 0;
counter-reset: spa-step;
}
.md-preservation-steps li {
position: relative;
padding-left: 56px;
margin-bottom: 18px;
counter-increment: spa-step;
}
.md-preservation-steps li::before {
content: counter(spa-step);
position: absolute;
left: 0; top: 0;
width: 40px;
height: 40px;
background: var(--color-primary);
color: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 800;
font-size: 0.9375rem;
}
.md-preservation-steps strong {
display: block;
font-size: 1.0625rem;
margin-bottom: 6px;
}
.md-preservation-steps p {
margin: 0;
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.65;
}


.md-page-hero--preservation,
.md-page-hero--smile,
.md-page-hero--prevention {
background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 100%);
padding: clamp(40px, 5vw, 64px) 0 clamp(32px, 4vw, 48px);
}
.md-page-hero--preservation .md-page-hero__title em,
.md-page-hero--smile .md-page-hero__title em,
.md-page-hero--prevention .md-page-hero__title em {
font-style: normal;
color: var(--color-primary);
}




.md-region-province {
margin-bottom: clamp(28px, 3.5vw, 44px);
}
.md-region-province__title {
font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
font-weight: 800;
margin: 0 0 14px;
color: var(--color-text);
display: flex;
align-items: center;
gap: 8px;
}
.md-region-province__title small {
font-size: 0.8125rem;
color: var(--color-text-sub);
font-weight: 600;
}

.md-region-grid {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 10px;
}
@media (max-width: 1100px) { .md-region-grid { grid-template-columns: repeat(5, 1fr); } }
@media (max-width: 880px)  { .md-region-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 540px)  { .md-region-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 380px)  { .md-region-grid { grid-template-columns: repeat(2, 1fr); } }

.md-region-pill {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
padding: 14px 10px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
text-decoration: none;
color: var(--color-text);
transition: transform 0.2s var(--ease), border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
text-align: center;
font-feature-settings: 'tnum';
}
.md-region-pill:hover {
transform: translateY(-2px);
border-color: var(--color-primary);
box-shadow: 0 6px 16px rgba(31, 74, 62, 0.18);
color: var(--color-primary-dark);
}
.md-region-pill__icon {
font-size: 1.125rem;
line-height: 1;
}
.md-region-pill__name {
font-size: 0.9375rem;
font-weight: 700;
letter-spacing: -0.01em;
}
.md-region-pill__time {
font-size: 0.75rem;
color: var(--color-text-sub);
font-weight: 600;
}

.md-region-note {
margin: clamp(20px, 2.5vw, 28px) 0 0;
text-align: center;
font-size: 0.75rem;
color: var(--color-text-mute);
}


.md-region-hero {
padding: clamp(40px, 5vw, 64px) 0 clamp(32px, 4vw, 48px);
background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 100%);
}
.md-region-hero__eyebrow {
display: inline-block;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.08em;
color: var(--color-primary);
background: rgba(31, 74, 62, 0.10);
padding: 6px 14px;
border-radius: 99px;
margin-bottom: 16px;
}
.md-region-hero__title {
font-size: clamp(1.625rem, 3.4vw, 2.625rem);
font-weight: 800;
letter-spacing: -0.02em;
line-height: 1.3;
margin: 0 0 16px;
word-break: keep-all;
}
.md-region-hero__title em {
font-style: normal;
color: var(--color-primary);
}
.md-region-hero__lead {
font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0 0 18px;
word-break: keep-all;
max-width: 800px;
}
.md-region-hero__badges {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.md-region-hero__badges span {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 6px 14px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 99px;
font-size: 0.8125rem;
font-weight: 600;
color: var(--color-text-sub);
}


.md-region-routes {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: clamp(14px, 1.8vw, 22px);
margin-bottom: clamp(20px, 2.5vw, 32px);
}
.md-region-route {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(20px, 2.4vw, 28px);
}
.md-region-route__head {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 12px;
}
.md-region-route__icon {
font-size: 1.5rem;
line-height: 1;
}
.md-region-route__head h3 {
flex: 1;
font-size: 1.0625rem;
font-weight: 800;
margin: 0;
letter-spacing: -0.015em;
}
.md-region-route__time {
font-size: 0.8125rem;
font-weight: 700;
color: var(--color-primary);
background: rgba(31, 74, 62, 0.10);
padding: 4px 10px;
border-radius: 99px;
}
.md-region-route__time--alt {
color: var(--color-primary-dark);
background: var(--color-surface);
}
.md-region-route p {
margin: 0 0 8px;
font-size: var(--fs-small);
line-height: 1.65;
color: var(--color-text);
word-break: keep-all;
}
.md-region-route__detail {
font-size: 0.8125rem !important;
color: var(--color-text-sub) !important;
}

.md-region-callout {
background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-surface) 100%);
border-left: 4px solid var(--color-primary);
padding: clamp(18px, 2.2vw, 24px);
border-radius: var(--radius-md);
}
.md-region-callout strong {
display: block;
font-size: 0.9375rem;
margin-bottom: 6px;
color: var(--color-primary-dark);
}
.md-region-callout p {
margin: 0;
font-size: var(--fs-small);
line-height: 1.65;
color: var(--color-text);
word-break: keep-all;
}


.md-wisdom-expert {
background: linear-gradient(180deg, rgba(31, 74, 62, 0.04) 0%, rgba(31, 74, 62, 0.10) 100%);
border-top: 3px solid var(--color-primary);
border-bottom: 3px solid var(--color-primary);
}
.md-wisdom-expert .md-section-head__title {
color: var(--color-primary-dark);
}
.md-wisdom-stats {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 14px;
margin: 32px 0;
}
.md-wisdom-stat {
background: #fff;
border: 1.5px solid rgba(31, 74, 62, 0.20);
border-radius: 3px;
padding: 20px 16px;
text-align: center;
box-shadow: 0 4px 12px rgba(31, 74, 62, 0.08);
display: flex;
flex-direction: column;
gap: 6px;
align-items: center;
}
.md-wisdom-stat__value {
font-size: clamp(1.5rem, 2.4vw, 2rem);
font-weight: 900;
color: var(--color-primary-dark);
line-height: 1;
letter-spacing: -0.02em;
}
.md-wisdom-stat__value sup {
font-size: 0.6em;
vertical-align: super;
color: var(--color-primary);
font-weight: 800;
}
.md-wisdom-stat__unit {
font-size: 0.55em;
margin-left: 2px;
color: var(--color-primary);
font-weight: 700;
}
.md-wisdom-stat__label {
font-size: 0.85rem;
font-weight: 600;
color: var(--color-text);
line-height: 1.4;
word-break: keep-all;
}
.md-wisdom-cases {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 18px;
margin: 32px 0;
}
.md-wisdom-case {
background: #fff;
border: 1.5px solid var(--color-primary);
border-radius: 3px;
padding: 24px 22px;
position: relative;
box-shadow: 0 8px 24px rgba(31, 74, 62, 0.12);
display: flex;
flex-direction: column;
gap: 14px;
}
.md-wisdom-case__badge {
position: absolute;
top: -12px;
left: 20px;
background: linear-gradient(135deg, var(--color-primary) 0%, #c56a4d 100%);
color: #fff;
padding: 5px 14px;
border-radius: 2px;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.04em;
box-shadow: 0 4px 10px rgba(31, 74, 62, 0.28);
}
.md-wisdom-case h3 {
font-size: 1.1rem;
font-weight: 800;
color: var(--color-primary-dark);
margin: 0;
padding-top: 6px;
line-height: 1.35;
word-break: keep-all;
}
.md-wisdom-case__desc {
margin: 0;
font-size: 0.9rem;
line-height: 1.6;
color: var(--color-text);
word-break: keep-all;
}
.md-wisdom-case__list,
.md-wisdom-case__flow {
margin: 0;
padding-left: 18px;
font-size: 0.85rem;
line-height: 1.55;
color: var(--color-text);
}
.md-wisdom-case__list li,
.md-wisdom-case__flow li {
margin-bottom: 6px;
word-break: keep-all;
}
.md-wisdom-case__flow {
padding-left: 22px;
}
.md-wisdom-case__flow li::marker {
color: var(--color-primary);
font-weight: 800;
}
.md-wisdom-flow {
background: #fff;
border-radius: 3px;
padding: 26px 24px;
border: 1px solid rgba(31, 74, 62, 0.18);
margin: 32px 0;
box-shadow: 0 6px 20px rgba(31, 74, 62, 0.10);
}
.md-wisdom-flow__title {
font-size: 1.15rem;
font-weight: 800;
color: var(--color-primary-dark);
margin: 0 0 16px 0;
}
.md-wisdom-flow__list {
margin: 0;
padding-left: 22px;
font-size: 0.95rem;
line-height: 1.7;
color: var(--color-text);
}
.md-wisdom-flow__list li {
margin-bottom: 8px;
padding-left: 4px;
word-break: keep-all;
}
.md-wisdom-flow__list li::marker {
color: var(--color-primary);
font-weight: 800;
}
.md-wisdom-callout { margin-top: 28px; }
@media (max-width: 900px) {
.md-wisdom-stats { grid-template-columns: repeat(2, 1fr); }
.md-wisdom-cases { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
.md-wisdom-stat { padding: 16px 12px; }
.md-wisdom-stat__value { font-size: 1.4rem; }
}
@media (prefers-color-scheme: dark) {
.md-wisdom-expert {
background: linear-gradient(180deg, rgba(156, 197, 181, 0.05) 0%, rgba(156, 197, 181, 0.11) 100%);
border-top-color: #9CC5B5;
border-bottom-color: #9CC5B5;
}
.md-wisdom-expert .md-section-head__title { color: #9CC5B5; }
.md-wisdom-stat {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.28);
}
.md-wisdom-stat__value,
.md-wisdom-stat__value sup,
.md-wisdom-stat__unit { color: #9CC5B5; }
.md-wisdom-stat__label { color: #d8d8d8; }
.md-wisdom-case {
background: rgba(255, 255, 255, 0.04);
border-color: #9CC5B5;
}
.md-wisdom-case h3 { color: #9CC5B5; }
.md-wisdom-case__desc,
.md-wisdom-case__list,
.md-wisdom-case__flow { color: #d8d8d8; }
.md-wisdom-case__flow li::marker,
.md-wisdom-flow__list li::marker { color: #9CC5B5; }
.md-wisdom-flow {
background: rgba(255, 255, 255, 0.04);
border-color: rgba(156, 197, 181, 0.22);
}
.md-wisdom-flow__title { color: #9CC5B5; }
.md-wisdom-flow__list { color: #d8d8d8; }
}



.md-region-keywords {
background: var(--color-surface);
}
.md-region-tk-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(12px, 1.4vw, 18px);
margin-top: 18px;
}
.md-region-tk-card {
background: var(--color-bg);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: clamp(16px, 1.6vw, 20px);
display: flex;
flex-direction: column;
gap: 10px;
}
.md-region-tk-card h3 {
font-size: clamp(1rem, 1.35vw, 1.1rem);
font-weight: 700;
margin: 0;
color: var(--color-primary-dark);
word-break: keep-all;
line-height: 1.35;
}
.md-region-tk-card p {
margin: 0;
font-size: var(--fs-small);
line-height: 1.6;
color: var(--color-text);
word-break: keep-all;
flex: 1;
}
.md-region-tk-card .md-btn {
align-self: flex-start;
margin-top: 4px;
margin-right: 6px;
}
@media (max-width: 1024px) {
.md-region-tk-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
.md-region-tk-grid { grid-template-columns: 1fr; }
}


.md-region-reasons {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(14px, 1.8vw, 22px);
}
@media (max-width: 900px) { .md-region-reasons { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .md-region-reasons { grid-template-columns: 1fr; } }

.md-region-reason {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: clamp(20px, 2.4vw, 28px);
position: relative;
}
.md-region-reason__num {
position: absolute;
top: 16px; right: 18px;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.08em;
color: var(--color-text-mute);
}
.md-region-reason h3 {
font-size: 1rem;
font-weight: 800;
margin: 0 0 8px;
letter-spacing: -0.015em;
}
.md-region-reason p {
margin: 0;
font-size: var(--fs-small);
line-height: 1.65;
color: var(--color-text-sub);
word-break: keep-all;
}


.md-region-cta {
background: linear-gradient(135deg, #1F4A3E 0%, var(--color-primary) 100%);
color: #fff;
padding: clamp(32px, 4vw, 48px);
border-radius: var(--radius-lg);
text-align: center;
box-shadow: 0 12px 32px rgba(31, 74, 62, 0.25);
}
.md-region-cta__chip {
display: inline-block;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.08em;
color: #fff;
background: rgba(255, 255, 255, 0.18);
padding: 6px 14px;
border-radius: 99px;
margin-bottom: 14px;
}
.md-region-cta__title {
font-size: clamp(1.25rem, 2.6vw, 1.875rem);
font-weight: 800;
letter-spacing: -0.02em;
margin: 0 0 12px;
color: #fff;
line-height: 1.35;
word-break: keep-all;
}
.md-region-cta__lead {
font-size: var(--fs-small);
color: rgba(255, 255, 255, 0.92);
margin: 0 0 clamp(20px, 2.5vw, 28px);
word-break: keep-all;
}
.md-region-cta__hint {
margin: 16px 0 0;
font-size: 0.75rem;
color: rgba(255, 255, 255, 0.82);
}


.md-strength-hero {
padding: clamp(40px, 5vw, 64px) 0 clamp(28px, 3.5vw, 44px);
background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-bg) 100%);
}
.md-strength-hero__inner {
text-align: center;
max-width: 720px;
margin: clamp(20px, 2.4vw, 28px) auto 0;
}
.md-strength-hero__icon {
font-size: clamp(2.75rem, 5vw, 3.75rem);
line-height: 1;
margin-bottom: 16px;
filter: drop-shadow(0 6px 14px rgba(31, 74, 62, 0.25));
}
.md-strength-hero__label {
display: inline-block;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.12em;
color: var(--color-primary);
background: rgba(31, 74, 62, 0.10);
padding: 6px 14px;
border-radius: 99px;
text-transform: uppercase;
margin-bottom: 14px;
}
.md-strength-hero__title {
font-size: clamp(1.625rem, 3.2vw, 2.5rem);
font-weight: 800;
letter-spacing: -0.02em;
margin: 0 0 14px;
word-break: keep-all;
}
.md-strength-hero__lead {
font-size: clamp(1rem, 1.4vw, 1.125rem);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0;
word-break: keep-all;
}


.md-strength-body h3 {
margin-top: clamp(28px, 3.5vw, 44px);
font-size: clamp(1.25rem, 2vw, 1.5rem);
padding-bottom: 10px;
border-bottom: 2px solid var(--color-primary);
display: inline-block;
}
.md-strength-body h4 {
margin-top: clamp(20px, 2.4vw, 28px);
font-size: 1.0625rem;
color: var(--color-primary-dark);
}
.md-strength-body table {
width: 100%;
border-collapse: collapse;
margin: 16px 0;
font-size: var(--fs-small);
}
.md-strength-body th,
.md-strength-body td {
padding: 12px 14px;
text-align: left;
border: 1px solid var(--color-border);
}
.md-strength-body th {
background: var(--color-surface);
font-weight: 700;
}


.md-strength-related {
margin-top: clamp(40px, 5vw, 64px);
padding: clamp(24px, 3vw, 36px);
background: var(--color-surface);
border-radius: var(--radius-md);
border-left: 4px solid var(--color-primary);
}
.md-strength-related__title {
font-size: 1.0625rem;
font-weight: 800;
margin: 0 0 16px;
color: var(--color-text);
}
.md-strength-related__list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.md-strength-related__list a {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-sm);
color: var(--color-text);
text-decoration: none;
font-weight: 600;
transition: transform 0.2s var(--ease), border-color 0.2s var(--ease), color 0.2s var(--ease);
}
.md-strength-related__list a:hover {
border-color: var(--color-primary);
color: var(--color-primary-dark);
transform: translateX(3px);
}
.md-strength-related__list a span {
color: var(--color-primary);
font-weight: 700;
}


.md-compare {
display: grid;
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
overflow: hidden;
background: var(--color-white);
}
.md-compare__head,
.md-compare__row {
display: grid;
grid-template-columns: 1.1fr 1.6fr 1.4fr;
}
.md-compare__head {
background: var(--color-surface);
font-weight: 800;
font-size: var(--fs-small);
letter-spacing: -0.01em;
border-bottom: 2px solid var(--color-border);
}
.md-compare__row {
border-top: 1px solid var(--color-border);
transition: background 0.2s var(--ease);
}
.md-compare__row:hover { background: var(--color-surface); }
.md-compare__cell {
padding: 14px 18px;
font-size: var(--fs-small);
line-height: 1.65;
word-break: keep-all;
}
.md-compare__cell--label {
color: var(--color-text-sub);
background: rgba(31, 74, 62, 0.04);
font-weight: 700;
border-right: 1px solid var(--color-border);
}
.md-compare__cell--us {
color: var(--color-text);
background: rgba(31, 74, 62, 0.08);
border-right: 1px solid var(--color-border);
}
.md-compare__cell--us strong {
color: var(--color-primary-dark);
font-weight: 700;
}
.md-compare__cell--them {
color: var(--color-text-mute);
}
.md-compare__head .md-compare__cell--label { background: var(--color-surface-alt); }
.md-compare__head .md-compare__cell--us { background: var(--color-primary); color: #fff; }
.md-compare__head .md-compare__cell--them { background: var(--color-surface-alt); color: var(--color-text-sub); }
.md-compare__head .md-compare__cell--us strong { color: #fff; }

@media (max-width: 720px) {
.md-compare__head,
.md-compare__row { grid-template-columns: 1fr; }
.md-compare__cell { padding: 10px 16px; }
.md-compare__cell--label {
background: var(--color-surface-alt);
font-size: 0.75rem;
letter-spacing: 0.04em;
text-transform: uppercase;
border-right: none;
border-bottom: 1px solid var(--color-border);
}
.md-compare__cell--us {
border-right: none;
border-bottom: 1px dashed var(--color-border);
}
.md-compare__cell--us::before {
content: '✓ ';
color: var(--color-primary);
font-weight: 800;
}
.md-compare__cell--them::before {
content: '⚬ ';
color: var(--color-text-mute);
}
.md-compare__head { display: none; }
}

.md-compare__note {
text-align: center;
font-size: var(--fs-caption);
color: var(--color-text-mute);
margin: 14px 0 0;
word-break: keep-all;
}


.md-ideal {
max-width: 760px;
margin: 0 auto;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(28px, 4vw, 44px);
text-align: center;
position: relative;
overflow: hidden;
}
.md-ideal::before {
content: '';
position: absolute;
top: -50px; right: -50px;
width: 180px; height: 180px;
background: var(--color-surface);
border-radius: 50%;
pointer-events: none;
}
.md-ideal > * { position: relative; }
.md-ideal__head { margin-bottom: 20px; }
.md-ideal__chip {
display: inline-block;
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.16em;
color: var(--color-primary-dark);
background: var(--color-surface);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 14px;
}
.md-ideal__title {
font-size: clamp(1.25rem, 2.4vw, 1.75rem);
font-weight: 800;
margin: 0 0 10px;
color: var(--color-text);
letter-spacing: -0.02em;
word-break: keep-all;
}
.md-ideal__lead {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0;
line-height: 1.65;
word-break: keep-all;
}
.md-ideal__list {
list-style: none;
padding: 0;
margin: 0 0 24px;
display: grid;
gap: 10px;
text-align: left;
}
.md-ideal__list li {
display: grid;
grid-template-columns: 28px 1fr;
gap: 12px;
align-items: center;
padding: 12px 16px;
background: var(--color-surface);
border-radius: var(--radius-md);
font-size: var(--fs-small);
color: var(--color-text);
line-height: 1.65;
word-break: keep-all;
}
.md-ideal__check {
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px; height: 24px;
border-radius: 50%;
background: var(--color-primary);
color: #fff;
font-size: 0.75rem;
font-weight: 800;
}
.md-ideal__cta {
display: flex;
justify-content: center;
gap: 10px;
flex-wrap: wrap;
}




.md-priceX-hero {
position: relative;
padding: clamp(56px, 7vw, 92px) 0 clamp(40px, 5vw, 64px);
background:
radial-gradient(circle at 88% 8%, rgba(31, 74, 62, 0.14), transparent 50%),
radial-gradient(circle at 14% 92%, rgba(138, 138, 134, 0.12), transparent 50%),
var(--color-bg);
}
.md-priceX-hero__crumbs {
font-size: var(--fs-caption);
color: var(--color-text-mute);
margin-bottom: 24px;
}
.md-priceX-hero__crumbs a { color: var(--color-text-sub); }
.md-priceX-hero__inner {
display: grid;
grid-template-columns: 1.15fr 0.85fr;
gap: clamp(32px, 5vw, 64px);
align-items: center;
}
@media (max-width: 880px) {
.md-priceX-hero__inner { grid-template-columns: 1fr; }
}
.md-priceX-hero__chip {
display: inline-block;
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.18em;
color: var(--color-primary-dark);
background: var(--color-surface);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 18px;
}
.md-priceX-hero__title {
font-size: clamp(1.875rem, 4.4vw, 3rem);
font-weight: 800;
letter-spacing: -0.03em;
line-height: 1.25;
margin: 0 0 18px;
word-break: keep-all;
}
.md-priceX-hero__title em {
font-style: normal;
color: var(--color-primary);
position: relative;
}
.md-priceX-hero__title em::after {
content: '';
position: absolute;
left: 0; right: 0; bottom: 4px;
height: 10px;
background: var(--color-accent-light);
opacity: 0.5;
z-index: -1;
border-radius: 3px;
}
.md-priceX-hero__lead {
font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
color: var(--color-text-sub);
line-height: 1.8;
margin: 0 0 28px;
max-width: 540px;
word-break: keep-all;
}


.md-priceX-promise {
background: linear-gradient(155deg, var(--color-surface) 0%, var(--color-white) 100%);
border: 1px solid var(--color-border);
border-radius: var(--radius-xl);
padding: clamp(24px, 3vw, 36px);
box-shadow: var(--shadow-soft);
position: relative;
overflow: hidden;
}
.md-priceX-promise::before {
content: '';
position: absolute;
top: -30px; right: -30px;
width: 130px; height: 130px;
background: var(--color-accent-light);
border-radius: 50%;
opacity: 0.28;
}
.md-priceX-promise__head {
position: relative;
margin-bottom: 18px;
padding-bottom: 16px;
border-bottom: 1px dashed var(--color-border);
}
.md-priceX-promise__year {
display: block;
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.18em;
color: var(--color-primary);
margin-bottom: 6px;
}
.md-priceX-promise__title {
font-size: 1.0625rem;
font-weight: 800;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-priceX-promise__list {
position: relative;
list-style: none;
padding: 0;
margin: 0;
display: grid;
gap: 14px;
}
.md-priceX-promise__list li {
display: grid;
grid-template-columns: 32px 1fr;
gap: 12px;
align-items: start;
}
.md-priceX-promise__no {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px; height: 32px;
background: var(--color-primary);
color: #fff;
font-size: 0.75rem;
font-weight: 800;
border-radius: 50%;
font-feature-settings: 'tnum';
}
.md-priceX-promise__list strong {
display: block;
font-size: 0.9375rem;
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.01em;
margin-bottom: 2px;
word-break: keep-all;
}
.md-priceX-promise__list span {
font-size: var(--fs-caption);
color: var(--color-text-sub);
line-height: 1.55;
word-break: keep-all;
}


.md-priceX-steps {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(14px, 2vw, 24px);
counter-reset: priceX-step;
}
@media (max-width: 880px) {
.md-priceX-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
.md-priceX-steps { grid-template-columns: 1fr; }
}
.md-priceX-step {
position: relative;
padding: clamp(20px, 2.5vw, 28px);
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
transition: all 0.3s var(--ease);
}
.md-priceX-step:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-3px);
}

@media (min-width: 881px) {
.md-priceX-step:not(:last-child)::after {
content: '→';
position: absolute;
top: 50%;
right: -16px;
transform: translateY(-50%);
color: var(--color-primary-light);
font-size: 1.25rem;
font-weight: 700;
z-index: 2;
}
}
.md-priceX-step__num {
display: inline-flex;
align-items: center;
gap: 10px;
margin-bottom: 12px;
}
.md-priceX-step__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px; height: 40px;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
border-radius: var(--radius-md);
font-size: 1.125rem;
}
.md-priceX-step__no {
font-size: 1.5rem;
font-weight: 800;
color: var(--color-primary);
letter-spacing: -0.04em;
font-feature-settings: 'tnum';
}
.md-priceX-step__title {
font-size: 1rem;
font-weight: 700;
margin: 0 0 6px;
color: var(--color-text);
letter-spacing: -0.015em;
word-break: keep-all;
}
.md-priceX-step__desc {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.65;
margin: 0;
word-break: keep-all;
}


.md-priceX-policy {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(16px, 2vw, 28px);
max-width: 1040px;
margin: 0 auto;
}
@media (max-width: 720px) {
.md-priceX-policy { grid-template-columns: 1fr; }
}
.md-priceX-policy__item {
display: grid;
grid-template-columns: 72px 1fr;
gap: 18px;
padding: clamp(20px, 2.5vw, 28px);
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
align-items: start;
transition: all 0.3s var(--ease);
}
.md-priceX-policy__item:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-2px);
}
.md-priceX-policy__num {
font-size: clamp(2.25rem, 4vw, 3rem);
font-weight: 800;
color: var(--color-primary);
line-height: 0.9;
letter-spacing: -0.04em;
font-feature-settings: 'tnum';
padding-top: 2px;
}
.md-priceX-policy__title {
font-size: 1.0625rem;
font-weight: 700;
margin: 0 0 8px;
color: var(--color-text);
letter-spacing: -0.015em;
word-break: keep-all;
}
.md-priceX-policy__desc {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0;
word-break: keep-all;
}


.md-priceX-tab {
max-width: 880px;
margin: 0 auto;
}
.md-priceX-tab__nav {
display: flex;
flex-wrap: wrap;
gap: clamp(4px, 1vw, 12px);
margin-bottom: clamp(24px, 3vw, 32px);
border-bottom: 2px solid var(--color-border);
padding-bottom: 0;
}
.md-priceX-tab__btn {
position: relative;
padding: 12px 18px;
background: transparent;
color: var(--color-text-sub);
border: none;
border-bottom: 3px solid transparent;
margin-bottom: -2px;
font-size: var(--fs-small);
font-weight: 600;
cursor: pointer;
font-family: inherit;
letter-spacing: -0.01em;
transition: color 0.2s var(--ease), border-color 0.2s var(--ease), background 0.2s var(--ease);
white-space: nowrap;
border-radius: 3px 8px 0 0;
min-height: 44px;
}
.md-priceX-tab__btn:hover {
color: var(--color-text);
background: rgba(31, 74, 62, 0.05);
}

.md-priceX-tab__btn.is-active {
color: var(--color-primary-dark);
border-bottom-color: var(--color-primary);
font-weight: 800;
background: rgba(31, 74, 62, 0.08);
}
.md-priceX-tab__btn.is-active:hover {
background: rgba(31, 74, 62, 0.12);
}
.md-priceX-tab__panel { display: none; }
.md-priceX-tab__panel.is-active {
display: block;
animation: md-priceX-fade 0.28s var(--ease);
}
@keyframes md-priceX-fade {
from { opacity: 0; transform: translateY(4px); }
to   { opacity: 1; transform: translateY(0); }
}

.md-priceX-list {
margin: 0;
padding: 0;
display: grid;
gap: 10px;
}

.md-priceX-row {
display: grid;
grid-template-columns: 1fr auto;
align-items: center;
gap: 16px;
padding: 16px 20px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
transition: border-color 0.2s var(--ease), background 0.2s var(--ease), box-shadow 0.2s var(--ease), transform 0.2s var(--ease);
}
.md-priceX-row:hover {
border-color: var(--color-primary-light);
background: var(--color-surface);
box-shadow: 0 4px 12px rgba(31, 74, 62, 0.08);
transform: translateY(-1px);
}
.md-priceX-row__name {
font-size: 1rem;
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.01em;
word-break: keep-all;
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 8px;
}
.md-priceX-row__tag {
display: inline-block;
font-size: 0.6875rem;
font-weight: 700;
color: var(--color-primary-dark);
background: rgba(31, 74, 62, 0.12);
padding: 3px 10px;
border-radius: var(--radius-pill);
letter-spacing: 0.02em;
line-height: 1.4;
}
.md-priceX-row__price {
margin: 0;
font-size: 1.0625rem;
font-weight: 800;
color: var(--color-primary-dark);
font-feature-settings: 'tnum';
letter-spacing: -0.01em;
white-space: nowrap;
}
@media (max-width: 480px) {
.md-priceX-row {
grid-template-columns: 1fr;
gap: 8px;
padding: 14px 16px;
}
.md-priceX-row__price {
font-size: 1.125rem;
}
}
.md-priceX-tab__hint {
max-width: 880px;
margin: 18px auto 0;
padding: 14px 18px;
background: rgba(31, 74, 62, 0.08);
border-left: 3px solid var(--color-primary-light);
border-radius: var(--radius-sm);
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
word-break: keep-all;
}
.md-priceX-tab__hint strong { color: var(--color-text); }


.md-priceX-ins {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(16px, 2.5vw, 28px);
max-width: 1040px;
margin: 0 auto;
}
@media (max-width: 720px) {
.md-priceX-ins { grid-template-columns: 1fr; }
}
.md-priceX-ins__col {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(22px, 2.8vw, 32px);
}
.md-priceX-ins__col--yes { border-top: 4px solid var(--color-success); }
.md-priceX-ins__col--no  { border-top: 4px solid var(--color-warning); }
.md-priceX-ins__col header {
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px dashed var(--color-border);
}
.md-priceX-ins__col h3 {
font-size: 1rem;
font-weight: 700;
margin: 8px 0 0;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-priceX-ins__badge {
display: inline-block;
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.08em;
color: #fff;
background: var(--color-success);
padding: 4px 12px;
border-radius: var(--radius-pill);
}
.md-priceX-ins__badge--alt {
background: var(--color-warning);
}
.md-priceX-ins__col ul {
list-style: none;
padding: 0;
margin: 0;
}
.md-priceX-ins__col li {
padding: 8px 0;
border-bottom: 1px dashed var(--color-border);
font-size: var(--fs-small);
color: var(--color-text);
line-height: 1.65;
word-break: keep-all;
}
.md-priceX-ins__col li:last-child { border-bottom: none; }


.md-priceX-pay {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(12px, 1.8vw, 18px);
max-width: 920px;
margin: 0 auto clamp(20px, 2.5vw, 28px);
}
@media (max-width: 580px) {
.md-priceX-pay { grid-template-columns: 1fr; }
}
.md-priceX-pay__item {
display: grid;
grid-template-columns: 52px 1fr;
gap: 14px;
align-items: center;
padding: 18px 20px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
transition: all 0.25s var(--ease);
}
.md-priceX-pay__item:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
}
.md-priceX-pay__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 52px; height: 52px;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
border-radius: 3px;
font-size: 1.5rem;
}
.md-priceX-pay__item > div {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
}
.md-priceX-pay__item strong {
font-size: 1rem;
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.01em;
word-break: keep-all;
}
.md-priceX-pay__item span {
font-size: var(--fs-caption);
color: var(--color-text-sub);
line-height: 1.55;
word-break: keep-all;
}

.md-priceX-pay__notice {
max-width: 920px;
margin: 0 auto;
padding: 16px 20px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-left: 3px solid var(--color-accent);
border-radius: var(--radius-md);
}
.md-priceX-pay__notice-tag {
display: inline-block;
font-size: var(--fs-caption);
font-weight: 800;
color: var(--color-accent);
margin-bottom: 4px;
letter-spacing: 0.04em;
}
.md-priceX-pay__notice p {
margin: 0;
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
word-break: keep-all;
}
.md-priceX-pay__notice p strong { color: var(--color-text); }


.md-priceX-cta {
display: grid;
grid-template-columns: 1.2fr 0.8fr;
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
border-radius: var(--radius-xl);
color: #fff;
padding: clamp(32px, 4vw, 56px);
gap: clamp(28px, 4vw, 56px);
position: relative;
overflow: hidden;
align-items: center;
}
@media (max-width: 880px) {
.md-priceX-cta { grid-template-columns: 1fr; }
}
.md-priceX-cta::before,
.md-priceX-cta::after {
content: '';
position: absolute;
border-radius: 50%;
pointer-events: none;
}
.md-priceX-cta::before {
top: -50px; right: -50px;
width: 200px; height: 200px;
background: rgba(255, 255, 255, 0.12);
}
.md-priceX-cta::after {
bottom: -70px; left: -30px;
width: 220px; height: 220px;
background: rgba(138, 138, 134, 0.20);
}
.md-priceX-cta > * { position: relative; }

.md-priceX-cta__chip {
display: inline-block;
font-size: var(--fs-caption);
font-weight: 800;
letter-spacing: 0.14em;
color: #fff;
background: rgba(255, 255, 255, 0.20);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 14px;
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
}
.md-priceX-cta__title {
font-size: clamp(1.5rem, 3vw, 2.125rem);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
margin: 0 0 12px;
word-break: keep-all;
}
.md-priceX-cta__lead {
font-size: var(--fs-body);
color: rgba(255, 255, 255, 0.92);
margin: 0 0 24px;
word-break: keep-all;
line-height: 1.7;
}
.md-priceX-cta .md-btn-primary {
background: #fff;
color: var(--color-primary-dark);
border-color: #fff;
box-shadow: 0 6px 18px rgba(0,0,0,0.14);
}
.md-priceX-cta .md-btn-primary:hover {
background: var(--color-surface);
color: var(--color-primary-dark);
}
.md-priceX-cta .md-btn-ghost {
background: transparent;
color: #fff;
border-color: rgba(255, 255, 255, 0.55);
}
.md-priceX-cta .md-btn-ghost:hover {
background: rgba(255, 255, 255, 0.16);
color: #fff;
border-color: #fff;
}

.md-priceX-cta__meta {
background: rgba(255, 255, 255, 0.14);
border-radius: var(--radius-lg);
padding: clamp(20px, 2.5vw, 28px);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
}
.md-priceX-cta__meta dl {
margin: 0;
display: grid;
gap: 14px;
}
.md-priceX-cta__meta dl > div {
padding-bottom: 12px;
border-bottom: 1px dashed rgba(255, 255, 255, 0.30);
}
.md-priceX-cta__meta dl > div:last-child {
padding-bottom: 0;
border-bottom: none;
}
.md-priceX-cta__meta dt {
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.16em;
color: rgba(255, 255, 255, 0.72);
margin-bottom: 4px;
}
.md-priceX-cta__meta dd {
margin: 0;
font-size: var(--fs-small);
color: #fff;
line-height: 1.55;
word-break: keep-all;
}


@media (max-width: 768px) {
.md-priceX-promise { padding: 22px 20px; }
.md-priceX-tab__btn { padding: 10px 12px; font-size: 0.8125rem; }
.md-priceX-policy__item { grid-template-columns: 60px 1fr; gap: 14px; padding: 20px 18px; }
.md-priceX-policy__num { font-size: 2rem; }
.md-priceX-cta { padding: 32px 22px; border-radius: var(--radius-lg); }
}
@media (max-width: 480px) {
.md-priceX-promise__list { gap: 12px; }
.md-priceX-promise__list li { grid-template-columns: 28px 1fr; }
.md-priceX-promise__no { width: 28px; height: 28px; font-size: 0.6875rem; }
.md-priceX-step__num { gap: 8px; }
.md-priceX-step__icon { width: 36px; height: 36px; font-size: 1rem; }
.md-priceX-step__no { font-size: 1.25rem; }
.md-priceX-pay__item { padding: 14px 16px; grid-template-columns: 44px 1fr; }
.md-priceX-pay__icon { width: 44px; height: 44px; font-size: 1.25rem; }
}


.md-why-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(16px, 2vw, 24px);
}
@media (max-width: 880px) { .md-why-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .md-why-grid { grid-template-columns: 1fr; } }

.md-why {
position: relative;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3vw, 32px) clamp(20px, 2.5vw, 28px);
text-align: left;
transition: all 0.3s var(--ease);
overflow: hidden;
}
.md-why::before {
content: '';
position: absolute;
top: -40px; right: -40px;
width: 120px; height: 120px;
background: var(--color-surface);
border-radius: 50%;
transition: transform 0.4s var(--ease-out-back);
z-index: 0;
}
.md-why > * { position: relative; z-index: 1; }
.md-why:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-4px);
}
.md-why:hover::before { transform: scale(1.5); }

.md-why__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 56px; height: 56px;
margin-bottom: 16px;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
border-radius: 3px;
font-size: 1.625rem;
line-height: 1;
}
.md-why__title {
font-size: 1.0625rem;
font-weight: 800;
margin: 0 0 10px;
color: var(--color-text);
letter-spacing: -0.015em;
word-break: keep-all;
}
.md-why__desc {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0;
word-break: keep-all;
}


.md-process {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: clamp(12px, 1.8vw, 20px);
position: relative;
}
@media (max-width: 1080px) { .md-process { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .md-process { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 400px)  { .md-process { grid-template-columns: 1fr; } }

.md-process__item {
position: relative;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
padding: clamp(18px, 2.3vw, 24px) clamp(14px, 2vw, 20px);
transition: all 0.3s var(--ease);
}
.md-process__item:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-2px);
}

@media (min-width: 1081px) {
.md-process__item:not(:last-child)::after {
content: '→';
position: absolute;
right: -14px;
top: 50%;
transform: translateY(-50%);
color: var(--color-primary-light);
font-size: 1.125rem;
font-weight: 700;
z-index: 2;
}
}

.md-process__head {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 10px;
}
.md-process__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px; height: 32px;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
border-radius: 3px;
font-size: 0.9375rem;
}
.md-process__no {
font-size: 1.125rem;
font-weight: 800;
color: var(--color-primary);
letter-spacing: -0.03em;
font-feature-settings: 'tnum';
}
.md-process__title {
font-size: 0.9375rem;
font-weight: 700;
margin: 0 0 6px;
color: var(--color-text);
letter-spacing: -0.015em;
word-break: keep-all;
}
.md-process__desc {
font-size: var(--fs-caption);
color: var(--color-text-sub);
line-height: 1.6;
margin: 0;
word-break: keep-all;
}


.md-facility-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(16px, 2vw, 24px);
}
@media (max-width: 880px) { .md-facility-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .md-facility-grid { grid-template-columns: 1fr; } }

.md-facility {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(24px, 3vw, 32px);
display: flex;
flex-direction: column;
gap: 14px;
transition: all 0.3s var(--ease);
position: relative;
overflow: hidden;
}
.md-facility::before {
content: '';
position: absolute;
bottom: -50px; left: -50px;
width: 140px; height: 140px;
background: var(--color-accent-light);
opacity: 0.25;
border-radius: 50%;
transition: transform 0.4s var(--ease-out-back);
z-index: 0;
}
.md-facility > * { position: relative; z-index: 1; }
.md-facility:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-4px);
}
.md-facility:hover::before { transform: scale(1.4); }

.md-facility__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 60px; height: 60px;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
border-radius: 3px;
font-size: 1.75rem;
}
.md-facility__title {
font-size: 1.0625rem;
font-weight: 700;
margin: 0;
color: var(--color-text);
letter-spacing: -0.015em;
word-break: keep-all;
}
.md-facility__desc {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0;
word-break: keep-all;
}


.md-home-faq {
display: grid;
gap: 12px;
}
.md-home-faq__item {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
transition: border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
overflow: hidden;
}
.md-home-faq__item[open] {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
}
.md-home-faq__item summary {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: clamp(16px, 2vw, 20px) clamp(18px, 2.2vw, 24px);
cursor: pointer;
list-style: none;
font-weight: 600;
color: var(--color-text);
font-size: var(--fs-body);
user-select: none;
min-height: 56px;
}
.md-home-faq__item summary::-webkit-details-marker { display: none; }
.md-home-faq__item summary:hover { background: var(--color-surface); }

.md-home-faq__q {
flex: 1;
font-weight: 700;
letter-spacing: -0.015em;
word-break: keep-all;
}
.md-home-faq__chev {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px; height: 28px;
background: var(--color-surface);
color: var(--color-primary);
border-radius: 50%;
font-size: 1.125rem;
font-weight: 800;
line-height: 1;
flex-shrink: 0;
transition: transform 0.3s var(--ease), background 0.2s var(--ease), color 0.2s var(--ease);
}
.md-home-faq__item[open] .md-home-faq__chev {
background: var(--color-primary);
color: #fff;
transform: rotate(45deg);
}
.md-home-faq__a {
padding: 0 clamp(18px, 2.2vw, 24px) clamp(18px, 2.2vw, 22px);
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.8;
word-break: keep-all;
animation: md-home-faq-fade 0.25s var(--ease);
}
.md-home-faq__a a {
color: var(--color-primary-dark);
text-decoration: underline;
text-underline-offset: 3px;
}
.md-home-faq__a strong { color: var(--color-text); font-weight: 700; }
@keyframes md-home-faq-fade {
from { opacity: 0; transform: translateY(-4px); }
to   { opacity: 1; transform: translateY(0); }
}


.md-nav > li.current-menu-item > a,
.md-nav > li.current-menu-ancestor > a,
.md-nav > li.current-page-ancestor > a,
.md-header__nav > ul > li.current-menu-item > a,
.md-header__nav > ul > li.current-menu-ancestor > a,
.md-header__nav > ul > li.current-page-ancestor > a {
color: var(--color-primary-dark);
border-bottom-color: var(--color-primary);
font-weight: 700;
}


.md-header__inner {
gap: clamp(12px, 2vw, 24px);
justify-content: flex-start;
}
.md-header__brand { flex-shrink: 0; }


.md-header__aside {
display: flex;
align-items: center;
gap: clamp(8px, 1.5vw, 14px);
flex-shrink: 0;
}
.md-header__info {
display: flex;
align-items: center;
gap: 12px;
padding-right: 14px;
border-right: 1px solid var(--color-border);
white-space: nowrap;
font-feature-settings: 'tnum';
}
.md-header__phone {
display: inline-flex;
align-items: center;
gap: 6px;
font-weight: 800;
font-size: 1rem;
color: var(--color-primary);
text-decoration: none;
transition: color 0.2s var(--ease), transform 0.2s var(--ease);
}
.md-header__phone:hover { color: var(--color-primary-dark); transform: translateY(-1px); }
.md-header__phone-icon { font-size: 1rem; }
.md-header__hours {
font-size: 0.8125rem;
color: var(--color-text-sub);
font-weight: 600;
letter-spacing: -0.005em;
text-decoration: none;
border-bottom: 1px dashed transparent;
transition: color .15s ease, border-color .15s ease;
}
.md-header__hours:hover,
.md-header__hours:focus-visible {
color: var(--color-primary-dark);
border-bottom-color: var(--color-primary);
}


.md-header__cta-btn {
background: var(--cta-bg, var(--color-primary));
color: var(--cta-fg, #fff);
border-color: var(--cta-bg, var(--color-primary));
padding: 12px 22px;
font-size: 0.9375rem;
font-weight: 800;
box-shadow: 0 8px 20px rgba(var(--cta-shadow, 31, 74, 62), 0.36);
letter-spacing: -0.005em;
position: relative;
overflow: hidden;
}
.md-header__cta-btn--cycle {
transition:
background-color 0.5s var(--ease),
color 0.5s var(--ease),
border-color 0.5s var(--ease),
box-shadow 0.5s var(--ease),
transform 0.25s var(--ease);
}
.md-header__cta-btn:hover {
background: var(--cta-bg, var(--color-primary-dark));
color: var(--cta-fg, #fff);
filter: brightness(0.94);
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(var(--cta-shadow, 31, 74, 62), 0.48);
}
.md-header__cta-label {
display: inline-block;
transition: opacity 0.18s ease, transform 0.18s ease;
will-change: opacity, transform;
}
.md-header__cta-label.is-changing {
opacity: 0;
transform: translateY(-4px);
}
@media (prefers-reduced-motion: reduce) {
.md-header__cta-btn--cycle,
.md-header__cta-label { transition: none; }
}



.md-header__brand,
.md-header__cta,
.md-header__cta-btn { flex-shrink: 0 !important; }

.md-site-header,
.md-header { overflow: visible !important; }





@media (min-width: 1081px) {
.md-header__inner {
display: grid !important;
grid-template-columns: auto minmax(0, 1fr) auto;
gap: clamp(12px, 1vw, 32px);
padding-inline: clamp(10px, 1vw, 20px);
align-items: center;
}
.md-header__nav { min-width: 0; overflow: visible; }

.md-header__nav > ul {
gap: clamp(4px, 0.5vw, 20px);
flex-wrap: nowrap !important;
justify-content: space-between;
max-width: 100%;
width: 100%;
box-sizing: border-box;
align-items: center;
}
.md-header__nav > ul > li { flex: 0 1 auto; min-width: 0; }
.md-header__nav > ul > li > a {
padding: 8px clamp(2px, 0.35vw, 10px);
font-size: clamp(0.68rem, 0.8vw, 0.95rem);   
letter-spacing: -0.03em;
white-space: nowrap !important;
line-height: 1.3;
text-align: center;
}
.md-header__aside {
gap: clamp(6px, 0.7vw, 14px);
padding-right: 0;
margin-left: 0 !important;      
padding-left: 0;
}
.md-header__info {
gap: clamp(6px, 0.7vw, 12px);
padding-right: clamp(6px, 0.7vw, 14px);
}
.md-header__phone {
font-size: clamp(0.82rem, 0.9vw, 1rem);
}
.md-header__cta-btn {
padding: clamp(7px, 0.8vw, 12px) clamp(10px, 1.1vw, 22px);
font-size: clamp(0.72rem, 0.85vw, 0.95rem);
letter-spacing: -0.01em;
white-space: nowrap;
}

.md-header__cta-btn--cycle {
min-width: clamp(150px, 11vw, 180px) !important;
width: clamp(150px, 11vw, 180px);
justify-content: center;
text-align: center;
}
.md-header__cta-label { display: inline-block; text-align: center; }
}


@media (min-width: 1081px) {
.md-header__info { display: none !important; }
.md-header__hours { display: none !important; }
}


@media (max-width: 1080px) {
.md-header__info { display: none !important; }
.md-header__hours { display: none !important; }
.md-header__cta { display: inline-flex !important; }
.md-header__inner { gap: 10px !important; min-height: 72px !important; padding-block: 10px !important; padding-inline: 14px !important; }
.md-header__aside { gap: 8px !important; }

.md-header__brand       { order: 1 !important; }
.md-header__nav         { order: 2 !important; }
.md-header__aside       { order: 3 !important; margin-left: auto !important; }
.md-header__nav-toggle  { order: 4 !important; margin-left: 4px !important; }
.md-header__cta-btn { padding: 8px 12px !important; font-size: 0.8rem !important; letter-spacing: -0.01em !important; white-space: nowrap !important; }
.md-header__cta-btn--cycle { min-width: auto !important; }
}


@media (max-width: 540px) {
.md-header__inner { padding-inline: 10px !important; gap: 8px !important; }
.md-header__aside { gap: 6px !important; }
.md-header__cta-btn { padding: 7px 10px !important; font-size: 0.75rem !important; letter-spacing: -0.02em !important; }
.md-header__brand-name { font-size: 1.05rem !important; }
.md-header__brand-sub { font-size: 0.7rem !important; }
}


@media (max-width: 400px) {
.md-header__inner { padding-inline: 8px !important; gap: 6px !important; }
.md-header__cta-btn { padding: 6px 9px !important; font-size: 0.7rem !important; }
.md-header__nav-toggle { width: 42px !important; height: 42px !important; padding: 10px 9px !important; }
.md-header__nav-toggle span { width: 20px !important; height: 2px !important; }
}

@media (max-width: 420px) {
.md-header__brand { padding: 3px 6px; }
}


.md-locmap {
position: relative;
display: block;
aspect-ratio: 21 / 9;
max-height: 540px;
border-radius: var(--radius-lg);
overflow: hidden;
background-size: cover;
background-position: center;
background-color: var(--color-surface);
border: 1px solid var(--color-border);
text-decoration: none;
color: var(--color-text);
transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
cursor: pointer;
}
.md-locmap:hover,
.md-locmap:focus-visible {
transform: translateY(-3px);
box-shadow: var(--shadow-hover);
color: var(--color-text);
}
.md-locmap__pattern {
position: absolute;
inset: 0;
background-image:
linear-gradient(to right, rgba(122, 107, 95, 0.07) 1px, transparent 1px),
linear-gradient(to bottom, rgba(122, 107, 95, 0.07) 1px, transparent 1px);
background-size: 40px 40px;
pointer-events: none;
}
.md-locmap__badge {
position: absolute;
top: 16px; left: 16px;
background: rgba(255, 255, 255, 0.95);
color: var(--color-primary-dark);
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.14em;
padding: 6px 12px;
border-radius: var(--radius-pill);
z-index: 2;
}
.md-locmap__pin {
position: absolute;

top: 47%;
left: 58%;
width: 52px; height: 72px;

transform: translate(-50%, -100%);
color: var(--color-primary);
filter: drop-shadow(0 8px 14px rgba(31, 74, 62, 0.40));
animation: md-locmap-pin-bob 3s ease-in-out infinite;
z-index: 2;
}
.md-locmap__pin svg { width: 100%; height: 100%; }
@keyframes md-locmap-pin-bob {
0%, 100% { transform: translate(-50%, -100%); }
50%      { transform: translate(-50%, calc(-100% - 6px)); }
}
.md-locmap__info {
position: absolute;
left: 0; right: 0; bottom: 0;
padding: clamp(20px, 2.8vw, 32px);
background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.92) 50%, var(--color-white) 100%);
z-index: 2;
}
.md-locmap__title {
font-size: clamp(1.125rem, 1.8vw, 1.375rem);
font-weight: 800;
color: var(--color-text);
margin: 0 0 4px;
letter-spacing: -0.015em;
}
.md-locmap__addr {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 0 10px;
line-height: 1.55;
word-break: keep-all;
}
.md-locmap__cta {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: var(--fs-small);
font-weight: 800;
color: var(--color-primary-dark);
transition: gap 0.25s var(--ease);
}
.md-locmap:hover .md-locmap__cta { gap: 12px; }
@media (max-width: 768px) {
.md-locmap { aspect-ratio: 16 / 10; }
}
@media (max-width: 480px) {
.md-locmap { aspect-ratio: 4 / 3; }
.md-locmap__pin { width: 42px; height: 58px; }
}
@media (prefers-reduced-motion: reduce) {
.md-locmap__pin { animation: none; }
}


.md-dentalbot {

}

.md-dentalbot__layout {
max-width: 780px;
margin: 0 auto;
}


.md-dentalbot__cta {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: clamp(16px, 1.6vw, 22px);
padding: clamp(20px, 2.5vw, 28px);
box-shadow: 0 8px 24px rgba(22, 22, 22, 0.06);
position: sticky;
top: 110px;
}
@media (max-width: 880px) {
.md-dentalbot__cta { position: static; }
}
.md-dentalbot__cta-title {
font-size: 1rem;
font-weight: 800;
letter-spacing: -0.015em;
margin: 0 0 6px;
color: var(--color-text);
}
.md-dentalbot__cta-lead {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 0 16px;
line-height: 1.55;
}

.md-dentalbot__cta-btns {
display: flex;
flex-direction: column;
gap: 10px;
margin-top: 4px;
}
.md-dentalbot__cta-btn {
display: flex !important;
align-items: center;
justify-content: center;
gap: 10px;
width: 100%;
padding-left: 18px;
padding-right: 18px;
white-space: nowrap;
}
.md-dentalbot__cta-hint {
margin: 16px 0 0;
font-size: 0.7rem;
color: var(--color-text-mute);
line-height: 1.55;
word-break: keep-all;
}
.md-bot {
background: var(--color-white);
border-radius: clamp(16px, 1.6vw, 22px);
padding: clamp(24px, 3.5vw, 48px);
box-shadow: 0 10px 36px rgba(22, 22, 22, 0.08);
border: 1px solid var(--color-border);
min-height: 360px;
position: relative;
}
.md-bot__panel {
animation: md-bot-fade 0.32s ease;
}
@keyframes md-bot-fade {
from { opacity: 0; transform: translateY(8px); }
to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
.md-bot__panel { animation: none; }
}


.md-bot__panel--intro {
text-align: center;
padding: clamp(8px, 1.5vw, 16px) 0;
display: flex;
flex-direction: column;
gap: clamp(20px, 2.5vw, 28px);
}
.md-bot__intro-head {
display: flex;
flex-direction: column;
align-items: center;
gap: 6px;
}
.md-bot__intro-icon {
font-size: clamp(2.5rem, 5vw, 3.5rem);
margin-bottom: 4px;
filter: drop-shadow(0 6px 12px rgba(31, 74, 62, 0.25));
animation: md-bot-icon-bob 3.5s ease-in-out infinite;
}
@keyframes md-bot-icon-bob {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-4px); }
}
@media (prefers-reduced-motion: reduce) {
.md-bot__intro-icon { animation: none; }
}
.md-bot__intro-title {
font-size: clamp(1.25rem, 2vw, 1.625rem);
font-weight: 800;
letter-spacing: -0.015em;
margin: 0;
}
.md-bot__intro-lead {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0;
max-width: 44ch;
}


.md-bot__intro-steps {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
text-align: left;
position: relative;
}
.md-bot__intro-step {
display: flex;
align-items: flex-start;
gap: 10px;
padding: 14px 12px;
background: var(--color-surface);
border: 1px solid var(--color-border);
border-radius: 3px;
transition: transform 0.2s var(--ease), border-color 0.2s var(--ease);
}
.md-bot__intro-step:hover {
transform: translateY(-2px);
border-color: var(--color-primary-light);
}
.md-bot__intro-step-num {
flex-shrink: 0;
width: 26px;
height: 26px;
border-radius: 50%;
background: var(--color-primary);
color: #fff;
font-weight: 800;
font-size: 0.8125rem;
display: inline-flex;
align-items: center;
justify-content: center;
line-height: 1;
}
.md-bot__intro-step-body {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
}
.md-bot__intro-step-body strong {
font-size: 0.875rem;
font-weight: 700;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-bot__intro-step-body span {
font-size: 0.75rem;
color: var(--color-text-sub);
line-height: 1.45;
}
@media (max-width: 640px) {
.md-bot__intro-steps {
grid-template-columns: 1fr;
gap: 8px;
}
}


.md-bot__intro-chips {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
padding: 16px 12px;
background: linear-gradient(135deg, rgba(31, 74, 62, 0.05) 0%, rgba(78, 122, 108, 0.08) 100%);
border-radius: 3px;
}
.md-bot__intro-chips-label {
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--color-primary-dark);
}
.md-bot__intro-chip-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
gap: 6px;
justify-content: center;
}
.md-bot__intro-chip {
padding: 5px 12px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-pill);
font-size: 0.75rem;
color: var(--color-text-sub);
font-weight: 600;
}


.md-bot__intro-trust {
list-style: none;
padding: 0;
margin: 0;
display: flex;
justify-content: center;
gap: clamp(12px, 3vw, 24px);
flex-wrap: wrap;
font-size: 0.75rem;
color: var(--color-text-sub);
}
.md-bot__intro-trust li {
display: inline-flex;
align-items: center;
gap: 5px;
}


.md-bot__panel--chief {
text-align: center;
padding: clamp(12px, 2vw, 24px) 0;
}
.md-bot__chief-title {
font-size: clamp(1.125rem, 1.9vw, 1.5rem);
font-weight: 800;
letter-spacing: -0.015em;
margin: 0 0 8px;
}
.md-bot__chief-lead {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0 auto clamp(20px, 2.5vw, 28px);
max-width: 44ch;
line-height: 1.55;
}
.md-bot__chief-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
text-align: left;
}
@media (max-width: 640px) {
.md-bot__chief-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 380px) {
.md-bot__chief-grid { grid-template-columns: 1fr; }
}
.md-bot__chief-btn {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
padding: 18px 16px;
background: var(--color-white);
border: 2px solid var(--color-border);
border-radius: 3px;
cursor: pointer;
transition: transform 0.2s var(--ease), border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
font-family: inherit;
color: var(--color-text);
text-align: left;
}
.md-bot__chief-btn:hover {
border-color: var(--color-primary);
transform: translateY(-3px);
box-shadow: 0 8px 22px rgba(31, 74, 62, 0.18);
}
.md-bot__chief-icon {
font-size: 1.75rem;
line-height: 1;
}
.md-bot__chief-label {
font-size: 0.9375rem;
font-weight: 800;
letter-spacing: -0.01em;
}
.md-bot__chief-desc {
font-size: 0.75rem;
color: var(--color-text-sub);
line-height: 1.45;
}


.md-bot__panel--safety {
padding: clamp(8px, 1.5vw, 16px) 0;
}
.md-bot__safety-head {
text-align: center;
margin-bottom: clamp(20px, 2.5vw, 28px);
}
.md-bot__safety-icon {
font-size: 2.5rem;
margin-bottom: 8px;
filter: drop-shadow(0 4px 10px rgba(230, 57, 70, 0.28));
}
.md-bot__safety-title {
font-size: clamp(1.125rem, 1.9vw, 1.4rem);
font-weight: 800;
letter-spacing: -0.015em;
margin: 0 0 6px;
}
.md-bot__safety-lead {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0;
}
.md-bot__safety-list {
list-style: none;
padding: 0;
margin: 0 0 clamp(20px, 2.5vw, 28px);
display: flex;
flex-direction: column;
gap: 10px;
}
.md-bot__safety-item {
display: flex;
align-items: flex-start;
gap: 12px;
padding: 14px 16px;
background: rgba(230, 57, 70, 0.06);
border-left: 3px solid #e63946;
border-radius: 3px;
font-size: 0.875rem;
line-height: 1.55;
color: var(--color-text);
}
.md-bot__safety-item-icon {
flex-shrink: 0;
font-size: 1.125rem;
line-height: 1.4;
}
.md-bot__safety-continue {
display: block;
margin: 0 auto;
}


.md-bot-card--urgent {
border-color: #e63946 !important;
box-shadow: 0 8px 22px rgba(230, 57, 70, 0.18);
}
.md-bot-card__urgent-tag {
display: inline-block;
font-size: 0.6875rem;
font-weight: 700;
letter-spacing: 0.02em;
color: #fff;
background: #e63946;
padding: 3px 9px;
border-radius: var(--radius-pill);
margin-bottom: 6px;
}

.md-bot__intro-note {
font-size: 0.75rem;
color: var(--color-text-mute);
margin: 0;
}


.md-bot__progress {
display: flex;
align-items: center;
gap: 14px;
margin-bottom: clamp(20px, 2.5vw, 28px);
}
.md-bot__progress-bar {
flex: 1;
height: 8px;
background: var(--color-surface-alt);
border-radius: 99px;
overflow: hidden;
}
.md-bot__progress-fill {
height: 100%;
background: linear-gradient(90deg, var(--color-primary) 0%, #1F4A3E 100%);
border-radius: 99px;
transition: width 0.4s var(--ease);
}
.md-bot__progress-text {
font-size: 0.875rem;
font-weight: 700;
color: var(--color-text-sub);
font-feature-settings: 'tnum';
white-space: nowrap;
}
.md-bot__cat {
display: inline-block;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.1em;
color: var(--color-primary);
background: rgba(31, 74, 62, 0.10);
padding: 5px 12px;
border-radius: 99px;
margin-bottom: 14px;
text-transform: uppercase;
}
.md-bot__question {
font-size: clamp(1.125rem, 2.2vw, 1.5rem);
font-weight: 700;
line-height: 1.5;
letter-spacing: -0.015em;
margin: 0 0 clamp(24px, 3vw, 36px);
word-break: keep-all;
color: var(--color-text);
}
.md-bot__answers {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.md-bot__answer {
padding-block: 18px;
font-size: 1.0625rem;
font-weight: 700;
justify-content: center;
}
.md-bot__answer--yes {

}
.md-bot__answer--no {
background: var(--color-white);
color: var(--color-text);
border-color: var(--color-border);
}
.md-bot__answer--no:hover {
background: var(--color-surface);
border-color: var(--color-primary);
color: var(--color-primary);
}
.md-bot__back {
display: block;
margin: 18px auto 0;
background: none;
border: 0;
color: var(--color-text-sub);
font-size: 0.875rem;
cursor: pointer;
padding: 8px 14px;
border-radius: 99px;
transition: color 0.2s var(--ease), background-color 0.2s var(--ease);
}
.md-bot__back:hover { color: var(--color-primary-dark); background: var(--color-surface); }

@media (max-width: 480px) {
.md-bot__answers { grid-template-columns: 1fr; }
}


.md-bot__result-head {
text-align: center;
margin-bottom: clamp(20px, 2.5vw, 28px);
}
.md-bot__result-icon {
font-size: clamp(2rem, 4vw, 2.75rem);
margin-bottom: 8px;
}
.md-bot__result-title {
font-size: clamp(1.25rem, 2.2vw, 1.625rem);
font-weight: 800;
margin: 0 0 8px;
letter-spacing: -0.015em;
}
.md-bot__result-lead {
font-size: var(--fs-small);
color: var(--color-text-sub);
margin: 0;
word-break: keep-all;
}
.md-bot__result-list {
display: flex;
flex-direction: column;
gap: 14px;
margin: clamp(20px, 2.5vw, 28px) 0;
}
.md-bot-card {
display: grid;
grid-template-columns: 56px 1fr 28px;
align-items: center;
gap: 16px;
padding: 18px 20px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
text-decoration: none;
color: inherit;
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
}
.md-bot-card:hover {
transform: translateY(-2px);
box-shadow: 0 10px 24px rgba(22, 22, 22, 0.10);
border-color: var(--color-primary);
}
.md-bot-card--rank-1 {
border-color: var(--color-primary);
border-width: 2px;
background: linear-gradient(135deg, rgba(31,74,62,0.05) 0%, var(--color-white) 100%);
}
.md-bot-card__rank {
display: flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
border-radius: 50%;
background: var(--color-primary);
color: #fff;
font-weight: 800;
font-size: 1rem;
letter-spacing: -0.02em;
flex-shrink: 0;
}
.md-bot-card--rank-2 .md-bot-card__rank { background: #1F4A3E; }
.md-bot-card--rank-3 .md-bot-card__rank { background: #B89070; }
.md-bot-card__body { min-width: 0; }
.md-bot-card__name {
font-size: 1.125rem;
font-weight: 800;
letter-spacing: -0.015em;
margin-bottom: 2px;
color: var(--color-text);
}
.md-bot-card__sub {
font-size: 0.8125rem;
color: var(--color-primary-dark);
font-weight: 600;
margin-bottom: 8px;
}
.md-bot-card__summary {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.55;
margin: 0 0 12px;
word-break: keep-all;
}
.md-bot-card__match {
display: flex;
align-items: center;
gap: 10px;
}
.md-bot-card__match-bar {
flex: 1;
height: 6px;
background: var(--color-surface-alt);
border-radius: 99px;
overflow: hidden;
max-width: 220px;
}
.md-bot-card__match-bar > span {
display: block;
height: 100%;
background: linear-gradient(90deg, var(--color-primary) 0%, #1F4A3E 100%);
border-radius: 99px;
transition: width 0.6s var(--ease);
}
.md-bot-card__match-text {
font-size: 0.75rem;
font-weight: 700;
color: var(--color-text-sub);
white-space: nowrap;
font-feature-settings: 'tnum';
}
.md-bot-card__arrow {
font-size: 1.25rem;
color: var(--color-primary);
font-weight: 700;
transition: transform 0.25s var(--ease);
}
.md-bot-card:hover .md-bot-card__arrow { transform: translateX(4px); }

@media (max-width: 540px) {
.md-bot-card { grid-template-columns: 44px 1fr; padding: 14px 16px; gap: 12px; }
.md-bot-card__rank { width: 44px; height: 44px; font-size: 0.875rem; }
.md-bot-card__arrow { display: none; }
}

.md-bot__result-cta {
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
margin-top: clamp(20px, 2.5vw, 28px);
}
.md-bot__disclaimer {
margin: 18px 0 0;
text-align: center;
font-size: 0.75rem;
color: var(--color-text-mute);
line-height: 1.55;
}


.md-flocation {
padding: clamp(48px, 6vw, 80px) 0 clamp(40px, 5vw, 64px);
background: var(--color-surface);
border-top: 1px solid var(--color-border);
}
.md-flocation__head {
text-align: center;
margin-bottom: clamp(24px, 3vw, 36px);
}
.md-flocation__title {
font-size: clamp(1.625rem, 3vw, 2.125rem);
font-weight: 800;
letter-spacing: -0.02em;
color: var(--color-text);
margin: 0 0 12px;
}
.md-flocation__addr {
font-size: clamp(1rem, 1.4vw, 1.1875rem);
font-weight: 500;
color: var(--color-text);
margin: 0;
word-break: keep-all;
line-height: 1.55;
}
.md-flocation__addr-link,
.md-addr-link,
.md-tel-link {
color: inherit;
text-decoration: none;
border-bottom: 1px dashed var(--color-border);
padding-bottom: 1px;
transition: color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.md-flocation__addr-link:hover,
.md-flocation__addr-link:focus-visible,
.md-addr-link:hover,
.md-addr-link:focus-visible,
.md-tel-link:hover,
.md-tel-link:focus-visible {
color: var(--color-primary-dark);
border-bottom-color: var(--color-primary);
}
.md-flocation__map {
margin-bottom: clamp(18px, 2.2vw, 24px);
aspect-ratio: 21 / 9;
max-height: 500px;
}

.md-flocation__map--embed {
aspect-ratio: 21 / 9;
max-height: 500px;
overflow: hidden;
border-radius: var(--radius-lg);
border: 1px solid var(--color-border);
background: var(--color-surface);
}
.md-flocation__map--embed iframe,
.md-flocation__map--embed > div,
.md-flocation__map--embed > div > iframe {
width: 100% !important;
height: 100% !important;
border: 0;
display: block;
}
@media (max-width: 768px) {
.md-flocation__map { aspect-ratio: 16 / 11; }
}
@media (max-width: 480px) {
.md-flocation__map { aspect-ratio: 4 / 3; }
}
.md-flocation__btns {
margin-top: 0;
}

.md-flocation__pair {
margin-top: clamp(20px, 2.5vw, 32px);
}
@media (max-width: 768px) {
.md-flocation__pair { margin-top: 20px; }
}


.md-footer__phone {
font-size: 1.25rem;
font-weight: 700;
margin: 12px 0 6px;
}
.md-footer__phone a {
color: #fff;
font-feature-settings: 'tnum';
}
.md-footer__phone a:hover { color: var(--color-primary-light); }


.md-footer__email {
font-size: 0.875rem;
margin: 0 0 6px;
}
.md-footer__email a {
color: rgba(255, 255, 255, 0.82);
transition: color 0.2s var(--ease);
}
.md-footer__email a:hover { color: var(--color-primary-light); }

.md-footer__addr {
font-size: 0.8125rem;
color: rgba(255, 255, 255, 0.65);
margin: 0 0 18px;
line-height: 1.6;
word-break: keep-all;
}

.md-footer__addr a {
color: inherit;
text-decoration: none;
border-bottom: none;
transition: color 0.2s var(--ease);
}
.md-footer__addr a:hover {
color: var(--color-primary-light);
}


.md-footer__social {
list-style: none;
padding: 0;
margin: 20px 0 0;
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.md-footer__social li { list-style: none; }
.md-fsoc {
display: inline-flex;
width: 36px;
height: 36px;
border-radius: 3px;
overflow: hidden;
opacity: 0.9;
transition: transform 0.2s var(--ease), filter 0.2s var(--ease), opacity 0.2s var(--ease);
text-decoration: none;
background: rgba(255, 255, 255, 0.04);
}
.md-fsoc:hover { opacity: 1; }
.md-fsoc:hover {
transform: translateY(-2px);
filter: brightness(1.08);
}
.md-fsoc svg {
width: 100%;
height: 100%;
display: block;
}


.md-mission {
max-width: 1040px;
margin: 0 auto;
}
.md-mission__head {
text-align: center;
margin-bottom: clamp(32px, 4vw, 56px);
}
.md-mission__chip {
display: inline-block;
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.18em;
color: var(--color-primary-dark);
background: var(--color-surface);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 16px;
}
.md-mission__title {
font-size: clamp(1.5rem, 3.2vw, 2.25rem);
font-weight: 800;
letter-spacing: -0.025em;
margin: 0 0 18px;
line-height: 1.4;
color: var(--color-text);
word-break: keep-all;
}
.md-mission__title em {
color: var(--color-primary);
font-style: normal;
position: relative;
}
.md-mission__title em::after {
content: '';
position: absolute;
left: 0; right: 0; bottom: 4px;
height: 10px;
background: var(--color-accent-light);
opacity: 0.5;
z-index: -1;
border-radius: 3px;
}
.md-mission__lead {
font-size: var(--fs-body);
color: var(--color-text-sub);
line-height: 1.85;
margin: 0 auto;
max-width: 640px;
word-break: keep-all;
}
.md-mission__values {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(14px, 2vw, 24px);
}
@media (max-width: 880px) { .md-mission__values { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .md-mission__values { grid-template-columns: 1fr; } }
.md-mission__value {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(22px, 2.8vw, 30px);
text-align: center;
transition: all 0.3s var(--ease);
}
.md-mission__value:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-3px);
}
.md-mission__value-icon {
font-size: 2rem;
margin-bottom: 8px;
line-height: 1;
}
.md-mission__value h3 {
font-size: 1rem;
font-weight: 800;
color: var(--color-primary-dark);
margin: 0 0 8px;
letter-spacing: -0.01em;
}
.md-mission__value p {
font-size: var(--fs-caption);
color: var(--color-text-sub);
line-height: 1.7;
margin: 0;
word-break: keep-all;
}




.md-docs-hero {
position: relative;
padding: clamp(56px, 7vw, 96px) 0 clamp(40px, 5vw, 64px);
background:
radial-gradient(circle at 85% 10%, rgba(31, 74, 62, 0.13), transparent 50%),
radial-gradient(circle at 12% 90%, rgba(138, 138, 134, 0.13), transparent 50%),
var(--color-bg);
text-align: center;
}
.md-docs-hero__crumbs {
font-size: var(--fs-caption);
color: var(--color-text-mute);
margin-bottom: 18px;
}
.md-docs-hero__crumbs a { color: var(--color-text-sub); }
.md-docs-hero__chip {
display: inline-block;
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.18em;
color: var(--color-primary-dark);
background: var(--color-surface);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 18px;
}
.md-docs-hero__title {
font-size: clamp(1.875rem, 4.8vw, 3rem);
font-weight: 800;
letter-spacing: -0.03em;
line-height: 1.25;
margin: 0 auto 18px;
word-break: keep-all;
}
.md-docs-hero__title em {
font-style: normal;
color: var(--color-primary);
position: relative;
}
.md-docs-hero__title em::after {
content: '';
position: absolute;
left: 0; right: 0; bottom: 4px;
height: 10px;
background: var(--color-accent-light);
opacity: 0.5;
z-index: -1;
border-radius: 3px;
}
.md-docs-hero__lead {
font-size: clamp(0.9375rem, 1.3vw, 1.0625rem);
color: var(--color-text-sub);
line-height: 1.85;
margin: 0 auto 28px;
max-width: 580px;
word-break: keep-all;
}
.md-docs-hero__stats {
list-style: none;
padding: 0;
margin: 0 auto 28px;
display: inline-flex;
flex-wrap: wrap;
gap: 18px 36px;
justify-content: center;
}
.md-docs-hero__stats li {
display: inline-flex;
flex-direction: column;
align-items: center;
gap: 2px;
}
.md-docs-hero__stats strong {
font-size: clamp(1.5rem, 2.6vw, 2rem);
font-weight: 800;
color: var(--color-primary-dark);
letter-spacing: -0.04em;
line-height: 1;
font-feature-settings: 'tnum';
}
.md-docs-hero__stats span {
font-size: var(--fs-caption);
color: var(--color-text-sub);
font-weight: 500;
}


.md-docs-filter {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: center;
margin-bottom: clamp(28px, 3.5vw, 40px);
}
.md-docs-filter__btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 18px;
background: var(--color-white);
color: var(--color-text-sub);
border: 1.5px solid var(--color-border);
border-radius: var(--radius-pill);
font-size: var(--fs-small);
font-weight: 600;
cursor: pointer;
font-family: inherit;
transition: all 0.2s var(--ease);
letter-spacing: -0.01em;
white-space: nowrap;
min-height: 44px;
}
.md-docs-filter__btn:hover {
border-color: var(--color-primary-light);
color: var(--color-text);
}
.md-docs-filter__btn.is-active {
background: var(--color-primary);
color: #fff;
border-color: var(--color-primary);
box-shadow: 0 4px 12px rgba(31, 74, 62, 0.28);
}
.md-docs-filter__count {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 22px;
padding: 0 6px;
height: 22px;
background: rgba(0, 0, 0, 0.06);
border-radius: var(--radius-pill);
font-size: 0.6875rem;
font-weight: 800;
color: inherit;
font-feature-settings: 'tnum';
}
.md-docs-filter__btn.is-active .md-docs-filter__count {
background: rgba(255, 255, 255, 0.25);
color: #fff;
}


.md-docs-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(16px, 2.5vw, 28px);
}
@media (max-width: 880px) { .md-docs-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .md-docs-grid { grid-template-columns: 1fr; } }

.md-doccard {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
overflow: hidden;
display: flex;
flex-direction: column;
transition: all 0.3s var(--ease);
scroll-margin-top: 100px; 
}
.md-doccard:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-3px);
}
.md-doccard.is-hidden { display: none; }

.md-doccard__photo {
position: relative;
aspect-ratio: 4 / 5;
overflow: hidden;

background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
}
.md-doccard__photo img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
transform-origin: center top;
display: block;

}
.md-doccard__initial {
font-size: 3rem;
font-weight: 800;
color: var(--color-primary-dark);
letter-spacing: -0.04em;
}
.md-doccard__role {
position: absolute;
top: 12px; left: 12px;
background: rgba(255, 255, 255, 0.94);
color: var(--color-primary-dark);
font-size: 0.6875rem;
font-weight: 800;
letter-spacing: 0.08em;
padding: 5px 12px;
border-radius: var(--radius-pill);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
z-index: 2;
}

.md-doccard__body {
padding: clamp(18px, 2.2vw, 24px);
display: flex;
flex-direction: column;
gap: 12px;
flex: 1;
}
.md-doccard__name {
font-size: 1.25rem;
font-weight: 800;
margin: 0;
color: var(--color-text);
letter-spacing: -0.02em;
}
.md-doccard__phil {
font-size: var(--fs-small);
color: var(--color-text-sub);
line-height: 1.65;
margin: 0;
font-style: italic;
word-break: keep-all;
}
.md-doccard__phil span[aria-hidden] {
color: var(--color-primary-light);
font-weight: 800;
font-family: Georgia, serif;
}


.md-doccard__bio {
border-top: 1px dashed var(--color-border);
padding-top: 12px;
margin-top: auto;
}
.md-doccard__bio summary {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
list-style: none;
cursor: pointer;
font-size: var(--fs-caption);
font-weight: 700;
color: var(--color-primary-dark);
letter-spacing: 0.02em;
min-height: 36px;
user-select: none;
}
.md-doccard__bio summary::-webkit-details-marker { display: none; }
.md-doccard__chev {
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px; height: 22px;
background: var(--color-surface);
color: var(--color-primary);
border-radius: 50%;
font-size: 0.9375rem;
font-weight: 800;
line-height: 1;
transition: transform 0.3s var(--ease), background 0.2s var(--ease), color 0.2s var(--ease);
}
.md-doccard__bio[open] .md-doccard__chev {
background: var(--color-primary);
color: #fff;
transform: rotate(45deg);
}
.md-doccard__bio ul {
list-style: none;
padding: 0;
margin: 12px 0 0;
display: grid;
gap: 4px;
}
.md-doccard__bio li {
position: relative;
padding: 4px 0 4px 14px;
font-size: var(--fs-caption);
color: var(--color-text-sub);
line-height: 1.6;
word-break: keep-all;
}
.md-doccard__bio li::before {
content: '';
position: absolute;
left: 0; top: 12px;
width: 5px; height: 5px;
border-radius: 50%;
background: var(--color-accent);
}


.md-docs-grid__hint {
display: block;
text-align: center;
margin: clamp(20px, 2.5vw, 28px) auto 0;
padding: 14px 20px;
font-size: var(--fs-caption);
color: var(--color-text-sub);
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
width: 100%;
max-width: none;
line-height: 1.6;
}


.md-staff-total {
display: inline-block;
margin-left: 10px;
font-size: 0.7em;
font-weight: 700;
color: var(--color-primary-dark);
background: rgba(31, 74, 62, 0.12);
padding: 4px 12px;
border-radius: 2px;
vertical-align: middle;
}

.md-staff-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: clamp(16px, 2vw, 24px);
max-width: 1100px;
margin: 0 auto;
}
@media (max-width: 760px) { .md-staff-grid { grid-template-columns: 1fr; } }
.md-staff-dept {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: clamp(16px, 1.6vw, 22px);
padding: clamp(20px, 2.5vw, 28px);
transition: box-shadow .2s ease, border-color .2s ease;
}
.md-staff-dept:hover {
border-color: var(--color-primary-light);
box-shadow: 0 8px 24px rgba(22, 22, 22, 0.08);
}
.md-staff-dept__head {
display: flex;
align-items: center;
gap: 10px;
padding-bottom: 14px;
margin-bottom: 16px;
border-bottom: 1px dashed var(--color-border);
}
.md-staff-dept__icon {
font-size: 1.5rem;
line-height: 1;
}
.md-staff-dept__name {
font-size: 1.0625rem;
font-weight: 800;
margin: 0;
flex: 1;
color: var(--color-text);
letter-spacing: -0.01em;
}
.md-staff-dept__count {
font-size: 0.75rem;
font-weight: 700;
color: var(--color-text-sub);
background: var(--color-surface);
padding: 4px 10px;
border-radius: 2px;
}

.md-staff-dept__roles {
margin: 0;
display: flex;
flex-direction: column;
gap: 10px;
}
.md-staff-role {
display: grid;
grid-template-columns: 78px 1fr;
gap: 10px;
align-items: baseline;
}
@media (max-width: 480px) {
.md-staff-role { grid-template-columns: 64px 1fr; gap: 8px; }
}
.md-staff-role__title {
font-size: 0.75rem;
font-weight: 700;
color: var(--color-primary-dark);
background: rgba(31, 74, 62, 0.10);
padding: 4px 8px;
border-radius: 3px;
text-align: center;
letter-spacing: -0.01em;
margin: 0;
height: fit-content;
}
.md-staff-role__names {
margin: 0;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px 6px;
font-size: 0.9rem;
color: var(--color-text);
line-height: 1.7;
}
.md-staff-name {
font-weight: 500;
word-break: keep-all;
}
.md-staff-sep {
color: var(--color-text-mute, #b0b0b0);
margin: 0 2px;
font-size: 0.7rem;
}


.md-spec-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(14px, 2vw, 22px);
max-width: 1040px;
margin: 0 auto;
}
@media (max-width: 880px) { .md-spec-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .md-spec-grid { grid-template-columns: 1fr; } }

.md-spec {
display: flex;
align-items: center;
gap: 16px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-lg);
padding: clamp(20px, 2.5vw, 26px);
transition: all 0.3s var(--ease);
}
.md-spec__body {
flex: 1;
min-width: 0;
}
.md-spec:hover {
border-color: var(--color-primary-light);
box-shadow: var(--shadow-soft);
transform: translateY(-2px);
}
.md-spec__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px; height: 48px;
background: linear-gradient(135deg, var(--color-surface), var(--color-surface-alt));
border-radius: 3px;
font-size: 1.5rem;
flex-shrink: 0;
}
.md-spec__title {
font-size: 1rem;
font-weight: 800;
margin: 0 0 6px;
color: var(--color-text);
letter-spacing: -0.015em;
word-break: keep-all;
line-height: 1.35;
}
.md-spec__desc {
font-size: var(--fs-caption);
color: var(--color-text-sub);
line-height: 1.6;
margin: 0;
word-break: keep-all;
}


.md-docs-cta {
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-light) 100%);
border-radius: var(--radius-xl);
color: #fff;
padding: clamp(36px, 5vw, 56px) clamp(24px, 4vw, 48px);
text-align: center;
position: relative;
overflow: hidden;
}
.md-docs-cta::before,
.md-docs-cta::after {
content: '';
position: absolute;
border-radius: 50%;
pointer-events: none;
}
.md-docs-cta::before {
top: -50px; right: -50px;
width: 200px; height: 200px;
background: rgba(255, 255, 255, 0.12);
}
.md-docs-cta::after {
bottom: -70px; left: -30px;
width: 220px; height: 220px;
background: rgba(138, 138, 134, 0.20);
}
.md-docs-cta > * { position: relative; }
.md-docs-cta__chip {
display: inline-block;
font-size: var(--fs-caption);
font-weight: 800;
letter-spacing: 0.16em;
color: #fff;
background: rgba(255, 255, 255, 0.20);
padding: 6px 14px;
border-radius: var(--radius-pill);
margin-bottom: 14px;
}
.md-docs-cta__title {
font-size: clamp(1.5rem, 3.2vw, 2.25rem);
font-weight: 800;
color: #fff;
letter-spacing: -0.02em;
margin: 0 0 12px;
word-break: keep-all;
}
.md-docs-cta__lead {
font-size: var(--fs-body);
color: rgba(255, 255, 255, 0.92);
margin: 0 0 24px;
word-break: keep-all;
}
.md-docs-cta .md-btn-primary {
background: #fff;
color: var(--color-primary-dark);
border-color: #fff;
}
.md-docs-cta .md-btn-primary:hover { background: var(--color-surface); }
.md-docs-cta .md-btn-ghost {
background: transparent;
color: #fff;
border-color: rgba(255, 255, 255, 0.55);
}
.md-docs-cta .md-btn-ghost:hover {
background: rgba(255, 255, 255, 0.14);
color: #fff;
border-color: #fff;
}
.md-docs-cta__hours {
margin: 18px 0 0;
font-size: var(--fs-caption);
color: rgba(255, 255, 255, 0.78);
}





.md-service-card,
.md-news-card,
.md-doccard,
.md-strength-card,
.md-preservation-card,
.md-testimonial,
.md-facility-card,
.md-enc-card,
.md-region-card,
.md-bot-card,
.md-team-card,
.md-priceX-card,
.md-doc-row,
.md-spa-test__item,
.md-bot__intro-step,
.md-bot__chief-btn {
border-radius: var(--card-radius);
transition: var(--card-transition);
}


a.md-service-card:hover,
a.md-news-card:hover,
a.md-doccard:hover,
a.md-strength-card:hover,
a.md-preservation-card:hover,
a.md-enc-card:hover,
a.md-region-card:hover,
a.md-bot-card:hover {
transform: translateY(-4px);
box-shadow: var(--card-shadow-hover);
border-color: var(--color-primary-light);
}





.md-hero-combined__stat-value,
.md-hero-combined__stat-unit,
.md-trust__value,
.md-trust__num {
color: var(--color-accent-dark);
}


.md-preservation-callout {
border-left-color: var(--color-accent);
background: linear-gradient(135deg, var(--color-accent-bg) 0%, var(--color-surface) 100%);
}
.md-preservation-callout strong {
color: var(--color-accent-dark);
}


.md-strength-card__icon,
.md-strength-hero__icon {
color: var(--color-accent-dark);
}


.md-bot__intro-trust li {
color: var(--color-accent-dark);
}


.md-spa-oral__item:not(:last-child) .md-spa-oral__num {
background: var(--color-accent);
}


.md-spa-flow__item--clinic {
border-left-color: var(--color-accent);
background: var(--color-accent-bg);
}
.md-spa-flow__item--clinic .md-spa-flow__loc {
background: var(--color-accent-dark);
}


.md-badge--success,
.md-tag--verified {
background: var(--color-accent-bg);
color: var(--color-accent-dark);
border-color: var(--color-accent);
}


.md-lang-fab-wrap {
position: fixed !important;
left: 24px;
bottom: 24px;
z-index: 300 !important;
display: block !important;
visibility: visible !important;
}
@media (max-width: 768px) {
.md-lang-fab-wrap {

left: 12px;
bottom: calc(70px + env(safe-area-inset-bottom, 0px));
}
}

@media (max-width: 768px) {
.md-lang-fab__toggle {
background: #fff;
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25) !important;
border: 2px solid var(--color-primary);
}
}

.md-lang-fab {
position: relative;
}
.md-lang-fab__toggle {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 14px;
background: var(--color-white);
border: 2px solid var(--color-border);
border-radius: var(--radius-pill);
color: var(--color-text);
font-size: 0.8125rem;
font-weight: 700;
cursor: pointer;
transition: transform 0.2s var(--ease), border-color 0.2s var(--ease), box-shadow 0.2s var(--ease);
line-height: 1;
box-shadow: 0 4px 14px rgba(22, 22, 22, 0.15);
}
.md-lang-fab__toggle:hover {
transform: translateY(-2px);
border-color: var(--color-primary-light);
box-shadow: 0 6px 18px rgba(31, 74, 62, 0.18);
}
.md-lang-fab__globe { font-size: 0.9rem; opacity: 0.7; }
.md-lang-fab__flag { font-size: 1.05rem; line-height: 1; }
.md-lang-fab__label { font-size: 0.75rem; letter-spacing: -0.005em; }
.md-lang-fab.is-open .md-lang-fab__toggle {
border-color: var(--color-primary);
box-shadow: 0 6px 18px rgba(31, 74, 62, 0.22);
}

.md-lang-fab__menu {
position: absolute;
bottom: calc(100% + 8px);
left: 0;
min-width: 180px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
box-shadow: 0 12px 32px rgba(22, 22, 22, 0.18);
padding: 6px;
margin: 0;
list-style: none;
z-index: 1000;
animation: md-lang-fab-fade 0.18s ease;
}
@keyframes md-lang-fab-fade {
from { opacity: 0; transform: translateY(4px); }
to   { opacity: 1; transform: translateY(0); }
}
.md-lang-fab__item { margin: 0; }
.md-lang-fab__item a {
display: flex;
align-items: center;
gap: 10px;
padding: 9px 12px;
border-radius: 3px;
color: var(--color-text);
text-decoration: none;
font-size: 0.875rem;
font-weight: 600;
transition: background 0.15s var(--ease);
}
.md-lang-fab__item a:hover {
background: var(--color-surface);
color: var(--color-primary-dark);
}
.md-lang-fab__item.is-current a {
background: var(--color-accent-bg);
color: var(--color-accent-dark);
font-weight: 800;
}
.md-lang-fab__item.is-current a::after {
content: '✓';
margin-left: auto;
color: var(--color-accent-dark);
}
.md-lang-fab__item-flag { font-size: 1.1rem; line-height: 1; }
.md-lang-fab__item-name { flex: 1; }


@media (max-width: 768px) {
.md-lang-fab__toggle { padding: 8px 12px; gap: 4px; }
.md-lang-fab__label { display: none; }
}


.md-lang {
position: relative;
margin-right: 8px;
}
.md-lang__toggle {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 6px 12px;
background: transparent;
border: 1px solid var(--color-border);
border-radius: var(--radius-pill);
color: var(--color-text);
font-size: 0.8125rem;
font-weight: 600;
cursor: pointer;
transition: background 0.2s var(--ease), border-color 0.2s var(--ease);
line-height: 1;
}
.md-lang__toggle:hover {
background: var(--color-surface);
border-color: var(--color-primary-light);
}
.md-lang__globe { font-size: 0.9rem; }
.md-lang__current { display: inline-flex; align-items: center; gap: 4px; }
.md-lang__caret { font-size: 0.7rem; color: var(--color-text-sub); margin-left: 2px; }
.md-lang.is-open .md-lang__caret { transform: rotate(180deg); }

.md-lang__menu {
position: absolute;
top: calc(100% + 8px);
right: 0;
min-width: 180px;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: var(--radius-md);
box-shadow: var(--card-shadow-hover);
padding: 6px;
margin: 0;
list-style: none;
z-index: 1000;
animation: md-lang-fade 0.18s ease;
}
@keyframes md-lang-fade {
from { opacity: 0; transform: translateY(-4px); }
to   { opacity: 1; transform: translateY(0); }
}
.md-lang__item { margin: 0; }
.md-lang__item a {
display: flex;
align-items: center;
gap: 10px;
padding: 8px 12px;
border-radius: 3px;
color: var(--color-text);
text-decoration: none;
font-size: 0.875rem;
font-weight: 500;
transition: background 0.15s var(--ease);
}
.md-lang__item a:hover {
background: var(--color-surface);
color: var(--color-primary-dark);
}
.md-lang__item.is-current a {
background: var(--color-accent-bg);
color: var(--color-accent-dark);
font-weight: 700;
}
.md-lang__flag { font-size: 1.1rem; line-height: 1; }
.md-lang__name { flex: 1; }


@media (max-width: 768px) {
.md-lang__toggle { padding: 6px 10px; }
.md-lang__current { font-size: 0.75rem; }
}
@media (max-width: 480px) {
.md-lang__current > span:not(.md-lang__flag):not(:first-child) { display: none; }
}


.md-site-header.is-scrolled .md-lang__toggle { padding: 4px 10px; }


.md-btn--sage,
.md-btn-secondary--sage {
background-color: var(--color-accent);
color: #fff;
border-color: var(--color-accent);
}
.md-btn--sage:hover {
background-color: var(--color-accent-hover);
border-color: var(--color-accent-hover);
color: #fff;
transform: translateY(-2px);
}





@media (prefers-color-scheme: dark) {

:root {
--color-text-sub: #D6C8B7;   
--color-text-mute: #6E6E6B;  
}

a { color: var(--color-primary-light); }
a:hover { color: var(--color-primary); }

input[type="text"], input[type="email"], input[type="tel"], input[type="date"],
textarea, select {
background-color: #241c17 !important;
color: var(--color-text) !important;
border-color: #4a3d33 !important;
}
input:focus, textarea:focus, select:focus {
border-color: var(--color-primary-light) !important;
outline-color: var(--color-primary-light);
}

::placeholder { color: rgba(215, 200, 183, 0.55); opacity: 1; }

.md-service-card, .md-news-card, .md-doccard, .md-strength-card,
.md-preservation-card, .md-enc-card, .md-region-card, .md-testimonial,
.md-facility-card, .md-priceX-card {
border-color: rgba(215, 200, 183, 0.12);
}

.md-hero-combined__stat-value,
.md-hero-combined__stat-unit,
.md-trust__value {
color: var(--color-accent-light);
}

.md-cta-banner__hint { color: rgba(255, 246, 232, 0.85); }
.md-header__hours { color: var(--color-text-sub); }
}


.md-doccard__photo,
.md-facility-card__media,
.md-news-card__media,
.md-team-card__photo,
.md-doc-row__photo,
.md-priceX-card__media,
.md-strength-card__media {
overflow: hidden;
border-radius: inherit;
}
.md-doccard__photo img,
.md-facility-card__media img,
.md-news-card__media img,
.md-team-card__photo img,
.md-doc-row__photo img,
.md-priceX-card__media img,
.md-strength-card__media img {
transition: transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
will-change: transform;
}
a.md-doccard:hover .md-doccard__photo img,
a.md-news-card:hover .md-news-card__media img,
a.md-team-card:hover .md-team-card__photo img,
.md-doc-row:hover .md-doc-row__photo img,
.md-facility-card:hover .md-facility-card__media img,
.md-strength-card:hover .md-strength-card__media img,
.md-priceX-card:hover .md-priceX-card__media img {
transform: scale(1.06);
}
@media (prefers-reduced-motion: reduce) {
.md-doccard__photo img,
.md-facility-card__media img,
.md-news-card__media img,
.md-team-card__photo img,
.md-doc-row__photo img,
.md-priceX-card__media img,
.md-strength-card__media img {
transition: none;
}
a:hover .md-doccard__photo img,
a:hover .md-news-card__media img,
a:hover .md-team-card__photo img { transform: none !important; }
}


.md-hero-combined,
.md-page-hero {
position: relative;
overflow: hidden;
}
.md-hero-combined::before,
.md-page-hero::before {
content: '';
position: absolute;
inset: 0;
z-index: 0;
pointer-events: none;
background:
radial-gradient(ellipse 60% 40% at 15% 20%, rgba(31, 74, 62, 0.06), transparent 60%),
radial-gradient(ellipse 55% 45% at 85% 80%, rgba(138, 138, 134, 0.07), transparent 60%),
radial-gradient(circle at 50% 100%, rgba(78, 122, 108, 0.04), transparent 70%);
opacity: 0.9;
}
.md-hero-combined > *,
.md-page-hero > * {
position: relative;
z-index: 1;
}
@media (prefers-color-scheme: dark) {
.md-hero-combined::before,
.md-page-hero::before {
background:
radial-gradient(ellipse 60% 40% at 15% 20%, rgba(156, 197, 181, 0.08), transparent 60%),
radial-gradient(ellipse 55% 45% at 85% 80%, rgba(138, 138, 134, 0.10), transparent 60%),
radial-gradient(circle at 50% 100%, rgba(78, 122, 108, 0.05), transparent 70%);
}
}


.md-faq__item {
overflow: hidden;
transition: background-color 0.24s var(--ease);
}
.md-faq__item summary {
cursor: pointer;
list-style: none;
position: relative;
padding-right: 40px;
transition: color 0.2s var(--ease);
}
.md-faq__item summary::-webkit-details-marker { display: none; }
.md-faq__item summary::after {
content: '';
position: absolute;
right: 14px;
top: 50%;
width: 10px;
height: 10px;
border-right: 2px solid var(--color-text-sub);
border-bottom: 2px solid var(--color-text-sub);
transform: translateY(-70%) rotate(45deg);
transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s var(--ease);
}
.md-faq__item[open] summary::after {
transform: translateY(-30%) rotate(-135deg);
border-color: var(--color-primary);
}
.md-faq__item[open] summary {
color: var(--color-primary-dark);
}

@supports (interpolate-size: allow-keywords) {
:root { interpolate-size: allow-keywords; }
.md-faq__item::details-content {
block-size: 0;
overflow-y: clip;
transition: block-size 0.36s cubic-bezier(0.22, 0.61, 0.36, 1),
content-visibility 0.36s allow-discrete;
}
.md-faq__item[open]::details-content {
block-size: auto;
}
}

.md-faq__item[open] p,
.md-faq__item[open] > *:not(summary) {
animation: md-faq-open 0.32s ease both;
}
@keyframes md-faq-open {
from { opacity: 0; transform: translateY(-4px); }
to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
.md-faq__item[open] p,
.md-faq__item[open] > *:not(summary) { animation: none; }
.md-faq__item summary::after { transition: none; }
}


.md-steps {
position: relative;
}

.md-steps::before {
content: '';
position: absolute;
top: 22px;
left: 12%;
right: 12%;
height: 2px;
background: var(--color-border);
z-index: 0;
}
.md-steps::after {
content: '';
position: absolute;
top: 22px;
left: 12%;
width: 0;
height: 2px;
background: linear-gradient(90deg, var(--color-primary), var(--color-primary-light));
z-index: 1;
transition: width 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.md-steps[data-current="2"]::after { width: calc(38%); }
.md-steps[data-current="3"]::after { width: calc(76%); }

.md-step {
position: relative;
z-index: 2;
}
.md-step__no {
transition: background 0.28s var(--ease), color 0.28s var(--ease),
transform 0.28s var(--ease), box-shadow 0.28s var(--ease);
}
.md-step.is-active .md-step__no {
transform: scale(1.15);
box-shadow: 0 6px 16px rgba(31, 74, 62, 0.32);
}
.md-step.is-done .md-step__no {
background: var(--color-accent) !important;
}
.md-step.is-done .md-step__no::before {
animation: md-step-check 0.32s ease;
}
@keyframes md-step-check {
0%   { transform: scale(0);   opacity: 0; }
60%  { transform: scale(1.2); opacity: 1; }
100% { transform: scale(1);   opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
.md-step__no,
.md-steps::after { transition: none; }
.md-step.is-done .md-step__no::before { animation: none; }
}


@media print {

:root {
--color-bg: #ffffff !important;
--color-surface: #ffffff !important;
--color-primary: #333 !important;
--color-text: #000 !important;
--color-text-sub: #333 !important;
--color-text-mute: #666 !important;
--color-border: #ccc !important;
}
body {
background: #fff !important;
color: #000 !important;
font-size: 11pt;
line-height: 1.5;
}

.md-site-header,
.md-header,
footer,
.md-fab-stack,
.md-mobile-cta,
.md-totop,
.md-lang-switcher,
.md-preservation-nav,
.md-header__nav-toggle,
.md-header__cta,
#google_translate_element,
.skiptranslate,
.goog-te-banner-frame,
.md-cta-banner,
.md-hero__scroll,
.md-reveal:not(.is-revealed),
.md-dentalbot,
section[aria-label="예약 안내"],
.md-btn-group,
.md-btn,
a.md-service-card,
.md-page-hero__crumbs,
.md-single__tags,
.md-single__nav,
.md-news-grid,
.md-related,
video, iframe {
display: none !important;
}

.md-reveal {
opacity: 1 !important;
transform: none !important;
}

a[href^="http"]::after {
content: " (" attr(href) ")";
font-size: 9pt;
color: #666;
font-weight: normal;
}
a[href^="tel:"]::after,
a[href^="mailto:"]::after,
a[href^="#"]::after {
content: '';
}

@page {
margin: 15mm 15mm 20mm 15mm;
size: A4;
}

section, article, .md-preservation-card, .md-priceX-card,
.md-faq__item, table, tr, .md-res-success {
page-break-inside: avoid;
break-inside: avoid;
}
h1, h2, h3 {
page-break-after: avoid;
break-after: avoid;
color: #000 !important;
}

table {
width: 100% !important;
border-collapse: collapse;
}
table th, table td {
border: 1px solid #999 !important;
padding: 6pt 8pt !important;
text-align: left;
}
table th {
background: #f2f2f2 !important;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}

.md-res-success {
border: 1px solid #333 !important;
padding: 12pt !important;
background: #fff !important;
}
.md-res-success__title { font-size: 16pt !important; }
.md-res-success__detail {
display: block !important;
margin: 8pt 0 !important;
}
.md-res-success__detail dt {
font-weight: bold;
display: inline-block;
width: 80pt;
}
.md-res-success__detail dd {
display: inline;
margin-left: 8pt;
}
.md-res-success__detail dd::after {
content: '\A';
white-space: pre;
}

body::before {
content: '한아의료재단 문치과병원 · 041-563-2875 · https://moondental.co.kr';
display: block;
text-align: center;
font-size: 9pt;
color: #666;
padding-bottom: 8pt;
border-bottom: 1px solid #ccc;
margin-bottom: 12pt;
}
}


.md-svc-hero {
padding: clamp(28px, 4vw, 56px) 0;
background: linear-gradient(180deg,
var(--color-surface, #FDF4E4) 0%,
var(--color-bg, #FFF6E8) 100%);
}
.md-svc-hero .md-container {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(24px, 4vw, 56px);
align-items: center;
}
.md-svc-hero__figure {
margin: 0;
border-radius: 3px;
overflow: hidden;
box-shadow: 0 20px 48px rgba(0, 0, 0, 0.15);
aspect-ratio: 4 / 3;
background: #000;
}
.md-svc-hero__figure img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.md-svc-hero__body { min-width: 0; }
.md-svc-hero__headline {
margin: 0 0 12px;
font-size: clamp(1.5rem, 3vw, 2.125rem);
font-weight: 800;
line-height: 1.3;
letter-spacing: -0.01em;
color: var(--color-text);
}
.md-svc-hero__sub {
margin: 0 0 28px;
font-size: clamp(0.9375rem, 1.4vw, 1.0625rem);
line-height: 1.65;
color: var(--color-text-sub);
}
.md-svc-hero__stats {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}
.md-svc-hero__stats li {
padding: 18px 12px;
border-radius: 3px;
background: rgba(255, 255, 255, 0.7);
border: 1px solid rgba(31, 74, 62, 0.15);
text-align: center;
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.md-svc-hero__stats li:hover {
transform: translateY(-3px);
box-shadow: 0 10px 24px rgba(31, 74, 62, 0.15);
}
.md-svc-hero__stat-value {
display: block;
font-size: clamp(1.375rem, 2.6vw, 1.875rem);
font-weight: 800;
color: var(--color-primary);
line-height: 1.1;
letter-spacing: -0.02em;
}
.md-svc-hero__stat-unit {
font-size: 0.75em;
font-weight: 600;
margin-left: 2px;
opacity: 0.75;
}
.md-svc-hero__stat-label {
display: block;
margin-top: 6px;
font-size: 0.75rem;
font-weight: 500;
color: var(--color-text-sub);
line-height: 1.4;
letter-spacing: 0.01em;
}


@media (max-width: 860px) {
.md-svc-hero .md-container {
grid-template-columns: 1fr;
gap: 24px;
}
.md-svc-hero__figure { aspect-ratio: 16 / 10; }
}
@media (max-width: 520px) {
.md-svc-hero { padding: 20px 0 32px; }
.md-svc-hero__figure { border-radius: 3px; }
.md-svc-hero__stats { gap: 8px; }
.md-svc-hero__stats li { padding: 14px 8px; }
.md-svc-hero__stat-label { font-size: 0.6875rem; }
}


@media (prefers-color-scheme: dark) {
.md-svc-hero {
background: linear-gradient(180deg,
rgba(255, 255, 255, 0.03) 0%,
var(--color-bg) 100%);
}
.md-svc-hero__figure {
box-shadow: 0 20px 48px rgba(0, 0, 0, 0.55);
}
.md-svc-hero__stats li {
background: rgba(255, 255, 255, 0.05);
border-color: rgba(156, 197, 181, 0.2);
}
.md-svc-hero__stat-value { color: var(--color-primary-light); }
}
:root[data-theme="dark"] .md-svc-hero {
background: linear-gradient(180deg,
rgba(255, 255, 255, 0.03) 0%,
var(--color-bg) 100%);
}
:root[data-theme="dark"] .md-svc-hero__stats li {
background: rgba(255, 255, 255, 0.05);
border-color: rgba(156, 197, 181, 0.2);
}
:root[data-theme="dark"] .md-svc-hero__stat-value { color: var(--color-primary-light); }



.md-content-figure {
margin: 32px auto;
padding: 0;
border-radius: 3px;
overflow: hidden;
background: var(--color-surface, #fafafa);
border: 1px solid var(--color-border);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
max-width: 720px;                 
}
.md-content-figure img {
display: block;
width: 100%;
height: auto;
max-height: 520px;                
object-fit: contain;              
margin: 0 auto;
background: #fff;
}
@media (max-width: 640px) {
.md-content-figure img { max-height: 400px; }
}
.md-content-figure figcaption {
padding: 12px 20px;
font-size: 0.875rem;
color: var(--color-text-mute);
text-align: center;
background: rgba(0, 0, 0, 0.02);
border-top: 1px solid var(--color-border);
line-height: 1.5;
}
.md-content-figure--hero {
margin: 24px 0 36px;
border-radius: 3px;
}
@media (prefers-color-scheme: dark) {
.md-content-figure {
background: rgba(255, 255, 255, 0.03);
border-color: rgba(255, 255, 255, 0.08);
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
.md-content-figure figcaption {
background: rgba(255, 255, 255, 0.02);
border-top-color: rgba(255, 255, 255, 0.08);
}
}


.md-content .md-track-grid,
.md-content div.md-track-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin: 32px 0;
}
@media (max-width: 720px) {
.md-content .md-track-grid,
.md-content div.md-track-grid { grid-template-columns: 1fr; }
}
.md-content .md-track,
.md-content a.md-track {
display: block;
padding: 28px 24px;
border-radius: 3px;
border: 2px solid var(--color-border);
background: var(--color-surface, #fafafa);
color: var(--color-text);
text-decoration: none;
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
position: relative;
}
.md-content a.md-track:hover,
.md-content a.md-track:focus-visible {
transform: translateY(-4px);
box-shadow: 0 12px 32px rgba(31, 74, 62, 0.18);
border-color: var(--color-primary);
}
.md-content .md-track--featured {
border-color: var(--color-primary);
background: linear-gradient(135deg,
rgba(31, 74, 62, 0.06) 0%,
rgba(138, 138, 134, 0.04) 100%);
}
.md-content .md-track__badge {
display: inline-block;
padding: 4px 12px;
background: var(--color-primary);
color: #fff;
font-size: 0.75rem;
font-weight: 700;
border-radius: 3px;
margin-bottom: 12px;
letter-spacing: 0.02em;
}
.md-content .md-track h4 {
margin: 0 0 12px;
font-size: 1.375rem;
font-weight: 700;
color: var(--color-text);
}
.md-content .md-track p {
margin: 0 0 14px;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--color-text-sub);
}
.md-content .md-track ul {
margin: 12px 0 20px;
padding-left: 20px;
}
.md-content .md-track ul li {
font-size: 0.875rem;
color: var(--color-text-sub);
line-height: 1.6;
margin-bottom: 4px;
}
.md-content .md-track__more {
display: inline-block;
font-size: 0.9375rem;
font-weight: 600;
color: var(--color-primary);
transition: transform 0.2s var(--ease);
}
.md-content a.md-track:hover .md-track__more,
.md-content a.md-track:focus-visible .md-track__more {
transform: translateX(4px);
}
@media (prefers-color-scheme: dark) {
.md-content .md-track,
.md-content a.md-track {
background: rgba(255, 255, 255, 0.03);
border-color: rgba(255, 255, 255, 0.1);
}
.md-content .md-track--featured {
background: linear-gradient(135deg,
rgba(156, 197, 181, 0.08) 0%,
rgba(214, 214, 210, 0.06) 100%);
}
}


.md-content .md-highlight,
.md-content div.md-highlight {
margin: 32px 0;
padding: 28px 32px;
background: linear-gradient(135deg,
rgba(31, 74, 62, 0.08) 0%,
rgba(138, 138, 134, 0.06) 100%);
border: 1px solid rgba(31, 74, 62, 0.18);
border-left: 4px solid var(--color-primary);
border-radius: 3px;
position: relative;
}
.md-content .md-highlight--center {
text-align: center;
border-left: 4px solid var(--color-primary);
}
.md-content .md-highlight h5 {
margin: 0 0 12px;
font-size: 1.25rem;
color: var(--color-primary);
font-weight: 700;
letter-spacing: 0.01em;
}
.md-content .md-highlight p {
margin: 8px 0;
font-size: 1rem;
line-height: 1.65;
color: var(--color-text);
}
.md-content .md-highlight p:last-child { margin-bottom: 0; }
.md-content .md-highlight strong {
color: var(--color-primary);
font-weight: 700;
}
@media (max-width: 640px) {
.md-content .md-highlight,
.md-content div.md-highlight {
padding: 20px 22px;
margin: 24px 0;
}
.md-content .md-highlight h5 { font-size: 1.125rem; }
}
@media (prefers-color-scheme: dark) {
.md-content .md-highlight,
.md-content div.md-highlight {
background: linear-gradient(135deg,
rgba(156, 197, 181, 0.10) 0%,
rgba(214, 214, 210, 0.08) 100%);
border-color: rgba(156, 197, 181, 0.28);
}
}




.md-guides-home {
padding: clamp(60px, 8vw, 100px) 0;
}
.md-guides-home__head {
text-align: center;
max-width: 780px;
margin: 0 auto clamp(32px, 4vw, 56px);
}
.md-guides-home__eyebrow {
display: inline-block;
font-size: 0.85rem;
letter-spacing: 0.06em;
font-weight: 700;
color: var(--color-primary, #1F4A3E);
padding: 6px 14px;
background: rgba(31, 74, 62, 0.10);
border-radius: 2px;
margin-bottom: 16px;
}
.md-guides-home__title {
font-size: clamp(1.6rem, 3.2vw, 2.4rem);
line-height: 1.35;
font-weight: 800;
margin: 0 0 14px;
color: var(--color-text, #2A1E18);
}
.md-guides-home__title em {
font-style: normal;
background: linear-gradient(135deg, #1F4A3E 0%, #9CC5B5 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.md-guides-home__lead {
font-size: clamp(0.95rem, 1.6vw, 1.05rem);
line-height: 1.7;
color: var(--color-text-sub, #6B554A);
margin: 0;
}
.md-guides-home__grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(20px, 2.5vw, 32px);
}
@media (max-width: 960px) {
.md-guides-home__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
.md-guides-home__grid { grid-template-columns: 1fr; }
}

.md-guide-card {
position: relative;
display: flex;
flex-direction: column;
padding: clamp(24px, 2.5vw, 32px);
background: #FFFFFF;
border-radius: 3px;
text-decoration: none;
color: inherit;
box-shadow: 0 4px 20px rgba(30, 20, 14, 0.06);
transition: transform 0.25s ease, box-shadow 0.25s ease;
overflow: hidden;
isolation: isolate;
}
.md-guide-card::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 180px;
background: linear-gradient(160deg, #221912 0%, #2E211A 100%);
border-radius: 3px 24px 0 0;
z-index: -1;
}
.md-guide-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 36px rgba(30, 20, 14, 0.16);
}
.md-guide-card__top {
display: flex;
align-items: flex-start;
justify-content: space-between;
margin-bottom: clamp(60px, 8vw, 80px);
color: #F5EEE6;
}
.md-guide-card__icon {
font-size: clamp(1.9rem, 3vw, 2.4rem);
line-height: 1;
}
.md-guide-card__code {
display: inline-block;
font-size: 0.75rem;
letter-spacing: 0.14em;
font-weight: 700;
padding: 6px 14px;
background: rgba(255, 240, 220, 0.14);
border: 1px solid rgba(255, 240, 220, 0.22);
border-radius: 2px;
color: #F5EEE6;
}
.md-guide-card__title-block {
color: #FFFFFF;
margin-bottom: 16px;
}
.md-guide-card__title {
font-size: clamp(1.15rem, 1.8vw, 1.35rem);
font-weight: 800;
line-height: 1.35;
margin: 0 0 10px;
color: #FFFFFF;
}
.md-guide-card__subtitle {
font-size: 0.85rem;
line-height: 1.55;
color: rgba(255, 240, 220, 0.72);
margin: 0;
}
.md-guide-card__divider {
height: 1px;
background: rgba(0, 0, 0, 0.06);
margin: clamp(16px, 2vw, 22px) 0;
}
.md-guide-card__summary {
font-size: 0.9rem;
line-height: 1.65;
color: var(--color-text, #2A1E18);
margin: 0 0 clamp(16px, 2vw, 22px);
flex: 1;
}
.md-guide-card__tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-bottom: clamp(16px, 2vw, 22px);
}
.md-guide-card__tag {
font-size: 0.75rem;
font-weight: 600;
padding: 4px 10px;
border-radius: 2px;
background: rgba(31, 74, 62, 0.10);
color: var(--color-primary, #1F4A3E);
}
.md-guide-card__read {
font-weight: 700;
font-size: 0.9rem;
color: var(--color-primary, #1F4A3E);
transition: transform 0.2s ease;
}
.md-guide-card:hover .md-guide-card__read {
transform: translateX(4px);
}

@media (prefers-color-scheme: dark) {
.md-guide-card {
background: #241914;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}
.md-guide-card__summary { color: rgba(245, 238, 230, 0.88); }
.md-guide-card__divider { background: rgba(255, 240, 220, 0.10); }
.md-guide-card__tag { background: rgba(31, 74, 62, 0.18); color: #9CC5B5; }
.md-guide-card__read { color: #9CC5B5; }
}


.md-guide__hero {
background:
linear-gradient(180deg, #1F1611 0%, #2A1E18 100%);
color: #FAFAF8;
padding: clamp(60px, 9vw, 120px) 0 clamp(48px, 6vw, 80px);
position: relative;
overflow: hidden;
}
.md-guide__hero::before {
content: '';
position: absolute;
top: 0; right: 0; bottom: 0; left: 0;
background:
radial-gradient(ellipse 60% 40% at 20% 30%, rgba(31, 74, 62, 0.14) 0%, transparent 60%),
radial-gradient(ellipse 60% 50% at 90% 80%, rgba(94, 94, 91, 0.10) 0%, transparent 60%);
pointer-events: none;
}
.md-guide__hero-inner {
max-width: 820px;
margin: 0 auto;
text-align: center;
position: relative;
}
.md-guide__hero-code {
display: inline-flex;
align-items: center;
gap: 10px;
margin-bottom: 20px;
}
.md-guide__hero-icon {
font-size: clamp(2.4rem, 4vw, 3.2rem);
line-height: 1;
filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.4));
}
.md-guide__hero-pill {
display: inline-block;
font-size: 0.78rem;
letter-spacing: 0.16em;
font-weight: 700;
padding: 6px 14px;
background: rgba(255, 240, 220, 0.14);
border: 1px solid rgba(255, 240, 220, 0.22);
border-radius: 2px;
color: #F5EEE6;
}
.md-guide__hero-eyebrow {
font-size: 0.9rem;
color: #9CC5B5;
font-weight: 700;
letter-spacing: 0.04em;
margin-bottom: 14px;
}
.md-guide__hero-center {
font-size: clamp(2rem, 5.5vw, 3.4rem);
line-height: 1.2;
font-weight: 800;
margin: 0 0 6px;
color: #FFFFFF;
text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
letter-spacing: -0.02em;
}
.md-guide__hero-title {
font-size: clamp(1.1rem, 2.5vw, 1.5rem);
line-height: 1.4;
font-weight: 600;
margin: 0 0 18px;
color: #9CC5B5;
text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
letter-spacing: -0.005em;
}
.md-guide__hero-sub {
font-size: clamp(0.95rem, 1.8vw, 1.1rem);
line-height: 1.7;
color: rgba(255, 250, 240, 0.85);
margin: 0 auto 22px;
max-width: 720px;
}
.md-guide__hero-meta {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 16px 24px;
font-size: 0.85rem;
color: rgba(255, 240, 220, 0.72);
margin-bottom: 20px;
}
.md-guide__hero-tags {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 8px;
}
.md-guide__hero-tags .md-guide__tag {
font-size: 0.78rem;
font-weight: 600;
padding: 5px 12px;
border-radius: 2px;
background: rgba(255, 240, 220, 0.12);
border: 1px solid rgba(255, 240, 220, 0.20);
color: #F5EEE6;
}


.md-guide__body {
padding: clamp(40px, 6vw, 72px) 0 clamp(60px, 8vw, 100px);
background: var(--color-bg, #FAFAF8);
}
.md-guide__layout {
display: grid;
grid-template-columns: 260px 1fr;
gap: clamp(28px, 4vw, 52px);
align-items: start;
}
@media (max-width: 900px) {
.md-guide__layout { grid-template-columns: 1fr; }
}


.md-guide__toc {
position: sticky;
top: 100px;
align-self: start;
}
@media (max-width: 900px) {
.md-guide__toc { position: static; }
}
.md-guide__toc-collapse {
background: rgba(255, 255, 255, 0.6);
border: 1px solid rgba(30, 20, 14, 0.08);
border-radius: 3px;
padding: 18px 22px;
box-shadow: 0 2px 12px rgba(30, 20, 14, 0.04);
}
@media (prefers-color-scheme: dark) {
.md-guide__toc-collapse {
background: rgba(40, 28, 22, 0.5);
border-color: rgba(255, 240, 220, 0.10);
}
}
.md-guide__toc-title {
font-weight: 800;
font-size: 1rem;
cursor: pointer;
margin-bottom: 8px;
color: var(--color-text, #2A1E18);
list-style: none;
}
.md-guide__toc-title::-webkit-details-marker { display: none; }
.md-guide__toc-title::after {
content: '▾';
float: right;
color: var(--color-primary, #1F4A3E);
transition: transform 0.2s ease;
}
.md-guide__toc-collapse[open] .md-guide__toc-title::after {
transform: rotate(180deg);
}
.md-guide__toc-list {
list-style: none;
padding: 8px 0 0;
margin: 0;
counter-reset: toc;
}
.md-guide__toc-list li {
margin: 0;
}
.md-guide__toc-list a {
display: block;
padding: 8px 6px;
font-size: 0.88rem;
color: var(--color-text-sub, #6B554A);
text-decoration: none;
border-radius: 3px;
transition: color 0.15s ease, background 0.15s ease;
}
.md-guide__toc-list a:hover {
color: var(--color-primary, #1F4A3E);
background: rgba(31, 74, 62, 0.06);
}


.md-guide__section {
scroll-margin-top: 100px;
padding: clamp(20px, 3vw, 32px) 0;
border-bottom: 1px solid rgba(30, 20, 14, 0.06);
}
.md-guide__section:last-of-type { border-bottom: none; }
.md-guide__section-title {
font-size: clamp(1.35rem, 2.6vw, 1.75rem);
font-weight: 800;
line-height: 1.35;
margin: 0 0 20px;
color: var(--color-text, #2A1E18);
position: relative;
padding-bottom: 12px;
}
.md-guide__section-title::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 48px;
height: 3px;
background: linear-gradient(90deg, #1F4A3E, #9CC5B5);
border-radius: 2px;
}
.md-guide__section-body {
font-size: clamp(0.95rem, 1.6vw, 1.02rem);
line-height: 1.8;
color: var(--color-text, #2A1E18);
}
.md-guide__section-body h3 {
font-size: clamp(1.05rem, 1.8vw, 1.2rem);
font-weight: 800;
margin: 24px 0 12px;
color: var(--color-text, #2A1E18);
}
.md-guide__section-body p { margin: 0 0 16px; }
.md-guide__section-body ul,
.md-guide__section-body ol {
margin: 0 0 20px;
padding-left: 22px;
}
.md-guide__section-body li { margin-bottom: 8px; }
.md-guide__section-body strong {
color: var(--color-primary, #1F4A3E);
font-weight: 700;
}
.md-guide__section-body em {
font-style: normal;
color: var(--color-primary, #1F4A3E);
font-weight: 600;
}
.md-guide__section-body a {
color: var(--color-primary, #1F4A3E);
text-decoration: underline;
text-underline-offset: 3px;
}


.md-guide-steps {
list-style: none;
padding: 0;
margin: 20px 0;
counter-reset: step;
}
.md-guide-steps li {
position: relative;
padding: 16px 16px 16px 60px;
background: rgba(31, 74, 62, 0.05);
border-left: 3px solid var(--color-primary, #1F4A3E);
border-radius: 0 12px 12px 0;
margin-bottom: 12px;
counter-increment: step;
}
.md-guide-steps li::before {
content: counter(step);
position: absolute;
left: 14px;
top: 16px;
width: 32px;
height: 32px;
border-radius: 50%;
background: var(--color-primary, #1F4A3E);
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
font-weight: 800;
font-size: 0.9rem;
}
.md-guide-steps li strong:first-of-type {
color: var(--color-text, #2A1E18);
display: block;
margin-bottom: 4px;
}


.md-guide-callout {
padding: 16px 18px;
background: rgba(94, 94, 91, 0.08);
border-left: 3px solid #5E5E5B;
border-radius: 0 10px 10px 0;
margin: 20px 0;
font-size: 0.95rem;
line-height: 1.7;
}
.md-guide-callout--info { background: rgba(94, 94, 91, 0.08); border-color: #5E5E5B; }
.md-guide-callout--warn { background: rgba(31, 74, 62, 0.10); border-color: #1F4A3E; }


.md-guide-tablewrap {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
margin: 20px 0;
border-radius: 3px;
box-shadow: 0 2px 12px rgba(30, 20, 14, 0.05);
}
.md-guide-table {
width: 100%;
min-width: 480px;
border-collapse: collapse;
background: #FFFFFF;
font-size: 0.9rem;
}
.md-guide-table thead {
background: linear-gradient(135deg, #2E211A 0%, #3D2D24 100%);
color: #F5EEE6;
}
.md-guide-table th,
.md-guide-table td {
padding: 12px 14px;
text-align: left;
border-bottom: 1px solid rgba(30, 20, 14, 0.06);
}
.md-guide-table th { font-weight: 700; font-size: 0.85rem; letter-spacing: 0.02em; }
.md-guide-table tbody tr:hover { background: rgba(31, 74, 62, 0.04); }
.md-guide-table__total td {
background: rgba(31, 74, 62, 0.06);
font-weight: 700;
color: var(--color-primary, #1F4A3E);
}
@media (prefers-color-scheme: dark) {
.md-guide-table { background: #241914; color: #F5EEE6; }
.md-guide-table th, .md-guide-table td { border-color: rgba(255, 240, 220, 0.08); }
.md-guide-table tbody tr:hover { background: rgba(31, 74, 62, 0.12); }
}

.md-guide-note {
font-size: 0.8rem;
color: var(--color-text-sub, #6B554A);
margin: -12px 0 20px;
}


.md-guide-faq {
margin-top: 8px;
}
.md-guide-faq__item {
background: #FFFFFF;
border: 1px solid rgba(30, 20, 14, 0.08);
border-radius: 3px;
margin-bottom: 10px;
overflow: hidden;
transition: box-shadow 0.2s ease;
}
.md-guide-faq__item[open] {
box-shadow: 0 4px 16px rgba(30, 20, 14, 0.08);
}
.md-guide-faq__item summary {
padding: 16px 46px 16px 20px;
font-weight: 700;
font-size: 0.95rem;
cursor: pointer;
position: relative;
list-style: none;
color: var(--color-text, #2A1E18);
}
.md-guide-faq__item summary::-webkit-details-marker { display: none; }
.md-guide-faq__item summary::before {
content: 'Q';
display: inline-block;
width: 22px;
height: 22px;
line-height: 22px;
text-align: center;
background: var(--color-primary, #1F4A3E);
color: #FFF;
border-radius: 50%;
font-weight: 800;
font-size: 0.75rem;
margin-right: 12px;
vertical-align: middle;
}
.md-guide-faq__item summary::after {
content: '+';
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
font-size: 1.4rem;
font-weight: 400;
color: var(--color-primary, #1F4A3E);
line-height: 1;
transition: transform 0.2s ease;
}
.md-guide-faq__item[open] summary::after {
content: '−';
}
.md-guide-faq__answer {
padding: 0 20px 18px 54px;
font-size: 0.92rem;
line-height: 1.75;
color: var(--color-text-sub, #6B554A);
}
@media (prefers-color-scheme: dark) {
.md-guide-faq__item { background: #241914; border-color: rgba(255, 240, 220, 0.10); color: #F5EEE6; }
.md-guide-faq__answer { color: rgba(245, 238, 230, 0.85); }
}


.md-guide__cta {
margin-top: clamp(40px, 5vw, 60px);
padding: clamp(28px, 4vw, 44px);
background: linear-gradient(135deg, #2E211A 0%, #3D2D24 100%);
border-radius: 3px;
color: #F5EEE6;
text-align: center;
}
.md-guide__cta h3 {
font-size: clamp(1.2rem, 2.4vw, 1.5rem);
font-weight: 800;
margin: 0 0 12px;
color: #FFFFFF;
line-height: 1.4;
}
.md-guide__cta p {
font-size: 0.95rem;
line-height: 1.7;
color: rgba(245, 238, 230, 0.85);
margin: 0 0 22px;
}
.md-guide__cta strong { color: #9CC5B5; }
.md-guide__cta-btns {
display: flex;
gap: 12px;
justify-content: center;
flex-wrap: wrap;
}


.md-guide__related {
margin-top: clamp(40px, 5vw, 60px);
}
.md-guide__related h3 {
font-size: clamp(1.1rem, 2vw, 1.35rem);
font-weight: 800;
margin: 0 0 20px;
color: var(--color-text, #2A1E18);
text-align: center;
}
.md-guide__related-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 14px;
}
@media (max-width: 640px) {
.md-guide__related-grid { grid-template-columns: 1fr; }
}
.md-guide__related-card {
display: flex;
align-items: center;
gap: 14px;
padding: 18px 22px;
background: #FFFFFF;
border: 1px solid rgba(30, 20, 14, 0.08);
border-radius: 3px;
color: var(--color-text, #2A1E18);
text-decoration: none;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.md-guide__related-card:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(30, 20, 14, 0.10);
}
.md-guide__related-icon { font-size: 1.5rem; }
.md-guide__related-label { flex: 1; font-weight: 700; font-size: 0.95rem; }
.md-guide__related-arrow { color: var(--color-primary, #1F4A3E); font-weight: 700; }
@media (prefers-color-scheme: dark) {
.md-guide__related-card { background: #241914; border-color: rgba(255, 240, 220, 0.10); color: #F5EEE6; }
}


.md-guide-rail {
--md-rail-accent: #1F4A3E;       
--md-rail-accent-2: #9CC5B5;
margin-top: 16px;
}
.md-guide-rail--implant {
--md-rail-accent: #5E5E5B;       
--md-rail-accent-2: #7BAD9E;
}
.md-guide-rail--suresmile {
--md-rail-accent: #1F4A3E;       
--md-rail-accent-2: #9CC5B5;
}
.md-guide-rail--laminate {
--md-rail-accent: #B29CC7;       
--md-rail-accent-2: #D2BFE0;
}

.md-guide-rail__card {
display: block;
position: relative;
padding: 22px 22px 22px 26px;
background: #FFFFFF;
border: 1px solid rgba(30, 20, 14, 0.06);
border-radius: 3px;
text-decoration: none;
color: inherit;
box-shadow: 0 2px 8px rgba(30, 20, 14, 0.04);
overflow: hidden;
isolation: isolate;
transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.md-guide-rail__card::before {
content: '';
position: absolute;
top: 0; left: 0; bottom: 0;
width: 4px;
background: linear-gradient(180deg, var(--md-rail-accent), var(--md-rail-accent-2));
z-index: 1;
}

.md-guide-rail__card::after {
content: attr(data-num);
position: absolute;
right: -8px;
bottom: -28px;
font-size: 8rem;
font-weight: 900;
line-height: 1;
color: var(--md-rail-accent);
opacity: 0.06;
z-index: 0;
letter-spacing: -0.05em;
pointer-events: none;
}
.md-guide-rail__card:hover {
transform: translateY(-3px);
box-shadow: 0 12px 28px rgba(30, 20, 14, 0.10);
border-color: color-mix(in srgb, var(--md-rail-accent) 45%, transparent);
}
.md-guide-rail__card:hover::after {
opacity: 0.10;
}
.md-guide-rail__head {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 14px;
position: relative;
z-index: 2;
}
.md-guide-rail__icon {
font-size: 1.7rem;
line-height: 1;
filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.06));
}
.md-guide-rail__code {
font-size: 0.66rem;
letter-spacing: 0.18em;
font-weight: 800;
padding: 5px 11px;
background: color-mix(in srgb, var(--md-rail-accent) 10%, transparent);
border: 1px solid color-mix(in srgb, var(--md-rail-accent) 25%, transparent);
border-radius: 2px;
color: var(--md-rail-accent);
}
.md-guide-rail__center {
font-size: 1.25rem;
font-weight: 800;
line-height: 1.3;
margin: 0 0 4px;
color: var(--color-text, #2A1E18);
letter-spacing: -0.015em;
position: relative;
z-index: 2;
}
.md-guide-rail__title {
font-size: 0.85rem;
font-weight: 600;
line-height: 1.4;
margin: 0 0 12px;
color: var(--md-rail-accent);
letter-spacing: -0.005em;
position: relative;
z-index: 2;
}
.md-guide-rail__subtitle {
font-size: 0.8rem;
line-height: 1.55;
color: var(--color-text-sub, #6B554A);
margin: 0 0 14px;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
position: relative;
z-index: 2;
}
.md-guide-rail__tags {
display: flex;
flex-wrap: wrap;
gap: 5px;
margin-bottom: 16px;
position: relative;
z-index: 2;
}
.md-guide-rail__tag {
font-size: 0.68rem;
font-weight: 600;
padding: 3px 9px;
border-radius: 2px;
background: rgba(30, 20, 14, 0.05);
color: var(--color-text-sub, #6B554A);
}
.md-guide-rail__read {
display: inline-flex;
align-items: center;
gap: 6px;
font-weight: 700;
font-size: 0.82rem;
color: var(--md-rail-accent);
transition: gap 0.2s ease;
position: relative;
z-index: 2;
}
.md-guide-rail__card:hover .md-guide-rail__read {
gap: 10px;
}

@media (max-width: 1080px) {
.md-home-2col__side .md-guide-rail {
display: inline-block;
width: calc(33.333% - 8px);
margin-right: 8px;
vertical-align: top;
}
.md-home-2col__side .md-guide-rail:nth-child(3n) {
margin-right: 0;
}
}
@media (max-width: 640px) {
.md-home-2col__side .md-guide-rail {
display: block;
width: 100%;
margin-right: 0;
}
}

@media (prefers-color-scheme: dark) {
.md-guide-rail__card {
background: #241914;
border-color: rgba(255, 240, 220, 0.08);
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.md-guide-rail__title { color: #F5EEE6; }
.md-guide-rail__subtitle { color: rgba(245, 238, 230, 0.72); }
.md-guide-rail__tag {
background: rgba(255, 240, 220, 0.06);
color: rgba(245, 238, 230, 0.75);
}
.md-guide-rail__card::after { opacity: 0.10; }
}


.md-nav-center--implant   > a { color: #5E5E5B !important; }        
.md-nav-center--suresmile > a { color: #1F4A3E !important; }        
.md-nav-center--laminate  > a { color: #B29CC7 !important; }        

.md-nav-center > a {
font-weight: 800 !important;
letter-spacing: -0.01em;
transition: color 0.2s ease, background 0.2s ease;
}
.md-nav-center--implant   > a:hover { color: #4A7A72 !important; background: rgba(94, 94, 91, 0.08); }
.md-nav-center--suresmile > a:hover { color: #C86B50 !important; background: rgba(31, 74, 62, 0.08); }
.md-nav-center--laminate  > a:hover { color: #9C86B2 !important; background: rgba(178, 156, 199, 0.10); }


@media (prefers-color-scheme: dark) {
.md-nav-center--implant   > a { color: #8FBFB6 !important; }
.md-nav-center--suresmile > a { color: #9CC5B5 !important; }
.md-nav-center--laminate  > a { color: #D2BFE0 !important; }
}


.md-center-color--implant   { color: #5E5E5B !important; }        
.md-center-color--suresmile { color: #1F4A3E !important; }        
.md-center-color--laminate  { color: #B29CC7 !important; }        


a.md-center-color--implant:hover   { color: #4A7A72 !important; }
a.md-center-color--suresmile:hover { color: #C86B50 !important; }
a.md-center-color--laminate:hover  { color: #9C86B2 !important; }


@media (prefers-color-scheme: dark) {
.md-center-color--implant   { color: #8FBFB6 !important; }
.md-center-color--suresmile { color: #9CC5B5 !important; }
.md-center-color--laminate  { color: #D2BFE0 !important; }
}


.md-floor-rail__center--highlight.md-center-color--implant,
.md-floor-guide__center--highlight.md-center-color--implant { color: #5E5E5B !important; font-weight: 700; }
.md-floor-rail__center--highlight.md-center-color--suresmile,
.md-floor-guide__center--highlight.md-center-color--suresmile { color: #1F4A3E !important; font-weight: 700; }
.md-floor-rail__center--highlight.md-center-color--laminate,
.md-floor-guide__center--highlight.md-center-color--laminate { color: #B29CC7 !important; font-weight: 700; }


.md-service-card--implant   .md-service-card__title { color: #5E5E5B; }
.md-service-card--suresmile .md-service-card__title { color: #1F4A3E; }
.md-service-card--laminate  .md-service-card__title { color: #9C86B2; }
.md-service-card--implant   .md-service-card__icon svg,
.md-service-card--implant   .md-service-card__icon { color: #5E5E5B; }
.md-service-card--suresmile .md-service-card__icon svg,
.md-service-card--suresmile .md-service-card__icon { color: #1F4A3E; }
.md-service-card--laminate  .md-service-card__icon svg,
.md-service-card--laminate  .md-service-card__icon { color: #9C86B2; }
.md-service-card--implant   { border-top: 3px solid #5E5E5B; }
.md-service-card--suresmile { border-top: 3px solid #1F4A3E; }
.md-service-card--laminate  { border-top: 3px solid #B29CC7; }
@media (prefers-color-scheme: dark) {
.md-service-card--implant   .md-service-card__title { color: #8FBFB6; }
.md-service-card--suresmile .md-service-card__title { color: #9CC5B5; }
.md-service-card--laminate  .md-service-card__title { color: #D2BFE0; }
}


@media (max-width: 1080px) {
html body .md-header__nav {
background: #FAFAF8 !important;                       
background-color: #FAFAF8 !important;
color: #2A1E18 !important;
color-scheme: only light !important;                  
}
html body .md-header__nav * {
color-scheme: only light !important;
}
html body .md-header__nav > ul > li > a,
html body .md-header__nav .md-nav > li > a {
color: #2A1E18 !important;                            
background: transparent !important;
font-weight: 700 !important;
}
html body .md-header__nav > ul > li > a:hover,
html body .md-header__nav .md-nav > li > a:hover {
color: #1F4A3E !important;                            
background: rgba(31, 74, 62, 0.06) !important;
}
html body .md-header__nav .sub-menu > li > a {
color: #6B554A !important;                            
}
html body .md-header__nav .sub-menu > li > a:hover {
color: #1F4A3E !important;
}

html body .md-header__nav .md-nav-center--implant   > a { color: #5E5E5B !important; }
html body .md-header__nav .md-nav-center--suresmile > a { color: #1F4A3E !important; }
html body .md-header__nav .md-nav-center--laminate  > a { color: #B29CC7 !important; }

@media (prefers-color-scheme: dark) {
html body .md-header__nav {
background: #FAFAF8 !important;
color: #2A1E18 !important;
}
html body .md-header__nav > ul > li > a,
html body .md-header__nav .md-nav > li > a {
color: #2A1E18 !important;
}
html body .md-header__nav .sub-menu > li > a {
color: #6B554A !important;
}
}
}





.md-footer > .md-container { max-width: 1330px; }
.md-footer__grid {
max-width: 1330px;
grid-template-columns: 0.85fr 0.95fr 1.3fr 1.1fr;
gap: clamp(18px, 2vw, 28px);

align-items: start;
}


.md-footer__cicon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 26px;
height: 26px;
flex: 0 0 26px;
border-radius: 3px;
background: rgba(255, 255, 255, 0.07);
color: var(--color-primary-light, #e8a487);
transition: background 0.2s var(--ease), color 0.2s var(--ease);
}
.md-footer__cicon svg { width: 15px; height: 15px; }
.md-footer__phone a:hover .md-footer__cicon,
.md-footer__email a:hover .md-footer__cicon {
background: rgba(31, 74, 62, 0.22);
color: #fff;
}

.md-footer__phone a,
.md-footer__email a { align-items: center; }


.md-footer__col--hours .md-footer__hours-link {
display: flex !important;
flex-direction: column;
height: 100%;
}
.md-footer__hours-note { margin-top: auto !important; }


.md-footer__col--hours,
.md-footer__col--floors,
.md-footer__col--parking,
.md-footer__brand {
word-break: keep-all;
overflow-wrap: break-word;
}

.md-footer__col--floors {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.06);
border-radius: 3px;
padding: 22px 20px;
transition: background 0.25s var(--ease), border-color 0.25s var(--ease);
}
.md-footer__col--floors:hover {
background: rgba(255, 255, 255, 0.05);
border-color: rgba(255, 255, 255, 0.09);
}
.md-footer__col--floors h4 {
display: flex;
align-items: center;
gap: 8px;
color: #fff;
font-size: 1.0625rem;
font-weight: 700;
letter-spacing: 0.02em;
margin: 0 0 18px;
padding-bottom: 14px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.md-footer__floor-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 26px;
height: 26px;
flex: 0 0 26px;
border-radius: 3px;
background: var(--color-primary, #1F4A3E);
color: #fff;
box-shadow: 0 2px 8px rgba(31, 74, 62, 0.35);
}
.md-footer__floor-badge svg { width: 15px; height: 15px; }

.md-footer__floor-list { list-style: none; margin: 0; padding: 0; }


.md-footer__hours {
gap: 14px;
flex-wrap: nowrap;
}
.md-footer__hours strong { white-space: nowrap; }
.md-footer__hours span { white-space: nowrap; }
.md-footer__floor-row {
display: grid;
grid-template-columns: 34px 1fr;
gap: 8px;
align-items: baseline;
padding: 11px 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.md-footer__floor-row:last-child { border-bottom: none; }
.md-footer__floor-num {
font-weight: 700;
font-size: 0.95rem;
color: #fff;
letter-spacing: 0.02em;
}
.md-footer__floor-centers {
font-size: 0.86rem;
line-height: 1.7;
color: rgba(255, 255, 255, 0.72);
}
.md-footer__floor-center--link {
color: inherit;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: color 0.2s var(--ease), border-color 0.2s var(--ease);
}
.md-footer__floor-center--link:hover {
color: #fff;
border-bottom-color: rgba(255, 255, 255, 0.35);
}

.md-footer__floor-center:not(:last-child)::after {
content: '\00a0·';
color: rgba(255, 255, 255, 0.25);
font-weight: 400;
}
.md-footer__floor-sep { display: none; }


.md-footer__col--floors .md-center-color--implant   { color: #8fbfb6 !important; font-weight: 700; }
.md-footer__col--floors .md-center-color--suresmile { color: #9CC5B5 !important; font-weight: 700; }
.md-footer__col--floors .md-center-color--laminate  { color: #d2bfe0 !important; font-weight: 700; }
.md-footer__col--floors a.md-center-color--implant:hover   { color: #b4d6cf !important; }
.md-footer__col--floors a.md-center-color--suresmile:hover { color: #ffc79f !important; }
.md-footer__col--floors a.md-center-color--laminate:hover  { color: #e8daf2 !important; }


@media (max-width: 1180px) {
.md-footer__grid { grid-template-columns: 1fr 1fr; }
.md-footer__col--parking { grid-column: auto; }
}

@media (max-width: 900px) {
.md-footer__col--floors { padding: 20px 18px; }
}
@media (max-width: 768px) {
.md-footer__col--floors { padding: 18px 16px !important; border-radius: 3px !important; }
.md-footer__floor-row { grid-template-columns: 38px 1fr; padding: 9px 0; }
.md-footer__floor-centers { font-size: 0.84rem; }
}


.md-floor-badge {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 3px 9px 3px 7px;
border-radius: 2px;
background: rgba(31, 74, 62, 0.12);
border: 1px solid rgba(31, 74, 62, 0.22);
color: var(--color-primary, #1F4A3E);
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.02em;
line-height: 1.4;
white-space: nowrap;
vertical-align: middle;
}
.md-floor-badge svg { width: 12px; height: 12px; flex: 0 0 12px; }


.md-floor-badge--testi { margin-left: 8px; }

.md-floor-badge--rail {
margin-left: 6px;
padding: 2px 7px 2px 5px;
font-size: 0.7rem;
}
.md-floor-badge--rail svg { width: 10px; height: 10px; flex: 0 0 10px; }


.md-footer .md-floor-badge,
.md-testi-rail .md-floor-badge {
background: rgba(255, 255, 255, 0.06);
border-color: rgba(255, 255, 255, 0.12);
color: rgba(255, 255, 255, 0.75);
}
@media (prefers-color-scheme: dark) {
.md-floor-badge {
background: rgba(156, 197, 181, 0.14);
border-color: rgba(156, 197, 181, 0.26);
color: #9CC5B5;
}
}


.md-floor-badge--card {
margin: 0 0 10px;
padding: 2px 8px 2px 6px;
font-size: 0.72rem;
}
.md-floor-badge--card svg { width: 11px; height: 11px; flex: 0 0 11px; }


.md-guide-cta-sec { padding-top: 0; }

.md-guide-cta {
--md-cta-accent: #1F4A3E;
--md-cta-accent-2: #9CC5B5;
position: relative;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: clamp(14px, 2vw, 24px);
padding: clamp(20px, 2.6vw, 28px) clamp(20px, 2.6vw, 30px);
border-radius: 3px;
background: var(--color-white, #fff);
border: 1px solid rgba(30, 20, 14, 0.08);
box-shadow: 0 2px 10px rgba(30, 20, 14, 0.05);
text-decoration: none;
color: inherit;
overflow: hidden;
isolation: isolate;
transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), border-color 0.25s var(--ease);
}
.md-guide-cta::before {
content: '';
position: absolute;
inset: 0 auto 0 0;
width: 5px;
background: linear-gradient(180deg, var(--md-cta-accent), var(--md-cta-accent-2));
}
.md-guide-cta::after {
content: attr(data-num);
position: absolute;
right: -10px;
bottom: -34px;
font-size: 8rem;
font-weight: 900;
line-height: 1;
letter-spacing: -0.05em;
color: var(--md-cta-accent);
opacity: 0.06;
z-index: 0;
pointer-events: none;
}
.md-guide-cta:hover {
transform: translateY(-3px);
box-shadow: 0 14px 30px rgba(30, 20, 14, 0.11);
border-color: color-mix(in srgb, var(--md-cta-accent) 45%, transparent);
}


.md-guide-cta--implant   { --md-cta-accent: #5E5E5B; --md-cta-accent-2: #8fbfb6; }
.md-guide-cta--suresmile { --md-cta-accent: #1F4A3E; --md-cta-accent-2: #9CC5B5; }
.md-guide-cta--laminate  { --md-cta-accent: #b29cc7; --md-cta-accent-2: #d2bfe0; }

.md-guide-cta__icon {
font-size: 2rem;
line-height: 1;
flex: 0 0 auto;
z-index: 1;
}
.md-guide-cta__body { display: block; min-width: 0; z-index: 1; }
.md-guide-cta__code {
display: inline-block;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.08em;
color: var(--md-cta-accent);
margin-bottom: 6px;
}
.md-guide-cta__title {
display: block;
font-size: clamp(1.05rem, 1.6vw, 1.25rem);
font-weight: 700;
line-height: 1.4;
color: var(--color-text, #1e140e);
word-break: keep-all;
}
.md-guide-cta__subtitle {
display: block;
margin-top: 6px;
font-size: 0.875rem;
line-height: 1.6;
color: var(--color-text-sub, #6b5d55);
word-break: keep-all;
}
.md-guide-cta__tags {
display: flex;
flex-wrap: wrap;
gap: 6px;
margin-top: 12px;
}
.md-guide-cta__tag {
font-size: 0.72rem;
font-weight: 600;
padding: 3px 9px;
border-radius: 2px;
background: color-mix(in srgb, var(--md-cta-accent) 10%, transparent);
color: var(--md-cta-accent);
white-space: nowrap;
}
.md-guide-cta__read {
display: inline-flex;
align-items: center;
gap: 6px;
flex: 0 0 auto;
font-size: 0.9rem;
font-weight: 700;
color: var(--md-cta-accent);
white-space: nowrap;
z-index: 1;
transition: gap 0.2s var(--ease);
}
.md-guide-cta:hover .md-guide-cta__read { gap: 11px; }

@media (max-width: 720px) {
.md-guide-cta {
grid-template-columns: auto 1fr;
row-gap: 14px;
}
.md-guide-cta__read { grid-column: 1 / -1; justify-content: flex-end; }
.md-guide-cta::after { font-size: 6rem; bottom: -24px; }
}




.md-hero-combined__certs {
display: grid;
grid-template-columns: repeat(3, minmax(0, auto));
justify-content: center;
align-items: stretch;
gap: 8px 10px;
max-width: 900px;
}

.md-hero-combined__certs li:first-child {
grid-column: 1 / -1;
justify-self: center;
}
.md-hero-combined--has-bg .md-hero-combined__certs li:first-child {
background: rgba(0, 0, 0, 0.58) !important;
border-color: rgba(255, 220, 180, 0.45) !important;
font-weight: 700;
}

@media (max-width: 900px) {
.md-hero-combined__certs { grid-template-columns: repeat(2, minmax(0, auto)); }
}
@media (max-width: 560px) {
.md-hero-combined__certs { grid-template-columns: minmax(0, auto); }
}




.md-impl-h3 {
margin: 44px 0 8px;
font-size: var(--fs-h3);
font-weight: 800;
letter-spacing: -0.03em;
line-height: 1.4;
color: var(--color-primary-dark);
word-break: keep-all;
}
.md-impl-h3:first-of-type { margin-top: 0; }
.md-impl-lead {
margin: 0 0 22px;
font-size: var(--fs-small);
line-height: 1.85;
color: var(--color-text-sub);
word-break: keep-all;
}


.md-impl-hard {
background: linear-gradient(180deg, rgba(31, 74, 62, 0.05) 0%, rgba(31, 74, 62, 0.11) 100%);
border-top: 3px solid var(--color-primary);
border-bottom: 3px solid var(--color-primary);
}
.md-impl-hard .md-section-head__title { color: var(--color-primary-dark); }

.md-impl-cards {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 14px;
}
.md-impl-card {
position: relative;
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 22px 20px 24px;
box-shadow: var(--card-shadow);
transition: transform 0.24s var(--ease), box-shadow 0.24s var(--ease);
}
.md-impl-card:hover { transform: translateY(-3px); box-shadow: var(--card-shadow-hover); }
.md-impl-card::before {
content: "\201C";
position: absolute;
top: 2px;
left: 14px;
font-size: 3rem;
line-height: 1;
font-weight: 700;
color: var(--color-primary);
opacity: 0.2;
pointer-events: none;
}
.md-impl-card__q {
position: relative;
margin: 0 0 10px;
padding-left: 16px;
font-size: 1rem;
font-weight: 800;
line-height: 1.5;
letter-spacing: -0.03em;
color: var(--color-primary-dark);
word-break: keep-all;
}
.md-impl-card p {
margin: 0;
font-size: 0.86rem;
line-height: 1.8;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-card p strong { color: var(--color-accent-dark); font-weight: 800; }


.md-impl-diffs {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
}
.md-impl-diff {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 28px 24px 30px;
box-shadow: var(--card-shadow);
display: flex;
flex-direction: column;
gap: 10px;
}
.md-impl-diff__n {
font-size: clamp(1.5rem, 2.6vw, 2rem);
font-weight: 900;
line-height: 1.1;
letter-spacing: -0.03em;
color: var(--color-primary);
word-break: keep-all;
}
.md-impl-diff__n span {
font-size: 0.46em;
font-weight: 700;
margin-left: 3px;
color: var(--color-text-mute);
letter-spacing: 0;
}
.md-impl-diff h3 {
margin: 0;
font-size: 1.06rem;
font-weight: 800;
line-height: 1.5;
letter-spacing: -0.025em;
color: var(--color-text);
word-break: keep-all;
}
.md-impl-diff p {
margin: 0;
font-size: 0.9rem;
line-height: 1.85;
color: var(--color-text-sub);
word-break: keep-all;
}


.md-impl-compare {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
align-items: stretch;
}
.md-impl-compare__col {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 22px 22px 24px;
display: flex;
flex-direction: column;
gap: 12px;
}
.md-impl-compare__col.is-ours {
border: 1.5px solid var(--color-accent);
background: var(--color-accent-bg);
}
.md-impl-compare__tag {
align-self: flex-start;
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.08em;
padding: 5px 13px;
border-radius: 2px;
background: var(--color-surface-alt);
color: var(--color-text-mute);
}
.md-impl-compare__col.is-ours .md-impl-compare__tag {
background: var(--color-accent-dark);
color: var(--color-text-on-primary);
}
.md-impl-compare__flow {
margin: 0;
font-size: 0.9rem;
line-height: 1.85;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-compare__flow b { color: var(--color-accent-dark); font-weight: 800; }
.md-impl-compare__sum {
margin: auto 0 0;
padding-top: 12px;
border-top: 1px solid var(--color-border);
font-size: 0.88rem;
line-height: 1.7;
color: var(--color-text);
word-break: keep-all;
}
.md-impl-compare__sum b { color: var(--color-primary-dark); font-weight: 900; font-size: 1.1em; }

.md-impl-note {
display: block;
margin-top: 14px;
background: var(--color-surface-alt);
border-left: 4px solid var(--color-warning);
border-radius: 0 12px 12px 0;
padding: 18px 20px;
font-size: 0.87rem;
line-height: 1.85;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-note strong { display: block; margin-bottom: 4px; color: var(--color-text); font-weight: 800; }


.md-impl-options {
margin-top: 32px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 14px;
}
.md-impl-option {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 20px 20px 22px;
box-shadow: var(--card-shadow);
}
.md-impl-option h4 {
margin: 0 0 8px;
font-size: 1.02rem;
font-weight: 800;
letter-spacing: -0.025em;
color: var(--color-text);
word-break: keep-all;
}
.md-impl-option h4 span {
display: block;
margin-top: 3px;
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.06em;
color: var(--color-primary);
}
.md-impl-option p {
margin: 0;
font-size: 0.87rem;
line-height: 1.8;
color: var(--color-text-sub);
word-break: keep-all;
}


.md-impl-brands {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 14px;
}
.md-impl-brand {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 24px 22px 26px;
box-shadow: var(--card-shadow);
}
.md-impl-brand h3 {
margin: 0 0 14px;
padding-bottom: 12px;
border-bottom: 1px solid var(--color-border);
font-size: 1.08rem;
font-weight: 800;
letter-spacing: -0.025em;
color: var(--color-text);
word-break: keep-all;
}
.md-impl-brand h3 span {
display: block;
margin-top: 3px;
font-size: 0.72rem;
font-weight: 600;
letter-spacing: 0.06em;
color: var(--color-primary);
}
.md-impl-brand ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 9px; }
.md-impl-brand li {
position: relative;
padding-left: 16px;
font-size: 0.88rem;
line-height: 1.8;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-brand li::before {
content: "";
position: absolute;
left: 0;
top: 0.72em;
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--color-accent);
}
.md-impl-brand li strong { color: var(--color-text); font-weight: 800; }


.md-impl-media {
display: grid;
grid-template-columns: 0.85fr 1.15fr;
gap: clamp(24px, 3.5vw, 44px);
align-items: start;
}
.md-impl-media__fig {
margin: 0;
position: sticky;
top: 96px;
}
.md-impl-media__fig img {
width: 100%;
height: auto;
display: block;
border-radius: 3px;
border: 1px solid var(--color-border);
background: var(--color-white);
}
.md-impl-media__fig figcaption {
margin-top: 10px;
font-size: 0.78rem;
line-height: 1.7;
color: var(--color-text-mute);
word-break: keep-all;
}
.md-impl-media__body > .md-section-head__eyebrow { margin-bottom: 8px; }
.md-impl-media__body h2 {
margin: 0 0 14px;
font-size: var(--fs-h2);
font-weight: 800;
letter-spacing: -0.03em;
line-height: 1.35;
color: var(--color-primary-dark);
word-break: keep-all;
}
.md-impl-media__body h3 {
margin: 30px 0 10px;
font-size: 1.1rem;
font-weight: 800;
letter-spacing: -0.025em;
color: var(--color-text);
word-break: keep-all;
}
.md-impl-media__body p {
margin: 0 0 14px;
font-size: 0.92rem;
line-height: 1.9;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-media__body p strong { color: var(--color-text); font-weight: 700; }

.md-impl-ticks { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.md-impl-ticks li {
position: relative;
padding-left: 26px;
font-size: 0.89rem;
line-height: 1.8;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-ticks li::before {
content: "";
position: absolute;
left: 2px;
top: 0.5em;
width: 11px;
height: 6px;
border-left: 2px solid var(--color-accent-dark);
border-bottom: 2px solid var(--color-accent-dark);
transform: rotate(-45deg);
}
.md-impl-ticks li strong { color: var(--color-text); font-weight: 800; }


.md-impl-saves {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 14px;
}
.md-impl-save {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 24px 22px 26px;
box-shadow: var(--card-shadow);
display: flex;
flex-direction: column;
gap: 12px;
}
.md-impl-save h3 {
margin: 0;
font-size: 1.06rem;
font-weight: 800;
letter-spacing: -0.025em;
color: var(--color-accent-dark);
word-break: keep-all;
}
.md-impl-save h3 span {
display: block;
margin-top: 3px;
font-size: 0.74rem;
font-weight: 600;
letter-spacing: 0.04em;
color: var(--color-text-mute);
}
.md-impl-save p {
margin: 0;
font-size: 0.87rem;
line-height: 1.8;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-save ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.md-impl-save li {
position: relative;
padding-left: 15px;
font-size: 0.85rem;
line-height: 1.75;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-save li::before {
content: "";
position: absolute;
left: 0;
top: 0.68em;
width: 5px;
height: 5px;
border-radius: 50%;
background: var(--color-accent);
}
.md-impl-save li strong { color: var(--color-text); font-weight: 700; }
.md-impl-save__stat {
margin: auto 0 0;
padding-top: 12px;
border-top: 1px solid var(--color-border);
font-size: 0.8rem;
line-height: 1.7;
color: var(--color-text-mute);
}
.md-impl-save__stat b { color: var(--color-accent-dark); font-weight: 800; }

.md-impl-save--wide {
grid-column: 1 / -1;
display: grid;
grid-template-columns: 0.9fr 1.1fr;
gap: clamp(20px, 3vw, 34px);
align-items: center;
}
.md-impl-save--wide .md-impl-save__fig { margin: 0; }
.md-impl-save--wide .md-impl-save__fig img {
width: 100%;
height: auto;
display: block;
border-radius: 3px;
border: 1px solid var(--color-border);
}
.md-impl-save--wide > div { display: flex; flex-direction: column; gap: 12px; }


.md-impl-timeline {
list-style: none;
margin: 0;
padding: 0;
counter-reset: mdimpl;
position: relative;
}
.md-impl-timeline::before {
content: "";
position: absolute;
left: 19px;
top: 12px;
bottom: 12px;
width: 2px;
background: var(--color-border);
}
.md-impl-timeline li {
counter-increment: mdimpl;
position: relative;
padding: 0 0 26px 58px;
}
.md-impl-timeline li:last-child { padding-bottom: 0; }
.md-impl-timeline li::before {
content: counter(mdimpl);
position: absolute;
left: 0;
top: 0;
width: 40px;
height: 40px;
display: grid;
place-items: center;
border-radius: 50%;
background: var(--color-accent-dark);
color: var(--color-text-on-primary);
font-size: 1rem;
font-weight: 800;
box-shadow: 0 0 0 5px var(--color-bg);
}
.md-impl-timeline h3 {
margin: 8px 0 6px;
font-size: 1.04rem;
font-weight: 800;
letter-spacing: -0.025em;
color: var(--color-text);
word-break: keep-all;
}
.md-impl-timeline p {
margin: 0;
font-size: 0.89rem;
line-height: 1.85;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-timeline p strong { color: var(--color-accent-dark); font-weight: 800; }


.md-impl-care {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 16px;
}
.md-impl-care__col {
background: var(--color-white);
border: 1px solid var(--color-border);
border-radius: 3px;
padding: 26px 24px 28px;
box-shadow: var(--card-shadow);
}
.md-impl-care__col h3 {
margin: 0 0 16px;
padding-bottom: 12px;
border-bottom: 1px solid var(--color-border);
font-size: 1.1rem;
font-weight: 800;
letter-spacing: -0.025em;
color: var(--color-accent-dark);
word-break: keep-all;
}


.md-impl-insurance {
display: grid;
grid-template-columns: 0.85fr 1.15fr;
gap: clamp(24px, 3.5vw, 44px);
align-items: center;
background: var(--color-accent-bg);
border: 1.5px solid var(--color-accent);
border-radius: 3px;
padding: clamp(26px, 3.5vw, 38px);
}
.md-impl-insurance__head h2 {
margin: 0 0 10px;
font-size: clamp(1.2rem, 2.2vw, 1.55rem);
font-weight: 800;
letter-spacing: -0.03em;
color: var(--color-accent-dark);
word-break: keep-all;
}
.md-impl-insurance__head p {
margin: 0;
font-size: 0.93rem;
line-height: 1.85;
color: var(--color-text-sub);
word-break: keep-all;
}
.md-impl-insurance__head p strong { color: var(--color-text); font-weight: 800; }
.md-impl-insurance__facts {
margin: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
.md-impl-insurance__facts > div {
background: var(--color-white);
border-radius: 3px;
padding: 14px 15px;
}
.md-impl-insurance__facts dt {
font-size: 0.68rem;
font-weight: 800;
letter-spacing: 0.1em;
color: var(--color-text-mute);
margin-bottom: 4px;
}
.md-impl-insurance__facts dd {
margin: 0;
font-size: 0.84rem;
font-weight: 600;
line-height: 1.6;
color: var(--color-text);
word-break: keep-all;
}


@media (max-width: 1024px) {
.md-impl-cards { grid-template-columns: repeat(2, 1fr); }
.md-impl-saves { grid-template-columns: repeat(2, 1fr); }
.md-impl-media { grid-template-columns: 1fr; }
.md-impl-media__fig { position: static; }
.md-impl-insurance { grid-template-columns: 1fr; }
.md-impl-insurance__facts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
.md-impl-diffs { grid-template-columns: 1fr; }
.md-impl-options { grid-template-columns: 1fr; }
.md-impl-brands { grid-template-columns: 1fr; }
.md-impl-compare { grid-template-columns: 1fr; }
.md-impl-care { grid-template-columns: 1fr; }
.md-impl-save--wide { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
.md-impl-cards { grid-template-columns: 1fr; }
.md-impl-saves { grid-template-columns: 1fr; }
.md-impl-insurance__facts { grid-template-columns: 1fr; }
.md-impl-timeline li { padding-left: 50px; }
.md-impl-timeline::before { left: 17px; }
.md-impl-timeline li::before { width: 36px; height: 36px; font-size: 0.92rem; }
.md-impl-h3 { margin-top: 34px; }
}
@media (prefers-reduced-motion: reduce) {
.md-impl-card { transition: none; }
}


.md-guide-rail--preservation {
--md-rail-accent: #5B8C3A;       
--md-rail-accent-2: #8FBF6A;
}
.md-guide-cta--preservation { --md-cta-accent: #5b8c3a; --md-cta-accent-2: #8fbf6a; }


.md-nav-center--preservation > a { color: #5B8C3A !important; }
.md-nav-center--preservation > a:hover { color: #4A7530 !important; background: rgba(91, 140, 58, 0.08); }
html body .md-header__nav .md-nav-center--preservation > a { color: #5B8C3A !important; }


.md-center-color--preservation { color: #5B8C3A !important; }
a.md-center-color--preservation:hover { color: #4A7530 !important; }
.md-floor-rail__center--highlight.md-center-color--preservation,
.md-floor-guide__center--highlight.md-center-color--preservation { color: #5B8C3A !important; font-weight: 700; }


.md-service-card--preservation .md-service-card__title { color: #5B8C3A; }
.md-service-card--preservation .md-service-card__icon svg,
.md-service-card--preservation .md-service-card__icon { color: #5B8C3A; }
.md-service-card--preservation { border-top: 3px solid #7FAF63; }


.md-footer__col--floors .md-center-color--preservation { color: #A9D18E !important; font-weight: 700; }


.md-section--spa { background: rgba(91, 140, 58, 0.06); }
.md-section--spa .md-section-head__eyebrow { color: #5B8C3A; }
.md-preservation-card.is-spa { border-top: 3px solid #7FAF63; }


@media (prefers-color-scheme: dark) {
.md-nav-center--preservation > a,
html body .md-header__nav .md-nav-center--preservation > a,
.md-center-color--preservation,
.md-service-card--preservation .md-service-card__title { color: #A9D18E !important; }
.md-section--spa { background: rgba(169, 209, 142, 0.06); }
}


.md-clinic-intro__grid { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 640px) { .md-clinic-intro__grid { grid-template-columns: 1fr; } }

.md-clinic-card__guide {
display: flex;
align-items: center;
gap: 8px;
margin-top: auto;
margin-bottom: 12px;
padding: 10px 14px;
border-radius: 3px;
border: 1px solid currentColor;
font-size: 0.8125rem;
font-weight: 700;
text-decoration: none;
line-height: 1.4;
transition: transform 0.2s var(--ease), box-shadow 0.2s var(--ease);
}
.md-clinic-card__guide:hover { transform: translateX(2px); box-shadow: 0 4px 12px rgba(30, 20, 14, 0.08); }
.md-clinic-card__guide-icon { font-size: 1rem; }
.md-clinic-card__guide-code { font-size: 0.68rem; letter-spacing: 0.08em; opacity: 0.8; }
.md-clinic-card__guide-title { flex: 1; }
.md-clinic-card__guide + .md-clinic-card__more { margin-top: 0; }
.md-clinic-card__guide.md-center-color--implant      { background: rgba(94, 94, 91, 0.08); }
.md-clinic-card__guide.md-center-color--suresmile    { background: rgba(31, 74, 62, 0.08); }
.md-clinic-card__guide.md-center-color--laminate     { background: rgba(178, 156, 199, 0.12); }
.md-clinic-card__guide.md-center-color--preservation { background: rgba(91, 140, 58, 0.08); }

.md-clinic-card--implant      { border-top: 3px solid #5E5E5B; }
.md-clinic-card--suresmile    { border-top: 3px solid #1F4A3E; }
.md-clinic-card--laminate     { border-top: 3px solid #B29CC7; }
.md-clinic-card--preservation { border-top: 3px solid #7FAF63; }


.md-facility-more { text-align: center; margin-top: clamp(20px, 3vw, 32px); }


.md-fab-stack { right: 20px; bottom: 20px; gap: 10px; }
.md-fab {
position: relative;
width: 48px; height: 48px;
padding: 0;
gap: 0;
justify-content: center;
border-radius: 50%;
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}
.md-fab:hover { transform: none; box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22); }
.md-fab__icon { width: auto; height: auto; font-size: 1.3rem; background: transparent; }
.md-fab--naver .md-fab__icon { width: 26px; height: 26px; font-size: 0.95rem; background: #fff; }
.md-fab__icon--svg { width: 26px; height: 26px; }
.md-fab--phone .md-fab__icon,
.md-fab--directions .md-fab__icon { font-size: 1.25rem; }


.md-fab__label {
position: absolute;
right: calc(100% + 12px);
top: 50%;
transform: translateY(-50%) translateX(6px);
background: rgba(42, 33, 26, 0.94);
color: #fff;
font-size: 0.8125rem;
font-weight: 600;
line-height: 1;
padding: 8px 12px;
border-radius: 3px;
white-space: nowrap;
opacity: 0;
pointer-events: none;
transition: opacity 0.15s var(--ease), transform 0.15s var(--ease);
}
.md-fab__label::after {
content: '';
position: absolute;
left: 100%; top: 50%;
margin-top: -5px;
border: 5px solid transparent;
border-left-color: rgba(42, 33, 26, 0.94);
}
.md-fab:hover .md-fab__label,
.md-fab:focus-visible .md-fab__label {
opacity: 1;
transform: translateY(-50%) translateX(0);
}


.md-fab-stack.md-fab-ready {
opacity: 0;
transform: translateY(12px);
pointer-events: none;
transition: opacity 0.25s var(--ease), transform 0.25s var(--ease);
}
.md-fab-stack.md-fab-ready.is-visible {
opacity: 1;
transform: none;
pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
.md-fab__label, .md-fab-stack.md-fab-ready { transition: none; }
}


.md-hero-combined__bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; }
.md-hero-combined__bg-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.md-hero-combined__bg-shade {
position: absolute; inset: 0;
background: linear-gradient(180deg,
rgba(15, 10, 6, calc(var(--md-hero-overlay, 0.35) * 0.4)) 0%,
rgba(15, 10, 6, 0) 30%,
rgba(15, 10, 6, 0) 70%,
rgba(15, 10, 6, calc(var(--md-hero-overlay, 0.35) * 0.4)) 100%);
}


.md-gmap { margin-top: 28px; }
.md-gmap__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 12px; }
.md-gmap__title { margin: 0; font-size: 1.05rem; font-weight: 700; }
.md-gmap__sub { margin: 0; font-size: 0.9rem; color: var(--color-text-sub); }
.md-gmap__frame { position: relative; aspect-ratio: 21 / 9; max-height: 480px; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--color-border); background: var(--color-surface); }
.md-gmap__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 640px) { .md-gmap__frame { aspect-ratio: 4 / 3; } }


.md-locmap--gmap { cursor: default; }
.md-locmap--gmap:hover, .md-locmap--gmap:focus-visible { transform: none; box-shadow: none; }
.md-locmap--gmap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 640px) { .md-locmap--gmap { aspect-ratio: 4 / 3; max-height: none; } }


.md-locx__head { text-align: center; margin-bottom: 28px; }
.md-locx__eyebrow { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 2px; background: var(--color-surface); border: 1px solid var(--color-border); font-size: 0.8rem; font-weight: 700; color: var(--color-primary); }
.md-locx__title { margin: 12px 0 6px; font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 800; }
.md-locx__sub { margin: 0; color: var(--color-text-sub); }
.md-lm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
.md-lm { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 14px; border-radius: var(--radius-lg); border: 1px solid var(--color-border); background: var(--color-surface); text-decoration: none; color: var(--color-text); text-align: center; transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease); }
.md-lm:hover, .md-lm:focus-visible { transform: translateY(-3px); box-shadow: var(--shadow-hover); color: var(--color-text); }
.md-lm__icon { font-size: 1.6rem; line-height: 1; }
.md-lm__name { font-weight: 700; }
.md-lm__time { font-size: 0.85rem; color: var(--color-text-sub); }
.md-amen-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 20px 14px; }
.md-amen { text-align: center; }
.md-amen__icon { width: 54px; height: 54px; margin: 0 auto 10px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: var(--color-bg); border: 1px solid var(--color-border); font-size: 1.4rem; }
.md-amen__name { font-weight: 700; margin-bottom: 4px; }
.md-amen__desc { font-size: 0.85rem; color: var(--color-text-sub); line-height: 1.5; }


.md-loc-addr { display: flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 10px 14px; }
.md-loc-addr > a { min-width: 0; }
.md-loc-addr .md-copybtn { flex: none; white-space: nowrap; }
@media (max-width: 640px) { .md-loc-addr { flex-wrap: wrap; } }
.md-copybtn { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 2px; border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-text); font: inherit; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: background 0.2s var(--ease), transform 0.2s var(--ease); }
.md-copybtn:hover { background: var(--color-bg); transform: translateY(-1px); }
.md-copybtn svg { width: 16px; height: 16px; }
.md-loc-contact { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 14px; margin: 16px 0 0; }
.md-loc-contact__item { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 2px; background: var(--color-surface); border: 1px solid var(--color-border); color: var(--color-text); text-decoration: none; font: inherit; font-weight: 600; cursor: pointer; transition: border-color 0.2s var(--ease), transform 0.2s var(--ease); }
.md-loc-contact__item:hover { border-color: var(--color-primary); transform: translateY(-1px); color: var(--color-text); }
.md-loc-contact__item svg { width: 18px; height: 18px; color: var(--color-primary); flex: none; }
.md-loc-contact__item svg + span + svg { width: 14px; height: 14px; color: var(--color-text-sub); }
.md-footer [data-copy] { cursor: pointer; }
.md-toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 20px); background: rgba(20, 20, 20, 0.92); color: #fff; padding: 12px 20px; border-radius: 2px; font-size: 0.95rem; font-weight: 600; opacity: 0; pointer-events: none; transition: opacity 0.25s var(--ease), transform 0.25s var(--ease); z-index: 9999; white-space: nowrap; }
.md-toast.is-on { opacity: 1; transform: translate(-50%, 0); }


.md-page-hero--location .md-loc-addr { margin-top: 18px; gap: 12px 16px; }
.md-loc-addr__link { display: inline-flex; align-items: center; gap: 8px; min-width: 0; color: var(--color-text); text-decoration: none; font-size: clamp(1.05rem, 2vw, 1.3rem); font-weight: 700; letter-spacing: -0.01em; line-height: 1.5; transition: color 0.2s var(--ease); }
.md-loc-addr__link:hover, .md-loc-addr__link:focus-visible { color: var(--color-primary-dark); }
.md-loc-addr__pin { width: 22px; height: 22px; flex: none; color: var(--color-primary); }
.md-loc-addr .md-copybtn { border: 1.5px solid var(--color-primary); background: transparent; color: var(--color-primary-dark); font-weight: 700; padding: 8px 16px; }
.md-loc-addr .md-copybtn:hover, .md-loc-addr .md-copybtn:focus-visible { background: var(--color-primary); border-color: var(--color-primary); color: #fff; transform: translateY(-1px); }
.md-page-hero--location .md-loc-contact { margin-top: 18px; gap: 12px 14px; }
.md-page-hero--location .md-loc-contact__item { padding: 12px 22px; font-size: 1rem; font-weight: 700; letter-spacing: 0.01em; border-radius: 2px; box-shadow: 0 2px 10px rgba(22, 22, 22, 0.06); }
.md-page-hero--location .md-loc-contact__item svg { width: 19px; height: 19px; }

.md-page-hero--location a.md-loc-contact__item { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.md-page-hero--location a.md-loc-contact__item svg { color: #fff; }
.md-page-hero--location a.md-loc-contact__item:hover, .md-page-hero--location a.md-loc-contact__item:focus-visible { background: var(--color-primary-dark); border-color: var(--color-primary-dark); color: #fff; transform: translateY(-2px); box-shadow: 0 6px 18px rgba(31, 74, 62, 0.35); }

.md-page-hero--location button.md-loc-contact__item { background: var(--color-surface); border-color: var(--color-border); color: var(--color-text); }
.md-page-hero--location button.md-loc-contact__item svg { color: var(--color-primary); }
.md-page-hero--location button.md-loc-contact__item svg + span + svg { color: var(--color-text-sub); width: 15px; height: 15px; }
.md-page-hero--location button.md-loc-contact__item:hover, .md-page-hero--location button.md-loc-contact__item:focus-visible { border-color: var(--color-primary); color: var(--color-primary-dark); transform: translateY(-2px); box-shadow: 0 6px 18px rgba(22, 22, 22, 0.10); }
@media (max-width: 640px) {
.md-loc-addr__link { font-size: 1rem; text-align: left; }
.md-page-hero--location .md-loc-contact__item { width: 100%; justify-content: center; }
}


@media (min-width: 1081px) {
html:not([lang^="ko"]) .md-header__nav > ul,
html:not([lang^="ko"]) .md-nav {
flex-wrap: wrap; justify-content: center; row-gap: 0;
gap: clamp(2px, .7vw, 14px);
}
html:not([lang^="ko"]) .md-header__nav > ul > li > a,
html:not([lang^="ko"]) .md-nav > li > a {
white-space: normal; text-align: center; line-height: 1.15;
font-size: .82rem; padding: 10px 3px; max-width: 8.5em; overflow-wrap: anywhere;
}
html:not([lang^="ko"]) .md-header__nav .sub-menu > li > a { white-space: normal; line-height: 1.3; }
html:not([lang^="ko"]) .md-header__nav .sub-menu { min-width: 240px; }
html:not([lang^="ko"]) .md-header__info { display: none; } 
}
@media (min-width: 1081px) and (max-width: 1440px) {
html:not([lang^="ko"]) .md-header__nav > ul > li > a,
html:not([lang^="ko"]) .md-nav > li > a { font-size: .76rem; max-width: 7.5em; padding-inline: 2px; }
html:not([lang^="ko"]) .md-header__cta .mds-btn,
html:not([lang^="ko"]) .md-header__cta-btn { padding-inline: 14px; }
}

@media (min-width: 1081px) {
html[lang^="ja"] .md-header__nav > ul > li > a,
html[lang^="zh"] .md-header__nav > ul > li > a { font-size: .9rem; max-width: none; }
html[lang^="ja"] .md-header__info,
html[lang^="zh"] .md-header__info { display: flex; }
}


.md-region-cities { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 760px) { .md-region-cities { grid-template-columns: 1fr; } }
.md-region-city { padding: 16px; background: var(--color-white); border: 1px solid var(--color-border); border-radius: 3px; }
.md-region-city__main { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; text-decoration: none; color: var(--color-text); padding-bottom: 12px; margin-bottom: 12px; border-bottom: 1px dashed var(--color-border); }
.md-region-city__main:hover .md-region-city__name { color: var(--color-primary-dark); }
.md-region-city__name { font-size: 1.1rem; font-weight: 800; }
.md-region-city__time { font-size: .9rem; color: var(--color-text-sub); white-space: nowrap; font-feature-settings: 'tnum'; }
.md-region-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.md-region-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 2px; background: var(--color-surface-alt, #F2F1EE); color: var(--color-text); text-decoration: none; font-size: .86rem; line-height: 1; transition: background .15s var(--ease), color .15s var(--ease); font-feature-settings: 'tnum'; }
.md-region-chip:hover { background: var(--color-primary); color: #fff; }
.md-region-chip__name { font-weight: 700; }
.md-region-chip__time { opacity: .75; font-size: .8rem; }
.md-region-hero--simple .md-region-hero__title { font-size: clamp(1.6rem, 3.4vw, 2.3rem); }
.md-section-head--row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.md-section-head--row .md-section-head__title { margin: 0; }
.md-link-more { font-size: .9rem; font-weight: 700; color: var(--color-primary-dark); text-decoration: none; }
.md-link-more:hover { text-decoration: underline; }
@media (prefers-color-scheme: dark) {
.md-region-chip { background: var(--color-surface-alt, #2F251C); }
.md-region-chip:hover { background: var(--color-primary); }
}


.md-open-status { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; padding: 6px 14px; border-radius: 2px; font-size: .9rem; font-weight: 700; background: var(--color-surface-alt, #F2F1EE); color: var(--color-text-sub); }
.md-open-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.md-open-status.is-open { background: rgba(107, 143, 114, .14); color: var(--color-accent-dark, #5E5E5B); }
.md-open-status.is-before { background: rgba(201, 162, 39, .14); color: #8A6D0B; }
.md-open-status.is-closed { color: var(--color-text-mute); }
.md-locx__head--tight { margin-bottom: 16px; }
.md-locx__head--tight .md-locx__sub { margin-top: 8px; font-size: .92rem; }
.md-region-chips--lg .md-region-chip { padding: 9px 14px; font-size: .95rem; background: var(--color-white); border: 1px solid var(--color-border); }
.md-region-chips--lg .md-region-chip:hover { background: var(--color-primary); border-color: var(--color-primary); }
.md-region-chips--lg .md-region-chip__time { font-size: .84rem; }
.md-mapbtn-grid--region { margin-top: 20px; }
.md-region-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 760px) { .md-region-pair { grid-template-columns: 1fr; } }
@media (prefers-color-scheme: dark) {
.md-open-status { background: var(--color-surface-alt, #2F251C); }
.md-open-status.is-open { background: rgba(138, 138, 134, .18); color: var(--color-accent, #8A8A86); }
.md-open-status.is-before { background: rgba(224, 185, 58, .18); color: #F0CF5A; }
.md-region-chips--lg .md-region-chip { background: var(--color-surface, #241C15); }
}



.md-copybtn--icon { width: auto; height: auto; padding: 6px; border: 0; background: transparent; box-shadow: none; border-radius: 3px; color: var(--color-text-sub); }
.md-copybtn--icon svg { width: 16px; height: 16px; }
.md-copybtn--icon:hover { color: var(--color-primary-dark); background: transparent; transform: none; }


.md-term-glance { margin: 0 0 28px; padding: 20px 22px; border-radius: var(--radius-lg); background: var(--color-surface); border: 1px solid var(--color-border); }
.md-term-glance__title { margin: 0 0 12px; font-size: 1rem; font-weight: 800; color: var(--color-primary-dark); letter-spacing: .02em; }
.md-term-glance__list { margin: 0; display: flex; flex-direction: column; gap: 10px; }
.md-term-glance__row { display: grid; grid-template-columns: 7.5em 1fr; gap: 12px; align-items: start; }
.md-term-glance__row dt { margin: 0; font-weight: 800; font-size: .92rem; color: var(--color-text); }
.md-term-glance__row dd { margin: 0; font-size: .95rem; line-height: 1.7; color: var(--color-text-sub); word-break: keep-all; }
@media (max-width: 560px) { .md-term-glance { padding: 16px; } .md-term-glance__row { grid-template-columns: 1fr; gap: 4px; } }
