/* column_article.css — Shared styles for individual column detail pages.
   Inherits the COOD Journal aesthetic: papyrus background, ink/gold accents,
   serif typography with Cinzel for English and Shippori Mincho for Japanese. */

:root{
  --papyrus:#efe4cc;
  --papyrus-light:#f6efdc;
  --papyrus-dark:#e0d3b3;
  --ink:#2a2113;
  --ink-soft:#5a4a30;
  --sand-100:#d7c69c;
  --sand-200:#b8a370;
  --sand-300:#9c8553;
  --gold:#b89438;
  --gold-bright:#c9a449;
  --line:rgba(60,45,20,.22);
  --line-soft:rgba(60,45,20,.10);
  --black:#0c0905;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--papyrus);color:var(--ink)}
body{
  font-family:"Noto Serif JP",serif;
  font-weight:300;
  line-height:1.85;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
}

/* ===== Header (mirror of B_Journal_Columns.html) ===== */
header.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(239,228,204,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  padding:18px 48px;
  display:flex;justify-content:space-between;align-items:center;
}
.site-header .logo{
  display:block;width:120px;height:32px;
  text-decoration:none;
}
.site-header nav{display:flex;gap:36px;align-items:center}
.site-header nav a{
  font-family:"Cinzel",serif;
  font-size:12px;letter-spacing:.25em;
  color:var(--ink);text-decoration:none;
  text-transform:uppercase;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  transition:color .2s;
}
.site-header nav a:hover{color:var(--gold)}
.site-header nav a .jp{
  font-family:"Shippori Mincho",serif;
  font-size:9px;letter-spacing:.15em;
  color:var(--ink-soft);text-transform:none;
}
.site-header .contact-btn{
  background:var(--ink);color:var(--papyrus);
  padding:10px 20px;
  letter-spacing:.25em;
  border:none;cursor:pointer;
  font-family:"Cinzel",serif;font-size:11px;
  text-transform:uppercase;
  text-decoration:none;
  transition:background .25s;
}
.site-header .contact-btn:hover{background:var(--gold)}

/* ===== Breadcrumb ===== */
.crumb{
  padding:20px 48px;
  font-family:"Cinzel",serif;
  font-size:11px;letter-spacing:.25em;
  color:var(--ink-soft);
  text-transform:uppercase;
  border-bottom:1px solid var(--line-soft);
}
.crumb a{color:var(--ink-soft);text-decoration:none;transition:color .2s}
.crumb a:hover{color:var(--gold)}
.crumb span{margin:0 12px;color:var(--ink-soft);opacity:.6}

/* ===== Article hero ===== */
.article-hero{
  padding:80px 48px 0;
  max-width:980px;margin:0 auto;
}
.article-hero .eyebrow{
  display:flex;gap:16px;align-items:center;
  margin-bottom:28px;
}
.article-hero .eyebrow .cat{
  font-family:"Cinzel",serif;
  font-size:11px;letter-spacing:.45em;
  color:var(--gold);
  padding:4px 10px;
  border:1px solid var(--gold);
  text-transform:uppercase;
}
.article-hero .eyebrow .date{
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:15px;
  color:var(--ink-soft);
}
.article-hero h1{
  font-family:"Shippori Mincho",serif;
  font-size:38px;
  line-height:1.55;
  font-weight:500;
  color:var(--ink);
  letter-spacing:.02em;
  margin-bottom:32px;
  text-wrap:pretty;
}
.article-hero .lede{
  font-family:"Shippori Mincho",serif;
  font-size:17px;
  line-height:2.0;
  color:var(--ink-soft);
  max-width:760px;
  border-left:2px solid var(--gold);
  padding-left:24px;
  margin-bottom:48px;
}
.article-hero .author-row{
  display:flex;align-items:center;gap:18px;
  padding-top:24px;
  border-top:1px solid var(--line-soft);
  margin-bottom:48px;
}
.article-hero .author-row .avatar{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-bright) 100%);
  display:grid;place-items:center;
  font-family:"Cinzel",serif;color:var(--papyrus);
  font-size:14px;letter-spacing:.05em;
  border:1px solid var(--gold);
  overflow:hidden;
}
.article-hero .author-row .avatar img,
.author-footer .avatar img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.article-hero .author-row .name{
  font-family:"Shippori Mincho",serif;
  font-size:15px;color:var(--ink);
}
.article-hero .author-row .role{
  font-family:"Cormorant Garamond",serif;
  font-style:italic;font-size:13px;
  color:var(--ink-soft);
}

