  :root {
    --ground:#FBFBF9; --surface:#FFFFFF; --surface2:#F3F2EC;
    --ink:#1E2224; --body:#454B49; --muted:#666B67; --faint:#A6ABA5; --line:#E6E5DE;
    --accent:#10795A; --accent-ink:#0C5E46; --accent-soft:rgba(16,121,90,.09);
    --shadow:0 1px 2px rgba(20,25,26,.04),0 10px 30px rgba(20,25,26,.06);
    --font:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Segoe UI",system-ui,Roboto,sans-serif;
    --mono:ui-monospace,"SF Mono","JetBrains Mono","D2Coding",Menlo,Consolas,monospace;
    --maxw:920px;
  }
  /* 디폴트는 라이트 — 다크는 토글(data-theme="dark")로만 진입 */
  :root[data-theme="light"]{--ground:#FBFBF9;--surface:#FFFFFF;--surface2:#F3F2EC;--ink:#1E2224;--body:#454B49;--muted:#666B67;--faint:#A6ABA5;--line:#E6E5DE;--accent:#10795A;--accent-ink:#0C5E46;--accent-soft:rgba(16,121,90,.09);--shadow:0 1px 2px rgba(20,25,26,.04),0 10px 30px rgba(20,25,26,.06);}
  :root[data-theme="dark"]{--ground:#0E100F;--surface:#161A18;--surface2:#1E2320;--ink:#EAECE8;--body:#B9BEB8;--muted:#939893;--faint:#5A605A;--line:#242926;--accent:#3ECF9B;--accent-ink:#5CD9AC;--accent-soft:rgba(62,207,155,.12);--shadow:0 1px 2px rgba(0,0,0,.3),0 12px 34px rgba(0,0,0,.4);}

  :root{color-scheme:light;}
  :root[data-theme="dark"]{color-scheme:dark;}
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;scroll-padding-top:74px;}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation:none!important;transition:none!important;}}
  body{margin:0;background:var(--ground);color:var(--body);font-family:var(--font);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased;letter-spacing:-.003em;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px;}
  a{color:var(--accent);text-decoration:none;}
  a:hover{text-decoration:underline;text-underline-offset:3px;}
  a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px;}
  ::selection{background:color-mix(in srgb,var(--accent) 20%,transparent);}
  h1,h2,h3{color:var(--ink);font-weight:640;letter-spacing:-.015em;}
  .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-ink);font-weight:600;}

  /* ── nav ─────────────────────────────── */
  header.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--ground) 88%,transparent);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid var(--line);}
  .nav .wrap{display:flex;align-items:center;gap:8px;height:58px;}
  .brand{font-weight:700;font-size:15.5px;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;flex-shrink:0;}
  .brand:hover{text-decoration:none;}
  .brand .en{font-family:var(--mono);color:var(--muted);font-weight:500;font-size:12px;margin-left:8px;}
  .nav .spacer{flex:1;}
  .tabs{display:flex;gap:2px;overflow-x:auto;}
  .tabs a{font-family:var(--mono);font-size:12.5px;letter-spacing:.03em;color:var(--muted);padding:8px 11px;border-radius:8px;position:relative;white-space:nowrap;}
  .tabs a:hover{color:var(--ink);background:var(--surface2);text-decoration:none;}
  .tabs a.active{color:var(--accent-ink);}
  .tabs a.active::after{content:"";position:absolute;left:11px;right:11px;bottom:1px;height:2px;background:var(--accent);border-radius:2px;}
  .tg{font-family:var(--mono);font-size:11.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);cursor:pointer;height:32px;padding:0 10px;border-radius:8px;flex-shrink:0;}
  .tg:hover{color:var(--ink);border-color:var(--accent);}
  @media (max-width:720px){.tabs a{padding:8px 7px;font-size:11.5px;}.brand .en{display:none;}}

  /* ── section rhythm ──────────────────── */
  section{padding:34px 0 30px;}
  .sec-head{margin:0 0 22px;}
  .sec-head h2{font-size:22px;letter-spacing:-.02em;margin:8px 0 0;}
  .sec-head .sub{font-size:14px;color:var(--muted);margin-top:6px;}
  .hr{border:none;border-top:1px solid var(--line);margin:26px 0 0;}

  /* ── 1. hero ─────────────────────────── */
  .phero{display:grid;grid-template-columns:290px 1fr;gap:44px;align-items:center;padding-block:36px 6px;}
  .phero .photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 16%;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow);display:block;background:var(--surface2);}
  .pinfo .eyebrow{display:block;margin-bottom:14px;}
  .pinfo h1{font-size:clamp(26px,3.8vw,38px);font-weight:650;letter-spacing:-.02em;margin:0;line-height:1.24;text-wrap:balance;}
  .pinfo h1 .mk{color:var(--accent);}
  .pinfo .who{font-family:var(--mono);font-size:13.5px;color:var(--accent-ink);margin-top:13px;letter-spacing:.02em;}
  .pinfo .who .nm{color:var(--ink);font-weight:700;font-family:var(--font);font-size:15px;margin-right:8px;}
  .pinfo .tagline{margin:16px 0 0;font-size:15.5px;color:var(--muted);line-height:1.66;max-width:50ch;}
  .pinfo .tagline b{color:var(--ink);font-weight:600;}
  .facts{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .facts li{display:grid;grid-template-columns:78px 1fr;gap:14px;font-size:14px;align-items:baseline;}
  .facts li>span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
  .facts li a{color:var(--body);}
  .facts li a:hover{color:var(--accent);}
  .facts .open{color:var(--accent-ink);display:inline-flex;align-items:center;gap:7px;}
  .facts .open::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;}
  .cta{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap;}
  .btn{font-family:var(--mono);font-size:13px;padding:11px 17px;border-radius:10px;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:inline-block;}
  .btn.pri{background:var(--accent);border-color:var(--accent);color:#fff;}
  :root[data-theme="dark"] .btn.pri{color:#08110D;}
  .btn:hover{text-decoration:none;transform:translateY(-1px);}
  /* 모바일: 메시지가 사진보다 먼저 오도록 — 첫 화면에 eyebrow·H1·설명·CTA 확보 */
  @media (max-width:720px){
    .phero{grid-template-columns:1fr;gap:0;padding-block:28px 6px;}
    .phero .photo{display:none;}
    .facts li{grid-template-columns:68px 1fr;}
    /* 인덱스 6탭만 축약(CASES·RESUME·CONTACT 유지) — 상세 페이지 3탭은 전부 노출 */
    #tabs a:nth-child(1),#tabs a:nth-child(3),#tabs a:nth-child(4){display:none;}
    #map{display:none;}
  }

  /* ── more shipped work ───────────────── */
  .chip{font-family:var(--mono);font-size:11.5px;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--ground);}
  a.chip:hover{color:var(--accent-ink);border-color:var(--accent);text-decoration:none;}
  .status{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-weight:600;white-space:nowrap;}
  .status::before{content:"● ";font-size:8px;vertical-align:1px;}
  .side-note{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:26px 0 10px;}
  .sides{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
  .side{border:1px solid var(--line);border-radius:13px;padding:15px 16px;background:var(--surface);display:flex;flex-direction:column;gap:8px;}
  .side.dev{border-style:dashed;background:transparent;}
  .side h3{margin:0;font-size:14.5px;font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
  .side p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.55;flex:1;}
  .side .links{display:flex;gap:6px;flex-wrap:wrap;}
  @media (max-width:720px){.sides{grid-template-columns:1fr;}}

  /* ── flow diagram ────────────────────── */
  .flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:18px 0 0;padding:16px 14px;border:1px solid var(--line);border-radius:12px;background:var(--ground);}
  .fnode{font-family:var(--mono);font-size:11.5px;color:var(--ink);border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 10px;text-align:center;line-height:1.45;}
  .fnode i{font-style:normal;color:var(--muted);font-size:10px;display:block;}
  .fnode.gate{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);}
  .fnode.gate i{color:var(--accent-ink);opacity:.75;}
  .farr{color:var(--faint);font-size:12px;flex-shrink:0;}
  .floop{display:inline-flex;align-items:center;gap:8px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:10px;padding:12px 10px 9px;position:relative;margin-top:7px;}
  .floop .fl-label{position:absolute;top:-8px;left:10px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--accent-ink);background:var(--ground);padding:0 6px;font-weight:600;}
  /* 모바일: 가로 스크롤 대신 세로 flow */
  @media (max-width:720px){
    .flow{flex-direction:column;align-items:stretch;}
    .floop{display:flex;flex-direction:column;align-items:stretch;width:100%;}
    .fnode{text-align:center;}
    .farr{align-self:center;display:inline-block;transform:rotate(90deg);}
  }

  /* ── evidence strip ──────────────────── */
  #evidence{padding:8px 0 4px;}
  .metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;}
  .metric{display:block;border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:15px 16px;color:inherit;text-decoration:none;transition:border-color .2s,transform .2s;}
  a.metric:hover{border-color:var(--accent);transform:translateY(-2px);text-decoration:none;}
  .metric .mq{display:block;font-size:11.5px;font-style:normal;color:var(--muted);line-height:1.45;margin-bottom:7px;}
  .metric b{display:block;font-family:var(--mono);font-size:15.5px;font-weight:650;color:var(--accent-ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
  .metric span{display:block;margin-top:7px;font-size:12.5px;color:var(--muted);line-height:1.5;}
  #p-release{scroll-margin-top:70px;}
  @media (max-width:820px){.metrics{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:400px){.metrics{grid-template-columns:1fr;}}

  /* ── how i frame problems ────────────── */
  #frame .prose p{font-size:15px;}
  .frame-note{margin:14px 0 0;font-size:13.5px;color:var(--faint);}

  /* ── 4. cases: 문제 재정의 위계 ────────── */
  .cap{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;padding:4px 11px;font-weight:600;margin-bottom:11px;}
  .case .hl{margin:13px 0 0;font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.6;letter-spacing:-.015em;max-width:56ch;}
  .case .surface{margin:16px 0 0;font-size:14.5px;color:var(--muted);line-height:1.7;max-width:66ch;}
  .case .surface i{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600;display:block;margin-bottom:5px;}
  .reframe{margin:16px 0 0;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));background:var(--accent-soft);border-radius:14px;padding:19px 21px;}
  .reframe .eyebrow{display:block;margin-bottom:10px;}
  .reframe p{margin:0;font-size:17.5px;font-weight:640;color:var(--ink);line-height:1.6;letter-spacing:-.018em;max-width:58ch;}
  .reframe p.why{margin-top:11px;font-size:14px;font-weight:400;color:var(--body);line-height:1.72;max-width:64ch;}
  .reframe .flow{background:var(--surface);margin-top:15px;}
  .shift{display:grid;grid-template-columns:1fr auto 1fr;gap:11px;align-items:center;margin-top:15px;}
  .shift div{font-family:var(--mono);font-size:12.5px;line-height:1.55;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:11px 13px;color:var(--muted);}
  .shift div.to{border-color:var(--accent);color:var(--accent-ink);font-weight:600;}
  .shift .ar{color:var(--faint);font-size:13px;}
  @media (max-width:720px){.shift{grid-template-columns:1fr;}.shift .ar{justify-self:center;transform:rotate(90deg);}}

  /* ── 4. cases ────────────────────────── */
  .case{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:26px 28px;box-shadow:var(--shadow);margin-top:16px;}
  .case .top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;}
  .case h3{margin:0;font-size:19px;}
  .case .stat{font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--accent-ink);font-variant-numeric:tabular-nums;}
  .case .role{font-family:var(--mono);font-size:12px;color:var(--faint);margin:6px 0 0;}
  .case .lead{margin:14px 0 0;font-size:15px;color:var(--body);line-height:1.7;max-width:62ch;}
  .case .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:20px;}
  .case .col h4{margin:0 0 8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600;}
  .case .col ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:7px;}
  .case .col li{font-size:13.5px;line-height:1.6;color:var(--muted);}
  .case .col li b{color:var(--ink);font-weight:600;}
  .case .col.res li b{color:var(--accent-ink);}
  .stacks{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--line);}
  .stacks>em{font-style:normal;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-right:2px;}
  .stacks .chip{font-size:11px;color:var(--faint);}
  .stacks a.chip:hover{color:var(--accent-ink);}
  figure.shot{margin:22px 0 0;}
  figure.shot a{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface2);}
  figure.shot img{display:block;width:100%;height:auto;}
  figure.shot figcaption{margin-top:9px;font-family:var(--mono);font-size:11.5px;color:var(--faint);line-height:1.5;}
  figure.shot figcaption b{color:var(--muted);font-weight:600;}
  @media (max-width:820px){.case .grid3{grid-template-columns:1fr;gap:14px;}}

  /* ── 5. about / principles ───────────── */
  .prose p{margin:0 0 14px;font-size:15.5px;line-height:1.78;max-width:66ch;}
  .prose b{color:var(--ink);font-weight:600;}
  .prin{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px;}
  .prin div{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:16px 18px;font-size:14.5px;color:var(--ink);font-weight:600;line-height:1.5;}
  .prin div span{display:block;margin-top:6px;font-size:13px;color:var(--muted);font-weight:400;line-height:1.6;}
  @media (max-width:720px){.prin{grid-template-columns:1fr;}}

  /* ── 6. resume ───────────────────────── */
  .summary{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);}
  .summary h3{margin:0;font-size:15.5px;}
  .summary p{margin:11px 0 0;font-size:14.5px;line-height:1.75;color:var(--body);max-width:70ch;}
  .summary p b{color:var(--ink);font-weight:600;}
  .summary ul{margin:13px 0 0;padding-left:17px;display:flex;flex-direction:column;gap:6px;}
  .summary li{font-size:13.5px;color:var(--muted);line-height:1.65;}
  .summary li b{color:var(--ink);font-weight:600;}
  .subhead{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);font-weight:600;margin:28px 0 14px;}
  .tl{list-style:none;margin:0;padding:0;border-left:2px solid var(--line);display:flex;flex-direction:column;gap:22px;}
  .tl>li{padding-left:22px;position:relative;}
  .tl>li::before{content:"";position:absolute;left:-6px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--ground);border:2px solid var(--accent);}
  .tl .when{font-family:var(--mono);font-size:12px;color:var(--faint);font-variant-numeric:tabular-nums;}
  .tl .co{font-size:15.5px;color:var(--ink);font-weight:650;margin:3px 0 0;}
  .tl .co em{font-style:normal;color:var(--accent-ink);font-weight:600;font-size:13.5px;margin-left:8px;}
  .tl .sub{font-size:13px;color:var(--muted);margin:2px 0 0;}
  .tl ul{margin:8px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:5px;list-style:disc;}
  .tl ul li{font-size:13.5px;color:var(--muted);line-height:1.6;}
  .tl ul li b{color:var(--ink);font-weight:600;}
  .skills{display:flex;flex-direction:column;gap:10px;}
  .skills .row{display:grid;grid-template-columns:130px 1fr;gap:14px;font-size:14px;align-items:baseline;}
  .skills .row>span{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--accent-ink);font-weight:600;}
  .skills .row>div{color:var(--muted);line-height:1.6;}
  @media (max-width:720px){.skills .row{grid-template-columns:1fr;gap:2px;}}

  /* ── 7-보조. map ─────────────────────── */
  #graph{width:100%;height:380px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);display:block;touch-action:none;cursor:grab;}
  .legend{display:flex;gap:16px;margin-top:12px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:var(--muted);}
  .legend i{font-style:normal;display:inline-flex;align-items:center;gap:6px;}
  .legend i::before{content:"";width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--dot,var(--accent));}

  /* ── contact / footer ────────────────── */
  .clinks{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
  footer{border-top:1px solid var(--line);margin-top:44px;padding:26px 0 40px;}
  footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:.05em;}

  /* ── print (이력서만) ─────────────────── */
  .print-id{display:none;}
  .print-note{display:none;}
  @media print{
    header.nav,#top,#evidence,#frame,#work,#shipped,#about,#map,#contact,footer,.tg,.btn{display:none!important;}
    #resume{display:block!important;padding:0;}
    body{background:#fff;color:#222;font-size:12.5px;}
    .tl>li::before{background:#fff;}
    .summary{box-shadow:none;border-color:#ccc;}
    .print-id{display:block!important;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #ccc;font-size:11.5px;line-height:1.7;color:#333;}
    .print-note{display:block!important;font-size:11px;line-height:1.6;color:#444;margin:0 0 10px;}
    .tl>li{break-inside:avoid;page-break-inside:avoid;}
    .print-id b{display:block;font-size:17px;color:#000;letter-spacing:-.02em;}
  }

  /* ── 사례 카드 (메인) ─────────────────── */
  .ccards{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;}
  .ccard .thumb{width:100%;height:auto;aspect-ratio:16/8;object-fit:cover;border-radius:10px;border:1px solid var(--line);margin:12px 0 2px;display:block;background:var(--surface2);}
  .ccard{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:20px 22px;box-shadow:var(--shadow);color:var(--body);transition:border-color .2s,transform .2s;}
  .ccard:hover{text-decoration:none;border-color:var(--accent);transform:translateY(-2px);}
  .ccard .ck{font-family:var(--mono);font-size:10.5px;letter-spacing:.09em;color:var(--accent-ink);font-weight:600;}
  .ccard h3{margin:9px 0 0;font-size:17.5px;letter-spacing:-.02em;}
  .ccard h3 .pid{font-weight:500;color:var(--muted);font-family:var(--mono);font-size:.82em;letter-spacing:0;}
  .ccard .cnum{display:block;margin-top:9px;font-family:var(--mono);font-size:13.5px;font-weight:650;color:var(--accent-ink);font-variant-numeric:tabular-nums;}
  .ccard p{margin:12px 0 0;font-size:13.5px;color:var(--muted);line-height:1.68;flex:1;}
  .ccard .cgo{margin-top:15px;font-family:var(--mono);font-size:12px;color:var(--faint);}
  .ccard:hover .cgo{color:var(--accent-ink);}
  @media (max-width:720px){.ccards{grid-template-columns:1fr;}}

  /* ── 사례 상세 페이지 ────────────────── */
  .cback{font-family:var(--mono);font-size:12.5px;color:var(--muted);}
  .cback:hover{color:var(--accent-ink);text-decoration:none;}
  .cdhead{padding:32px 0 0;}
  .cdhead h1{font-size:clamp(24px,3.4vw,32px);margin:13px 0 0;line-height:1.28;letter-spacing:-.022em;}
  .cdhead .cdlead{margin:15px 0 0;font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.62;max-width:54ch;letter-spacing:-.015em;}
  .cdhead .cdmeta{font-family:var(--mono);font-size:12px;color:var(--faint);margin:11px 0 0;line-height:1.6;}
  .cdnums{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 0;}
  .cdnums div{border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:13px 16px;}
  .cdnums b{display:block;font-family:var(--mono);font-size:15px;font-weight:650;color:var(--accent-ink);font-variant-numeric:tabular-nums;}
  .cdnums span{display:block;margin-top:5px;font-size:12.5px;color:var(--muted);}
  .cdsec{margin-top:36px;}
  .cdsec>h2{font-size:19px;margin:0 0 13px;letter-spacing:-.02em;}
  .cdsec>p{font-size:15.5px;line-height:1.8;color:var(--body);max-width:70ch;margin:0 0 13px;}
  .cdsec>p b{color:var(--ink);font-weight:600;}
  .cdsec ul{margin:0;padding-left:19px;display:flex;flex-direction:column;gap:11px;max-width:70ch;}
  .cdsec li{font-size:14.5px;line-height:1.75;color:var(--body);}
  .cdsec li b{color:var(--ink);font-weight:600;}
  .cdsec li span{display:block;margin-top:3px;color:var(--muted);font-size:13.5px;}
  .cdnext{display:flex;gap:10px;flex-wrap:wrap;margin:44px 0 0;padding-top:24px;border-top:1px solid var(--line);}
