/* ===== KEN FOO MEDIA v2 — bowgl.com inspired ===== */
:root{
  --navy:#0A1628;
  --navy2:#16213E;
  --blue:#1B4F72;
  --blue-light:#42A5F5;
  --gold:#C9A94E;
  --white:#fff;
  --off-white:#F7F8FA;
  --gray:#6B7280;
  --text:#1A2438;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Noto Sans JP',sans-serif;
  color:var(--text);background:var(--white);
  line-height:1.7;-webkit-font-smoothing:antialiased;
}
a{text-decoration:none;color:inherit}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(10,22,40,0.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,0.08)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:8px}
.logo-mark{font-size:24px}
.logo-text{color:var(--white);font-weight:700;letter-spacing:1px;font-size:18px}
.logo-text em{font-style:normal;color:var(--gold);font-weight:300}
.main-nav{display:flex;gap:24px}
.main-nav a{color:rgba(255,255,255,0.75);font-size:14px;font-weight:500;transition:.2s}
.main-nav a:hover{color:var(--gold)}
.header-social{display:flex;gap:12px}
.header-social a{color:rgba(255,255,255,0.6);font-size:12px;font-weight:700;border:1px solid rgba(255,255,255,0.2);padding:4px 8px;border-radius:4px;transition:.2s}
.header-social a:hover{color:var(--navy);background:var(--gold);border-color:var(--gold)}

/* Hero */
.hero{background:linear-gradient(135deg,#0A1628 0%,#16213E 60%,#1B4F72 100%);color:var(--white);padding:90px 24px 70px;text-align:center}
.hero-inner{max-width:780px;margin:0 auto}
.hero h1{font-family:'Noto Serif JP',serif;font-size:44px;font-weight:900;line-height:1.35;margin-bottom:24px}
.hero h1 span{color:var(--gold)}
.hero-lead{font-size:17px;font-weight:300;color:rgba(255,255,255,0.85);line-height:1.9}

/* Big Cards (bowgl.com style) */
.big-cards{max-width:1200px;margin:0 auto;padding:50px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}
.big-card{display:block;background:var(--white);border:1px solid #E8EBF0;border-radius:16px;padding:32px;position:relative;overflow:hidden;transition:.3s;border-left:6px solid var(--accent)}
.big-card::before{content:'';position:absolute;top:0;right:0;width:120px;height:120px;background:var(--accent);opacity:0.06;border-radius:0 0 0 80px}
.big-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(10,22,40,0.14)}
.big-card-label{display:inline-block;font-size:11px;font-weight:700;letter-spacing:2px;color:var(--accent);margin-bottom:14px}
.big-card h2{font-family:'Noto Serif JP',serif;font-size:24px;font-weight:700;margin-bottom:12px;color:var(--navy)}
.big-card p{font-size:14px;color:var(--gray);line-height:1.7;margin-bottom:18px}
.big-card-link{font-size:13px;font-weight:700;color:var(--accent)}

/* Section Label */
.section-label{max-width:1200px;margin:0 auto 24px;padding:0 24px;font-size:13px;letter-spacing:3px;font-weight:700;color:var(--blue)}

/* Article Grid */
.article-section{max-width:1200px;margin:0 auto;padding:20px 24px 70px}
.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.article-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 6px 24px rgba(10,22,40,0.08);transition:.3s;border:1px solid #EEF1F5}
.article-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(10,22,40,0.16)}
.card-img{min-height:170px;position:relative;display:flex;align-items:flex-end;padding:16px}
.card-tag{background:rgba(255,255,255,0.92);color:var(--navy);font-size:11px;font-weight:700;padding:5px 12px;border-radius:16px}
.card-body{padding:22px}
.card-body h3{font-size:18px;font-weight:700;margin-bottom:10px;line-height:1.45}
.card-body p{color:var(--gray);font-size:14px;margin-bottom:14px}
.card-date{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:1px}

/* Footer */
.site-footer{background:var(--navy);color:rgba(255,255,255,0.7);padding:50px 24px;text-align:center}
.footer-logo{font-size:20px;font-weight:700;color:var(--white);display:block;margin-bottom:12px}
.footer-inner p{font-size:14px;margin-bottom:8px}
.footer-copy{font-size:12px;color:rgba(255,255,255,0.4);margin-top:16px}

/* Responsive */
@media(max-width:768px){
  .main-nav{display:none}
  .hero h1{font-size:30px}
  .big-cards{grid-template-columns:1fr}
}
