@charset "utf-8";
/* =====================================================
   메인 페이지 v2 — main/css/main.css
   Claude Design v2 (oklch olive/sage) 기준 페이지 스코프
   ===================================================== */

.main { display:block; overflow:hidden; color:var(--c_base1); background:var(--bg1); }
.main a { color:var(--c_base3); }
.main a:hover { color:var(--c_base2); }

/* ── 공통 유틸 (페이지 스코프) ───────────────────── */
.main .eyebrow {
	font-family:var(--f_ui);
	font-size:var(--fs12);
	font-weight:600;
	letter-spacing:0.24em;
	color:oklch(0.62 0.10 145);
	text-transform:uppercase;
}
.main .eyebrow--soft { color:oklch(0.58 0.09 145); }

.main .section-head {
	display:flex; flex-direction:column; align-items:flex-start; gap:14px; text-align:left;
}
.main .section-head--center { align-items:center; text-align:center; }

.main .section-title {
	margin:0;
	font-family:var(--f_display);
	font-weight:700;
	font-size:var(--fs46);
	line-height:1.25;
	letter-spacing:-0.02em;
	color:oklch(0.31 0.05 148);
}
.main .section-title--sm { font-size:var(--fs40); }

.main .section-lead {
	margin:0;
	max-width:560px;
	font-size:var(--fs15);
	line-height:1.9;
	color:oklch(0.48 0.03 148);
}
.main .section-lead--sm {font-size:var(--fs16); }

.main .badge {
	width:fit-content;
	padding:9px 18px;
	border-radius:999px;
	background:var(--bg3);
	font-size:var(--fs16);
	font-weight:700;
	color:oklch(0.48 0.08 148);
	box-shadow:var(--sh-badge);
}
.main .num { font-family:var(--f_ui); font-weight:700; }

/* ── 버튼 ───────────────────────────────────────── */
.main .btn {
	display:inline-flex; align-items:center; gap:10px;
	padding:17px 28px;
	border-radius:999px;
	font-weight:700;
	font-size:var(--fs16);
	transition:background .25s ease, color .25s ease, transform .25s ease;
}
.main .btn--primary {
	background:var(--c_base2);
	color:var(--tx-invert);
	box-shadow:var(--sh-cta);
}
.main .btn--primary:hover {
	background:oklch(0.50 0.10 148);
	color:var(--tx-invert);
	transform:translateY(-1px);
}
.main .btn--ghost {
	background:var(--bg3);
	color:oklch(0.44 0.06 148);
}
.main .btn--ghost:hover {
	background:oklch(0.96 0.02 120);
	color:oklch(0.40 0.08 148);
}

/* ═════════════════════════════════════════════════
   HERO — 헤드라인 + 이미지 카드 + 스탯
   ═════════════════════════════════════════════════ */
.main .hero {
	position:relative;
	padding:150px 48px 0;
	background:linear-gradient(180deg, oklch(0.975 0.012 110) 0%, oklch(0.94 0.035 120) 100%);
}
.main .hero__blob {
	position:absolute; top:70px; right:14%;
	width:96px; height:96px; border-radius:50%;
	background:oklch(0.93 0.09 95);
	animation:v2FloatSoft 7s ease-in-out infinite;
}
@keyframes v2FloatSoft {
	0%,100% { transform:translateY(0); }
	50%     { transform:translateY(-10px); }
}


