
/* ═══════════════════════════════════════════════════════════════════════════
   OUSIS CLEANING — FULL DESIGN SYSTEM v3.0
   Style: Professional · Modern · Elegant (inspired by Sparkly Cleaning)
   Colors: Blue #478bd8 | Gold #F9DE6E | Dark #0B0B0B | Light #EEEEEE
═══════════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ─── KADENCE OVERRIDES — full-bleed page layout ───────────────────────── */
:root {
  /* Override Kadence's global content-width constraint */
  --global-content-width: 100vw !important;
  --content-width: 100vw !important;
}
/* Remove Kadence's site-main max-width so our sections can be full-bleed */
.site-main,
.page-template-default .site-main,
.kb-is-global-template .site-main {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
}
/* Remove Kadence default spacing around content */
.content-area { margin-top: 0 !important; margin-bottom: 0 !important; }
.entry-content-wrap { padding-top: 0 !important; padding-bottom: 0 !important; }
.site-footer, .footer-html { margin-top: 0 !important; padding-top: 0 !important; }
/* Kill Kadence inner content padding on pages */
.entry-content,
.page .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* Full-bleed: break our sections out of any container */
.ousis-hero,
.ousis-section,
.ousis-stats,
.ousis-cta-banner {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc((100% - 100vw) / 2) !important;
  margin-right: calc((100% - 100vw) / 2) !important;
  box-sizing: border-box !important;
}

/* ─── CSS VARIABLES ────────────────────────────────────────────────────── */
:root {
  --gold:         #F9DE6E;
  --gold-deep:    #D4A017;
  --gold-richer:  #B8860B;
  --gold-light:   #FDF3C8;
  --blue:         #478bd8;
  --blue-dark:    #163580;
  --blue-deeper:  #0D2458;
  --blue-mid:     #2A5EC4;
  --blue-pale:    #EBF0FF;
  --blue-xpale:   #F4F7FF;
  --green-wa:     #25D366;
  --bg:           #FFFFFF;
  --bg-light:     #F7F8FC;
  --bg-off:       #F0F2F8;
  --border:       #E3E6EF;
  --text:         #0B0B0B;
  --text-mid:     #2D2D2D;
  --text-muted:   #5A5F75;
  --text-light:   #8B91A7;
  --r-sm:         6px;
  --r-md:         12px;
  --r-lg:         20px;
  --r-xl:         28px;
  --sh-sm:        0 2px 8px rgba(31,75,167,.08);
  --sh-md:        0 6px 24px rgba(31,75,167,.11);
  --sh-lg:        0 16px 48px rgba(31,75,167,.14);
  --tr:           all .24s cubic-bezier(.4,0,.2,1);
  --max-w:        1200px;
}

/* ─── RESET & BASE ─────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;line-height:1.7;color:var(--text);background:#fff;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
  font-family:'Inter',sans-serif;font-weight:700;
  line-height:1.2;color:var(--text);letter-spacing:-0.025em;
}
h1{font-size:clamp(2rem,5vw,3.5rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.25rem);margin-bottom:.75rem}
h3{font-size:clamp(1.1rem,2vw,1.35rem);font-weight:600}
p{color:var(--text-muted);line-height:1.75;margin-bottom:1rem}
a{color:var(--blue);text-decoration:none;transition:var(--tr)}
a:hover{color:var(--blue-dark)}
img{max-width:100%;height:auto;display:block}

/* ─── HEADER ───────────────────────────────────────────────────────────── */
.site-header,#masthead{
  background:#fff !important;
  border-bottom:1px solid var(--border) !important;
  box-shadow:none !important;
  position:sticky !important;
  top:0;z-index:1000;
}
.site-header-wrap,.site-header-inner-wrap,
.site-header-upper-wrap,.site-header-upper-inner-wrap,
.site-header-row-container-inner{
  background:transparent !important;box-shadow:none !important;
}
.site-header-upper-wrap,.site-header-upper-inner-wrap{display:block !important}
.site-main-header-inner-wrap{
  padding:0 !important;min-height:72px !important;
  display:flex !important;align-items:center !important;
  justify-content:space-between !important;
}

/* ─── LOGO ──────────────────────────────────────────────────────────────── */
.site-branding .site-title{
  font-size:1.3rem !important;font-weight:800 !important;
  color:var(--text) !important;letter-spacing:-0.04em !important;margin:0 !important;
}
.site-branding .site-title a{color:var(--text) !important}
.site-branding .site-title::first-letter{color:var(--blue) !important}
.site-branding .custom-logo,.site-branding .custom-logo-link img{
  max-height:46px !important;width:auto !important;
}
.has-custom-logo .site-title,.has-custom-logo .site-description{display:none !important}
.site-title-wrap{display:none !important}

/* ─── NAV ───────────────────────────────────────────────────────────────── */
#site-navigation,.main-navigation{background:transparent !important}
#primary-menu{
  display:flex !important;align-items:center !important;
  gap:.25rem 1.6rem !important;list-style:none !important;
  margin:0 !important;padding:0 !important;
}
#primary-menu>li{margin:0 !important;padding:0 !important}
#primary-menu>li>a{
  font-size:.875rem !important;font-weight:500 !important;
  color:var(--text-mid) !important;letter-spacing:.005em !important;
  padding:.25rem 0 !important;display:block !important;
  border-bottom:2px solid transparent !important;transition:var(--tr) !important;
}
#primary-menu>li>a:hover{
  color:var(--blue) !important;border-bottom-color:var(--gold) !important;
}
#primary-menu>li.current-menu-item>a,
#primary-menu>li.current_page_ancestor>a{
  color:var(--blue) !important;font-weight:600 !important;
  border-bottom-color:var(--blue) !important;
}
.main-navigation .dropdown-arrow{display:none !important}

/* ─── CONTAINER & LAYOUT ────────────────────────────────────────────────── */
.ousis-container{
  max-width:var(--max-w);margin:0 auto;padding:0 2rem;
}
.ousis-section{padding:5rem 0}
.ousis-section-white{background:#fff;padding:2rem 0}
.ousis-section-offwhite{background:#f7f8fc;padding:2rem 0}
.ousis-section-light{background:var(--bg-light)}

/* ─── SECTION HEADER ────────────────────────────────────────────────────── */
.ousis-section-header{
  text-align:center;max-width:680px;margin:0 auto 1.25rem;
}
.ousis-section-header h2{color:var(--text)}
.ousis-section-header p{color:var(--text-muted);font-size:1.05rem;margin:0}
.ousis-eyebrow-label{
  display:inline-block;
  background:var(--gold-light);color:var(--gold-richer);
  font-size:.75rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:.3rem .9rem;
  border-radius:100px;margin-bottom:.85rem;
}

/* ─── BUTTONS ───────────────────────────────────────────────────────────── */
.ousis-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.85rem 2rem;border-radius:var(--r-sm);
  font-size:.875rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;transition:var(--tr);
  border:2px solid transparent;cursor:pointer;white-space:nowrap;
  text-decoration:none !important;
}
.ousis-btn-gold{
  background:var(--gold);color:var(--blue-deeper) !important;
  box-shadow:0 4px 16px rgba(249,222,110,.35);
}
.ousis-btn-gold:hover{
  background:var(--gold-deep);color:#fff !important;
  box-shadow:0 6px 24px rgba(249,222,110,.45);transform:translateY(-2px);
}
.ousis-btn-blue{
  background:var(--blue);color:#fff !important;
  box-shadow:var(--sh-sm);
}
.ousis-btn-blue:hover{
  background:var(--blue-dark);color:#fff !important;
  transform:translateY(-2px);box-shadow:var(--sh-md);
}
.ousis-btn-green{
  background:var(--green-wa);color:#fff !important;
}
.ousis-btn-green:hover{
  background:#1DA851;color:#fff !important;transform:translateY(-2px);
}
.ousis-btn-outline-white,
.ousis-btn-outline{
  background:transparent;color:#fff !important;
  border-color:rgba(255,255,255,.6);
}
.ousis-btn-outline-white:hover,
.ousis-btn-outline:hover{
  background:rgba(255,255,255,.15);border-color:#fff;
}
.ousis-cta-row{
  display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;
}

/* ─── HERO ──────────────────────────────────────────────────────────────── */
.ousis-hero{
  position:relative;min-height:180px;
  display:flex;align-items:center;overflow:hidden;
}
.ousis-hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.04);
}
.ousis-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,
    rgba(13,36,88,.88) 0%,
    rgba(31,75,167,.72) 60%,
    rgba(31,75,167,.45) 100%);
}
.ousis-hero-content{
  position:relative;z-index:2;
  padding-top:4rem;padding-bottom:4rem;
  max-width:700px;
}
.ousis-hero-content .ousis-eyebrow-label{
  background:rgba(249,222,110,.2);color:var(--gold);
}
.ousis-hero-content h1{
  color:#fff;font-size:clamp(2.25rem,6vw,3.75rem);
  margin:.75rem 0 1.25rem;line-height:1.1;
}
.ousis-hero-content p{
  color:rgba(255,255,255,.85);font-size:1.1rem;
  max-width:560px;margin-bottom:0;
}

