/* ============================================================
   Self-hosted fonts — served locally, no external requests
   ============================================================ */

/* Cormorant Garamond */
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:300; font-display:swap;
  src: url('../fonts/cormorant-garamond-300.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:300; font-display:swap;
  src: url('../fonts/cormorant-garamond-300italic.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:400; font-display:swap;
  src: url('../fonts/cormorant-garamond-regular.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:400; font-display:swap;
  src: url('../fonts/cormorant-garamond-italic.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:500; font-display:swap;
  src: url('../fonts/cormorant-garamond-500.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:italic; font-weight:500; font-display:swap;
  src: url('../fonts/cormorant-garamond-500italic.woff2') format('woff2'); }
@font-face { font-family:'Cormorant Garamond'; font-style:normal; font-weight:600; font-display:swap;
  src: url('../fonts/cormorant-garamond-600.woff2') format('woff2'); }

/* DM Sans */
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:200; font-display:swap;
  src: url('../fonts/dm-sans-200.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:300; font-display:swap;
  src: url('../fonts/dm-sans-300.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:400; font-display:swap;
  src: url('../fonts/dm-sans-regular.woff2') format('woff2'); }
@font-face { font-family:'DM Sans'; font-style:normal; font-weight:500; font-display:swap;
  src: url('../fonts/dm-sans-500.woff2') format('woff2'); }

/* DM Mono */
@font-face { font-family:'DM Mono'; font-style:normal; font-weight:300; font-display:swap;
  src: url('../fonts/dm-mono-300.woff2') format('woff2'); }
@font-face { font-family:'DM Mono'; font-style:normal; font-weight:400; font-display:swap;
  src: url('../fonts/dm-mono-regular.woff2') format('woff2'); }

/* ============================================================
   ISAR Global Design System
   Institute for Strategic AI Research Global
   Version 1.0.0
   ============================================================ */

/* ── DESIGN TOKENS ──────────────────────────────────────────── */
:root {
  --navy:       #0a1628;
  --navy-deep:  #060d18;
  --navy-mid:   #111f35;
  --navy-light: #1a2d48;
  --cream:      #f0e8d8;
  --cream-dim:  #c8bca8;
  --burgundy:   #5a1825;
  --gold:       #b8955a;
  --gold-light: #d4ae70;
  --gold-dim:   #7a6038;
  --silver:     #8a9ab5;
  --silver-dim: #4a5a72;

  --t-door:      600ms;
  --t-micro:     200ms;
  --t-slow:      900ms;
  --ease-door:   cubic-bezier(0.25, 0, 0.1,  1);
  --ease-settle: cubic-bezier(0.0,  0, 0.15, 1);
  --ease-reveal: cubic-bezier(0.4,  0, 0.2,  1);
}

/* ── RESET ───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%; overflow: hidden;
  background: var(--navy-deep);
  color: var(--cream);
  font-family: 'DM Sans', sans-serif;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}

/* WordPress admin bar fix — override the margin WP injects */
html { margin-top: 0 !important; }
body { margin-top: 0 !important; }
#wpadminbar { display: none !important; }

/* cursor: none removed — custom cursor not used on front-page SPA */

/* ── CURSOR ──────────────────────────────────────────────────── */
#cur { position:fixed; z-index:9999; pointer-events:none; top:0; left:0; }
#cur-dot {
  position:absolute; width:6px; height:6px;
  background: var(--gold); border-radius:50%;
  transform:translate(-50%,-50%);
  transition: width 180ms, height 180ms, background 180ms;
}
#cur-ring {
  position:absolute; width:36px; height:36px;
  border:1px solid rgba(184,149,90,0.35); border-radius:50%;
  transform:translate(-50%,-50%);
  transition: width 300ms var(--ease-reveal), height 300ms var(--ease-reveal), border-color 300ms;
}
#cur-line {
  position:absolute; width:1px; height:0;
  background: rgba(184,149,90,0.2);
  transform:translateX(-50%);
  transition: height 400ms var(--ease-door);
}
.cur-hover #cur-dot  { width:3px; height:3px; background:var(--gold-light); }
.cur-hover #cur-ring { width:52px; height:52px; border-color:rgba(184,149,90,0.5); }
.cur-text  #cur-dot  { width:2px; height:16px; border-radius:1px; background:var(--gold); }
.cur-text  #cur-ring { opacity:0; }

/* ── FOG CANVAS ──────────────────────────────────────────────── */
#fog-canvas {
  position:fixed; inset:0; z-index:799;
  pointer-events:none;
  transition: opacity 700ms ease;
}

/* ── ENTRY SEQUENCE ──────────────────────────────────────────── */
#entry {
  position:fixed; inset:0; z-index:800;
  background: transparent;
  display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:24px;
  transition: opacity 500ms var(--ease-settle);
}
#entry.fade-out { opacity:0; pointer-events:none; }