/* ── 배경 일러스트 오브젝트 (mousemove 시차 대상) ─────── */
.main .hero__deco {
	position:absolute; inset:0;
	pointer-events:none;
	overflow:hidden;
	z-index:0;
}
.main .hero__shape {
	position:absolute;
	display:block;
	will-change:transform;
	transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.main .hero__shape svg {
	width:100%; height:100%;
	display:block;
}

/* 큰 나뭇잎 — 우상단 (히어로 이미지 뒤쪽) */
.main .hero__shape--leaf-lg {
	top:40px; right:6%;
	width:180px; height:240px;
	color:oklch(0.72 0.11 148);
	transform:rotate(18deg);
	animation:v2FloatShape 9s ease-in-out infinite;
}

/* 작은 나뭇잎 — 좌상단 (텍스트 뒤쪽) */
.main .hero__shape--leaf-sm {
	top:120px; left:4%;
	width:96px; height:120px;
	color:oklch(0.82 0.10 105);
	transform:rotate(-24deg);
	animation:v2FloatShape 11s ease-in-out infinite -3s;
}

/* 도트 클러스터 — 좌측 중앙 */
.main .hero__shape--dots {
	top:52%; left:38%;
	width:110px; height:110px;
	color:oklch(0.78 0.09 140);
	animation:v2FloatShape 8s ease-in-out infinite -1.5s;
}

/* 얇은 물결선 — 하단 중앙 */
.main .hero__shape--wave {
	bottom:120px; left:36%;
	width:260px; height:50px;
	color:oklch(0.62 0.08 148);
	animation:v2FloatShape 10s ease-in-out infinite -4s;
}

/* 부드러운 크림 블롭 — 좌하단 (베이스) */
.main .hero__shape--blob-soft {
	bottom:180px; left:-40px;
	width:200px; height:200px;
	border-radius:60% 40% 55% 45% / 50% 60% 40% 50%;
	background:oklch(0.94 0.05 100);
	opacity:0.7;
	filter:blur(1px);
	animation:v2FloatShape 13s ease-in-out infinite -6s, v2MorphSoft 12s ease-in-out infinite;
}

/* 필 형태 — 우측 중앙 (이미지 근처 액센트) */
.main .hero__shape--pill {
	top:44%; right:4%;
	width:140px; height:50px;
	border-radius:999px;
	background:oklch(0.90 0.06 5);
	opacity:0.55;
	transform:rotate(-14deg);
	animation:v2FloatShape 9s ease-in-out infinite -2s;
}

@keyframes v2FloatShape {
	0%,100% { translate:0 0; }
	50%     { translate:0 -14px; }
}
@keyframes v2MorphSoft {
	0%,100% { border-radius:60% 40% 55% 45% / 50% 60% 40% 50%; }
	50%     { border-radius:45% 55% 40% 60% / 60% 45% 55% 40%; }
}

/* 모션 감소 사용자 대응 */
@media (prefers-reduced-motion:reduce) {
	.main .hero__blob,
	.main .hero__shape {
		animation:none;
	}
	.main .hero__shape { transition:none; }
}

/* 히어로 내부 컨텐츠가 오브젝트 위에 오도록 z-index */
.main .hero__inner { position:relative; z-index:2; }
.main .hero__curve { position:relative; z-index:3; }

.main .hero__inner {
	position:relative;
	max-width:1240px; margin:0 auto;
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(400px, 1fr));
	gap:48px;
	align-items:center;
	padding-bottom:120px;
}
.main .hero__copy {
	display:flex; flex-direction:column; gap:26px;
}
.main .hero__title {
	margin:0;
	font-family:var(--f_display);
	font-weight:700;
	font-size:clamp(4rem, 5.2vw, 7rem);
	line-height:1.18;
	letter-spacing:-0.03em;
	color:oklch(0.30 0.05 148);
}
.main .hero__lead {
	max-width:460px;
	font-size:var(--fs16);
	line-height:1.8;
	color:var(--tx-body);
}
.main .hero__ctas {
	display:flex; flex-wrap:wrap; gap:12px; align-items:center;
}

