/* ==========================================================================
   진료과목 v2 디자인 시스템 (.tx2 스코프)
   핸드오프 design_handoff_jayoon_clinic_site 기준 — 크림/테라코타 팔레트.
   본문 전용(사이트 크롬은 테마 header/footer 사용). 반응형 내장.
   폰트(Pretendard·Gowun Batang·Cormorant Garamond)는 테마 전역 enqueue 사용.
   ========================================================================== */
.tx2{
  --cream:#F7F2EA; --alt:#FBF8F2; --ink:#1F1D1C; --body:#5C5550; --brown2:#6E5248;
  --strong:#3E3833; --muted:#8A8177; --meta:#938A82;
  --accent:#B4695C; --accent-hi:#C98D80; --accent-tint:#D9A196;
  --pink1:#F7EEEB; --pink2:#F3DED8; --pink3:#FCF6F4; --pink4:#EED7CE; --pink5:#DEB5AC;
  --dark:#2A211C; --dark2:#4A3B33; --gold:#E8D9B5; --olive-bg:#EFE1C6; --olive:#7A6321;
  --teal:#3E8C7E; --line:#E9E2D6; --line2:#EDE4D6; --line3:#F0E9DC; --tile:#F4EFE6; --tile-line:#F1ECE2;
  --ease:cubic-bezier(.22,.61,.36,1);
  background:#fff; color:var(--body);
  font-family:"Pretendard",-apple-system,sans-serif; font-size:16px; line-height:1.75;
  letter-spacing:-.01em; word-break:keep-all; overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased; overflow-x:clip;
}
.tx2 p{margin:0; text-wrap:pretty}
.tx2 img{max-width:100%; display:block}
/* :where()로 특이도 0 유지 — .tx2-btn 등 클래스 색상이 상속에 밀리지 않게 */
.tx2 :where(a){color:inherit; text-decoration:none; transition:color .18s var(--ease)}
.tx2 h1,.tx2 h2,.tx2 h3,.tx2 h4{margin:0; color:var(--ink); line-height:1.3; letter-spacing:-.02em}
.tx2 ::selection{background:#EFE7D8; color:var(--ink)}
.tx2 section{scroll-margin-top:88px}
.tx2 em{font-style:normal; color:var(--accent)}
.tx2 .dark em,.tx2-dark em{color:var(--accent-tint)}
.tx2 b{color:var(--brown2); font-weight:700}
.tx2 .wrap{max-width:1180px; margin:0 auto; padding:0 40px}
.tx2 .wrap.narrow{max-width:1000px}

/* 스크롤 리빌(JS가 is-in 토글, reduced-motion이면 JS가 비활성) */
.tx2 .rv{opacity:0; transform:translateY(26px); transition:opacity .6s var(--ease),transform .6s var(--ease)}
.tx2 .rv.is-in{opacity:1; transform:none}

/* ---------- 아이브로우 / 섹션 헤딩 ---------- */
.tx2-eb{display:inline-flex; gap:13px; align-items:center; font-family:"Cormorant Garamond",serif;
  font-size:14px; letter-spacing:.26em; text-transform:uppercase; font-weight:600; color:var(--accent)}
.tx2-eb::before{content:""; width:30px; height:1px; background:var(--accent-hi)}
.tx2-eb.center::after{content:""; width:30px; height:1px; background:var(--accent-hi)}
.tx2-eb.light{color:rgba(255,255,255,.7)}
.tx2-eb.light::before,.tx2-eb.light::after{background:var(--accent-tint)}
.tx2-h{margin-bottom:44px}
.tx2-h h2{font-size:clamp(27px,3.2vw,38px); line-height:1.32; margin:15px 0 0}
.tx2-h .lead{color:var(--strong); font-size:16.5px; font-weight:700; line-height:1.8; margin-top:14px}
.tx2-h .desc{color:var(--body); font-size:15.5px; line-height:1.9; margin-top:12px}
.tx2-h.center{text-align:center}
.tx2-h.center .desc,.tx2-h.center .lead{max-width:46em; margin-left:auto; margin-right:auto}

/* ---------- 히어로 ---------- */
.tx2-hero{position:relative; overflow:hidden; background:var(--dark)}
.tx2-hero>img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:75% center}
.tx2-hero::before{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,rgba(38,29,24,.9) 0%,rgba(38,29,24,.72) 42%,rgba(38,29,24,.42) 72%,rgba(38,29,24,.55) 100%)}
.tx2-hero::after{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(38,29,24,.55) 0%,rgba(38,29,24,0) 30%,rgba(38,29,24,.45) 100%)}
.tx2-hero .wrap{position:relative; z-index:2; padding-top:36px; padding-bottom:36px; min-height:420px;
  display:flex; flex-direction:column; justify-content:center}
