#hero,#about{--section-glow: 139 220 255}#projects{--section-glow: var(--terraform)}#contact{--section-glow: 155 140 255}.snap-section{min-height:calc(100vh - 64px);scroll-snap-align:start;scroll-snap-stop:always;scroll-margin-top:64px;display:flex;flex-direction:column;justify-content:center;padding:4rem 1.5rem}.hero,.about,.contact{width:100%;max-width:680px;margin:0 auto}.projects{width:100%;max-width:1100px;margin:0 auto}.hero-title{font-size:clamp(2.5rem,5vw,3.6rem);line-height:1.08;margin:0 0 1.25rem;color:#f5f5f5;letter-spacing:-.02em}.section-title{font-size:1.6rem;margin:0 0 1.75rem;color:#f5f5f5;letter-spacing:-.01em}.hero-text,.about-text,.contact-text,.project-card p{margin:0 0 1rem;color:#b5b5b5;max-width:60ch;line-height:1.6}.accent-cyan{color:#8bdcff}.accent-violet{color:#9b8cff}.badge{display:inline-block;width:fit-content;margin-bottom:1rem;padding:.35rem .75rem;font-size:.75rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.15)}.text-gradient{background-image:linear-gradient(90deg,#fff,#d4d4d4,#8bdcff);-webkit-background-clip:text;background-clip:text;color:transparent}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.25rem;border-radius:12px;font-weight:600;text-decoration:none;-webkit-user-select:none;user-select:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn-primary{background:linear-gradient(180deg,#fff,#d4d4d4);color:#000;box-shadow:0 10px 26px #0000008c}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 34px #000000a6}.btn-secondary{background:#ffffff14;color:#f5f5f5;border:1px solid rgba(255,255,255,.2)}.btn-secondary:hover{transform:translateY(-2px);background:#ffffff1f}.about-highlights{list-style:none;padding:0;margin:1.5rem 0 0}.about-highlights li{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;color:#cfcfcf}.dot{width:8px;height:8px;border-radius:50%}.dot.cyan{background:#8bdcff}.dot.violet{background:#9b8cff}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.project-card{position:relative;padding:1.5rem;border-radius:16px;background:linear-gradient(to bottom,#ffffff12,#ffffff05);border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 38px #0000008c;--glow-color: transparent;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #0009,0 0 32px var(--glow-color)}.project-title{margin:0;font-weight:600;color:#f5f5f5}:root{--svelte: 255 115 0;--spring: 109 179 63;--neo4j: 0 217 255;--aws: 255 153 0;--terraform: 139 220 255;--grafana: 255 124 0}.chips{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.chip{font-size:.7rem;padding:.3rem .65rem;border-radius:999px;border:1px solid transparent;font-weight:500;letter-spacing:.02em;background:#ffffff0f;color:#d0d0d0}.chip.svelte{background:rgba(var(--svelte) / .14);color:rgb(var(--svelte));border-color:rgba(var(--svelte) / .35)}.chip.spring{background:rgba(var(--spring) / .14);color:rgb(var(--spring));border-color:rgba(var(--spring) / .35)}.chip.neo4j{background:rgba(var(--neo4j) / .14);color:rgb(var(--neo4j));border-color:rgba(var(--neo4j) / .35)}.chip.aws{background:rgba(var(--aws) / .14);color:rgb(var(--aws));border-color:rgba(var(--aws) / .35)}.chip.terraform{background:rgba(var(--terraform) / .14);color:rgb(var(--terraform));border-color:rgba(var(--terraform) / .35)}.chip.grafana{background:rgba(var(--grafana) / .14);color:rgb(var(--grafana));border-color:rgba(var(--grafana) / .35)}.project-card:has(.chip.svelte){--glow-color: rgb(var(--svelte))}.project-card:has(.chip.spring){--glow-color: rgb(var(--spring))}.project-card:has(.chip.neo4j){--glow-color: rgb(var(--neo4j))}.project-card:has(.chip.aws){--glow-color: rgb(var(--aws))}.project-card:has(.chip.terraform){--glow-color: rgb(var(--terraform))}.project-card:has(.chip.grafana){--glow-color: rgb(var(--grafana))}.project-card{--glow-color: rgb(var(--spring))}.page-footer{margin-top:auto;padding-top:3rem;text-align:center;font-size:.8rem;color:#9aa3ad}@media(hover:none){.project-card:hover{transform:none;box-shadow:0 18px 38px #0000008c}}
