/* ===== KEN FOO MEDIA — Editorial Design ===== */
: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.95);
  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:28px}
.main-nav a{color:rgba(255,255,255,0.75);font-size:14px;font-weight:500;transition:.2s}
.main-nav a:hover,.main-nav a.active{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 50%,#1B4F72 100%);
  color:var(--white);padding:90px 24px 70px;text-align:center;position:relative;overflow:hidden;
}
.hero::before{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(66,165,245,0.15),transparent 70%);border-radius:50%}
.hero-inner{max-width:760px;margin:0 auto;position:relative;z-index:1}
.hero-kicker{letter-spacing:3px;font-size:13px;color:var(--gold);margin-bottom:20px;font-weight:500}
.hero-title{font-family:'Noto Serif JP',serif;font-size:46px;font-weight:900;line-height:1.3;margin-bottom:24px}
.hero-title span{color:var(--gold)}
.hero-lead{font-size:17px;color:rgba(255,255,255,0.85);font-weight:300;max-width:620px;margin:0 auto 32px}
.hero-meta{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;font-size:14px;color:rgba(255,255,255,0.7)}
.hero-scroll{margin-top:48px;font-size:12px;letter-spacing:2px;color:var(--gold);animation:bounce 2s infinite}
@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

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

/* Featured */
.featured{max-width:1200px;margin:0 auto;padding:60px 24px 20px}
.feature-card{display:grid;grid-template-columns:1.1fr 1fr;gap:0;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px rgba(10,22,40,0.12);transition:.3s;background:var(--white)}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 20px 50px rgba(10,22,40,0.2)}
.feature-img{min-height:320px;position:relative;display:flex;align-items:flex-end;padding:24px}
.feature-tag{background:var(--gold);color:var(--navy);font-size:12px;font-weight:700;padding:6px 14px;border-radius:20px}
.feature-body{padding:40px}
.feature-body h2{font-family:'Noto Serif JP',serif;font-size:28px;font-weight:700;margin-bottom:16px;line-height:1.4}
.feature-body p{color:var(--gray);font-size:15px;margin-bottom:24px}
.read-more{color:var(--blue);font-weight:700;font-size:14px}

/* Article Grid */
.article-section{max-width:1200px;margin:0 auto;padding:40px 24px 70px}
.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.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:180px;position:relative;display:flex;align-items:flex-end;padding:16px}
.card-tag{background:rgba(255,255,255,0.9);color:var(--navy);font-size:11px;font-weight:700;padding:5px 12px;border-radius:16px}
.card-body{padding:24px}
.card-body h3{font-size:19px;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}
.about-card .card-img{background:linear-gradient(135deg,#1a1a2e,#16213e)}

/* About */
.about{background:var(--off-white);padding:70px 24px}
.about-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:center}
.about-photo{display:flex;justify-content:center}
.photo-circle{width:200px;height:200px;border-radius:50%;background:linear-gradient(135deg,#0A1628,#1B4F72);display:flex;align-items:center;justify-content:center;font-size:56px;font-weight:900;color:var(--gold);border:4px solid var(--gold)}
.about-text h2{font-size:13px;letter-spacing:3px;color:var(--blue);font-weight:700;margin-bottom:8px}
.about-text h3{font-family:'Noto Serif JP',serif;font-size:30px;font-weight:700;margin-bottom:20px}
.about-text p{color:var(--gray);font-size:15px;margin-bottom:16px}
.about-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.about-links a{font-size:13px;color:var(--blue);border:1px solid var(--blue);padding:6px 14px;border-radius:20px;transition:.2s}
.about-links a:hover{background:var(--blue);color:var(--white)}

/* 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-title{font-size:32px}
  .feature-card{grid-template-columns:1fr}
  .about-inner{grid-template-columns:1fr;text-align:center}
  .about-links{justify-content:center}
}