/* ─── HERO SPLIT LAYOUT ─────────────────────────────────────────────────── */
.ousis-hero.ousis-hero-split{
  min-height:65vh;background:transparent;
  border-radius:22px;overflow:hidden;
}
/* Full-bleed image — same as original hero */
.ousis-hero.ousis-hero-split .ousis-hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center 40%;
  transform:scale(1.04);
}
/* Light veil over the full image so the card pops */
.ousis-hero.ousis-hero-split::before{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,0.18);
  z-index:1;pointer-events:none;
}
/* Gradient border overlay at all 4 rounded corners */
.ousis-hero.ousis-hero-split::after{
  content:'';position:absolute;inset:0;
  border-radius:22px;
  border:2.5px solid transparent;
  background:linear-gradient(135deg,rgba(201,168,76,.7),rgba(255,255,255,.15) 40%,rgba(255,255,255,.05) 60%,rgba(201,168,76,.7)) border-box;
  -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:destination-out;
  mask-composite:exclude;
  z-index:4;pointer-events:none;
}
.ousis-hero-split-inner{
  position:relative;z-index:2;
  display:flex;align-items:center;
  padding-top:2.5rem;padding-bottom:2.5rem;
  min-height:65vh;
  width:100%;
}
.ousis-hero-split-card{
  background:rgba(255,255,255,0.96);
  border-radius:16px;
  padding:2rem 1.75rem;
  max-width:520px;
  box-shadow:0 8px 32px rgba(10,26,62,.14);
}
.ousis-hero-split-card h1{
  color:var(--text) !important;
  font-size:clamp(1.3rem,1.9vw,1.75rem) !important;
  line-height:1.2 !important;
  margin:0 0 .75rem 0 !important;
  border:none !important;padding:0 !important;
}
.ousis-hero-split-card p{
  color:var(--text-muted) !important;
  font-size:.88rem !important;
  margin:0 !important;line-height:1.6 !important;
}
.ousis-hero-split-card .ousis-cta-row{
  flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.65rem;margin-top:1.25rem !important;
}
.ousis-hero-split-card .ousis-cta-row .ousis-btn{
  padding:.6rem 1.1rem;font-size:.82rem;white-space:nowrap;
}
.ousis-hero-badges{
  display:flex;gap:1.25rem;margin-top:1.5rem;flex-wrap:wrap;
}
.ousis-hero-badge{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.85rem;color:var(--text-muted);font-weight:500;
}
.ousis-badge-check{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;min-width:20px;
  background:#0348ab;color:#fff;
  border-radius:50%;font-size:.65rem;font-weight:800;
}
.ousis-btn-outline-dark{
  background:transparent;color:var(--text) !important;
  border-color:rgba(10,26,62,.25);
}
.ousis-btn-outline-dark:hover{
  background:rgba(10,26,62,.06);border-color:var(--text);
}

/* ─── HOW IT WORKS ──────────────────────────────────────────────────────── */
.ousis-steps{
  display:grid;
  grid-template-columns:1fr 48px 1fr 48px 1fr;
  gap:0;align-items:stretch;
  column-gap:0;
}
.ousis-step{
  background:#fff;border-radius:var(--r-lg);
  padding:2.5rem 2rem;text-align:center;
  box-shadow:0 2px 16px rgba(0,0,0,.07);
  border:1.5px solid #eaecf0;
  transition:var(--tr);
  min-width:0; /* prevent 1fr grid blowout */
}
.ousis-step:hover{box-shadow:0 6px 32px rgba(0,0,0,.13);transform:translateY(-5px)}
.ousis-step-featured{
  border-color:var(--gold) !important;
  box-shadow:0 4px 24px rgba(0,0,0,.10) !important;
}
.ousis-step-icon{
  font-size:3rem;margin-bottom:1.25rem;display:block;line-height:1;
}
.ousis-step-num{
  color:var(--gold-deep) !important;
  font-weight:700 !important;
  font-size:1.05rem !important;
  letter-spacing:normal !important;
  text-transform:none !important;
  display:inline !important;
  margin:0 !important;
}
.ousis-step h3,.ousis-step .ousis-step-title{
  font-size:1.05rem !important;color:var(--text) !important;
  margin:0 0 .75rem 0 !important;padding:0 !important;
  border:none !important;line-height:1.3 !important;
  font-weight:700 !important;
}
.ousis-step p{
  font-size:.9rem !important;color:var(--text-muted) !important;
  margin:0 !important;padding:0 !important;line-height:1.6 !important;
}
.ousis-step-arrow{
  font-size:1.5rem;color:var(--gold);
  align-self:center;font-weight:700;
  text-align:center;width:48px;padding:0;
  display:flex;align-items:center;justify-content:center;
}

/* ─── SPLIT SECTION ─────────────────────────────────────────────────────── */
.ousis-split{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;
}
/* Fix global : quand Kadence injecte un .ousis-container direct dans un
   grid ousis, il ne doit pas occuper une seule colonne du grid —
   on le fait span toutes les colonnes puis on recentre à max-width */
.ousis-split > .ousis-container,
.ousis-steps > .ousis-container,
.ousis-stats-grid > .ousis-container,
.ousis-services-grid > .ousis-container,
.ousis-testimonials > .ousis-container,
.ousis-quote-split > .ousis-container {
  grid-column: 1 / -1;
  width: 100%;
  max-width: var(--max-w, 1200px);
  margin-left: auto;
  margin-right: auto;
}
.ousis-split-content .ousis-eyebrow-label{margin-bottom:.75rem}
.ousis-split-content h2{margin-bottom:1rem}
.ousis-split-image{position:relative}
.ousis-split-image img{
  width:100%;border-radius:var(--r-xl);
  box-shadow:var(--sh-lg);object-fit:cover;height:480px;
}
.ousis-badge{
  position:absolute;bottom:-1.5rem;left:-1.5rem;
  background:#fff;border-radius:var(--r-md);
  box-shadow:var(--sh-md);
  padding:1rem 1.25rem;
  display:flex;align-items:center;gap:.75rem;
  border-left:4px solid var(--blue);
}
.ousis-badge-gold{border-left-color:var(--gold-deep)}
.ousis-badge-icon{
  font-size:1.5rem;
  background:var(--blue-pale);color:var(--blue);
  width:2.5rem;height:2.5rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.ousis-badge div{display:flex;flex-direction:column}
.ousis-badge strong{font-size:1.1rem;font-weight:800;color:var(--text);line-height:1}
.ousis-badge span{font-size:.8rem;color:var(--text-muted)}

/* ─── CHECKLIST ─────────────────────────────────────────────────────────── */
.ousis-checklist{
  list-style:none;padding:0;margin:.5rem 0 0;
}
.ousis-checklist li{
  padding:.5rem 0 .5rem 2rem;position:relative;
  color:var(--text-mid);font-size:.95rem;
  border-bottom:1px solid var(--border-light, #f0f2f8);
}
.ousis-checklist li:last-child{border-bottom:none}
.ousis-checklist li::before{
  content:'✓';
  position:absolute;left:0;top:.55rem;
  width:1.3rem;height:1.3rem;border-radius:50%;
  background:var(--gold);color:var(--blue-deeper);
  font-size:.65rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}

/* ─── STATS BAR ─────────────────────────────────────────────────────────── */
.ousis-stats{
  background:linear-gradient(135deg,var(--blue-deeper) 0%,var(--blue) 100%);
  padding:2rem 0;
}
.ousis-stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1rem;text-align:center;align-items:center;
}
.ousis-stat{
  display:flex;flex-direction:column;align-items:center;gap:.3rem;
}
.ousis-stat-num{
  font-size:clamp(1.4rem,2.5vw,2rem);font-weight:800;
  color:var(--gold);letter-spacing:-0.02em;line-height:1;
  white-space:nowrap;
}
.ousis-stat-label,
.ousis-stat-lbl{
  font-size:.6rem;font-weight:600;
  color:rgba(255,255,255,.7);letter-spacing:.12em;text-transform:uppercase;
  white-space:nowrap;
}

/* ─── SERVICES GRID ─────────────────────────────────────────────────────── */
.ousis-services-grid{
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:1.5rem !important;
  width:100% !important;
}
/* Force every service card to be a proper grid cell */
.ousis-services-grid > *,
.ousis-service-card{
  border-radius:var(--r-lg) !important;overflow:hidden !important;
  background:#fff !important;box-shadow:var(--sh-sm) !important;
  border:1px solid var(--border) !important;
  transition:var(--tr) !important;
  text-decoration:none !important;
  display:flex !important;
  flex-direction:column !important;
  min-height:320px !important;
}
.ousis-service-card:hover{
  box-shadow:var(--sh-lg) !important;transform:translateY(-6px) !important;
  border-color:var(--blue-pale) !important;
}
.ousis-service-img{
  height:200px !important;
  background-size:cover !important;background-position:center !important;
  position:relative !important;flex-shrink:0 !important;
}
.ousis-service-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(13,36,88,.4) 0%,transparent 60%);
}
.ousis-service-body{
  padding:1.25rem 1.5rem 1.5rem;
}
.ousis-service-body h3{
  font-size:1.05rem;color:var(--text);margin-bottom:.4rem;
}
.ousis-service-body p{
  font-size:.875rem;color:var(--text-muted);margin-bottom:.75rem;line-height:1.6;
}
.ousis-service-link{
  font-size:.8rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--blue);
  display:inline-flex;align-items:center;gap:.25rem;
}
.ousis-service-card:hover .ousis-service-link{color:var(--gold-richer)}
.ousis-service-card-cta{
  background:var(--blue-xpale);border-color:var(--blue-pale);
  display:flex !important;align-items:center;justify-content:center;
}
.ousis-service-cta-inner{
  padding:2rem;text-align:center;
}
.ousis-service-cta-icon{
  font-size:2.5rem;font-weight:300;color:var(--blue);
  display:block;margin-bottom:1rem;line-height:1;
}
.ousis-service-cta-inner h3{color:var(--blue)}

