/* ==========================================================================
   DR. PATRICK FISHER — PREMIUM PROFESSIONAL WEBSITE
   Palette: Emerald/Copper/Cream · Fonts: Fraunces + Plus Jakarta Sans
   ========================================================================== */
:root {
    --em-900:#064e3b;--em-800:#065f46;--em-700:#047857;--em-600:#059669;--em-500:#10b981;--em-400:#34d399;--em-300:#6ee7b7;--em-200:#a7f3d0;--em-100:#d1fae5;--em-50:#ecfdf5;
    --cp-600:#92400e;--cp-500:#b45309;--cp-400:#d97706;--cp-300:#f59e0b;--cp-200:#fbbf24;--cp-100:#fef3c7;
    --st-950:#0a0f0d;--st-900:#111916;--st-800:#1a2520;--st-700:#243330;--st-600:#3a4f48;--st-500:#5a706a;--st-400:#7a948d;--st-300:#a8bbb5;--st-200:#d0dbd7;--st-100:#e8efec;--st-50:#f5f8f6;
    --primary:var(--em-600);--primary-dark:var(--em-800);--accent:var(--cp-400);--accent-light:var(--cp-300);
    --bg-primary:var(--st-50);--bg-secondary:#ffffff;--bg-tertiary:var(--st-100);
    --text-primary:var(--st-950);--text-secondary:var(--st-600);--text-muted:var(--st-500);
    --border-color:var(--st-200);--card-bg:#ffffff;
    --card-shadow:0 4px 6px -1px rgba(10,15,13,.07),0 2px 4px -1px rgba(10,15,13,.04);
    --card-shadow-hover:0 20px 25px -5px rgba(10,15,13,.08),0 10px 10px -5px rgba(10,15,13,.03);
    --font-display:'Fraunces',Georgia,serif;--font-body:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-mono:'JetBrains Mono','Fira Code',monospace;
    --space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;
    --transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--ease-expo:cubic-bezier(.16,1,.3,1);
    --max-width:1200px;--nav-height:80px;--border-radius:12px;--border-radius-lg:20px;--border-radius-full:9999px;
}
[data-theme="dark"]{
    --bg-primary:var(--st-950);--bg-secondary:var(--st-900);--bg-tertiary:var(--st-800);
    --text-primary:var(--st-100);--text-secondary:var(--st-400);--text-muted:var(--st-500);
    --border-color:var(--st-800);--card-bg:var(--st-900);
    --card-shadow:0 4px 6px -1px rgba(0,0,0,.3);--card-shadow-hover:0 20px 25px -5px rgba(0,0,0,.4);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:24px;-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);line-height:1.7;color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden;transition:background .4s,color .3s}
body.font-small{font-size:20px}body.font-large{font-size:28px}body.font-xlarge{font-size:32px}
img,video,svg{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent)}
::selection{background:var(--em-500);color:var(--st-950)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:var(--text-primary);margin-bottom:var(--space-md)}
h1{font-size:clamp(2.5rem,5vw,4rem)}h2{font-size:clamp(2rem,4vw,3rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}h4{font-size:clamp(1.25rem,2vw,1.5rem)}
p{margin-bottom:var(--space-md);color:var(--text-secondary)}.lead{font-size:1.25rem;line-height:1.8}
.highlight{background:linear-gradient(135deg,var(--em-400),var(--em-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--primary);color:white;padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius);z-index:10000;transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-md);color:white}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;height:var(--nav-height);background:rgba(245,248,246,.92);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border-color);z-index:1000;transition:all var(--transition-base)}
[data-theme="dark"] .nav{background:rgba(10,15,13,.92)}
.nav.scrolled{box-shadow:0 4px 30px rgba(10,15,13,.08)}
.nav-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl);height:100%;display:flex;align-items:center;justify-content:space-between}
.nav-logo{display:flex;align-items:center}.nav-logo .logo-img{height:80px;width:auto;transition:transform var(--transition-fast)}.nav-logo:hover .logo-img{transform:scale(1.05)}
.footer-logo .logo-img{height:120px;width:auto;opacity:.9;transition:opacity var(--transition-fast)}.footer-logo:hover .logo-img{opacity:1}
.nav-links{display:flex;align-items:center;gap:var(--space-lg);list-style:none}
.nav-links a{color:var(--text-secondary);font-weight:500;font-size:.9rem;position:relative;padding:var(--space-sm) var(--space-xs);letter-spacing:.01em}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--em-500);transition:width var(--transition-base)}
.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-controls{display:flex;align-items:center;gap:var(--space-sm)}
.nav-control-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);cursor:pointer;font-family:var(--font-body);font-size:.72rem;font-weight:600;color:var(--text-secondary);letter-spacing:.03em;text-transform:uppercase;transition:all var(--transition-fast)}
.nav-control-btn:hover{background:var(--em-500);color:white;border-color:var(--em-500);transform:translateY(-2px)}

/* ── MOBILE ── */
.mobile-menu-btn{display:none;flex-direction:column;gap:5px;width:40px;height:40px;background:transparent;border:none;cursor:pointer;padding:8px}
.mobile-menu-btn span{display:block;width:100%;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition-base)}
.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.mobile-menu{position:fixed;top:var(--nav-height);left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--space-xl);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:999}
.mobile-menu.active{transform:translateY(0);opacity:1;visibility:visible}
.mobile-menu-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-md)}
.mobile-menu-links a{display:block;padding:var(--space-md);color:var(--text-primary);font-weight:500;font-size:1.1rem;border-radius:var(--border-radius);transition:all var(--transition-fast)}
.mobile-menu-links a:hover{background:var(--bg-tertiary);color:var(--em-500)}

