:root {
  --wfc-navy: #082f73;
  --wfc-blue: #0755bd;
  --wfc-orange: #ff4f18;
  --wfc-ice: #eef5ff;
  --wfc-ink: #101828;
  --wfc-muted: #667085;
  --wfc-border: #d9e2f2;
  --wfc-shadow: 0 18px 44px rgba(8, 47, 115, 0.12);
}

html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
img { height: auto; }
.wp-site-blocks { padding: 0; }
.wfc-site-header { border-bottom: 1px solid rgba(8, 47, 115, 0.1); position: sticky; top: 0; z-index: 100; backdrop-filter: blur(16px); }
.admin-bar .wfc-site-header { top: 32px; }
.wfc-header-inner { min-height: 76px; }
.wfc-site-header .wp-block-site-logo img { max-height: 52px; width: auto; }
.wfc-site-header .wp-block-site-title a { color: var(--wfc-ink); text-decoration: none; font-weight: 800; }

.wfc-editorial-label { color: var(--wfc-blue); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.wfc-display { font-size: clamp(3rem, 8vw, 7.5rem) !important; letter-spacing: -0.055em; line-height: 0.98 !important; }
.wfc-display .wfc-accent { color: var(--wfc-orange); }
.wfc-section-title { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -0.035em; }
.wfc-hero { min-height: 740px; overflow: hidden; position: relative; }
.wfc-hero::before { background: radial-gradient(circle, rgba(7,85,189,0.14) 0 2px, transparent 3px); background-size: 14px 14px; content: ''; inset: 0 48% 0 0; opacity: 0.5; pointer-events: none; position: absolute; }
.wfc-hero::after { border: 2px solid rgba(7,85,189,0.16); clip-path: polygon(14% 0, 100% 8%, 82% 100%, 0 86%); content: ''; height: 430px; left: 42%; position: absolute; top: 90px; transform: rotate(-4deg); width: 48%; }
.wfc-hero > * { position: relative; z-index: 2; }
.wfc-hero-media { background: linear-gradient(145deg, var(--wfc-blue), var(--wfc-navy)); clip-path: polygon(12% 0, 100% 0, 100% 88%, 0 100%); min-height: 540px; overflow: hidden; position: relative; }
.wfc-hero-media::before { background: linear-gradient(145deg, rgba(255,79,24,0.95), rgba(255,79,24,0.25)); clip-path: polygon(0 0, 100% 25%, 78% 100%, 0 70%); content: ''; inset: 12% 8% 18% 18%; position: absolute; }
.wfc-hero-media::after { color: #fff; content: 'FUKUSHIMA'; font-size: clamp(2.2rem, 5vw, 5rem); font-weight: 900; letter-spacing: 0.12em; opacity: 0.2; position: absolute; right: -1rem; top: 44%; transform: rotate(90deg); }

.wfc-button-orange .wp-block-button__link { background: var(--wfc-orange); }
.wfc-button-orange .wp-block-button__link:hover { background: #dd3500; }
.wfc-button-blue .wp-block-button__link:hover { background: #041f4e; }
.wp-block-button__link { transition: transform 180ms ease, background-color 180ms ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }

.wfc-search-shell { background: var(--wfc-navy); box-shadow: var(--wfc-shadow); color: #fff; margin-top: -82px; padding: clamp(1.5rem, 4vw, 3rem); position: relative; z-index: 5; }
.wfc-search-shell h2 { color: #fff; }
.wfc-editorial-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, 1fr); }
.wfc-editorial-card { background: #fff; border: 1px solid var(--wfc-border); box-shadow: 0 8px 24px rgba(16,24,40,0.06); min-height: 260px; overflow: hidden; padding: clamp(1.25rem, 3vw, 2rem); position: relative; transition: transform 180ms ease, box-shadow 180ms ease; }
.wfc-editorial-card::before { background: var(--wfc-blue); content: ''; height: 6px; inset: 0 0 auto; position: absolute; }
.wfc-editorial-card:nth-child(2)::before { background: var(--wfc-orange); }
.wfc-editorial-card:hover { box-shadow: var(--wfc-shadow); transform: translateY(-5px); }
.wfc-card-index { color: var(--wfc-blue); font-size: 3.4rem; font-weight: 900; opacity: 0.16; }
.wfc-audience-panel { min-height: 390px; overflow: hidden; padding: clamp(2rem, 5vw, 4rem); position: relative; }
.wfc-audience-panel.is-blue { background: linear-gradient(145deg, #0755bd, #082f73); color: #fff; }
.wfc-audience-panel.is-orange { background: linear-gradient(145deg, #ff4f18, #e32f00); color: #fff; }
.wfc-audience-panel h2, .wfc-audience-panel p { color: #fff; }
.wfc-audience-panel::after { border: 70px solid rgba(255,255,255,0.09); border-radius: 50%; content: ''; height: 260px; position: absolute; right: -100px; top: -80px; width: 260px; }
.wfc-reasons { background: var(--wfc-ice); }
.wfc-reason { border-left: 5px solid var(--wfc-blue); padding-left: 1.5rem; }
.wfc-site-footer { background: #061d46; color: rgba(255,255,255,0.78); }
.wfc-site-footer h2, .wfc-site-footer h3, .wfc-site-footer a { color: #fff; }
.wfc-site-footer a:hover { color: #ffb29b; }

[data-wfc-reveal] { opacity: 0; transform: translateY(20px); transition: opacity 500ms ease, transform 500ms ease; }
[data-wfc-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; }
  [data-wfc-reveal] { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 900px) {
  .admin-bar .wfc-site-header { top: 46px; }
  .wfc-hero { min-height: auto; }
  .wfc-hero::after { display: none; }
  .wfc-hero-media { min-height: 300px; }
  .wfc-search-shell { margin-top: -34px; }
  .wfc-editorial-grid { grid-template-columns: 1fr; }
  .wfc-audience-panel { min-height: 320px; }
}

@media (max-width: 600px) {
  .wfc-site-header { position: relative; top: 0; }
  .wfc-header-inner { min-height: 66px; }
  .wfc-display { font-size: clamp(3rem, 18vw, 5.2rem) !important; }
  .wfc-hero .wp-block-columns { gap: 1rem; }
  .wfc-hero-media { clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%); }
}