.entry-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size:15px; font-weight:500;
  letter-spacing:0.35em; text-transform:uppercase;
  color: var(--cream);
  opacity:0; transform:translateY(6px);
  transition: opacity 600ms ease, transform 600ms var(--ease-reveal);
}
.entry-logo.vis { opacity:1; transform:translateY(0); }

.entry-rule {
  width:0; height:1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  transition: width 900ms var(--ease-door);
}
.entry-rule.vis { width:200px; }

.entry-sub {
  font-size:9px; letter-spacing:0.3em; text-transform:uppercase;
  color: var(--gold);
  opacity:0; transform:translateY(4px);
  transition: opacity 600ms ease, transform 600ms var(--ease-reveal);
}
.entry-sub.vis { opacity:1; transform:translateY(0); }

.entry-status {
  font-family: 'DM Mono', monospace;
  font-size:10px; letter-spacing:0.15em;
  color: var(--silver-dim);
  opacity:0; min-height:16px;
  transition: opacity 400ms ease;
}
.entry-status.vis { opacity:1; }

/* ── ATMOSPHERE ──────────────────────────────────────────────── */
#atmos {
  position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden;
}
.atm-orb {
  position:absolute; border-radius:50%;
  filter:blur(80px); pointer-events:none;
}
.atm-1 {
  width:55vw; height:55vw;
  top:-15%; right:-10%;
  background: radial-gradient(circle, rgba(90,24,37,0.45) 0%, transparent 70%);
}
.atm-2 {
  width:70vw; height:60vw;
  bottom:-25%; left:-15%;
  background: radial-gradient(circle, rgba(10,22,40,0.7) 0%, transparent 70%);
}
.atm-3 {
  width:30vw; height:30vw;
  top:30%; left:20%;
  background: radial-gradient(circle, rgba(184,149,90,0.04) 0%, transparent 70%);
}
.atm-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(184,149,90,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(184,149,90,0.06) 1px, transparent 1px);
  background-size: 80px 80px;
}
.atm-noise {
  position:absolute; inset:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity:0.04;
}
.atm-vignette {
  position:absolute; inset:0;
  background: radial-gradient(ellipse at center, transparent 40%, rgba(6,13,24,0.7) 100%);
}

/* ── VEIL (door transition) ──────────────────────────────────── */
#veil {
  position:fixed; inset:0; z-index:500;
  background: var(--navy-deep);
  transform: scaleY(0); transform-origin: top;
  pointer-events:none;
}
#veil.shut {
  transform: scaleY(1);
  transition: transform var(--t-door) var(--ease-door);
  transform-origin: top;
  pointer-events:all;
}
#veil.open {
  transform: scaleY(0);
  transition: transform var(--t-door) var(--ease-settle);
  transform-origin: bottom;
}
#settle-flash {
  position:fixed; inset:0; z-index:499;
  background: rgba(184,149,90,0.03);
  opacity:0; pointer-events:none;
}
#settle-flash.go {
  animation: flash-settle 520ms var(--ease-settle) forwards;
}
@keyframes flash-settle {
  0%   { opacity:1; }
  100% { opacity:0; }
}