/* ─── TESTIMONIALS ──────────────────────────────────────────────────────── */
.ousis-testimonials{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
.ousis-testimonial{
  background:#fff;border-radius:var(--r-lg);
  padding:2rem;box-shadow:var(--sh-sm);
  border:1px solid var(--border);
  transition:var(--tr);
}
.ousis-testimonial:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.ousis-testimonial-stars{
  color:var(--gold-deep);font-size:1rem;margin-bottom:.75rem;
  letter-spacing:.1em;
}
.ousis-testimonial p{
  font-size:.9rem;color:var(--text-mid);
  font-style:italic;line-height:1.7;margin-bottom:1.25rem;
}
.ousis-testimonial-author strong{
  display:block;font-size:.9rem;font-weight:700;color:var(--text);
}
.ousis-testimonial-author span{
  font-size:.8rem;color:var(--text-muted);
}

/* ─── QUOTE SECTION ─────────────────────────────────────────────────────── */
.ousis-quote-split{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;
}
.ousis-quote-image{position:relative}
.ousis-quote-image img{
  width:100%;border-radius:var(--r-xl);
  box-shadow:var(--sh-lg);object-fit:cover;height:460px;
}

/* ─── FAQ ───────────────────────────────────────────────────────────────── */
.ousis-faq{
  max-width:820px;margin:0 auto;
}
.ousis-faq-item{
  border:1px solid var(--border);border-radius:var(--r-md);
  margin-bottom:.75rem;overflow:hidden;
  transition:var(--tr);
}
.ousis-faq-item[open]{
  border-color:var(--blue-pale);box-shadow:var(--sh-sm);
}
.ousis-faq-item summary{
  padding:1.25rem 1.5rem;cursor:pointer;
  font-weight:600;font-size:1rem;color:var(--text);
  list-style:none;display:flex;justify-content:space-between;align-items:center;
  transition:var(--tr);
}
.ousis-faq-item summary::-webkit-details-marker{display:none}
.ousis-faq-item summary::after{
  content:'+';font-size:1.4rem;font-weight:300;color:var(--blue);
  flex-shrink:0;margin-left:1rem;transition:var(--tr);
}
.ousis-faq-item[open] summary{
  color:var(--blue);background:var(--blue-xpale);
}
.ousis-faq-item[open] summary::after{content:'−'}
.ousis-faq-item p{
  padding:.25rem 1.5rem 1.25rem;
  font-size:.95rem;color:var(--text-muted);margin:0;
}

/* ─── FOOTER CTA BANNER ─────────────────────────────────────────────────── */
.ousis-cta-banner{
  background:linear-gradient(135deg,var(--blue-deeper) 0%,var(--blue) 100%);
  padding:5rem 0;text-align:center;
}
/* ─── WHITE-BG SECTION OVERRIDES (beat .entry-content h1/h2 !important) ─── */
/* All headings inside dark/blue sections must be white */
.entry-content .ousis-cta-banner h1,
.entry-content .ousis-cta-banner h2,
.entry-content .ousis-cta-banner h3,
.entry-content .ousis-stats h1,
.entry-content .ousis-stats h2,
.entry-content .ousis-hero h1,
.entry-content .ousis-hero h2,
.entry-content .ousis-hero h3,
.entry-content .ousis-page-hero h1,
.entry-content .ousis-page-hero h2,
.entry-content .ousis-page-hero h3,
.entry-content .ousis-about-why h1,
.entry-content .ousis-about-why h2,
.entry-content .ousis-about-why h3,
.ousis-cta-banner h1,.ousis-cta-banner h2,.ousis-cta-banner h3,
.ousis-stats h1,.ousis-stats h2,.ousis-stats h3,
.ousis-hero h1,.ousis-hero h2,.ousis-hero h3,
.ousis-page-hero h1,.ousis-page-hero h2,.ousis-page-hero h3,
.ousis-about-why h1,.ousis-about-why h2,.ousis-about-why h3 {
  color:#fff !important;
  border-bottom:none !important;
  padding-bottom:0 !important;
  display:block !important;
  margin-top:0 !important;
}
.ousis-cta-banner h2,.entry-content .ousis-cta-banner h2{
  font-size:clamp(1.75rem,4vw,2.75rem) !important;
  margin-bottom:1rem !important;letter-spacing:-0.03em;
}
.ousis-cta-banner p{
  color:rgba(255,255,255,.85) !important;font-size:1.05rem;
  max-width:560px;margin:0 auto;
}
/* Stats text colors */
.ousis-stats *{color:inherit}
.ousis-stat-num{color:var(--gold) !important}
.ousis-stat-label,.ousis-stat-lbl{color:rgba(255,255,255,.75) !important}
.ousis-cta-banner .ousis-cta-row{justify-content:center}
/* Hero heading specific */
.ousis-hero h1{
  font-size:clamp(2.25rem,5.5vw,3.75rem) !important;
  font-weight:800 !important;letter-spacing:-0.03em !important;
  line-height:1.1 !important;margin-bottom:1.25rem !important;
}
/* Split hero card overrides — dark text on white card */
.ousis-hero.ousis-hero-split .ousis-hero-split-card h1,
.entry-content .ousis-hero.ousis-hero-split .ousis-hero-split-card h1{
  color:var(--text) !important;
  font-size:clamp(1.3rem,1.9vw,1.75rem) !important;
  font-weight:800 !important;letter-spacing:-0.02em !important;
  line-height:1.2 !important;margin-bottom:.75rem !important;
}

/* ─── ABOUT PAGE ────────────────────────────────────────────────────────── */

/* Suppress wpautop empty <p> tags inside about grids */
.ousis-about-who-inner > p,
.ousis-about-cards > p,
.ousis-about-stats-row > p {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* WHO WE ARE — split layout */
.ousis-about-who {
  background: #f9f8f5;
  padding: 5rem 0;
}
.ousis-about-who-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.ousis-about-h1 {
  font-size: clamp(1.9rem,3.5vw,2.75rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: var(--blue-deeper) !important;
  margin: .75rem 0 1.25rem !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  letter-spacing: -.03em !important;
}
.ousis-about-intro {
  color: var(--text-muted);
  font-size: 1rem;
  line-height: 1.7;
  max-width: 480px;
  margin-bottom: 1.75rem;
}
.ousis-about-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.ousis-about-checklist li {
  display: flex !important;
  align-items: flex-start !important;
  gap: .75rem !important;
  font-size: .95rem !important;
  color: var(--text) !important;
  border-bottom: none !important;
  padding: 0 !important;
}
.ousis-about-check {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  background: var(--blue);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .72rem;
  font-weight: 700;
  margin-top: .1rem;
}

/* Photo side */
.ousis-about-who-photo { position: relative; }
.ousis-about-photo-wrap {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(31,75,167,.18);
  position: relative;
}
.ousis-about-photo-wrap img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
}
.ousis-about-badge {
  position: absolute;
  bottom: 1.75rem;
  left: -1.5rem;
  background: var(--gold);
  color: #0a1a3e;
  padding: 1rem 1.5rem;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.ousis-about-badge-num {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}
.ousis-about-badge-txt {
  display: block;
  font-size: .78rem;
  font-weight: 600;
  margin-top: .2rem;
  white-space: nowrap;
}

/* WHY CHOOSE US — dark blue banner */
.ousis-about-why {
  background: linear-gradient(135deg, var(--blue-deeper) 0%, var(--blue) 100%);
  padding: 5rem 0 4rem;
  text-align: center;
}
.ousis-about-why-header {
  max-width: 680px;
  margin: 0 auto 3.5rem;
  padding: 0 2rem;
}
.ousis-about-why-h2 {
  font-size: clamp(1.75rem,3.5vw,2.6rem) !important;
  font-weight: 800 !important;
  color: #fff !important;
  margin: .75rem 0 0 !important;
  letter-spacing: -.03em !important;
  line-height: 1.2 !important;
  border-bottom: none !important;
}
/* 4 feature cards */
.ousis-about-cards {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.ousis-about-card {
  background: rgba(255,255,255,.95);
  border-radius: 16px;
  padding: 2rem 1.5rem;
  text-align: left;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
  transition: transform .2s;
}
.ousis-about-card:hover { transform: translateY(-4px); }
.ousis-about-card-icon {
  font-size: 2rem;
  margin-bottom: 1rem;
  display: block;
  background: #f0f4ff;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ousis-about-card h3 {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--gold) !important;
  margin: 0 0 .6rem !important;
  line-height: 1.3 !important;
}
.ousis-about-card p {
  font-size: .875rem !important;
  color: var(--text-muted) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}
/* Stats row */
.ousis-about-stats-row {
  max-width: 1160px;
  margin: 3.5rem auto 0;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}
.ousis-about-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
}
.ousis-about-stat-num {
  font-size: clamp(2.5rem,5vw,3.5rem);
  font-weight: 800;
  color: var(--gold);
  line-height: 1;
}
.ousis-about-stat-num sup {
  font-size: .5em;
  vertical-align: super;
}
.ousis-about-stat-lbl {
  font-size: .85rem;
  color: rgba(255,255,255,.7);
  text-transform: lowercase;
}

/* Responsive About */
@media (max-width: 900px) {
  .ousis-about-who-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .ousis-about-who-photo { order: -1; }
  .ousis-about-photo-wrap img { height: 320px; }
  .ousis-about-badge { left: 1rem; }
  .ousis-about-cards { grid-template-columns: 1fr 1fr; }
  .ousis-about-stats-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .ousis-about-cards { grid-template-columns: 1fr; }
  .ousis-about-stats-row { grid-template-columns: 1fr 1fr; }
}

/* ─── OUSIS FOOTER ──────────────────────────────────────────────────────── */
.ousis-footer {
  background: #07112b;
  color: #fff;
  font-family: var(--font);
}

/* TOP BAND — hidden per user request */
.ousis-footer-top { display: none !important; }
.ousis-footer-top-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}
.ousis-footer-cta-block {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}
.ousis-footer-logo {
  height: 52px;
  width: auto;
  object-fit: contain;
  display: block;
  filter: brightness(0) invert(1);
}
.ousis-footer-tagline {
  color: rgba(255,255,255,.65);
  font-size: .88rem;
  line-height: 1.5;
  margin: .5rem 0 0;
}
/* Newsletter */
.ousis-footer-newsletter-block {
  display: flex;
  flex-direction: column;
  gap: .6rem;
  min-width: 340px;
}
.ousis-footer-nl-label {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
}
.ousis-footer-nl-form {
  display: flex;
  gap: .5rem;
}
.ousis-footer-nl-input {
  flex: 1;
  padding: .7rem 1rem;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,.2);
  background: rgba(255,255,255,.07);
  color: #fff;
  font-size: .9rem;
  outline: none;
}
.ousis-footer-nl-input::placeholder { color: rgba(255,255,255,.4); }
.ousis-footer-nl-input:focus { border-color: var(--gold); }
.ousis-footer-nl-btn {
  padding: .7rem 1.4rem;
  background: var(--gold);
  color: #0a1a3e;
  font-weight: 700;
  font-size: .88rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  transition: background .2s;
}
.ousis-footer-nl-btn:hover { background: #f0cc40; }

/* BOTTOM COLUMNS */
.ousis-footer-bottom {
  padding: 3rem 0 0;
}
.ousis-footer-bottom-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem 2.5rem;
  display: grid;
  grid-template-columns: 2fr 1.2fr 1.2fr;
  gap: 3rem;
}
.ousis-footer-col-title {
  font-size: .72rem !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 1.25rem !important;
  margin-top: 0 !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  display: block !important;
}

/* Services 2-col */
.ousis-footer-services-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.5rem;
}
.ousis-footer-col ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.ousis-footer-col ul li {
  padding: .35rem 0 !important;
  border-bottom: none !important;
  font-size: .875rem !important;
}
.ousis-footer-col ul li a {
  color: rgba(255,255,255,.7) !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
.ousis-footer-col ul li a:hover { color: var(--gold) !important; }

/* Contact list */
.ousis-footer-contact-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.ousis-footer-contact-list li {
  display: flex !important;
  gap: .6rem !important;
  align-items: flex-start !important;
  padding: .4rem 0 !important;
  border-bottom: none !important;
  font-size: .875rem !important;
  color: rgba(255,255,255,.75) !important;
  line-height: 1.45 !important;
}
.ousis-footer-contact-list li a {
  color: rgba(255,255,255,.75) !important;
  text-decoration: none !important;
}
.ousis-footer-contact-list li a:hover { color: var(--gold) !important; }
.ousis-footer-icon { flex-shrink: 0; width: 1.2em; }

/* Hours list */
.ousis-footer-hours-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.ousis-footer-hours-list li {
  display: flex !important;
  justify-content: space-between !important;
  padding: .4rem 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  font-size: .875rem !important;
  color: rgba(255,255,255,.75) !important;
  gap: 1rem !important;
}
.ousis-footer-hours-list li:last-child { border-bottom: none !important; }
.ousis-footer-hours-note {
  font-size: .78rem !important;
  color: var(--gold) !important;
  display: block !important;
  margin-top: .5rem !important;
  border-bottom: none !important;
}

/* Copyright bar */
.ousis-footer-copy {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.25rem 2rem;
  border-top: 1px solid rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
  font-size: .8rem;
  color: rgba(255,255,255,.4);
}
.ousis-footer-copy-links { display: flex; gap: 1.5rem; }
.ousis-footer-copy-links a { color: rgba(255,255,255,.4) !important; text-decoration: none !important; }
.ousis-footer-copy-links a:hover { color: var(--gold) !important; }

/* Responsive */
@media (max-width: 900px) {
  .ousis-footer-bottom-inner { grid-template-columns: 1fr 1fr; }
  .ousis-footer-col-services { grid-column: 1 / -1; }
  .ousis-footer-newsletter-block { min-width: unset; width: 100%; }
}
@media (max-width: 600px) {
  .ousis-footer-bottom-inner { grid-template-columns: 1fr; }
  .ousis-footer-top-inner { flex-direction: column; align-items: flex-start; }
  .ousis-footer-nl-form { flex-direction: column; }
}

/* ─── WHATSAPP FLOAT ────────────────────────────────────────────────────── */
.ousis-whatsapp-float{
  position:fixed;bottom:2rem;right:2rem;
  background:var(--green-wa);color:#fff !important;
  padding:.8rem 1.4rem;border-radius:2rem;
  font-weight:700;font-size:.875rem;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  z-index:9999;transition:var(--tr);text-decoration:none !important;
}
.ousis-whatsapp-float:hover{
  background:#1DA851;transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(37,211,102,.55);color:#fff !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   SERVICE PAGE v2 — Dubai Clean Solutions inspired layout
   Full-bleed dark hero · Card grid · FAQ accordion · CTA strip
═══════════════════════════════════════════════════════════════════════════ */

/* ─── HERO v2 : full-bleed, dark navy + photo overlay ─────────────────── */
.ousis-svc-hero{
  position:relative;overflow:hidden;
  min-height:520px;display:flex;align-items:center;
  background-color:var(--blue-deeper);
  background-size:cover;background-position:center 35%;
  width:100vw !important;max-width:100vw !important;
  margin-left:calc((100% - 100vw)/2) !important;
  margin-right:calc((100% - 100vw)/2) !important;
}
/* Dark gradient overlay — covers the background photo */
.ousis-svc-hero::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,
    rgba(13,36,88,.96) 0%,
    rgba(13,36,88,.82) 40%,
    rgba(13,36,88,.45) 70%,
    rgba(13,36,88,.20) 100%
  );
}
/* Support legacy .ousis-svc-hero-img child element too */
.ousis-svc-hero-img{
  position:absolute;inset:0;
  background-size:cover;background-position:center 35%;
  width:100%;height:100%;
}
.ousis-svc-hero-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,
    rgba(13,36,88,.96) 0%,
    rgba(13,36,88,.80) 45%,
    rgba(13,36,88,.30) 75%,
    rgba(13,36,88,.10) 100%
  );
}
/* Overlay div fallback */
.ousis-svc-hero-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,
    rgba(13,36,88,.92) 0%,
    rgba(13,36,88,.70) 50%,
    rgba(13,36,88,.30) 100%
  );
}
.ousis-svc-hero-content{
  position:relative;z-index:2;
  padding:4rem 2rem;max-width:640px;
}
.ousis-svc-hero-content h1{
  color:#fff !important;
  font-size:clamp(1.8rem,3.8vw,3rem) !important;
  font-weight:800 !important;letter-spacing:-.03em !important;
  line-height:1.1 !important;margin:0 0 1rem !important;
  border:none !important;padding:0 !important;
}
.ousis-svc-hero-content h1 span{color:var(--gold);}
.ousis-svc-hero-content > p{
  color:rgba(255,255,255,.85);font-size:1.05rem;
  margin:0 0 1.75rem;max-width:540px;line-height:1.65;
}
.ousis-svc-hero-badges{
  display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;
}
.ousis-svc-hero-badge{
  display:flex;align-items:center;gap:.6rem;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);
  border-radius:8px;padding:.5rem .9rem;
  color:#fff;font-size:.82rem;
  backdrop-filter:blur(6px);
}
.ousis-svc-hero-badge-icon{
  font-size:1.1rem;flex-shrink:0;
}
.ousis-svc-hero-badge strong{display:block;font-weight:700;font-size:.85rem;}
.ousis-svc-hero-badge span{color:rgba(255,255,255,.7);font-size:.75rem;}

