/* Desert Blue Pool Service — styles.
   Direction: cool deck-white ground, deep pool-tile teal, clear water blue; Gabarito + Instrument Sans,
   sentence case. Signature: a waterline mosaic band under the hero and a sample visit report on the photo. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --deck:#f4f6f5;--white:#ffffff;--tile:#0b4f6c;--tile-d:#083c52;--water:#1592c7;--shallow:#d6eef7;--ink:#10262f;--muted:#53666e;--line:#d6e1e4;
  --sun:#f2b544;--head:"Gabarito",system-ui,sans-serif;--body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--body);background:var(--deck);color:var(--ink);line-height:1.6;font-size:17px;overflow-x:clip}
a{color:inherit}
:focus-visible{outline:3px solid var(--water);outline-offset:3px}
i.bi{display:inline-block;line-height:1;vertical-align:-.1em}
h1,h2,h3,.hero-h1,.sec-h2,.t-h2,.contact-h2,.svc-name,.plan-name,.plan-price,.av-title,.ab-num,.nav-name,.footer-brand{font-family:var(--head);letter-spacing:-.015em;text-wrap:balance}
em{font-style:normal}
.sec-label,.t-label{display:none}
.sec-inner{max-width:1160px;margin:0 auto;padding:0 2rem}

/* buttons */
.btn-aqua,.btn-ghost,.nav-cta,.plan-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.35rem;border-radius:12px;font:600 1rem/1.1 var(--body);text-decoration:none;white-space:nowrap;border:2px solid transparent;cursor:pointer;transition:background-color .15s,transform .15s,box-shadow .15s,color .15s}
.btn-aqua,.nav-cta,.plan.featured .plan-cta{background:var(--tile);color:#fff;box-shadow:0 2px 0 var(--tile-d)}
.btn-aqua:hover,.nav-cta:hover,.plan.featured .plan-cta:hover{background:var(--water);transform:translateY(-2px);box-shadow:0 6px 16px rgba(21,146,199,.3)}
.btn-ghost,.plan-cta{background:var(--white);color:var(--tile);border-color:var(--tile)}
.btn-ghost:hover,.plan-cta:hover{background:var(--shallow);transform:translateY(-2px)}
.btn-aqua:active,.btn-ghost:active,.nav-cta:active,.plan-cta:active{transform:translateY(0);box-shadow:none}
.nav-cta{min-height:42px;padding:.5rem 1rem;font-size:.95rem}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:200;height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 2rem;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-logo{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.nav-drop{display:none}
.nav-name{font-weight:800;font-size:1.45rem;color:var(--tile);letter-spacing:-.02em}
.nav-name span{font-weight:500;color:var(--water)}
.nav-links{display:flex;gap:1.6rem;list-style:none}
.nav-links a{font-size:.98rem;font-weight:500;color:var(--muted);text-decoration:none}
.nav-links a:hover{color:var(--tile);text-decoration:underline;text-decoration-color:var(--water);text-decoration-thickness:2px;text-underline-offset:6px}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px}

/* hero */
#home{display:grid;grid-template-columns:1.05fr 1fr;padding-top:68px;background:var(--white)}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:4.5rem 3rem 4.5rem max(2rem,calc((100vw - 1160px)/2 + 2rem))}
.wave-tag{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;font-size:.98rem;font-weight:600;color:var(--tile);background:var(--shallow);border-radius:999px;padding:.3rem .85rem;margin-bottom:1.1rem}
.hero-h1{font-weight:800;font-size:clamp(2.8rem,5.8vw,4.9rem);line-height:.98;color:var(--ink);margin-bottom:1.2rem}
.hero-h1 em{color:inherit}
.hero-sub{font-size:1.12rem;color:var(--muted);max-width:34rem;margin-bottom:2rem}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.hero-trust{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.trust-item{display:flex;align-items:center;gap:.4rem;font-size:.93rem;font-weight:600;color:var(--ink)}
.trust-item::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--water)}
.hero-right{position:relative;margin:1.5rem 1.5rem 1.5rem 0;border-radius:20px;overflow:hidden;min-height:480px}
.hero-right>img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover}
.hero-right-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,60,82,.35),transparent 50%)}
.report{position:absolute;left:1.25rem;bottom:1.25rem;width:min(270px,calc(100% - 2.5rem));background:rgba(255,255,255,.97);border-radius:14px;padding:1rem 1.1rem;box-shadow:0 14px 36px rgba(8,60,82,.28)}
.report-h{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-weight:700;font-size:.98rem;color:var(--ink);margin-bottom:.55rem}
.report-h small{font-weight:500;font-size:.8rem;color:var(--muted)}
.report ul{list-style:none;display:grid;gap:.3rem}
.report li{display:flex;justify-content:space-between;gap:.75rem;font-size:.9rem;color:var(--ink)}
.report li span{color:var(--muted)}
.report li b{font-weight:600;display:flex;align-items:center;gap:.3rem}
.report li b i{color:#1f8a5b}

/* signature: waterline mosaic */
.waterline{height:22px;background:
  repeating-linear-gradient(90deg,transparent 0 20px,rgba(255,255,255,.55) 20px 22px),
  linear-gradient(180deg,var(--water) 0 50%,var(--tile) 50% 100%);
  background-size:22px 100%,100% 100%;border-top:2px solid rgba(255,255,255,.6)}
.waterline::after{content:"";display:block;height:100%;background:repeating-linear-gradient(0deg,transparent 0 9px,rgba(255,255,255,.55) 9px 11px)}

/* sections */
section{padding:5.5rem 0}
#services,#about,#contact{background:var(--deck)}
#plans,#testimonials{background:var(--white)}
.sec-h2,.t-h2,.contact-h2{font-weight:800;font-size:clamp(2.1rem,4.4vw,3.2rem);line-height:1;color:var(--ink);margin-bottom:.75rem}
.sec-h2 em,.t-h2 em,.contact-h2 em{color:inherit}
.sec-sub{font-size:1.05rem;color:var(--muted);max-width:40rem;margin-bottom:2.5rem}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.svc{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:1.6rem;transition:border-color .15s}
.svc:hover{border-color:var(--water)}
.svc-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--shallow);color:var(--tile);font-size:1.3rem;margin-bottom:1rem}
.svc-name{font-weight:700;font-size:1.3rem;color:var(--ink);margin-bottom:.3rem}
.svc-desc{font-size:.98rem;color:var(--muted)}
.svc-price{display:inline-block;margin-top:.8rem;font-size:.9rem;font-weight:600;color:var(--tile);background:var(--shallow);border-radius:999px;padding:.2rem .7rem}

