
:root{
  --background:oklch(0.16 0.025 250);
  --foreground:oklch(0.96 0.012 90);
  --surface:oklch(0.20 0.028 250);
  --surface-2:oklch(0.24 0.030 250);
  --muted-foreground:oklch(0.74 0.022 250);
  --gold:oklch(0.82 0.12 82);
  --gold-soft:oklch(0.88 0.07 85);
  --primary-foreground:oklch(0.16 0.025 250);
  --border:rgba(255,255,255,0.08);
  --border-strong:rgba(255,255,255,0.16);
  --font-display:"Fraunces",ui-serif,Georgia,serif;
  --font-sans:"Inter Tight",ui-sans-serif,system-ui,sans-serif;
  --gradient-hero:radial-gradient(120% 80% at 80% 10%,oklch(0.30 0.05 250) 0%,transparent 55%),radial-gradient(80% 60% at 0% 100%,oklch(0.22 0.04 260) 0%,transparent 60%),linear-gradient(180deg,oklch(0.14 0.025 250) 0%,oklch(0.18 0.028 250) 100%);
  --gradient-gold:linear-gradient(135deg,oklch(0.86 0.10 85) 0%,oklch(0.72 0.14 75) 100%);
  --shadow-elegant:0 30px 60px -20px rgba(0,0,0,.5),0 10px 30px -10px rgba(0,0,0,.35);
  --shadow-gold:0 0 0 1px oklch(0.82 0.12 82/.25),0 20px 50px -20px oklch(0.82 0.12 82/.25);
}
*,*::before,*::after{box-sizing:border-box;border:0 solid var(--border);margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5;min-height:100vh}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;background:none;border:0;cursor:pointer;color:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:500;letter-spacing:-0.02em;color:var(--foreground);line-height:1.1}
::selection{background:var(--gold);color:var(--primary-foreground)}

.container-page{width:100%;margin-inline:auto;padding-inline:1.25rem;max-width:80rem}
@media(min-width:640px){.container-page{padding-inline:1.5rem}}

.eyebrow{font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);display:inline-block}
.hairline{height:1px;width:3rem;background:var(--gold);display:inline-block}
.text-gold{color:var(--gold)}
.text-gold-soft{color:var(--gold-soft)}
.text-muted{color:var(--muted-foreground)}
.italic{font-style:italic}
.font-display{font-family:var(--font-display)}

/* prose */
.prose-editorial p{color:oklch(.86 .015 250);font-size:1.0625rem;line-height:1.75;margin-bottom:1.25rem}
.prose-editorial h2{font-size:1.875rem;margin-top:2.5rem;margin-bottom:1rem;font-family:var(--font-display)}
.prose-editorial h3{font-size:1.375rem;margin-top:2rem;margin-bottom:.75rem;color:var(--gold-soft);font-family:var(--font-display)}
.prose-editorial ul{padding-left:0;margin-bottom:1.5rem}
.prose-editorial ul li{position:relative;padding-left:1.5rem;color:oklch(.86 .015 250);margin-bottom:.625rem;line-height:1.6}
.prose-editorial ul li::before{content:"";position:absolute;left:0;top:.7rem;width:.5rem;height:1px;background:var(--gold)}
.prose-editorial strong{color:var(--foreground);font-weight:600}
.prose-editorial em{font-style:italic}
.prose-editorial a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}