/* ── HERO ── */
.hero{min-height:100vh;padding:calc(var(--nav-height) + var(--space-4xl)) var(--space-xl) var(--space-4xl);display:flex;align-items:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--st-950) 0%,var(--st-900) 40%,var(--em-900) 100%)}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(16,185,129,.12) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(217,119,6,.08) 0%,transparent 50%)}
.hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(16,185,129,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(16,185,129,.03) 1px,transparent 1px);background-size:60px 60px;animation:gridMove 25s linear infinite}
@keyframes gridMove{0%{transform:translate(0,0)}100%{transform:translate(60px,60px)}}
.hero-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:var(--space-4xl);align-items:center;position:relative;z-index:1}
.hero-content{animation:fadeInUp 1s ease forwards}
@keyframes fadeInUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
.hero-label{display:inline-flex;align-items:center;gap:var(--space-sm);background:rgba(16,185,129,.15);color:var(--em-400);padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius-full);font-size:.825rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-lg);animation:fadeInUp 1s ease .2s forwards;opacity:0}
.hero-label::before{content:'';width:8px;height:8px;background:var(--em-400);border-radius:50%;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}
.hero h1{color:white;margin-bottom:var(--space-lg);animation:fadeInUp 1s ease .4s forwards;opacity:0;letter-spacing:-.02em}
.hero-description{font-size:1.15rem;color:var(--st-400);margin-bottom:var(--space-xl);max-width:540px;animation:fadeInUp 1s ease .6s forwards;opacity:0;line-height:1.8}
.hero-creds{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-xl);animation:fadeInUp 1s ease .7s forwards;opacity:0}
.cred-badge{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.06em;padding:.3rem .7rem;border-radius:var(--border-radius-full);border:1px solid rgba(255,255,255,.12);color:var(--st-400);background:rgba(255,255,255,.04)}
.cred-badge.accent{border-color:var(--em-500);color:var(--em-400);background:rgba(16,185,129,.1)}
.hero-buttons{display:flex;gap:var(--space-md);animation:fadeInUp 1s ease .8s forwards;opacity:0;flex-wrap:wrap}
.hero-portrait{animation:fadeInRight 1s ease .5s forwards;opacity:0;position:relative}
@keyframes fadeInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
.portrait-wrap{position:relative;border-radius:var(--border-radius-lg);overflow:hidden;border:2px solid rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.portrait-wrap img{width:100%;display:block;transition:transform 6s ease}.portrait-wrap:hover img{transform:scale(1.03)}
.portrait-glow{position:absolute;inset:-4px;border-radius:24px;background:conic-gradient(from 0deg,var(--em-500),var(--cp-400),var(--em-500));opacity:.12;z-index:-1;animation:spinGlow 12s linear infinite}
@keyframes spinGlow{to{transform:rotate(360deg)}}
.portrait-stats{display:flex;gap:var(--space-sm);justify-content:center;margin-top:var(--space-lg)}
.p-stat{background:rgba(17,25,22,.8);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:var(--border-radius);padding:var(--space-sm) var(--space-md);text-align:center;min-width:80px}
.p-stat .num{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--em-400);display:block}
.p-stat .lbl{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--st-500)}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--border-radius);font-weight:600;font-size:1rem;cursor:pointer;border:none;transition:all var(--transition-base);position:relative;overflow:hidden;font-family:var(--font-body)}
.btn::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.2);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover::before{width:300px;height:300px}
.btn-primary{background:linear-gradient(135deg,var(--em-500),var(--em-700));color:white;box-shadow:0 4px 15px rgba(16,185,129,.3)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(16,185,129,.4);color:white}
.btn-accent{background:linear-gradient(135deg,var(--cp-400),var(--cp-500));color:white;box-shadow:0 4px 15px rgba(217,119,6,.25)}.btn-accent:hover{transform:translateY(-3px);color:white}
.btn-outline{background:transparent;color:white;border:2px solid rgba(255,255,255,.25)}.btn-outline:hover{background:rgba(255,255,255,.08);border-color:white;color:white;transform:translateY(-3px)}
.btn-lg{padding:var(--space-lg) var(--space-2xl);font-size:1.05rem}
.section .btn-outline{color:var(--text-primary);border-color:var(--border-color)}.section .btn-outline:hover{background:var(--em-500);color:white;border-color:var(--em-500)}

/* ── SECTIONS ── */
.section{padding:var(--space-4xl) var(--space-xl);position:relative}.section-inner{max-width:var(--max-width);margin:0 auto}
.section-alt{background:var(--bg-tertiary)}.section-dark{background:var(--st-950);color:white}
.section-header{text-align:center;max-width:700px;margin:0 auto var(--space-3xl)}
.section-label{display:inline-block;font-family:var(--font-mono);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--em-500);margin-bottom:var(--space-md);position:relative}
.section-label::before,.section-label::after{content:'';position:absolute;top:50%;width:30px;height:1px;background:var(--em-500);opacity:.4}
.section-label::before{right:calc(100% + 15px)}.section-label::after{left:calc(100% + 15px)}
.section-divider{width:50px;height:2px;background:linear-gradient(90deg,var(--em-500),var(--cp-400));margin:0 auto;opacity:.5}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(30px);transition:all .8s var(--ease-expo)}.reveal.active{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-50px);transition:all .8s var(--ease-expo)}.reveal-left.active{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(50px);transition:all .8s var(--ease-expo)}.reveal-right.active{opacity:1;transform:translateX(0)}
.reveal-scale{opacity:0;transform:scale(.9);transition:all .8s var(--ease-expo)}.reveal-scale.active{opacity:1;transform:scale(1)}
.stagger-children>*{opacity:0;transform:translateY(20px);transition:all .6s var(--ease-expo)}
.stagger-children.active>*:nth-child(1){transition-delay:.1s}.stagger-children.active>*:nth-child(2){transition-delay:.2s}.stagger-children.active>*:nth-child(3){transition-delay:.3s}.stagger-children.active>*:nth-child(4){transition-delay:.4s}.stagger-children.active>*:nth-child(5){transition-delay:.5s}.stagger-children.active>*:nth-child(6){transition-delay:.6s}
.stagger-children.active>*{opacity:1;transform:translateY(0)}