/* ── NAVIGATION ──────────────────────────────────────────────── */
#nav {
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  padding:24px 56px;
  transition: background 400ms ease, backdrop-filter 400ms ease;
}
#nav.has-bg {
  background: rgba(6,13,24,0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(184,149,90,0.08);
}
.logo { display:flex; flex-direction:column; gap:3px; text-decoration:none; }
.logo-mark {
  font-family:'Cormorant Garamond',serif;
  font-size:17px; font-weight:500;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--cream);
}
.logo-sub {
  font-size:8.5px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-dim);
}
.nav-list { display:flex; align-items:center; gap:40px; list-style:none; }
.nav-btn {
  background:none; border:none; padding:4px 0;
  font-family:'DM Sans',sans-serif; font-size:11px;
  font-weight:400; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--silver); position:relative;
  transition: color var(--t-micro) ease;
}
.nav-btn::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:1px; background:var(--gold);
  transition: width var(--t-door) var(--ease-door);
}
.nav-btn:hover { color:var(--cream); }
.nav-btn:hover::after,
.nav-btn.active::after { width:100%; }
.nav-btn.active { color:var(--cream); }

/* ── PAGES (shared) ──────────────────────────────────────────── */
.page {
  position:fixed; inset:0;
  display:none; overflow-y:auto;
  padding-top:88px;
}
.page.active { display:flex; }

/* ── HOME PAGE ───────────────────────────────────────────────── */
#p-home {
  align-items:center; justify-content:center;
  flex-direction:column;
  overflow:hidden;
}
.home-bg-text {
  position:absolute; bottom:8vh; left:50%;
  transform:translateX(-50%);
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(80px,14vw,180px); font-weight:300;
  letter-spacing:0.18em; text-transform:uppercase;
  color:rgba(184,149,90,0.04);
  white-space:nowrap; pointer-events:none; user-select:none;
}
.home-inner {
  position:relative; z-index:10;
  max-width:780px; padding:0 56px;
  text-align:left;
  animation: up-fade 800ms var(--ease-reveal) 200ms both;
}
@keyframes up-fade {
  from { opacity:0; transform:translateY(12px); }
  to   { opacity:1; transform:translateY(0); }
}
.home-rule-top {
  width:48px; height:1px;
  background: linear-gradient(to right, var(--gold), transparent);
  margin-bottom:24px;
  animation: width-in 900ms var(--ease-door) 300ms both;
}
@keyframes width-in {
  from { width:0; }
  to   { width:48px; }
}
.home-kicker {
  font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold-dim); margin-bottom:20px;
  opacity:0; transform:translateY(6px);
  animation: up-fade 600ms var(--ease-reveal) 400ms forwards;
}
.home-h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,5vw,64px);
  font-weight:400; line-height:1.12;
  letter-spacing:0.01em;
  color:var(--cream); margin-bottom:28px;
  opacity:0;
  animation: up-fade 700ms var(--ease-reveal) 500ms forwards;
}
.home-h1 em {
  font-style:italic; color:var(--gold);
  font-weight:300;
}
.home-lead {
  font-size:15px; line-height:1.75; font-weight:300;
  color:var(--cream-dim); max-width:560px; margin-bottom:40px;
  opacity:0; transform:translateY(8px);
  animation: up-fade 700ms var(--ease-reveal) 650ms forwards;
}
.home-lead em { color:var(--cream); font-style:italic; }
.home-ctas {
  display:flex; align-items:center; gap:24px;
  opacity:0; transform:translateY(8px);
  animation: up-fade 700ms var(--ease-reveal) 750ms forwards;
}

/* ── BUTTONS ─────────────────────────────────────────────────── */
.btn {
  position:relative; overflow:hidden;
  padding:13px 28px;
  font-family:'DM Sans',sans-serif;
  font-size:10.5px; font-weight:400;
  letter-spacing:0.2em; text-transform:uppercase;
  border:none; display:inline-flex; align-items:center;
  transition: color var(--t-micro) ease;
}
.btn-fill {
  position:absolute; inset:0;
  transform:translateX(-101%);
  transition: transform 400ms var(--ease-door);
}
.btn:hover .btn-fill { transform:translateX(0); }
.btn-inner { position:relative; z-index:1; display:flex; align-items:center; gap:10px; }
.arr::before { content:'→'; }

.btn-gold { background:var(--gold); color:var(--navy-deep); box-shadow: 0 4px 20px rgba(6,13,24,0.8); }
.btn-gold .btn-fill { background:var(--gold-light); }

