@charset "utf-8";

/**
 * 타이포그래피 · 브랜드 토큰 — Pretendard · html 62.5%
 */
:root {
    --syou-primary: #c49a6b;
    --syou-primary-dark: #a87f52;
    --syou-primary-light: #faf6f1;
    --syou-accent: #c49a6b;
    --syou-danger: #e85d4a;
    --syou-text: #222;
    --syou-muted: #666;
    --syou-border: #eee;
    --syou-radius: 10px;
    --syou-bg: #fff;
    --syou-bg-page: #fff;
    /* PC 2단 레이아웃 바깥 배경 · 패널 입체 음영(브랜드 톤) */
    --syou-shell-bg: var(--syou-primary-light, #faf6f1);
    --syou-panel-shadow-rgb: 196, 154, 107;
    --syou-panel-shadow-dark-rgb: 168, 127, 82;
    --syou-panel-seam-color: var(--syou-primary, #c49a6b);
    --syou-frame-title: 2rem;
    --syou-frame-text: 1.8rem;
    --syou-frame-sub: 1.7rem;
    --syou-frame-caption: 1.6rem;
    /* 예외: 뱃지·표단위·날짜·페이지네이션·고밀도 표·브레드크럼 (본문보다 한 단계) */
    --syou-frame-meta: 1.4rem;
    --syou-frame-pad-x: 20px;
}

html.syou-root body.syou-layout {
    background-color: var(--syou-bg-page);
}

body.syou-layout {
    color: var(--syou-text);
    -webkit-font-smoothing: antialiased;
}

body.syou-layout a {
    color: inherit;
}

.syou-sec-head__more:hover,
.syou-event-card__more:hover,
.pc-sidebar__nav a:hover,
.syou-drawer__nav a:hover {
    color: var(--syou-primary);
}

.syou-event-page__cta-btn,
.syou-cta__btn {
    background: var(--syou-primary);
    color: #fff;
}

.syou-event-page__cta-btn:hover,
.syou-cta__btn:hover {
    background: var(--syou-primary-dark);
}

html.syou-root {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

html.syou-root body.syou-layout {
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.57;
    letter-spacing: -0.02em;
    color: #333;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* 구형 common 16px·고정헤더 보정 */
html.syou-root body.syou-layout #header,
html.syou-root body.syou-layout #container,
html.syou-root body.syou-layout #contents {
    font-size: 1.4rem;
    line-height: 1.57;
}

/* ── PC 좌측 메뉴창 (면역한방병원 레퍼런스 대비 가독) ── */
html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__group-toggle,
html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__group--direct .pc-sidebar__group-link,
html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__group-label {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.35;
}

html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__menu a {
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.4;
}

html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__group.is-group-active > summary.pc-sidebar__group-toggle,
html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__group.is-group-active .pc-sidebar__group-label,
html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__group--direct.is-group-active .pc-sidebar__group-label {
    font-weight: 600;
    color: var(--syou-primary, #c49a6b);
}

html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__menu a.is-menu-current,
html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__menu .pc-sidebar__menu-link.is-menu-current {
    font-weight: 600;
    color: var(--syou-primary, #c49a6b);
}

/* 좌측 하단 문의 — 계층: 제목 > 안내 문구 > 문의전화 라벨 / 번호 */
html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__contact-headline {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.02em;
}

html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__contact-desc {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.02em;
}

html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__contact-phone-label {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
}

html.syou-root body.syou-layout.is-pc-shell .pc-sidebar__tel {
    font-size: 2.2rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.02em;
}

/* ── 우측 프레임 (좌측 메뉴와 동일 크기·굵기 400) ── */
html.syou-root body.syou-layout .mobile-frame__inner {
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
    font-weight: 400;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-sec {
    padding-left: var(--syou-frame-pad-x, 20px);
    padding-right: var(--syou-frame-pad-x, 20px);
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-sec-head__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-visual__brand,
html.syou-root body.syou-layout .mobile-frame__inner .syou-visual__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-content__h2,
html.syou-root body.syou-layout .mobile-frame__inner .syou-event-card__h1,
html.syou-root body.syou-layout .mobile-frame__inner .syou-focus-card__text strong,
html.syou-root body.syou-layout .mobile-frame__inner .syou-event-card__badge {
    font-size: 1.2rem;
    font-weight: 700;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-event-card__more,
html.syou-root body.syou-layout .mobile-frame__inner .syou-focus-card__more,
html.syou-root body.syou-layout .mobile-frame__inner .syou-ev-item__toggle,
html.syou-root body.syou-layout .mobile-frame__inner .syou-clinic-card,
html.syou-root body.syou-layout .mobile-frame__inner .syou-clinic-card__label {
    font-weight: 400;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-sec-head__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-visual__brand,
html.syou-root body.syou-layout .mobile-frame__inner .syou-visual__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-content__h2,
html.syou-root body.syou-layout .mobile-frame__inner .syou-ev-item__title {
    font-size: var(--syou-frame-title, 2rem);
    line-height: 1.35;
    letter-spacing: -0.02em;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-sec-lead,
html.syou-root body.syou-layout .mobile-frame__inner .syou-content__lead,
html.syou-root body.syou-layout .mobile-frame__inner .syou-visual__desc,
html.syou-root body.syou-layout .mobile-frame__inner .syou-philosophy-intro__headline-line,
html.syou-root body.syou-layout .mobile-frame__inner .syou-tour-banner__line-text,
html.syou-root body.syou-layout .mobile-frame__inner .syou-tour-banner__subtitle,
html.syou-root body.syou-layout .mobile-frame__inner .syou-tour-hero__desc {
    font-size: var(--syou-frame-sub, 1.7rem);
    line-height: 1.55;
    font-weight: 400;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-content__text,
html.syou-root body.syou-layout .mobile-frame__inner .syou-ev-item__desc,
html.syou-root body.syou-layout .mobile-frame__inner .syou-event-card__h1 {
    font-size: var(--syou-frame-caption, 1.6rem);
    line-height: 1.35;
    font-weight: 600;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-clinic-card__label {
    font-size: var(--syou-frame-caption, 1.6rem);
    line-height: 1.35;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-guide-intro__text,
html.syou-root body.syou-layout .mobile-frame__inner .syou-clinic-block__desc {
    font-size: var(--syou-frame-sub, 1.7rem);
    line-height: 1.55;
    font-weight: 400;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-clinic-block__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-clinic-block__title-text {
    font-size: var(--syou-frame-title, 2rem);
    line-height: 1.35;
    font-weight: 700;
}

/* 서브 페이지 섹션 제목 — bare h2/h3 전역 1.2rem 적용 방지 */
html.syou-root body.syou-layout .mobile-frame__inner .syou-caution-hero__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-faq-hero__title {
    font-size: var(--syou-frame-title, 2rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0.02em;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-caution__group-title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-caution__group-title-text,
html.syou-root body.syou-layout .mobile-frame__inner .syou-faq__group-title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-faq__group-title-text {
    font-size: var(--syou-frame-sub, 1.7rem);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.02em;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-tour-banner__title {
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.03em;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-caution__item,
html.syou-root body.syou-layout .mobile-frame__inner .syou-caution__emph {
    font-size: inherit;
    font-weight: 400;
    line-height: 1.65;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-caution__emph {
    font-weight: 600;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-page-cat-nav__label,
html.syou-root body.syou-layout .mobile-frame__inner .syou-clinic-block__line .syou-clinic-block__text,
html.syou-root body.syou-layout .mobile-frame__inner .syou-guide-note p,
html.syou-root body.syou-layout .mobile-frame__inner .syou-guide-note__links a {
    font-size: var(--syou-frame-caption, 1.6rem);
    line-height: 1.45;
    font-weight: 400;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-guide-intro__label {
    font-size: var(--syou-frame-meta, 1.4rem);
    font-weight: 400;
    letter-spacing: 0.12em;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-focus-card__text strong {
    font-size: var(--syou-frame-title, 2rem);
    line-height: 1.35;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-sec-head__more,
html.syou-root body.syou-layout .mobile-frame__inner .syou-visual__tag,
html.syou-root body.syou-layout .mobile-frame__inner .syou-focus-card__text p,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__path-list,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__home {
    font-size: var(--syou-frame-sub, 1.7rem);
    line-height: 1.45;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-event-card__h2 {
    font-size: var(--syou-frame-meta, 1.4rem);
    line-height: 1.45;
    font-weight: 400;
    color: #666;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-event-card__h3 {
    font-size: var(--syou-frame-meta, 1.4rem);
    line-height: 1.35;
    font-weight: 600;
    color: #e85d4a;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-event-card__more,
html.syou-root body.syou-layout .mobile-frame__inner .syou-focus-card__more,
html.syou-root body.syou-layout .mobile-frame__inner #sec-visual .syou-visual__pager-count {
    font-size: var(--syou-frame-meta, 1.4rem);
    line-height: 1.35;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-bottom-bar__btn {
    font-weight: 400;
}

html.syou-root body.syou-layout .syou-bottom-bar__btn {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.3;
    color: #333;
}

html.syou-root body.syou-layout .syou-bottom-bar__label {
    font-weight: 500;
    color: #333;
}

html.syou-root body.syou-layout .syou-bottom-bar__sub {
    color: #666;
}

html.syou-root body.syou-layout .syou-quick-float__item {
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.2;
}

html.syou-root body.syou-layout .syou-mnav__group-title {
    font-size: 1.2rem;
    font-weight: 400;
}

html.syou-root body.syou-layout .syou-mnav__list a {
    font-size: 1.4rem;
    line-height: 1.45;
}

html.syou-root body.syou-layout .syou-ev-item__toggle {
    font-size: 1.4rem;
    font-weight: 400;
}

html.syou-root body.syou-layout .syou-ev-price-list__row {
    font-size: 1.4rem;
    line-height: 1.45;
}

html.syou-root body.syou-layout .syou-ev-price-list__name em {
    font-size: var(--syou-frame-meta, 1.4rem);
}

/* 오시는길 — 좌측 패널 메뉴(1.8rem·400)와 동일, 굵기로 강조하지 않음 */
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__clinic-name,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__hours-head-title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__hours-label,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__access-title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__access-subtitle {
    font-size: var(--syou-frame-text, 1.8rem);
    font-weight: 400;
    line-height: 1.4;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-location__hours-item dd,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__access-text,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__access-lines li,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__bus-item,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__address,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__hero-address {
    font-size: var(--syou-frame-caption, 1.6rem);
    font-weight: 400;
    line-height: 1.6;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-philosophy-pillars__item-title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-doctor-detail__heading,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location h3,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location h4 {
    font-size: var(--syou-frame-text, 1.8rem);
    font-weight: 400;
    line-height: 1.4;
}

/* 굵은 강조 유지 — 카드·약력 제목 */
html.syou-root body.syou-layout .mobile-frame__inner .syou-ev-item__title,
html.syou-root body.syou-layout .mobile-frame__inner .syou-doctor-detail__heading {
    font-weight: 700;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-location__tel,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__tel a {
    font-size: 2.2rem;
    font-weight: 400;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-location__access-lines strong {
    font-size: var(--syou-frame-caption, 1.6rem);
    font-weight: 400;
}

/* 예외 구역 — 단일 메타(캡션) 크기 (--syou-frame-meta) */
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__home,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__path-list,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__badge,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__eyebrow,
html.syou-root body.syou-layout .mobile-frame__inner .syou-location__map-btn-fallback,
html.syou-root body.syou-layout .mobile-frame__inner .syou-event-page__unit,
html.syou-root body.syou-layout .mobile-frame__inner .syou-event-cat-nav__label,
html.syou-root body.syou-layout .mobile-frame__inner .syou-ev-item__badge,
html.syou-root body.syou-layout .mobile-frame__inner .syou-ev-item__teaser-unit,
html.syou-root body.syou-layout .mobile-frame__inner .syou-ev-price-list__name em,
html.syou-root body.syou-layout .mobile-frame__inner .syou-event-pager__num,
html.syou-root body.syou-layout .mobile-frame__inner .syou-page-cat-nav__label,
html.syou-root body.syou-layout .mobile-frame__inner .syou-doctor-cat-nav__label,
html.syou-root body.syou-layout .mobile-frame__inner .syou-guide-intro__label,
html.syou-root body.syou-layout .mobile-frame__inner .syou-guide-note p,
html.syou-root body.syou-layout .mobile-frame__inner .syou-guide-note__links a,
html.syou-root body.syou-layout .mobile-frame__inner .syou-clinic-ico--point,
html.syou-root body.syou-layout .mobile-frame__inner .syou-content__gallery span,
html.syou-root body.syou-layout .mobile-frame__inner .syou-content__cards span,
html.syou-root body.syou-layout .mobile-frame__inner .syou-price-page__unit,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .table_scroll .table,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .table_scroll .table thead th,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .table_scroll .table tbody th,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .table_scroll .table tbody td,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .rule.privacy {
    font-size: var(--syou-frame-meta, 1.4rem);
    font-weight: 400;
    line-height: 1.45;
}

/* 서브 본문 — 읽는 문장 최소 = caption(1.6rem) */
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-sub__body {
    font-size: var(--syou-frame-caption, 1.6rem);
    line-height: 1.6;
    font-weight: 400;
}

html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-philosophy-intro__body-line,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-philosophy-pillars__item-desc,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-tour-banner__desc,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-guide-intro__text,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-clinic-block__text,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-clinic-block__desc .syou-clinic-block__text,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-clinic-block__line .syou-clinic-block__text,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-event-page__lead,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-event-page__empty,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-ev-item__teaser,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-ev-price-list__row,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-doctor-index__role,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-doctor-detail__list li,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-content__text,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-content__list,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-info-dl,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-faq dd,
html.syou-root body.syou-layout.syou-sub-page .mobile-frame__inner .syou-content__empty {
    font-size: var(--syou-frame-caption, 1.6rem);
    font-weight: 400;
    line-height: 1.6;
}

html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .table_scroll.price .table,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .table_scroll.price .table thead th,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .table_scroll.price .table tbody th,
html.syou-root body.syou-layout .mobile-frame__inner .syou-sub__body .table_scroll.price .table tbody td {
    font-size: var(--syou-frame-meta, 1.4rem) !important;
    line-height: 1.45;
}

/* AOS 블러 방지 */
html.syou-root body.syou-layout [data-aos] {
    backface-visibility: hidden;
}

html.syou-root body.syou-layout [data-aos].aos-animate {
    transform: none !important;
    will-change: auto;
}