.main .hero__side {
	position:relative;
	display:flex; flex-direction:column; gap:18px;
}
.main .hero__image {
	position:relative;
	aspect-ratio:1/1;
	border-radius:180px 32px 180px 32px;
	overflow:hidden;
	background:repeating-linear-gradient(135deg,
		oklch(0.88 0.06 140) 0 12px,
		oklch(0.92 0.04 140) 12px 24px);
	display:grid; place-items:center;
}
.main .hero__image img {width:100%; height:100%; object-fit:cover;}
.main .hero__image-label {
	font-family:var(--f_ui);
	font-size:var(--fs12);
	letter-spacing:0.1em;
	color:oklch(0.42 0.06 148);
	background:oklch(0.99 0.01 110 / 0.9);
	padding:9px 16px;
	border-radius:999px;
}
.main .hero__stats {
	display:flex; gap:12px;
}
.main .stat {
	flex:1;
	padding:18px 20px;
	border-radius:24px;
	background:var(--bg3);
	text-align:center;
}
.main .stat__num {
	font-family:var(--f_ui);
	font-size:var(--fs22);
	font-weight:700;
	color:oklch(0.55 0.10 148);
}
.main .stat__label {
	margin-top:4px;
	font-size:var(--fs14);
	color:var(--tx-mute);
}
.main .hero__curve {
	height:90px; margin:0 -48px -1px;
	background:var(--bg1);
	border-radius:50% 50% 0 0 / 90px 90px 0 0;
}

/* ═════════════════════════════════════════════════
   PROGRAMS — 5-circle + 6-col 벤토
   ═════════════════════════════════════════════════ */
.main .programs {
	padding:40px 48px 150px;
	background:var(--bg1);
}
.main .programs__inner {
	max-width:1240px; margin:0 auto;
	display:flex; flex-direction:column; gap:44px;
}
.main .programs .section-head {
	align-items:center; text-align:center;
}
.main .programs .section-lead {
	max-width:560px; margin:0 auto;
}

/* 5-circle 아이콘 로우 */
.main .circles {
	display:grid; grid-template-columns:repeat(5, 1fr); gap:16px;
	list-style:none; padding:0; margin:0;
}
.main .circle {
	display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center;
}
.main .circle__disc {
	width:100%; aspect-ratio:1; border-radius:50%;
	display:grid; place-items:center; overflow:hidden;
	transition:transform .3s ease;
}
.main .circle:hover .circle__disc { transform:translateY(-4px); }
.main .circle__disc img {width:100%; height:100%; object-fit:cover;}
.main .circle__disc span {
	font-family:var(--f_display);
	font-size:var(--fs22);
}
.main .circle__disc--mint   { background:oklch(0.90 0.07 140); }
.main .circle__disc--mint span   { color:oklch(0.36 0.07 148); }
.main .circle__disc--butter { background:oklch(0.93 0.07 100); }
.main .circle__disc--butter span { color:oklch(0.40 0.07 110); }
.main .circle__disc--sky    { background:oklch(0.92 0.05 220); }
.main .circle__disc--sky span    { color:oklch(0.42 0.07 230); }
.main .circle__disc--amber  { background:oklch(0.93 0.05 60); }
.main .circle__disc--amber span  { color:oklch(0.44 0.08 55); }
.main .circle__disc--blush  { background:oklch(0.92 0.05 5); }
.main .circle__disc--blush span  { color:oklch(0.46 0.08 10); }
.main .circle__label {
	font-size:var(--fs15);
	font-weight:700;
	color:oklch(0.34 0.04 148);
}

/* 6-col 벤토 */
.main .bento {
	display:grid; grid-template-columns:repeat(6, 1fr); gap:20px;
}
.main .card {
	display:flex; flex-direction:column; gap:16px;
	padding:34px;
	border-radius:36px;
	background:var(--bg3);
	box-shadow:var(--sh-card);
}
.main .card:hover {}
.main .card--speech    { grid-column:span 3; gap:18px; }
.main .card--play      { grid-column:span 3; background:oklch(0.93 0.045 122); }
.main .card--sensory   { grid-column:span 2; padding:30px; border-radius:34px; gap:14px; }
.main .card--cognitive { grid-column:span 2; padding:30px; border-radius:34px; gap:14px; }
.main .card--flower    {
	grid-column:span 2; padding:30px; border-radius:34px; gap:14px;
	background:var(--c_base2);
	color:var(--tx-invert);
	box-shadow:0 10px 30px oklch(0.45 0.06 148 / 0.18);
}

