/*
 * TV명가 Premium — design system
 * Industrial precision meets a refined living-room aesthetic.
 */
:root {
	--color-primary: #f59e0b;
	--color-primary-50: #fff8e8;
	--color-primary-100: #ffedbf;
	--color-primary-500: #f59e0b;
	--color-primary-600: #dc8500;
	--color-primary-700: #b86b00;
	--color-secondary: #343434;
	--color-secondary-50: #f7f7f5;
	--color-secondary-100: #ededeb;
	--color-secondary-200: #d9d9d5;
	--color-secondary-500: #73736f;
	--color-secondary-600: #5b5b57;
	--color-secondary-700: #41413e;
	--color-secondary-900: #1b1b1a;
	--color-neutral: #222220;
	--color-background: #ffffff;
	--font-display: "Noto Sans KR", sans-serif;
	--font-sans: "Noto Sans KR", sans-serif;
	--text-sm: .875rem;
	--text-base: 1rem;
	--text-lg: 1.125rem;
	--text-xl: 1.25rem;
	--text-2xl: 1.5rem;
	--text-3xl: 1.875rem;
	--text-4xl: 2.5rem;
	--text-5xl: 4.5rem;
	--radius-card: 1.5rem;
}

@layer base {
	* { box-sizing: border-box; }
	html { scroll-behavior: smooth; }
	body {
		margin: 0;
		background: #fff;
		color: #222220;
		font-family: var(--font-sans);
		font-size: 16px;
			word-break:keep-all;
		line-height: 1.75;
		-webkit-font-smoothing: antialiased;
	}
	body.admin-bar .tvm-header { top: 32px; }
	img { max-width: 100%; height: auto; }
	a { color: inherit; text-decoration: none; }
	button, input, textarea { font: inherit; }
	h1, h2, h3, h4 { margin: 0; line-height: 1.28; letter-spacing: -.022em; }
	p { margin-top: 0; }
	[x-cloak] { display: none !important; }
}