/* ── CARDS ── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl)}
.card{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:var(--space-2xl);box-shadow:var(--card-shadow);transition:all var(--transition-base);position:relative;overflow:hidden;border:1px solid var(--border-color)}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--em-500),var(--cp-400));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}
.card:hover{transform:translateY(-8px);box-shadow:var(--card-shadow-hover)}.card:hover::before{transform:scaleX(1)}
.card-icon{width:150px;height:150px;background:linear-gradient(135deg,var(--em-600),var(--cp-400));border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);font-size:3.75rem;color:white;transition:transform var(--transition-base)}
.card:hover .card-icon{transform:scale(1.1) rotate(5deg)}
.card h3{margin-bottom:var(--space-md);font-size:1.35rem}.card p{color:var(--text-secondary);margin-bottom:0}
.content-grid{display:grid;grid-template-columns:1fr 380px;gap:var(--space-3xl);align-items:start}
.sidebar-card{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:var(--space-xl);box-shadow:var(--card-shadow);border:1px solid var(--border-color);position:sticky;top:calc(var(--nav-height) + var(--space-xl))}
.sidebar-card h4{font-family:var(--font-display);font-size:1.25rem;margin-bottom:var(--space-md)}
.sidebar-card ul{list-style:none;margin-bottom:var(--space-lg)}.sidebar-card li{padding:var(--space-sm) 0;padding-left:var(--space-lg);position:relative;color:var(--text-secondary);font-size:.95rem}
.sidebar-card li::before{content:'✓';position:absolute;left:0;color:var(--em-500);font-weight:bold}

/* ══ QUOTE BAND ══ */
.quote-band{position:relative;padding:clamp(4rem,8vh,6rem) var(--space-xl);text-align:center;overflow:hidden;background:var(--bg-tertiary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}
.quote-band-inner{position:relative;z-index:1;max-width:700px;margin:0 auto}
.quote-band blockquote{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,1.9rem);font-weight:400;font-style:italic;line-height:1.5;color:var(--text-primary);margin-bottom:var(--space-md)}
.quote-band cite{font-family:var(--font-body);font-size:.85rem;font-style:normal;color:var(--text-muted)}

/* ══ FRAMEWORK ══ */
.fw-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);margin-top:var(--space-2xl);align-items:start}
.fw-matrix{display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:var(--border-radius-lg);overflow:hidden}
.fw-q{padding:var(--space-xl);text-align:center;cursor:pointer;transition:all .35s var(--ease-expo);position:relative}
.fw-q:hover{filter:brightness(1.15);transform:scale(1.02)}
.fw-q-name{font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:.3rem}.fw-q-desc{font-size:.72rem;opacity:.65}
.fw-q1{background:rgba(59,130,246,.1);color:#60a5fa}.fw-q2{background:rgba(239,68,68,.08);color:#f87171}
.fw-q3{background:rgba(234,179,8,.08);color:#facc15}.fw-q4{background:rgba(16,185,129,.15);color:var(--em-400);border:2px solid rgba(16,185,129,.25)}
.fw-q4::after{content:'★';position:absolute;top:.6rem;right:.8rem;font-size:.7rem;opacity:.4}
.fw-info h3{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--space-md)}
.fw-info p{color:var(--text-secondary);font-size:.95rem;line-height:1.75}
.fw-actions{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-xl)}

/* ══ BOOKS ══ */
.books-scroll{display:flex;gap:var(--space-lg);overflow-x:auto;padding:var(--space-xl) 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.books-scroll::-webkit-scrollbar{display:none}
.book-card{flex:0 0 280px;scroll-snap-align:start;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--space-xl);transition:all .35s var(--ease-expo)}
.book-card:hover{border-color:var(--em-500);transform:translateY(-6px);box-shadow:0 12px 40px rgba(16,185,129,.1)}
.book-num{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.12em;color:var(--text-muted);text-transform:uppercase;margin-bottom:var(--space-sm)}
.book-card h4{font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin-bottom:var(--space-sm)}.book-card p{font-size:.8rem;color:var(--text-secondary);line-height:1.55;margin-bottom:var(--space-md)}

/* Book Cover Images */
.book-cover{border-radius:var(--border-radius);overflow:hidden;margin-bottom:var(--space-md);box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .5s var(--ease-expo),box-shadow .5s var(--ease-expo)}
.book-cover img{width:100%;height:auto;display:block;transition:transform .6s var(--ease-expo)}
.book-card:hover .book-cover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.4)}
.book-card:hover .book-cover img{transform:scale(1.03)}
.book-tag{font-family:var(--font-mono);font-size:.6rem;padding:.2rem .5rem;border-radius:4px;background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--border-color);display:inline-block}
.book-links{display:flex;gap:var(--space-sm);flex-wrap:wrap}
.book-links a{font-size:.7rem;font-weight:600;color:var(--em-500);padding:.2rem .55rem;border:1px solid var(--em-500);border-radius:6px;transition:all var(--transition-fast)}.book-links a:hover{background:var(--em-500);color:white}

