:root{--bg:#f5f1e8;--text:#2c2417;--text-secondary:#5c5447;--text-muted:#8a8880;--rule:#d4cfc3}*{box-sizing:border-box;padding:0;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,-apple-system,sans-serif;font-weight:400;font-size:16px;line-height:1.7;overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--text);color:var(--bg)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--rule);border-radius:3px}.page{min-height:100vh}.page,.section{position:relative}.section{z-index:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem}@media (max-width:600px){.section{padding:3rem 1.5rem}}.section-hero{min-height:100vh;flex-direction:column}.section:last-of-type{padding-bottom:12rem}.hero-content{position:relative;z-index:1}.hero-name{font-size:clamp(3.5rem,10vw,8rem);line-height:1.05;letter-spacing:-.02em;color:var(--text);margin-bottom:.3rem}.hero-name,.hero-phonetic{font-family:EB Garamond,Georgia,serif;font-weight:400}.hero-phonetic{font-size:clamp(1.1rem,2.5vw,1.5rem);font-style:italic;color:var(--text-secondary);margin-bottom:1.25rem;letter-spacing:.03em}.hero-tagline{font-family:IBM Plex Sans,sans-serif;font-size:clamp(.9rem,1.5vw,1.1rem);font-weight:400;color:var(--text-muted);letter-spacing:.01em}.section-heading{font-family:EB Garamond,Georgia,serif;font-size:clamp(2rem,4.5vw,2.75rem);font-weight:400;color:var(--text);margin-bottom:1.5rem;letter-spacing:-.01em;line-height:1.2}.section-body{display:flex;flex-direction:column;gap:1.25rem;max-width:520px;margin:0 auto}.section-body p,.section-body-text{font-family:EB Garamond,Georgia,serif;font-size:clamp(1.05rem,1.5vw,1.2rem);font-weight:400;color:var(--text-secondary);line-height:1.7}.section-body-text{max-width:520px;margin:0 auto}.section-subtitle{font-family:IBM Plex Sans,sans-serif;font-size:.95rem;color:var(--text-muted);letter-spacing:.01em;margin-bottom:1.5rem}.thesis-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2.5rem;gap:2.5rem;max-width:780px;margin:0 auto;text-align:left}@media (max-width:768px){.thesis-grid{grid-template-columns:1fr;gap:2rem;max-width:400px}}.thesis-card{padding:0}.thesis-number{font-size:.85rem;font-weight:400;color:var(--text-muted);display:block;margin-bottom:.6rem}.thesis-number,.thesis-title{font-family:EB Garamond,Georgia,serif}.thesis-title{font-size:1.2rem;font-weight:600;color:var(--text);margin-bottom:.4rem;line-height:1.3;letter-spacing:-.01em}.thesis-desc{font-size:.9rem;font-weight:400;color:var(--text-secondary);line-height:1.6}.cta-group{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.cta-button{font-family:IBM Plex Sans,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:.02em;padding:.7rem 2rem;border-radius:100px;text-decoration:none;cursor:pointer;transition:all .2s ease;display:inline-block}.cta-primary{background:var(--text);color:var(--bg);border:1.5px solid var(--text)}.cta-primary:hover{background:var(--text-secondary);border-color:var(--text-secondary)}.nav-bar{position:fixed;bottom:0;left:0;right:0;z-index:50;padding:2.5rem 2rem 1.5rem;background:linear-gradient(to top,var(--bg) 50%,transparent)}.nav-inner{display:flex;align-items:center;justify-content:center;gap:2.5rem}@media (max-width:600px){.nav-inner{gap:1.25rem}}.nav-group{display:flex;align-items:center;gap:1.25rem}@media (max-width:600px){.nav-group{gap:.75rem}}.nav-item{font-family:IBM Plex Sans,sans-serif;font-size:.875rem;font-weight:400;color:var(--text-muted);background:none;border:none;cursor:pointer;transition:color .2s ease;letter-spacing:.01em;padding:0}.nav-item:hover{color:var(--text)}.nav-dot{font-size:.875rem;color:var(--text-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.nav-logo{font-family:EB Garamond,Georgia,serif;font-size:1.75rem;font-weight:500;color:var(--text);letter-spacing:-.02em;line-height:1;background:none;border:none;cursor:pointer;padding:0;transition:opacity .2s ease}.nav-logo:hover{opacity:.6}.fade-section{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.fade-section.visible{opacity:1;transform:translateY(0)}