*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #4D97D8;--color-navy: #081158;--color-white: #ffffff;--color-text: #666666;--color-text-dark: #333333;--color-bg-light: #f6f8fa;--color-bg-section: rgba(238, 242, 246, .5);--color-border: #e0e0e0;--font-heading: "DM Serif Display", Georgia, serif;--font-body: "DM Sans", "Helvetica Neue", Arial, sans-serif;--max-width: 1200px;--header-height: 80px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:16px;font-weight:300;line-height:1.7;color:var(--color-text);background:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-navy)}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.3}h1{font-size:clamp(2.5rem,5vw,3.75rem);color:var(--color-white)}h2{font-size:clamp(1.75rem,3vw,2.25rem);color:var(--color-navy);margin-bottom:1rem}h3{font-size:clamp(1.25rem,2vw,1.5rem);color:var(--color-primary);margin-bottom:.5rem}h4{font-size:1.125rem;color:var(--color-navy);margin-bottom:.5rem}p{margin-bottom:1rem}button,.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;font-family:var(--font-body);font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--color-primary);border-radius:6px;background:var(--color-primary);color:var(--color-white);cursor:pointer;transition:all .3s ease;text-decoration:none}button:hover,.btn:hover{background:var(--color-navy);border-color:var(--color-navy);color:var(--color-white)}.btn-outline{background:transparent;color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:var(--color-white)}.btn-white{background:var(--color-white);color:var(--color-navy);border-color:var(--color-white)}.btn-white:hover{background:transparent;color:var(--color-white);border-color:var(--color-white)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section-sm{padding:3rem 0}.text-center{text-align:center}.skip-link{position:absolute;top:-100%;left:1rem;z-index:10000;padding:.75rem 1.5rem;background:var(--color-navy);color:var(--color-white);border-radius:0 0 6px 6px;font-weight:600;transition:top .3s}.skip-link:focus{top:0;color:var(--color-white)}.header{position:sticky;top:0;z-index:1000;background:var(--color-white);box-shadow:0 2px 10px #00000014}.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.header-logo img{height:50px;width:auto}.header-nav{display:flex;align-items:center;gap:2rem}.header-nav a{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-dark);transition:color .3s;position:relative}.header-nav a:hover,.header-nav a[aria-current=page]{color:var(--color-primary)}.header-nav a[aria-current=page]:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--color-primary)}.header-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.8rem;font-weight:700;text-transform:uppercase;background:var(--color-primary);color:var(--color-white);border-radius:6px;border:1px solid var(--color-primary);transition:all .3s}.header-cta:hover{background:var(--color-navy);border-color:var(--color-navy);color:var(--color-white)}.mobile-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;background:none;border:none}.mobile-toggle span{display:block;width:24px;height:2px;background:var(--color-text-dark);transition:all .3s}.hero{position:relative;min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}.hero-bg:after{content:"";position:absolute;inset:0;background:#00000059}.hero-border{position:absolute;inset:0;border:4px solid transparent;border-bottom-color:var(--color-navy);border-left-color:var(--color-navy);border-top-color:var(--color-primary);border-right-color:var(--color-primary);z-index:1;pointer-events:none}.hero-content{position:relative;z-index:2;padding:2rem}.hero h1{margin-bottom:1.5rem;text-shadow:0 2px 8px rgba(0,0,0,.3)}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.service-card{text-align:center;padding:2rem 1.5rem;border-radius:8px;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001a}.service-card .icon{width:64px;height:64px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:var(--color-bg-light);border-radius:50%;color:var(--color-primary)}.service-card .icon svg{width:32px;height:32px}.service-card h3 a{color:var(--color-primary);text-decoration:none}.service-card h3 a:hover{color:var(--color-navy)}.service-card p{font-size:.9375rem;color:var(--color-text)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.two-col-text h2{margin-bottom:1.5rem}.slider-section{background:var(--color-bg-light)}.slider{position:relative;overflow:hidden;border-radius:12px}.slider-track{display:flex;transition:transform .5s ease}.slider-track img{min-width:100%;object-fit:cover;aspect-ratio:16/9;border-radius:12px}.slider-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:#ffffffe6;color:var(--color-navy);border:none;width:48px;height:48px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;padding:0}.slider-btn:hover{background:var(--color-primary);color:var(--color-white)}.slider-prev{left:1rem}.slider-next{right:1rem}.slider-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.slider-dot{width:24px;height:24px;border-radius:50%;border:2px solid var(--color-primary);background:transparent;cursor:pointer;padding:0;transition:background .3s}.slider-dot.active{background:var(--color-primary)}.bio-section{background:var(--color-white)}.bio-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.bio-video video{width:100%;border-radius:12px;box-shadow:0 4px 20px #0000001a}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2rem}.team-card{text-align:center}.team-card img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:13px;margin-bottom:1rem}.team-card h3{font-size:1rem;color:var(--color-primary);margin-bottom:.25rem}.team-card p{font-size:.875rem;color:var(--color-text);font-style:italic}.cta-section{background:var(--color-navy);color:var(--color-white);text-align:center;padding:4rem 0}.cta-section h2{color:var(--color-white)}.cta-section p{color:#fffc;margin-bottom:2rem}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem}.review-card{background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;padding:2rem;text-align:center}.review-stars{color:#f5a623;font-size:1.25rem;margin-bottom:1rem}.review-text{font-style:italic;margin-bottom:1rem;font-size:.9375rem;color:var(--color-text)}.review-author{font-weight:600;color:var(--color-text-dark);font-size:.875rem}.review-source{font-size:.75rem;color:var(--color-text)}.service-detail{padding:4rem 0}.service-detail:nth-child(2n){background:var(--color-bg-section)}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.service-detail-grid.reversed{direction:rtl}.service-detail-grid.reversed>*{direction:ltr}.service-detail-img{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3}.service-detail-img img{width:100%;height:100%;object-fit:cover}.service-detail-text h2{display:flex;align-items:center;gap:.75rem}.service-detail-text h2 svg{width:36px;height:36px;color:var(--color-primary);flex-shrink:0}.service-detail-text ul{list-style:disc;padding-left:1.5rem;margin-bottom:1rem}.service-detail-text ul li{margin-bottom:.25rem}.services-two-col{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.service-hero{position:relative;padding:6rem 0;color:var(--color-white);overflow:hidden}.service-hero .hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}.service-hero .hero-bg:after{content:"";position:absolute;inset:0;background:#00000059}.service-hero-content{position:relative;z-index:2}.service-hero h2{color:var(--color-white);font-size:clamp(2rem,4vw,3rem)}.service-hero p{color:#ffffffe6;max-width:700px}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.gallery-item{aspect-ratio:1;overflow:hidden;border-radius:8px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item:hover img{transform:scale(1.05)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-dark);margin-bottom:.375rem}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:6px;font-family:var(--font-body);font-size:.9375rem;color:var(--color-text-dark);transition:border-color .3s;background:var(--color-white)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4d97d826}.form-group textarea{min-height:120px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-group{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:1rem}.checkbox-group input[type=checkbox]{margin-top:.25rem;accent-color:var(--color-primary)}.checkbox-group label{font-size:.8125rem;color:var(--color-text)}.map-container{border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a}.map-container iframe{width:100%;height:450px;border:0}.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;text-align:center}.info-card{padding:2rem}.info-card .icon{width:64px;height:64px;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;background:var(--color-bg-light);border-radius:50%;color:var(--color-primary);transition:transform .3s}.info-card:hover .icon{transform:translateY(-4px)}.info-card .icon svg{width:28px;height:28px}.faq-item{border-bottom:1px solid var(--color-border)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 0;background:none;border:none;cursor:pointer;font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--color-text-dark);text-align:left}.faq-question:hover{color:var(--color-primary);background:none}.faq-question svg{width:20px;height:20px;flex-shrink:0;transition:transform .3s;color:var(--color-primary)}.faq-item.open .faq-question svg{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-answer-inner{padding:0 0 1.25rem;color:var(--color-text);font-size:.9375rem}.faq-item.open .faq-answer{max-height:500px}.review-single{background:var(--color-bg-light);border-radius:12px;padding:2rem;max-width:600px;margin:2rem auto 0}.footer{background:var(--color-navy);color:#fffc;padding:3rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}.footer-logo img{height:60px;width:auto;margin-bottom:1rem}.footer-piva{font-size:.8125rem;margin-bottom:1rem}.footer-social{display:flex;gap:1rem}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff1a;color:var(--color-white);transition:background .3s}.footer-social a:hover{background:var(--color-primary)}.footer-social a svg{width:18px;height:18px}.footer h4,.footer-heading{color:var(--color-white);margin-bottom:.75rem;font-family:var(--font-body);font-weight:600;font-size:1rem}.footer p,.footer a{color:#ffffffb3;font-size:.875rem}.footer a:hover{color:var(--color-white)}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:1.5rem;text-align:center;font-size:.75rem;color:#ffffff80}.footer-credit{margin-top:.75rem;font-size:.75rem;color:#fff6}.footer-credit a{color:#ffffff80;text-decoration:underline}.footer-credit a:hover{color:var(--color-white)}.whatsapp-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;width:60px;height:60px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0003;transition:transform .3s,box-shadow .3s}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 20px #0000004d}.whatsapp-float svg{width:32px;height:32px;fill:#fff}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media(max-width:1024px){.services-grid{grid-template-columns:repeat(2,1fr)}.team-grid,.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.header-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:var(--color-white);flex-direction:column;padding:1.5rem;box-shadow:0 4px 12px #0000001a;gap:1rem}.header-nav.open,.mobile-toggle{display:flex}.header-cta-desktop{display:none}.hero{min-height:50vh}.two-col,.bio-grid,.contact-grid,.service-detail-grid,.services-two-col{grid-template-columns:1fr}.service-detail-grid.reversed{direction:ltr}.services-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:repeat(2,1fr)}.reviews-grid,.info-cards{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-social{justify-content:center}.form-row{grid-template-columns:1fr}}@media print{.header,.footer,.whatsapp-float,.skip-link{display:none}}
