:root{--bg:#f4f8fc;--bg-soft:#fff;--surface:#ffffffeb;--primary:#dcecff;--primary-deep:#1d5b91;--primary-dark:#0b1f3a;--text:#152943;--muted:#52657d;--line:#0b1f3a24;--shadow:0 18px 35px #0b1f3a1a;--content-width:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background:linear-gradient(180deg, var(--bg-soft) 0%, var(--bg) 100%);color:var(--text);margin:0;font-family:Fira Sans,sans-serif;font-size:1rem;line-height:1.7}button,input,textarea,select{font:inherit}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s,transform .2s}p{max-width:48rem;color:var(--muted);margin:0 0 1.5rem}h1,h2,h3{color:var(--primary-dark);margin-top:0;line-height:1.2}h1{max-width:18ch;margin-bottom:1rem;font-size:clamp(2.2rem,5vw,3.4rem)}h2{margin-bottom:.75rem;font-size:clamp(1.4rem,2vw,2rem)}.page-content{width:min(var(--content-width), calc(100% - 2rem));margin:0 auto;padding:clamp(7.5rem,14vh,10rem) 0 clamp(4rem,8vw,7rem)}.navbar{z-index:1000;padding:.75rem max(1rem, calc((100% - var(--content-width)) / 2));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffe6;grid-template-columns:minmax(8rem,1fr) auto minmax(8rem,1fr);align-items:center;gap:1rem;display:grid;position:fixed;top:0;left:0;right:0;box-shadow:0 12px 30px #0b1f3a14}.navbar-brand{aspect-ratio:1;background:var(--primary-dark);border-radius:50%;justify-self:start;align-items:center;width:4.75rem;height:4.75rem;padding:0;display:inline-flex;overflow:hidden}.navbar-brand img{object-fit:contain;border-radius:50%;width:100%;height:100%}.navbar-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;display:flex}.navbar a{color:var(--primary-dark);border-radius:999px;justify-content:center;align-items:center;padding:.5rem .9rem;font-size:1rem;font-weight:600;display:inline-flex}.navbar a.navbar-brand{padding:.2rem}.navbar a.active{background:var(--primary);color:var(--primary-dark);box-shadow:inset 0 -2px 0 var(--primary-deep)}.navbar a:hover,.navbar a:focus-visible{background:#dcecffb3;text-decoration:none}.lang-switcher{border-left:1px solid var(--line);justify-self:end;align-items:center;gap:.55rem;margin-left:.5rem;padding-left:.9rem;display:flex}.lang-switcher a{border:1px solid var(--line);background:#ffffffdb;border-radius:50%;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;padding:0;display:inline-flex}.lang-switcher a.active{background:var(--primary-deep);border-color:var(--primary-deep);box-shadow:0 8px 18px #1d5b9140}.lang-switcher img{object-fit:cover;border-radius:.25rem;width:1.55rem;height:1.1rem}.hero-layout{grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);align-items:center;gap:clamp(2.5rem,7vw,7rem);display:grid}.home-hero{background:var(--primary-dark);min-height:clamp(34rem,72vh,48rem);box-shadow:var(--shadow);isolation:isolate;border-radius:24px;align-items:center;padding:clamp(2rem,6vw,5rem);display:flex;position:relative;overflow:hidden}.home-hero:after{z-index:-1;content:"";background:linear-gradient(90deg,#0b1f3ae0 0%,#0b1f3a94 48%,#0b1f3a38 100%);position:absolute;inset:0}.hero-copy{z-index:1;flex-direction:column;justify-content:center;max-width:38rem;display:flex;position:relative}.hero-copy p{max-width:38rem}.home-hero h1{text-wrap:balance;max-width:none;font-size:clamp(2.15rem,4vw,2.8rem)}.home-hero h1,.home-hero p{color:#fff}.home-video{z-index:-2;background:var(--primary-dark);position:absolute;inset:0}.home-video video{object-fit:contain;object-position:center;width:100%;height:100%}@media (width>=781px){.home-video video{object-fit:cover}}.hero-media{justify-content:center;align-items:center;display:flex}.hero-media img{width:100%;max-width:34rem;box-shadow:var(--shadow);border-radius:24px}.services-page{flex-direction:column;gap:clamp(2rem,4vw,3.5rem);display:flex}.services-content{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);align-items:stretch;gap:1.5rem;display:grid}.service-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:1.25rem;display:grid}.service-item{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;gap:.6rem;padding:1.25rem 1.4rem;display:flex;box-shadow:0 10px 22px #0b1f3a0f}.service-item h2{margin:0;font-size:clamp(1.2rem,2vw,1.6rem)}.service-item p{max-width:none;margin:0}.services-visual{justify-content:center;align-items:center;min-height:100%;display:flex}.services-visual img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;box-shadow:var(--shadow);border-radius:24px}.services,.about-details{align-items:start;gap:1.5rem;display:grid}.services{grid-template-columns:repeat(2,minmax(0,1fr))}.about-details{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(2.5rem,6vw,5rem)}.appointment-page{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:stretch;gap:clamp(2rem,6vw,5rem);min-height:32rem;display:grid}.appointment-intro{flex-direction:column;justify-content:center;align-items:flex-start;max-width:680px;padding:clamp(1rem,3vw,2.5rem) 0;display:flex}.appointment-cta{background:var(--primary-dark);color:#fff;min-height:60px;box-shadow:var(--shadow);border-radius:18px;justify-content:center;align-items:center;padding:1rem 1.75rem;font-weight:700;display:inline-flex}.appointment-intro .appointment-cta{min-width:min(100%,320px);min-height:72px}.appointment-cta:hover,.appointment-cta:focus-visible{background:var(--primary-deep);color:#fff;transform:translateY(-1px)}.appointment-contact{border:1px solid var(--line);background:var(--surface);border-radius:18px;align-self:center;width:100%;max-width:440px;padding:1.5rem;box-shadow:0 10px 22px #0b1f3a0f}.appointment-contact h2{margin-bottom:1.25rem}.appointment-contact-list{gap:1rem;display:grid}.appointment-contact-item{flex-direction:column;gap:.2rem;display:flex}.contact-label{align-items:center;gap:.45rem;display:inline-flex}.contact-icon{width:1.05rem;height:1.05rem;color:var(--primary-deep);flex:none}.contact-links{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.appointment-contact-item span{color:var(--muted)}.appointment-contact-item strong,.appointment-contact-item a{color:var(--primary-dark);font-weight:700}.appointment-contact-item a:hover,.appointment-contact-item a:focus-visible{color:var(--primary-deep);text-decoration:underline}.appointment-contact-item a.whatsapp-link{color:#25d366}.appointment-contact-item a.whatsapp-link:hover,.appointment-contact-item a.whatsapp-link:focus-visible{color:#128c7e}.appointment-contact-item a.whatsapp-link{align-items:center;gap:.35rem;display:inline-flex}.appointment-contact-item a.whatsapp-link .contact-icon{width:.9rem;height:.9rem;color:inherit}.appointment-map{width:100%;min-width:0;height:24rem;box-shadow:var(--shadow);border-radius:18px;overflow:hidden}.appointment-map iframe{border:0;width:100%;height:100%;display:block}.blog-page{flex-direction:column;gap:clamp(2rem,4vw,3.5rem);min-height:clamp(36rem,78vh,54rem);padding:clamp(2rem,5vw,4rem);display:flex;position:relative;overflow:hidden}.blog-header,.blog-list{z-index:1;position:relative}.blog-header{max-width:42rem}.blog-header h1{margin-bottom:0}.blog-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.blog-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 10px 22px #0b1f3a0f}.blog-card-image{aspect-ratio:16/9;object-fit:cover;width:100%}.blog-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:.8rem;padding:1.4rem;display:flex}.blog-card h2{margin:0;font-size:clamp(1.35rem,2vw,1.8rem)}.blog-card h2 a:hover,.blog-card h2 a:focus-visible{color:var(--primary-deep)}.blog-card p{margin:0}.blog-meta{color:var(--muted);flex-wrap:wrap;gap:.35rem 1rem;display:flex}.blog-read-more{color:var(--primary-deep);margin-top:auto;font-weight:700}.blog-read-more:hover,.blog-read-more:focus-visible{color:var(--primary-dark)}.blog-post{max-width:780px;margin:0 auto}.blog-back-link{color:var(--primary-deep);margin-bottom:2rem;font-weight:700;display:inline-flex}.blog-back-link:hover,.blog-back-link:focus-visible{color:var(--primary-dark)}.blog-post-header{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:2.5rem;display:flex}.blog-post-header h1{max-width:22ch;margin:0}.blog-lead{max-width:42rem;margin:0}.blog-post-image{width:100%;box-shadow:var(--shadow);border-radius:18px;margin-top:.75rem}.blog-content{max-width:48rem}.blog-content h2,.blog-content h3{margin-top:2.25rem}.blog-content ul,.blog-content ol{max-width:48rem;color:var(--muted);margin:0 0 1.5rem;padding-left:1.4rem}.blog-content li+li{margin-top:.45rem}.blog-content a{color:var(--primary-deep);text-underline-offset:.15em;text-decoration:underline}.blog-content blockquote{border-left:4px solid var(--primary-deep);color:var(--muted);background:#dcecff73;margin:1.75rem 0;padding:.75rem 1.25rem}.blog-content img{border-radius:14px;margin:1.5rem 0}.footer{border-top:1px solid var(--line);background:#edf5fc}.footer-inner{max-width:var(--content-width);grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:1.25rem;margin:0 auto;padding:1rem 1rem .85rem;display:grid}.footer-nav{flex-direction:column;justify-content:center;align-items:flex-start;gap:.35rem;display:flex}.footer-contact{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:.2rem;display:flex}.footer-brand{text-align:right;flex-direction:column;align-items:flex-end;gap:.15rem;display:flex}.footer-brand-item{color:var(--primary-dark);font-weight:600;line-height:1.35}.footer-contact-item{line-height:1.5}.footer a{color:var(--primary-dark);font-weight:600}.footer a:hover,.footer a:focus-visible{color:var(--primary-deep);text-decoration:none}.whatsapp-floating{right:max(1rem, env(safe-area-inset-right));bottom:max(16.67vh, env(safe-area-inset-bottom));z-index:900;color:#fff;background:#25d366;border-radius:50%;justify-content:center;align-items:center;width:3.75rem;height:3.75rem;display:inline-flex;position:fixed;box-shadow:0 10px 24px #128c7e4d}.whatsapp-floating:hover{color:#fff;background:#128c7e;transform:translateY(-2px)}.whatsapp-floating:focus-visible{outline:3px solid var(--primary-dark);outline-offset:4px}.whatsapp-floating .contact-icon{color:currentColor;width:1.8rem;height:1.8rem}@media (width>=781px) and (width<=1040px){.navbar{gap:.6rem;padding-inline:1rem}.navbar-links{gap:.15rem}.navbar a{padding-inline:.55rem}.lang-switcher{margin-left:.15rem;padding-left:.5rem}}@media (width<=780px){.appointment-page{grid-template-columns:1fr;gap:1.5rem;min-height:0}.appointment-intro{padding:0}.appointment-contact{align-self:stretch;max-width:none}.services-content,.service-list{grid-template-columns:1fr}.appointment-map{height:20rem}.footer-inner{text-align:center;grid-template-columns:1fr;padding-top:.9rem;padding-bottom:.9rem}.footer-nav,.footer-contact,.footer-brand{text-align:center;align-items:center}.page-content{width:min(100% - 1.25rem, var(--content-width));padding-top:9.5rem;padding-bottom:3.5rem}.hero-layout{grid-template-columns:1fr;gap:2.25rem}.home-hero{border-radius:18px;min-height:34rem;padding:2rem 1.5rem}.home-hero:after{background:linear-gradient(#0b1f3ac2 0%,#0b1f3a94 100%)}.home-video video{object-fit:cover}.navbar{grid-template-columns:1fr auto;gap:.4rem .75rem;padding:.7rem .75rem}.navbar-brand{grid-area:1/1;width:3.75rem;height:3.75rem}.lang-switcher{grid-area:1/2;margin-left:0;padding-left:.6rem}.navbar-links{flex-wrap:nowrap;grid-area:2/1/auto/-1;justify-content:space-between;gap:.25rem;width:100%}.navbar-links a{white-space:nowrap;flex:0 auto;min-width:0}.navbar a{text-align:center;padding:.42rem .3rem;font-size:.86rem}.services,.about-details,.blog-list{grid-template-columns:1fr}.hero-media img,.services-visual img{max-width:100%}.blog-page{min-height:34rem;padding:1.5rem}.whatsapp-floating{right:max(.9rem, env(safe-area-inset-right));bottom:max(16.67vh, env(safe-area-inset-bottom))}}@media (width<=350px){.navbar-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;display:grid}.navbar-links a.nav-cta{grid-column:1/-1;justify-self:center}.navbar a{padding-inline:.2rem;font-size:.76rem}.page-content{padding-top:11rem}}@media (prefers-reduced-motion:reduce){.home-video video{display:none}.blog-page.video-ready .blog-media{visibility:hidden;opacity:0}.blog-media{transition:none}}