.main .card__head {
	display:flex; align-items:baseline; justify-content:space-between; gap:14px;
}
.main .card__title {
	margin:0;
	font-family:var(--f_display);
	font-weight:700;
	font-size:var(--fs30);
	color:oklch(0.31 0.05 148);
}
.main .card__title--sm { font-size:var(--fs24); }
.main .card--flower .card__title { color:var(--tx-invert); }

.main .card__code {
	font-family:var(--f_ui);
	font-size:var(--fs11);
	font-weight:600;
	letter-spacing:0.16em;
	color:oklch(0.66 0.05 145);
}
.main .card--play .card__code { color:oklch(0.50 0.06 145); }

.main .card__body {
	margin:0;
	font-size:var(--fs16);
	line-height:1.8;
	color:oklch(0.46 0.03 148);
}
.main .card__body--sm { font-size:var(--fs16); }
.main .card--play .card__body { color:oklch(0.42 0.04 148); }
.main .card--flower .card__body { color:oklch(0.93 0.02 120); }

.main .card__thumb {
	aspect-ratio:16/7; overflow: hidden;
	border-radius:26px; place-items:center;
}
.main .card__thumb img {
	width:100%; height:100%; object-fit:cover;
	object-position: 50% 80%;
}
.main .card__thumb span {
	font-family:var(--f_ui);
	font-size:var(--fs11);
	letter-spacing:0.08em;
	color:oklch(0.46 0.05 140);
}

.main .card__foot {
	margin-top:auto;
	padding-top:16px;
	border-top:1px dashed oklch(0.78 0.04 148);
	font-size:var(--fs14);
	line-height:1.9;
	color:var(--tx-mute);
}
.main .card--speech .card__foot {
	padding-top:18px;
	border-top-color:oklch(0.75 0.04 148);
}
.main .card--flower .card__foot {
	border-top-color:oklch(0.85 0.04 130 / 0.5);
	color:oklch(0.92 0.02 120);
}

/* 태그 (칩) */
.main .tags {
	list-style:none; padding:0; margin:0;
	display:flex; flex-wrap:wrap; gap:8px;
}
.main .tags li {
	padding:8px 15px;
	border-radius:999px;
	background:oklch(0.94 0.05 140);
	font-size:var(--fs13);
	color:oklch(0.38 0.07 148);
}
.main .tags--on-tint li {
	background:var(--bg3);
	color:oklch(0.40 0.06 148);
}

/* ═════════════════════════════════════════════════
   ABOUT — 세이지 크림 타일 + 상하 곡선
   ═════════════════════════════════════════════════ */
.main .about {
	background:var(--bg1);
}
.main .about__curve-top {
	height:80px; width:calc(100% + 12px); margin-left:-6px;
	background:var(--bg2);
	border-radius:50% 50% 0 0 / 80px 80px 0 0
}
.main .about__inner {
	position:relative;
	overflow:hidden;
	background:var(--bg2);
	margin-top:-1px;
}