/* ===== Cover image ===== */
.article-cover{
  max-width:1180px;margin:0 auto 80px;
  padding:0 48px;
}
.article-cover .frame{
  position:relative;
  height:520px;
  overflow:hidden;
  border:1px solid var(--line);
}
.article-cover .frame img{
  width:100%;height:100%;
  object-fit:cover;
  display:block;
}
.article-cover .frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(12,9,5,.0) 60%, rgba(12,9,5,.4) 100%);
  pointer-events:none;
}
.article-cover .caption{
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:13px;
  color:var(--ink-soft);
  margin-top:14px;
  text-align:center;
}

/* ===== Article body ===== */
.article-body{
  max-width:760px;
  margin:0 auto;
  padding:0 48px 100px;
}
.article-body h2{
  font-family:"Shippori Mincho",serif;
  font-size:28px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:.04em;
  margin:64px 0 24px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
  position:relative;
}
.article-body h2::before{
  content:"𓂀";
  position:absolute;
  left:-44px;top:4px;
  color:var(--gold);
  font-size:22px;
  font-family:"Noto Sans Egyptian Hieroglyphs","Aegyptus",serif;
}
.article-body h3{
  font-family:"Shippori Mincho",serif;
  font-size:20px;
  font-weight:500;
  color:var(--ink);
  letter-spacing:.04em;
  margin:48px 0 18px;
}
.article-body p{
  font-family:"Shippori Mincho",serif;
  font-size:16px;
  line-height:2.0;
  color:var(--ink);
  margin-bottom:24px;
  text-wrap:pretty;
}
.article-body p .em{
  background:linear-gradient(transparent 60%, rgba(232,201,134,.45) 60%);
  font-weight:500;
}
.article-body ul, .article-body ol{
  font-family:"Shippori Mincho",serif;
  font-size:16px;
  line-height:2.0;
  color:var(--ink);
  margin:0 0 32px 28px;
}
.article-body li{margin-bottom:10px}
.article-body blockquote{
  margin:40px 0;
  padding:28px 32px;
  border-left:3px solid var(--gold);
  background:rgba(232,201,134,.12);
  font-family:"Shippori Mincho",serif;
  font-size:17px;line-height:1.95;
  color:var(--ink);
  position:relative;
}
.article-body blockquote::before{
  content:"\201C";
  position:absolute;
  top:-14px;left:18px;
  font-family:"Cormorant Garamond",serif;
  font-size:56px;
  color:var(--gold);
  background:var(--papyrus);
  padding:0 8px;
  line-height:1;
}
.article-body blockquote cite{
  display:block;
  margin-top:14px;
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:14px;
  color:var(--ink-soft);
}
.article-body blockquote cite::before{content:"— "}

/* Speaker dialog blocks for interview / roundtable columns */
.dialog{
  margin:24px 0;
  display:grid;
  grid-template-columns:80px 1fr;
  gap:18px;
  align-items:start;
}
.dialog .speaker{
  font-family:"Cinzel",serif;
  font-size:11px;letter-spacing:.2em;
  color:var(--gold);
  padding-top:6px;
  text-align:right;
  border-right:1px solid var(--line);
  padding-right:14px;
  text-transform:uppercase;
}
.dialog .line{
  font-family:"Shippori Mincho",serif;
  font-size:15.5px;
  line-height:1.95;
  color:var(--ink);
}

/* Hieroglyph divider */
.divider{
  margin:64px auto;
  text-align:center;
  font-family:"Noto Sans Egyptian Hieroglyphs","Aegyptus",serif;
  font-size:22px;
  color:var(--gold);
  letter-spacing:.5em;
  opacity:.6;
}

/* Key takeaway box */
.takeaway{
  margin:48px 0;
  padding:36px 40px;
  background:rgba(60,45,20,.04);
  border:1px solid var(--line);
  border-top:3px solid var(--gold);
}
.takeaway .label{
  font-family:"Cinzel",serif;
  font-size:10px;letter-spacing:.4em;
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:14px;
}
.takeaway ul{margin:0 0 0 22px}
.takeaway li{margin-bottom:8px;font-size:15px}

