:root{--navy:#071a23;--navy2:#0b2630;--ink:#102c32;--muted:#617579;--paper:#fbfcfa;--soft:#f1f6f3;--line:#dce7e1;--green:#20c99a;--mint:#40e1b1;--deep:#0e8065;--gold:#d9b779;--goldlight:#f2dcae;--shadow:0 22px 70px rgba(7,26,35,.11);--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.72 var(--font);-webkit-font-smoothing:antialiased}body.menu-open,body.lightbox-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;top:-60px;left:14px;z-index:9999;padding:10px 16px;background:#fff;color:var(--navy);border-radius:8px}.skip-link:focus{top:12px}
.topbar{background:#04131a;color:#a9bdb9;font-size:11px;letter-spacing:.04em}.topbar-inner{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:26px}.topbar span,.topbar a{display:inline-flex;align-items:center;gap:8px}.topbar i{color:var(--green)}.topbar a:hover{color:#fff}.verify-note{color:#cbd9d4}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(7,26,35,.96);color:#fff;border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(18px);transition:box-shadow .3s,background .3s}.site-header.is-scrolled{box-shadow:0 12px 34px rgba(0,0,0,.16);background:rgba(5,22,29,.98)}.nav-wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}.brand img{width:52px;height:52px}.brand-copy{display:flex;flex-direction:column;line-height:1.2;gap:5px}.brand-copy strong{font:800 14px var(--display);letter-spacing:.13em;color:#fff}.brand-copy small{font-size:9px;letter-spacing:.28em;color:var(--goldlight);font-weight:700}.primary-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,1.5vw,23px)}.nav-link{position:relative;display:inline-flex;align-items:center;gap:8px;color:#d4e1dc;font-size:12px;font-weight:600;padding:33px 0;white-space:nowrap;transition:color .25s}.nav-link:after{content:"";position:absolute;bottom:24px;left:0;width:0;height:2px;border-radius:2px;background:var(--green);transition:width .25s}.nav-link:hover,.nav-link.is-active{color:#fff}.nav-link:hover:after,.nav-link.is-active:after{width:100%}.nav-link i{font-size:9px;color:var(--gold)}.nav-dropdown{position:relative}.dropdown-panel{position:absolute;top:calc(100% - 10px);left:-24px;width:285px;padding:12px;background:#fff;border:1px solid rgba(8,38,46,.08);border-radius:16px;box-shadow:0 25px 60px rgba(0,0,0,.18);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;z-index:10}.nav-dropdown:hover .dropdown-panel,.nav-dropdown:focus-within .dropdown-panel{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-panel>a,.dropdown-pending{display:flex;align-items:center;gap:13px;padding:12px;border-radius:10px;color:var(--ink)}.dropdown-panel>a:hover{background:var(--soft)}.dropdown-panel>a>i,.dropdown-pending>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e7f7f0;color:var(--deep)}.dropdown-panel b,.dropdown-pending b{display:block;font-size:12px}.dropdown-panel small,.dropdown-pending small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.dropdown-pending{opacity:.8}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:0 23px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s,color .25s;white-space:nowrap}.button i{transition:transform .25s}.button:hover{transform:translateY(-3px)}.button:hover i{transform:translateX(4px)}.button-primary{color:#06261f;background:linear-gradient(115deg,#62e7bb,#20c99a 60%,#12ad82);box-shadow:0 10px 25px rgba(32,201,154,.18),inset 0 1px 0 rgba(255,255,255,.55)}.button-primary:hover{box-shadow:0 15px 32px rgba(32,201,154,.28)}.button-small{min-height:43px;padding:0 17px;font-size:11px}.nav-cta{background:linear-gradient(120deg,var(--goldlight),var(--gold));color:#142d2b;box-shadow:0 8px 23px rgba(217,183,121,.13)}.button-ghost{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.04)}.button-ghost:hover{background:rgba(255,255,255,.12)}.button-light{background:#fff;color:var(--navy);box-shadow:0 10px 30px rgba(0,0,0,.13)}.button-dark{background:var(--navy);color:#fff}.menu-toggle{display:none;background:none;border:0;color:#fff;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;margin:5px;background:currentColor;transition:.25s}.flash-wrap{padding-top:14px}.flash{padding:13px 17px;border-radius:12px;font-size:13px}.flash-success{background:#e6f8ef;color:#126344}.flash-error{background:#fff0ed;color:#9b3428}
/* Homepage hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:#fff}.hero-home{min-height:690px;display:flex;align-items:center}.hero-image{position:absolute;inset:0;z-index:0;background-image:url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?auto=format&fit=crop&w=2200&q=88');background-size:cover;background-position:center 48%;opacity:.7;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(3,17,23,.96),rgba(5,26,33,.88) 42%,rgba(5,24,31,.35)),linear-gradient(0deg,rgba(3,16,22,.62),transparent 44%)}.hero-orb{position:absolute;z-index:1;pointer-events:none;border-radius:50%;border:1px solid rgba(89,225,182,.25)}.orb-one{width:500px;height:500px;right:-100px;top:-170px;box-shadow:inset 0 0 80px rgba(32,201,154,.07),0 0 80px rgba(32,201,154,.07);animation:float 12s ease-in-out infinite}.orb-two{width:250px;height:250px;right:25%;bottom:-180px;border-color:rgba(217,183,121,.22);animation:float 10s ease-in-out infinite reverse}.hero-content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.7fr);align-items:center;gap:70px;padding:108px 0 114px}.hero-copy{max-width:680px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--deep);font-size:10px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;line-height:1.4}.eyebrow>span{width:27px;height:1px;background:var(--gold);display:inline-block}.eyebrow-light{color:#a8d8c9}.hero h1,.page-hero h1{font:700 clamp(48px,6.1vw,82px)/1.05 var(--display);letter-spacing:-.06em;margin:25px 0 22px;max-width:770px}.hero h1 em,.page-hero h1 em,.section h2 em,.final-cta h2 em,.clarity-banner h2 em{font-style:normal;color:var(--mint)}.hero-lead{max-width:600px;color:#c0d0cc;font-size:16px;line-height:1.85;margin:0 0 30px}.hero-actions{display:flex;flex-wrap:wrap;gap:13px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:47px;color:#fff}.note-icon{width:39px;height:39px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:var(--gold)}.hero-note strong,.hero-note small{display:block}.hero-note strong{font-size:12px}.hero-note small{font-size:10px;color:#a9bfba;margin-top:2px;letter-spacing:.06em}.hero-side{position:relative;justify-self:end;width:min(100%,340px);min-height:390px;display:flex;align-items:center}.hero-glass-card{width:100%;padding:26px 28px 25px;border-radius:24px;border:1px solid rgba(255,255,255,.28);background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.045));box-shadow:0 25px 70px rgba(0,0,0,.21);backdrop-filter:blur(18px);transform:rotate(2deg)}.glass-card-top{display:flex;align-items:center;gap:11px;font-size:9px;letter-spacing:.16em;color:#d4e5df;font-weight:700}.sparkle{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(63,224,177,.18);color:var(--mint);font-size:16px}.glass-card-big{font:800 90px/1 var(--display);margin:35px 0 12px;letter-spacing:-.08em}.glass-card-big span{font-size:25px;color:var(--gold);letter-spacing:0}.hero-glass-card p{font-size:13px;color:#d1ded9;line-height:1.8}.glass-card-line{height:1px;background:rgba(255,255,255,.19);margin:24px 0 16px}.glass-card-line span{display:block;width:54%;height:1px;background:var(--green)}.hero-glass-card>small{font-size:8px;letter-spacing:.2em;color:var(--goldlight)}.hero-stamp{position:absolute;width:125px;height:125px;right:-42px;bottom:16px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--navy);box-shadow:0 16px 38px rgba(0,0,0,.2);transform:rotate(12deg)}.stamp-ring{font-size:8px;line-height:1.5;font-weight:900;letter-spacing:.12em;text-align:center}.hero-stamp>i{position:absolute;top:13px;right:19px;font-size:15px;color:#fff}.hero-bottom{position:absolute;z-index:2;bottom:22px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;color:#91aaa4;font-size:9px;letter-spacing:.18em}.hero-bottom i{color:var(--green);margin-left:8px}.intro-strip{background:#f0f6f2;border-bottom:1px solid #e1ebe5}.intro-strip-inner{display:flex;align-items:center;justify-content:center;gap:50px;min-height:82px;text-align:center}.intro-strip p{font-size:13px;color:#71817d;margin:0}.intro-strip strong{color:var(--ink)}.strip-sparkle{width:34px;height:34px;display:grid;place-items:center;color:#bd9658;border:1px solid #e3d1ac;border-radius:50%}
/* Main sections */
.section{position:relative;padding:112px 0}.section h2{font:700 clamp(36px,4.2vw,54px)/1.13 var(--display);letter-spacing:-.055em;margin:19px 0 20px}.section h2 em{color:var(--deep)}.section p{color:var(--muted)}.section-dark{background:var(--navy);color:#fff;overflow:hidden}.section-dark h2{color:#fff}.section-dark p{color:#aebfba}.section-dark .eyebrow{color:#a9d5c8}.section-soft{background:#f1f6f3}.section-heading{margin-bottom:54px}.section-heading p{max-width:520px;margin:0;line-height:1.8;font-size:14px}.heading-split{display:flex;align-items:flex-end;justify-content:space-between;gap:55px}.heading-split>div{max-width:650px}.heading-split h2{margin-bottom:0}.heading-split>p{max-width:390px;margin-bottom:4px}.centered{text-align:center;max-width:720px;margin-inline:auto}.centered .eyebrow{justify-content:center}.centered>p{max-width:600px;margin:0 auto}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--deep);font-size:12px;font-weight:800;transition:gap .25s}.text-link i{font-size:11px}.text-link:hover{gap:16px}
.section-about{padding:128px 0 130px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-visual{position:relative;min-height:490px}.about-photo{position:absolute;overflow:hidden;border-radius:24px;box-shadow:var(--shadow)}.about-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.about-photo:hover img{transform:scale(1.04)}.photo-large{width:75%;height:425px;left:0;top:0}.photo-small{width:51%;height:250px;right:0;bottom:0;border:9px solid var(--paper)}.about-caption{position:absolute;left:-20px;bottom:67px;display:flex;align-items:center;gap:12px;padding:17px 20px;border-radius:14px;background:var(--navy);color:#fff;box-shadow:0 15px 35px rgba(5,25,30,.2);font:700 12px/1.45 var(--display)}.about-caption i{font-size:22px;color:var(--green)}.about-copy{max-width:530px}.about-copy h2{margin-bottom:20px}.about-copy p{font-size:14px;line-height:1.9}.about-copy .lead-copy{font:600 19px/1.55 var(--display);color:var(--ink)}.about-copy .text-link{margin-top:15px}
.section-services{background:radial-gradient(circle at 90% 12%,rgba(36,200,151,.11),transparent 28%),linear-gradient(135deg,#061820,#0a2930 72%,#0c332e)}.section-services:before{content:"";position:absolute;width:520px;height:520px;left:-360px;bottom:-300px;border:1px solid rgba(80,215,174,.12);border-radius:50%;box-shadow:0 0 0 45px rgba(80,215,174,.025),0 0 0 90px rgba(80,215,174,.02)}.section-services h2 em{color:var(--mint)}.needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}.need-card{position:relative;min-height:330px;padding:34px 32px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:21px;overflow:hidden;transition:transform .35s,border-color .35s,background .35s}.need-card:hover{transform:translateY(-8px);border-color:rgba(63,225,177,.55);background:rgba(255,255,255,.08)}.need-card:after{content:"";position:absolute;width:170px;height:170px;right:-90px;bottom:-95px;border-radius:50%;border:1px solid rgba(61,218,172,.22);box-shadow:0 0 0 17px rgba(61,218,172,.035)}.need-featured{background:linear-gradient(145deg,rgba(42,198,151,.2),rgba(255,255,255,.055));border-color:rgba(63,225,177,.28)}.need-number{position:absolute;right:30px;top:25px;color:rgba(255,255,255,.34);font:12px var(--display);letter-spacing:.15em}.need-icon{width:61px;height:61px;border-radius:18px;display:grid;place-items:center;background:rgba(57,219,171,.12);color:var(--mint);font-size:22px;margin-bottom:42px}.need-card h3{font:22px var(--display);margin:0 0 12px}.need-card p{font-size:13px;line-height:1.8;max-width:260px;color:#abc0ba;margin:0}.circle-link{position:absolute;bottom:27px;right:28px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.23);border-radius:50%;color:#fff;font-size:12px;transition:.25s}.circle-link:hover{background:var(--green);color:var(--navy);border-color:var(--green);transform:rotate(45deg)}.service-note{display:flex;align-items:center;gap:13px;margin-top:24px;padding:14px 17px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(0,0,0,.12);font-size:11px;color:#afc0bb}.service-note>i{color:var(--gold)}.service-note a{margin-left:auto;color:var(--mint);font-weight:700;white-space:nowrap}.service-note a i{margin-left:7px}
.process-section{background:#f7faf7}.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:60px}.process-line{position:absolute;left:12%;right:12%;top:36px;border-top:1px dashed #b7c8bf}.process-step{position:relative;z-index:1}.process-icon{position:relative;width:73px;height:73px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e1ebe5;box-shadow:0 8px 25px rgba(6,35,29,.06);color:var(--deep);font-size:21px;margin-bottom:24px}.process-icon span{position:absolute;right:-5px;top:-5px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:8px;font-weight:800;border:2px solid #f7faf7}.process-step h3{font:17px var(--display);margin:0 0 8px}.process-step p{font-size:12px;line-height:1.8;margin:0;max-width:230px}
.image-break{min-height:490px;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}.image-break-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,27,.95),rgba(5,25,31,.68)),url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?auto=format&fit=crop&w=2000&q=82') center/cover;transform:scale(1.02)}.image-break-content{position:relative;z-index:1}.image-break h2{max-width:720px;font-size:clamp(42px,5vw,62px);margin:22px 0 32px}.image-break .button{margin-top:5px}.section-values{background:#fff}.values-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px;align-items:start}.values-copy,.faq-intro{position:sticky;top:145px}.values-copy p,.faq-intro p{font-size:14px;line-height:1.9}.values-copy .text-link,.faq-intro .text-link{margin-top:18px}.values-list{border-top:1px solid var(--line)}.value-row{display:grid;grid-template-columns:54px 1fr 34px;gap:19px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.value-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#e9f8f1;color:var(--deep);font-size:17px}.value-row h3{font:16px var(--display);margin:0 0 3px}.value-row p{font-size:12px;margin:0;line-height:1.7}.value-index{font-size:10px;color:#a5b8af;font-weight:800;letter-spacing:.12em}
.gallery-preview{background:#f4f7f4}.gallery-mosaic{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:265px;gap:18px}.mosaic-item{position:relative;overflow:hidden;border-radius:20px;background:#dce7df}.mosaic-item:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(0deg,rgba(4,20,27,.72),transparent)}.mosaic-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.mosaic-item:hover img{transform:scale(1.06)}.mosaic-item span{position:absolute;z-index:1;left:23px;bottom:20px;color:#fff;font:700 15px var(--display)}.center-action{text-align:center;margin-top:32px}.center-action .text-link{justify-content:center}
.feedback-section{background:#fff;padding:100px 0}.feedback-grid{display:grid;grid-template-columns:1fr .8fr;gap:100px;align-items:center}.feedback-copy{max-width:500px}.feedback-copy p{font-size:14px;line-height:1.9}.feedback-placeholder{position:relative;padding:35px 40px;border-radius:22px;background:#f4f8f5;border:1px solid #e3ede6}.quote-mark{font:80px/.7 Georgia,serif;color:#c9a66e}.feedback-stars{display:flex;gap:7px;color:#c8a56b;font-size:13px;margin:25px 0 14px}.feedback-placeholder h3{font:21px var(--display);margin:0 0 8px}.feedback-placeholder p{font-size:12px;line-height:1.8}.placeholder-label{display:inline-block;margin-top:14px;padding:7px 10px;border-radius:7px;background:#e4eee8;color:#668078;font-size:8px;letter-spacing:.16em;font-weight:800}.faq-home{background:#f2f7f3}.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:start}.accordion{border-top:1px solid #d8e4dc}.accordion-item{border-bottom:1px solid #d8e4dc}.accordion-item summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:22px 0;font:700 15px var(--display)}.accordion-item summary::-webkit-details-marker{display:none}.accordion-item summary i{width:28px;height:28px;display:grid;place-items:center;border:1px solid #cddbd3;border-radius:50%;font-size:10px;color:var(--deep);flex:0 0 auto;transition:.25s}.accordion-item[open] summary i{background:var(--deep);color:#fff;transform:rotate(45deg);border-color:var(--deep)}.accordion-answer{padding:0 42px 20px 0}.accordion-answer p{font-size:13px;line-height:1.85;margin:0}
.final-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,#0b473c,#0b2e33 62%,#071b25);color:#fff;padding:83px 0}.final-cta-inner{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:60px}.final-cta h2{font:clamp(34px,4vw,49px)/1.15 var(--display);letter-spacing:-.05em;margin:18px 0 10px;max-width:740px}.final-cta p{color:#b9cec6;font-size:13px;margin:0}.final-cta .button{flex:0 0 auto}.cta-decoration{position:absolute;border:1px solid rgba(89,228,179,.14);border-radius:50%;pointer-events:none}.cta-decoration-one{width:420px;height:420px;right:-130px;top:-220px;box-shadow:0 0 0 45px rgba(89,228,179,.025),0 0 0 90px rgba(89,228,179,.018)}.cta-decoration-two{width:170px;height:170px;left:40%;bottom:-145px;border-color:rgba(217,183,121,.18)}
.site-footer{position:relative;overflow:hidden;background:#04151d;color:#fff;padding:78px 0 0}.footer-glow{position:absolute;width:520px;height:520px;right:-280px;top:-330px;border-radius:50%;background:radial-gradient(circle,rgba(37,195,146,.16),transparent 68%);pointer-events:none}.footer-main{position:relative;display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr;gap:55px;padding-bottom:65px}.footer-brand img{width:57px;height:57px}.footer-brand-col{max-width:330px}.footer-tagline{font:700 14px var(--display);color:var(--goldlight)!important;margin:24px 0 8px!important}.footer-intro{font-size:12px;color:#8ea6a0;line-height:1.9;margin:0 0 17px}.footer-brand-col .text-link{color:var(--mint)}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-col h3{font:14px var(--display);margin:7px 0 13px;color:#fff}.footer-col>a,.footer-col>p{font-size:11px;color:#a3b7b1;margin:0;line-height:1.85;transition:color .2s}.footer-col>a:hover{color:var(--mint)}.footer-contact p,.footer-contact>a{display:flex;align-items:flex-start;gap:10px}.footer-contact i{color:var(--green);margin-top:4px;flex:0 0 auto}.footer-contact .small-muted{color:#748b85;font-size:10px}.footer-bottom{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:65px;border-top:1px solid rgba(255,255,255,.1);font-size:10px;color:#748d85}.social-row{display:flex;gap:8px;margin-top:9px}.social-row a{width:32px;height:32px;border:1px solid rgba(255,255,255,.17);border-radius:50%;display:grid;place-items:center;color:var(--green)}.floating-whatsapp,.floating-call{position:fixed;z-index:800;right:22px;bottom:24px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;background:#16b978;font-size:23px;box-shadow:0 10px 30px rgba(0,0,0,.2);transition:transform .25s}.floating-call{right:88px;background:var(--navy2);font-size:18px}.floating-whatsapp:hover,.floating-call:hover{transform:translateY(-4px) scale(1.04)}.back-to-top{position:fixed;z-index:800;right:25px;bottom:95px;width:42px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:var(--navy);color:#fff;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s}.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
/* Inner page layouts */
.page-hero{position:relative;isolation:isolate;min-height:410px;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}.page-hero-compact{min-height:350px}.page-hero-image{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.55}.page-hero-overlay{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(4,18,25,.94),rgba(5,27,32,.66) 65%,rgba(4,18,25,.3))}.page-hero-content{position:relative;z-index:1;padding:72px 0 65px}.page-hero h1{font-size:clamp(45px,5.4vw,68px);max-width:850px;margin:18px 0 13px}.page-hero-content>p{max-width:650px;color:#c0d2cb;font-size:15px;margin:0}.breadcrumbs{display:flex;align-items:center;gap:10px;margin-top:27px;color:#a8bcb5;font-size:10px}.breadcrumbs a{color:#e1ece6}.breadcrumbs i{font-size:8px;color:var(--gold)}.about-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-page-image{position:relative}.about-page-image img{width:100%;height:510px;object-fit:cover;border-radius:24px}.image-sticker{position:absolute;right:-20px;bottom:35px;padding:16px 22px;background:var(--navy);color:#fff;border-radius:12px;font-size:12px;font-weight:700;box-shadow:var(--shadow)}.image-sticker i{color:var(--green);margin-right:8px}.about-page-copy p{font-size:14px;line-height:1.9}.about-page-copy .lead-copy{font:600 19px/1.5 var(--display);color:var(--ink)}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.principle-card{position:relative;padding:30px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:rgba(255,255,255,.045)}.principle-card>span{position:absolute;right:25px;top:23px;color:#6b8780;font-size:10px;letter-spacing:.15em}.principle-card>i{width:53px;height:53px;display:grid;place-items:center;border-radius:16px;background:rgba(45,210,159,.12);color:var(--mint);font-size:19px;margin-bottom:29px}.principle-card h3{font:18px var(--display);margin:0 0 8px}.principle-card p{font-size:12px;line-height:1.8;margin:0}.address-band{display:flex;align-items:center;gap:25px;padding:34px 40px;border:1px solid var(--line);border-radius:22px;background:#f6faf7}.address-band-icon{width:62px;height:62px;display:grid;place-items:center;background:#dff5eb;border-radius:18px;color:var(--deep);font-size:22px;flex:0 0 auto}.address-band>div:nth-child(2){flex:1}.address-band h2{font-size:29px;margin:8px 0}.address-band p{font-size:12px;margin:0}.address-band .button{margin-left:auto}
.catalogue-pending{display:grid;grid-template-columns:100px 1fr;gap:30px;align-items:start;max-width:850px;margin:15px auto 0;padding:40px;border:1px solid var(--line);border-radius:24px;background:#f8fbf8}.catalogue-symbol{width:82px;height:82px;border-radius:23px;display:grid;place-items:center;background:var(--navy);color:var(--mint);font-size:29px}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:30px;background:#e3f4ea;color:#398062;font-size:9px;letter-spacing:.1em;font-weight:800;text-transform:uppercase}.catalogue-pending h3{font:25px var(--display);margin:16px 0 8px}.catalogue-pending p{font-size:13px;line-height:1.85;margin:0 0 22px}.approved-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.approved-service-card{overflow:hidden;border-radius:20px;border:1px solid var(--line);background:#fff}.approved-service-card img{height:220px;width:100%;object-fit:cover}.approved-service-card>div{padding:23px}.approved-service-card h3{font:20px var(--display);margin:10px 0}.approved-service-card p{font-size:12px}.quote-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.quote-detail-grid>div{padding:25px;background:#fff;border:1px solid #e2ebe5;border-radius:17px}.quote-detail-grid i{font-size:21px;color:var(--deep);margin-bottom:20px}.quote-detail-grid h3{font:15px var(--display);margin:0 0 5px}.quote-detail-grid p{font-size:11px;line-height:1.7;margin:0}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.why-card{padding:28px;border:1px solid var(--line);border-radius:19px;background:#fff;transition:transform .25s,box-shadow .25s}.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.why-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.why-card-top i{width:49px;height:49px;display:grid;place-items:center;border-radius:15px;background:#e8f8ef;color:var(--deep);font-size:18px}.why-card-top span{color:#9aafa6;font-size:10px;letter-spacing:.15em}.why-card h3{font:18px var(--display);margin:0 0 8px}.why-card p{font-size:12px;line-height:1.8;margin:0}.clarity-banner{display:flex;align-items:center;justify-content:space-between;gap:50px}.clarity-banner h2{font:42px var(--display);letter-spacing:-.05em;margin:15px 0 8px}.clarity-banner p{font-size:13px;margin:0}.qna-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:95px;align-items:start}.qna-aside{position:sticky;top:150px;padding:30px;border-radius:20px;background:#f1f7f3;overflow:hidden}.qna-aside h2{font-size:35px}.qna-aside p{font-size:13px;line-height:1.8}.qna-aside-mark{font-size:95px;text-align:right;color:#dceee3;line-height:.9;margin-top:25px}.qna-accordion .accordion-item summary{font-size:14px}.qna-accordion .accordion-answer p{max-width:700px}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;align-items:start}.contact-info h2{font-size:40px}.contact-info>p{font-size:13px;line-height:1.85}.contact-detail{display:flex;align-items:flex-start;gap:16px;padding:19px 0;border-bottom:1px solid var(--line)}.contact-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e4f6ed;color:var(--deep);flex:0 0 auto}.contact-detail small{display:block;font-size:8px;color:#8ca09a;letter-spacing:.16em;font-weight:800;margin:1px 0 5px}.contact-detail strong{display:block;font-size:12px;line-height:1.7}.contact-detail a{color:var(--deep)}.contact-detail div>a{display:inline-block;margin-top:5px;font-size:10px;font-weight:700}.contact-pending{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid var(--line);color:#8c7954}.contact-pending>i{margin-top:4px}.contact-pending strong{font-size:12px;color:var(--ink)}.contact-pending p{font-size:11px;margin:3px 0 0}.contact-map{height:245px;margin-top:25px;overflow:hidden;border-radius:16px;border:1px solid var(--line)}.contact-map iframe{width:100%;height:100%;border:0}.contact-form-wrap{padding:37px;border-radius:24px;background:#f3f8f4;border:1px solid #e3ede6}.form-heading h2{font-size:37px;margin-bottom:6px}.form-heading p{font-size:12px;margin:0 0 25px}.form-status-notice{display:flex;gap:13px;padding:14px 15px;margin-bottom:20px;border-radius:12px;background:#fff3dc;color:#85602c}.form-status-notice>i{margin-top:3px}.form-status-notice strong{font-size:12px}.form-status-notice p{font-size:10px;line-height:1.75;margin:4px 0 0;color:#866c48}.form-status-notice code{font-size:10px}.contact-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:800;color:#435d57;letter-spacing:.02em}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;padding:13px 14px;border:1px solid #d8e4dc;border-radius:10px;background:#fff;outline:0;color:var(--ink);font-size:12px;transition:border .2s,box-shadow .2s}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--deep);box-shadow:0 0 0 3px rgba(32,201,154,.1)}.contact-form input:disabled,.contact-form select:disabled,.contact-form textarea:disabled{background:#edf1ee;color:#86958e;cursor:not-allowed}.contact-form textarea{resize:vertical;min-height:115px}.consent-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:9px!important;font-weight:500!important;letter-spacing:0!important;color:#687e75!important;line-height:1.6}.consent-check input{margin-top:4px;accent-color:var(--deep)}.consent-check span{font-size:10px}.form-submit{align-self:flex-start;border:0}.form-submit:disabled{opacity:.48;cursor:not-allowed;transform:none}.form-privacy{font-size:9px;color:#80948c}.form-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;transition:transform .3s,box-shadow .3s}.blog-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.blog-image{position:relative;display:block;height:220px;overflow:hidden}.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.blog-card:hover .blog-image img{transform:scale(1.06)}.blog-image-arrow{position:absolute;right:16px;bottom:15px;width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--navy);font-size:11px}.blog-card-content{padding:23px}.blog-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#8b9d95;font-size:9px}.blog-meta span{padding:5px 9px;border-radius:6px;background:#eaf6ee;color:#3c8c70;font-weight:800}.blog-card h3{font:19px/1.35 var(--display);letter-spacing:-.025em;margin:16px 0 9px}.blog-card h3 a:hover{color:var(--deep)}.blog-card p{font-size:12px;line-height:1.8;margin:0 0 22px}.blog-card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e8efea;padding-top:15px;color:#90a19a;font-size:9px}.blog-card-bottom a{color:var(--deep);font-weight:800;font-size:10px}.blog-card-bottom i{margin-left:6px}.article-hero{position:relative;min-height:480px;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);color:#fff}.article-hero-image{position:absolute;inset:0}.article-hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,19,25,.92),rgba(4,19,25,.45)),linear-gradient(0deg,rgba(4,19,25,.6),transparent)}.article-hero-image img{width:100%;height:100%;object-fit:cover}.article-hero-copy{position:relative;z-index:1;padding:65px 0 60px}.article-hero h1{font:clamp(40px,5.1vw,64px)/1.1 var(--display);letter-spacing:-.055em;max-width:850px;margin:18px 0}.article-category{display:inline-block;padding:6px 10px;border-radius:7px;background:rgba(57,216,169,.16);color:var(--mint);font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.article-meta{display:flex;gap:12px;color:#c1d0ca;font-size:10px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:80px;justify-content:center;align-items:start}.article-body p{font-size:14px;line-height:2;margin:0 0 23px}.article-body .article-deck{font:600 20px/1.6 var(--display);color:var(--ink)}.article-callout{display:flex;gap:15px;padding:18px 20px;margin:32px 0;background:#eff7f2;border-left:3px solid var(--green);border-radius:0 12px 12px 0}.article-callout i{color:var(--deep);margin-top:5px}.article-callout p{font-size:12px;margin:0;line-height:1.8}.article-aside{position:sticky;top:145px;padding:26px;border-radius:18px;background:#f1f7f3;border:1px solid #e0ebe4}.article-aside h3{font:21px/1.3 var(--display);margin:14px 0 8px}.article-aside p{font-size:12px;line-height:1.8}.article-aside .button{width:100%;margin-top:8px;padding-inline:13px;font-size:11px}.legal-content{max-width:850px}.legal-updated{font-size:11px;color:#879b92}.legal-content h2{font:21px var(--display);letter-spacing:-.025em;margin:34px 0 9px}.legal-content p{font-size:13px;line-height:1.9}.not-found{min-height:55vh;display:flex;align-items:center}.not-found h1{font:clamp(40px,5vw,65px) var(--display);letter-spacing:-.05em;max-width:800px}.not-found h1 em{font-style:normal;color:var(--deep)}.not-found p{max-width:600px;margin-bottom:28px}
.gallery-disclaimer{display:flex;align-items:flex-start;gap:13px;padding:15px 18px;background:#edf6f0;border-radius:12px;margin-bottom:28px}.gallery-disclaimer i{color:var(--deep);margin-top:4px}.gallery-disclaimer p{font-size:11px;margin:0;line-height:1.8}.full-gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:18px}.gallery-tile{position:relative;padding:0;border:0;border-radius:18px;overflow:hidden;text-align:left;background:#dce7df}.gallery-tile:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(3,20,26,.85),transparent)}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.gallery-tile:hover img{transform:scale(1.07)}.gallery-tile-copy{position:absolute;z-index:1;left:22px;right:22px;bottom:19px;color:#fff;display:grid;grid-template-columns:1fr 25px;gap:1px 10px}.gallery-tile-copy small{grid-column:1;color:#c5dbd1;font-size:9px}.gallery-tile-copy strong{grid-column:1;font:16px var(--display)}.gallery-tile-copy i{grid-column:2;grid-row:1/3;align-self:center;color:var(--mint)}.tile-wide{grid-column:span 2}.lightbox{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:50px;background:rgba(2,12,16,.94);opacity:0;visibility:hidden;transition:.25s}.lightbox.is-open{opacity:1;visibility:visible}.lightbox img{max-width:min(1100px,90vw);max-height:78vh;object-fit:contain;border-radius:12px}.lightbox p{color:#d8e5df;font-size:12px;margin:0}.lightbox-close{position:absolute;top:25px;right:30px;width:45px;height:45px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:transparent;color:#fff;font-size:18px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.reveal.is-revealed{opacity:1;transform:translateY(0)}.reveal-delay{transition-delay:.12s}.reveal-delay-2{transition-delay:.22s}.reveal-delay-3{transition-delay:.32s}@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,18px,0)}}
@media(max-width:1180px){.primary-nav{gap:13px}.nav-link{font-size:11px}.nav-cta{padding-inline:13px}.hero-content{gap:35px}.footer-main{gap:32px}.about-grid,.values-grid,.feedback-grid,.faq-grid{gap:60px}.contact-grid{gap:45px}}
@media(max-width:1040px){.menu-toggle{display:block;z-index:12}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.primary-nav{position:fixed;top:127px;left:0;right:0;bottom:0;overflow:auto;display:flex;align-items:stretch;flex-direction:column;justify-content:flex-start;gap:0;padding:24px 32px 45px;background:rgba(5,22,29,.99);transform:translateX(102%);transition:transform .32s}.primary-nav.is-open{transform:translateX(0)}.nav-link{padding:14px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.08)}.nav-link:after{display:none}.nav-dropdown{width:100%}.dropdown-trigger{width:100%;justify-content:space-between}.dropdown-panel{position:static;width:100%;margin:0 0 12px;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border-radius:12px;background:#102c35}.nav-dropdown:focus-within .dropdown-panel,.nav-dropdown:hover .dropdown-panel{display:block}.dropdown-panel>a,.dropdown-pending{color:#fff}.dropdown-panel small,.dropdown-pending small{color:#9eb4ac}.nav-cta{align-self:flex-start;margin-top:18px}.hero-content{grid-template-columns:1fr .65fr}.hero h1{font-size:clamp(48px,7vw,68px)}.hero-side{width:280px}.hero-stamp{right:-25px}.footer-main{grid-template-columns:1.4fr 1fr 1fr;row-gap:40px}.footer-contact{grid-column:2/4}.contact-grid{grid-template-columns:1fr 1.05fr}.about-grid,.values-grid,.feedback-grid,.faq-grid{gap:45px}.qna-layout{gap:50px}.article-layout{gap:45px}}
@media(max-width:760px){.container{width:min(100% - 40px,600px)}.topbar-inner{min-height:35px}.topbar-left{gap:12px}.topbar-left span:nth-child(2),.topbar-right{display:none}.topbar{font-size:10px}.nav-wrap{min-height:76px}.brand img{width:45px;height:45px}.brand-copy strong{font-size:12px}.brand-copy small{font-size:8px}.primary-nav{top:111px;padding-inline:22px}.hero-home{min-height:0}.hero-content{display:block;padding:82px 0 100px}.hero-shade{background:linear-gradient(90deg,rgba(3,17,23,.95),rgba(5,26,33,.78)),linear-gradient(0deg,rgba(3,16,22,.75),transparent 70%)}.hero-image{background-position:58% center}.hero h1{font-size:clamp(47px,12vw,65px);max-width:540px}.hero-lead{font-size:14px;max-width:540px}.hero-actions{align-items:flex-start}.hero-actions .button{min-height:49px;padding-inline:17px;font-size:10px}.hero-side{display:none}.hero-note{margin-top:34px}.hero-bottom{font-size:7px;bottom:18px}.intro-strip-inner{min-height:72px;gap:16px}.intro-strip p{font-size:10px}.strip-sparkle{width:27px;height:27px;flex:0 0 auto}.section{padding:78px 0}.section-about{padding:80px 0}.section h2{font-size:clamp(34px,9vw,45px)}.heading-split{display:block}.heading-split>p{margin-top:20px;font-size:13px}.section-heading{margin-bottom:36px}.about-grid{grid-template-columns:1fr;gap:45px}.about-visual{min-height:390px;max-width:540px;width:100%;margin:auto}.photo-large{height:340px;width:78%}.photo-small{height:185px;width:53%;border-width:7px}.about-caption{left:-5px;bottom:43px;padding:13px 16px;font-size:10px}.about-copy{max-width:none}.about-copy .lead-copy{font-size:17px}.about-copy p{font-size:13px}.needs-grid{grid-template-columns:1fr;gap:13px}.need-card{min-height:255px;padding:25px}.need-icon{margin-bottom:26px}.need-card h3{font-size:20px}.need-card p{max-width:420px}.service-note{align-items:flex-start;flex-wrap:wrap;font-size:10px}.service-note a{margin-left:27px}.process-grid{grid-template-columns:1fr 1fr;gap:34px 22px;margin-top:42px}.process-line{display:none}.process-icon{width:64px;height:64px;margin-bottom:16px}.process-step h3{font-size:15px}.process-step p{font-size:11px}.image-break{min-height:440px}.image-break h2{font-size:clamp(38px,10vw,49px)}.values-grid,.feedback-grid,.faq-grid{grid-template-columns:1fr;gap:38px}.values-copy,.faq-intro{position:static}.value-row{grid-template-columns:44px 1fr 25px;gap:12px;padding:19px 0}.value-icon{width:42px;height:42px}.value-row h3{font-size:14px}.value-row p{font-size:10px}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:200px 160px;gap:12px}.mosaic-tall{grid-row:span 2}.mosaic-item span{left:15px;bottom:14px;font-size:12px}.feedback-placeholder{padding:28px}.accordion-item summary{font-size:13px;padding:18px 0}.accordion-answer{padding-right:25px}.accordion-answer p{font-size:11px}.final-cta{padding:68px 0}.final-cta-inner{display:block}.final-cta .button{margin-top:25px}.final-cta h2{font-size:37px}.site-footer{padding-top:60px}.footer-main{grid-template-columns:1fr 1fr;gap:34px 22px;padding-bottom:44px}.footer-brand-col,.footer-contact{grid-column:1/3}.footer-brand-col{max-width:420px}.footer-col h3{margin-bottom:6px}.footer-bottom{align-items:flex-start;flex-direction:column;justify-content:center;gap:5px;padding:15px 0;font-size:9px}.floating-whatsapp,.floating-call{width:47px;height:47px;right:15px;bottom:15px;font-size:20px}.floating-call{right:72px;font-size:16px}.back-to-top{right:18px;bottom:73px;width:37px;height:37px}.page-hero{min-height:355px}.page-hero-compact{min-height:310px}.page-hero-content{padding:58px 0}.page-hero h1{font-size:clamp(39px,10vw,54px)}.page-hero-content>p{font-size:12px}.about-page-grid{grid-template-columns:1fr;gap:42px}.about-page-image img{height:370px}.image-sticker{right:-5px;bottom:22px}.principle-grid{grid-template-columns:1fr;gap:12px}.principle-card{padding:24px}.principle-card>i{margin-bottom:19px}.address-band{align-items:flex-start;flex-wrap:wrap;padding:25px}.address-band>div:nth-child(2){min-width:calc(100% - 90px)}.address-band .button{margin-left:87px}.catalogue-pending{grid-template-columns:1fr;gap:20px;padding:25px}.catalogue-symbol{width:62px;height:62px;font-size:23px}.catalogue-pending h3{font-size:22px}.quote-detail-grid{grid-template-columns:1fr 1fr;gap:11px}.quote-detail-grid>div{padding:18px}.quote-detail-grid h3{font-size:13px}.why-grid{grid-template-columns:1fr 1fr;gap:12px}.why-card{padding:20px}.why-card-top{margin-bottom:24px}.why-card h3{font-size:15px}.why-card p{font-size:10px}.clarity-banner{display:block}.clarity-banner h2{font-size:35px}.clarity-banner .button{margin-top:25px}.qna-layout{grid-template-columns:1fr;gap:34px}.qna-aside{position:relative;top:auto;padding:24px}.qna-aside h2{font-size:32px}.qna-aside-mark{position:absolute;right:14px;bottom:10px;font-size:65px;opacity:.6}.contact-grid{grid-template-columns:1fr;gap:38px}.contact-info h2{font-size:36px}.contact-form-wrap{padding:25px 20px}.form-heading h2{font-size:32px}.form-row{grid-template-columns:1fr;gap:14px}.contact-form{gap:14px}.contact-map{height:220px}.blog-grid{grid-template-columns:1fr;gap:18px}.blog-image{height:220px}.blog-card-content{padding:20px}.article-hero{min-height:430px}.article-hero-copy{padding:55px 0 40px}.article-hero h1{font-size:39px}.article-layout{grid-template-columns:1fr;gap:35px}.article-aside{position:static}.article-body p{font-size:13px}.article-body .article-deck{font-size:18px}.full-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:180px;gap:11px}.tile-wide{grid-column:span 2}.gallery-tile-copy{left:14px;right:14px;bottom:12px}.gallery-tile-copy strong{font-size:13px}.gallery-tile-copy small{font-size:8px}.lightbox{padding:25px}.lightbox-close{top:13px;right:13px}.legal-content h2{font-size:19px}.legal-content p{font-size:12px}.not-found{min-height:50vh}}
@media(max-width:420px){.container{width:calc(100% - 32px)}.hero h1{font-size:43px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-bottom{left:16px;right:16px;width:auto;transform:none}.hero-bottom span:first-child{display:none}.hero-bottom span:last-child{margin-left:auto}.intro-strip-inner{gap:9px}.intro-strip p{font-size:9px}.section h2{font-size:34px}.gallery-mosaic{grid-template-rows:175px 140px}.why-grid{grid-template-columns:1fr}.why-card{padding:23px}.quote-detail-grid{grid-template-columns:1fr}.footer-col{gap:9px}.footer-col>a,.footer-col>p{font-size:10px}.floating-call{right:67px}.full-gallery{grid-auto-rows:155px}.contact-form-wrap{padding:22px 16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}


/* =========================================================
   PREMIUM WEBSITE UPGRADE - DEEP CLEANING SERVICES MUMBAI
   Paste at the END of assets/css/style.css
========================================================= */

:root {
    --premium-bg: #f5f9f6;
    --premium-green: #19bd91;
    --premium-mint: #45e0b5;
    --premium-navy: #071b24;
    --premium-gold: #dfbd80;
}

/* GLOBAL TYPOGRAPHY */
html {
    scroll-behavior: smooth;
    scroll-padding-top: 115px;
}

body {
    font-size: 17px;
    line-height: 1.85;
    color: #18343a;
    background: #f5f9f6;
    font-family: var(--font);
    overflow-x: hidden;
}

/* PREMIUM ANIMATED PAGE BACKGROUND */
body {
    position: relative;
    isolation: isolate;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(ellipse at 8% 15%, rgba(42, 205, 158, .10), transparent 35%),
        radial-gradient(ellipse at 92% 38%, rgba(31, 139, 116, .09), transparent 32%),
        radial-gradient(ellipse at 48% 90%, rgba(221, 190, 128, .10), transparent 36%);
    animation: premiumBackground 16s ease-in-out infinite alternate;
}

@keyframes premiumBackground {
    0% {
        transform: scale(1);
        opacity: .65;
    }
    100% {
        transform: scale(1.13);
        opacity: 1;
    }
}

/* HEADER TOP BAR */
.topbar {
    font-size: 13px;
    letter-spacing: .025em;
}

.topbar-inner {
    min-height: 46px;
}

.topbar-left,
.topbar-right {
    gap: 28px;
}

.topbar span,
.topbar a {
    gap: 10px;
}

/* MAIN HEADER */
.nav-wrap {
    min-height: 100px;
    gap: 30px;
}

.brand {
    gap: 15px;
}

.brand img {
    width: 60px;
    height: 60px;
}

.brand-copy strong {
    font-size: 17px;
    letter-spacing: .12em;
}

.brand-copy small {
    font-size: 11px;
    letter-spacing: .24em;
}

.primary-nav {
    gap: clamp(15px, 1.7vw, 27px);
}

.nav-link {
    font-size: 14px;
    font-weight: 700;
    padding: 37px 0;
}

.nav-link:after {
    height: 3px;
}

.nav-link i {
    font-size: 11px;
}

.dropdown-panel {
    width: 310px;
}

.dropdown-panel b,
.dropdown-pending b {
    font-size: 14px;
}

.dropdown-panel small,
.dropdown-pending small {
    font-size: 12px;
}

/* ALL BUTTONS */
.button {
    min-height: 58px;
    padding-inline: 27px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .01em;
}

.button-small {
    min-height: 48px;
    font-size: 13px;
}

.nav-cta {
    padding-inline: 25px;
}

/* HERO SECTION */
.hero-home {
    min-height: 750px;
}

.hero-content {
    padding-top: 120px;
    padding-bottom: 125px;
}

.eyebrow {
    font-size: 12px;
    letter-spacing: .18em;
}

.hero h1,
.page-hero h1 {
    font-size: clamp(55px, 6.2vw, 88px);
    line-height: 1.07;
    letter-spacing: -.065em;
    margin-top: 29px;
    margin-bottom: 26px;
    font-weight: 800;
}

.hero-lead {
    font-size: 19px;
    line-height: 1.9;
    max-width: 680px;
    color: #d0dfda;
}

.hero-note strong {
    font-size: 14px;
}

.hero-note small {
    font-size: 12px;
}

.hero-glass-card {
    padding: 32px;
}

.hero-glass-card p {
    font-size: 15px;
}

.glass-card-big {
    font-size: 100px;
}

/* ALL SECTION HEADINGS */
.section {
    padding-top: 125px;
    padding-bottom: 125px;
}

.section h2,
.values-copy h2,
.faq-intro h2,
.feedback-copy h2,
.contact-info h2 {
    font-size: clamp(39px, 4.2vw, 59px);
    line-height: 1.16;
    letter-spacing: -.055em;
    font-weight: 800;
    margin-top: 22px;
    margin-bottom: 25px;
}

.section h3 {
    font-size: 23px;
    line-height: 1.35;
    font-weight: 800;
}

.section-heading {
    margin-bottom: 65px;
}

.section-heading > p,
.heading-split > p {
    font-size: 17px;
    line-height: 1.9;
    max-width: 600px;
}

.section p {
    font-size: 16px;
    line-height: 1.9;
}

/* ABOUT SECTION */
.about-copy .lead-copy {
    font-size: 23px;
    line-height: 1.55;
    font-weight: 700;
}

.about-copy p {
    font-size: 16px;
    line-height: 1.95;
}

.about-caption {
    font-size: 13px;
}

/* SERVICE CARDS */
.need-card {
    padding: 38px;
    min-height: 340px;
    border-radius: 23px;
    transition: transform .35s, box-shadow .35s;
}

.need-card:hover {
    transform: translateY(-9px);
    box-shadow: 0 25px 55px rgba(0, 0, 0, .18);
}

.need-card h3 {
    font-size: 25px;
}

.need-card p {
    font-size: 16px;
    line-height: 1.85;
}

.need-number {
    font-size: 13px;
}

.need-icon {
    font-size: 27px;
}

/* PROCESS SECTION */
.process-step h3 {
    font-size: 20px;
    font-weight: 800;
}

.process-step p {
    font-size: 15px;
    line-height: 1.85;
}

.process-icon {
    width: 82px;
    height: 82px;
}

/* WHY CHOOSE US */
.value-row {
    padding: 27px 0;
}

.value-row h3 {
    font-size: 18px;
    font-weight: 800;
}

.value-row p {
    font-size: 15px;
    line-height: 1.8;
}

.value-index {
    font-size: 13px;
}

/* GALLERY */
.mosaic-item span {
    font-size: 17px;
    font-weight: 800;
}

.gallery-tile-copy strong {
    font-size: 19px;
}

.gallery-tile-copy small {
    font-size: 12px;
}

/* FAQ */
.accordion-item summary {
    font-size: 17px;
    font-weight: 750;
    padding: 23px 0;
}

.accordion-answer p {
    font-size: 16px;
    line-height: 1.85;
}

/* TESTIMONIALS */
.feedback-placeholder {
    padding: 40px;
}

.feedback-placeholder h3 {
    font-size: 25px;
}

.feedback-placeholder p {
    font-size: 16px;
}

.placeholder-label {
    font-size: 11px;
}

/* FINAL CTA */
.final-cta {
    padding: 110px 0;
}

.final-cta h2 {
    font-size: clamp(40px, 4.4vw, 61px);
    line-height: 1.2;
}

.final-cta p {
    font-size: 18px;
    line-height: 1.8;
}

/* OTHER PAGE HERO */
.page-hero {
    min-height: 440px;
}

.page-hero-content {
    padding-top: 85px;
    padding-bottom: 85px;
}

.page-hero-content > p {
    font-size: 18px;
    line-height: 1.9;
}

/* ABOUT INNER PAGES */
.about-page-copy p {
    font-size: 16px;
    line-height: 1.95;
}

.about-page-copy .lead-copy {
    font-size: 23px;
}

.principle-card {
    padding: 35px;
}

.principle-card h3 {
    font-size: 21px;
    font-weight: 800;
}

.principle-card p {
    font-size: 15px;
    line-height: 1.9;
}

/* SERVICES PAGE */
.why-card {
    padding: 30px;
}

.why-card h3 {
    font-size: 19px;
}

.why-card p {
    font-size: 15px;
    line-height: 1.85;
}

.catalogue-pending h3 {
    font-size: 27px;
}

/* BLOG */
.blog-card-content {
    padding: 28px;
}

.blog-card-content h2,
.blog-card-content h3 {
    font-size: 23px;
    line-height: 1.4;
}

.blog-card-content p {
    font-size: 15px;
    line-height: 1.85;
}

.article-body p {
    font-size: 17px;
    line-height: 2;
}

.article-body h2 {
    font-size: 34px;
    line-height: 1.3;
}

.article-body h3 {
    font-size: 25px;
}

/* CONTACT PAGE */
.contact-info p {
    font-size: 16px;
    line-height: 1.9;
}

.contact-form-wrap {
    padding: 38px;
}

.form-heading h2 {
    font-size: 35px;
}

.contact-form label {
    font-size: 14px;
    font-weight: 750;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    min-height: 54px;
    font-size: 16px;
    padding: 13px 16px;
}

/* FOOTER PREMIUM UPGRADE */
.site-footer {
    position: relative;
    overflow: hidden;
    padding-top: 90px;
    background:
        radial-gradient(ellipse at 15% 20%, rgba(35, 191, 143, .17), transparent 40%),
        radial-gradient(ellipse at 85% 80%, rgba(217, 183, 121, .10), transparent 35%),
        linear-gradient(135deg, #04141c, #092831 55%, #061b24);
}

.footer-glow {
    opacity: .7;
}

.footer-main {
    gap: 55px;
    padding-bottom: 65px;
}

.footer-brand img {
    width: 62px;
    height: 62px;
}

.footer-brand .brand-copy strong {
    font-size: 17px;
}

.footer-brand .brand-copy small {
    font-size: 10px;
}

.footer-tagline {
    font-size: 16px;
    font-weight: 800;
    color: var(--premium-gold);
    margin-top: 23px;
}

.footer-intro {
    font-size: 15px;
    line-height: 1.9;
    color: #b6c9c2;
}

.footer-col h3 {
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 23px;
    color: #fff;
}

.footer-col > a,
.footer-col > p {
    font-size: 14px;
    line-height: 1.9;
    color: #c2d1cc;
    margin-bottom: 13px;
}

.footer-contact i {
    margin-right: 9px;
    color: var(--premium-green);
}

.footer-bottom {
    min-height: 75px;
    font-size: 13px;
    color: #a8beb6;
}

/* LINKS */
.text-link {
    font-size: 15px;
    font-weight: 800;
}

/* FLOATING BUTTONS */
.floating-whatsapp,
.floating-call {
    width: 58px;
    height: 58px;
    font-size: 24px;
}

.back-to-top {
    width: 45px;
    height: 45px;
}

/* PREMIUM SECTION BACKGROUNDS */
.section:not(.section-dark):not(.section-soft):not(.final-cta):not(.image-break) {
    background: transparent;
}

.section-soft {
    background: linear-gradient(135deg, #edf6f0, #f8faf7 55%, #eaf4ef);
}

.section-dark {
    background:
        radial-gradient(ellipse at 10% 10%, rgba(32, 201, 154, .13), transparent 38%),
        linear-gradient(135deg, #071a23, #0b2a32 55%, #071b24);
}

.process-section {
    background:
        radial-gradient(ellipse at 90% 20%, rgba(32, 201, 154, .07), transparent 40%);
}

/* PREMIUM HOVER EFFECTS */
.text-link:hover {
    color: var(--premium-green);
}

.need-card,
.why-card,
.principle-card,
.blog-card {
    transition: transform .35s ease, box-shadow .35s ease;
}

.need-card:hover,
.why-card:hover,
.principle-card:hover,
.blog-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 22px 55px rgba(7, 26, 35, .13);
}

/* TABLET */
@media (max-width: 1040px) {
    .nav-wrap {
        min-height: 86px;
    }

    .brand img {
        width: 54px;
        height: 54px;
    }

    .brand-copy strong {
        font-size: 15px;
    }

    .brand-copy small {
        font-size: 10px;
    }

    .primary-nav {
        top: 132px;
    }

    .nav-link {
        font-size: 16px;
        padding: 17px 0;
    }

    .hero h1 {
        font-size: clamp(48px, 7vw, 68px);
    }

    .section {
        padding-top: 95px;
        padding-bottom: 95px;
    }
}

/* MOBILE */
@media (max-width: 760px) {

    body {
        font-size: 16px;
        line-height: 1.8;
    }

    .container {
        width: calc(100% - 36px);
    }

    .topbar {
        font-size: 11px;
    }

    .topbar-inner {
        min-height: 39px;
    }

    .nav-wrap {
        min-height: 76px;
    }

    .brand img {
        width: 47px;
        height: 47px;
    }

    .brand-copy strong {
        font-size: 13px;
    }

    .brand-copy small {
        font-size: 9px;
    }

    .primary-nav {
        top: 115px;
        padding: 22px;
    }

    .nav-link {
        font-size: 16px;
        padding: 17px 0;
    }

    .button {
        min-height: 52px;
        font-size: 13px;
        padding-inline: 20px;
    }

    .hero-content {
        padding: 75px 0 100px;
    }

    .hero h1 {
        font-size: clamp(43px, 11vw, 59px);
        line-height: 1.12;
        margin-top: 23px;
    }

    .hero-lead {
        font-size: 16px;
        line-height: 1.85;
    }

    .eyebrow {
        font-size: 10px;
        letter-spacing: .14em;
    }

    .section {
        padding: 82px 0;
    }

    .section h2,
    .values-copy h2,
    .faq-intro h2,
    .feedback-copy h2,
    .contact-info h2 {
        font-size: clamp(34px, 8.5vw, 43px);
        line-height: 1.2;
        margin-bottom: 19px;
    }

    .section h3 {
        font-size: 21px;
    }

    .section p {
        font-size: 15px;
        line-height: 1.9;
    }

    .section-heading {
        margin-bottom: 38px;
    }

    .section-heading > p,
    .heading-split > p {
        font-size: 15px;
    }

    .about-copy .lead-copy {
        font-size: 20px;
    }

    .about-copy p {
        font-size: 15px;
    }

    .need-card {
        min-height: 240px;
        padding: 27px;
    }

    .need-card h3 {
        font-size: 23px;
    }

    .need-card p {
        font-size: 15px;
    }

    .process-step h3 {
        font-size: 17px;
    }

    .process-step p {
        font-size: 14px;
    }

    .value-row h3 {
        font-size: 16px;
    }

    .value-row p {
        font-size: 14px;
    }

    .accordion-item summary {
        font-size: 15px;
        line-height: 1.6;
    }

    .accordion-answer p {
        font-size: 14px;
    }

    .final-cta h2 {
        font-size: 37px;
    }

    .final-cta p {
        font-size: 16px;
    }

    .page-hero h1 {
        font-size: clamp(37px, 10vw, 49px);
    }

    .page-hero-content > p {
        font-size: 15px;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 34px 20px;
    }

    .footer-col h3 {
        font-size: 16px;
        margin-bottom: 13px;
    }

    .footer-col > a,
    .footer-col > p {
        font-size: 13px;
        line-height: 1.8;
    }

    .footer-intro {
        font-size: 14px;
    }

    .footer-tagline {
        font-size: 14px;
    }

    .footer-bottom {
        font-size: 11px;
    }

    .floating-whatsapp,
    .floating-call {
        width: 49px;
        height: 49px;
        font-size: 20px;
    }

    .contact-form-wrap {
        padding: 25px 19px;
    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea {
        font-size: 15px;
    }

    .article-body p {
        font-size: 15px;
    }

    .article-body h2 {
        font-size: 28px;
    }
}

/* SMALL MOBILE */
@media (max-width: 420px) {

    .hero h1 {
        font-size: 42px;
    }

    .section h2 {
        font-size: 34px;
    }

    .topbar {
        font-size: 10px;
    }

    .brand-copy strong {
        font-size: 12px;
    }

    .footer-main {
        gap: 28px 15px;
    }

    .footer-col > a,
    .footer-col > p {
        font-size: 12px;
    }

    .section {
        padding: 70px 0;
    }
}

/* ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
    body::before {
        animation: none !important;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}


/* PREMIUM DETAIL EXPERIENCE SECTION */

.detail-experience {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 15%, rgba(35, 199, 149, .08), transparent 35%),
        linear-gradient(145deg, #f7faf7, #edf6f0);
}

.detail-experience::before {
    content: "";
    position: absolute;
    width: 430px;
    height: 430px;
    right: -170px;
    top: 5%;
    border: 1px solid rgba(25, 189, 145, .15);
    border-radius: 50%;
    box-shadow: 0 0 0 45px rgba(25,189,145,.025),
                0 0 0 90px rgba(25,189,145,.02);
    pointer-events: none;
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 23px;
    position: relative;
    z-index: 1;
}

.detail-card {
    position: relative;
    padding: 36px 30px;
    min-height: 390px;
    border-radius: 22px;
    border: 1px solid rgba(14, 75, 62, .11);
    background: rgba(255,255,255,.83);
    box-shadow: 0 15px 45px rgba(7,26,35,.055);
    transition: transform .35s, box-shadow .35s, border-color .35s;
}

.detail-card:hover {
    transform: translateY(-10px);
    border-color: rgba(25,189,145,.45);
    box-shadow: 0 25px 60px rgba(7,26,35,.12);
}

.detail-card-featured {
    background: linear-gradient(145deg, #09242d, #104b45);
    color: white;
    border-color: rgba(255,255,255,.1);
}

.detail-card-featured p {
    color: #c3d9d1;
}

.detail-card-featured h3 {
    color: white;
}

.detail-card-icon {
    width: 65px;
    height: 65px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: rgba(32,201,154,.12);
    color: #119b76;
    font-size: 25px;
    margin-bottom: 27px;
}

.detail-card-featured .detail-card-icon {
    background: rgba(69,224,181,.15);
    color: #54e7ba;
}

.detail-number {
    display: block;
    color: #a48a5e;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    margin-bottom: 15px;
}

.detail-card h3 {
    font: 800 24px/1.35 var(--display);
    letter-spacing: -.035em;
    margin: 0 0 17px;
}

.detail-card p {
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 26px;
}

.detail-card .text-link {
    position: absolute;
    bottom: 29px;
    left: 30px;
    font-size: 13px;
}

.detail-bottom {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 25px;
    padding: 32px 36px;
    margin-top: 32px;
    border-radius: 20px;
    background: linear-gradient(110deg, #0b2931, #124d42);
    color: white;
}

.detail-bottom-label {
    color: #58dfb4;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.detail-bottom h3 {
    font: 700 23px var(--display);
    margin: 9px 0 0;
}

@media(max-width: 760px) {
    .detail-grid {
        grid-template-columns: 1fr;
        gap: 17px;
    }

    .detail-card {
        min-height: 340px;
        padding: 29px 24px;
    }

    .detail-card h3 {
        font-size: 23px;
    }

    .detail-card p {
        font-size: 15px;
    }

    .detail-card .text-link {
        left: 24px;
        bottom: 25px;
    }

    .detail-bottom {
        align-items: flex-start;
        flex-direction: column;
        padding: 27px 23px;
    }

    .detail-bottom h3 {
        font-size: 20px;
    }
}


/* ==========================================
   FINAL LAYOUT & TYPOGRAPHY CORRECTION
========================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}

body {
    font-size: 16px;
    line-height: 1.75;
}

/* HEADER */
.topbar-inner {
    min-height: 42px !important;
}

.nav-wrap {
    min-height: 82px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    align-items: center !important;
}

.brand {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    gap: 13px;
    min-width: 0;
}

.brand img {
    width: 56px !important;
    height: 56px !important;
    max-width: 56px;
    object-fit: contain;
    flex-shrink: 0;
    border-radius: 14px;
    background: #0b2730;
    padding: 3px;
}

.brand-copy strong {
    font-size: 16px !important;
    line-height: 1.3;
    letter-spacing: .09em;
}

.brand-copy small {
    font-size: 10px !important;
    line-height: 1.5;
}

.primary-nav {
    align-items: center;
    gap: clamp(12px, 1.35vw, 21px) !important;
}

.nav-link {
    font-size: 14px !important;
    padding-top: 25px !important;
    padding-bottom: 25px !important;
    white-space: nowrap;
}

.nav-cta {
    min-height: 51px !important;
    padding-inline: 21px !important;
    font-size: 13px !important;
    white-space: nowrap;
}

/* HERO LAYOUT */
.hero-home {
    min-height: 690px !important;
    display: flex;
    align-items: center;
}

.hero-content {
    padding-top: clamp(65px, 8vh, 95px) !important;
    padding-bottom: clamp(65px, 8vh, 95px) !important;
}

.hero h1 {
    font-size: clamp(48px, 5.2vw, 76px) !important;
    line-height: 1.09 !important;
    letter-spacing: -.055em !important;
    max-width: 780px;
    margin-top: 23px !important;
    margin-bottom: 22px !important;
}

.hero-lead {
    font-size: 17px !important;
    line-height: 1.8 !important;
    max-width: 680px;
}

.hero-glass-card {
    max-width: 410px;
    width: 100%;
    padding: 27px !important;
}

.glass-card-big {
    font-size: clamp(65px, 7vw, 90px) !important;
    line-height: 1.1;
}

.hero-note {
    gap: 12px;
}

/* HERO BUTTONS */
.hero .button {
    min-height: 54px;
    padding: 15px 23px;
    font-size: 13px;
}

/* SECTION SPACING */
.section {
    padding-top: clamp(75px, 8vw, 105px) !important;
    padding-bottom: clamp(75px, 8vw, 105px) !important;
}

.section-heading {
    margin-bottom: 48px !important;
}

.section h2 {
    font-size: clamp(35px, 3.8vw, 52px) !important;
    line-height: 1.18 !important;
}

.section p {
    font-size: 16px !important;
    line-height: 1.8 !important;
}

/* FOOTER */
.site-footer {
    padding-top: 72px !important;
}

.footer-main {
    gap: 35px !important;
    padding-bottom: 48px !important;
}

.footer-col h3 {
    font-size: 17px !important;
}

.footer-col > a,
.footer-col > p {
    font-size: 14px !important;
    line-height: 1.8 !important;
}

/* IMAGES */
img {
    max-width: 100%;
}

.hero-home img,
.gallery-tile img {
    display: block;
}

/* TABLET */
@media (max-width: 1040px) {
    .nav-wrap {
        min-height: 78px !important;
    }

    .primary-nav {
        gap: 12px !important;
    }

    .hero-home {
        min-height: 620px !important;
    }

    .hero h1 {
        font-size: clamp(46px, 6vw, 65px) !important;
    }
}

/* MOBILE */
@media (max-width: 760px) {
    .topbar-inner {
        min-height: 38px !important;
    }

    .nav-wrap {
        min-height: 72px !important;
    }

    .brand img {
        width: 47px !important;
        height: 47px !important;
    }

    .brand-copy strong {
        font-size: 12px !important;
    }

    .brand-copy small {
        font-size: 9px !important;
    }

    .primary-nav {
        top: 110px !important;
    }

    .hero-home {
        min-height: auto !important;
        display: block;
    }

    .hero-content {
        padding-top: 65px !important;
        padding-bottom: 65px !important;
    }

    .hero h1 {
        font-size: clamp(41px, 10vw, 56px) !important;
        line-height: 1.12 !important;
        max-width: 100%;
    }

    .hero-lead {
        font-size: 15px !important;
        line-height: 1.8 !important;
    }

    .hero-glass-card {
        max-width: 100%;
        margin-top: 32px;
    }

    .section {
        padding-top: 70px !important;
        padding-bottom: 70px !important;
    }

    .section h2 {
        font-size: clamp(32px, 8vw, 40px) !important;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 28px 17px !important;
    }

    .footer-col > a,
    .footer-col > p {
        font-size: 13px !important;
    }
}

/* SMALL MOBILE */
@media (max-width: 420px) {
    .hero h1 {
        font-size: 40px !important;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }
}

/* ==========================================
   3 IMAGE PREMIUM HERO SLIDER
========================================== */

.hero-home {
    position: relative;
    min-height: 740px;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
    background: #071a23;
}

/* SLIDER WRAPPER */
.hero-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
}

/* INDIVIDUAL SLIDES */
.hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 1.4s ease, visibility 1.4s ease;
}

.hero-slide.is-active {
    opacity: 1;
    visibility: visible;
}

.hero-slide img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
    transform: scale(1.04);
    transition: transform 7s ease;
}

.hero-slide.is-active img {
    transform: scale(1);
}

/* IMAGE OVERLAY */
.hero-home .hero-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            90deg,
            rgba(3, 17, 23, .96) 0%,
            rgba(5, 26, 33, .88) 43%,
            rgba(5, 24, 31, .55) 100%
        ),
        linear-gradient(
            0deg,
            rgba(3, 16, 22, .60),
            transparent 55%
        );
}

/* DECORATIVE CIRCLES */
.hero-home .hero-orb {
    z-index: 1;
    pointer-events: none;
}

/* SINGLE COLUMN HERO CONTENT */
.hero-home .hero-content {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 0;
    width: 100%;
    padding-top: 110px;
    padding-bottom: 125px;
}

/* TEXT WIDTH */
.hero-home .hero-copy {
    width: 100%;
    max-width: 850px;
}

.hero-home .hero h1,
.hero-home h1 {
    max-width: 850px;
    font-size: clamp(48px, 5.5vw, 76px);
    line-height: 1.1;
    margin: 26px 0;
}

.hero-home .hero-lead {
    max-width: 700px;
    font-size: 18px;
    line-height: 1.85;
    color: #d0dfda;
}

/* BUTTONS */
.hero-home .hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 30px;
}

.hero-home .hero-actions .button {
    min-height: 58px;
    padding: 15px 25px;
}

/* LOCATION */
.hero-home .hero-note {
    margin-top: 40px;
}

/* SLIDER DOTS */
.hero-slider-dots {
    position: absolute;
    z-index: 4;
    bottom: 65px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
}

.hero-slider-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 20px;
    background: rgba(255,255,255,.45);
    cursor: pointer;
    transition: width .3s ease, background .3s ease;
}

.hero-slider-dots button.is-active {
    width: 30px;
    background: #43ddb1;
}

/* BOTTOM TEXT */
.hero-home .hero-bottom {
    z-index: 3;
}

/* TABLET */
@media (max-width: 1040px) {
    .hero-home {
        min-height: 680px;
    }

    .hero-home .hero-content {
        padding-top: 95px;
        padding-bottom: 115px;
    }

    .hero-home .hero-copy {
        max-width: 760px;
    }
}

/* MOBILE */
@media (max-width: 760px) {
    .hero-home {
        min-height: 680px;
        align-items: center;
    }

    .hero-slide img {
        object-position: 58% center;
    }

    .hero-home .hero-shade {
        background:
            linear-gradient(
                90deg,
                rgba(3,17,23,.94),
                rgba(5,26,33,.76)
            ),
            linear-gradient(
                0deg,
                rgba(3,16,22,.7),
                transparent
            );
    }

    .hero-home .hero-content {
        padding-top: 85px;
        padding-bottom: 110px;
    }

    .hero-home .hero-copy {
        max-width: 100%;
    }

    .hero-home h1 {
        font-size: clamp(40px, 10vw, 54px);
        line-height: 1.13;
        margin: 22px 0;
    }

    .hero-home .hero-lead {
        font-size: 15px;
        line-height: 1.85;
    }

    .hero-home .hero-actions {
        gap: 12px;
    }

    .hero-home .hero-actions .button {
        min-height: 51px;
        padding: 13px 17px;
        font-size: 12px;
    }

    .hero-home .hero-note {
        margin-top: 30px;
    }

    .hero-home .hero-bottom {
        bottom: 17px;
        font-size: 8px;
    }

    .hero-slider-dots {
        bottom: 48px;
    }
}

/* SMALL MOBILE */
@media (max-width: 420px) {
    .hero-home {
        min-height: 650px;
    }

    .hero-home h1 {
        font-size: 39px;
    }

    .hero-home .hero-actions {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero-home .hero-actions .button {
        width: auto;
    }

    .hero-home .hero-bottom {
        font-size: 7px;
        letter-spacing: .08em;
    }
}

/* REDUCED MOTION */
@media (prefers-reduced-motion: reduce) {
    .hero-slide,
    .hero-slide img {
        transition: none !important;
        transform: none !important;
    }
}


/* ==========================================
   FINAL HERO ALIGNMENT & VISIBILITY FIX
========================================== */

/* 1. HERO CONTENT LEFT SPACING */
.hero-home > .hero-content.container {
    width: 100% !important;
    max-width: 1540px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: clamp(30px, 9.8vw, 185px) !important;
    padding-right: clamp(30px, 6vw, 100px) !important;

    box-sizing: border-box !important;
}

/* 2. FORCE DARK HERO BACKGROUND */
.hero-home {
    position: relative !important;
    isolation: isolate !important;
    background-color: #061b23 !important;
    overflow: hidden !important;
}

.hero-home .hero-slider {
    z-index: 0 !important;
}

.hero-home .hero-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(
            90deg,
            rgba(3, 17, 23, .95) 0%,
            rgba(4, 22, 29, .85) 48%,
            rgba(4, 20, 27, .65) 100%
        ),
        linear-gradient(
            0deg,
            rgba(3, 15, 20, .55),
            transparent 75%
        ) !important;
}

/* 3. HERO TEXT VISIBILITY */
.hero-home .hero-content,
.hero-home .hero-copy {
    position: relative;
    z-index: 3 !important;
}

.hero-home .eyebrow {
    color: #a5dfcd !important;
}

.hero-home h1 {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 3px 25px rgba(0,0,0,.18);
}

.hero-home h1 em {
    color: #40ddb0 !important;
}

.hero-home .hero-lead {
    color: #e1ebe7 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.hero-home .hero-note strong {
    color: #ffffff !important;
}

.hero-home .hero-note small {
    color: #c2d7d0 !important;
}

/* 4. BUTTON VISIBILITY */
.hero-home .button-primary {
    color: #062a25 !important;
}

.hero-home .button-ghost {
    color: #ffffff !important;
    background: rgba(255,255,255,.055) !important;
    border: 1px solid rgba(255,255,255,.55) !important;
}

.hero-home .button-ghost:hover {
    background: rgba(255,255,255,.15) !important;
    color: #ffffff !important;
}

/* 5. REMOVE OLD RIGHT SIDE CARD */
.hero-home .hero-glass-card,
.hero-home .hero-card,
.hero-home .hero-stamp,
.hero-home .hero-seal {
    display: none !important;
}

/* 6. SLIDER INDICATORS */
.hero-home .hero-slider-dots {
    z-index: 5 !important;
}

.hero-home .hero-slider-dots button {
    background: rgba(255,255,255,.55);
}

.hero-home .hero-slider-dots button.is-active {
    background: #43ddb1;
}

/* 7. BOTTOM TEXT */
.hero-home .hero-bottom {
    color: #d5e5de !important;
    z-index: 4 !important;
}

/* 8. MOBILE SPACING */
@media (max-width: 760px) {

    .hero-home > .hero-content.container {
        width: 100% !important;
        padding-left: 25px !important;
        padding-right: 25px !important;
    }

    .hero-home .hero-shade {
        background:
            linear-gradient(
                90deg,
                rgba(3,17,23,.94),
                rgba(3,17,23,.79)
            ),
            linear-gradient(
                0deg,
                rgba(3,17,23,.55),
                transparent
            ) !important;
    }

    .hero-home h1 {
        font-size: clamp(39px, 9vw, 53px) !important;
    }

    .hero-home .hero-lead {
        color: #e1ebe7 !important;
        font-size: 15px !important;
    }
}

/* 9. SMALL MOBILE */
@media (max-width: 420px) {
    .hero-home > .hero-content.container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* HERO EYEBROW - VISIBILITY & SIZE FIX */

.hero-home .hero-copy .eyebrow,
.hero-home .hero-copy .eyebrow-light {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;

    color: #087d68 !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    letter-spacing: .16em !important;
    line-height: 1.6 !important;

    opacity: 1 !important;
    visibility: visible !important;
    text-transform: uppercase !important;

    margin-bottom: 25px !important;
    text-shadow: none !important;
}

.hero-home .hero-copy .eyebrow span {
    display: inline-block !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 2px !important;
    background: #d9b878 !important;
    opacity: 1 !important;
}

@media(max-width: 760px) {
    .hero-home .hero-copy .eyebrow {
        font-size: 11px !important;
        letter-spacing: .10em !important;
        gap: 9px !important;
        margin-bottom: 19px !important;
    }

    .hero-home .hero-copy .eyebrow span {
        width: 23px !important;
        min-width: 23px !important;
    }
}


/* =====================================================
   DEEP CLEANING SERVICES MUMBAI
   FINAL HOMEPAGE HERO DESIGN FIX
   Desktop + Tablet + Mobile
===================================================== */

/* HERO MAIN */
body .hero-home {
    position: relative !important;
    isolation: isolate !important;
    width: 100% !important;
    min-height: 740px !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    background: #071b24 !important;
}

/* BACKGROUND SLIDER */
body .hero-home .hero-slider {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    overflow: hidden !important;
}

body .hero-home .hero-slide {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 1.2s ease !important;
}

body .hero-home .hero-slide.is-active {
    opacity: 1 !important;
    visibility: visible !important;
}

body .hero-home .hero-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* DARK OVERLAY */
body .hero-home .hero-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(
            90deg,
            rgba(3, 17, 23, .94) 0%,
            rgba(4, 22, 29, .83) 55%,
            rgba(4, 20, 27, .55) 100%
        ),
        linear-gradient(
            0deg,
            rgba(3, 15, 20, .55),
            transparent 75%
        ) !important;
}

/* HERO CONTENT ALIGNMENT */
body .hero-home .hero-content {
    position: relative !important;
    z-index: 5 !important;
    display: block !important;
    width: 100% !important;
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 110px 45px 125px !important;
    box-sizing: border-box !important;
}

/* HERO TEXT CONTAINER */
body .hero-home .hero-copy {
    position: relative !important;
    z-index: 6 !important;
    display: block !important;
    width: 100% !important;
    max-width: 850px !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* EYEBROW: A FRESH PERSPECTIVE */
body .hero-home .hero-copy .eyebrow,
body .hero-home .hero-copy .eyebrow-light,
body .hero-home .eyebrow,
body .hero-home .eyebrow-light {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 13px !important;

    width: fit-content !important;
    max-width: 100% !important;

    color: #b7eadb !important;
    font-family: var(--font) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    letter-spacing: .17em !important;
    line-height: 1.7 !important;
    text-transform: uppercase !important;

    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.35) !important;

    margin: 0 0 27px !important;
}

/* GOLD DECORATIVE LINE */
body .hero-home .hero-copy .eyebrow > span,
body .hero-home .eyebrow > span {
    display: inline-block !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 2px !important;
    background: #e1bd7c !important;
    opacity: 1 !important;
}

/* MAIN HEADING */
body .hero-home .hero-copy h1,
body .hero-home h1 {
    display: block !important;
    max-width: 850px !important;

    color: #ffffff !important;
    font-family: var(--display) !important;
    font-size: clamp(48px, 5.7vw, 78px) !important;
    font-weight: 800 !important;
    line-height: 1.10 !important;
    letter-spacing: -.055em !important;

    margin: 20px 0 26px !important;

    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 3px 20px rgba(0,0,0,.25) !important;
}

/* GREEN HIGHLIGHT */
body .hero-home .hero-copy h1 em,
body .hero-home h1 em {
    color: #40dfb2 !important;
    font-style: normal !important;
}

/* DESCRIPTION */
body .hero-home .hero-copy .hero-lead,
body .hero-home .hero-lead {
    display: block !important;
    max-width: 700px !important;

    color: #e1ebe7 !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.9 !important;

    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 2px 12px rgba(0,0,0,.3) !important;

    margin: 0 0 30px !important;
}

/* BUTTONS */
body .hero-home .hero-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 15px !important;
    margin-top: 30px !important;
}

body .hero-home .hero-actions .button {
    min-height: 58px !important;
    padding: 15px 26px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body .hero-home .hero-actions .button-primary {
    color: #062a25 !important;
}

body .hero-home .hero-actions .button-ghost {
    color: #ffffff !important;
    background: rgba(255,255,255,.08) !important;
    border: 1px solid rgba(255,255,255,.55) !important;
}

body .hero-home .hero-actions .button-ghost:hover {
    background: rgba(255,255,255,.18) !important;
}

/* LOCATION */
body .hero-home .hero-note {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    margin-top: 42px !important;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

body .hero-home .hero-note strong {
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

body .hero-home .hero-note small {
    color: #c5d9d1 !important;
    font-size: 13px !important;
}

/* REMOVE RIGHT SIDE CARD */
body .hero-home .hero-side,
body .hero-home .hero-glass-card,
body .hero-home .hero-stamp,
body .hero-home .hero-seal,
body .hero-home .hero-card {
    display: none !important;
}

/* DECORATIVE ORBS */
body .hero-home .hero-orb {
    z-index: 2 !important;
    pointer-events: none !important;
}

/* SLIDER DOTS */
body .hero-home .hero-slider-dots {
    position: absolute !important;
    z-index: 8 !important;
    bottom: 45px !important;
}

body .hero-home .hero-slider-dots button.is-active {
    background: #40dfb2 !important;
}

/* BOTTOM STRIP */
body .hero-home .hero-bottom {
    z-index: 7 !important;
    color: #d5e5de !important;
}

/* =====================================================
   TABLET
===================================================== */

@media (max-width: 1040px) {

    body .hero-home {
        min-height: 680px !important;
    }

    body .hero-home .hero-content {
        padding: 95px 40px 115px !important;
    }

    body .hero-home .hero-copy h1 {
        font-size: clamp(46px, 7vw, 65px) !important;
    }

    body .hero-home .hero-copy .eyebrow {
        font-size: 13px !important;
    }
}

/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 760px) {

    body .hero-home {
        min-height: 680px !important;
    }

    body .hero-home .hero-content {
        width: 100% !important;
        padding: 85px 24px 115px !important;
    }

    body .hero-home .hero-copy {
        max-width: 100% !important;
    }

    body .hero-home .hero-copy .eyebrow,
    body .hero-home .eyebrow {
        font-size: 11px !important;
        letter-spacing: .10em !important;
        gap: 9px !important;
        margin-bottom: 21px !important;
    }

    body .hero-home .hero-copy .eyebrow > span {
        flex-basis: 23px !important;
        width: 23px !important;
        min-width: 23px !important;
    }

    body .hero-home .hero-copy h1 {
        font-size: clamp(39px, 9vw, 54px) !important;
        line-height: 1.14 !important;
        margin: 18px 0 22px !important;
    }

    body .hero-home .hero-copy .hero-lead {
        font-size: 15px !important;
        line-height: 1.85 !important;
    }

    body .hero-home .hero-actions {
        gap: 12px !important;
    }

    body .hero-home .hero-actions .button {
        min-height: 51px !important;
        padding: 13px 18px !important;
        font-size: 12px !important;
    }

    body .hero-home .hero-note {
        margin-top: 30px !important;
    }

    body .hero-home .hero-bottom {
        font-size: 8px !important;
    }
}

/* SMALL MOBILE */
@media (max-width: 420px) {

    body .hero-home .hero-content {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    body .hero-home .hero-copy h1 {
        font-size: 39px !important;
    }

    body .hero-home .hero-actions {
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    body .hero-home .hero-actions .button {
        width: auto !important;
    }
}

/* ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
    body .hero-home .hero-slide,
    body .hero-home .hero-slide img {
        transition: none !important;
        transform: none !important;
    }
}

/* HOME HERO: EXTRA COMPACT TOP GAP */

body .hero-home .hero-content {
    padding-top: 0 !important;
    padding-bottom: 35px !important;
    transform: translateY(-35px) !important;
}

body .hero-home .eyebrow {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
}

@media (max-width: 1040px) {
    body .hero-home .hero-content {
        transform: translateY(-20px) !important;
    }
}

@media (max-width: 760px) {
    body .hero-home .hero-content {
        transform: translateY(-10px) !important;
    }
}
/* ==========================================
   HOMEPAGE HERO CONTENT VISIBILITY FIX
   ONLY affects the main homepage hero
========================================== */

/* Force hero content to remain visible */
.hero-home .hero-copy.reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
}

/* Keep the image and overlay behind the text */
.hero-home .hero-slider {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}

.hero-home .hero-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(
            90deg,
            rgba(3, 17, 23, .94) 0%,
            rgba(4, 22, 29, .82) 55%,
            rgba(4, 20, 27, .62) 100%
        ) !important;
}

/* Text above the background */
.hero-home .hero-content {
    position: relative !important;
    z-index: 3 !important;
}

.hero-home .hero-copy {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Clear and readable text */
.hero-home .eyebrow {
    color: #a5dfcd !important;
    opacity: 1 !important;
}

.hero-home h1 {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.hero-home h1 em {
    color: #40ddb0 !important;
}

.hero-home .hero-lead {
    color: #e1ebe7 !important;
    opacity: 1 !important;
}

.hero-home .hero-note strong {
    color: #ffffff !important;
}

.hero-home .hero-note small {
    color: #d0e0da !important;
}

.hero-home .button-ghost {
    color: #ffffff !important;
}

/* HOMEPAGE HERO TEXT VISIBILITY FIX */
.hero-home .hero-copy,
.hero-home .hero-copy .eyebrow,
.hero-home .hero-copy h1,
.hero-home .hero-copy .hero-lead,
.hero-home .hero-copy .hero-actions,
.hero-home .hero-copy .hero-note {
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
}

.hero-home .hero-copy .eyebrow {
    display: flex !important;
    align-items: center !important;
    color: #b8f3df !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    line-height: 1.6 !important;
    margin: 0 0 18px !important;
    position: relative !important;
    z-index: 10 !important;
}

.hero-home .hero-copy h1 {
    color: #ffffff !important;
    text-shadow: 0 2px 15px rgba(0,0,0,.35) !important;
}

.hero-home .hero-copy .hero-lead {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,.4) !important;
}

.hero-home .hero-copy .hero-note strong,
.hero-home .hero-copy .hero-note small {
    color: #ffffff !important;
}

/* MOBILE ONLY */
@media (max-width: 760px) {
    .hero-home .hero-content {
        padding-top: 55px !important;
        padding-bottom: 90px !important;
        transform: none !important;
    }

    .hero-home .hero-copy .eyebrow {
        font-size: 11px !important;
        letter-spacing: 1.3px !important;
        margin-bottom: 15px !important;
    }

    .hero-home .hero-copy h1 {
        margin-top: 10px !important;
    }

    .hero-home .hero-copy .hero-note {
        margin-top: 25px !important;
    }
}
/* ==========================================
   HOMEPAGE HERO CONTENT VISIBILITY FIX
   ONLY affects the main homepage hero
========================================== */

/* Force hero content to remain visible */
.hero-home .hero-copy.reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
}

/* Keep the image and overlay behind the text */
.hero-home .hero-slider {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}

.hero-home .hero-shade {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
        linear-gradient(
            90deg,
            rgba(3, 17, 23, .94) 0%,
            rgba(4, 22, 29, .82) 55%,
            rgba(4, 20, 27, .62) 100%
        ) !important;
}

/* Text above the background */
.hero-home .hero-content {
    position: relative !important;
    z-index: 3 !important;
}

.hero-home .hero-copy {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Clear and readable text */
.hero-home .eyebrow {
    color: #a5dfcd !important;
    opacity: 1 !important;
}

.hero-home h1 {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.hero-home h1 em {
    color: #40ddb0 !important;
}

.hero-home .hero-lead {
    color: #e1ebe7 !important;
    opacity: 1 !important;
}

.hero-home .hero-note strong {
    color: #ffffff !important;
}

.hero-home .hero-note small {
    color: #d0e0da !important;
}

.hero-home .button-ghost {
    color: #ffffff !important;
}

/* ==========================================
   HOMEPAGE HERO COPY - FINAL VISIBILITY FIX
   Only affects hero-copy content
========================================== */

.hero-home .hero-copy,
.hero-home .hero-copy.reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    max-width: 850px !important;
}

/* Eyebrow */
.hero-home .hero-copy .eyebrow {
    color: #087d68 !important;
    opacity: 1 !important;
    margin-bottom: 18px !important;
}

/* Main heading */
.hero-home .hero-copy h1 {
    color: #102f35 !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: clamp(42px, 5vw, 68px) !important;
    line-height: 1.13 !important;
    margin: 18px 0 22px !important;
    text-shadow: none !important;
}

/* Highlighted heading */
.hero-home .hero-copy h1 em {
    color: #0b9d78 !important;
    font-style: normal !important;
}

/* Paragraph */
.hero-home .hero-copy .hero-lead {
    color: #425c5d !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 17px !important;
    line-height: 1.85 !important;
    max-width: 690px !important;
}

/* Buttons */
.hero-home .hero-copy .button-primary {
    color: #062a25 !important;
}

.hero-home .hero-copy .button-ghost {
    color: #123b3b !important;
    background: rgba(15, 90, 75, .06) !important;
    border: 1px solid rgba(15, 90, 75, .35) !important;
}

/* Location details */
.hero-home .hero-copy .hero-note strong {
    color: #173b3c !important;
    opacity: 1 !important;
}

.hero-home .hero-copy .hero-note small {
    color: #536d6a !important;
    opacity: 1 !important;
}

.hero-home .hero-copy .note-icon {
    color: #b58a43 !important;
    border-color: rgba(181, 138, 67, .35) !important;
}

/* Mobile */
@media (max-width: 760px) {
    .hero-home .hero-copy h1 {
        font-size: clamp(37px, 9vw, 49px) !important;
    }

    .hero-home .hero-copy .hero-lead {
        font-size: 15px !important;
    }
}
/* ==========================================
   PREMIUM SERVICES MEGA MENU
========================================== */

.services-dropdown {
    position: relative;
}

.services-mega-panel {
    position: absolute;
    top: calc(100% - 2px);
    left: 50%;
    width: min(780px, 90vw);
    padding: 25px;
    background: #ffffff;
    border: 1px solid rgba(32, 201, 154, .18);
    border-radius: 20px;
    box-shadow: 0 25px 75px rgba(0, 0, 0, .22);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, 15px);
    transition: .3s ease;
    z-index: 1100;
}

.services-dropdown:hover .services-mega-panel,
.services-dropdown:focus-within .services-mega-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

/* MENU HEADING */

.services-mega-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 5px 5px 22px;
    border-bottom: 1px solid #e5eee9;
}

.services-mega-eyebrow {
    color: #0c9875;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
}

.services-mega-header h3 {
    color: #102c32;
    font-size: 22px;
    line-height: 1.3;
    margin: 8px 0;
}

.services-mega-header p {
    color: #667b79;
    font-size: 12px;
    margin: 0;
}

.services-mega-decoration {
    width: 55px;
    height: 55px;
    flex: 0 0 55px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    color: #0d8c6b;
    font-size: 24px;
    background: linear-gradient(135deg, #dff9ef, #f3e9d3);
}

/* TWO COLUMN SERVICES */

.services-mega-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 15px;
    padding: 20px 0;
}

.services-mega-item {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 9px;
    border-radius: 12px;
    color: #15383a;
    transition: .25s ease;
}

.services-mega-item:hover {
    background: #effaf5;
    transform: translateX(4px);
}

.services-mega-icon {
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #078665;
    background: #e5f7ef;
    font-size: 16px;
}

.services-mega-copy {
    min-width: 0;
    flex: 1;
}

.services-mega-copy strong {
    display: block;
    color: #15383a;
    font-size: 12px;
    line-height: 1.4;
}

.services-mega-copy small {
    display: block;
    margin-top: 3px;
    color: #788b87;
    font-size: 10px;
    line-height: 1.4;
}

.services-mega-arrow {
    color: #a0b5ad;
    font-size: 10px;
    transition: .25s;
}

.services-mega-item:hover .services-mega-arrow {
    color: #078665;
    transform: translate(3px, -3px);
}

/* MENU FOOTER */

.services-mega-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 16px 5px 2px;
    border-top: 1px solid #e5eee9;
}

.services-mega-footer span {
    color: #71847f;
    font-size: 10px;
}

.services-mega-footer span i {
    color: #0c9875;
    margin-right: 5px;
}

.services-mega-footer a {
    color: #078665;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.services-mega-footer a i {
    margin-left: 5px;
    transition: .2s;
}

.services-mega-footer a:hover i {
    transform: translateX(4px);
}

/* MOBILE MENU */

@media (max-width: 1040px) {

    .services-mega-panel {
        position: static;
        display: none;
        width: 100%;
        max-height: none;
        overflow: visible;
        margin: 8px 0 15px;
        padding: 17px;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        box-shadow: none;
        background: #102c35;
        border: 1px solid rgba(255,255,255,.1);
        border-radius: 15px;
    }

    .services-dropdown:hover .services-mega-panel,
    .services-dropdown:focus-within .services-mega-panel {
        transform: none;
    }

    .services-dropdown.is-open .services-mega-panel {
        display: block;
    }

    .services-mega-header {
        border-color: rgba(255,255,255,.12);
    }

    .services-mega-header h3 {
        color: #ffffff;
        font-size: 18px;
    }

    .services-mega-header p {
        color: #b7cbc3;
    }

    .services-mega-decoration {
        display: none;
    }

    .services-mega-grid {
        gap: 5px;
    }

    .services-mega-item {
        padding: 10px 6px;
    }

    .services-mega-copy strong {
        color: #ffffff;
        font-size: 11px;
    }

    .services-mega-copy small {
        color: #a9beb5;
    }

    .services-mega-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .services-mega-arrow {
        color: #a9beb5;
    }

    .services-mega-footer {
        border-color: rgba(255,255,255,.12);
        align-items: flex-start;
        flex-direction: column;
    }

    .services-mega-footer span {
        color: #b7cbc3;
    }

}

@media (max-width: 560px) {

    .services-mega-grid {
        grid-template-columns: 1fr;
    }

    .services-mega-header h3 {
        font-size: 16px;
    }

    .services-mega-footer {
        gap: 10px;
    }

}
/* SERVICES MEGA DROPDOWN */
.services-dropdown {
    position: relative;
}

.services-mega-panel {
    position: absolute;
    top: calc(100% + 15px);
    left: 50%;
    transform: translateX(-50%);
    width: 620px;
    padding: 25px;
    background: #fff;
    border: 1px solid rgba(32, 201, 154, .18);
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: .25s ease;
    z-index: 9999;
}

.nav-dropdown:hover .services-mega-panel,
.nav-dropdown:focus-within .services-mega-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.services-mega-header {
    margin-bottom: 20px;
}

.services-mega-header span {
    color: #20c99a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 2px;
}

.services-mega-header h3 {
    color: #071a23;
    font-size: 21px;
    margin: 7px 0 0;
}

.services-mega-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.services-mega-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px;
    color: #263b43;
    background: #f5faf8;
    border: 1px solid #e7f2ee;
    border-radius: 9px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: .2s ease;
}

.services-mega-item i {
    color: #20c99a;
    font-size: 12px;
}

.services-mega-item:hover {
    color: #fff;
    background: #0e8065;
    border-color: #0e8065;
    transform: translateY(-2px);
}

.services-mega-item:hover i {
    color: #fff;
}

.services-mega-footer {
    margin-top: 18px;
    padding-top: 15px;
    border-top: 1px solid #e8efec;
    text-align: right;
}

.services-mega-footer a {
    color: #0e8065;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

/* MOBILE */
@media (max-width: 1040px) {
    .services-mega-panel {
        position: static;
        display: none;
        width: 100%;
        padding: 15px;
        margin-top: 10px;
        transform: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        box-shadow: none;
    }

    .services-mega-grid {
        grid-template-columns: 1fr;
    }

    .services-mega-header h3 {
        font-size: 17px;
    }
}


/* =========================================
   PREMIUM CENTERED SERVICES MEGA MENU
========================================= */

.services-mega-panel {
    position: fixed !important;
    top: 125px !important;
    left: 50% !important;
    right: auto !important;

    width: min(900px, calc(100vw - 40px)) !important;
    max-height: calc(100vh - 155px);
    overflow-y: auto;

    padding: 32px !important;

    transform: translate(-50%, 18px) scale(.96) !important;
    transform-origin: top center;

    background: rgba(255, 255, 255, .97) !important;
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);

    border: 1px solid rgba(32, 201, 154, .25) !important;
    border-radius: 24px !important;

    box-shadow:
        0 30px 90px rgba(3, 25, 30, .25),
        0 0 35px rgba(32, 201, 154, .10) !important;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transition:
        opacity .35s ease,
        transform .4s cubic-bezier(.2, .8, .2, 1),
        visibility .35s ease;

    z-index: 10000 !important;
}

/* OPEN ANIMATION */
.nav-dropdown:hover .services-mega-panel,
.nav-dropdown:focus-within .services-mega-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translate(-50%, 0) scale(1) !important;
}

/* HEADER */
.services-mega-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding: 0 5px 22px;
    margin-bottom: 25px;

    border-bottom: 1px solid #e2eee9;
}

.services-mega-header span {
    color: #13b98c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.services-mega-header h3 {
    color: #071a23;
    font-size: 25px;
    font-weight: 800;
    margin: 0;
}

/* TWO COLUMN GRID */
.services-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px !important;
}

/* PREMIUM SERVICE BOX */
.services-mega-item {
    position: relative;
    overflow: hidden;

    display: flex !important;
    align-items: center;
    justify-content: space-between;

    min-height: 66px;
    padding: 17px 20px !important;

    color: #263b43 !important;
    background: linear-gradient(135deg, #f6fbf9, #edf8f4) !important;

    border: 1px solid #e0eee8 !important;
    border-radius: 13px !important;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease,
        border-color .3s ease,
        color .3s ease !important;
}

/* SHINE EFFECT */
.services-mega-item::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;

    width: 70%;
    height: 100%;

    background: linear-gradient(
        110deg,
        transparent,
        rgba(255,255,255,.75),
        transparent
    );

    transform: skewX(-20deg);
    transition: left .65s ease;
}

.services-mega-item:hover::before {
    left: 150%;
}

/* HOVER EFFECT */
.services-mega-item:hover {
    color: #fff !important;

    background: linear-gradient(
        115deg,
        #0e8065,
        #20c99a
    ) !important;

    border-color: #20c99a !important;

    transform: translateY(-5px) scale(1.015);

    box-shadow:
        0 12px 25px rgba(14, 128, 101, .20),
        0 0 15px rgba(32, 201, 154, .12);
}

/* ICON */
.services-mega-item i {
    color: #20c99a !important;
    transition: transform .3s ease, color .3s ease;
}

.services-mega-item:hover i {
    color: #fff !important;
    transform: translate(3px, -3px);
}

/* FOOTER */
.services-mega-footer {
    margin-top: 25px !important;
    padding-top: 22px !important;
    border-top: 1px solid #e2eee9;
}

.services-mega-footer a {
    display: inline-flex;
    align-items: center;
    gap: 10px;

    padding: 13px 21px;

    color: #fff !important;
    background: linear-gradient(110deg, #0e8065, #20c99a);

    border-radius: 50px;
    text-decoration: none !important;
    font-size: 13px;
    font-weight: 800;

    box-shadow: 0 8px 20px rgba(14, 128, 101, .18);

    transition: transform .3s ease, box-shadow .3s ease;
}

.services-mega-footer a:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(14, 128, 101, .3);
}

/* TABLET */
@media (max-width: 1040px) {
    .services-mega-panel {
        position: static !important;
        display: none;

        width: 100% !important;
        max-height: none;
        overflow: visible;

        padding: 18px !important;
        margin-top: 12px;

        transform: none !important;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        box-shadow: none !important;
        backdrop-filter: none;
    }

    .services-mega-grid {
        grid-template-columns: 1fr;
    }

    .services-mega-header {
        display: block;
    }

    .services-mega-header h3 {
        margin-top: 10px;
        font-size: 19px;
    }
}

/* SMALL MOBILE */
@media (max-width: 480px) {
    .services-mega-panel {
        padding: 14px !important;
    }

    .services-mega-item {
        min-height: 55px;
        padding: 13px !important;
        font-size: 13px;
    }
}

/* ACCESSIBILITY */
@media (prefers-reduced-motion: reduce) {
    .services-mega-panel,
    .services-mega-item,
    .services-mega-item::before {
        transition: none !important;
    }
}


/* =====================================
   COMPACT & CENTERED PREMIUM SERVICES MENU
===================================== */

.services-mega-panel {
    position: fixed !important;

    top: 50% !important;
    left: 50% !important;
    right: auto !important;

    width: min(760px, calc(100vw - 40px)) !important;
    max-width: 760px !important;
    max-height: calc(100vh - 100px) !important;

    box-sizing: border-box !important;
    overflow-y: auto !important;

    padding: 25px !important;

    transform: translate(-50%, -46%) scale(.96) !important;

    border-radius: 20px !important;

    background: rgba(255, 255, 255, .98) !important;

    box-shadow:
        0 25px 75px rgba(3, 25, 30, .22),
        0 0 25px rgba(32, 201, 154, .10) !important;

    transition:
        opacity .3s ease,
        transform .35s ease,
        visibility .3s ease !important;

    z-index: 10000 !important;
}

/* OPEN ANIMATION */
.nav-dropdown:hover .services-mega-panel,
.nav-dropdown:focus-within .services-mega-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;

    transform: translate(-50%, -50%) scale(1) !important;
}

/* CENTER HEADING */
.services-mega-header {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    text-align: center !important;

    gap: 9px !important;

    padding: 0 0 18px !important;
    margin-bottom: 20px !important;
}

.services-mega-header span {
    text-align: center !important;
    font-size: 11px !important;
    letter-spacing: 2.5px !important;
}

.services-mega-header h3 {
    width: 100% !important;
    margin: 0 !important;

    text-align: center !important;

    font-size: 23px !important;
    line-height: 1.3 !important;
}

/* COMPACT TWO COLUMN GRID */
.services-mega-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

/* SMALLER PREMIUM SERVICE BUTTONS */
.services-mega-item {
    min-height: 55px !important;
    padding: 13px 16px !important;

    border-radius: 11px !important;

    font-size: 13px !important;
}

/* FOOTER */
.services-mega-footer {
    margin-top: 19px !important;
    padding-top: 17px !important;
}

/* TABLET & MOBILE */
@media (max-width: 1040px) {
    .services-mega-panel {
        position: static !important;

        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;

        padding: 18px !important;

        transform: none !important;
        border-radius: 14px !important;
    }

    .services-mega-header h3 {
        font-size: 19px !important;
    }

    .services-mega-grid {
        grid-template-columns: 1fr !important;
    }

    .services-mega-item {
        min-height: 52px !important;
    }
}


/* =====================================
   FINAL FIX: SERVICES DROPDOWN POSITION
===================================== */

@media (min-width: 1041px) {

    .services-mega-panel {
        position: fixed !important;

        top: 180px !important;
        left: 50% !important;
        right: auto !important;

        width: min(760px, calc(100vw - 40px)) !important;
        max-width: 760px !important;

        /* Keep the complete menu inside the screen */
        max-height: calc(100vh - 205px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;

        box-sizing: border-box !important;
        padding: 24px !important;

        transform: translate(-50%, 12px) scale(.98) !important;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        border-radius: 18px !important;
        background: rgba(255,255,255,.99) !important;

        box-shadow: 0 22px 65px rgba(0,0,0,.25) !important;

        z-index: 99999 !important;
    }

    .nav-dropdown:hover .services-mega-panel,
    .nav-dropdown:focus-within .services-mega-panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        transform: translate(-50%, 0) scale(1) !important;
    }

    /* Compact heading */
    .services-mega-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        padding-bottom: 16px !important;
        margin-bottom: 17px !important;
    }

    .services-mega-header h3 {
        width: 100% !important;
        text-align: center !important;
        font-size: 22px !important;
        margin: 0 !important;
    }

    /* Compact service buttons */
    .services-mega-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .services-mega-item {
        min-height: 54px !important;
        padding: 12px 15px !important;
        font-size: 13px !important;
    }

    .services-mega-footer {
        margin-top: 17px !important;
        padding-top: 15px !important;
    }
}

/* Mobile navigation remains unchanged */
@media (max-width: 1040px) {
    .services-mega-panel {
        position: static !important;
        max-height: none !important;
        overflow: visible !important;
        transform: none !important;
    }
}


/* =========================================
   PREMIUM DARK GLASS SERVICES DROPDOWN
========================================= */

@media (min-width: 1041px) {

    .nav-dropdown {
        position: relative;
    }

    .services-mega-panel {
        position: fixed !important;
        top: 110px !important;
        left: 50% !important;
        right: auto !important;

        width: min(680px, calc(100vw - 30px)) !important;
        max-width: 680px !important;
        max-height: calc(100vh - 130px) !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;

        padding: 20px 22px !important;

        background:
            linear-gradient(
                135deg,
                rgba(10, 24, 43, .97),
                rgba(13, 29, 51, .94)
            ) !important;

        backdrop-filter: blur(22px) !important;
        -webkit-backdrop-filter: blur(22px) !important;

        border: 1px solid rgba(47, 190, 245, .25) !important;
        border-radius: 20px !important;

        box-shadow:
            0 20px 60px rgba(0, 0, 0, .38),
            inset 0 1px 0 rgba(255,255,255,.07) !important;

        transform: translate(-50%, 12px) scale(.97) !important;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transition:
            opacity .3s ease,
            transform .3s ease,
            visibility .3s ease !important;

        z-index: 99999 !important;
    }

    /* OPEN */
    .nav-dropdown:hover .services-mega-panel,
    .nav-dropdown:focus-within .services-mega-panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate(-50%, 0) scale(1) !important;
    }

    /* HEADER */
    .services-mega-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;

        gap: 5px !important;
        margin-bottom: 15px !important;
        padding-bottom: 13px !important;

        border-bottom: 1px solid rgba(255,255,255,.12) !important;
    }

    .services-mega-header span {
        color: #38c7fa !important;
        font-size: 10px !important;
        letter-spacing: 2.5px !important;
        font-weight: 800 !important;
    }

    .services-mega-header h3 {
        color: #f2f7ff !important;
        font-size: 19px !important;
        margin: 0 !important;
        text-align: center !important;
    }

    /* TWO COLUMNS */
    .services-mega-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 5px 12px !important;
    }

    /* SERVICE LINKS */
    .services-mega-item {
        position: relative;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 11px !important;
        min-height: 43px !important;
        padding: 9px 11px !important;

        color: #d3dfed !important;
        background: transparent !important;

        border: 1px solid transparent !important;
        border-radius: 9px !important;

        font-size: 13px !important;
        font-weight: 600 !important;
        text-decoration: none !important;

        transition: all .25s ease !important;
    }

    /* LEFT ICON */
    .services-mega-item .service-icon {
        flex: 0 0 19px;
        color: #35c5f5 !important;
        font-size: 15px !important;
        text-align: center;
    }

    .services-mega-item span {
        flex: 1;
    }

    /* RIGHT ARROW */
    .services-mega-item .service-arrow {
        color: #35c5f5 !important;
        font-size: 11px !important;
        opacity: .75;
    }

    /* HOVER */
    .services-mega-item:hover {
        color: #ffffff !important;

        background: rgba(35, 183, 231, .13) !important;
        border-color: rgba(53, 197, 245, .25) !important;

        transform: translateX(3px) !important;
        box-shadow: 0 5px 18px rgba(0, 0, 0, .15) !important;
    }

    .services-mega-item:hover .service-icon,
    .services-mega-item:hover .service-arrow {
        color: #64d9ff !important;
    }

    /* FOOTER */
    .services-mega-footer {
        margin-top: 13px !important;
        padding-top: 13px !important;
        border-top: 1px solid rgba(255,255,255,.12) !important;
    }

    .services-mega-footer a {
        color: #43ccfa !important;
        background: transparent !important;
        box-shadow: none !important;
        font-size: 12px !important;
    }

    .services-mega-footer a:hover {
        color: #ffffff !important;
        transform: translateX(4px);
    }
}

