/*
Theme Name:  Orange Tax (Astra Child)
Theme URI:   https://otax21.co.kr
Description: 오렌지세무회계 홈페이지. Figma "오렌지세무회계 홈 리디자인 2026" 기준 v2. AI 인용 구조(JSON-LD·한 줄 결론·근거) 포함.
Author:      오렌지세무회계
Template:    astra
Version:     2.2.0
Text Domain: orangetax
*/

/* =========================================================
   0. 토큰 — Figma 변수 컬렉션 "orange tax color"
   ========================================================= */
:root {
  --peach: #DDA47C; --peach-deep: #C98C62;
  --orange: #EE7D22; --orange-deep: #D4650E; --orange-tint: #F5E6D8;
  --ink-900: #3B2A1E; --ink-700: #5C4A3B; --ink-500: #7A6555; --ink-400: #A89683;
  --line-300: #EAD9C8; --line-200: #F1E4D6;
  --white: #FFFFFF; --s100: #FBF5EF; --s200: #F5E6D8;
  --kakao: #FEE500;
  --wrap: 1200px; --gutter: 24px;
  --font: "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
}

/* =========================================================
   1. 기본 · Astra 컨테이너 해제 (테마가 직접 그리는 페이지)
   ========================================================= */
body.ox-layout { background: var(--white); }
body.ox-layout, body.ox-layout button, body.ox-layout input, body.ox-layout select, body.ox-layout textarea {
  font-family: var(--font); color: var(--ink-700); letter-spacing: -0.01em; -webkit-font-smoothing: antialiased;
}
body.ox-layout .site-content { padding: 0 !important; }
body.ox-layout .site-content > .ast-container { display: block !important; max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
body.ox-layout #primary, body.ox-layout #secondary { margin: 0 !important; padding: 0 !important; width: 100% !important; }
.ox-main { display: block; }
.ox-main *, .ox-header *, .ox-footer * { box-sizing: border-box; }
.ox-main h1, .ox-main h2, .ox-main h3, .ox-main h4, .ox-main p, .ox-main ul, .ox-main ol, .ox-main figure { margin: 0; padding: 0; }
.ox-main h1, .ox-main h2, .ox-main h3 { color: var(--ink-900); font-weight: 900; word-break: keep-all; }
.ox-main p, .ox-main li { word-break: keep-all; }
.ox-main ul, .ox-main ol { list-style: none; }
.ox-main a { text-decoration: none; color: inherit; }
.ox-main img { max-width: 100%; height: auto; display: block; }
.ox-icon { width: 1em; height: 1em; flex: 0 0 auto; display: inline-block; vertical-align: middle; }
.ox-pc { display: inline; } .ox-mo { display: none; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }

/* 섹션 공통 */
.ox-sec { padding: 112px var(--gutter); }
.ox-sec--sub { padding-top: 104px; padding-bottom: 104px; }
.ox-sec--white { background: var(--white); } .ox-sec--cream { background: var(--s100); }
.ox-wrap { max-width: var(--wrap); margin: 0 auto; }
.ox-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 48px; }
.ox-head > div { max-width: 760px; }
.ox-h2 { font-size: 40px; line-height: 1.3; letter-spacing: -0.025em; }
.ox-h2--sm { font-size: 36px; line-height: 1.32; letter-spacing: -0.02em; }
.ox-lead { font-size: 18px; line-height: 1.6; font-weight: 500; color: var(--ink-500); margin-top: 14px !important; }
.ox-link { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--orange-deep) !important; white-space: nowrap; }
.ox-link .ox-icon { font-size: 16px; }
.ox-link:hover { text-decoration: underline; }

/* 페이지 상단(서브 페이지) */
.ox-pagehero { background: var(--s100); padding: 88px var(--gutter) 72px; }
.ox-pagehero h1 { font-size: 56px; line-height: 1.24; letter-spacing: -0.03em; }
.ox-pagehero .ox-lead { font-size: 19px; line-height: 1.65; color: var(--ink-700); margin-top: 20px !important; }

/* =========================================================
   2. 버튼 · 칩 · 입력란 (Figma Components)
   ========================================================= */
.ox-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 56px; padding: 0 28px; border-radius: 999px;
  font-family: var(--font); font-size: 17px; font-weight: 700; letter-spacing: -0.01em; line-height: 1; white-space: nowrap; border: 1px solid transparent;
  cursor: pointer; text-decoration: none !important; transition: filter .15s, background-color .15s; }
.ox-btn .ox-icon { font-size: 20px; }
.ox-btn--m { height: 44px; padding: 0 20px; font-size: 15px; }
.ox-btn--m .ox-icon { font-size: 18px; }
.ox-btn--primary { background: var(--orange); color: var(--white) !important; }
.ox-btn--primary:hover { background: var(--orange-deep); }
.ox-btn--secondary { background: var(--white); color: var(--ink-900) !important; border-color: var(--line-300); }
.ox-btn--secondary:hover { background: var(--s100); }
.ox-btn--dark { background: var(--ink-900); color: var(--white) !important; }
.ox-btn--kakao { background: var(--kakao); color: var(--ink-900) !important; }
.ox-btn--oncolor { background: var(--white); color: var(--ink-900) !important; }
.ox-btn:hover { filter: brightness(0.97); }
.ox-btn--block { width: 100%; }
.ox-btns { display: flex; flex-wrap: wrap; gap: 12px; }

.ox-chip { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 999px; font-size: 13px; font-weight: 700; line-height: 1; letter-spacing: -0.01em; white-space: nowrap; }
.ox-chip--tint { background: var(--orange-tint); color: var(--orange-deep); }
.ox-chip--neutral { background: var(--s100); color: var(--ink-700); }
.ox-chip--ondark { background: var(--white); color: var(--ink-900); }
.ox-chips { display: flex; flex-wrap: wrap; gap: 8px; }

.ox-num { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ink-900); color: var(--white); font-size: 13px; font-weight: 700; line-height: 1; flex: 0 0 auto; }