/* ─── INCLUDES GRID — icon card grid like reference services section ───── */
.ousis-svc-includes{
  padding:5rem 0;background:#fff;
}
.ousis-svc-includes-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.5rem;margin-top:3rem;
}
.ousis-svc-inc-card{
  background:#fff;border:1.5px solid var(--border);
  border-radius:var(--r-lg);padding:1.75rem 1.5rem;
  transition:var(--tr);text-align:left;
  position:relative;overflow:hidden;
}
.ousis-svc-inc-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--blue-deeper),var(--blue));
  opacity:0;transition:var(--tr);
}
.ousis-svc-inc-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(13,36,88,.13);
  border-color:var(--blue);
}
.ousis-svc-inc-card:hover::before{opacity:1;}
.ousis-svc-inc-icon{
  width:48px;height:48px;border-radius:12px;
  background:linear-gradient(135deg,var(--blue-deeper),var(--blue));
  display:flex;align-items:center;justify-content:center;
  font-size:1.3rem;margin-bottom:1rem;color:#fff;
}
.ousis-svc-inc-card h3{
  font-size:.95rem !important;font-weight:700 !important;
  color:var(--text) !important;margin:0 0 .4rem !important;
  border:none !important;padding:0 !important;
}
.ousis-svc-inc-card p{
  font-size:.85rem;color:var(--text-muted);margin:0;line-height:1.5;
}
.ousis-svc-inc-link{
  display:inline-flex;align-items:center;gap:.35rem;
  font-size:.8rem;font-weight:600;color:var(--blue);
  text-decoration:none;margin-top:.85rem;
  transition:color .2s;
}
.ousis-svc-inc-link:hover{color:var(--blue-deeper);}

/* ─── WHY CHOOSE US — 4-col feature strip ─────────────────────────────── */
.ousis-svc-why{
  padding:1px 0 4.5rem;
  background:linear-gradient(135deg,var(--blue-deeper) 0%,var(--blue-dark) 100%);
}
.ousis-svc-why .ousis-section-header h2{color:#fff !important;}
.ousis-svc-why .ousis-section-header p{color:rgba(255,255,255,.8) !important;}
.ousis-svc-why .ousis-eyebrow-label{
  background:rgba(249,222,110,.2) !important;
  color:var(--gold) !important;border-color:rgba(249,222,110,.3) !important;
}
.ousis-svc-why-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.5rem;margin-top:3rem;
}
.ousis-svc-why-card{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r-lg);padding:1.75rem 1.5rem;
  transition:var(--tr);
}
.ousis-svc-why-card:hover{
  background:rgba(255,255,255,.12);
  transform:translateY(-3px);
}
.ousis-svc-why-icon{
  font-size:2rem;margin-bottom:1rem;display:block;
}
.ousis-svc-why-card h3,
.entry-content .ousis-svc-why-card h3{
  font-size:.95rem !important;font-weight:700 !important;
  color:var(--gold) !important;margin:0 0 .4rem !important;
  border:none !important;padding:0 !important;
}
.ousis-svc-why-card p{
  font-size:.84rem;color:rgba(255,255,255,.75);margin:0;line-height:1.55;
}

/* ─── FAQ v2 — proper accordion with details/summary ──────────────────── */
.ousis-faq-v2{
  padding:5rem 0;background:var(--bg-light);
}
.ousis-faq-v2 .ousis-section-header{margin-bottom:3rem;}
.ousis-faq-v2 .ousis-faq,
.ousis-faq-v2 .ousis-faq-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem;}