/* MOBILE */
@media (max-width: 1040px) {

    .services-mega-panel {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;
        overflow: visible !important;

        padding: 15px !important;

        background: rgba(10, 24, 43, .97) !important;
        border: 1px solid rgba(47, 190, 245, .25) !important;
        border-radius: 12px !important;

        transform: none !important;
        box-shadow: none !important;
    }

    .services-mega-header h3 {
        color: #ffffff !important;
        font-size: 17px !important;
    }

    .services-mega-grid {
        grid-template-columns: 1fr !important;
    }

    .services-mega-item {
        color: #d3dfed !important;
    }
}


/* ==========================================
   SERVICES MENU - FINAL GRID ALIGNMENT FIX
========================================== */

@media (min-width: 1041px) {

    /* Reset old dropdown layout rules */
    .services-mega-panel {
        display: block !important;
        direction: ltr !important;
        text-align: left !important;
    }

    /* Force correct row-by-row ordering */
    .services-mega-panel .services-mega-grid {
        display: grid !important;

        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        grid-auto-rows: auto !important;

        justify-content: stretch !important;
        align-items: stretch !important;

        gap: 9px 12px !important;
        direction: ltr !important;
    }

    /* Reset every service item */
    .services-mega-panel .services-mega-grid > a.services-mega-item {
        position: relative !important;

        grid-column: auto !important;
        grid-row: auto !important;
        grid-area: auto !important;

        float: none !important;
        inset: auto !important;

        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 44px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 10px 13px !important;

        background: rgba(255,255,255,.045) !important;
        border: 1px solid rgba(75,190,235,.16) !important;
        border-radius: 9px !important;

        color: #d3dfed !important;
        text-align: left !important;
    }

    /* First item must start in left column */
    .services-mega-panel .services-mega-grid > a.services-mega-item:first-child {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    /* Service name */
    .services-mega-item span {
        flex: 1 1 auto !important;
        text-align: left !important;
    }

    /* Remove unwanted old arrow decorations */
    .services-mega-panel::before,
    .services-mega-panel::after,
    .services-mega-panel .services-mega-grid::before,
    .services-mega-panel .services-mega-grid::after {
        display: none !important;
        content: none !important;
    }

    /* Hover */
    .services-mega-panel .services-mega-grid > a.services-mega-item:hover {
        background: rgba(35,183,231,.15) !important;
        border-color: rgba(53,197,245,.4) !important;
        transform: translateY(-2px) !important;
    }
}

/* Remove unwanted arrow from Services dropdown */
.services-mega-panel .services-mega-grid > button,
.services-mega-panel .services-mega-grid > .prev,
.services-mega-panel .services-mega-grid > .next,
.services-mega-panel .services-mega-grid > .slick-arrow,
.services-mega-panel .services-mega-grid > .swiper-button-prev,
.services-mega-panel .services-mega-grid > .swiper-button-next {
    display: none !important;
}


/* ==========================================
   COMPACT SERVICES DROPDOWN - HEADER ALIGNED
========================================== */

@media (min-width: 1041px) {

    .nav-dropdown {
        position: relative !important;
    }

    .services-mega-panel {
        position: absolute !important;

        top: calc(100% + 14px) !important;
        left: 50% !important;
        right: auto !important;

        width: 620px !important;
        max-width: calc(100vw - 30px) !important;
        max-height: calc(100vh - 150px) !important;

        overflow-y: auto !important;
        overflow-x: hidden !important;

        padding: 20px !important;
        box-sizing: border-box !important;

        transform: translate(-50%, 12px) scale(.97) !important;

        background: linear-gradient(
            135deg,
            rgba(10, 24, 43, .98),
            rgba(17, 35, 57, .97)
        ) !important;

        backdrop-filter: blur(22px) !important;
        -webkit-backdrop-filter: blur(22px) !important;

        border: 1px solid rgba(53, 197, 245, .25) !important;
        border-radius: 17px !important;

        box-shadow: 0 18px 45px rgba(0, 0, 0, .32) !important;

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        z-index: 99999 !important;

        transition:
            opacity .25s ease,
            transform .3s ease,
            visibility .25s ease !important;
    }

    /* Open below Services */
    .nav-dropdown:hover .services-mega-panel,
    .nav-dropdown:focus-within .services-mega-panel {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;

        transform: translate(-50%, 0) scale(1) !important;
    }

    /* Heading */
    .services-mega-header {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;

        gap: 6px !important;
        margin-bottom: 13px !important;
        padding-bottom: 13px !important;

        border-bottom: 1px solid rgba(255,255,255,.12) !important;
    }

    .services-mega-header span {
        color: #35c5f5 !important;
        font-size: 10px !important;
        letter-spacing: 2.3px !important;
    }

    .services-mega-header h3 {
        color: #f2f7ff !important;
        font-size: 19px !important;
        margin: 0 !important;
        text-align: center !important;
    }

    /* Two columns */
    .services-mega-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        gap: 7px 10px !important;
    }

    /* Service buttons */
    .services-mega-grid > .services-mega-item {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px !important;

        margin: 0 !important;
        padding: 9px 10px !important;

        box-sizing: border-box !important;

        color: #d3dfed !important;
        background: rgba(255,255,255,.045) !important;

        border: 1px solid rgba(75,190,235,.13) !important;
        border-radius: 8px !important;

        font-size: 12px !important;
        text-align: left !important;

        transition: all .22s ease !important;
    }

    .services-mega-item .service-icon {
        flex: 0 0 17px !important;
        color: #35c5f5 !important;
        font-size: 13px !important;
    }

    .services-mega-item span {
        flex: 1 !important;
        text-align: left !important;
    }

    .services-mega-item .service-arrow {
        color: #35c5f5 !important;
        font-size: 10px !important;
    }

    .services-mega-item:hover {
        background: rgba(35,183,231,.15) !important;
        border-color: rgba(53,197,245,.4) !important;
        color: #fff !important;
        transform: translateY(-2px) !important;
    }

    /* Remove unwanted decorative arrows */
    .services-mega-panel::before,
    .services-mega-panel::after,
    .services-mega-grid::before,
    .services-mega-grid::after {
        content: none !important;
        display: none !important;
    }

    /* Hide old footer if any CSS remains */
    .services-mega-footer {
        display: none !important;
    }
}

