
:root{
  --text:#0f172a;--text-soft:#475569;--muted:#64748b;--border:rgba(148,163,184,.18);--border-strong:rgba(148,163,184,.28);
  --shadow:0 22px 56px -38px rgba(15,23,42,.24);--shadow-lg:0 28px 64px -36px rgba(2,6,23,.58);
  --brand:#0f172a;--brand-2:#1e293b;--max:1200px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:radial-gradient(circle at top left, rgba(148,163,184,.12), transparent 28%),radial-gradient(circle at top right, rgba(15,23,42,.06), transparent 24%),linear-gradient(180deg,#ffffff 0%,#f8fafc 56%,#ffffff 100%);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 2rem));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;padding:.8rem 1rem;background:#fff;z-index:999;border-radius:999px;box-shadow:var(--shadow)}
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(255,255,255,.9);border-bottom:1px solid rgba(148,163,184,.18)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.brand-title{font-family:"Playfair Display",Georgia,serif;font-size:1.7rem;font-weight:700;letter-spacing:-.03em}.brand-subtitle{margin:.2rem 0 0;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);max-width:42rem}
.nav-desktop{display:flex;align-items:center;gap:1.25rem}.nav-desktop a{font-size:.95rem;color:var(--text-soft)}.nav-desktop a:hover,.nav-desktop a.active{color:var(--text)}
.button,.button-outline,.button-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.25rem;padding:.85rem 1.35rem;border-radius:999px;font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transition:.2s ease}.button{background:var(--brand);color:#fff}.button:hover{transform:translateY(-1px);background:var(--brand-2)}.button-outline{border:1px solid var(--border-strong);background:#fff;color:var(--brand)}.button-outline:hover{transform:translateY(-1px);background:#f8fafc}.button-ghost{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff}.button-ghost:hover{transform:translateY(-1px);background:rgba(255,255,255,.11)}
.menu-toggle{display:none;background:none;border:none;padding:.5rem}.menu-toggle .line{display:block;width:1.4rem;height:2px;background:var(--brand);margin:.3rem 0}.mobile-menu{display:none;padding:0 0 1rem}.mobile-menu a{display:block;padding:.8rem 1rem;border-radius:1rem;color:var(--text-soft)}.mobile-menu a:hover,.mobile-menu a.active{background:#f1f5f9;color:var(--text)}
.hero{margin-top:1rem;border-radius:2rem;overflow:hidden;background:radial-gradient(circle at top left, rgba(255,255,255,.07), transparent 28%),linear-gradient(135deg, rgba(2,6,23,.98), rgba(15,23,42,.94) 55%, rgba(30,41,59,.90));color:#fff}.hero-inner{display:grid;gap:2.25rem;padding:2.25rem 1.5rem}.hero h1,.hero-simple h1{font-family:"Playfair Display",Georgia,serif;line-height:1.03;letter-spacing:-.035em;margin:0}.hero h1{font-size:clamp(2.4rem,6vw,4.25rem)}.hero p{color:#e2e8f0;line-height:1.85;font-size:1.05rem}
.eyebrow{display:inline-block;margin:0 0 1rem;font-size:.75rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#94a3b8}.hero-panels{display:grid;gap:1rem}.glass-panel{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:1.5rem;padding:1.35rem}.glass-panel p,.glass-panel a,.glass-panel li{color:#e2e8f0}
.section{padding:1rem 0}.surface-shell,.surface-card,.dark-card{border-radius:2rem}.surface-shell{background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.94));border:1px solid var(--border);box-shadow:var(--shadow)}.section-shell-inner{padding:2rem 1.5rem}.surface-card{background:linear-gradient(180deg,#fff, rgba(248,250,252,.96));border:1px solid var(--border);box-shadow:var(--shadow);padding:1.4rem}.dark-card{background:linear-gradient(180deg,#0f172a 0%, #111827 100%);border:1px solid rgba(51,65,85,.34);box-shadow:var(--shadow-lg);color:#fff;padding:2rem 1.5rem}
.kicker{font-size:.75rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin:0 0 .8rem}.dark-card .kicker{color:#94a3b8}.h2{margin:0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.1;letter-spacing:-.03em}.h3{margin:0;font-size:1.18rem;line-height:1.3}.lead{font-size:1.06rem;line-height:1.9;color:var(--text-soft)}
.grid-2{display:grid;gap:1.5rem}.grid-4{display:grid;gap:1rem}.bullet-list,.plain-list{padding-left:1.2rem}.bullet-list li,.plain-list li{margin:.6rem 0;line-height:1.8}.plain-list{list-style:none;padding-left:0}.plain-list li{padding:.85rem 1rem;border:1px solid var(--border);background:linear-gradient(180deg,#fff, rgba(248,250,252,.96));border-radius:1rem}.card-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-weight:700}
.split-banner{border-radius:2rem;overflow:hidden;border:1px solid var(--border);background:#fff}.split-banner .left,.split-banner .right{padding:2rem 1.5rem}.split-banner .right{background:linear-gradient(180deg,#0f172a 0%, #111827 100%);color:#fff}.cta-band{border-radius:2rem;background:radial-gradient(circle at top left, rgba(255,255,255,.07), transparent 28%),linear-gradient(135deg, rgba(2,6,23,.98), rgba(15,23,42,.94) 55%, rgba(30,41,59,.90));color:#fff;padding:2rem 1.5rem}
.footer{border-top:1px solid rgba(148,163,184,.18);background:rgba(255,255,255,.92);margin-top:2rem}.footer-inner{display:grid;gap:2rem;padding:2rem 0}.footer-grid{display:grid;gap:1.5rem}.footer h4{margin:.2rem 0 1rem}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin:.7rem 0}.footer p,.footer li a{color:var(--text-soft);line-height:1.8}
.breadcrumbs{font-size:.88rem;color:var(--muted);margin:1rem 0 0}.breadcrumbs a{color:var(--muted)}.hero-simple{margin-top:1rem;padding:2rem 1.5rem;border-radius:2rem;background:radial-gradient(circle at top left, rgba(255,255,255,.07), transparent 28%),linear-gradient(135deg, rgba(2,6,23,.98), rgba(15,23,42,.94) 55%, rgba(30,41,59,.90));color:#fff}.hero-simple h1{font-size:clamp(2.3rem,5vw,4rem)}.hero-simple p{color:#e2e8f0;max-width:60rem;line-height:1.85}
.prose p{line-height:1.9;color:var(--text-soft)}.prose strong{color:var(--text)}.prose blockquote{margin:1.5rem 0;padding:1.2rem 1.4rem;border-left:4px solid var(--brand);background:#f8fafc;border-radius:1rem;color:var(--text)}.person-layout,.article-layout{display:grid;gap:1.5rem}.info-box{border:1px solid var(--border);background:linear-gradient(180deg,#fff, rgba(248,250,252,.96));border-radius:1.25rem;padding:1.2rem}.meta-line{font-size:.95rem;color:var(--muted);line-height:1.8}
.form-grid{display:grid;gap:1rem}label{display:block;font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:.45rem}input,select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:1rem;background:#fff;padding:.9rem 1rem;font:inherit;color:var(--text)}textarea{min-height:8rem;resize:vertical}.small-note{font-size:.9rem;color:var(--muted);line-height:1.7}.article-card{display:block}.article-card:hover .h3{color:var(--brand-2)}
@media (min-width: 768px){.hero-inner{padding:3rem 2.5rem}.section-shell-inner,.dark-card,.split-banner .left,.split-banner .right,.cta-band,.hero-simple{padding:2.4rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width: 1024px){.hero-inner{grid-template-columns:1.1fr .9fr;padding:3.4rem 3.2rem}.section-shell-inner,.dark-card,.split-banner .left,.split-banner .right,.cta-band,.hero-simple{padding:2.7rem 3rem}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.person-layout{grid-template-columns:.72fr 1.28fr}.article-layout{grid-template-columns:.78fr 1.22fr}.footer-inner{grid-template-columns:1.1fr .9fr}}
@media (max-width: 1023px){.nav-desktop{display:none}.menu-toggle{display:block}.mobile-menu.open{display:block}}