.btn-ghost { background:var(--navy-deep); color:var(--cream); border:1px solid rgba(184,149,90,0.45); }
.btn-ghost .btn-fill { background:rgba(184,149,90,0.12); }
.btn-ghost:hover { border-color:rgba(184,149,90,0.4); }

.btn-bare {
  background:none; border:none; padding:0;
  font-family:'DM Sans',sans-serif; font-size:10.5px;
  letter-spacing:0.18em; text-transform:uppercase;
  color:var(--silver); display:inline-flex; align-items:center; gap:8px;
  transition: color var(--t-micro) ease;
}
.btn-bare:hover { color:var(--gold); }

/* ── HOME STATS ──────────────────────────────────────────────── */
.home-stats {
  position:absolute; bottom:52px; left:0; right:0;
  display:flex; justify-content:center; gap:64px;
  padding:0 56px; z-index:10;
  opacity:0;
  animation: up-fade 800ms var(--ease-reveal) 1000ms forwards;
}
.home-stat { text-align:center; }
.h-stat-n {
  font-family:'Cormorant Garamond',serif;
  font-size:28px; font-weight:400;
  color:var(--gold); letter-spacing:0.05em;
  line-height:1;
}
.h-stat-l {
  font-size:8.5px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--silver-dim); margin-top:6px;
  max-width:120px;
}
.home-scroll {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-size:8px; letter-spacing:0.25em; text-transform:uppercase;
  color:var(--silver-dim); opacity:0.5;
  animation: up-fade 600ms ease 1400ms both;
}
.scroll-bar {
  width:1px; height:28px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  animation: scroll-pulse 2s ease infinite;
}
@keyframes scroll-pulse {
  0%,100% { opacity:0.4; }
  50%      { opacity:1; }
}

/* ── EARTH ───────────────────────────────────────────────────── */
#earth-wrap {
  position:fixed; bottom:0; left:-5%; right:-5%;
  height:35vh; z-index:2;
  pointer-events:none;
  opacity:0;
  transition: opacity 1600ms ease;
  background-repeat: no-repeat;
  background-size: 110% auto;
  background-position: center 52%;
  will-change: transform;
  -webkit-mask-image: linear-gradient(to bottom,
    transparent 0%,
    rgba(0,0,0,0.15) 22%,
    rgba(0,0,0,0.60) 48%,
    black 78%);
  mask-image: linear-gradient(to bottom,
    transparent 0%,
    rgba(0,0,0,0.15) 22%,
    rgba(0,0,0,0.60) 48%,
    black 78%);
}
#earth-wrap.home-visible { opacity: 1; }

/* ── NAVIGATION DOTS ─────────────────────────────────────────── */
#dots {
  position:fixed; right:28px; top:50%; transform:translateY(-50%);
  display:flex; flex-direction:column; gap:10px; z-index:100;
}
.dot {
  width:4px; height:4px; border-radius:50%;
  background:var(--silver-dim);
  transition: all var(--t-door) var(--ease-door);
  position:relative;
}
.dot::before { content:''; position:absolute; inset:-6px; }
.dot.active  { background:var(--gold); height:22px; border-radius:2px; }

/* ── STATUS BAR ──────────────────────────────────────────────── */
#bar {
  position:fixed; bottom:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 56px;
  border-top:1px solid rgba(184,149,90,0.08);
  background:rgba(6,13,24,0.6); backdrop-filter:blur(8px);
}
.bar-l { display:flex; align-items:center; gap:8px; }
.bar-pip {
  width:5px; height:5px; border-radius:50%; background:var(--gold);
  animation: pip-pulse 3s ease infinite;
}
@keyframes pip-pulse { 0%,100%{opacity:1} 50%{opacity:0.25} }
.bar-text { font-size:9.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--silver-dim); }
.bar-r    { font-family:'DM Mono',monospace; font-size:9.5px; color:var(--silver-dim); letter-spacing:0.1em; }

