/* HelloMind 2026 visual system: calm, warm, and easy to use on small screens. */
:root {
  --hm-ink: #26352f;
  --hm-muted: #65746c;
  --hm-forest: #315f50;
  --hm-sage: #98ae9a;
  --hm-cream: #f8f5ef;
  --hm-sand: #eee6d8;
  --hm-coral: #c97962;
  --hm-line: rgba(38, 53, 47, .12);
  --hm-radius: 22px;
}

body { background: #fff; color: var(--hm-ink); letter-spacing: -.02em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(201,121,98,.6); outline-offset: 3px; }
header { box-shadow: 0 1px 0 var(--hm-line); }
header .h-logo-inner { max-width: 1240px; padding: 14px 24px; }
header .logo-symbol { height: 40px; }
header .logo-text { height: 25px; }
header .logo-subtext { color: var(--hm-muted); letter-spacing: .12em; }
header .h-admin-link { color: var(--hm-muted); font-size: 12px; }
header .h-nav-row { border-bottom: 1px solid var(--hm-line); }
header .h-nav-row ul { max-width: 1240px; justify-content: space-between; padding: 0 24px; }
header .h-nav-row ul li>a { padding: 13px 0; color: var(--hm-ink); font-size: 14px; }
header .h-nav-row ul li>a:hover, header .h-nav-row ul li>a.active { color: var(--hm-forest); }
header .h-nav-row ul li>a::after { background: var(--hm-coral); }
.dropdown a:hover { background: var(--hm-cream); color: var(--hm-forest); }

.page-hero { min-height: 250px !important; background: linear-gradient(135deg, #edf2ec, #f8f5ef) !important; }
.page-hero::before, .page-hero .hero-dark-overlay { background: rgba(49, 95, 80, .04) !important; }
.page-hero .hero-text h1, .page-hero h1 { color: var(--hm-ink) !important; text-shadow: none !important; }
.page-hero .hero-text { width: auto !important; padding: 40px 24px !important; }
.page-hero .hero-text p { color: var(--hm-muted) !important; background: transparent !important; }
.page-hero .sub { color: var(--hm-coral) !important; }
.page-hero .hero-text .sub { margin-bottom: 10px !important; letter-spacing: .16em !important; font-size: 12px !important; }
.page-hero .hero-bg-img { filter: brightness(.7) saturate(.8) !important; }
.page-hero .hero-text h1 { font-size: clamp(30px, 4vw, 45px) !important; }
/* Self-test banners keep a darker, solid backdrop because their copy is white. */
.page-hero:has(.hero-badge) { min-height: 274px !important; background: linear-gradient(135deg, #315f50, #477b68) !important; }
.page-hero:has(.hero-badge) h1 { color: #fff !important; text-shadow: 0 2px 10px rgba(0,0,0,.22) !important; }
.page-hero:has(.hero-badge) p { color: rgba(255,255,255,.9) !important; }
.page-hero:has(.hero-badge)::before { color: rgba(255,255,255,.08) !important; }
/* Photo-backed heroes need light type; keep text readable over darker images. */
.page-hero:has(.hero-bg-img) { background: #26352f !important; }
.page-hero:has(.hero-bg-img)::before,
.page-hero:has(.hero-bg-img) .hero-dark-overlay { background: rgba(18, 35, 30, .5) !important; }
.page-hero:has(.hero-bg-img) .hero-text h1,
.page-hero:has(.hero-bg-img) .hero-text h1 em { color: #fff !important; text-shadow: 0 2px 12px rgba(0,0,0,.38) !important; }
.page-hero:has(.hero-bg-img) .hero-text p,
.page-hero:has(.hero-bg-img) .hero-breadcrumb { color: rgba(255,255,255,.92) !important; }
.page-hero:has(.hero-bg-img) .hero-text .sub { color: #f3c3a9 !important; }
/* Do not leave important content invisible when an older page script misses its
   scroll observer. The motion is decorative; readable content must be present. */
.reveal, .reveal-left, .reveal-right, .reveal-l, .reveal-r { opacity: 1 !important; transform: none !important; }
.sub-tabs { background: var(--hm-forest) !important; }
.section-head .label, .intro-label, .section-label { color: var(--hm-coral) !important; }
.section-head h2, .section-title { color: var(--hm-ink); }
.target-card, .effect-item { border-color: var(--hm-line) !important; border-radius: var(--hm-radius) !important; }
/* 결과 통계 섹션은 카드 4개뿐이라 기존 여백이 과했다. 다른 상담 페이지에도 공통 적용. */
.effect-section { padding: 44px 0 !important; }
.effect-section { padding: 30px 0 !important; }
.effect-section .section-head { margin-bottom: 28px !important; }
.effect-section .effect-grid { gap: 16px !important; }
.effect-section .effect-item { padding: 22px 12px !important; border-radius: 16px !important; }
.effect-section .effect-num { font-size: 36px !important; }
.effect-section .effect-label { margin-top: 9px !important; font-size: 14px !important; }
.effect-section .effect-desc { font-size: 11px !important; line-height: 1.5 !important; }
.cta-section { padding: 58px 24px !important; background: linear-gradient(135deg, #edf2ec, #f8f5ef) !important; color: var(--hm-ink) !important; border-top: 1px solid var(--hm-line); border-bottom: 1px solid var(--hm-line); }
.cta-section h2 { max-width: 640px; margin: 0 auto 12px !important; color: var(--hm-ink) !important; font-size: clamp(25px, 3vw, 34px) !important; letter-spacing: -.045em; }
.cta-section p, .cta-section .cta-sub { max-width: 600px; margin-left: auto !important; margin-right: auto !important; color: var(--hm-muted) !important; font-size: 15px !important; }
.cta-section .cta-btn { padding: 13px 28px !important; background: var(--hm-forest) !important; color: #fff !important; border: 1px solid var(--hm-forest) !important; box-shadow: none !important; font-size: 15px !important; }
.cta-section .cta-btn:hover { background: #24483c !important; transform: translateY(-2px) !important; }
.cta-section .cta-btn.outline { background: transparent !important; color: var(--hm-forest) !important; border-color: var(--hm-forest) !important; }
.cta-section .cta-btn.outline:hover { background: rgba(49,95,80,.08) !important; }

/* Contact page: match the quieter, more trustworthy visual language. */
.form-card { border: 1px solid var(--hm-line) !important; border-radius: var(--hm-radius) !important; box-shadow: 0 12px 30px rgba(38,53,47,.08) !important; }
.form-card h2 { color: var(--hm-ink) !important; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--hm-forest) !important; box-shadow: 0 0 0 3px rgba(49,95,80,.12) !important; }
.privacy-box { background: var(--hm-cream) !important; border-color: var(--hm-line) !important; }
.btn-submit { background: var(--hm-forest) !important; border-radius: 12px !important; }
.btn-submit:hover { background: #24483c !important; }
.contact-choice { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 28px; }
.contact-choice a { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: center; padding: 14px; border: 1px solid var(--hm-line); border-radius: 14px; background: var(--hm-cream); transition: border-color .2s, background .2s; }
.contact-choice a:hover { border-color: var(--hm-sage); background: #fff; }
.contact-choice i { grid-row: span 2; color: var(--hm-coral); font-size: 18px; }
.contact-choice span { color: var(--hm-muted); font-size: 12px; }
.contact-choice strong { color: var(--hm-ink); font-size: 14px; }
footer { background: var(--hm-ink) !important; }

/* Main service carousel: softer editorial cards with navigation outside the photos. */
.service-carousel { display: grid; grid-template-columns: 42px minmax(0, 1fr) 42px; align-items: center; gap: 14px; }
.service-grid-new { display: flex !important; gap: 16px !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; padding: 2px 1px 12px; }
.service-grid-new::-webkit-scrollbar { display: none; }
.service-new { flex: 0 0 calc((100% - 32px) / 3) !important; min-height: 335px; border: 1px solid rgba(109,82,72,.12); background: #e8ddd5 !important; box-shadow: 0 12px 28px rgba(86,64,57,.1); scroll-snap-align: start; transition: transform .35s ease, box-shadow .35s ease; }
.service-new::after { background: linear-gradient(180deg, rgba(59,45,42,.02) 22%, rgba(59,45,42,.7) 100%) !important; }
.service-new:hover { transform: translateY(-5px); box-shadow: 0 18px 34px rgba(86,64,57,.16); }
.service-new small { color: #fff; letter-spacing: .08em; }
.service-new h3 { color: #fff; }
.service-carousel__arrow { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(201,121,98,.45); border-radius: 50%; background: #fffaf6; color: var(--hm-coral); cursor: pointer; transition: background .25s, color .25s, transform .25s; }
.service-carousel__arrow:hover { background: var(--hm-coral); color: #fff; transform: translateY(-2px); }
.service-carousel__arrow:disabled { opacity: .35; cursor: default; transform: none; }
/* Home hero navigation sits beside the photo, while the dots stay quietly below. */
.home-hero .hero-controls { inset: 0; right: auto; bottom: auto; width: 100%; height: 100%; display: block; pointer-events: none; }
.home-hero .hero-arrow { position: absolute; top: 50%; z-index: 4; width: 42px; height: 42px; background: rgba(255,250,246,.86); border-color: rgba(201,121,98,.35); pointer-events: auto; transform: translateY(-50%); }
.home-hero .hero-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.04); }
.home-hero .hero-prev { left: max(20px, calc((100vw - 1240px) / 2)); }
.home-hero .hero-next { right: max(20px, calc((100vw - 1240px) / 2)); }
.home-hero .hero-dots { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); pointer-events: auto; }
.home-hero .hero-slide img { transition: transform 1.1s cubic-bezier(.2,.7,.2,1); transform: scale(1.02); }
.home-hero .hero-slide.is-active img { transform: scale(1.045); }

/* Home location block: a useful map without requiring a client-side API key. */
.home-location { padding: 96px 24px; background: #fff; }
.home-location__inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: center; }
.home-location__copy { min-width: 0; }
.home-location__details { display: grid; gap: 14px; margin: 28px 0; }
.home-location__details div { display: grid; grid-template-columns: 64px 1fr; gap: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--hm-line); }
.home-location__details dt { color: var(--hm-coral); font-size: 13px; font-weight: 800; }
.home-location__details dd { margin: 0; color: var(--hm-muted); font-size: 14px; line-height: 1.7; }
.home-location__details a { color: var(--hm-forest); font-weight: 800; }
.home-map-link { display: inline-flex; align-items: center; gap: 9px; padding: 12px 17px; border-radius: 999px; background: var(--hm-forest); color: #fff; font-size: 14px; font-weight: 800; }
.home-map-link:hover { background: #24483c; }
.home-location__map { overflow: hidden; min-height: 390px; border: 1px solid var(--hm-line); border-radius: var(--hm-radius); background: var(--hm-cream); box-shadow: 0 14px 32px rgba(38,53,47,.1); }
.home-location__map iframe, .home-kakao-map { display: block; width: 100%; height: 390px; border: 0; }
.home-map-fallback { display: grid; place-content: center; height: 100%; min-height: 390px; background: var(--hm-sand); color: var(--hm-muted); text-align: center; line-height: 1.8; }
.home-map-fallback a { color: var(--hm-forest); font-weight: 800; }
.map-attribution { margin: 0; padding: 8px 14px; background: #fff; color: var(--hm-muted); font-size: 11px; text-align: right; }
.map-attribution a { color: var(--hm-forest); }

/* Counseling detail pages use contextual photography instead of pictograms. */
body[data-counsel-page] .intro-visual { position: relative; display: block; background: #eadfd6 !important; }
body[data-counsel-page] .intro-visual > img { width: 100%; height: 100%; object-fit: cover; }
body[data-counsel-page] .intro-visual::after { content: ''; position: absolute; inset: auto 0 0; height: 34%; background: linear-gradient(transparent, rgba(38,53,47,.62)); pointer-events: none; }
body[data-counsel-page] .intro-visual .age-badge { position: absolute; z-index: 1; left: 24px; bottom: 22px; }
body[data-counsel-page] .t-icon { width: 100%; height: 112px; border-radius: 14px; margin-bottom: 18px; background-position: center; background-size: cover; box-shadow: none; }
body[data-counsel-page] .t-icon i { display: none; }
body[data-counsel-page] .t-icon img { display: none; }
body[data-counsel-page="infant"] .t-icon { background-image: url('../img/counsel-infant-new.webp'); }
body[data-counsel-page="teen"] .t-icon { background-image: url('../img/counsel-teen-new.webp'); }
body[data-counsel-page="adult"] .t-icon { background-image: url('../img/counsel-adult-new.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(1) .t-icon { background-image: url('../img/adult-depression.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(2) .t-icon { background-image: url('../img/adult-anxiety.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(3) .t-icon { background-image: url('../img/adult-work-stress.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(4) .t-icon { background-image: url('../img/adult-relationship.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(5) .t-icon { background-image: url('../img/adult-trauma.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(6) .t-icon { background-image: url('../img/adult-growth.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(1) .t-icon { background-image: url('../img/adult-depression-v2.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(2) .t-icon { background-image: url('../img/adult-anxiety-v2.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(3) .t-icon { background-image: url('../img/adult-work-stress-v2.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(4) .t-icon { background-image: url('../img/adult-relationship-v2.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(5) .t-icon { background-image: url('../img/adult-trauma-v2.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(6) .t-icon { background-image: url('../img/adult-growth-v2.webp'); }
body[data-counsel-page="family"] .t-icon { background-image: url('../img/counsel-family-new.webp'); }
body[data-counsel-page="eap"] .s-icon { width: 100%; height: 112px; border-radius: 14px; background: url('../img/EAP.webp') center/cover !important; }
body[data-counsel-page="eap"] .s-icon i { display: none; }
body[data-counsel-page="eap"] .service-card:nth-child(1) .s-icon { background-image: url('../img/counsel-adult-new.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(2) .s-icon { background-image: url('../img/counsel-family-new.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(3) .s-icon { background-image: url('../img/adult-work-stress.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(4) .s-icon { background-image: url('../img/adult-growth.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(5) .s-icon { background-image: url('../img/adult-trauma.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(6) .s-icon { background-image: url('../img/counsel-therapy-new.webp') !important; }
body[data-counsel-page="infant"] .target-card:nth-child(1) .t-icon { background-image: url('../img/counsel-infant-new.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(2) .t-icon { background-image: url('../img/counsel-family-new.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(3) .t-icon { background-image: url('../img/counsel-teen-new.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(4) .t-icon { background-image: url('../img/therapy-play.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(5) .t-icon { background-image: url('../img/adult-growth.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(6) .t-icon { background-image: url('../img/counsel-therapy-new.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(1) .t-icon { background-image: url('../img/counsel-teen-new.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(2) .t-icon { background-image: url('../img/adult-relationship.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(3) .t-icon { background-image: url('../img/adult-growth.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(4) .t-icon { background-image: url('../img/adult-depression.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(5) .t-icon { background-image: url('../img/adult-work-stress.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(6) .t-icon { background-image: url('../img/adult-trauma.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(1) .t-icon { background-image: url('../img/adult-relationship.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(1) .t-icon { background-image: url('../img/family-counseling-v2.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(2) .t-icon { background-image: url('../img/counsel-family-new.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(3) .t-icon { background-image: url('../img/adult-trauma.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(4) .t-icon { background-image: url('../img/adult-anxiety.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(5) .t-icon { background-image: url('../img/counsel-infant-new.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(6) .t-icon { background-image: url('../img/counsel-teen-new.webp'); }
/* Every counseling category uses six unique, natural photo assets. */
body[data-counsel-page="infant"] .target-card:nth-child(1) .t-icon { background-image: url('../img/generated-infant-1.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(2) .t-icon { background-image: url('../img/generated-infant-2.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(3) .t-icon { background-image: url('../img/generated-infant-3.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(4) .t-icon { background-image: url('../img/generated-infant-4.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(5) .t-icon { background-image: url('../img/generated-infant-5.webp'); }
body[data-counsel-page="infant"] .target-card:nth-child(6) .t-icon { background-image: url('../img/generated-infant-6.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(1) .t-icon { background-image: url('../img/generated-teen-1.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(2) .t-icon { background-image: url('../img/generated-teen-2.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(3) .t-icon { background-image: url('../img/generated-teen-3.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(4) .t-icon { background-image: url('../img/generated-teen-4.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(5) .t-icon { background-image: url('../img/generated-teen-5.webp'); }
body[data-counsel-page="teen"] .target-card:nth-child(6) .t-icon { background-image: url('../img/generated-teen-6.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(1) .t-icon { background-image: url('../img/generated-adult-1.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(2) .t-icon { background-image: url('../img/generated-adult-2.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(3) .t-icon { background-image: url('../img/generated-adult-3.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(4) .t-icon { background-image: url('../img/generated-adult-4.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(5) .t-icon { background-image: url('../img/generated-adult-5.webp'); }
body[data-counsel-page="adult"] .target-card:nth-child(6) .t-icon { background-image: url('../img/generated-adult-6.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(1) .t-icon { background-image: url('../img/generated-family-1.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(2) .t-icon { background-image: url('../img/generated-family-2.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(3) .t-icon { background-image: url('../img/generated-family-3.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(4) .t-icon { background-image: url('../img/generated-family-4.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(5) .t-icon { background-image: url('../img/generated-family-5.webp'); }
body[data-counsel-page="family"] .target-card:nth-child(6) .t-icon { background-image: url('../img/generated-family-6.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(1) { background-image: url('../img/generated-therapy-1.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(2) { background-image: url('../img/generated-therapy-2.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(3) { background-image: url('../img/generated-therapy-3.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(4) { background-image: url('../img/generated-therapy-4.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(5) { background-image: url('../img/generated-therapy-5.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(6) { background-image: url('../img/generated-therapy-6.webp'); }
body[data-counsel-page="eap"] .service-card:nth-child(1) .s-icon { background-image: url('../img/generated-eap-1.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(2) .s-icon { background-image: url('../img/generated-eap-2.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(3) .s-icon { background-image: url('../img/generated-eap-3.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(4) .s-icon { background-image: url('../img/generated-eap-4.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(5) .s-icon { background-image: url('../img/generated-eap-5.webp') !important; }
body[data-counsel-page="eap"] .service-card:nth-child(6) .s-icon { background-image: url('../img/generated-eap-6.webp') !important; }
/* Preserve the complete generated frame in compact cards: no heads, hands, or shoulders are cropped. */
body[data-counsel-page="therapy"] .therapy-card { background-size: contain !important; background-repeat: no-repeat; background-color: #f5eee8; }
body[data-counsel-page="eap"] .s-icon { background-size: contain !important; background-repeat: no-repeat; background-color: #f5eee8; }
body[data-counsel-page="therapy"] .therapy-card { padding-top: 148px; background-size: 100% 132px; background-repeat: no-repeat; background-position: top center; }
body[data-counsel-page="therapy"] .therapy-card:nth-child(1) { background-image: url('../img/therapy-cbt.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(2) { background-image: url('../img/therapy-emdr.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(3) { background-image: url('../img/therapy-art.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(4) { background-image: url('../img/therapy-sandplay.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(5) { background-image: url('../img/counsel-therapy-new.webp'); }
body[data-counsel-page="therapy"] .therapy-card:nth-child(6) { background-image: url('../img/therapy-group.webp'); }

/* Therapy detail cards: contextual photos replace repeated pictograms. */
body[data-care-page] .intro-img-col { overflow: hidden; }
body[data-care-page] .intro-img-col img { width: 100%; height: auto !important; aspect-ratio: 4 / 3; object-fit: contain !important; object-position: center; background: #f5eee8; }
body[data-care-page] .target-item .t-icon,
body[data-care-page] .media-card .m-icon { width: 100%; height: 112px; margin-bottom: 16px; border-radius: 14px; background-position: center; background-size: cover; }
body[data-care-page] .target-item .t-icon i,
body[data-care-page] .media-card .m-icon i { display: none; }
body[data-care-page="play"] .target-item:nth-child(1) .t-icon { background: url('../img/counsel-infant-new.webp') center/cover; }
body[data-care-page="play"] .target-item:nth-child(2) .t-icon { background: url('../img/counsel-teen-new.webp') center/cover; }
body[data-care-page="play"] .target-item:nth-child(3) .t-icon { background: url('../img/therapy-play.webp') center/cover; }
body[data-care-page="play"] .target-item:nth-child(4) .t-icon { background: url('../img/counsel-family-new.webp') center/cover; }
body[data-care-page="play"] .target-item:nth-child(5) .t-icon { background: url('../img/adult-anxiety.webp') center/cover; }
body[data-care-page="play"] .target-item:nth-child(6) .t-icon { background: url('../img/adult-relationship.webp') center/cover; }
body[data-care-page="play"] .target-item:nth-child(7) .t-icon { background: url('../img/adult-growth.webp') center/cover; }
body[data-care-page="play"] .target-item:nth-child(8) .t-icon { background: url('../img/therapy-sandplay.webp') center/cover; }
body[data-care-page="art"] .media-card:nth-child(1) .m-icon { background: url('../img/therapy-art.webp') center/cover; }
body[data-care-page="art"] .media-card:nth-child(2) .m-icon { background: url('../img/counsel-infant-new.webp') center/cover; }
body[data-care-page="art"] .media-card:nth-child(3) .m-icon { background: url('../img/counsel-therapy-new.webp') center/cover; }
body[data-care-page="art"] .target-item:nth-child(1) .t-icon { background: url('../img/adult-depression.webp') center/cover; }
body[data-care-page="art"] .target-item:nth-child(2) .t-icon { background: url('../img/adult-anxiety.webp') center/cover; }
body[data-care-page="art"] .target-item:nth-child(3) .t-icon { background: url('../img/counsel-teen-new.webp') center/cover; }
body[data-care-page="art"] .target-item:nth-child(4) .t-icon { background: url('../img/adult-trauma.webp') center/cover; }
body[data-care-page="art"] .target-item:nth-child(5) .t-icon { background: url('../img/adult-growth.webp') center/cover; }
body[data-care-page="art"] .target-item:nth-child(6) .t-icon { background: url('../img/counsel-family-new.webp') center/cover; }
body[data-care-page="art"] .target-item:nth-child(7) .t-icon { background: url('../img/therapy-group.webp') center/cover; }
body[data-care-page="art"] .target-item:nth-child(8) .t-icon { background: url('../img/therapy-sandplay.webp') center/cover; }
body[data-care-page] .step-num { overflow: hidden; background-position: center; background-size: cover; color: #fff; }
body[data-care-page] .step-num i { display: none; }
body[data-care-page="play"] .step-num:nth-child(1) { background-image: url('../img/counsel-infant-new.webp'); }
body[data-care-page="play"] .step-num:nth-child(2) { background-image: url('../img/counsel-adult-new.webp'); }
body[data-care-page="play"] .step-num:nth-child(3) { background-image: url('../img/therapy-play.webp'); }
body[data-care-page="play"] .step-num:nth-child(4) { background-image: url('../img/counsel-therapy-new.webp'); }
body[data-care-page="art"] .step-num:nth-child(1) { background-image: url('../img/therapy-art.webp'); }
body[data-care-page="art"] .step-num:nth-child(2) { background-image: url('../img/therapy-sandplay.webp'); }
body[data-care-page="art"] .step-num:nth-child(3) { background-image: url('../img/counsel-therapy-new.webp'); }
body[data-care-page="art"] .step-num:nth-child(4) { background-image: url('../img/therapy-group.webp'); }

@media (max-width: 768px) {
  header { position: relative; }
  header .h-logo-inner { padding: 11px 18px; }
  header .logo-symbol { height: 34px; }
  header .logo-text { height: 21px; }
  header .logo-subtext { font-size: 9px; }
  header .h-admin-link { font-size: 11px; }
  header .h-nav-row { overflow-x: auto; scrollbar-width: none; }
  header .h-nav-row::-webkit-scrollbar { display: none; }
  header .h-nav-row ul { width: max-content; min-width: 100%; gap: 24px; padding: 0 18px; justify-content: flex-start; }
  header .h-nav-row ul li>a { padding: 11px 0; font-size: 13px; white-space: nowrap; }
  .dropdown { display: none !important; }
  .container { padding-left: 20px !important; padding-right: 20px !important; }
  .page-hero { min-height: 210px !important; height: auto !important; }
  .hero-text { padding: 32px 20px !important; }
  .hero-text h1 { font-size: 29px !important; }
  .home-hero .hero-arrow { display: grid; width: 34px; height: 34px; }
  .home-hero .hero-prev { left: 14px; }
  .home-hero .hero-next { right: 14px; }
  .home-hero .hero-dots { bottom: 22px; }
  .page-hero:has(.hero-bg-img) .hero-text h1 { font-size: 26px !important; line-height: 1.28 !important; letter-spacing: -.045em !important; }
  .hero-text p, .hero-breadcrumb { font-size: 12px !important; }
  .sub-tabs { overflow-x: auto; scrollbar-width: none; }
  .sub-tabs-inner { min-width: max-content; }
  .s-tab { flex: 0 0 auto !important; padding: 13px 16px !important; font-size: 12px !important; }
  .intro-section, .process-section, .cta-section { padding: 52px 0 !important; }
  .target-section, .effect-section { padding: 48px 0 !important; }
  .intro-inner, .target-grid, .effect-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .process-steps { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px 8px !important; }
  .process-steps::before { display: none; }
  .proc-item { padding: 0 4px !important; }
  .cta-section h2 { font-size: 25px !important; }
  .contact-choice { grid-template-columns: 1fr; }
  .service-carousel { grid-template-columns: 34px minmax(0, 1fr) 34px; gap: 8px; margin: 0 -4px; }
  .service-grid-new { gap: 10px !important; padding-bottom: 9px; }
  .service-new { flex-basis: 82% !important; min-height: 255px; }
  .home-location { padding: 67px 20px !important; }
  .home-location__inner { grid-template-columns: 1fr; gap: 30px; }
  .home-location__map, .home-location__map iframe, .home-kakao-map { min-height: 290px; height: 290px; }
  .home-map-fallback { min-height: 290px; }
  body[data-care-page] .intro-img-col img { height: auto !important; aspect-ratio: 4 / 3; object-fit: contain !important; }
  body[data-care-page] .intro-inner, body[data-care-page] .detail-intro-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 30px !important; }
  body[data-care-page] .intro-text-col, body[data-care-page] .intro-img-col { width: 100% !important; min-width: 0 !important; }
  footer { padding: 28px 0 22px !important; }
  .footer-info { display: block !important; line-height: 1.9 !important; }
  .reveal { opacity: 1 !important; transform: none !important; }
  /* Older detail pages used fixed multi-column components. Keep their content in view. */
  .about-intro-inner, .intro-points, .media-grid, .gallery-grid, .values-grid,
  .program-grid, .method-grid, .feature-grid, .therapy-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
  .about-intro-text, .about-intro-img, .intro-point, .media-card {
    width: 100% !important;
    min-width: 0 !important;
  }
  .about-intro .container, .about-intro-inner, .intro-section .container { margin-left: 0 !important; margin-right: 0 !important; }
  .intro-points { display: grid !important; }
  .about-intro-inner { display: block !important; }
  .about-intro-img { margin-top: 28px !important; }
  .benefit-inner, .cta-inner { display: block !important; }
  .benefit-list, .cta-image { margin-top: 28px !important; }
  .specialty-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 20px !important; }
  .media-card { padding-left: 20px !important; padding-right: 20px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
