:root {
  --black: #080808;
  --black-2: #101010;
  --white: #f7f7f4;
  --paper: #f1f1ed;
  --line-dark: rgba(255,255,255,.18);
  --line-light: rgba(0,0,0,.14);
  --muted-dark: rgba(255,255,255,.62);
  --muted-light: rgba(0,0,0,.58);
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, "Noto Sans JP", system-ui, -apple-system, sans-serif;
  background: var(--white);
  color: #111;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  height: 74px;
  padding: 0 clamp(20px,4vw,58px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid transparent;
  transition: background .3s ease, color .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
.site-header.scrolled {
  background: rgba(247,247,244,.88);
  backdrop-filter: blur(14px);
  border-color: var(--line-light);
}
.wordmark { font-size: 12px; letter-spacing: .22em; font-weight: 800; }
.nav { display:flex; gap: 28px; align-items:center; }
.nav a { font-size: 10px; letter-spacing: .18em; font-weight: 600; position:relative; }
.nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:1px; background:currentColor; transition:right .25s ease; }
.nav a:hover::after { right:0; }
.menu-button { display:none; border:0; background:none; font:inherit; font-size:10px; letter-spacing:.18em; font-weight:700; }

.hero {
  min-height: 100svh;
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: 110px 24px 74px;
  background: var(--white);
}
.hero-grid {
  position:absolute; inset:0;
  opacity:.22;
  background-image:
    linear-gradient(to right, rgba(0,0,0,.09) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,.09) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: linear-gradient(to bottom, transparent 0, black 20%, black 75%, transparent 100%);
}
.hero-noise { position:absolute; inset:0; pointer-events:none; opacity:.05; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E"); }
.hero-inner { position:relative; width:min(100%, 980px); text-align:center; z-index:1; }
.kicker { margin:0 0 34px; font-size:10px; letter-spacing:.34em; font-weight:700; }
.hero-logo { width:min(690px, 88vw); display:block; margin:0 auto 54px; }
.hero-copy-row { display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:end; text-align:left; padding-top:30px; border-top:1px solid var(--line-light); }
.hero h1 { margin:0; font-family:"Noto Sans JP", sans-serif; font-size:clamp(28px,4vw,52px); line-height:1.25; letter-spacing:.04em; font-weight:600; }
.hero-copy-row p { margin:0 0 4px auto; max-width:450px; font-size:13px; line-height:1.9; color:var(--muted-light); }
.hero-actions { margin-top:36px; display:flex; gap:24px; align-items:center; }
.button { min-height:50px; padding:0 22px; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; font-size:10px; letter-spacing:.17em; font-weight:700; transition:transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:#0a0a0a; color:#fff; min-width:210px; }
.text-link { font-size:10px; letter-spacing:.17em; font-weight:700; border-bottom:1px solid #111; padding-bottom:6px; }
.hero-foot { position:absolute; z-index:2; bottom:22px; left:clamp(20px,4vw,58px); right:clamp(20px,4vw,58px); display:flex; justify-content:space-between; font-size:9px; letter-spacing:.16em; }
.mobile-only { display:none; }

.section { padding:120px 24px; }
.section-wrap { width:min(100%, var(--max)); margin:0 auto; }
.section-dark { background:var(--black); color:#fff; }
.section-light { background:var(--white); color:#111; }
.section-neutral { background:var(--paper); color:#111; }
.section-head { padding-bottom:22px; margin-bottom:42px; border-bottom:1px solid var(--line-dark); display:flex; justify-content:space-between; align-items:end; }
.section-head > div { display:flex; align-items:baseline; gap:20px; }
.section-head span { font-size:9px; letter-spacing:.18em; opacity:.55; }
.section-head h2 { margin:0; font-size:13px; letter-spacing:.24em; }
.section-head > p { margin:0; font-size:10px; letter-spacing:.12em; opacity:.55; }
.section-head-dark { border-color:var(--line-light); }

.game-feature { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); border:1px solid var(--line-dark); min-height:640px; }
.game-visual { position:relative; overflow:hidden; min-height:640px; padding:24px; border-right:1px solid var(--line-dark); display:flex; flex-direction:column; justify-content:space-between; background:
  radial-gradient(circle at 80% 12%, rgba(255,255,255,.08), transparent 30%),
  repeating-linear-gradient(90deg, transparent 0 79px, rgba(255,255,255,.035) 80px),
  #050505;
}
.game-visual::after { content:""; position:absolute; top:0; bottom:0; left:48%; width:1px; background:rgba(255,255,255,.33); }
.game-visual::before { content:""; position:absolute; width:120px; height:520px; right:14%; bottom:-80px; border:1px solid rgba(255,255,255,.14); transform:skewY(-8deg); filter:blur(.1px); opacity:.7; }
.game-visual-top,.game-visual-bottom { position:relative; z-index:2; display:flex; justify-content:space-between; font-size:8px; letter-spacing:.19em; color:rgba(255,255,255,.58); }
.game-title-art { position:relative; z-index:2; }
.game-title-art p,.game-title-art strong { display:block; margin:0; letter-spacing:-.07em; line-height:.78; }
.game-title-art p { font-size:clamp(54px,8vw,118px); font-weight:800; }
.game-title-art strong { font-size:clamp(62px,10vw,142px); color:#5a5a5a; font-weight:400; }
.game-info { padding:44px 38px; display:flex; flex-direction:column; }
.status { margin:0 0 42px; font-size:9px; letter-spacing:.18em; color:#aaa; }
.status span { display:inline-block; width:6px; height:6px; border-radius:100%; background:#fff; margin-right:7px; box-shadow:0 0 12px rgba(255,255,255,.65); }
.game-info h3 { margin:0 0 14px; font-size:clamp(36px,4vw,56px); line-height:.92; letter-spacing:-.05em; }
.game-lead { margin:0 0 26px; font-size:20px; line-height:1.35; color:#d6d6d6; }
.game-desc { margin:0 0 34px; font-size:13px; line-height:2; color:#999; }
.spec-list { margin:auto 0 32px; border-top:1px solid var(--line-dark); }
.spec-list div { display:grid; grid-template-columns:90px 1fr; gap:14px; padding:13px 0; border-bottom:1px solid var(--line-dark); }
.spec-list dt { font-size:8px; letter-spacing:.16em; color:#777; }
.spec-list dd { margin:0; font-size:10px; letter-spacing:.07em; }
.button-outline { border:1px solid rgba(255,255,255,.42); color:#fff; }
.button-disabled { opacity:.52; cursor:default; pointer-events:none; }

.about-layout { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.about-statement { margin:0; font-size:clamp(36px,5vw,70px); line-height:1.03; letter-spacing:-.055em; font-weight:500; }
.about-statement em { font-style:normal; color:#777; }
.about-body { padding-top:8px; }
.about-body p { margin:0 0 28px; font-size:14px; line-height:2; }
.about-body .jp { font-size:16px; line-height:2.1; font-weight:500; }
.muted { color:var(--muted-light); }
.manifesto { margin-top:100px; padding:28px 0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
.manifesto span { font-size:8px; letter-spacing:.18em; color:#777; }
.manifesto span:last-child { text-align:right; }
.manifesto p { margin:0; font-size:17px; font-weight:600; letter-spacing:.08em; }

.creator-section { background:#e7e7e1; color:#111; }
.creator-card { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; padding:48px; background:#0a0a0a; color:#fff; }
.creator-name p { margin:0 0 28px; font-size:8px; letter-spacing:.2em; color:#777; }
.creator-name h3 { margin:0; font-family:"Noto Sans JP",sans-serif; font-size:clamp(38px,5vw,64px); font-weight:600; }
.creator-name span { display:block; margin-top:10px; font-size:10px; letter-spacing:.2em; color:#777; }
.creator-copy { align-self:end; }
.creator-copy p { margin:0 0 20px; max-width:540px; font-size:13px; line-height:2; }
.creator-copy .muted { color:#838383; }
.social-grid { margin-top:14px; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:#bdbdb7; border:1px solid #bdbdb7; }
.social-card { min-height:180px; padding:20px; background:#f7f7f4; position:relative; display:flex; flex-direction:column; transition:background .2s ease, color .2s ease; }
.social-card:hover:not(.is-pending) { background:#0a0a0a; color:#fff; }
.social-index { font-size:8px; letter-spacing:.16em; color:#888; }
.social-card strong { margin-top:auto; font-size:24px; letter-spacing:-.035em; }
.social-card small { margin-top:6px; font-size:8px; letter-spacing:.17em; color:#888; }
.social-card b { position:absolute; top:20px; right:20px; font-size:16px; font-weight:400; }
.social-card.is-pending { cursor:default; }
.social-card.is-pending::after { content:"URL SETUP"; position:absolute; right:20px; bottom:18px; font-size:7px; letter-spacing:.16em; color:#aaa; }
.social-note { margin:12px 0 0; font-size:9px; color:#777; }

.news-list { border-top:1px solid var(--line-light); }
.news-item { min-height:86px; display:grid; grid-template-columns:130px 100px 1fr 30px; align-items:center; gap:20px; border-bottom:1px solid var(--line-light); transition:padding .2s ease; }
.news-item:hover { padding-left:8px; }
.news-item time,.news-item span { font-size:8px; letter-spacing:.14em; color:#777; }
.news-item p { margin:0; font-size:12px; }
.news-item b { font-weight:400; }

.contact-section { background:var(--black); color:#fff; padding-bottom:150px; }
.contact-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:end; }
.contact-layout h3 { margin:0; font-size:clamp(42px,6vw,80px); line-height:.95; letter-spacing:-.055em; font-weight:500; }
.contact-layout p { margin:0 0 32px; max-width:470px; font-size:12px; line-height:1.9; color:#999; }
.contact-mail { padding-top:20px; border-top:1px solid var(--line-dark); display:flex; justify-content:space-between; gap:20px; font-size:9px !important; letter-spacing:.14em; color:#fff !important; }
.contact-mail span { color:#777; }

.footer { background:#050505; color:#fff; padding:60px clamp(24px,5vw,72px) 26px; border-top:1px solid #1d1d1d; display:grid; grid-template-columns:1fr auto; gap:48px; }
.footer-brand { font-weight:800; letter-spacing:.24em; font-size:13px; }
.footer > div:first-child p { margin:12px 0 0; color:#555; font-size:9px; letter-spacing:.12em; }
.footer-links { display:flex; gap:28px; font-size:8px; letter-spacing:.16em; }
.footer-bottom { grid-column:1/-1; padding-top:36px; border-top:1px solid #161616; display:flex; justify-content:space-between; color:#555; font-size:8px; letter-spacing:.14em; }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1); }
.reveal.visible { opacity:1; transform:none; }
.cursor-glow { position:fixed; width:240px; height:240px; border-radius:50%; pointer-events:none; z-index:0; background:radial-gradient(circle, rgba(255,255,255,.05), transparent 70%); transform:translate(-50%,-50%); opacity:0; }

@media (max-width: 900px) {
  .hero-copy-row,.about-layout,.creator-card,.contact-layout { grid-template-columns:1fr; }
  .game-feature { grid-template-columns:1fr; }
  .game-visual { border-right:0; border-bottom:1px solid var(--line-dark); min-height:520px; }
  .game-info { min-height:560px; }
  .about-layout { gap:56px; }
  .creator-card { gap:48px; }
  .social-grid { grid-template-columns:1fr 1fr; }
  .manifesto { grid-template-columns:1fr; text-align:left; }
  .manifesto span:last-child { text-align:left; }
}

@media (max-width: 680px) {
  .site-header { height:64px; padding:0 18px; }
  .menu-button { display:block; }
  .nav { position:absolute; top:64px; left:0; right:0; padding:20px 18px 26px; display:none; flex-direction:column; align-items:flex-start; gap:22px; background:rgba(247,247,244,.97); border-bottom:1px solid var(--line-light); }
  .nav.open { display:flex; }
  .nav a { font-size:11px; }
  .hero { min-height:92svh; padding:104px 20px 80px; }
  .hero-grid { background-size:48px 48px; }
  .hero-logo { margin-bottom:40px; width:92vw; max-width:520px; }
  .kicker { margin-bottom:30px; font-size:8px; }
  .hero-copy-row { gap:22px; }
  .hero h1 { font-size:31px; }
  .hero-copy-row p { font-size:11px; line-height:1.8; }
  .hero-actions { flex-direction:column; align-items:stretch; gap:18px; }
  .button-primary { width:100%; }
  .text-link { align-self:flex-start; }
  .hero-foot { left:18px; right:18px; font-size:7px; }
  .mobile-only { display:block; }
  .section { padding:88px 12px; }
  .section-head { align-items:center; margin-bottom:28px; }
  .section-head > p { display:none; }
  .game-feature { min-height:0; }
  .game-visual { min-height:430px; padding:18px; }
  .game-title-art p { font-size:56px; }
  .game-title-art strong { font-size:82px; }
  .game-info { min-height:0; padding:34px 24px; }
  .status { margin-bottom:30px; }
  .game-info h3 { font-size:38px; }
  .game-lead { font-size:18px; }
  .about-statement { font-size:40px; }
  .about-body .jp { font-size:14px; }
  .manifesto { margin-top:68px; }
  .creator-card { padding:34px 24px; }
  .creator-name h3 { font-size:40px; }
  .social-grid { grid-template-columns:1fr; }
  .social-card { min-height:132px; }
  .social-card strong { font-size:22px; }
  .news-item { grid-template-columns:88px 1fr 18px; gap:12px; padding:18px 0; }
  .news-item span { display:none; }
  .news-item p { font-size:11px; line-height:1.6; }
  .contact-layout h3 { font-size:44px; }
  .footer { grid-template-columns:1fr; padding:48px 20px 24px; }
  .footer-links { flex-wrap:wrap; gap:18px 24px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
  * { animation:none !important; transition:none !important; }
}

/* ===== CREATOR PROFILE PAGE ===== */
.creator-page { background:#f7f7f4; }
.creator-hero { min-height:100svh; position:relative; background:#f7f7f4; padding:150px clamp(24px,5vw,72px) 90px; display:flex; align-items:center; overflow:hidden; }
.creator-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(0,0,0,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.045) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 86%); }
.creator-hero-inner { width:100%; max-width:var(--max); margin:auto; position:relative; z-index:2; }
.creator-hero-number { position:absolute; right:0; top:-30px; font-size:clamp(120px,24vw,330px); line-height:.8; font-weight:800; letter-spacing:-.09em; color:rgba(0,0,0,.035); user-select:none; }
.creator-hero-title { margin-top:78px; display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; }
.creator-role-line { margin:0 0 18px; font-size:9px; letter-spacing:.21em; color:#666; }
.creator-hero-title h1 { margin:0; font-family:"Noto Sans JP",sans-serif; font-size:clamp(64px,10vw,144px); line-height:.9; letter-spacing:-.06em; font-weight:700; }
.creator-roman { margin:16px 0 0; font-size:11px; letter-spacing:.34em; color:#777; }
.creator-intro { margin:0; max-width:460px; font-size:15px; line-height:2.05; }
.profile-lead { display:grid; grid-template-columns:1fr 1fr; gap:90px; }
.profile-lead h2 { margin:0; font-size:clamp(54px,8vw,104px); line-height:.83; letter-spacing:-.07em; font-weight:500; }
.profile-lead > div { padding-top:12px; }
.profile-lead p { margin:0 0 28px; font-size:14px; line-height:2; }
.role-section { background:#090909; color:#fff; }
.role-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line-dark); }
.role-card { min-height:470px; padding:30px; border-right:1px solid var(--line-dark); display:flex; flex-direction:column; }
.role-card:last-child { border-right:0; }
.role-card > span { font-size:8px; color:#666; letter-spacing:.18em; }
.role-card > p:first-of-type { margin:54px 0 10px; font-size:8px; color:#777; letter-spacing:.18em; }
.role-card h3 { margin:0; font-family:"Noto Sans JP",sans-serif; font-size:30px; font-weight:600; }
.role-rule { margin:28px 0; height:1px; background:var(--line-dark); }
.role-card .role-copy { margin:0; color:#999; font-size:12px; line-height:2; }
.role-card b { margin-top:auto; font-size:8px; letter-spacing:.14em; font-weight:500; color:#777; }
.creator-project { display:grid; grid-template-columns:1.15fr .85fr; min-height:560px; border:1px solid var(--line-dark); }
.creator-project-title { padding:42px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid var(--line-dark); background:repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,255,255,.035) 80px),#050505; }
.creator-project-title span { font-size:8px; letter-spacing:.18em; color:#777; }
.creator-project-title h2 { margin:0; font-size:clamp(64px,10vw,132px); line-height:.76; letter-spacing:-.075em; }
.creator-project-title em { font-style:normal; font-weight:400; color:#565656; }
.creator-project-copy { padding:42px; display:flex; flex-direction:column; }
.creator-project-copy > p { margin:0 0 44px; color:#999; font-size:13px; line-height:2; }
.creator-project-copy dl { margin:auto 0 32px; border-top:1px solid var(--line-dark); }
.creator-project-copy dl div { display:grid; grid-template-columns:110px 1fr; gap:15px; padding:14px 0; border-bottom:1px solid var(--line-dark); }
.creator-project-copy dt { font-size:8px; color:#666; letter-spacing:.15em; }
.creator-project-copy dd { margin:0; font-size:10px; letter-spacing:.06em; }
.creator-game-link { color:#fff; border-color:#555; }
.creator-social-section { background:#e7e7e1; color:#111; }
.creator-social-intro { display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-bottom:54px; align-items:end; }
.creator-social-intro h2 { margin:0; font-size:clamp(44px,7vw,90px); line-height:.85; letter-spacing:-.065em; font-weight:500; }
.creator-social-intro p { margin:0; max-width:420px; font-size:13px; line-height:2; }
.creator-profile-link { margin-top:28px; display:inline-flex; align-items:center; justify-content:space-between; gap:40px; min-width:280px; padding:15px 18px; border:1px solid #111; font-size:9px; letter-spacing:.16em; transition:.2s ease; }
.creator-profile-link:hover { background:#111; color:#fff; }
.creator-signoff { background:#f7f7f4; padding:110px clamp(24px,5vw,72px); }
.creator-signoff .section-wrap { display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; }
.creator-signoff p { margin:0; font-size:clamp(64px,11vw,150px); line-height:.78; letter-spacing:-.075em; font-weight:700; }
.creator-signoff span { grid-column:2; grid-row:1; font-size:9px; letter-spacing:.18em; color:#777; }
.creator-signoff a { grid-column:2; font-size:9px; letter-spacing:.14em; border-bottom:1px solid #111; padding-bottom:4px; }

@media (max-width:900px){
  .creator-hero-title,.profile-lead,.creator-project,.creator-social-intro{grid-template-columns:1fr;}
  .creator-hero-title{gap:46px;}
  .role-grid{grid-template-columns:1fr;}
  .role-card{min-height:330px;border-right:0;border-bottom:1px solid var(--line-dark);}
  .role-card:last-child{border-bottom:0;}
  .creator-project-title{min-height:440px;border-right:0;border-bottom:1px solid var(--line-dark);}
  .creator-signoff .section-wrap{grid-template-columns:1fr;}
  .creator-signoff span,.creator-signoff a{grid-column:1;grid-row:auto;}
}
@media (max-width:680px){
  .creator-hero{padding:110px 20px 82px;min-height:92svh;}
  .creator-hero-number{font-size:150px;top:20px;}
  .creator-hero-title{margin-top:54px;gap:36px;}
  .creator-hero-title h1{font-size:60px;}
  .creator-intro{font-size:13px;}
  .profile-lead{gap:48px;}
  .profile-lead h2{font-size:58px;}
  .role-card{padding:26px 22px;}
  .creator-project-title{padding:28px 22px;min-height:350px;}
  .creator-project-title h2{font-size:66px;}
  .creator-project-copy{padding:30px 22px;}
  .creator-social-intro{gap:28px;}
  .creator-social-intro h2{font-size:52px;}
  .creator-signoff{padding:80px 20px;}
  .creator-signoff p{font-size:62px;}
}


/* ===== CREATOR V4 : VISUAL / SCHEDULE / YOUTUBE ===== */
.creator-hero-with-art {
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(360px, 1.1fr);
  gap:clamp(38px,6vw,92px);
  align-items:center;
}
.creator-hero-copy { position:relative; z-index:2; }
.creator-hero-copy .kicker { margin-bottom:56px; }
.creator-hero-copy h1 {
  margin:0;
  font-family:"Noto Sans JP",sans-serif;
  font-size:clamp(62px,8vw,126px);
  line-height:.93;
  letter-spacing:-.055em;
  font-weight:700;
}
.creator-hero-copy .creator-intro { margin-top:46px; max-width:530px; }
.creator-hero-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:34px; }
.creator-hero-tags span { border:1px solid rgba(0,0,0,.2); padding:9px 12px; font-size:8px; letter-spacing:.18em; font-weight:700; }
.creator-portrait { margin:0; position:relative; height:min(72vh,760px); min-height:540px; overflow:hidden; background:#0a0a0a; }
.creator-portrait::before { content:""; position:absolute; inset:0; z-index:1; border:1px solid rgba(0,0,0,.18); pointer-events:none; }
.creator-portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:50% 18%; transform:scale(1.04); }
.creator-portrait figcaption { position:absolute; z-index:2; left:0; right:0; bottom:0; display:flex; justify-content:space-between; gap:20px; padding:15px 16px; background:rgba(0,0,0,.72); color:#fff; backdrop-filter:blur(8px); font-size:7px; letter-spacing:.18em; }

.creator-schedule-section { background:#f7f7f4; color:#111; }
.schedule-layout { display:grid; grid-template-columns:.86fr 1.14fr; border-top:1px solid var(--line-light); }
.schedule-statement { padding:52px 50px 40px 0; border-right:1px solid var(--line-light); }
.schedule-statement > span { font-size:8px; letter-spacing:.2em; color:#777; }
.schedule-statement h2 { margin:44px 0 34px; font-family:"Noto Sans JP",sans-serif; font-size:clamp(42px,5.5vw,74px); line-height:1.12; letter-spacing:-.045em; }
.schedule-statement p { max-width:440px; margin:0; color:#666; font-size:12px; line-height:2; }
.schedule-cards { display:grid; grid-template-columns:1fr 1fr; }
.schedule-card { min-height:240px; padding:34px; border-bottom:1px solid var(--line-light); border-right:1px solid var(--line-light); display:flex; flex-direction:column; }
.schedule-card:nth-child(2) { border-right:0; }
.schedule-card-wide { grid-column:1 / -1; min-height:190px; border-right:0; }
.schedule-card > span { font-size:8px; letter-spacing:.2em; color:#777; }
.schedule-card strong { display:block; margin:auto 0 22px; font-size:clamp(36px,4vw,58px); line-height:1; letter-spacing:-.05em; font-weight:600; }
.schedule-card strong span { font-size:.38em; margin-left:5px; letter-spacing:.03em; color:#777; }
.schedule-card p { margin:0; color:#666; font-size:11px; line-height:1.8; }

.creator-youtube-section { background:#090909; color:#fff; }
.youtube-lead { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:end; margin-bottom:52px; }
.youtube-lead h2 { margin:0; font-family:"Noto Sans JP",sans-serif; font-size:clamp(48px,7vw,90px); line-height:1; letter-spacing:-.06em; }
.youtube-lead p { margin:0; max-width:470px; color:#888; font-size:12px; line-height:2; }
.youtube-latest-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-dark); border-left:1px solid var(--line-dark); }
.youtube-video-card { display:block; border-right:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); transition:background .2s ease; }
.youtube-video-card:hover { background:#111; }
.youtube-thumb { position:relative; aspect-ratio:16/9; overflow:hidden; background:#151515; }
.youtube-thumb img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .35s ease; }
.youtube-video-card:hover .youtube-thumb img { transform:scale(1.025); }
.youtube-play { position:absolute; left:18px; bottom:16px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:rgba(0,0,0,.8); border:1px solid rgba(255,255,255,.32); font-size:12px; }
.youtube-card-copy { padding:20px; }
.youtube-card-copy span { display:block; margin-bottom:11px; color:#666; font-size:7px; letter-spacing:.17em; }
.youtube-card-copy h3 { margin:0; font-family:"Noto Sans JP",sans-serif; font-size:13px; line-height:1.7; font-weight:500; }
.youtube-loading,.youtube-error { grid-column:1 / -1; min-height:260px; display:grid; place-items:center; padding:30px; border-right:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); color:#666; font-size:9px; letter-spacing:.18em; text-align:center; line-height:2; }
.youtube-fallback { margin-top:28px; }
.creator-youtube-section .creator-profile-link { color:#fff; border-color:#444; }
.creator-youtube-section .creator-profile-link:hover { background:#fff; color:#111; }

@media (max-width:900px){
  .creator-hero-with-art{grid-template-columns:1fr;gap:52px;}
  .creator-portrait{height:min(72vh,680px);min-height:520px;}
  .schedule-layout,.youtube-lead{grid-template-columns:1fr;}
  .schedule-statement{padding:46px 0;border-right:0;border-bottom:1px solid var(--line-light);}
  .youtube-latest-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  .creator-hero-copy .kicker{margin-bottom:36px;}
  .creator-hero-copy h1{font-size:58px;}
  .creator-hero-copy .creator-intro{margin-top:30px;}
  .creator-portrait{height:520px;min-height:0;}
  .creator-portrait img{object-position:50% 16%; transform:scale(1.12);}
  .creator-portrait figcaption{font-size:6px;}
  .schedule-cards,.youtube-latest-grid{grid-template-columns:1fr;}
  .schedule-card,.schedule-card:nth-child(2){border-right:0;}
  .schedule-card-wide{grid-column:auto;}
  .schedule-statement h2{font-size:44px;}
  .youtube-lead{gap:22px;}
  .youtube-lead h2{font-size:48px;}
}
