
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@700;800&display=swap');
:root{--bg:#f3f7f9;--bg2:#eef4f7;--surface:#fff;--text:#11202a;--muted:#5b6d7b;--line:#d6e3ea;--brand:#0d5c63;--brand2:#093f45;--brand-soft:#e9f5f5;--dark:#0b1a24;--dark2:#122a38;--success:#168851;--shadow:0 18px 48px rgba(16,36,54,.08);--shadow-lg:0 28px 80px rgba(16,36,54,.16);--radius:24px;--radius-sm:18px;--head:'Manrope',sans-serif;--body:'Inter',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:var(--body);color:var(--text);line-height:1.7}img,video{display:block;max-width:100%}a{text-decoration:none;color:inherit}p{margin:0 0 1rem;color:var(--muted)}ul{margin:0;padding-left:1.2rem}li{color:var(--muted);margin-bottom:.35rem}h1,h2,h3,h4,h5{margin:0 0 1rem;font-family:var(--head);line-height:1.1;letter-spacing:-.03em;color:var(--text)}h1{font-size:clamp(2.5rem,5vw,4.7rem)}h2{font-size:clamp(2rem,3.4vw,3.2rem)}h3{font-size:clamp(1.2rem,2vw,1.55rem)}
.container{width:min(1180px,calc(100% - 32px));margin:0 auto}.section{padding:88px 0}.section--alt{background:linear-gradient(180deg,#f9fbfd,#eef4f7)}.section--dark{background:linear-gradient(180deg,#0e1d27,#132c39);color:#edf7fb}.section--dark h1,.section--dark h2,.section--dark h3,.section--dark h4,.section--dark h5{color:#f2f8fb}.section--dark p,.section--dark li{color:#b7cad7}
.section-label{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;color:var(--brand);font-size:.82rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.section-label:before{content:"";width:30px;height:2px;background:rgba(13,92,99,.35);border-radius:999px}.section--dark .section-label{color:#81d7df}.section--dark .section-label:before{background:rgba(129,215,223,.35)}.accent{color:var(--brand)}
.topbar{background:var(--dark);color:#fff;text-align:center;padding:9px 16px;font-size:.92rem;font-weight:600}.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(203,217,227,.92)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:82px}.logo{font-family:var(--head);font-weight:800;font-size:1.22rem;line-height:1;letter-spacing:-.03em;color:#102734}.logo span{color:var(--brand)}.logo small{display:block;margin-top:5px;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:26px}.nav>a,.nav>.nav-item>a{font-size:.96rem;font-weight:600;color:#2f4554;position:relative}.nav>a:after,.nav>.nav-item>a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--brand);transition:width .2s ease}.nav>a:hover:after,.nav>.nav-item>a:hover:after,.nav>a.active:after{width:100%}.nav-item{position:relative}.dropdown{display:none;position:absolute;left:-18px;top:calc(100% + 16px);width:300px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg)}.nav-item:hover .dropdown{display:block}.dropdown a{display:block;padding:11px 12px;border-radius:12px;color:#335062}.dropdown a:hover{background:#f2f7fa}.header-actions{display:flex;align-items:center;gap:10px}.header-phone{font-weight:800;color:#102734;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 22px;border-radius:999px;border:1px solid transparent;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 14px 30px rgba(13,92,99,.22)}.btn-primary:hover{background:var(--brand2)}.btn-secondary{background:#fff;color:var(--text);border-color:#c6d5df}.btn-whatsapp{background:#eefaf3;border-color:rgba(30,142,90,.25);color:var(--success)}.btn-whatsapp:hover{background:#e7f8ef}.mobile-toggle{display:none;border:none;background:none;padding:4px}.mobile-toggle span{display:block;width:24px;height:2px;background:#102734;margin:5px 0}.nav-mobile{display:none;padding:0 0 18px}.nav-mobile.open{display:block}.nav-mobile a{display:block;padding:13px 0;border-bottom:1px solid var(--line);color:#29404f;font-weight:600}.nav-mobile .mobile-cta{display:grid;gap:10px;margin-top:14px}
.hero{position:relative;overflow:hidden;background:linear-gradient(100deg,rgba(9,20,27,.85),rgba(9,20,27,.58)),var(--hero-image);background-size:cover;background-position:center;color:#fff}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right, rgba(31,138,149,.24), transparent 38%)}.hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.92fr);gap:32px;align-items:center;min-height:720px;padding:72px 0 88px}.hero-copy{max-width:720px}.hero-kicker{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;background:rgba(124,214,223,.12);border:1px solid rgba(124,214,223,.24);border-radius:999px;color:#dff9fb;font-size:.86rem;font-weight:700;margin-bottom:20px}.hero-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#7cd6df}.hero h1,.hero h2,.hero h3{color:#fff}.hero p{color:rgba(239,249,253,.86);font-size:1.08rem}.hero-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 30px}.highlight-chip{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);font-size:.95rem;font-weight:600}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg)}.hero-panel-image{aspect-ratio:4/3;background:center/cover no-repeat}.hero-panel-body{padding:22px}.hero-panel-body h3{color:#fff}.hero-panel-body p{color:rgba(239,249,253,.82);margin:0}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card,.article-card,.location-card,.review-card,.info-card,.video-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.service-card,.article-card,.location-card,.review-card,.info-card{padding:28px}.service-card p,.article-card p,.location-card p,.review-card p,.info-card p{margin-bottom:14px}.link-inline{color:var(--brand);font-weight:700}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:32px;align-items:start}.media-card{overflow:hidden;border-radius:26px;box-shadow:var(--shadow-lg);border:1px solid var(--line);background:#fff}.media-card img{width:100%;height:100%;min-height:420px;object-fit:cover}.media-card figcaption{padding:18px 22px;font-size:.95rem;color:var(--muted)}
.number-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}.number-card{padding:24px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.number-card span{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:800;margin-bottom:14px}
.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.image-card,.video-card{overflow:hidden;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.image-card img,.video-card video{width:100%;height:280px;object-fit:cover}.image-card .body,.video-card .body{padding:22px}
.before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.ba-card{overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.ba-card img{width:100%;height:300px;object-fit:cover}.ba-card .tag{display:inline-block;margin:16px 16px 0;padding:8px 12px;background:var(--brand-soft);color:var(--brand);border-radius:999px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.ba-card .body{padding:14px 18px 22px}.ba-card h3{color:var(--text)}.ba-card p{color:var(--muted)}.section--dark .ba-card{background:#fff}.section--dark .ba-card h3{color:var(--text)}.section--dark .ba-card p{color:var(--muted)}
.gallery-masonry{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-areas:"feature side1 side2" "feature side3 side4";gap:18px;margin-top:28px}.gallery-masonry .feature{grid-area:feature}.gallery-masonry .side1{grid-area:side1}.gallery-masonry .side2{grid-area:side2}.gallery-masonry .side3{grid-area:side3}.gallery-masonry .side4{grid-area:side4}.gallery-masonry .tile{position:relative;overflow:hidden;border-radius:24px;min-height:250px;box-shadow:var(--shadow);border:1px solid var(--line)}.gallery-masonry img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-masonry .overlay{position:absolute;left:0;right:0;bottom:0;padding:20px;background:linear-gradient(180deg,transparent,rgba(9,20,27,.78));color:#fff}.gallery-masonry .overlay h3{color:#fff;margin:0 0 6px}.gallery-masonry .overlay p{color:rgba(255,255,255,.86);margin:0;font-size:.95rem}
.list-checks{display:grid;gap:12px;margin-top:18px}.list-checks li{list-style:none;position:relative;padding-left:28px}.list-checks li:before{content:"✓";position:absolute;left:0;top:0;color:var(--brand);font-weight:800}
.subtle-box{padding:24px;border-radius:22px;background:linear-gradient(180deg,#f8fcfd,#eff7f8);border:1px solid #d3e9ea}.notice{padding:20px 24px;border-radius:20px;background:#f7fbff;border:1px solid var(--line)}
.page-hero{background:linear-gradient(100deg,rgba(9,20,27,.78),rgba(9,20,27,.58)),var(--hero-image);background-size:cover;background-position:center;color:#fff}.page-hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.88fr);gap:30px;align-items:center;padding:56px 0 64px}.page-hero h1,.page-hero h2,.page-hero h3{color:#fff}.page-hero p{color:rgba(241,249,252,.86);font-size:1.05rem}.hero-metrics{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.metric{padding:11px 14px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);font-size:.92rem;font-weight:700}.page-panel{background:rgba(255,255,255,.08);border-radius:24px;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(8px);padding:24px}.page-panel h3{color:#fff}.page-panel p,.page-panel li{color:rgba(241,249,252,.83)}
.breadcrumb{padding:18px 0 12px;background:#f7fbfd;border-bottom:1px solid var(--line)}.breadcrumb a{color:var(--brand);font-weight:600}.breadcrumb span{color:#8092a2}.cta-band{padding:34px;border-radius:28px;background:linear-gradient(135deg,#0e1c26,#123041);color:#fff;box-shadow:var(--shadow-lg)}.cta-band h2{color:#fff}.cta-band p{color:rgba(241,249,252,.84)}
.footer{background:#0d1820;color:#d5e4ed;padding:60px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:26px}.footer .logo{color:#fff}.footer .logo small{color:#9eb0bc}.footer h5{color:#fff;font-size:1rem;margin-bottom:16px}.footer p,.footer a,.footer span{color:#b6c8d3}.footer-links{display:grid;gap:10px}.footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#95a9b7;font-size:.94rem}
.sticky-wa{position:fixed;right:16px;bottom:16px;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#1fa05a;box-shadow:0 16px 28px rgba(15,60,38,.22);z-index:1001}.sticky-wa svg{width:28px;height:28px;fill:#fff}.mobile-quickbar{display:none}
.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.video-card video{background:#000}.video-card .caption{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:12px;color:var(--muted);font-size:.92rem}
.review-card .stars{color:#f5b400;font-size:1rem;letter-spacing:.12em;margin-bottom:10px}.review-card .name{font-weight:800;color:var(--text);margin-top:8px}.review-card .meta{font-size:.9rem;color:var(--muted)}
@media (max-width:1080px){.nav,.header-actions{display:none}.mobile-toggle{display:inline-block}.hero-inner,.page-hero-inner,.split,.footer-grid{grid-template-columns:1fr}.card-grid,.image-grid,.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-masonry{grid-template-columns:1fr 1fr;grid-template-areas:"feature feature" "side1 side2" "side3 side4"}}
@media (max-width:760px){h1{font-size:2.25rem}h2{font-size:1.8rem}.section{padding:68px 0}.hero-inner{min-height:auto;padding:54px 0 80px}.hero-highlights,.card-grid,.image-grid,.number-grid,.before-after,.video-grid{grid-template-columns:1fr}.service-card,.article-card,.location-card,.review-card,.info-card{padding:22px}.sticky-wa{display:none}.mobile-quickbar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);z-index:1002}.mobile-quickbar a{min-height:48px;font-size:.95rem}.gallery-masonry{grid-template-columns:1fr;grid-template-areas:"feature" "side1" "side2" "side3" "side4"}}

.hero-side-ctas{display:flex;flex-direction:column;gap:14px;justify-content:center}
.side-cta{display:flex;flex-direction:column;gap:2px;padding:18px 16px;border-radius:20px;color:#fff;box-shadow:var(--shadow-lg);min-height:104px;justify-content:center}
.side-cta strong{font-size:1.1rem;line-height:1.2}
.side-cta-label{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;opacity:.88}
.side-cta-call{background:linear-gradient(135deg,#0d5c63,#14818b)}
.side-cta-wa{background:linear-gradient(135deg,#128c54,#1fa05a)}

.quote-form-card{position:relative;overflow:hidden;border-radius:30px;background:#0f2230;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 90px rgba(0,0,0,.35)}
.quote-form-card:before{content:"";position:absolute;inset:0 0 auto;height:170px;background:linear-gradient(135deg,#11a9df,#0b6f9a);z-index:0}
.quote-form-head{position:relative;z-index:1;padding:24px 26px 18px;color:#fff;text-align:center}
.quote-form-head span{display:inline-flex;margin-bottom:8px;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-size:.74rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.quote-form-head h2{font-size:clamp(1.7rem,2.4vw,2.35rem);color:#fff;margin:0 0 8px;letter-spacing:-.04em}
.quote-form-head p{max-width:430px;margin:0 auto;color:rgba(255,255,255,.88);font-size:.94rem;line-height:1.5}
.quote-form-frame-wrap{position:relative;z-index:1;margin:0 16px 16px;border-radius:22px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.26);box-shadow:0 24px 56px rgba(0,0,0,.25)}
.quote-form-fallback{display:flex;justify-content:center;align-items:center;gap:8px;position:relative;z-index:1;padding:0 18px 18px;color:rgba(255,255,255,.72);font-size:.88rem}
.quote-form-fallback a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.floating-contact-rail{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1003;display:flex;flex-direction:column;gap:10px;pointer-events:none}
.floating-contact-rail a{pointer-events:auto;display:flex;align-items:center;gap:10px;min-height:58px;padding:14px 13px 14px 16px;border-radius:18px 0 0 18px;color:#fff;font-weight:800;box-shadow:0 16px 38px rgba(8,25,38,.28);writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.02em}
.floating-contact-rail .rail-call{background:linear-gradient(180deg,#e8292f,#b70e19)}
.floating-contact-rail .rail-wa{background:linear-gradient(180deg,#1aa85d,#0e7f46)}
.floating-contact-rail svg{width:18px;height:18px;fill:currentColor;writing-mode:horizontal-tb;transform:rotate(90deg)}
.sticky-wa{display:none}

/* WhatsApp quote form in hero */
.hero-inner-whatsapp{grid-template-columns:minmax(0,1.02fr) minmax(420px,.86fr);align-items:center;min-height:760px}
.whatsapp-quote-card{background:linear-gradient(180deg,#102938,#081a25);border:1px solid rgba(255,255,255,.16);box-shadow:0 34px 90px rgba(0,0,0,.38)}
.whatsapp-quote-card:before{height:190px;background:radial-gradient(circle at top left,rgba(54,213,130,.28),transparent 35%),linear-gradient(135deg,#0d5c63,#16a76a)}
.whatsapp-quote-form{position:relative;z-index:1;margin:0 18px 18px;padding:20px;border-radius:24px;background:#fff;border:1px solid rgba(255,255,255,.3);box-shadow:0 24px 56px rgba(0,0,0,.24);display:grid;gap:14px}
.whatsapp-quote-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.whatsapp-quote-form label{display:grid;gap:7px;color:#213441;font-weight:800;font-size:.86rem;letter-spacing:-.01em}
.whatsapp-quote-form input,.whatsapp-quote-form select,.whatsapp-quote-form textarea{width:100%;border:1px solid #d8e4eb;border-radius:14px;background:#f8fbfd;color:#102734;font:600 15px/1.4 var(--body);padding:13px 14px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;appearance:auto}
.whatsapp-quote-form textarea{resize:vertical;min-height:104px}
.whatsapp-quote-form input:focus,.whatsapp-quote-form select:focus,.whatsapp-quote-form textarea:focus{border-color:#16a76a;background:#fff;box-shadow:0 0 0 4px rgba(22,167,106,.12)}
.btn-form-submit{width:100%;min-height:56px;border:0;background:linear-gradient(135deg,#16a76a,#0d8f54);color:#fff;box-shadow:0 16px 34px rgba(22,167,106,.28);font-size:1rem}
.btn-form-submit:hover{background:linear-gradient(135deg,#13945e,#0c7f4c)}
.quote-form-trust{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:2px}
.quote-form-trust span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:#eefaf3;color:#0d7a49;font-size:.75rem;font-weight:800}
.quote-form-trust span:before{content:"✓";font-weight:900}
.quick-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}
.quick-contact-card{padding:22px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.quick-contact-card h3{color:#fff;margin-bottom:12px}
.quick-contact-card p{color:rgba(241,249,252,.82);margin-bottom:16px}
@media (max-width:1180px){.hero-inner-whatsapp{grid-template-columns:1fr;min-height:auto}.quote-form-card{max-width:640px;width:100%;margin:0 auto}}
@media (max-width:760px){.hero-inner-whatsapp{grid-template-columns:1fr}.whatsapp-quote-form{margin:0 10px 12px;padding:16px;border-radius:18px}.whatsapp-quote-form .form-row,.quick-contact-grid{grid-template-columns:1fr}.quote-form-trust{justify-content:flex-start}.hero-copy .hero-actions{display:flex}}

/* SEO expansion additions */
.area-pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.area-pill{display:inline-flex;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px rgba(16,36,54,.05)}.section--dark .area-pill{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#fff}.service-card a,.article-card a,.location-card a{word-break:normal}.image-card .body h3{margin-bottom:8px}.article-card h3,.location-card h3{letter-spacing:-.02em}.subtle-box a{color:var(--brand);font-weight:700}.service-card ul{margin-top:12px}.priority-strip{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.priority-strip span{padding:8px 12px;border-radius:999px;background:var(--brand-soft);color:var(--brand);font-weight:800;font-size:.84rem}

/* Mobile fix: keep the side Call / WhatsApp rail visible without covering hero buttons */
@media (max-width:760px){
  .floating-contact-rail{
    display:flex!important;
    right:0;
    top:auto;
    bottom:92px;
    transform:none;
    z-index:1004;
    gap:8px;
    pointer-events:none;
  }
  .floating-contact-rail a{
    width:52px;
    height:112px;
    min-height:112px;
    justify-content:center;
    padding:10px 8px;
    border-radius:16px 0 0 16px;
    font-size:.84rem;
    line-height:1.05;
    box-shadow:0 12px 28px rgba(8,25,38,.24);
  }
  .floating-contact-rail svg{
    width:16px;
    height:16px;
  }
  .hero-actions .btn{position:relative;z-index:2;}
}
@media (max-width:380px){
  .floating-contact-rail{bottom:88px;}
  .floating-contact-rail a{width:46px;height:106px;min-height:106px;font-size:.78rem;}
}