.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:stretch}
.plan{position:relative;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:1.75rem;display:flex;flex-direction:column}
.plan.featured{border:2px solid var(--tile);box-shadow:0 10px 28px rgba(11,79,108,.12)}
.plan-badge{position:absolute;top:-.8rem;left:1.5rem;background:var(--sun);color:var(--ink);font-size:.85rem;font-weight:700;border-radius:999px;padding:.2rem .7rem}
.plan-name{font-weight:700;font-size:1.4rem;color:var(--ink)}
.plan-freq{font-size:.95rem;color:var(--muted);margin-bottom:.9rem}
.plan-price{font-weight:800;font-size:2.6rem;line-height:1;color:var(--tile)}
.plan-period{font-family:var(--body);font-size:1rem;font-weight:500;color:var(--muted)}
.plan-rule{height:1px;background:var(--line);margin:1.1rem 0}
.plan-features{list-style:none;display:grid;gap:.45rem;margin-bottom:1.5rem;flex:1}
.plan-features li{display:flex;gap:.55rem;font-size:.97rem}
.plan-features li::before{content:"";flex-shrink:0;width:16px;height:16px;margin-top:.25rem;border-radius:50%;background:var(--shallow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%230b4f6c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.plan-cta{width:100%}

.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center}
.about-grid>*{min-width:0}
.about-img{position:relative}
.about-img img{width:100%;height:520px!important;object-fit:cover;border-radius:20px;display:block}
.about-bubble{position:absolute;right:1.25rem;bottom:1.25rem;background:var(--white);border-radius:14px;padding:.85rem 1.1rem;box-shadow:0 10px 26px rgba(8,60,82,.2);text-align:left}
.ab-num{font-weight:800;font-size:2rem;line-height:1;color:var(--tile)}
.ab-lbl{font-size:.88rem;color:var(--muted)}
.about-body p{font-size:1.05rem;color:var(--muted);margin-bottom:1rem}
.about-body strong{color:var(--ink)}
.about-vals{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-top:1.5rem}
.av{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.1rem}
.av-icon{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--shallow);color:var(--tile);font-size:1.1rem;margin-bottom:.6rem}
.av-title{font-weight:700;font-size:1.1rem;color:var(--ink);margin-bottom:.2rem}
.av-desc{font-size:.93rem;color:var(--muted);line-height:1.5}

