/*
Theme Name: Starman
Template: generatepress
Description: Light editorial child theme of GeneratePress for the Starman multilingual crypto news site.
Version: 5.0.0
Text Domain: crypto-dark
*/

/* ---------- tokens ---------- */
:root {
  --bg: #ffffff;
  --surface: #f3f3f3;
  --surface-2: #e9e9e9;
  --ink: #232323;
  --muted: #6e6e6e;
  --accent: #a1ffcb;
  --accent-ink: #232323;
  --field-2: #232323;
  --field-2-ink: #ffffff;
  --up: #0f7a3d;
  --down: #b42318;
  --rule: #dedede;            /* only for real tables */
  --step-small: 15px;
  --step-body: clamp(17px, 16px + 0.2vw, 19px);
  --step-lead: clamp(20px, 18px + 0.4vw, 24px);
  --step-head: clamp(26px, 20px + 1vw, 36px);
  --step-display: clamp(44px, 30px + 3.4vw, 76px);
  --face: "Boska", "Noto Serif", Georgia, "Times New Roman", serif;
  --margin: clamp(16px, 2.4vw, 32px);
  --axis: 42%;
}
html:lang(ko) { --face: "Boska", "Noto Serif KR", "Apple SD Gothic Neo", serif; }
html:lang(ja) { --face: "Boska", "Noto Serif JP", "Hiragino Mincho ProN", serif; }