/* Mobile layout */
@media (max-width: 1040px) {

    .services-mega-panel {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        max-height: none !important;

        transform: none !important;
        overflow: visible !important;

        background: rgba(10, 24, 43, .98) !important;
        border-radius: 12px !important;
    }

    .services-mega-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ==========================================
   SERVICES CATALOGUE - PREMIUM DESIGN
========================================== */

.services-catalogue-section {
    background: #f2f7f5 !important;
    padding-top: 90px !important;
    padding-bottom: 95px !important;
}

.services-catalogue-heading {
    max-width: 850px !important;
    margin: 0 auto 48px !important;
}

.services-catalogue-heading h2 {
    color: #102c35 !important;
    font-size: clamp(30px, 4vw, 46px) !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

.services-catalogue-heading h2 em {
    color: #0e9675 !important;
    font-style: normal !important;
}

.services-catalogue-heading p {
    color: #526b72 !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

/* Grid */

.services-catalogue-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
    align-items: stretch !important;
}

/* Card */

.services-catalogue-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;

    background: #ffffff !important;
    border: 1px solid #dce9e4 !important;
    border-radius: 17px !important;

    box-shadow: 0 9px 30px rgba(12, 43, 48, .07) !important;

    transition: transform .3s ease, box-shadow .3s ease !important;
}

.services-catalogue-card:hover {
    transform: translateY(-7px) !important;
    box-shadow: 0 18px 40px rgba(12, 43, 48, .13) !important;
}

/* Image */

.services-catalogue-card .service-card-image {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 225px !important;
    overflow: hidden !important;
    background: #dce9e4 !important;
}

.services-catalogue-card .service-card-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .55s ease !important;
}

