:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f9fc;--surface:#fff;--text:#243149;--muted:#445066;--line:#d7dde8;--accent:#2b60de;--shadow:0 10px 28px #1c2a4a14;--max-width:1080px;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(180deg, #fbfcff 0%, var(--bg) 100%);min-height:100vh;color:var(--text);margin:0;font-family:Helvetica Neue,Helvetica,Arial,Noto Sans,sans-serif}a{color:inherit;text-decoration:none}.page-shell{width:min(calc(100% - 2rem), var(--max-width));margin-inline:auto;padding:1.2rem 0 2.4rem}.section-block{margin:0 0 2rem}.hero-topline{justify-content:flex-end;margin-bottom:.2rem;display:flex}.locale-bar{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.76rem;display:inline-flex}.locale-switcher{gap:.55rem;display:inline-flex}.locale-switcher a{border-bottom:1px solid #0000}.locale-switcher a.active{color:var(--accent);border-color:var(--accent)}.hero-shell{padding-top:.6rem}.hero-copy{text-align:center}.eyebrow{color:#0000;margin:0;font-size:0}.hero-copy h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.9rem,6vw,4.3rem);font-weight:700;line-height:1}.hero-role{color:var(--accent);margin:.35rem 0 0;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:500}.hero-contact-grid{width:min(100%,820px);color:var(--muted);grid-template-columns:1fr 1fr;gap:.55rem 2rem;margin:1.25rem auto 0;font-size:.95rem;display:grid}.hero-contact-grid a,.hero-contact-grid span{display:block}.contact-item{color:var(--muted);align-items:center;gap:.65rem;display:inline-flex!important}.contact-item svg{width:18px;height:18px;color:var(--accent);flex:0 0 18px}.hero-summary-block{border-top:1px solid var(--line);margin-top:1.15rem;padding-top:.95rem}.hero-summary-block p{color:var(--muted);margin:0;font-size:1rem;line-height:1.65}.hero-summary-block p+p{margin-top:.45rem}.section-heading{margin-bottom:.8rem}.section-heading .eyebrow{color:var(--text);letter-spacing:-.03em;text-transform:none;margin:0 0 .5rem;font-size:1.55rem;font-weight:700;display:block}.section-heading h2{display:none}.section-heading>p:last-child{border-bottom:3px solid var(--accent);color:var(--muted);margin:0;padding-bottom:.7rem;line-height:1.6}.projects-grid{gap:.8rem;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.project-content{padding:1.1rem 1.25rem}.project-heading{gap:.35rem;display:grid}.project-heading h3{letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.2}.project-heading p,.project-description,.project-lines strong{color:var(--muted);line-height:1.6}.project-heading p,.project-description{margin:0}.project-description{margin-top:.6rem}.project-lines{gap:.45rem;margin-top:.8rem;display:grid}.project-lines p{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin:0;display:flex}.project-lines span,.contact-label{color:var(--text);flex:none;font-size:.86rem;font-weight:700}.project-lines strong{flex:320px;font-weight:400}.stack-list{flex-wrap:wrap;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.stack-list li{color:var(--text);align-items:center;gap:.35rem;font-size:.92rem;display:inline-flex}.stack-check{color:#1e9b52;font-weight:700}.ghost-button{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;margin-top:1rem;padding:.7rem 1rem;list-style:none;display:inline-block}.ghost-button::-webkit-details-marker{display:none}.project-gallery[open] .ghost-button{margin-bottom:.85rem}.project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.project-gallery-image{aspect-ratio:16/10;border:1px solid var(--line);background:#eef3fb;border-radius:12px;position:relative;overflow:hidden}.project-gallery-image img{object-fit:cover}.project-link{color:var(--accent);text-underline-offset:.18em;word-break:break-word;margin-top:.85rem;text-decoration:underline;display:inline-block}@media (max-width:820px){.page-shell{width:min(calc(100% - 1rem), var(--max-width));padding:1rem 0 2rem}.hero-copy h1{font-size:clamp(2.1rem,10vw,3rem)}.hero-contact-grid,.project-gallery-grid{grid-template-columns:1fr}.project-content{padding:1.05rem}}