html, body { background: var(--bg) !important; color: var(--ink) !important; }
body { font-family: var(--face); font-size: var(--step-body); line-height: 1.55; letter-spacing: .005em; -webkit-font-smoothing: antialiased; }
html:lang(ko) body, html:lang(ja) body { line-height: 1.8; letter-spacing: 0; word-break: keep-all; overflow-wrap: anywhere; }
a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .15s ease, background-color .15s ease; }
a:hover, a:focus-visible { color: #000; text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
::selection { background: var(--accent); color: var(--accent-ink); }
h1, h2, h3, h4 { font-family: var(--face); color: var(--ink); font-weight: 500; letter-spacing: -.02em; }
strong, b { font-weight: 700; color: inherit; }

/* ---------- frame ---------- */
.grid-container, .container.grid-container { max-width: 1320px; }
.site-content { padding-left: var(--margin); padding-right: var(--margin); }
.separate-containers .inside-article, .separate-containers .site-main > *, .one-container .container,
.separate-containers .comments-area, .separate-containers .page-header, .widget-area .widget,
.inside-right-sidebar .widget, .site-main, .content-area { background: transparent !important; color: var(--ink); }
.separate-containers .site-main { margin: 0; }
.separate-containers .inside-article { padding: 0 !important; border: 0; }

/* ---------- header: plain bar ---------- */
.site-header { background: var(--bg) !important; border: 0; position: relative; }
.inside-header { padding: 22px var(--margin) 18px; }
.main-title { font-size: var(--step-head); font-weight: 500; letter-spacing: -.03em; line-height: 1; margin: 0; }
.main-title a, .main-title a:hover { color: var(--ink) !important; text-decoration: none; }
.site-description { color: var(--muted) !important; font-size: var(--step-small); margin-top: 6px; }
.main-navigation, .main-navigation ul ul { background: var(--bg) !important; }
.main-navigation .main-nav ul li a { color: var(--ink) !important; font-size: var(--step-body); font-weight: 500; padding-left: 14px; padding-right: 14px; line-height: 52px; }
.main-navigation .main-nav ul li:hover > a, .main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a { color: var(--ink) !important; background: var(--surface) !important; }
.main-navigation .main-nav ul li.cd-lang-li { display: flex; align-items: center; padding-left: 10px; }
.cd-lang { display: inline-flex; gap: 2px; background: var(--surface); padding: 4px; }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang a { line-height: 1; padding: 7px 8px; font-size: var(--step-small); font-weight: 500; color: var(--muted) !important; background: transparent !important; }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang a:hover { color: var(--ink) !important; background: var(--bg) !important; }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang a.is-current { color: var(--accent-ink) !important; background: var(--accent) !important; }
.menu-toggle, .mobile-menu-control-wrapper .menu-toggle { background: var(--ink) !important; color: #fff !important; border-radius: 0; font-family: var(--face); }

/* ---------- home: masthead ---------- */
.cd-mast { display: grid; grid-template-columns: var(--axis) 1fr; gap: 0 40px; align-items: start; padding: 28px 0 72px; }
.cd-mast-h1 { font-size: var(--step-display); line-height: .98; letter-spacing: -.03em; font-weight: 500; margin: 0 0 28px; }
html:lang(ko) .cd-mast-h1, html:lang(ja) .cd-mast-h1 { line-height: 1.12; letter-spacing: -.02em; max-width: 8em; font-weight: 600; }
.cd-stand { font-size: var(--step-lead); line-height: 1.4; max-width: 30ch; margin: 0; color: var(--ink); }
html:lang(ko) .cd-stand, html:lang(ja) .cd-stand { max-width: 24em; line-height: 1.6; }
.cd-lead { display: grid; grid-template-columns: 1fr; gap: 0; background: var(--surface); }
.cd-lead-img { display: block; overflow: hidden; }
.cd-lead-img img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.cd-lead-img:hover img { transform: scale(1.02); }
.cd-lead-body { padding: 28px 32px 32px; }
.cd-lead-title { font-size: var(--step-head); line-height: 1.08; margin: 0 0 14px; }
html:lang(ko) .cd-lead-title, html:lang(ja) .cd-lead-title { line-height: 1.3; max-width: 22em; }
.cd-lead-title a { text-decoration: none; }
.cd-lead-title a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.cd-lead-ex { margin: 0 0 12px; max-width: 60ch; }
.cd-meta { color: var(--muted); font-size: var(--step-small); margin: 0 0 22px; }
.cd-meta a { color: var(--muted); }
.cd-btn { display: inline-block; background: var(--ink); color: #fff !important; padding: 14px 22px; text-decoration: none; font-size: var(--step-body); font-weight: 500; border-radius: 0; transition: background-color .15s ease, transform .1s ease; }
.cd-btn:hover { background: #000; color: #fff !important; }
.cd-btn:active { transform: translateY(1px); }

/* ---------- home: market board (statement tiles) ---------- */
.cd-market { margin: 0 0 140px; }
.cd-market-head { display: grid; grid-template-columns: var(--axis) 1fr; gap: 0 40px; align-items: end; margin-bottom: 22px; }
.cd-market-head h2, .cd-section-title { font-size: var(--step-head); line-height: 1.05; margin: 0; }
.cd-market-head p { margin: 0; color: var(--muted); font-size: var(--step-small); max-width: 52ch; }
.cd-board { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(170px, 22vh)); gap: 8px; }
.cd-tile { padding: 20px 22px; display: flex; flex-direction: column; justify-content: space-between; background: var(--surface); color: var(--ink); overflow: hidden; }
.cd-tile p { margin: 0; }
.cd-tile-price { font-size: var(--step-head); line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums lining-nums; margin-top: auto !important; }
.cd-tile-cap { font-size: var(--step-small); margin-top: 10px !important; font-variant-numeric: tabular-nums; }
.cd-tile-1 { grid-column: 1 / 7; grid-row: 1 / 3; background: var(--field-2); color: var(--field-2-ink); }
.cd-tile-1 .cd-tile-price { font-size: var(--step-display); letter-spacing: -.035em; }
.cd-tile-1 .cd-tile-cap { font-size: var(--step-body); }
.cd-tile-1 .cd-up { color: var(--accent); } .cd-tile-1 .cd-down { color: #ffb4ab; }
.cd-tile-2 { grid-column: 7 / 10; grid-row: 1; background: var(--accent); color: var(--accent-ink); }
.cd-tile-3 { grid-column: 10 / 13; grid-row: 1; }
.cd-tile-4 { grid-column: 7 / 10; grid-row: 2; }
.cd-tile-5 { grid-column: 10 / 13; grid-row: 2; background: var(--surface-2); }
.cd-up { color: var(--up); } .cd-down { color: var(--down); }

/* ---------- home + archives: story list ---------- */
.cd-section-title { margin: 0 0 36px; }
.blog .site-main > article, .archive .site-main > article, .search .site-main > article { margin: 0 0 56px !important; }
.blog .inside-article, .archive .inside-article, .search .inside-article {
  display: grid; grid-template-columns: var(--axis) 1fr; grid-template-areas: "img head" "img sum" "img foot"; grid-template-rows: auto auto 1fr; gap: 0 40px; padding: 0 !important; }
.blog .post-image, .archive .post-image, .search .post-image { grid-area: img; margin: 0 !important; overflow: hidden; }
.blog .post-image img, .archive .post-image img, .search .post-image img { display: block; width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.blog .post-image a:hover img, .archive .post-image a:hover img { transform: scale(1.03); }
.blog .entry-header, .archive .entry-header, .search .entry-header { grid-area: head; }
.blog .entry-summary, .archive .entry-summary, .search .entry-summary { grid-area: sum; margin-top: 12px; }
.blog footer.entry-meta, .archive footer.entry-meta, .search footer.entry-meta { grid-area: foot; align-self: end; }
.blog .entry-title, .archive .entry-title, .search .entry-title { font-size: var(--step-head); line-height: 1.1; margin: 0; }
html:lang(ko) .blog .entry-title, html:lang(ja) .blog .entry-title, html:lang(ko) .archive .entry-title, html:lang(ja) .archive .entry-title { line-height: 1.35; max-width: 24em; font-weight: 600; }
.blog .entry-title a, .archive .entry-title a { text-decoration: none; color: var(--ink); }
.blog .entry-title a:hover, .archive .entry-title a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.blog .entry-summary p, .archive .entry-summary p { margin: 0; max-width: 62ch; }
.entry-meta, .entry-meta a, .posted-on, .cat-links { color: var(--muted) !important; font-size: var(--step-small); }
.blog .entry-header .entry-meta, .archive .entry-header .entry-meta { margin-top: 10px; }
.blog .tags-links, .archive .tags-links, .blog .comments-link, .archive .comments-link, .read-more-container, .byline { display: none !important; }
.cat-links a { background: transparent; color: var(--muted); padding: 0; }
.paging-navigation, .nav-links { font-size: var(--step-body); }
.page-header { background: var(--surface) !important; padding: 40px 32px !important; margin-bottom: 56px !important; border: 0; }
.page-header h1 { font-size: var(--step-display); line-height: .98; margin: 0; }
.taxonomy-description { color: var(--ink); max-width: 60ch; margin-top: 14px; }

/* ---------- home: about (side facts, wide paragraph) ---------- */
.cd-about { display: grid; grid-template-columns: var(--axis) 1fr; gap: 0 40px; padding: 120px 0 140px; }
.cd-facts { margin: 0; display: grid; gap: 22px; align-content: start; font-size: var(--step-small); }
.cd-facts dt { color: var(--muted); font-weight: 400; }
.cd-facts dd { margin: 4px 0 0; color: var(--ink); }
.cd-about-text h2 { font-size: var(--step-head); line-height: 1.05; margin: 0 0 20px; }
.cd-about-text p { font-size: var(--step-lead); line-height: 1.42; max-width: 40ch; margin: 0 0 18px; }
html:lang(ko) .cd-about-text p, html:lang(ja) .cd-about-text p { line-height: 1.7; max-width: 32em; }
.cd-textlink { font-size: var(--step-body); }

/* ---------- article ---------- */
.single .site-content { padding-top: 16px; }
.cd-crumbs { font-size: var(--step-small); color: var(--muted); margin-bottom: 18px; }
.cd-crumbs a { color: var(--muted); }
.single .entry-header { margin-bottom: 18px; }
.single .entry-title { font-size: clamp(34px, 1.6rem + 2.4vw, 56px); line-height: 1.04; letter-spacing: -.03em; max-width: 22ch; margin: 0; }
html:lang(ko) .single .entry-title, html:lang(ja) .single .entry-title { line-height: 1.28; letter-spacing: -.02em; max-width: 20em; font-weight: 600; }
.single .entry-meta { margin-top: 14px; }
.single .featured-image, .single .page-header-image-single { margin: 26px 0 8px !important; }
.single .featured-image img { width: 100%; display: block; }
.entry-content { font-size: var(--step-body); }
.entry-content > * { max-width: 68ch; }
html:lang(ko) .entry-content > *, html:lang(ja) .entry-content > * { max-width: 40em; }
.entry-content > figure, .entry-content > table, .entry-content > .wp-block-table, .entry-content > .cd-toc { max-width: 100%; }
.entry-content p { margin: 0 0 1.1em; }
.entry-content h2 { font-size: clamp(26px, 1.2rem + 1.1vw, 34px); line-height: 1.12; margin: 2em 0 .6em; scroll-margin-top: 24px; }
html:lang(ko) .entry-content h2, html:lang(ja) .entry-content h2 { line-height: 1.35; font-weight: 600; }
.entry-content h3 { font-size: 22px; line-height: 1.25; margin: 1.6em 0 .4em; font-weight: 500; }
.entry-content a { text-decoration-thickness: 1px; }
.entry-content ul, .entry-content ol { margin: 0 0 1.2em 1.2em; }
.entry-content li { margin: .3em 0; }
.entry-content figure { margin: 1.6em 0; }
.entry-content img { display: block; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 16px; font-variant-numeric: tabular-nums; display: block; overflow-x: auto; margin: 1.6em 0; font-family: var(--face); }
.entry-content th, .entry-content td { border: 0; border-bottom: 1px solid var(--rule); padding: 10px 14px 10px 0; text-align: left; white-space: nowrap; }
.entry-content thead th { color: var(--muted); font-weight: 400; border-bottom: 2px solid var(--ink); }
.cd-readtime { color: var(--muted); font-size: var(--step-small); margin: 0 0 1.2em !important; }
.cd-toc { background: var(--surface); padding: 22px 26px; margin: 1.8em 0 !important; }
.cd-toc .cd-toc-title { font-size: 20px; margin: 0 0 10px; line-height: 1.2; }
.cd-toc ol { margin: 0 0 0 1.3em; font-size: 17px; }
.cd-toc li { margin: 5px 0; }
.cd-toc a { text-decoration: none; }
.cd-toc a:hover { text-decoration: underline; }
.cd-disclaimer { margin-top: 2.4em !important; padding: 18px 22px; background: var(--surface); color: var(--ink); font-size: 16px; }
.cd-author { display: flex; gap: 18px; align-items: flex-start; margin-top: 20px; padding: 22px; background: var(--surface); }
.cd-avatar { flex: 0 0 52px; height: 52px; display: grid; place-items: center; font-size: 24px; background: var(--accent); color: var(--accent-ink); border-radius: 50%; }
.cd-author p { margin: 0; font-size: 16px; }
.cd-author .cd-author-name { margin-bottom: 4px; font-weight: 500; }
.related-reading { list-style: none; margin: 0 !important; padding: 0; }
.related-reading li { margin: 0 0 10px; font-size: 19px; }
.single .post-navigation, .single .comments-area { display: none; }
.single footer.entry-meta { margin-top: 28px; }

/* ---------- sidebar ---------- */
.inside-right-sidebar { padding-top: 0; }
.inside-right-sidebar .cd-widget { background: var(--surface) !important; padding: 22px !important; margin: 0 0 16px; border: 0; }
.cd-widget .widget-title { font-size: 21px; font-weight: 500; letter-spacing: -.01em; color: var(--ink); margin: 0 0 12px; }
.cd-mkt { width: 100%; border-collapse: collapse; font-size: 16px; font-variant-numeric: tabular-nums; margin: 0; border: 0; }
.cd-mkt th, .cd-mkt td { padding: 8px 0; border: 0; border-bottom: 1px solid var(--rule); font-weight: 400; text-align: left; }
.cd-mkt td { text-align: right; }
.cd-mkt img { vertical-align: -3px; margin-right: 8px; border-radius: 50%; }
.cd-src { color: var(--muted); font-size: 14px; margin: 12px 0 0; }
.cd-latest { list-style: none; margin: 0; padding: 0; }
.cd-latest li { margin: 0 0 14px; }
.cd-latest a { display: grid; grid-template-columns: 72px 1fr; gap: 12px; align-items: start; text-decoration: none; font-size: 16px; line-height: 1.35; }
.cd-latest a:hover span { text-decoration: underline; }
.cd-latest img { width: 72px; height: 48px; object-fit: cover; display: block; }
.inside-right-sidebar aside.widget:not(.cd-widget) { display: none; }

/* ---------- footer: the name first ---------- */
.site-footer .footer-widgets { display: none; }
.cd-footer { background: var(--field-2); color: var(--field-2-ink); padding: 48px var(--margin) 40px; overflow: hidden; }
.cd-footer-inner { max-width: 1320px; margin: 0 auto; }
.cd-f-name { font-size: clamp(88px, 19vw, 300px); line-height: .8; letter-spacing: -.05em; margin: 0 0 72px; color: var(--field-2-ink); }
.cd-f-row { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; }
.cd-f-reach p { color: #c9c9c9; font-size: var(--step-body); margin: 0 0 18px; max-width: 32ch; }
.cd-f-mail { display: block; color: var(--accent) !important; font-size: var(--step-head); line-height: 1.3; text-decoration: none; }
.cd-f-mail:hover { text-decoration: underline; }
.cd-f-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cd-f-cols h2 { font-size: var(--step-body); color: #c9c9c9; font-weight: 400; margin: 0 0 12px; letter-spacing: 0; }
.cd-f-cols ul { list-style: none; margin: 0; padding: 0; }
.cd-f-cols li { margin: 0 0 8px; font-size: var(--step-body); }
.cd-f-cols a { color: var(--field-2-ink); text-decoration: none; }
.cd-f-cols a:hover { text-decoration: underline; }
.cd-f-legal { display: flex; justify-content: space-between; gap: 24px; margin-top: 96px; font-size: var(--step-small); color: #b9b9b9; }
.cd-f-legal p { margin: 0; max-width: 70ch; }
.cd-f-legal a { color: var(--field-2-ink); }
.site-info { background: var(--field-2) !important; color: #b9b9b9 !important; font-size: var(--step-small); }
.site-info a { color: #fff; }

/* ---------- motion ---------- */
/* v7.2: content is never hidden by CSS alone. starman.js adds .sm-anim only after it has shown everything already on
   screen, so a slow, blocked or in-app browser script can no longer leave a white page. */
.sm-anim .cd-reveal { transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.sm-anim .cd-reveal:not(.is-in) { opacity: 0; transform: translateY(24px); }
.sm-anim .cd-board .cd-tile { transition: opacity .6s ease, transform .6s ease; }
.sm-anim .cd-market:not(.is-in) .cd-tile { opacity: 0; transform: translateY(18px); }
.sm-anim .cd-market.is-in .cd-tile-2 { transition-delay: .08s; } .sm-anim .cd-market.is-in .cd-tile-3 { transition-delay: .16s; }
.sm-anim .cd-market.is-in .cd-tile-4 { transition-delay: .24s; } .sm-anim .cd-market.is-in .cd-tile-5 { transition-delay: .32s; }
.cd-tile { transition: background-color .2s ease; }
@media (prefers-reduced-motion: reduce) {
  .sm-anim .cd-reveal, .sm-anim .cd-board .cd-tile { opacity: 1 !important; transform: none !important; transition: none !important; }
  .cd-lead-img img, .post-image img { transition: none !important; }
}

/* ---------- tablet & phone ---------- */
@media (max-width: 1024px) {
  :root { --axis: 46%; }
  .cd-board { grid-template-rows: repeat(2, minmax(150px, 18vh)); }
}
@media (max-width: 768px) {
  .cd-mast, .cd-market-head, .cd-about { grid-template-columns: 1fr; }
  .cd-mast { padding: 8px 0 56px; gap: 28px; }
  .cd-mast-h1 { font-size: clamp(44px, 12vw, 64px); max-width: none; margin-bottom: 16px; }
  html:lang(ko) .cd-mast-h1, html:lang(ja) .cd-mast-h1 { font-size: clamp(36px, 10vw, 52px); }
  .cd-lead-body { padding: 22px 20px 24px; }
  .cd-market { margin-bottom: 96px; }
  .cd-market-head { gap: 10px; }
  .cd-board { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto; gap: 6px; }
  .cd-tile { min-height: 132px; }
  .cd-tile-1 { grid-column: 1 / 3; grid-row: auto; min-height: 220px; }
  .cd-tile-1 .cd-tile-price { font-size: clamp(48px, 15vw, 72px); }
  .cd-tile-2, .cd-tile-3, .cd-tile-4, .cd-tile-5 { grid-column: auto; grid-row: auto; }
  .cd-tile-price { font-size: 28px; }
  .blog .inside-article, .archive .inside-article, .search .inside-article { grid-template-columns: 1fr; grid-template-areas: "img" "head" "sum" "foot"; }
  .blog .entry-header, .archive .entry-header { margin-top: 16px; }
  .blog .site-main > article, .archive .site-main > article { margin-bottom: 44px !important; }
  .cd-about { padding: 72px 0 96px; gap: 28px; }
  .cd-about-text { order: -1; }
  .cd-facts { grid-template-columns: 1fr 1fr; }
  .cd-f-row { grid-template-columns: 1fr; }
  .cd-f-cols { grid-template-columns: 1fr 1fr; }
  .cd-f-legal { flex-direction: column; margin-top: 56px; }
  .main-navigation .main-nav ul li.cd-lang-li { padding: 10px 14px; }
  .inside-header { padding: 18px var(--margin) 12px; }
}

/* v3.1: frame symmetry, one content width */
.blog .content-area, .archive .content-area, .home .content-area, .search .content-area { width: 100% !important; float: none; }
.site.grid-container, .site-content { box-sizing: border-box; }
.inside-header.grid-container { padding-left: var(--margin); padding-right: var(--margin); }
@media (max-width: 768px) { .cd-tile-1 .cd-tile-price { font-size: clamp(44px, 13vw, 64px); } .cd-tile-price { font-size: 26px; } }

/* v3.2: one pair of margins for header, content and footer */
:root { --gutter: 40px; }
@media (max-width: 768px) { :root { --gutter: 16px; } }
.site-header .inside-header.grid-container, .inside-header { max-width: 1320px; margin-left: auto; margin-right: auto; padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; }
.site-content { padding-left: 0 !important; padding-right: 0 !important; }
.one-container.no-sidebar .site-main, .one-container .site-main { padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; margin: 0 !important; }
.one-container.right-sidebar .site-main { padding-right: 0 !important; }
.one-container .inside-right-sidebar { padding-right: var(--gutter); }
.cd-footer { padding-left: 0; padding-right: 0; }
.cd-footer-inner { max-width: 1320px; padding-left: var(--gutter); padding-right: var(--gutter); box-sizing: border-box; }
.site-info .inside-site-info { max-width: 1320px; margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }

.site-header .inside-header, .cd-footer-inner, .site-info .inside-site-info { box-sizing: border-box !important; }

/* v3.3: article page — contrast, phone margins, five sizes */
.main-navigation .main-nav ul li[class*="current-menu-"] > a, .main-navigation .main-nav ul li[class*="current-menu-"] > a:hover { background: var(--surface) !important; color: var(--ink) !important; }
@media (max-width: 768px) { .one-container.right-sidebar .site-main { padding-right: var(--gutter) !important; } .one-container .inside-right-sidebar { padding-left: var(--gutter); } }
.cd-toc .cd-toc-title, .entry-content h3, .cd-widget .widget-title { font-size: var(--step-lead); }
.cd-toc ol, .related-reading li { font-size: var(--step-body); }
.cd-mkt, .cd-latest a, .cd-author p, .cd-disclaimer, .entry-content table, .cd-src { font-size: var(--step-small); }
.inside-right-sidebar { position: sticky; top: 24px; }

/* v3.4: title before picture on articles; even figures */
body { font-variant-numeric: lining-nums; }
.single .inside-article { display: flex; flex-direction: column; }
.single .inside-article > .cd-crumbs { order: 0; }
.single .inside-article > .entry-header { order: 1; }
.single .inside-article > .featured-image, .single .inside-article > .page-header-image-single { order: 2; }
.single .inside-article > .entry-content { order: 3; }
.single .inside-article > footer, .single .inside-article > .entry-meta { order: 4; }
html:lang(ko) { --face: "Noto Serif KR", "Boska", serif; }
html:lang(ja) { --face: "Noto Serif JP", "Boska", serif; }

/* ===================== v4 (2026-11-08 night): Pretendard, dark mode, takeaways/callouts, touch targets ===================== */
:root, html:lang(ko), html:lang(ja) {
  --face: "Pretendard Variable", "Pretendard JP Variable", Pretendard, "Pretendard Fallback", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Hiragino Sans", "Segoe UI", Roboto, "Noto Sans KR", "Noto Sans JP", sans-serif;
}
body { letter-spacing: -0.005em; line-height: 1.7; font-feature-settings: "tnum" 0, "ss06" 1; }
html:lang(ko) body, html:lang(ja) body { letter-spacing: -0.01em; line-height: 1.75; }
h1, h2, h3, h4 { font-weight: 700; letter-spacing: -0.025em; }
.main-title { font-weight: 800; letter-spacing: -0.04em; }
.cd-mast-h1 { font-weight: 800; letter-spacing: -0.045em; line-height: 1.02; }
html:lang(ko) .cd-mast-h1, html:lang(ja) .cd-mast-h1 { font-weight: 800; line-height: 1.15; letter-spacing: -0.04em; }
.cd-lead-title, .blog .entry-title, .archive .entry-title, .single .entry-title, .entry-content h2, .cd-market-head h2, .cd-section-title, .cd-about-text h2 { font-weight: 700; letter-spacing: -0.03em; }
html:lang(ko) .single .entry-title, html:lang(ja) .single .entry-title, html:lang(ko) .blog .entry-title, html:lang(ja) .blog .entry-title { font-weight: 700; line-height: 1.3; }
.cd-tile-price { font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -0.03em; }
.cd-f-name { font-weight: 800; letter-spacing: -0.06em; }
.entry-content { line-height: 1.8; }
.entry-content strong { font-weight: 700; }

/* key takeaways + callout (written by the pipeline) */
.entry-content .sm-takeaways { max-width: 100%; background: var(--accent); color: var(--accent-ink); padding: 22px 26px; margin: 1.4em 0 1.8em; }
.entry-content .sm-takeaways > p:first-child { font-weight: 700; margin: 0 0 8px; font-size: var(--step-lead); }
.entry-content .sm-takeaways ul { margin: 0 0 0 1.1em; }
.entry-content .sm-takeaways li { margin: 6px 0; }
.entry-content .sm-takeaways li::marker { color: var(--accent-ink); }
.entry-content .sm-callout { max-width: 100%; background: var(--surface); padding: 20px 24px; margin: 1.8em 0; }
.entry-content .sm-callout > p:first-child { font-weight: 700; margin-bottom: 6px; }
.entry-content .sm-callout p:last-child { margin-bottom: 0; }
.entry-content figure.sm-figure figcaption { color: var(--muted); font-size: var(--step-small); margin-top: 8px; }

/* theme toggle + larger touch targets */
.main-navigation .main-nav ul li.cd-theme-li { display: flex; align-items: center; padding-left: 8px; }
.cd-theme { width: 44px; height: 44px; display: grid; place-items: center; background: var(--surface); color: var(--ink); border: 0; border-radius: 0; cursor: pointer; padding: 0; transition: background-color .15s ease; }
.cd-theme:hover { background: var(--surface-2); color: var(--ink); }
.cd-theme:active { transform: translateY(1px); }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang a { padding: 12px 9px; min-width: 36px; text-align: center; }
.cd-btn { background: var(--ink); color: var(--bg) !important; font-weight: 600; }
.cd-btn:hover { background: var(--muted); color: var(--bg) !important; }
@media (max-width: 768px) {
  .main-navigation .main-nav ul li.cd-theme-li { padding: 6px 14px 14px; }
  .blog .entry-title, .archive .entry-title, .cd-lead-title { font-size: 24px; }
  .single .entry-title { font-size: clamp(28px, 7.4vw, 34px); }
  .entry-content table th, .entry-content table td { white-space: normal; min-width: 88px; }
}

/* dark palette: OS preference by default, the toggle overrides */
:root[data-theme="dark"] {
  --bg: #0d1117; --surface: #161b22; --surface-2: #1f2630; --ink: #e6edf3; --muted: #9aa5b1;
  --accent: #a1ffcb; --accent-ink: #0d1117; --field-2: #1b2129; --field-2-ink: #e6edf3;
  --up: #3fd47f; --down: #ff7b72; --rule: #2d333b;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0d1117; --surface: #161b22; --surface-2: #1f2630; --ink: #e6edf3; --muted: #9aa5b1;
    --accent: #a1ffcb; --accent-ink: #0d1117; --field-2: #1b2129; --field-2-ink: #e6edf3;
    --up: #3fd47f; --down: #ff7b72; --rule: #2d333b;
  }
}
.site, .site-content, .site-header, .main-navigation, .main-navigation ul ul, .inside-article, .page-header { color: var(--ink); }
.main-title a, .main-title a:hover, .entry-title a, .cd-lead-title a, a { color: var(--ink); }
.cd-footer { background: var(--field-2); }
.cd-f-reach p, .cd-f-cols h2, .cd-f-legal, .site-info { color: var(--muted) !important; }
.cd-tile-1 .cd-down { color: #ff9b94; }
:root[data-theme="dark"] .entry-content img, :root[data-theme="dark"] .cd-lead-img img, :root[data-theme="dark"] .post-image img { filter: brightness(.92); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .entry-content img, :root:not([data-theme="light"]) .cd-lead-img img, :root:not([data-theme="light"]) .post-image img { filter: brightness(.92); } }

/* v4.1 footer contrast */
:root { --footer-muted: #bdbdbd; }
:root[data-theme="dark"] { --footer-muted: #a9b4c0; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --footer-muted: #a9b4c0; } }
.cd-f-reach p, .cd-f-cols h2, .cd-f-legal, .cd-f-legal p, .site-info, .site-info .copyright-bar { color: var(--footer-muted) !important; }

/* ===================== v5 (2026-11-08): personal blog layout, stronger contrast, compact footer, contact form, ad slots ===================== */
:root { --ink: #111418; --muted: #4b5563; --surface: #f4f5f7; --surface-2: #e9ebef; --rule: #d9dde3; }
:root[data-theme="dark"] { --ink: #eef1f5; --muted: #a8b3bf; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --ink: #eef1f5; --muted: #a8b3bf; } }
body { font-size: 18px; }
.entry-content { font-size: 18px; }
.cd-meta, .entry-meta, .entry-meta a, .posted-on, .cat-links { font-size: 15px; }

/* intro band (home only) */
.sm-intro { padding: 36px 0 30px; }
.sm-intro-inner { max-width: 1320px; margin: 0 auto; padding: 0 var(--gutter); box-sizing: border-box; }
.sm-intro-h1 { font-size: clamp(30px, 2.2rem + 1.4vw, 50px); line-height: 1.12; font-weight: 800; letter-spacing: -0.035em; margin: 0 0 12px; }
.sm-intro-p { font-size: 19px; line-height: 1.65; max-width: 62ch; margin: 0; color: var(--ink); }
html:lang(ko) .sm-intro-p, html:lang(ja) .sm-intro-p { max-width: 44em; }

/* main column: lead post + list */
.sm-lead { background: var(--surface); margin: 0 0 36px; }
.sm-lead-img { display: block; overflow: hidden; }
.sm-lead-img img { display: block; width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; transition: transform .5s ease; }
.sm-lead-img:hover img { transform: scale(1.02); }
.sm-lead-body { padding: 22px 26px 26px; }
.sm-lead-title { font-size: clamp(24px, 1.2rem + 1vw, 32px); line-height: 1.25; margin: 6px 0 10px; font-weight: 800; letter-spacing: -0.03em; }
.sm-lead-title a { text-decoration: none; color: var(--ink); }
.sm-lead-title a:hover { text-decoration: underline; }
.sm-lead-ex { margin: 0; color: var(--ink); }
.sm-list-title { font-size: 24px; font-weight: 800; margin: 0 0 22px; letter-spacing: -0.02em; }
.blog .site-main > article, .archive .site-main > article { margin: 0 0 30px !important; padding-bottom: 30px; border-bottom: 1px solid var(--rule); }
.blog .inside-article, .archive .inside-article, .search .inside-article { grid-template-columns: 38% 1fr; gap: 0 24px; }
.blog .entry-title, .archive .entry-title, .search .entry-title { font-size: 22px; line-height: 1.32; font-weight: 700; letter-spacing: -0.02em; }
.blog .entry-summary p, .archive .entry-summary p { font-size: 16px; line-height: 1.65; color: var(--ink); }

/* sidebar */
.inside-right-sidebar .cd-widget { padding: 20px !important; }
.sm-me-row { display: flex; gap: 14px; align-items: flex-start; }
.sm-me-row .cd-avatar { flex: 0 0 48px; height: 48px; font-size: 22px; }
.sm-me-row p { margin: 0; font-size: 15px; line-height: 1.6; }
.sm-me-link { margin: 12px 0 0; font-size: 15px; }
.sm-cats { list-style: none; margin: 0; padding: 0; }
.sm-cats li { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--rule); font-size: 16px; }
.sm-cats li:last-child { border-bottom: 0; }
.sm-cats a { text-decoration: none; }
.sm-cats a:hover { text-decoration: underline; }
.sm-cats span { color: var(--muted); }

/* footer: compact */
.cd-footer { padding: 44px 0 28px; }
.sm-foot { display: grid; grid-template-columns: 2fr 3fr; gap: 32px; }
.sm-foot .cd-f-name { font-size: 34px; line-height: 1; letter-spacing: -0.04em; margin: 0 0 12px; }
.sm-foot-brand p { color: var(--footer-muted); font-size: 16px; margin: 0 0 10px; }
.sm-foot-cta { color: var(--accent) !important; text-decoration: none; font-weight: 600; }
.sm-foot-cta:hover { text-decoration: underline; }
.cd-f-cols h2 { font-size: 15px !important; margin-bottom: 10px; }
.cd-f-cols li { font-size: 16px; }
.cd-f-legal { margin: 28px auto 0; max-width: 1320px; padding: 18px var(--gutter) 0; box-sizing: border-box; border-top: 1px solid #3a3f47; }

/* contact form */
.sm-form { max-width: 640px; }
.sm-form label { display: block; font-weight: 600; margin-bottom: 6px; }
.sm-form input[type="text"], .sm-form input[type="email"], .sm-form textarea { width: 100%; box-sizing: border-box; font: inherit; color: var(--ink); background: var(--bg); border: 1px solid var(--rule); padding: 12px 14px; border-radius: 0; }
.sm-form input:focus, .sm-form textarea:focus { outline: 3px solid var(--accent); outline-offset: 0; border-color: var(--ink); }
.sm-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sm-notice { background: var(--accent); color: var(--accent-ink); padding: 14px 18px; font-weight: 600; }

/* ad slots */
.sm-ad { margin: 24px 0; text-align: center; }
.sm-ad-label { font-size: 12px; color: var(--muted); margin: 0 0 6px; }

@media (max-width: 768px) {
  .sm-intro { padding: 22px 0 16px; }
  .sm-intro-h1 { font-size: 30px; }
  .sm-intro-p { font-size: 17px; }
  .sm-lead-body { padding: 18px; }
  .blog .inside-article, .archive .inside-article { grid-template-columns: 1fr; }
  .sm-foot { grid-template-columns: 1fr; gap: 20px; }
  .inside-right-sidebar { position: static; }
}

/* v5.1 photo credit */
.sm-credit { font-size: 13px; color: var(--muted); margin: 6px 0 0; order: 2; }
.sm-credit a { color: var(--muted); }

/* v5.2: blog columns (content + sidebar), no list dividers */
@media (min-width: 769px) {
  .right-sidebar .content-area, .blog.right-sidebar .content-area, .archive.right-sidebar .content-area { width: 71% !important; float: left !important; }
  .right-sidebar .widget-area.sidebar.is-right-sidebar, .right-sidebar .is-right-sidebar { width: 29% !important; float: right !important; }
  .one-container.right-sidebar .site-main { padding-right: 36px !important; }
}
.blog .site-main > article, .archive .site-main > article { border-bottom: 0 !important; padding-bottom: 0; margin-bottom: 40px !important; }
.sm-lead-body .cd-meta { margin: 0 0 10px; }

/* v6: language dropdown (12+ languages) */
.cd-lang { position: relative; display: inline-block; background: none; padding: 0; }
.cd-lang > summary { list-style: none; display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 12px; background: var(--surface); color: var(--ink); font-size: var(--step-small); font-weight: 600; cursor: pointer; user-select: none; }
.cd-lang > summary::-webkit-details-marker { display: none; }
.cd-lang > summary:hover, .cd-lang[open] > summary { background: var(--surface-2); }
.cd-lang-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 50; width: 300px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; padding: 6px; background: var(--bg); border: 1px solid var(--surface-2); box-shadow: 0 12px 32px rgba(0,0,0,.12); }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang-menu a { display: flex; align-items: baseline; gap: 8px; line-height: 1.2; padding: 10px; min-width: 0; text-align: left; font-size: var(--step-small); color: var(--ink) !important; background: transparent !important; }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang-menu a b { font-weight: 600; color: var(--muted); min-width: 22px; }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang-menu a:hover { background: var(--surface) !important; }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang-menu a.is-current { background: var(--accent) !important; color: var(--accent-ink) !important; }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang-menu a.is-current b { color: inherit; }
@media (max-width: 768px) {
  .cd-lang { display: block; width: 100%; }
  .cd-lang > summary { width: 100%; justify-content: flex-start; }
  .cd-lang-menu { position: static; width: 100%; box-shadow: none; border: 0; padding: 6px 0 0; }
}

/* v6.1: while Pretendard loads, Latin text uses Arial scaled to Pretendard's width and line metrics, so nothing moves when it swaps in */
@font-face { font-family: "Pretendard Fallback"; src: local("Arial"), local("ArialMT"), local("Liberation Sans"), local("Helvetica"), local("Roboto"); size-adjust: 101.5%; ascent-override: 93.6%; descent-override: 23.6%; line-gap-override: 0%; }

/* v6.1: photo credit sits inside GeneratePress .featured-image, which sets line-height:0 (two-line credits overlapped) */
.sm-credit { line-height: 1.45; }
/* v6.2: cover photo keeps its 1200x630 box before it loads */
.single .featured-image img { height: auto; aspect-ratio: 1200 / 630; object-fit: cover; }

/* ---------- v7.2: footer tidy + phone language picker ---------- */
.sm-f-cols2 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.sm-f-topics { columns: 2; column-gap: 24px; }
.sm-f-topics li { break-inside: avoid; }
.sm-f-langwrap { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); }
.sm-f-langh { font-size: 15px !important; font-weight: 400; color: var(--footer-muted) !important; margin: 0 0 12px; letter-spacing: 0; }
.sm-langs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.sm-langs a { display: flex; align-items: baseline; gap: 8px; min-height: 40px; box-sizing: border-box; padding: 10px 12px; font-size: 14px; line-height: 1.2; color: var(--field-2-ink); text-decoration: none; background: rgba(255,255,255,.05); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sm-langs a b { font-weight: 600; font-size: 12px; color: var(--footer-muted); min-width: 20px; }
.sm-langs a:hover { background: rgba(255,255,255,.12); }
.sm-langs a.is-current { background: var(--accent); color: var(--accent-ink); }
.sm-langs a.is-current b { color: inherit; }
.sm-lang-bar { display: none; }
@media (max-width: 1024px) { .sm-langs { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 768px) {
  .sm-f-cols2 { grid-template-columns: 1fr; gap: 20px; }
  .sm-langs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sm-f-langwrap { margin-top: 24px; }
  .main-navigation .main-nav ul li.cd-lang-li { display: none !important; }
  #site-navigation .inside-navigation { position: relative; }
  .sm-lang-bar { display: flex; align-items: center; position: absolute; right: 0; top: 0; height: 60px; z-index: 60; }
  .sm-lang-bar .cd-lang { display: inline-block; width: auto; position: static; }
  .sm-lang-bar .cd-lang > summary { width: auto; height: 60px; padding: 0 16px; background: transparent; color: #fff; }
  .sm-lang-bar .cd-lang[open] > summary { background: rgba(255,255,255,.12); }
  .sm-lang-bar .cd-lang-menu { position: absolute; right: 0; top: 100%; width: min(320px, calc(100vw - 32px)); box-sizing: border-box; padding: 6px; border: 1px solid var(--surface-2); box-shadow: 0 12px 32px rgba(0,0,0,.18); background: var(--bg); }
  .sm-lang-bar .cd-lang-menu a { display: flex; align-items: baseline; gap: 8px; padding: 11px 10px; font-size: 14px; line-height: 1.2; color: var(--ink); text-decoration: none; }
  .sm-lang-bar .cd-lang-menu a b { font-weight: 600; color: var(--muted); min-width: 22px; }
  .sm-lang-bar .cd-lang-menu a.is-current { background: var(--accent); color: var(--accent-ink); }
  .sm-lang-bar .cd-lang-menu a.is-current b { color: inherit; }
}
/* v7.2: real photos inside articles, with their credit */
.sm-inphoto { margin: 36px 0; }
.sm-inphoto img { display: block; width: 100%; height: auto; }
.sm-pcap { font-size: 13px; line-height: 1.45; color: var(--muted); margin-top: 8px; text-align: left; }
.sm-pcap a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 768px) { .sm-lang-bar .cd-lang-menu a { text-align: left; justify-content: flex-start; } }
/* v7.3: partner box (labelled, quiet, same weight as the callout) and the mid-article ad slot */
.sm-partner { margin: 28px 0; padding: 20px 22px; background: var(--surface); border-left: 3px solid var(--accent); }
.sm-partner p { margin: 0 0 10px; }
.sm-partner-lab { font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.sm-partner-name { font-weight: 700; font-size: 1.1em; }
.sm-partner-btn { display: inline-flex; align-items: center; min-height: 44px; }
.sm-partner-dis { font-size: 13px; color: var(--muted); margin: 0 !important; }
.sm-ad-mid { margin: 36px 0; }

/* ======================================================================
   v7.4 editorial clean: no neon fills, no badge avatars, no stacked grey
   cards, no scroll fade-ins. Structure comes from type and thin rules,
   one quiet ink-green accent for links and the current state.
   ====================================================================== */
:root { --accent: #0b6b45; --accent-ink: #ffffff; --rule: #e3e6ea; }
:root[data-theme="dark"] { --accent: #7fcfa6; --accent-ink: #0d1117; --rule: #2a313b; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --accent: #7fcfa6; --accent-ink: #0d1117; --rule: #2a313b; } }

/* motion: content is simply there */
.sm-anim .cd-reveal:not(.is-in), .sm-anim .cd-market:not(.is-in) .cd-tile { opacity: 1 !important; transform: none !important; }
.sm-anim .cd-reveal, .sm-anim .cd-board .cd-tile { transition: none !important; }
.sm-lead-img:hover img { transform: none; }

/* small uppercase labels instead of big box titles */
.entry-content .sm-takeaways > p:first-child, .cd-toc .cd-toc-title, .cd-widget .widget-title, .sm-list-title, .sm-f-langh, .cd-f-cols h2 {
  font-size: 13px !important; line-height: 1.4 !important; font-weight: 700 !important; letter-spacing: .07em; text-transform: uppercase; color: var(--muted) !important; margin: 0 0 12px !important;
}

/* article blocks: rules, not fills */
.entry-content .sm-takeaways { background: transparent; color: var(--ink); padding: 16px 0 8px; margin: 1.6em 0 2em; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--rule); }
.entry-content .sm-takeaways li::marker { color: var(--muted); }
.entry-content .sm-callout { background: transparent; padding: 2px 0 2px 20px; margin: 2em 0; border-left: 3px solid var(--accent); }
.entry-content .sm-callout > p:first-child { font-size: 15px; }
.cd-toc { background: transparent; padding: 16px 0 10px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.cd-toc ol { margin-left: 1.2em; }
.cd-toc a { color: var(--ink); }
.cd-disclaimer { background: transparent; padding: 18px 0 0; border-top: 1px solid var(--rule); color: var(--muted); font-size: 14px; line-height: 1.6; }
.cd-author { display: block; background: transparent; padding: 18px 0 0; margin-top: 18px; border-top: 1px solid var(--rule); }
.cd-avatar { display: none !important; }
.entry-content table { border-collapse: collapse; }
.entry-content th, .entry-content td { border: 0; border-bottom: 1px solid var(--rule); }
.entry-content thead th { border-bottom: 2px solid var(--ink); }
.sm-partner { background: transparent; padding: 16px 0 16px 20px; border-left: 3px solid var(--rule); }

/* sidebar: hairline sections, no grey cards */
.inside-right-sidebar .cd-widget { background: transparent !important; padding: 14px 0 0 !important; margin: 0 0 36px; border-top: 2px solid var(--ink); }
.sm-me-row p { font-size: 15px; }

/* home */
.sm-intro { padding: 28px 0 20px; }
.sm-intro-h1 { font-size: clamp(26px, 1.4rem + 1vw, 36px); font-weight: 700; letter-spacing: -0.025em; margin: 0 0 8px; }
.sm-intro-p { font-size: 17px; color: var(--muted); max-width: 60ch; }
.sm-lead { background: transparent; padding-bottom: 28px; border-bottom: 1px solid var(--rule); }
.sm-lead-body { padding: 18px 0 0; }
.sm-lead-title { font-weight: 700; }
.page-header { background: transparent !important; padding: 0 0 18px !important; margin-bottom: 36px !important; border-bottom: 1px solid var(--rule); }

/* header controls: flat */
.main-navigation .main-nav ul li[class*="current-menu-"] > a, .main-navigation .main-nav ul li[class*="current-menu-"] > a:hover,
.main-navigation .main-nav ul li.current-menu-ancestor > a { background: transparent !important; box-shadow: inset 0 -2px 0 currentColor; }
.cd-theme, .cd-lang > summary { background: transparent; }
.cd-theme:hover, .cd-lang > summary:hover, .cd-lang[open] > summary { background: var(--surface); }
.sm-langs a { background: transparent; border: 1px solid rgba(255,255,255,.12); }
.sm-langs a.is-current { background: transparent; color: var(--field-2-ink); border-color: currentColor; }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang-menu a.is-current, .sm-lang-bar .cd-lang-menu a.is-current { background: var(--surface) !important; color: var(--ink) !important; font-weight: 700; }
.sm-foot-cta { color: var(--field-2-ink) !important; text-decoration: underline; text-underline-offset: 3px; }
.sm-notice { background: transparent; color: var(--ink); border-left: 3px solid var(--accent); }
::selection { background: #cfe8dc; color: #111418; }
.cd-footer .sm-f-langh, .cd-footer .cd-f-cols h2 { color: var(--footer-muted) !important; }
/* v7.4 phones: the menu bar is a quiet ruled strip, not a black slab */
@media (max-width: 768px) {
  .main-navigation, .main-navigation .inside-navigation, .main-navigation .main-nav ul, .main-navigation.toggled .main-nav > ul { background: var(--bg) !important; }
  .main-navigation { border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
  .main-navigation .menu-toggle, .main-navigation .menu-toggle:hover, .main-navigation .menu-toggle:focus,
  .main-navigation .main-nav ul li a, .main-navigation .main-nav ul li a:hover { color: var(--ink) !important; background: transparent !important; }
  .main-navigation .menu-toggle { justify-content: flex-start; text-align: left; padding-left: 0; font-weight: 600; }
  .main-navigation .main-nav ul li { border-top: 1px solid var(--rule); }
  .main-navigation .main-nav ul li a { padding-left: 0 !important; }
  .sm-lang-bar .cd-lang > summary { color: var(--ink); padding-right: 0; }
  .sm-lang-bar .cd-lang[open] > summary { background: transparent; }
  .main-navigation .cd-theme-li { border-top: 1px solid var(--rule); }
}
@media (max-width: 768px) { .main-navigation .main-nav ul li.cd-theme-li { padding-left: 0 !important; } .main-navigation .cd-theme { margin-left: -12px; } }

/* v7.6 (unslop review): sentence-case labels at normal tracking, lighter headings sized for hierarchy */
.entry-content .sm-takeaways > p:first-child, .cd-toc .cd-toc-title, .cd-widget .widget-title, .sm-list-title, .sm-f-langh, .cd-f-cols h2, .sm-partner-lab {
  text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; font-weight: 600 !important;
}
.main-title, .cd-f-name, .sm-foot .cd-f-name { font-weight: 700; letter-spacing: -0.02em; }
.single .entry-title, .page .entry-title, .sm-intro-h1, .sm-lead-title { font-weight: 650; letter-spacing: -0.02em; }
.blog .entry-title, .archive .entry-title, .entry-content h2, .cd-lead-title { font-weight: 600; letter-spacing: -0.01em; }
.entry-content h3 { font-weight: 600; letter-spacing: 0; }

/* ======================================================================
   v7.7 (2026-11-09) list rhythm: one meta line under the title
   (date · category · read time, same as the lead post), no footer row,
   no folder icon, fixed gaps instead of the stretched 1fr row.
   ====================================================================== */
.blog .site-main > article, .archive .site-main > article, .search .site-main > article { margin: 0 0 36px !important; padding: 0 !important; border: 0 !important; }
.blog .inside-article, .archive .inside-article, .search .inside-article {
  grid-template-columns: minmax(0, 36%) minmax(0, 1fr); grid-template-areas: "img head" "img sum"; grid-template-rows: auto 1fr; gap: 0 28px; align-items: start; }
.blog .post-image, .archive .post-image, .search .post-image { align-self: start; }
.blog footer.entry-meta, .archive footer.entry-meta, .search footer.entry-meta { display: none !important; }
.blog .entry-title, .archive .entry-title, .search .entry-title { font-size: 21px; line-height: 1.4; margin: -3px 0 0; }
.blog .entry-header .entry-meta, .archive .entry-header .entry-meta, .search .entry-header .entry-meta {
  display: flex; flex-wrap: wrap; align-items: center; margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: var(--muted) !important; }
.entry-header .entry-meta > span { display: inline; font-size: 14px; }
.entry-header .entry-meta > span + span::before { content: "·" !important; display: inline !important; width: auto !important; margin: 0 7px !important; position: static !important; font-family: inherit !important; font-size: inherit !important; opacity: 1 !important; color: var(--muted); }
.entry-header .entry-meta .cat-links .gp-icon { display: none; }
.entry-header .entry-meta .cat-links a { color: var(--muted) !important; text-decoration: none; }
.entry-header .entry-meta .cat-links a:hover { color: var(--ink) !important; text-decoration: underline; }
.blog .entry-summary, .archive .entry-summary, .search .entry-summary { margin: 10px 0 0 !important; }
.blog .entry-summary p, .archive .entry-summary p, .search .entry-summary p {
  font-size: 16px; line-height: 1.65; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sm-lead { margin-bottom: 40px; }
.sm-lead-title { margin: 0 0 8px; }
.sm-lead-body .cd-meta { margin: 0 0 12px; font-size: 14px; }
.sm-lead-body .cd-meta a { text-decoration: none; }
.sm-lead-body .cd-meta a:hover { color: var(--ink); text-decoration: underline; }
.sm-list-title { margin: 0 0 20px !important; }
@media (max-width: 768px) {
  .blog .inside-article, .archive .inside-article, .search .inside-article { grid-template-columns: 1fr; grid-template-areas: "img" "head" "sum"; grid-template-rows: auto; gap: 0; }
  .blog .entry-header, .archive .entry-header, .search .entry-header { margin-top: 14px; }
  .blog .entry-title, .archive .entry-title, .search .entry-title { font-size: 19px; margin-top: 0; }
  .blog .site-main > article, .archive .site-main > article, .search .site-main > article { margin-bottom: 32px !important; }
  .sm-lead { margin-bottom: 32px; }
}

/* ======================================================================
   v8 (2026-11-09) one type & spacing system for every page, PC and phone.
   Scale (px / line-height): 13/18, 14/20, 16/26, 18/1.8, 20/28, 22/30,
   26/34, 28/36, 36/46. Spacing on a 4/8 grid. Body text >= 16px,
   touch targets >= 44px, meta contrast >= 4.5:1 (WCAG 2.2 AA).
   Rules in this block win over every older layer above.
   ====================================================================== */
:root {
  --fs-xs: 13px;  --lh-xs: 18px;
  --fs-sm: 14px;  --lh-sm: 20px;
  --fs-ui: 16px;  --lh-ui: 26px;
  --fs-body: 18px; --lh-body: 1.8;
  --fs-card: 20px; --lh-card: 28px;
  --fs-h3: 20px;  --lh-h3: 28px;
  --fs-h2: 26px;  --lh-h2: 34px;
  --fs-lead: 28px; --lh-lead: 36px;
  --fs-h1: 36px;  --lh-h1: 46px;
  --fs-brand: 26px;
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px; --sp-6: 32px; --sp-7: 40px; --sp-8: 48px; --sp-9: 64px;
}
@media (max-width: 768px) {
  :root {
    --fs-body: 17px; --lh-body: 1.75;
    --fs-card: 18px; --lh-card: 26px;
    --fs-h3: 19px;  --lh-h3: 27px;
    --fs-h2: 22px;  --lh-h2: 30px;
    --fs-lead: 22px; --lh-lead: 30px;
    --fs-h1: 28px;  --lh-h1: 36px;
    --fs-brand: 24px;
  }
}

/* base */
body { font-size: var(--fs-body); line-height: var(--lh-body); letter-spacing: -0.005em; }
html:lang(ko) body, html:lang(ja) body, html:lang(zh) body { letter-spacing: -0.01em; }
h1, h2, h3, h4 { font-weight: 700 !important; letter-spacing: -0.02em !important; }

/* header */
.main-title { font-size: var(--fs-brand) !important; line-height: 1.2 !important; font-weight: 800 !important; letter-spacing: -0.03em !important; }
.site-description { font-size: var(--fs-sm) !important; line-height: var(--lh-sm) !important; margin-top: var(--sp-1) !important; }
.main-navigation .main-nav ul li a { font-size: var(--fs-ui) !important; font-weight: 500; line-height: 52px; }
.cd-lang > summary { font-size: var(--fs-sm); }
.main-navigation .main-nav ul li.cd-lang-li .cd-lang-menu a, .sm-lang-bar .cd-lang-menu a { font-size: var(--fs-sm) !important; min-height: 44px; box-sizing: border-box; align-items: center !important; }
@media (max-width: 768px) {
  .main-navigation .menu-toggle { font-size: var(--fs-ui) !important; min-height: 52px; }
}

/* page headings: one h1 size everywhere */
.sm-intro-h1, .single .entry-title, .page .entry-title, .page-header h1, .archive .page-title, .search .page-title {
  font-size: var(--fs-h1) !important; line-height: var(--lh-h1) !important; font-weight: 700 !important; letter-spacing: -0.025em !important; max-width: 24em; }
.sm-intro { padding: var(--sp-6) 0 var(--sp-5); }
.sm-intro-h1 { margin: 0 0 var(--sp-2) !important; }
.sm-intro-p { font-size: var(--fs-ui) !important; line-height: var(--lh-ui) !important; color: var(--muted); max-width: 40em; margin: 0; }
.page-header { padding: 0 0 var(--sp-5) !important; margin-bottom: var(--sp-7) !important; }
.taxonomy-description, .taxonomy-description p { font-size: var(--fs-ui); line-height: var(--lh-ui); margin-top: var(--sp-2); }

/* small labels (section titles, widget titles) */
.sm-list-title, .cd-widget .widget-title, .cd-toc .cd-toc-title, .entry-content .sm-takeaways > p:first-child, .sm-f-langh, .cd-f-cols h2 {
  font-size: var(--fs-sm) !important; line-height: var(--lh-sm) !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; }

/* meta lines: one style */
.cd-meta, .entry-meta, .entry-meta a, .posted-on, .cat-links, .cat-links a, .sm-rt, .cd-crumbs, .cd-crumbs a, .cd-readtime {
  font-size: var(--fs-sm) !important; line-height: var(--lh-sm) !important; color: var(--muted) !important; }

/* ---- home lead post ---- */
.sm-lead { margin: 0 0 var(--sp-7) !important; padding-bottom: var(--sp-6) !important; }
.sm-lead-body { padding: var(--sp-4) 0 0 !important; }
.sm-lead-title { font-size: var(--fs-lead) !important; line-height: var(--lh-lead) !important; margin: 0 0 var(--sp-2) !important; font-weight: 700 !important; }
.sm-lead-body .cd-meta { margin: 0 0 var(--sp-3) !important; }
.sm-lead-ex { font-size: var(--fs-ui) !important; line-height: var(--lh-ui) !important; margin: 0 !important; max-width: 46em;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sm-list-title { margin: 0 0 var(--sp-5) !important; }

/* ---- list cards (home, category, tag, search) ----
   picture left, text right; the title's first letter lines up with the picture top;
   title max 2 lines, meta 1 line, summary always exactly 3 lines */
.blog .site-main > article.post, .archive .site-main > article.post, .search .site-main > article.post { margin: 0 0 var(--sp-7) !important; padding: 0 !important; border: 0 !important; }
.blog .inside-article, .archive .inside-article, .search .inside-article {
  display: grid !important; grid-template-columns: minmax(0, 36%) minmax(0, 1fr) !important; grid-template-areas: "img head" "img sum" !important;
  grid-template-rows: auto 1fr !important; column-gap: var(--sp-6) !important; row-gap: 0 !important; align-items: start !important; }
.blog .post-image, .archive .post-image, .search .post-image { grid-area: img; margin: 0 !important; align-self: start !important; }
.blog .post-image img, .archive .post-image img, .search .post-image img { width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; display: block; transform: none !important; }
.blog .entry-header, .archive .entry-header, .search .entry-header { grid-area: head; margin: 0 !important; }
.blog .entry-title, .archive .entry-title, .search .entry-title {
  font-size: var(--fs-card) !important; line-height: var(--lh-card) !important; font-weight: 700 !important; letter-spacing: -0.015em !important; max-width: none !important;
  margin: -5px 0 0 !important; /* half-leading + ascender gap: the first letter's top meets the picture's top */
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.blog .entry-header .entry-meta, .archive .entry-header .entry-meta, .search .entry-header .entry-meta {
  display: flex !important; flex-wrap: nowrap !important; align-items: center; margin: var(--sp-2) 0 0 !important; white-space: nowrap; overflow: hidden; }
.entry-header .entry-meta > span { flex: 0 0 auto; }
/* lists show the first category only, so the meta line never wraps */
.blog .entry-header .cat-links, .archive .entry-header .cat-links, .search .entry-header .cat-links { font-size: 0 !important; min-width: 0; flex: 0 1 auto !important; overflow: hidden; text-overflow: ellipsis; }
.blog .entry-header .cat-links a, .archive .entry-header .cat-links a, .search .entry-header .cat-links a { font-size: var(--fs-sm) !important; }
.blog .entry-header .cat-links a ~ a, .archive .entry-header .cat-links a ~ a, .search .entry-header .cat-links a ~ a { display: none !important; }
.blog .entry-summary, .archive .entry-summary, .search .entry-summary { grid-area: sum; margin: var(--sp-3) 0 0 !important; }
.blog .entry-summary p, .archive .entry-summary p, .search .entry-summary p {
  font-size: var(--fs-ui) !important; line-height: var(--lh-ui) !important; margin: 0 !important; max-width: none !important; color: var(--ink);
  display: -webkit-box !important; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  min-height: calc(var(--lh-ui) * 3); }
.blog .entry-summary p ~ p, .archive .entry-summary p ~ p, .search .entry-summary p ~ p { display: none !important; }
@media (max-width: 768px) {
  .blog .inside-article, .archive .inside-article, .search .inside-article {
    grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "img" "head" "sum" !important; grid-template-rows: auto !important; column-gap: 0 !important; }
  .blog .entry-header, .archive .entry-header, .search .entry-header { margin-top: var(--sp-4) !important; }
  .blog .entry-title, .archive .entry-title, .search .entry-title { margin-top: 0 !important; -webkit-line-clamp: 3; }
}

/* pagination: 44px targets */
.paging-navigation .nav-links, .nav-links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1); font-size: var(--fs-ui) !important; line-height: var(--lh-ui); }
.nav-links .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 var(--sp-2); box-sizing: border-box; text-decoration: none; }
.nav-links .page-numbers.current { font-weight: 700; box-shadow: inset 0 -2px 0 currentColor; }
.nav-links a.page-numbers:hover { background: var(--surface); }

/* ---- sidebar ---- */
.inside-right-sidebar .cd-widget { margin: 0 0 var(--sp-7) !important; padding: var(--sp-3) 0 0 !important; }
.cd-widget .widget-title { margin: 0 0 var(--sp-2) !important; }
.cd-mkt { font-size: var(--fs-sm) !important; line-height: var(--lh-sm); }
.cd-mkt th, .cd-mkt td { padding: var(--sp-2) 0 !important; }
.sm-cats li { font-size: var(--fs-ui) !important; line-height: var(--lh-ui); padding: 9px 0 !important; }
.cd-latest a { font-size: var(--fs-sm) !important; line-height: var(--lh-sm) !important; }
.cd-src, .sm-me-link, .sm-me-row p { font-size: var(--fs-sm) !important; line-height: var(--lh-sm) !important; }
.cd-src { margin-top: var(--sp-3) !important; }

/* ---- article ---- */
.single .entry-header { margin-bottom: var(--sp-5) !important; }
.single .entry-meta { margin-top: var(--sp-3) !important; }
.single .featured-image, .single .page-header-image-single { margin: var(--sp-5) 0 var(--sp-2) !important; }
.cd-crumbs { margin-bottom: var(--sp-4) !important; }
.entry-content { font-size: var(--fs-body) !important; line-height: var(--lh-body) !important; }
.entry-content p { margin: 0 0 1.2em; }
.entry-content h2 { font-size: var(--fs-h2) !important; line-height: var(--lh-h2) !important; font-weight: 700 !important; margin: var(--sp-8) 0 var(--sp-4) !important; }
.entry-content h3 { font-size: var(--fs-h3) !important; line-height: var(--lh-h3) !important; font-weight: 700 !important; margin: var(--sp-6) 0 var(--sp-3) !important; }
.entry-content ul, .entry-content ol { margin: 0 0 1.2em 1.25em; }
.entry-content li { margin: var(--sp-2) 0; }
.entry-content li > p { margin: 0; }
.entry-content table { font-size: var(--fs-ui) !important; line-height: 1.5; margin: var(--sp-6) 0 !important; }
.entry-content th, .entry-content td { padding: var(--sp-3) var(--sp-4) var(--sp-3) 0 !important; vertical-align: top; }
.entry-content figure { margin: var(--sp-6) 0 !important; }
.entry-content figcaption, .sm-pcap, .sm-credit, .entry-content figure.sm-figure figcaption, .sm-partner-dis, .sm-ad-label { font-size: var(--fs-xs) !important; line-height: var(--lh-xs) !important; }
.entry-content .sm-takeaways { padding: var(--sp-4) 0 var(--sp-2) !important; margin: var(--sp-6) 0 var(--sp-7) !important; }
.entry-content .sm-takeaways > p:first-child { margin: 0 0 var(--sp-2) !important; }
.entry-content .sm-callout { margin: var(--sp-7) 0 !important; padding: 2px 0 2px var(--sp-5) !important; }
.entry-content .sm-callout > p:first-child { font-size: var(--fs-ui) !important; line-height: var(--lh-ui); }
.cd-toc { margin: var(--sp-6) 0 !important; padding: var(--sp-4) 0 var(--sp-3) !important; }
.cd-toc ol { font-size: var(--fs-ui) !important; line-height: var(--lh-ui); }
.cd-toc li { margin: 0 !important; }
.cd-toc a { display: inline-block; padding: 9px 0; }
.related-reading li { font-size: var(--fs-ui) !important; line-height: var(--lh-ui); margin: 0 0 var(--sp-3) !important; }
.cd-author { margin-top: var(--sp-5) !important; padding-top: var(--sp-4) !important; }
.cd-author p { font-size: var(--fs-ui) !important; line-height: var(--lh-ui) !important; }
.cd-disclaimer { font-size: var(--fs-sm) !important; line-height: var(--lh-sm) !important; margin-top: var(--sp-7) !important; padding-top: var(--sp-4) !important; }
.sm-partner p { font-size: var(--fs-ui); line-height: var(--lh-ui); }
.sm-partner-lab { font-size: var(--fs-sm) !important; }
@media (max-width: 768px) {
  .entry-content table { font-size: var(--fs-sm) !important; }
  .entry-content h2 { margin-top: var(--sp-7) !important; }
}

/* ---- footer ---- */
.cd-footer { padding: var(--sp-8) 0 var(--sp-6) !important; }
.sm-foot .cd-f-name { font-size: var(--fs-brand) !important; line-height: 1.2 !important; margin: 0 0 var(--sp-3) !important; }
.sm-foot-brand p { font-size: var(--fs-ui) !important; line-height: var(--lh-ui) !important; margin: 0 0 var(--sp-2) !important; }
.cd-f-cols h2 { margin: 0 0 var(--sp-2) !important; }
.cd-f-cols li { font-size: var(--fs-ui) !important; line-height: var(--lh-ui); margin: 0 !important; }
.cd-f-cols li a { display: inline-block; padding: 9px 0; }
.sm-f-langwrap { margin-top: var(--sp-6) !important; padding-top: var(--sp-5) !important; }
.sm-langs a { font-size: var(--fs-sm) !important; min-height: 44px !important; align-items: center !important; }
.sm-langs a b { font-size: var(--fs-xs) !important; }
.cd-f-legal { margin-top: var(--sp-6) !important; padding-top: var(--sp-4) !important; }
.cd-f-legal, .cd-f-legal p, .cd-f-legal a, .site-info { font-size: var(--fs-sm) !important; line-height: var(--lh-sm) !important; }

/* ---- forms ---- */
.sm-form label { font-size: var(--fs-ui); line-height: var(--lh-ui); }
.sm-form input[type="text"], .sm-form input[type="email"], .sm-form textarea { font-size: var(--fs-ui) !important; min-height: 48px; }
.sm-form button, .sm-form input[type="submit"], .cd-btn { min-height: 48px; font-size: var(--fs-ui) !important; }
/* v8.1: list meta line — category sits on the same baseline and keeps its "·" separator */
.blog .entry-header .cat-links, .archive .entry-header .cat-links, .search .entry-header .cat-links { display: inline-flex !important; align-items: center; line-height: var(--lh-sm) !important; overflow: visible !important; }
.blog .entry-header .cat-links::before, .archive .entry-header .cat-links::before, .search .entry-header .cat-links::before { font-size: var(--fs-sm) !important; line-height: var(--lh-sm) !important; }
.blog .entry-header .cat-links a, .archive .entry-header .cat-links a, .search .entry-header .cat-links a { line-height: var(--lh-sm) !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }

/* v8.2: article meta = date · read time in one line under the title (the separate read-time line inside the text is hidden) */
.single .entry-content .cd-readtime { display: none !important; }
.single .entry-header .entry-meta { display: flex; flex-wrap: wrap; align-items: center; }

/* v8.3: PC header - menu words, language button and theme button share one 52px row, centred on the same line */
@media (min-width: 769px) {
  .main-navigation .main-nav > ul { display: flex; align-items: center; }
  .main-navigation .main-nav > ul > li { display: flex; align-items: center; height: 52px; }
  .main-navigation .main-nav > ul > li > a { line-height: 52px !important; }
  .main-navigation .main-nav ul li.cd-lang-li, .main-navigation .main-nav ul li.cd-theme-li { height: 52px; padding-top: 0 !important; padding-bottom: 0 !important; }
  .cd-lang > summary { height: 44px; font-size: var(--fs-ui) !important; font-weight: 500 !important; line-height: 1 !important; }
  .cd-theme { width: 44px; height: 44px; }
}

/* ======================================================================
   v8.6 (2026-11-09) alignment pass
   PC article: every block (title, meta, cover photo, credit, text, headings,
   lists, tables, figures, summary box, contents, callout, author, notice)
   shares ONE 720px reading column, so all right edges line up.
   Phone: logo/tagline left-aligned on the same 16px line as the content;
   copyright line uses the same 16px edges.
   ====================================================================== */
:root { --measure: 720px; }
@media (min-width: 769px) {
  .single .cd-crumbs, .single .entry-header, .single .entry-title, .single .entry-header .entry-meta,
  .single .featured-image, .single .page-header-image-single, .single .sm-credit,
  .single .entry-content > *, .single .entry-content > figure, .single .entry-content > table, .single .entry-content > .wp-block-table,
  .single .entry-content .sm-takeaways, .single .entry-content .sm-callout, .single .cd-toc, .single .cd-author, .single .cd-disclaimer,
  .single .sm-partner, .single .sm-ad, .single footer.entry-meta {
    max-width: var(--measure) !important; box-sizing: border-box; }
  .single .entry-content > h2, .single .entry-content > h3, .single .entry-content > p, .single .entry-content > ul, .single .entry-content > ol,
  .single .entry-content .sm-takeaways, .single .entry-content .sm-callout, .single .cd-toc, .single .cd-author, .single .cd-disclaimer,
  .single .featured-image, .single .entry-content > figure { width: 100%; }
  .single .featured-image img, .single .entry-content figure img { width: 100%; height: auto; }
  .single .entry-content table { display: table; width: 100% !important; table-layout: auto; }
  .single .entry-content > ul, .single .entry-content > ol { width: auto; max-width: calc(var(--measure) - 1.25em) !important; } /* indented lists end on the same right edge */
  /* pages (About, Contact, Privacy): same reading column */
  .page .entry-header, .page .entry-title, .page .entry-content > * { max-width: var(--measure) !important; box-sizing: border-box; }
}
@media (max-width: 768px) {
  .site-header .inside-header { justify-content: flex-start !important; text-align: left !important; }
  .site-branding, .site-branding-container, .site-logo { text-align: left !important; margin-left: 0 !important; margin-right: auto !important; }
  .main-title, .site-description { text-align: left !important; }
  .site-info .inside-site-info { padding-left: var(--gutter) !important; padding-right: var(--gutter) !important; justify-content: flex-start; text-align: left; }
  .site-info .copyright-bar { text-align: left; }
}
/* v8.7: tables wrap inside the 720px column instead of spilling toward the sidebar; related list keeps the full column;
   phone copyright line on the 16px edge, left-aligned like everything else */
@media (min-width: 769px) {
  .single .entry-content table { display: table !important; width: 100% !important; max-width: var(--measure) !important; }
  .single .entry-content th, .single .entry-content td { white-space: normal !important; overflow-wrap: anywhere; }
  html:lang(ko) .single .entry-content th, html:lang(ko) .single .entry-content td, html:lang(ja) .single .entry-content td { word-break: keep-all; }
  .single .entry-content > ul.related-reading, .single .related-reading { max-width: var(--measure) !important; width: 100%; }
}
@media (max-width: 768px) {
  .site-info .inside-site-info { padding: var(--sp-5) var(--gutter) !important; display: block !important; }
  .site-info .copyright-bar { text-align: left !important; padding: 0 !important; margin: 0 !important; width: 100%; }
}
/* v8.8: phone footer strip has no extra 10px side padding (GeneratePress default), so the copyright starts on the 16px line */
@media (max-width: 768px) { .site-info { padding-left: 0 !important; padding-right: 0 !important; text-align: left !important; } }
/* v8.9: copyright line left-aligned on PC too (same left edge as logo, content and footer) */
.site-info, .site-info .inside-site-info, .site-info .copyright-bar { text-align: left !important; justify-content: flex-start !important; }
.site-info .copyright-bar { margin-left: 0 !important; padding-left: 0 !important; }

/* ======================================================================
   v8.13 (2026-11-09) compact footer + clear language button
   Footer = two quiet lines on the page background with hairlines:
   [Starman  tagline ............ About · Contact · Disclaimer · Privacy]
   [© 2026 Starman · not investment advice ................ Back to top ↑]
   Languages only in the header button (globe + language name + caret).
   ====================================================================== */
.site-info { display: none !important; }
.site-footer, .site-footer .footer-widgets { background: var(--bg) !important; }
.sm-footer { margin-top: var(--sp-8); border-top: 1px solid var(--rule); background: var(--bg); color: var(--muted); }
.sm-footer-in { max-width: 1320px; margin: 0 auto; padding: var(--sp-5) var(--gutter) var(--sp-4); box-sizing: border-box; }
.sm-footer-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--sp-2) var(--sp-6); }
.sm-footer-brand { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--sp-3); font-size: var(--fs-sm); line-height: var(--lh-sm); color: var(--muted); }
.sm-footer-brand a { font-size: 18px; line-height: 24px; font-weight: 800; letter-spacing: -0.02em; color: var(--ink) !important; text-decoration: none; }
.sm-footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 var(--sp-5); }
.sm-footer-menu li { margin: 0; }
.sm-footer-menu a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--fs-sm); line-height: var(--lh-sm); color: var(--ink) !important; text-decoration: none; }
.sm-footer-menu a:hover, .sm-top:hover { text-decoration: underline; text-underline-offset: 3px; }
.sm-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 0 var(--sp-5); margin-top: var(--sp-2); padding-top: var(--sp-2); border-top: 1px solid var(--rule); }
.sm-footer-bottom p { margin: 0; font-size: var(--fs-xs); line-height: var(--lh-xs); color: var(--muted); max-width: 90ch; }
.sm-top { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; font-size: var(--fs-xs); color: var(--muted) !important; text-decoration: none; }
@media (max-width: 768px) {
  .sm-footer { margin-top: var(--sp-7); }
  .sm-footer-top { flex-direction: column; align-items: flex-start; gap: var(--sp-1); }
  .sm-footer-menu { gap: 0 var(--sp-4); }
  .sm-footer-bottom { flex-direction: column; align-items: flex-start; padding-top: var(--sp-3); }
  .sm-footer-bottom p { padding-bottom: 0; }
}

/* header language button: globe + name (PC) / code (phone) + caret */
.cd-lang > summary { gap: 6px !important; }
.cd-lang > summary .sm-lc { display: none; }
.cd-lang > summary .sm-ln { display: inline; }
.cd-lang > summary .sm-caret { opacity: .7; transition: transform .15s ease; }
.cd-lang[open] > summary .sm-caret { transform: rotate(180deg); }
@media (max-width: 768px) {
  .cd-lang > summary .sm-lc { display: inline; }
  .cd-lang > summary .sm-ln { display: none; }
}
/* v8.13.1: footer note on one line on PC */
@media (min-width: 769px) { .sm-footer-bottom p { max-width: none; flex: 1 1 auto; } }

/* ======================================================================
   v8.17 (2026-11-09) vertical rhythm, one set of gaps for every article and page
   section gap (before a heading) 48px (phone 40px) · heading to its text 16px · paragraph to paragraph 20px
   first heading right under the page title has no extra top gap
   page principles ("First, …" in bold) sit on their own line above their explanation
   ====================================================================== */
.entry-content > p, .entry-content > ul, .entry-content > ol { margin-top: 0 !important; margin-bottom: 20px !important; }
.entry-content > h2 { margin: 48px 0 16px !important; }
.entry-content > h3 { margin: 32px 0 12px !important; }
.entry-content > h2:first-child, .entry-content > h3:first-child { margin-top: 0 !important; }
.entry-content > h2 + p, .entry-content > h3 + p { margin-top: 0 !important; }
.entry-content > *:last-child { margin-bottom: 0 !important; }
.page .entry-header { margin-bottom: 32px !important; }
.page .entry-content > p > strong:first-child { display: block; margin-bottom: 4px; }
@media (max-width: 768px) {
  .entry-content > h2 { margin-top: 40px !important; }
  .entry-content > h2:first-child { margin-top: 0 !important; }
  .page .entry-header { margin-bottom: 24px !important; }
}