/* Tags */
.article-tags{
  margin:64px 0 0;
  padding-top:32px;
  border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
}
.article-tags .label{
  font-family:"Cinzel",serif;
  font-size:10px;letter-spacing:.4em;
  color:var(--ink-soft);
  text-transform:uppercase;
  margin-right:10px;
}
.article-tags .tag{
  font-family:"Shippori Mincho",serif;
  font-size:13px;
  color:var(--ink-soft);
  padding:6px 14px;
  border:1px solid var(--line);
  background:var(--papyrus-light);
}

/* ===== Author footer ===== */
.author-footer{
  max-width:760px;margin:80px auto 0;
  padding:48px 48px 0;
  display:flex;gap:28px;align-items:flex-start;
  border-top:1px solid var(--line);
}
.author-footer .avatar{
  width:88px;height:88px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-bright) 100%);
  display:grid;place-items:center;
  font-family:"Cinzel",serif;color:var(--papyrus);
  font-size:18px;letter-spacing:.05em;
  border:1px solid var(--gold);
  flex-shrink:0;
  overflow:hidden;
}
.author-footer .info .role-tag{
  font-family:"Cinzel",serif;
  font-size:10px;letter-spacing:.4em;
  color:var(--gold);
  text-transform:uppercase;
  margin-bottom:8px;
}
.author-footer .info .name-jp{
  font-family:"Shippori Mincho",serif;
  font-size:20px;
  color:var(--ink);
  font-weight:500;
  margin-bottom:6px;
}
.author-footer .info .name-en{
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:14px;
  color:var(--ink-soft);
  margin-bottom:14px;
}
.author-footer .info .bio{
  font-family:"Shippori Mincho",serif;
  font-size:14px;line-height:1.85;
  color:var(--ink-soft);
}

/* ===== Related columns ===== */
.related{
  margin-top:120px;
  padding:80px 48px;
  background:var(--papyrus-dark);
  border-top:1px solid var(--line);
}
.related .container{max-width:1180px;margin:0 auto}
.related h2{
  font-family:"Cinzel",serif;
  font-size:20px;letter-spacing:.4em;
  color:var(--ink);text-transform:uppercase;
  margin-bottom:6px;
  font-weight:500;
}
.related .jp{
  font-family:"Shippori Mincho",serif;
  font-size:13px;letter-spacing:.4em;
  color:var(--ink-soft);
  margin-bottom:40px;
}
.related-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
}
.related-card{
  background:var(--papyrus-light);
  border:1px solid var(--line);
  text-decoration:none;
  color:inherit;
  display:flex;flex-direction:column;
  overflow:hidden;
  transition:transform .35s, box-shadow .35s;
}
.related-card:hover{
  transform:translateY(-3px);
  box-shadow:0 8px 24px rgba(60,45,20,.12);
}
.related-card .thumb{
  height:160px;overflow:hidden;
  position:relative;
}
.related-card .thumb img{
  width:100%;height:100%;
  object-fit:cover;
  transition:transform .5s;
}
.related-card:hover .thumb img{transform:scale(1.05)}
.related-card .body{padding:20px 22px 24px}
.related-card h3{
  font-family:"Shippori Mincho",serif;
  font-size:15px;line-height:1.65;
  font-weight:500;
  color:var(--ink);
  letter-spacing:.02em;
  margin-bottom:14px;
  text-wrap:pretty;
}
.related-card .meta{
  font-family:"Cinzel",serif;
  font-size:10px;letter-spacing:.3em;
  color:var(--ink-soft);
  text-transform:uppercase;
}

/* ===== Back to journal CTA ===== */
.back-to-journal{
  text-align:center;
  padding:60px 0 100px;
}
.back-to-journal a{
  display:inline-flex;align-items:center;gap:12px;
  font-family:"Cinzel",serif;
  font-size:12px;letter-spacing:.3em;
  color:var(--ink);text-decoration:none;
  text-transform:uppercase;
  padding:14px 32px;
  border:1px solid var(--ink);
  transition:background .25s, color .25s;
}
.back-to-journal a:hover{
  background:var(--ink);color:var(--papyrus);
}
.back-to-journal a span{font-style:italic;font-family:"Cormorant Garamond",serif}