/* Div-based FAQ items (JS-enhanced accordion) */
.ousis-faq-item{
  background:#fff;
  border-radius:var(--r-md) !important;
  box-shadow:0 2px 8px rgba(13,36,88,.06) !important;
  transition:var(--tr);
}
.ousis-faq-item h3{
  font-size:1rem !important;font-weight:600 !important;
  color:var(--text) !important;
  padding:1.25rem 1.5rem !important;margin:0 !important;
  border:none !important;display:flex !important;
  justify-content:space-between;align-items:center;
  gap:.75rem;user-select:none;
  border-radius:var(--r-md) !important;
  transition:color .2s;
}
.ousis-faq-item h3:hover{color:var(--blue) !important;}
.ousis-faq-item.ousis-faq-open h3{
  color:var(--blue) !important;
  background:var(--blue-xpale);
  border-radius:var(--r-md) var(--r-md) 0 0 !important;
}
.ousis-faq-toggle-icon{
  font-size:1.4rem;font-weight:300;color:var(--blue);
  flex-shrink:0;transition:var(--tr);min-width:24px;text-align:center;
}
.ousis-faq-item p{
  padding:1rem 1.5rem 1.5rem !important;
  color:var(--text-muted) !important;font-size:.95rem !important;
  line-height:1.7 !important;margin:0 !important;
  border-top:1px solid var(--border);
}