/* ── INTELLIGENCE PAGE ───────────────────────────────────────── */
#p-intel {
  flex-direction:column; align-items:center;
  padding-bottom:60px;
}
#p-intel::-webkit-scrollbar { width:4px; }
#p-intel::-webkit-scrollbar-track { background:transparent; }
#p-intel::-webkit-scrollbar-thumb { background:var(--gold-dim); border-radius:2px; }
#p-intel:hover::-webkit-scrollbar { width:8px; }
#p-intel:hover::-webkit-scrollbar-thumb { background:var(--gold); }
#p-intel:hover::-webkit-scrollbar-track { background:rgba(184,149,90,0.06); }

.intel-wrap { width:100%; max-width:1100px; padding:0 56px 80px; }

.section-header {
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:48px; padding-bottom:20px;
  border-bottom:1px solid rgba(184,149,90,0.12);
}
.section-kicker {
  font-size:9.5px; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold-dim); margin-bottom:8px;
}
.section-title {
  font-family:'Cormorant Garamond',serif;
  font-size:32px; font-weight:400; letter-spacing:0.02em;
  color:var(--cream);
}
.section-count {
  font-family:'DM Mono',monospace;
  font-size:10px; letter-spacing:0.12em;
  color:var(--silver-dim);
}

/* ── INTELLIGENCE CARDS ──────────────────────────────────────── */
.intel-list { display:flex; flex-direction:column; gap:0; }
.intel-card {
  padding:32px 0;
  border-bottom:1px solid rgba(184,149,90,0.08);
  display:grid; grid-template-columns:1fr auto;
  grid-template-rows:auto auto auto auto;
  gap:0 24px; position:relative;
  transition: background var(--t-micro) ease;
}
.intel-card::before {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:0; background:var(--gold);
  transition: width 300ms var(--ease-door);
}
.intel-card:hover::before { width:2px; }
.intel-card:hover { background:rgba(184,149,90,0.03); padding-left:16px; }

.ic-meta {
  grid-column:1; grid-row:2;
  display:flex; align-items:center; gap:16px;
  margin-bottom:12px;
}
.ic-tag {
  font-size:8.5px; letter-spacing:0.22em; text-transform:uppercase;
  padding:3px 10px;
  border:1px solid rgba(184,149,90,0.25);
  color:var(--gold-dim);
}
.ic-date {
  font-family:'DM Mono',monospace;
  font-size:9.5px; color:var(--silver-dim); letter-spacing:0.1em;
}
.ic-title {
  grid-column:1; grid-row:3;
  font-family:'Cormorant Garamond',serif;
  font-size:22px; font-weight:400; line-height:1.3;
  color:var(--cream); margin-bottom:12px;
  transition: color var(--t-micro) ease;
}
.intel-card:hover .ic-title { color:var(--gold-light); }
.ic-body {
  grid-column:1; grid-row:4;
  font-size:13.5px; line-height:1.7; font-weight:300;
  color:var(--cream-dim); max-width:680px;
}
.ic-action {
  grid-column:2; grid-row:2/5;
  display:flex; align-items:center;
}
.ic-arrow {
  width:36px; height:36px;
  border:1px solid rgba(184,149,90,0.15); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--gold-dim);
  transition: all var(--t-door) var(--ease-door);
}
.ic-arrow svg { width:14px; height:14px; }
.intel-card:hover .ic-arrow {
  border-color:var(--gold); color:var(--gold);
  transform:translateX(4px);
}

/* ── FEATURED IMAGE THUMBNAIL ────────────────────────────────── */
.ic-thumb {
  grid-column: 1 / -1;
  grid-row: 1;
  height: 160px;
  overflow: hidden;
  margin-bottom: 16px;
}
.ic-thumb img {
  width:100%; height:100%;
  object-fit:cover; display:block;
  filter: brightness(0.85) saturate(0.75);
  transition: transform 400ms var(--ease-door);
}
.intel-card:hover .ic-thumb img { transform: scale(1.03); }