/* ── 배경 일러스트 오브젝트 (mousemove 시차 대상) ─────── */
.main .about__deco {
	position:absolute; inset:0;
	pointer-events:none;
	overflow:hidden;
	z-index:0;
}
.main .about__shape {
	position:absolute;
	display:block;
	will-change:transform;
	transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.main .about__shape svg {
	width:100%; height:100%;
	display:block;
}

/* 나뭇잎 — 우상단 (list-card 뒤쪽) */
.main .about__shape--leaf {
	top:80px; right:50%;
	width:110px; height:140px;
	color:oklch(0.72 0.11 148);
	transform:rotate(22deg);
	animation:v2FloatShape 10s ease-in-out infinite;
}

/* 스파클 — 좌하단 (파트너 카드 근처) */
.main .about__shape--sparkle {
	bottom:120px; left:36%;
	width:82px; height:82px;
	color:oklch(0.78 0.10 85);
	animation:v2FloatShape 9s ease-in-out infinite -2s;
}

/* 도트 클러스터 — 우측 중앙 */
.main .about__shape--dots {
	top:38%; right:2%;
	width:110px; height:110px;
	color:oklch(0.78 0.09 140);
	animation:v2FloatShape 11s ease-in-out infinite -4s;
}

/* 링 — 좌상단 (텍스트 카피 뒤쪽) */
.main .about__shape--ring {
	top:40px; left:-40px;
	width:180px; height:180px;
	border-radius:50%;
	border:2px dashed oklch(0.72 0.08 148);
	opacity:0.45;
	animation:v2FloatShape 13s ease-in-out infinite -5s;
}

/* 물결선 — 하단 우측 */
.main .about__shape--wave {
	bottom:56px; right:6%;
	width:240px; height:46px;
	color:oklch(0.62 0.08 148);
	animation:v2FloatShape 10s ease-in-out infinite -1s;
}

/* 부드러운 골드 블롭 — 우하단 */
.main .about__shape--blob {
	bottom:-40px; right:32%;
	width:220px; height:220px;
	border-radius:60% 40% 55% 45% / 50% 60% 40% 50%;
	background:oklch(0.90 0.07 85);
	opacity:0.55;
	filter:blur(1px);
	animation:v2FloatShape 14s ease-in-out infinite -6s, v2MorphSoft 12s ease-in-out infinite;
}

/* 모션 감소 사용자 대응 */
@media (prefers-reduced-motion:reduce) {
	.main .about__shape { animation:none; transition:none; }
}


.main .about__grid {
	max-width:1240px; margin:0 auto;
	padding:80px 48px 150px;
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(400px, 1fr));
	gap:50px;
	align-items:start;
}
.main .about__copy {
	display:flex; flex-direction:column; gap:20px;
}
.main .about__visuals {display:flex; gap:12px;}
.main .about__photo {aspect-ratio:1.2/1; border-radius:140px 24px 140px 24px; overflow:hidden;	}
.main .about__photo img {width:100%; height:100%; object-fit:cover;}
.main .about__partner {
	aspect-ratio:1.2/1;
	border-radius:24px 140px 24px 140px;
	/* background:var(--bg3); */
	background:var(--c_base2);
	padding:50px;
	display:flex; flex-direction:column; justify-content:center; gap:8px;
	text-align:center;
}
.main .about__partner-name {
	font-family:var(--f_display);
	font-weight:700;
	font-size:var(--fs19);
	color:var(--bg3);
	line-height:1.4;
}
.main .about__partner-cap {
	font-size:var(--fs14);
	/* color:var(--tx-mute); */
	color:var(--bg3);
}

.main .about__list-card {
	padding:30px 50px;
	border-radius:36px;
	background:var(--bg3);
	display:flex; flex-direction:column;
	box-shadow:var(--sh-card);
}
.main .team {
	list-style:none; padding:0; margin:0;
	display:flex; flex-direction:column;
}
.main .team__row {
	display:flex; align-items:baseline; gap:14px;
	padding:15px 0;
}
.main .team__row + .team__row {
	border-top:1px dashed var(--tx-hair);
}
.main .team__name {
	font-family:var(--f_display);
	font-weight:700;
	font-size:var(--fs20);
	min-width:80px;
	color:oklch(0.32 0.05 148);
}
.main .team__role {
	font-size:var(--fs16);
	color:var(--tx-mute);
}

.main .about__curve-bottom {
	height:80px; width:calc(100% + 12px); margin:-80px 0 0 -6px;
	background:var(--bg1);
	border-radius:50% 50% 0 0 / 80px 80px 0 0;
}

/* ═════════════════════════════════════════════════
   CONSULT — 4-step + CTA 배너
   ═════════════════════════════════════════════════ */
.main .consult {
	padding:150px 48px;
	background:var(--bg1);
}
.main .consult__inner {
	max-width:1240px; margin:0 auto;
	display:flex; flex-direction:column; gap:40px; align-items:center;
}