/* Also style native details/summary FAQ (for future generated pages) */
details.ousis-faq-item{background:#fff;}
details.ousis-faq-item summary{
  padding:1.25rem 1.5rem;cursor:pointer;
  font-weight:600;font-size:1rem;color:var(--text);
  list-style:none;display:flex;justify-content:space-between;align-items:center;
  border-radius:var(--r-md);transition:var(--tr);
}
details.ousis-faq-item summary::-webkit-details-marker{display:none}
details.ousis-faq-item summary::after{
  content:'+';font-size:1.4rem;font-weight:300;color:var(--blue);
  flex-shrink:0;margin-left:1rem;transition:var(--tr);
}
details.ousis-faq-item[open] summary{
  color:var(--blue);background:var(--blue-xpale);
  border-radius:var(--r-md) var(--r-md) 0 0;
}
details.ousis-faq-item[open] summary::after{content:'−'}
details.ousis-faq-item > p,details.ousis-faq-item > div{
  padding:.75rem 1.5rem 1.25rem;
  font-size:.95rem;color:var(--text-muted);
  border-top:1px solid var(--border);line-height:1.7;
}

/* ─── STICKY CTA BAR ───────────────────────────────────────────────────── */
.ousis-sticky-cta{
  position:fixed;bottom:0;left:0;right:0;z-index:999;
  background:var(--blue-deeper);
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:0 -4px 24px rgba(0,0,0,.25);
}
.ousis-sticky-cta.ousis-sticky-visible{transform:translateY(0);}
.ousis-sticky-cta-inner{
  max-width:var(--max-w);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:.85rem 2rem;gap:1.5rem;flex-wrap:wrap;
}
.ousis-sticky-cta-label{
  color:rgba(255,255,255,.85);font-size:.9rem;font-weight:500;
}
.ousis-sticky-cta-btns{display:flex;gap:.75rem;align-items:center;}
.ousis-sticky-btn{
  padding:.55rem 1.25rem !important;font-size:.82rem !important;
  white-space:nowrap;
}
.ousis-sticky-wa-btn{
  display:inline-flex;align-items:center;gap:.4rem;
  background:var(--green-wa);color:#fff !important;
  padding:.55rem 1.1rem;border-radius:8px;font-size:.82rem;
  font-weight:600;text-decoration:none;white-space:nowrap;
  transition:opacity .2s;
}
.ousis-sticky-wa-btn:hover{opacity:.9;}

/* ─── SEO TEXT COLLAPSE ────────────────────────────────────────────────── */
.ousis-seo-fade{
  position:absolute;bottom:0;left:0;right:0;height:120px;
  background:linear-gradient(to bottom,transparent,var(--bg-light));
  pointer-events:none;
}
.ousis-seo-readmore{
  display:block;margin:1.5rem auto 0;
  background:none;border:1.5px solid var(--blue);
  color:var(--blue);font-weight:600;font-size:.9rem;
  padding:.6rem 1.75rem;border-radius:8px;cursor:pointer;
  transition:var(--tr);
}
.ousis-seo-readmore:hover{background:var(--blue);color:#fff;}

/* Legacy service-hero compat */
.ousis-service-hero{
  background:linear-gradient(135deg,var(--blue-deeper) 0%,var(--blue) 100%);
  padding:4rem 0;
}

/* Service page content cleanup */
.entry-content{
  padding:0 !important;max-width:100% !important;
}
.entry-content h1{
  color:var(--blue) !important;
  border-bottom:3px solid var(--gold) !important;
  padding-bottom:1rem !important;display:inline-block !important;
  margin-bottom:1.5rem !important;
}
/* ── Service hero v2: beat .entry-content h1 (higher specificity + later order) */
.ousis-svc-hero .ousis-svc-hero-content h1,
.ousis-svc-hero h1{
  color:#fff !important;
  border:none !important;padding:0 !important;display:block !important;
  margin:0 0 1rem !important;
  font-size:clamp(1.8rem,3.8vw,3rem) !important;
  font-weight:800 !important;letter-spacing:-.03em !important;
  line-height:1.1 !important;
}
.entry-content h2{
  color:var(--blue) !important;
  margin-top:2.5rem !important;margin-bottom:1rem !important;
  font-size:1.35rem !important;
}
.entry-content h3{
  font-size:1.05rem !important;font-weight:700 !important;color:var(--text) !important;
}
.entry-content ul{list-style:none !important;padding:0 !important}
.entry-content ul li{
  padding:.5rem 0 .5rem 1.75rem !important;position:relative !important;
  border-bottom:1px solid var(--border) !important;font-size:.95rem !important;
}
.entry-content ul li:last-child{border-bottom:none !important}
.entry-content ul li::before{
  content:'';position:absolute !important;left:0 !important;top:55% !important;
  transform:translateY(-50%) !important;
  width:9px !important;height:9px !important;border-radius:50% !important;
  background:var(--gold) !important;border:2px solid var(--gold-deep) !important;
}
.entry-content details{
  border:1px solid var(--border) !important;
  border-radius:var(--r-md) !important;margin-bottom:.6rem !important;
}
.entry-content details summary{
  padding:1rem 1.25rem !important;font-weight:600 !important;
  cursor:pointer !important;color:var(--text) !important;
}
.entry-content details[open] summary{
  color:var(--blue) !important;background:var(--blue-xpale) !important;
}
.entry-content details p{
  padding:.25rem 1.25rem 1rem !important;
}

/* Before/After section */
.entry-content > h2 + p + div[style*="grid"],
.ousis-before-after{
  margin:2rem 0 !important;
}

/* ─── FOOTER ────────────────────────────────────────────────────────────── */
.site-footer,.footer-main{
  background:var(--blue-deeper) !important;
  color:rgba(255,255,255,.7) !important;
  padding:2.5rem 2rem !important;
  text-align:center !important;font-size:.875rem !important;
}
.site-footer a{color:var(--gold-light, #FDF3C8) !important}
.site-footer a:hover{color:var(--gold) !important}
.site-footer .site-info{color:rgba(255,255,255,.55) !important}

/* ─── WORDPRESS BLOCK OVERRIDES ─────────────────────────────────────────── */
.wp-block-group[style*="background-color:#1A6B5A"],
.wp-block-group[style*="background-color: #1A6B5A"],
[style*="background-color:#1A6B5A"]{background-color:var(--blue) !important}
[style*="color:#1A6B5A"]{color:var(--blue) !important}
[style*="background-color:#F5FAF8"]{background-color:var(--blue-xpale) !important}
.has-primary-background-color{background-color:var(--blue) !important}
/* White text inside dark-background blocks */
.wp-block-group[style*="background-color:#1A6B5A"] h1,
.wp-block-group[style*="background-color:#1A6B5A"] h2,
.wp-block-group[style*="background-color:#1A6B5A"] h3,
.wp-block-group[style*="background-color:#1A6B5A"] p,
.wp-block-group[style*="background-color: #1A6B5A"] h1,
.wp-block-group[style*="background-color: #1A6B5A"] h2,
.wp-block-group[style*="background-color: #1A6B5A"] h3,
.wp-block-group[style*="background-color: #1A6B5A"] p,
.has-primary-background-color h1,
.has-primary-background-color h2,
.has-primary-background-color h3,
.has-primary-background-color p{color:#fff !important}
.wp-block-separator{
  border-color:var(--gold) !important;border-width:2px !important;
  opacity:1 !important;max-width:60px !important;
  margin:0 auto 2rem !important;
}
.wp-block-button__link{
  font-weight:700 !important;letter-spacing:.04em !important;
  text-transform:uppercase !important;border-radius:var(--r-sm) !important;
  font-family:'Inter',sans-serif !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link{
  background:var(--gold) !important;color:var(--blue-deeper) !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{
  background:var(--gold-deep) !important;color:#fff !important;
}
.site-content{padding-top:0 !important}
.page .entry-header{display:none !important}

/* ─── RESPONSIVE ────────────────────────────────────────────────────────── */
@media(max-width:1024px){
  .ousis-services-grid{grid-template-columns:repeat(2,1fr)}
  .ousis-steps{grid-template-columns:1fr;gap:.75rem}
  .ousis-step-arrow{display:none}
}
@media(max-width:768px){
  .ousis-container{padding:0 1rem}
  .ousis-section{padding:3rem 0}
  .ousis-split,.ousis-quote-split{grid-template-columns:1fr;gap:2rem}
  .ousis-split-image,.ousis-quote-image{display:none}
  .ousis-stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .ousis-testimonials{grid-template-columns:1fr}
  .ousis-services-grid{grid-template-columns:1fr}
  .ousis-hero{min-height:180px}
  .ousis-hero-content{padding-top:2.5rem;padding-bottom:2.5rem}
  .ousis-badge{display:none}
  #primary-menu{gap:.15rem 1rem !important}
  #primary-menu>li>a{font-size:.8rem !important}
}
@media(max-width:480px){
  .ousis-cta-row{flex-direction:column}
  .ousis-btn{width:100%;justify-content:center}
}
@media print{.ousis-whatsapp-float,.site-header{display:none !important}}

/* ─── SITE LOGO IMAGE ────────────────────────────────────────────────────── */
.site-branding .custom-logo-link img,
.site-branding .custom-logo {
  max-height: 44px !important;
  width: auto !important;
  display: block !important;
}
.site-branding .custom-logo-link {
  display: flex !important;
  align-items: center !important;
}

/* ─── CONTACT PAGE v2 ───────────────────────────────────────────────────── */
.ousis-contact-page{
  margin:0 -56px;
}

/* Hero */
.ousis-contact-hero-v2{
  background:linear-gradient(135deg,var(--blue),#0a1a3e);
  padding:3.5rem 3rem 3rem;text-align:center;
}
.ousis-contact-hero-v2 h1{
  color:#fff !important;font-size:clamp(1.8rem,3.5vw,2.6rem) !important;
  margin:.5rem 0 .75rem !important;font-weight:800 !important;
}
.ousis-contact-hero-v2 p{color:rgba(255,255,255,.78);font-size:.95rem;}
.ousis-contact-hero-badges{
  display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:1.25rem;
}
.ousis-contact-hero-badges span{
  background:rgba(255,255,255,.12);color:#fff;border-radius:20px;
  padding:.35rem .9rem;font-size:.82rem;font-weight:500;
}

/* Body: 2 columns */
.ousis-contact-body{
  display:grid;grid-template-columns:1fr 320px;gap:0;
  padding:0;background:#f4f6fb;
}
/* Kill wpautop empty <p> injected as ghost grid items */
.ousis-contact-body > p{display:none !important;}
@media(max-width:860px){.ousis-contact-body{grid-template-columns:1fr;}}

/* LEFT: form */
.ousis-contact-form-wrap{
  background:#fff;padding:2.5rem 2.5rem 3rem;
}
.ousis-contact-section-title{
  font-size:1.25rem !important;color:var(--text) !important;
  margin:0 0 1.5rem !important;padding:0 !important;font-weight:700 !important;
}
.ousis-cform-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:600px){.ousis-cform-row{grid-template-columns:1fr;}}
.ousis-cform-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem;}
.ousis-cform-group label{font-size:.8rem;font-weight:600;color:var(--text);letter-spacing:.02em;}
.ousis-req{color:#e74c3c;}
.ousis-cform-group input,
.ousis-cform-group select,
.ousis-cform-group textarea{
  width:100%;padding:.65rem .9rem;font-size:.88rem;
  border:1.5px solid #dde1e9;border-radius:8px;
  background:#f9fafb;color:var(--text);
  transition:border-color .2s,box-shadow .2s;font-family:inherit;box-sizing:border-box;
}
.ousis-cform-group input:focus,
.ousis-cform-group select:focus,
.ousis-cform-group textarea:focus{
  outline:none;border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(71,139,216,.13);background:#fff;
}
.ousis-cform-group textarea{resize:vertical;min-height:110px;}
.ousis-cform-submit{width:100%;justify-content:center;margin-top:.25rem;padding:.8rem 1.5rem;font-size:.95rem;}
.ousis-cform-note{font-size:.78rem;color:var(--text-muted);margin-top:.65rem;text-align:center;}
.ousis-cform-success{
  background:#f0faf5;border:1.5px solid #2ecc71;border-radius:10px;
  padding:1rem 1.25rem;margin-top:1rem;font-weight:500;color:#27ae60;
}

/* RIGHT: sidebar */
.ousis-contact-sidebar{
  background:#f4f6fb;padding:2rem 1.5rem;
  display:flex;flex-direction:column;gap:1.25rem;border-left:1px solid #e8ecf4;
}
.ousis-contact-sidebar-title{
  font-size:.95rem !important;color:var(--text) !important;
  margin:0 0 .85rem !important;padding:0 !important;font-weight:700 !important;
}

/* Quick contact cards */
.ousis-contact-quick{display:flex;flex-direction:column;gap:.65rem;}
.ousis-cquick-card{
  display:flex;align-items:center;gap:.85rem;
  background:#fff;border-radius:12px;padding:1rem 1.1rem;
  text-decoration:none;border:1.5px solid #e8ecf4;transition:border-color .2s,box-shadow .2s;
}
.ousis-cquick-card:hover{border-color:var(--blue);box-shadow:0 2px 10px rgba(71,139,216,.12);}
.ousis-cquick-wa{border-color:#25d366 !important;}
.ousis-cquick-wa:hover{box-shadow:0 2px 10px rgba(37,211,102,.2) !important;}
.ousis-cquick-icon{font-size:1.35rem;line-height:1;}
.ousis-cquick-card div{display:flex;flex-direction:column;gap:.05rem;}
.ousis-cquick-card strong{font-size:.8rem;font-weight:700;color:var(--text);}
.ousis-cquick-card span{font-size:.82rem;color:var(--text-muted);}

/* Hours box */
.ousis-contact-hours-box{background:#fff;border-radius:12px;padding:1.25rem;border:1.5px solid #e8ecf4;}
.ousis-chours{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.ousis-chours li{display:flex;justify-content:space-between;font-size:.85rem;color:var(--text-muted);}
.ousis-chours-note{font-size:.8rem;color:#27ae60;font-weight:600;margin:.75rem 0 0;text-align:center;}

/* Trust badges */
.ousis-contact-trust{
  background:#fff;border-radius:12px;padding:1.25rem;border:1.5px solid #e8ecf4;
  display:flex;flex-direction:column;gap:.6rem;
}
.ousis-ctrust-item{display:flex;align-items:center;gap:.65rem;font-size:.83rem;color:var(--text-muted);}
.ousis-ctrust-item span:first-child{font-size:1rem;}

/* ─── WPAUTOP FIX — kill empty <p> injected into grids ─────────────────── */
.ousis-services-grid > p,
.ousis-steps > p,
.ousis-testimonials > p,
.ousis-stats-grid > p,
.ousis-faq > p,
.ousis-split > p,
.ousis-quote-split > p {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ─── AREA HUB PAGES ────────────────────────────────────────────────────── */
.ousis-breadcrumb{
  font-size:.8rem;color:var(--text-muted);padding:.75rem 0;
  display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;
  max-width:var(--max-w);margin:0 auto;padding-left:1.5rem;
}
.ousis-breadcrumb a{color:var(--blue);text-decoration:none;}
.ousis-breadcrumb a:hover{text-decoration:underline;}
.ousis-breadcrumb span{color:#bbb;}
.ousis-hero-img{margin:0 auto 2.5rem;max-width:900px;padding:0 1.5rem;}
.ousis-hero-img img{width:100%;border-radius:var(--r-lg);display:block;
  box-shadow:0 8px 40px rgba(0,0,0,.12);}
.ousis-section--bg{background:#f7f8fc;padding:4rem 0;}
/* Service cards grid (area hub — links only) */
.ousis-service-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1rem;margin-top:2rem;
}
.ousis-service-grid a.ousis-service-card{
  display:flex;align-items:center;gap:.65rem;
  padding:1rem 1.25rem;background:#fff;
  border:1.5px solid var(--border);border-radius:var(--r-md);
  font-size:.9rem;font-weight:600;color:var(--text);
  text-decoration:none;transition:var(--tr);
}
.ousis-service-grid a.ousis-service-card:hover{
  border-color:var(--blue);color:var(--blue);
  box-shadow:0 4px 16px rgba(13,36,88,.1);transform:translateY(-2px);
}
/* Why choose grid (area hub) */
.ousis-why-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.5rem;margin-top:2rem;
}
.ousis-why-item{
  background:#fff;border-radius:var(--r-md);
  padding:1.5rem;border:1.5px solid var(--border);
  border-top:3px solid var(--gold);
}
.ousis-why-item-icon{font-size:1.5rem;margin-bottom:.6rem;}
.ousis-why-item strong{display:block;font-size:.95rem;color:var(--text);margin-bottom:.4rem;}
.ousis-why-item p{font-size:.85rem;color:var(--text-muted);margin:0;}
/* Reviews */
.ousis-reviews-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1.5rem;margin-top:2rem;
}
.ousis-review-card{
  background:#fff;border-radius:var(--r-md);padding:1.75rem;
  border:1.5px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.05);
}
.ousis-review-stars{color:var(--gold);font-size:1.1rem;margin-bottom:.75rem;}
.ousis-review-text{font-size:.9rem;color:var(--text);line-height:1.6;margin:0 0 1rem;font-style:italic;}
.ousis-review-author{font-size:.8rem;font-weight:700;color:var(--text-muted);}
/* Area FAQ using <details> */
.ousis-faq details{
  border:1.5px solid var(--border);border-radius:var(--r-md);
  overflow:hidden;margin-bottom:.75rem;background:#fff;
}
.ousis-faq details summary{
  padding:1.1rem 1.25rem;font-weight:700;font-size:.95rem;
  cursor:pointer;list-style:none;display:flex;
  justify-content:space-between;align-items:center;color:var(--text);
}
.ousis-faq details summary::after{content:'+';font-size:1.2rem;color:var(--gold);font-weight:400;}
.ousis-faq details[open] summary::after{content:'−';}
.ousis-faq-answer{padding:.25rem 1.25rem 1.1rem;font-size:.9rem;color:var(--text-muted);line-height:1.6;}
/* Area CTA section */
.ousis-cta-section{
  background:linear-gradient(135deg,var(--blue-deeper),var(--blue));
  color:#fff;text-align:center;padding:4rem 2rem;
}
.ousis-cta-section h2{color:#fff;font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.75rem;}
.ousis-cta-section p{color:rgba(255,255,255,.8);margin-bottom:1.5rem;}
.ousis-btn-navy{
  background:var(--gold);color:var(--blue-deeper) !important;
  padding:.85rem 2rem;border-radius:6px;font-weight:800;
  text-decoration:none;display:inline-block;font-size:.95rem;
}
.ousis-btn-navy:hover{background:var(--gold-deep);transform:translateY(-2px);}

/* ─── ABOUT PAGE HERO ────────────────────────────────────────────────────── */
.ousis-about-hero{
  position:relative;overflow:hidden;
  min-height:420px;display:flex;align-items:center;
  background-color:var(--blue-deeper);
  background-size:cover;background-position:center 30%;
  width:100vw !important;max-width:100vw !important;
  margin-left:calc((100% - 100vw)/2) !important;
  margin-right:calc((100% - 100vw)/2) !important;
}
.ousis-about-hero::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(13,36,88,.95) 0%,rgba(13,36,88,.7) 60%,rgba(13,36,88,.3) 100%);
}
.ousis-about-hero-content,.ousis-about-hero-inner{
  position:relative;z-index:2;padding:4rem 2rem;
  max-width:680px;margin-left:auto;
}
.ousis-about-hero h1{
  color:#fff !important;font-size:clamp(1.8rem,3.5vw,2.8rem) !important;
  font-weight:800 !important;margin:0 0 1rem !important;
  line-height:1.15 !important;border:none !important;padding:0 !important;
}
.ousis-about-hero p{color:rgba(255,255,255,.85);font-size:1.05rem;margin-bottom:1.75rem;}

/* ─── SERVICE INCLUDES SPLIT ────────────────────────────────────────────── */
.ousis-svc-includes-split{
  display:grid;grid-template-columns:1fr 1fr;
  gap:4rem;align-items:center;margin-top:3rem;
}
.ousis-svc-inc-checklist{
  list-style:none;padding:0;margin:1.5rem 0 2rem;
  display:flex;flex-direction:column;gap:.85rem;
}
.ousis-svc-inc-checklist li{
  display:flex;align-items:flex-start;gap:.75rem;
  font-size:.95rem;color:var(--text);line-height:1.4;
}
.ousis-svc-inc-checklist li::before{
  content:'✓';color:#fff;background:var(--blue);
  border-radius:50%;width:22px;height:22px;min-width:22px;
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;font-weight:800;margin-top:.1rem;
}
.ousis-svc-includes-photo img{
  width:100%;border-radius:var(--r-lg);
  box-shadow:0 12px 48px rgba(13,36,88,.15);
  display:block;object-fit:cover;
  aspect-ratio:4/3;
}
@media(max-width:767px){
  .ousis-svc-includes-split{grid-template-columns:1fr;gap:2rem;}
  .ousis-svc-includes-photo{order:-1;}
  .ousis-service-grid{grid-template-columns:1fr 1fr;}
  .ousis-why-grid{grid-template-columns:1fr;}
  .ousis-reviews-grid{grid-template-columns:1fr;}
}

/* ─── STATS V2 — two-column (tagline left + icons right) ───────────────────── */
.ousis-stats-v2{
  background:#faf9f6;padding:4.5rem 0;
  border-top:1px solid rgba(201,168,76,.15);
  border-bottom:1px solid rgba(201,168,76,.15);
}
.ousis-stats-v2-inner{
  display:grid;grid-template-columns:1fr 1.8fr;
  gap:5rem;align-items:center;
}
/* Left tagline */
.ousis-stats-tagline .ousis-eyebrow-label{
  color:var(--gold);letter-spacing:.14em;font-size:.72rem;
}
.ousis-stats-v2-h2{
  font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:800;
  color:var(--blue-deeper);line-height:1.2;
  margin:.6rem 0 1.1rem;
}
.ousis-stats-v2-h2 .ousis-gold{color:var(--gold);}
.ousis-stats-tagline p{
  font-size:.9rem;color:var(--text-light);line-height:1.65;max-width:360px;
}
/* Right: stats row */
.ousis-stats-v2-items{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
}
.ousis-stat-v2{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;padding:0 1.5rem;position:relative;
}
.ousis-stat-v2+.ousis-stat-v2::before{
  content:'';position:absolute;left:0;top:50%;
  transform:translateY(-50%);height:70%;
  width:1px;background:rgba(201,168,76,.3);
}
.ousis-stat-v2-icon{
  width:44px;height:44px;margin-bottom:.9rem;
  color:var(--gold);flex-shrink:0;
}
.ousis-stat-v2-icon svg{width:100%;height:100%;stroke:var(--gold);stroke-width:1.4;fill:none;}
.ousis-stat-v2-num{
  font-size:clamp(1.4rem,2.2vw,1.9rem);font-weight:800;
  color:var(--blue-deeper);letter-spacing:-.02em;line-height:1;
}
.ousis-stat-v2-lbl{
  font-size:.72rem;color:#8a8f9e;font-weight:500;
  letter-spacing:.06em;margin-top:.4rem;text-transform:uppercase;
}
@media(max-width:900px){
  .ousis-stats-v2-inner{grid-template-columns:1fr;gap:2.5rem;}
  .ousis-stats-tagline p{max-width:100%;}
}
@media(max-width:600px){
  .ousis-stats-v2-items{grid-template-columns:repeat(2,1fr);gap:1.5rem;}
  .ousis-stat-v2+.ousis-stat-v2::before{display:none;}
  .ousis-stat-v2{padding:.5rem;}
}

/* ─── SVC-DESC — service description section (intro + checklist + why box) ─── */
.ousis-svc-desc{
  padding:4rem 0 3.5rem;
  background:#f7f6f2;
  border-top:1px solid rgba(201,168,76,.12);
}
.ousis-svc-desc-intro{
  font-size:1rem;line-height:1.75;color:var(--text);
  max-width:860px;margin:0 auto 2.5rem;text-align:center;
}
.ousis-svc-desc-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:3rem;align-items:start;
}
.ousis-svc-desc-h3{
  font-size:1.1rem;font-weight:800;
  color:var(--gold) !important;
  margin:0 0 1rem !important;
  border:none !important;padding:0 !important;
}
/* Left checklist column */
.ousis-svc-inc-checklist.ousis-svc-desc-list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:.55rem 1.5rem;
}
.ousis-svc-inc-checklist.ousis-svc-desc-list li{
  display:flex;align-items:flex-start;gap:.55rem;
  font-size:.88rem;color:var(--text);line-height:1.45;
}
.ousis-svc-inc-checklist.ousis-svc-desc-list li::before{
  content:'✓';color:#fff;background:var(--blue);
  border-radius:50%;width:20px;height:20px;min-width:20px;
  display:flex;align-items:center;justify-content:center;
  font-size:.65rem;font-weight:800;margin-top:.1rem;flex-shrink:0;
}
/* Right "why OUSIS" box */
.ousis-svc-why-box{
  background:#fff;border-radius:var(--r-lg);
  border-top:3px solid var(--gold);
  box-shadow:0 4px 28px rgba(13,36,88,.07);
  padding:2rem 2rem 1.75rem;
}
.ousis-svc-why-title{
  font-size:1.05rem;font-weight:800;
  color:var(--blue-deeper);margin:0 0 1.1rem;
}
.ousis-svc-why-ticks{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:.7rem;
}
.ousis-svc-why-ticks li{
  display:flex;align-items:flex-start;gap:.65rem;
  font-size:.88rem;color:var(--text);line-height:1.45;
}
.ousis-check-tick{
  color:var(--gold);font-size:1rem;
  margin-top:.05rem;flex-shrink:0;
}
/* CTA row below grid */
.ousis-svc-desc-cta{
  display:flex;align-items:center;gap:1.2rem;
  margin-top:2.5rem;
  flex-wrap:wrap;
}
.ousis-svc-desc-cta .ousis-btn-outline{
  border:2px solid var(--gold);color:var(--gold);
  background:transparent;border-radius:var(--r-md);
  padding:.65rem 1.6rem;font-weight:700;font-size:.88rem;
  text-decoration:none;transition:background .2s,color .2s;
}
.ousis-svc-desc-cta .ousis-btn-outline:hover{
  background:var(--gold);color:#fff;
}
/* Responsive */
@media(max-width:820px){
  .ousis-svc-desc-grid{grid-template-columns:1fr;gap:2rem;}
  .ousis-svc-inc-checklist.ousis-svc-desc-list{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .ousis-svc-desc{padding:2.5rem 0 2rem;}
  .ousis-svc-desc-intro{font-size:.93rem;}
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE OPTIMISATION v1.0  — 390px iPhone-first
   (ajouté en complément des media queries existantes)
═══════════════════════════════════════════════════════════════════════════ */

/* ── 600px : CTA row stacks plus tôt + boutons pleine largeur ─────────── */
@media(max-width:600px){
  .ousis-cta-row{flex-direction:column;gap:.6rem;}
  .ousis-btn{width:100%;justify-content:center;text-align:center;}
  .ousis-section{padding:2.5rem 0;}
  .ousis-section-white,.ousis-section-offwhite,.ousis-section-light{padding:2rem 0;}
}

/* ── 767px : hero service, sections, sticky bar ────────────────────────── */
@media(max-width:767px){

  /* ─ Service hero ─ */
  .ousis-svc-hero{min-height:320px;}
  .ousis-svc-hero-content{padding:2.5rem 1.25rem 2rem;}
  .ousis-svc-hero-content > p{font-size:.93rem;margin-bottom:1.25rem;}
  .ousis-svc-hero-badges{gap:.5rem;margin-top:1.25rem;}
  .ousis-svc-hero-badge{padding:.4rem .7rem;font-size:.75rem;}

  /* ─ Home hero ─ */
  .ousis-hero{min-height:280px;}
  .ousis-hero-content{padding-top:2.5rem;padding-bottom:2.5rem;}
  .ousis-hero-content h1{font-size:clamp(1.7rem,7vw,2.4rem) !important;}

  /* ─ Home hero split (hero de la page d'accueil) ─ */
  .ousis-hero-split-card{padding:2rem 1.25rem;}
  .ousis-hero-split-card h1{font-size:clamp(1.6rem,7vw,2.2rem) !important;}

  /* ─ Sections generales ─ */
  .ousis-section{padding:2.5rem 0;}
  .ousis-section-header h2{font-size:clamp(1.4rem,5.5vw,1.9rem) !important;}
  .ousis-section-header p{font-size:.93rem;}

  /* ─ FAQ ─ */
  .ousis-faq-v2{padding:2.5rem 0;}
  .ousis-faq-item h3{font-size:.93rem !important;padding:1rem 1.1rem !important;}
  .ousis-faq-item p{padding:.75rem 1.1rem 1.1rem !important;font-size:.88rem !important;}

  /* ─ Service includes & why sections ─ */
  .ousis-svc-includes{padding:2.5rem 0;}
  .ousis-svc-why{padding:1px 0 2.5rem;}

  /* ─ CTA banner ─ */
  .ousis-cta-banner{padding:2.5rem 0;}
  .ousis-cta-banner h2{font-size:clamp(1.3rem,5vw,1.8rem) !important;}

  /* ─ Service description section ─ */
  .ousis-svc-desc{padding:2.5rem 0 2rem;}
  .ousis-svc-why-box{padding:1.5rem 1.25rem;}

  /* ─ WhatsApp float button ─ */
  .ousis-whatsapp-float{
    bottom:5rem;right:1rem;
    padding:.65rem 1.1rem;font-size:.8rem;
  }

  /* ─ Sticky CTA bar ─ */
  .ousis-sticky-cta-inner{padding:.65rem 1rem;gap:.5rem;flex-wrap:nowrap;}
  .ousis-sticky-cta-label{display:none;}
  .ousis-sticky-cta-btns{gap:.5rem;width:100%;justify-content:center;}
  .ousis-sticky-btn{padding:.5rem 1rem !important;font-size:.78rem !important;}
  .ousis-sticky-wa-btn{padding:.5rem .9rem;font-size:.78rem;}

  /* ─ Contact page ─ */
  .ousis-contact-page{margin:0 -1rem;}
  .ousis-contact-hero-v2{padding:2rem 1.25rem 1.75rem;}

  /* ─ Footer ─ */
  .ousis-footer-bottom{padding:2rem 0 0;}
  .ousis-footer-bottom-inner{padding:0 1rem 2rem;gap:2rem;}
  .ousis-footer-copy{padding:.75rem 1rem;flex-direction:column;gap:.5rem;text-align:center;}
  .ousis-footer-copy-links{justify-content:center;}

  /* ─ Stats v2 (section home) ─ */
  .ousis-stats-v2{padding:2.5rem 0;}
  .ousis-stats-v2-h2{font-size:clamp(1.3rem,5vw,1.8rem);}

  /* ─ About section ─ */
  .ousis-about-photo-wrap img{height:260px;}
}

/* ── 480px : micro-ajustements ─────────────────────────────────────────── */
@media(max-width:480px){
  .ousis-container{padding:0 .85rem;}

  /* Service hero : masquer les badges sur très petits écrans */
  .ousis-svc-hero-badges{display:none;}
  .ousis-svc-hero{min-height:260px;}
  .ousis-svc-hero-content{padding:2rem 1rem 1.75rem;}
  .ousis-svc-hero-content h1{letter-spacing:-.02em !important;}

  /* Hero home */
  .ousis-hero{min-height:240px;}

  /* Stats v2 — 2 colonnes sur petits écrans */
  .ousis-stats-v2-items{grid-template-columns:repeat(2,1fr);gap:1.25rem;}
  .ousis-stat-v2+.ousis-stat-v2::before{display:none;}
  .ousis-stat-v2{padding:.5rem;}

  /* Boutons full-width avec bonne hauteur de tap */
  .ousis-btn{padding:.9rem 1.5rem;min-height:48px;}

  /* WhatsApp float : icone seule sur très petits écrans */
  .ousis-whatsapp-float{
    bottom:5rem;right:.75rem;
    padding:.75rem;width:48px;height:48px;
    border-radius:50%;font-size:0;
    display:flex;align-items:center;justify-content:center;
  }
  .ousis-whatsapp-float::before{
    content:'💬';font-size:1.4rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE CAROUSELS — scroll horizontal snap
   Steps · Services · Testimonials
═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:767px){

  /* ── 1. "Quick & Easy — 3 Simple Steps" ─────────────────────────────── */
  .ousis-steps{
    display:flex !important;
    flex-direction:row !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    gap:1rem !important;
    padding:0 1rem 1.25rem !important;
    margin:0 -1rem !important;
    grid-template-columns:unset !important;
    scrollbar-width:none !important;
    align-items:stretch !important;
  }
  .ousis-steps::-webkit-scrollbar{display:none !important;}

  /* Steps individuels */
  .ousis-step{
    flex:0 0 78vw !important;
    scroll-snap-align:start !important;
    min-width:0 !important;
    max-width:78vw !important;
  }

  /* Flèches entre steps : masquées */
  .ousis-step-arrow{display:none !important;}

  /* Ligne de connexion (pseudo-element) */
  .ousis-steps-row::before{display:none !important;}

  /* ── 2. "Our Professional Cleaning Services in Dubai" ────────────────── */
  .ousis-services-grid{
    display:flex !important;
    flex-direction:row !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    gap:1rem !important;
    padding:0 1rem 1.25rem !important;
    margin:0 -1rem !important;
    grid-template-columns:unset !important;
    scrollbar-width:none !important;
    align-items:stretch !important;
  }
  .ousis-services-grid::-webkit-scrollbar{display:none !important;}

  /* Carte service */
  .ousis-service-card{
    flex:0 0 72vw !important;
    scroll-snap-align:start !important;
    min-width:0 !important;
    max-width:72vw !important;
    display:flex !important;
    flex-direction:column !important;
  }

  /* Image : hauteur fixe, pas de rognage abusif */
  .ousis-service-img{
    height:160px !important;
    background-size:cover !important;
    background-position:center !important;
    flex-shrink:0 !important;
    border-radius:var(--r-lg) var(--r-lg) 0 0 !important;
  }

  /* Corps texte sous l'image : lisible */
  .ousis-service-card-body,
  .ousis-service-card > *:not(.ousis-service-img){
    padding:.9rem 1rem !important;
    flex:1 !important;
  }

  /* ── 3. "Client Reviews / Trusted by Hundreds…" ─────────────────────── */
  .ousis-testimonials{
    display:flex !important;
    flex-direction:row !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    gap:1rem !important;
    padding:0 1rem 1.25rem !important;
    margin:0 -1rem !important;
    grid-template-columns:unset !important;
    scrollbar-width:none !important;
    align-items:stretch !important;
  }
  .ousis-testimonials::-webkit-scrollbar{display:none !important;}

  /* Carte testimonial */
  .ousis-testimonial{
    flex:0 0 84vw !important;
    scroll-snap-align:start !important;
    min-width:0 !important;
    max-width:84vw !important;
  }

  /* ── Indicateur visuel de scroll (dot/fade sur le côté droit) ────────── */
  .ousis-steps,
  .ousis-services-grid,
  .ousis-testimonials{
    /* Le dernier ~15% montre la prochaine carte = affordance naturelle */
    padding-right:calc(1rem + 4vw) !important;
  }
}

/* ─── HERO PARALLAX ─────────────────────────────────────────────────────────
   L'image de fond "suit" le scroll — impression de profondeur
   JS applique translateY() sur .ousis-hero-bg via ousis-whatsapp.php
═══════════════════════════════════════════════════════════════════════════ */
.ousis-hero-bg{
  will-change:transform;
  transition:none;
}
/* Steps : 4 colonnes sur desktop (était 3 steps + 2 arrows = 5 colonnes "1fr 48px 1fr 48px 1fr")
   Maintenant 4 steps + 3 arrows = 7 colonnes */
.ousis-steps{
  grid-template-columns:1fr 48px 1fr 48px 1fr 48px 1fr !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PAGE-SPECIFIC HERO OVERRIDES v3.5.3
   Pool page: lighter overlay / Post-Const: fix bg position
   Services page: softer white / Social buttons
═══════════════════════════════════════════════════════════════════════════ */

/* ── Pool Cleaning (page-id-21): lighter overlay so green water is visible ── */
.page-id-21 .ousis-svc-hero-overlay{
  background:linear-gradient(100deg,
    rgba(0,50,140,.52) 0%,
    rgba(0,40,110,.30) 55%,
    rgba(0,20,70,.10) 100%
  ) !important;
}

/* ── Post-Construction (page-id-11): bg position fix (too zoomed) ── */
.page-id-11 .ousis-svc-hero{
  background-position:center 30% !important;
  background-size:cover !important;
}

/* ── Services page (page-id-6): soften stark white background ── */
.page-id-6{
  background-color:#f0f5ff !important;
}
.page-id-6 .has-white-background-color,
.page-id-6 .wp-block-group.has-white-background-color{
  background:linear-gradient(180deg,#ecf2ff 0%,#ffffff 60%) !important;
}

/* ── Social media buttons ── */
.ousis-social-btn{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.75rem 1.5rem;border-radius:2rem;
  font-weight:700;font-size:0.95rem;text-decoration:none;
  transition:transform 0.15s,box-shadow 0.15s;
}
.ousis-social-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(0,0,0,.15);
}
.ousis-social-insta{
  background:linear-gradient(135deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
  color:#fff !important;
}
.ousis-social-tiktok{
  background:#000;
  color:#fff !important;
}

/* ── Navy section helper (for Airbnb highlights) ── */
.ousis-section-navy{
  background:linear-gradient(135deg,#0d2458 0%,#1a3a7a 100%);
}

/* ── Glass/Window page (page-id-25): fix bg zoom ── */
.page-id-25 .ousis-svc-hero{
  background-position:center center !important;
  background-size:cover !important;
}