.services-catalogue-card:hover .service-card-image img {
    transform: scale(1.07) !important;
}

.service-card-image-label {
    position: absolute !important;
    left: 14px !important;
    bottom: 14px !important;

    padding: 8px 12px !important;
    border-radius: 30px !important;

    color: #ffffff !important;
    background: rgba(5, 30, 36, .83) !important;

    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
}

/* Card content */

.services-catalogue-card .service-card-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;

    padding: 23px !important;
    background: #ffffff !important;
}

.service-card-kicker {
    color: #0e9675 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 1.4px !important;
}

.service-card-kicker i {
    margin-right: 5px !important;
}

.services-catalogue-card h3 {
    margin: 12px 0 !important;
    color: #102c35 !important;
    font-size: 21px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
}

.services-catalogue-card p {
    color: #52666e !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    margin: 0 0 20px !important;
}

.service-card-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;

    margin-top: auto !important;
    padding-top: 15px !important;

    border-top: 1px solid #e5eeea !important;

    color: #078b6c !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

.service-card-link:hover {
    color: #075b4b !important;
}

.service-card-link i {
    transition: transform .25s ease !important;
}

.service-card-link:hover i {
    transform: translateX(5px) !important;
}

/* Bottom CTA */

.services-bottom-cta {
    margin-top: 55px !important;
    padding: 42px 25px !important;
    text-align: center !important;

    background: #09232c !important;
    border: 1px solid rgba(64, 225, 177, .25) !important;
    border-radius: 18px !important;
}

