/* ============================================================
   GUILD.inc — Light Theme Override
   index.html の <html class="theme-light"> にのみ適用
   他ページには影響しない
   ============================================================ */

/* ロゴの切替（デフォルト：ダーク用ロゴを表示） */
.logo-light { display: none !important; }

/* ---------- カラートークン上書き ---------- */
.theme-light {
  --ink:         #FFFFFF;
  --ink-2:       #F5F6F8;
  --ink-3:       #ECEFF4;
  --ink-4:       #E2E6EE;
  --blue:        #1560BD;
  --blue-bright: #1E6FD9;
  --cyan:        #0D9488;
  --text:        #0F1219;
  --text-dim:    #64748B;
  --line:        rgba(0, 0, 0, 0.08);
  --line-strong: rgba(0, 0, 0, 0.14);
  --grad:        linear-gradient(135deg, #1560BD 0%, #1E6FD9 100%);
  --glow-blue:   0 4px 24px rgba(21, 96, 189, 0.15);
  --glow-card:   0 2px 16px rgba(0, 0, 0, 0.07);
}

/* ライトテーマ時はロゴを差し替え */
.theme-light .logo-dark  { display: none !important; }
.theme-light .logo-light { display: block !important; }

/* ---------- Body ---------- */
.theme-light body {
  background: var(--ink);
  color: var(--text);
}

/* ---------- グリッド & ノイズ ---------- */
.theme-light .bg-grid {
  background-image: linear-gradient(to right, rgba(0,0,0,0.055) 1px, transparent 1px);
  opacity: 0.7;
}
.theme-light .bg-noise { opacity: 0.012; }

/* ---------- プリローダー ---------- */
.theme-light #preloader { background: #fff; }
.theme-light #preloader .pl-text { color: #64748B; }

/* ---------- ページ遷移ヴェール ---------- */
.theme-light .page-veil { background: #fff; }

/* ---------- ヘッダー ---------- */
.theme-light .site-header.scrolled {
  background: rgba(255, 255, 255, 0.90);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom-color: rgba(0, 0, 0, 0.09);
  box-shadow: 0 1px 20px rgba(0,0,0,0.07);
}
.theme-light .gnav-link { color: #64748B; }
.theme-light .gnav-link:hover,
.theme-light .gnav-link.active { color: var(--text); }
.theme-light .nav-toggle span { background: var(--text); }

/* ---------- モバイルメニュー ---------- */
.theme-light .mobile-menu {
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}
.theme-light .mobile-menu .mm-link {
  color: var(--text);
  border-bottom-color: rgba(0,0,0,0.07);
}
.theme-light .mobile-menu .mm-link .mm-ja { color: #64748B; }

/* ---------- カーソルグロー ---------- */
.theme-light .cursor-glow {
  background: radial-gradient(circle, rgba(21,96,189,0.05), transparent 60%);
}

/* ---------- セクション共通 ---------- */
.theme-light .outline-text {
  -webkit-text-stroke: 1.5px rgba(21, 96, 189, 0.25);
  filter: none;
}

/* ---------- マーキー ---------- */
.theme-light .marquee { background: var(--ink-2); }
.theme-light .marquee-item {
  color: #94A3B8;
  -webkit-text-stroke: 0;
}
.theme-light .marquee-item .dot {
  background: var(--blue);
  box-shadow: 0 0 8px rgba(21,96,189,0.35);
}

/* ---------- ヒーロー ---------- */
/* "GUILD" グラデーションをライト背景向けに上書き */
.theme-light .ht-line:last-child .ht-inner {
  background: linear-gradient(105deg, #1560BD 0%, #1E6FD9 50%, #0D9488 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: none;
}

.theme-light .hero-sec { background: var(--ink); }
.theme-light .hero-circuit {
  background-image:
    repeating-linear-gradient(0deg,   transparent, transparent 39px, rgba(21,96,189,0.10) 39px, rgba(21,96,189,0.10) 40px),
    repeating-linear-gradient(90deg,  transparent, transparent 39px, rgba(21,96,189,0.10) 39px, rgba(21,96,189,0.10) 40px),
    repeating-linear-gradient(45deg,  transparent, transparent 78px, rgba(21,96,189,0.05) 78px, rgba(21,96,189,0.05) 79px),
    repeating-linear-gradient(135deg, transparent, transparent 78px, rgba(21,96,189,0.05) 78px, rgba(21,96,189,0.05) 79px);
  opacity: 0.9;
}
.theme-light .hero-glow {
  background: radial-gradient(ellipse at center,
    rgba(21,96,189,0.06) 0%,
    rgba(21,96,189,0.02) 40%,
    transparent 70%);
}
.theme-light .hero-meta { color: var(--blue); }
.theme-light .hero-meta-line { background: var(--blue); }
.theme-light .hero-copy { color: var(--text-dim); }
.theme-light .scroll-line { background: var(--blue); box-shadow: 0 0 8px rgba(21,96,189,0.4); }
.theme-light .hero-scroll-hint { color: var(--text-dim); }

/* ---------- Aboutセクション ---------- */
.theme-light .about-sec { background: var(--ink-2); }
.theme-light .about-quote { border-left-color: var(--blue); }
.theme-light .about-quote::before {
  background: linear-gradient(180deg, var(--blue), var(--cyan));
  box-shadow: 0 0 12px rgba(21,96,189,0.2);
}
.theme-light .pillar { border-bottom-color: rgba(0,0,0,0.07); }
.theme-light .pillar:first-child { border-top-color: rgba(0,0,0,0.07); }

/* ---------- Servicesセクション ---------- */
.theme-light .services-sec { background: var(--ink); }
.theme-light .sv-item {
  border-top-color: rgba(0,0,0,0.07);
  color: var(--text);
}
.theme-light .sv-item:last-child { border-bottom-color: rgba(0,0,0,0.07); }
.theme-light .sv-item:hover { background: rgba(21,96,189,0.03); }
.theme-light .sv-item::before {
  background: linear-gradient(180deg, var(--blue), var(--blue-bright));
}
.theme-light .sv-num { color: #94A3B8; }
.theme-light .sv-item:hover .sv-num { color: var(--blue); }
.theme-light .sv-ja { color: var(--text-dim); }
.theme-light .sv-arrow { color: var(--blue); }

/* ---------- Statsセクション ---------- */
.theme-light .stats-sec {
  background:
    radial-gradient(ellipse 80% 140% at 50% 50%, rgba(21,96,189,0.05) 0%, transparent 65%),
    var(--ink-2);
  border-top-color: rgba(0,0,0,0.07);
  border-bottom-color: rgba(0,0,0,0.07);
}
.theme-light .stats-sec::before {
  background: repeating-linear-gradient(
    90deg,
    transparent,
    transparent calc(100% / 3 - 1px),
    rgba(0,0,0,0.07) calc(100% / 3 - 1px),
    rgba(0,0,0,0.07) calc(100% / 3)
  );
}
.theme-light .stat + .stat::before { background: rgba(0,0,0,0.07); }
.theme-light .stat-label { color: var(--text-dim); }

/* ---------- Worksセクション ---------- */
.theme-light .works-sec { background: var(--ink); }
.theme-light .work-card {
  background: #fff;
  border-color: rgba(0,0,0,0.09);
  box-shadow: 0 2px 16px rgba(0,0,0,0.05);
}
.theme-light .work-card:hover {
  border-color: rgba(21,96,189,0.25);
  box-shadow: 0 8px 36px rgba(21,96,189,0.10), 0 2px 16px rgba(0,0,0,0.05);
  transform: translateY(-6px);
}
.theme-light .work-card h3 { color: var(--text); }
.theme-light .work-card p { color: var(--text-dim); }

/* ---------- CTAセクション ---------- */
.theme-light .cta-sec {
  background:
    radial-gradient(ellipse 80% 100% at 50% 100%, rgba(21,96,189,0.10), transparent 60%),
    var(--ink-2);
  border-top-color: rgba(0,0,0,0.07);
}
.theme-light .cta-sec .cta-en { color: var(--text); }
.theme-light .cta-sec .cta-en .line2 {
  -webkit-text-stroke: 1.5px rgba(21,96,189,0.35);
  filter: none;
}
.theme-light .cta-sec p { color: var(--text-dim); }

/* ---------- フッター（ダークを維持） ---------- */
.theme-light .site-footer {
  background: #0F1219;
  border-top-color: rgba(255,255,255,0.07);
}
.theme-light .footer-brand p { color: rgba(255,255,255,0.45); }
.theme-light .footer-col a { color: rgba(255,255,255,0.45); }
.theme-light .footer-col a:hover { color: #fff; }
.theme-light .footer-bottom { color: rgba(255,255,255,0.35); border-top-color: rgba(255,255,255,0.07); }
.theme-light .footer-bottom .legal-links a:hover { color: #fff; }
.theme-light .footer-giant {
  -webkit-text-stroke: 1px rgba(255,255,255,0.06);
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

/* ---------- スクロール進捗バー ---------- */
.theme-light .scroll-progress { box-shadow: 0 0 8px rgba(21,96,189,0.5); }

/* ---------- テキスト選択 ---------- */
.theme-light ::selection { background: var(--blue); color: #fff; }
