@charset "UTF-8";
/* layouts/lp-ai-desk.css — 랜딩 «케어하자 AI 비서» 구역 (짝: lp-ai-desk.php · lp-ai-desk.js · 2026-10-04)
 * 어두운 고급 판 — 밤하늘 청록 위에 로고 민트(#54cca8·#2dd4bf)가 빛난다. 가운데 시연 화면은 /home/ai-desk.css 진짜 옷. */

.ald {
	--a-mint: #54cca8; --a-aqua: #2dd4bf; --a-teal: #1f9a84;
	--a-bg: #04110f; --a-ink: #f1f7f5; --a-sub: rgba(226, 240, 235, .68); --a-line: rgba(255, 255, 255, .09);
	position: relative; isolation: isolate; overflow: hidden; overflow: clip;
	padding: clamp(84px, 11vw, 150px) 0 clamp(80px, 10vw, 140px);
	background: radial-gradient(120% 70% at 50% 0%, #0b2f2a 0%, #061a17 45%, var(--a-bg) 100%);
	color: var(--a-ink);
	font-family: 'Pretendard Variable', Pretendard, -apple-system, 'Malgun Gothic', sans-serif;
	word-break: keep-all;
}
.ald *, .ald *::before, .ald *::after { box-sizing: border-box; }
.ald-in { position: relative; z-index: 1; width: min(1240px, 100% - 40px); margin: 0 auto; }

/* 빛 — 천천히 떠도는 오로라 셋 + 고운 알갱이 */
.ald-aurora { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.ald-aurora span { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .55; mix-blend-mode: screen; animation: aldFloat 22s ease-in-out infinite alternate; }
.ald-aurora span:nth-child(1) { width: 720px; height: 520px; left: -12%; top: -6%; background: radial-gradient(closest-side, rgba(84, 204, 168, .55), transparent); }
.ald-aurora span:nth-child(2) { width: 640px; height: 640px; right: -14%; top: 18%; background: radial-gradient(closest-side, rgba(45, 212, 191, .38), transparent); animation-duration: 28s; }
.ald-aurora span:nth-child(3) { width: 900px; height: 500px; left: 20%; bottom: -12%; background: radial-gradient(closest-side, rgba(31, 154, 132, .45), transparent); animation-duration: 34s; }
@keyframes aldFloat { 0% { transform: translate3d(0, 0, 0) scale(1); } 100% { transform: translate3d(60px, 40px, 0) scale(1.12); } }
.ald-grain { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .07;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* 나타나기 */
.ald-rv { opacity: 0; transform: translateY(28px); transition: opacity .9s cubic-bezier(.22, .61, .36, 1), transform .9s cubic-bezier(.22, .61, .36, 1); }
.ald-rv.is-in { opacity: 1; transform: none; }

/* ── 머리 ── */
.ald-head { text-align: center; max-width: 880px; margin: 0 auto; }
.ald-eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 7px 16px 7px 8px; border-radius: 999px;
	background: rgba(255, 255, 255, .06); border: 1px solid var(--a-line); font-size: 14px; font-weight: 700; color: #d6f5ec; backdrop-filter: blur(8px); }
.ald-eyebrow img { width: 26px; height: 26px; padding: 3px; border-radius: 50%; background: #fff; }
.ald-eyebrow b { padding: 2px 8px; border-radius: 999px; font-size: 11px; letter-spacing: .08em; color: #04211c; background: linear-gradient(135deg, var(--a-mint), var(--a-aqua)); }
.ald-title { margin: 26px 0 0; font-size: clamp(38px, 5.6vw, 76px); font-weight: 800; line-height: 1.12; letter-spacing: -.035em; color: #fff; }
.ald-title em, .ald-sec-h h3 em, .ald-final h3 em {
	font-style: normal; background: linear-gradient(100deg, #b9f5e4 0%, var(--a-mint) 35%, var(--a-aqua) 65%, #a7f3d0 100%);
	background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: aldSheen 7s ease-in-out infinite;
}
@keyframes aldSheen { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }
.ald-lead { margin: 26px auto 0; font-size: clamp(16px, 1.55vw, 19px); line-height: 1.75; color: var(--a-sub); }
.ald-lead b { color: #fff; font-weight: 700; }
.ald-cta { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 34px; }
.ald-btn { display: inline-flex; align-items: center; gap: 10px; height: 54px; padding: 0 26px; border-radius: 999px;
	font-size: 16px; font-weight: 800; text-decoration: none; letter-spacing: -.01em; transition: transform .25s, box-shadow .25s, background .25s; }
.ald-btn--pri { color: #03201b; background: linear-gradient(135deg, #8ff0d2 0%, var(--a-mint) 45%, var(--a-aqua) 100%);
	box-shadow: 0 12px 32px -10px rgba(45, 212, 191, .7), inset 0 1px 0 rgba(255, 255, 255, .6); }
.ald-btn--pri:hover { transform: translateY(-2px); box-shadow: 0 18px 42px -12px rgba(45, 212, 191, .85), inset 0 1px 0 rgba(255, 255, 255, .6); }
.ald-btn--ghost { color: #e6fbf4; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .16); backdrop-filter: blur(8px); }
.ald-btn--ghost:hover { background: rgba(255, 255, 255, .12); }
.ald-btn--ghost i { font-size: 12px; }
.ald-btn--lg { height: 62px; padding: 0 34px; font-size: 18px; }
.ald-chips { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin: 30px 0 0; padding: 0; }
.ald-chips li { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: rgba(214, 245, 236, .78); }
.ald-chips i { color: var(--a-mint); }

/* ── 시연 무대 ── */
.ald-stage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr); gap: clamp(28px, 4vw, 64px); align-items: center;
	margin-top: clamp(70px, 8vw, 110px); scroll-margin-top: calc(var(--lp-nav-h, 74px) + 20px); }
.ald-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; counter-reset: s; }
.ald-steps li { position: relative; display: flex; gap: 18px; padding: 20px 22px; border-radius: 20px; border: 1px solid transparent;
	color: rgba(226, 240, 235, .5); transition: background .5s, border-color .5s, color .5s, transform .5s; overflow: hidden; }
.ald-steps li.is-on { color: #fff; background: linear-gradient(135deg, rgba(84, 204, 168, .14), rgba(255, 255, 255, .03)); border-color: rgba(84, 204, 168, .28); transform: translateX(6px); }
.ald-steps__n { flex-shrink: 0; font: 800 15px/1.6 Manrope, Inter, sans-serif; letter-spacing: .04em; color: rgba(84, 204, 168, .55); }
.ald-steps li.is-on .ald-steps__n { color: var(--a-mint); }
.ald-steps b { display: block; font-size: clamp(17px, 1.6vw, 20px); font-weight: 800; letter-spacing: -.02em; }
.ald-steps p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.6; color: inherit; opacity: .82; max-height: 0; overflow: hidden; transition: max-height .6s, opacity .5s; }
.ald-steps li.is-on p { max-height: 80px; }
.ald-steps li:not(.is-on) p { opacity: 0; }
.ald-steps__bar { position: absolute; left: 0; bottom: 0; height: 2px; width: 0; background: linear-gradient(90deg, var(--a-mint), var(--a-aqua)); }
.ald-steps li.is-on .ald-steps__bar { animation: aldBar var(--dur, 9s) linear forwards; }
@keyframes aldBar { from { width: 0; } to { width: 100%; } }

.ald-device { position: relative; justify-self: center; width: min(530px, 100%); }
.ald-device__glow { position: absolute; inset: 8% -6% -4%; border-radius: 50%; filter: blur(60px); background: radial-gradient(closest-side, rgba(45, 212, 191, .45), transparent); z-index: -1; }
.ald-device__frame { position: relative; border-radius: 16px; padding: 0 10px 10px; background: linear-gradient(160deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, .04));
	border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .75), 0 0 0 1px rgba(0, 0, 0, .3) inset; backdrop-filter: blur(10px); }
.ald-device__bar { display: flex; align-items: center; gap: 6px; height: 38px; padding: 0 6px; }
.ald-device__bar i { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, .22); }
.ald-device__bar i:nth-child(1) { background: #ff5f57; } .ald-device__bar i:nth-child(2) { background: #febc2e; } .ald-device__bar i:nth-child(3) { background: #28c840; }
.ald-device__bar span { margin-left: 10px; flex: 1; height: 24px; line-height: 24px; border-radius: 6px; padding: 0 12px; font-size: 12px; color: rgba(255, 255, 255, .6); background: rgba(0, 0, 0, .25); }

/* 진짜 AI 비서 옷을 무대 크기로 */
.ald .ald-hm { height: 720px; min-height: 0; max-height: none; border-radius: 10px; border: 0; color: #0f172a; text-align: left;
	font-family: 'Pretendard Variable', Pretendard, -apple-system, 'Malgun Gothic', sans-serif; letter-spacing: 0; }
.ald .ald-hm .hm-ai__feed { scroll-behavior: smooth; scrollbar-width: none; overflow: hidden; }   /* 10-07 시연 대화는 손으로 못 굴린다 — scrollTop 은 JS 만(overflow:hidden 이어도 된다) */
/* 10-07 사장님 «시연 화면인데 조작이 됨(내부 상하 스크롤)» — 시연 기기 전체를 손이 닿지 않게: 폰에서 그 위를 밀면 페이지가 굴러간다 */
.ald-device { pointer-events: none; user-select: none; -webkit-user-select: none; }
/* 시연 화면만 모서리를 조금 덜 둥글게(홈 원본은 그대로) */
.ald .ald-hm .hm-ai-card, .ald .ald-hm .hm-ai-brief { border-radius: 12px; }
.ald .ald-hm .hm-ai-card.is-fold, .ald .ald-hm .hm-ai-fold:focus-visible { border-radius: 13px; }
.ald .ald-hm .hm-ai-tile, .ald .ald-hm .hm-ai__input, .ald .ald-hm .hm-ai__send, .ald .ald-hm .hm-ai__mic, .ald .ald-hm .hm-ai-q { border-radius: 10px; }
.ald .ald-hm .hm-ai__logo, .ald .ald-hm .hm-ai-fold .hm-ai-card__ic { border-radius: 10px; }
.ald .ald-hm .hm-ai__re, .ald .ald-hm .hm-ai-fold__chev { border-radius: 8px; }
.ald .ald-hm .hm-ai-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.ald .ald-hm .hm-ai-tile { padding: 9px 10px; }
.ald .ald-hm .hm-ai-tile b { font-size: 22px; }
.ald .ald-hm .hm-ai-tile span { font-size: 11.5px; }
.ald .ald-hm .hm-ai__feed::-webkit-scrollbar { display: none; }
.ald .ald-hm button { pointer-events: none; }
.ald .ald-hm .hm-ai__input { pointer-events: none; }
.ald .ald-hm .is-press { transform: scale(.94); filter: brightness(.95); transition: transform .12s; }
.ald .ald-hm .hm-ai-pe__w b, .ald .ald-hm b { color: inherit; }
.ald .ald-hm .hm-ai-brief__hi b { color: var(--ai-ac-d); }
.ald .ald-hm .hm-ai-chg li b { color: var(--ai-ac-d); }   /* 바뀐 선택지 줄 머리(«2번 영양상태») — 위 b{inherit} 에 먹히지 않게 (10-07) */
.ald-wave { display: inline-flex; align-items: center; gap: 3px; height: 18px; margin-right: 6px; vertical-align: -3px; }
.ald-wave i { width: 3px; border-radius: 3px; background: var(--ai-ac); animation: aldWave .8s ease-in-out infinite; }
.ald-wave i:nth-child(2) { animation-delay: .1s; } .ald-wave i:nth-child(3) { animation-delay: .2s; } .ald-wave i:nth-child(4) { animation-delay: .3s; } .ald-wave i:nth-child(5) { animation-delay: .4s; }
@keyframes aldWave { 0%, 100% { height: 4px; } 50% { height: 18px; } }

/* 커서 — «누르는 손» */
.ald-cursor { position: absolute; left: 0; top: 0; z-index: 5; width: 26px; height: 26px; pointer-events: none; opacity: 0;
	transform: translate(240px, 420px); transition: transform .85s cubic-bezier(.65, 0, .35, 1), opacity .4s; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .35)); }
.ald-cursor.is-on { opacity: 1; }
.ald-cursor svg { position: relative; z-index: 1; }
.ald-cursor__ring { position: absolute; left: -14px; top: -14px; width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--a-aqua); opacity: 0; transform: scale(.4); }
.ald-cursor.is-click .ald-cursor__ring { animation: aldRing .55s ease-out; }
@keyframes aldRing { 0% { opacity: .9; transform: scale(.4); } 100% { opacity: 0; transform: scale(1.9); } }

/* 폰 — 아침 알림 */
.ald-phone { position: absolute; right: -48px; bottom: -40px; z-index: 4; width: 190px; height: 360px; border-radius: 22px; padding: 34px 10px 10px;
	background: linear-gradient(170deg, #12352f 0%, #071a17 100%); border: 6px solid #1b1f22; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .08);
	text-align: center; opacity: 0; transform: translateY(40px) rotate(6deg) scale(.9); transition: opacity .7s, transform .9s cubic-bezier(.22, .61, .36, 1); }
.ald-phone.is-on { opacity: 1; transform: translateY(0) rotate(4deg) scale(1); }
.ald-phone__notch { position: absolute; top: 10px; left: 50%; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: #000; }
.ald-phone__time { font: 700 40px/1 Manrope, Inter, sans-serif; color: #fff; letter-spacing: -.02em; }
.ald-phone__date { margin-top: 6px; font-size: 11px; color: rgba(255, 255, 255, .7); }
.ald-push { display: flex; gap: 8px; align-items: flex-start; margin-top: 26px; padding: 10px; border-radius: 12px; text-align: left;
	background: rgba(255, 255, 255, .86); color: #0f172a; backdrop-filter: blur(10px); opacity: 0; transform: translateY(-14px); transition: opacity .5s .5s, transform .6s .5s; }
.ald-phone.is-on .ald-push { opacity: 1; transform: none; }
.ald-push img { width: 22px; height: 22px; border-radius: 6px; background: #fff; flex-shrink: 0; }
.ald-push b { display: block; font-size: 10.5px; line-height: 1.35; }
.ald-push span { display: block; margin-top: 3px; font-size: 9.5px; line-height: 1.4; color: #475569; }
.ald-push em { font-style: normal; font-size: 9px; color: #64748b; flex-shrink: 0; }

/* ── 구역 머리 ── */
.ald-sec-h { text-align: center; margin: clamp(110px, 12vw, 170px) auto 44px; }
.ald-kicker { font: 800 12.5px/1 Manrope, Inter, sans-serif; letter-spacing: .22em; color: var(--a-mint); }
.ald-sec-h h3, .ald-final h3 { margin: 16px 0 0; font-size: clamp(30px, 3.8vw, 52px); font-weight: 800; line-height: 1.2; letter-spacing: -.03em; color: #fff; }

/* ── 기능 바둑판 ── */
.ald-bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ald-tile { position: relative; padding: 26px 24px; border-radius: 22px; background: linear-gradient(160deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .02));
	border: 1px solid var(--a-line); overflow: hidden; transition: transform .4s, border-color .4s, background .4s, opacity .9s; }
.ald-tile::after { content: ''; position: absolute; inset: -1px; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity .4s;
	background: radial-gradient(400px circle at var(--mx, 50%) var(--my, 0%), rgba(84, 204, 168, .16), transparent 45%); }
.ald-tile:hover { transform: translateY(-4px); border-color: rgba(84, 204, 168, .35); }
.ald-tile:hover::after { opacity: 1; }
.ald-tile--big { grid-column: span 2; padding: 32px 30px; }
.ald-tile__ic { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; font-size: 19px;
	color: #03201b; background: linear-gradient(135deg, #8ff0d2, var(--a-mint)); box-shadow: 0 10px 24px -10px rgba(84, 204, 168, .8); }
.ald-tile__ic.is-plan, .ald-tile__ic.is-green { background: linear-gradient(135deg, #bbf7d0, #22c55e); }
.ald-tile__ic.is-red { background: linear-gradient(135deg, #fecaca, #f87171); color: #450a0a; }
.ald-tile__ic.is-violet { background: linear-gradient(135deg, #ddd6fe, #a78bfa); color: #2e1065; }
.ald-tile__ic.is-blue { background: linear-gradient(135deg, #bae6fd, #38bdf8); color: #082f49; }
.ald-tile__ic.is-amber { background: linear-gradient(135deg, #fde68a, #f59e0b); color: #451a03; }
.ald-tile h4 { margin: 20px 0 0; font-size: 19px; font-weight: 800; letter-spacing: -.02em; color: #fff; }
.ald-tile--big h4 { font-size: 24px; }
.ald-tile p { margin: 10px 0 0; font-size: 14.5px; line-height: 1.7; color: var(--a-sub); }
.ald-mini { margin-top: 22px; }
.ald-mini--steps { display: flex; flex-direction: column; gap: 8px; }
.ald-mini--steps span { display: flex; align-items: center; gap: 10px; padding: 9px 14px; border-radius: 12px; font-size: 14px; font-weight: 600;
	background: rgba(0, 0, 0, .22); color: rgba(226, 240, 235, .5); }
.ald-mini--steps .is-ok { color: #d1fae5; } .ald-mini--steps .is-ok i { color: #34d399; }
.ald-mini--steps .is-run { color: #fff; background: rgba(84, 204, 168, .16); } .ald-mini--steps .is-run i { color: var(--a-aqua); }
.ald-mini--cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.ald-mini--cal span { display: grid; place-items: center; height: 34px; border-radius: 10px; font: 700 13px Manrope, Inter, sans-serif; color: rgba(226, 240, 235, .42); background: rgba(0, 0, 0, .2); }
.ald-mini--cal span.is-on { color: #052e16; background: linear-gradient(135deg, #bbf7d0, #4ade80); box-shadow: 0 6px 16px -8px rgba(74, 222, 128, .9); }
.ald-tile.is-in .ald-mini--cal span.is-on { animation: aldPop .6s cubic-bezier(.34, 1.56, .64, 1) both; animation-delay: calc(var(--i) * 40ms + .3s); }
@keyframes aldPop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }

/* ── 공단 평가 — 방문요양(주야간보호 포함) · 요양원 탭 ── */
@property --ev { syntax: '<number>'; inherits: true; initial-value: 0; }
.ald-ev-tabs { display: flex; justify-content: center; margin: -14px 0 34px; }
.ald-ev-tabs__in { display: inline-flex; gap: 4px; padding: 5px; border-radius: 999px; background: rgba(255, 255, 255, .06); border: 1px solid var(--a-line); backdrop-filter: blur(8px); }
.ald-ev-tabs button { display: inline-flex; align-items: center; gap: 8px; height: 46px; padding: 0 22px; border: 0; border-radius: 999px; cursor: pointer;
	font: inherit; font-size: 15.5px; font-weight: 800; color: rgba(226, 240, 235, .7); background: transparent; transition: color .3s, background .3s, box-shadow .3s; }
.ald-ev-tabs button small { font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: inherit; }
.ald-ev-tabs button:hover { color: #fff; }
.ald-ev-tabs button.is-on { color: #03201b; background: linear-gradient(135deg, #8ff0d2, var(--a-mint) 50%, var(--a-aqua)); box-shadow: 0 10px 26px -10px rgba(45, 212, 191, .8); }
.ald-ev-tabs button.is-on small { background: rgba(3, 32, 27, .14); }
.ald-ev { display: none; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.ald-ev.is-on { display: grid; animation: aldEvIn .6s cubic-bezier(.22, .61, .36, 1); }
@keyframes aldEvIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.ald-ev__board { position: relative; padding: 28px; border-radius: 18px; background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .02));
	border: 1px solid rgba(84, 204, 168, .22); box-shadow: 0 40px 90px -40px rgba(0, 0, 0, .8), inset 0 1px 0 rgba(255, 255, 255, .08); overflow: hidden; }
.ald-ev__board::before { content: ''; position: absolute; inset: -40% -20% auto; height: 70%; background: radial-gradient(closest-side, rgba(45, 212, 191, .22), transparent); pointer-events: none; }
.ald-ev__top { position: relative; display: flex; align-items: center; gap: 24px; }
.ald-ev__ring { --ev: 0; flex-shrink: 0; position: relative; width: 150px; height: 150px; border-radius: 50%; display: grid; place-items: center;
	background: conic-gradient(var(--a-aqua) calc(var(--ev) * 1%), rgba(255, 255, 255, .08) 0); transition: --ev 1.8s cubic-bezier(.22, .61, .36, 1); }
.ald-ev__ring::before { content: ''; position: absolute; inset: 11px; border-radius: 50%; background: #071d1a; box-shadow: inset 0 0 30px rgba(45, 212, 191, .15); }
.ald-ev.is-run .ald-ev__ring { --ev: 100; }
.ald-ev__ring div { position: relative; text-align: center; }
.ald-ev__ring b { display: block; font: 800 40px/1 Manrope, Inter, sans-serif; color: #fff; letter-spacing: -.03em; }
.ald-ev__ring span { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 700; color: var(--a-mint); }
.ald-ev__sum h4 { margin: 0; font-size: 21px; font-weight: 800; color: #fff; letter-spacing: -.02em; }
.ald-ev__sum p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: var(--a-sub); }
.ald-ev__sum em { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; padding: 5px 12px; border-radius: 999px; font-style: normal; font-size: 13px; font-weight: 800;
	color: #052e16; background: linear-gradient(135deg, #bbf7d0, #4ade80); }
.ald-ev__bars { position: relative; list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.ald-ev__bars li { display: grid; grid-template-columns: 116px 1fr 22px; align-items: center; gap: 12px; font-size: 14px; font-weight: 700; color: #e2f5ef; }
.ald-ev__bars i.b { position: relative; height: 8px; border-radius: 99px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.ald-ev__bars i.b::after { content: ''; position: absolute; inset: 0; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--a-teal), var(--a-aqua));
	transition: width 1.4s cubic-bezier(.22, .61, .36, 1); transition-delay: calc(var(--i) * 140ms + .2s); }
.ald-ev.is-run .ald-ev__bars i.b::after { width: 100%; }
.ald-ev__bars .fa-circle-check { color: #34d399; opacity: 0; transform: scale(.4); transition: opacity .4s, transform .5s cubic-bezier(.34, 1.56, .64, 1); transition-delay: calc(var(--i) * 140ms + 1.4s); }
.ald-ev.is-run .ald-ev__bars .fa-circle-check { opacity: 1; transform: none; }
.ald-ev__fix { position: relative; display: flex; align-items: center; gap: 10px; margin-top: 22px; padding: 12px 14px; border-radius: 12px; font-size: 13.5px; font-weight: 700;
	color: #d1fae5; background: rgba(52, 211, 153, .1); border: 1px solid rgba(52, 211, 153, .25); }
.ald-ev__fix i { color: #34d399; }
.ald-ev__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.ald-ev__list li { display: flex; gap: 16px; padding: 20px 22px; border-radius: 16px; background: rgba(255, 255, 255, .04); border: 1px solid var(--a-line); transition: border-color .4s, background .4s; }
.ald-ev__list li:hover { border-color: rgba(84, 204, 168, .35); background: rgba(84, 204, 168, .06); }
.ald-ev__list li > i { flex-shrink: 0; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; font-size: 17px; color: #03201b; background: linear-gradient(135deg, #8ff0d2, var(--a-mint)); }
.ald-ev__list b { display: block; font-size: 17px; font-weight: 800; color: #fff; letter-spacing: -.02em; }
.ald-ev__list p { margin: 6px 0 0; font-size: 14.5px; line-height: 1.65; color: var(--a-sub); }
.ald-ev-foot { margin: 26px 0 0; text-align: center; font-size: 13px; color: rgba(226, 240, 235, .5); }

/* ── 하루 ── */
.ald-day { list-style: none; margin: 0 auto; padding: 0; max-width: 860px; position: relative; }
.ald-day::before { content: ''; position: absolute; left: 92px; top: 10px; bottom: 10px; width: 2px; background: linear-gradient(180deg, transparent, rgba(84, 204, 168, .5), transparent); }
.ald-day li { position: relative; display: grid; grid-template-columns: 72px 1fr; column-gap: 46px; padding: 18px 0; }
.ald-day li::before { content: ''; position: absolute; left: 86px; top: 25px; width: 14px; height: 14px; border-radius: 50%; background: var(--a-bg); border: 3px solid var(--a-mint); box-shadow: 0 0 18px rgba(84, 204, 168, .7); }
.ald-day time { grid-row: span 2; font: 800 20px/1.4 Manrope, Inter, sans-serif; color: var(--a-mint); text-align: right; }
.ald-day b { font-size: 20px; font-weight: 800; color: #fff; letter-spacing: -.02em; }
.ald-day p { margin: 6px 0 0; font-size: 15px; color: var(--a-sub); }

/* ── 요양원 단 — 말하면, 기록이 됩니다 (폰·받아쓰기·정리 카드 옷은 /daycare-home/intro/intro.css nh- 그대로) ── */
.adc { position: relative; isolation: isolate; margin-top: clamp(110px, 12vw, 160px); border-radius: 24px; overflow: hidden;
	background: radial-gradient(120% 80% at 70% 10%, #141a3d 0%, #070a17 60%); border: 1px solid rgba(148, 163, 255, .16);
	box-shadow: 0 50px 120px -50px rgba(0, 0, 0, .9); text-align: left; }
.adc-gl { position: absolute; inset: 0; z-index: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.adc::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: radial-gradient(55% 75% at 20% 55%, rgba(7, 10, 23, .85) 0%, rgba(7, 10, 23, .35) 55%, rgba(7, 10, 23, 0) 80%); }
.adc-in { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; gap: 40px;
	min-height: 700px; padding: clamp(56px, 7vw, 96px) clamp(28px, 5vw, 72px); }
.adc-h { margin: 26px 0 0; font-size: clamp(44px, 6.2vw, 92px); line-height: 1.04; font-weight: 820; letter-spacing: -.05em; color: #fff; word-break: keep-all; }
.adc-dev { position: relative; display: flex; justify-content: center; perspective: 1400px; padding: 24px 0; }
.adc .adc-phone { width: min(290px, 100%); }
.adc .nh-float.is-show { opacity: 1; }
.adc .nh-recs { z-index: 4; }
.adc .nh-rec { min-width: 0; width: 232px; gap: 12px; padding: 12px 16px 12px 12px; border-radius: 14px; }
.adc .nh-rec span { white-space: normal; }
.adc .nh-rec--care  { top: 24%; left: auto; right: calc(50% + 64px); }
.adc .nh-rec--nurse { top: 42%; right: auto; left: calc(50% + 64px); }
.adc .nh-rec--meal  { top: 60%; left: auto; right: calc(50% + 64px); }
.adc .nh-rec--care.is-out, .adc .nh-rec--meal.is-out { transform: translateX(180px) scale(.4); }
.adc .nh-rec--nurse.is-out { transform: translateX(-180px) scale(.4); }

/* ── 마무리 ── */
.ald-final { margin-top: clamp(110px, 12vw, 160px); padding: clamp(48px, 6vw, 80px) 24px; border-radius: 32px; text-align: center;
	background: radial-gradient(80% 120% at 50% 0%, rgba(84, 204, 168, .28), rgba(255, 255, 255, .03) 60%), rgba(255, 255, 255, .03);
	border: 1px solid rgba(84, 204, 168, .25); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }
.ald-final .ald-btn { margin-top: 34px; }
.ald-final small { display: block; margin-top: 18px; font-size: 13.5px; color: var(--a-sub); }

/* ── 좁은 화면 ── */
@media (max-width: 1080px) {
	.ald-stage { grid-template-columns: minmax(0, 1fr); }   /* 1fr 이면 가로 단계 띠의 너비만큼 칸이 화면보다 넓어진다 */
	.ald-steps { flex-direction: row; overflow-x: auto; scrollbar-width: none; gap: 8px; margin: 0 -20px; padding: 0 20px; scroll-snap-type: x mandatory; }
	.ald-steps::-webkit-scrollbar { display: none; }
	.ald-steps li { flex: 0 0 min(300px, 78%); scroll-snap-align: start; background: rgba(255, 255, 255, .03); transform: none !important; }
	.ald-steps p { max-height: none; opacity: .8 !important; }
	.ald-phone { right: -12px; }
	.ald-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ald-ev { grid-template-columns: minmax(0, 1fr); }
	.adc-in { grid-template-columns: minmax(0, 1fr); min-height: 0; gap: 20px; }
	.adc::before { background: radial-gradient(90% 50% at 30% 25%, rgba(7, 10, 23, .8), rgba(7, 10, 23, .2) 80%); }
	.adc .adc-phone { width: min(250px, 62vw); }
	.adc .nh-rec { width: min(186px, 44vw); gap: 10px; padding: 9px 12px 9px 10px; }
	.adc .nh-rec > i { width: 32px; height: 32px; border-radius: 10px; font-size: 14px; }
	.adc .nh-rec b { font-size: 13px; } .adc .nh-rec span { font-size: 12px; }
	.adc .nh-rec--care  { top: 16%; left: 0; right: auto; }
	.adc .nh-rec--nurse { top: 40%; right: 0; left: auto; }
	.adc .nh-rec--meal  { top: 64%; left: 0; right: auto; }
	.adc .nh-rec--care.is-out, .adc .nh-rec--meal.is-out { transform: translateX(110px) scale(.4); }
	.adc .nh-rec--nurse.is-out { transform: translateX(-110px) scale(.4); }
	.adc .nh-float--b { display: none; }   /* 좁은 화면은 식단 카드와 겹친다 */
}
@media (max-width: 640px) {
	.ald-in { width: calc(100% - 32px); }
	.ald-br { display: none; }
	.ald-btn { height: 50px; padding: 0 22px; font-size: 15px; }
	.ald .ald-hm { height: 600px; }
	.ald-device__frame { padding: 0 6px 6px; border-radius: 14px; }
	.ald-phone { width: 150px; height: 290px; right: -6px; bottom: -30px; padding-top: 30px; border-radius: 18px; border-width: 5px; }
	.ald-phone__time { font-size: 32px; }
	.ald-bento { grid-template-columns: 1fr; }
	.ald-tile--big { grid-column: auto; }
	.ald-ev-tabs__in { width: 100%; }
	.adc { border-radius: 18px; }
	.adc-in { padding: 44px 18px 36px; }
	.adc-h { font-size: 42px; }
	.adc .nh-proof { gap: 8px 16px; font-size: 13px; }
	.ald-ev-tabs button { flex: 1; justify-content: center; flex-direction: column; gap: 2px; height: 58px; padding: 0 10px; border-radius: 22px; font-size: 15px; }
	.ald-ev-tabs button small { padding: 0; background: none !important; font-size: 11px; opacity: .8; }
	.ald-ev__board { padding: 22px 18px; }
	.ald-ev__top { flex-direction: column; text-align: center; gap: 16px; }
	.ald-ev__ring { width: 130px; height: 130px; }
	.ald-ev__bars li { grid-template-columns: 96px 1fr 20px; font-size: 13px; }
	.ald-ev__list li { padding: 16px; }
	.ald-day::before { left: 6px; }
	.ald-day li { grid-template-columns: 1fr; padding: 14px 0 14px 34px; column-gap: 0; }
	.ald-day li::before { left: 0; top: 18px; }
	.ald-day time { grid-row: auto; text-align: left; font-size: 16px; }
	.ald-day b { font-size: 17px; }
}
@media (prefers-reduced-motion: reduce) {
	.ald-aurora span, .ald-title em, .ald-sec-h h3 em, .ald-final h3 em { animation: none; }
	.ald-rv { opacity: 1; transform: none; transition: none; }
	.ald-ev__ring, .ald-ev__bars i.b::after, .ald-ev__bars .fa-circle-check { transition: none; }
	.ald-ev.is-on { animation: none; }
}
