:root{--bg: #f7f8fb;--bg-alt: #eef1f7;--card: #ffffff;--ink: #1c2333;--ink-soft: #5a6478;--line: #dfe3ec;--accent: #2563eb;--accent-soft: #dbeafe;--accent-2: #0ea5a4;--shadow: 0 10px 30px rgba(28, 35, 51, .08);--radius: 16px;--maxw: 1080px;color-scheme:light}[data-theme=dark]{--bg: #0f1420;--bg-alt: #141b2b;--card: #1a2233;--ink: #e8ecf5;--ink-soft: #9aa5bd;--line: #2a3450;--accent: #60a5fa;--accent-soft: #1e3a5f;--accent-2: #2dd4bf;--shadow: 0 10px 30px rgba(0, 0, 0, .35);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 24px;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .25s ease}.site-nav.scrolled{border-bottom-color:var(--line)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);white-space:nowrap}.brand:hover{text-decoration:none}.brand-photo{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-soft)}.nav-links{display:flex;gap:22px;flex-wrap:wrap}.nav-links a{color:var(--ink-soft);font-size:.92rem;font-weight:600;padding:6px 2px;border-bottom:2px solid transparent}.nav-links a:hover{color:var(--ink);text-decoration:none}.nav-links a.active{color:var(--accent);border-bottom-color:var(--accent)}.nav-tools{display:flex;align-items:center;gap:8px}.theme-toggle,.menu-toggle{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:1rem;cursor:pointer;color:var(--ink)}.theme-toggle .icon-moon{display:none}[data-theme=dark] .theme-toggle .icon-moon{display:inline}[data-theme=dark] .theme-toggle .icon-sun,.menu-toggle{display:none}.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;padding:120px 20px 80px;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.hero-bg canvas{width:100%;height:100%;display:block}.hero-inner{max-width:760px}.hero-trail{letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:700;color:var(--accent-2);margin:0 0 18px}.hero-trail span{color:var(--ink-soft);margin:0 6px}.hero-photo{width:150px;height:150px;border-radius:50%;object-fit:cover;border:4px solid var(--card);box-shadow:var(--shadow),0 0 0 6px var(--accent-soft);margin-bottom:18px}.hero h1{font-size:clamp(2.2rem,5.5vw,3.6rem);margin:0 0 10px;letter-spacing:-.02em}.hero-tagline{font-size:1.25rem;color:var(--ink-soft);margin:0 0 14px}.hero-tagline em{color:var(--accent);font-style:normal;font-weight:650}.hero-sub{color:var(--ink-soft);margin:0 auto 22px;max-width:620px}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:26px}.chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 13px;font-size:.84rem;font-weight:600;color:var(--ink-soft);box-shadow:var(--shadow)}.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}.btn{display:inline-block;padding:11px 22px;border-radius:12px;font-weight:700;font-size:.95rem;border:1px solid transparent;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow)}.btn-ghost{background:var(--card);color:var(--ink);border-color:var(--line)}.hero-quote{margin:0 auto;max-width:560px;font-family:Georgia,Times New Roman,serif;font-style:italic;color:var(--ink-soft);font-size:1.02rem}.hero-quote cite{display:block;font-size:.8rem;font-style:normal;margin-top:6px;color:var(--accent-2)}.scroll-hint{position:absolute;bottom:18px;left:50%;transform:translate(-50%);color:var(--ink-soft);animation:bob 2.2s ease-in-out infinite}@keyframes bob{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}.section{padding:90px 24px}.section.alt{background:var(--bg-alt)}.wrap{max-width:var(--maxw);margin:0 auto}.wrap.narrow{max-width:720px;text-align:center}.section-title{font-size:clamp(1.7rem,3.5vw,2.4rem);margin:0 0 10px;letter-spacing:-.01em}.section-lede{color:var(--ink-soft);margin:0 0 40px;font-size:1.05rem}.about-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:36px;align-items:start}.prose p{margin:0 0 16px;color:var(--ink-soft)}.prose p strong,.prose p a{color:var(--ink)}.prose p a{color:var(--accent)}.fact-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px}.fact-card h3{margin:0 0 14px;font-size:1.05rem}.facts{list-style:none;margin:0;padding:0;display:grid;gap:11px}.facts li{display:flex;gap:10px;font-size:.93rem;color:var(--ink-soft)}.facts li span{flex:0 0 auto}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--accent),var(--accent-2));opacity:.35}.tl-item{position:relative;padding:0 0 34px 42px}.tl-dot{position:absolute;left:0;top:6px;width:20px;height:20px;border-radius:50%;background:var(--card);border:4px solid var(--accent);box-shadow:var(--shadow)}.tl-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 22px}.tl-date{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-2)}.tl-card h3{margin:4px 0 8px;font-size:1.12rem}.tl-card p{margin:0;color:var(--ink-soft);font-size:.95rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;transition:transform .18s ease}.card:hover{transform:translateY(-4px)}.card-emoji{font-size:1.8rem;display:block;margin-bottom:10px}.card h3{margin:0 0 8px;font-size:1.08rem}.card p{margin:0;color:var(--ink-soft);font-size:.93rem}.grid-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.photo{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);cursor:zoom-in}.photo img{display:block;width:100%;height:240px;object-fit:cover;transition:transform .35s ease}.photo:hover img{transform:scale(1.05)}.photo figcaption{padding:9px 14px;font-size:.82rem;font-weight:600}.photo figcaption a{color:var(--ink-soft)}.photo figcaption a:hover{color:var(--accent)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0a0c14e0;display:grid;place-items:center;padding:30px}.lightbox[hidden]{display:none}.lightbox img{max-width:min(92vw,1000px);max-height:88vh;border-radius:12px;box-shadow:0 20px 60px #00000080}.lightbox-close{position:absolute;top:18px;right:22px;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:10px;font-size:1.1rem;padding:8px 13px;cursor:pointer}.contact-links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.site-footer{border-top:1px solid var(--line);padding:28px 24px;text-align:center;color:var(--ink-soft);font-size:.88rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-hint{animation:none}}@media(max-width:860px){.about-grid{grid-template-columns:1fr}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 24px 14px}.nav-links.open{display:flex}.nav-links a{padding:12px 0;border-bottom:1px solid var(--line)}.nav-links a:last-child{border-bottom:none}.menu-toggle{display:block}}