/* ── ARTICLE / SINGLE ────────────────────────────────────────── */
#p-article {
  flex-direction:column; align-items:center;
  padding-bottom:60px;
}
#p-article::-webkit-scrollbar { width:4px; }
#p-article::-webkit-scrollbar-track { background:transparent; }
#p-article::-webkit-scrollbar-thumb { background:var(--gold-dim); border-radius:2px; }
#p-article:hover::-webkit-scrollbar { width:8px; }
#p-article:hover::-webkit-scrollbar-thumb { background:var(--gold); }
#p-article:hover::-webkit-scrollbar-track { background:rgba(184,149,90,0.06); }

.article-wrap { max-width:780px; padding:0 56px 80px; width:100%; }

.article-back {
  background:none; border:none;
  display:inline-flex; align-items:center; gap:8px;
  font-size:9.5px; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--silver-dim); margin-bottom:32px; padding:4px 0;
  transition: color var(--t-micro) ease;
}
.article-back:hover { color:var(--gold); }
.article-back svg { transition: transform var(--t-door) var(--ease-door); }
.article-back:hover svg { transform:translateX(-4px); }

.article-kicker {
  font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold-dim); margin-bottom:16px;
}
.article-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(28px,4vw,46px); font-weight:400; line-height:1.15;
  color:var(--cream); margin-bottom:28px; letter-spacing:0.01em;
}
.article-byline {
  display:flex; align-items:center; gap:20px;
  margin-bottom:32px; padding-bottom:24px;
  border-bottom:1px solid rgba(184,149,90,0.1);
}
.byline-name {
  font-size:12px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--cream);
}
.byline-role {
  font-size:10.5px; color:var(--silver-dim); margin-top:2px; letter-spacing:0.06em;
}
.byline-sep {
  width:1px; height:32px; background:rgba(184,149,90,0.15);
}
.byline-date {
  font-family:'DM Mono',monospace;
  font-size:10px; color:var(--silver-dim); letter-spacing:0.1em;
}

/* Lead paragraph — gold left border, slightly larger */
.article-lead {
  font-family:'Cormorant Garamond',serif;
  font-size:19px; line-height:1.7; font-weight:400;
  color:var(--cream-dim);
  border-left:2px solid var(--gold);
  padding-left:24px; margin-bottom:36px;
}
.article-lead em { color:var(--gold); font-style:italic; }

/* Body content */
.article-body { font-size:15px; line-height:1.85; font-weight:300; color:var(--cream-dim); }
.article-body p  { margin-bottom:24px; }
.article-body em { color:var(--cream); font-style:italic; }
.article-body strong { color:var(--cream); font-weight:500; }

.article-body h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:24px; font-weight:400; color:var(--cream);
  margin:40px 0 16px; letter-spacing:0.01em;
  padding-bottom:8px;
  border-bottom:1px solid rgba(184,149,90,0.1);
}

/* Pullquote */
.article-pullquote {
  margin:36px 0; padding:28px 32px;
  border-left:2px solid var(--gold);
  background:rgba(184,149,90,0.04);
}
.pullquote-text {
  font-family:'Cormorant Garamond',serif;
  font-size:20px; font-weight:400; line-height:1.55;
  color:var(--cream); font-style:italic; margin-bottom:12px;
}
.pullquote-attr {
  font-size:9.5px; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--gold-dim);
}

/* ── ABOUT PAGE ──────────────────────────────────────────────── */
#p-about { align-items:center; justify-content:center; }
.about-wrap {
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  max-width:1100px; padding:0 56px; width:100%;
}
.about-kicker {
  font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold-dim); margin-bottom:20px;
}
.about-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(26px,3.5vw,40px); font-weight:400; line-height:1.2;
  color:var(--cream); margin-bottom:28px;
}
.about-h2 em { font-style:italic; color:var(--gold); font-weight:300; }
.about-body {
  font-size:14px; line-height:1.8; font-weight:300;
  color:var(--cream-dim); margin-bottom:20px;
}
.about-sig { margin-top:36px; padding-top:24px; border-top:1px solid rgba(184,149,90,0.1); }
.about-sig-name {
  display:block;
  font-family:'Cormorant Garamond',serif;
  font-size:18px; font-weight:400; color:var(--cream); letter-spacing:0.05em;
  margin-bottom:4px;
}
.about-sig-role {
  font-size:9.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-dim);
}
.about-right { display:flex; flex-direction:column; gap:20px; }
.about-panel {
  padding:24px 28px;
  border:1px solid rgba(184,149,90,0.1);
  background:rgba(184,149,90,0.03);
  transition: background var(--t-micro) ease, border-color var(--t-micro) ease;
}
.about-panel:hover {
  background:rgba(184,149,90,0.07);
  border-color:rgba(184,149,90,0.22);
}
.panel-n {
  font-family:'Cormorant Garamond',serif;
  font-size:32px; font-weight:400; color:var(--gold);
  line-height:1; margin-bottom:6px;
}
.panel-l {
  font-size:11px; line-height:1.5; color:var(--silver-dim); letter-spacing:0.06em;
}