.services-bottom-cta h2 {
    color: #ffffff !important;
    font-size: clamp(23px, 3vw, 34px) !important;
}

.services-bottom-cta p {
    color: #c3d5d5 !important;
    line-height: 1.7 !important;
}

.services-bottom-cta .button {
    margin-top: 15px !important;
}

/* Responsive */

@media (max-width: 1000px) {
    .services-catalogue-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .services-catalogue-section {
        padding: 60px 0 !important;
    }

    .services-catalogue-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }

    .services-catalogue-card .service-card-image {
        height: 215px !important;
    }

    .services-catalogue-card .service-card-content {
        padding: 20px !important;
    }

    .services-catalogue-heading p {
        font-size: 14px !important;
    }
}



/* =========================================
   SERVICE DETAIL PAGES
========================================= */

.service-detail-hero {
    position: relative;
    min-height: 570px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #101c19;
    color: #fff;
}

.service-detail-hero-image {
    position: absolute;
    inset: 0;
    background-position: center;
    background-size: cover;
    transform: scale(1.02);
}

.service-detail-hero-shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5, 20, 16, .92), rgba(5, 20, 16, .60) 55%, rgba(5, 20, 16, .18));
}

.service-detail-hero-content {
    position: relative;
    z-index: 2;
    padding-top: 100px;
    padding-bottom: 65px;
    max-width: 1200px;
}