/* ══ ECOSYSTEM ══ */
.eco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin-top:var(--space-2xl)}
.eco-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:var(--space-2xl);transition:all .35s var(--ease-expo);position:relative;overflow:hidden}
.eco-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--em-500),var(--cp-400));transform:scaleX(0);transition:transform .4s var(--ease-expo);transform-origin:left}
.eco-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}.eco-card:hover::after{transform:scaleX(1)}
.eco-card h3{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}
.eco-badge{font-family:var(--font-mono);font-size:.55rem;padding:.15rem .45rem;border-radius:4px;background:rgba(16,185,129,.1);color:var(--em-500);letter-spacing:.06em}
.eco-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.65;margin-bottom:0}

/* ══ CREDENTIALS ══ */
.creds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-top:var(--space-2xl)}
.cred-card{display:flex;gap:var(--space-md);align-items:flex-start;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:var(--space-lg);transition:all var(--transition-base)}
.cred-card:hover{border-color:rgba(16,185,129,.3);box-shadow:var(--card-shadow)}
.cred-icon{font-size:3.5rem;flex-shrink:0;margin-top:.1rem}
.cred-card h4{font-family:var(--font-body);font-size:.92rem;font-weight:600;margin-bottom:.2rem}
.cred-card p{font-size:.82rem;color:var(--text-secondary);line-height:1.55;margin-bottom:.3rem}
.cred-card a{font-size:.75rem;color:var(--em-500);font-weight:500}

/* ══ LANG ══ */
.lang-es{display:none}
[data-lang="es"] .lang-en{display:none}[data-lang="es"] .lang-es{display:revert}
[data-lang="es"] span.lang-es{display:inline}
[data-lang="es"] div.lang-es,[data-lang="es"] p.lang-es,[data-lang="es"] h1.lang-es,[data-lang="es"] h2.lang-es{display:block}
[data-lang="es"] div.lang-en,[data-lang="es"] p.lang-en,[data-lang="es"] h1.lang-en,[data-lang="es"] h2.lang-en{display:none}

/* ══ PAGE HEADER ══ */
.page-header{background:linear-gradient(135deg,var(--st-950) 0%,var(--em-900) 100%);padding:calc(var(--nav-height) + var(--space-3xl)) var(--space-xl) var(--space-3xl);position:relative;overflow:hidden}
.page-header::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 100%,rgba(16,185,129,.1) 0%,transparent 50%)}
.page-header-inner{max-width:var(--max-width);margin:0 auto;position:relative;z-index:1}
.page-header h1{color:white;margin-bottom:var(--space-md)}.page-header-subtitle{font-size:1.25rem;color:var(--st-400);max-width:600px}

/* ══ CTA ══ */
.cta-section{background:linear-gradient(135deg,var(--em-800) 0%,var(--st-950) 100%);padding:var(--space-4xl) var(--space-xl);text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 60%);pointer-events:none}
.cta-inner{max-width:700px;margin:0 auto;position:relative;z-index:1}
.cta-section h2{color:white;margin-bottom:var(--space-md)}.cta-section p{color:var(--st-400);font-size:1.15rem;margin-bottom:var(--space-xl)}
.cta-buttons{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}

/* ══ FOOTER ══ */
.footer{background:var(--st-950);color:var(--st-400);padding:var(--space-4xl) var(--space-xl) var(--space-xl)}
.footer-inner{max-width:var(--max-width);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-3xl);margin-bottom:var(--space-3xl)}
.footer-brand p{color:var(--st-500);font-size:.95rem;margin-bottom:var(--space-lg)}
.footer h4{color:white;font-family:var(--font-display);font-size:1rem;margin-bottom:var(--space-lg)}
.footer-links{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-links a{color:var(--st-500);font-size:.9rem;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--em-400)}
.footer-bottom{border-top:1px solid var(--st-800);padding-top:var(--space-xl);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}
.footer-bottom p{color:var(--st-600);font-size:.82rem;margin:0}
.footer-bottom-links{display:flex;gap:var(--space-xl)}.footer-bottom-links a{color:var(--st-600);font-size:.82rem}.footer-bottom-links a:hover{color:var(--st-400)}
.footer-tm{font-family:var(--font-mono);font-size:.6rem;color:var(--st-600);letter-spacing:.04em}

/* ══ FORMS ══ */
.contact-form{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:var(--space-2xl);box-shadow:var(--card-shadow);border:1px solid var(--border-color)}
.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;font-weight:600;margin-bottom:var(--space-sm);color:var(--text-primary)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--border-radius);font-family:inherit;font-size:1rem;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-fast)}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--em-500);box-shadow:0 0 0 4px rgba(16,185,129,.1)}
.form-group textarea{min-height:150px;resize:vertical}

/* ══ LEGAL ══ */
.legal-content{max-width:800px}.legal-intro{font-size:1.15rem;color:var(--text-secondary);margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--border-color)}
.legal-section{margin-bottom:var(--space-2xl)}.legal-section h2{font-size:1.5rem;margin-bottom:var(--space-md)}.legal-section ul{margin-left:var(--space-xl);margin-bottom:var(--space-md)}.legal-section li{margin-bottom:var(--space-sm);color:var(--text-secondary)}

