
  html { scroll-behavior: smooth; }
  html, body { margin: 0; padding: 0; background: rgb(245,242,238); }
  * { box-sizing: border-box; }

  @keyframes g5In { from { opacity: 0; translate: 0 16px; } to { opacity: 1; translate: 0 0; } }

  #go5-article { --g5-content: 1500px; --g5-gutter: 48px; }
  @media (min-width: 1025px) {
    #go5-article header,
    #go5-article section[data-screen-label="Article Header"],
    #go5-article section[data-screen-label="Article Body"],
    #go5-article section[data-screen-label="Related Articles"],
    #go5-article section[data-screen-label="Soft CTA"],
    #go5-article footer {
      padding-left:  max(var(--g5-gutter), calc((100% - var(--g5-content)) / 2)) !important;
      padding-right: max(var(--g5-gutter), calc((100% - var(--g5-content)) / 2)) !important;
    }
  }

  #go5-article .g5-eyebrow { font-family:'Inter',sans-serif; font-weight:700; font-size:13px; letter-spacing:2px; text-transform:uppercase; color:#8c8c8c; margin:0; }
  #go5-article .g5-eyebrow-light { color:rgba(255,255,255,0.7); }
  #go5-article .g5-h1 { font-family:'Noto Sans JP',sans-serif; font-weight:500; font-size:40px; line-height:1.44; letter-spacing:-0.5px; color:#fff; margin:0; }
  #go5-article .g5-body { font-family:'Noto Sans JP',sans-serif; font-weight:400; font-size:15px; line-height:1.75; color:#5a5a5a; margin:0; }

  #go5-article a { transition: transform .3s cubic-bezier(.2,.75,.3,1), box-shadow .3s ease, color .25s ease, background-color .25s ease, border-color .25s ease, opacity .25s ease; }
  .g5-in { animation: g5In .7s cubic-bezier(.2,.75,.3,1) both; }

  #go5-article .g5-crumb { text-decoration: none; font-family:'Noto Sans JP',sans-serif; font-weight: 500; font-size: 13px; color: rgba(255,255,255,0.55); }
  #go5-article .g5-crumb:hover { color: rgba(255,255,255,0.9); }
  #go5-article .g5-cat-pill { text-decoration: none; font-family:'Inter',sans-serif; font-weight:700; font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color: rgb(38,150,175); background: rgba(38,150,175,0.14); padding: 6px 14px; border-radius: 100px; }
  #go5-article .g5-cat-pill:hover { background: rgba(38,150,175,0.24); }

  /* prose */
  #go5-article .g5-prose { font-family:'Noto Sans JP',sans-serif; font-weight:400; font-size:16.5px; line-height:1.95; color: rgb(70,70,70); }
  #go5-article .g5-prose h2 { font-family:'Noto Sans JP',sans-serif; font-weight:700; font-size:26px; line-height:1.5; color: rgb(28,28,28); margin: 44px 0 18px; scroll-margin-top: 24px; }
  #go5-article .g5-prose h3 { font-family:'Noto Sans JP',sans-serif; font-weight:700; font-size:19px; line-height:1.6; color: rgb(34,34,34); margin: 32px 0 14px; }
  #go5-article .g5-prose p { margin: 0 0 22px; }
  #go5-article .g5-prose ul, #go5-article .g5-prose ol { margin: 0 0 22px; padding-left: 22px; display: flex; flex-direction: column; gap: 10px; }
  #go5-article .g5-prose li { padding-left: 4px; }
  #go5-article .g5-prose strong { color: rgb(30,30,30); font-weight: 700; }
  #go5-article .g5-prose figure { margin: 32px 0; display: flex; flex-direction: column; gap: 10px; }
  #go5-article .g5-prose figcaption { font-family:'Noto Sans JP',sans-serif; font-weight:500; font-size:12.5px; color: rgb(150,150,150); text-align: center; }
  #go5-article .g5-blockquote { margin: 34px 0; padding: 4px 0 4px 24px; border-left: 3px solid rgb(38,150,175); font-family:'Noto Sans JP',sans-serif; font-weight:500; font-size:19px; line-height:1.7; color: rgb(50,50,50); }

  /* TOC */
  #go5-article .g5-toc a { display: block; text-decoration: none; font-family:'Noto Sans JP',sans-serif; font-weight:500; font-size:13.5px; line-height: 22px; color: rgb(110,110,110); padding: 7px 0; border-left: 2px solid transparent; padding-left: 14px; }
  #go5-article .g5-toc a:hover { color: rgb(38,150,175); border-left-color: rgb(38,150,175); }

  /* share */
  #go5-article .g5-share-btn { width: 38px; height: 38px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 1px solid rgb(222,219,214); color: rgb(90,90,90); text-decoration: none; background: #fff; }
  #go5-article .g5-share-btn:hover { border-color: rgb(38,150,175); color: rgb(38,150,175); transform: translateY(-2px); }

  /* tag pill */
  #go5-article .g5-tag { text-decoration: none; font-family:'Noto Sans JP',sans-serif; font-weight:500; font-size:13px; padding:7px 15px; border-radius:100px; border:1px solid rgb(222,219,214); color:rgb(90,90,90); background: #fff; }
  #go5-article .g5-tag:hover { border-color: rgb(38,150,175); color: rgb(38,150,175); }

  /* author card */
  #go5-article .g5-avatar { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; background: linear-gradient(135deg, rgb(100,200,220), rgb(231,100,122)); display:flex; align-items:center; justify-content:center; font-family:'Noto Sans JP',sans-serif; font-weight:700; font-size:20px; color:#fff; }

  /* related article cards (matches Blog grid) */
  #go5-article .g5-article-card { border-radius:12px; overflow:hidden; background: rgb(250,248,245); box-shadow: 0 1px 8px rgba(0,0,0,0.05), inset 0 0 0 1px rgba(0,0,0,0.05); display:flex; flex-direction:column; text-decoration:none; transition: transform .4s cubic-bezier(.2,.75,.3,1), box-shadow .4s cubic-bezier(.2,.75,.3,1); }
  #go5-article .g5-article-card:hover { transform: translateY(-6px); box-shadow: 0 22px 40px -18px rgba(0,0,0,0.22); }
  #go5-article .g5-article-card .g5-thumb { transition: transform .55s cubic-bezier(.2,.75,.3,1); }
  #go5-article .g5-article-card:hover .g5-thumb { transform: scale(1.05); }
  #go5-article .g5-read-more { display:flex; align-items:center; gap:4px; font-family:'Noto Sans JP',sans-serif; font-weight:600; font-size:12px; color:rgb(34,34,34); }
  #go5-article .g5-article-card:hover .g5-read-more { color: rgb(38,150,175); }
  #go5-article .g5-article-card:hover .g5-read-more svg { transform: translateX(3px); }
  #go5-article .g5-read-more svg { transition: transform .3s cubic-bezier(.2,.75,.3,1); }

  /* CTA button */
  #go5-article .g5-cta-soft { display:inline-flex; align-items:center; gap:8px; padding:14px 30px; border-radius:100px; background: rgb(34,34,34); color:#fff; text-decoration:none; font-family:'Noto Sans JP',sans-serif; font-weight:600; font-size:15px; }
  #go5-article .g5-cta-soft:hover { transform: translateY(-3px); background: rgb(20,20,20); }

  /* responsive */
  @media (max-width: 1024px) {
    #go5-article header,
    #go5-article section[data-screen-label="Article Header"],
    #go5-article section[data-screen-label="Article Body"],
    #go5-article section[data-screen-label="Related Articles"],
    #go5-article section[data-screen-label="Soft CTA"] { padding-left: 44px !important; padding-right: 44px !important; }
    #go5-article .g5-body-grid { grid-template-columns: 1fr !important; }
    #go5-article .g5-sidebar { display: none !important; }
    #go5-article .g5-related-grid { grid-template-columns: repeat(2, 1fr) !important; }
    #go5-article section[data-screen-label="Article Header"] h1 { font-size: 32px !important; }
  }
  @media (max-width: 640px) {
    #go5-article header,
    #go5-article section[data-screen-label="Article Header"],
    #go5-article section[data-screen-label="Article Body"],
    #go5-article section[data-screen-label="Related Articles"],
    #go5-article section[data-screen-label="Soft CTA"] { padding-left: 22px !important; padding-right: 22px !important; }
    #go5-article section[data-screen-label="Article Header"] h1 { font-size: clamp(24px, 8vw, 30px) !important; }
    #go5-article .g5-meta-row { flex-wrap: wrap !important; row-gap: 10px !important; }
    #go5-article .g5-related-grid { grid-template-columns: 1fr !important; }
    #go5-article .g5-soft-cta-inner { flex-direction: column !important; align-items: stretch !important; gap: 20px !important; padding: 32px 26px !important; }
    #go5-article .g5-cta-soft { justify-content: center !important; width: 100% !important; }
    #go5-article .g5-author-row { flex-direction: column !important; align-items: flex-start !important; }
    #go5-article .g5-featured-img { height: 220px !important; }
  }