.service-detail-hero h1 {
    color: #fff;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.1;
    max-width: 850px;
    margin: 20px 0;
}

.service-detail-hero-content > p {
    color: rgba(255,255,255,.88);
    max-width: 720px;
    font-size: 17px;
    line-height: 1.8;
}

.service-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

.service-detail-hero .breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 35px;
    color: rgba(255,255,255,.75);
    font-size: 13px;
}

.service-detail-hero .breadcrumbs a {
    color: #fff;
    text-decoration: none;
}

.service-detail-intro-grid,
.service-detail-benefits-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 55px;
    align-items: center;
}

.service-detail-intro h2,
.service-detail-benefits h2 {
    color: #14231e;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.2;
}

.service-detail-intro-copy p,
.service-detail-benefits-heading p {
    color: #56635d;
    font-size: 16px;
    line-height: 1.9;
}

.service-detail-scope {
    background: #f6f8f6;
}

.service-detail-focus-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 35px;
}

.service-detail-focus-card {
    background: #fff;
    padding: 27px 24px;
    border: 1px solid #e6ece7;
    border-radius: 15px;
    min-height: 130px;
    transition: .3s ease;
}

.service-detail-focus-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(17, 48, 35, .09);
}

.service-detail-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #e8f5ed;
    color: #198653;
    border-radius: 50%;
    margin-bottom: 14px;
}

.service-detail-focus-card h3 {
    color: #1a2922;
    font-size: 16px;
    line-height: 1.55;
    margin: 0;
}

.service-detail-benefit-list {
    display: grid;
    gap: 16px;
}

.service-detail-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 18px;
    border-radius: 12px;
    background: #f5f8f5;
    color: #26382e;
    line-height: 1.6;
}

.service-detail-benefit-item i {
    color: #168653;
    margin-top: 4px;
}

.service-detail-process {
    background: #f6f8f6;
}

.service-detail-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 35px;
}

.service-detail-process-card {
    background: #fff;
    border: 1px solid #e6ece7;
    border-radius: 15px;
    padding: 25px 22px;
}

.service-detail-step-number {
    display: block;
    color: #168653;
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 18px;
}

.service-detail-process-card p {
    color: #46564c;
    font-size: 15px;
    line-height: 1.75;
    margin: 0;
}

.service-detail-faq-list {
    max-width: 850px;
    margin: 35px auto 0;
}

.service-detail-faq-item {
    border: 1px solid #e4eae5;
    border-radius: 12px;
    margin-bottom: 13px;
    background: #fff;
    overflow: hidden;
}

.service-detail-faq-item summary {
    padding: 21px 23px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    color: #17271e;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.service-detail-faq-item summary::-webkit-details-marker {
    display: none;
}

.service-detail-faq-item summary i {
    color: #168653;
    transition: transform .25s ease;
}

.service-detail-faq-item[open] summary i {
    transform: rotate(45deg);
}

.service-detail-faq-answer {
    padding: 0 23px 20px;
}

.service-detail-faq-answer p {
    color: #59665e;
    line-height: 1.8;
    margin: 0;
}

.service-detail-cta-box {
    padding: 55px;
    border-radius: 22px;
    background: #14251e;
    color: #fff;
    text-align: center;
}

.service-detail-cta-box h2 {
    color: #fff;
    font-size: clamp(28px, 4vw, 43px);
    margin: 17px auto;
}

.service-detail-cta-box > p {
    max-width: 700px;
    margin: 0 auto;
    color: rgba(255,255,255,.8);
    line-height: 1.8;
}

.service-detail-cta-box .service-detail-actions {
    justify-content: center;
}

@media (max-width: 900px) {
    .service-detail-focus-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-detail-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-detail-intro-grid,
    .service-detail-benefits-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }
}

