/* MAUBELL UNIFIED SYSTEM — 2026 */
:root{--u-blue:#2b74f5;--u-navy:#0b2d69;--u-deep:#061b47;--u-sky:#76dcff;--u-ice:#eaf7ff;--u-footer:#d8efff;--u-line:#d8e7f5;--u-text:#102f6a;--u-muted:#6e7f98;--u-radius:30px;--u-container:1240px}
html{scroll-behavior:smooth;overflow-x:clip}.unified-site{overflow-x:clip;background:#fff}.unified-site *{box-sizing:border-box}.unified-site img{max-width:100%}
.unified-site .container{width:min(var(--u-container),calc(100% - 48px))!important;margin-inline:auto!important}
/* Header */
.u-site-header{position:absolute;z-index:500;left:0;right:0;top:14px;padding:0 18px;transition:.28s ease}.u-site-header.is-sticky{position:fixed;top:10px}.u-nav-shell{width:min(1320px,100%);height:78px;margin:auto;padding:0 14px 0 20px;border-radius:28px;display:flex;align-items:center;gap:24px;background:rgba(255,255,255,.97);box-shadow:0 10px 38px rgba(7,38,88,.09);backdrop-filter:blur(14px);border:1px solid rgba(35,116,245,.08)}
.u-brand{display:flex;align-items:center;flex:0 0 auto}.u-logo-full{width:190px;height:auto;display:block}.u-logo-mark{display:none;width:46px;height:46px;object-fit:contain}
.u-desktop-nav{margin-left:auto;display:flex;align-items:center;gap:6px}.u-nav-link,.u-services-trigger{height:42px;padding:0 14px;border:0;border-radius:999px;display:inline-flex;align-items:center;gap:7px;background:transparent;color:#17345f;font:700 13px/1 Inter,Arial,sans-serif;cursor:pointer;transition:.2s ease}.u-nav-link:hover,.u-nav-link.active,.u-services-trigger:hover,.u-services-wrap.active>.u-services-trigger{background:#eef6ff;color:var(--u-blue)}
.u-services-wrap{position:relative}.u-services-trigger svg{width:14px;height:14px;transition:.2s}.u-services-wrap:hover .u-services-trigger svg,.u-services-wrap:focus-within .u-services-trigger svg{transform:rotate(180deg)}.u-services-dropdown{position:absolute;top:calc(100% + 9px);left:0;min-width:255px;padding:10px;border:1px solid #dce9f5;border-radius:18px;background:#fff;box-shadow:0 20px 50px rgba(7,38,88,.15);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s ease}.u-services-wrap:hover .u-services-dropdown,.u-services-wrap:focus-within .u-services-dropdown{opacity:1;visibility:visible;transform:none}.u-services-dropdown a{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-radius:12px;color:#536784;font-size:12px;font-weight:700}.u-services-dropdown a:hover{background:#edf6ff;color:var(--u-blue)}.u-services-dropdown .view-more{margin-top:5px;background:#eef6ff;color:var(--u-blue)}
.u-book-btn{margin-left:8px;min-height:50px;padding:0 8px 0 20px;border-radius:999px;border:1px solid #b7d9ff;display:inline-flex;align-items:center;gap:13px;background:#eaf5ff;color:var(--u-navy);font-size:12px;font-weight:900;white-space:nowrap;transition:.25s}.u-book-btn span{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--u-blue);color:#fff;font-size:17px}.u-book-btn:hover{transform:translateY(-2px);background:#dceeff}
.u-mobile-toggle{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:15px;background:#eef6ff;position:relative;cursor:pointer}.u-mobile-toggle i,.u-mobile-toggle:before,.u-mobile-toggle:after{content:"";position:absolute;left:12px;right:12px;height:2px;border-radius:99px;background:var(--u-navy);transition:.28s}.u-mobile-toggle:before{top:15px}.u-mobile-toggle i{top:22px}.u-mobile-toggle:after{top:29px}.u-menu-open .u-mobile-toggle:before{top:22px;transform:rotate(45deg)}.u-menu-open .u-mobile-toggle i{opacity:0}.u-menu-open .u-mobile-toggle:after{top:22px;transform:rotate(-45deg)}
.u-mobile-panel{position:fixed;z-index:490;inset:0;padding:104px 20px 26px;background:linear-gradient(155deg,#061b47,#0b2d69 68%,#154d9d);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:.3s ease;overflow:auto}.u-mobile-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.u-mobile-menu{width:min(680px,100%);min-height:calc(100vh - 130px);margin:auto;display:flex;flex-direction:column}.u-mobile-menu>a,.u-mobile-services-toggle{width:100%;padding:17px 4px;border:0;border-bottom:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:space-between;background:transparent;color:#fff;text-align:left;font:800 clamp(22px,5vw,32px)/1.1 "Plus Jakarta Sans",Inter,sans-serif}.u-mobile-services-toggle span:last-child{font-size:22px;transition:.2s}.u-mobile-services.open .u-mobile-services-toggle span:last-child{transform:rotate(45deg)}.u-mobile-services-list{display:grid;grid-template-rows:0fr;transition:.3s}.u-mobile-services-list>div{overflow:hidden}.u-mobile-services.open .u-mobile-services-list{grid-template-rows:1fr}.u-mobile-services-list a{display:block;padding:11px 8px;color:rgba(255,255,255,.72);font-size:14px;font-weight:700}.u-mobile-services-list a:last-child{color:var(--u-sky)}.u-mobile-book{margin-top:auto!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:20px!important;padding:14px 14px 14px 18px!important;background:#fff!important;color:var(--u-navy)!important}.u-mobile-book b{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--u-blue);color:#fff}
/* Unified internal heroes */
.u-page-hero{padding:8px!important;background:#fff!important}.u-page-hero-card{position:relative;width:100%;height:410px;border-radius:30px;overflow:hidden;background:var(--u-deep)}.u-page-hero-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.u-page-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,23,61,.91),rgba(6,36,86,.57) 58%,rgba(6,35,82,.24))}.u-page-hero-content{position:relative;z-index:2;width:min(var(--u-container),calc(100% - 48px));height:100%;margin:auto;padding-top:92px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.u-page-hero-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.u-page-hero h1{margin:14px 0 0!important;color:#fff!important;font:800 clamp(46px,5.3vw,72px)/.98 "Plus Jakarta Sans",Inter,sans-serif!important;letter-spacing:-.05em!important}.u-page-hero-subtitle{max-width:620px;margin:12px 0 0;color:rgba(255,255,255,.78);font-size:13px;line-height:1.65}.u-breadcrumb{margin-top:18px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:rgba(255,255,255,.66);font-size:10px;font-weight:800}.u-breadcrumb a{color:#fff}.u-breadcrumb .current{color:var(--u-sky)}
.u-page-hero.is-compact .u-page-hero-card{height:300px}.u-page-hero.is-compact .u-page-hero-content{padding-top:82px}.u-page-hero.is-compact h1{font-size:clamp(36px,4vw,54px)!important}.u-page-hero.is-compact .u-page-hero-subtitle{display:none}
/* Global rhythm + safe containers */
.unified-site section:not(.hero):not(.u-page-hero){scroll-margin-top:105px}.unified-site .section-title{letter-spacing:-.04em}.unified-site p,.unified-site h1,.unified-site h2,.unified-site h3,.unified-site h4{overflow-wrap:anywhere}.unified-site .faq-footer-bridge{margin-top:0}
/* Footer */
.u-footer{position:relative;background:linear-gradient(180deg,#dff2ff,#caeaff);color:var(--u-navy);padding:62px 0 24px;overflow:hidden}.u-footer:before{content:"";position:absolute;width:380px;height:380px;right:-120px;top:-170px;border-radius:50%;background:rgba(43,116,245,.08)}.u-footer-grid{position:relative;display:grid;grid-template-columns:1.35fr .72fr .92fr 1fr;gap:34px;align-items:start}.u-footer-logo{width:180px;height:auto}.u-footer-brand p{max-width:340px;margin:16px 0 18px;color:#607592;font-size:12px;line-height:1.75}.u-footer h4{margin:0 0 14px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.u-footer-links{display:grid;gap:8px}.u-footer-links a{color:#5d7290;font-size:12px;line-height:1.45}.u-footer-links a:hover{color:var(--u-blue)}.u-footer-contact{display:grid;gap:9px}.u-footer-contact a,.u-footer-contact span{color:#5d7290;font-size:12px;line-height:1.55}.u-footer-contact strong{color:var(--u-navy)}.u-footer-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.u-social{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #cfe4f6;color:var(--u-blue);font-size:11px;font-weight:900;transition:.2s}.u-social:hover{transform:translateY(-3px);background:var(--u-blue);color:#fff}.u-footer-book{display:inline-flex;margin-top:18px;padding:12px 16px;border-radius:999px;background:var(--u-blue);color:#fff!important;font-size:10px!important;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.u-footer-bottom{position:relative;margin-top:38px;padding-top:17px;border-top:1px solid rgba(43,116,245,.13);display:flex;align-items:center;justify-content:space-between;gap:18px;color:#7890ac;font-size:10px}
/* Responsive card consistency */
@media(max-width:1024px){
 .unified-site .container{width:min(var(--u-container),calc(100% - 32px))!important}.u-desktop-nav,.u-book-btn{display:none}.u-mobile-toggle{display:block}.u-logo-full{display:none}.u-logo-mark{display:block}.u-nav-shell{height:68px;padding:0 10px 0 13px;border-radius:22px}.u-site-header{top:10px;padding:0 12px}
 .u-page-hero-card{height:360px}.u-page-hero-content{padding-top:75px;width:calc(100% - 42px)}.u-page-hero.is-compact .u-page-hero-card{height:270px}.u-page-hero.is-compact .u-page-hero-content{padding-top:65px}
 .intro-stats,.trust-stats,.why-choice-grid,.reviews-values,.contact-info-grid,.services-grid,.projects-grid,.about-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
 .services-grid .service-card,.projects-grid .project-card,.why-choice-card,.reviews-value,.contact-info-card,.intro-stat,.trust-stat{min-width:0!important;width:auto!important}
 .process-shell{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;height:auto!important;min-height:0!important}.process-line{display:none!important}.process-step,.process-step.one,.process-step.two,.process-step.three{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;max-width:none!important;transform:none!important;margin:0!important;min-height:230px!important}
 .service-area-grid,.why-us-grid,.about-main-grid,.mv-grid,.quote-grid,.faq-grid{gap:30px!important}
 .service-detail-grid{grid-template-columns:230px minmax(0,1fr)!important;gap:24px!important}.service-side-list{display:grid!important;grid-template-columns:1fr!important}
 .u-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.u-footer-brand{grid-column:1/-1}.u-footer-contact-wrap{grid-column:1/-1}.u-footer-bottom{justify-content:center;text-align:center}
}
@media(max-width:700px){
 .unified-site .container{width:calc(100% - 24px)!important}.u-page-hero{padding:6px!important}.u-page-hero-card{height:300px;border-radius:24px}.u-page-hero-content{width:calc(100% - 30px);padding-top:62px;align-items:center;text-align:center}.u-page-hero h1{font-size:clamp(36px,11vw,52px)!important}.u-page-hero-subtitle{font-size:12px;line-height:1.55}.u-breadcrumb{justify-content:center}.u-page-hero.is-compact .u-page-hero-card{height:235px}.u-page-hero.is-compact .u-page-hero-content{padding-top:56px}.u-page-hero.is-compact h1{font-size:clamp(29px,9vw,42px)!important}.u-page-hero-kicker{font-size:8px}
 .intro-stats,.trust-stats,.why-choice-grid,.reviews-values,.contact-info-grid,.services-grid,.projects-grid,.about-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
 .services-grid .service-card,.projects-grid .project-card,.why-choice-card,.reviews-value,.contact-info-card,.intro-stat,.trust-stat{border-radius:18px!important;padding:14px!important;overflow:hidden!important}.service-card-image,.project-image{border-radius:14px!important}.service-card-image img,.project-image img{height:150px!important;object-fit:cover!important}.service-card h3,.project-card h3,.why-choice-card h3{font-size:15px!important;line-height:1.2!important}.service-card-list,.project-card p,.why-choice-card p{font-size:10px!important;line-height:1.5!important}.project-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important}.project-metric{padding:7px 4px!important;min-width:0!important;font-size:9px!important}
 .process-shell{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.process-step,.process-step.one,.process-step.two,.process-step.three{min-height:190px!important;padding:16px!important;border-radius:18px!important}.process-step:nth-of-type(3){grid-column:1/-1!important}.process-step h3{font-size:16px!important}.process-step p{font-size:10px!important;line-height:1.5!important}
 .service-detail-grid{grid-template-columns:1fr!important}.service-sidebar{position:relative!important;top:auto!important}.service-side-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.service-side-list a{font-size:10px!important;padding:10px!important}.service-highlights,.included-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}.service-highlight{padding:12px!important}.service-feature-image,.service-bottom-image{border-radius:18px!important;overflow:hidden}.service-feature-image img{height:260px!important;object-fit:cover}
 .reviews-masonry{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.review-wall-card{padding:14px!important;border-radius:18px!important}.review-wall-card blockquote{font-size:12px!important;line-height:1.55!important;margin:15px 0 18px!important}
 .service-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.service-city-pill{min-width:0!important;font-size:10px!important;padding:10px!important}
 .u-footer{padding-top:48px}.u-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;text-align:center}.u-footer-brand,.u-footer-contact-wrap{grid-column:1/-1}.u-footer-brand p{margin-inline:auto}.u-footer-logo{width:150px}.u-footer-socials{justify-content:center}.u-footer-links{gap:10px}.u-footer-links a{font-size:13px}.u-footer-contact{align-items:center}.u-footer-bottom{display:block;line-height:1.7}
}
@media(max-width:420px){.services-grid .service-card,.projects-grid .project-card{padding:11px!important}.service-card-image img,.project-image img{height:125px!important}.service-card h3,.project-card h3{font-size:13px!important}.u-mobile-panel{padding-inline:14px}.u-page-hero-content{width:calc(100% - 24px)} }
@media(prefers-reduced-motion:reduce){.u-site-header,.u-mobile-panel,.u-mobile-toggle *{transition:none!important}}
/* Final mobile polish for the standalone project detail hero */
@media(max-width:700px){
  .project-detail-page .hero{padding:6px!important}
  .project-detail-page .hero-frame{border-radius:24px!important;overflow:hidden!important}
  .project-detail-page .slide-content{width:calc(100% - 30px)!important;margin-inline:auto!important;text-align:center!important}
  .project-detail-page .slide-copy{margin-inline:auto!important;text-align:center!important;max-width:100%!important}
  .project-detail-page .project-breadcrumb{justify-content:center!important}
  .project-overview-grid,.project-details-grid,.related-projects-grid{grid-template-columns:1fr!important;gap:18px!important}
  .project-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .project-review-card{grid-template-columns:1fr!important}
}

/* ===== MAUBELL UNIFIED V2 FIXES ===== */
/* Sticky header: full-width bar on scroll, preserving the original floating state at top. */
.u-site-header.is-sticky{top:0!important;padding:0!important}
.u-site-header.is-sticky .u-nav-shell{width:100%!important;max-width:none!important;height:72px!important;border-radius:0!important;border-left:0!important;border-right:0!important;box-shadow:0 12px 34px rgba(7,38,88,.13)!important}

/* Contact block inside footer uses two balanced columns. */
.u-footer-contact{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important;row-gap:10px!important}
.u-footer-contact>*{min-width:0!important;overflow-wrap:anywhere}

/* Center the moving sparkle on the underline everywhere. */
.motion-title::before,.reviews-title::before,.estimate-title::before{left:50%!important;transform:translateX(-50%)!important;width:160px!important}
.motion-title::after,.reviews-title::after,.estimate-title::after{left:calc(50% - 80px)!important;animation:uTitleOrb 3.6s ease-in-out infinite!important}
@keyframes uTitleOrb{0%,100%{transform:translateX(0) rotate(0deg)}50%{transform:translateX(138px) rotate(180deg)}}

/* Individual service pages: content first, service directory after FAQs. */
.service-detail-grid{grid-template-columns:1fr!important;max-width:1000px!important}
.u-service-directory{padding:52px 0 66px;background:#f3faff}
.u-service-directory .sidebar-panel{position:relative!important;top:auto!important;max-width:1100px!important;margin:auto!important;padding:28px!important;border-radius:26px!important;background:#fff!important;border:1px solid var(--u-line)!important;box-shadow:none!important}
.u-service-directory .sidebar-panel h3{margin:0 0 18px!important;color:var(--u-navy)!important;font-size:22px!important}
.u-service-directory .service-side-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.u-service-directory .service-side-list a{min-height:52px!important;padding:13px 15px!important;border-radius:14px!important;display:flex!important;align-items:center!important;background:#f7fbff!important;border:1px solid #dceaf7!important;color:#375171!important;font-size:13px!important;font-weight:800!important;line-height:1.25!important}
.u-service-directory .service-side-list a.active,.u-service-directory .service-side-list a:hover{background:var(--u-blue)!important;border-color:var(--u-blue)!important;color:#fff!important}

/* SERVICES page — stable, responsive cards. */
.services-page .services-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;max-width:1180px!important;margin-inline:auto!important}
.services-page .service-card{position:relative!important;display:flex!important;flex-direction:column!important;min-width:0!important;min-height:0!important;height:auto!important;aspect-ratio:auto!important;padding:18px!important;border-radius:24px!important;background:#fff!important;border:1px solid #dbe8f5!important;overflow:hidden!important;box-shadow:none!important}
.services-page .service-card-head{display:flex!important;align-items:center!important;gap:12px!important;min-height:48px!important;margin-bottom:13px!important}
.services-page .service-icon{position:static!important;flex:0 0 44px!important;width:44px!important;height:44px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:var(--u-navy)!important;color:var(--u-sky)!important;transform:none!important;margin:0!important}
.services-page .service-card h3{margin:0!important;color:var(--u-navy)!important;font-size:18px!important;line-height:1.12!important;overflow-wrap:normal!important;word-break:normal!important}
.services-page .service-card-image{width:100%!important;height:170px!important;margin:0 0 14px!important;border-radius:17px!important;overflow:hidden!important}
.services-page .service-card-image img{width:100%!important;height:100%!important;object-fit:cover!important}
.services-page .service-card-list{display:grid!important;gap:8px!important;margin:0 0 16px!important;color:#536985!important;font-size:11px!important;line-height:1.5!important}
.services-page .service-card-list>div{min-width:0!important;overflow-wrap:anywhere!important}
.services-page .service-more{margin-top:auto!important;min-height:42px!important}

/* Services / Why Choose Us — keep icons and text INSIDE each card. */
.services-page .why-choice-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;align-items:stretch!important}
.services-page .why-choice-card{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;min-height:190px!important;padding:24px 18px 20px!important;border-radius:22px!important;background:#fff!important;border:1px solid #dce9f5!important;overflow:hidden!important;text-align:left!important;transform:none!important}
.services-page .why-choice-icon{position:static!important;inset:auto!important;transform:none!important;width:48px!important;height:48px!important;flex:0 0 48px!important;display:grid!important;place-items:center!important;margin:0 0 18px!important;border-radius:50%!important;background:var(--u-navy)!important;color:var(--u-sky)!important;box-shadow:none!important}
.services-page .why-choice-card strong{position:static!important;display:block!important;margin:0!important;color:var(--u-navy)!important;font-size:15px!important;line-height:1.25!important;text-align:left!important}
.services-page .why-choice-card p{position:static!important;margin:8px 0 0!important;color:#637793!important;font-size:11px!important;line-height:1.55!important;text-align:left!important}

/* About Us mobile/tablet content order and team consistency. */
@media(max-width:1024px){
  .about-page .team-person{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-width:0!important}
  .about-page .team-person .team-photo{order:1!important;position:relative!important;inset:auto!important;margin:0 0 14px!important;width:100%!important}
  .about-page .team-person h3{order:2!important;margin:0!important;text-align:left!important}
  .about-page .team-person .team-role{order:3!important;margin-top:5px!important;text-align:left!important}
  .about-page .team-person .team-spacer{display:none!important}
}

/* Tablet/mobile header uses the supplied white Maubell logo on a deep-blue shell. */
@media(max-width:1024px){
  .u-site-header{z-index:1002!important}
  .u-nav-shell{background:rgba(6,27,71,.98)!important;border-color:rgba(255,255,255,.08)!important;box-shadow:0 12px 35px rgba(4,19,50,.18)!important}
  .u-logo-full{display:none!important}
  .u-logo-mark{display:block!important;width:148px!important;height:auto!important;max-height:44px!important;object-fit:contain!important;object-position:left center!important}
  .u-mobile-toggle{display:block!important;z-index:1004!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.15)!important}
  .u-mobile-toggle i,.u-mobile-toggle:before,.u-mobile-toggle:after{background:#fff!important;left:12px!important;right:12px!important;height:2px!important}
  .u-menu-open .u-mobile-toggle{background:#fff!important}
  .u-menu-open .u-mobile-toggle:before,.u-menu-open .u-mobile-toggle:after{background:var(--u-navy)!important}
  .u-mobile-panel{z-index:1000!important;inset:0!important;padding:88px 24px 24px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(155deg,#041633,#061b47 55%,#0b3477)!important}
  .u-mobile-menu{width:min(620px,100%)!important;min-height:0!important;margin:auto!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:18px 8px!important}
  .u-mobile-menu>a,.u-mobile-services-toggle{padding:15px 8px!important;text-align:center!important;justify-content:center!important;gap:12px!important;font-size:clamp(21px,4.2vw,30px)!important}
  .u-mobile-menu>a>span{font-size:16px!important;opacity:.65}
  .u-mobile-services-toggle span:last-child{position:absolute!important;right:14px!important}
  .u-mobile-services{position:relative!important}
  .u-mobile-services-list a{text-align:center!important;font-size:13px!important;padding:9px 8px!important}
  .u-mobile-book{margin-top:22px!important;justify-content:space-between!important;text-align:left!important;padding:10px 10px 10px 20px!important;border-radius:999px!important;font-size:15px!important}
  .u-site-header.is-sticky .u-nav-shell{height:66px!important;background:#061b47!important}
}

@media(max-width:700px){
  /* More breathing room on phones. */
  .unified-site .container{width:calc(100% - 32px)!important}
  .u-page-hero-content{width:calc(100% - 36px)!important}
  .u-page-hero-card{margin-inline:auto!important}
  .u-mobile-panel{padding-inline:18px!important}
  .u-logo-mark{width:138px!important}

  /* Centered hero copy across all internal pages. */
  .u-page-hero-content{align-items:center!important;justify-content:center!important;text-align:center!important;padding-top:60px!important}
  .u-page-hero-kicker{margin-inline:auto!important}
  .u-breadcrumb{justify-content:center!important}
  .u-page-hero-subtitle{max-width:90%!important;margin-inline:auto!important}

  /* Service directory: two columns after FAQs. */
  .u-service-directory{padding:42px 0 52px!important}
  .u-service-directory .sidebar-panel{padding:20px 14px!important;border-radius:22px!important}
  .u-service-directory .sidebar-panel h3{text-align:center!important;font-size:20px!important}
  .u-service-directory .service-side-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .u-service-directory .service-side-list a{min-height:58px!important;padding:11px 10px!important;font-size:12px!important;text-align:center!important;justify-content:center!important}

  /* Services cards remain two columns, but are large enough to be readable. */
  .services-page .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;max-width:none!important}
  .services-page .service-card{padding:13px!important;border-radius:20px!important}
  .services-page .service-card-head{gap:9px!important;min-height:44px!important;margin-bottom:10px!important}
  .services-page .service-icon{flex-basis:40px!important;width:40px!important;height:40px!important}
  .services-page .service-card h3{font-size:14px!important;line-height:1.12!important}
  .services-page .service-card-image{height:115px!important;border-radius:14px!important;margin-bottom:11px!important}
  .services-page .service-card-list{font-size:10px!important;gap:7px!important;margin-bottom:11px!important}
  .services-page .service-more{font-size:10px!important;min-height:38px!important}

  .services-page .why-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .services-page .why-choice-card{min-height:175px!important;padding:17px 14px 15px!important;border-radius:20px!important}
  .services-page .why-choice-icon{width:42px!important;height:42px!important;flex-basis:42px!important;margin-bottom:13px!important}
  .services-page .why-choice-card strong{font-size:13px!important;line-height:1.22!important}
  .services-page .why-choice-card p{font-size:10px!important;line-height:1.48!important}

  /* About: text first, image second; client badge stays readable. */
  .about-page .about-main-grid{display:flex!important;flex-direction:column!important;gap:26px!important}
  .about-page .about-main-copy{order:1!important}
  .about-page .about-main-visual{order:2!important}
  .about-page .about-clients{left:14px!important;right:14px!important;bottom:14px!important;width:auto!important;max-width:none!important;padding:15px 16px!important;border-radius:18px!important;display:grid!important;grid-template-columns:auto 1fr!important;column-gap:12px!important;row-gap:2px!important;align-items:center!important}
  .about-page .about-client-dots{grid-row:1/3!important;display:flex!important}
  .about-page .about-client-dot{width:28px!important;height:28px!important;margin-left:-5px!important;font-size:8px!important}
  .about-page .about-client-dot:first-child{margin-left:0!important}
  .about-page .about-clients strong{font-size:21px!important;line-height:1!important}
  .about-page .about-clients>span:last-child{font-size:10px!important}
  .about-page .team-board{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .about-page .team-person{padding:0!important;border:0!important}
  .about-page .team-photo{height:210px!important;border-radius:18px!important;overflow:hidden!important}
  .about-page .team-person h3{font-size:14px!important;line-height:1.2!important}
  .about-page .team-role{font-size:10px!important}

  /* Contact and FAQ forms: two compact columns on mobile/tablet. */
  .contact-page .booking-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .contact-page .booking-field{min-width:0!important}
  .contact-page .booking-field input,.contact-page .booking-field select{height:46px!important;padding-inline:10px!important;font-size:10px!important}
  .contact-page .booking-submit-row,.contact-page .booking-status{grid-column:1/-1!important}
  .contact-page .appointment-card{padding:24px 16px!important}

  .faq-page .faq-contact-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .faq-page .faq-field{min-width:0!important}
  .faq-page .faq-field.full,.faq-page .faq-form-submit,.faq-page .faq-form-status{grid-column:1/-1!important}
  .faq-page .faq-field input,.faq-page .faq-field select{height:46px!important;padding-inline:10px!important;font-size:10px!important}
  .faq-page .faq-field textarea{min-height:90px!important;font-size:10px!important}

  /* Home mobile hero: title, actions and phone only — no supporting detail clutter. */
  body:not(.about-page):not(.services-page):not(.projects-page):not(.reviews-page):not(.contact-page):not(.faq-page):not(.project-detail-page):not(.single-service-page) .hero .slide-copy>p,
  body:not(.about-page):not(.services-page):not(.projects-page):not(.reviews-page):not(.contact-page):not(.faq-page):not(.project-detail-page):not(.single-service-page) .hero .hero-trust,
  body:not(.about-page):not(.services-page):not(.projects-page):not(.reviews-page):not(.contact-page):not(.faq-page):not(.project-detail-page):not(.single-service-page) .hero .hero-badge{display:none!important}
  body:not(.about-page):not(.services-page):not(.projects-page):not(.reviews-page):not(.contact-page):not(.faq-page):not(.project-detail-page):not(.single-service-page) .hero .slide-copy{text-align:center!important;margin-inline:auto!important;max-width:94%!important}
  body:not(.about-page):not(.services-page):not(.projects-page):not(.reviews-page):not(.contact-page):not(.faq-page):not(.project-detail-page):not(.single-service-page) .hero .hero-actions{justify-content:center!important;margin-inline:auto!important}
  body:not(.about-page):not(.services-page):not(.projects-page):not(.reviews-page):not(.contact-page):not(.faq-page):not(.project-detail-page):not(.single-service-page) .hero .hero-call{justify-content:center!important}

  /* Home estimate form stays compact and in two columns. */
  .estimate-layout{max-width:900px!important;margin-inline:auto!important}
  .estimate-form-card{max-width:560px!important;width:100%!important;margin-inline:auto!important;padding:24px 16px!important}
  .estimate-form-card .quote-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .estimate-form-card .field{min-width:0!important}
  .estimate-form-card .field.full,.estimate-consent,.estimate-form-card .form-submit{grid-column:1/-1!important}
  .estimate-form-card .field input,.estimate-form-card .field select{height:45px!important;padding-inline:10px!important;font-size:10px!important}
  .estimate-form-card .field textarea{min-height:78px!important;font-size:10px!important}

  /* Book Appointment page: preserve two-column fields on phones as well. */
  .appointment-page .appointment-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .appointment-page .appointment-field{min-width:0!important}
  .appointment-page .appointment-field.full,.appointment-page .appointment-consent,.appointment-page .appointment-submit-row,.appointment-page .appointment-status{grid-column:1/-1!important}

  /* Footer stays a clear two-column system, including contact details. */
  .u-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px 16px!important;text-align:left!important}
  .u-footer-brand{grid-column:1/-1!important;text-align:center!important}
  .u-footer-brand p{margin-inline:auto!important}
  .u-footer-socials{justify-content:center!important}
  .u-footer-contact-wrap{grid-column:1/-1!important;text-align:left!important}
  .u-footer-contact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 14px!important;align-items:start!important}
  .u-footer h4{text-align:left!important;font-size:12px!important}
  .u-footer-links a,.u-footer-contact a,.u-footer-contact span{font-size:12px!important}

  /* Mobile underline sparkle remains centered. */
  .motion-title::before,.reviews-title::before,.estimate-title::before{width:132px!important}
  .motion-title::after,.reviews-title::after,.estimate-title::after{left:calc(50% - 66px)!important;width:20px!important;height:20px!important;animation:uTitleOrbMobile 3.6s ease-in-out infinite!important}
  @keyframes uTitleOrbMobile{0%,100%{transform:translateX(0) rotate(0deg)}50%{transform:translateX(112px) rotate(180deg)}}
}

@media(max-width:430px){
  .unified-site .container{width:calc(100% - 28px)!important}
  .services-page .service-card h3{font-size:13px!important}
  .services-page .service-card-image{height:102px!important}
  .about-page .team-photo{height:185px!important}
}


/* =====================================================================
   V3 FINAL POLISH — unified navigation, service details, forms & mobile
   ===================================================================== */

/* ---------- Primary navigation: centered composition ---------- */
.u-site-header{
  top:0!important;
  padding:0 24px!important;
  transition:background .28s ease,box-shadow .28s ease,transform .28s ease!important;
}
.u-nav-shell{
  width:min(1360px,calc(100% - 64px))!important;
  height:78px!important;
  margin-inline:auto!important;
  padding:0 18px 0 22px!important;
  border-radius:0 0 28px 28px!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr) 190px!important;
  align-items:center!important;
  gap:18px!important;
  background:#fff!important;
  border:1px solid rgba(43,116,245,.08)!important;
  box-shadow:0 14px 36px rgba(7,38,88,.08)!important;
}
.u-brand{grid-column:1!important;justify-self:start!important;display:flex!important;align-items:center!important}
.u-logo-full{display:block!important;width:178px!important;height:auto!important}
.u-logo-white{display:none!important;width:174px!important;height:auto!important}
.u-desktop-nav{grid-column:2!important;justify-self:center!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important}
.u-nav-link{height:42px!important;padding:0 13px!important;font-size:12px!important;white-space:nowrap!important}
.u-book-btn{grid-column:3!important;justify-self:end!important;margin:0!important;min-height:50px!important;padding:0 8px 0 18px!important}
.u-book-btn span{transition:transform .32s cubic-bezier(.2,.75,.2,1)!important}
.u-book-btn:hover span{transform:rotate(45deg)!important}
.u-book-btn.active{background:#dceeff!important;border-color:#9dccff!important}
.u-site-header.is-sticky{
  position:fixed!important;
  top:0!important;
  padding:0!important;
  background:#fff!important;
  box-shadow:0 8px 28px rgba(7,38,88,.08)!important;
}
.u-site-header.is-sticky .u-nav-shell{
  width:min(1500px,calc(100% - 84px))!important;
  height:70px!important;
  border-radius:0!important;
  border:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.u-site-header.is-sticky .u-desktop-nav{justify-self:center!important}

/* ---------- Align hero copy with the navigation logo on desktop ---------- */
@media(min-width:1025px){
  .u-page-hero-content{
    width:min(1360px,calc(100% - 64px))!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
  body:not(.about-page):not(.services-page):not(.projects-page):not(.reviews-page):not(.contact-page):not(.faq-page):not(.project-detail-page):not(.single-service-page) .hero .slide-content{
    width:min(1360px,calc(100% - 64px))!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
}

/* ---------- Mobile/tablet navigation: white closed, blue full-screen open ---------- */
@media(max-width:1024px){
  .u-site-header{top:0!important;padding:0 12px!important;background:transparent!important}
  .u-site-header.is-sticky{padding:0!important;background:transparent!important;box-shadow:none!important}
  .u-nav-shell,
  .u-site-header.is-sticky .u-nav-shell{
    width:calc(100% - 20px)!important;
    height:68px!important;
    padding:0 10px!important;
    border-radius:0 0 22px 22px!important;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) 48px!important;
    gap:0!important;
    background:#fff!important;
    border:1px solid rgba(43,116,245,.08)!important;
    box-shadow:0 10px 28px rgba(7,38,88,.08)!important;
  }
  .u-desktop-nav,.u-book-btn{display:none!important}
  .u-brand{grid-column:2!important;justify-self:center!important;z-index:502!important}
  .u-logo-full{display:block!important;width:150px!important}
  .u-logo-white{display:none!important;width:150px!important}
  .u-mobile-toggle{
    display:block!important;
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
    width:44px!important;height:44px!important;
    border-radius:14px!important;
    background:#eef6ff!important;
    z-index:503!important;
  }
  .u-mobile-toggle i,.u-mobile-toggle:before,.u-mobile-toggle:after{background:var(--u-navy)!important}
  .u-mobile-panel{
    inset:0!important;
    z-index:490!important;
    padding:104px 22px 28px!important;
    background:linear-gradient(155deg,#061b47,#0b2d69 72%,#174b98)!important;
    transform:none!important;
  }
  .u-mobile-menu{
    width:min(620px,100%)!important;
    min-height:calc(100dvh - 132px)!important;
    margin-inline:auto!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    text-align:center!important;
  }
  .u-mobile-menu>a{
    justify-content:center!important;
    gap:12px!important;
    padding:16px 8px!important;
    text-align:center!important;
    font-size:clamp(22px,4.8vw,31px)!important;
  }
  .u-mobile-menu>a>span{font-size:.55em!important;color:var(--u-sky)!important}
  .u-mobile-book{
    margin-top:auto!important;
    justify-content:space-between!important;
    text-align:left!important;
    font-size:18px!important;
  }
  .u-menu-open .u-nav-shell,
  .u-menu-open .u-site-header.is-sticky .u-nav-shell{
    background:var(--u-deep)!important;
    border-color:transparent!important;
    box-shadow:none!important;
  }
  .u-menu-open .u-logo-full{display:none!important}
  .u-menu-open .u-logo-white{display:block!important}
  .u-menu-open .u-mobile-toggle{background:rgba(255,255,255,.10)!important}
  .u-menu-open .u-mobile-toggle i,.u-menu-open .u-mobile-toggle:before,.u-menu-open .u-mobile-toggle:after{background:#fff!important}
  .u-menu-open .u-site-header{background:var(--u-deep)!important}
}
@media(max-width:520px){
  .u-nav-shell,.u-site-header.is-sticky .u-nav-shell{width:calc(100% - 12px)!important;height:64px!important;border-radius:0 0 18px 18px!important}
  .u-logo-full,.u-logo-white{width:138px!important}
  .u-mobile-toggle{width:40px!important;height:40px!important}
  .u-mobile-panel{padding:92px 17px 22px!important}
}

/* ---------- Estimate/form contrast fixes across Home, About and Projects ---------- */
.estimate-form-card .estimate-kicker{
  color:var(--u-sky)!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  min-height:0!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.estimate-form-card .estimate-kicker::before{background:var(--u-sky)!important}
.estimate-form-card .estimate-title{color:#fff!important}
.estimate-form-card .estimate-intro{color:rgba(255,255,255,.78)!important}
.estimate-photo-copy>span{display:none!important}
.estimate-photo-copy strong{
  font-size:clamp(23px,2.35vw,34px)!important;
  line-height:1.06!important;
  max-width:500px!important;
}

/* ---------- About: client badge and checklist ---------- */
.about-page .about-clients{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  column-gap:14px!important;
  row-gap:4px!important;
  align-items:center!important;
}
.about-page .about-client-dots{grid-row:1/3!important;margin:0!important;align-items:center!important}
.about-page .about-client-dot{
  display:grid!important;
  place-items:center!important;
  margin-top:0!important;
  color:var(--u-navy)!important;
  background:linear-gradient(145deg,#BDE4FF,#70CFFF)!important;
  font-weight:900!important;
}
.about-page .about-clients strong{grid-column:2!important;align-self:end!important}
.about-page .about-clients>span:last-child{grid-column:2!important;align-self:start!important;margin-top:0!important}
.about-page .about-checks{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  padding:12px!important;
}
.about-page .about-checks>div{
  min-height:54px!important;
  padding:11px 12px!important;
  border-radius:14px!important;
  background:#f4faff!important;
  border:1px solid #dceaf7!important;
  align-items:center!important;
  line-height:1.35!important;
}
@media(max-width:700px){
  .about-page .about-clients{left:14px!important;right:14px!important;width:auto!important;padding:15px!important}
  .about-page .about-client-dot{width:30px!important;height:30px!important;font-size:9px!important}
  .about-page .about-clients strong{font-size:24px!important}
  .about-page .about-checks>div{font-size:10px!important;padding:10px!important}
}

/* ---------- Services catalog ---------- */
.services-page .service-card h3 a{color:inherit!important;text-decoration:none!important;display:inline-block!important}
.services-page .service-card-image{display:block!important;cursor:pointer!important}
.services-page .service-card-list{font-size:13px!important;line-height:1.5!important}
.services-page .service-card-list>div{font-size:13px!important;line-height:1.5!important}
.services-page .service-card h3 a:hover{color:var(--u-blue)!important}
.services-page .service-card-image img{transition:transform .45s ease!important}
.services-page .service-card-image:hover img{transform:scale(1.035)!important}
@media(max-width:700px){
  .services-page .service-card-list,.services-page .service-card-list>div{font-size:11px!important;line-height:1.45!important}
}

/* ---------- Single service: sidebar on desktop, directory at bottom on mobile ---------- */
.single-service-page .u-service-sidebar-desktop{display:grid!important;position:sticky!important;top:94px!important;align-self:start!important;gap:18px!important}
.single-service-page .u-service-sidebar-desktop .sidebar-panel{padding:22px!important}
.single-service-page .u-service-sidebar-desktop .service-side-list a{font-size:12px!important;line-height:1.25!important;padding:12px 13px!important}
.single-service-page .u-service-directory{display:none!important}
.single-service-page .sidebar-cta a{background:var(--u-sky)!important;color:var(--u-navy)!important}
.single-service-page .service-detail-grid{grid-template-columns:270px minmax(0,1fr)!important;gap:34px!important}

/* Service photo slider */
.u-service-photo-slider{position:relative!important;isolation:isolate!important}
.u-service-photo-slide{position:absolute!important;inset:0!important;opacity:0!important;visibility:hidden!important;transition:opacity .65s ease,visibility .65s ease!important}
.u-service-photo-slide.active{opacity:1!important;visibility:visible!important}
.u-service-photo-slide img{width:100%!important;height:100%!important;object-fit:cover!important}
.u-service-photo-arrows{position:absolute!important;z-index:4!important;left:16px!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;display:flex!important;justify-content:space-between!important;pointer-events:none!important}
.u-service-photo-arrows button{pointer-events:auto!important;width:42px!important;height:42px!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:var(--u-navy)!important;box-shadow:0 10px 24px rgba(7,38,88,.12)!important;cursor:pointer!important;transition:.22s ease!important}
.u-service-photo-arrows button:hover{background:var(--u-blue)!important;color:#fff!important;transform:scale(1.05)!important}
.u-service-photo-dots{position:absolute!important;z-index:4!important;left:50%!important;bottom:14px!important;transform:translateX(-50%)!important;display:flex!important;gap:6px!important}
.u-service-photo-dot{width:8px!important;height:8px!important;border:0!important;padding:0!important;border-radius:99px!important;background:rgba(255,255,255,.65)!important;transition:.22s ease!important}
.u-service-photo-dot.active{width:26px!important;background:var(--u-sky)!important}

@media(max-width:1024px){
  .single-service-page .service-detail-grid{grid-template-columns:1fr!important}
  .single-service-page .u-service-sidebar-desktop{display:none!important}
  .single-service-page .u-service-directory{display:block!important}
  .single-service-page .u-service-directory>.container{display:grid!important;gap:16px!important}
  .single-service-page .u-service-directory .sidebar-cta{max-width:760px!important;width:100%!important;margin-inline:auto!important}
  .single-service-page .u-service-directory .service-side-list a{font-size:12px!important}
}

/* ---------- Projects: clean white background + compact social-like mobile cards ---------- */
.projects-page,.projects-page main{background:#fff!important}
.projects-page::before,.projects-page::after{display:none!important}
.projects-page .projects-showcase{background:#fff!important}
@media(max-width:700px){
  .projects-page .projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
  .projects-page .project-card{padding:12px!important;border-radius:19px!important;min-width:0!important;margin:0!important}
  .projects-page .project-category{min-height:24px!important;padding:0 8px!important;font-size:7.5px!important;letter-spacing:.02em!important}
  .projects-page .project-category::before{width:14px!important;height:14px!important;font-size:7px!important}
  .projects-page .project-card h3{margin-top:10px!important;font-size:15px!important;line-height:1.12!important}
  .projects-page .project-card p{display:none!important}
  .projects-page .project-image{height:126px!important;margin-top:12px!important;border-radius:14px!important}
  .projects-page .project-image img{object-fit:cover!important}
  .projects-page .project-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;margin-top:9px!important}
  .projects-page .project-metric{min-height:52px!important;padding:7px 5px!important;border-radius:11px!important;align-items:center!important;text-align:center!important}
  .projects-page .project-metric strong{font-size:12px!important;gap:3px!important;justify-content:center!important}
  .projects-page .project-metric strong::before{width:12px!important;height:12px!important;font-size:6px!important}
  .projects-page .project-metric span{display:none!important}
}

/* ---------- Reviews: remove unwanted page tint ---------- */
.reviews-page,.reviews-page main{background:#fff!important}
.reviews-page::before,.reviews-page::after{display:none!important}
.reviews-page .featured-review,.reviews-page .review-share{background:#fff!important}

/* ---------- Book Appointment: remove floating tint layer, keep clean spacing ---------- */
.appointment-page,.appointment-page main{background:#fff!important}
.appointment-page main{padding-top:112px!important}
.appointment-page main::before,.appointment-page .bg-spark{display:none!important}
.appointment-page .appointment-panel{background:#fff!important;box-shadow:0 24px 70px rgba(7,53,120,.10)!important}
@media(max-width:1024px){.appointment-page main{padding-top:96px!important}}
@media(max-width:650px){.appointment-page main{padding-top:84px!important}}

/* ---------- Footer: 5 networks, larger readable labels ---------- */
.u-footer-grid{grid-template-columns:1.22fr .72fr .82fr 1.35fr!important;gap:30px!important}
.u-footer-brand p{font-size:13px!important;line-height:1.72!important}
.u-footer h4{font-size:13px!important}
.u-footer-links a,.u-footer-contact a,.u-footer-contact span{font-size:13px!important;line-height:1.55!important}
.u-footer-contact{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px 14px!important}
.u-footer-socials{gap:9px!important;margin-top:20px!important}
.u-social{
  width:auto!important;height:42px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  font-size:11px!important;
}
.u-social svg{width:18px!important;height:18px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.u-social:first-child svg path,.u-social:nth-child(3) svg path{fill:currentColor!important;stroke:none!important}
.u-social:nth-child(5) svg path{stroke-width:1.35!important}
.u-social span{display:inline!important;font-weight:800!important}
@media(max-width:700px){
  .u-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:26px 18px!important}
  .u-footer-brand{grid-column:1/-1!important}
  .u-footer-contact-wrap{grid-column:1/-1!important}
  .u-footer-socials{justify-content:center!important}
  .u-social{height:40px!important;padding:0 10px!important;font-size:10px!important}
  .u-social svg{width:17px!important;height:17px!important}
}

/* ---------- General mobile edge safety ---------- */
@media(max-width:700px){
  .unified-site .container{width:calc(100% - 34px)!important}
  .u-page-hero-card{width:calc(100% - 4px)!important;margin-inline:auto!important}
  .u-page-hero-content{width:calc(100% - 34px)!important;padding-inline:8px!important}
}


/* =====================================================================
   V4 FINAL REFINEMENT — sticky motion, mobile menu, clean page tints,
   centered About metrics and readable unified footer
   ===================================================================== */

/* ---------- Sticky transition copied in spirit from the approved old nav ---------- */
@keyframes uStickyDrop{
  from{opacity:0;transform:translateY(-14px)}
  to{opacity:1;transform:translateY(0)}
}
.u-site-header.is-sticky{
  animation:uStickyDrop .36s cubic-bezier(.2,.78,.24,1) both!important;
}
.u-site-header.is-sticky .u-nav-shell{
  transition:height .28s ease,width .28s ease,border-radius .28s ease,box-shadow .28s ease!important;
}

/* ---------- Desktop nav: slightly larger / easier to read ---------- */
.u-nav-link{
  font-size:14.5px!important;
  padding-inline:15px!important;
  letter-spacing:-.01em!important;
}
.u-book-btn{
  font-size:13.5px!important;
  padding-left:21px!important;
}
.u-book-btn span{
  transition:transform .34s cubic-bezier(.2,.78,.2,1),background .24s ease!important;
}
.u-book-btn:hover span{transform:rotate(45deg)!important}

/* ---------- Mobile/tablet navigation ---------- */
@media(max-width:1024px){
  .u-site-header,.u-site-header.is-sticky{
    z-index:620!important;
  }
  .u-nav-shell,.u-site-header.is-sticky .u-nav-shell{
    grid-template-columns:56px minmax(0,1fr) 56px!important;
    min-height:68px!important;
  }
  .u-brand{
    grid-column:2!important;
    justify-self:center!important;
    width:auto!important;
    min-width:0!important;
    position:relative!important;
    z-index:625!important;
  }
  .u-logo-full{
    display:block!important;
    width:min(168px,38vw)!important;
    max-width:168px!important;
    opacity:1!important;
    visibility:visible!important;
    filter:none!important;
  }
  .u-logo-white{display:none!important}
  .u-mobile-toggle{
    grid-column:3!important;
    justify-self:end!important;
    position:relative!important;
    z-index:630!important;
  }
  .u-mobile-toggle:before,.u-mobile-toggle:after,.u-mobile-toggle i{
    left:11px!important;
    right:11px!important;
    height:2.4px!important;
  }
  .u-mobile-toggle:before{top:14px!important}
  .u-mobile-toggle i{top:21px!important}
  .u-mobile-toggle:after{top:28px!important}
  .u-menu-open .u-mobile-toggle:before{
    top:21px!important;
    transform:rotate(45deg)!important;
  }
  .u-menu-open .u-mobile-toggle i{opacity:0!important;transform:scaleX(.25)!important}
  .u-menu-open .u-mobile-toggle:after{
    top:21px!important;
    transform:rotate(-45deg)!important;
  }

  .u-mobile-panel{
    z-index:610!important;
    padding:96px 22px 24px!important;
    background:linear-gradient(155deg,#061b47 0%,#0B2D69 64%,#164C9B 100%)!important;
    display:flex!important;
    align-items:stretch!important;
  }
  .u-mobile-menu{
    width:min(600px,100%)!important;
    min-height:calc(100dvh - 120px)!important;
    margin:auto!important;
    padding:2vh 0 4vh!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:stretch!important;
    text-align:center!important;
  }
  .u-mobile-menu>a:not(.u-mobile-book){
    justify-content:center!important;
    text-align:center!important;
    padding:14px 10px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    font-size:clamp(22px,4.5vw,30px)!important;
    line-height:1.05!important;
  }
  .u-mobile-menu>a:not(.u-mobile-book)>span{display:none!important}
  .u-mobile-book{
    width:min(440px,100%)!important;
    margin:28px auto 0!important;
    padding:11px 12px 11px 20px!important;
    min-height:58px!important;
    font-size:16px!important;
    border-radius:999px!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .u-mobile-phone{
    width:100%!important;
    margin:16px auto 0!important;
    text-align:center!important;
    color:#fff!important;
  }
  .u-mobile-phone small{
    display:block!important;
    margin-bottom:5px!important;
    color:rgba(255,255,255,.50)!important;
    font-size:9px!important;
    font-weight:900!important;
    letter-spacing:.14em!important;
  }
  .u-mobile-phone a{
    color:var(--u-sky)!important;
    font:800 17px/1.2 "Plus Jakarta Sans",Inter,sans-serif!important;
  }

  /* Always keep the logo visible; invert the blue artwork when menu is open. */
  .u-menu-open .u-logo-full{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    filter:brightness(0) invert(1)!important;
  }
  .u-menu-open .u-logo-white{display:none!important}
  .u-menu-open .u-nav-shell,.u-menu-open .u-site-header.is-sticky .u-nav-shell{
    background:var(--u-deep)!important;
  }
}

@media(max-width:520px){
  .u-mobile-panel{padding:86px 18px 20px!important}
  .u-mobile-menu{min-height:calc(100dvh - 100px)!important;padding:1vh 0 2vh!important}
  .u-mobile-menu>a:not(.u-mobile-book){padding:12px 8px!important;font-size:clamp(21px,7vw,27px)!important}
  .u-mobile-book{margin-top:22px!important;font-size:15px!important;min-height:54px!important}
  .u-mobile-phone a{font-size:16px!important}
}

/* ---------- Home hero: remove the hard triangular/white wash ---------- */
.home-page .hero .slide::before{display:none!important}
.home-page .hero .slide-shade{
  background:linear-gradient(90deg,
    rgba(5,28,62,.88) 0%,
    rgba(5,32,68,.72) 27%,
    rgba(5,36,72,.42) 50%,
    rgba(5,38,70,.14) 72%,
    rgba(5,38,70,0) 100%)!important;
}
@media(max-width:1024px){
  .home-page .hero .slide-shade{
    background:linear-gradient(0deg,
      rgba(5,28,62,.92) 0%,
      rgba(5,31,67,.72) 35%,
      rgba(5,35,72,.28) 67%,
      rgba(5,38,70,.04) 100%)!important;
  }
}

/* ---------- About metrics: content truly centered ---------- */
.about-page .mv-metric{
  justify-content:center!important;
  align-items:center!important;
  flex-direction:column!important;
  text-align:center!important;
  gap:10px!important;
  padding:26px 22px!important;
}
.about-page .mv-metric strong{
  display:block!important;
  text-align:center!important;
  font-size:clamp(38px,4vw,48px)!important;
}
.about-page .mv-metric span{
  display:block!important;
  max-width:210px!important;
  margin-inline:auto!important;
  text-align:center!important;
  font-size:11px!important;
  line-height:1.45!important;
}

/* ---------- Services: remove the lingering blue page wash ---------- */
.services-page,.services-page main{
  background:#fff!important;
  filter:none!important;
}
.services-page::before,.services-page::after,
.services-page main::before,.services-page main::after{display:none!important}
.services-page .services-catalog,
.services-page .why-us,
.services-page .reviews,
.services-page .faq{
  background:#fff!important;
}
.services-page .why-us::before,
.services-page .reviews::before{display:none!important}
.services-page .service-card,
.services-page .why-choice-card{background:#fff!important}

/* ---------- Reviews: clean white canvas, no soft blue layer ---------- */
.reviews-page,.reviews-page main{
  background:#fff!important;
  filter:none!important;
}
.reviews-page::before,.reviews-page::after,
.reviews-page main::before,.reviews-page main::after{display:none!important}
.reviews-page .reviews-intro,
.reviews-page .featured-review,
.reviews-page .reviews-wall,
.reviews-page .review-share{
  background:#fff!important;
}

/* ---------- Photo bridge: no redundant eyebrow label ---------- */
.faq-footer-bridge .bridge-copy>span{display:none!important}

/* ---------- Footer: centered blocks, larger type, icon-only networks ---------- */
.u-footer{
  padding-top:70px!important;
}
.u-footer-grid{
  grid-template-columns:1.28fr .72fr .86fr 1.18fr!important;
  gap:44px!important;
  align-items:start!important;
  justify-items:center!important;
  max-width:1180px!important;
  margin-inline:auto!important;
}
.u-footer-grid>div{
  width:100%!important;
  max-width:290px!important;
}
.u-footer-brand{
  max-width:360px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
}
.u-footer-logo{width:195px!important}
.u-footer-brand p{
  max-width:350px!important;
  margin:18px auto 0!important;
  font-size:14px!important;
  line-height:1.78!important;
}
.u-footer h4{
  margin-bottom:17px!important;
  font-size:14px!important;
  line-height:1.2!important;
  letter-spacing:.11em!important;
}
.u-footer-links{
  gap:10px!important;
}
.u-footer-links a,
.u-footer-contact a,
.u-footer-contact span{
  font-size:14px!important;
  line-height:1.55!important;
}
.u-footer-socials{
  order:3!important;
  width:100%!important;
  margin:20px 0 0!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:10px!important;
}
.u-social{
  width:44px!important;
  height:44px!important;
  padding:0!important;
  flex:0 0 44px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
}
.u-social span{display:none!important}
.u-social svg{
  width:20px!important;
  height:20px!important;
}
.u-footer-book{
  order:4!important;
  margin-top:18px!important;
  font-size:11px!important;
  padding:13px 18px!important;
}
.u-footer-contact-wrap{max-width:360px!important}
.u-footer-contact{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px 18px!important;
}
.u-footer-bottom{
  max-width:1180px!important;
  margin:44px auto 0!important;
  padding-top:20px!important;
  font-size:11px!important;
}

@media(max-width:1024px){
  .u-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:34px 24px!important;
    text-align:left!important;
  }
  .u-footer-brand{
    grid-column:1/-1!important;
    justify-self:center!important;
  }
  .u-footer-contact-wrap{
    grid-column:1/-1!important;
    max-width:620px!important;
  }
  .u-footer-grid>div:not(.u-footer-brand):not(.u-footer-contact-wrap){
    max-width:260px!important;
  }
  .u-footer-contact{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:620px){
  .u-footer{padding-top:58px!important}
  .u-footer-grid{gap:30px 18px!important}
  .u-footer-logo{width:180px!important}
  .u-footer-brand p{font-size:13px!important}
  .u-footer h4{font-size:13px!important}
  .u-footer-links a,.u-footer-contact a,.u-footer-contact span{font-size:13px!important}
  .u-social{width:42px!important;height:42px!important;flex-basis:42px!important}
  .u-social svg{width:19px!important;height:19px!important}
  .u-footer-contact{gap:12px 14px!important}
  .u-footer-bottom{font-size:10px!important;line-height:1.55!important}
}

/* ===== END V4 FINAL REFINEMENT ===== */

/* =====================================================================
   V5 — APPROVED FLUID STICKY MENU EFFECT
   Applied globally to every Maubell HTML through the shared stylesheet.
   Only header/menu positioning and transition are affected.
   ===================================================================== */

.u-site-header{
  transition:
    top .48s cubic-bezier(.22,.8,.22,1),
    padding .58s cubic-bezier(.16,1,.3,1),
    box-shadow .45s ease !important;
}

.u-nav-shell{
  will-change:width,height,border-radius,box-shadow;
  transition:
    width .72s cubic-bezier(.16,1,.3,1),
    height .58s cubic-bezier(.16,1,.3,1),
    border-radius .58s cubic-bezier(.16,1,.3,1),
    box-shadow .5s ease,
    background .35s ease !important;
}

/* The menu itself expands to full width; no secondary background layer. */
.u-site-header.is-sticky{
  top:0 !important;
  padding-inline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.u-site-header.is-sticky .u-nav-shell{
  width:100% !important;
  max-width:none !important;
  height:80px !important;
  border-radius:0 0 30px 30px !important;
  box-shadow:0 14px 38px rgba(7,38,88,.12) !important;
}

/* Desktop micro-adjustment approved after the sticky effect:
   logo slightly inward/right + Book Appointment slightly inward/left,
   with almost no horizontal jump between normal and sticky states. */
@media (min-width:1025px){
  .u-nav-shell{
    padding-left:34px !important;
    padding-right:34px !important;
  }

  .u-site-header.is-sticky .u-nav-shell{
    padding-left:max(66px, calc((100vw - 1360px) / 2 + 34px)) !important;
    padding-right:max(66px, calc((100vw - 1360px) / 2 + 34px)) !important;
  }
}

@media(max-width:1024px){
  .u-site-header.is-sticky .u-nav-shell{
    height:70px !important;
    border-radius:0 0 24px 24px !important;
  }
}

@media(max-width:520px){
  .u-site-header.is-sticky .u-nav-shell{
    height:66px !important;
    border-radius:0 0 20px 20px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  .u-site-header,
  .u-nav-shell{
    transition:none !important;
  }
}

/* =====================================================================
   FINAL MOBILE FOOTER — approved order / centered closing layout
   Desktop and tablet remain unchanged.
   ===================================================================== */
@media (max-width:700px){

  .u-footer{
    padding:54px 0 24px !important;
    text-align:center !important;
    font-family:"Manrope",sans-serif !important;
  }

  .u-footer .container{
    width:calc(100% - 28px) !important;
  }

  /* Turn the footer into one carefully ordered mobile composition. */
  .u-footer-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    column-gap:28px !important;
    row-gap:0 !important;
    align-items:start !important;
    text-align:center !important;
  }

  /* Let the brand children participate individually in the master grid
     so we can put the logo near the bottom without duplicating markup. */
  .u-footer-brand{
    display:contents !important;
  }

  /* 1 — Description */
  .u-footer-brand > p{
    order:1 !important;
    grid-column:1 / -1 !important;
    width:min(430px,100%) !important;
    max-width:none !important;
    margin:0 auto 22px !important;
    color:#55708f !important;
    font-size:15px !important;
    line-height:1.72 !important;
    font-weight:500 !important;
    text-align:center !important;
  }

  /* 2 — Book Appointment */
  .u-footer-book{
    order:2 !important;
    grid-column:1 / -1 !important;
    justify-self:center !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:max-content !important;
    height:46px !important;
    min-height:46px !important;
    margin:0 auto 20px !important;
    padding:0 20px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.035em !important;
    white-space:nowrap !important;
  }

  /* 3 — Social icons */
  .u-footer-socials{
    order:3 !important;
    grid-column:1 / -1 !important;
    justify-content:center !important;
    align-items:center !important;
    gap:11px !important;
    margin:0 auto 38px !important;
  }

  .u-social{
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    border-radius:50% !important;
    border:1px solid #c4def3 !important;
    box-shadow:0 7px 20px rgba(14,57,116,.06) !important;
  }

  .u-social svg{
    width:19px !important;
    height:19px !important;
  }

  .u-social span{
    display:none !important;
  }

  /* 4 + 5 — Menu / Services side by side */
  .u-footer-grid > div:not(.u-footer-brand):not(.u-footer-contact-wrap){
    min-width:0 !important;
    text-align:center !important;
  }

  .u-footer-grid > div:nth-child(2){
    order:4 !important;
    grid-column:1 !important;
  }

  .u-footer-grid > div:nth-child(3){
    order:5 !important;
    grid-column:2 !important;
  }

  .u-footer h4{
    margin:0 0 17px !important;
    color:var(--u-navy) !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:.105em !important;
    text-align:center !important;
  }

  .u-footer-links{
    justify-items:center !important;
    gap:12px !important;
  }

  .u-footer-links a{
    color:#59718f !important;
    font-size:14px !important;
    line-height:1.4 !important;
    font-weight:500 !important;
    text-align:center !important;
  }

  .u-footer-links a strong{
    font-weight:700 !important;
  }

  /* 6 — Contact */
  .u-footer-contact-wrap{
    order:6 !important;
    grid-column:1 / -1 !important;
    width:min(430px,100%) !important;
    margin:42px auto 0 !important;
    text-align:center !important;
  }

  .u-footer-contact{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:15px 20px !important;
    justify-items:center !important;
    align-items:start !important;
    text-align:center !important;
  }

  .u-footer-contact a,
  .u-footer-contact span{
    color:#58718f !important;
    font-size:13.5px !important;
    line-height:1.55 !important;
    font-weight:500 !important;
    text-align:center !important;
  }

  .u-footer-contact strong{
    font-weight:700 !important;
  }

  /* Location takes a full centered row for a calmer layout. */
  .u-footer-contact > a:nth-child(3){
    grid-column:1 / -1 !important;
  }

  /* 7 — Large logo near the end */
  .u-footer-brand > a:first-child{
    order:7 !important;
    grid-column:1 / -1 !important;
    justify-self:center !important;
    display:block !important;
    margin:46px auto 28px !important;
  }

  .u-footer-logo{
    width:205px !important;
    max-width:70vw !important;
    height:auto !important;
    margin:0 auto !important;
  }

  /* 8 — Copyright */
  .u-footer-bottom{
    margin-top:0 !important;
    padding:21px 8px 0 !important;
    border-top:1px solid rgba(43,116,245,.14) !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    color:#7189a4 !important;
    font-size:11px !important;
    line-height:1.55 !important;
    font-weight:500 !important;
    text-align:center !important;
  }
}

@media (max-width:390px){
  .u-footer-grid{
    column-gap:18px !important;
  }

  .u-footer-brand > p{
    font-size:14px !important;
  }

  .u-footer-links a{
    font-size:13px !important;
  }

  .u-footer-contact{
    gap:14px 12px !important;
  }

  .u-footer-contact a,
  .u-footer-contact span{
    font-size:12.5px !important;
  }

  .u-social{
    width:43px !important;
    height:43px !important;
    flex-basis:43px !important;
  }
}