/* ===== Footer ===== */
.site-footer{
  background:var(--black);
  color:var(--papyrus);
  padding:64px 48px 32px;
}
.site-footer .footer-grid{
  max-width:1180px;margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:48px;
}
.site-footer h4{
  font-family:"Cinzel",serif;
  font-size:11px;letter-spacing:.35em;
  color:var(--sand-200);
  margin-bottom:18px;
  text-transform:uppercase;
}
.site-footer a{
  display:block;
  color:var(--papyrus);
  text-decoration:none;
  font-family:"Shippori Mincho",serif;
  font-size:13px;
  line-height:2.2;
  letter-spacing:.04em;
  transition:color .2s;
}
.site-footer a:hover{color:var(--gold-bright)}
.site-footer .footer-brand p{
  font-family:"Shippori Mincho",serif;
  font-size:13px;
  line-height:1.95;
  color:var(--sand-100);
  margin-top:14px;
}
.site-footer .footer-bottom{
  max-width:1180px;margin:48px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(232,201,134,.15);
  font-family:"Cormorant Garamond",serif;
  font-style:italic;
  font-size:12px;
  color:var(--sand-300);
  text-align:center;
}

/* ===== Responsive ===== */

/* Tablet & smaller laptops */
@media (max-width:960px){
  .site-header{padding:14px 24px;flex-wrap:wrap}
  .site-header nav{gap:14px;flex-wrap:wrap}
  .site-header nav a{font-size:10px;letter-spacing:.2em}
  .site-header nav a .jp{font-size:8px}
  .crumb{padding:16px 24px}
  .article-hero{padding:48px 24px 0}
  .article-hero h1{font-size:28px;line-height:1.5}
  .article-hero .lede{font-size:15px;line-height:1.85;padding-left:18px}
  .article-cover{padding:0 24px;margin-bottom:48px}
  .article-cover .frame{height:300px}
  .article-body{padding:0 24px 60px}
  .article-body h2{margin:48px 0 20px;font-size:23px}
  .article-body h2::before{display:none}
  .article-body h3{font-size:18px;margin:36px 0 14px}
  .article-body p, .article-body ul, .article-body ol{font-size:15px;line-height:1.95}
  .article-body blockquote{padding:24px;font-size:15.5px}
  .takeaway{padding:28px;margin:36px 0}
  .author-footer{padding:36px 24px 0;flex-direction:column;gap:18px}
  .related{padding:60px 24px;margin-top:80px}
  .related-grid{grid-template-columns:1fr;gap:18px}
  .related-card .thumb{height:200px}
  .site-footer{padding:48px 24px 24px}
  .site-footer .footer-grid{grid-template-columns:1fr;gap:32px}
  .dialog{grid-template-columns:1fr;gap:6px}
  .dialog .speaker{text-align:left;border:none;padding:0;font-size:12px}
}