/* ══ RESPONSIVE ══ */
@media(max-width:1024px){.hero-inner{grid-template-columns:1fr;text-align:center}.hero-description{margin:0 auto var(--space-xl)}.hero-buttons,.hero-creds{justify-content:center}.hero-portrait{max-width:320px;margin:0 auto;order:-1}.content-grid{grid-template-columns:1fr}.sidebar-card{position:static}.fw-layout{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.eco-grid,.creds-grid{grid-template-columns:1fr}}
@media(max-width:768px){:root{--nav-height:70px}.nav-links,.nav-controls{display:none}.mobile-menu-btn{display:flex}.hero{min-height:auto;padding:calc(var(--nav-height) + var(--space-2xl)) var(--space-md) var(--space-2xl)}.card-grid{grid-template-columns:1fr}.cta-buttons{flex-direction:column;align-items:center}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-bottom{flex-direction:column;text-align:center}.book-card{flex:0 0 240px}}
@media(max-width:480px){.section{padding:var(--space-2xl) var(--space-md)}.btn-lg{width:100%}}
.text-center{text-align:center}.w-full{width:100%}
.mt-0{margin-top:0!important}.mt-1{margin-top:var(--space-md)!important}.mt-2{margin-top:var(--space-xl)!important}.mt-3{margin-top:var(--space-2xl)!important}
.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:var(--space-md)!important}.mb-2{margin-bottom:var(--space-xl)!important}.mb-3{margin-bottom:var(--space-2xl)!important}
@media print{.nav,.mobile-menu,.cta-section,.btn{display:none!important}body{background:white;color:black}}

/* ══════════════════════════════════════════════════════════════
   TIMELINE — Centered Alternating Layout with Staggered Reveal
   ══════════════════════════════════════════════════════════════ */
.timeline{position:relative;margin-top:var(--space-2xl);max-width:900px;margin-left:auto;margin-right:auto}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);background:linear-gradient(to bottom,var(--em-500),var(--cp-400),var(--em-300));border-radius:3px}

.tl-item{position:relative;width:50%;padding-bottom:var(--space-2xl);opacity:0;transition:all .8s var(--ease-expo)}
.tl-item.active{opacity:1}

/* Left side (odd items) */
.tl-item:nth-child(odd){padding-right:var(--space-2xl);text-align:right;left:0;transform:translateX(-40px)}
.tl-item:nth-child(odd).active{transform:translateX(0)}
.tl-item:nth-child(odd) .tl-dot{right:calc(-14px - var(--space-2xl));left:auto}
.tl-item:nth-child(odd) .tl-tags{justify-content:flex-end}

/* Right side (even items) */
.tl-item:nth-child(even){padding-left:var(--space-2xl);text-align:left;left:50%;transform:translateX(40px)}
.tl-item:nth-child(even).active{transform:translateX(0)}
.tl-item:nth-child(even) .tl-dot{left:calc(-14px - var(--space-2xl))}

.tl-item:last-child{padding-bottom:0}

.tl-dot{position:absolute;top:4px;width:27px;height:27px;border-radius:50%;border:3px solid var(--em-500);background:var(--bg-primary);z-index:2;transition:all .4s var(--ease-expo);display:flex;align-items:center;justify-content:center}
.tl-dot::after{content:'';width:11px;height:11px;border-radius:50%;background:var(--em-500);transition:transform .3s}
.tl-item:hover .tl-dot{transform:scale(1.3);border-color:var(--cp-400);box-shadow:0 0 24px rgba(16,185,129,.35)}
.tl-item:hover .tl-dot::after{background:var(--cp-400);transform:scale(1.2)}
.tl-item.milestone .tl-dot{width:33px;height:33px;border-color:var(--cp-400);background:var(--cp-400)}
.tl-item.milestone .tl-dot::after{background:white}

.tl-year{font-family:var(--font-mono);font-size:.85rem;font-weight:700;color:var(--em-400);letter-spacing:.05em;margin-bottom:.3rem;display:flex;align-items:center;gap:.6rem}
.tl-item:nth-child(odd) .tl-year{justify-content:flex-end}
.tl-year .tl-badge{font-size:.55rem;padding:.15rem .5rem;border-radius:var(--border-radius-full);background:var(--cp-400);color:white;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.tl-title{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--text-primary);margin-bottom:.3rem}
.tl-desc{font-size:.88rem;color:var(--text-secondary);line-height:1.7;max-width:400px}
.tl-item:nth-child(odd) .tl-desc{margin-left:auto}
.tl-desc a{color:var(--em-500);font-weight:500}
.tl-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}
.tl-tag{font-family:var(--font-mono);font-size:.55rem;padding:.15rem .45rem;border-radius:4px;border:1px solid var(--border-color);color:var(--text-muted);letter-spacing:.04em}

