/*
Theme Name: Stabird
Theme URI: https://stabird.com
Author: Stabird
Author URI: https://stabird.com
Description: スタバード公式テーマ。MBAに行かない人のためのミニMBA。ブログ記事からConvertKitへオプトインを獲得する、ネイビー×ゴールドのプレミアム・エディトリアルデザイン。
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: stabird
*/

:root{
  --ink:#0C1224; --ink-2:#111931; --ink-3:#0A1020;
  --gold:#C6A15B; --gold-bright:#E6CB8B;
  --ivory:#F3EEE2; --muted:#94A0B8; --muted-2:#6E7890;
  --line:rgba(198,161,91,.26); --line-soft:rgba(243,238,226,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--ivory);font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}
::selection{background:var(--gold);color:var(--ink)}
a{color:var(--gold-bright)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:26px}
.eyebrow::before{content:"";width:42px;height:1px;background:var(--gold)}
.eyebrow.center{justify-content:center}

/* ---------- nav ---------- */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:rgba(12,18,36,.7);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.site-nav.scrolled{border-bottom:1px solid var(--line);background:rgba(10,16,32,.92)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ivory)}
.brand .mark{height:34px;width:auto;flex:none;display:block}
.site-footer .brand .mark{height:30px}
.brand .name{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:24px;letter-spacing:.04em;line-height:1}
.brand .name b{color:var(--gold-bright);font-weight:600}
.nav-right{display:flex;align-items:center;gap:30px}
.nav-right ul{list-style:none;display:flex;align-items:center;gap:30px;margin:0;padding:0}
.nav-link,.nav-right a{color:var(--muted);text-decoration:none;font-size:13px;letter-spacing:.05em;transition:color .25s}
.nav-link:hover,.nav-right a:hover{color:var(--ivory)}
/* CTA button: works as <a class="nav-cta"> (fallback) OR as a WP menu item <li class="nav-cta"><a> */
.nav-cta,
.nav-right li.nav-cta > a{display:inline-block;background:var(--gold);color:var(--ink)!important;font-size:13px;letter-spacing:.05em;padding:10px 18px;border-radius:2px;text-decoration:none;white-space:nowrap;transition:background .25s,transform .25s}
.nav-cta:hover,
.nav-right li.nav-cta > a:hover{background:var(--gold-bright);color:var(--ink)!important;transform:translateY(-1px)}
.nav-right li.nav-cta{background:none}

