/* Editorial breathing room. Scoped to reading pages only; no calculator, API or signing logic. */
@media screen {
  body.tax-space { letter-spacing:0; line-height:1.85; }
  body.tax-space :is(h1,h2,h3,h4):not(#calc *) { letter-spacing:-.012em!important; line-height:1.5!important; }
  body.tax-space h1:not(#calc *) { letter-spacing:-.02em!important; line-height:1.42!important; }
  body.tax-space :is(p,li):not(#calc *) { letter-spacing:0; }
  body.tax-space :is(p.tx,.sd,.lede,.lead,.intro-body,.intro-lead,.genre-note,.detail-inside p,.item p,.rg-u p):not(#calc *) { line-height:1.9; letter-spacing:0; }
  body.tax-space :is(th,td):not(#calc *) { letter-spacing:0; line-height:1.75; }
  body.tax-space :is(button,input,select,textarea,summary):not(#calc *) { letter-spacing:0; }
  body.tax-space :is(header,.nav,.topnav,.side) :is(a,button) { letter-spacing:0; }
  body.tax-space :is(h2,h3) + :is(p,figure,.card,.tw,.rg-table):not(#calc *) { margin-top:20px; }
  body.tax-space .sp-figure { margin-block:28px; }
  body.tax-space :is(.tip,.warn,.bad,.note):not(#calc *) { line-height:1.9; letter-spacing:0; }

  /* Start guides: the old shared border had no matching inner padding. */
  body.tax-space-start .main > .sec:not(#calc) {
    margin-top:72px; padding:0;
    border:0!important; border-radius:0!important; box-shadow:none!important; background:transparent!important;
  }
  body.tax-space-start #calc { letter-spacing:-.015em; line-height:1.75; border:0!important; border-radius:0!important; box-shadow:none!important; }
  body.tax-space-start .main > .sec > h2 { margin:0 0 24px; }
  body.tax-space-start .main > .sec > .sd { margin:22px 0 26px; line-height:1.9; }
  body.tax-space-start .main > .sec:not(#calc) .sp-figure { max-width:560px; margin:28px auto 32px; }
  body.tax-space-start .sp-figure img { display:block; width:100%; height:auto; max-height:360px; object-fit:contain; }
  body.tax-space-start .sec:not(#calc) .tw { margin-block:26px; }
  body.tax-space-start .sec:not(#calc) :is(th,td) { padding:17px 18px; }
  body.tax-space-start .sec:not(#calc) :is(.tip,.warn,.bad) { padding:24px 26px; margin-top:26px; }
  body.tax-space-start .sec:not(#calc) > .card { padding:28px 28px; }
  body.tax-space-start .chk { padding-block:18px; gap:14px; line-height:1.9; }
  body.tax-space-start .cards { gap:20px; margin-block:24px 40px; }
  body.tax-space-start .cards > a { padding:24px; }
  body.tax-space-start .fstep { margin-top:32px; margin-bottom:16px; }
  body.tax-space-start .cta { margin-top:64px; padding:34px 30px; }

  /* Industry reading cards retain their structure but gain breathing room. */
  body.tax-space-industry :is(.sec,.tldr,.toc) { padding:32px 28px; margin-block:28px; }
  body.tax-space-industry .sec > h2 { margin-bottom:26px; }
  body.tax-space-industry .item { padding:22px 22px; margin-bottom:18px; }
  body.tax-space-industry .item :is(.qq,h3) { margin-bottom:14px; }
  body.tax-space-industry .tw { margin-block:26px; }
  body.tax-space-industry :is(th,td) { padding:17px 18px; }
  body.tax-space-industry .specialist-faq { margin-top:48px; }
  body.tax-space-industry .visual-detail { margin-block:14px; }
  body.tax-space-industry .visual-detail summary { padding-block:24px; line-height:1.75; }
  body.tax-space-industry :is(.visual-panel,.visual-common) { padding-top:28px; margin-bottom:60px; }
  body.tax-space-industry :is(.visual-panel,.visual-common) > h2 { margin-bottom:28px; }
  body.tax-space-industry .visual-hero { padding-block:28px 38px; }
  body.tax-space-industry .visual-hero h1 { margin-bottom:24px; }
  body.tax-space-industry .visual-figure { padding:28px; margin-block:30px 36px; }
  body.tax-space-industry .visual-figure figcaption h3 { margin-top:12px; margin-bottom:26px; }
  body.tax-space-industry .visual-table { margin-block:28px 34px; }
  body.tax-space-industry .specialist-guide { padding:28px; margin-bottom:34px; }
  body.tax-space-industry .specialist-guide h2 { margin-bottom:18px; }
  body.tax-space-industry .specialist-checks { gap:24px; }
  body.tax-space-industry .specialist-checks b { margin-bottom:12px; }
  body.tax-space-industry .prepare-grid { gap:20px; }
  body.tax-space-industry .prepare-grid > div { padding:24px; }
  body.tax-space-industry .kw-consult { margin-top:36px!important; padding:26px 28px!important; }
  body.tax-space-industry .ask { margin-top:36px; padding:32px 28px; }

  /* Creator and editorial pages use their own grids and image placement. */
  body.tax-space-creator .hero { padding-block:68px 52px; }
  body.tax-space-creator .hero h1 { margin-bottom:26px; }
  body.tax-space-creator .hero .lede { margin-block:22px; }
  body.tax-space-creator :is(.panel,.card) { padding:32px; margin-bottom:28px; }
  body.tax-space-creator .crm-hero { gap:56px; }
  body.tax-space-creator .crm-proof { padding-block:52px; }
  body.tax-space-creator .crm-step { padding-block:28px; }
  body.tax-space-creator .cs-tools details { padding:24px 26px; }
  body.tax-space-creator .cs-tools summary { line-height:1.75; }
  body.tax-space-creator .tax-genre-grid { gap:34px 40px; }
  body.tax-space-creator .tax-genre { padding-block:26px; }
  body.tax-space-editorial :is(.mast,.hero) h1 { margin-bottom:26px; }
  body.tax-space-editorial .box { padding:30px; }
  body.tax-space-editorial .cta { padding:36px 30px; }

  /* Home and the service/selection guides. No change to the intro or iframe. */
  body.tax-space.tax-home .top { padding-block:84px 64px; }
  body.tax-space.tax-home .top .lede { margin-block:24px 30px; }
  body.tax-space.tax-home .tools-g { gap:30px 36px; }
  body.tax-space.tax-home .intro-copy :is(.intro-lead,.intro-body) { margin-block:20px; }
  body.tax-space.tax-home .hero-steps ol { gap:18px; }
  body.tax-space.tax-home .intro-features { gap:20px; }
  body.tax-space .rg-u { padding:36px; margin-block:40px; }
  body.tax-space .rg-u h2 { margin-bottom:22px; }
  body.tax-space .rg-u-grid { gap:20px; margin-block:26px; }
  body.tax-space .rg-u-card { padding:26px; }
  body.tax-space .rg-u-card h3 { margin-bottom:14px; }
  body.tax-space .rg-u-actions { gap:14px; margin-top:24px; }
  body.tax-space .rg-u :is(th,td) { padding:18px; }
  body.tax-space .rg-u details { padding-block:20px; }
  body.tax-space .rg-page { padding-top:44px; }
  body.tax-space .rg-lead { padding-block:44px 20px; }
  body.tax-space .rg-lead h1 { margin-bottom:28px; }
  body.tax-space-hub .grid { gap:24px; }

  @media(max-width:760px) {
    body.tax-space :is(h2,h3,h4):not(#calc *) { letter-spacing:-.008em!important; }
    body.tax-space h1:not(#calc *) { letter-spacing:-.015em!important; }
    body.tax-space-start .main > .sec:not(#calc) { margin-top:60px; }
    body.tax-space-start .main > .sec > h2 { margin-bottom:22px; }
    body.tax-space-start .main > .sec:not(#calc) .sp-figure { margin-block:24px 28px; }
    body.tax-space-start .sec:not(#calc) :is(th,td) { padding:15px 12px; }
    body.tax-space-start .sec:not(#calc) :is(.tip,.warn,.bad) { padding:22px 20px; margin-top:24px; }
    body.tax-space-start .sec:not(#calc) > .card { padding:24px 20px; }
    body.tax-space-start .cards { gap:16px; }
    body.tax-space-start .cards > a { padding:22px 20px; }
    body.tax-space-start .cta { padding:28px 22px; }
    body.tax-space-industry :is(.sec,.tldr,.toc) { padding:26px 20px; margin-block:24px; }
    body.tax-space-industry .item { padding:20px 18px; margin-bottom:18px; }
    body.tax-space-industry :is(th,td) { padding:15px 12px; }
    body.tax-space-industry .kw-consult { padding:24px 20px!important; }
    body.tax-space-industry .ask { padding:28px 22px; }
    body.tax-space-industry :is(.visual-panel,.visual-common) { padding-top:20px; margin-bottom:48px; }
    body.tax-space-industry .visual-hero { padding-block:24px 30px; }
    body.tax-space-industry .visual-figure { padding:22px 18px; margin-block:26px 30px; }
    body.tax-space-industry .visual-figure figcaption h3 { margin-bottom:22px; }
    body.tax-space-industry .specialist-guide { padding:24px 20px; }
    body.tax-space-industry .specialist-checks li { padding-block:16px; gap:14px; }
    body.tax-space-industry .specialist-checks b { margin-bottom:0; }
    body.tax-space-industry .visual-detail summary { padding-block:22px; }
    body.tax-space-industry .visual-table tr { padding:20px 18px; }
    body.tax-space-industry .visual-table td { padding:6px 0; }
    body.tax-space-industry .visual-table td:first-child { padding:0 0 12px; }
    body.tax-space-industry .prepare-grid { gap:16px; }
    body.tax-space-industry .prepare-grid > div { padding:20px 16px; }
    body.tax-space-creator .hero { padding-block:46px 36px; }
    body.tax-space-creator .crm-hero { gap:36px; }
    body.tax-space-creator :is(.panel,.card) { padding:26px 22px; }
    body.tax-space-creator .cs-tools details { padding:22px 20px; }
    body.tax-space-creator .tax-genre-grid { gap:28px; }
    body.tax-space-editorial .box { padding:26px 22px; }
    body.tax-space-editorial .cta { padding:28px 22px; }
    body.tax-space.tax-home .top { padding-block:52px 42px; }
    body.tax-space.tax-home .tools-g { gap:24px; }
    body.tax-space.tax-home .hero-steps ol { gap:14px; }
    body.tax-space .rg-u { padding:28px 22px; margin-block:32px; }
    body.tax-space .rg-u-card { padding:22px; }
    body.tax-space .rg-u-grid { gap:18px; }
    body.tax-space .rg-u :is(th,td) { padding:16px 14px; }
    body.tax-space .rg-page { padding-top:28px; }
    body.tax-space .rg-lead { padding-top:30px; }
  }
}

/* 10/23 휴대폰 본문 줄 간격 1.9 → 1.75 (site-theme.css와 함께) */
@media screen and (max-width:760px){
  body.tax-space { line-height:1.72; }
  body.tax-space :is(p.tx,.sd,.lede,.lead,.intro-body,.intro-lead,.genre-note,.detail-inside p,.item p,.rg-u p,.tip,.warn,.bad,.note):not(#calc *) { line-height:1.75; }
}

/* ===== 11/7 디자인 손질 (안쪽 페이지, 휴대폰 우선) =====
   목표: 상자 안 상자를 없애 글 폭을 넓히고, 구역은 회색 간격으로 나눔(토스식). 글자 대비, 링크 밑줄, 결론부터 상자 정리.
   홈(.tax-home)은 건드리지 않음. */
body.tax-site:not(.tax-home),body.tax-site:not(.tax-home) main.shell{background:#f2f4f6!important}
body.tax-site:not(.tax-home) .eyebrow{color:#7a5a00!important}
body.tax-site:not(.tax-home) .hint,body.tax-site:not(.tax-home) .bjc .hint,body.tax-site:not(.tax-home) .dlc .hint{color:#6b7684!important}
body.tax-site:not(.tax-home) main p:not(.crumb) a:not(.btn):not([class*="kk"]),body.tax-site:not(.tax-home) main li a:not(.btn),body.tax-site:not(.tax-home) main td a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgba(49,130,246,.45)}
body.tax-site:not(.tax-home) main .gv-answer{background:#f7f8fa!important;border:0!important;border-left:4px solid #191f28!important;border-radius:4px 14px 14px 4px!important;padding:16px 18px!important;color:#191f28!important;line-height:1.75!important}
body.tax-site:not(.tax-home) main .gv-answer>b:first-child{display:block;width:max-content;margin:0 0 8px}
body.tax-site:not(.tax-home) main table{font-size:15px}
body.tax-site:not(.tax-home) main th{background:#f7f8fa!important;color:#333d4b!important}
body.tax-site:not(.tax-home) main td:first-child{color:#4e5968;font-weight:600}
body.tax-site:not(.tax-home) main details{border-bottom:1px solid #eef0f3}
body.tax-site:not(.tax-home) main details summary{padding:16px 28px 16px 0;font-weight:700;line-height:1.5;position:relative;list-style:none;cursor:pointer}
body.tax-site:not(.tax-home) main details summary::-webkit-details-marker{display:none}
body.tax-site:not(.tax-home) main details summary::after{content:"+";position:absolute;right:4px;top:13px;font-size:20px;color:#8b95a1;font-weight:400}
body.tax-site:not(.tax-home) main details[open] summary::after{content:"−"}
@media (max-width:640px){
  .rg-util{display:none!important}
  body.tax-site:not(.tax-home) main.shell{padding-left:0!important;padding-right:0!important;max-width:none!important}
  body.tax-site:not(.tax-home) main.shell>section.panel,body.tax-site:not(.tax-home) main.shell>section.hero{margin:0 0 10px!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:28px 20px!important}
  body.tax-site:not(.tax-home) main.shell>section.panel:not(#os-flow):not(#qa-calc):not(#calc-link):not(#dlc-link),body.tax-site:not(.tax-home) main.shell>section.hero{background:#fff!important}
  body.tax-site:not(.tax-home) main.shell>section.hero{padding-top:20px!important}
  body.tax-site:not(.tax-home) main.shell>section.panel h2{font-size:21px!important;line-height:1.4!important;margin:0 0 14px!important;letter-spacing:-.02em}
  body.tax-site:not(.tax-home) main.shell>section p,body.tax-site:not(.tax-home) main.shell>section li{font-size:16.5px;line-height:1.78;color:#333d4b}
  body.tax-site:not(.tax-home) main.shell h1{font-size:26px!important;line-height:1.35!important;letter-spacing:-.03em}
  body.tax-site:not(.tax-home) main .table-wrap{margin:0 -4px}
}

/* ===== 11/7 업종 페이지 가벼운 손질(휴대폰): 상자는 그대로, 여백과 테두리만 정리 ===== */
@media (max-width:640px){
  body.tax-space-industry main.wrap{padding-left:12px!important;padding-right:12px!important}
  body.tax-space-industry main.wrap > section,body.tax-space-industry main.wrap > .ub-block,body.tax-space-industry main.wrap .visual-panel,body.tax-space-industry main.wrap .visual-common{border-color:#eceef1!important;border-radius:18px!important;box-shadow:none!important}
  body.tax-space-industry main.wrap .rg-xlink{border-color:#efe6cf!important;border-radius:18px!important;padding:20px 18px!important}
  body.tax-space-industry main.wrap p,body.tax-space-industry main.wrap li{line-height:1.75}
}

/* 11/8 hallmark Floor 40(글자 대비 4.5:1) 점검 손질
   - 분류 글씨: 각 쪽 인라인 규칙(:not(#_), -webkit-text-fill-color #9A7406, 대비 4.31)이 위 #7a5a00을 이겨서 한 단계 더 센 선택자로 덮음
   - 회색 안내 글씨 3곳: 4.3 안팎 → 5:1 이상 */
body.tax-site:not(.tax-home) :is(.eyebrow,.kicker,.ivh-k,.lb,.industry-eyebrow span):not(#_):not(#__){color:#7a5a00!important;-webkit-text-fill-color:#7a5a00!important}
.cs-tools summary span{color:#5f6354!important}
.tab-helper{color:#5b6573!important}
.bkl .k,.vcr .k{color:#5b6573!important}
/* ===== 11/9 PC 첫 화면 흰 상자 안쪽 여백: 아래 본문 상자(32px)와 같은 선에서 시작 ===== */
@media (min-width:641px){
  body.tax-site:not(.tax-home) main.shell>section.hero:not(.phero){padding-left:32px!important}
  body.tax-site:not(.tax-home) main.shell>section.hero:not(.phero):not(.ec-hero){padding-right:32px!important}
}