.tx2-hero h1{font-family:"Gowun Batang",serif; font-size:clamp(40px,5.6vw,76px); line-height:1.1;
  font-weight:700; color:#fff; margin:14px 0 0; animation:tx2Fade 1s var(--ease) .08s both}
.tx2-hero .tx2-eb{animation:tx2Fade .9s var(--ease) both}
.tx2-hero .sub{font-size:clamp(15px,1.6vw,18px); color:rgba(255,255,255,.82); margin-top:18px; max-width:34em;
  animation:tx2Fade 1s var(--ease) .16s both}
@keyframes tx2Fade{from{opacity:0; transform:translateY(22px)} to{opacity:1; transform:none}}
.tx2-bc{display:flex; align-items:center; gap:8px; font-size:12.5px; color:rgba(255,255,255,.55); margin-bottom:18px; flex-wrap:wrap}
.tx2-bc a{color:rgba(255,255,255,.55)}
.tx2-bc a:hover{color:#fff}
.tx2-bc .sep{opacity:.5}
.tx2-bc b{color:var(--accent-tint); font-weight:600}

/* ---------- 인트로 스플릿(좌 텍스트 / 우 풀블리드 이미지) ---------- */
.tx2-intro{background:#fff; display:grid; grid-template-columns:1fr 1fr; align-items:stretch}
.tx2-intro .txt{display:flex; flex-direction:column; justify-content:center; min-height:620px;
  padding:88px 56px 88px max(40px,calc(50vw - 590px))}
.tx2-intro .txt h2{font-size:clamp(30px,3.6vw,44px); line-height:1.22; font-weight:700; margin:18px 0 0}
.tx2-intro .txt .lead{font-size:17px; font-weight:700; color:var(--strong); margin:26px 0 0}
.tx2-intro .txt p+p{margin-top:12px}
.tx2-intro .txt .body{font-size:16px; line-height:1.9; max-width:34em; margin-top:16px}
.tx2-intro .media{position:relative; min-height:620px; background:var(--cream)}
.tx2-intro .media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.tx2-intro.rev{direction:rtl}
.tx2-intro.rev>*{direction:ltr}
.tx2-intro.rev .txt{padding:88px max(40px,calc(50vw - 590px)) 88px 56px}

/* 바로가기 칩 */
.tx2-chips{display:flex; align-items:center; gap:10px; margin-top:38px; flex-wrap:wrap}
.tx2-chips .lbl{font-size:12.5px; color:var(--meta); margin-right:2px}
.tx2-chips a{font-size:13px; color:var(--body); padding:7px 15px; border-radius:999px; border:1px solid var(--line); transition:.2s}
.tx2-chips a:hover{border-color:var(--accent-tint); color:var(--accent)}
.tx2-chips a.on{background:var(--dark); border-color:var(--ink); color:#fff}

/* ---------- 섹션 배경 변형 ---------- */
.tx2-sec{padding:90px 0; background:#fff}
.tx2-sec.cream{background:var(--cream)}
.tx2-sec.alt{background:var(--alt)}
.tx2-sec.pink{background:var(--pink3)}

/* ---------- 일반 2단 스플릿(텍스트+피규어) ---------- */
.tx2-split{display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(28px,4vw,56px); align-items:stretch}
.tx2-split.rev{grid-template-columns:1.4fr 1fr}
.tx2-split .txt{display:flex; flex-direction:column; justify-content:center}
.tx2-split h2{font-size:clamp(27px,3.2vw,38px); line-height:1.3; margin:16px 0 14px}
.tx2-split .lead{font-size:16.5px; font-weight:700; color:var(--strong); margin-bottom:14px}
.tx2-split .txt p+p{margin-top:12px}
.tx2-split .txt .body{font-size:15.5px; line-height:1.9}

/* 이미지 프레임 */
.tx2-figure{border:1px solid var(--line); border-radius:26px; overflow:hidden; background:var(--cream); min-height:260px}
.tx2-figure img{width:100%; height:100%; object-fit:cover}
.tx2-figure.contain img{object-fit:contain; background:#fff}
.tx2-figure figcaption{font-size:12.5px; color:var(--meta); padding:10px 16px; border-top:1px solid var(--line3); background:#fff}

/* ---------- 카드 그리드 ---------- */
.tx2-grid{display:grid; gap:14px}
.tx2-grid.g2{grid-template-columns:1fr 1fr}
.tx2-grid.g3{grid-template-columns:repeat(3,1fr)}
.tx2-grid.g4{grid-template-columns:repeat(4,1fr)}
.tx2-card{border:1px solid var(--line); border-radius:22px; background:#fff; padding:34px 28px;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.tx2-card:hover{transform:translateY(-6px); box-shadow:0 28px 50px -30px rgba(31,29,28,.35); border-color:var(--accent-tint)}
.tx2-card.flat:hover{transform:none; box-shadow:none; border-color:var(--line)}
.tx2-card.on-alt{background:var(--alt)}
.tx2-card.on-cream{background:var(--cream)}
.tx2-card.hl{border-color:var(--pink4); box-shadow:0 22px 44px -32px rgba(180,105,92,.4)}
.tx2-card.row{display:flex; align-items:center; gap:20px}
.tx2-card.row-top{display:flex; align-items:flex-start; gap:18px}
.tx2-card h3{font-size:18px; line-height:1.45; margin-bottom:10px}
.tx2-card .t{font-size:16.5px; font-weight:700; color:var(--ink); line-height:1.55}
.tx2-card .d{font-size:14.5px; line-height:1.8; color:var(--body)}
.tx2-card .d+.d{margin-top:8px}

/* 아이콘 원판 / 타일 / 번호 배지 */
.tx2-ic{flex:none; display:grid; place-items:center; width:82px; height:82px; border-radius:50%; background:var(--accent-hi)}
.tx2-ic svg{width:36px; height:36px; stroke:#fff; fill:none; stroke-width:1.5}
.tx2-ic.a2{background:var(--accent)}
.tx2-ic.dark{background:var(--dark)}
.tx2-ic.dark svg{stroke:var(--accent-tint)}
.tx2-ic.sm{width:52px; height:52px}
.tx2-ic.sm svg{width:24px; height:24px}
.tx2-tile{width:52px; height:52px; border-radius:18px; background:var(--tile); display:grid; place-items:center}
.tx2-tile svg{width:26px; height:26px; stroke:var(--accent); fill:none; stroke-width:1.6}
.tx2-num{flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:50%;
  background:var(--accent); color:#fff; font-family:"Gowun Batang",serif; font-size:19px; font-weight:700}
.tx2-num.lg{width:56px; height:56px; font-size:22px}

/* ---------- 스텝 카드(번호형) ---------- */
.tx2-steps{display:grid; gap:14px}
.tx2-steps.g3{grid-template-columns:repeat(3,1fr)}
.tx2-steps.g4{grid-template-columns:repeat(4,1fr)}
.tx2-step{border:1px solid var(--line); border-radius:24px; background:#fff; padding:30px 26px;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.tx2-step:hover{transform:translateY(-6px); box-shadow:0 28px 50px -30px rgba(31,29,28,.35); border-color:var(--accent-tint)}
.tx2-step .no{display:block; font-family:"Cormorant Garamond",serif; font-size:34px; line-height:1; color:var(--accent-hi); margin-bottom:14px}
.tx2-step .t{display:block; font-size:17px; font-weight:700; color:var(--ink); line-height:1.5; margin-bottom:8px}
.tx2-step .d{font-size:14.5px; line-height:1.8}

/* ---------- 스탯(카운트업) ---------- */
.tx2-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:14px}
.tx2-stats.g4{grid-template-columns:repeat(4,1fr)}
.tx2-stat{border:1px solid var(--line); border-radius:22px; background:#fff; padding:32px 26px; text-align:center}
.tx2-stat .n{font-family:"Cormorant Garamond",serif; font-size:clamp(40px,4.6vw,58px); line-height:1; color:var(--accent); font-weight:600}
.tx2-stat .n small{font-size:.55em}
.tx2-stat .l{display:block; font-size:14px; color:var(--body); line-height:1.7; margin-top:12px}
.tx2-stat.dark{background:var(--dark); border-color:var(--dark)}
.tx2-stat.dark .n{color:var(--gold)}
.tx2-stat.dark .l{color:rgba(255,255,255,.75)}

/* ---------- 프로세스 플로우(원형 노드) ---------- */
.tx2-flow{display:flex; align-items:center; justify-content:center; gap:clamp(8px,1.6vw,18px); flex-wrap:wrap}
.tx2-flow .node{flex:none; width:clamp(120px,13vw,158px); aspect-ratio:1; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  color:#fff; padding:14px; line-height:1.5}
.tx2-flow .node b{color:#fff; font-size:clamp(13.5px,1.4vw,15.5px); font-weight:700}
.tx2-flow .node span{font-size:12px; opacity:.9}
.tx2-flow .node.c1{background:var(--pink5)}
.tx2-flow .node.c2{background:#D0AE9F}
.tx2-flow .node.c3{background:#C0977F}
.tx2-flow .node.c4{background:var(--accent)}
.tx2-flow .node.dark{background:var(--dark)}
.tx2-flow .sep{color:var(--accent-hi); font-size:26px; font-weight:300}

/* ---------- 표 ---------- */
.tx2-tablewrap{border:1px solid var(--line); border-radius:20px; overflow:hidden; background:#fff}
.tx2-tablewrap .scroll{overflow-x:auto}
.tx2-table{width:100%; border-collapse:collapse; font-size:14.5px; min-width:560px}
.tx2-table th,.tx2-table td{padding:14px 18px; border-bottom:1px solid var(--line3); text-align:left; vertical-align:top; line-height:1.7}
.tx2-table thead th{background:var(--cream); color:var(--brown2); font-weight:700; font-size:13.5px}
.tx2-table tbody tr:last-child th,.tx2-table tbody tr:last-child td{border-bottom:0}
.tx2-table tbody th{background:var(--pink3); color:var(--accent); font-weight:700; white-space:nowrap}
.tx2-table .hl{background:var(--pink3)}

/* ---------- 리스트 박스 ---------- */
.tx2-blist{border:1px solid var(--line); border-radius:22px; background:#fff; padding:30px 32px}
.tx2-blist h3{font-size:17.5px; margin-bottom:14px}
.tx2-blist ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px}
.tx2-blist li{position:relative; padding-left:20px; font-size:15px; line-height:1.8}
.tx2-blist li::before{content:""; position:absolute; left:2px; top:.72em; width:7px; height:7px; border-radius:50%; background:var(--accent-hi)}

/* 체크리스트(자가진단) */
.tx2-check{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.tx2-check .c{display:flex; gap:14px; align-items:flex-start; border:1px solid var(--line); border-radius:16px; background:#fff; padding:18px 20px; font-size:15px; line-height:1.7; color:var(--strong)}
.tx2-check .c::before{content:"✓"; flex:none; display:grid; place-items:center; width:26px; height:26px; border-radius:50%;
  background:var(--pink2); color:var(--accent); font-size:14px; font-weight:700; margin-top:2px}

/* ---------- 다크 근거(연구) 밴드 ---------- */
.tx2-sec.dark{background:var(--dark); position:relative; overflow:hidden}
.tx2-sec.dark,.tx2-sec.dark p{color:rgba(255,255,255,.75)}
.tx2-sec.dark h2,.tx2-sec.dark h3{color:#fff}
.tx2-sec.dark b{color:var(--accent-tint)}
.tx2-wm{position:absolute; top:26px; left:0; right:0; text-align:center; font-family:"Cormorant Garamond",serif;
  font-style:italic; font-size:clamp(64px,10vw,120px); line-height:1; color:rgba(199,169,119,.05);
  pointer-events:none; white-space:nowrap}
.tx2-sec.dark .wrap{position:relative}
.tx2-quote{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); border-radius:24px; padding:clamp(28px,3.5vw,44px)}
.tx2-quote .src{display:inline-block; font-family:"Cormorant Garamond",serif; font-size:13px; letter-spacing:.12em; color:rgba(255,255,255,.6); margin-bottom:18px}
.tx2-oc{display:flex; gap:14px; align-items:center; background:rgba(239,217,138,.14); border:1px solid rgba(239,217,138,.4); border-radius:14px; padding:16px 20px}
.tx2-oc .no{flex:none; font-family:"Cormorant Garamond",serif; font-size:15px; color:#EFD98A}
.tx2-oc p{font-size:14.5px; line-height:1.7; color:rgba(255,255,255,.9)}
.tx2-oc+.tx2-oc{margin-top:10px}
.tx2-badge{display:inline-block; font-size:14px; font-weight:700; color:#fff; background:var(--brown2); border-radius:8px; padding:10px 22px}
.tx2-pill{display:inline-block; font-size:14.5px; font-weight:600; color:rgba(255,255,255,.85); border:1px solid rgba(255,255,255,.3); border-radius:999px; padding:10px 26px}
.tx2-sec.dark .tx2-figure{background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); border-radius:24px}
.tx2-cite{font-size:12.5px; color:rgba(255,255,255,.45); margin-top:14px; line-height:1.7}

/* ---------- CTA 밴드 ---------- */
.tx2-cta{position:relative; overflow:hidden; scroll-margin-top:72px; background:var(--dark)}
.tx2-cta>img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.tx2-cta::before{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg,rgba(38,29,24,.86) 0%,rgba(38,29,24,.62) 60%,rgba(38,29,24,.4) 100%)}
.tx2-cta .wrap{position:relative; z-index:2; padding-top:96px; padding-bottom:96px}
.tx2-cta .inner{max-width:560px}
.tx2-cta h2{font-size:clamp(28px,3.4vw,42px); color:#fff; line-height:1.32; margin:16px 0 14px}
.tx2-cta .desc{font-size:16px; line-height:1.8; color:rgba(255,255,255,.82); margin-bottom:28px}
.tx2-cta .info{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:30px}
.tx2-cta .info .i{display:flex; gap:12px; align-items:flex-start}
.tx2-cta .info svg{flex:none; width:20px; height:20px; stroke:var(--accent-tint); fill:none; stroke-width:1.6; margin-top:2px}
.tx2-cta .info b{display:block; font-size:14px; color:#fff}
.tx2-cta .info span{font-size:13px; color:rgba(255,255,255,.72)}
.tx2-btns{display:flex; gap:12px; flex-wrap:wrap}
/* PC: CTA 버튼 4개 1줄 — .inner(560px)보다 넓게 뻗도록 허용 */
@media(min-width:1100px){.tx2-cta .tx2-btns{flex-wrap:nowrap; width:max-content}}
.tx2-btn{display:inline-flex; align-items:center; gap:8px; background:var(--accent-hi); color:#fff; font-weight:700;
  font-size:16px; padding:16px 34px; border-radius:999px; transition:background .2s var(--ease),color .2s var(--ease)}
.tx2-btn:hover{background:var(--accent-tint); color:var(--ink)}
.tx2-btn.ghost{background:rgba(255,255,255,.12); font-weight:600; border:1px solid rgba(255,255,255,.3); padding:16px 30px}
.tx2-btn.ghost:hover{background:rgba(255,255,255,.2); color:#fff}
/* 카톡·네이버 예약 병기 — 클릭 시 13지점 예약 시트(mb-sheet) 오픈 */
button.tx2-btn{border:0; cursor:pointer; font-family:inherit}
.tx2-btn.kakao{background:#FEE500; color:#191919}
.tx2-btn.kakao:hover{background:#F2D900; color:#191919}
.tx2-btn.naver{background:#03C75A; color:#fff}
.tx2-btn.naver:hover{background:#02B152; color:#fff}
.tx2-btn svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.7}

/* ---------- 관련 진료 카드 ---------- */
.tx2-rel{display:grid; grid-template-columns:repeat(4,1fr); gap:16px}
.tx2-relcard{display:flex; flex-direction:column; background:#fff; border:1px solid var(--tile-line); border-radius:22px;
  padding:26px 22px 22px; height:100%; transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.tx2-relcard:hover{transform:translateY(-6px); box-shadow:0 28px 50px -30px rgba(31,29,28,.35); border-color:var(--accent-tint)}
.tx2-relcard .tx2-tile{margin-bottom:18px}
.tx2-relcard .t{font-size:18px; font-weight:700; color:var(--ink); line-height:1.3}
.tx2-relcard .en{display:block; font-family:"Cormorant Garamond",serif; font-size:12px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--accent-hi); margin-top:3px; font-weight:600}
.tx2-relcard .tags{display:flex; flex-wrap:wrap; gap:6px; margin-top:16px}
.tx2-relcard .tags span{font-size:11.5px; color:var(--body); background:var(--tile); border:1px solid var(--tile-line); border-radius:999px; padding:4px 10px}
.tx2-relcard .more{margin-top:auto; padding-top:18px; font-size:12.5px; font-weight:600; color:var(--meta)}

/* ---------- FAQ 아코디언 ---------- */
.tx2-faq{display:flex; flex-direction:column; gap:12px}
.tx2-faq details{border:1px solid var(--line); border-radius:18px; background:#fff; overflow:hidden}
.tx2-faq summary{display:flex; gap:14px; align-items:center; cursor:pointer; list-style:none; padding:20px 24px;
  font-size:16px; font-weight:700; color:var(--ink)}
.tx2-faq summary::-webkit-details-marker{display:none}
.tx2-faq summary::before{content:"Q"; flex:none; display:grid; place-items:center; width:30px; height:30px; border-radius:50%;
  background:var(--pink2); color:var(--accent); font-family:"Cormorant Garamond",serif; font-size:16px; font-weight:600}
.tx2-faq summary::after{content:"+"; margin-left:auto; font-size:22px; font-weight:300; color:var(--accent-hi); transition:transform .25s var(--ease)}
.tx2-faq details[open] summary::after{transform:rotate(45deg)}
.tx2-faq .a{padding:0 24px 22px 68px; font-size:15px; line-height:1.85}

/* ---------- 노트/디스클레이머 ---------- */
.tx2-note{border:1px solid var(--pink4); background:var(--pink3); border-radius:18px; padding:22px 26px; font-size:14.5px; line-height:1.8; color:var(--strong)}
.tx2-discl{font-size:11.5px; line-height:1.7; color:var(--meta); margin-top:28px}

/* ========================= 반응형 ========================= */
@media (max-width:1080px){
  .tx2-grid.g4,.tx2-steps.g4,.tx2-stats.g4{grid-template-columns:1fr 1fr}
  .tx2-rel{grid-template-columns:1fr 1fr}
}
@media (max-width:920px){
  .tx2 .wrap{padding:0 24px}
  .tx2-intro{grid-template-columns:1fr}
  .tx2-intro .txt,.tx2-intro.rev .txt{min-height:0; padding:64px 24px}
  .tx2-intro .media{min-height:380px}
  .tx2-intro.rev{direction:ltr}
  .tx2-split,.tx2-split.rev{grid-template-columns:1fr; gap:24px}
  .tx2-grid.g3,.tx2-steps.g3{grid-template-columns:1fr 1fr}
  .tx2-sec{padding:64px 0}
  .tx2-hero .wrap{min-height:340px}
  .tx2-cta .info{grid-template-columns:1fr}
}
@media (max-width:600px){
  .tx2 .wrap{padding:0 20px}
  .tx2-grid.g2,.tx2-grid.g3,.tx2-grid.g4,.tx2-steps.g3,.tx2-steps.g4{grid-template-columns:1fr}
  .tx2-stats,.tx2-stats.g4{grid-template-columns:1fr}
  .tx2-rel{grid-template-columns:1fr}
  .tx2-check{grid-template-columns:1fr}
  .tx2-card{padding:26px 22px}
  .tx2-card.row{align-items:flex-start}
  .tx2-ic{width:64px; height:64px}
  .tx2-ic svg{width:28px; height:28px}
  .tx2-sec{padding:52px 0}
  .tx2-hero h1{font-size:clamp(34px,10vw,44px)}
  .tx2-flow .sep{width:100%; text-align:center; transform:rotate(90deg); font-size:20px}
  .tx2-flow .node{width:min(64vw,220px)}
  .tx2-faq .a{padding-left:24px}
}