@media (max-width: 600px) {
    .service-detail-hero {
        min-height: 520px;
    }

    .service-detail-hero-content {
        padding-top: 80px;
        padding-bottom: 45px;
    }

    .service-detail-hero h1 {
        font-size: 37px;
    }

    .service-detail-hero-content > p {
        font-size: 15px;
    }

    .service-detail-focus-grid,
    .service-detail-process-grid {
        grid-template-columns: 1fr;
    }

    .service-detail-cta-box {
        padding: 35px 20px;
    }

    .service-detail-actions {
        flex-direction: column;
    }

    .service-detail-actions .button {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}


/* Reduce excessive spacing between service detail sections */

.service-detail-benefits {
    padding-bottom: 35px !important;
    margin-bottom: 0 !important;
}

.service-detail-process {
    padding-top: 35px !important;
    margin-top: 0 !important;
}


/* Gallery CTA eyebrow highlight */

.gallery-cta-box .eyebrow {
    color: #75e6b0 !important;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-shadow: 0 0 15px rgba(117, 230, 176, .25);
}

.gallery-cta-box .eyebrow span {
    display: inline-block;
    width: 32px;
    height: 2px;
    background: #75e6b0;
    vertical-align: middle;
    margin-right: 10px;
    box-shadow: 0 0 10px rgba(117, 230, 176, .6);
}


/* CONTACT ACTION BUTTONS */

.contact-action-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 24px 0;
}

.contact-action-buttons .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-decoration: none;
}

.contact-action-buttons .button:last-child {
    background: #168653;
    color: #fff;
    border-color: #168653;
}

.contact-action-buttons .button:last-child:hover {
    background: #116b40;
    transform: translateY(-3px);
}

.contact-status-notice {
    margin-bottom: 20px;
}

.contact-info .contact-detail a {
    overflow-wrap: anywhere;
}

@media (max-width: 600px) {
    .contact-action-buttons {
        flex-direction: column;
    }

    .contact-action-buttons .button {
        width: 100%;
    }
}


/* ==========================================
   FLOATING CALL & WHATSAPP BUTTONS
========================================== */

.floating-contact-buttons {
    position: fixed;
    left: 20px;
    bottom: 28px;
    z-index: 99999;

    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Common button */

.floating-contact-btn {
    position: relative;
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;
    color: #fff !important;
    text-decoration: none !important;

    font-size: 25px;

    box-shadow: 0 0 15px rgba(0, 0, 0, .15);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        width .35s ease;

    animation: floatingPulse 2s infinite;
}

/* CALL BUTTON */

.floating-call {
    background: linear-gradient(135deg, #1688ef, #0758c9);

    box-shadow:
        0 0 10px rgba(22, 136, 239, .55),
        0 0 25px rgba(22, 136, 239, .35);
}

.floating-call:hover {
    transform: scale(1.12);
    box-shadow:
        0 0 15px rgba(22, 136, 239, .85),
        0 0 35px rgba(22, 136, 239, .65);
}

/* WHATSAPP BUTTON */

.floating-whatsapp {
    background: linear-gradient(135deg, #25d366, #079b49);

    box-shadow:
        0 0 10px rgba(37, 211, 102, .6),
        0 0 25px rgba(37, 211, 102, .4);

    animation-delay: .5s;
}

.floating-whatsapp:hover {
    transform: scale(1.12);

    box-shadow:
        0 0 15px rgba(37, 211, 102, .9),
        0 0 38px rgba(37, 211, 102, .7);
}

/* Glow pulse */

@keyframes floatingPulse {
    0%, 100% {
        filter: brightness(1);
    }

    50% {
        filter: brightness(1.18);
    }
}

/* Expanding glow ring */

.floating-contact-btn::before {
    content: "";
    position: absolute;
    inset: -5px;

    border: 2px solid currentColor;
    border-radius: 50%;

    opacity: .55;
    animation: floatingRing 2s ease-out infinite;
    pointer-events: none;
}

.floating-whatsapp::before {
    animation-delay: .5s;
}

@keyframes floatingRing {
    0% {
        transform: scale(.85);
        opacity: .65;
    }

    100% {
        transform: scale(1.55);
        opacity: 0;
    }
}

/* Hover label */

.floating-contact-label {
    position: absolute;
    left: 72px;

    padding: 9px 15px;
    border-radius: 7px;

    color: #fff;
    background: #17291f;

    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;

    opacity: 0;
    visibility: hidden;
    transform: translateX(-8px);

    transition: all .3s ease;
    pointer-events: none;
}

.floating-contact-btn:hover .floating-contact-label {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

/* Mobile responsive */

@media (max-width: 600px) {
    .floating-contact-buttons {
        left: 13px;
        bottom: 20px;
        gap: 13px;
    }

    .floating-contact-btn {
        width: 51px;
        height: 51px;
        font-size: 22px;
    }

    .floating-contact-label {
        display: none;
    }
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
    .floating-contact-btn,
    .floating-contact-btn::before {
        animation: none !important;
    }
}

/* =====================================
   LARGE CONTACT GOOGLE MAP
===================================== */

.contact-map-large {
    width: 100%;
    height: 430px;
    margin-top: 30px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;

    border: 1px solid rgba(22, 134, 83, .18);

    box-shadow:
        0 12px 35px rgba(15, 55, 35, .10),
        0 3px 10px rgba(15, 55, 35, .05);
}

.contact-map-large iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

/* Tablet */
@media (max-width: 992px) {
    .contact-map-large {
        height: 380px;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .contact-map-large {
        height: 320px;
        margin-top: 24px;
        border-radius: 15px;
    }
}


/* ================================================
   PREMIUM HOME SERVICES SECTION
   3D CARDS + ANIMATED GREEN GLOW
================================================ */

.home-services-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            ellipse at 10% 15%,
            rgba(30, 190, 125, .10),
            transparent 35%
        ),
        radial-gradient(
            ellipse at 90% 80%,
            rgba(22, 134, 83, .09),
            transparent 35%
        ),
        #071a23;
    padding: 100px 0;
}

/* Background decoration */

.home-services-section::before,
.home-services-section::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    filter: blur(100px);
    pointer-events: none;
}

.home-services-section::before {
    top: 5%;
    left: -180px;
    background: rgba(28, 202, 135, .12);
}

.home-services-section::after {
    bottom: 5%;
    right: -180px;
    background: rgba(22, 134, 83, .13);
}

/* Heading */

.home-services-heading {
    position: relative;
    z-index: 2;
    max-width: 760px;
    margin: 0 auto 55px;
    text-align: center;
}

.home-services-heading .eyebrow {
    justify-content: center;
    color: #55dfa8;
    font-weight: 800;
    letter-spacing: 2.5px;
}

.home-services-heading h2 {
    color: #ffffff;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.2;
    font-weight: 800;
    margin: 18px 0;
}

.home-services-heading h2 em {
    display: block;
    color: #58dda9;
    font-style: normal;
}

.home-services-heading p {
    color: #b5c9c0;
    font-size: 15px;
    line-height: 1.9;
    max-width: 680px;
    margin: 0 auto;
}

/* Grid */

.home-services-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 27px;
    perspective: 1400px;
}

/* Main card */

.home-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;

    color: #ffffff;
    text-decoration: none;

    background: linear-gradient(
        145deg,
        rgba(20, 53, 47, .96),
        rgba(9, 30, 37, .98)
    );

    border: 1px solid rgba(99, 224, 172, .16);
    border-radius: 20px;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, .20),
        inset 0 1px 0 rgba(255,255,255,.04);

    transform-style: preserve-3d;

    transition:
        transform .45s cubic-bezier(.2,.7,.2,1),
        border-color .4s ease,
        box-shadow .4s ease;
}

.home-service-card::before {
    content: "";
    position: absolute;
    inset: -2px;
    z-index: 0;
    border-radius: inherit;
    background: linear-gradient(
        130deg,
        transparent 20%,
        rgba(56, 222, 157, .35),
        transparent 75%
    );
    opacity: 0;
    transition: opacity .4s ease;
    pointer-events: none;
}

.home-service-card:hover {
    transform: translateY(-11px) rotateX(2deg) rotateY(-1deg);

    border-color: rgba(83, 230, 170, .7);

    box-shadow:
        0 25px 55px rgba(0, 0, 0, .32),
        0 0 25px rgba(40, 210, 135, .16),
        0 0 55px rgba(40, 210, 135, .10);
}

.home-service-card:hover::before {
    opacity: 1;
}

/* Image area */

.home-service-image {
    position: relative;
    height: 245px;
    overflow: hidden;
    background: #18342d;
    isolation: isolate;
}

.home-service-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;

    transition:
        transform .85s cubic-bezier(.2,.7,.2,1),
        filter .5s ease;
}

.home-service-card:hover .home-service-image img {
    transform: scale(1.11);
    filter: saturate(1.15);
}

/* Image overlay */

.home-service-image-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;

    background: linear-gradient(
        180deg,
        rgba(4, 18, 14, .05) 20%,
        rgba(4, 18, 14, .65) 100%
    );

    pointer-events: none;
}

/* Floating icon */

.home-service-icon {
    position: absolute;
    top: 17px;
    left: 17px;
    z-index: 2;

    width: 47px;
    height: 47px;

    display: grid;
    place-items: center;

    color: #75f0bb;
    background: rgba(5, 31, 26, .82);

    border: 1px solid rgba(109, 241, 185, .4);
    border-radius: 14px;

    backdrop-filter: blur(12px);

    font-size: 19px;

    box-shadow: 0 0 18px rgba(43, 223, 145, .15);

    transition: .4s ease;
}

.home-service-card:hover .home-service-icon {
    color: #06271b;
    background: #64e8ae;
    transform: rotate(-8deg) scale(1.08);

    box-shadow:
        0 0 18px rgba(43, 223, 145, .55),
        0 0 35px rgba(43, 223, 145, .25);
}

/* Card number */

.home-service-number {
    position: absolute;
    right: 17px;
    bottom: 15px;
    z-index: 2;

    color: rgba(255,255,255,.85);
    font-size: 30px;
    font-weight: 800;
    letter-spacing: 1px;
    text-shadow: 0 3px 12px rgba(0,0,0,.4);
}

/* Card content */

.home-service-content {
    position: relative;
    z-index: 2;

    flex: 1;
    display: flex;
    flex-direction: column;

    padding: 24px 23px 22px;
}

.home-service-content h3 {
    color: #ffffff;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 800;

    margin: 0 0 10px;

    transition: color .3s ease;
}

.home-service-card:hover .home-service-content h3 {
    color: #6de7b3;
}

.home-service-content p {
    color: #b5c8bf;
    font-size: 13px;
    line-height: 1.8;
    margin: 0 0 22px;
}

/* Explore link */

.home-service-link {
    margin-top: auto;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding-top: 16px;

    border-top: 1px solid rgba(255,255,255,.10);

    color: #62e5ac;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .3px;
}

.home-service-link i {
    width: 33px;
    height: 33px;

    display: grid;
    place-items: center;

    border-radius: 50%;

    color: #09281e;
    background: #65e8b0;

    transition: transform .35s ease, box-shadow .35s ease;
}

.home-service-card:hover .home-service-link i {
    transform: translateX(5px);
    box-shadow: 0 0 18px rgba(79, 232, 168, .5);
}

/* Bottom CTA */

.home-services-bottom {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;

    margin-top: 48px;
    padding: 28px;

    background: rgba(255,255,255,.035);
    border: 1px solid rgba(96, 220, 169, .17);
    border-radius: 18px;
}

.home-services-bottom p {
    margin: 0;
    color: #d6e7df;
    font-size: 15px;
    font-weight: 600;
}

.home-services-bottom .button {
    text-decoration: none;
}

/* Tablet */

@media (max-width: 1050px) {
    .home-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .home-service-image {
        height: 225px;
    }

    .home-services-section {
        padding: 80px 0;
    }
}

/* Mobile */

@media (max-width: 600px) {
    .home-services-section {
        padding: 65px 0;
    }

    .home-services-heading {
        margin-bottom: 35px;
    }

    .home-services-heading h2 {
        font-size: 31px;
    }

    .home-services-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .home-service-image {
        height: 235px;
    }

    .home-service-content {
        padding: 21px;
    }

    .home-service-content h3 {
        font-size: 19px;
    }

    .home-services-bottom {
        padding: 23px 18px;
        text-align: center;
        flex-direction: column;
    }

    .home-services-bottom .button {
        width: 100%;
        justify-content: center;
    }

    .home-service-card:hover {
        transform: translateY(-4px);
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .home-service-card,
    .home-service-image img,
    .home-service-icon,
    .home-service-link i {
        transition: none !important;
    }

    .home-service-card:hover,
    .home-service-card:hover .home-service-image img {
        transform: none !important;
    }
}


/* Matrix Mart Animated Footer Credit */
.footer-credit {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding: 15px 12px;
    margin-top: 12px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    text-align: center;
}

.footer-credit a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #72e6a8;
    font-weight: 800;
    text-decoration: none;
    letter-spacing: 0.4px;
    transition: all 0.3s ease;
    animation: matrixGlow 2.5s ease-in-out infinite;
}

.footer-credit a i {
    font-size: 10px;
    transition: transform 0.3s ease;
}

.footer-credit a:hover {
    color: #ffffff;
    text-shadow: 0 0 8px #45e69a, 0 0 20px #45e69a;
}

.footer-credit a:hover i {
    transform: translate(3px, -3px);
}

@keyframes matrixGlow {
    0%, 100% {
        text-shadow: 0 0 4px rgba(69, 230, 154, 0.3);
    }
    50% {
        text-shadow:
            0 0 8px rgba(69, 230, 154, 0.8),
            0 0 18px rgba(69, 230, 154, 0.5);
    }
}

