/* ============================================================
   Instant Cleaners — demo site by Intellium Inc.
   Palette locked to existing brand: blue + lime co-primaries.
   ============================================================ */

:root{
  --brand-blue:#1E9DFF;
  --brand-blue-dark:#1572CC;
  --brand-blue-ink:#0B4A7A;
  --brand-lime:#CCEE3E;
  --brand-lime-dark:#A8C722;
  --bg-white:#FFFFFF;
  --bg-soft:#FAFAF7;
  --ink-dark:#101418;
  --ink-mid:#3A4148;
  --ink-muted:#6B7480;
  --border:#E5E7EB;
  --wa:#25D366;
  --wa-dark:#1FA855;
  --shadow-sm:0 1px 2px rgba(15,42,68,.06), 0 2px 8px rgba(15,42,68,.04);
  --shadow-md:0 6px 16px rgba(15,42,68,.08), 0 2px 4px rgba(15,42,68,.05);
  --shadow-lg:0 16px 40px rgba(15,42,68,.12), 0 4px 12px rgba(15,42,68,.06);
  --radius-sm:8px;
  --radius:16px;
  --radius-lg:24px;
  --container:1200px;
  --pad-x:24px;
}
@media (min-width:1024px){ :root{ --pad-x:48px; } }

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important; transition:none !important;}
}
body{
  margin:0;
  font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  color:var(--ink-dark);
  background:var(--bg-white);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
}
@media (min-width:768px){ body{font-size:16px;} }

img,svg,video{display:block;max-width:100%;}
a{color:var(--brand-blue-ink);}
button{font:inherit;cursor:pointer;}

h1,h2,h3,h4{
  font-family:'Plus Jakarta Sans','Inter',sans-serif;
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.1;
  color:var(--ink-dark);
  margin:0 0 .5em;
}
h1{font-size:clamp(2.2rem, 6vw, 4rem);}
h2{font-size:clamp(1.7rem, 4vw, 2.6rem); letter-spacing:-0.018em;}
h3{font-size:1.2rem; font-weight:700; letter-spacing:-0.01em;}
h4{font-size:1rem; font-weight:700;}

p{margin:0 0 1em;}

.eyebrow{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brand-blue);
  margin:0 0 1rem;
}
.eyebrow--on-blue{color:#fff; opacity:.85;}

.lede{font-size:1.08rem;color:var(--ink-mid);max-width:60ch;}
.lede--on-blue{color:rgba(255,255,255,.92);}

.skip{
  position:absolute; left:-9999px; top:0;
  background:var(--brand-blue); color:#fff; padding:.5rem 1rem; z-index:1000;
}
.skip:focus{left:1rem; top:1rem;}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.95rem 1.5rem;
  border-radius:12px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.97rem;
  text-decoration:none;
  border:0;
  transition:transform .14s ease, box-shadow .2s ease, background .2s ease;
  white-space:nowrap;
  min-height:48px;
  line-height:1;
}
.btn:hover{transform:translateY(-1px); box-shadow:var(--shadow-md);}
.btn:active{transform:translateY(0);}
.btn--lg{padding:1.1rem 1.8rem; font-size:1.02rem; min-height:56px;}
.btn--block{display:flex; width:100%;}