/* Timeline Parallax Counter */
.tl-counter{display:flex;justify-content:center;gap:var(--space-2xl);margin-bottom:var(--space-2xl);flex-wrap:wrap}
.tl-count{text-align:center}
.tl-count .big{font-family:var(--font-display);font-size:clamp(3rem,6vw,4.5rem);font-weight:800;color:var(--em-400);line-height:1;display:block;background:linear-gradient(135deg,var(--em-400),var(--cp-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tl-count .label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:.3rem;display:block}

/* Mobile: stack single column */
@media(max-width:768px){
    .timeline::before{left:16px}
    .tl-item,.tl-item:nth-child(odd),.tl-item:nth-child(even){width:100%;left:0;padding-left:3rem;padding-right:0;text-align:left}
    .tl-item:nth-child(odd){transform:translateX(-30px)}
    .tl-item:nth-child(even){transform:translateX(-30px)}
    .tl-item:nth-child(odd) .tl-dot,.tl-item:nth-child(even) .tl-dot{left:-3px;right:auto}
    .tl-item:nth-child(odd) .tl-tags{justify-content:flex-start}
    .tl-item:nth-child(odd) .tl-year{justify-content:flex-start}
    .tl-item:nth-child(odd) .tl-desc{margin-left:0}
}

/* Timeline Parallax Counter */
.tl-counter{display:flex;justify-content:center;gap:var(--space-2xl);margin-bottom:var(--space-2xl);flex-wrap:wrap}
.tl-count{text-align:center}
.tl-count .big{font-family:var(--font-display);font-size:clamp(3rem,6vw,4.5rem);font-weight:800;color:var(--em-400);line-height:1;display:block;background:linear-gradient(135deg,var(--em-400),var(--cp-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tl-count .label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-top:.3rem;display:block}



/* ══════════════════════════════════════════════════════════════
   REVIEWS HUB — Link to Sources, Not Self-Declared
   Premium glass cards with animated borders
   ══════════════════════════════════════════════════════════════ */
.reviews-section{display:none}
.reviews-section.show{display:block}

.review-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl);margin-top:var(--space-2xl)}
.review-source-card{position:relative;border-radius:var(--border-radius-lg);padding:3px;background:linear-gradient(135deg,var(--em-500),var(--cp-400),var(--em-300));transition:all .5s var(--ease-expo);overflow:hidden}
.review-source-card::before{content:'';position:absolute;inset:0;background:conic-gradient(from var(--angle,0deg),var(--em-500),var(--cp-400),var(--em-300),var(--em-500));opacity:0;transition:opacity .5s;border-radius:var(--border-radius-lg)}
.review-source-card:hover::before{opacity:1}
.review-source-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(16,185,129,.2)}
.review-source-inner{position:relative;background:var(--card-bg);border-radius:calc(var(--border-radius-lg) - 3px);padding:var(--space-2xl);text-align:center;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);z-index:1}
.review-source-icon{font-size:4rem;filter:grayscale(.3);transition:filter .4s,transform .4s}
.review-source-card:hover .review-source-icon{filter:grayscale(0);transform:scale(1.15) rotate(-3deg)}
.review-source-name{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--text-primary)}
.review-source-desc{font-size:.88rem;color:var(--text-secondary);line-height:1.65;max-width:280px}
.review-source-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--em-500);padding:.5rem 1.2rem;border:2px solid var(--em-500);border-radius:var(--border-radius);transition:all .3s;margin-top:var(--space-sm)}
.review-source-link:hover{background:var(--em-500);color:white;transform:translateY(-2px);box-shadow:0 4px 15px rgba(16,185,129,.3)}
.review-source-link::after{content:'→';transition:transform .3s}.review-source-link:hover::after{transform:translateX(4px)}

/* Video Testimonial Embed */
.video-embed-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);margin-top:var(--space-2xl)}
.video-embed-card{position:relative;border-radius:var(--border-radius-lg);overflow:hidden;background:var(--card-bg);border:1px solid var(--border-color);transition:all .4s var(--ease-expo)}
.video-embed-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover);border-color:var(--em-500)}
.video-embed-card .embed-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;background:linear-gradient(135deg,var(--st-900),var(--em-900))}
.video-embed-card .embed-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-embed-card .embed-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);cursor:pointer}
.embed-play{width:80px;height:80px;border-radius:50%;background:rgba(16,185,129,.2);backdrop-filter:blur(10px);border:2px solid var(--em-400);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--em-400);transition:all .4s var(--ease-expo)}
.embed-play:hover{transform:scale(1.15);background:var(--em-500);color:white;box-shadow:0 0 40px rgba(16,185,129,.4)}
.embed-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--st-400)}
.video-embed-info{padding:var(--space-lg)}
.video-embed-info h4{font-family:var(--font-display);font-size:1rem;margin-bottom:.2rem}
.video-embed-info p{font-size:.8rem;color:var(--text-muted);margin:0}

/* ══════════════════════════════════════════════════════════════
   MEDIA / POSTS HUB — Embeds + Links to Live Content
   ══════════════════════════════════════════════════════════════ */
.posts-section{display:none}
.posts-section.show{display:block}

.media-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:var(--space-xl);justify-content:center}
.media-tab{font-family:var(--font-body);font-size:.85rem;font-weight:600;padding:.5rem 1.2rem;border-radius:var(--border-radius-full);border:2px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .3s var(--ease-expo);position:relative;overflow:hidden}
.media-tab::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--em-500),var(--cp-400));opacity:0;transition:opacity .3s;border-radius:var(--border-radius-full)}
.media-tab:hover{border-color:var(--em-500);color:var(--em-500);transform:translateY(-2px)}
.media-tab.active{border-color:var(--em-500);background:var(--em-500);color:white}
.media-tab.active::before{opacity:0}
.media-tab span{position:relative;z-index:1}

.media-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--space-xl)}

/* Spotify Embed */
.spotify-embed{border-radius:var(--border-radius-lg);overflow:hidden;border:1px solid var(--border-color);transition:all .4s var(--ease-expo)}
.spotify-embed:hover{border-color:var(--em-500);box-shadow:0 12px 40px rgba(16,185,129,.1)}

