: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: prime / template 103 */

/* Extracted from legacy shiftblogger template. Do not hand-edit; refresh from LandingLayout.astro when the customer template changes. */
/* ============================================================
     Template 103 — VERMEER / NORTHERN LIGHT
     1:1 port of picker/dist/templates/103.html
  ============================================================ */
  .v103 {
    --v103-light:#f8eed7;
    --v103-light-2:#eeddbb;
    --v103-paper:#fffdf8;
    --v103-paper-warm:#f7efe1;
    --v103-paper-deep:#eadabc;
    --v103-wall:#263238;
    --v103-wall-deep:#111827;
    --v103-gold:#a27b25;
    --v103-gold-soft:#a27b25;
    --v103-rug:#7b1f1f;
    --v103-pearl:#fbf6e8;
    --v103-delft:#2f5f73;
    --v103-delft-soft:#5c7c89;
    --v103-shadow:#02110a;
    --v103-ink:#15120f;
    --v103-ink-soft:rgba(21,18,15,0.74);
    --v103-ink-mute:rgba(21,18,15,0.55);
    --v103-rule:rgba(21,18,15,0.18);
    --v103-body-font:'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --v103-body-size:19.5px;
    --v103-body-line:1.76;
    color: var(--v103-ink);
    font-family: var(--v103-body-font);
    overflow-x: hidden;
    min-height: 100vh;
    /* Hybrid: 페이지 베이스를 베이지 페이퍼로 — 마스트헤드/히어로만 자체 다크 박스로 떠 있는 구조 */
    background:
      radial-gradient(ellipse 80% 60% at 0% 0%, rgba(255,255,255,0.78) 0%, transparent 60%),
      radial-gradient(ellipse 60% 40% at 100% 100%, rgba(184,147,44,0.06) 0%, transparent 72%),
      linear-gradient(160deg, #faf6ed 0%, #f7efe1 64%, #eadabc 100%);
    position: relative;
  }
  .v103, .v103 * { box-sizing:border-box; }
  .v103::before {
    content:''; position:fixed; inset:0; pointer-events:none; z-index:1;
    background-image:
      radial-gradient(circle at 10% 20%, rgba(26,18,8,0.04) 0px, transparent 1px),
      radial-gradient(circle at 80% 60%, rgba(184,147,44,0.05) 0px, transparent 1px),
      radial-gradient(circle at 50% 80%, rgba(26,18,8,0.03) 0px, transparent 1px);
    background-size: 3px 3px, 5px 5px, 4px 4px;
    mix-blend-mode: multiply; opacity: 0.45;
  }
  .v103 a { color: inherit; text-decoration: none; }

  .v103__frame { max-width:1320px; margin:0 auto; padding:48px 56px 96px; position:relative; z-index:5; }

  /* MASTHEAD — 자체 다크 글래스 박스로 베이지 그라데이션 위에서도 가독성 확보 */
  .v103__masthead {
    display:grid; grid-template-columns:1fr auto 1fr; align-items:end; gap:32px;
    padding:32px 36px 28px;
    border:1px solid rgba(212,175,55,0.35);
    background:
      radial-gradient(ellipse 80% 100% at 50% 0%, rgba(2,17,10,0.45) 0%, rgba(2,17,10,0.62) 60%, rgba(2,17,10,0.72) 100%);
    backdrop-filter: blur(2px);
    box-shadow:
      0 12px 40px -25px rgba(2,17,10,0.7),
      inset 0 0 80px rgba(240,230,210,0.04);
    position:relative;
  }
  .v103__masthead::after {
    content:''; position:absolute; left:36px; right:36px; bottom:14px; height:1px;
    background:linear-gradient(90deg, transparent 0%, rgba(212,175,55,0.55) 30%, rgba(212,175,55,0.55) 70%, transparent 100%);
  }
  .v103__meta-l, .v103__meta-r {
    font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.32em;
    color:rgba(251,246,232,0.92); text-transform:uppercase;
    text-shadow:0 1px 2px rgba(2,17,10,0.6);
  }
  .v103__meta-r { text-align:right; }
  .v103__meta-l span, .v103__meta-r span { display:block; margin-bottom:6px; }
  .v103__meta-l span:last-child, .v103__meta-r span:last-child {
    font-style:italic; font-family:'Cormorant Garamond',serif; letter-spacing:0.08em;
    text-transform:none; font-size:14px; color:rgba(251,246,232,0.78);
  }
  .v103__title-block { text-align:center; }
  .v103__title-block h1 {
    font-family:'Cinzel',serif; font-weight:500;
    font-size:54px; letter-spacing:0.18em; color:var(--v103-pearl);
    text-shadow:
      0 2px 4px rgba(2,17,10,0.65),
      0 0 24px rgba(2,17,10,0.45),
      0 1px 0 rgba(212,175,55,0.35);
    line-height:1; margin:0;
  }
  .v103__ko {
    font-family:'Nanum Myeongjo',serif; font-weight:400;
    font-size:18px; letter-spacing:0.4em; color:rgba(251,246,232,0.85); margin-top:14px;
    text-shadow:0 1px 3px rgba(2,17,10,0.55);
  }

  /* HERO */
  .v103__hero {
    margin-top:32px; position:relative; min-height:720px;
    background:linear-gradient(115deg, rgba(248,238,215,0.22) 0%, rgba(10,61,46,0.78) 60%, rgba(2,17,10,0.88) 100%);
    overflow:hidden; border:1px solid rgba(212,175,55,0.28);
    box-shadow:
      inset 380px 0 200px -200px rgba(240,230,210,0.35),
      inset -200px -100px 180px -120px rgba(2,17,10,0.85),
      0 30px 90px -40px rgba(2,17,10,0.7);
  }
  #vermeer-canvas { position:absolute; inset:0; width:100%; height:100%; display:block; }
  .v103__window-grid {
    position:absolute; top:32px; right:42px; width:96px; height:120px;
    border:2px solid rgba(212,175,55,0.5);
    display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr 1fr;
    pointer-events:none; z-index:6;
    background:linear-gradient(135deg, rgba(240,230,210,0.12), rgba(240,230,210,0.04));
    box-shadow:0 0 24px rgba(240,230,210,0.18), inset 0 0 10px rgba(240,230,210,0.1);
  }
  .v103__window-grid div { border:1px solid rgba(212,175,55,0.35); }
  .v103__hero-text {
    position:absolute; left:48px; bottom:40px; z-index:7; max-width:640px; color:var(--v103-pearl);
    padding:28px 32px;
    background:linear-gradient(180deg, rgba(2,17,10,0.55) 0%, rgba(2,17,10,0.72) 100%);
    backdrop-filter:blur(2px);
    border-left:1px solid rgba(212,175,55,0.45);
    box-shadow:0 20px 60px -30px rgba(2,17,10,0.85);
  }
  .v103__label {
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.5em;
    color:var(--v103-gold); margin-bottom:18px;
    text-shadow:0 1px 3px rgba(2,17,10,0.85);
  }
  .v103__hero-text h2 {
    font-family:'Cormorant Garamond',serif; font-weight:300; font-style:italic;
    font-size:46px; line-height:1.18; letter-spacing:-0.005em; color:var(--v103-pearl);
    text-shadow:
      0 2px 4px rgba(2,17,10,0.85),
      0 0 28px rgba(2,17,10,0.6);
    margin:0;
  }
  .v103__hero-text h2 em {
    font-style:italic; color:var(--v103-gold); font-weight:400;
    text-shadow:0 2px 4px rgba(2,17,10,0.85);
  }
  .v103__kor {
    font-family:var(--v103-body-font);
    margin-top:18px; font-size:var(--v103-body-size); line-height:var(--v103-body-line); letter-spacing:0;
    color:rgba(251,246,232,0.96); max-width:560px;
    text-shadow:0 1px 3px rgba(2,17,10,0.75);
  }
  .v103__kor p { margin:0 0 14px; }
  .v103__kor p:last-child { margin-bottom:0; }
  .v103__kor p em { font-style:italic; color:var(--v103-gold); }
  .v103__sig {
    margin-top:26px; font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.4em;
    color:rgba(212,175,55,0.95);
    text-shadow:0 1px 3px rgba(2,17,10,0.85);
  }
  .v103__porcelain {
    position:absolute; right:60px; bottom:42px; width:140px; height:170px; z-index:6;
    filter:drop-shadow(0 12px 24px rgba(0,0,0,0.55));
  }
  .v103__pearl-dot {
    position:absolute; left:48%; top:36%; width:10px; height:10px; border-radius:50%;
    background:radial-gradient(circle at 35% 30%, #fff 0%, #f0e6d2 30%, #b8932c 100%);
    box-shadow:0 0 18px 4px rgba(251,246,232,0.6), 0 0 4px rgba(212,175,55,0.7);
    z-index:8;
  }

  /* EDITORIAL — 베이지 페이퍼 + 진한 잉크 (가독성 우선) */
  .v103__editorial { margin-top:72px; position:relative; }
  .v103__ed-head {
    display:flex; align-items:flex-end; justify-content:space-between;
    border-bottom:1px solid rgba(184,147,44,0.45); padding-bottom:22px; margin-bottom:54px;
  }
  .v103__ed-head h3 {
    font-family:'Cinzel',serif; font-weight:500; font-size:22px;
    letter-spacing:0.32em; color:var(--v103-ink); margin:0;
  }
  .v103__ko-sub {
    font-family:'Nanum Myeongjo',serif; font-size:13px; letter-spacing:0.3em;
    color:var(--v103-ink-mute);
  }

  .v103__empty {
    text-align:center; padding:80px 24px; color:var(--v103-ink-mute);
    border:1px solid rgba(184,147,44,0.35);
    background:linear-gradient(115deg, rgba(251,246,232,0.85) 0%, rgba(244,236,216,0.85) 100%);
  }
  .v103__empty p { font-family:'Nanum Myeongjo',serif; font-size:18px; letter-spacing:0.08em; }
  .v103__empty-sub {
    margin-top:14px !important; font-family:'Cormorant Garamond',serif; font-style:italic;
    font-size:14px !important; color:var(--v103-gold-soft);
  }

  .v103__posts {
    display:grid; grid-template-columns:1fr 1fr 1fr;
    gap:0; align-items:stretch;
    border:1px solid rgba(184,147,44,0.4);
    background:linear-gradient(116deg, var(--v103-paper) 0%, var(--v103-paper-warm) 58%, var(--v103-paper-deep) 100%);
    box-shadow:0 30px 80px -50px rgba(26,18,8,0.18), 0 8px 24px -16px rgba(26,18,8,0.12);
    position:relative;
  }
  .v103__post {
    position:relative; padding:46px 38px 56px;
    border-right:1px solid rgba(184,147,44,0.25); overflow:hidden;
  }
  .v103__post:last-of-type { border-right:none; }
  .v103__post::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(115deg, rgba(255,255,255,0.4) 0%, transparent 45%, transparent 65%, rgba(184,147,44,0.06) 100%);
  }
  .v103__post::after {
    content:''; position:absolute; inset:0; pointer-events:none; opacity:0.4;
    background:radial-gradient(circle at 18% 8%, rgba(255,255,255,0.55) 0px, transparent 35%);
  }
  .v103__crosshair {
    position:absolute; left:0; top:0; width:100%; height:100%; pointer-events:none; opacity:0.12;
  }
  .v103__crosshair::before, .v103__crosshair::after {
    content:''; position:absolute; background:rgba(184,147,44,0.65);
  }
  .v103__crosshair::before { left:50%; top:0; bottom:0; width:1px; }
  .v103__crosshair::after  { top:50%; left:0; right:0; height:1px; }
  .v103__num {
    font-family:'Cinzel',serif; font-size:64px; font-weight:400;
    color:rgba(184,147,44,0.38); line-height:1;
    position:absolute; top:24px; right:32px;
  }
  .v103__cat {
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.45em;
    color:var(--v103-gold-soft); margin-bottom:22px; text-transform:uppercase; position:relative;
  }
  .v103__cat::before {
    content:''; display:inline-block; width:24px; height:1px; background:var(--v103-gold-soft);
    margin-right:14px; vertical-align:middle;
  }
  .v103__post h4 {
    font-family:var(--v103-body-font); font-weight:700; font-size:23px; line-height:1.42;
    color:var(--v103-ink); margin:0 0 18px; letter-spacing:-0.01em; position:relative;
  }
  .v103__post h4 a { color:inherit; }
  .v103__post h4 a:hover { color:var(--v103-gold-soft); }
  .v103__quote {
    font-family:var(--v103-body-font); font-style:normal; font-weight:400;
    font-size:var(--v103-body-size); line-height:1.68; color:var(--v103-ink-soft);
    border-left:2px solid var(--v103-gold-soft); padding-left:16px; margin-bottom:24px; position:relative;
  }
  .v103__body {
    font-family:var(--v103-body-font); font-size:var(--v103-body-size); line-height:var(--v103-body-line);
    color:var(--v103-ink); position:relative; letter-spacing:0;
  }
  .v103__body p + p { margin-top:14px; }
  .v103__meta {
    margin-top:36px; display:flex; justify-content:space-between; align-items:center;
    padding-top:18px; border-top:1px solid rgba(184,147,44,0.32); position:relative;
  }
  .v103__date {
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.32em; color:var(--v103-gold-soft);
  }
  .v103__read {
    font-family:var(--v103-body-font); font-style:normal; font-size:14px;
    color:var(--v103-ink-mute);
  }
  .v103__read::after { content:' →'; color:var(--v103-gold-soft); font-style:normal; }
  .v103__post:hover .v103__read { color:var(--v103-ink); }

  .v103__vase-mini {
    position:absolute; right:24px; bottom:60px; width:70px; height:90px; opacity:0.42;
    filter:drop-shadow(0 6px 12px rgba(26,18,8,0.18));
  }
  .v103__pearl-mini {
    position:absolute; right:34px; bottom:120px; width:8px; height:8px; border-radius:50%;
    background:radial-gradient(circle at 35% 30%, #fff 0%, #f0e6d2 40%, #b8932c 100%);
    box-shadow:0 0 14px 3px rgba(184,147,44,0.35);
  }
  .v103__delft-accent {
    position:absolute; right:-1px; bottom:-1px; width:140px; height:6px;
    background:linear-gradient(90deg, transparent, var(--v103-delft-soft) 50%, var(--v103-gold-soft));
    opacity:0.65;
    z-index:6;
  }

  /* ARCHIVE — 베이지 페이퍼 위 잉크 리스트 */
  .v103__archive {
    margin-top:64px; padding:32px 0 0; border-top:1px solid rgba(184,147,44,0.4);
  }
  .v103__archive-head {
    display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
    margin-bottom:24px;
  }
  .v103__archive h5 {
    font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.45em;
    color:var(--v103-gold-soft); margin:0 0 10px; text-transform:uppercase;
  }
  .v103__archive-head p {
    margin:0; font-family:var(--v103-body-font); font-size:16px; line-height:1.7;
    color:var(--v103-ink-mute);
  }
  .v103__archive-head span {
    flex-shrink:0; font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.28em;
    color:var(--v103-gold-soft); text-transform:uppercase;
  }
  .v103__archive ul { list-style:none; padding:0; margin:0; }
  .v103__archive li { border-bottom:1px solid rgba(26,18,8,0.12); }
  .v103__archive li a {
    display:flex; align-items:baseline; gap:32px; padding:14px 0;
    color:var(--v103-ink-soft);
    font-family:var(--v103-body-font);
  }
  .v103__archive li a:hover { color:var(--v103-ink); }
  .v103__archive-date {
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.32em;
    color:var(--v103-gold-soft); flex-shrink:0; min-width:140px;
  }
  .v103__archive-title { font-size:18px; line-height:1.62; }
  .v103__archive [data-archive-item][hidden] { display:none; }
  .v103__archive-load {
    width:100%; margin-top:22px;
    border:1px solid rgba(184,147,44,0.36);
    background:linear-gradient(116deg, rgba(255,253,248,0.78) 0%, rgba(247,239,225,0.78) 58%, rgba(234,218,188,0.78) 100%);
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:18px 22px; cursor:pointer;
    font-family:var(--v103-body-font); font-weight:700; font-size:17px; line-height:1.5;
    color:var(--v103-ink);
  }
  .v103__archive-load:hover {
    border-color:rgba(184,147,44,0.6);
    color:var(--v103-ink);
  }
  .v103__archive-load[hidden] { display:none; }
  .v103__archive-load-icon {
    width:22px; height:22px; flex:0 0 auto; color:var(--v103-gold-soft);
    transition:transform 0.2s ease;
  }
  .v103__archive-load[aria-expanded="true"] .v103__archive-load-icon { transform:rotate(180deg); }
  .v103__archive-progress {
    margin:12px 0 0;
    font-family:var(--v103-body-font); font-size:14px; line-height:1.6;
    color:var(--v103-ink-mute);
  }
  .v103__archive-more {
    margin-top:22px;
    border:1px solid rgba(184,147,44,0.36);
    background:linear-gradient(116deg, rgba(255,253,248,0.78) 0%, rgba(247,239,225,0.78) 58%, rgba(234,218,188,0.78) 100%);
  }
  .v103__archive-more summary {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:18px 22px; cursor:pointer; list-style:none;
    font-family:var(--v103-body-font); font-weight:700; font-size:17px; line-height:1.5;
    color:var(--v103-ink);
  }
  .v103__archive-more summary::-webkit-details-marker { display:none; }
  .v103__archive-more-icon {
    width:22px; height:22px; flex:0 0 auto; color:var(--v103-gold-soft);
    transition:transform 0.2s ease;
  }
  .v103__archive-more[open] .v103__archive-more-icon { transform:rotate(180deg); }
  .v103__archive-more-list {
    padding:0 22px 10px !important;
    border-top:1px solid rgba(184,147,44,0.28);
  }

  /* ATELIER TEASER — 베이지 페이퍼 카드 */
  .v103__atelier {
    margin-top:80px; padding:48px 44px;
    border:1px solid rgba(184,147,44,0.4);
    background:linear-gradient(116deg, var(--v103-paper) 0%, var(--v103-paper-warm) 58%, var(--v103-paper-deep) 100%);
    box-shadow:0 30px 80px -50px rgba(26,18,8,0.2), 0 8px 24px -16px rgba(26,18,8,0.12);
    position:relative;
  }
  .v103__atelier::before {
    content:''; position:absolute; left:0; top:0; width:160px; height:6px;
    background:linear-gradient(90deg, var(--v103-gold-soft) 0%, transparent 100%);
  }
  .v103__atelier-head {
    display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
    padding-bottom:18px; margin-bottom:18px;
    border-bottom:1px solid rgba(184,147,44,0.32);
  }
  .v103__atelier-kicker {
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.45em;
    color:var(--v103-gold-soft); text-transform:uppercase; margin-bottom:10px;
  }
  .v103__atelier-title {
    font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:300;
    font-size:30px; line-height:1.25; color:var(--v103-ink); margin:0;
    letter-spacing:-0.005em;
  }
  .v103__atelier-cta {
    flex-shrink:0; padding:11px 20px;
    border:1px solid var(--v103-gold-soft);
    color:var(--v103-gold-soft) !important;
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.32em; text-transform:uppercase;
    display:inline-flex; align-items:center; gap:10px;
    transition:background 0.3s, color 0.3s;
  }
  .v103__atelier-cta:hover { background:var(--v103-gold-soft); color:var(--v103-paper) !important; }
  .v103__atelier-arrow { font-family:'Cormorant Garamond',serif; font-style:normal; font-size:14px; letter-spacing:0; }
  .v103__atelier-intro {
    font-family:var(--v103-body-font); font-size:var(--v103-body-size); line-height:var(--v103-body-line);
    color:var(--v103-ink-soft); max-width:760px; margin:0 0 32px;
    letter-spacing:0.012em;
  }
  .v103__atelier-grid {
    display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;
  }
  .v103__atelier-thumb {
    color:inherit; text-decoration:none; display:block;
    transition:transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
  }
  .v103__atelier-thumb:hover { transform:translateY(-3px); }
  .v103__atelier-thumb-frame {
    position:relative; aspect-ratio:4/5; overflow:hidden;
    border:1px solid rgba(212,175,55,0.45);
    background:#062018;
    box-shadow:0 18px 48px -28px rgba(2,17,10,0.85);
  }
  .v103__atelier-thumb-frame img {
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.5s;
  }
  .v103__atelier-thumb--warm img { filter:sepia(0.18) saturate(0.88) brightness(0.92); }
  .v103__atelier-thumb--vintage img { filter:sepia(0.42) saturate(0.78) brightness(0.86); }
  .v103__atelier-thumb--desaturate img { filter:saturate(0.45) brightness(0.88); }
  .v103__atelier-thumb:hover img { transform:scale(1.04); filter:sepia(0.08) saturate(0.98) brightness(1); }
  .v103__atelier-thumb-glow {
    position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(115deg, rgba(240,230,210,0.18) 0%, transparent 35%, transparent 70%, rgba(2,17,10,0.55) 100%);
    mix-blend-mode:soft-light;
  }
  .v103__atelier-thumb-num {
    position:absolute; top:12px; right:14px;
    font-family:'Cinzel',serif; font-weight:400; font-size:18px;
    color:rgba(251,246,232,0.92); letter-spacing:0.1em;
    text-shadow:0 2px 6px rgba(2,17,10,0.85);
  }
  .v103__atelier-thumb-cap {
    margin-top:14px; display:flex; flex-direction:column; gap:4px;
  }
  .v103__atelier-thumb-en {
    font-family:'Cinzel',serif; font-size:9px; letter-spacing:0.32em;
    color:var(--v103-gold-soft); text-transform:uppercase;
  }
  .v103__atelier-thumb-ko {
    font-family:var(--v103-body-font); font-size:15px; line-height:1.55;
    color:var(--v103-ink); letter-spacing:-0.005em;
  }

  /* RUG */
  .v103__rug {
    margin-top:64px; height:14px;
    background:
      repeating-linear-gradient(90deg, var(--v103-rug) 0px, var(--v103-rug) 8px, #5c1414 8px, #5c1414 12px, var(--v103-gold-soft) 12px, var(--v103-gold-soft) 14px, #5c1414 14px, #5c1414 18px, var(--v103-rug) 18px, var(--v103-rug) 26px),
      var(--v103-rug);
    border-top:1px solid rgba(212,175,55,0.4); border-bottom:1px solid rgba(212,175,55,0.4);
    box-shadow:0 8px 24px -8px rgba(0,0,0,0.5);
  }

  /* COLOPHON — 베이지 페이퍼 위 잉크 */
  .v103__colophon {
    margin-top:54px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px;
    padding-top:32px; border-top:1px solid rgba(184,147,44,0.4);
  }
  .v103__colophon-l {
    font-family:'Cormorant Garamond',serif; font-style:italic; font-size:14px;
    color:var(--v103-ink-soft); line-height:1.7;
  }
  .v103__colophon-c {
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.5em; color:var(--v103-gold-soft);
    text-transform:uppercase; text-align:center;
  }
  .v103__colophon-r {
    font-family:var(--v103-body-font); font-size:13px; letter-spacing:0.04em;
    color:var(--v103-ink-soft); text-align:right; line-height:1.8;
  }

  /* MOBILE — 한국어 단어 보존(word-break: keep-all) + 좁은 폭 letter-spacing 축소 */
  .v103__ko, .v103__kor, .v103__ed-head h3, .v103__ko-sub,
  .v103__post h4, .v103__archive-title, .v103__atelier-title,
  .v103__atelier-thumb-ko, .v103__hero-text h2, .v103__atelier-intro {
    word-break: keep-all; overflow-wrap: break-word;
  }
  .v103__meta-l span:last-child, .v103__meta-r span:last-child {
    word-break: keep-all; overflow-wrap: break-word;
  }

  @media (max-width:780px){
    .v103__frame { padding:24px 18px 56px; }
    .v103__masthead {
      grid-template-columns:1fr; text-align:center; gap:12px;
      padding:22px 22px 22px;
    }
    .v103__meta-l, .v103__meta-r {
      text-align:center; font-size:10px; letter-spacing:0.22em;
    }
    .v103__meta-l span, .v103__meta-r span { margin-bottom:4px; }
    .v103__meta-l span:last-child, .v103__meta-r span:last-child {
      font-size:12px; letter-spacing:0.04em;
    }
    .v103__title-block h1 { font-size:30px; letter-spacing:0.12em; }
    .v103__ko { font-size:15px; letter-spacing:0.14em; line-height:1.7; margin-top:10px; }
    .v103__hero {
      min-height:0;
      padding:18px;
      display:block;
    }
    .v103__hero-text {
      position:relative; left:auto; right:auto; bottom:auto; max-width:none;
      width:auto; margin:8px 0;
      padding:24px 22px 26px;
      background:linear-gradient(180deg, rgba(2,17,10,0.68) 0%, rgba(2,17,10,0.8) 100%);
    }
    .v103__label { font-size:11px; letter-spacing:0.14em; line-height:1.75; margin-bottom:16px; }
    .v103__hero-text h2 { font-size:30px; line-height:1.34; letter-spacing:-0.02em; }
    .v103__kor {
      font-size:var(--v103-body-size); line-height:var(--v103-body-line); letter-spacing:0;
      max-width:none; margin-top:18px;
    }
    .v103__kor p { margin-bottom:16px; }
    .v103__sig { margin-top:20px; font-size:11px; letter-spacing:0.12em; line-height:1.8; }
    .v103__window-grid { width:54px; height:68px; top:14px; right:14px; }
    .v103__porcelain { width:78px; height:96px; right:16px; bottom:16px; opacity:0.24; }
    .v103__pearl-dot { display:none; }
    .v103__editorial { margin-top:48px; }
    .v103__ed-head { flex-direction:column; align-items:flex-start; gap:8px; padding-bottom:16px; margin-bottom:32px; }
    .v103__ed-head h3 { font-size:18px; letter-spacing:0.08em; line-height:1.55; }
    .v103__ko-sub { font-size:15px; letter-spacing:0.04em; line-height:1.65; }
    .v103__posts { grid-template-columns:1fr; }
    .v103__post {
      border-right:none; border-bottom:1px solid rgba(212,175,55,0.18);
      padding:34px 24px 40px;
    }
    .v103__post:last-of-type { border-bottom:none; }
    .v103__post h4 { font-size:22px; line-height:1.48; letter-spacing:-0.02em; }
    .v103__quote { font-size:var(--v103-body-size); line-height:1.68; padding-left:14px; }
    .v103__body {
      font-size:var(--v103-body-size); line-height:var(--v103-body-line); letter-spacing:0;
      color:var(--v103-ink);
    }
    .v103__num { font-size:38px; top:14px; right:16px; }
    .v103__cat { font-size:11px; letter-spacing:0.16em; margin-bottom:18px; line-height:1.6; }
    .v103__cat::before { width:18px; margin-right:10px; }
    .v103__meta { margin-top:24px; padding-top:14px; gap:10px; }
    .v103__date { font-size:11px; letter-spacing:0.12em; }
    .v103__read { font-size:16px; color:rgba(26,18,8,0.78); }
    .v103__archive { margin-top:48px; }
    .v103__archive-head { flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:18px; }
    .v103__archive h5 { font-size:11px; letter-spacing:0.18em; line-height:1.6; margin-bottom:6px; }
    .v103__archive-head p { font-size:15px; line-height:1.7; }
    .v103__archive-head span { font-size:10px; letter-spacing:0.16em; }
    .v103__archive li a { flex-direction:column; align-items:flex-start; gap:4px; padding:12px 0; }
    .v103__archive-date { min-width:0; font-size:11px; letter-spacing:0.12em; }
    .v103__archive-title { font-size:18.5px; line-height:1.62; }
    .v103__archive-load { margin-top:18px; padding:16px 18px; font-size:17px; }
    .v103__archive-progress { font-size:14px; }
    .v103__archive-more { margin-top:18px; }
    .v103__archive-more summary { padding:16px 18px; font-size:17px; }
    .v103__archive-more-list { padding:0 18px 8px !important; }
    .v103__atelier { margin-top:54px; padding:28px 20px; }
    .v103__atelier-head { flex-direction:column; align-items:flex-start; gap:14px; padding-bottom:14px; margin-bottom:14px; }
    .v103__atelier-title { font-size:24px; line-height:1.38; }
    .v103__atelier-cta { padding:11px 16px; font-size:11px; letter-spacing:0.1em; line-height:1.5; }
    .v103__atelier-intro { font-size:var(--v103-body-size); line-height:var(--v103-body-line); margin:0 0 22px; color:var(--v103-ink); }
    .v103__atelier-grid { grid-template-columns:repeat(2, 1fr); gap:12px; }
    .v103__atelier-thumb-en { font-size:10px; letter-spacing:0.12em; }
    .v103__atelier-thumb-ko { font-size:15px; line-height:1.55; }
    .v103__colophon {
      grid-template-columns:1fr; text-align:center; gap:14px;
      margin-top:40px; padding-top:24px;
    }
    .v103__colophon-l, .v103__colophon-r { text-align:center; font-size:14px; }
  }

  @media (max-width:420px){
    .v103__frame { padding-left:16px; padding-right:16px; }
    .v103__title-block h1 { font-size:26px; letter-spacing:0.08em; }
    .v103__ko { font-size:14px; letter-spacing:0.08em; }
    .v103__label { letter-spacing:0.1em; }
    .v103__hero { padding:14px; }
    .v103__hero-text { padding:22px 20px 24px; }
    .v103__hero-text h2 { font-size:28px; line-height:1.36; }
    .v103__ed-head h3 { font-size:17px; letter-spacing:0.06em; }
    .v103__ko-sub { font-size:14px; letter-spacing:0.03em; }
    .v103__atelier-grid { grid-template-columns:1fr; gap:14px; }
  }


/* Extracted from legacy shiftblogger template. Do not hand-edit; refresh from PostLayout.astro when the customer template changes. */
/* ============================================================
     Template 103 — Post page (cinematic dark editorial)
  ============================================================ */
  .v103p {
    --p-light:#f8eed7;
    --p-paper:#fffdf8;
    --p-paper-warm:#f7efe1;
    --p-paper-deep:#eadabc;
    --p-wall:#0a3d2e;
    --p-wall-deep:#062018;
    --p-gold:#d4af37;
    --p-gold-soft:#a27b25;
    --p-rug:#7b1f1f;
    --p-pearl:#fbf6e8;
    --p-delft:#1f3a6b;
    --p-shadow:#02110a;
    --p-ink:#15120f;
    --p-ink-soft:rgba(21,18,15,0.74);
    --p-ink-mute:rgba(21,18,15,0.55);
    --p-body-font:'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --p-body-size:19.5px;
    --p-body-line:1.76;
    color: var(--p-ink);
    font-family: 'Cormorant Garamond', serif;
    overflow-x: hidden;
    min-height: 100vh;
    /* Hybrid: 페이지 베이스 = 베이지 페이퍼. 본문 카드는 자체 베이지 박스, 가독성 우선. */
    background:
      radial-gradient(ellipse 70% 55% at 8% -10%, rgba(255,255,255,0.8) 0%, transparent 58%),
      radial-gradient(ellipse 100% 80% at 110% 110%, rgba(184,147,44,0.06) 0%, transparent 72%),
      linear-gradient(160deg, #faf6ed 0%, #f7efe1 64%, #eadabc 100%);
    position: relative;
  }
  .v103p, .v103p * { box-sizing:border-box; }
  .v103p::before {
    content:''; position:fixed; inset:0; pointer-events:none; z-index:1;
    background-image:
      radial-gradient(circle at 12% 22%, rgba(26,18,8,0.04) 0px, transparent 1px),
      radial-gradient(circle at 78% 60%, rgba(184,147,44,0.05) 0px, transparent 1px),
      radial-gradient(circle at 50% 84%, rgba(26,18,8,0.03) 0px, transparent 1px);
    background-size: 3px 3px, 5px 5px, 4px 4px;
    mix-blend-mode: multiply; opacity: 0.4;
  }
  .v103p a { color: inherit; text-decoration: none; }
  .v103p a:hover { color: var(--p-gold-soft); }

  .v103p__frame { max-width:1320px; margin:0 auto; padding:36px 56px 96px; position:relative; z-index:5; }
  .v103p__article, .v103p__layout, .v103p__content { min-width:0; max-width:100%; }
  .v103p .article-top-image {
    width:100%;
    max-width:100%;
    margin:26px auto 48px;
    overflow:hidden;
    border:1px solid rgba(184,147,44,0.28);
    background:rgba(255,253,248,0.42);
  }
  .v103p .article-top-image img {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    margin:0;
  }

  /* MASTHEAD — 베이지 페이퍼 위 잉크 */
  .v103p__masthead {
    display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px;
    padding:18px 0 22px; border-bottom:1px solid rgba(184,147,44,0.45); position:relative;
  }
  .v103p__masthead::after {
    content:''; position:absolute; left:0; right:0; bottom:-3px; height:1px;
    background:linear-gradient(90deg, transparent 0%, rgba(184,147,44,0.55) 30%, transparent 100%);
  }
  .v103p__home {
    font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.3em;
    color:var(--p-ink); text-transform:uppercase; line-height:1.6;
  }
  .v103p__home-en { display:block; }
  .v103p__home-ko {
    display:block; font-style:italic; font-family:'Cormorant Garamond',serif;
    letter-spacing:0.06em; text-transform:none; font-size:14px; color:var(--p-ink-soft);
    margin-top:2px;
  }
  .v103p__issue {
    text-align:center; font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.5em;
    color:var(--p-gold-soft); text-transform:uppercase; line-height:1.8;
  }
  .v103p__issue span { display:block; }
  .v103p__cta {
    justify-self:end; align-self:center;
    padding:10px 20px; border:1px solid var(--p-gold-soft);
    color:var(--p-gold-soft) !important;
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.32em; text-transform:uppercase;
    transition:background 0.3s, color 0.3s;
  }
  .v103p__cta:hover { background:var(--p-gold-soft); color:var(--p-paper) !important; }

  /* HERO — 자체 어두운 박스로 감싸 펄 텍스트 가독성 확보 */
  .v103p__hero {
    margin-top:48px; padding:54px 56px 44px; position:relative;
    border:1px solid rgba(212,175,55,0.28);
    background:
      linear-gradient(115deg, rgba(8,35,27,0.88) 0%, rgba(6,32,24,0.94) 52%, rgba(2,17,10,0.98) 100%);
    box-shadow:
      inset 160px 0 180px -140px rgba(212,175,55,0.11),
      inset 0 0 120px rgba(2,17,10,0.42),
      0 30px 80px -50px rgba(2,17,10,0.6);
  }
  .v103p__kicker {
    font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.45em;
    color:var(--p-gold); margin-bottom:24px; text-transform:uppercase;
  }
  .v103p__title {
    font-family:'Nanum Myeongjo',serif; font-weight:700;
    font-size:48px; line-height:1.28; letter-spacing:-0.012em;
    color:var(--p-pearl); margin:0 0 24px; max-width:920px;
    text-shadow:0 3px 10px rgba(2,17,10,0.9), 0 0 28px rgba(2,17,10,0.7);
  }
  .v103p__summary {
    font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:400;
    font-size:21px; line-height:1.6; color:rgba(251,246,232,0.96);
    border-left:2px solid var(--p-gold); padding-left:22px; max-width:760px; margin:0 0 30px;
    text-shadow:0 2px 8px rgba(2,17,10,0.74);
  }
  .v103p__meta {
    display:flex; flex-wrap:wrap; gap:18px; align-items:center;
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.32em;
    color:rgba(212,175,55,0.92); text-transform:uppercase;
  }
  .v103p__meta time { color:rgba(212,175,55,1); }
  .v103p__byline {
    padding:6px 14px; border:1px solid rgba(212,175,55,0.55);
    background:rgba(2,17,10,0.35);
    color:var(--p-pearl); font-style:italic; font-family:'Cormorant Garamond',serif;
    font-size:14px; letter-spacing:0.06em; text-transform:none;
  }
  .v103p__tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
  .v103p__tag {
    padding:6px 14px; border:1px solid rgba(212,175,55,0.45);
    background:rgba(2,17,10,0.3);
    color:rgba(251,246,232,0.92); font-family:'Nanum Myeongjo',serif;
    font-size:12px; letter-spacing:0.08em;
  }

  /* LAYOUT */
  .v103p__layout {
    display:grid; grid-template-columns:280px 1fr; gap:64px;
    align-items:start; margin-top:48px;
  }

  /* OUTLINE — 베이지 카드 + 잉크 텍스트 */
  .v103p__outline {
    position:sticky; top:32px;
    padding:30px 26px;
    border:1px solid rgba(184,147,44,0.4);
    background:linear-gradient(135deg, #fffdf8 0%, #f7efe1 100%);
    box-shadow:0 20px 60px -40px rgba(26,18,8,0.18), 0 4px 12px -8px rgba(26,18,8,0.08);
  }
  .v103p__outline-kicker {
    display:block; font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.45em;
    color:var(--p-gold-soft); text-transform:uppercase; margin-bottom:18px;
    padding-bottom:14px; border-bottom:1px solid rgba(184,147,44,0.4);
  }
  .v103p__outline ol {
    list-style:none; padding:0; margin:0; counter-reset:o;
    font-family:var(--p-body-font); font-size:15px; line-height:1.75;
    color:var(--p-ink);
  }
  .v103p__outline li {
    counter-increment:o; padding:7px 0 7px 28px; position:relative;
    border-bottom:1px dotted rgba(26,18,8,0.18);
  }
  .v103p__outline li:last-child { border-bottom:none; }
  .v103p__outline li::before {
    content:counter(o, upper-roman) '.';
    position:absolute; left:0; top:7px;
    font-family:'Cinzel',serif; font-size:11px; letter-spacing:0.1em;
    color:var(--p-gold-soft); opacity:1;
  }
  .v103p__outline-l3 {
    padding-left:42px !important; font-size:13px; color:var(--p-ink-soft);
  }
  .v103p__outline-l3::before { display:none; }

  .v103p__notice {
    margin-top:24px; padding-top:20px;
    border-top:1px solid rgba(184,147,44,0.4);
  }
  .v103p__notice-kicker {
    display:block; font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.4em;
    color:var(--p-gold-soft); text-transform:uppercase; margin-bottom:8px;
  }
  .v103p__notice p {
    font-family:var(--p-body-font); font-size:14px; line-height:1.75;
    color:var(--p-ink-soft); margin:0;
  }

  /* CONTENT — 베이지 페이퍼 카드 + 진한 잉크 (가독성 최우선) */
  .v103p__content {
    font-family:var(--p-body-font);
    font-size:var(--p-body-size); line-height:var(--p-body-line); color:var(--p-ink);
    letter-spacing:0;
    padding:54px 56px 64px;
    border:1px solid rgba(184,147,44,0.4);
    background:linear-gradient(116deg, #fffdf8 0%, #f7efe1 58%, #eadabc 100%);
    box-shadow:0 30px 80px -50px rgba(26,18,8,0.22), 0 8px 24px -16px rgba(26,18,8,0.12);
  }
  .v103p__content > * { max-width:100%; }
  .v103p__content h1 {
    font-family:'Nanum Myeongjo',serif; font-weight:700;
    font-size:34px; line-height:1.36; letter-spacing:-0.02em;
    color:var(--p-ink); margin:0 0 34px;
    padding-bottom:18px; border-bottom:1px solid rgba(184,147,44,0.32);
    overflow-wrap:anywhere;
  }
  .v103p__content > p:first-of-type {
    font-family:var(--p-body-font); font-style:normal;
    font-size:20.5px; line-height:1.7; color:var(--p-ink);
    border-left:2px solid var(--p-gold-soft); padding-left:22px; margin-bottom:42px;
  }
  .v103p__content p { margin:0 0 24px; color:var(--p-ink); }
  .v103p__content h2 {
    font-family:'Nanum Myeongjo',serif; font-weight:700; font-size:18px;
    letter-spacing:0.1em; color:var(--p-gold-soft); text-transform:none;
    margin:64px 0 28px; padding-bottom:14px;
    border-bottom:1px solid rgba(184,147,44,0.45);
    position:relative;
  }
  .v103p__content h2::before {
    content:'§'; margin-right:14px; font-family:'Cormorant Garamond',serif;
    font-style:italic; font-size:18px; color:rgba(184,147,44,0.7); letter-spacing:0;
  }
  .v103p__content h2 + p {
    font-family:var(--p-body-font); font-weight:700; font-size:20.5px; line-height:1.64;
    color:var(--p-ink); letter-spacing:-0.01em; margin-bottom:28px;
  }
  .v103p__content h3 {
    font-family:'Nanum Myeongjo',serif; font-weight:700; font-size:19px;
    color:var(--p-ink); margin:36px 0 16px;
    padding-left:18px; border-left:3px solid var(--p-gold-soft);
    letter-spacing:-0.005em;
  }
  .v103p__content blockquote {
    margin:36px 0; padding:24px 28px;
    border-left:3px solid var(--p-gold-soft);
    background:linear-gradient(115deg, rgba(255,255,255,0.55) 0%, rgba(244,236,216,0.7) 100%);
    font-family:var(--p-body-font); font-style:normal; font-weight:400;
    font-size:20.5px; line-height:1.68; color:var(--p-ink);
  }
  .v103p__content blockquote p:last-child { margin-bottom:0; }
  .v103p__content em {
    color:var(--p-gold-soft); font-style:italic;
  }
  .v103p__content strong {
    color:var(--p-ink); font-weight:700;
  }
  .v103p__content ul, .v103p__content ol {
    margin:0 0 24px; padding-left:24px;
  }
  .v103p__content li { margin-bottom:8px; color:var(--p-ink); }
  .v103p__content ul li::marker { color:var(--p-gold-soft); }
  .v103p__content ol li::marker {
    color:var(--p-gold-soft); font-family:'Cinzel',serif; letter-spacing:0.05em;
  }
  .v103p__content a {
    color:var(--p-gold-soft); border-bottom:1px solid rgba(184,147,44,0.5);
  }
  .v103p__content a:hover {
    color:var(--p-ink); border-bottom-color:var(--p-ink);
  }
  .v103p__content hr {
    margin:54px 0; height:1px; background:linear-gradient(90deg, transparent, rgba(184,147,44,0.5), transparent);
    border:none;
  }
  .v103p__content img {
    max-width:100%; height:auto;
    margin:32px 0; border:1px solid rgba(184,147,44,0.4);
    box-shadow:0 20px 60px -30px rgba(26,18,8,0.25);
  }
  .v103p__content table {
    width:100%; max-width:100%; margin:28px 0; border-collapse:collapse;
    font-family:var(--p-body-font); font-size:15px;
    table-layout:fixed;
    background:rgba(255,255,255,0.36);
  }
  .v103p__content th, .v103p__content td {
    padding:13px 14px; border:1px solid rgba(184,147,44,0.26);
    text-align:left; vertical-align:top; color:var(--p-ink-soft);
    overflow-wrap:anywhere; word-break:keep-all;
  }
  .v103p__content th {
    color:var(--p-gold-soft); font-family:'Cinzel',serif; font-size:11px;
    letter-spacing:0.2em; text-transform:uppercase; font-weight:500;
  }

  /* RUG + COLOPHON */
  .v103p__rug {
    margin-top:72px; height:14px;
    background:
      repeating-linear-gradient(90deg, var(--p-rug) 0px, var(--p-rug) 8px, #5c1414 8px, #5c1414 12px, var(--p-gold-soft) 12px, var(--p-gold-soft) 14px, #5c1414 14px, #5c1414 18px, var(--p-rug) 18px, var(--p-rug) 26px),
      var(--p-rug);
    border-top:1px solid rgba(212,175,55,0.4); border-bottom:1px solid rgba(212,175,55,0.4);
    box-shadow:0 8px 24px -8px rgba(0,0,0,0.5);
  }
  .v103p__colophon {
    margin-top:48px; display:grid; grid-template-columns:1fr auto 1fr;
    align-items:center; gap:32px; padding-top:28px;
    border-top:1px solid rgba(184,147,44,0.4);
  }
  .v103p__colophon-l {
    font-family:'Cormorant Garamond',serif; font-style:italic; font-size:14px;
    color:var(--p-ink-soft); line-height:1.7;
  }
  .v103p__colophon-c {
    font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.5em; color:var(--p-gold-soft);
    text-transform:uppercase; text-align:center;
  }
  .v103p__colophon-r {
    font-family:var(--p-body-font); font-size:13px; letter-spacing:0.04em;
    color:var(--p-ink-soft); text-align:right; line-height:1.8;
  }
  .v103p__colophon-r a {
    color:var(--p-gold-soft); border-bottom:1px solid rgba(184,147,44,0.5);
  }

  /* MOBILE — 한국어 keep-all */
  .v103p__title, .v103p__summary, .v103p__content,
  .v103p__content h2, .v103p__content h3, .v103p__content blockquote {
    word-break: keep-all; overflow-wrap: break-word;
  }
  @media (max-width:980px){
    .v103p__layout { grid-template-columns:1fr; gap:32px; }
    .v103p__outline { position:static; }
  }
  @media (max-width:780px){
    .v103p__frame { padding:18px 16px 48px; }
    .v103p__masthead {
      grid-template-columns:1fr; text-align:center; gap:12px;
    }
    .v103p__home, .v103p__home-en, .v103p__home-ko { text-align:center; }
    .v103p__home { font-size:12px; letter-spacing:0.14em; }
    .v103p__home-ko { font-size:15px; line-height:1.7; }
    .v103p__issue { font-size:11px; letter-spacing:0.18em; }
    .v103p__cta { justify-self:center; padding:12px 18px; font-size:12px; letter-spacing:0.12em; }
    .v103p .article-top-image { margin:18px auto 34px; }
    .v103p__hero {
      margin-top:36px;
      padding:38px 26px 34px;
      background:
        linear-gradient(115deg, rgba(11,65,49,0.76) 0%, rgba(10,61,46,0.74) 52%, rgba(2,17,10,0.86) 100%);
    }
    .v103p__kicker { font-size:11px; letter-spacing:0.14em; line-height:1.7; }
    .v103p__title { font-size:32px; line-height:1.38; letter-spacing:-0.025em; }
    .v103p__summary {
      font-size:19px; padding-left:16px; line-height:1.82;
      color:#fff7e8;
    }
    .v103p__meta { gap:10px 14px; font-size:11px; letter-spacing:0.12em; line-height:1.65; }
    .v103p__byline { font-size:15px; padding:6px 12px; }
    .v103p__tags { gap:8px; margin-top:16px; }
    .v103p__tag { padding:6px 12px; font-size:14px; line-height:1.45; }
    .v103p__outline { padding:26px 22px; }
    .v103p__outline-kicker { font-size:11px; letter-spacing:0.14em; line-height:1.6; }
    .v103p__outline ol { font-size:17px; line-height:1.75; }
    .v103p__notice p { font-size:16px; line-height:1.8; }
    .v103p__content {
      font-size:var(--p-body-size); line-height:var(--p-body-line); letter-spacing:0;
      padding:34px 20px 48px;
      overflow:hidden;
    }
    .v103p__content h1 { font-size:34px; line-height:1.36; margin-bottom:30px; }
    .v103p__content > p:first-of-type {
      font-size:20.5px; line-height:1.7;
      padding-left:16px; margin-bottom:34px;
    }
    .v103p__content p { margin-bottom:24px; }
    .v103p__content h2 {
      font-size:18px; letter-spacing:0.1em; line-height:1.5;
      margin:42px 0 20px;
    }
    .v103p__content h2 + p { font-size:20.5px; line-height:1.64; }
    .v103p__content h3 { font-size:19px; line-height:1.55; }
    .v103p__content blockquote {
      padding:18px 18px; font-size:20.5px; line-height:1.68;
    }
    .v103p__content table,
    .v103p__content thead,
    .v103p__content tbody,
    .v103p__content tr,
    .v103p__content th,
    .v103p__content td {
      display:block;
      width:100%;
    }
    .v103p__content table {
      border-collapse:separate; border-spacing:0;
      font-size:16px; background:transparent;
    }
    .v103p__content thead { display:none; }
    .v103p__content tr {
      margin:0 0 16px; padding:14px 14px 12px;
      border:1px solid rgba(184,147,44,0.3);
      background:linear-gradient(135deg, rgba(255,255,255,0.62), rgba(251,241,220,0.72));
      box-shadow:0 10px 26px -22px rgba(26,18,8,0.25);
    }
    .v103p__content td {
      border:0; border-bottom:1px solid rgba(184,147,44,0.2);
      padding:10px 0; color:rgba(26,18,8,0.86);
    }
    .v103p__content td:last-child { border-bottom:0; }
    .v103p__content td::before {
      display:block; margin-bottom:3px;
      font-family:'Cinzel',serif; font-size:10px; letter-spacing:0.12em;
      color:var(--p-gold-soft); text-transform:uppercase;
    }
    .v103p__content td:nth-child(1)::before { content:'확인 기준'; }
    .v103p__content td:nth-child(2)::before { content:'왜 중요한가요'; }
    .v103p__content td:nth-child(3)::before { content:'확인할 근거'; }
    .v103p__colophon { grid-template-columns:1fr; text-align:center; gap:14px; }
    .v103p__colophon-l, .v103p__colophon-r { text-align:center; font-size:14px; }
  }
  @media (max-width:420px){
    .v103p__frame { padding-left:14px; padding-right:14px; }
    .v103p__hero { padding:34px 22px 32px; }
    .v103p__title { font-size:30px; line-height:1.4; }
    .v103p__summary { font-size:18px; line-height:1.82; }
    .v103p__content { font-size:var(--p-body-size); line-height:var(--p-body-line); padding:32px 18px 46px; }
    .v103p__content blockquote { font-size:20.5px; }
  }