/* header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:all .3s;background:transparent}
.site-header.scrolled{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(20,25,40,.8);border-bottom:1px solid var(--border)}
.site-header .bar{display:flex;height:5rem;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.75rem}
.brand-mark{display:inline-flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border:1px solid oklch(.82 .12 82/.4);font-family:var(--font-display);color:var(--gold);border-radius:.25rem;flex-shrink:0;transition:.2s}
.brand:hover .brand-mark{background:var(--gold);color:var(--primary-foreground)}
.brand-name{font-family:var(--font-display);font-size:1.125rem;letter-spacing:-.02em;display:none}
@media(min-width:640px){.brand-name{display:block;font-size:1.25rem}}
.nav-desktop{display:none;align-items:center;gap:2rem}
@media(min-width:1024px){.nav-desktop{display:flex}}
.nav-desktop a{font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground);transition:.2s}
.nav-desktop a:hover,.nav-desktop a.active{color:var(--foreground)}
.engage-btn{display:none;align-items:center;border:1px solid oklch(.82 .12 82/.5);padding:.5rem 1rem;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);border-radius:.25rem;transition:.2s}
@media(min-width:1024px){.engage-btn{display:inline-flex}}
.engage-btn:hover{background:var(--gold);color:var(--primary-foreground)}
.menu-toggle{display:inline-flex;color:var(--foreground);padding:.5rem;align-items:center;justify-content:center}
@media(min-width:1024px){.menu-toggle{display:none}}
.menu-toggle svg{width:1.5rem;height:1.5rem}
.nav-mobile{display:none;border-top:1px solid var(--border);background:rgba(20,25,40,.95);backdrop-filter:blur(12px)}
.nav-mobile.open{display:block}
.nav-mobile .container-page{display:flex;flex-direction:column;gap:.25rem;padding-top:1rem;padding-bottom:1rem}
.nav-mobile a{padding:.875rem 1rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground);border-radius:.25rem}
.nav-mobile a:hover{background:var(--surface);color:var(--foreground)}

/* buttons */
.btn-gold{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold);color:var(--primary-foreground);padding:.875rem 1.5rem;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;border-radius:.25rem;box-shadow:var(--shadow-gold);transition:.2s}
.btn-gold:hover{opacity:.9}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border-strong);padding:.875rem 1.5rem;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.16em;color:var(--foreground);border-radius:.25rem;transition:.2s}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.icon{width:1rem;height:1rem;display:inline-block;flex-shrink:0}

/* sections */
section{padding-top:5rem;padding-bottom:5rem}
@media(min-width:1024px){section{padding-top:6rem;padding-bottom:6rem}}
.bg-surface{background:var(--surface)}
.bg-grad-hero{background:var(--gradient-hero)}
.border-y{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* hero */
.hero{position:relative;overflow:hidden;padding-top:8rem;padding-bottom:5rem}
@media(min-width:1024px){.hero{padding-top:10rem;padding-bottom:7rem}}
.grid12{display:grid;gap:3rem;align-items:center}
@media(min-width:1024px){.grid12{grid-template-columns:repeat(12,1fr)}}
.col-7{grid-column:span 7}
.col-5{grid-column:span 5;position:relative}
.col-8{grid-column:span 8}
.col-4{grid-column:span 4}
@media(max-width:1023px){.col-7,.col-5,.col-8,.col-4{grid-column:1/-1}}
.h-display{font-family:var(--font-display);font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.05;letter-spacing:-.02em;margin-top:1.5rem}
.lead{margin-top:2rem;max-width:42rem;font-size:1.125rem;line-height:1.7;color:var(--muted-foreground)}
.row-gap{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2.5rem}
.portrait-wrap{position:relative}
.portrait-glow{position:absolute;inset:-1.5rem;z-index:-1;border-radius:9999px;opacity:.4;filter:blur(48px);background:var(--gradient-gold)}
.portrait-card{position:relative;overflow:hidden;border:1px solid var(--border-strong);background:var(--surface);border-radius:.5rem;box-shadow:var(--shadow-elegant)}
.portrait-card img{width:100%;height:auto;object-fit:cover}
.portrait-caption{position:absolute;left:0;right:0;bottom:0;padding:1.5rem;background:linear-gradient(to top,rgba(20,25,40,.95),transparent)}

/* credentials */
.creds{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;border:1px solid var(--border);background:var(--border);border-radius:.5rem;overflow:hidden;margin-top:5rem}
@media(min-width:1024px){.creds{grid-template-columns:repeat(4,1fr)}}
.creds>div{background:var(--surface);padding:1.5rem}
.creds .label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--gold)}
.creds .value{margin-top:.5rem;font-size:.875rem;font-weight:500;color:var(--foreground)}

/* about */
.section-h{font-family:var(--font-display);font-size:clamp(1.875rem,4vw,3rem);line-height:1.1;margin-top:1rem}
.aside-left{padding-left:0}
@media(min-width:1024px){.with-rule{padding-left:3rem;border-left:1px solid var(--border)}}