/* LinkedIn / Medium / Blog Post Cards */
.media-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);overflow:hidden;transition:all .45s var(--ease-expo);position:relative}
.media-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--em-500),var(--cp-400));transform:scaleX(0);transition:transform .5s var(--ease-expo);transform-origin:left}
.media-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(0,0,0,.12);border-color:transparent}.media-card:hover::after{transform:scaleX(1)}
.media-card-thumb{width:100%;height:220px;overflow:hidden;position:relative;background:linear-gradient(135deg,var(--st-900),var(--em-900))}
.media-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-expo)}.media-card:hover .media-card-thumb img{transform:scale(1.05)}
.media-card-thumb .type-icon{position:absolute;top:var(--space-md);left:var(--space-md);font-size:2.5rem;opacity:.3}
.media-card-body{padding:var(--space-xl)}
.media-badge{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:5px;margin-bottom:var(--space-sm);font-weight:600}
.media-badge.li{background:rgba(0,119,181,.12);color:#0077b5}
.media-badge.md{background:rgba(0,0,0,.06);color:var(--text-secondary)}
[data-theme="dark"] .media-badge.md{background:rgba(255,255,255,.08)}
.media-badge.blog{background:rgba(16,185,129,.1);color:var(--em-500)}
.media-badge.press{background:rgba(217,119,6,.1);color:var(--cp-400)}
.media-badge.spotify{background:rgba(30,215,96,.1);color:#1DB954}
.media-badge.youtube{background:rgba(255,0,0,.08);color:#FF0000}
.media-card h4{font-family:var(--font-display);font-size:1.15rem;font-weight:600;margin-bottom:.4rem;color:var(--text-primary);transition:color .3s}
.media-card:hover h4{color:var(--em-500)}
.media-card .excerpt{font-size:.88rem;color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-md)}
.media-card .meta{display:flex;justify-content:space-between;align-items:center}
.media-card .date{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted)}
.media-card .read-more{font-size:.8rem;font-weight:600;color:var(--em-500);display:flex;align-items:center;gap:.3rem;transition:gap .3s}.media-card:hover .read-more{gap:.6rem}

/* LinkedIn Embed Container */
.li-embed{border-radius:var(--border-radius-lg);overflow:hidden;border:1px solid var(--border-color);background:var(--card-bg);min-height:400px;transition:all .4s var(--ease-expo)}
.li-embed:hover{border-color:var(--em-500);box-shadow:0 12px 40px rgba(0,119,181,.1)}

@media(max-width:900px){.review-hub{grid-template-columns:1fr}.video-embed-row{grid-template-columns:1fr}.media-grid{grid-template-columns:1fr}}
@media(max-width:600px){.media-grid{grid-template-columns:1fr}}


/* ══════════════════════════════════════════════════════════════
   AUTHORITY SNAPSHOT — Above the Fold Trust Strip
   ══════════════════════════════════════════════════════════════ */
.authority-snap{position:relative;padding:var(--space-2xl) var(--space-xl);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow:hidden}
.authority-snap::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,185,129,.03) 0%,transparent 50%,rgba(217,119,6,.03) 100%)}
.authority-snap-inner{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:var(--space-2xl);align-items:center;position:relative;z-index:1}
.auth-name{font-family:var(--font-display);font-size:1.6rem;font-weight:700;color:var(--text-primary);white-space:nowrap}
.auth-name .role{display:block;font-family:var(--font-body);font-size:.85rem;font-weight:400;color:var(--em-500);margin-top:.2rem;letter-spacing:.02em}
.auth-creds{display:flex;flex-wrap:wrap;gap:.6rem var(--space-lg)}
.auth-cred{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary);white-space:nowrap}
.auth-cred::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--em-500);flex-shrink:0}
.auth-cred strong{color:var(--text-primary);font-weight:600}
.auth-cred a{color:var(--em-500);font-weight:500}
@media(max-width:900px){.authority-snap-inner{grid-template-columns:1fr;text-align:center}.auth-creds{justify-content:center}.auth-name{white-space:normal}}

/* ══════════════════════════════════════════════════════════════
   AREAS OF EXPERTISE — Topical Authority for Knowledge Graph
   ══════════════════════════════════════════════════════════════ */
.expertise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);margin-top:var(--space-2xl)}
.expertise-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);transition:all .35s var(--ease-expo);position:relative;overflow:hidden}
.expertise-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--em-500);transform:scaleY(0);transition:transform .4s var(--ease-expo);transform-origin:top}
.expertise-item:hover{border-color:rgba(16,185,129,.3);transform:translateX(4px);box-shadow:var(--card-shadow)}
.expertise-item:hover::before{transform:scaleY(1)}
.expertise-icon{font-size:1.8rem;flex-shrink:0;margin-top:.1rem}
.expertise-item h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.2rem}
.expertise-item p{font-size:.82rem;color:var(--text-secondary);line-height:1.55;margin:0}

/* ══════════════════════════════════════════════════════════════
   RESEARCH HIGHLIGHT — Dissertation + Scholar in Books Section
   ══════════════════════════════════════════════════════════════ */
.research-block{margin-top:var(--space-2xl);padding:var(--space-2xl);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);position:relative;overflow:hidden}
.research-block::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--em-500),var(--cp-400))}
.research-block h3{font-family:var(--font-display);font-size:1.3rem;margin-bottom:var(--space-md)}
.research-citation{font-size:.9rem;color:var(--text-secondary);line-height:1.8;margin-bottom:var(--space-md);padding-left:var(--space-lg);border-left:3px solid var(--em-500)}
.research-citation em{color:var(--text-primary)}
.research-links{display:flex;gap:var(--space-md);flex-wrap:wrap}
.research-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--em-500);padding:.4rem .9rem;border:1px solid var(--em-500);border-radius:var(--border-radius);transition:all .3s}
.research-link:hover{background:var(--em-500);color:white;transform:translateY(-2px)}

/* ══════════════════════════════════════════════════════════════
   MOBILE & RESPONSIVE FIXES — March 2026
   ══════════════════════════════════════════════════════════════ */

/* FIX: Base font was 24px — way too large. Reset to 16px. */
html { font-size: 16px !important; }
body.font-small { font-size: 14px !important; }
body.font-large { font-size: 18px !important; }
body.font-xlarge { font-size: 20px !important; }