@layer components {
	:root {
		--tvm-orange: #f59e0b;
		--tvm-orange-dark: #c97600;
		--tvm-ink: #1b1b1a;
		--tvm-charcoal: #343434;
		--tvm-muted: #70706b;
		--tvm-line: #e7e5df;
		--tvm-paper: #f6f5f1;
		--tvm-max: 1180px;
	}
	.tvm-shell { width: min(calc(100% - 40px), var(--tvm-max)); margin-inline: auto; }
	.tvm-topbar { background: var(--tvm-ink); color: #d7d5cf; font-size: 13px; letter-spacing: .02em; }
	.tvm-topbar__inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
	.tvm-topbar strong { color: #fff; font-weight: 700; }
	.tvm-topbar a { color: #ffd278; }
	.tvm-header {
		position: sticky; top: 0; z-index: 50;
		background: rgba(255,255,255,.94);
		border-bottom: 1px solid rgba(34,34,32,.08);
		backdrop-filter: blur(16px);
	}
	.tvm-header__inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
	.tvm-brand { display: inline-flex; align-items: center; gap: 0; min-width: 338px; flex-shrink: 0; }
	.tvm-brand img { width: 108px; height: 72px; object-fit: contain; object-position: center; border-radius: 0; }
	.tvm-brand__copy { display: flex; flex-direction: column; justify-content:center; line-height: 1.25; margin-left:-6px; padding-left:0; transform:translateY(1px); }
	.tvm-brand__copy strong { font-size: 13px; letter-spacing: -.01em; color: var(--tvm-charcoal); font-weight: 600; white-space: nowrap; }
	.tvm-brand__copy small { margin-top: 3px; color: var(--tvm-orange-dark); font-size: 12px; font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
	.tvm-nav { display: flex; align-items: center; gap: 22px; font-weight: 700; font-size: 14px; }
	.tvm-nav a { position: relative; padding: 28px 0; }
	.tvm-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:20px; height:2px; background:var(--tvm-orange); transition:right .25s ease; }
	.tvm-nav a:hover::after, .tvm-nav a:focus-visible::after { right:0; }
	.tvm-header-call { display:inline-flex; align-items:center; gap:9px; border-radius:999px; background:var(--tvm-orange); color:#1b1b1a; padding:12px 18px; font-weight:800; box-shadow:0 10px 24px rgba(245,158,11,.22); }
	.tvm-menu-button { display:none; border:0; background:var(--tvm-ink); color:#fff; border-radius:12px; padding:10px 13px; font-weight:700; }
	.tvm-mobile-menu { display:none; }
	.tvm-hero {
		position:relative; min-height:620px; display:flex; align-items:center; overflow:hidden;
		background-color:#f4f2ed; background-size:cover; background-position:center;
	}
	.tvm-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(255,255,255,.82) 0%,rgba(255,255,255,.60) 30%,rgba(255,255,255,.16) 52%,rgba(255,255,255,0) 70%); }
	.tvm-hero::after { content:""; position:absolute; width:480px; height:480px; right:-240px; bottom:-240px; border:72px solid rgba(245,158,11,.72); border-radius:50%; }
	.tvm-hero__content { position:relative; z-index:2; color:var(--tvm-ink); padding:84px 0 78px; max-width:690px; }
	.tvm-kicker { display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; color:var(--tvm-orange-dark); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
	.tvm-kicker::before { content:""; width:36px; height:2px; background:var(--tvm-orange); }
	.tvm-hero h1 { max-width:760px; font-family:var(--font-sans); font-size:clamp(34px,4vw,52px); font-weight:700; line-height:1.32; letter-spacing:-.035em; text-wrap:balance; color:#242422; text-shadow:0 1px 1px rgba(255,255,255,.95),0 4px 18px rgba(255,255,255,.72); }
	.tvm-hero h1 em { color:#f28a00; font-style:normal; font-weight:800; }
	.tvm-hero__lead { max-width:590px; margin:24px 0 0; color:#363633; font-size:clamp(16px,1.6vw,19px); font-weight:500; line-height:1.8; text-shadow:0 1px 8px rgba(255,255,255,.92); }
	.tvm-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
	.tvm-btn { display:inline-flex; justify-content:center; align-items:center; min-height:54px; padding:0 24px; border-radius:999px; border:1px solid transparent; font-weight:800; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
	.tvm-btn:hover { transform:translateY(-2px); }
	.tvm-btn--primary { background:var(--tvm-orange); color:#1b1b1a; box-shadow:0 12px 30px rgba(245,158,11,.25); }
	.tvm-btn--ghost { color:var(--tvm-ink); border-color:rgba(27,27,26,.24); background:rgba(255,255,255,.68); }
	.tvm-btn--dark { background:var(--tvm-ink); color:#fff; }
	.tvm-hero__meta { display:flex; flex-wrap:wrap; gap:24px; margin-top:34px; color:#64645f; font-size:13px; }
	.tvm-hero__meta span { display:flex; align-items:center; gap:8px; }
	.tvm-hero__meta span::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--tvm-orange); }
	.tvm-proof { position:relative; z-index:4; margin-top:-1px; background:var(--tvm-orange); }
	.tvm-proof__grid { display:grid; grid-template-columns:repeat(4,1fr); }
	.tvm-proof__item { padding:27px 24px; border-right:1px solid rgba(27,27,26,.17); }
	.tvm-proof__item:last-child { border-right:0; }
	.tvm-proof__item strong { display:block; font-size:23px; line-height:1.25; letter-spacing:-.04em; }
	.tvm-proof__item span { display:block; margin-top:5px; font-size:13px; color:rgba(27,27,26,.72); font-weight:600; }
	.tvm-section { padding:104px 0; }
	.tvm-section--paper { background:var(--tvm-paper); }
	.tvm-section--dark { background:var(--tvm-ink); color:#fff; }
	.tvm-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:44px; }
	.tvm-eyebrow { color:var(--tvm-orange-dark); font-size:13px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
	.tvm-section-title { max-width:750px; margin-top:12px; font-size:clamp(30px,3.5vw,46px); font-weight:700; text-wrap:balance; }
	.tvm-section-copy { max-width:460px; margin:0; color:var(--tvm-muted); }
	.tvm-services { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
	.tvm-service {
		position:relative; min-height:280px; padding:30px; overflow:hidden; border:1px solid var(--tvm-line); border-radius:24px; background:#fff;
		transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
	}
	.tvm-service:hover { transform:translateY(-8px); background:linear-gradient(145deg,#fffaf0,#ffe9bd); box-shadow:0 28px 58px rgba(86,58,12,.18); border-color:#e4a132; }
	.tvm-service__num { display:block; margin-bottom:64px; color:var(--tvm-orange-dark); font-size:13px; font-weight:800; letter-spacing:.12em; }
	.tvm-service h3 { font-size:24px; }
	.tvm-service p { margin:12px 0 0; color:var(--tvm-muted); font-size:15px; }
	.tvm-service::after { content:""; position:absolute; width:92px; height:92px; right:-52px; top:-52px; border:17px solid rgba(245,158,11,.25); border-radius:50%; transition:border-color .28s ease, transform .28s ease; }
	.tvm-service:hover::after { border-color:rgba(245,158,11,.58); transform:scale(1.08); }
	.tvm-split { display:grid; grid-template-columns:1.08fr .92fr; min-height:660px; }
	.tvm-split__image { position:relative; min-height:520px; overflow:hidden; }
	.tvm-split__image img { width:100%; height:100%; object-fit:cover; object-position:58% center; }
	.tvm-split__image::after { content:""; position:absolute; inset:0; box-shadow:inset -80px 0 100px rgba(27,27,26,.18); }
	.tvm-split__content { display:flex; flex-direction:column; justify-content:center; padding:78px clamp(36px,6vw,92px); background:var(--tvm-ink); color:#fff; }
	.tvm-split__content h2 { margin-top:14px; font-size:clamp(38px,4.6vw,62px); }
	.tvm-split__content > p { margin:24px 0 0; color:#cbc9c3; }
	.tvm-checks { display:grid; gap:14px; margin:30px 0 0; padding:0; list-style:none; }
	.tvm-checks li { position:relative; padding-left:32px; color:#f3f2ef; font-weight:600; }
	.tvm-checks li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--tvm-orange); font-weight:900; }
	.tvm-cases { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:18px; }
	.tvm-case { position:relative; min-height:350px; padding:30px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; border-radius:24px; background:#2b2b29; color:#fff; }
	.tvm-case--image { min-height:520px; background-size:cover; background-position:center; }
	.tvm-case--image::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 30%, rgba(18,18,17,.9) 100%); }
	.tvm-case--orange { background:linear-gradient(145deg,#f7aa19,#d77900); color:#1b1b1a; }
	.tvm-case--light { background:#e8e6df; color:#1b1b1a; }
	.tvm-case > * { position:relative; z-index:1; }
	.tvm-case__place { font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:.76; }
	.tvm-case h3 { margin-top:10px; font-size:26px; }
	.tvm-case p { margin:12px 0 0; opacity:.76; font-size:14px; }
	.tvm-areas { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
	.tvm-area-list { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
	.tvm-area { display:flex; justify-content:space-between; align-items:center; min-height:70px; padding:0 22px; border:1px solid #43433f; border-radius:16px; color:#f1f0ec; }
	.tvm-area strong { font-size:18px; }
	.tvm-area span { color:#f3b84c; font-size:12px; font-weight:800; }
	.tvm-process { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--tvm-line); }
	.tvm-step { position:relative; padding:34px 30px 0 0; }
	.tvm-step::before { content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:50%; background:var(--tvm-orange); }
	.tvm-step b { display:block; color:var(--tvm-orange-dark); font-size:13px; }
	.tvm-step h3 { margin-top:15px; font-size:21px; }
	.tvm-step p { margin:10px 0 0; color:var(--tvm-muted); font-size:14px; }
	.tvm-cta { position:relative; overflow:hidden; padding:86px 0; background:var(--tvm-orange); color:#1b1b1a; }
	.tvm-cta::after { content:"TV"; position:absolute; right:-10px; top:-80px; color:rgba(255,255,255,.18); font-family:var(--font-display); font-size:250px; line-height:1; }
	.tvm-cta__inner { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:40px; }
	.tvm-cta h2 { max-width:700px; font-size:clamp(36px,4.8vw,62px); }
	.tvm-cta p { margin:14px 0 0; font-weight:600; opacity:.75; }
	.tvm-page-hero { padding:104px 0 70px; background:linear-gradient(135deg,#242423,#393937); color:#fff; }
	.tvm-page-hero h1 { max-width:820px; margin-top:14px; font-size:clamp(38px,5vw,60px); font-family:var(--font-sans); font-weight:700; letter-spacing:-.035em; }
	.tvm-page-hero p { max-width:1100px; margin:24px 0 0; color:#d0cec8; font-size:17px; }
	.tvm-content { padding:90px 0; }
	.tvm-prose { max-width:780px; font-size:17px; }
	.tvm-prose h2 { margin:54px 0 18px; font-size:34px; }
	.tvm-prose h3 { margin:36px 0 14px; font-size:24px; }
	.tvm-prose p, .tvm-prose li { color:#545450; }
	.tvm-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
	.tvm-detail { padding:34px; border-radius:22px; background:var(--tvm-paper); border:1px solid var(--tvm-line); }
	.tvm-detail h3 { font-size:24px; }
	.tvm-detail p { margin:12px 0 0; color:var(--tvm-muted); }
	.tvm-contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:24px; }
	.tvm-contact-card,
	.tvm-contact-card--orange,
	.tvm-contact-card--light {
		position:relative;
		display:block;
		padding:40px;
		border:1px solid var(--tvm-line);
		border-radius:26px;
		background:#fff;
		color:var(--tvm-ink);
		box-shadow:0 12px 30px rgba(34,31,25,.07);
		transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease, color .28s ease;
	}
	.tvm-contact-card:hover,
	.tvm-contact-card:focus-visible {
		transform:translateY(-8px);
		border-color:#e7a63b;
		background:linear-gradient(145deg,#fffaf0 0%,#ffe9bd 100%);
		color:var(--tvm-ink);
		box-shadow:0 28px 58px rgba(86,58,12,.18);
		outline:none;
	}
	.tvm-contact-card small { display:block; opacity:.7; font-weight:700; }
	.tvm-contact-card strong { display:block; margin-top:10px; font-size:clamp(28px,4vw,45px); letter-spacing:-.04em; }
	.tvm-contact-card p { margin:18px 0 0; opacity:.75; }
	.tvm-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
	.tvm-post-card { overflow:hidden; border:1px solid var(--tvm-line); border-radius:22px; background:#fff; }
	.tvm-post-card__thumb { aspect-ratio:4/3; background:#dedcd5; overflow:hidden; }
	.tvm-post-card__thumb img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
	.tvm-post-card:hover img { transform:scale(1.04); }
	.tvm-post-card__body { padding:24px; }
	.tvm-post-card__body time { color:var(--tvm-orange-dark); font-size:12px; font-weight:800; }
	.tvm-post-card__body h2 { margin-top:9px; font-size:22px; }
	.tvm-post-card__body p { margin:12px 0 0; color:var(--tvm-muted); font-size:14px; }
	.tvm-post-card__tag { display:inline-block; color:var(--tvm-orange-dark); font-size:12px; font-weight:800; letter-spacing:.04em; }
	.tvm-post-card__more { display:inline-block; margin-top:18px; color:var(--tvm-orange-dark); font-size:13px; font-weight:800; }
	.tvm-post-card--review .tvm-post-card__thumb { background:#f4f5f7; }
	.tvm-post-card--review .tvm-post-card__thumb img { object-fit:contain; object-position:top center; }
	.tvm-case-index { padding-top:54px; }
	.tvm-case-index .tvm-filter { position:sticky; top:104px; z-index:8; padding:14px; border:1px solid var(--tvm-line); border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 14px 34px rgba(30,30,27,.08); backdrop-filter:blur(12px); }
	.tvm-case-group { padding-top:72px; scroll-margin-top:150px; }
	.tvm-case-group:first-of-type { padding-top:28px; }
	.tvm-case-group + .tvm-case-group { margin-top:18px; border-top:1px solid var(--tvm-line); }
	.tvm-case-group__intro { max-width:640px; margin:16px 0 0; color:var(--tvm-muted); }
	.tvm-pagination { margin-top:46px; }
	.tvm-footer { background:#141413; color:#cbc9c3; padding:74px 0 26px; }
	.tvm-footer__grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:60px; }
	.tvm-footer__brand { color:#fff; font-size:27px; font-weight:800; }
	.tvm-footer h3 { color:#fff; font-size:15px; letter-spacing:.08em; text-transform:uppercase; }
	.tvm-footer ul { margin:18px 0 0; padding:0; list-style:none; }
	.tvm-footer li { margin:8px 0; }
	.tvm-footer a:hover { color:var(--tvm-orange); }
	.tvm-footer__bottom { display:flex; justify-content:space-between; gap:30px; margin-top:54px; padding-top:22px; border-top:1px solid #343430; color:#858580; font-size:12px; }
	.tvm-mobile-actions { display:none; }
	.tvm-empty { padding:70px; text-align:center; border-radius:24px; background:var(--tvm-paper); color:var(--tvm-muted); }
	.tvm-intro-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:start; }
	.tvm-intro-copy h2 { font-size:clamp(30px,4vw,46px); font-weight:700; }
	.tvm-intro-copy p { margin:22px 0 0; color:var(--tvm-muted); font-size:17px; }
	.tvm-stat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
	.tvm-stat { padding:28px; border-radius:20px; background:var(--tvm-paper); border:1px solid var(--tvm-line); }
	.tvm-stat strong { display:block; color:var(--tvm-orange-dark); font-size:30px; }
	.tvm-stat span { display:block; margin-top:6px; color:var(--tvm-muted); font-size:13px; }
	.tvm-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
	.tvm-info-card { padding:32px; border:1px solid var(--tvm-line); border-radius:22px; background:#fff; }
	.tvm-info-card b { color:var(--tvm-orange-dark); font-size:12px; letter-spacing:.1em; }
	.tvm-info-card h3 { margin-top:12px; font-size:23px; font-weight:700; }
	.tvm-info-card p { margin:13px 0 0; color:var(--tvm-muted); font-size:15px; }
	.tvm-compare-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
	.tvm-compare { padding:40px; border-radius:26px; background:#fff; border:1px solid var(--tvm-line); }
	.tvm-compare--accent { background:#fff8e8; border-color:#f2d79f; }
	.tvm-compare h3 { font-size:28px; }
	.tvm-list { margin:22px 0 0; padding:0; list-style:none; }
	.tvm-list li { position:relative; margin:11px 0; padding-left:24px; color:#555550; }
	.tvm-list li::before { content:""; position:absolute; left:0; top:.72em; width:8px; height:8px; border-radius:50%; background:var(--tvm-orange); }
	.tvm-filter { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
	.tvm-filter a { padding:10px 17px; border-radius:999px; border:1px solid var(--tvm-line); background:#fff; font-size:14px; font-weight:700; }
	.tvm-filter a:hover { border-color:var(--tvm-orange); background:#fff8e8; }
	.tvm-case-feature-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:18px; }
	.tvm-case-feature { min-height:320px; display:flex; flex-direction:column; justify-content:flex-end; padding:30px; border-radius:24px; overflow:hidden; background:var(--tvm-paper); border:1px solid var(--tvm-line); }
	.tvm-case-feature--image { min-height:440px; color:#fff; background-size:cover; background-position:center; position:relative; }
	.tvm-case-feature--image::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(20,20,19,.78)); }
	.tvm-case-feature--image > * { position:relative; z-index:1; }
	.tvm-case-feature--orange { background:#fff0cc; }
	.tvm-case-feature small { font-weight:700; color:var(--tvm-orange-dark); }
	.tvm-case-feature--image small { color:#ffd278; }
	.tvm-case-feature h3 { margin-top:10px; font-size:25px; }
	.tvm-case-feature p { margin:10px 0 0; opacity:.76; }
	.tvm-faq { display:grid; gap:12px; max-width:880px; }
	.tvm-faq details { border:1px solid var(--tvm-line); border-radius:18px; background:#fff; padding:0 24px; }
	.tvm-faq summary { cursor:pointer; list-style:none; padding:22px 34px 22px 0; font-weight:700; position:relative; }
	.tvm-faq summary::after { content:"＋"; position:absolute; right:0; color:var(--tvm-orange-dark); }
	.tvm-faq details[open] summary::after { content:"−"; }
	.tvm-faq details p { margin:0 0 23px; color:var(--tvm-muted); }
	.tvm-notice { padding:30px; border-left:4px solid var(--tvm-orange); border-radius:0 18px 18px 0; background:#fff8e8; }
	.tvm-notice strong { display:block; font-size:20px; }
	.tvm-notice p { margin:9px 0 0; color:#666158; }
	.tvm-article { width:min(calc(100% - 40px),820px); margin:0 auto; padding:82px 0 96px; }
	.tvm-article__header { margin-bottom:38px; }
	.tvm-article__header h1 { margin-top:12px; font-size:clamp(34px,5vw,54px); font-weight:700; }
	.tvm-article__meta { margin-top:18px; color:var(--tvm-muted); font-size:14px; }
	.tvm-article__thumb { margin:0 0 38px; overflow:hidden; border-radius:24px; }
	.tvm-article__thumb img { display:block; width:100%; }
	.tvm-article__body { font-size:17px; line-height:1.9; }
	.tvm-article__body h2 { margin:48px 0 16px; font-size:30px; }
	.tvm-article__body h3 { margin:36px 0 13px; font-size:23px; }
	.tvm-article__body p, .tvm-article__body li { color:#4f4f4b; }
	.tvm-post-nav { display:flex; justify-content:space-between; gap:24px; margin-top:64px; padding-top:28px; border-top:1px solid var(--tvm-line); }
	.tvm-post-nav a { max-width:46%; color:var(--tvm-muted); font-weight:600; }
	.tvm-post-card a { display:block; height:100%; }
	.tvm-post-card__more { transition:color .2s ease, transform .2s ease; }
	.tvm-post-card:hover .tvm-post-card__more { color:var(--tvm-orange); transform:translateX(4px); }
	.tvm-case-detail__hero { padding-bottom:76px; }
	.tvm-case-detail__back { display:inline-flex; margin-bottom:28px; color:var(--tvm-orange-dark); font-weight:800; }
	.tvm-case-detail__summary { display:grid; grid-template-columns:1.15fr .85fr; gap:46px; align-items:center; margin-bottom:92px; }
	.tvm-case-detail__cover { overflow:hidden; border-radius:28px; background:var(--tvm-paper); box-shadow:0 24px 60px rgba(30,30,26,.12); }
	.tvm-case-detail__cover img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
	.tvm-case-detail__copy > span { color:var(--tvm-orange-dark); font-size:12px; font-weight:800; letter-spacing:.14em; }
	.tvm-case-detail__copy h2 { margin-top:14px; font-size:clamp(30px,4vw,46px); }
	.tvm-case-detail__copy > p { margin:22px 0 0; color:var(--tvm-muted); font-size:17px; }
	.tvm-case-detail__copy dl { margin:30px 0 0; border-top:1px solid var(--tvm-line); }
	.tvm-case-detail__copy dl div { display:grid; grid-template-columns:90px 1fr; padding:15px 0; border-bottom:1px solid var(--tvm-line); }
	.tvm-case-detail__copy dt { color:var(--tvm-muted); font-size:14px; }
	.tvm-case-detail__copy dd { margin:0; font-weight:700; }
	.tvm-case-detail__heading { max-width:720px; margin-bottom:32px; }
	.tvm-case-detail__heading h2 { margin-top:10px; font-size:clamp(30px,4vw,44px); }
	.tvm-case-detail__heading p { margin:14px 0 0; color:var(--tvm-muted); }
	.tvm-case-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
	.tvm-case-gallery figure { margin:0; overflow:hidden; border-radius:24px; background:var(--tvm-paper); }
	.tvm-case-gallery figure:first-child { grid-column:1/-1; }
	.tvm-case-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
	.tvm-case-gallery figure:first-child img { aspect-ratio:16/9; }
	.tvm-case-detail__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:42px; padding-top:34px; border-top:1px solid var(--tvm-line); }

	@keyframes tvmFadeUp { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }
	.tvm-hero__content > * { animation:tvmFadeUp .7s both; }
	.tvm-hero__content > :nth-child(2) { animation-delay:.08s; }
	.tvm-hero__content > :nth-child(3) { animation-delay:.16s; }
	.tvm-hero__content > :nth-child(4) { animation-delay:.24s; }
	.tvm-hero__content > :nth-child(5) { animation-delay:.32s; }

	@media (max-width: 1120px) {
		body.admin-bar .tvm-header { top:46px; }
		.tvm-topbar__inner span:last-child { display:none; }
		.tvm-nav, .tvm-header-call { display:none; }
		.tvm-menu-button { display:inline-flex; }
		.tvm-mobile-menu { display:block; border-top:1px solid var(--tvm-line); background:#fff; }
		.tvm-mobile-menu__inner { display:grid; padding:10px 0 18px; }
		.tvm-mobile-menu a { padding:12px 4px; font-weight:700; border-bottom:1px solid #efeee9; }
		.tvm-hero { min-height:580px; background-position:60% center; }
		.tvm-proof__grid { grid-template-columns:repeat(2,1fr); }
		.tvm-proof__item:nth-child(2) { border-right:0; }
		.tvm-services { grid-template-columns:repeat(2,1fr); }
		.tvm-split { grid-template-columns:1fr; }
		.tvm-split__image { min-height:470px; }
		.tvm-cases { grid-template-columns:1fr 1fr; }
		.tvm-case--image { grid-row:span 2; }
		.tvm-areas { grid-template-columns:1fr; gap:44px; }
		.tvm-process { grid-template-columns:repeat(2,1fr); row-gap:38px; }
		.tvm-footer__grid { grid-template-columns:1fr 1fr; }
		.tvm-footer__grid > :first-child { grid-column:1/-1; }
	}
	@media (max-width: 640px) {
		body { padding-bottom:68px; }
		body.admin-bar .tvm-header { top:0; }
		.tvm-shell { width:min(calc(100% - 28px),var(--tvm-max)); }
		.tvm-topbar { display:none; }
		.tvm-header__inner { min-height:72px; }
		.tvm-brand { min-width:0; }
		.tvm-brand img { width:96px; height:60px; }
		.tvm-brand__copy { display:none; }
		.tvm-hero { min-height:560px; background-position:62% center; }
		.tvm-hero::before { background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.82) 76%); }
		.tvm-hero__content { padding:68px 0 52px; }
		.tvm-hero h1 { font-size:32px; line-height:1.38; }
		.tvm-hero__lead { font-size:16px; }
		.tvm-actions { display:grid; grid-template-columns:1fr 1fr; }
		.tvm-btn { padding:0 16px; min-height:50px; font-size:14px; }
		.tvm-hero__meta { gap:11px 18px; margin-top:28px; font-size:12px; }
		.tvm-proof__item { padding:21px 16px; }
		.tvm-proof__item strong { font-size:18px; }
		.tvm-section { padding:74px 0; }
		.tvm-section-head { display:block; margin-bottom:32px; }
		.tvm-section-copy { margin-top:18px; }
		.tvm-services, .tvm-cases, .tvm-detail-grid, .tvm-contact-grid, .tvm-post-grid, .tvm-card-grid, .tvm-compare-grid, .tvm-case-feature-grid, .tvm-intro-grid, .tvm-case-detail__summary, .tvm-case-gallery { grid-template-columns:1fr; }
		.tvm-intro-grid { gap:38px; }
		.tvm-case-detail__summary { gap:28px; margin-bottom:64px; }
		.tvm-case-gallery figure:first-child { grid-column:auto; }
		.tvm-case-gallery figure:first-child img { aspect-ratio:4/3; }
		.tvm-case-feature--image { min-height:360px; }
		.tvm-stat-grid { grid-template-columns:repeat(2,1fr); }
		.tvm-service { min-height:230px; }
		.tvm-service__num { margin-bottom:42px; }
		.tvm-split__image { min-height:360px; }
		.tvm-split__content { padding:58px 24px; }
		.tvm-case, .tvm-case--image { min-height:330px; }
		.tvm-area-list { grid-template-columns:1fr; }
		.tvm-process { grid-template-columns:1fr; border-top:0; }
		.tvm-step { padding:28px 0 0 24px; border-left:1px solid var(--tvm-line); }
		.tvm-step::before { top:36px; left:-5px; }
		.tvm-cta { padding:64px 0; }
		.tvm-cta__inner { display:block; }
		.tvm-cta .tvm-btn { margin-top:28px; }
		.tvm-page-hero { padding:82px 0 54px; }
		.tvm-page-hero h1 { font-size:38px; }
		.tvm-stat-grid { grid-template-columns:1fr; }
		.tvm-filter { flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; }
		.tvm-filter a { flex:0 0 auto; }
		.tvm-contact-card { padding:28px; }
		.tvm-footer { padding-top:56px; }
		.tvm-footer__grid { grid-template-columns:1fr; gap:32px; }
		.tvm-footer__grid > :first-child { grid-column:auto; }
		.tvm-footer__bottom { display:block; }
		.tvm-mobile-actions { position:fixed; z-index:60; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 1fr; height:68px; box-shadow:0 -8px 26px rgba(0,0,0,.15); }
		.tvm-mobile-actions a { display:flex; align-items:center; justify-content:center; font-weight:800; }
		.tvm-mobile-actions a:first-child { background:var(--tvm-orange); color:#1b1b1a; }
		.tvm-mobile-actions a:last-child { background:var(--tvm-ink); color:#fff; }
	}
	@media (prefers-reduced-motion: reduce) {
		*, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; }
	}
}
