/*
Theme Name: 조이봇 병원 GEO
Theme URI: https://joybotgeoclinic.mycafe24.com
Author: JOYMARKETING
Author URI: https://jykgroup.co.kr
Description: 병원·의원 전용 GEO 랜딩. joybot-medical-geo_3 기준.
Version: 3.0.2
Text Domain: joybot-clinic
*/
/* pretendard via cdn */

  :root{
    --ink:#0f172a;
    --ink-2:#374151;
    --ink-3:#6b7280;
    --line:#dde5ed;
    --bg:#ffffff;
    --bg-soft:#f6f8fa;
    --bg-slate:#eef3f8;
    --dark:#003388;
    --dark-grad:linear-gradient(160deg,#003388 0%,#002463 58%,#014e7a 100%);
    --dark-line:rgba(255,255,255,.14);
    --dark-ink:#e2e8f0;
    --dark-ink-2:#a9bcd6;
    --hero-grad:linear-gradient(180deg,#eaf3fb 0%,#f4f8fb 62%,#ffffff 100%);
    --hero-line:#d5e3f0;
    --cta-grad:linear-gradient(135deg,#e6f1f9 0%,#f2f7fb 100%);
    --mint:#6ec1f0;
    --emerald:#0274be;
    --emerald-soft:#e6f1f9;
    --navy:#003388;
    --green:#39b54a;
    --warn:#f59e0b;
    --radius:12px;
    --maxw:1200px;
    --maxw-text:820px;
    --display:'Pretendard Variable',Pretendard,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;
    --body:'Pretendard Variable',Pretendard,'Apple SD Gothic Neo','Malgun Gothic',system-ui,sans-serif;
  }
  /* 실제 사이트와 동일하게 라이트 단일 테마로 고정 — 기기의 다크 모드를 따르지 않습니다 */

  *{box-sizing:border-box}
  html{scroll-behavior:smooth;background:#ffffff;color-scheme:light}
  body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
  h1,h2,h3,h4{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.25;text-wrap:balance;margin:0}
  p{margin:0}
  a{color:inherit}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  section{padding:64px 0}
  .sec-soft{background:var(--bg-soft)}
  .sec-slate{background:var(--bg-slate)}
  .sec-dark{background:var(--dark-grad);color:var(--dark-ink)}
  .sec-dark h2,.sec-dark h3{color:#fff}
  .eyebrow{font-family:var(--display);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--emerald)}
  .sec-dark .eyebrow{color:var(--mint)}
  h2{font-size:26px;margin-top:10px}
  .lede{margin-top:14px;color:var(--ink-2);font-size:16px}
  .sec-dark .lede{color:var(--dark-ink-2)}
  .stack{display:flex;flex-direction:column}
  .g14{gap:14px}.g20{gap:20px}.g28{gap:28px}.g40{gap:40px}

  /* nav */
  header.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
  .nav-in{max-width:var(--maxw);margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:18px}
  .brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
  .brand img{height:18px;width:auto;display:block}
  @media(min-width:820px){.brand img{height:21px}}
  .foot-logo{height:24px;width:auto;display:block;margin-bottom:12px}
  .nav-links{display:none;gap:15px;margin-left:auto;font-size:14px;color:var(--ink-2);align-items:center}
  .nav-links a{text-decoration:none}
  .nav-links a:hover{color:var(--emerald)}
  .nav-cta{margin-left:auto;font-family:var(--display);font-weight:800;font-size:14px;background:var(--emerald);color:#fff;border-radius:8px;padding:9px 18px;text-decoration:none;white-space:nowrap}
  @media(min-width:820px){.nav-links{display:flex}.nav-cta{margin-left:0}}

  /* hero */
  .hero{background:var(--hero-grad);color:var(--ink);padding:76px 0 60px;position:relative;overflow:hidden;border-bottom:1px solid var(--hero-line)}
  .hero::after{content:"";position:absolute;inset:-40% -25% auto 20%;height:520px;background:radial-gradient(60% 70% at 85% 40%,rgba(2,116,190,.16),transparent 62%);pointer-events:none}
  .hero-in{position:relative;z-index:1}
  .pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:13px;color:var(--navy);background:var(--bg);border:1px solid var(--hero-line);border-radius:6px;padding:6px 14px}
  .pill::before{content:"";width:6px;height:6px;border-radius:2px;background:var(--green)}
  .hero h1{color:var(--navy);font-size:34px;margin-top:18px}
  .hero h1 .em{color:var(--emerald)}
  .hero p.sub{margin-top:18px;color:var(--ink-2);max-width:34em}
  .btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
  .btn{font-family:var(--display);font-weight:800;font-size:15px;text-decoration:none;border-radius:8px;padding:13px 24px;display:inline-flex;align-items:center;gap:8px}
  .btn-primary{background:linear-gradient(135deg,#0274be 0%,#0a95e0 100%);color:#fff;box-shadow:0 6px 18px rgba(2,116,190,.32)}
  .btn-primary:hover{filter:brightness(1.06)}
  .btn-ghost{border:1px solid var(--hero-line);color:var(--navy);background:var(--bg)}
  .btn-ghost:hover{border-color:var(--emerald);color:var(--emerald)}
  .btn-dark{background:var(--navy);color:#fff}
  .trust{margin-top:40px;padding-top:26px;border-top:1px solid var(--hero-line);display:grid;grid-template-columns:repeat(2,1fr);gap:20px 12px}
  @media(min-width:760px){.trust{grid-template-columns:repeat(4,1fr)}.hero h1{font-size:44px}}
  .trust b{display:block;font-family:var(--display);font-weight:800;font-size:20px;color:var(--navy);font-variant-numeric:tabular-nums}
  .trust span{font-size:12.5px;color:var(--ink-3);line-height:1.5;display:block;margin-top:2px}

  /* generic blocks */
  .body-copy{color:var(--ink-2);max-width:62ch}
  .body-copy strong{color:var(--ink);font-weight:700}
  .case{border-left:3px solid var(--emerald);background:var(--emerald-soft);border-radius:0 10px 10px 0;padding:18px 20px}
  .case p+p{margin-top:8px}
  .inline-link{color:var(--emerald);font-weight:700;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--emerald) 40%,transparent)}
  .inline-link:hover{border-bottom-color:var(--emerald)}

  /* process timeline */
  ol.steps{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-direction:column;gap:0}
  ol.steps li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding-bottom:26px;position:relative}
  ol.steps li:not(:last-child)::before{content:"";position:absolute;left:21px;top:38px;bottom:0;width:1px;background:var(--line)}
  .num{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:14px;background:var(--emerald-soft);border:1px solid color-mix(in srgb,var(--emerald) 22%,transparent);color:var(--emerald);font-variant-numeric:tabular-nums;position:relative;z-index:1}
  ol.steps h3{font-size:17px}
  ol.steps p{margin-top:6px;color:var(--ink-2);font-size:15px}
  .callout{margin-top:26px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-size:15px;color:var(--ink-2)}
  .callout b{color:var(--ink)}

  /* 3-up cards */
  .cards{display:grid;gap:14px;margin-top:30px}
  @media(min-width:760px){.cards{grid-template-columns:repeat(3,1fr)}}
  .card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
  .card h3{font-size:17px}
  .card p{margin-top:8px;color:var(--ink-2);font-size:14.5px}
  .sec-dark .card{background:rgba(255,255,255,.04);border-color:var(--dark-line)}
  .sec-dark .card p{color:var(--dark-ink-2)}
  .no-mark{font-family:var(--display);font-weight:900;font-size:12px;color:var(--emerald);letter-spacing:.08em}
  .sec-dark .no-mark{color:var(--mint)}
  .card--no{border-top:3px solid var(--navy);border-radius:0 0 var(--radius) var(--radius)}
  .honest-note{margin-top:22px;font-size:14.5px;color:var(--ink-3)}

  /* how we work */
  .work{display:grid;gap:12px;margin-top:28px;counter-reset:w}
  @media(min-width:700px){.work{grid-template-columns:repeat(2,1fr)}}
  .work div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:18px}
  .work h3{font-size:16px;display:flex;align-items:baseline;gap:8px}
  .work h3::before{counter-increment:w;content:counter(w);font-size:12px;color:var(--emerald);font-variant-numeric:tabular-nums}
  .work p{margin-top:6px;font-size:14.5px;color:var(--ink-2)}
  ul.checks{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
  ul.checks li{padding-left:26px;position:relative;font-size:15px;color:var(--ink-2)}
  ul.checks li::before{content:"";position:absolute;left:6px;top:11px;width:7px;height:7px;border-radius:2px;background:var(--emerald)}
  .report-note{margin-top:22px;border:1px dashed var(--line);border-radius:12px;padding:16px 18px;font-size:14.5px;color:var(--ink-2)}

  /* metric strip */
  .metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}
  @media(min-width:700px){.metrics{grid-template-columns:repeat(4,1fr)}}
  .metric{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
  .metric b{display:block;font-family:var(--display);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
  .metric span{font-size:12.5px;color:var(--ink-3)}
  .metric .up{color:var(--emerald);font-size:13px;font-weight:700}

  /* open research links */
  .links{display:grid;gap:10px;margin-top:26px}
  @media(min-width:700px){.links{grid-template-columns:repeat(2,1fr)}}
  .links a{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:15px 17px;text-decoration:none;font-size:14.5px;font-weight:500}
  .links a:hover{border-color:var(--emerald);color:var(--emerald)}
  .links a span{color:var(--ink-3);font-size:16px}

  /* insight */
  .sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .see-all{font-family:var(--display);font-weight:800;font-size:14px;text-decoration:none;color:var(--navy);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 18px;white-space:nowrap}
  .see-all:hover{border-color:var(--emerald);color:var(--emerald)}
  .posts{display:grid;gap:12px;margin-top:28px}
  @media(min-width:720px){.posts{grid-template-columns:repeat(3,1fr)}}
  .post{display:flex;flex-direction:column;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;transition:border-color .15s,transform .15s}
  .post:hover{border-color:var(--emerald);transform:translateY(-2px)}
  .post .meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-3)}
  .chip{font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.04em;color:var(--emerald);background:var(--emerald-soft);border-radius:4px;padding:3px 8px}
  .post h3{font-size:15.5px;line-height:1.45}
  .post p{font-size:13.5px;color:var(--ink-2);line-height:1.65}
  .post .more{margin-top:auto;padding-top:6px;font-size:13px;font-weight:700;color:var(--emerald)}
  .post--new h3::after{content:"NEW";margin-left:6px;font-size:10px;font-weight:900;color:var(--green);vertical-align:2px;letter-spacing:.06em}

  /* faq */
  details{border-bottom:1px solid var(--line)}
  summary{list-style:none;cursor:pointer;padding:17px 0;font-family:var(--display);font-weight:700;font-size:16px;position:relative}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"+";position:absolute;right:4px;top:15px;font-size:20px;color:var(--emerald);font-weight:400}
  details[open] summary::after{content:"−"}
  details[open] summary{color:var(--emerald)}
  details .ans{padding:0 0 20px;color:var(--ink-2);font-size:15px}
  details .ans p+p{margin-top:8px}
  .updated{margin-top:18px;font-size:13px;color:var(--ink-3)}

  /* final cta */
  .final{background:var(--cta-grad);color:var(--ink);border:1px solid var(--hero-line);border-top:3px solid var(--navy);border-radius:0 0 14px 14px;padding:34px 28px;position:relative;overflow:hidden}
  .final::after{content:"";position:absolute;right:-15%;top:-40%;width:380px;height:380px;background:radial-gradient(circle,rgba(2,116,190,.14),transparent 62%)}
  .final h2{font-size:26px;position:relative;z-index:1;color:var(--navy)}
  .final p{position:relative;z-index:1}
  .final .incl{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;position:relative;z-index:1}
  .final .incl span{font-size:13px;font-weight:700;font-family:var(--display);border:1px solid var(--hero-line);background:var(--bg);border-radius:6px;padding:6px 14px;color:var(--ink-2)}

  /* footer */
  footer{background:var(--bg-soft);border-top:1px solid var(--line);padding:44px 0 60px;font-size:13.5px;color:var(--ink-2)}
  .foot-grid{display:grid;gap:26px}
  @media(min-width:760px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
  footer h4{font-family:var(--display);font-size:13px;font-weight:800;letter-spacing:.06em;color:var(--ink);margin-bottom:10px}
  footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
  footer a{text-decoration:none}
  footer a:hover{color:var(--emerald)}
  .legal{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--ink-3)}

  .ph{border-bottom:1px dashed var(--warn);color:inherit;opacity:.9}
  a:focus-visible,summary:focus-visible{outline:2px solid var(--emerald);outline-offset:3px;border-radius:6px}
  @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

  /* hero cite (조이봇 홈페이지 구성 참고) */
  .hero-grid{display:grid;gap:28px}
  @media(min-width:860px){.hero-grid{grid-template-columns:1.02fr .98fr;align-items:start;gap:38px}}
  .hero-engines{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0}
  .hero-engines li{font-family:var(--display);font-weight:700;font-size:12.5px;color:var(--ink-2);background:var(--bg);border:1px solid var(--hero-line);border-radius:6px;padding:5px 11px}
  .hero-trust{margin-top:18px;font-size:12.5px;color:var(--ink-3)}
  .hero-cite{background:var(--bg);border:1px solid var(--hero-line);border-radius:14px;padding:20px;box-shadow:0 12px 34px rgba(0,51,136,.08)}
  .hero-cite-kicker{font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
  .hero-cite-ask{margin-top:12px;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
  .hero-cite-ask span,.hero-cite-answer>span{display:block;font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.06em;color:var(--ink-3)}
  .hero-cite-ask p{margin-top:4px;font-family:var(--display);font-weight:700;font-size:15px;color:var(--ink)}
  .hero-cite-answer{margin-top:12px;border-left:3px solid var(--emerald);background:var(--emerald-soft);border-radius:0 10px 10px 0;padding:12px 14px}
  .hero-cite-answer blockquote{margin:6px 0 0;font-size:14px;line-height:1.7;color:var(--ink-2)}
  .hero-cite-answer sup{color:var(--emerald);font-weight:800;margin-left:2px}
  .hero-cite-ref{display:flex;align-items:center;gap:10px;margin-top:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 11px;text-decoration:none}
  .hero-cite-ref:hover{border-color:var(--emerald)}
  .hero-cite-ref-num{flex:none;width:20px;height:20px;border-radius:5px;display:grid;place-items:center;background:var(--emerald);color:#fff;font-size:11px;font-weight:800;font-family:var(--display)}
  .hero-cite-ref-body{display:flex;flex-direction:column;line-height:1.35}
  .hero-cite-ref-body strong{font-size:13px;font-family:var(--display)}
  .hero-cite-ref-body em{font-style:normal;font-size:11.5px;color:var(--ink-3)}
  .hero-cite-note{margin-top:12px;font-size:11.5px;color:var(--ink-3);line-height:1.6}
  .trust{margin-top:34px}

  /* footer (조이봇 홈페이지 구성 참고) */
  footer{background:#f0f3f6;border-top:1px solid #e4e8ec;padding:0 0 28px}
  .family-bar{border-bottom:1px solid #e4e8ec;padding:12px 0;font-size:12.5px}
  .family-bar .wrap{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
  .family-bar strong{font-family:var(--display);font-weight:800;font-size:12px;color:var(--ink-2);letter-spacing:.02em}
  .family-bar a{text-decoration:none;color:var(--ink-3)}
  .family-bar a:hover{color:var(--emerald)}
  .foot-grid{padding:40px 0 0;gap:28px}
  @media(min-width:760px){.foot-grid{grid-template-columns:1.7fr 1fr 1fr 1fr}}
  .foot-grid p{margin-bottom:10px;line-height:1.8}
  .legal{margin-top:28px;padding-top:16px;border-top:1px solid #e4e8ec;font-size:12.5px;color:var(--ink-3)}

  /* 엔진별 응답 차이 */
  .engines{display:grid;gap:12px;margin-top:26px}
  @media(min-width:760px){.engines{grid-template-columns:repeat(2,1fr)}}
  .engine{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:16px 18px}
  .engine-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
  .engine-name{font-family:var(--display);font-weight:800;font-size:14.5px}
  .state{font-family:var(--display);font-weight:800;font-size:11.5px;letter-spacing:.02em;border-radius:5px;padding:4px 9px;white-space:nowrap}
  .state-yes{background:#e8f7ec;color:#1e7d34}
  .state-part{background:#fdf3e3;color:#a1650a}
  .state-no{background:#f1f3f5;color:#6b7280}
  .engine p{margin-top:10px;font-size:13.5px;line-height:1.7;color:var(--ink-2)}
  .engine .quote{border-left:2px solid var(--line);padding-left:11px}
  .ask-row{margin-top:22px;background:var(--bg);border:1px solid var(--hero-line);border-radius:10px;padding:14px 16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
  .ask-row span{font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.06em;color:var(--ink-3)}
  .ask-row b{font-family:var(--display);font-weight:700;font-size:16px}
  .takeaway{margin-top:22px;border-left:3px solid var(--emerald);background:var(--emerald-soft);border-radius:0 10px 10px 0;padding:16px 18px;font-size:15px;color:var(--ink-2)}
  .takeaway b{color:var(--ink)}

  /* 대조군 검증 */
  .control{margin-top:26px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:20px}
  .control-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
  .control h3{font-size:16px}
  .tag-concept{font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.06em;color:var(--warn);border:1px dashed var(--warn);border-radius:5px;padding:3px 8px}
  .control figure{margin:16px 0 0;overflow-x:auto}
  .control svg{display:block;width:100%;min-width:320px;height:auto}
  .ln-a{fill:none;stroke:var(--emerald);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
  .ln-b{fill:none;stroke:#b9c4d0;stroke-width:2.5;stroke-dasharray:5 5;stroke-linecap:round}
  .lb{font-family:var(--display);font-size:11px;font-weight:700}
  .control-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:13px;color:var(--ink-2)}
  .control-legend i{display:inline-block;width:14px;height:0;border-top:2.5px solid var(--emerald);margin-right:6px;vertical-align:middle}
  .control-legend i.b{border-top:2.5px dashed #b9c4d0}
  .control p.note{margin-top:14px;font-size:13.5px;color:var(--ink-3);line-height:1.7}

  /* 넓은 화면 레이아웃 최적화 (조이봇 홈페이지 1152px 기준) */
  @media(min-width:1000px){
    section{padding:76px 0}
    h2{font-size:29px}
    .hero{padding:84px 0 68px}
    .hero h1{font-size:46px}
    .hero-grid{grid-template-columns:1.35fr 1fr;gap:48px}
    .engines{grid-template-columns:repeat(4,1fr)}
    .work{grid-template-columns:repeat(4,1fr)}
    .foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
  }
  /* 읽는 글줄은 넓혀도 65~75자 안에서 유지 */
  .lede{max-width:66ch}
  .body-copy,.case{max-width:68ch}
  ol.steps,ul.checks,.updated,.honest-note,.callout{max-width:var(--maxw-text)}
  .control{max-width:940px}
  .report-note{max-width:var(--maxw-text)}
  .links{max-width:1000px}
  .takeaway{max-width:900px}

  /* 한글 가독성 조판 */
  body{word-break:keep-all;overflow-wrap:break-word}
  p,li,blockquote,summary,.ans{text-wrap:pretty}
  .body-copy p,.ans p{line-height:1.8}
  .card p,.engine p,.work p,.post p{line-height:1.72}
  ol.steps p{line-height:1.78}
  .hero p.sub{line-height:1.75}
  .hero p.sub + p.sub{margin-top:6px}

  @media(min-width:1000px){
    #why .wrap.stack{display:grid;grid-template-columns:1fr 1fr;gap:24px 44px;align-items:start}
    #why .wrap.stack>div:first-child{grid-column:1 / -1}
    #why .body-copy{display:flex;flex-direction:column;gap:12px}
    #why .body-copy,#why .case{max-width:none}
  }

  /* ============================================================
     디자인 토큰 통일 — 타입 6단계 / 반경 3종 / 여백 4단계
     ============================================================ */
  :root{
    --fs-h1:34px; --fs-h2:26px; --fs-h3:17px;
    --fs-body:15px; --fs-dense:13px; --fs-label:11.5px; --fs-note:13px;
    --r-chip:6px; --r-ctl:8px; --r-card:12px;
    --sp-1:8px; --sp-2:12px; --sp-3:20px; --sp-4:32px;
  }

  /* --- 타입 --- */
  h2{font-size:var(--fs-h2)}
  h3,.card h3,.work h3,.post h3,.engine-name,.control h3,ol.steps h3{font-size:var(--fs-h3);line-height:1.4}
  summary{font-size:16px}
  .lede,.body-copy,.case,.callout,ul.checks li,.ans,.takeaway,.honest-note,ol.steps p,.card p,.hero p.sub{font-size:var(--fs-body);line-height:1.8}
  .card p{line-height:1.75}
  .engine p,.work p,.post p,.control p.note,.report-note,.links a{font-size:var(--fs-dense);line-height:1.75}
  .eyebrow,.no-mark,.chip,.state,.hero-cite-kicker,.hero-cite-ask span,.hero-cite-answer>span,.ask-row span,.tag-concept,.hero-engines li,.pill,.metric span,footer h4{font-size:var(--fs-label)}
  .hero-trust,.updated,.hero-cite-note,.post .meta,.post .more,.control-legend,.legal,footer,.family-bar{font-size:var(--fs-note)}
  .hero-cite-answer blockquote{font-size:14px;line-height:1.75}
  .hero-cite-ref-body strong{font-size:var(--fs-dense)}
  .hero-cite-ref-body em{font-size:12px}
  .metric b{font-size:20px}
  .trust b{font-size:20px}
  .ask-row b{font-size:var(--fs-h3)}
  .hero-cite-ask p{font-size:var(--fs-body)}
  @media(min-width:1000px){h2{font-size:29px}}

  /* --- 반경 --- */
  .card,.engine,.post,.work div,.metric,.links a,.control,.hero-cite,.callout,.report-note,.family-bar+.wrap{border-radius:var(--r-card)}
  .btn,.nav-cta,.see-all,.num,.hero-cite-ref,.hero-cite-ask,.ask-row{border-radius:var(--r-ctl)}
  .pill,.chip,.state,.hero-engines li,.tag-concept,.hero-cite-ref-num,.final .incl span{border-radius:var(--r-chip)}
  .case,.takeaway{border-radius:0 var(--r-card) var(--r-card) 0}
  .hero-cite-answer{border-radius:0 var(--r-ctl) var(--r-ctl) 0}
  .card--no{border-radius:0 0 var(--r-card) var(--r-card)}
  .final{border-radius:0 0 var(--r-card) var(--r-card)}

  /* --- 안쪽 여백 --- */
  .card,.engine,.post,.control,.hero-cite,.case,.takeaway,.callout,.report-note{padding:var(--sp-3)}
  .work div,.metric,.hero-cite-ask,.hero-cite-answer,.ask-row,.links a{padding:14px 16px}
  .hero-cite-ref{padding:10px 12px}

  /* --- 간격 --- */
  .cards{gap:var(--sp-3)}
  .engines,.work,.posts,.metrics,.links,.btns{gap:var(--sp-2)}
  .stack.g14{gap:var(--sp-2)}
  ul.checks{gap:var(--sp-1)}
  .control-legend{gap:var(--sp-3)}
  @media(min-width:760px){.foot-grid{gap:var(--sp-4)}}

  /* --- 글줄 길이 --- */
  ol.steps,ul.checks{max-width:720px}
  .control p.note{max-width:62ch}
  .hero-cite-note{max-width:46ch}
  .updated,.honest-note{max-width:60ch}

  /* 잔여 예외 정리 — 크기 8단계, 간격 4단계로 수렴 */
  summary{font-size:var(--fs-h3)}
  .hero-cite-answer blockquote{font-size:var(--fs-body)}
  .hero-cite-ref-body em{font-size:var(--fs-label)}
  .nav-in{gap:var(--sp-3)}
  .nav-links{gap:16px}
  .engine-top,.hero-cite-ref,.ask-row,.control-head,.final .incl,.btns{gap:var(--sp-2)}
  footer ul{gap:var(--sp-1)}
  .family-bar .wrap{gap:var(--sp-1) var(--sp-3)}
  .stack.g20{gap:var(--sp-3)}
  .trust{gap:var(--sp-3) var(--sp-2)}
  .hero-grid{gap:var(--sp-4)}
  @media(min-width:1000px){.hero-grid{gap:48px}}
  :root{--fs-ui:14px}
  .nav-links a,.nav-cta,.see-all{font-size:var(--fs-ui)}
  .family-bar strong{font-size:var(--fs-label)}
  .legal{gap:var(--sp-2) var(--sp-3)}

  /* 대조군 박스 — 다른 블록과 폭·여백 정렬 */
  .control,.report-note{max-width:none}
  .control-head{align-items:center}
  .tag-concept{flex:none}
  .control figure{margin:0}
  .control-body{margin-top:20px;display:grid;gap:20px}
  @media(min-width:1000px){
    .control-body{grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
    .control-text{align-self:center}
  }
  .control .control-text p.note{max-width:46ch}
  .control .control-text p.note:first-child{margin-top:0}

  /* 박스는 폭을 맞추고, 글줄은 박스 안에서 제한 */
  .takeaway,.callout,.case{max-width:none}
  .takeaway>p,.callout>p,.case p{max-width:62ch}
  .hero-cite-note{max-width:60ch}

  .report-note>p+p{margin-top:8px}
  .report-note p{max-width:56ch}
  .report-slot{height:160px;border:1px dashed var(--line);border-radius:var(--r-ctl);background:var(--bg-soft);display:grid;place-items:center;margin-bottom:16px}
  .lede + .lede{margin-top:6px}
  ol.steps p+p,.card p+p,.takeaway>p+p{margin-top:8px}

  /* 리포트 예시 목업 */
  .metrics-head,.report-mockhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:32px}
  .metrics-head h3,.report-mockhead h3{font-size:var(--fs-h3)}
  .metrics-head+.metrics{margin-top:12px}
  .report-mockhead{margin-top:0;margin-bottom:16px}
  .report-mock{display:grid;gap:16px}
  @media(min-width:760px){.report-mock{grid-template-columns:1fr 1fr}}
  .rp{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-ctl);padding:16px 18px;box-shadow:0 6px 18px rgba(0,51,136,.06)}
  .rp-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px}
  .rp-head b{font-family:var(--display);font-weight:800;font-size:var(--fs-dense)}
  .rp-head em{font-style:normal;font-size:var(--fs-label);color:var(--ink-3)}
  .rp-sub{margin-top:10px;font-size:var(--fs-label);color:var(--ink-3)}
  .rp-bars{margin-top:14px;display:flex;flex-direction:column;gap:10px}
  .rp-bar{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:10px}
  .rp-bar span{font-size:var(--fs-label);color:var(--ink-2)}
  .rp-bar i{height:7px;border-radius:99px;background:var(--emerald-soft);position:relative;display:block}
  .rp-bar i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--v);border-radius:99px;background:var(--emerald)}
  .rp-bar em{font-style:normal;font-size:var(--fs-label);font-family:var(--display);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
  .rp-bar em.up{color:var(--emerald)}
  .rp-bar em.down{color:#c2410c}
  .rp-rows{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
  .rp-rows li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:var(--fs-label);color:var(--ink-2);padding-bottom:8px;border-bottom:1px solid var(--line)}
  .rp-rows li:last-child{border-bottom:0;padding-bottom:0}
  .rp-rows em{font-style:normal;color:var(--ink-3);white-space:nowrap}
  .rp-tag{font-family:var(--display);font-weight:800;font-size:10.5px;border-radius:4px;padding:2px 6px;background:var(--bg-slate);color:var(--ink-3);white-space:nowrap}
  .rp-tag.warn{background:#fdf3e3;color:#a1650a}
  .rp-foot{margin-top:12px;font-size:var(--fs-label);color:var(--ink-3);line-height:1.7}
  .rp-foot b{color:var(--ink-2)}

  /* editor UI omitted */


  /* FAQ 박스를 본문 그리드 오른쪽 끝까지 늘림 */
  #faq .faq,
  .faq{display:block;width:100%;max-width:none;margin-top:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:4px 20px;box-sizing:border-box}
  #faq .faq details,
  #faq .faq summary,
  #faq .faq .ans{width:100%;max-width:none}
  @media(min-width:700px){#faq .faq,.faq{padding:4px 24px}}
  .faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;position:relative}
  .faq summary::after{content:"+";position:static;flex:none;width:20px;text-align:center;font-size:20px;line-height:1;font-weight:400;color:var(--emerald)}
  .faq details[open] summary{padding-bottom:12px}
  .faq details[open] summary::after{content:"−"}
  .faq summary:hover{color:var(--emerald)}
  .faq .ans{padding:0 0 24px}
  .faq details:last-child{border-bottom:0}
  @media(min-width:1200px){
    #faq .wrap{max-width:1320px}
  }

.form-grid{display:grid;gap:14px;margin-top:28px;position:relative;z-index:1}
@media(min-width:700px){.form-grid{grid-template-columns:1fr 1fr}}
.form-grid .full{grid-column:1/-1}
.form-grid .full:last-child{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
button.btn{border:0;cursor:pointer}
.form-grid label{display:block;font-size:13px;font-weight:700;font-family:var(--display);margin-bottom:6px;color:var(--navy)}
.form-grid input,.form-grid textarea{width:100%;border:1px solid var(--hero-line);border-radius:8px;padding:12px 14px;font-family:var(--body);font-size:15px;background:#fff;color:var(--ink)}
.form-grid input:focus,.form-grid textarea:focus{outline:2px solid color-mix(in srgb,var(--emerald) 45%,transparent);border-color:var(--emerald)}
.form-notice{margin-top:16px;padding:12px 14px;border-radius:8px;background:#ecfdf3;color:#166534;position:relative;z-index:1}
.form-error{background:#fef2f2;color:#991b1b}
.inner-hero{background:var(--hero-grad);border-bottom:1px solid var(--hero-line);padding:52px 0 40px}
.inner-hero h1{color:var(--navy);font-size:32px}
.article{padding:48px 0 80px}
.article-body{max-width:68ch;color:var(--ink-2);font-size:17px;line-height:1.9}
.article-body p+p,.article-body h2,.article-body h3,.article-body ul{margin-top:20px}
.article-body h2,.article-body h3{color:var(--ink);font-size:22px}
.article-body ul{padding-left:1.2em}
.article-meta{margin-top:12px;font-size:13px;color:var(--ink-3)}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}