@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#10263f;--navy-2:#183957;--blue:#2366e8;--blue-dark:#174fbe;--teal:#48d5c0;--orange:#f3a64a;--ink:#18283b;--muted:#66778b;--paper:#f5f8fc;--line:#e3eaf2;--white:#fff;--radius:18px;--shadow:0 18px 50px rgba(16,38,63,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{display:block;max-width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:90%;margin-inline:auto}.topbar{background:var(--navy);color:#d7e2ef;font-size:12px}.topbar-inner{display:flex;justify-content:space-between;padding:8px 0;gap:12px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(227,234,242,.85)}.nav-wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,sans-serif;font-size:14px;letter-spacing:.04em;font-weight:800;color:var(--navy);line-height:1.1}.brand small{display:block;font-size:9px;letter-spacing:.22em;margin-top:5px;color:#71839a}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border-radius:13px;background:var(--blue);color:#fff;font-size:15px;letter-spacing:-.05em;box-shadow:0 8px 18px #2366e833}.main-nav{display:flex;align-items:center;gap:27px;font-size:13px;font-weight:600;color:#52647a}.main-nav>a:not(.nav-cta):hover,.main-nav .active{color:var(--blue)}.nav-cta{background:var(--navy);color:#fff;padding:12px 17px;border-radius:10px}.menu-toggle{display:none;border:0;background:var(--paper);border-radius:10px;padding:10px 13px;color:var(--navy);font-size:20px}.hero{background:linear-gradient(115deg,#f5f9ff 0%,#fff 54%,#eff8ff 100%);overflow:hidden;padding: var(--section-space) 0}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:62px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.live-dot{width:7px;height:7px;border-radius:50%;background:#26c5a3;box-shadow:0 0 0 4px #26c5a31c}.hero h1,.section h2,.brands-section h2,.final-cta h2{font-family:Manrope,sans-serif;letter-spacing:-.055em;line-height:1.12;font-weight:800;color:var(--navy)}.hero h1{font-size:clamp(42px,5vw,66px);margin:19px 0 20px}.hero h1 em{font-style:normal;color:var(--blue)}.hero-lead{font-size:17px;color:#5f7187;max-width:520px;line-height:1.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:10px;font-weight:700;font-size:13px;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 22px #2366e82b}.btn-primary:hover{background:var(--blue-dark)}.btn-light{background:#fff;border-color:var(--line);color:var(--navy)}.btn-outline{border-color:#cbd7e5;color:var(--navy)}.btn-white{background:#fff;color:var(--navy)}.btn-ghost{border-color:#ffffff60;color:#fff}.hero-trust{display:flex;gap:16px;flex-wrap:wrap;margin-top:23px;color:#60758b;font-size:11px}.hero-trust span:first-letter{color:#1bb995}.hero-stats{display:flex;gap:35px;border-top:1px solid var(--line);margin-top:34px;padding-top:22px}.hero-stats div{display:flex;flex-direction:column}.hero-stats strong{font-family:Manrope,sans-serif;font-size:27px;line-height:1.2;color:var(--navy)}.hero-stats strong span{color:var(--blue)}.hero-stats small{font-size:10px;color:var(--muted);margin-top:5px}.hero-visual{position:relative;padding:0 0 22px 20px}.hero-visual:before{content:"";position:absolute;right:-30px;top:-28px;width:150px;height:150px;border:1px solid #cbdff7;border-radius:50%;z-index:0}.hero-visual>img{position:relative;z-index:1;width:100%;height:490px;border-radius:24px 24px 90px 24px;box-shadow:var(--shadow)}.floating-card{position:absolute;z-index:2;left:-18px;bottom:50px;background:#fff;box-shadow:var(--shadow);border:1px solid #edf1f6;border-radius:15px;padding:16px 20px;display:flex;align-items:center;gap:12px}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:12px;color:var(--navy)}.floating-card small{font-size:10px;color:var(--muted);margin-top:3px}.floating-icon{width:38px;height:38px;border-radius:12px;background:#eaf1ff;color:var(--blue);display:grid;place-items:center;font-size:21px}.hero-badge{position:absolute;z-index:2;right:-8px;top:30px;background:var(--navy);color:#fff;border-radius:15px;padding:15px 19px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow)}.hero-badge strong{font:800 22px Manrope}.hero-badge span{font-size:10px;line-height:1.4;color:#d5e2f1}.trust-strip{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding: var(--strip-space) 0;gap:20px}.trust-grid>div{display:flex;align-items:center;gap:12px;border-right:1px solid var(--line);padding-right:15px}.trust-grid>div:last-child{border:0}.trust-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#edf3ff;color:var(--blue);font-size:19px}.trust-grid strong,.trust-grid small{display:block}.trust-grid strong{font-size:12px;color:var(--navy)}.trust-grid small{font-size:10px;color:var(--muted);margin-top:2px}.section{padding: var(--section-space) 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:35px}.section-heading h2,.section h2,.brands-section h2,.final-cta h2{font-size:clamp(30px,3.3vw,43px);margin:10px 0 0}.section-heading>p{max-width:400px;color:var(--muted);font-size:13px;margin:0 0 3px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-card>img{width:100%;height:205px}.service-body{padding:22px 23px 24px}.service-number{font-size:9px;letter-spacing:.14em;color:var(--blue);font-weight:800}.service-body h3{font:800 20px Manrope;color:var(--navy);margin:8px 0}.service-body p{font-size:12px;color:var(--muted);min-height:60px;margin:0 0 17px}.text-link{font-size:12px;color:var(--blue);font-weight:800}.text-link span{margin-left:5px}.service-card-cta{grid-column:1/-1;padding:24px 30px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;background:var(--navy);color:#fff;min-height:0}.service-card-cta-copy{display:flex;align-items:center;gap:20px}.service-card-cta .cta-symbol{flex:none;margin:0}.service-card-cta h3{margin:4px 0}.service-card-cta p{margin:0}.service-card-cta .eyebrow{color:#85aaff}.service-card-cta h3{font:800 26px/1.25 Manrope;margin:4px 0}.service-card-cta p{font-size:13px;color:#c3d0df;min-height:0}.cta-symbol{display:grid;place-items:center;width:49px;height:49px;border-radius:14px;background:#ffffff12;color:var(--teal);font-size:25px;margin-bottom:25px}.process-section{background:var(--paper)}.centered{text-align:center;display:block}.centered>p{margin:13px auto 0}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px}.process-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 22px}.step-no{position:absolute;right:20px;top:18px;font:800 12px Manrope;color:#b4c7e3}.step-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#edf3ff;color:var(--blue);font-size:22px}.process-step h3{font:800 16px Manrope;color:var(--navy);margin:22px 0 8px}.process-step p{font-size:12px;color:var(--muted);margin:0}.why-grid{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:75px}.why-image{position:relative}.why-image>img{height:510px;width:100%;border-radius:24px}.image-caption{position:absolute;left:22px;right:22px;bottom:22px;background:#fff;padding:17px 20px;border-radius:13px;box-shadow:var(--shadow)}.image-caption strong,.image-caption span{display:block}.image-caption strong{font:800 15px Manrope;color:var(--navy)}.image-caption span{font-size:11px;color:var(--muted);margin-top:3px}.why-copy h2{margin-bottom:17px}.muted{color:var(--muted)}.why-copy>.muted{font-size:13px}.benefit-list{display:grid;gap:17px;margin:28px 0}.benefit-list>div{display:flex;gap:13px}.benefit-list>div>span{flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e8f8f3;color:#079a7d;font-weight:800}.benefit-list strong{font-size:13px;color:var(--navy)}.benefit-list p{margin:3px 0 0;color:var(--muted);font-size:11px}.review-section{background:#f8faff}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:25px}.stars{color:#f3a629;letter-spacing:3px;font-size:14px}.review-card>p{font-size:13px;color:#52647a;line-height:1.8;min-height:90px}.review-person{display:flex;align-items:center;gap:11px;border-top:1px solid var(--line);padding-top:17px}.avatar{display:grid;place-items:center;width:38px;height:38px;background:#eaf1ff;color:var(--blue);border-radius:50%;font-size:11px;font-weight:800}.review-person strong,.review-person small{display:block}.review-person strong{font-size:11px;color:var(--navy)}.review-person small{font-size:10px;color:var(--muted)}.review-cta{margin-top:22px;background:var(--navy);color:#fff;border-radius:15px;padding:20px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px}.review-cta strong{font:800 16px Manrope}.review-cta p{margin:3px 0 0;color:#c4d2e2;font-size:11px}.review-form{background:#fff;border:1px solid var(--line);border-radius:15px;padding:25px;margin-top:18px}.review-form h3{margin-top:0;color:var(--navy);font-family:Manrope}.hidden{display:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font-size:12px;font-weight:700;color:var(--navy)}.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:1px solid #d9e2ee;border-radius:9px;padding:11px;margin-top:6px;outline-color:var(--blue)}.form-grid .full{grid-column:1/-1}.form-note{font-size:11px;color:var(--muted)}.form-message{font-size:12px;color:#07815f;margin-top:10px}.brands-section{padding: var(--section-space) 0;background:#fff;text-align:center;border-block:1px solid var(--line)}.brands-section h2{font-size:27px;margin:8px 0 27px}.brand-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;color:#7e8da0;font:800 14px Manrope;letter-spacing:.04em}.about-section{background:var(--paper)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.about-grid p{color:var(--muted);font-size:14px;line-height:1.9}.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}.location-copy h2{margin-bottom:17px}.location-copy>.muted{font-size:13px;line-height:1.8}.location-detail{display:flex;gap:13px;margin-top:21px}.location-detail>span{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;background:#edf3ff;color:var(--blue);border-radius:11px}.location-detail strong{font-size:12px;color:var(--navy)}.location-detail p{margin:3px 0 0;font-size:11px;color:var(--muted)}.map-frame{height:420px;border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow)}.map-frame iframe{width:100%;height:100%;border:0}.faq-section{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.faq-grid>div:first-child h2{margin-bottom:16px}.faq-grid>div:first-child p{font-size:13px}.accordion details{border-bottom:1px solid #dbe4ef;padding:17px 0}.accordion details:first-child{border-top:1px solid #dbe4ef}.accordion summary{cursor:pointer;list-style:none;font-weight:700;font-size:13px;color:var(--navy);display:flex;justify-content:space-between;gap:20px}.accordion summary::-webkit-details-marker{display:none}.accordion summary:after{content:"+";font-size:20px;color:var(--blue);line-height:1}.accordion details[open] summary:after{content:"−"}.accordion details p{font-size:12px;color:var(--muted);margin:12px 25px 0 0}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.article-card{border:1px solid var(--line);border-radius:16px;overflow:hidden}.article-card img{height:190px;width:100%}.article-card>div{padding:20px}.article-tag{font-size:9px;letter-spacing:.1em;color:var(--blue);font-weight:800}.article-card h3{font:800 17px/1.4 Manrope;color:var(--navy);margin:9px 0}.article-card p{font-size:12px;color:var(--muted);min-height:45px}.final-cta{background:var(--blue);color:#fff;padding: var(--section-space) 0}.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.final-cta .eyebrow{color:#b9d1ff}.final-cta h2{color:#fff;font-size:31px;margin:9px 0}.final-cta p{color:#dbe7ff;margin:0;font-size:13px}.site-footer{background:#0c1d31;color:#c0cedd;padding: var(--section-space) 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:45px;padding-bottom:42px}.brand-footer{color:#fff}.brand-footer small{color:#a2b3c7}.footer-grid>div:first-child>p{font-size:12px;color:#9fb0c3;max-width:280px;margin-top:18px;line-height:1.8}.footer-grid h4{font:800 12px Manrope;color:#fff;margin:5px 0 18px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-grid a:not(.brand){font-size:11px;color:#aebed0}.footer-grid a:hover{color:#fff}.footer-grid p{font-size:11px;margin:0}.footer-grid small{font-size:10px;color:#7f93aa}.footer-bottom{border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;gap:20px;padding:19px 0;font-size:10px;color:#8094aa}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:40;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#20bd68;color:#fff;font-size:26px;box-shadow:0 10px 25px #20bd6850;border:3px solid #fff}.service-hero{background:linear-gradient(115deg,#f4f8ff,#fff);padding: var(--section-space) 0}.service-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}.breadcrumbs{font-size:11px;color:var(--muted);margin-bottom:20px}.breadcrumbs a{color:var(--blue)}.service-hero h1{font:800 clamp(36px,4.5vw,54px)/1.12 Manrope;color:var(--navy);letter-spacing:-.05em;margin:12px 0}.service-hero h1 em{font-style:normal;color:var(--blue)}.service-hero p{color:var(--muted);font-size:14px;max-width:550px}.service-hero img{width:100%;height:360px;border-radius:22px;box-shadow:var(--shadow)}.service-points{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.service-points span{font-size:11px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:#52647a}.issue-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.issue-card{border:1px solid var(--line);border-radius:15px;padding:24px}.issue-card h3{font:800 17px Manrope;color:var(--navy);margin:0 0 10px}.issue-card p{font-size:12px;color:var(--muted)}.booking-panel{background:var(--navy);color:#fff;border-radius:20px;padding:30px}.booking-panel h2{color:#fff!important;font-size:28px!important;margin-top:0!important}.booking-panel p{font-size:12px;color:#c5d3e4}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px}.booking-form label{font-size:11px;color:#dce7f3}.booking-form input,.booking-form select,.booking-form textarea{display:block;width:100%;margin-top:5px;border:1px solid #ffffff30;border-radius:8px;padding:11px;background:#ffffff0d;color:#fff;outline-color:var(--teal)}.booking-form option{color:var(--ink)}.booking-form .full{grid-column:1/-1}.booking-form .btn{grid-column:1/-1}.service-faq{max-width:850px;margin:auto}.article-content{max-width:800px;margin:0 auto}.article-content h1{font:800 42px/1.2 Manrope;color:var(--navy)}.article-content h2{font:800 25px Manrope;color:var(--navy);margin-top:35px}.article-content p,.article-content li{color:#586c82;font-size:15px;line-height:1.9}.article-warning{border-left:4px solid #f1a63c;background:#fff7e9;padding:16px 20px;border-radius:0 10px 10px 0;color:#714b17;margin:24px 0}
@media(max-width:1024px){.container{width:95%}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px 24px 25px;box-shadow:0 18px 30px #10263f12;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}.main-nav.open{display:flex}.main-nav>a{padding:12px 4px}.main-nav .nav-cta{text-align:center;margin-top:8px}}
@media(max-width:960px){.main-nav{gap:14px}.hero-grid{gap:35px}.hero-visual>img{height:420px}.why-grid{gap:40px}.footer-grid{gap:25px}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-grid>div:nth-child(2){border-right:0}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card-cta{min-height:0}}
@media(max-width:760px){.topbar-inner{font-size:10px}.topbar-inner span:last-child{display:none}.nav-wrap{min-height:68px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:20px 24px 25px;box-shadow:0 18px 30px #10263f12;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line)}.main-nav.open{display:flex}.main-nav>a{padding:12px 4px}.main-nav .nav-cta{text-align:center;margin-top:8px}.hero{padding: var(--section-space) 0}.hero-grid,.service-hero-grid{grid-template-columns:1fr;gap:36px}.hero h1{font-size:47px}.hero-lead{font-size:15px}.hero-stats{gap:22px}.hero-stats strong{font-size:23px}.hero-visual{padding:0 5px 15px 15px}.hero-visual>img{height:330px;border-radius:20px 20px 65px 20px}.hero-badge{right:0;top:15px}.floating-card{left:0;bottom:30px}.trust-grid{gap:16px;padding: var(--strip-space) 0}.trust-grid>div{border:0;padding:0}.section{padding: var(--section-space) 0}.section-heading{display:block}.section-heading>p{margin-top:15px}.service-grid,.review-grid,.article-grid{grid-template-columns:1fr}.service-card>img{height:220px}.service-body p{min-height:0}.service-card-cta{grid-column:auto;min-height:0;align-items:flex-start;flex-direction:column}.process-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:30px}.process-step{padding:20px 16px}.step-no{right:13px;top:13px}.why-grid,.about-grid,.location-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.why-image>img{height:350px}.why-copy h2,.section h2{font-size:34px}.review-card>p{min-height:0}.review-cta{align-items:flex-start;flex-direction:column}.brand-list{justify-content:center;gap:18px 26px;font-size:12px}.map-frame{height:320px}.faq-grid{gap:20px}.article-card img{height:220px}.final-cta-inner{align-items:flex-start;flex-direction:column}.final-cta h2{font-size:28px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 22px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:7px}.service-hero{padding: var(--section-space) 0}.service-hero h1{font-size:39px}.service-hero img{height:260px}.issue-grid{grid-template-columns:1fr}.booking-form{grid-template-columns:1fr}.booking-form .full,.booking-form .btn{grid-column:auto}.article-content h1{font-size:34px}}
@media(max-width:400px){.hero h1{font-size:40px}.hero-stats{gap:14px}.hero-stats strong{font-size:21px}.hero-stats small{font-size:9px}.trust-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}

/* Refined visual system */
:root {
  --shadow: 0 18px 48px rgba(16, 38, 63, .12);
  --radius: 22px;
  --line: #e2eaf4;
}

body {
  color: #18283b;
  font-size: 16px;
  letter-spacing: -.01em;
}

::selection { background: #d8e8ff; color: #10263f; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #77aaff;
  outline-offset: 3px;
}

.topbar { background: #0b1c31; font-size: 12px; }
.topbar-inner { min-height: 34px; align-items: center; }
.site-header { box-shadow: 0 8px 26px rgba(16, 38, 63, .055); }
.brand { letter-spacing: .055em; }
.brand-mark {
  background: linear-gradient(145deg, #4b8eff, #1c58d4);
  border-radius: 14px;
  box-shadow: 0 9px 22px rgba(35, 102, 232, .28);
}
.brand small { font-size: 10px; }
.main-nav { color: #455c75; gap: 14px; }
.main-nav > a:not(.nav-cta) { padding: 10px 12px; border-radius: 9px; transition: background .2s, color .2s; }
.main-nav > a:not(.nav-cta):hover, .main-nav .active { background: #f0f5ff; color: var(--blue); }
.nav-cta { background: linear-gradient(135deg, #183957, #10263f); box-shadow: 0 8px 18px rgba(16, 38, 63, .14); }
.menu-toggle { width: 46px; height: 46px; place-items: center; cursor: pointer; transition: background .2s, transform .2s; }
.menu-toggle:hover { background: #eaf2ff; transform: translateY(-1px); }
.menu-toggle { border: 1px solid #dce6f2; background: #f4f8ff; border-radius: 13px; box-shadow: 0 5px 14px rgba(16, 38, 63, .07); }

.hero {
  position: relative;
  background: radial-gradient(ellipse at 88% 12%, rgba(201, 224, 255, .62), transparent 34%), linear-gradient(118deg, #f3f8ff 0%, #fff 50%, #eff8fb 100%);
  padding: var(--section-space) 0;
}
.hero-grid { gap: clamp(38px, 6vw, 82px); }
.hero h1 { font-size: clamp(44px, 5.6vw, 72px); line-height: 1.04; letter-spacing: -.065em; }
.hero h1 em { color: #2165e5; }
.hero-lead { color: #526981; font-size: 18px; line-height: 1.75; }
.hero-actions { gap: 14px; }
.btn { min-height: 48px; padding: 13px 20px; font-size: 14px; border-radius: 12px; }
.btn-primary { background: linear-gradient(135deg, #347bf0, #1d5bd4); box-shadow: 0 11px 24px rgba(35, 102, 232, .25); }
.btn-primary:hover { box-shadow: 0 15px 30px rgba(35, 102, 232, .32); }
.btn-light, .btn-outline { border-color: #d9e4f0; }
.hero-trust { gap: 10px; margin-top: 24px; }
.hero-trust span { padding: 7px 10px; border: 1px solid #e3ebf5; border-radius: 999px; background: rgba(255, 255, 255, .75); font-size: 12px; }
.hero-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 36px; }
.hero-stats div + div { border-left: 1px solid var(--line); padding-left: 20px; }
.hero-stats strong { font-size: 29px; letter-spacing: -.04em; }
.hero-stats small { color: #65798e; font-size: 12px; }
.hero-visual { padding-left: 18px; }
.hero-visual > img { height: 510px; border-radius: 28px 28px 100px 28px; box-shadow: 0 26px 60px rgba(16, 38, 63, .16); }
.hero-visual:before { border-color: #b8d4f4; }
.floating-card { border-radius: 17px; padding: 17px 20px; }
.floating-card strong { font-size: 14px; }
.floating-card small, .hero-badge span { font-size: 12px; }
.hero-badge { border-radius: 17px; background: linear-gradient(145deg, #183957, #0c2037); }

.eyebrow {
  padding: 6px 10px;
  border: 1px solid #dce9fc;
  border-radius: 999px;
  background: #f1f6ff;
  font-size: 11px;
  letter-spacing: .12em;
}
.section { padding: var(--section-space) 0; }
.section-heading { margin-bottom: 42px; }
.section-heading h2, .section h2, .brands-section h2, .final-cta h2 { letter-spacing: -.05em; }
.section-heading>p { max-width: 440px; color: #60758b; font-size: 15px; line-height: 1.75; }

.trust-strip { background: linear-gradient(180deg, #fff, #f8fbff); }
.trust-grid { padding: var(--strip-space) 0; }
.trust-grid>div { border-right-color: #e7edf5; }
.trust-icon { background: linear-gradient(145deg, #edf4ff, #e6f7f7); color: #2165e5; border-radius: 13px; }
.trust-grid strong { font-size: 14px; }
.trust-grid small { font-size: 12px; }

.service-grid { gap: 22px; }
.service-card { border-color: #e4ebf4; border-radius: 21px; box-shadow: 0 7px 22px rgba(16, 38, 63, .045); }
.service-card:hover { box-shadow: 0 18px 38px rgba(16, 38, 63, .12); }
.service-card>img { height: 220px; transition: transform .45s ease; }
.service-card:hover>img { transform: scale(1.035); }
.service-body { padding: 23px 24px 26px; }
.service-number { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #eff5ff; font-size: 10px; letter-spacing: .1em; }
.service-body h3 { font-size: 21px; letter-spacing: -.035em; }
.service-body p { min-height: 66px; color: #61758b; font-size: 14px; line-height: 1.65; }
.text-link { font-size: 13px; }
.service-card-cta {
  grid-column: 1 / -1;
  min-height: 0;
  padding: 27px 32px;
  border: 0;
  border-radius: 22px;
  background: radial-gradient(circle at 90% 0%, rgba(76, 143, 255, .32), transparent 36%), linear-gradient(120deg, #10263f, #183957);
  box-shadow: 0 18px 38px rgba(16, 38, 63, .16);
}
.service-card-cta-copy { gap: 18px; }
.service-card-cta .cta-symbol { background: rgba(255,255,255,.12); color: #7ce1d0; border-radius: 16px; }
.service-card-cta h3 { font-size: 24px; }
.service-card-cta p { color: #c8d7e8; font-size: 14px; }
.service-card-cta .eyebrow { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.08); }

.process-section { background: linear-gradient(180deg, #f4f8fd, #f7faff); }
.process-grid { gap: 18px; }
.process-step { border-color: #e5edf6; border-radius: 20px; box-shadow: 0 8px 24px rgba(16, 38, 63, .045); transition: transform .2s, box-shadow .2s; }
.process-step:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(16, 38, 63, .09); }
.step-no { display: grid; place-items: center; min-width: 31px; min-height: 31px; border-radius: 999px; background: #f1f6ff; color: #5c8ce0; }
.step-icon { background: linear-gradient(145deg, #edf4ff, #e6f7f7); border-radius: 15px; }
.process-step h3 { font-size: 17px; }
.process-step p { color: #63778c; font-size: 14px; line-height: 1.65; }

.why-section { background: #fff; }
.why-image>img { border-radius: 26px; box-shadow: 0 22px 52px rgba(16, 38, 63, .13); }
.image-caption { border: 1px solid #edf1f6; border-radius: 16px; }
.image-caption span { font-size: 13px; }
.why-copy h2 { line-height: 1.12; }
.benefit-list { gap: 19px; }
.benefit-list>div>span { box-shadow: inset 0 0 0 1px rgba(7, 154, 125, .1); }
.benefit-list strong { font-size: 14px; }
.benefit-list p { color: #63778c; font-size: 13px; line-height: 1.6; }

.review-section { background: linear-gradient(180deg, #f7faff, #f2f6fc); }
.review-card { border-color: #e5edf6; border-radius: 20px; box-shadow: 0 8px 24px rgba(16, 38, 63, .045); }
.review-card>p { color: #50667e; font-size: 14px; line-height: 1.75; }
.review-person strong { font-size: 13px; }
.review-person small { font-size: 12px; }
.review-cta { background: linear-gradient(115deg, #122c49, #1b4770); border-radius: 19px; padding: 23px 27px; }
.review-cta p { font-size: 13px; }
.review-form { border-radius: 19px; box-shadow: 0 10px 28px rgba(16, 38, 63, .06); }
.form-grid label { font-size: 13px; }
.form-note { font-size: 12px; line-height: 1.6; }

.brands-section { background: #f7faff; border-color: #e7edf5; }
.brands-section h2 { font-size: 30px; }
.brand-list { justify-content: center; gap: 12px; font-size: 14px; }
.brand-list .brand-logo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; width: 156px; height: 76px; padding: 10px 18px; border: 1px solid #e5edf6; border-radius: 12px; background: #fff; box-shadow: 0 4px 14px rgba(16, 38, 63, .035); }
.brand-list .brand-logo img { width: 32px; height: 32px; object-fit: contain; }
.brand-list .brand-name { color: #536980; font: 800 11px/1.1 Manrope, sans-serif; letter-spacing: .06em; }
.about-section { background: linear-gradient(120deg, #f3f8ff, #f7fbfd); }
.about-grid { gap: 60px; }
.about-grid p { color: #526981; font-size: 15px; line-height: 1.85; }

.location-detail { padding: 14px; border: 1px solid #e8eef5; border-radius: 15px; background: #fbfdff; }
.location-detail>span { border-radius: 12px; }
.location-detail strong { font-size: 13px; }
.location-detail p { color: #60758b; font-size: 13px; line-height: 1.6; }
.map-frame { border-radius: 23px; box-shadow: 0 20px 48px rgba(16, 38, 63, .12); }
.faq-section { background: linear-gradient(180deg, #f4f8fd, #f8fbff); }
.accordion details { margin-bottom: 10px; padding: 18px 20px; border: 1px solid #e4ebf4; border-radius: 15px; background: #fff; box-shadow: 0 4px 14px rgba(16, 38, 63, .035); }
.accordion details:first-child { border-top: 1px solid #e4ebf4; }
.accordion summary { font-size: 14px; }
.accordion details p { color: #60758b; font-size: 13px; line-height: 1.7; }

.article-grid { gap: 22px; }
.article-card { border-color: #e4ebf4; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(16, 38, 63, .045); transition: transform .22s, box-shadow .22s; }
.article-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(16, 38, 63, .11); }
.article-card img { height: 210px; }
.article-tag { font-size: 10px; letter-spacing: .12em; }
.article-card h3 { font-size: 19px; letter-spacing: -.025em; }
.article-card p { color: #63778c; font-size: 14px; line-height: 1.6; }

.final-cta { background: radial-gradient(circle at 88% 15%, rgba(180, 213, 255, .25), transparent 28%), linear-gradient(120deg, #1c5bcf, #2878ed); padding: var(--section-space) 0; }
.final-cta h2 { font-size: clamp(30px, 3.3vw, 42px); }
.final-cta p { font-size: 15px; }
.btn-white, .btn-ghost { min-height: 50px; }
.site-footer { background: #0b1c31; }
.footer-grid { gap: 38px; }
.footer-grid>div:first-child>p { font-size: 13px; }
.footer-grid h4 { font-size: 13px; }
.footer-grid a:not(.brand), .footer-grid p { font-size: 12px; line-height: 1.65; }
.footer-grid small { font-size: 11px; }
.footer-bottom { font-size: 11px; padding-bottom: 20px; }
.floating-whatsapp { width: 58px; height: 58px; right: 24px; bottom: 24px; background: #18b969; box-shadow: 0 12px 28px rgba(24, 185, 105, .34); }

.service-hero { background: radial-gradient(ellipse at 90% 10%, rgba(201, 224, 255, .48), transparent 35%), linear-gradient(120deg, #f3f8ff, #fff 56%, #f1f9fb); padding: var(--section-space) 0; }
.service-hero-grid { gap: clamp(36px, 5.5vw, 72px); }
.service-hero h1 { font-size: clamp(40px, 4.7vw, 58px); letter-spacing: -.06em; }
.service-hero p { color: #526981; font-size: 16px; line-height: 1.75; }
.service-hero img { height: 400px; border-radius: 26px; box-shadow: 0 22px 52px rgba(16, 38, 63, .14); }
.breadcrumbs { font-size: 12px; }
.service-points span { padding: 9px 12px; border-radius: 10px; background: #fff; font-size: 12px; }
.issue-grid { gap: 20px; }
.issue-card { border-color: #e4ebf4; border-radius: 18px; background: #fff; box-shadow: 0 7px 20px rgba(16, 38, 63, .04); transition: transform .2s, box-shadow .2s; }
.issue-card:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(16, 38, 63, .09); }
.issue-card h3 { font-size: 18px; }
.issue-card p { color: #61758b; font-size: 14px; line-height: 1.65; }
.booking-panel { border: 1px solid rgba(255,255,255,.12); border-radius: 23px; background: radial-gradient(circle at 100% 0%, rgba(76,143,255,.22), transparent 42%), linear-gradient(145deg, #132d4b, #0e223a); box-shadow: 0 20px 48px rgba(16, 38, 63, .18); }
.booking-panel h2 { font-size: 30px !important; }
.booking-panel p { font-size: 14px; line-height: 1.65; }
.booking-form { gap: 15px; }
.booking-form label { font-size: 13px; }
.booking-form input, .booking-form select, .booking-form textarea { min-height: 46px; border-radius: 10px; background: rgba(255,255,255,.08); }
.article-content { max-width: 820px; }
.article-content h1 { font-size: clamp(36px, 4.3vw, 48px); letter-spacing: -.05em; }
.article-content h2 { font-size: 27px; }
.article-content p, .article-content li { color: #526981; font-size: 16px; line-height: 1.85; }
.article-warning { border-radius: 0 14px 14px 0; }

@media (max-width: 1024px) {
  .menu-toggle { display: grid; }
  .main-nav { left: 2.5%; right: 2.5%; width: 95%; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 18px 18px; box-shadow: 0 18px 36px rgba(16, 38, 63, .14); gap: 3px; }
  .hero-visual > img { height: 440px; }
  .service-hero img { height: 350px; }
}

@media (max-width: 760px) {
  .hero { padding: var(--section-space) 0; }
  .hero-grid { gap: 32px; }
  .hero h1 { font-size: clamp(37px, 6vw, 46px); }
  .hero-lead { font-size: 16px; }
  .hero-visual > img { height: 330px; border-radius: 21px 21px 68px 21px; }
  .hero-stats { margin-top: 28px; }
  .hero-stats div + div { padding-left: 14px; }
  .hero-stats strong { font-size: 24px; }
  .trust-grid { padding: var(--strip-space) 0; }
  .section { padding: var(--section-space) 0; }
  .section-heading { margin-bottom: 30px; }
  .section-heading h2, .section h2 { font-size: clamp(30px, 4.3vw, 34px); }
  .service-grid, .review-grid, .article-grid { gap: 16px; }
  .service-card>img { height: 225px; }
  .service-body p { min-height: 0; }
  .service-card-cta { padding: 24px; flex-direction: column; align-items: flex-start; }
  .service-card-cta-copy { align-items: flex-start; }
  .service-card-cta h3 { font-size: 23px; }
  .process-grid { gap: 14px; }
  .why-grid, .about-grid, .location-grid, .faq-grid { gap: 30px; }
  .why-image>img { height: 350px; }
  .review-card { padding: 22px; }
  .map-frame { height: 340px; }
  .final-cta { padding: var(--section-space) 0; }
  .footer-grid { gap: 30px 22px; }
  .service-hero { padding: var(--section-space) 0; }
  .service-hero h1 { font-size: clamp(38px, 8vw, 46px); }
  .service-hero img { height: 280px; }
  .booking-panel { padding: 25px; }
  .article-content h1 { font-size: 36px; }
}

/* Responsive navigation toggle and mobile menu panel. */
.nav-wrap { position: relative; }
.menu-toggle {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  overflow: hidden;
  border: 1px solid #d8e4f2;
  border-radius: 12px;
  background: #f3f7fd;
  color: var(--navy);
  box-shadow: 0 5px 14px rgba(16, 38, 63, .07);
}
.menu-toggle-line {
  position: absolute;
  left: 11px;
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transition: transform .22s ease, opacity .16s ease, top .22s ease;
}
.menu-toggle-line:nth-child(1) { top: 14px; }
.menu-toggle-line:nth-child(2) { top: 21px; }
.menu-toggle-line:nth-child(3) { top: 28px; }
.menu-toggle.is-open .menu-toggle-line:nth-child(1) { top: 21px; transform: rotate(45deg); }
.menu-toggle.is-open .menu-toggle-line:nth-child(2) { opacity: 0; transform: translateX(8px); }
.menu-toggle.is-open .menu-toggle-line:nth-child(3) { top: 21px; transform: rotate(-45deg); }
.menu-toggle:hover { background: #eaf2ff; }
.menu-toggle:active { transform: scale(.96); }

@media (max-width: 1024px) {
  .main-nav {
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    width: 100%;
    padding: 12px;
    gap: 4px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: rgba(255,255,255,.99);
    box-shadow: 0 20px 45px rgba(16, 38, 63, .17);
    transform-origin: top right;
    align-items: stretch;
    text-align: left;
  }
  .main-nav > a {
    justify-content: flex-start;
    text-align: left;
  }
  .main-nav.open { animation: mobile-nav-in .3s ease-out both; }
  .main-nav > a:not(.nav-call):not(.nav-cta) {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 14px;
  }
  .main-nav > a.active { box-shadow: inset 3px 0 var(--blue); }
  .main-nav > a.nav-call,
  .main-nav > a.nav-cta {
    justify-content: flex-start;
    margin-top: 5px;
    border-radius: 10px;
    text-align: left;
  }
}
@keyframes mobile-nav-in {
  from { opacity: 0; transform: translateY(-8px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .menu-toggle-line { transition: none; }
  .main-nav.open { animation: none; }
}

/* High-contrast label on the blue closing call-to-action. */
.final-cta .eyebrow {
  color: #fff;
  background: #164cae;
  border-color: #8db9ff;
}

@media (max-width: 440px) {
  .topbar-inner { font-size: 11px; }
  .hero h1 { font-size: clamp(35px, 8.4vw, 37px); }
  .hero-actions .btn { flex: 0 1 auto; }
  .hero-stats { gap: 9px; }
  .hero-stats div + div { padding-left: 9px; }
  .hero-stats strong { font-size: 21px; }
  .hero-stats small { font-size: 11px; }
  .floating-card { left: -3px; bottom: 23px; padding: 13px 14px; }
  .hero-badge { padding: 12px 14px; }
  .process-grid { grid-template-columns: 1fr; }
  .review-cta { padding: 20px; }
  .map-frame { height: 300px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid>div:first-child { grid-column: auto; }
  .service-card-cta-copy { gap: 13px; }
  .service-card-cta .cta-symbol { width: 42px; height: 42px; }
}
.floating-whatsapp svg { display: block; width: 27px; height: 27px; flex: none; }

/* WhatsApp actions use the brand green and logo consistently across pages. */
.whatsapp-action:not(.floating-whatsapp) {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.whatsapp-action:not(.floating-whatsapp)::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  background: currentColor;
  -webkit-mask: url("whatsapp.svg") center / contain no-repeat;
  mask: url("whatsapp.svg") center / contain no-repeat;
}
.main-nav .whatsapp-action,
.btn.whatsapp-action {
  background: #25d366;
  border-color: #25d366;
  color: #fff;
  box-shadow: 0 10px 22px rgba(37, 211, 102, .24);
}
.main-nav .whatsapp-action:hover,
.btn.whatsapp-action:hover {
  background: #1ebe5d;
  border-color: #1ebe5d;
  color: #fff;
  box-shadow: 0 13px 27px rgba(37, 211, 102, .3);
}
.footer-grid a.whatsapp-action,
.footer-grid a.whatsapp-action:hover {
  color: #25d366;
}
.text-link.whatsapp-action,
.text-link.whatsapp-action:hover {
  color: #25d366;
}
.main-nav > a.nav-call {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 15px;
  border: 1px solid #d9e4f0;
  border-radius: 10px;
  background: #f1f6ff;
  color: #1d5bd4;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  transition: background .2s, border-color .2s, color .2s;
}
.main-nav > a.nav-call:hover {
  background: #1d5bd4;
  border-color: #1d5bd4;
  color: #fff;
}
@media (max-width: 1024px) {
  .main-nav > a.nav-call,
  .main-nav > a.nav-cta {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    justify-content: flex-start;
    margin-top: 8px;
    padding: 12px 16px;
    box-sizing: border-box;
    text-align: left;
  }
}

/* Simple customer feedback cards */
.review-section {
  overflow: hidden;
  padding: var(--section-space) 0;
  background: radial-gradient(ellipse at 10% 5%, #e4f0ff 0, transparent 34%), linear-gradient(180deg, #f6f9ff, #eef4fc);
}
.review-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 34px; }
.review-heading h2 { max-width: 680px; margin: 10px 0 0; font: 800 clamp(32px, 4vw, 49px)/1.08 Manrope, sans-serif; letter-spacing: -.055em; color: var(--navy); }
.review-intro { max-width: 390px; margin: 0 0 4px; color: #60758b; font-size: 13px; line-height: 1.7; }
.review-marquee { overflow: hidden; margin-top: 32px; }
.review-marquee-track { display: flex; width: max-content; animation: review-marquee-scroll 38s linear infinite; }
/* Touch browsers can retain :hover after a swipe; pause only for a mouse or keyboard. */
@media (hover: hover) and (pointer: fine) {
  .review-marquee:hover .review-marquee-track { animation-play-state: paused; }
}
.review-marquee:focus-visible .review-marquee-track { animation-play-state: paused; }
.review-grid { display: flex; flex: 0 0 auto; flex-wrap: nowrap; gap: 18px; width: max-content; margin: 0; padding: 0 9px; }
.review-card { display: flex; flex: 0 0 auto; width: clamp(280px, 30vw, 380px); min-width: 0; min-height: 250px; flex-direction: column; padding: 25px; border: 1px solid #e0e8f2; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(16, 38, 63, .055); transition: box-shadow .25s ease, border-color .25s ease, transform .25s ease; }
.review-card:hover { transform: translateY(-4px); border-color: #cbdcf0; box-shadow: 0 16px 34px rgba(16, 38, 63, .1); }
.review-card .stars { color: #efa72d; letter-spacing: 3px; font-size: 14px; }
.review-card > p { flex: 1; min-height: 0; margin: 16px 0 22px; color: #3e536b; font-size: 15px; line-height: 1.75; }
.review-card .review-person { margin-top: auto; border-top: 1px solid #e7edf4; padding-top: 16px; }
.review-cta { margin-top: 22px; }
@keyframes review-marquee-scroll { to { transform: translateX(-50%); } }

.brand-marquee { position: relative; overflow: hidden; margin-top: 27px; padding: 9px 0; }
.brand-marquee::before, .brand-marquee::after { position: absolute; z-index: 1; top: 0; bottom: 0; width: clamp(28px, 7vw, 100px); content: ""; pointer-events: none; }
.brand-marquee::before { left: 0; background: linear-gradient(90deg, #f7faff, transparent); }
.brand-marquee::after { right: 0; background: linear-gradient(270deg, #f7faff, transparent); }
.brand-marquee-track { display: flex; width: max-content; animation: brand-marquee-scroll 34s linear infinite; }
.brand-marquee:hover .brand-marquee-track, .brand-marquee:focus .brand-marquee-track { animation-play-state: paused; }
.brand-list { flex: 0 0 auto; flex-wrap: nowrap; justify-content: flex-start; gap: 13px; padding: 0 7px; }
.brand-list .brand-logo { flex: 0 0 auto; border-radius: 14px; }
@keyframes brand-marquee-scroll { to { transform: translateX(-50%); } }
@media (max-width: 760px) {
  .review-section { padding: var(--section-space) 0; }
  .review-heading { display: block; margin-bottom: 24px; }
  .review-intro { margin-top: 14px; }
  .review-marquee { margin-top: 24px; }
  /* Allow more reading time per card on narrow screens. */
  .review-marquee-track { animation-duration: 76s; }
  .review-grid { gap: 14px; }
  .review-card { width: min(82vw, 360px); }
  .review-card { min-height: 0; padding: 22px; }
  .review-card > p { margin: 13px 0 19px; }
  .brand-marquee { margin-top: 22px; }
  .brand-marquee-track { animation-duration: 54s; }
  .brand-list { gap: 9px; }
  .brand-list .brand-logo { width: 138px; height: 68px; padding: 8px 14px; }
  .brand-list .brand-logo img { width: 28px; height: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .review-marquee { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .review-marquee-track { animation: none; }
  .review-grid[aria-hidden="true"] { display: none; }
  .review-card { scroll-snap-align: start; }
  .brand-marquee { overflow-x: auto; scrollbar-width: thin; }
  .brand-marquee::before, .brand-marquee::after { display: none; }
  .brand-marquee-track { animation: none; }
  .brand-list[aria-hidden="true"] { display: none; }
}

/* Keep the shared layouts aligned on narrow screens. */
@media (max-width: 760px) {
  .container { width: calc(100% - 32px); }
  .nav-wrap { gap: 12px; }
  .brand { min-width: 0; gap: 9px; font-size: 13px; }
  .brand > span:last-child { min-width: 0; }
  .main-nav {
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    overflow-y: auto;
  }

  .hero-grid > *,
  .service-hero-grid > *,
  .why-grid > *,
  .about-grid > *,
  .location-grid > *,
  .faq-grid > *,
  .section-heading > *,
  .review-heading > *,
  .footer-grid > * { min-width: 0; }

  .hero h1,
  .section-heading h2,
  .section h2,
  .review-heading h2,
  .brands-section h2,
  .final-cta h2,
  .service-hero h1,
  .article-content h1 { text-wrap: balance; }

  .hero-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero-stats div + div { padding-left: clamp(8px, 2.4vw, 14px); }
  .hero-stats small { line-height: 1.4; }
  .hero-visual { padding-left: 10px; padding-right: 6px; }
  .floating-card { max-width: calc(100% - 8px); }

  .service-card-cta,
  .service-card-cta-copy { width: 100%; min-width: 0; }
  .service-card-cta-copy > div,
  .location-detail > div { min-width: 0; }
  .service-card-cta .btn { width: auto; max-width: 100%; }
  .review-cta,
  .final-cta-inner > * { width: 100%; }
  .final-cta .hero-actions { width: 100%; }

  .accordion summary { align-items: flex-start; }
  .accordion summary::after { flex: 0 0 auto; }
  .map-frame iframe { width: 100%; }
  .floating-whatsapp {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 440px) {
  .eyebrow { max-width: 100%; letter-spacing: .08em; line-height: 1.4; }
  .hero h1 { font-size: clamp(32px, 9vw, 37px); }
  .hero-stats { gap: 8px; }
  .hero-stats div + div { padding-left: 8px; }
  .hero-stats strong { font-size: 21px; }
  .hero-stats small { font-size: 10px; }
  .hero-visual { padding-left: 8px; padding-right: 4px; }
  .floating-card { left: -2px; padding: 12px; }
  .service-card-cta { padding: 22px 20px; }
  .final-cta h2 { font-size: clamp(26px, 8vw, 31px); }
  .floating-whatsapp { width: 52px; height: 52px; }
}

/* Readability and responsive refinements. */
.container { max-width: 1440px; }
.brand-mark, .trust-icon { flex-shrink: 0; }

/* White text needs a deeper green than the WhatsApp logo color. */
.main-nav .whatsapp-action,
.btn.whatsapp-action {
  background: #087d43;
  border-color: #087d43;
}
.main-nav .whatsapp-action:hover,
.btn.whatsapp-action:hover {
  background: #066536;
  border-color: #066536;
}
.text-link.whatsapp-action,
.text-link.whatsapp-action:hover { color: #087d43; }

@media (max-width: 1024px) {
  .main-nav {
    max-height: calc(100vh - 90px);
    max-height: calc(100dvh - 90px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 760px) {
  .booking-form input,
  .booking-form select,
  .booking-form textarea,
  .form-grid input,
  .form-grid select,
  .form-grid textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Preserve the full technician scene and embroidered branding. */
.hero-visual > img.service-photo,
.why-image > img.service-photo,
.service-card > img.service-photo,
.article-card img.service-photo,
.service-hero img.service-photo {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
}

.btn .button-icon, .nav-call .button-icon { display: block; width: 19px; height: 19px; flex: 0 0 19px; }

/* Shared service booking dialog. */
body.booking-dialog-open { overflow: hidden; }
.service-booking-dialog {
  width: min(720px, calc(100% - 32px));
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 30px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--line);
  border-radius: 22px;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 24px 80px #10263f40;
}
.service-booking-dialog::backdrop { background: #0b1c31b8; backdrop-filter: blur(4px); }
.service-booking-dialog { scrollbar-width: none; }
.service-booking-dialog::-webkit-scrollbar { display: none; }
.booking-dialog-heading { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 22px; }
.booking-dialog-heading h2 { margin: 0; font: 800 28px/1.2 Manrope, sans-serif; color: var(--navy); }
.booking-dialog-heading p, .booking-submit-note { color: #526981; font-size: 14px; line-height: 1.6; }
.booking-dialog-heading p { margin: 10px 0 0; }
.booking-close { flex: 0 0 44px; height: 44px; margin-left: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--navy); font-size: 28px; cursor: pointer; }
.booking-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.booking-field { min-width: 0; }
.booking-full { grid-column: 1 / -1; }
.booking-field label { display: block; margin-bottom: 6px; color: var(--navy); font-size: 14px; font-weight: 700; }
.booking-field input, .booking-field select, .booking-field textarea { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 11px 12px; border: 1px solid #bdcbdc; border-radius: 10px; color: var(--ink); background: #fff; font: inherit; font-size: 16px; }
.booking-field textarea { resize: vertical; }
.booking-field [aria-invalid="true"] { border-color: #b42318; }
.booking-error { display: block; color: #b42318; font-size: 13px; margin-top: 4px; }
.booking-error:empty { display: none; }
.booking-status { font-size: 14px; color: var(--navy); }
.booking-status:empty { display: none; }
.booking-fallback { display: inline-block; padding: 8px 0; text-decoration: underline; }
.booking-fallback[hidden] { display: none; }
@media (max-width: 560px) {
  .service-booking-dialog { padding: 20px; border-radius: 16px; }
  .booking-fields { grid-template-columns: 1fr; }
  .booking-full { grid-column: auto; }
  .booking-dialog-heading h2 { font-size: 24px; }
  #service-booking-form > .btn { width: 100%; }
}

/* Shared vertical rhythm: equal top/bottom space, scaled by viewport. */
@media (max-width: 760px) {
  .btn {
    min-height: 44px;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.4;
    border-radius: 10px;
    max-width: 100%;
    white-space: normal;
  }
  .hero-actions { gap: 10px; }
  .nav-wrap > .nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
    border-radius: 10px;
    white-space: nowrap;
  }
  .main-nav > a.nav-call,
  .main-nav > a.nav-cta {
    min-height: 44px;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.4;
  }
  .btn .button-icon { width: 17px; height: 17px; flex-basis: 17px; }
  .btn.whatsapp-action { gap: 7px; }
  .btn.whatsapp-action::before { width: 17px; height: 17px; flex-basis: 17px; }

  .service-card-cta {
    align-items: stretch;
    gap: 20px;
    padding: 24px 20px;
  }
  .service-card-cta-copy {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .service-card-cta .cta-symbol {
    width: 42px;
    height: 42px;
    margin: 0;
  }
  .service-card-cta .eyebrow { line-height: 1.35; }
  .service-card-cta h3 { margin: 7px 0 6px; line-height: 1.25; }
  .service-card-cta p { line-height: 1.65; }
  .service-card-cta > .btn {
    align-self: flex-start;
    width: auto;
    white-space: nowrap;
  }
  .section-heading.centered { text-align: left; }
  .section-heading.centered > p { margin: 13px 0 0; }
  .brands-section > .container { text-align: left; }
}

:root {
  --section-space: 80px;
  --hero-top-space: 48px;
  --strip-space: 24px;
}
@media (max-width: 1024px) {
  :root { --section-space: 64px; --hero-top-space: 36px; }
}
@media (max-width: 760px) {
  :root { --section-space: 48px; --hero-top-space: 28px; --strip-space: 20px; }
}
.hero, .service-hero { padding-top: var(--hero-top-space); }
@media (max-width: 760px) {
  .hero-visual .floating-card,
  .hero-visual .hero-badge { display: none; }
  .hero-visual { padding: 0; }
  .hero-visual > img.service-photo {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: 17% center;
  }
}

/* Supplied business logo, preserving the original artwork. */
.brand .brand-logo-image {
  display: block;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  object-fit: contain;
  border-radius: 13px;
  background: transparent;
  box-shadow: 0 8px 20px rgba(16, 38, 63, .18);
}
@media (max-width: 760px) {
  .brand .brand-logo-image { width: 42px; height: 42px; flex-basis: 42px; }
}
