/*
Theme Name: 再生医療ガイド (Saisei Guide)
Theme URI: https://regenerative-medicine.jp/
Description: 再生医療・幹細胞治療の中立情報メディア「再生医療ガイド」向けカスタムテーマ。明るい未来的デザイン。悩みから探す／コラム／中立の相談導線を備えます。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: saisei-guide
*/

:root{
    --paper:#F2F6F5;
    --paper-2:#FFFFFF;
    --paper-3:#E9F1EF;
    --ink:#0D211F;
    --body:#3A524D;
    --ink-soft:#4C645F;
    --faint:#6E837E;
    --mint:#0EA88E;
    --mint-deep:#087865;
    --iris-v:#5B48D6;
    --iris-r:#DD5E9C;
    --mint-wash:#DDF1EC;
    --line:#d6e0de;
    --line-soft:#e6edeb;
    --shadow:0 26px 70px -32px rgba(9,80,70,.42);
    --shadow-sm:0 14px 40px -22px rgba(9,80,70,.4);
    --font-disp:'Syne',sans-serif;
    --font-jp:'Zen Kaku Gothic New',sans-serif;
    --font-min:'Zen Old Mincho',serif;
    --font-body:'Noto Sans JP',sans-serif;
    --font-mono:'Space Grotesk',sans-serif;
    --pad:clamp(20px,5vw,120px);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--body);font-family:var(--font-body);font-weight:400;line-height:1.95;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  ::selection{background:var(--mint);color:#fff}
  .wrap{max-width:1200px;margin:0 auto}

  .eyebrow{font-family:var(--font-disp);font-weight:700;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mint-deep);display:inline-flex;align-items:center;gap:.8em}
  .eyebrow::before{content:"";width:22px;height:2px;background:var(--mint)}
  .eyebrow.light{color:#eafff9}
  .eyebrow.light::before{background:#eafff9}
  .ph{outline:1.5px dashed rgba(14,168,142,.55);outline-offset:3px;border-radius:3px}
  .fill{color:var(--mint-deep);font-style:normal;border-bottom:1px dashed rgba(14,168,142,.6)}
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}

  /* NAV */
  nav{position:fixed;inset:0 0 auto 0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:16px var(--pad);transition:padding .4s,background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
  nav.shrink{padding:11px var(--pad);background:rgba(242,246,245,.86);backdrop-filter:blur(16px);border-color:var(--line)}
  .brand{display:flex;align-items:baseline;gap:10px}
  .brand .mk{font-family:var(--font-disp);font-weight:800;letter-spacing:.01em;font-size:1.08rem;color:var(--ink)}
  .brand .mk b{color:var(--mint-deep)}
  .brand .sub{font-family:var(--font-mono);font-weight:500;font-size:.58rem;letter-spacing:.22em;color:var(--faint)}
  .nav-right{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}
  .nav-links{display:flex;gap:clamp(14px,1.9vw,28px)}
  .nav-links a{font-family:var(--font-jp);font-weight:500;font-size:.84rem;color:var(--ink-soft);transition:color .3s;position:relative}
  .nav-links a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:2px;background:var(--mint);transition:width .3s}
  .nav-links a:hover{color:var(--mint-deep)}.nav-links a:hover::after{width:100%}
  .nav-cta{font-family:var(--font-jp);font-weight:700;font-size:.82rem;padding:10px 20px;border-radius:100px;color:#fff;background:linear-gradient(100deg,var(--mint),var(--iris-v));transition:transform .3s,box-shadow .3s;box-shadow:0 8px 24px -8px rgba(14,168,142,.6)}
  .nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 32px -6px rgba(14,168,142,.7)}
  @media(max-width:880px){.nav-links{display:none}}

  /* HERO */
  header{position:relative;padding:clamp(120px,15vh,170px) var(--pad) clamp(60px,9vh,96px);overflow:hidden}
  .aurora{position:absolute;z-index:0;border-radius:50%;filter:blur(80px);pointer-events:none;opacity:.6}
  .a1{width:44vw;height:44vw;max-width:600px;max-height:600px;right:6vw;top:0;background:radial-gradient(circle,rgba(14,168,142,.3),transparent 62%);animation:drift1 20s ease-in-out infinite}
  .a2{width:36vw;height:36vw;max-width:480px;max-height:480px;left:-6vw;bottom:-8vh;background:radial-gradient(circle,rgba(91,72,214,.2),transparent 64%);animation:drift2 24s ease-in-out infinite}
  @keyframes drift1{0%,100%{transform:translate(0,0)}50%{transform:translate(-4%,5%)}}
  @keyframes drift2{0%,100%{transform:translate(0,0)}50%{transform:translate(6%,-4%)}}
  .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,70px);align-items:center}
  @media(max-width:940px){.hero-grid{grid-template-columns:1fr;gap:36px}}
  .hero-in .eyebrow{margin-bottom:26px;opacity:0;animation:rise .9s .2s forwards}
  .hero-h1{font-family:var(--font-min);font-weight:600;font-size:clamp(2.4rem,5.6vw,4.5rem);line-height:1.3;letter-spacing:.02em;color:var(--ink);text-wrap:balance}
  .hero-h1 .ln{display:block;overflow:hidden}
  .hero-h1 .ln span{display:block;transform:translateY(115%);animation:rev 1.05s cubic-bezier(.2,.8,.2,1) forwards}
  .hero-h1 .ln:nth-child(1) span{animation-delay:.32s}
  .hero-h1 .ln:nth-child(2) span{animation-delay:.46s}
  .hero-h1 .grad{font-family:var(--font-disp);font-weight:800;font-style:normal;background:linear-gradient(100deg,var(--mint-deep),var(--iris-v) 55%,var(--iris-r));-webkit-background-clip:text;background-clip:text;color:transparent}
  .hero-p{margin-top:28px;max-width:500px;font-size:1.05rem;font-weight:400;line-height:2;color:var(--ink-soft);opacity:0;animation:rise 1s .9s forwards}
  .hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px;opacity:0;animation:rise 1s 1.1s forwards}
  .hero-tags span{font-family:var(--font-jp);font-weight:500;font-size:.8rem;padding:8px 16px;border-radius:100px;background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft)}
  .hero-visual{position:relative;opacity:0;animation:rise 1.1s .7s forwards}
  .hero-visual .frame{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:5/4}
  .hero-visual .frame img{width:100%;height:100%;object-fit:cover}
  .hero-visual .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 55%,rgba(14,168,142,.16))}
  .hero-visual .cap{position:absolute;left:16px;bottom:14px;z-index:2;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;color:#fff;background:rgba(13,33,31,.5);backdrop-filter:blur(6px);padding:7px 13px;border-radius:100px}
  .hero-visual .ring{position:absolute;inset:-14px;border:1px solid var(--line);border-radius:34px;z-index:-1}
  @keyframes rev{to{transform:translateY(0)}}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

  /* MARQUEE */
  .marquee{position:relative;z-index:2;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;overflow:hidden;background:var(--paper-2)}
  .mq-track{display:flex;gap:44px;width:max-content;animation:mq 34s linear infinite}
  .mq-track span{font-family:var(--font-disp);font-weight:700;font-size:.84rem;letter-spacing:.12em;color:var(--faint);display:flex;align-items:center;gap:44px;white-space:nowrap}
  .mq-track span::after{content:"—";color:var(--mint)}
  @keyframes mq{to{transform:translateX(-50%)}}

  section{position:relative;z-index:2;padding:clamp(74px,11vh,130px) var(--pad)}
  .band{background:var(--paper-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .band3{background:var(--paper-3)}
  .s-head{max-width:800px;margin-bottom:46px}
  .s-head .eyebrow{margin-bottom:18px}
  .s-head h2{font-family:var(--font-jp);font-weight:700;font-size:clamp(1.6rem,3.3vw,2.5rem);line-height:1.5;color:var(--ink)}
  .s-head h2 em{font-style:normal;background:linear-gradient(100deg,var(--mint-deep),var(--iris-v));-webkit-background-clip:text;background-clip:text;color:transparent}
  .s-head p{margin-top:16px;color:var(--ink-soft);font-size:1rem}

  /* FINDER */
  .finder-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
  @media(max-width:900px){.finder-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:520px){.finder-grid{grid-template-columns:1fr}}
  .fcard{position:relative;background:var(--paper-2);border:1px solid var(--line);border-radius:18px;padding:30px 26px 26px;overflow:hidden;transition:transform .45s,border-color .45s,box-shadow .45s;isolation:isolate}
  .fcard::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 0%,rgba(14,168,142,.1),transparent 60%);opacity:0;transition:opacity .45s}
  .fcard:hover{transform:translateY(-8px);border-color:rgba(14,168,142,.4);box-shadow:var(--shadow)}
  .fcard:hover::before{opacity:1}
  .fcard .no{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.12em;color:var(--mint-deep);font-weight:500}
  .fcard h3{font-family:var(--font-jp);font-weight:700;font-size:1.18rem;margin:16px 0 8px;line-height:1.5;color:var(--ink)}
  .fcard p{font-size:.88rem;color:var(--ink-soft);line-height:1.8}
  .fcard .go{margin-top:20px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;color:var(--mint-deep);display:inline-flex;align-items:center;gap:7px;font-weight:500}
  .fcard .go::after{content:"→";transition:transform .3s}.fcard:hover .go::after{transform:translateX(4px)}

  /* KNOW */
  .know-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,6vw,84px);align-items:center}
  @media(max-width:880px){.know-grid{grid-template-columns:1fr}}
  .know-visual{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}
  .know-visual img{width:100%;height:100%;object-fit:cover}
  .know-visual .tag{position:absolute;left:16px;bottom:14px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;color:#fff;background:rgba(13,33,31,.5);backdrop-filter:blur(6px);padding:7px 13px;border-radius:100px}
  .know-lead{font-family:var(--font-min);font-weight:600;font-size:clamp(1.35rem,2.3vw,1.75rem);line-height:1.85;color:var(--ink)}
  .know-body p{color:var(--body);margin:1.3em 0;font-size:1rem}
  .know-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
  @media(max-width:520px){.know-two{grid-template-columns:1fr}}
  .know-two div{background:var(--mint-wash);border:1px solid rgba(14,168,142,.2);border-radius:14px;padding:20px}
  .know-two h4{font-family:var(--font-jp);font-weight:700;font-size:1rem;color:var(--mint-deep);margin-bottom:8px}
  .know-two p{font-size:.86rem;color:#365650;line-height:1.75;font-weight:400}

  /* EMOTIONAL BAND */
  .emo{position:relative;min-height:56vh;display:flex;align-items:center;padding:clamp(70px,10vh,120px) var(--pad);overflow:hidden}
  .emo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:0}
  .emo::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,26,24,.72),rgba(8,26,24,.35) 55%,transparent)}
  .emo .emo-in{position:relative;z-index:2;max-width:620px;color:#fff}
  .emo h2{font-family:var(--font-min);font-weight:600;font-size:clamp(1.9rem,4.2vw,3.2rem);line-height:1.5;margin:20px 0;text-shadow:0 2px 30px rgba(0,0,0,.3)}
  .emo p{font-size:1.05rem;line-height:2;color:rgba(255,255,255,.94);max-width:500px;font-weight:400}

  /* APPROACH */
  .app-list{border-top:1px solid var(--line)}
  .app-row{display:grid;grid-template-columns:70px 1.1fr 2fr;gap:clamp(16px,3vw,52px);align-items:baseline;padding:40px 0;border-bottom:1px solid var(--line);transition:padding-left .5s}
  .app-row:hover{padding-left:16px}
  @media(max-width:820px){.app-row{grid-template-columns:44px 1fr;row-gap:10px}.app-row .d{grid-column:1/-1}}
  .app-row .k{font-family:var(--font-disp);font-weight:800;font-size:1.3rem;background:linear-gradient(160deg,var(--mint-deep),var(--iris-v));-webkit-background-clip:text;background-clip:text;color:transparent}
  .app-row .n{font-family:var(--font-jp);font-weight:700;font-size:1.22rem;color:var(--ink);line-height:1.5}
  .app-row .n small{display:block;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-top:8px;font-weight:500}
  .app-row .d{font-size:.96rem;color:var(--body);line-height:1.95}

  /* COLUMN */
  .col-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
  .col-more{font-family:var(--font-mono);font-weight:500;font-size:.8rem;letter-spacing:.08em;color:var(--mint-deep);border-bottom:2px solid var(--mint);padding-bottom:3px;white-space:nowrap}
  .col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  @media(max-width:900px){.col-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.col-grid{grid-template-columns:1fr}}
  .post{background:var(--paper-2);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .45s,box-shadow .45s;display:flex;flex-direction:column}
  .post:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
  .post .thumb{aspect-ratio:16/10;position:relative;overflow:hidden}
  .post .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
  .post:hover .thumb img{transform:scale(1.06)}
  .post .cat{position:absolute;left:14px;top:14px;z-index:2;font-family:var(--font-jp);font-weight:500;font-size:.7rem;padding:5px 12px;border-radius:100px;background:rgba(255,255,255,.94);color:var(--mint-deep)}
  .post .b{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
  .post .date{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;color:var(--faint);margin-bottom:10px}
  .post h3{font-family:var(--font-jp);font-weight:700;font-size:1.04rem;line-height:1.6;margin-bottom:auto;color:var(--ink)}
  .post .rd{margin-top:16px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;color:var(--mint-deep)}

  /* STANCE */
  .stance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
  @media(max-width:860px){.stance-grid{grid-template-columns:1fr}}
  .st{padding:32px 28px;border:1px solid var(--line);border-radius:18px;background:var(--paper-2)}
  .st .ic{width:48px;height:48px;border-radius:50%;background:var(--mint-wash);border:1px solid rgba(14,168,142,.25);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
  .st .ic svg{width:22px;height:22px;stroke:var(--mint-deep);fill:none;stroke-width:1.7}
  .st h3{font-family:var(--font-jp);font-weight:700;font-size:1.1rem;margin-bottom:10px;color:var(--ink)}
  .st p{font-size:.92rem;color:var(--body);line-height:1.85}

  /* CONSULT */
  .consult-panel{position:relative;overflow:hidden;border-radius:28px;box-shadow:var(--shadow);display:grid;grid-template-columns:1.05fr .95fr;min-height:420px}
  @media(max-width:820px){.consult-panel{grid-template-columns:1fr}}
  .consult-copy{position:relative;z-index:2;padding:clamp(40px,5vw,64px);color:#fff;background:linear-gradient(150deg,#087865,#0EA88E 58%,#12b39c);display:flex;flex-direction:column;justify-content:center}
  .consult-copy::before{content:"";position:absolute;right:-10%;top:-20%;width:60%;height:80%;background:radial-gradient(circle,rgba(221,94,156,.4),transparent 62%);filter:blur(40px);pointer-events:none}
  .consult-copy .in{position:relative;z-index:2}
  .badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.36);border-radius:100px;padding:9px 18px;font-family:var(--font-jp);font-size:.82rem;font-weight:500;color:#fff;margin-bottom:22px}
  .badge .d{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff}
  .consult-copy h2{font-family:var(--font-min);font-weight:600;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1.5;margin-bottom:18px}
  .consult-copy p{font-size:1rem;color:rgba(255,255,255,.94);line-height:1.95;font-weight:400}
  .consult-photo{position:relative;min-height:280px}
  .consult-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
  .btn{font-family:var(--font-jp);font-weight:700;font-size:.94rem;padding:16px 30px;border-radius:100px;transition:transform .3s;display:inline-flex;align-items:center;gap:9px}
  .btn.primary{background:#fff;color:var(--mint-deep)}
  .btn.primary:hover{transform:translateY(-3px)}
  .btn.ghost{border:1.5px solid rgba(255,255,255,.6);color:#fff}
  .btn.ghost:hover{transform:translateY(-3px);background:rgba(255,255,255,.14)}

  /* FOOTER */
  footer{position:relative;z-index:2;background:#0A1B19;color:rgba(233,243,240,.78);padding:clamp(56px,8vh,100px) var(--pad) 36px}
  .f-note{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:#8fb0aa;margin-bottom:16px}
  .f-top{display:grid;grid-template-columns:1.1fr 2fr;gap:clamp(26px,5vw,64px);margin-bottom:48px}
  @media(max-width:820px){.f-top{grid-template-columns:1fr}}
  .f-lede{font-size:.9rem;line-height:1.95;color:rgba(233,243,240,.7)}
  .f-blocks{display:grid;grid-template-columns:1fr 1fr;gap:24px 40px}
  @media(max-width:600px){.f-blocks{grid-template-columns:1fr}}
  .f-blocks h5{font-family:var(--font-jp);font-weight:500;font-size:.9rem;color:#eaf4f1;margin-bottom:8px;display:flex;align-items:center;gap:8px}
  .f-blocks h5 .d{width:5px;height:5px;border-radius:50%;background:var(--mint)}
  .f-blocks p{font-size:.82rem;line-height:1.9;color:rgba(233,243,240,.68)}
  .f-blocks .fill{color:#4fe0c4;border-color:rgba(79,224,196,.5)}
  .f-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(233,243,240,.14)}
  .f-bottom .mk{font-family:var(--font-disp);font-weight:800;color:#fff}
  .f-bottom .mk b{color:var(--mint)}
  .f-bottom small{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;color:#8fb0aa}

  @media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.hero-h1 .ln span{transform:none}.hero-in .eyebrow,.hero-p,.hero-tags,.hero-visual{opacity:1}.reveal{opacity:1;transform:none}}

/* ---- WordPress specific ---- */
.article-body{max-width:820px;margin:0 auto}
.article-body h2{font-family:var(--font-jp);font-weight:700;font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--ink);line-height:1.5;margin:2em 0 .7em;padding-left:.7em;border-left:4px solid var(--mint)}
.article-body h3{font-family:var(--font-jp);font-weight:700;font-size:1.15rem;color:var(--ink);margin:1.7em 0 .5em}
.article-body p{color:var(--body);font-size:1.02rem;line-height:2;margin:0 0 1.4em}
.article-body a{color:var(--mint-deep);border-bottom:1px solid rgba(14,168,142,.4)}
.article-body ul,.article-body ol{margin:0 0 1.5em 1.4em;color:var(--body)}
.article-body li{margin:.4em 0;line-height:1.9}
.article-body img{border-radius:14px;margin:1.5em 0}
.article-body blockquote{background:var(--mint-wash);border-left:4px solid var(--mint);border-radius:0 12px 12px 0;padding:20px 24px;margin:1.6em 0;color:#365650;font-size:.94rem}
.article-body blockquote p{color:#365650;margin:.4em 0}
.article-body strong{color:var(--ink);font-weight:700}
.post-hero{position:relative;padding:clamp(110px,15vh,150px) var(--pad) clamp(30px,5vh,50px)}
.post-hero .crumb{font-family:var(--font-jp);font-size:.78rem;color:var(--faint);margin-bottom:22px;max-width:820px;margin-left:auto;margin-right:auto}
.post-hero .crumb a:hover{color:var(--mint-deep)}
.post-hero .cat-pill{display:inline-block;font-family:var(--font-jp);font-weight:500;font-size:.74rem;color:var(--mint-deep);background:var(--mint-wash);border:1px solid rgba(14,168,142,.25);padding:5px 14px;border-radius:100px;margin-bottom:18px}
.post-hero h1{font-family:var(--font-min);font-weight:600;font-size:clamp(1.7rem,3.6vw,2.7rem);line-height:1.5;color:var(--ink);max-width:820px;margin:0 auto;letter-spacing:.01em}
.post-hero .meta{max-width:820px;margin:18px auto 0;font-family:var(--font-mono);font-size:.8rem;color:var(--faint);letter-spacing:.04em}
.post-featured{max-width:960px;margin:0 auto clamp(30px,5vh,54px);padding:0 var(--pad)}
.post-featured img{width:100%;border-radius:20px;box-shadow:var(--shadow)}
.compliance-box{max-width:820px;margin:48px auto 0;background:var(--paper-2);border:1px solid var(--line);border-left:4px solid var(--mint);border-radius:0 14px 14px 0;padding:24px 26px}
.compliance-box h4{font-family:var(--font-jp);font-weight:700;font-size:.98rem;color:var(--ink);margin-bottom:10px}
.compliance-box p{font-size:.86rem;color:var(--ink-soft);line-height:1.85;margin:0 0 .6em}
.compliance-box .sup{font-size:.8rem;color:var(--faint)}
.post-cta{max-width:820px;margin:40px auto 0}
.post-cta a{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;font-family:var(--font-jp);font-weight:700;font-size:1rem;color:#fff;background:linear-gradient(100deg,var(--mint),var(--iris-v));padding:20px;border-radius:16px;box-shadow:0 12px 34px -14px rgba(14,168,142,.6);transition:transform .3s}
.post-cta a:hover{transform:translateY(-2px)}
.related{max-width:1000px;margin:clamp(50px,8vh,80px) auto 0;padding:0 var(--pad)}
.related h3{font-family:var(--font-disp);font-weight:700;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mint-deep);margin-bottom:24px}
.archive-head{padding:clamp(110px,15vh,160px) var(--pad) clamp(30px,5vh,50px);text-align:center}
.archive-head .eyebrow{justify-content:center;margin-bottom:16px}
.archive-head h1{font-family:var(--font-jp);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.6rem);color:var(--ink)}
.archive-head p{margin-top:12px;color:var(--ink-soft)}
.pagination{max-width:1200px;margin:60px auto 0;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{font-family:var(--font-mono);font-size:.9rem;padding:10px 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink-soft);background:var(--paper-2)}
.pagination .page-numbers.current{background:var(--mint-deep);color:#fff;border-color:var(--mint-deep)}
.pagination a.page-numbers:hover{border-color:var(--mint);color:var(--mint-deep)}
.nav-toggle{display:none}
@media(max-width:880px){
  .nav-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
  .nav-toggle span{width:24px;height:2px;background:var(--ink);transition:.3s}
  .mobile-menu{position:fixed;inset:0;z-index:59;background:rgba(242,246,245,.98);backdrop-filter:blur(10px);display:none;flex-direction:column;align-items:center;justify-content:center;gap:22px}
  .mobile-menu.open{display:flex}
  .mobile-menu a{font-family:var(--font-jp);font-weight:700;font-size:1.15rem;color:var(--ink)}
}