@media (max-width: 480px) {
    .footer-credit {
        font-size: 12px;
        gap: 5px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .footer-credit a {
        animation: none;
    }
}

/* ==========================================
   MOBILE RESPONSIVE HEADER AND NAVIGATION
========================================== */

.site-header {
    position: relative;
    z-index: 9999;
}

.mobile-header-actions {
    display: none;
    align-items: center;
    gap: 12px;
}

.mobile-call-btn {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #ffffff !important;
    background: linear-gradient(135deg, #20d69b, #079b70);
    font-size: 17px;
    text-decoration: none !important;
    box-shadow: 0 0 15px rgba(32, 214, 155, .3);
    transition: .3s ease;
}

.mobile-call-btn:hover {
    transform: scale(1.08);
    box-shadow: 0 0 22px rgba(32, 214, 155, .6);
}

/* MOBILE MENU BUTTON */

.menu-toggle {
    display: none;
    width: 44px;
    height: 44px;
    padding: 9px;
    border: 0;
    background: transparent;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    position: relative;
    z-index: 10003;
}

.menu-toggle span {
    display: block;
    width: 26px;
    height: 3px;
    border-radius: 5px;
    background: #ffffff;
    transition: transform .3s ease, opacity .3s ease;
}

/* HAMBURGER TO CROSS */

.menu-toggle.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* MOBILE MENU PHONE */

.mobile-menu-phone {
    display: none;
}

/* RESPONSIVE NAVIGATION */

@media (max-width: 991px) {

    .site-header {
        z-index: 9999;
    }

    .site-header .nav-wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: relative;
        gap: 10px;
    }

    .mobile-header-actions {
        display: flex;
        flex-shrink: 0;
    }

    .menu-toggle {
        display: flex !important;
    }

    .site-header .primary-nav {
        display: none !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100dvh - 145px);
        overflow-y: auto;
        overflow-x: hidden;
        overscroll-behavior: contain;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px 18px 22px;
        margin: 0;
        background: #071a23;
        border-top: 1px solid rgba(50, 220, 165, .25);
        border-bottom: 2px solid #20d69b;
        box-shadow: 0 18px 35px rgba(0, 0, 0, .4);
        z-index: 10002;
    }

    .site-header .primary-nav.is-open {
        display: flex !important;
        animation: mobileMenuAppear .25s ease both;
    }

    @keyframes mobileMenuAppear {
        from {
            opacity: 0;
            transform: translateY(-8px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .site-header .primary-nav > a.nav-link,
    .site-header .primary-nav .nav-dropdown > a.nav-link {
        display: flex !important;
        width: 100%;
        min-height: 49px;
        align-items: center;
        justify-content: space-between;
        padding: 13px 10px;
        margin: 0;
        color: #ffffff !important;
        font-size: 15px;
        font-weight: 700;
        text-decoration: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, .09);
        background: transparent;
    }

    .site-header .primary-nav > a.nav-link:hover,
    .site-header .primary-nav .nav-dropdown > a.nav-link:hover {
        color: #35e0ae !important;
        padding-left: 16px;
    }

    .site-header .primary-nav a.nav-link.active {
        color: #35e0ae !important;
    }

    /* SERVICES MOBILE */

    .site-header .primary-nav .nav-dropdown {
        display: flex !important;
        flex-direction: column;
        width: 100%;
    }

    .site-header .services-mega-panel {
        display: none !important;
    }

    /* QUOTE BUTTON */

    .site-header .primary-nav .nav-cta {
        display: flex !important;
        justify-content: center;
        align-items: center;
        width: 100%;
        min-height: 48px;
        margin: 16px 0 0;
        padding: 12px;
        border-radius: 10px;
        color: #ffffff !important;
    }

    /* PHONE NUMBER INSIDE MENU */

    .mobile-menu-phone {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        margin-top: 15px;
        padding: 13px 10px;
        border: 1px solid rgba(32, 214, 155, .3);
        border-radius: 10px;
        color: #45e6b0 !important;
        background: rgba(32, 214, 155, .08);
        text-decoration: none !important;
        font-size: 14px;
        font-weight: 700;
    }

    /* TOPBAR */

    .topbar-right {
        display: flex !important;
    }

    .topbar-right a {
        display: inline-flex !important;
        align-items: center;
        gap: 6px;
        color: #ffffff;
        font-size: 12px;
        text-decoration: none;
    }

    /* PREVENT BACKGROUND SCROLL WHEN MENU OPEN */

    body.mobile-menu-open {
        overflow: hidden;
    }
}

/* SMALL MOBILE DEVICES */

@media (max-width: 480px) {

    .site-header .nav-wrap {
        min-height: 76px;
    }

    .site-header .brand {
        min-width: 0;
        gap: 9px;
    }

    .site-header .brand img {
        width: 46px;
        height: 46px;
        object-fit: contain;
    }

    .site-header .brand-copy strong {
        font-size: 12px;
        letter-spacing: .5px;
    }

    .site-header .brand-copy small {
        font-size: 9px;
        letter-spacing: 1.5px;
    }

    .mobile-header-actions {
        gap: 7px;
    }

    .mobile-call-btn {
        width: 38px;
        height: 38px;
        font-size: 15px;
    }

    .menu-toggle {
        width: 40px;
        height: 40px;
    }

    .site-header .primary-nav {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* REDUCED MOTION ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {

    .site-header .primary-nav.is-open {
        animation: none;
    }

    .menu-toggle span,
    .mobile-call-btn {
        transition: none;
    }
}


/* MOBILE HAMBURGER MENU FIX */

@media (max-width: 991px) {

    .mobile-header-actions {
        display: flex !important;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .mobile-call-btn {
        display: none !important;
    }

    .menu-toggle {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        padding: 9px !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 6px !important;
        border: none !important;
        background: transparent !important;
        cursor: pointer;
        z-index: 10003;
    }

    .menu-toggle span {
        display: block !important;
        width: 27px !important;
        height: 3px !important;
        background: #ffffff !important;
        border-radius: 5px;
        opacity: 1 !important;
        transition: all .3s ease;
    }

    /* Three lines become X */

    .menu-toggle.active span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .menu-toggle.active span:nth-child(2) {
        opacity: 0 !important;
    }

    .menu-toggle.active span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

}

/* FINAL MOBILE HAMBURGER FIX */

@media (max-width: 1040px) {

    .site-header .nav-wrap {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .menu-toggle {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 44px;
        height: 44px;
        padding: 8px;
        margin-left: auto;
        flex-shrink: 0;
        border: 0;
        background: transparent;
        color: #ffffff;
        cursor: pointer;
        z-index: 1005;
    }

    .menu-toggle span {
        display: block;
        width: 26px;
        height: 3px;
        margin: 3px 0;
        border-radius: 5px;
        background: #ffffff;
        transition: transform .3s ease, opacity .3s ease;
    }

    .menu-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0;
    }

    .menu-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .primary-nav {
        position: fixed !important;
        top: 127px;
        left: 0;
        right: 0;
        bottom: 0;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding: 20px 24px 40px;
        overflow-y: auto;
        overflow-x: hidden;
        background: #071a23;
        transform: translateX(102%);
        transition: transform .3s ease;
        z-index: 1004;
    }

    .primary-nav.is-open {
        transform: translateX(0);
    }

    .primary-nav > .nav-link,
    .primary-nav .nav-dropdown > .nav-link {
        display: flex !important;
        width: 100%;
        min-height: 48px;
        padding: 13px 5px;
        color: #ffffff !important;
        font-size: 15px;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .primary-nav .nav-link:after {
        display: none;
    }

    .primary-nav .nav-dropdown {
        width: 100%;
    }

    .primary-nav .services-mega-panel {
        display: none !important;
    }

    .primary-nav .nav-cta {
        display: flex !important;
        justify-content: center;
        margin-top: 17px;
        width: 100%;
    }
}

@media (max-width: 760px) {
    .primary-nav {
        top: 115px;
    }
}

@media (max-width: 480px) {
    .primary-nav {
        top: 115px;
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* =========================================
   FINAL MOBILE NAVIGATION FIX
========================================= */

@media screen and (max-width: 1040px) {

    .site-header .nav-wrap {
        position: relative !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        min-height: 76px !important;
    }

    /* Three-line hamburger */
    .site-header .menu-toggle {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        width: 48px !important;
        height: 48px !important;
        padding: 8px !important;
        margin-left: auto !important;
        border: 0 !important;
        background: transparent !important;
        color: #ffffff !important;
        position: relative !important;
        z-index: 10002 !important;
        flex-shrink: 0 !important;
    }

    .site-header .menu-toggle span {
        display: block !important;
        width: 26px !important;
        height: 3px !important;
        margin: 3px 0 !important;
        border-radius: 5px !important;
        background: #40e1b1 !important;
        transition: all .3s ease !important;
    }

    .site-header .menu-toggle[aria-expanded="true"] span:nth-child(1) {
        transform: translateY(9px) rotate(45deg) !important;
    }

    .site-header .menu-toggle[aria-expanded="true"] span:nth-child(2) {
        opacity: 0 !important;
    }

    .site-header .menu-toggle[aria-expanded="true"] span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg) !important;
    }

    /* Hide navigation until hamburger is clicked */
    .site-header .primary-nav {
        position: fixed !important;
        top: 115px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        width: 100% !important;
        height: calc(100dvh - 115px) !important;
        padding: 20px 24px 40px !important;
        margin: 0 !important;

        overflow-y: auto !important;
        background: #071a23 !important;

        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: translateX(100%) !important;

        z-index: 10001 !important;
        transition:
            transform .3s ease,
            opacity .3s ease,
            visibility .3s ease !important;
    }

    /* Show only when clicked */
    .site-header .primary-nav.is-open {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        transform: translateX(0) !important;
    }

    .site-header .primary-nav > .nav-link,
    .site-header .primary-nav .nav-dropdown > .nav-link {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 12px 5px !important;
        color: #ffffff !important;
        font-size: 15px !important;
        border-bottom: 1px solid rgba(255,255,255,.12) !important;
    }

    .site-header .primary-nav .nav-link::after {
        display: none !important;
    }

    .site-header .primary-nav .nav-dropdown {
        width: 100% !important;
    }

    .site-header .primary-nav .dropdown-panel {
        position: static !important;
        display: none !important;
        width: 100% !important;
        max-height: 300px !important;
        overflow-y: auto !important;
        background: #102c35 !important;
        border-radius: 12px !important;
        box-shadow: none !important;
    }

    .site-header .primary-nav .nav-dropdown:focus-within .dropdown-panel {
        display: block !important;
    }

    .site-header .primary-nav .dropdown-panel a {
        color: #ffffff !important;
    }

    .site-header .primary-nav .dropdown-panel small {
        color: #b8cbc4 !important;
    }

    .site-header .primary-nav .nav-cta {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        margin-top: 18px !important;
    }
}

@media screen and (max-width: 480px) {
    .site-header .primary-nav {
        top: 115px !important;
        height: calc(100dvh - 115px) !important;
    }
}


/* ==========================================
   FIX: SERVICES DROPDOWN ON MOBILE
========================================== */

@media screen and (max-width: 1040px) {

    /* Hide desktop services dropdown completely */
    .site-header .primary-nav .nav-dropdown .dropdown-panel,
    .site-header .primary-nav .nav-dropdown .services-mega-panel,
    .site-header .primary-nav .nav-dropdown:focus-within .dropdown-panel,
    .site-header .primary-nav .nav-dropdown:hover .dropdown-panel {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        transform: none !important;
        position: static !important;
        width: 100% !important;
        height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    /* Keep Services navigation link visible */
    .site-header .primary-nav .nav-dropdown {
        display: block !important;
        width: 100% !important;
        position: relative !important;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .site-header .primary-nav .nav-dropdown > a {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        min-height: 49px !important;
        padding: 12px 5px !important;
        color: #ffffff !important;
        background: transparent !important;
    }

    .site-header .primary-nav .nav-dropdown > a::after {
        display: none !important;
    }

    /* Do not let dropdown content cover other links */
    .site-header .primary-nav {
        overflow-x: hidden !important;
    }

}


/* ============================================
   PREMIUM HOMEPAGE SERVICES SECTION
   Scoped styling: only home services section
============================================ */

.home-services-section {
    position: relative !important;
    isolation: isolate;
    overflow: hidden;
    padding: 105px 0 110px !important;

    background:
        radial-gradient(ellipse at 12% 15%, rgba(32, 201, 154, .16), transparent 35%),
        radial-gradient(ellipse at 90% 75%, rgba(36, 145, 118, .17), transparent 35%),
        linear-gradient(135deg, #061820 0%, #0a2830 52%, #071b24 100%) !important;

    color: #ffffff !important;
}

/* Background decorative glow */

.home-services-section::before,
.home-services-section::after {
    content: "";
    position: absolute;
    pointer-events: none;
    z-index: -1;
    border-radius: 50%;
}

.home-services-section::before {
    width: 480px;
    height: 480px;
    top: -230px;
    right: -100px;
    border: 1px solid rgba(64, 225, 177, .15);
    box-shadow:
        0 0 0 45px rgba(64, 225, 177, .025),
        0 0 0 90px rgba(64, 225, 177, .02);
}

.home-services-section::after {
    width: 350px;
    height: 350px;
    left: -180px;
    bottom: -180px;
    background: rgba(32, 201, 154, .07);
    filter: blur(70px);
}

/* SECTION HEADING */

.home-services-section .section-heading,
.home-services-section .home-services-heading {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 900px;
    margin: 0 auto 58px;
}

.home-services-section .eyebrow {
    justify-content: center;
    color: #55e7b5 !important;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
    margin-bottom: 20px;
}

.home-services-section h2 {
    color: #ffffff !important;
    font-family: var(--display, 'Manrope', sans-serif);
    font-size: clamp(38px, 5vw, 62px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -2px;
    margin: 18px 0 22px;
    text-shadow: 0 4px 25px rgba(0, 0, 0, .2);
}

.home-services-section h2 em,
.home-services-section h2 span {
    color: #43dfad !important;
}

.home-services-section .section-heading p,
.home-services-section .home-services-heading p {
    max-width: 780px;
    margin: 0 auto;
    color: #c1d5ce !important;
    font-size: 17px;
    line-height: 1.9;
}

/* SERVICE GRID */

.home-services-section .home-services-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 27px;
}

/* SERVICE CARD */

.home-services-section .home-service-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(115, 226, 190, .22);
    border-radius: 21px;
    background: linear-gradient(145deg, #102d35, #091e27);
    box-shadow:
        0 15px 40px rgba(0, 0, 0, .23),
        inset 0 1px 0 rgba(255, 255, 255, .06);
    text-decoration: none;
    transform: translateY(0);
    transition:
        transform .4s ease,
        border-color .4s ease,
        box-shadow .4s ease;
}

.home-services-section .home-service-card:hover {
    transform: translateY(-9px);
    border-color: #42e0ae;
    box-shadow:
        0 22px 55px rgba(0, 0, 0, .32),
        0 0 25px rgba(32, 201, 154, .16);
}

/* CARD IMAGE */

.home-services-section .home-service-image {
    position: relative;
    height: 245px;
    overflow: hidden;
    background: #102c35;
}

.home-services-section .home-service-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .7s ease;
}

.home-services-section .home-service-card:hover .home-service-image img {
    transform: scale(1.09);
}

.home-services-section .home-service-image-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(4, 20, 26, .04),
        rgba(4, 20, 26, .72)
    );
    pointer-events: none;
}

/* CARD ICON */

.home-services-section .home-service-icon {
    position: absolute;
    top: 20px;
    left: 20px;
    z-index: 2;
    width: 55px;
    height: 55px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    border: 1px solid rgba(91, 237, 187, .35);
    background: rgba(5, 37, 39, .88);
    color: #52e8b6;
    font-size: 22px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .2);
    backdrop-filter: blur(10px);
}

/* CARD NUMBER */

.home-services-section .home-service-number {
    position: absolute;
    right: 19px;
    top: 20px;
    z-index: 2;
    color: #ffffff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
    padding: 8px 12px;
    border-radius: 30px;
    background: rgba(5, 25, 30, .65);
    border: 1px solid rgba(255, 255, 255, .2);
}

/* CARD CONTENT */

.home-services-section .home-service-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 25px 25px 24px;
}

.home-services-section .home-service-content h3 {
    color: #ffffff !important;
    font-size: 21px;
    font-weight: 800;
    line-height: 1.4;
    margin: 0 0 12px;
}

.home-services-section .home-service-content p {
    color: #b7ccc5 !important;
    font-size: 14px;
    line-height: 1.8;
    margin: 0 0 22px;
}

.home-services-section .home-service-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    color: #4ce2b1;
    font-size: 13px;
    font-weight: 800;
}

.home-services-section .home-service-link i {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(72, 226, 176, .4);
    transition: .3s ease;
}

.home-services-section .home-service-card:hover .home-service-link i {
    background: #36dca8;
    color: #06251e;
    transform: translateX(4px);
}

/* SECTION BOTTOM CTA */

.home-services-section .home-services-bottom {
    position: relative;
    z-index: 1;
    margin-top: 48px;
    text-align: center;
}

.home-services-section .home-services-bottom a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 53px;
    padding: 0 27px;
    border-radius: 50px;
    background: linear-gradient(120deg, #63e9bd, #20c99a);
    color: #06261f;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 10px 30px rgba(32, 201, 154, .2);
    transition: .3s ease;
}

.home-services-section .home-services-bottom a:hover {
    transform: translateY(-4px);
    box-shadow: 0 15px 35px rgba(32, 201, 154, .35);
}

/* TABLET */

@media (max-width: 1050px) {
    .home-services-section .home-services-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px;
    }

    .home-services-section {
        padding: 85px 0 !important;
    }
}

/* MOBILE */

@media (max-width: 600px) {
    .home-services-section {
        padding: 70px 0 !important;
    }

    .home-services-section .section-heading,
    .home-services-section .home-services-heading {
        margin-bottom: 35px;
        padding: 0 5px;
    }

    .home-services-section h2 {
        font-size: 36px;
        letter-spacing: -1.5px;
    }

    .home-services-section .section-heading p,
    .home-services-section .home-services-heading p {
        font-size: 14px;
        line-height: 1.8;
    }

    .home-services-section .home-services-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .home-services-section .home-service-image {
        height: 225px;
    }

    .home-services-section .home-service-content {
        padding: 22px;
    }

    .home-services-section .home-service-content h3 {
        font-size: 20px;
    }
}

/* ACCESSIBILITY */

@media (prefers-reduced-motion: reduce) {
    .home-services-section .home-service-card,
    .home-services-section .home-service-image img {
        transition: none !important;
    }
}


/* ============================================
   PREMIUM PRIVACY POLICY & TERMS PAGE DESIGN
   Only pages containing .legal-content
============================================ */

/* LEGAL PAGE HERO */

body:has(.legal-content) .page-hero {
    min-height: 330px !important;
    background:
        radial-gradient(circle at 85% 20%, rgba(32,201,154,.13), transparent 32%),
        linear-gradient(125deg, #04151d, #092832 65%, #071b24) !important;
}

body:has(.legal-content) .page-hero-content {
    width: min(1200px, calc(100% - 64px));
    margin: 0 auto;
    padding: 65px 0 55px !important;
}

body:has(.legal-content) .page-hero h1 {
    max-width: 900px !important;
    font-size: clamp(42px, 5.2vw, 68px) !important;
    line-height: 1.12 !important;
    letter-spacing: -2.8px !important;
    margin: 15px 0 18px !important;
}

body:has(.legal-content) .page-hero-content > p {
    max-width: 700px !important;
    color: #c2d4ce !important;
    font-size: 16px !important;
    line-height: 1.8 !important;
}

body:has(.legal-content) .breadcrumbs {
    margin-top: 24px;
}

/* DOCUMENT AREA */

body:has(.legal-content) .section:has(.legal-content) {
    padding: 75px 0 100px !important;
    background:
        radial-gradient(ellipse at 10% 10%, rgba(32,201,154,.045), transparent 35%),
        #f3f7f4 !important;
}

body:has(.legal-content) .legal-content {
    width: min(100%, 1000px) !important;
    max-width: 1000px !important;
    margin: 0 auto !important;
    padding: 48px 58px !important;
    border: 1px solid #e3ece6;
    border-radius: 22px;
    background: #ffffff;
    box-shadow:
        0 18px 55px rgba(7,26,35,.055),
        0 2px 8px rgba(7,26,35,.025);
}

/* LAST UPDATED */

body:has(.legal-content) .legal-updated {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 23px !important;
    padding: 8px 13px;
    border-radius: 30px;
    background: #eaf7f0;
    color: #287e61 !important;
    font-size: 12px !important;
    font-weight: 700;
}

body:has(.legal-content) .legal-updated::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #20c99a;
    box-shadow: 0 0 9px rgba(32,201,154,.55);
}

/* DOCUMENT HEADINGS */

body:has(.legal-content) .legal-content h2 {
    position: relative;
    color: #15353a !important;
    font-family: var(--display);
    font-size: 27px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
    letter-spacing: -.8px !important;
    margin: 38px 0 13px !important;
    padding-left: 17px;
}

body:has(.legal-content) .legal-content h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 4px;
    border-radius: 5px;
    background: linear-gradient(180deg, #40e1b1, #159a76);
}

/* PARAGRAPHS */

body:has(.legal-content) .legal-content p {
    color: #617579 !important;
    font-size: 15px !important;
    line-height: 1.95 !important;
    margin: 0 0 17px !important;
}

/* LISTS */

body:has(.legal-content) .legal-content ul,
body:has(.legal-content) .legal-content ol {
    padding-left: 25px;
    margin: 12px 0 23px;
    color: #617579;
}

body:has(.legal-content) .legal-content li {
    padding-left: 5px;
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.85;
}

body:has(.legal-content) .legal-content li::marker {
    color: #20b98d;
}

body:has(.legal-content) .legal-content strong {
    color: #193a3e;
    font-weight: 800;
}

body:has(.legal-content) .legal-content a {
    color: #078b68;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(7,139,104,.3);
    text-underline-offset: 3px;
}

body:has(.legal-content) .legal-content a:hover {
    color: #075c49;
}

/* SEPARATION BETWEEN DOCUMENT SECTIONS */

body:has(.legal-content) .legal-content h2:not(:first-of-type) {
    padding-top: 15px;
    border-top: 1px solid #e9efeb;
}

/* TABLET */

@media (max-width: 760px) {

    body:has(.legal-content) .page-hero {
        min-height: 290px !important;
    }

    body:has(.legal-content) .page-hero-content {
        width: calc(100% - 40px);
        padding: 55px 0 45px !important;
    }

    body:has(.legal-content) .page-hero h1 {
        font-size: clamp(38px, 9vw, 49px) !important;
        letter-spacing: -1.8px !important;
    }

    body:has(.legal-content) .page-hero-content > p {
        font-size: 14px !important;
    }

    body:has(.legal-content) .section:has(.legal-content) {
        padding: 45px 0 65px !important;
    }

    body:has(.legal-content) .legal-content {
        padding: 30px 25px !important;
        border-radius: 17px;
    }

    body:has(.legal-content) .legal-content h2 {
        font-size: 23px !important;
        margin-top: 30px !important;
    }

    body:has(.legal-content) .legal-content p {
        font-size: 14px !important;
    }
}

/* SMALL MOBILE */

@media (max-width: 480px) {

    body:has(.legal-content) .page-hero {
        min-height: auto !important;
    }

    body:has(.legal-content) .page-hero-content {
        width: calc(100% - 34px);
        padding: 45px 0 !important;
    }

    body:has(.legal-content) .page-hero h1 {
        font-size: 36px !important;
        line-height: 1.18 !important;
        letter-spacing: -1.4px !important;
    }

    body:has(.legal-content) .page-hero-content > p {
        font-size: 13px !important;
    }

    body:has(.legal-content) .breadcrumbs {
        margin-top: 20px;
    }

    body:has(.legal-content) .section:has(.legal-content) {
        padding: 30px 0 50px !important;
    }

    body:has(.legal-content) .legal-content {
        padding: 25px 19px !important;
        border-radius: 14px;
    }

    body:has(.legal-content) .legal-updated {
        font-size: 11px !important;
    }

    body:has(.legal-content) .legal-content h2 {
        font-size: 21px !important;
        padding-left: 13px;
        margin-top: 27px !important;
    }

    body:has(.legal-content) .legal-content p {
        font-size: 13px !important;
        line-height: 1.85 !important;
    }

    body:has(.legal-content) .legal-content li {
        font-size: 13px;
    }
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce) {
    body:has(.legal-content) .legal-content,
    body:has(.legal-content) .legal-content * {
        scroll-behavior: auto !important;
        transition: none !important;
        animation: none !important;
    }
}


/* PREMIUM ANIMATED BACKGROUND - LEGAL PAGES */

body:has(.legal-content) .section:has(.legal-content) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 10% 15%, rgba(32,201,154,.20), transparent 38%),
        radial-gradient(ellipse at 90% 75%, rgba(20,130,112,.20), transparent 40%),
        linear-gradient(135deg, #061720 0%, #0a2930 48%, #071c26 100%) !important;
}

/* Decorative glowing circles */

body:has(.legal-content) .section:has(.legal-content)::before,
body:has(.legal-content) .section:has(.legal-content)::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 380px;
    height: 380px;
    border-radius: 50%;
    border: 1px solid rgba(64,225,177,.15);
    pointer-events: none;
    animation: legalGlowFloat 12s ease-in-out infinite alternate;
}

body:has(.legal-content) .section:has(.legal-content)::before {
    top: 5%;
    left: -190px;
    box-shadow:
        0 0 70px rgba(32,201,154,.10),
        0 0 0 35px rgba(32,201,154,.025);
}

body:has(.legal-content) .section:has(.legal-content)::after {
    right: -190px;
    bottom: 5%;
    animation-delay: -5s;
    box-shadow:
        0 0 80px rgba(32,201,154,.12),
        0 0 0 35px rgba(32,201,154,.025);
}

/* White document card */

body:has(.legal-content) .legal-content {
    position: relative;
    z-index: 1;
    background: linear-gradient(145deg, #ffffff, #f7fbf8) !important;
    border: 1px solid rgba(255,255,255,.75) !important;
    box-shadow:
        0 25px 80px rgba(0,0,0,.25),
        0 0 35px rgba(32,201,154,.07) !important;
}

/* Animated background */

@keyframes legalGlowFloat {
    0% {
        transform: translate3d(0,0,0) scale(1);
    }
    100% {
        transform: translate3d(25px,-25px,0) scale(1.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    body:has(.legal-content) .section:has(.legal-content)::before,
    body:has(.legal-content) .section:has(.legal-content)::after {
        animation: none !important;
    }
}