/* 입력란 — Contact Form 7 포함 */
.ox-form { display: flex; flex-direction: column; gap: 20px; }
.ox-form p { margin: 0 !important; }
.ox-form br { display: none; }
.ox-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ox-field { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.ox-label { font-size: 14px; line-height: 1.5; font-weight: 700; color: var(--ink-900); }
.ox-label em { font-style: normal; font-weight: 500; font-size: 13px; color: var(--orange-deep); margin-left: 4px; }
.ox-label small { font-weight: 500; font-size: 13px; color: var(--ink-500); margin-left: 4px; }
.ox-form input[type=text], .ox-form input[type=tel], .ox-form input[type=email], .ox-form select, .ox-form textarea {
  width: 100%; height: 53px; padding: 14px 16px; border: 1px solid var(--line-300) !important; border-radius: 14px !important; background: var(--s100) !important;
  font-family: var(--font); font-size: 15px; line-height: 1.5; color: var(--ink-900); box-shadow: none !important; outline: none; margin: 0; }
.ox-form--onwhite input[type=text], .ox-form--onwhite input[type=tel], .ox-form--onwhite input[type=email], .ox-form--onwhite select, .ox-form--onwhite textarea { background: var(--white) !important; }
.ox-form textarea { height: 160px; resize: vertical; }
.ox-form input::placeholder, .ox-form textarea::placeholder { color: var(--ink-400); }
.ox-form select { appearance: none; -webkit-appearance: none; padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M4.5 7L9 11.5L13.5 7' stroke='%237A6555' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-position: right 16px center !important; }
.ox-form input:focus, .ox-form select:focus, .ox-form textarea:focus { border-color: var(--orange) !important; }
.ox-form .wpcf7-form-control-wrap { display: block; }
.ox-note { font-size: 13px; line-height: 1.5; font-weight: 500; color: var(--ink-500); }
.ox-note a { color: var(--orange-deep) !important; text-decoration: underline !important; }
.ox-agree .wpcf7-list-item { margin: 0; }
.ox-agree label { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.55; font-weight: 500; color: var(--ink-500); cursor: pointer; }
.ox-agree input[type=checkbox] { width: 20px; height: 20px; margin: 0; flex: 0 0 auto; accent-color: var(--orange); }
.ox-form input[type=submit], .ox-form .wpcf7-submit { align-self: flex-start; height: 56px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--orange); color: #fff;
  font-family: var(--font); font-size: 17px; font-weight: 700; cursor: pointer; }
.ox-form input[type=submit]:hover { background: var(--orange-deep); }
.ox-form .wpcf7-spinner { margin: 8px 0 0; }
.ox-form .wpcf7-not-valid-tip { font-size: 13px; margin-top: 6px; color: #C2410C; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-radius: 12px; font-size: 14px; }

/* =========================================================
   3. 헤더 · 모바일 메뉴 · 푸터
   ========================================================= */
.ox-header { position: sticky; top: 0; z-index: 100; background: var(--peach); }
.admin-bar .ox-header { top: 32px; }
.ox-header__in { max-width: 1440px; margin: 0 auto; height: 76px; padding: 0 120px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ox-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.ox-logo img { height: 48px; width: auto; display: block; }
.ox-nav { display: flex; gap: 40px; }
.ox-nav a { font-size: 16px; line-height: 1.4; font-weight: 700; color: var(--white) !important; text-decoration: none !important; letter-spacing: -0.01em; white-space: nowrap; }
.ox-nav a:hover, .ox-nav a[aria-current="page"] { text-decoration: underline !important; text-underline-offset: 6px; }
.ox-menu-btn { display: none; width: 44px; height: 44px; margin-right: -8px; border: 0; background: none; padding: 8px; cursor: pointer; color: #fff; }
.ox-menu-btn svg { width: 28px; height: 28px; display: block; }
.ox-drawer { display: none; }
.ox-header__cta { flex: 0 0 auto; }

.ox-footer { background: var(--peach); color: var(--white); padding: 56px 120px 48px; }
.ox-footer__in { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 28px; }
.ox-footer__top { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.ox-footer__nav { display: flex; flex-wrap: wrap; gap: 28px; }
.ox-footer__nav a { font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--white) !important; text-decoration: none !important; }
.ox-footer__rule { height: 1px; background: rgba(255,255,255,.35); }
.ox-footer__info { display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.6; font-weight: 500; }
.ox-footer__info p { margin: 0; }
.ox-footer__info span.sep { margin: 0 8px; opacity: .7; }
.ox-footer__copy { font-size: 13px; font-weight: 400; }
body.ox-layout .site-footer, body.ox-layout #colophon { display: none !important; }

/* =========================================================
   4. 공통 블록
   ========================================================= */
/* 프롬프트 패널 */
.ox-panel { background: var(--white); border: 1px solid var(--line-300); border-radius: 28px; overflow: hidden; }
.ox-panel__head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 24px 28px 20px; border-bottom: 1px solid var(--line-200); }
.ox-panel__title { font-size: 20px; line-height: 1.4; font-weight: 900; color: var(--ink-900); }
.ox-panel__meta { font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--ink-500); margin-top: 2px !important; }
.ox-panel__preview { background: var(--s100); padding: 22px 28px; display: flex; flex-direction: column; gap: 10px; font-size: 14px; line-height: 1.65; color: var(--ink-700); }
.ox-panel__preview b { color: var(--ink-900); font-weight: 700; }
.ox-panel__preview .dim { color: var(--ink-500); }
.ox-panel__scroll { position: relative; background: var(--s100); padding: 24px 28px; height: 456px; overflow: hidden; overscroll-behavior: contain; white-space: pre-wrap; font-size: 14px; line-height: 1.7; color: var(--ink-700); }
.ox-panel__actions { padding: 24px 28px; display: flex; flex-direction: column; gap: 16px; }
.ox-openin { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ox-openin__label { font-size: 14px; line-height: 1.4; font-weight: 700; color: var(--ink-500); margin-right: auto; }
.ox-openin--center { justify-content: center; }
.ox-openin--center .ox-openin__label { margin-right: 4px; }
.ox-privacy { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--ink-500); }
.ox-privacy .ox-icon { font-size: 16px; margin-top: 1px; }
.ox-privacy--long { font-size: 12px; line-height: 1.6; }
.ox-copied { background: var(--ink-900) !important; }

/* 어두운 띠 (Handoff · Not sure · AI band) */
.ox-band { background: var(--ink-900); border-radius: 28px; padding: 40px 48px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.ox-band h2, .ox-band h3 { color: var(--white) !important; font-size: 28px; line-height: 1.36; letter-spacing: -0.02em; }
.ox-band p { color: var(--orange-tint); font-size: 16px; line-height: 1.6; font-weight: 500; margin-top: 8px !important; }

/* 마지막 CTA */
.ox-cta-sec { background: var(--white); padding: 112px var(--gutter); }
.ox-cta { max-width: var(--wrap); margin: 0 auto; background: var(--orange); border-radius: 32px; padding: 56px 64px; display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.ox-cta h2 { color: var(--white) !important; font-size: 40px; line-height: 1.3; letter-spacing: -0.025em; }
.ox-cta p { color: var(--white); font-size: 17px; line-height: 1.6; font-weight: 500; margin-top: 12px !important; }
.ox-cta__actions { display: flex; flex-direction: column; gap: 12px; width: 247px; flex: 0 0 auto; }
.ox-cta__actions .ox-btn { width: 100%; }
.ox-cta__hours { color: var(--white); font-size: 14px; line-height: 1.4; font-weight: 500; text-align: center; white-space: nowrap; }

/* 질문·답 줄 목록 (AI 상담 FAQ) */
.ox-qa-lines { border-top: 1px solid var(--line-300); }
.ox-qa-line { display: grid; grid-template-columns: 440px 1fr; gap: 48px; padding: 28px 0; border-bottom: 1px solid var(--line-300); }
.ox-qa-line h3 { font-size: 20px; line-height: 1.45; }
.ox-qa-line p { font-size: 16px; line-height: 1.65; font-weight: 500; color: var(--ink-700); }

/* 표 (글·개인정보) */
.ox-table { width: 100%; border: 1px solid var(--line-300); border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; margin: 0; }
.ox-table th { background: var(--s200); font-size: 15px; line-height: 1.6; font-weight: 700; color: var(--ink-900); text-align: left; padding: 12px 16px; border: 0; }
.ox-table td { background: var(--white); font-size: 15px; line-height: 1.6; font-weight: 400; color: var(--ink-900); padding: 12px 16px; border: 0; border-top: 1px solid var(--line-200); vertical-align: top; }
.ox-table td:first-child { font-weight: 700; }

/* =========================================================
   5. 홈
   ========================================================= */
.ox-home-hero { background: var(--s100); padding: 88px var(--gutter) 96px; }
.ox-home-hero__row { max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 600fr) minmax(0, 544fr); gap: 56px; align-items: center; }
.ox-home-hero h1 { font-size: 64px; line-height: 1.22; letter-spacing: -0.03em; margin-top: 24px !important; }
.ox-home-hero .ox-lead { font-size: 19px; line-height: 1.65; color: var(--ink-700); max-width: 540px; margin-top: 24px !important; }
.ox-home-hero .ox-btns { margin-top: 40px; }
.ox-steps { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 40px !important; }
.ox-steps li { display: flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--ink-700); }
.ox-steps .ox-arrow { color: var(--ink-900); font-size: 16px; }

.ox-handoff-sec { background: var(--s100); padding: 0 var(--gutter) 80px; }
.ox-handoff-sec .ox-band { padding: 36px 48px; }
.ox-handoff-sec .ox-band h2 { font-size: 26px; line-height: 1.35; }
.ox-handoff-sec .ox-fine { max-width: var(--wrap); margin: 16px auto 0; font-size: 13px; line-height: 1.5; color: var(--ink-500); }

.ox-deadlines { display: grid; grid-template-columns: 373fr 414fr 414fr; border-top: 1px solid var(--line-300); }
.ox-deadline { padding: 32px 40px 8px 40px; display: flex; flex-direction: column; gap: 20px; }
.ox-deadline:first-child { padding-left: 0; }
.ox-deadline + .ox-deadline { border-left: 1px solid var(--line-300); }
.ox-deadline__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ox-deadline__date { font-size: 52px; line-height: 1.1; font-weight: 900; letter-spacing: -0.03em; color: var(--ink-900); }
.ox-deadline.is-soon .ox-deadline__date { color: var(--orange); }
.ox-deadline__title { font-size: 19px; line-height: 1.4; font-weight: 700; color: var(--ink-900); }
.ox-deadline__who { font-size: 15px; line-height: 1.5; font-weight: 500; color: var(--ink-500); margin-top: 4px !important; }

.ox-faq-rows { display: flex; flex-direction: column; gap: 12px; }
.ox-faq-row { display: grid; grid-template-columns: 440px minmax(0,1fr) 48px; gap: 48px; align-items: center; padding: 32px 36px; background: var(--white); border-radius: 20px; transition: box-shadow .15s; }
.ox-faq-row:hover { box-shadow: 0 6px 24px rgba(59,42,30,.08); }
.ox-faq-row__q { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.ox-faq-row__q h3 { font-size: 21px; line-height: 1.45; }
.ox-faq-row__a { display: flex; flex-direction: column; gap: 8px; }
.ox-kicker { font-size: 14px; line-height: 1.4; font-weight: 900; color: var(--orange-deep); }
.ox-faq-row__a p { font-size: 17px; line-height: 1.6; font-weight: 500; color: var(--ink-700); }
.ox-faq-row__a .ox-basis { font-size: 13px; line-height: 1.4; color: var(--ink-400); }
.ox-basis { font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--ink-400) !important; }
.ox-round { width: 48px; height: 48px; border-radius: 50%; background: var(--s100); display: inline-flex; align-items: center; justify-content: center; color: var(--ink-900); font-size: 20px; }
.ox-mo-arrow { display: none; }

.ox-topics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 48px !important; }
.ox-topic { display: flex; align-items: center; gap: 12px; padding: 22px 24px; border: 1px solid var(--line-300); border-radius: 16px; transition: background .15s; }
.ox-topic:hover { background: var(--white); }
.ox-topic > span { flex: 1; min-width: 0; }
.ox-topic b { display: block; font-size: 17px; line-height: 1.4; font-weight: 700; color: var(--ink-900); }
.ox-topic small { display: block; font-size: 13px; line-height: 1.5; font-weight: 500; color: var(--ink-500); margin-top: 4px; }
.ox-topic .ox-icon { font-size: 18px; color: var(--ink-500); }

.ox-cpa { display: grid; grid-template-columns: 440px minmax(0,1fr); gap: 80px; align-items: center; }
.ox-cpa__photo img, .ox-photo { width: 100%; aspect-ratio: 440 / 540; object-fit: cover; border-radius: 28px; background: var(--s200); }
.ox-cpa__body { display: flex; flex-direction: column; gap: 32px; }
.ox-cpa__name { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.ox-cpa__name strong { font-size: 28px; line-height: 1.3; font-weight: 900; color: var(--ink-900); }
.ox-profile { border-top: 1px solid var(--line-200); }
.ox-profile > div { display: grid; grid-template-columns: 96px 1fr; gap: 24px; padding: 18px 0; border-bottom: 1px solid var(--line-200); }
.ox-profile dt, .ox-profile .k { font-size: 15px; line-height: 1.6; font-weight: 700; color: var(--ink-500); margin: 0; }
.ox-profile dd, .ox-profile .v { font-size: 16px; line-height: 1.6; font-weight: 500; color: var(--ink-900); margin: 0; }

.ox-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.ox-plan { background: var(--white); border-radius: 24px; padding: 36px 32px 32px; display: flex; flex-direction: column; gap: 24px; }
.ox-plan__name { font-size: 18px; line-height: 1.4; font-weight: 700; color: var(--ink-500); }
.ox-plan__price { font-size: 28px; line-height: 1.3; font-weight: 900; letter-spacing: -0.02em; color: var(--ink-900); margin-top: 12px !important; }
.ox-plan__desc { font-size: 15px; line-height: 1.6; font-weight: 500; color: var(--ink-500); margin-top: 12px !important; }
.ox-plan__list { border-top: 1px solid var(--line-200); padding-top: 20px !important; display: flex; flex-direction: column; gap: 10px; }
.ox-plan__list li, .ox-check { display: flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.5; font-weight: 700; color: var(--ink-900); }
.ox-plan__list .ox-icon, .ox-check .ox-icon { font-size: 18px; color: var(--orange); }
.ox-plan .ox-btn { margin-top: auto; width: 100%; }
.ox-plan--dark { background: var(--ink-900); }
.ox-plan--dark .ox-plan__name { color: var(--orange-tint); }
.ox-plan--dark .ox-plan__price { color: var(--white); font-size: 30px; }
.ox-plan--dark .ox-plan__desc { color: var(--line-300); }
.ox-plan--dark .ox-plan__list { border-top-color: var(--ink-700); }
.ox-plan--dark .ox-plan__list li { color: var(--white); }

/* =========================================================
   6. AI 세무 상담 페이지
   ========================================================= */
.ox-ai-hero { background: var(--s100); padding: 88px var(--gutter) 96px; }
.ox-ai-hero__row { max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 520fr) minmax(0, 616fr); gap: 64px; align-items: start; }
.ox-ai-hero h1 { font-size: 56px; line-height: 1.24; letter-spacing: -0.03em; margin-top: 24px !important; }
.ox-ai-hero .ox-lead { font-size: 18px; line-height: 1.65; color: var(--ink-700); margin-top: 20px !important; }
.ox-twosteps { display: flex; flex-direction: column; gap: 12px; margin-top: 40px !important; }
.ox-twostep { display: flex; gap: 16px; align-items: flex-start; background: var(--white); border-radius: 20px; padding: 22px 24px; }
.ox-twostep .ox-num { width: 32px; height: 32px; background: var(--orange); font-size: 15px; font-weight: 900; }
.ox-twostep h3 { font-size: 18px; line-height: 1.4; }
.ox-twostep p { font-size: 15px; line-height: 1.6; font-weight: 500; color: var(--ink-500); margin-top: 4px !important; }

.ox-split { display: grid; grid-template-columns: 440px minmax(0,1fr); gap: 80px; align-items: start; }
.ox-split__text { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.ox-split__text h2 { font-size: 36px; line-height: 1.34; letter-spacing: -0.02em; }
.ox-split__text p { font-size: 17px; line-height: 1.65; font-weight: 500; color: var(--ink-500); }
.ox-formcard { background: var(--s100); border-radius: 28px; padding: 36px; }

/* =========================================================
   7. 세무사 소개
   ========================================================= */
.ox-about-hero { background: var(--s100); padding: 88px var(--gutter) 96px; }
.ox-about-hero__row { max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: 480px minmax(0,1fr); gap: 80px; align-items: center; }
.ox-about-hero .ox-photo { aspect-ratio: 480 / 600; }
.ox-about-hero h1 { font-size: 60px; line-height: 1.2; letter-spacing: -0.03em; margin-top: 20px !important; }
.ox-quote { font-size: 26px; line-height: 1.4; font-weight: 900; color: var(--orange-deep); margin-top: 28px !important; letter-spacing: -0.02em; }
.ox-about-hero .ox-lead { font-size: 18px; line-height: 1.7; color: var(--ink-700); margin-top: 16px !important; }
.ox-about-hero .ox-btns { margin-top: 40px; }
.ox-career { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; align-items: start; }
.ox-career h3 { font-size: 20px; line-height: 1.4; margin-bottom: 14px !important; }
.ox-career li { display: flex; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line-200); }
.ox-career li b { font-size: 15px; line-height: 1.6; font-weight: 900; color: var(--orange-deep); flex: 0 0 auto; min-width: 34px; }
.ox-career li span { font-size: 16px; line-height: 1.6; font-weight: 500; color: var(--ink-900); }
.ox-office { display: grid; grid-template-columns: 624fr 552fr; gap: 24px; }
.ox-office__info { background: var(--white); border-radius: 24px; padding: 16px 36px; }
.ox-office__info > div { display: grid; grid-template-columns: 140px 1fr; gap: 24px; padding: 16px 0; }
.ox-office__info > div + div { border-top: 1px solid var(--line-200); }
.ox-office__info .k { font-size: 15px; line-height: 1.6; font-weight: 700; color: var(--ink-500); }
.ox-office__info .v { font-size: 16px; line-height: 1.6; font-weight: 500; color: var(--ink-900); }
.ox-office__info .v a { color: var(--ink-900) !important; }
.ox-map { border-radius: 24px; overflow: hidden; background: var(--s200); min-height: 529px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; }
.ox-map iframe { width: 100%; height: 100%; min-height: 529px; border: 0; display: block; }
.ox-map b { font-size: 16px; color: var(--ink-700); } .ox-map small { font-size: 13px; color: var(--ink-500); }

/* =========================================================
   8. 서비스
   ========================================================= */
.ox-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px !important; }
.ox-pill { display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 16px; border-radius: 999px; background: var(--white); border: 1px solid var(--line-300); font-size: 14px; line-height: 1.4; font-weight: 700; color: var(--ink-900) !important; white-space: nowrap; }
.ox-pill .ox-icon { font-size: 14px; }
.ox-pill.is-on { background: var(--ink-900); border-color: var(--ink-900); color: var(--white) !important; }
.ox-service { padding: 96px var(--gutter); scroll-margin-top: 90px; }
.ox-service__row { max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: 440px minmax(0,1fr); gap: 80px; align-items: start; }
.ox-service__intro { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.ox-service__price { font-size: 44px; line-height: 1.24; font-weight: 900; letter-spacing: -0.03em; color: var(--ink-900); }
.ox-service__price.is-orange { color: var(--orange); }
.ox-service__note { font-size: 14px; line-height: 1.5; font-weight: 700; color: var(--ink-500); }
.ox-service__desc { font-size: 17px; line-height: 1.65; font-weight: 500; color: var(--ink-700); }
.ox-service__intro .ox-btn { margin-top: 12px; }
.ox-service__detail { display: flex; flex-direction: column; gap: 28px; }
.ox-list { background: var(--s100); border-radius: 24px; padding: 28px 32px 12px; }
.ox-list--white { background: var(--white); }
.ox-list h3 { font-size: 19px; line-height: 1.4; margin-bottom: 10px !important; }
.ox-list li { display: flex; gap: 12px; align-items: center; padding: 14px 0; font-size: 16px; line-height: 1.6; font-weight: 500; color: var(--ink-900); }
.ox-list li + li { border-top: 1px solid var(--line-200); }
.ox-list li .ox-icon { font-size: 18px; color: var(--orange); }
.ox-sub { padding: 0 8px; }
.ox-sub h3 { font-size: 19px; line-height: 1.4; margin-bottom: 12px !important; }
.ox-sub p { font-size: 16px; line-height: 1.65; font-weight: 500; color: var(--ink-700); }
.ox-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ox-process li { border-top: 2px solid var(--ink-900); padding-top: 12px; display: flex; flex-direction: column; gap: 8px; }
.ox-process b { font-size: 15px; line-height: 1.4; font-weight: 900; color: var(--orange-deep); }
.ox-process span { font-size: 14px; line-height: 1.6; font-weight: 500; color: var(--ink-700); }
.ox-notsure { background: var(--white); padding: 96px var(--gutter) 104px; }

/* =========================================================
   9. 상담 문의
   ========================================================= */
.ox-channels { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 48px !important; }
.ox-channel { background: var(--white); border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.ox-channel--kakao { background: var(--kakao); }
.ox-channel__label { display: flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--ink-700); min-height: 28px; }
.ox-channel h2 { font-size: 24px; line-height: 1.35; letter-spacing: -0.02em; word-break: break-all; }
.ox-channel p { font-size: 14px; line-height: 1.6; font-weight: 500; color: var(--ink-500); }
.ox-channel--kakao p { color: var(--ink-900); }
.ox-channel .ox-btn { margin-top: auto; width: 100%; }
.ox-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ox-faq-card { background: var(--white); border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 10px; }
.ox-faq-card h3 { font-size: 19px; line-height: 1.45; }
.ox-faq-card p { font-size: 16px; line-height: 1.65; font-weight: 500; color: var(--ink-700); }

/* =========================================================
   10. 매거진 · 카테고리 · 글
   ========================================================= */
.ox-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px !important; }
.ox-tabs .ox-pill { height: 42px; padding: 0 18px; color: var(--ink-700) !important; }
.ox-tabs .ox-pill.is-on { color: var(--white) !important; }
.ox-posts-sec { background: var(--white); padding: 64px var(--gutter) 104px; }
.ox-posts { border-top: 0; }
.ox-post { display: grid; grid-template-columns: 200px minmax(0,1fr) 52px; gap: 48px; align-items: center; padding: 36px 0; border-bottom: 1px solid var(--line-300); }
.ox-post__body { display: flex; flex-direction: column; gap: 10px; }
.ox-post h2, .ox-post h3 { font-size: 24px; line-height: 1.4; }
.ox-post a:hover h2, .ox-post a:hover h3 { color: var(--orange-deep); }
.ox-post__tldr { display: flex; gap: 8px; font-size: 16px; line-height: 1.65; font-weight: 500; color: var(--ink-700); }
.ox-post__tldr b { font-size: 14px; font-weight: 900; color: var(--orange-deep); flex: 0 0 auto; }
.ox-post .ox-round { width: 52px; height: 52px; }
.ox-pager { display: flex; justify-content: center; gap: 6px; margin-top: 40px !important; }
.ox-pager .page-numbers { min-width: 40px; height: 40px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; border: 1px solid var(--line-300); font-size: 14px; font-weight: 700; color: var(--ink-700) !important; }
.ox-pager .page-numbers.current { background: var(--ink-900); border-color: var(--ink-900); color: var(--white) !important; }
.ox-empty { padding: 48px 0; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.ox-empty h2 { font-size: 19px; line-height: 1.4; }
.ox-empty p { font-size: 15px; line-height: 1.5; font-weight: 500; color: var(--ink-500); }
.ox-empty .ox-btn { margin-top: 12px; }
.ox-aiband-sec { background: var(--white); padding: 0 var(--gutter) 104px; }

.ox-article-sec { padding: 72px var(--gutter) 104px; background: var(--white); }
.ox-article-row { max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 760px) 360px; gap: 80px; justify-content: space-between; align-items: start; }
.ox-crumb { font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--ink-500); }
.ox-crumb a { color: var(--ink-500) !important; }
.ox-crumb a:hover { color: var(--orange-deep) !important; }
.ox-article, .ox-aside { min-width: 0; }
.ox-article h1 { font-size: 44px; line-height: 1.32; letter-spacing: -0.03em; margin-top: 24px !important; }
.ox-byline { display: flex; align-items: center; gap: 12px; margin-top: 24px !important; }
.ox-avatar { display: inline-block; flex: 0 0 auto; border-radius: 50%; overflow: hidden; background: var(--s200); }
.ox-avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; display: block; }
.ox-avatar--40 { width: 40px; height: 40px; } .ox-avatar--56 { width: 56px; height: 56px; }
.ox-byline b { display: block; font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--ink-900); }
.ox-byline small { display: block; font-size: 13px; line-height: 1.4; font-weight: 500; color: var(--ink-500); }
.ox-article .ot-tldr { background: var(--orange-tint); border-radius: 20px; padding: 24px 28px; margin: 36px 0 48px; display: flex; flex-direction: column; gap: 8px; }
.ox-article .ot-tldr .ot-label { font-size: 13px; line-height: 1.4; font-weight: 900; color: var(--orange-deep); }
.ox-article .ot-tldr p { font-size: 19px; line-height: 1.6; font-weight: 700; color: var(--ink-900); margin: 0; }
.ox-prose { font-size: 17px; line-height: 1.8; color: var(--ink-700); }
.ox-prose > * + * { margin-top: 20px !important; }
.ox-prose h2 { font-size: 26px; line-height: 1.4; color: var(--ink-900); font-weight: 900; margin-top: 48px !important; margin-bottom: -4px !important; scroll-margin-top: 96px; }
.ox-prose h3 { font-size: 20px; line-height: 1.45; margin-top: 36px !important; }
.ox-prose p, .ox-prose li { font-size: 17px; line-height: 1.8; }
.ox-prose a { color: var(--orange-deep); text-decoration: underline; }
.ox-prose strong { color: var(--ink-900); }
.ox-prose ol { counter-reset: oxol; }
.ox-prose ol > li { counter-increment: oxol; display: flex; gap: 12px; padding-bottom: 10px; }
.ox-prose ol > li::before { content: counter(oxol) "."; font-weight: 900; color: var(--orange-deep); }
.ox-prose ul > li { position: relative; padding-left: 16px; }
.ox-prose ul > li::before { content: ""; position: absolute; left: 2px; top: .8em; width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }
.ox-prose table { width: 100%; border: 1px solid var(--line-300); border-radius: 16px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.ox-prose th, .ox-prose thead td { background: var(--s200); font-size: 15px; line-height: 1.6; font-weight: 700; color: var(--ink-900); padding: 12px 16px; text-align: left; border: 0; }
.ox-prose td { font-size: 15px; line-height: 1.6; color: var(--ink-900); padding: 12px 16px; border: 0; border-top: 1px solid var(--line-200); }
.ox-prose td:first-child { font-weight: 700; }
.ox-prose figure.wp-block-table { margin: 0; overflow-x: auto; }
.ox-prose img { border-radius: 16px; }
.ox-prose blockquote { border-left: 3px solid var(--orange); padding: 4px 0 4px 20px; margin-left: 0; color: var(--ink-900); font-weight: 500; }
.ox-sources { background: var(--s100); border-radius: 20px; padding: 24px 28px 20px; margin-top: 36px; }
.ox-sources h2 { font-size: 17px; line-height: 1.4; margin-bottom: 4px !important; }
.ox-sources li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line-200); }
.ox-sources li a { font-size: 15px; line-height: 1.5; font-weight: 500; color: var(--orange-deep) !important; word-break: break-all; }
.ox-sources li a:hover { text-decoration: underline; }
.ox-sources .ox-basis { margin-top: 10px !important; font-weight: 400; }
.ox-author { display: flex; align-items: center; gap: 16px; padding: 24px 0; border-top: 1px solid var(--line-300); border-bottom: 1px solid var(--line-300); margin-top: 36px; }

