:root{--color-bg: #f9fafb;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text-primary: #0f172a;--color-text-secondary: #4b5563;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-accent-soft: #dbeafe;--color-danger: #dc2626;--color-danger-soft: #fee2e2;--page-section-spacing: clamp(3rem, 8vw, 5rem);--page-max-width: 1200px;color-scheme:light}[data-theme=dark]{--color-bg: #020617;--color-surface: #0b1120;--color-border: #1e293b;--color-text-primary: #e5e7eb;--color-text-secondary: #9ca3af;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-accent-soft: #1d4ed8;--color-danger: #f87171;--color-danger-soft: #450a0a;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{font-family:Inter,Inter var,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--color-bg);color:var(--color-text-primary);transition:background-color .3s ease,color .3s ease;scroll-behavior:smooth;scroll-snap-type:y mandatory}body{margin:0;min-height:100vh;background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);margin-top:0}p{color:var(--color-text-secondary);margin-top:0}a{color:var(--color-accent);text-decoration:none;transition:color .2s ease}a:hover,a:focus-visible{color:var(--color-accent-hover)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:999px;border:1px solid var(--color-accent);background-color:var(--color-accent);color:var(--color-surface);font-weight:600;text-decoration:none;transition:background-color .2s ease,border-color .2s ease;cursor:pointer}.btn-primary:hover,.btn-primary:focus-visible{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.page-section{width:min(var(--page-max-width),100% - 2rem);margin:0 auto;min-height:100vh;scroll-snap-align:start;scroll-snap-stop:always;padding:clamp(2.5rem,8vw,4rem) .5rem;display:flex;flex-direction:column;justify-content:center;position:relative;background-repeat:no-repeat;background-position:center;background-size:cover;background-attachment:fixed}.section-placeholder{padding:1.5rem;border-radius:1rem;border:1px dashed var(--color-border);background-color:var(--color-accent-soft);color:var(--color-text-secondary)}.site-header,.project-card,.experience-card,.skills-card,.contact__content,.about__highlights,.about__image img,.section-heading,.section-heading__title,.section-heading__eyebrow,.section-heading__description{transition:background-color .25s ease,border-color .25s ease,color .25s ease,box-shadow .25s ease}.theme-ripple{position:fixed;border-radius:50%;background:var(--color-accent);pointer-events:none;mix-blend-mode:normal;opacity:.55;transform:scale(0);animation:theme-ripple .9s ease-out forwards;z-index:999}.theme-ripple--light{background:color-mix(in srgb,var(--color-accent) 45%,var(--color-surface) 55%)}.theme-ripple--dark{background:var(--color-accent)}@keyframes theme-ripple{to{transform:scale(2);opacity:0}}@media (max-width: 768px){html{scroll-snap-type:unset}.page-section{width:calc(100% - 1.5rem);min-height:unset;display:block;padding:0 .5rem;margin:0 auto var(--page-section-spacing)}h1{font-size:clamp(1.8rem,7vw,2.6rem)}}