/* PAGE HEADER — used by all interior pages */
.page-header {
    padding: calc(var(--nav-height) + var(--space-3xl)) var(--space-xl) var(--space-2xl);
    background: linear-gradient(135deg, var(--st-950) 0%, var(--st-900) 40%, var(--em-900) 100%);
    position: relative;
    overflow: hidden;
    text-align: center;
}
.page-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 30% 70%, rgba(16,185,129,.1) 0%, transparent 50%);
}
.page-header-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.page-header h1 { color: white; margin-bottom: var(--space-md); }
.page-header .section-label { color: var(--em-400); }
.page-header-subtitle {
    font-size: 1.1rem;
    color: var(--st-400);
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.7;
}

/* Card icon size fix — was 150x150, absurd on mobile */
.card-icon {
    width: 56px !important;
    height: 56px !important;
    font-size: 1.5rem !important;
    border-radius: 12px;
}

/* Nav overflow fix for 6 items */
@media (max-width: 1100px) and (min-width: 769px) {
    .nav-links { gap: var(--space-md); }
    .nav-links a { font-size: .82rem; padding: var(--space-xs); }
}

/* ═══ TABLET (768-1024) ═══ */
@media (max-width: 1024px) {
    .page-header { padding: calc(var(--nav-height) + var(--space-2xl)) var(--space-lg) var(--space-xl); }
    .page-header-subtitle { font-size: 1rem; }
    
    /* Force inline grid overrides to collapse */
    [style*="grid-template-columns:1fr 1fr"],
    [style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* ═══ MOBILE (< 768) ═══ */
@media (max-width: 768px) {
    .page-header {
        padding: calc(var(--nav-height) + var(--space-xl)) var(--space-md) var(--space-lg);
    }
    .page-header h1 { font-size: clamp(1.5rem, 6vw, 2.2rem); }
    .page-header-subtitle { font-size: .92rem; }
    
    /* All grids single column */
    .card-grid,
    .expertise-grid,
    .review-hub,
    .video-embed-row,
    .media-grid,
    .creds-grid {
        grid-template-columns: 1fr !important;
    }
    
    /* Force any inline 2-col grids to 1-col */
    [style*="grid-template-columns"] {
        grid-template-columns: 1fr !important;
    }
    
    /* Sections tighter padding */
    .section { padding: var(--space-2xl) var(--space-md); }
    .section-header { margin-bottom: var(--space-xl); }
    
    /* CTA full width buttons */
    .cta-buttons { flex-direction: column; align-items: stretch; width: 100%; }
    .cta-buttons .btn { width: 100%; text-align: center; }
    .cta-inner { padding: var(--space-2xl) var(--space-lg); }
    
    /* Footer single column */
    .footer-grid { grid-template-columns: 1fr !important; text-align: center; gap: var(--space-xl); }
    .footer-links { display: flex; flex-direction: column; gap: var(--space-sm); }
    .footer-bottom { flex-direction: column; text-align: center; gap: var(--space-md); }
    .footer-bottom-links { justify-content: center; }
    .footer-tm { font-size: .7rem; }
    
    /* Books / published card layout */
    .card [style*="display:flex"] { flex-direction: column !important; }
    .card [style*="display:flex"] img[style*="width:100px"] { 
        width: 80px !important; 
        margin: 0 auto var(--space-md); 
    }
    
    /* Cred badges wrap */
    .cred-badge { font-size: .6rem; padding: .2rem .5rem; }
    
    /* Hero description not too wide */
    .hero-description { font-size: 1rem; }
    
    /* Sidebar card below content on mobile */
    .content-grid { grid-template-columns: 1fr !important; }
    .sidebar-card { position: static !important; }
    
    /* Portrait stats smaller */
    .p-stat .num { font-size: 1.4rem; }
    .p-stat { min-width: 60px; padding: var(--space-xs) var(--space-sm); }
    
    /* Book carousel smaller items */
    .book-card { flex: 0 0 200px; }
    
    /* Nav logo smaller */
    .nav-logo .logo-img { height: 50px; }
    
    /* Hero fix */
    .hero { padding: calc(var(--nav-height) + var(--space-xl)) var(--space-md) var(--space-xl); }
    .hero-portrait { max-width: 250px; margin: 0 auto; }
    
    /* Timeline counter */
    .tl-counter { gap: var(--space-lg); }
    .tl-count .big { font-size: clamp(2rem, 8vw, 3rem); }
    
    /* Legal/policy pages */
    .section-inner[style*="max-width:800px"] { padding: 0; }
    
    /* Transparency grid */
    [style*="display:grid"][style*="1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* ═══ SMALL PHONE (< 480) ═══ */
@media (max-width: 480px) {
    .section { padding: var(--space-xl) var(--space-sm); }
    .hero { padding: calc(var(--nav-height) + var(--space-md)) var(--space-sm) var(--space-lg); }
    .hero h1 { font-size: clamp(1.4rem, 7vw, 2rem); }
    h2 { font-size: clamp(1.3rem, 5vw, 1.8rem); }
    
    .btn { padding: var(--space-sm) var(--space-md); font-size: .9rem; }
    .btn-lg { padding: var(--space-md) var(--space-lg); font-size: .95rem; }
    
    .card { padding: var(--space-lg); }
    .card h3 { font-size: 1.1rem; }
    
    /* Footer logo */
    .footer-logo .logo-img { height: 80px; }
    
    .page-header h1 { font-size: clamp(1.3rem, 6vw, 1.8rem); }
}

/* ═══ IFRAME RESPONSIVE ═══ */
iframe[src*="spotify"] {
    max-width: 100%;
    border-radius: 12px;
}

/* ═══ PRINT FIXES ═══ */
@media print {
    .nav, .mobile-menu, .cta-section, .page-header::before { display: none !important; }
    .page-header { background: white !important; color: black !important; padding-top: var(--space-xl); }
    .page-header h1 { color: black !important; }
}