/* pillars */
.pillars{margin-top:3.5rem;display:grid;gap:1px;border:1px solid var(--border);background:var(--border);border-radius:.5rem;overflow:hidden;grid-template-columns:1fr}
@media(min-width:640px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.pillars{grid-template-columns:repeat(3,1fr)}}
.pillars > div{background:var(--surface);padding:2rem;transition:.2s}
.pillars > div:hover{background:var(--surface-2)}
.pillars h3{margin-top:1.25rem;font-size:1.25rem}
.pillars p{margin-top:.75rem;font-size:.875rem;line-height:1.65;color:var(--muted-foreground)}
.pillar-icon{width:1.75rem;height:1.75rem;color:var(--gold);stroke-width:1.4}

/* judgment */
.judg-grid{display:grid;gap:2.5rem;align-items:end}
@media(min-width:1024px){.judg-grid{grid-template-columns:repeat(12,1fr)}}
.chip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;font-size:.875rem}
.chip{border:1px solid var(--border);background:var(--surface);padding:.75rem 1rem;border-radius:.25rem;color:var(--foreground)}
.chip span{color:var(--gold)}
.judg-img{margin-top:3rem;overflow:hidden;border:1px solid var(--border-strong);background:var(--surface);border-radius:.5rem;box-shadow:var(--shadow-elegant)}
.cards-3{margin-top:3rem;display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.cards-3{grid-template-columns:repeat(3,1fr)}}
.card{border:1px solid var(--border);background:var(--surface);padding:1.75rem;border-radius:.5rem}
.card h3{margin-top:.75rem;font-size:1.25rem}
.card p{margin-top:.75rem;font-size:.875rem;line-height:1.65;color:var(--muted-foreground)}
.quote{margin-top:2.5rem;max-width:48rem;font-family:var(--font-display);font-size:1.125rem;font-style:italic;color:var(--gold-soft);line-height:1.5}

/* marquee */
.marquee-wrap{margin-top:3.5rem;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee-x 90s linear infinite}
.marquee-track:hover{animation-play-state:paused}
@keyframes marquee-x{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.m-card{margin:0 .75rem;display:flex;min-width:240px;align-items:center;gap:1.25rem;border:1px solid var(--border);background:var(--surface);padding:1.25rem 1.5rem;border-radius:.5rem}
.m-mark{display:flex;height:3rem;width:3rem;flex-shrink:0;align-items:center;justify-content:center;border:1px solid oklch(.82 .12 82/.4);font-family:var(--font-display);color:var(--gold);border-radius:.25rem}
.m-name{font-family:var(--font-display);font-size:1.125rem;line-height:1.15}

/* engagement cards */
.eng-grid{margin-top:3.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:1024px){.eng-grid{grid-template-columns:repeat(3,1fr)}}
.eng-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);background:var(--surface);border-radius:.5rem;transition:.2s;color:inherit}
.eng-card:hover{border-color:oklch(.82 .12 82/.6)}
.eng-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}
.eng-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.eng-card:hover .eng-img-wrap img{transform:scale(1.05)}
.eng-img-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--background) 0%,rgba(20,25,40,.3) 40%,transparent 70%)}
.eng-body{padding:1.75rem;display:flex;flex-direction:column;flex:1}
.eng-body h3{margin-top:1rem;font-size:1.5rem}
.eng-body p{margin-top:.75rem;flex:1;font-size:.875rem;line-height:1.65;color:var(--muted-foreground)}
.eng-cta{margin-top:1.5rem;display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--gold)}

/* books */
.books-grid{margin-top:3.5rem;display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:1024px){.books-grid{grid-template-columns:repeat(2,1fr)}}
.book-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);background:var(--background);border-radius:.5rem;color:inherit;transition:.2s}
.book-card:hover{border-color:oklch(.82 .12 82/.6)}
.book-card .img{aspect-ratio:16/10;overflow:hidden}
.book-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.book-card:hover .img img{transform:scale(1.05)}
.book-body{padding:2rem}
.book-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--muted-foreground)}
.book-body h3{margin-top:.75rem;font-size:1.875rem}
.book-body .sub{margin-top:.25rem;font-family:var(--font-display);font-size:1rem;font-style:italic;color:var(--gold-soft)}
.book-body p{margin-top:1.25rem;font-size:.875rem;line-height:1.65;color:var(--muted-foreground)}