.main .steps {
	width:100%;
	display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
}
.main .step {
	padding:28px;
	border-radius:32px;
	display:flex; flex-direction:column; gap:10px;
	transition:transform .3s ease;
}
.main .step:hover { transform:translateY(-4px); }
.main .step--mint   { background:var(--bg-mint); }
.main .step--butter { background:var(--bg-butter); }
.main .step--sky    { background:var(--bg-sky); }
.main .step--amber  { background:var(--bg-amber); }
.main .step__no {
	font-family:var(--f_ui);
	font-size:var(--fs13);
	font-weight:700;
	letter-spacing:0.1em;
}
.main .step--mint   .step__no { color:oklch(0.52 0.09 148); }
.main .step--butter .step__no { color:oklch(0.52 0.08 110); }
.main .step--sky    .step__no { color:oklch(0.50 0.07 230); }
.main .step--amber  .step__no { color:oklch(0.52 0.08 55); }
.main .step__title {
	font-family:var(--f_display);
	font-weight:700;
	font-size:var(--fs20);
	color:oklch(0.31 0.05 148);
}
.main .step__desc {
	font-size:var(--fs14);
	line-height:1.85;
	color:oklch(0.46 0.04 148);
}

.main .callout {
	width:100%;
	padding:44px;
	border-radius:40px;
	background:var(--c_base2);
	color:var(--tx-invert);
	display:flex; align-items:center; justify-content:space-between;
	gap:32px; flex-wrap:wrap;
}
.main .callout__copy {
	display:flex; flex-direction:column; gap:10px;
}
.main .callout__title {
	font-family:var(--f_display);
	font-weight:700;
	font-size:var(--fs30);
}
.main .callout__lead {
	font-size:var(--fs15);
	line-height:1.9;
	color:oklch(0.92 0.02 120);
}
.main .callout__tel {
	display:inline-flex; align-items:center; gap:12px;
	padding:20px 34px;
	border-radius:999px;
	background:var(--tx-invert);
	color:oklch(0.34 0.06 148);
	font-family:var(--f_ui);
	font-weight:700;
	font-size:var(--fs20);
	transition:background .25s ease;
}
.main .callout__tel:hover {
	background:oklch(0.94 0.05 120);
	color:oklch(0.32 0.06 148);
}

/* ═════════════════════════════════════════════════
   반응형 — 1199px / 767px
   ═════════════════════════════════════════════════ */
@media screen and (max-width:1199px) {
	.main .hero { padding:100px 30px 0; }
	.main .hero__inner { gap:36px; padding-bottom:96px; }
	.main .hero__blob { right:8%; width:72px; height:72px; }
	.main .hero__curve { margin:0 -30px -1px; border-radius: 40% 40% 0 0;}

	.main .hero__shape--leaf-lg { top:24px; right:2%; width:140px; height:180px; }
	.main .hero__shape--leaf-sm { top:80px; left:2%; width:74px; height:92px; }
	.main .hero__shape--dots    { top:56%; left:34%; width:90px; height:90px; }
	.main .hero__shape--wave    { bottom:100px; left:30%; width:220px; height:42px; }
	.main .hero__shape--blob-soft { bottom:140px; left:-60px; width:160px; height:160px; }
	.main .hero__shape--pill    { top:46%; right:2%; width:110px; height:38px; }

	.main .programs { padding:30px 30px 70px; }
	.main .bento { grid-template-columns:repeat(2, 1fr); }
	.main .card--speech,
	.main .card--play,
	.main .card--sensory,
	.main .card--cognitive,
	.main .card--flower { grid-column:span 1; }
	.main .card--speech { grid-column:span 2; }
	.main .card--play   { grid-column:span 2; }

	.main .about__grid { padding:56px 30px 180px; gap:32px; }
	.main .about__list-card { padding:28px; }
	.main .about__curve-top,
	.main .about__curve-bottom {border-radius:40% 40% 0 0;}
	
	.main .about__photo {border-radius:28px;}
	.main .about__partner {border-radius:28px;}
	
	.main .about__shape--leaf    { top:56px; right:42%; width:88px; height:112px; }
	.main .about__shape--sparkle { bottom:100px; left:32%; width:66px; height:66px; }
	.main .about__shape--dots    { top:36%; right:1%; width:90px; height:90px; }
	.main .about__shape--ring    { top:32px; left:-60px; width:140px; height:140px; }
	.main .about__shape--wave    { bottom:40px; right:4%; width:200px; height:38px; }
	.main .about__shape--blob    { bottom:-30px; right:28%; width:170px; height:170px; }

	.main .consult { padding:0 30px 100px; }
	.main .steps { grid-template-columns:repeat(2, 1fr); }
	.main .callout { padding:36px; }
}