/* ---------- hero ---------- */
.hero{position:relative;padding:150px 0 110px;min-height:100vh;display:flex;align-items:center}
.hero-inner{position:relative;z-index:2;max-width:780px}
h1.hero-title{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(38px,6.1vw,74px);line-height:1.26;letter-spacing:.01em;margin-bottom:30px}
h1.hero-title .gold{color:var(--gold-bright);position:relative;white-space:nowrap}
h1.hero-title .gold::after{content:"";position:absolute;left:0;right:0;bottom:.04em;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55}
.lede{font-size:clamp(15px,1.4vw,18px);line-height:2.05;color:var(--muted);max-width:560px;margin-bottom:44px}
.lede b{color:var(--ivory);font-weight:500}
.cta-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--ink);text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.03em;padding:17px 30px;border-radius:2px;border:none;cursor:pointer;transition:background .25s,transform .25s;box-shadow:0 10px 30px -12px rgba(198,161,91,.7)}
.btn-primary:hover{background:var(--gold-bright);transform:translateY(-2px)}
.btn-primary .arrow{transition:transform .25s}
.btn-primary:hover .arrow{transform:translateX(4px)}
.btn-ghost{display:inline-flex;align-items:center;gap:9px;color:var(--ivory);text-decoration:none;font-size:14px;letter-spacing:.03em;padding:16px 6px;border-bottom:1px solid transparent;transition:border-color .25s,color .25s}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright)}
.trust{display:flex;flex-wrap:wrap;margin-top:66px;border-top:1px solid var(--line)}
.trust div{padding:22px 38px 0 0;margin-right:38px}
.trust div:not(:last-child){border-right:1px solid var(--line)}
.trust .num{font-family:"Cormorant Garamond",serif;font-size:30px;color:var(--gold-bright);line-height:1;margin-bottom:8px;font-weight:600}
.trust .lbl{font-size:12px;letter-spacing:.08em;color:var(--muted)}
.glow{position:absolute;top:12%;right:4%;width:46vw;height:46vw;max-width:620px;max-height:620px;background:radial-gradient(circle,rgba(198,161,91,.16),transparent 64%);z-index:0;pointer-events:none}
.signature{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.signature svg{position:absolute;top:0;right:-6%;height:100%;width:60%;opacity:.9}
.flight{stroke:var(--gold);stroke-width:1;fill:none;opacity:.5;stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 2.6s cubic-bezier(.25,.6,.25,1) .4s forwards}
.bird{stroke:var(--gold-bright);stroke-width:2;fill:none;opacity:0;animation:appear .9s ease 2.3s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes appear{to{opacity:1}}
.hero-inner>*{opacity:0;transform:translateY(18px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.hero-inner .eyebrow{animation-delay:.05s}.hero-inner h1.hero-title{animation-delay:.18s}
.hero-inner .lede{animation-delay:.32s}.hero-inner .cta-row{animation-delay:.46s}.hero-inner .trust{animation-delay:.6s}
@keyframes rise{to{opacity:1;transform:translateY(0)}}

/* ---------- section base ---------- */
.section{position:relative;padding:120px 0}
.section h2{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(28px,3.6vw,44px);line-height:1.45;letter-spacing:.01em;margin-bottom:24px}
.section h2 em{font-style:normal;color:var(--gold-bright)}
.section p.body{font-size:16px;line-height:2.1;color:var(--muted);max-width:620px}
.section p.body b{color:var(--ivory);font-weight:500}
.center-head{text-align:center;max-width:680px;margin:0 auto 70px}
.center-head p.body{margin:0 auto}

.dilemma{background:var(--ink-3)}
.dilemma h2{max-width:760px}
.dilemma .pull{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:clamp(22px,2.6vw,30px);color:var(--gold-bright);line-height:1.6;margin-top:40px;padding-left:26px;border-left:2px solid var(--gold);max-width:640px}

.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);margin-top:64px;border:1px solid var(--line-soft)}
.feat{background:var(--ink);padding:42px 34px}
.feat .ic{width:34px;height:34px;margin-bottom:22px}
.feat .ic path,.feat .ic circle,.feat .ic rect{stroke:var(--gold);stroke-width:1.5;fill:none}
.feat h3{font-family:"Noto Serif JP",serif;font-size:19px;font-weight:600;margin-bottom:12px}
.feat p{font-size:14px;color:var(--muted);line-height:1.9}

.architect{background:var(--ink-2)}
.arch-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center}
.arch-photo{position:relative;aspect-ratio:4/5;border:1px solid var(--line);background:linear-gradient(160deg,#16203c,#0c1428);display:flex;align-items:flex-end;padding:30px;overflow:hidden}
.arch-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.arch-photo .ph-note{position:relative;z-index:2;font-size:12px;color:var(--muted-2);letter-spacing:.08em}
.arch-photo::before{content:"";position:absolute;top:-40%;right:-30%;width:80%;height:80%;background:radial-gradient(circle,rgba(198,161,91,.22),transparent 65%);z-index:1}
.arch-name{font-family:"Noto Serif JP",serif;font-size:clamp(26px,3vw,34px);font-weight:600;margin:6px 0 4px}
.arch-role{font-size:13px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;margin-bottom:26px}
.arch-bio{font-size:15px;line-height:2.05;color:var(--muted)}
.arch-bio b{color:var(--ivory);font-weight:500}
.arch-quote{font-family:"Noto Serif JP",serif;font-size:20px;line-height:1.8;color:var(--gold-bright);margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}

.curri{background:var(--ink-3)}
.mod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.mod{background:var(--ink);padding:38px 36px;transition:background .3s}
.mod:hover{background:#0e1730}
.mod-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}
.mod-name{font-family:"Noto Serif JP",serif;font-size:21px;font-weight:600;letter-spacing:.01em}
.mod-count{font-family:"Cormorant Garamond",serif;font-size:15px;color:var(--gold);letter-spacing:.05em;white-space:nowrap;padding-left:14px}
.mod ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 0}
.mod li{font-size:13px;color:var(--muted);position:relative;padding-left:18px;width:50%}
.mod li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border:1px solid var(--gold);transform:rotate(45deg)}
.mod.wide{grid-column:1 / -1}
.mod.wide ul li{width:33.33%}

.aud{background:var(--ink-2);text-align:center}
.aud-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:760px;margin:50px auto 0}
.aud-tags span{border:1px solid var(--line);padding:11px 22px;border-radius:2px;font-size:14px;color:var(--ivory);letter-spacing:.03em}
.aud-geo{margin-top:38px;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:20px;color:var(--gold-bright)}