.btn--blue{ background:var(--brand-blue-dark); color:#fff; }
.btn--blue:hover{ background:var(--brand-blue-ink); }

.btn--wa{ background:var(--wa); color:#fff; }
.btn--wa:hover{ background:var(--wa-dark); color:#fff; }
.btn--wa svg{ fill:#fff; }

.btn--ghost{
  background:transparent; color:var(--brand-blue-dark);
  border:2px solid var(--brand-blue-dark);
}
.btn--ghost:hover{ background:var(--brand-blue-dark); color:#fff; }

/* ============ NAV ============ */
.nav{
  position:sticky; top:0; z-index:50;
  background:#fff;
  border-bottom:1px solid var(--border);
  backdrop-filter:saturate(180%) blur(8px);
}
.nav__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:14px var(--pad-x);
  display:flex; align-items:center; gap:1.5rem;
}
.nav__brand{
  display:flex; align-items:center; gap:.6rem;
  text-decoration:none; color:var(--ink-dark);
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
}
.nav__logo-img{
  height:48px;
  width:auto;
  display:block;
  flex-shrink:0;
  object-fit:contain;
}
.foot__brand .nav__logo-img{
  height:80px;
  width:80px;
  background:transparent;
  border-radius:0;
  padding:0;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
}
.nav__wordmark{ font-size:1rem; letter-spacing:.05em; }
.nav__links{ display:none; gap:1.6rem; margin-left:auto; }
@media (min-width:1024px){ .nav__links{display:flex;} }
.nav__links a{
  color:var(--ink-dark);
  font-weight:600;
  font-size:.95rem;
  text-decoration:none;
  padding:.4rem 0;
  position:relative;
}
.nav__links a:hover{ color:var(--brand-blue-dark); }
.nav__links a.nav__cta{
  background:var(--brand-blue-dark);
  color:#fff;
  padding:.55rem 1.1rem;
  border-radius:999px;
  font-weight:700;
  font-size:.92rem;
  transition:background .2s, transform .15s;
}
.nav__links a.nav__cta:hover{ background:var(--brand-blue-ink); color:#fff; transform:translateY(-1px); }
.nav__phone{
  display:none; align-items:center; gap:.4rem;
  background:var(--brand-lime);
  color:var(--brand-blue-ink);
  padding:.6rem 1rem;
  border-radius:999px;
  font-weight:700;
  font-size:.92rem;
  text-decoration:none;
  margin-left:auto;
  transition:background .2s;
}
.nav__phone:hover{ background:var(--brand-lime-dark); }
@media (min-width:1024px){ .nav__phone{display:inline-flex; margin-left:0;} }

.nav__burger{
  display:flex; flex-direction:column; gap:5px;
  background:transparent; border:0; padding:10px;
  margin-left:auto;
}
@media (min-width:1024px){ .nav__burger{display:none;} }
.nav__burger span{
  display:block; width:24px; height:2px; background:var(--ink-dark);
  border-radius:2px; transition:transform .25s ease, opacity .2s ease;
}
.nav__burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav__burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-menu{
  position:fixed; inset:62px 0 0; z-index:45;
  background:#fff;
  padding:2rem var(--pad-x);
  display:flex; flex-direction:column; gap:.5rem;
  overflow-y:auto;
  height:calc(100dvh - 62px);
}
.mobile-menu[hidden]{display:none;}
.mobile-menu a{
  padding:1rem 0;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:1.3rem;
  color:var(--ink-dark);
  text-decoration:none;
  border-bottom:1px solid var(--border);
}
.mobile-menu__wa{
  margin-top:1.5rem;
  background:var(--wa) !important;
  color:#fff !important;
  text-align:center;
  border:0 !important;
  border-radius:14px;
  display:flex !important; align-items:center; justify-content:center; gap:.5rem;
}
.mobile-menu__wa svg{ fill:#fff; }

/* ============ HERO ============ */
.hero{
  position:relative;
  overflow:hidden;
  display:flex; align-items:center;
  color:#fff;
  isolation:isolate;
  padding:2.5rem 0;
  min-height:auto;
}
@media (min-width:768px){
  .hero{
    padding:3rem 0;
    min-height:calc(100vh - 70px);
  }
}
.hero__media{
  position:absolute; inset:0; z-index:-2;
  background:
    linear-gradient(120deg, rgba(11,74,122,.15) 0%, rgba(11,74,122,.55) 100%),
    url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?w=1600&q=80&auto=format&fit=crop') center/cover;
}
.hero__overlay{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(11,74,122,.85) 0%, rgba(11,74,122,.55) 50%, rgba(11,74,122,.15) 100%);
}
.hero__inner{
  margin:0 auto;
  padding:0 var(--pad-x);
  width:100%;
  max-width:1040px;
}
.hero__eyebrow{
  display:inline-block;
  background:var(--brand-lime);
  color:var(--brand-blue-ink);
  padding:.5rem 1rem;
  border-radius:999px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.16em;
  margin:0 0 1.25rem;
}
.hero__title{
  color:#fff;
  font-size:clamp(2.4rem, 7.4vw, 5.6rem);
  margin:0 0 1.3rem;
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}
.hero__title span{
  color:var(--brand-lime);
  font-style:italic;
}
.hero__sub{
  font-size:1.5rem;
  color:rgba(255,255,255,.95);
  max-width:62ch;
  margin:0 0 2.6rem;
  text-shadow:0 1px 6px rgba(0,0,0,.2);
}
.hero__cta{ display:flex; flex-wrap:wrap; gap:.75rem; }

/* ============ TRUST STRIP ============ */
.trust{
  background:#fff;
  border-bottom:1px solid var(--border);
}
.trust__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:1.2rem var(--pad-x);
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
@media (min-width:768px){ .trust__inner{grid-template-columns:repeat(4,1fr); gap:2rem; padding:1.5rem var(--pad-x);} }
.trust__item{
  display:flex; align-items:center; gap:.6rem;
  font-size:.92rem; font-weight:600;
  color:var(--ink-mid);
}
.trust__item svg{ color:var(--brand-blue); flex-shrink:0; }

/* ============ SECTION SHARED ============ */
section{ padding:5rem 0; }
@media (min-width:768px){ section{ padding:7rem 0; } }

/* ============ WHY US (LIME) ============ */
.why{
  background:var(--brand-lime);
  color:var(--brand-blue-ink);
}
.why__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
  text-align:center;
}
.why__title{
  color:var(--brand-blue-ink);
  font-size:clamp(2rem, 5vw, 3.2rem);
  margin:0 0 .8rem;
}
.why__sub{
  color:var(--brand-blue-ink);
  font-size:1.15rem;
  max-width:50ch;
  margin:0 auto 3.5rem;
  opacity:.85;
}
.why__grid{
  list-style:none;
  margin:0; padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  text-align:left;
}
@media (min-width:600px){ .why__grid{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ .why__grid{grid-template-columns:repeat(4,1fr); gap:2rem;} }
.why__grid li{
  background:rgba(255,255,255,.65);
  padding:2rem 1.5rem;
  border-radius:var(--radius);
  border:1px solid rgba(11,74,122,.1);
}
.why__grid h3{ color:var(--brand-blue-ink); margin:0 0 .5rem; }
.why__grid p{ color:var(--brand-blue-ink); margin:0; opacity:.85; font-size:.95rem; }

/* ============ SERVICES (BENTO) ============ */
.services{ background:var(--bg-white); }
.services__head{
  max-width:var(--container);
  margin:0 auto 3rem;
  padding:0 var(--pad-x);
}
.services__head h2{ max-width:18ch; }
.services__grid{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
}
@media (min-width:768px){ .services__grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:1fr; gap:1.5rem; } }

/* ============ MAGAZINE CINEMA SERVICE CARDS ============ */
.svc{
  display:grid;
  grid-template-rows:200px 1fr;
  background:#fff;
  border-radius:20px;
  text-decoration:none;
  color:inherit;
  transition:transform .25s ease, box-shadow .35s ease;
  position:relative;
  overflow:hidden;
  min-height:100%;
  isolation:isolate;
}
@media (min-width:768px){
  .svc{ grid-template-rows:auto; grid-template-columns:1fr 1.05fr; min-height:280px; }
}
.svc:hover{ transform:translateY(-4px); box-shadow:var(--shadow-lg); }

/* Photo panel */
.svc__media{
  background-size:cover;
  background-position:center;
  background-color:#0f1d2c;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.svc:hover .svc__media{ transform:scale(1.06); }
@media (min-width:768px){
  .svc__media{ order:2; }
}

/* Body */
.svc__body{
  display:flex; flex-direction:column;
  padding:1.5rem 1.4rem 1.4rem;
  gap:.45rem;
}
@media (min-width:768px){ .svc__body{ order:1; padding:2rem 1.8rem; } }

.svc__top{
  display:flex; align-items:center; gap:.65rem;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.svc__num{
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.18em;
  opacity:.5;
}
.svc__tag{
  font-weight:700;
  font-size:.65rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:.25rem .6rem;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid currentColor;
}

.svc__icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px;
  background:rgba(255,255,255,.15);
  border-radius:10px;
  margin:.35rem 0 .2rem;
  flex-shrink:0;
}
/* Hide icons + descriptions on the standard service tiles — keep only on the CTA tile */
.svc:not(.svc--cta) .svc__icon{ display:none; }
.svc:not(.svc--cta) .svc__desc{ display:none; }

.svc h3{
  font-size:1.85rem;
  line-height:1.1;
  margin:.4rem 0 .35rem;
  color:inherit;
  font-weight:800;
  letter-spacing:-0.015em;
}

.svc__desc{
  font-size:.92rem;
  line-height:1.5;
  margin:0;
  opacity:.85;
}

.svc__meta{
  display:flex; align-items:baseline; justify-content:space-between;
  margin:auto 0 0;
  padding-top:1rem;
  border-top:1px solid currentColor;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.svc__dur{
  font-size:.82rem;
  font-weight:600;
  opacity:.75;
}
.svc__price{
  font-weight:800;
  font-size:1.7rem;
  letter-spacing:-0.01em;
}
.svc__price small{
  font-size:.78rem;
  font-weight:600;
  opacity:.7;
  margin-left:.1rem;
}
.svc__price--quote{ font-size:1.1rem; letter-spacing:.05em; text-transform:uppercase; opacity:.85; }
.svc__cta{
  display:inline-block;
  margin-top:1rem;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.88rem;
  opacity:.95;
}

/* Color rotation (4-cycle: navy → lime → blue → cream) — 12 tiles cycle 3 times */
.svc:nth-child(4n+1){ background:var(--brand-blue-ink); color:#fff; }
.svc:nth-child(4n+1) .svc__icon{ background:rgba(204,238,62,.2); color:var(--brand-lime); }
.svc:nth-child(4n+1) .svc__meta{ border-top-color:rgba(255,255,255,.18); }
.svc:nth-child(4n+1) .svc__price{ color:var(--brand-lime); }
.svc:nth-child(4n+1) .svc__cta{ color:var(--brand-lime); }
.svc:nth-child(4n+1) .svc__tag{ background:var(--brand-lime); color:var(--brand-blue-ink); border-color:transparent; }

.svc:nth-child(4n+2){ background:var(--brand-lime); color:var(--brand-blue-ink); }
.svc:nth-child(4n+2) .svc__icon{ background:rgba(11,74,122,.15); color:var(--brand-blue-ink); }
.svc:nth-child(4n+2) .svc__meta{ border-top-color:rgba(11,74,122,.2); }
.svc:nth-child(4n+2) .svc__price{ color:var(--brand-blue-ink); }
.svc:nth-child(4n+2) .svc__cta{ color:var(--brand-blue-ink); }
.svc:nth-child(4n+2) .svc__tag{ background:var(--brand-blue-ink); color:var(--brand-lime); border-color:transparent; }

.svc:nth-child(4n+3){ background:var(--brand-blue); color:#fff; }
.svc:nth-child(4n+3) .svc__icon{ background:rgba(255,255,255,.22); color:#fff; }
.svc:nth-child(4n+3) .svc__meta{ border-top-color:rgba(255,255,255,.22); }
.svc:nth-child(4n+3) .svc__price{ color:#fff; }
.svc:nth-child(4n+3) .svc__cta{ color:#fff; }
.svc:nth-child(4n+3) .svc__tag{ background:rgba(255,255,255,.22); color:#fff; border-color:transparent; }

.svc:nth-child(4n+4){ background:#fff; color:var(--ink-dark); border:1px solid var(--border); }
.svc:nth-child(4n+4) .svc__icon{ background:rgba(30,157,255,.12); color:var(--brand-blue-dark); }
.svc:nth-child(4n+4) .svc__meta{ border-top-color:var(--border); }
.svc:nth-child(4n+4) .svc__price{ color:var(--brand-blue-dark); }
.svc:nth-child(4n+4) .svc__cta{ color:var(--brand-blue-dark); }
.svc:nth-child(4n+4) .svc__tag{ background:var(--brand-blue-dark); color:#fff; border-color:transparent; }

/* CTA tile — Custom service prompt */
.svc--cta{
  grid-template-rows:1fr !important;
  grid-template-columns:1fr !important;
  background:#fff !important;
  border:2px dashed var(--brand-blue-dark) !important;
  color:var(--brand-blue-dark) !important;
}
.svc--cta:hover{ background:var(--brand-blue-ink) !important; color:#fff !important; border-color:var(--brand-blue-ink) !important; transform:translateY(-4px); }
.svc--cta:hover .svc__icon{ background:rgba(204,238,62,.2); color:var(--brand-lime); }
.svc--cta:hover .svc__cta{ color:var(--brand-lime); }
.svc__body--center{
  align-items:center;
  text-align:center;
  justify-content:center;
  padding:2.5rem 2rem !important;
  gap:.5rem;
}
.svc__body--center .svc__icon{ width:56px; height:56px; margin:0 0 .25rem; background:rgba(30,157,255,.12); color:var(--brand-blue-dark); }
.svc__body--center h3{ font-size:1.4rem; }
.svc__body--center .svc__desc{ max-width:28ch; }
.svc__body--center .svc__cta{ margin-top:.75rem; }

/* Scroll-driven entrance (CSS-only, modern browsers) */
@supports (animation-timeline:view()) {
  .svc{
    animation:svc-reveal linear both;
    animation-timeline:view();
    animation-range:entry 0% entry 35%;
  }
  @keyframes svc-reveal{
    from{ opacity:0; transform:translateY(36px); }
    to{ opacity:1; transform:translateY(0); }
  }
  .svc:hover{ animation:none; opacity:1; }
}
@media (prefers-reduced-motion:reduce){
  .svc{ animation:none !important; opacity:1 !important; }
  .svc:hover .svc__media{ transform:none; }
}

/* ============ CALCULATOR ============ */
.calc{
  background:var(--brand-blue-ink);
  color:#fff;
}
.calc__inner{
  max-width:900px;
  margin:0 auto;
  padding:0 var(--pad-x);
}
.calc__head{ text-align:center; margin:0 0 2.5rem; }
.calc__head h2{ color:#fff; }
.calc__form{
  background:#fff;
  color:var(--ink-dark);
  padding:2rem;
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-lg);
}
@media (min-width:768px){ .calc__form{ padding:2.5rem; } }
.calc__row{ margin:0 0 2rem; }
.calc__row--split{
  display:grid; grid-template-columns:1fr; gap:2rem;
}
@media (min-width:768px){ .calc__row--split{ grid-template-columns:1fr 1fr; } }
.calc__label{
  display:block;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:1rem;
  margin:0 0 .8rem;
  color:var(--ink-dark);
}
.calc__label--sub{
  font-size:.85rem;
  font-weight:600;
  color:var(--ink-muted);
  margin:1rem 0 .5rem;
}
.calc__chips{ display:flex; flex-wrap:wrap; gap:.5rem; }
.chip{ position:relative; }
.chip input{ position:absolute; opacity:0; pointer-events:none; }
.chip span{
  display:inline-block;
  padding:.65rem 1rem;
  border:2px solid var(--border);
  border-radius:999px;
  font-size:.88rem;
  font-weight:600;
  color:var(--ink-mid);
  background:#fff;
  cursor:pointer;
  transition:border-color .18s, background .18s, color .18s;
  user-select:none;
}
.chip input:checked + span{
  background:var(--brand-blue);
  border-color:var(--brand-blue);
  color:#fff;
}
.chip input:focus-visible + span{ outline:3px solid var(--brand-lime); outline-offset:2px; }

.calc__input{
  width:100%;
  padding:.85rem 1rem;
  border:2px solid var(--border);
  border-radius:12px;
  font-size:1rem;
  font-family:inherit;
  color:var(--ink-dark);
  background:#fff;
  transition:border-color .18s;
}
.calc__input:focus{ outline:none; border-color:var(--brand-blue); }
.calc__input--select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23101418' d='M6 8L0 0h12z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem; }

.calc__result{
  background:var(--brand-lime);
  border-radius:var(--radius);
  padding:1.5rem;
  text-align:center;
  margin:0 0 1.5rem;
}
.calc__result-label{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.75rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--brand-blue-ink);
  margin:0 0 .3rem;
  opacity:.7;
}
.calc__result-value{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:2.3rem;
  color:var(--brand-blue-ink);
  margin:0 0 .3rem;
  line-height:1.1;
}
.calc__result-note{
  font-size:.85rem;
  color:var(--brand-blue-ink);
  margin:0;
  opacity:.7;
}
.calc__cta{ display:flex; justify-content:center; }
.calc__cta .btn{ width:100%; }
@media (min-width:600px){ .calc__cta .btn{ width:auto; } }

/* ============ PROCESS ============ */
.process{ background:var(--bg-soft); }
.process__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
  text-align:center;
}
.process__inner h2{ margin:0 auto 3rem; max-width:18ch; }
.process__steps{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  text-align:left;
}
@media (min-width:768px){ .process__steps{ grid-template-columns:repeat(3,1fr); gap:2rem; } }
.process__steps li{
  background:#fff;
  padding:2rem;
  border-radius:var(--radius);
  border:1px solid var(--border);
  position:relative;
}
.process__num{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px;
  background:var(--brand-blue);
  color:#fff;
  border-radius:50%;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:1.1rem;
  margin:0 0 1rem;
}
.process__steps h3{ margin:0 0 .5rem; }
.process__steps p{ color:var(--ink-mid); margin:0; font-size:.95rem; }

/* ============ AREAS (BLUE) ============ */
.areas{
  background:var(--brand-blue);
  color:#fff;
}
.areas__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
  text-align:center;
}
.areas h2{ color:#fff; max-width:22ch; margin:0 auto .8rem; }
.areas .lede{ margin:0 auto 3rem; }
.areas__grid{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  text-align:left;
}
@media (min-width:600px){ .areas__grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .areas__grid{ grid-template-columns:repeat(3,1fr); gap:1.25rem; } }
.areas__grid li{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius);
  padding:1.5rem;
  display:flex; flex-direction:column;
  transition:background .2s, transform .15s;
}
.areas__grid li:hover{ background:rgba(255,255,255,.18); transform:translateY(-2px); }
.areas__grid strong{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:1.15rem;
  margin:0 0 .25rem;
  color:#fff;
}
.areas__grid span{
  font-size:.88rem;
  color:rgba(255,255,255,.85);
}

/* ============ PLANS ============ */
.plans{ background:var(--bg-white); }
.plans__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
}
.plans__head{ text-align:center; margin:0 0 3rem; }
.plans__head h2{ max-width:22ch; margin-left:auto; margin-right:auto; }
.plans__head .lede{ margin-left:auto; margin-right:auto; }
.plans__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.5rem;
  align-items:stretch;
}
@media (min-width:768px){ .plans__grid{ grid-template-columns:repeat(3,1fr); grid-auto-rows:1fr; gap:1.5rem; } }
.plan{
  display:flex; flex-direction:column;
  background:#fff;
  border:2px solid var(--border);
  border-radius:var(--radius-lg);
  padding:2.2rem 1.8rem;
  position:relative;
  transition:transform .2s, box-shadow .25s, border-color .2s;
}
.plan:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.plan--featured{
  border-color:var(--brand-blue);
  background:linear-gradient(180deg, #F8FCFF 0%, #fff 60%);
  box-shadow:var(--shadow-md);
  transform:translateY(-4px);
}
.plan__ribbon{
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:var(--brand-lime);
  color:var(--brand-blue-ink);
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:.45rem 1rem;
  border-radius:999px;
}
.plan__name{
  font-size:1.4rem;
  color:var(--brand-blue-dark);
  margin:0 0 .25rem;
}
.plan__for{
  font-size:.92rem;
  color:var(--ink-muted);
  margin:0 0 1.5rem;
}
.plan__price{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:2.6rem;
  color:var(--ink-dark);
  margin:0 0 1.5rem;
  line-height:1;
}
.plan__price small{ font-size:1rem; font-weight:600; color:var(--ink-muted); }
.plan__list{
  list-style:none; margin:0 0 2rem; padding:0;
  flex:1;
}
.plan__list li{
  position:relative;
  padding:.5rem 0 .5rem 1.8rem;
  font-size:.95rem;
  color:var(--ink-mid);
  border-bottom:1px solid var(--border);
}
.plan__list li:last-child{ border:0; }
.plan__list li::before{
  content:"";
  position:absolute; left:0; top:.7rem;
  width:20px; height:20px;
  background:var(--wa);
  border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-position:center;
  background-repeat:no-repeat;
}
.plan .btn{ margin-top:auto; }
.plans__foot{
  text-align:center;
  margin:2.5rem 0 0;
  color:var(--ink-mid);
}

/* ============ GALLERY ============ */
.gallery{ background:var(--bg-soft); }
.gallery__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
}
.gallery__inner > .eyebrow,
.gallery__inner > h2,
.gallery__inner > .lede{ text-align:center; }
.gallery__inner > h2{ max-width:18ch; margin-left:auto; margin-right:auto; }
.gallery__inner > .lede{ margin:0 auto 3rem; }
.gallery__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}
@media (min-width:600px){ .gallery__grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .gallery__grid{ grid-template-columns:repeat(3,1fr); } }
.job{
  margin:0;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform .2s, box-shadow .25s;
}
.job:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.job__photo{
  aspect-ratio:4/3;
  background-size:cover;
  background-position:center;
  background-color:#dde;
}
.job__photo--1{ background-image:url('https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=800&q=80&auto=format&fit=crop'); }
.job__photo--2{ background-image:url('https://images.unsplash.com/photo-1552321554-5fefe8c9ef14?w=800&q=80&auto=format&fit=crop'); }
.job__photo--3{ background-image:url('https://images.unsplash.com/photo-1522444690501-9b3a93d35c54?w=800&q=80&auto=format&fit=crop'); }
.job__photo--4{ background-image:url('https://images.unsplash.com/photo-1581578017093-cd30fce4eeb7?w=800&q=80&auto=format&fit=crop'); }
.job__photo--5{ background-image:url('https://images.unsplash.com/photo-1497366216548-37526070297c?w=800&q=80&auto=format&fit=crop'); }
.job__photo--6{ background-image:url('https://images.unsplash.com/photo-1584622650111-993a426fbf0a?w=800&q=80&auto=format&fit=crop'); }
.job figcaption{
  display:flex; flex-direction:column;
  padding:1rem 1.25rem 1.25rem;
}
.job figcaption strong{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  color:var(--ink-dark);
  margin:0 0 .2rem;
}
.job figcaption span{
  font-size:.85rem;
  color:var(--ink-muted);
}
.gallery__note{
  text-align:center;
  margin:2.5rem 0 0;
  color:var(--ink-mid);
}

/* ============ STATS (LIME) ============ */
.stats{
  background:var(--brand-lime);
  padding:3.5rem 0;
}
@media (min-width:768px){ .stats{ padding:5rem 0; } }
.stats__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:2rem 1rem;
  text-align:center;
}
@media (min-width:768px){ .stats__inner{ grid-template-columns:repeat(4,1fr); gap:2rem; } }
.stat{ display:flex; flex-direction:column; gap:.3rem; }
.stat__num{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:clamp(2.2rem, 6vw, 3.6rem);
  color:var(--brand-blue-ink);
  line-height:1;
  letter-spacing:-0.02em;
}
.stat__label{
  font-size:.95rem;
  font-weight:600;
  color:var(--brand-blue-ink);
  opacity:.78;
}

/* ============ TESTIMONIALS (review cards) ============ */
.quote{ background:var(--bg-white); padding:5rem 0; }
.quote__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
}
.quote__head{ text-align:center; margin:0 auto 3rem; }
.quote__head h2{ margin:0 0 .8rem; max-width:none; white-space:nowrap; }
.quote__head .lede{ margin:0 auto; max-width:560px; }
@media (max-width:640px){
  .quote__head h2{ white-space:normal; }
}

.quote__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1.25rem;
}
@media (min-width:640px){ .quote__grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .quote__grid{ grid-template-columns:repeat(4,1fr); gap:1.5rem; } }

.review{
  display:flex; flex-direction:column;
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  padding:1.75rem 1.5rem 1.5rem;
  transition:transform .2s, box-shadow .25s, border-color .2s;
}
.review:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--brand-blue); }

.review__stars{
  color:#FBBF24;
  font-size:1.15rem;
  letter-spacing:.1em;
  line-height:1;
  margin:0 0 .85rem;
}
.review__text{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:600;
  font-size:1.02rem;
  line-height:1.45;
  color:var(--ink-dark);
  margin:0 0 1.25rem;
  flex:1;
}
.review__by{
  margin:0;
  padding-top:1rem;
  border-top:1px solid var(--border);
  display:flex; flex-direction:column; gap:.15rem;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.review__by strong{ font-size:.95rem; color:var(--ink-dark); font-weight:700; }
.review__by span{ font-size:.8rem; color:var(--ink-muted); font-weight:500; }

.quote__foot{
  text-align:center;
  margin:2.5rem 0 0;
}
.quote__foot a{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  color:var(--brand-blue-dark);
  text-decoration:none;
  font-size:.95rem;
}
.quote__foot a:hover{ color:var(--brand-blue-ink); text-decoration:underline; }

/* ============ FAQ ============ */
.faq{ background:var(--bg-soft); }
.faq__inner{
  max-width:820px;
  margin:0 auto;
  padding:0 var(--pad-x);
}
.faq__head{ text-align:center; margin:0 0 3rem; }
.faq__head h2{ max-width:22ch; margin-left:auto; margin-right:auto; }
.faq__list{ display:flex; flex-direction:column; gap:.75rem; }
.faq details{
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:0;
  transition:border-color .2s, box-shadow .2s;
}
.faq details[open]{ border-color:var(--brand-blue); box-shadow:var(--shadow-sm); }
.faq summary{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 1.5rem;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:1.02rem;
  color:var(--ink-dark);
  cursor:pointer;
  list-style:none;
  gap:1rem;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+";
  font-size:1.4rem;
  font-weight:600;
  color:var(--brand-blue);
  transition:transform .25s;
  flex-shrink:0;
}
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details p{
  padding:0 1.5rem 1.5rem;
  margin:0;
  color:var(--ink-mid);
  font-size:.95rem;
}

/* ============ FINAL CTA ============ */
.final{
  background:var(--brand-blue-ink);
  color:#fff;
  text-align:center;
}
.final__inner{
  max-width:760px;
  margin:0 auto;
  padding:0 var(--pad-x);
}
.final h2{ color:#fff; max-width:20ch; margin:0 auto 1rem; }
.final p{ color:rgba(255,255,255,.92); font-size:1.1rem; margin:0 auto 2.5rem; max-width:48ch; }
.final__cta{ display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; }
.final .btn--ghost{ color:#fff; border-color:rgba(255,255,255,.6); }
.final .btn--ghost:hover{ background:#fff; color:var(--brand-blue-ink); }

/* ============ FOOTER ============ */
.foot{ background:#fff; color:var(--ink-mid); padding:4rem 0 0; border-top:1px solid var(--border); }
.foot__inner{
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--pad-x);
  display:grid;
  grid-template-columns:1fr;
  gap:2.5rem;
}
@media (min-width:600px){ .foot__inner{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .foot__inner{ grid-template-columns:2fr 1fr 1fr 1.4fr; gap:3rem; } }
.foot__col--brand p{ font-size:.92rem; max-width:32ch; color:var(--ink-mid); }
.foot__brand{ display:flex; align-items:center; gap:.6rem; margin:0 0 1rem; color:var(--ink-dark); font-family:'Plus Jakarta Sans',sans-serif; font-weight:800;}
.foot__socials{ display:flex; gap:.6rem; margin:1.25rem 0 0; }
.foot__col .foot__socials a{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px;
  background:var(--brand-blue-dark);
  border-radius:50%;
  color:#fff;
  padding:0;
  transition:background .2s, color .2s, transform .15s;
}
.foot__col .foot__socials a:hover{ background:var(--brand-blue-ink); color:#fff; transform:translateY(-2px); }
.foot__col .foot__socials svg{ fill:currentColor; }
.foot__col .foot__socials a[aria-label="Instagram"] svg{ width:22px; height:22px; }
.foot__col .foot__socials a[aria-label="TikTok"] svg{ width:26px; height:26px; }
.foot__col .foot__socials a[aria-label="Facebook"] svg{ width:28px; height:28px; }
.foot__col h4{ color:var(--ink-dark); margin:0 0 1rem; font-size:.95rem; letter-spacing:.06em; text-transform:uppercase; }
.foot__col a{ display:block; color:var(--ink-mid); text-decoration:none; padding:.35rem 0; font-size:.92rem; transition:color .15s; }
.foot__col a:hover{ color:var(--brand-blue-dark); }
.foot__addr{ font-size:.88rem; color:var(--ink-mid); margin:1rem 0 0; line-height:1.7; }
.foot__bar{
  border-top:1px solid var(--border);
  margin:3rem 0 0;
  padding:1.5rem var(--pad-x);
  display:flex; flex-direction:column; gap:.4rem;
  font-size:.85rem;
  text-align:center;
  color:var(--ink-muted);
  max-width:var(--container);
  margin-left:auto;
  margin-right:auto;
}
@media (min-width:600px){ .foot__bar{ flex-direction:row; justify-content:space-between; text-align:left; } }
.foot__bar a{ color:var(--ink-dark); text-decoration:none; font-weight:600; }
.foot__bar a:hover{ color:var(--brand-blue-dark); }
.foot__bar p{ margin:0; }

/* ============ STICKY MOBILE CTA ============ */
.sticky-cta{
  position:fixed;
  bottom:0; left:0; right:0;
  z-index:40;
  background:#fff;
  border-top:1px solid var(--border);
  box-shadow:0 -8px 24px rgba(15,42,68,.08);
  padding:.75rem;
  display:none;
  gap:.5rem;
  padding-bottom:max(.75rem, env(safe-area-inset-bottom));
}
.sticky-cta.show{ display:flex; }
.sticky-cta .btn{ flex:1; padding:.85rem 1rem; min-height:48px; font-size:.92rem; }
@media (min-width:1024px){ .sticky-cta{ display:none !important; } }
