@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700;800&family=Poppins:wght@300;400;500;600;700&display=swap');
:root{--blue:#075bdb;--navy:#071426;--cyan:#24c9ed;--gold:#e7b65a;--ink:#15243a;--muted:#68778b;--pale:#f3f7fc;--line:#e4ebf4;--shadow:0 18px 50px rgba(7,36,78,.11);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Poppins, sans-serif;color:var(--ink);margin:0;line-height:1.7}h1,h2,h3,h4,.brand{font-family:Montserrat,sans-serif;font-weight:700;line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(2.65rem,6vw,5.4rem)}h2{font-size:clamp(2rem,4vw,3.45rem)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.topbar{background:#06101f;color:#d8e3f2;font-size:.78rem;padding:.5rem 0}.topbar .container{display:flex;justify-content:space-between;gap:1rem;align-items:center}.topbar-links{display:flex;gap:1.3rem}.topbar a:hover{color:var(--cyan)}.navbar{overflow-anchor:none;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 8px 28px rgba(9,32,65,.08);transition:padding .25s,transform .3s ease;z-index:1000;padding:.8rem 0}.navbar.scrolled{padding:.35rem 0}.navbar.nav-hidden{transform:translateY(-110%)}.navbar-brand img{width:170px;height:148px;object-fit:contain;transition:width .25s,height .25s}.navbar.scrolled .navbar-brand img{width:138px;height:120px}.navbar-nav{gap:.25rem}.nav-link{font-size:.9rem;font-weight:500;padding:.7rem .85rem!important;position:relative}.nav-link:after{content:'';height:2px;background:var(--blue);position:absolute;bottom:5px;left:.85rem;right:.85rem;transform:scaleX(0);transform-origin:left;transition:.25s}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.btn-brand{background:linear-gradient(120deg,#075bdb,#20bde9);color:#fff;border:0;border-radius:999px;padding:.86rem 1.35rem;font-weight:600;box-shadow:0 10px 24px #075bdb33;transition:.25s}.btn-brand:hover{color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px #075bdb44}.btn-outline-light{border-radius:999px;padding:.8rem 1.3rem}.eyebrow{color:var(--blue);font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700}.text-muted-custom{color:var(--muted)}.section{padding:6rem 0}.section-sm{padding:4rem 0}.section-head{max-width:720px;margin-bottom:2.7rem}.section-head p{color:var(--muted);margin:1rem 0 0}.hero{min-height:min(760px,82vh);position:relative;color:#fff;display:flex;align-items:center;overflow:hidden;background:#08172c}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s;background-size:cover;background-position:center}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transform:scale(1);transition:transform 7s ease}.hero-slide.active .hero-video{transform:scale(1.08)}.hero-slide:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,15,29,.87),rgba(5,15,29,.55) 48%,rgba(5,15,29,.22))}.hero-slide.active{opacity:1;visibility:visible}.hero-slide.active{animation:kenburns 7s ease both}.hero-content{position:relative;z-index:2;max-width:850px;padding:6.4rem 0}.hero .eyebrow{color:#8ee7ff}.hero h1{margin:.8rem 0 1rem;max-width:850px}.hero p{color:#dce8f7;max-width:650px;font-size:1.07rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}.hero-label{display:inline-flex;border:1px solid #ffffff48;background:#ffffff14;backdrop-filter:blur(9px);border-radius:100px;padding:.45rem .8rem;font-size:.72rem;letter-spacing:.13em}.carousel-control{position:absolute;z-index:3;top:50%;border:1px solid #ffffff55;background:#08172c66;color:white;width:48px;height:48px;border-radius:50%;font-size:1.3rem}.carousel-control.prev{left:24px}.carousel-control.next{right:24px}.hero-dots{position:absolute;z-index:3;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.hero-dots button{width:9px;height:9px;border:0;border-radius:20px;background:#ffffff80;padding:0}.hero-dots button.active{width:30px;background:#fff}.trust-strip{background:#fff;position:relative;margin-top:-1px;padding:1.3rem 0;border-bottom:1px solid var(--line)}.trust-item{display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.88rem;font-weight:600;padding:.55rem}.trust-item i{color:var(--blue);font-size:1.25rem}.image-frame{position:relative;padding:0 2rem 2rem 0}.image-frame:before{content:'';position:absolute;inset:2rem 0 0 2rem;border:2px solid var(--gold);border-radius:var(--radius);z-index:0}.image-frame img{position:relative;z-index:1;width:100%;height:480px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.check-list{list-style:none;padding:0;margin:1.5rem 0}.check-list li{margin:.7rem 0;display:flex;gap:.7rem;align-items:flex-start}.check-list i{color:var(--blue);margin-top:.22rem}.service-card{height:100%;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;transition:.3s;box-shadow:0 8px 25px #112b4a08}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:#9cc4fa}.service-icon{height:68px;width:68px;border-radius:20px;background:#eaf3ff;color:var(--blue);display:grid;place-items:center;font-size:1.6rem;margin-bottom:1.1rem}.service-card .card-body{padding:1.6rem}.service-card h3{font-size:1.15rem}.service-card p{font-size:.9rem;color:var(--muted)}.link-arrow{color:var(--blue);font-size:.88rem;font-weight:600}.dark-section{background:radial-gradient(ellipse at 78% 0%,#12376a 0,transparent 37%),linear-gradient(135deg,#071426,#0b1c33);color:white;position:relative;overflow:hidden}.dark-section p{color:#bccadc}.dark-section .eyebrow{color:#75dcf6}.feature-box{height:100%;border:1px solid #ffffff20;border-radius:18px;padding:1.5rem;background:#ffffff08}.feature-box i{font-size:1.5rem;color:#5bd4f0}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}.process-step{position:relative;padding:1rem .3rem}.process-step .num{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue),var(--cyan));font-weight:700;margin-bottom:1rem;box-shadow:0 0 0 8px #eaf4ff}.process-step h3{font-size:1rem}.process-step p{font-size:.86rem;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:16px}.gallery-item{position:relative;border-radius:18px;overflow:hidden;background:#dce6f1}.gallery-item:nth-child(5n+1){grid-row:span 2}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover;transition:transform .6s}.gallery-item:hover img,.gallery-item:hover video{transform:scale(1.05)}.gallery-item:after{content:'↗';position:absolute;right:15px;bottom:15px;background:#fff;color:var(--navy);width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.gallery-item.video-item:after{content:'?';right:50%;bottom:50%;transform:translate(50%,50%);width:58px;height:58px;padding-left:4px;color:var(--blue);font-size:1.1rem;box-shadow:0 4px 18px #00142b42}.gallery-item.video-item:hover:after{background:var(--blue);color:#fff}.problem-card{border-radius:var(--radius);padding:2.2rem;background:#f2f7fd;height:100%}.faq .accordion-button{font-weight:600;padding:1.2rem 1.3rem}.faq .accordion-button:not(.collapsed){background:#eff6ff;color:var(--blue);box-shadow:none}.page-hero{padding:5.2rem 0 4.4rem;background:linear-gradient(110deg,#071426dd,#0e2c51c9),url('../images/gallery/terrace-site.jpg') center/cover;color:white}.page-hero h1{font-size:clamp(2.6rem,5vw,4.5rem);margin:.65rem 0}.breadcrumb{font-size:.85rem;color:#d6e4f6}.breadcrumb a{color:#9ce7ff}.service-filter{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2rem}.filter-btn{border:1px solid var(--line);background:#fff;border-radius:30px;padding:.65rem 1rem;font-size:.85rem}.filter-btn.active,.filter-btn:hover{background:var(--blue);color:white;border-color:var(--blue)}.gallery-card{transition:opacity .25s,transform .25s}.gallery-card.hidden,.service-entry.hidden{display:none}.contact-card{height:100%;padding:1.4rem;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 25px #112b4a08}.contact-card i{font-size:1.35rem;color:var(--blue)}.form-control,.form-select{border-color:#dce5f0;padding:.8rem .9rem;border-radius:10px}.form-control:focus,.form-select:focus{border-color:#5c9df6;box-shadow:0 0 0 .2rem #075bdb1a}.map-frame{width:100%;height:420px;border:0;border-radius:20px}.footer{background:#06101f;color:#c5d2e3;padding:4rem 0 1.1rem}.footer h3{font-size:1rem;color:#fff;letter-spacing:0;margin-bottom:1.2rem}.footer a:hover{color:#68d7f1}.footer ul{list-style:none;padding:0}.footer li{margin:.55rem 0;font-size:.88rem}.footer-brand{width:180px;height:165px;object-fit:contain;background:white;border-radius:8px;padding:4px}.copyright{border-top:1px solid #ffffff18;padding-top:1rem;margin-top:2.2rem;font-size:.8rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.float-wa,.to-top{position:fixed;z-index:900;right:22px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 8px 24px #00142b38}.float-wa{bottom:24px;background:#1dbf73;font-size:1.55rem}.to-top{bottom:88px;background:var(--blue);border:0;opacity:0;pointer-events:none;transition:.2s}.to-top.show{opacity:1;pointer-events:auto}.mobile-actions{display:none}@keyframes kenburns{from{background-size:100%}to{background-size:110%}}@media(max-width:991px){.navbar-collapse{padding:1rem 0}.navbar-nav{gap:0}.nav-link{padding:.55rem 0!important}.nav-link:after{left:0;right:auto;width:48px}.navbar .btn-brand{margin-top:.6rem}.process{grid-template-columns:repeat(2,1fr)}.topbar .container{justify-content:center}.topbar .topbar-location{display:none}}
@media(max-width:767px){.topbar-links{gap:.75rem;font-size:.72rem}.topbar-links .email-link{display:none}.navbar-brand img{width:112px;height:102px}.navbar.scrolled .navbar-brand img{width:100px;height:90px}.hero{min-height:690px}.hero-content{padding:5rem 1.1rem 6rem}.hero h1{font-size:clamp(2.5rem,12vw,4rem)}.hero p{font-size:.97rem}.carousel-control{top:auto;bottom:20px;width:40px;height:40px}.carousel-control.prev{left:18px}.carousel-control.next{right:18px}.hero-dots{bottom:34px}.section{padding:4.25rem 0}.section-sm{padding:3rem 0}.image-frame{padding:0 1rem 1rem 0}.image-frame img{height:350px}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px;gap:10px}.gallery-item:nth-child(5n+1){grid-row:span 1}.process{gap:.8rem}.process-step{padding:.7rem 0}.page-hero{padding:4rem 0 3.3rem}.map-frame{height:330px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:850;display:flex;background:#fff;box-shadow:0 -8px 24px #1029471c}.mobile-actions a{flex:1;text-align:center;padding:.75rem;font-size:.85rem;font-weight:600}.mobile-actions a:first-child{background:var(--blue);color:white}.mobile-actions a:last-child{color:#168751}.float-wa{bottom:78px;right:15px}.to-top{bottom:138px;right:15px}.footer{padding-bottom:5rem}.copyright{display:block}.copyright span{display:block;margin:.4rem 0}}
@media(prefers-reduced-motion:reduce){.hero-slide.active .hero-video{transform:none}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.gallery-item.video-item:after{content:'\25B6';font-family:Arial,sans-serif;font-size:1.25rem;line-height:1}
.service-areas{border-top:1px solid #ffffff18;margin-top:1rem;padding:1rem 0 0;color:#9fb0c6;font-size:.76rem;line-height:1.85}.service-areas p{margin:.35rem 0}.service-areas strong{color:#fff}.service-areas h3{font-size:1rem;letter-spacing:0;margin:.75rem 0 .4rem;color:#fff}.service-areas .service-area-label{color:#e7b65a;text-transform:none;white-space:nowrap;display:block;letter-spacing:.08em;font-size:.72rem;line-height:1.2;font-weight:700;margin-top:.65rem}.client-section{overflow:hidden;background:#f6f9fd}.client-section .section-head{margin-bottom:1.75rem}.client-section .section-head p{margin-top:.5rem}.client-marquee{overflow:hidden;position:relative;padding:.2rem 0 .8rem;outline-offset:4px}.client-marquee:before,.client-marquee:after{content:"";position:absolute;z-index:2;top:0;bottom:.8rem;width:clamp(22px,5vw,72px);pointer-events:none}.client-marquee:before{left:0;background:linear-gradient(90deg,#f6f9fd,transparent)}.client-marquee:after{right:0;background:linear-gradient(270deg,#f6f9fd,transparent)}.client-track{display:flex;width:max-content;animation:client-logo-scroll 42s linear infinite}.client-group{display:flex;align-items:center;gap:16px;padding-right:16px}.client-logo{width:176px;height:100px;flex:0 0 176px;display:grid;place-items:center;background:#fff;border:1px solid #e5ebf3;border-radius:14px;padding:10px;overflow:hidden;box-shadow:0 6px 18px rgba(7,36,78,.05)}.client-logo img{width:auto;height:auto;max-width:100%;max-height:64px;object-fit:contain;object-position:center}.client-marquee:hover .client-track,.client-marquee:focus-within .client-track{animation-play-state:paused}@keyframes client-logo-scroll{to{transform:translateX(-50%)}}@media(max-width:767px){.client-track{animation-duration:34s}.client-group{gap:10px;padding-right:10px}.client-logo{width:148px;height:88px;flex-basis:148px;padding:8px}.client-logo img{max-height:60px}}@media(prefers-reduced-motion:reduce){.client-marquee{overflow-x:auto}.client-track{animation:none}.client-group[aria-hidden="true"]{display:none}}.float-wa,.float-call{width:62px;height:62px;font-size:1.65rem}.float-wa{right:22px;bottom:24px}.float-call{position:fixed;z-index:900;right:22px;bottom:98px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--blue);box-shadow:0 8px 24px #00142b38}.float-call:hover{color:#fff;transform:translateY(-2px)}.to-top{bottom:172px}@media(max-width:767px){.float-wa,.float-call{right:15px;width:58px;height:58px}.float-wa{bottom:76px}.float-call{bottom:146px}.to-top{bottom:216px}}.contact-hero{padding:5.5rem 0 5rem;background:linear-gradient(105deg,rgba(4,15,32,.94),rgba(6,34,67,.78)),url("../images/gallery/terrace-site.jpg") center 48%/cover;position:relative;overflow:hidden}.contact-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff22;border-radius:50%;right:8%;top:-185px;box-shadow:0 0 0 36px #ffffff08,0 0 0 72px #ffffff05;pointer-events:none}.contact-hero .container{position:relative;z-index:1}.contact-hero h1{max-width:800px}.contact-hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.7rem}.contact-quick-grid{margin-top:-2.5rem;position:relative;z-index:3}.contact-page .contact-card{border-color:#e7edf5;box-shadow:0 14px 35px rgba(7,36,78,.08);transition:transform .25s,box-shadow .25s}.contact-page .contact-card:hover{transform:translateY(-5px);box-shadow:0 22px 42px rgba(7,36,78,.14)}.contact-page .contact-card>i:first-child{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#e9f2ff,#e2fbff);color:var(--blue);font-size:1.35rem}.contact-page .contact-card h2{margin-top:1rem!important}.contact-inquiry-layout{margin:0;border:1px solid #e5ebf3;border-radius:26px;overflow:hidden;box-shadow:0 22px 60px rgba(7,36,78,.1);background:#fff}.contact-form-panel{padding:clamp(1.4rem,4vw,3.25rem)}.contact-location-panel{padding:clamp(1.4rem,3vw,2.5rem);background:#f3f7fc}.contact-address-card{border:1px solid #e0e8f2!important;box-shadow:none!important}.contact-page .form-label{font-size:.88rem;font-weight:600;color:#24344b}.contact-page .form-control,.contact-page .form-select{min-height:50px;background-color:#fff}.contact-page textarea.form-control{min-height:120px}.contact-page .map-frame{height:385px;box-shadow:0 12px 28px rgba(7,36,78,.1)}@media(max-width:991px){.contact-quick-grid{margin-top:-1rem}.contact-inquiry-layout{margin:0 0}.contact-location-panel{border-top:1px solid #e5ebf3}}@media(max-width:767px){.contact-hero{padding:4rem 0 3.5rem}.contact-quick-grid{margin:1.5rem 0 3rem}.contact-inquiry-layout{border-radius:20px}.contact-page .map-frame{height:320px}}.service-card-image{width:100%;height:205px;object-fit:cover;object-position:center;transition:transform .55s ease}.service-card:hover .service-card-image{transform:scale(1.045)}@media(max-width:767px){.service-card-image{height:190px}}
/* Align readable page copy consistently across the site. */
main p,main li,.footer p,.footer li{text-align:justify;text-align-last:start;text-justify:inter-word;word-spacing:normal;line-height:1.75;-webkit-hyphens:auto;hyphens:auto}


@media(max-width:991px){.navbar-collapse>.btn-brand{display:inline-flex;align-items:center;gap:.5rem;margin:1rem 0 .25rem!important;padding:.8rem 1.2rem}.navbar-collapse .navbar-nav{margin-bottom:.25rem}}


.navbar-toggler[aria-expanded=true] .navbar-toggler-icon{position:relative;background-image:none}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before,.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{content:'';position:absolute;left:0;top:50%;width:1.5em;height:2px;border-radius:2px;background:currentColor}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:before{transform:rotate(45deg)}.navbar-toggler[aria-expanded=true] .navbar-toggler-icon:after{transform:rotate(-45deg)}


/* Keep the homepage hero focused on its video. */
.hero .hero-content,.hero .hero-slide:after{display:none!important}

.hero .carousel-control,.hero .hero-dots{display:none!important}

