@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Montserrat:wght@300;400;500;700&display=swap);*,nav ul{padding:0;margin:0}body,nav a{color:#fff}nav a,nav ul li a{text-decoration:none;padding:.5rem .9375rem}header,nav a:hover::after{width:100%}.hero,.hero .btn,.hero-content,.hero-quote,nav a{position:relative}.hero::after,nav a::before{content:'';top:0;left:0;height:100%}.about .container,.hero,.hero-content,.logo,.logo-text,nav ul{display:flex}.bio h2::after,.services h2::after{background:linear-gradient(90deg,#0ea5e9,var(--accent-color))}.about,footer{overflow:hidden}.logo-text span,footer{letter-spacing:.01875rem}:root{--primary-color:#0f172a;--secondary-color:#1e3a8a;--accent-color:#7dd3fc;--white:#ffffff;--light-text:#e2e8f0;--dark-text:#444}*{box-sizing:border-box;font-family:Montserrat,sans-serif;transition:.3s cubic-bezier(.4, 0, .2, 1)}html{scroll-behavior:smooth}body{line-height:1.7;background-color:#0f172a;padding-top:70px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:.025em;line-height:1.2;color:var(--white)}.logo-text span,footer,footer .social a{color:var(--light-text)}.container{width:90%;max-width:1200px;margin:0 auto;padding:1.25rem 0}header{background:linear-gradient(rgba(15,23,42,.6),rgba(15,23,42,.6)),url('images/hero-bg.jpg') center/cover fixed;backdrop-filter:blur(8px);position:fixed;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.1);transition:background-color .3s}header:hover{background:linear-gradient(rgba(15,23,42,.8),rgba(15,23,42,.8)),url('images/hero-bg.jpg') center/cover fixed}header .container{display:flex;justify-content:space-between;align-items:center;padding:.9375rem 0}.logo{align-items:center;gap:.9375rem}.logo-img{width:45px;height:45px;border-radius:50%;object-fit:cover;border:2px solid rgba(186,230,253,.3)}.logo-text{flex-direction:column;line-height:1.2}.logo-text h1{font-size:1.2rem;margin:0}.logo-text span{font-size:.7rem;font-weight:400}nav ul{list-style:none;justify-content:space-around}nav ul li{display:inline}nav ul li a{color:var(--white);border-radius:.3125rem;transition:background-color .3s,color .3s}nav ul li a:hover{background-color:rgba(0,123,255,.1);color:#fff}nav a{font-weight:500;font-size:1rem;border-radius:.1875rem;text-shadow:0 2px 4px rgba(0,0,0,.3);transition:.4s cubic-bezier(.4, 0, .2, 1)}nav a::before{position:absolute;width:100%;background:rgba(255,255,255,.1);border-radius:.3125rem;transform:scaleX(0);transition:transform .3s}nav a::after{content:'';position:absolute;bottom:-.3125rem;left:0;width:0;height:.125rem;background:#bae6fd;transition:width .3s}nav a:hover::before{transform:scaleX(1)}.hero{background:linear-gradient(rgba(15,23,42,.2),rgba(15,23,42,.2)),url('images/hero-bg.jpg') center/cover fixed;min-height:100vh;align-items:center}.hero .container{width:90%;height:100%;padding:2rem 0}.hero-content{flex-direction:column;justify-content:space-between;height:85vh;z-index:2}.hero-main{text-align:left;max-width:600px}.hero-name{font-size:2.5rem;margin-bottom:1rem;animation:1s .1s fadeInUp;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.hero-title{font-size:1.5rem;color:var(--accent-color);margin-bottom:2.5rem;animation:1s .3s fadeInUp;font-weight:400}.cta-button{animation:1s .5s fadeInUp}.hero-quote{font-style:italic;color:#fff;font-size:1.2rem;max-width:400px;margin:2rem 0;padding-left:1.5rem;text-shadow:2px 2px 8px rgba(0,0,0,.5);border-left:3px solid var(--accent-color);animation:1s .7s fadeInUp}.hero .btn{z-index:10}@media (max-width:767px){.hero-content{height:auto;min-height:90vh;justify-content:center}.hero-main{text-align:center;margin:0 auto}.hero-name{font-size:2rem}.hero-title{font-size:1.2rem}.hero-quote{text-align:center;margin:3rem auto 0;padding-left:0;border-left:none;border-top:3px solid var(--accent-color);padding-top:1rem;max-width:300px}}@media (min-width:768px){.hero-name{font-size:3.5rem}.hero-title{font-size:1.8rem}.hero-quote{font-size:1.4rem;max-width:500px}}@media (min-width:1024px){.hero-name{font-size:4.5rem}.hero-title{font-size:2rem}.hero-quote{font-size:1.6rem;margin-left:0}}@keyframes fadeInUp{from{opacity:0;transform:translateY(1.875rem)}to{opacity:1;transform:translateY(0)}}.hero::after{position:absolute;width:100%;background-image:url('data:image/svg+xml,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><circle cx="100" cy="100" r="1" fill="%23ffffff" opacity="0.1"/></svg>');background-size:.125rem;animation:20s linear infinite particles;opacity:.8;z-index:0;pointer-events:auto}.about,.about .image-container,.bio h2,.contact,.services,footer{position:relative}.contact::before,.services::after{height:6.25rem;background:inherit}@keyframes particles{from{background-position:0 0}to{background-position:12.5rem 12.5rem}}.about{padding:9.375rem 0 6.25rem;background:var(--white)}.about .container{align-items:center;gap:40px;flex-direction:row}.about .bio{flex:1;min-width:55%;padding:2rem}.about .image-container{flex:none;width:400px}.bio h2::after,.services::after{content:'';position:absolute;left:0}.about .image-container img{width:100%;height:auto;border-radius:10px;box-shadow:0 4px 30px rgba(14,165,233,.3);object-fit:cover}.bio{flex:1;min-width:18.75rem;padding:1.25rem}.bio h2{font-size:2rem;margin-bottom:1.25rem;color:var(--primary-color);padding-bottom:.625rem}.bio h2::after{bottom:0;width:3.75rem;height:.1875rem}.contact h2::after,.services h2::after{bottom:0;left:50%;transform:translateX(-50%);width:3.75rem;height:.1875rem}.bio p{font-size:1rem;line-height:1.8;color:var(--dark-text);text-align:justify}.service,.service i,.service p,footer{text-align:center}.services{padding:9.375rem 0 6.25rem;background:#f0f9ff}.contact,.service{background:var(--white)}.services::after{bottom:-3.125rem;width:100%;transform:skewY(-3deg);z-index:1}.contact h2,.services h2{text-align:center;margin-bottom:3.125rem;color:var(--primary-color);position:relative;padding-bottom:.625rem}.contact h2::after,.contact::before,.services h2::after,footer:before{content:'';position:absolute}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17.5rem,1fr));gap:1.875rem}.service{padding:1.875rem;border-radius:.625rem;box-shadow:0 .25rem .625rem rgba(0,0,0,.1);transition:.3s;display:flex;flex-direction:column;align-items:center}.service:hover{transform:translateY(-.625rem)}.service i{font-size:2rem;color:#033d7a;margin-bottom:1.25rem;display:block}.info p,.service h3,footer p{margin-bottom:.9375rem}.service h3{font-size:1.1rem;color:var(--secondary-color);width:100%}.info p,.service p{color:var(--dark-text)}.service p{font-size:.9rem;line-height:1.6;max-width:18.75rem;width:100%}.contact{padding:9.375rem 0 6.25rem}.contact::before{top:-3.125rem;left:0;width:100%;transform:skewY(3deg);z-index:1}.contact h2::after{background:linear-gradient(90deg,#033d7a,var(--accent-color))}.contact-wrapper{display:grid;grid-template-columns:1fr;gap:2.5rem}#contatti{scroll-margin-top:90px}form input,form textarea{width:100%;padding:.75rem;margin-bottom:.9375rem;border:.125rem solid #e2e8f0;border-radius:.3125rem;font-size:1rem;background:#f8fafc;transition:border-color .3s}form input:focus,form textarea:focus{border-color:#033d7a;outline:0}form button{background:linear-gradient(45deg,#002f61be,#02337483);color:var(--white);padding:.75rem 1.875rem;border:none;border-radius:.3125rem;cursor:pointer;font-size:1rem;font-weight:700;letter-spacing:.03125rem;transition:background .3s}form button:hover{background:linear-gradient(45deg,#033d7a,var(--accent-color))}.info p{font-size:1rem;line-height:1.8}.info i{color:#033d7a;margin-right:.625rem}footer{background:linear-gradient(160deg,var(--primary-color) 60%,var(--secondary-color) 100%);padding:7.5rem 0 1.875rem;font-weight:300;border-top:.0625rem solid rgba(186,230,253,.1)}footer:before{top:-1.25rem;left:0;width:100%;height:2.5rem;background:linear-gradient(45deg,rgba(0,9,29,.4) 0,rgba(3,22,67,.27) 50%,transparent 100%);transform:rotate(-2deg);z-index:1}footer .container{position:relative;z-index:2}footer .social a::before,footer::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%}footer p{font-size:.9rem;text-shadow:0 .125rem .25rem rgba(0,0,0,.3)}.social{margin-top:1.25rem;display:flex;justify-content:center;gap:1.5625rem}footer .social a{font-size:1.2rem;transition:.4s cubic-bezier(.4, 0, .2, 1);position:relative;padding:.3rem;border-radius:50%}footer .social a::before{background:rgba(2,52,79,.1);border-radius:50%;transform:scale(0);transition:transform .3s}footer .social a:hover{color:var(--accent-color);transform:translateY(-.1875rem)}footer .social a:hover::before{transform:scale(1)}footer::after{background-image:url('data:image/svg+xml,<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"><circle cx="100" cy="100" r="1" fill="%237dd3fc" opacity="0.1"/></svg>');background-size:.1875rem;animation:25s linear infinite particles;pointer-events:none}@media (min-width:768px){body{font-size:17px;padding-top:80px}header .container{padding:.75rem 1.875rem}.logo-img{width:50px;height:50px}.hero p,.logo-text h1{font-size:1.3rem}.logo-text span{font-size:.8rem}nav a{font-size:1.1rem;padding:.5rem .75rem}.hero h2{font-size:3rem}.hero-quote{font-size:1.35rem}.contact-wrapper{display:grid;grid-template-columns:1fr 1fr}}@media (min-width:1024px){.hero .cta-button,nav a{font-size:1.2rem}body{font-size:18px;padding-top:90px}header .container{padding:.75rem 2.5rem}.logo-img{width:60px;height:60px}.logo-text h1{font-size:1.6rem}.logo-text span{font-size:.9rem}nav a{padding:.75rem 1.2rem}.hero h2{font-size:4rem}.hero p{font-size:1.5rem}.about{padding:11.25rem 0 7.5rem}.bio{min-width:25rem;padding:.75rem 1.5rem}.bio h2{font-size:2.5rem;margin-bottom:1.25rem}.bio p,.contact p{font-size:1.1rem}.bio p{line-height:1.75}.about-content{gap:2.5rem}}@media (max-width:767px){.about-content{flex-direction:column}.bio{order:1}.about img{order:2;margin-top:1.5rem}nav ul li,nav ul.active{display:block}body{padding-top:60px}.container{width:95%}.hero h2{font-size:2.2rem}.hero p{font-size:1.2rem}.hero-quote{font-size:1.1rem}.contact-wrapper{padding:.75rem 1.25rem}form input,form textarea{font-size:.95rem}nav ul{display:none;position:absolute;top:50px;left:0;width:100%;padding:0;background:rgba(15,23,42,.681)!important;backdrop-filter:blur(12px) saturate(180%)!important;text-align:center}nav ul li{margin:.75rem}}@media (max-width:480px){.logo-img{width:35px;height:35px}}@media (orientation:landscape) and (max-height:500px){.hero{min-height:120vh}.hero p{font-size:1rem}}@media (aspect-ratio:1/1){.container{max-width:85%}.hero h2{font-size:2.5rem}.hero p{font-size:1.2rem}}