@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=DM+Mono:wght@400;500&display=swap');

:root{
  --bg:#fdfaf4;
  --paper:#ffffff;
  --paper-2:#faf8f5;
  --ink:#1a1c1d;
  --muted:#5f6368;
  --line:rgba(26,28,29,.08);
  --line-strong:rgba(26,28,29,.15);
  --forest:#1b3028;
  --forest-2:#243d34;
  --sand:#e3d5c1;
  --gold:#b8860b;
  --gold-2:#8b6508;
  --cream:#fdfaf2;
  --shadow:0 30px 90px rgba(0,0,0,.08);
  --radius-xl:48px;
  --radius-lg:32px;
  --radius-md:20px;
  --radius-sm:14px;
  --max:1180px;
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-serif: 'Inter', system-ui, -apple-system, sans-serif;
  --font-accent: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'DM Mono', ui-monospace, monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at top left, rgba(196,154,84,.14), transparent 28%),
    radial-gradient(circle at 85% 10%, rgba(32,53,45,.09), transparent 22%),
    linear-gradient(180deg,#f8f4ec 0%,var(--bg) 60%,#f1ebdf 100%);
  color:var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1, h2, h3, h4, h5, h6, .brand-name {
  font-family: var(--font-accent);
  font-style: normal;
  font-weight: 800;
  letter-spacing: -0.03em;
}
main h2, main h3, .card h3 {
  font-family: var(--font-sans);
  font-style: normal;
  font-weight: 700;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.site-shell{position:relative;overflow-x:hidden}
.site-shell:before,.site-shell:after{
  content:"";position:fixed;pointer-events:none;z-index:0;filter:blur(50px);opacity:.42
}
.site-shell:before{top:-120px;right:-80px;width:320px;height:320px;background:rgba(196,154,84,.26);border-radius:50%}
.site-shell:after{left:-100px;bottom:12%;width:280px;height:280px;background:rgba(32,53,45,.18);border-radius:50%}
.nav-wrap{
  position:sticky;top:0;z-index:50;backdrop-filter:blur(18px);
  background:rgba(245,241,232,.72);border-bottom:1px solid rgba(19,17,17,.08)
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
@media (max-width: 600px) {
  .nav { flex-direction: column; gap: 12px; text-align: center; padding: 12px 0; }
  .nav-links { justify-content: center; width: 100%; }
  .brand-name { font-size: 1.2rem; }
  .brand-sub { font-size: 0.6rem; letter-spacing: 0.2em; }
}
.brand{display:flex;flex-direction:column;gap:4px}
.brand-name{font-family: var(--font-accent); font-weight:800;letter-spacing:-.02em;font-size:1.4rem;line-height:1;font-style:normal}
.brand-sub{font-family: var(--font-sans); font-size:.65rem;text-transform:uppercase;letter-spacing:.25em;color:var(--muted);font-weight:700;margin-top:2px}
.nav-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.nav-links a{
  padding:8px 12px;border-radius:12px;background:transparent;
  border:1px solid transparent;font-size:0.85rem;font-weight:500;transition:all .3s ease;
  color: var(--muted);
}
@media (max-width: 650px) {
  .nav { padding: 12px 0; }
  .nav-links { gap: 4px; justify-content: center; }
  .nav-links a { padding: 6px 10px; font-size: 0.8rem; }
}
.nav-links a:hover{
  color: var(--ink);
  background: rgba(255,255,255,.6);
  border: 1px solid rgba(19,17,17,.06);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(19,17,17,.04);
}
.hero{position:relative;z-index:1;padding:80px 0 60px}
.hero-panel{
  position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);
  background:linear-gradient(145deg,rgba(255,255,255,.02),rgba(255,255,255,0)),
             linear-gradient(135deg,#0a0f0d 0%,#151f1b 40%,#1b3028 100%);
  box-shadow:0 60px 120px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.05);color:#fdfbf7;padding:56px 80px;
  max-width:1160px;margin:0 auto;
}
.hero-grid{position:relative;display:grid;grid-template-columns:1.3fr 0.7fr;gap:60px;align-items:center}
.eyebrow{
  font-family: var(--font-mono);
  display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border-radius:999px;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);font-size:.65rem;
  text-transform:uppercase;letter-spacing:.15em;font-weight:400;color:var(--sand);margin-bottom:24px;
  backdrop-filter: blur(8px);
}
h1{margin:0;max-width:900px;font-size:clamp(2.6rem,5vw,4rem);line-height:1;letter-spacing:-.04em;font-weight:800;color:var(--ink)}
.hero-panel h1{color:#fdfbf7;text-shadow: 0 2px 20px rgba(0,0,0,.15)}
.hero-copy{margin-top:18px;max-width:760px;color:rgba(245,239,227,.8);font-size:1.1rem;line-height:1.55;font-weight:400;font-family: var(--font-sans)}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:12px;font-size:.95rem;font-weight:600;letter-spacing:.01em;transition:all .3s ease}
.btn-primary{background:linear-gradient(180deg,#dfc8a5,#c49a54);color:#1a1612;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 12px 24px rgba(0,0,0,.15);border:1px solid #b38a49}
.btn-secondary{color:#fdfbf7;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.04);backdrop-filter:blur(4px)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 16px 32px rgba(0,0,0,.2);filter:brightness(1.05)}
.btn-secondary:hover{transform:translateY(-2px);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.hero-image-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.hero-image-frame {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 30px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.03);
  transition: all .6s cubic-bezier(.4,0,.2,1);
  aspect-ratio: 4 / 5;
  max-height: 380px;
}
.hero-image-frame:hover {
  transform: translateY(-8px) scale(1.01);
  border-color: rgba(255,255,255,.25);
  box-shadow: 0 50px 120px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.1);
}
.hero-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.12) contrast(1.05);
  mix-blend-mode: luminosity;
  opacity: 0.88;
  transition: all .6s ease;
}
.hero-image-frame:hover .hero-img {
  filter: grayscale(0) contrast(1.1);
  opacity: 1;
}
.image-caption {
  margin-top: 16px;
  color: rgba(255,255,255,.4);
  font-size: .75rem;
  line-height:1.5;
  text-align:center;
}
.mt-1 { margin-top: 1rem; }
.text-center { text-align: center; }
.section{position:relative;z-index:1;padding:60px 0 80px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}
.section h2{font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.05;letter-spacing:-.03em;font-weight:400;margin:0}
.section-intro{max-width:640px;color:var(--muted);font-size:1.05rem;line-height:1.65;font-family: var(--font-sans);font-style: normal;font-weight:400;opacity: 0.85;}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{
  position:relative;
  background:linear-gradient(145deg,rgba(255,255,255,1),rgba(250,248,245,0.95));
  border:1px solid var(--line);
  border-radius:var(--radius-md);padding:40px;
  box-shadow: 
    0 4px 20px rgba(0,0,0,.02),
    0 20px 50px rgba(0,0,0,.04),
    inset 0 1px 0 #fff;
  min-height:100%;
  backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);
  transition:all .5s cubic-bezier(.16, 1, .3, 1);
  display:flex;flex-direction:column;
  cursor:pointer;
}
.card:hover{
  transform:translateY(-12px);
  box-shadow: 
    0 10px 30px rgba(0,0,0,.04),
    0 40px 80px rgba(0,0,0,.08),
    inset 0 1px 0 #fff;
  border-color:var(--sand);
}
.card .tag{
  align-self: flex-start;
  display:inline-flex;padding:6px 14px;
  border-radius:999px;background:var(--cream);
  border:1px solid rgba(196,154,84,.2);
  color:var(--gold-2);font-family:var(--font-mono);font-weight:500;font-size:.68rem;
  text-transform:uppercase;letter-spacing:.1em;
  box-shadow: 0 2px 4px rgba(196,154,84,.08);
  margin-bottom: 20px;
}
.card h3{font-size:1.5rem;letter-spacing:-.015em;font-weight:600;line-height:1.2;margin:0 0 12px; transition: color .3s ease;}
.card h3 a:after { content: ""; position: absolute; inset: 0; z-index: 10; }
.card:hover h3 { color: var(--gold-2); }
.card p{color:var(--muted);line-height:1.75;margin:0 0 24px; font-size: 0.98rem; flex-grow: 1;}
.meta-row{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:20px; border-top: 1px solid rgba(19,17,17,.06);
  color:rgba(101,95,90,.6);font-size:.82rem;
  font-weight: 500;
}
.card:after {
  content: "→";
  position: absolute;
  bottom: 30px;
  right: 32px;
  font-size: 1.4rem;
  color: var(--gold);
  opacity: 0;
  transform: translateX(-10px);
  transition: all .4s cubic-bezier(.4, 0, .2, 1);
}
.card:hover:after {
  opacity: 1;
  transform: translateX(0);
}
.callout{
  border-radius:28px;padding:32px;border:1px solid rgba(255,255,255,.8);
  background:linear-gradient(180deg,rgba(247,242,232,.9),rgba(241,234,220,.7));
  box-shadow:0 4px 6px -1px rgba(0,0,0,.03),0 12px 32px -4px rgba(18,15,11,.06),inset 0 1px 0 rgba(255,255,255,1);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.callout strong{display:block;font-size:1rem;margin-bottom:6px}
.page{position:relative;z-index:1;padding:34px 0 80px}
.page-grid{display:grid;grid-template-columns:minmax(0,780px) minmax(260px,320px);gap:28px;align-items:start}
.article-card{
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.45));backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.9);border-radius:28px;padding:36px;
  box-shadow:0 4px 6px -1px rgba(0,0,0,.03),0 12px 32px -4px rgba(18,15,11,.06),inset 0 1px 0 rgba(255,255,255,1);
}
.kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#efe3ce;color:#70511f;font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:500}
.page h1{font-size:clamp(2.5rem,4vw,4.4rem);line-height:1.05;letter-spacing:-.02em;font-weight:500;margin:18px 0 16px;color:var(--ink)}
.dek{font-size:1.15rem;color:var(--muted);line-height:1.74;max-width:58ch}
.meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.92rem;color:var(--muted);padding:16px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0 26px}
main p{font-size:1.2rem;line-height:1.8;color:#22201f;margin:1.5rem 0;font-weight: 400;}
main h2{font-size:2.4rem;line-height:1.1;letter-spacing:-.015em;font-weight:700;margin:3.5rem 0 1rem}
main h3{font-family: var(--font-mono); font-size:.95rem;line-height:1.2;letter-spacing:0.08em;font-weight:500;margin:2rem 0 .8rem; text-transform: uppercase; color: var(--gold-2);}
main ul{padding-left:1.5rem}
main li{margin:.75rem 0;line-height:1.75;font-size: 1.15rem;}
.highlight{
  padding:20px 22px;border-left:4px solid var(--gold);background:#fbf5ea;border-radius:16px;border:1px solid rgba(19,17,17,.06);
  margin:24px 0
}
.sidebar{position:sticky;top:92px;display:flex;flex-direction:column;gap:16px}
.side-card{
  background:rgba(255,255,255,.58);border:1px solid rgba(19,17,17,.08);border-radius:22px;padding:22px
}
.side-card h3{margin:0 0 12px;font-size:1rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.side-card ul{list-style:none;padding:0;margin:0}
.side-card li{margin:0}
.side-card a{display:block;padding:10px 0;border-top:1px solid rgba(19,17,17,.08)}
.side-card li:first-child a{border-top:none;padding-top:0}
.sources{margin-top:34px;padding-top:18px;border-top:1px solid var(--line)}
.sources li{margin:.55rem 0}
.footer{
  border-top:1px solid rgba(19,17,17,.06);padding:48px 0 64px;color:var(--muted);font-size:.9rem;
  background:linear-gradient(180deg,transparent,rgba(19,17,17,.03));
}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:32px}
.small{font-size:.85rem;color:var(--muted);line-height:1.6;margin-top:12px}
.note{font-size:.85rem;color:var(--muted)}
.codeblock{background:#1f2326;color:#f3f3f3;padding:16px;border-radius:18px;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}

/* Level Up: Premium Imagery & Authority Badges */
.article-img {
  margin: 32px 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
  background: var(--paper-2);
}
.article-img img {
  display: block;
  width: 100%;
  height: auto;
  filter: grayscale(1) contrast(1.1);
  transition: transform .6s cubic-bezier(.4,0,.2,1);
}
.article-img:hover img {
  transform: scale(1.02);
}
.article-img-caption {
  padding: 14px 20px;
  font-size: .85rem;
  color: var(--muted);
  border-top: 1px solid var(--line);
  font-style: italic;
}

.badge-verified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(32,53,45,.06);
  border: 1px solid rgba(32,53,45,.12);
  color: var(--forest);
  font-size: .7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.badge-verified:before {
  content: "✓";
  font-weight: 900;
}
@media (max-width:980px){
  .hero-grid,.page-grid,.footer-grid,.card-grid{grid-template-columns:1fr}
  .sidebar{position:relative;top:auto}
  .hero-panel{padding:40px 24px;border-radius:24px}
  .article-card{padding:26px}
  .hero-actions{justify-content:center}
  .stat-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .card-grid{grid-template-columns:1fr}
  .nav{flex-wrap:wrap;justify-content:center;text-align:center}
  .brand{align-items:center}
  .hero-panel{padding:32px 24px;border-radius:24px}
  h1{font-size:clamp(2.5rem,7vw,3.5rem)}
  .section h2{font-size:clamp(1.8rem,6vw,2.5rem)}
  .card,.article-card,.callout{padding:24px;border-radius:20px}
  .hero-image-frame { margin-top: 20px; }
}
@media (max-width:480px){
  .btn{width:100%}
  .hero-actions{flex-direction:column}
}
