:root{color:#1a1410;background:#f7efe1;font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
body{margin:0;background:#f7efe1;color:#1a1410;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:#a27b25}
.dr-blog-shell{min-height:100vh}
.dr-blog-shell *{box-sizing:border-box}
.dr-hidden{display:none!important}
.meta{color:rgba(21,18,15,.64);font-size:14px}
.backlink{margin-top:34px}
.topics{margin:18px 0 0;padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap}
.topics li{font-size:14px;line-height:1.45;color:rgba(21,18,15,.7);border:1px solid rgba(184,147,44,.35);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.56)}
.faq,.related-links{border-top:1px solid rgba(184,147,44,.35);margin-top:42px;padding-top:18px}
.related-links ul{padding-left:20px}
.article-top-image{margin:0 0 28px}
.article-top-image img{display:block;width:100%;height:auto;border-radius:8px;object-fit:cover;background:rgba(255,255,255,.5)}
.article-top-image figcaption{margin-top:8px;color:rgba(21,18,15,.58);font-size:13px;line-height:1.45}

/* Hospital design SSOT: madichan / template 219 */

/* Extracted from legacy shiftblogger template. Do not hand-edit; refresh from MedicalLayout.astro when the customer template changes. */
/* ====== Medical Universal Layout ====== */
  .m {
    background: var(--m-bg);
    color: var(--m-ink);
    font-family: var(--m-font-body);
    -webkit-font-smoothing: antialiased;
    line-height: 1.6;
  }
  .m a { color: inherit; text-decoration: none; }
  .m *, .m *::before, .m *::after { box-sizing: border-box; }

  .m__container { max-width: 1180px; margin: 0 auto; padding: 0 32px; }

  /* TOPBAR */
  .m__topbar {
    position: sticky; top: 0; z-index: 50;
    background: color-mix(in srgb, var(--m-bg) 92%, transparent);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--m-line);
  }
  .m__topbar-inner {
    max-width: 1180px; margin: 0 auto; padding: 14px 32px;
    display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px;
  }
  .m__brand { display: flex; align-items: center; gap: 10px; }
  .m__brand-text { display: flex; flex-direction: column; line-height: 1.1; }
  .m__brand-ko { font-family: var(--m-font-heading); font-weight: 600; font-size: 15px; color: var(--m-accent); letter-spacing: -0.01em; }
  .m__brand-en { font-family: var(--m-font-accent); font-style: italic; font-size: 10px; color: var(--m-gold); letter-spacing: 0.18em; text-transform: uppercase; margin-top: 1px; }
  .m__nav { display: flex; gap: 28px; justify-self: center; }
  .m__nav a { font-size: 13px; font-weight: 500; color: var(--m-ink-soft); transition: color .2s; }
  .m__nav a:hover { color: var(--m-accent); }
  .m__cta {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 18px; background: var(--m-accent); color: var(--m-paper) !important;
    font-size: 13px; font-weight: 600; border-radius: 4px;
    transition: background .2s, transform .2s;
  }
  .m__cta:hover { background: var(--m-accent-soft); transform: translateY(-1px); }
  .m__cta-arrow { font-family: serif; font-size: 14px; }

  /* HERO */
  .m__hero {
    position: relative; overflow: hidden;
    background: linear-gradient(180deg, var(--m-paper) 0%, var(--m-bg) 100%);
    border-bottom: 1px solid var(--m-line);
    padding: 80px 0 96px;
  }
  #m-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: 0.7; z-index: 0; }
  /* quiet/watercolor/pastel은 텍스트 가독성 우선 — canvas 흐리게 */
  .m-cat-quiet #m-canvas { opacity: 0.45; }
  .m-motif-watercolor #m-canvas, .m-motif-pastel-blob #m-canvas { opacity: 0.42; }
  .m__hero-inner { max-width: 1180px; margin: 0 auto; padding: 0 32px; position: relative; z-index: 2; }

  .m__hero-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 6px 14px; border: 1px solid var(--m-line);
    background: color-mix(in srgb, var(--m-paper) 70%, transparent);
    border-radius: 99px;
    font-size: 12px; color: var(--m-ink-soft); font-weight: 500;
    margin-bottom: 28px;
  }
  .m__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--m-gold); animation: m-pulse 2.4s ease-in-out infinite; }
  @keyframes m-pulse { 0%,100%{transform:scale(1);opacity:1;} 50%{transform:scale(1.4);opacity:0.55;} }

  .m__hero-title {
    font-family: var(--m-font-heading); font-weight: 700;
    font-size: clamp(36px, 5.6vw, 68px); line-height: 1.18;
    color: var(--m-accent); letter-spacing: -0.022em;
    margin: 0 0 26px; word-break: keep-all; max-width: 880px;
  }
  .m__hero-title em { font-style: normal; color: var(--m-gold); border-bottom: 3px solid var(--m-gold); padding-bottom: 2px; }
  .m__hero-sub { font-size: 17px; line-height: 1.75; color: var(--m-ink); max-width: 620px; margin: 0 0 38px; word-break: keep-all; }
  .m__hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 56px; }

  .m__btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px 26px; font-size: 14px; font-weight: 600;
    border-radius: 4px; transition: background .25s, color .25s, transform .25s, border-color .25s;
  }
  .m__btn--primary { background: var(--m-accent); color: var(--m-paper) !important; }
  .m__btn--primary:hover { background: var(--m-accent-soft); transform: translateY(-1px); }
  .m__btn--primary span { font-family: var(--m-font-accent); font-size: 16px; font-weight: 400; }
  .m__btn--ghost { background: transparent; color: var(--m-accent); border: 1px solid var(--m-line); }
  .m__btn--ghost:hover { border-color: var(--m-accent); }
  .m__btn--full { width: 100%; padding: 15px; }

  .m__hero-meta { display: flex; gap: 56px; padding-top: 32px; border-top: 1px solid var(--m-line); max-width: 620px; }
  .m__hero-meta div { display: flex; flex-direction: column; gap: 4px; }
  .m__hero-meta strong { font-family: var(--m-font-accent); font-style: italic; font-weight: 500; font-size: 11px; letter-spacing: 0.18em; color: var(--m-gold); text-transform: uppercase; }
  .m__hero-meta span { font-family: var(--m-font-heading); font-size: 15px; color: var(--m-accent); font-weight: 500; }

  /* SECTION HEAD */
  .m__section-head { margin-bottom: 48px; }
  .m__section-head--row { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 40px; }
  .m__kicker { display: inline-block; font-family: var(--m-font-accent); font-style: italic; font-size: 12px; letter-spacing: 0.32em; color: var(--m-gold); text-transform: uppercase; margin-bottom: 14px; }
  .m__kicker--light { color: var(--m-gold-soft); }
  .m__h2 { font-family: var(--m-font-heading); font-weight: 700; font-size: clamp(26px, 3.4vw, 38px); line-height: 1.3; color: var(--m-accent); letter-spacing: -0.018em; margin: 0 0 18px; word-break: keep-all; }
  .m__h2--light { color: var(--m-paper); }
  .m__lead { font-size: 16px; line-height: 1.75; color: var(--m-ink-soft); max-width: 720px; word-break: keep-all; margin: 0; }
  .m__lead--light { color: color-mix(in srgb, var(--m-paper) 78%, transparent); }
  .m__more { font-size: 13px; font-weight: 600; color: var(--m-accent); letter-spacing: 0.02em; flex-shrink: 0; }
  .m__more:hover { color: var(--m-gold); }

  /* PILLARS */
  .m__pillars { background: var(--m-paper); padding: 96px 0; border-bottom: 1px solid var(--m-line); }
  .m__pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .m__pillar {
    padding: 36px 32px; background: var(--m-bg);
    border: 1px solid var(--m-line); border-top: 3px solid var(--m-gold);
    border-radius: 4px; transition: transform .3s, box-shadow .3s;
  }
  .m__pillar:hover { transform: translateY(-3px); box-shadow: 0 18px 48px -28px color-mix(in srgb, var(--m-accent) 25%, transparent); }
  .m__pillar-num { font-family: var(--m-font-accent); font-style: italic; font-size: 28px; color: var(--m-gold); margin-bottom: 14px; }
  .m__pillar-title { font-family: var(--m-font-heading); font-weight: 700; font-size: 21px; color: var(--m-accent); letter-spacing: -0.012em; margin: 0 0 14px; word-break: keep-all; }
  .m__pillar-body { font-size: 15px; line-height: 1.75; color: var(--m-ink-soft); word-break: keep-all; margin: 0; }

  /* JOURNAL */
  .m__journal { padding: 96px 0; background: var(--m-bg); border-bottom: 1px solid var(--m-line); }
  .m__journal-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 56px; align-items: start; }
  .m__feature { display: block; padding: 40px; background: var(--m-paper); border: 1px solid var(--m-line); border-radius: 4px; transition: transform .3s, box-shadow .3s; position: relative; word-break: keep-all; }
  .m__feature::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--m-gold); border-radius: 4px 0 0 4px; }
  .m__feature:hover { transform: translateY(-3px); box-shadow: 0 24px 64px -32px color-mix(in srgb, var(--m-accent) 28%, transparent); }
  .m__feature-meta { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
  .m__feature-tag { padding: 4px 10px; background: var(--m-accent); color: var(--m-paper); font-family: var(--m-font-accent); font-style: italic; font-size: 10px; letter-spacing: 0.22em; }
  .m__feature-date { font-family: var(--m-font-accent); font-style: italic; font-size: 13px; color: var(--m-ink-soft); letter-spacing: 0.05em; }
  .m__feature-title { font-family: var(--m-font-heading); font-weight: 700; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.32; color: var(--m-accent); letter-spacing: -0.018em; margin: 0 0 18px; word-break: keep-all; }
  .m__feature-excerpt { font-size: 15px; line-height: 1.78; color: var(--m-ink); word-break: keep-all; margin: 0 0 24px; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
  .m__feature-cta { font-size: 13px; font-weight: 700; color: var(--m-accent); letter-spacing: 0.04em; }
  .m__feature:hover .m__feature-cta { color: var(--m-gold); }

  .m__post-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--m-line); }
  .m__post-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 22px 0; border-bottom: 1px solid var(--m-line); transition: padding .25s; }
  .m__post-row:hover { padding-left: 8px; padding-right: 8px; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--m-gold) 8%, transparent), transparent); }
  .m__post-num { font-family: var(--m-font-accent); font-style: italic; font-size: 18px; color: var(--m-gold); width: 32px; }
  .m__post-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
  .m__post-date { font-family: var(--m-font-accent); font-style: italic; font-size: 11px; color: var(--m-ink-soft); letter-spacing: 0.08em; }
  .m__post-title { font-family: var(--m-font-heading); font-weight: 600; font-size: 15px; line-height: 1.45; color: var(--m-accent); margin: 0; word-break: keep-all; letter-spacing: -0.012em; }
  .m__post-arrow { font-family: var(--m-font-accent); font-size: 18px; color: var(--m-ink-soft); transition: transform .3s, color .3s; }
  .m__post-row:hover .m__post-arrow { transform: translateX(3px); color: var(--m-gold); }
  .m__empty { padding: 56px 24px; text-align: center; border: 1px dashed var(--m-line); border-radius: 4px; color: var(--m-ink-soft); }

  /* CONTACT */
  .m__contact { padding: 96px 0; background: linear-gradient(180deg, var(--m-accent) 0%, color-mix(in srgb, var(--m-accent) 80%, #000 20%) 100%); color: var(--m-paper); }
  .m__contact-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: start; }
  .m__contact-card { background: color-mix(in srgb, var(--m-paper) 4%, transparent); border: 1px solid color-mix(in srgb, var(--m-gold) 40%, transparent); border-radius: 4px; padding: 36px; backdrop-filter: blur(6px); }
  .m__contact-card dl { margin: 0 0 24px; display: flex; flex-direction: column; gap: 22px; }
  .m__contact-card dl > div { display: flex; flex-direction: column; gap: 6px; padding-bottom: 22px; border-bottom: 1px solid color-mix(in srgb, var(--m-gold) 18%, transparent); }
  .m__contact-card dl > div:last-child { border-bottom: none; padding-bottom: 0; }
  .m__contact-card dt { font-family: var(--m-font-accent); font-style: italic; font-size: 11px; color: var(--m-gold-soft); letter-spacing: 0.22em; text-transform: uppercase; margin: 0; }
  .m__contact-card dd { margin: 0; font-family: var(--m-font-heading); font-weight: 500; font-size: 15px; color: color-mix(in srgb, var(--m-paper) 92%, transparent); line-height: 1.6; letter-spacing: -0.01em; }
  .m__phone { font-family: var(--m-font-accent); font-style: italic; font-size: 22px; color: var(--m-gold-soft) !important; letter-spacing: 0.04em; font-weight: 400; }
  .m__phone:hover { color: var(--m-paper) !important; }

  /* FOOTER */
  .m__footer { background: color-mix(in srgb, var(--m-accent) 75%, #000 25%); color: color-mix(in srgb, var(--m-paper) 65%, transparent); padding: 36px 0; }
  .m__footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 32px; flex-wrap: wrap; }
  .m__footer-brand { display: flex; flex-direction: column; gap: 4px; }
  .m__footer-brand span { font-family: var(--m-font-heading); font-weight: 600; font-size: 14px; color: color-mix(in srgb, var(--m-paper) 92%, transparent); }
  .m__footer-brand small { font-family: var(--m-font-accent); font-style: italic; font-size: 11px; letter-spacing: 0.04em; }
  .m__footer-meta { display: flex; flex-direction: column; gap: 4px; font-size: 11px; line-height: 1.6; text-align: right; }

  /* ====== HERO MOTIFS — 카테고리별 차별화 ====== */
  .m__motif-news { position: absolute; inset: 0; pointer-events: none; display: flex; gap: 0; }
  .m__motif-news span { flex: 1; border-right: 1px solid var(--m-line); }
  .m__motif-news span:last-child { border-right: none; }

  .m__motif-vlines { position: absolute; inset: 0; pointer-events: none; display: flex; }
  .m__motif-vlines span { flex: 1; border-right: 1px solid var(--m-line-soft); }

  .m__motif-redhead { position: absolute; top: 0; left: 0; right: 0; height: 14px; pointer-events: none; }
  .m__redbar { height: 6px; background: var(--m-gold); }
  .m__redbar2 { height: 1px; background: var(--m-accent); margin-top: 4px; }

  .m__motif-swiss { position: absolute; inset: 0; pointer-events: none; display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(12, 1fr); }
  .m__motif-swiss span { border-right: 1px solid color-mix(in srgb, var(--m-line) 80%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--m-line) 80%, transparent); }

  .m__motif-ws { position: absolute; right: -120px; top: -60px; width: 480px; height: 480px; pointer-events: none; }
  .m__ws-circle { width: 100%; height: 100%; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--m-gold) 18%, transparent) 0%, transparent 70%); }

  .m__motif-concrete {
    position: absolute; inset: 0; pointer-events: none; opacity: 0.45;
    background:
      radial-gradient(circle at 18% 22%, color-mix(in srgb, var(--m-accent) 8%, transparent) 0px, transparent 1px),
      radial-gradient(circle at 70% 60%, color-mix(in srgb, var(--m-accent) 10%, transparent) 0px, transparent 1px),
      radial-gradient(circle at 40% 80%, color-mix(in srgb, var(--m-accent) 6%, transparent) 0px, transparent 1px);
    background-size: 4px 4px, 6px 6px, 5px 5px;
  }

  .m__motif-ink { position: absolute; right: 20px; top: 40px; width: 540px; height: 360px; pointer-events: none; opacity: 0.7; }

  .m__motif-wood { position: absolute; inset: 0; pointer-events: none; display: flex; flex-direction: column; justify-content: flex-end; gap: 28px; padding-bottom: 60px; opacity: 0.32; }
  .m__wood-stripe { height: 4px; background: linear-gradient(90deg, transparent, var(--m-gold-soft), transparent); }

  .m__motif-linen { position: absolute; inset: 0; pointer-events: none; opacity: 0.32;
    background-image:
      repeating-linear-gradient(45deg, color-mix(in srgb, var(--m-gold) 14%, transparent) 0 2px, transparent 2px 8px),
      repeating-linear-gradient(-45deg, color-mix(in srgb, var(--m-gold) 10%, transparent) 0 2px, transparent 2px 8px);
  }

  .m__motif-coffee { position: absolute; right: -80px; top: 40px; width: 420px; height: 420px; pointer-events: none; opacity: 0.55; }
  .m__coffee-circle { position: absolute; inset: 30px; border-radius: 50%; background: radial-gradient(circle at 30% 30%, var(--m-gold-soft) 0%, var(--m-gold) 60%, var(--m-accent) 100%); }
  .m__coffee-shadow { position: absolute; left: 60px; right: 60px; bottom: 30px; height: 20px; background: color-mix(in srgb, var(--m-accent) 28%, transparent); border-radius: 50%; filter: blur(8px); }

  .m__motif-window { position: absolute; right: 0; top: 0; width: 50%; height: 100%; pointer-events: none; overflow: hidden; }
  .m__win-frame { position: absolute; right: 60px; top: 80px; width: 240px; height: 320px; border: 8px solid var(--m-gold-soft); background: linear-gradient(135deg, color-mix(in srgb, var(--m-gold) 18%, transparent) 0%, transparent 100%); }
  .m__win-light { position: absolute; right: -40px; top: 280px; width: 600px; height: 240px; background: linear-gradient(115deg, color-mix(in srgb, var(--m-gold) 22%, transparent) 0%, transparent 70%); transform: skewX(-15deg); filter: blur(2px); }

  .m__motif-moss { position: absolute; left: 0; right: 0; bottom: 0; height: 220px; pointer-events: none; opacity: 0.7; }
  .m__motif-moss svg { width: 100%; height: 100%; }

  .m__motif-herb { position: absolute; right: 40px; top: 30px; width: 540px; height: 360px; pointer-events: none; opacity: 0.85; }

  .m__motif-mountain { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 240px; pointer-events: none; }

  .m__motif-wave { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 200px; pointer-events: none; }

  .m__motif-brass { position: absolute; inset: 0; pointer-events: none; }
  .m__brass-bar { position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, transparent, var(--m-gold), transparent); }
  .m__brass-glow { position: absolute; right: -100px; top: 80px; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--m-gold) 28%, transparent) 0%, transparent 65%); }

  .m__motif-marble { position: absolute; inset: 0; pointer-events: none; opacity: 0.85; }
  .m__motif-marble svg { width: 100%; height: 100%; }

  .m__motif-velvet { position: absolute; inset: 0; pointer-events: none; }
  .m__velvet-curtain { position: absolute; left: 0; right: 0; top: 0; height: 100%; background: linear-gradient(115deg, color-mix(in srgb, var(--m-accent) 18%, transparent) 0%, transparent 60%); }
  .m__velvet-gold { position: absolute; right: 24px; top: 30px; bottom: 30px; width: 6px; background: linear-gradient(180deg, transparent, var(--m-gold), transparent); }

  .m__motif-salon { position: absolute; right: 60px; top: 60px; pointer-events: none; }
  .m__salon-arch { width: 280px; height: 380px; border: 4px solid var(--m-gold); border-bottom: none; border-radius: 140px 140px 0 0; opacity: 0.55; background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--m-gold) 14%, transparent) 100%); }

  .m__motif-labgrid { position: absolute; inset: 0; pointer-events: none; opacity: 0.5;
    background-image:
      linear-gradient(color-mix(in srgb, var(--m-accent) 14%, transparent) 1px, transparent 1px),
      linear-gradient(90deg, color-mix(in srgb, var(--m-accent) 14%, transparent) 1px, transparent 1px);
    background-size: 22px 22px;
  }

  .m__motif-blob { position: absolute; right: -40px; top: -20px; width: 720px; height: 480px; pointer-events: none; opacity: 0.85; filter: blur(2px); }

  .m__motif-watercolor { position: absolute; right: -20px; top: 40px; width: 680px; height: 460px; pointer-events: none; opacity: 0.78; filter: blur(4px); }

  .m__motif-stone { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 220px; pointer-events: none; opacity: 0.85; }

  /* ====== Category-specific tweaks ====== */
  /* Premium dark variant (Onyx & Brass) */
  .m-cat-premium.m-motif-brass {
    --m-paper: #1a1410;
  }
  .m-cat-premium.m-motif-brass .m__topbar { background: rgba(14,10,8,0.92); border-bottom-color: rgba(199,151,83,0.22); }
  .m-cat-premium.m-motif-brass .m__pillars { background: #14110d; }
  .m-cat-premium.m-motif-brass .m__journal { background: #0e0a08; }
  .m-cat-premium.m-motif-brass .m__pillar { background: #1a1410; border-color: rgba(199,151,83,0.22); }
  .m-cat-premium.m-motif-brass .m__feature { background: #1a1410; border-color: rgba(199,151,83,0.22); }
  .m-cat-premium.m-motif-brass .m__cta { background: var(--m-gold); color: #0e0a08 !important; }
  .m-cat-premium.m-motif-brass .m__btn--primary { background: var(--m-gold); color: #0e0a08 !important; }
  .m-cat-premium.m-motif-brass .m__btn--primary:hover { background: var(--m-gold-soft); }

  /* Editorial — newspaper-grid: tighter line-height, bolder headlines */
  .m-motif-newspaper-grid .m__hero-title, .m-motif-redhead .m__hero-title { letter-spacing: -0.028em; line-height: 1.08; }

  /* Tech — HUD: monospace meta, scanning grid */
  .m-cat-tech .m__hero-meta strong, .m-cat-tech .m__feature-tag, .m-cat-tech .m__feature-date, .m-cat-tech .m__post-num, .m-cat-tech .m__post-date { font-family: var(--m-font-accent); }

  /* Botanical — softer corners */
  .m-cat-botanical .m__pillar, .m-cat-botanical .m__feature { border-radius: 14px; }
  .m-cat-botanical .m__btn { border-radius: 99px; padding-left: 28px; padding-right: 28px; }
  .m-cat-botanical .m__cta { border-radius: 99px; }

  /* Warm — rounded corners, softer edges */
  .m-cat-warm .m__pillar, .m-cat-warm .m__feature, .m-cat-warm .m__contact-card { border-radius: 12px; }
  .m-cat-warm .m__btn { border-radius: 8px; }

  /* Quiet — pillar없이 부드럽게 */
  .m-cat-quiet .m__pillar { border-top: none; background: var(--m-paper); border: none; box-shadow: 0 4px 24px -10px color-mix(in srgb, var(--m-accent) 14%, transparent); }
  .m-cat-quiet .m__pillar, .m-cat-quiet .m__feature { border-radius: 18px; }
  .m-cat-quiet .m__btn { border-radius: 99px; }
  .m-cat-quiet .m__cta { border-radius: 99px; }
  .m-cat-quiet .m__contact-card { border-radius: 18px; }

  /* Atlas — engraving 톤 (sepia warm) */
  .m-cat-atlas.m-motif-engraving .m__pillar { border-color: color-mix(in srgb, var(--m-gold) 35%, var(--m-line)); }
  .m-cat-atlas.m-motif-engraving .m__feature::before { background: var(--m-gold); }

  /* ====== RESPONSIVE ====== */
  @media (max-width: 960px) {
    .m__container { padding: 0 24px; }
    .m__topbar-inner { padding: 12px 24px; gap: 16px; }
    .m__nav { display: none; }
    .m__hero { padding: 56px 0 64px; }
    .m__hero-inner { padding: 0 24px; }
    .m__hero-meta { gap: 28px; flex-wrap: wrap; }
    .m__pillars, .m__journal, .m__contact { padding: 64px 0; }
    .m__pillar-grid { grid-template-columns: 1fr; gap: 16px; }
    .m__journal-grid { grid-template-columns: 1fr; gap: 32px; }
    .m__contact-inner { grid-template-columns: 1fr; gap: 32px; }
    .m__footer-inner { flex-direction: column; align-items: flex-start; }
    .m__footer-meta { text-align: left; }
  }
  @media (max-width: 560px) {
    .m__container { padding: 0 18px; }
    .m__topbar-inner { padding: 10px 18px; }
    .m__brand-ko { font-size: 13px; }
    .m__brand-en { font-size: 9px; letter-spacing: 0.14em; }
    .m__cta { padding: 8px 14px; font-size: 12px; gap: 6px; }
    .m__hero { padding: 44px 0 52px; }
    .m__hero-inner { padding: 0 18px; }
    .m__hero-eyebrow { font-size: 11px; padding: 5px 12px; margin-bottom: 22px; }
    .m__hero-title { margin-bottom: 20px; }
    .m__hero-sub { font-size: 15px; margin-bottom: 28px; }
    .m__hero-actions { gap: 10px; margin-bottom: 36px; }
    .m__btn { padding: 12px 20px; font-size: 13px; }
    .m__hero-meta { gap: 14px; padding-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); }
    .m__hero-meta strong { font-size: 9px; letter-spacing: 0.14em; }
    .m__hero-meta span { font-size: 13px; }
    .m__pillars, .m__journal, .m__contact { padding: 48px 0; }
    .m__section-head { margin-bottom: 32px; }
    .m__section-head--row { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 28px; }
    .m__pillar { padding: 26px 22px; }
    .m__pillar-title { font-size: 18px; }
    .m__feature { padding: 26px 22px; }
    .m__feature-title { font-size: 21px; }
    .m__feature-excerpt { font-size: 14px; }
    .m__post-row { gap: 14px; padding: 18px 0; }
    .m__post-num { font-size: 16px; width: 26px; }
    .m__post-title { font-size: 14px; }
    .m__contact-card { padding: 26px 22px; }
    .m__phone { font-size: 19px; }
  }


/* Extracted from legacy shiftblogger template. Do not hand-edit; refresh from MedicalPostLayout.astro when the customer template changes. */
.mp {
    background: var(--p-bg); color: var(--p-ink);
    font-family: var(--p-font-body);
    -webkit-font-smoothing: antialiased; line-height: 1.7; min-height: 100vh;
  }
  .mp a { color: inherit; text-decoration: none; }
  .mp *, .mp *::before, .mp *::after { box-sizing: border-box; }

  .mp__topbar {
    position: sticky; top: 0; z-index: 50;
    background: color-mix(in srgb, var(--p-bg) 92%, transparent);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--p-line);
  }
  .mp__topbar-inner { max-width: 1180px; margin: 0 auto; padding: 14px 32px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; }
  .mp__brand { display: flex; align-items: center; gap: 10px; }
  .mp__brand-text { display: flex; flex-direction: column; line-height: 1.1; }
  .mp__brand-ko { font-family: var(--p-font-heading); font-weight: 600; font-size: 15px; color: var(--p-accent); letter-spacing: -0.01em; }
  .mp__brand-en { font-family: var(--p-font-accent); font-style: italic; font-size: 10px; color: var(--p-gold); letter-spacing: 0.18em; text-transform: uppercase; margin-top: 1px; }
  .mp__nav { display: flex; gap: 28px; justify-self: center; }
  .mp__nav a { font-size: 13px; font-weight: 500; color: var(--p-ink-soft); transition: color .2s; }
  .mp__nav a:hover { color: var(--p-accent); }
  .mp__cta { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; background: var(--p-accent); color: var(--p-paper) !important; font-size: 13px; font-weight: 600; border-radius: 4px; transition: background .2s, transform .2s; }
  .mp__cta:hover { background: var(--p-accent-soft); transform: translateY(-1px); }

  .mp__article { max-width: 1180px; margin: 0 auto; padding: 32px 32px 96px; }
  .mp__breadcrumb { margin-bottom: 32px; font-size: 13px; color: var(--p-ink-soft); }
  .mp__breadcrumb a:hover { color: var(--p-gold); }

  .mp__hero { max-width: 860px; margin: 0 auto 48px; padding-bottom: 32px; border-bottom: 1px solid var(--p-line); }
  .mp__kicker { display: inline-block; font-family: var(--p-font-accent); font-style: italic; font-size: 12px; letter-spacing: 0.3em; color: var(--p-gold); text-transform: uppercase; margin-bottom: 18px; }
  .mp__title { font-family: var(--p-font-heading); font-weight: 700; font-size: clamp(28px, 4.2vw, 44px); line-height: 1.32; color: var(--p-accent); letter-spacing: -0.02em; margin: 0 0 22px; word-break: keep-all; }
  .mp__summary { font-size: clamp(15px, 1.7vw, 18px); line-height: 1.78; color: var(--p-ink-soft); margin: 0 0 28px; word-break: keep-all; padding-left: 18px; border-left: 3px solid var(--p-gold); }
  .mp__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 13px; color: var(--p-ink-soft); }
  .mp__byline { padding: 4px 12px; background: var(--p-accent); color: var(--p-paper); font-family: var(--p-font-heading); font-weight: 500; font-size: 12px; border-radius: 3px; letter-spacing: -0.005em; }
  .mp__meta time { font-family: var(--p-font-accent); font-style: italic; color: var(--p-accent); font-size: 14px; }
  .mp__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
  .mp__tag { padding: 4px 12px; background: var(--p-line-soft); color: var(--p-accent); font-size: 12px; font-weight: 500; border-radius: 99px; letter-spacing: -0.005em; }

  .mp__layout { display: grid; grid-template-columns: 240px 1fr; gap: 64px; align-items: start; max-width: 1180px; margin: 0 auto; }
  .mp__outline { position: sticky; top: 88px; padding: 24px 22px; background: var(--p-paper); border: 1px solid var(--p-line); border-top: 3px solid var(--p-gold); border-radius: 4px; }
  .mp__outline-kicker { display: block; font-family: var(--p-font-accent); font-style: italic; font-size: 11px; letter-spacing: 0.3em; color: var(--p-gold); text-transform: uppercase; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid var(--p-line); }
  .mp__outline ol { list-style: none; counter-reset: o; margin: 0; padding: 0; }
  .mp__outline li { counter-increment: o; font-size: 13px; line-height: 1.5; color: var(--p-ink-soft); margin-bottom: 12px; padding-left: 28px; position: relative; word-break: keep-all; }
  .mp__outline li::before { content: counter(o, decimal-leading-zero); position: absolute; left: 0; top: 0; font-family: var(--p-font-accent); font-style: italic; font-size: 11px; color: var(--p-gold); }
  .mp__outline-l3 { padding-left: 40px; opacity: .85; }
  .mp__notice { margin-top: 22px; padding: 14px 16px; background: var(--p-line-soft); border-radius: 4px; }
  .mp__notice-kicker { display: block; font-size: 11px; font-weight: 700; color: var(--p-accent); margin-bottom: 6px; letter-spacing: 0.04em; }
  .mp__notice p { margin: 0; font-size: 12px; line-height: 1.55; color: var(--p-ink-soft); word-break: keep-all; }

  .mp__content { max-width: 760px; font-size: 17px; line-height: 1.85; color: var(--p-ink); word-break: keep-all; }
  .mp__content > * { max-width: 100%; }
  .mp__content p { margin: 0 0 22px; }
  .mp__content h2 { font-family: var(--p-font-heading); font-weight: 700; font-size: 24px; line-height: 1.35; color: var(--p-accent); letter-spacing: -0.018em; margin: 56px 0 22px; padding-top: 22px; border-top: 1px solid var(--p-line); }
  .mp__content h3 { font-family: var(--p-font-heading); font-weight: 600; font-size: 19px; line-height: 1.4; color: var(--p-accent); margin: 36px 0 14px; letter-spacing: -0.012em; }
  .mp__content blockquote { margin: 28px 0; padding: 22px 26px; background: var(--p-paper); border-left: 3px solid var(--p-gold); border-radius: 4px; font-family: var(--p-font-heading); font-size: 17px; line-height: 1.78; color: var(--p-accent); font-style: italic; }
  .mp__content blockquote p { margin: 0; }
  .mp__content blockquote p + p { margin-top: 14px; }
  .mp__content ul, .mp__content ol { margin: 0 0 22px; padding-left: 22px; }
  .mp__content li { margin-bottom: 8px; line-height: 1.78; }
  .mp__content code { background: var(--p-line-soft); padding: 2px 6px; border-radius: 3px; font-size: .92em; font-family: 'JetBrains Mono', ui-monospace, monospace; }
  .mp__content a { color: var(--p-accent); border-bottom: 1px solid var(--p-gold); transition: color .2s; }
  .mp__content a:hover { color: var(--p-gold); }
  .mp__content img, .mp__content video { width: 100%; height: auto; border-radius: 4px; margin: 24px 0; border: 1px solid var(--p-line); }
  .mp__content strong { color: var(--p-accent); font-weight: 700; }
  .mp__content em { color: var(--p-gold); font-style: italic; }

  .mp__rule { border: none; height: 1px; margin: 56px 0 32px; background: linear-gradient(90deg, transparent, var(--p-gold), transparent); }
  .mp__colophon { display: flex; justify-content: space-between; align-items: center; gap: 32px; padding: 28px 0; flex-wrap: wrap; }
  .mp__colophon-l { display: flex; flex-direction: column; gap: 4px; }
  .mp__colophon-kicker { font-family: var(--p-font-accent); font-style: italic; font-size: 11px; letter-spacing: 0.22em; color: var(--p-gold); text-transform: uppercase; }
  .mp__colophon-l strong { font-family: var(--p-font-heading); font-weight: 700; font-size: 16px; color: var(--p-accent); }
  .mp__colophon-l small { font-size: 13px; color: var(--p-ink-soft); }
  .mp__colophon-cta { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; background: var(--p-accent); color: var(--p-paper) !important; font-size: 13px; font-weight: 600; border-radius: 4px; transition: background .2s, transform .2s; }
  .mp__colophon-cta:hover { background: var(--p-accent-soft); transform: translateY(-1px); }

  /* Premium dark variant */
  .mp.mp-dark { --p-paper: #1a1410; }
  .mp.mp-dark .mp__topbar { background: rgba(14,10,8,0.92); border-bottom-color: rgba(199,151,83,0.22); }
  .mp.mp-dark .mp__cta { background: var(--p-gold); color: #0e0a08 !important; }
  .mp.mp-dark .mp__byline { background: var(--p-gold); color: #0e0a08; }
  .mp.mp-dark .mp__colophon-cta { background: var(--p-gold); color: #0e0a08 !important; }
  .mp.mp-dark .mp__outline { background: #1a1410; border-color: rgba(199,151,83,0.22); }

  /* Category-specific tweaks */
  .mp-cat-warm .mp__outline, .mp-cat-warm .mp__content blockquote { border-radius: 12px; }
  .mp-cat-quiet .mp__outline, .mp-cat-quiet .mp__content blockquote { border-radius: 16px; }
  .mp-cat-botanical .mp__outline, .mp-cat-botanical .mp__content blockquote { border-radius: 14px; }

  @media (max-width: 960px) {
    .mp__article { padding: 24px 24px 64px; }
    .mp__layout { grid-template-columns: 1fr; gap: 32px; }
    .mp__outline { position: static; }
    .mp__topbar-inner { padding: 12px 24px; gap: 16px; }
    .mp__nav { display: none; }
  }
  @media (max-width: 560px) {
    .mp__article { padding: 18px 18px 48px; }
    .mp__topbar-inner { padding: 10px 18px; }
    .mp__brand-ko { font-size: 13px; }
    .mp__brand-en { font-size: 9px; letter-spacing: 0.14em; }
    .mp__cta { padding: 8px 14px; font-size: 12px; }
    .mp__hero { margin-bottom: 32px; padding-bottom: 24px; }
    .mp__title { font-size: 24px; line-height: 1.32; }
    .mp__summary { font-size: 14px; padding-left: 14px; }
    .mp__meta { gap: 8px 12px; font-size: 12px; }
    .mp__byline { font-size: 11px; padding: 3px 10px; }
    .mp__content { font-size: 15px; line-height: 1.78; }
    .mp__content h2 { font-size: 20px; margin: 36px 0 16px; padding-top: 18px; }
    .mp__content h3 { font-size: 17px; margin: 28px 0 12px; }
    .mp__content blockquote { padding: 16px 18px; font-size: 15px; }
    .mp__colophon { flex-direction: column; align-items: flex-start; gap: 18px; padding: 20px 0; }
    .mp__colophon-cta { width: 100%; justify-content: center; }
  }
