:root{--bg: #f8fafc;--card: #ffffff;--muted: #64748b;--accent: #4f77a8;--accent-weak: rgba(79,119,168,.1);--text: #0f172a;--toggle-border: rgba(0,0,0,.06);--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;--font-heading: "Poppins", "Inter", system-ui}:root[data-theme=dark]{--bg: #0f172a;--card: #0b1220;--muted: #94a3b8;--accent: #7c3aed;--text: #e6edf3;--toggle-border: rgba(255,255,255,.06)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:1100px;margin:0 auto;padding:3.5rem 2rem}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.brand{display:flex;align-items:center;gap:.75rem}.brand img{width:64px;height:64px;border-radius:10px}.brand h1{font-size:1.125rem;margin:0;font-family:var(--font-heading);letter-spacing:.2px}.hero{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-bottom:2.5rem}.hero .lead{font-size:1.35rem;color:var(--muted);margin-top:.5rem;line-height:1.6}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.card{background:var(--card);padding:1.25rem 1.5rem;border-radius:14px}.card h3{margin:0 0 .75rem}.pills{display:flex;gap:.5rem;flex-wrap:wrap}.pill{background:#0000000a;padding:.25rem .6rem;border-radius:999px;font-size:.8rem;color:var(--muted)}.techs{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.contact{margin-top:2.25rem}.muted{color:var(--muted)}.theme-toggle{background:transparent;border:1px solid var(--toggle-border);padding:.4rem .6rem;border-radius:8px;color:var(--text);cursor:pointer}footer{padding:2rem 0;color:var(--muted);font-size:.9rem;text-align:center}@media (min-width:800px){.hero{grid-template-columns:1fr 420px}}.btn{display:inline-block;background:var(--accent);color:#fff;padding:.5rem .9rem;border-radius:8px;text-decoration:none;font-weight:600;box-shadow:0 6px 18px var(--accent-weak)}.btn:hover{opacity:.96}.header a.muted{color:var(--muted);text-decoration:none}.theme-toggle{background:linear-gradient(180deg,#ffffff05,#00000005);backdrop-filter:blur(2px)}.theme-toggle.active{border-color:var(--accent);box-shadow:0 6px 14px var(--accent-weak);background:linear-gradient(180deg,#4f77a80f,#4f77a805);color:var(--accent)}#fontSelect{font-family:var(--font-body);font-size:.95rem}html[data-animate] .reveal{opacity:0;transform:translateY(22px) scale(.992);transition:opacity .64s cubic-bezier(.2,.9,.2,1),transform .64s cubic-bezier(.2,.9,.2,1);will-change:opacity,transform}html[data-animate] .reveal.in-view{opacity:1;transform:none}html[data-animate] .stagger>*{opacity:0;transform:translateY(22px) scale(.992);transition:opacity .56s cubic-bezier(.2,.9,.2,1),transform .56s cubic-bezier(.2,.9,.2,1);transition-delay:calc(var(--stagger,0) * 90ms)}html[data-animate] .reveal.in-view .stagger>*{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){html[data-animate] .reveal{transition:none!important;transform:none!important;opacity:1!important}}.parallax{transform:translateZ(0);transition:transform .2s linear}html[data-animate] .parallax{will-change:transform}.card{box-shadow:0 6px 18px #1018280a}.brand h1{font-weight:700}.pill{background:#10182808;color:var(--muted)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.gallery-grid img{width:100%;height:auto;max-height:320px;object-fit:cover;border-radius:10px}.full-bleed{width:100%;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow:hidden}.full-bleed img{width:100%;height:auto;max-height:420px;object-fit:cover;display:block}@media (max-width:800px){.full-bleed img{max-height:260px}.gallery-grid img{max-height:180px}}.card p{line-height:1.6}.featured-img{width:100%;height:auto;max-height:220px;object-fit:cover;border-radius:8px;margin-bottom:.75rem}section{padding-top:1.25rem;padding-bottom:1.25rem}section h2{margin-top:0;margin-bottom:.75rem;font-family:var(--font-heading)}h2{font-size:1.25rem}h3{font-size:1.05rem}h1,h2,h3{font-family:"Playfair Display",var(--font-heading);color:var(--text);margin:0 0 .6rem}.hero h2{font-size:clamp(2rem,6vw,3.4rem);line-height:1.02;letter-spacing:-.02em;font-weight:600;margin-bottom:.4rem}section h2{font-size:clamp(1.3rem,3.4vw,2.2rem);line-height:1.08;font-weight:600;letter-spacing:-.01em}h3{font-size:clamp(1rem,2.4vw,1.15rem);font-weight:600;color:var(--text)}section h2:after{content:"";display:block;height:3px;width:48px;background:var(--accent-weak);margin-top:.6rem;border-radius:2px}