.t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.t-card{background:var(--deck);border-radius:16px;padding:1.6rem;display:flex;flex-direction:column}
.t-stars{color:var(--sun);letter-spacing:.1em;margin-bottom:.75rem}
.t-quote{font-size:1.02rem;color:var(--ink);flex:1;margin-bottom:1rem}
.t-divider{display:none}
.t-name{font-weight:700;color:var(--ink)}
.t-loc{font-size:.9rem;color:var(--muted)}

.contact-split{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start}
.contact-sub{font-size:1.05rem;color:var(--muted);margin-bottom:1.5rem;max-width:34rem}
.contact-methods{display:grid;gap:.75rem;max-width:30rem}
.cm{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem;text-decoration:none;transition:border-color .15s}
.cm:hover{border-color:var(--water)}
.cm.primary{background:var(--tile);border-color:var(--tile);color:#fff}
.cm.primary:hover{background:var(--water);border-color:var(--water)}
.cm-label{font-size:.88rem;color:var(--muted)}
.cm.primary .cm-label{color:#cfe8f3}
.cm-value{font-weight:700;font-size:1.1rem}
.cm>span{display:none}
.info-right{display:grid;gap:.85rem}
.info-block{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.25rem}
.ib-label{font-size:.9rem;font-weight:600;color:var(--muted);margin-bottom:.3rem}
.ib-value{font-weight:600;color:var(--ink)}
.areas-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.area-tag{font-size:.92rem;font-weight:500;background:var(--shallow);color:var(--tile);border-radius:999px;padding:.25rem .7rem}

footer{background:var(--tile-d);color:#cfe1e8;padding:3rem 2rem 1.5rem}
.footer-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-bottom:1.25rem}
.footer-brand{display:flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.35rem;color:#fff}
.footer-links{display:flex;gap:1.4rem;flex-wrap:wrap}
.footer-links a{color:#cfe1e8;text-decoration:none;font-size:.95rem}
.footer-links a:hover{color:#fff;text-decoration:underline}

@media(max-width:960px){
  #home{grid-template-columns:1fr}
  .hero-left{padding:3rem 1.25rem 2rem}
  .hero-right{margin:0 1.25rem 2rem;min-height:380px}
  .services-grid{grid-template-columns:1fr 1fr}
  .plans-grid,.t-grid{grid-template-columns:1fr}
  .about-grid,.contact-split{grid-template-columns:1fr;gap:2.5rem}
  .about-img img{height:340px!important}
  .nav-links{display:none}
  .hamburger{display:flex}
}
@media(max-width:600px){
  body{font-size:16px}
  nav{padding:0 1rem}
  .sec-inner{padding:0 1.25rem}
  section{padding:4rem 0}
  .services-grid,.about-vals{grid-template-columns:1fr}
  .hero-actions .btn-aqua,.hero-actions .btn-ghost{flex:1 1 auto}
  .report{left:.85rem;bottom:.85rem;width:calc(100% - 1.7rem)}
  .plans-grid{gap:1.5rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* call kit (phones) */
.tlwp-sticky{display:none}
@media(max-width:768px){body{padding-bottom:76px!important}.tlwp-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9999;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08)}.tlwp-sticky a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:12px;font:600 15px/1 var(--body);text-decoration:none;border:2px solid var(--tile);color:var(--tile);background:#fff}.tlwp-sticky a.k-call{background:var(--tile);color:#fff}}
/* phones: the bottom bar carries Call/Text/Email, so the header keeps just logo + menu */@media(max-width:768px){.nav-cta{display:none!important}}
:where(img[width][height]){height:auto}