.price{background:var(--ink-3)}
.price-card{max-width:560px;margin:0 auto;border:1px solid var(--line);background:linear-gradient(170deg,#121c38,#0b1124);padding:54px 48px;text-align:center;position:relative;overflow:hidden}
.price-card::before{content:"";position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:120%;height:80%;background:radial-gradient(circle,rgba(198,161,91,.14),transparent 60%)}
.price-card .rel{position:relative;z-index:2}
.price-tier{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}
.price-amt{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:64px;line-height:1;color:var(--ivory)}
.price-amt .yen{font-size:32px;vertical-align:top;margin-right:4px;color:var(--gold-bright)}
.price-sub{font-size:13px;color:var(--muted);margin:14px 0 34px;letter-spacing:.04em}
.price-list{list-style:none;text-align:left;max-width:360px;margin:0 auto 38px}
.price-list li{font-size:14px;color:var(--ivory);padding:11px 0 11px 28px;border-bottom:1px solid var(--line-soft);position:relative}
.price-list li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-size:13px}

.final{background:var(--ink);text-align:center;border-top:1px solid var(--line)}
.final h2{max-width:720px;margin:0 auto 22px}
.final .body{margin:0 auto 44px}
.final-note{font-size:12px;color:var(--muted-2);margin-top:24px;letter-spacing:.04em}

/* ---------- opt-in form ---------- */
.optin{max-width:520px;margin:0 auto}
.optin.inpost{max-width:none;margin:54px 0;background:linear-gradient(170deg,#13203e,#0b1124);border:1px solid var(--line);border-radius:3px;padding:40px 38px;text-align:center}
.optin.inpost .optin-eyebrow{color:var(--gold);font-size:11px;letter-spacing:.24em;text-transform:uppercase;margin-bottom:12px}
.optin.inpost .optin-head{font-family:"Noto Serif JP",serif;font-size:22px;font-weight:600;margin-bottom:10px;line-height:1.5}
.optin.inpost .optin-desc{font-size:14px;color:var(--muted);margin-bottom:24px;line-height:1.9}
.optin-form{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.optin-form input[type=email]{flex:1;min-width:240px;background:rgba(243,238,226,.05);border:1px solid var(--line);color:var(--ivory);font-size:15px;padding:16px 18px;border-radius:2px;font-family:inherit}
.optin-form input[type=email]::placeholder{color:var(--muted-2)}
.optin-form input[type=email]:focus{outline:none;border-color:var(--gold)}
.optin-form .hp{position:absolute;left:-9999px}
.optin-note{font-size:11px;color:var(--muted-2);margin-top:16px;letter-spacing:.03em}
.optin-success{font-family:"Noto Serif JP",serif;font-size:18px;line-height:1.8;color:var(--gold-bright);padding:24px 0}
.optin-config{border:1px dashed var(--gold);color:var(--gold-bright);padding:16px;font-size:13px;border-radius:3px;line-height:1.7}

/* ---------- blog: index ---------- */
.page-head{padding:150px 0 64px;text-align:center;border-bottom:1px solid var(--line-soft);position:relative}
.page-head .glow{top:-10%}
.page-head h1{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(30px,4.4vw,52px);line-height:1.35;position:relative;z-index:2}
.page-head .sub{color:var(--muted);font-size:15px;margin-top:18px;position:relative;z-index:2}
.posts-wrap{padding:80px 0 110px}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.post-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ivory);border:1px solid var(--line-soft);background:var(--ink-2);border-radius:3px;overflow:hidden;transition:transform .3s,border-color .3s}
.post-card:hover{transform:translateY(-4px);border-color:var(--line)}
.post-thumb{aspect-ratio:16/10;background:linear-gradient(160deg,#16203c,#0c1428);overflow:hidden;position:relative}
.post-thumb img{width:100%;height:100%;object-fit:cover}
.post-thumb .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted-2);font-family:"Cormorant Garamond",serif;font-size:30px}
.post-body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1}
.post-cat{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.post-card h2{font-family:"Noto Serif JP",serif;font-size:19px;font-weight:600;line-height:1.55;margin-bottom:12px}
.post-excerpt{font-size:13px;color:var(--muted);line-height:1.85;flex:1}
.post-meta{font-size:12px;color:var(--muted-2);margin-top:20px;letter-spacing:.04em}
.pagination{display:flex;justify-content:center;gap:10px;margin-top:64px}
.pagination .page-numbers{color:var(--muted);text-decoration:none;border:1px solid var(--line-soft);padding:10px 16px;border-radius:2px;font-size:14px;transition:border-color .25s,color .25s}
.pagination .page-numbers:hover,.pagination .page-numbers.current{border-color:var(--gold);color:var(--gold-bright)}

/* ---------- blog: single ---------- */
.article-head{padding:150px 0 50px;max-width:820px;margin:0 auto;text-align:center}
.article-head .post-cat{display:block}
.article-head h1{font-family:"Noto Serif JP",serif;font-weight:600;font-size:clamp(28px,4vw,46px);line-height:1.45;margin-bottom:22px}
.article-meta{font-size:13px;color:var(--muted);letter-spacing:.05em}
.article-feat{max-width:980px;margin:0 auto 60px;aspect-ratio:16/8;overflow:hidden;border-radius:3px}
.article-feat img{width:100%;height:100%;object-fit:cover}
.entry-content{max-width:720px;margin:0 auto;padding-bottom:90px;font-size:17px;line-height:2.05;color:#D9D3C6}
.entry-content > *{margin-bottom:1.5em}
.entry-content h2{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:600;color:var(--ivory);margin:1.8em 0 .7em;line-height:1.5}
.entry-content h3{font-family:"Noto Serif JP",serif;font-size:21px;font-weight:600;color:var(--ivory);margin:1.6em 0 .6em}
.entry-content a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:3px}
.entry-content strong{color:var(--ivory);font-weight:600}
.entry-content blockquote{border-left:2px solid var(--gold);padding:6px 0 6px 26px;margin:1.8em 0;color:var(--gold-bright);font-family:"Noto Serif JP",serif;font-size:20px;line-height:1.8}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li{margin-bottom:.6em}
.entry-content img{border-radius:3px;margin:2em auto}
.entry-content code{background:rgba(243,238,226,.07);padding:2px 7px;border-radius:3px;font-size:.9em}

/* reveal — visible by default; only hidden-then-animated when JS is active.
   If JS fails to run, content stays fully visible (no blank sections). */
.reveal{opacity:1;transform:none}
.has-js .reveal{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.has-js .reveal.in{opacity:1;transform:none}

/* footer */
.site-footer{background:var(--ink-3);border-top:1px solid var(--line-soft);padding:48px 0}
.foot-grid{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.foot-links{display:flex;gap:26px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.foot-links a{color:var(--muted);text-decoration:none;font-size:13px;letter-spacing:.04em;transition:color .25s}
.foot-links a:hover{color:var(--gold-bright)}
.copy{font-size:12px;color:var(--muted-2);letter-spacing:.05em}

@media (max-width:980px){
  .post-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:880px){
  .arch-grid{grid-template-columns:1fr;gap:40px}
  .arch-photo{aspect-ratio:16/10;max-width:380px}
  .mod-grid{grid-template-columns:1fr}
  .mod.wide ul li{width:50%}
}
@media (max-width:720px){
  .wrap{padding:0 22px}
  .site-nav{padding:16px 22px}
  .nav-right ul{display:none}
  .hero{padding:120px 0 80px;min-height:auto}
  .signature svg{width:92%;right:-22%;opacity:.38}
  .trust div{padding:18px 22px 0 0;margin-right:22px}
  .trust .num{font-size:24px}
  .section{padding:84px 0}
  .feat-grid{grid-template-columns:1fr}
  .mod li,.mod.wide ul li{width:100%}
  .price-card{padding:40px 26px}
  .price-amt{font-size:52px}
  .post-grid{grid-template-columns:1fr}
  .page-head,.article-head{padding-top:120px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .hero-inner>*{opacity:1;transform:none}
  .flight{stroke-dashoffset:0}.bird{opacity:1}
  .reveal,.has-js .reveal{opacity:1;transform:none}
}