/* Phone — under 600px */
@media (max-width:600px){
  .site-header{padding:12px 16px;gap:12px}
  .site-header .logo{width:96px;height:28px}
  /* Hide the long inline nav on phones, swap to a hamburger drawer */
  .site-header nav{
    position:fixed;
    top:0;left:0;right:0;
    background:rgba(239,228,204,.98);
    backdrop-filter:blur(12px);
    flex-direction:column;
    padding:72px 28px 32px;
    gap:0;
    box-shadow:0 6px 24px rgba(60,45,20,.18);
    transform:translateY(-105%);
    transition:transform .35s cubic-bezier(.2,.7,.2,1);
    z-index:90;
  }
  .site-header nav.open{transform:translateY(0)}
  .site-header nav a{
    font-size:14px;letter-spacing:.2em;
    padding:14px 0;
    border-bottom:1px solid var(--line-soft);
    display:flex;align-items:center;justify-content:space-between;flex-direction:row;
  }
  .site-header nav a .jp{font-size:10px;color:var(--ink-soft)}
  .site-header nav .contact-btn{
    background:var(--ink);color:var(--papyrus);
    text-align:center;padding:16px;margin-top:14px;
    justify-content:center;border-bottom:none;
  }
  /* Hamburger button */
  .nav-toggle-mobile{
    display:inline-flex;
    align-items:center;justify-content:center;
    width:42px;height:42px;
    background:none;border:none;cursor:pointer;
    color:var(--ink);
    position:relative;
    z-index:95;
    margin-left:auto;
  }
  .nav-toggle-mobile span{
    position:absolute;left:9px;width:24px;height:1.5px;
    background:currentColor;
    transition:transform .3s, top .3s, opacity .2s;
  }
  .nav-toggle-mobile span:nth-child(1){top:14px}
  .nav-toggle-mobile span:nth-child(2){top:20px}
  .nav-toggle-mobile span:nth-child(3){top:26px}
  .nav-toggle-mobile.open span:nth-child(1){top:20px;transform:rotate(45deg)}
  .nav-toggle-mobile.open span:nth-child(2){opacity:0}
  .nav-toggle-mobile.open span:nth-child(3){top:20px;transform:rotate(-45deg)}

  .crumb{padding:14px 16px;font-size:10px;letter-spacing:.2em}
  .crumb span{margin:0 8px}
  .article-hero{padding:32px 18px 0}
  .article-hero h1{font-size:22px;line-height:1.5;margin-bottom:24px}
  .article-hero .lede{font-size:14px;line-height:1.85;padding-left:14px;margin-bottom:32px}
  .article-hero .eyebrow{margin-bottom:18px;flex-wrap:wrap;gap:10px}
  .article-hero .eyebrow .cat{font-size:10px;letter-spacing:.35em;padding:3px 8px}
  .article-hero .eyebrow .date{font-size:13px}
  .article-hero .author-row{margin-bottom:32px;padding-top:18px}
  .article-hero .author-row .avatar{width:40px;height:40px}
  .article-hero .author-row .name{font-size:13.5px}
  .article-hero .author-row .role{font-size:12px}
  .article-cover{padding:0 16px;margin-bottom:32px}
  .article-cover .frame{height:200px}
  .article-cover .caption{font-size:11.5px;margin-top:10px;padding:0 6px}
  .article-body{padding:0 18px 48px}
  .article-body h2{font-size:20px;line-height:1.5;margin:40px 0 16px;padding-bottom:8px}
  .article-body h3{font-size:16.5px;margin:28px 0 12px}
  .article-body p, .article-body ul, .article-body ol{font-size:14.5px;line-height:1.95;margin-bottom:18px}
  .article-body ul, .article-body ol{margin-left:22px}
  .article-body blockquote{padding:20px 18px;font-size:14.5px;margin:28px 0}
  .article-body blockquote::before{font-size:42px;top:-10px;left:12px}
  .article-body blockquote cite{font-size:12.5px;margin-top:10px}
  .takeaway{padding:24px 20px;margin:32px 0}
  .takeaway .label{font-size:9px;letter-spacing:.35em;margin-bottom:12px}
  .takeaway li{font-size:13.5px}
  .article-tags{margin-top:48px;padding-top:24px;gap:8px}
  .article-tags .label{font-size:9px;letter-spacing:.3em}
  .article-tags .tag{font-size:11.5px;padding:5px 11px}
  .divider{font-size:18px;letter-spacing:.4em;margin:48px auto}
  .dialog{padding:14px 0}
  .dialog .speaker{font-size:10.5px;color:var(--gold)}
  .dialog .line{font-size:14.5px}
  .author-footer{padding:32px 18px 0;margin-top:48px;gap:14px}
  .author-footer .avatar{width:64px;height:64px}
  .author-footer .info .name-jp{font-size:17px}
  .author-footer .info .name-en{font-size:13px}
  .author-footer .info .bio{font-size:13px;line-height:1.8}
  .related{padding:48px 18px;margin-top:60px}
  .related h2{font-size:16px;letter-spacing:.3em}
  .related .jp{font-size:11px;letter-spacing:.3em;margin-bottom:28px}
  .related-card .thumb{height:160px}
  .related-card .body{padding:16px 18px 20px}
  .related-card h3{font-size:13.5px;line-height:1.6}
  .related-card .meta{font-size:9.5px}
  .back-to-journal{padding:48px 16px 80px}
  .back-to-journal a{padding:13px 22px;font-size:11px;letter-spacing:.25em}
  .site-footer{padding:40px 18px 80px}
  .site-footer .footer-grid{gap:24px}
  .site-footer h4{font-size:10px;letter-spacing:.3em;margin-bottom:12px}
  .site-footer a{font-size:12.5px;line-height:2.0}
  .site-footer .footer-brand p{font-size:12px;line-height:1.85}
  .site-footer .footer-bottom{font-size:11px;text-align:center}
}

/* Very small phones (iPhone SE etc) */
@media (max-width:380px){
  .article-hero h1{font-size:20px}
  .article-hero .lede{font-size:13.5px}
  .article-body h2{font-size:18.5px}
  .article-body p{font-size:14px}
}