/* contact */
.contact{padding-top:7rem;padding-bottom:7rem}
.contact-card{position:relative;overflow:hidden;border:1px solid var(--border-strong);padding:2.5rem;border-radius:.75rem;background:var(--gradient-hero)}
@media(min-width:1024px){.contact-card{padding:4rem}}
.contact-card .blob{position:absolute;top:-5rem;right:-5rem;height:18rem;width:18rem;border-radius:9999px;opacity:.2;filter:blur(48px);background:var(--gradient-gold)}
.contact-grid{position:relative;display:grid;gap:2.5rem;align-items:center}
@media(min-width:1024px){.contact-grid{grid-template-columns:repeat(12,1fr)}}
.contact-actions{display:flex;flex-direction:column;gap:.75rem}
@media(min-width:1024px){.contact-grid .col-4{justify-self:end}}
.contact-actions a{justify-content:center}

/* footer */
footer{border-top:1px solid var(--border);background:var(--surface);margin-top:6rem}
footer .container-page{padding-top:4rem;padding-bottom:4rem}
.footer-grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(3,1fr)}}
.footer-grid p.bio{margin-top:1rem;max-width:24rem;font-size:.875rem;line-height:1.65;color:var(--muted-foreground)}
.footer-grid ul{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem}
.footer-grid ul a{color:var(--muted-foreground)}
.footer-grid ul a:hover{color:var(--foreground)}
.footer-bottom{margin-top:3rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.75rem;border-top:1px solid var(--border);padding-top:1.5rem;font-size:.75rem;color:var(--muted-foreground)}
@media(min-width:768px){.footer-bottom{flex-direction:row;align-items:center}}
.social{margin-top:1rem;display:flex;gap:.75rem}
.social a{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:.25rem;color:var(--muted-foreground);transition:.2s}
.social a:hover{border-color:var(--gold);color:var(--gold)}

/* page hero (subpages) */
.page-hero{position:relative;overflow:hidden;padding-top:8rem;padding-bottom:4rem;background:var(--gradient-hero)}
@media(min-width:1024px){.page-hero{padding-top:10rem;padding-bottom:6rem}}
.page-hero h1{font-family:var(--font-display);font-size:clamp(2.25rem,4.5vw,3.75rem);line-height:1.05;letter-spacing:-.02em;margin-top:1.5rem}
.page-hero .img-wrap{overflow:hidden;border:1px solid var(--border-strong);background:var(--surface);border-radius:.5rem;box-shadow:var(--shadow-elegant)}
.page-hero .img-wrap img{aspect-ratio:4/3;width:100%;object-fit:cover}

/* topics grid (speaking) */
.topics{margin-top:1.5rem;display:grid;gap:1px;border:1px solid var(--border);background:var(--border);border-radius:.5rem;overflow:hidden;grid-template-columns:1fr}
@media(min-width:768px){.topics{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.topics{grid-template-columns:repeat(3,1fr)}}
.topics > div{background:var(--surface);padding:1.75rem}
.topics h3{font-size:1.125rem;color:var(--foreground)}
.topics p{margin-top:.75rem;font-size:.875rem;line-height:1.65;color:var(--muted-foreground)}

/* books page */
.book-detail{padding-top:6rem;padding-bottom:6rem}
.book-detail .grid12{align-items:start}
.book-cover{position:sticky;top:7rem;overflow:hidden;border:1px solid var(--border-strong);border-radius:.5rem;box-shadow:var(--shadow-elegant)}
.book-detail h2{font-family:var(--font-display);font-size:clamp(2rem,4vw,3rem);margin-top:.75rem;line-height:1.1}
.book-detail .sub{margin-top:.5rem;font-family:var(--font-display);font-size:1.25rem;font-style:italic;color:var(--gold-soft)}
.book-actions{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.75rem}
.btn-sm{padding:.75rem 1.25rem;font-size:.8125rem;letter-spacing:.14em}

/* utility */
.max-w-3xl{max-width:48rem}
.max-w-2xl{max-width:42rem}
.max-w-md{max-width:28rem}
.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}
.flex-between{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.5rem}
@media(min-width:768px){.flex-between{flex-direction:row;align-items:flex-end}}