@media screen and (max-width:767px) {
	.main .hero { padding:90px 20px 0; }
	.main .hero__inner {
		grid-template-columns:1fr;
		gap:32px;
		padding-bottom:72px;
	}
	.main .hero__blob { display:none; }
	
	/* 모바일 — 히어로 오브젝트는 방해되지 않게 축소 & 일부 숨김 */
	.main .hero__shape--leaf-lg { width:96px; height:130px; top:18px; right:-14px; opacity:0.7; }
	.main .hero__shape--leaf-sm { display:none; }
	.main .hero__shape--dots    { display:none; }
	.main .hero__shape--wave    { bottom:88px; left:16%; width:170px; height:32px; opacity:0.7; }
	.main .hero__shape--blob-soft { width:120px; height:120px; bottom:120px; left:-50px; }
	.main .hero__shape--pill    { display:none; }
	
	.main .hero__curve { height:60px; margin:0 -20px -1px; border-radius:50% 50% 0 0 / 60px 60px 0 0; }
	.main .hero__image { border-radius:120px 24px 120px 24px; }
	.main .hero__stats { flex-wrap:wrap; }
	.main .stat { min-width:calc(33% - 8px); }

	.main .btn { padding:14px 22px; }

	.main .programs { padding:20px 20px 60px; }
	.main .programs__inner { gap:32px; }
	.main .circles { grid-template-columns:repeat(3, 1fr); gap:14px; }
	.main .bento { grid-template-columns:1fr; gap:14px; }
	.main .card,
	.main .card--speech,
	.main .card--play,
	.main .card--sensory,
	.main .card--cognitive,
	.main .card--flower { grid-column:span 1; padding:26px; border-radius:28px; }

	.main .about { padding:0 0 20px; }
	.main .about__curve-top,
	.main .about__curve-bottom { height:50px; }
	.main .about__grid { grid-template-columns:1fr; padding:40px 20px 60px; gap:28px; }
	.main .about__list-card { padding:22px; border-radius:28px; }
	
	/* 모바일 — about 오브젝트 축소 & 일부 숨김 */
	.main .about__shape--leaf    { display:none; }
	.main .about__shape--sparkle { bottom:80px; left:auto; right:-14px; width:56px; height:56px; opacity:0.7; }
	.main .about__shape--dots    { display:none; }
	.main .about__shape--ring    { top:20px; left:-80px; width:120px; height:120px; }
	.main .about__shape--wave    { display:none; }
	.main .about__shape--blob    { bottom:-40px; right:-40px; width:140px; height:140px; }
	
	.main .team__row { flex-wrap:wrap; gap:4px; padding:12px 0; }
	.main .team__name { min-width:auto; }

	.main .consult { padding:40px 20px 60px; }
	.main .consult__inner { gap:28px; }
	.main .steps { grid-template-columns:1fr; gap:12px; }
	.main .step { padding:22px; border-radius:24px; }
	.main .callout {
		padding:28px; border-radius:28px; gap:20px;
		flex-direction:column; align-items:flex-start;
	}
	.main .callout__tel { padding:16px 24px; }
}
