:root{--color-bg:#fdfbf7;--color-card:#fff;--color-teal:#00d9c4;--color-ocean-light:#22d3ee;--color-ocean:#0891b2;--color-ocean-deep:#0e7490;--color-text:#1e293b;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-border:#00000014}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}body:after{position:fixed;z-index:9999;content:"";opacity:.02;pointer-events:none;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");inset:0}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-family:inherit;font-weight:500}a{color:inherit;text-decoration:none}::selection{background:var(--color-ocean);color:#fff}.page{display:flex;flex-direction:column;min-height:100vh}.home-page{overflow-x:hidden}.header{position:relative;z-index:10;display:flex;justify-content:space-between;align-items: center;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 2rem}.logo-link{display:flex;align-items: center;gap:.75rem}.logo-img{width:auto;height:36px}.logo-text{color:var(--color-text);font-size:1.2rem;font-weight:500}.header-contact{border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:6px;padding:.6rem 1.2rem;transition:all .2s;font-size:.9rem}.header-contact:hover{border-color:var(--color-ocean);color:var(--color-ocean)}.hero{position:relative;width:min(100% - 4rem,1200px);max-width:1200px;margin:0 auto;padding:clamp(5rem,9vw,7rem) 0}.hero-content{position:relative;z-index:2;text-align:center;max-width:760px;margin:0 auto}.hero h1{letter-spacing:-.065em;margin-bottom:1.35rem;font-size:clamp(4rem,7vw,6.2rem);font-weight:600;line-height:1.08}.hero h1 span{display:block;background:linear-gradient(110deg,var(--color-ocean-deep)5%,var(--color-teal)90%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:-.12em;padding-bottom:.12em;font-weight:400}.hero-cta{display:inline-flex;background:linear-gradient(135deg,var(--color-teal)0%,var(--color-ocean)100%);color:#fff;border-radius:8px;align-items: center;gap:.5rem;padding:.9rem 1.75rem;transition:all .3s;font-size:.95rem;font-weight:500;box-shadow:0 4px 15px #0891b240}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 25px #0891b259}.hero-cta svg{transition:transform .2s}.hero-cta:hover svg{transform:translate(3px)}.projects{width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 2rem 6rem}.projects-header{display:flex;align-items: center;gap:1.5rem;margin-bottom:3rem}.projects h2{color:var(--color-ocean);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:.85rem;font-weight:600}.projects-line{background:linear-gradient(90deg,var(--color-ocean)0%,transparent 100%);opacity:.3;flex:1;height:1px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}.project-card{overflow:hidden;border:1px solid var(--color-border);background:var(--color-card);border-radius:16px;transition:all .3s}.project-card:hover{border-color:#0891b233;transform:translateY(-6px);box-shadow:0 20px 50px #0891b21f}.project-card-link{display:block}.project-image{display:flex;overflow:hidden;aspect-ratio:16/10;background:linear-gradient(135deg,var(--color-ocean-light)0%,var(--color-ocean)100%);justify-content:center;align-items: center;padding:1.25rem}.project-image img{object-fit:cover;border-radius:8px;width:100%;height:100%;box-shadow:0 8px 30px #0003}.project-info{padding:1.5rem}.project-info h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.25rem;font-weight:500}.project-info p{color:var(--color-text-secondary);margin-bottom:1rem;font-size:.95rem;line-height:1.65}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-tags span{color:var(--color-ocean);background:#0891b214;border-radius:5px;padding:.35rem .75rem;font-size:.75rem;font-weight:500}.contact{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-ocean)0%,var(--color-ocean-deep)100%);margin-top:auto;padding:8rem 2rem 4rem}.contact-decoration{position:absolute;pointer-events:none;inset:0}.contact-wave{position:absolute;background:var(--color-bg);clip-path:ellipse(70% 100% at 50% 0%);height:80px;top:0;left:0;right:0}.contact:before{position:absolute;content:"";opacity:.05;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");inset:0}.contact-content{position:relative;z-index:1;text-align:center;max-width:700px;margin:0 auto}.contact h2{color:#fff;margin-bottom:1rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500}.contact p{color:#ffffffd9;margin-bottom:2rem;font-size:1.15rem}.contact-email{display:inline-block;color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;padding:.75rem 2rem;transition:all .3s;font-size:1.2rem;font-weight:500}.contact-email:hover{background:#ffffff40;transform:translateY(-2px)}.home-footer{display:flex;background:var(--color-ocean-deep);flex-direction:column;align-items: center;gap:1rem;padding:4rem 2rem 2.5rem}.footer-logo{opacity:.6;width:auto;height:32px}.home-footer p{color:#ffffff80;font-size:.85rem}.footer-links{display:flex;align-items: center;gap:.5rem;margin-top:.25rem}.footer-links a{color:#fff6;transition:color .2s;font-size:.8rem}.footer-links a:hover{color:#ffffffb3}.footer-divider{color:#ffffff4d;font-size:.8rem}.legal-content{flex:1;width:100%;max-width:680px;margin:0 auto;padding:3rem 2rem 6rem}.legal-content h1{margin-bottom:.5rem;font-size:clamp(2rem,4vw,2.75rem)}.updated{color:var(--color-text-muted);margin-bottom:3rem;font-size:.9rem}.legal-content section{margin-bottom:2.5rem}.legal-content section h2{color:var(--color-ocean);margin-bottom:.75rem;font-size:1.25rem}.legal-content section p,.legal-content section li{color:var(--color-text-secondary);font-size:1rem;line-height:1.75}.legal-content section p,.legal-content section ul{margin-bottom:.75rem}.legal-content section ul{list-style:disc;padding-left:1.5rem}.legal-content section li{margin-bottom:.25rem}.legal-content section a,.legal-footer a{color:var(--color-ocean);text-decoration:underline;text-underline-offset:2px}.legal-content section a:hover,.legal-footer a:hover{color:var(--color-ocean-deep)}.legal-footer{text-align:center;padding:2rem}.legal-footer a{font-size:.9rem}.not-found{display:flex;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items: center;padding:2rem}.not-found h1{color:var(--color-ocean);margin-bottom:.5rem;font-size:clamp(4rem,15vw,8rem);line-height:1}.not-found p{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1.25rem}.back-link{display:inline-flex;background:linear-gradient(135deg,var(--color-teal)0%,var(--color-ocean)100%);color:#fff;border-radius:8px;align-items: center;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s;font-weight:500;box-shadow:0 4px 15px #0891b240}.back-link:hover{transform:translateY(-2px);box-shadow:0 6px 25px #0891b259}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUpDelayed{0%,20%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.6s ease-out forwards fadeInUp}.animate-fade-in-up-delayed{opacity:0;animation:.8s ease-out forwards fadeInUpDelayed}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.animate-fade-in-up,.animate-fade-in-up-delayed{opacity:1;animation:none}}@media (max-width:900px){.hero{width:min(100% - 4rem,700px)}}@media (max-width:640px){.header{padding:1rem 1.25rem}.hero{width:100%;min-height:auto;padding:4.5rem 1.25rem 5rem}.hero h1{letter-spacing:-.06em;font-size:clamp(3rem,15vw,4.25rem)}.hero-cta{justify-content:center;width:100%}.projects{padding:3rem 1.25rem 4rem}.projects-grid{grid-template-columns:1fr}.contact{padding:8.5rem 1.25rem 4rem}.contact h2{font-size:1.5rem}.legal-content{padding:2rem 1.25rem 4rem}}