/* ── CONTACT PAGE ────────────────────────────────────────────── */
#p-contact { align-items:center; justify-content:center; }
.contact-wrap {
  display:grid; grid-template-columns:1fr 1fr; gap:80px;
  max-width:1100px; padding:0 56px; width:100%;
}
.contact-kicker {
  font-size:9.5px; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold-dim); margin-bottom:20px;
}
.contact-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(24px,3vw,38px); font-weight:400; line-height:1.2;
  color:var(--cream); margin-bottom:40px;
}
.contact-channels { display:flex; flex-direction:column; gap:0; }
.channel {
  padding:20px 0;
  border-bottom:1px solid rgba(184,149,90,0.08);
  position:relative; padding-left:0;
  transition: padding-left var(--t-door) var(--ease-door);
}
.channel::before {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:0; background:var(--gold);
  transition: width 300ms var(--ease-door);
}
.channel:hover::before { width:2px; }
.channel:hover { padding-left:12px; }
.channel-label {
  font-size:9px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--silver-dim); margin-bottom:6px;
}
.channel-value {
  font-family:'DM Mono',monospace;
  font-size:12px; color:var(--gold); letter-spacing:0.06em;
}

/* ── CONTACT FORM ────────────────────────────────────────────── */
.contact-right { display:flex; flex-direction:column; gap:24px; }
.field { position:relative; }
.field-label {
  display:block;
  font-size:9px; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--silver-dim); margin-bottom:8px;
}
.field-input {
  width:100%; background:none;
  border:none; border-bottom:1px solid rgba(184,149,90,0.15);
  padding:8px 0; font-size:14px; font-weight:300;
  color:var(--cream); font-family:'DM Sans',sans-serif;
  outline:none; transition: border-color var(--t-micro) ease;
}
.field-input::placeholder { color:var(--silver-dim); font-size:13px; }
.field-input:focus { border-color:rgba(184,149,90,0.4); }
.field-bar {
  position:absolute; bottom:0; left:0;
  width:0; height:1px; background:var(--gold);
  transition: width 400ms var(--ease-door);
}
.field-input:focus ~ .field-bar { width:100%; }

/* ── WORDPRESS CONTENT OVERRIDES ─────────────────────────────── */
/* Applied to post content rendered by the_content() */
.entry-content { font-size:15px; line-height:1.85; font-weight:300; color:var(--cream-dim); }
.entry-content p  { margin-bottom:24px; }
.entry-content em { color:var(--cream); font-style:italic; }
.entry-content strong { color:var(--cream); font-weight:500; }
.entry-content a  { color:var(--gold); text-decoration:none; border-bottom:1px solid rgba(184,149,90,0.3); transition: border-color var(--t-micro) ease; }
.entry-content a:hover { border-color:var(--gold); }

.entry-content h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:24px; font-weight:400; color:var(--cream);
  margin:40px 0 16px; letter-spacing:0.01em;
  padding-bottom:8px; border-bottom:1px solid rgba(184,149,90,0.1);
}
.entry-content h3 {
  font-family:'Cormorant Garamond',serif;
  font-size:19px; font-weight:400; color:var(--cream-dim);
  margin:28px 0 12px;
}
.entry-content blockquote {
  margin:36px 0; padding:28px 32px;
  border-left:2px solid var(--gold);
  background:rgba(184,149,90,0.04);
  font-family:'Cormorant Garamond',serif;
  font-size:18px; font-style:italic; color:var(--cream);
}
