.home-page{width:100%;padding-block:var(--spacing-16);padding-inline:var(--spacing-8)}.hero{margin-bottom:var(--spacing-24)}.hero-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--spacing-12);row-gap:var(--spacing-8);align-items:end}.hero-text{grid-column:span 7}.hero-label{display:block;font-family:var(--font-display);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--on-surface-dim);margin-bottom:var(--spacing-6)}.hero-headline{font-family:var(--font-display);font-size:clamp(3rem,6vw,5rem);font-weight:900;letter-spacing:-.03em;line-height:1.1;color:var(--on-surface);margin-bottom:var(--spacing-12)}.hero-headline em{font-style:italic;opacity:.5}.hero-body{max-width:36rem;font-family:var(--font-body);font-size:1.25rem;font-weight:300;line-height:calc(var(--spacing-6) * 1.5);color:var(--on-surface-variant)}.hero-links{grid-column:span 12;display:flex;gap:var(--spacing-8);margin-top:var(--spacing-6)}.hero-link{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--primary);text-decoration:none;transition:opacity var(--transition-standard) var(--transition-easing),transform var(--transition-standard) var(--transition-easing)}.hero-link:hover{opacity:.7;transform:scale(1.05)}.hero-link svg{color:var(--primary)}.hero-image-col{grid-column:span 5}.hero-image-wrap{position:relative}.hero-image-placeholder{width:100%;height:500px;background:linear-gradient(135deg,var(--surface-container-low),var(--surface-container-high));border-radius:var(--radius-xl);border:1px solid color-mix(in srgb,var(--outline-variant) 15%,transparent);display:flex;align-items:center;justify-content:center;color:var(--on-surface-dim);position:relative}.hero-image-placeholder:before{content:"";position:absolute;inset:-1rem;background:color-mix(in srgb,var(--on-surface) 3%,transparent);border-radius:var(--radius-xl);filter:blur(2rem);z-index:-1}.about-section{margin-bottom:var(--spacing-24)}.about-grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--spacing-16);row-gap:var(--spacing-8)}.about-sticky{grid-column:2 / span 4}.about-heading{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--on-surface);line-height:1.15;position:sticky;top:var(--spacing-16)}.about-body{grid-column:span 6;display:flex;flex-direction:column;gap:var(--spacing-12)}.about-text{font-size:1.125rem;line-height:calc(var(--spacing-6) * 1.75);color:var(--on-surface-variant)}.about-quote-card{background-color:var(--surface-container-low);padding:var(--spacing-10);border-radius:var(--rounded-xl);transition:background-color var(--transition-standard) var(--transition-easing),transform var(--transition-standard) var(--transition-easing),box-shadow var(--transition-standard) var(--transition-easing)}.about-section:hover .about-quote-card{background-color:var(--surface-container);transform:scale(1.02);box-shadow:var(--shadow-hover)}.about-quote{font-size:1.25rem;font-weight:300;font-style:italic;color:var(--on-surface);border-left:2px solid var(--on-surface);padding-left:var(--spacing-8);margin-bottom:var(--spacing-8)}.about-quote-attr{font-size:.75rem;color:var(--on-surface-dim);text-transform:uppercase;letter-spacing:.15em;padding-left:var(--spacing-8)}.stack-section{margin-bottom:var(--spacing-24)}.stack-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-16)}.stack-heading{font-family:var(--font-display);font-size:3rem;font-weight:700;letter-spacing:-.02em;color:var(--on-surface)}.stack-subtitle{font-family:var(--font-display);font-size:.6875rem;color:var(--on-surface-dim);text-transform:uppercase;letter-spacing:.15em}.stack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-1);background-color:color-mix(in srgb,var(--outline-variant) 15%,transparent);border-radius:var(--radius-lg);overflow:hidden}.stack-item{background-color:var(--surface-container);padding:var(--spacing-12);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-6);transition:background-color var(--transition-standard) var(--transition-easing),transform var(--transition-standard) var(--transition-easing);color:var(--on-surface)}.stack-item:hover{background-color:var(--surface-container-high);transform:scale(1.05)}.stack-item svg{color:var(--on-surface);transition:transform var(--transition-standard) var(--transition-easing),color var(--transition-standard) var(--transition-easing)}.stack-item:hover svg{transform:scale(1.05);color:var(--primary)}.stack-label{font-family:var(--font-display);font-size:.6875rem;text-transform:uppercase;letter-spacing:.15em;color:var(--on-surface-dim)}.projects-section{margin-bottom:var(--spacing-24)}.projects-header{margin-bottom:var(--spacing-16)}.projects-heading{font-family:var(--font-display);font-size:3rem;font-weight:700;letter-spacing:-.02em;color:var(--on-surface);margin-bottom:var(--spacing-8)}.projects-accent-bar{width:6rem;height:4px;background-color:var(--on-surface)}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-6)}.project-card{display:flex;flex-direction:column;justify-content:space-between;background-color:var(--surface-container-low);padding:var(--spacing-10);border-radius:var(--rounded-xl);transition:background-color var(--transition-standard) var(--transition-easing),transform var(--transition-standard) var(--transition-easing),box-shadow var(--transition-standard) var(--transition-easing)}.project-card:hover{background-color:var(--surface-container);transform:scale(1.02);box-shadow:var(--shadow-hover)}.project-card-icon{color:var(--on-surface);margin-bottom:var(--spacing-6)}.project-card-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--on-surface);margin-bottom:var(--spacing-2)}.project-card-desc{font-size:.875rem;color:var(--on-surface-variant);line-height:calc(var(--spacing-6) * 1.5)}.project-card-footer{padding-top:var(--spacing-8);display:flex;justify-content:space-between;align-items:center}.project-card-status{font-family:var(--font-display);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--on-surface-dim)}.project-card-footer svg{color:var(--on-surface-dim)}.cta-section{text-align:center;padding-block:var(--spacing-24);margin-bottom:var(--spacing-16);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);transition:background-color .2s ease}.home-page:hover .cta-section{background-color:var(--surface-container)}.cta-label{display:block;font-family:var(--font-display);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.4em;color:var(--on-surface);margin-bottom:var(--spacing-6)}.cta-heading{font-family:var(--font-display);font-size:3rem;font-weight:900;color:var(--on-surface);margin-bottom:var(--spacing-12)}.cta-heading-dim{opacity:.4;font-style:italic}.cta-button{display:inline-flex;align-items:center;gap:calc(var(--spacing-4) / 2);background-color:var(--on-surface);color:var(--surface);padding:var(--spacing-5) var(--spacing-10);border-radius:var(--rounded-xl);font-family:var(--font-display);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;text-decoration:none;transition:all var(--transition-standard) var(--transition-easing)}.cta-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);opacity:1}.cta-button:active{transform:scale(.98)}@media(max-width:768px){.home-page{padding-block:var(--spacing-12);padding-inline:var(--spacing-4)}.hero{margin-bottom:var(--spacing-16)}.hero-grid{grid-template-columns:1fr;column-gap:var(--spacing-8);row-gap:var(--spacing-6)}.hero-text,.hero-image-col{grid-column:span 1}.hero-headline{font-size:2.75rem}.hero-body{font-size:1rem}.hero-links{flex-wrap:wrap;gap:var(--spacing-4)}.hero-image-placeholder{height:300px}.about-section{margin-bottom:var(--spacing-16)}.about-grid{grid-template-columns:1fr}.about-sticky,.about-body{grid-column:span 1}.about-heading{position:static;font-size:2rem}.stack-section{margin-bottom:var(--spacing-16)}.stack-header{flex-direction:column;gap:var(--spacing-2);align-items:flex-start}.stack-heading{font-size:2rem}.stack-grid{grid-template-columns:repeat(2,1fr)}.projects-section{margin-bottom:var(--spacing-16)}.projects-heading{font-size:2rem}.projects-grid{grid-template-columns:1fr}.cta-heading{font-size:2rem}}