.ox-author b { display: block; font-size: 16px; line-height: 1.4; font-weight: 900; color: var(--ink-900); }
.ox-author p { font-size: 13px; line-height: 1.6; font-weight: 500; color: var(--ink-500); margin-top: 4px !important; }
.ox-disclaimer { font-size: 12px; line-height: 1.5; color: var(--ink-400); margin-top: 16px !important; }
.ox-aside { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 16px; }
.ox-toc { border: 1px solid var(--line-300); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.ox-toc b { font-size: 15px; line-height: 1.4; font-weight: 900; color: var(--ink-900); }
.ox-toc a { font-size: 14px; line-height: 1.5; font-weight: 500; color: var(--ink-500) !important; }
.ox-toc a.is-first, .ox-toc a:hover { color: var(--orange-deep) !important; font-weight: 700; }
.ox-asidecta { background: var(--ink-900); border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.ox-asidecta h2 { color: var(--white) !important; font-size: 20px; line-height: 1.4; }
.ox-asidecta p { color: var(--orange-tint); font-size: 14px; line-height: 1.6; font-weight: 500; }
.ox-asidecta .ox-btn { width: 100%; }

/* 개인정보처리방침 */
.ox-legal { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 44px; }
.ox-legal > p, .ox-legal section p { font-size: 17px; line-height: 1.8; color: var(--ink-700); }
.ox-legal section { display: flex; flex-direction: column; gap: 14px; }
.ox-legal h2 { font-size: 21px; line-height: 1.4; }

/* =========================================================
   11. 태블릿 (≤ 1200)
   ========================================================= */
@media (max-width: 1200px) {
  .ox-header__in { padding: 0 40px; }
  .ox-footer { padding-left: 40px; padding-right: 40px; }
  .ox-nav { gap: 28px; }
  .ox-faq-row { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) 48px; gap: 32px; }
  .ox-cpa, .ox-split, .ox-service__row { grid-template-columns: 360px minmax(0,1fr); gap: 48px; }
  .ox-about-hero__row { grid-template-columns: 380px minmax(0,1fr); gap: 48px; }
  .ox-qa-line { grid-template-columns: 340px 1fr; }
  .ox-article-row { grid-template-columns: minmax(0,1fr) 300px; gap: 48px; }
}
@media (max-width: 1024px) {
  .ox-nav { display: none; }
  .ox-header__cta { display: none; }
  .ox-menu-btn { display: inline-flex; }
  .ox-home-hero__row, .ox-ai-hero__row { grid-template-columns: 1fr; gap: 40px; }
  .ox-channels { grid-template-columns: 1fr 1fr; }
  .ox-topics { grid-template-columns: 1fr 1fr; }
  .ox-plans { grid-template-columns: 1fr; }
  .ox-career { grid-template-columns: 1fr 1fr; }
  .ox-office { grid-template-columns: 1fr; }
  .ox-article-row { grid-template-columns: 1fr; }
  .ox-aside { position: static; }
  .ox-toc { display: none; }
}

/* =========================================================
   12. 모바일 (≤ 768) — Figma Mobile 390
   ========================================================= */
@media (max-width: 768px) {
  :root { --gutter: 20px; }
  .ox-pc { display: none; } .ox-mo { display: inline; }
  .ox-header__in { height: 58px; padding: 0 20px; }
  .ox-logo img { height: 38px; }
  .admin-bar .ox-header { top: 46px; }

  .ox-sec { padding: 64px 20px; }
  .ox-sec--sub { padding-top: 56px; padding-bottom: 56px; }
  .ox-head { display: block; margin-bottom: 28px; }
  .ox-head .ox-link { margin-top: 16px; }
  .ox-h2, .ox-h2--sm { font-size: 28px; line-height: 1.32; }
  .ox-sec--sub .ox-h2--sm { font-size: 26px; }
  .ox-lead { font-size: 15px; margin-top: 10px !important; }
  .ox-pagehero { padding: 40px 20px 48px; }
  .ox-pagehero h1 { font-size: 36px; line-height: 1.24; }
  .ox-pagehero .ox-lead { font-size: 16px; margin-top: 14px !important; }

  .ox-btn { height: 56px; }
  .ox-btns { flex-direction: column; }
  .ox-btns .ox-btn { width: 100%; }
  .ox-row { grid-template-columns: 1fr; gap: 20px; }
  .ox-form input[type=submit], .ox-form .wpcf7-submit { width: 100%; }

  .ox-footer { padding: 40px 20px; }
  .ox-footer__top { flex-direction: column; align-items: flex-start; gap: 16px; }
  .ox-footer__in { gap: 16px; }
  .ox-footer__rule { display: none; }
  .ox-footer__nav a { display: none; }
  .ox-footer__nav a[href$="/privacy/"] { display: inline; font-size: 13px; text-decoration: underline !important; }
  .ox-footer__info { font-size: 13px; line-height: 1.5; gap: 4px; }
  .ox-footer__info span.sep { display: none; }
  .ox-footer__info span.br { display: block; }
  .ox-footer__logo img { height: 38px; }

  .ox-panel { border-radius: 24px; }
  .ox-panel__head { padding: 20px 20px 16px; }
  .ox-panel__title { font-size: 17px; }
  .ox-panel__meta { font-size: 12px; }
  .ox-panel__preview { padding: 16px 20px; font-size: 13px; line-height: 1.6; gap: 8px; }
  .ox-panel__preview .ox-pc-only { display: none; }
  .ox-panel__scroll { padding: 16px 20px; height: 260px; font-size: 13px; line-height: 1.65; }
  .ox-panel__actions { padding: 20px; gap: 12px; }
  .ox-openin__label { display: none; }
  .ox-openin { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .ox-openin .ox-btn { width: 100%; padding: 0 8px; }
  .ox-openin .ox-btn .ox-icon { display: none; }
  .ox-privacy { font-size: 12px; }

  .ox-band { flex-direction: column; align-items: stretch; gap: 16px; padding: 28px 24px; border-radius: 24px; }
  .ox-band h2, .ox-band h3 { font-size: 22px; }
  .ox-band p { font-size: 15px; }
  .ox-band .ox-btn, .ox-band .ox-btns { width: 100%; }

  .ox-cta-sec { padding: 0; }
  .ox-cta { border-radius: 0; padding: 56px 20px; flex-direction: column; align-items: stretch; gap: 14px; }
  .ox-cta h2 { font-size: 28px; line-height: 1.32; }
  .ox-cta p { font-size: 15px; margin-top: 14px !important; }
  .ox-cta__actions { width: 100%; }
  .ox-cta__hours { display: none; }

  /* 홈 */
  .ox-home-hero { padding: 40px 20px 40px; }
  .ox-home-hero__row { gap: 24px; }
  .ox-home-hero h1 { font-size: 40px; line-height: 1.24; margin-top: 18px !important; }
  .ox-home-hero .ox-lead { font-size: 16px; margin-top: 14px !important; }
  .ox-home-hero .ox-btns { display: none; }
  .ox-steps { flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 0 !important; }
  .ox-steps .ox-arrow { display: none; }
  .ox-steps .ox-num { width: 24px; height: 24px; font-size: 12px; }
  .ox-home-hero__copy { display: contents; }
  .ox-home-hero__panel { order: 2; }
  .ox-home-hero__steps { order: 3; }
  .ox-handoff-sec { padding: 0 20px 40px; }
  .ox-handoff-sec .ox-band { padding: 28px 24px; }
  .ox-handoff-sec .ox-band h2 { font-size: 22px; }
  .ox-handoff-sec .ox-fine { font-size: 12px; line-height: 1.55; margin-top: 12px; }

  .ox-deadlines { grid-template-columns: 1fr; border-bottom: 0; }
  .ox-deadline, .ox-deadline:first-child { padding: 18px 0; flex-direction: row; align-items: center; gap: 16px; border-left: 0 !important; border-bottom: 1px solid var(--line-300); }
  .ox-deadline__top { display: contents; }
  .ox-deadline__date { font-size: 28px; order: 1; flex: 0 0 auto; }
  .ox-deadline__text { order: 2; flex: 1; min-width: 0; }
  .ox-deadline .ox-chip { order: 3; }
  .ox-deadline__title { font-size: 15px; line-height: 1.45; }
  .ox-deadline__who { font-size: 13px; margin-top: 2px !important; }
  #ox-forecast .ox-head .ox-link { display: none; }
  .ox-forecast-more { display: inline-flex !important; margin-top: 28px; }

  .ox-faq-row { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 22px 20px; }
  .ox-faq-row__q .ox-chip { display: none; }
  .ox-faq-row__q h3 { font-size: 18px; }
  .ox-faq-row__a { gap: 4px; }
  .ox-kicker { font-size: 13px; }
  .ox-faq-row__a p { font-size: 15px; }
  .ox-faq-row__a .ox-basis { display: flex; justify-content: space-between; align-items: center; font-size: 12px; margin-top: 8px !important; }
  .ox-faq-row > .ox-round { display: none; }
  .ox-mo-arrow { display: inline-block; font-size: 18px; color: var(--ink-900); }
  .ox-faq-rows { gap: 10px; }
  .ox-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px !important; }
  .ox-topic { padding: 12px 16px; border-radius: 999px; background: var(--white); gap: 6px; }
  .ox-topic b { font-size: 14px; }
  .ox-topic small { display: none; }
  .ox-topic .ox-icon { font-size: 14px; }

  .ox-cpa { display: flex; flex-direction: column; align-items: stretch; gap: 28px; }
  .ox-cpa__photo img { aspect-ratio: 350 / 400; border-radius: 24px; }
  .ox-cpa__body { display: contents; }
  .ox-cpa__head { order: -1; }
  .ox-cpa__head .ox-lead { display: none; }
  .ox-cpa__name { flex-direction: column; align-items: flex-start; gap: 8px; }
  .ox-cpa__name strong { font-size: 24px; }
  .ox-profile { border-top: 0; display: flex; flex-direction: column; gap: 14px; }
  .ox-profile > div { display: flex; flex-direction: column; gap: 4px; padding: 0 0 14px; }
  .ox-profile .k { font-size: 13px; line-height: 1.5; }
  .ox-profile .v { font-size: 15px; }

  .ox-plans { gap: 12px; }
  .ox-plan { padding: 24px 22px; border-radius: 20px; gap: 14px; }
  .ox-plan__name { font-size: 15px; }
  .ox-plan__price, .ox-plan--dark .ox-plan__price { font-size: 24px; margin-top: 14px !important; }
  .ox-plan__desc { font-size: 14px; margin-top: 14px !important; }
  .ox-plan__list { flex-direction: row; flex-wrap: wrap; gap: 6px 16px; border-top: 0; padding-top: 0 !important; }
  .ox-plan__list li { font-size: 13px; gap: 6px; }
  .ox-plan__list .ox-icon { font-size: 16px; }
  .ox-plan .ox-btn { height: 44px; font-size: 15px; }

  /* AI 페이지 */
  .ox-ai-hero { padding: 40px 20px 48px; }
  .ox-ai-hero h1 { font-size: 40px; margin-top: 18px !important; }
  .ox-ai-hero .ox-lead { font-size: 16px; margin-top: 14px !important; }
  .ox-twosteps { margin-top: 24px !important; gap: 10px; }
  .ox-twostep { padding: 18px 20px; gap: 14px; }
  .ox-twostep h3 { font-size: 16px; } .ox-twostep p { font-size: 14px; }
  .ox-split { display: flex; flex-direction: column; gap: 28px; }
  .ox-split__text h2 { font-size: 26px; }
  .ox-split__text p { font-size: 15px; }
  .ox-formcard { padding: 24px 20px; border-radius: 24px; }
  .ox-qa-line { grid-template-columns: 1fr; gap: 8px; padding: 22px 0; }
  .ox-qa-line h3 { font-size: 17px; }
  .ox-qa-line p { font-size: 15px; }

  /* 세무사 소개 */
  .ox-about-hero { padding: 24px 20px 48px; }
  .ox-about-hero__row { display: flex; flex-direction: column; gap: 28px; align-items: stretch; }
  .ox-about-hero .ox-photo { aspect-ratio: 350 / 360; border-radius: 24px; }
  .ox-about-hero h1 { font-size: 40px; margin-top: 14px !important; }
  .ox-quote { font-size: 20px; margin-top: 16px !important; }
  .ox-about-hero .ox-lead { font-size: 15px; }
  .ox-about-hero .ox-btns { margin-top: 28px; }
  .ox-career { grid-template-columns: 1fr; gap: 32px; }
  .ox-career h3 { font-size: 18px; margin-bottom: 6px !important; }
  .ox-career li span { font-size: 15px; }
  .ox-office__info { padding: 8px 20px; border-radius: 20px; }
  .ox-office__info > div { display: flex; flex-direction: column; gap: 2px; padding: 14px 0; }
  .ox-office__info .k { font-size: 13px; }
  .ox-office__info .v { font-size: 15px; }
  .ox-map, .ox-map iframe { min-height: 260px; border-radius: 20px; }

  /* 서비스 */
  .ox-jump { gap: 8px; }
  .ox-service { padding: 48px 20px; }
  .ox-service__row { display: flex; flex-direction: column; gap: 28px; }
  .ox-service__price { font-size: 30px; }
  .ox-service__desc { font-size: 15px; }
  .ox-service__intro .ox-btn { width: 100%; }
  .ox-list { padding: 22px 20px 6px; border-radius: 20px; }
  .ox-list h3 { font-size: 17px; }
  .ox-list li { font-size: 15px; padding: 12px 0; align-items: flex-start; }
  .ox-list li .ox-icon { margin-top: 3px; }
  .ox-sub { padding: 0; }
  .ox-sub h3 { font-size: 17px; }
  .ox-sub p { font-size: 15px; }
  .ox-process { grid-template-columns: 1fr; gap: 0; }
  .ox-process li { flex-direction: row; gap: 12px; border-top: 1px solid var(--line-300); padding: 12px 0; }
  .ox-process li:first-child { border-top: 2px solid var(--ink-900); }
  .ox-notsure { padding: 40px 20px 56px; }

  /* 상담 문의 */
  .ox-channels { grid-template-columns: 1fr; gap: 12px; margin-top: 28px !important; }
  .ox-channel { padding: 22px 20px; border-radius: 20px; gap: 8px; }
  .ox-channel h2 { font-size: 22px; }
  .ox-channel .ox-btn { margin-top: 10px; height: 44px; font-size: 15px; }
  .ox-faq-grid { grid-template-columns: 1fr; gap: 10px; }
  .ox-faq-card { padding: 22px 20px; }
  .ox-faq-card h3 { font-size: 17px; } .ox-faq-card p { font-size: 15px; }

  /* 매거진 */
  .ox-tabs { margin-top: 20px !important; }
  .ox-tabs .ox-pill { height: 38px; padding: 0 14px; font-size: 13px; }
  .ox-posts-sec { padding: 32px 20px 56px; }
  .ox-post { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px 0; }
  .ox-post > .ox-round { display: none; }
  .ox-post h2, .ox-post h3 { font-size: 19px; }
  .ox-post__tldr { font-size: 14px; }
  .ox-post__tldr b { font-size: 13px; }
  .ox-aiband-sec { padding: 0 20px 56px; }

  .ox-article-sec { padding: 32px 20px 56px; }
  .ox-article h1 { font-size: 28px; margin-top: 16px !important; }
  .ox-article .ot-tldr { padding: 20px; margin: 28px 0 36px; border-radius: 16px; }
  .ox-article .ot-tldr p { font-size: 16px; }
  .ox-prose, .ox-prose p, .ox-prose li { font-size: 16px; line-height: 1.75; }
  .ox-prose h2 { font-size: 21px; margin-top: 36px !important; }
  .ox-prose table { display: block; overflow-x: auto; }
  .ox-prose th, .ox-prose td { font-size: 14px; padding: 10px 12px; min-width: 120px; }
  .ox-sources { padding: 20px; }
  .ox-sources li a { font-size: 14px; }

  .ox-legal { gap: 32px; }
  .ox-legal > p, .ox-legal section p { font-size: 16px; }
  .ox-legal h2 { font-size: 19px; }
  .ox-table { display: block; overflow-x: auto; }
  .ox-table th, .ox-table td { font-size: 14px; padding: 10px 12px; min-width: 110px; }
}

/* 모바일 메뉴(펼침) */
.ox-drawer[data-open="true"] { display: block; position: absolute; left: 0; right: 0; top: 100%; background: var(--peach); padding: 8px 20px 24px; box-shadow: 0 12px 24px rgba(59,42,30,.18); }
.ox-drawer a.ox-drawer__link { display: block; padding: 16px 0; font-size: 18px; line-height: 1.4; font-weight: 700; color: var(--white) !important; border-bottom: 1px solid rgba(255,255,255,.35); text-decoration: none !important; }
.ox-drawer .ox-btns { margin-top: 20px; flex-direction: column; gap: 10px; }
.ox-drawer .ox-btn { width: 100%; }

/* 보조 표시 유틸 */
.ox-mo-br { display: none; }
.ox-pc-only { display: block; }
.ox-pc-flex { display: inline-flex; }
@media (max-width: 768px) {
  .ox-mo-br { display: inline; }
  .ox-pc-only, .ox-pc-flex { display: none !important; }
  br.ox-pc { display: none; }
}

/* AI 세무 상담: 프롬프트 미리보기는 스크롤 없이 앞부분만 보여주고 아래를 흐리게 (전문은 복사 버튼으로) */
.ox-panel__scroll::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; pointer-events: none;
  background: linear-gradient(to bottom, rgba(251,245,239,0), var(--s100) 85%); }
@media (max-width: 768px) { .ox-panel__scroll::after { height: 80px; } }


/* ---- static-site contact card (replaces Contact Form 7) ---- */
.ox-contactcard { display: flex; flex-direction: column; gap: 20px; }
.ox-contactcard__intro { margin: 0; font-size: 17px; line-height: 1.7; }
.ox-contactcard__btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.ox-contactcard__info { margin: 0; padding-left: 1.1em; font-size: 15px; line-height: 1.8; color: var(--s600, #555); }
.ox-contactcard__info a { color: inherit; text-decoration: underline; }
@media (max-width: 600px) { .ox-contactcard__btns .ox-btn { width: 100%; justify-content: center; } }
