@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(montserrat-400.ttf) format('truetype')}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(montserrat-600.ttf) format('truetype')}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(montserrat-700.ttf) format('truetype')}
:root{--ink:#181b1e;--muted:#636c75;--blue:#008fca;--dark:#090b0d;--line:#e1e5e9;--font:Montserrat,Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:white;color:var(--ink);font:15px/1.8 var(--font);overflow-x:clip}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #00b6f1;outline-offset:5px}img,video{max-width:100%;display:block}svg{width:23px;height:23px;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:600;line-height:1.22;letter-spacing:-.035em}h2{font-size:clamp(30px,3.5vw,47px);margin-bottom:24px}h3{font-size:23px}.header{height:100px;background:#050608;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 7%;position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff12}.brand{display:flex;align-items:center;gap:14px}.brand img{width:68px;height:68px;object-fit:contain;border-radius:50%}.brand>span{font-size:26px;line-height:1.15;font-weight:700;letter-spacing:.03em}.brand small{font-size:8px;display:block;letter-spacing:.13em;font-weight:400;text-transform:uppercase;margin-top:6px;color:#c8d1d8}nav{display:flex;gap:27px;align-items:center;font-size:13px}nav>a{transition:color .2s}nav>a:hover{color:#21bcf4}.social-link,.nav-wa{line-height:0}.nav-wa{color:#35d37a}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:16px 32px;border-radius:50px;color:white;background:#191c20;border:1px solid transparent;font:600 13px/1.5 var(--font);transition:background .25s,transform .25s;min-height:52px}.button:hover{background:#006f9c;transform:translateY(-2px)}.hero{height:min(800px,calc(100svh - 100px));min-height:610px;position:relative;display:grid;place-items:center;text-align:center;isolation:isolate;overflow:hidden;background:#0d1720;color:white;padding:70px 24px 100px}.hero-background,.hero-slide{position:absolute;inset:0;z-index:-2}.hero-slide{opacity:0;transition:opacity 1.5s ease;overflow:hidden}.hero-slide.is-active{opacity:1;z-index:-1}.hero-slide>img,.hero-slide>video{width:100%;height:100%;object-fit:cover;object-position:center 47%}.hero-slide>img{transform:scale(1.04);transition:transform 7s linear}.hero-slide.is-active>img{transform:scale(1)}.hero-background:after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#0007,#0009 65%,#000a)}.hero-copy{position:relative;max-width:920px;margin:auto;z-index:1}.eyebrow{font-size:10px;text-transform:uppercase;font-weight:600;letter-spacing:.18em;color:var(--blue);margin-bottom:20px}.hero .eyebrow{color:#dcecf5;margin-bottom:25px}.hero h1{font-size:clamp(38px,5vw,70px);font-weight:600;text-transform:uppercase;letter-spacing:-.03em;margin:0 0 27px;line-height:1.15;text-wrap:balance}.hero h1 span{display:block;color:#fff}.hero .intro{font-size:15px;line-height:1.8;max-width:640px;margin:0 auto 35px;color:#eef1f3;text-wrap:balance}.hero .button{background:#fff;color:#151a1f;min-width:230px}.hero .button svg{color:#148a4b}.hero .button:hover{background:#e2f5fc}.hero-controls{position:absolute;bottom:29px;right:7%;display:flex;align-items:center;gap:8px;z-index:3;font-size:10px}.hero-controls button{border:1px solid #ffffff50;background:#0004;color:white;border-radius:30px;padding:8px 12px;font-size:11px}.slide-count{min-width:42px}.scroll-note{position:absolute;bottom:35px;left:7%;font-size:10px;letter-spacing:.03em;display:flex;gap:15px;align-items:center}.scroll-note span{font-size:20px}.specialties{display:flex;justify-content:center;align-items:center;gap:0;flex-wrap:wrap;background:#f3f5f6;padding:24px 5%;border-bottom:1px solid var(--line)}.specialties span{font-size:9px;font-weight:600;letter-spacing:.12em;padding:0 26px;line-height:1.6;text-align:center}.specialties span+span{border-left:1px solid #cbd2d7}.section{padding:100px 8%;scroll-margin-top:0}.section-head{text-align:center;max-width:740px;margin:0 auto 58px}.section-head>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;max-width:650px;margin:0 auto 20px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 48px;max-width:1250px;margin:auto}.service-card{min-width:0;background:white}.card-media{aspect-ratio:1.65;overflow:hidden;background:#e5e8eb;margin-bottom:25px;border-radius:3px}.card-media>img,.card-media>video{width:100%;height:100%;object-fit:cover}.card-media img{transition:transform .7s ease}.service-card:hover .card-media img{transform:scale(1.035)}.service-card h3{font-size:23px;margin-bottom:16px}.service-card p{color:var(--muted);font-size:13px;line-height:1.9;margin-bottom:18px}.text-link{font-size:12px;font-weight:600;display:inline-flex;gap:14px;align-items:center}.text-link span{color:var(--blue)}.text-link:hover{color:var(--blue)}.text-link svg{width:18px;height:18px}.block{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#f4f5f6}.block:not(.has-media),.block-text{display:block}.block-copy{max-width:560px}.block-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.9;margin-bottom:28px}.block-media{height:580px;overflow:hidden;border-radius:3px;background:#151a21}.block-media>img,.block-media>video{width:100%;height:100%;object-fit:cover}.block-media>video{object-fit:contain}.block-banner{position:relative;display:flex;justify-content:center;min-height:440px;color:white;text-align:center;isolation:isolate;background:#11171c}.block-banner .block-copy{max-width:760px}.block-banner .block-copy>p:not(.eyebrow){color:#dce3e8}.block-banner .eyebrow{color:#81d8fa}.block-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}.block-bg:after{content:'';position:absolute;inset:0;background:#0009}.block-bg>*{width:100%;height:100%;object-fit:cover}.gallery{background:#0c1015;color:#fff}.gallery .eyebrow{color:#62c9ef}.gallery .section-head .text-link{color:#d0d9e2}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;max-width:1350px;margin:auto}.gallery-item{margin:0;min-width:0;overflow:hidden;background:#151c24;border:1px solid #27313d;border-radius:3px}.gallery-open{display:block;padding:0;border:0;position:relative;width:100%;background:#0b1118}.gallery-open>img{width:100%;aspect-ratio:9/14;object-fit:cover;transition:transform .65s}.gallery-open:hover>img{transform:scale(1.035)}.expand-mark{position:absolute;bottom:13px;right:13px;background:#0008;border:1px solid #ffffff60;color:white;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.gallery-item>video{width:100%;aspect-ratio:9/16;object-fit:contain;background:#000}.gallery-item figcaption{padding:18px}.gallery-item figcaption strong{font-size:12px;line-height:1.5;font-weight:600;display:block}.gallery-item figcaption p{font-size:10px;line-height:1.7;color:#a5b4c3;margin:8px 0 0}.contact{position:relative;background:#0e161e;color:white;isolation:isolate}.contact-background{position:absolute;inset:0;z-index:-1;overflow:hidden}.contact-background>*{width:100%;height:100%;object-fit:cover}.contact-background:after{content:'';position:absolute;inset:0;background:#000b}.contact-heading{position:relative;text-align:center;max-width:700px;margin:0 auto 45px}.contact-heading .eyebrow{color:#a8d6e8}.contact-heading>p:not(.eyebrow){font-size:14px;color:#e1e6e9}.contact-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;max-width:1100px;margin:auto;align-items:center}.contact-box{background:white;border-radius:18px;padding:35px;color:#1e242b;box-shadow:0 15px 60px #0002}.contact-box label{display:block;font-size:12px;margin-bottom:20px}.contact-box input,.contact-box textarea{display:block;width:100%;margin-top:7px;border:1px solid #bbc5cf;background:#fff;border-radius:9px;color:#1e242b;padding:13px 15px;resize:vertical;font-size:13px}.contact-box input:focus,.contact-box textarea:focus{outline:2px solid #23b3e9;outline-offset:1px}.contact-box .button{display:flex;margin:22px auto 0;font-size:12px}.contact-box small{display:block;text-align:center;font-size:9px;line-height:1.7;color:#677482;margin-top:17px}.contact-details h3{font-size:28px;line-height:1.3}.contact-details .eyebrow{color:#a8d6e8}.contact-details dl{margin:20px 0 30px}.contact-details dt{color:#b2c4d0;font-size:10px;margin-top:21px;text-transform:uppercase;letter-spacing:.08em}.contact-details dd{margin:3px 0;color:#fff;font-size:13px;overflow-wrap:anywhere}.contact-details a:hover{color:#8ddcff}footer{background:#050709;color:#a4afb9;padding:45px 8%;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:9px}footer p{margin:0}.footer-brand{font-size:24px;font-weight:700;color:#fff;line-height:1.2}.footer-brand span{display:block;font-size:7px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;margin-top:7px}.whatsapp{position:fixed;bottom:23px;right:25px;z-index:30;width:60px;height:60px;display:grid;place-items:center;background:#20bf61;color:#fff;border-radius:50%;box-shadow:0 5px 24px #0004;transition:transform .25s}.whatsapp:hover{transform:translateY(-3px)}.whatsapp>svg{width:34px;height:34px}.whatsapp>span{position:absolute;right:74px;white-space:nowrap;background:white;color:#28353f;border-radius:5px;padding:7px 12px;font-size:10px;box-shadow:0 3px 15px #0002}.lightbox{max-width:95vw;max-height:95svh;border:0;padding:20px;background:#101720;color:white;border-radius:8px;overflow:auto}.lightbox::backdrop{background:#000e}.lightbox>img{max-width:85vw;max-height:78svh;object-fit:contain;margin:auto}.lightbox>p{text-align:center;font-size:12px;margin:14px 0 0}.lightbox-close{position:absolute;right:8px;top:8px;background:#000b;color:#fff;border:1px solid #fff6;border-radius:50%;width:34px;height:34px;font-size:23px;line-height:1}.skip{position:fixed;top:-120px;z-index:100;background:#fff;color:#10151c;padding:15px}.skip:focus{top:0}
.motion-enabled [data-reveal]{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.motion-enabled [data-reveal="left"]{transform:translateX(-35px)}.motion-enabled [data-reveal="right"]{transform:translateX(35px)}.motion-enabled [data-reveal].is-visible{opacity:1;transform:translate(0,0)}
@media(min-width:1700px){.section{padding-inline:max(8%,calc((100vw - 1450px)/2))}.hero h1{font-size:74px}}@media(max-width:1100px){.header{padding-inline:5%}nav{gap:18px;font-size:11px}.brand>span{font-size:22px}.brand small{font-size:7px}.section{padding:80px 6%}.service-grid{gap:45px 30px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-open>img{aspect-ratio:4/4.5}.gallery-item>video{max-height:620px}.specialties span{padding:0 16px;font-size:8px}.block-media{height:490px}.contact-layout{gap:5%}}@media(max-width:760px){html{scroll-padding-top:80px}.header{height:80px}.brand img{width:51px;height:51px}.brand>span{font-size:22px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;border:1px solid #ffffff40;padding:12px;background:transparent;border-radius:5px;width:45px;height:43px}.menu-toggle span{display:block;height:1px;width:100%;background:white}.header nav{display:none;position:absolute;top:80px;left:0;right:0;background:#080a0d;padding:25px 6%;border-bottom:1px solid #ffffff30;font-size:14px;gap:20px}.header nav.open{display:flex;flex-wrap:wrap}.header nav>a:not(.social-link):not(.nav-wa){flex-basis:100%}.hero{height:calc(90svh - 80px);min-height:570px;padding:75px 7% 105px}.hero h1{font-size:clamp(34px,8.6vw,54px);line-height:1.2}.hero .eyebrow{font-size:8px;line-height:1.8;margin-bottom:23px}.hero .intro{font-size:12px;line-height:1.9;margin-bottom:28px}.hero .button{font-size:12px;padding:14px 25px}.hero-controls{bottom:24px;right:6%}.scroll-note{bottom:27px;left:6%;font-size:9px}.specialties{row-gap:16px;padding:22px 4%}.specialties span{width:50%;font-size:7px;line-height:1.8;padding:0 8px}.specialties span:nth-child(3){border-left:0}.section{padding:65px 6%}.section-head{margin-bottom:37px}.section-head>p:not(.eyebrow){font-size:12px}.section-head h2{font-size:32px}.service-grid{grid-template-columns:1fr;gap:40px}.card-media{aspect-ratio:1.5;margin-bottom:21px}.service-card h3{font-size:22px}.service-card p{font-size:12px}.block{grid-template-columns:1fr;gap:35px}.block-media{height:440px;max-width:500px;width:100%;margin:auto}.block-copy{max-width:none}.block-copy h2{font-size:34px}.block-copy>p:not(.eyebrow){font-size:12px}.block-banner{min-height:410px}.gallery-grid{gap:12px}.gallery-open>img{aspect-ratio:9/13}.gallery-item figcaption{padding:13px}.gallery-item figcaption strong{font-size:10px}.gallery-item figcaption p{font-size:9px}.gallery-item>video{aspect-ratio:9/16}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-box{padding:25px 22px;border-radius:13px}.contact-details{padding:0 3px}.contact-details h3{font-size:24px}footer{align-items:start;flex-direction:column;padding:40px 6% 95px;gap:22px}.whatsapp{right:17px;bottom:17px;width:55px;height:55px}.whatsapp>svg{width:31px;height:31px}.whatsapp>span{display:none}.lightbox{padding:10px}.motion-enabled [data-reveal="left"],.motion-enabled [data-reveal="right"]{transform:translateY(25px)}.motion-enabled [data-reveal].is-visible{transform:none}}@media(max-width:370px){.hero-controls{gap:4px}.hero-controls button{padding:7px 9px}.hero .intro{font-size:11px}.scroll-note{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-enabled [data-reveal]{opacity:1;transform:none}.hero-slide>img{transform:none}}
.motion-paused .hero-slide>img{transition:none;transform:none}
/* Editable home-visit coverage map. */
.contact-details .visit-description{font-size:13px;color:#e1e7eb;line-height:1.9;margin:0 0 24px}.visit-map{max-width:100%;overflow:hidden;border-radius:10px;border:1px solid #ffffff38;background:#101c27;margin:24px 0}.visit-map-title{font-size:11px;font-weight:600;line-height:1.6;padding:12px 15px;margin:0;border-bottom:1px solid #ffffff20}.visit-map iframe{width:100%;height:240px;border:0;display:block;background:#eef1f3}.visit-map>a>img{width:100%;height:auto;display:block;max-height:360px;object-fit:contain}.map-link{display:block;padding:10px 15px;font-size:10px;color:#e3f5ff;border-top:1px solid #ffffff20}.contact-layout{align-items:start}.contact-box{margin-top:4px}@media(max-width:760px){.visit-map iframe{height:250px}.contact-details .visit-description{font-size:12px}}
/* Official transparent logo, with no duplicated brand text. */
.header .brand-logo-only{flex:0 1 auto;max-width:42%;min-width:0}.header .brand-logo-only img{display:block;width:var(--header-logo-width,250px);height:84px;max-width:100%;object-fit:contain;border-radius:0}.reviews-section{background:linear-gradient(120deg,#f1f7fb,#fff 70%);border-bottom:1px solid #e0e8ee;position:relative}.reviews-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center;max-width:1240px;margin:auto}.reviews-intro h2{max-width:650px}.reviews-intro>p:not(.eyebrow){color:#626f7c;font-size:14px;line-height:1.9;max-width:600px;margin-bottom:28px}.reviews-button{background:#1c2935;color:#fff;border-radius:9px;font-size:12px;padding:17px 23px;gap:13px;line-height:1.6;text-align:left}.reviews-button .google-mark{width:23px;height:23px;background:#fff;border-radius:50%;padding:2px}.reviews-button>span{margin-left:12px}.google-review-panel{padding:36px;border-radius:18px;border:1px solid #dee7ed;background:#fff;box-shadow:0 15px 55px #14283d0c}.google-panel-label{display:flex;align-items:center;gap:16px;margin-bottom:32px}.google-panel-label>.google-mark{width:44px;height:44px}.google-panel-label>span:not(.external-mark){font-family:Arial,sans-serif;font-size:23px;line-height:1.1;color:#39444d}.google-panel-subtitle{display:block;font:600 8px/1.4 Montserrat,Arial,sans-serif;letter-spacing:.2em;color:#75818d;margin-top:8px}.external-mark{margin-left:auto;color:#8b9ba9;font-size:25px}.google-review-panel h3{font-size:24px;line-height:1.35;margin-bottom:13px}.google-review-panel>p{color:#6c7885;font-size:12px;line-height:1.9;margin-bottom:24px}.google-review-panel .text-link{font-size:11px;color:#007cae}.review-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1240px;margin:50px auto 0}.review-card{background:#fff;border:1px solid #e0e7ec;padding:28px;border-radius:13px;min-width:0;display:flex;flex-direction:column}.review-quote{font:60px/1 Georgia,serif;color:#028ec3;height:45px}.review-card blockquote{font-size:13px;line-height:1.9;color:#354350;margin:6px 0 27px;overflow-wrap:anywhere}.review-author{display:flex;align-items:center;gap:12px;margin-top:auto}.review-avatar{width:37px;height:37px;background:#eaf4fa;border-radius:50%;color:#006e9b;display:grid;place-items:center;font-weight:600;flex-shrink:0}.review-author>div{min-width:0}.review-author h3{font-size:12px;margin:0;line-height:1.6;overflow-wrap:anywhere}.review-author p{font-size:9px;color:#7d8994;margin:3px 0 0}.review-author>.google-mark{width:22px;height:22px;margin-left:auto}.review-source{font-size:10px;color:#007cae;margin-top:20px}@media(max-width:1000px){.reviews-layout{gap:5%}.google-review-panel{padding:28px}.review-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.header .brand-logo-only{max-width:calc(100% - 65px)}.header .brand-logo-only img{width:var(--header-logo-mobile-width,220px);height:70px}.reviews-layout{grid-template-columns:1fr;gap:35px}.reviews-intro h2{font-size:32px}.reviews-intro>p:not(.eyebrow){font-size:12px}.reviews-button{font-size:11px;padding:15px 18px;max-width:100%;gap:10px}.reviews-button>span{margin-left:0}.google-review-panel{padding:28px}.google-panel-label{margin-bottom:24px}.review-cards{grid-template-columns:1fr;gap:16px;margin-top:30px}}
/* WhatsApp follows the viewport but stops above the footer. */
.whatsapp{bottom:calc(23px + var(--wa-footer-lift,0px))}.footer-signature{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--signature-width,230px);max-width:100%;margin-left:auto;border-radius:6px;transition:transform .2s ease,filter .25s ease;transform-origin:center}.footer-signature img{display:block;width:100%;height:auto;max-height:100px;object-fit:contain}.footer-signature:hover,.footer-signature:focus-visible{filter:drop-shadow(0 0 7px #d8ff0060);transform:translateY(-2px)}.footer-signature:active{transform:scale(.965)}footer{position:relative;z-index:1;min-height:108px;gap:26px}@media(max-width:760px){.whatsapp{bottom:calc(17px + env(safe-area-inset-bottom,0px) + var(--wa-footer-lift,0px))}footer{padding-bottom:30px}.footer-signature{width:min(var(--signature-width,230px),100%);align-self:flex-end;margin-top:0}}@media(prefers-reduced-motion:reduce){.footer-signature,.footer-signature:hover,.footer-signature:active{transition:none;transform:none;filter:none}}
/* Compact desktop footer and centered signature on small screens. */
footer{min-height:0;padding-top:12px;padding-bottom:12px;gap:20px}.footer-signature img{vertical-align:middle}@media(max-width:760px){footer{padding:22px 6%;align-items:center;text-align:center;gap:16px}.footer-brand{align-self:center}footer>p{width:100%;text-align:center}.footer-signature{align-self:center;margin:0 auto}}
