:root {
  /* Apple design tokens */
  --navy:      #1d1d1f;
  --sky:       #0071e3;
  --sky-light: #2997ff;
  --cream:     #f5f5f7;
  --white:     #ffffff;
  --accent:    #0071e3;
  --soft:      #e8e8ed;
  --mid:       #e8e8ed;
  --text:      #1d1d1f;
  --muted:     #6e6e73;
  --border:    #d2d2d7;
  --success:   #34c759;
  --bg:        #f5f5f7;
}

*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --navy:#0d1f3c;--sky:#3a8fd9;--sky-light:#6db8f0;
  --white:#ffffff;--accent:#e8c56a;--soft:#f4f7fb;--mid:#e2eaf5;
}
html{background:#ffffff;color-scheme:light;}body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:var(--navy);background:var(--white);}

/* ── NAV ── */
nav{
  position:fixed;top:0;width:100%;z-index:100;
  padding:0 5%;height:52px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  background:rgba(255,255,255,0.88);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,0.12);
}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;justify-self:start;}
.logo-img{height:40px;width:auto;object-fit:contain;}
.logo-brand{display:flex;flex-direction:column;line-height:1;}
.brand-name{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:1.25rem;font-weight:900;color:var(--text);}
.brand-pro{color:var(--sky);}
.brand-sub{font-size:0.5rem;font-weight:500;color:#0071e3;letter-spacing:0.15em;text-transform:uppercase;margin-top:3px;}
.nav-links{display:flex;align-items:center;gap:28px;justify-self:center;}
.nav-links a{color:rgba(0,0,0,0.75);text-decoration:none;font-size:0.82rem;font-weight:500;transition:color 0.2s;white-space:nowrap;}
.nav-links a:hover{color:var(--sky);}
.nav-right{display:flex;align-items:center;gap:12px;justify-self:end;}
.nav-cta{background:var(--sky);color:var(--white)!important;padding:8px 20px;border-radius:980px;font-weight:400;font-size:0.82rem;text-decoration:none;transition:background 0.2s;}
.nav-cta:hover{background:var(--sky-light);}
.lang-toggle{display:flex;align-items:center;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.15);border-radius:50px;overflow:hidden;}
.lang-btn{padding:6px 13px;font-size:0.72rem;font-weight:700;letter-spacing:0.08em;cursor:pointer;border:none;background:transparent;color:#6e6e73;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;transition:all 0.2s;}
.lang-btn.active{background:var(--sky);color:var(--white);border-radius:50px;}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;background:none;border:none;padding:6px;justify-self:end;}
.hamburger span{display:block;width:24px;height:2px;background:var(--text);border-radius:2px;transition:all 0.3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{display:none;position:fixed;top:52px;left:0;right:0;background:rgba(255,255,255,0.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,0.08);flex-direction:column;align-items:center;z-index:99;padding:12px 0 20px;}
.mobile-menu.open{display:flex;}
.mobile-menu a{width:100%;text-align:center;padding:14px 5%;color:var(--text);text-decoration:none;font-size:0.95rem;font-weight:500;border-bottom:1px solid rgba(255,255,255,0.05);transition:color 0.2s;}
.mobile-menu .mob-cta{margin-top:16px;background:var(--sky);color:var(--white)!important;padding:12px 40px;border-radius:50px;font-weight:700;width:auto;border-bottom:none;}
@media(max-width:900px){.nav-links,.nav-right{display:none;}.hamburger{display:flex;}}

/* ── HERO ── */
.hero{
  background:var(--white);padding:130px 5% 90px;
  position:relative;overflow:hidden;
}
.hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 70% 50%, rgba(58,143,217,0.18) 0%, transparent 65%);
  pointer-events:none;
}
.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#f0f6ff;border:1px solid #c5deff;color:var(--sky);font-size:0.72rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;padding:7px 16px;border-radius:50px;margin-bottom:24px;}
.hero h1{font-size:clamp(2.2rem,4vw,3.8rem);font-weight:700;color:var(--text);line-height:1.1;margin-bottom:20px;}
.hero h1 span{color:var(--sky-light);}
.hero p{font-size:1.05rem;color:var(--muted);line-height:1.7;margin-bottom:32px;max-width:520px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn-primary{background:var(--sky);color:var(--white);padding:13px 28px;border-radius:980px;font-weight:700;font-size:0.9rem;text-decoration:none;transition:background 0.2s;}
.btn-primary:hover{background:#0077ed;}
.btn-outline{background:transparent;color:var(--white);padding:13px 28px;border-radius:50px;font-weight:600;font-size:0.9rem;text-decoration:none;border:1.5px solid rgba(255,255,255,0.3);transition:border-color 0.2s,color 0.2s;}
.btn-outline:hover{border-color:var(--white);color:var(--white);}
.hero-stats{display:flex;flex-direction:column;gap:16px;}
.stat-card{border:1px solid var(--border);border-radius:16px;padding:24px 28px;}
.stat-card .num{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:2.4rem;font-weight:900;color:var(--accent);line-height:1;}
.stat-card .label{font-size:0.78rem;color:#6e6e73;text-transform:uppercase;letter-spacing:0.1em;margin-top:6px;}
@media(max-width:768px){.hero-inner{grid-template-columns:1fr;}.hero-stats{flex-direction:row;flex-wrap:wrap;}.stat-card{flex:1;min-width:140px;}}

/* ── SERVICES GRID ── */
.services-section{padding:90px 5%;background:var(--soft);}
.services-section .inner{max-width:1200px;margin:0 auto;}
.section-label{font-size:0.72rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--sky);margin-bottom:12px;}
.section-title{font-size:clamp(1.8rem,3vw,2.8rem);font-weight:900;color:var(--navy);margin-bottom:14px;}
.section-sub{font-size:1rem;color:#5a6a7e;max-width:560px;line-height:1.7;margin-bottom:52px;}
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;}
.svc-card{background:var(--white);border-radius:20px;padding:36px 32px;border:1px solid var(--mid);transition:transform 0.2s,box-shadow 0.2s;text-decoration:none;display:block;color:var(--navy);}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(13,31,60,0.1);}
.svc-icon{font-size:2.4rem;margin-bottom:18px;}
.svc-card h3{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:1.25rem;font-weight:700;margin-bottom:10px;}
.svc-card p{font-size:0.88rem;color:#5a6a7e;line-height:1.65;margin-bottom:18px;}
.svc-link{font-size:0.82rem;font-weight:700;color:var(--sky);letter-spacing:0.04em;display:flex;align-items:center;gap:6px;}

/* ── WHY US ── */
.why-section{padding:90px 5%;background:var(--navy);}
.why-section .inner{max-width:1200px;margin:0 auto;}
.why-section .section-label{color:var(--accent);}
.why-section .section-title{color:var(--white);}
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:32px;margin-top:48px;}
.why-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.09);border-radius:16px;padding:28px 24px;}
.why-card .ic{font-size:1.8rem;margin-bottom:14px;}
.why-card h4{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:8px;}
.why-card p{font-size:0.85rem;color:var(--muted);line-height:1.6;}

/* ── CTA STRIP ── */
.cta-strip{padding:80px 5%;background:var(--sky);text-align:center;}
.cta-strip h2{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:900;color:var(--white);margin-bottom:14px;}
.cta-strip p{font-size:1rem;color:var(--muted);margin-bottom:32px;}
.cta-strip a{background:var(--white);color:var(--navy);padding:14px 36px;border-radius:50px;font-weight:700;font-size:0.95rem;text-decoration:none;display:inline-block;transition:opacity 0.2s;}
.cta-strip a:hover{opacity:0.9;}

/* ── FOOTER ── */
footer{background:#f5f5f7;border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:32px 5%;font-size:0.8rem;line-height:1.9}
footer p{font-size:0.82rem;color:var(--muted);}
footer a{color:var(--sky);text-decoration:none}
footer a:hover{color:var(--sky-light);}

/* ── WHATSAPP ── */
.whatsapp-float{position:fixed;bottom:28px;right:28px;z-index:9999;text-decoration:none;}
.wa-circle{width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.45);}
.wa-circle svg{width:28px;height:28px;fill:#fff;}

@media(prefers-color-scheme:dark){html,body{background-color:var(--bg)!important;color:var(--text)!important}nav{background:rgba(255,255,255,0.88)!important}}
  .content-section { background-color: #ffffff !important; color: #0d1f3c !important; }
  .content-section.alt { background-color: #f4f7fb !important; }
  h2.section-h { color: #0d1f3c !important; }
  .body-text { color: #3d4f63 !important; }
  .info-card { background-color: #ffffff !important; border-color: #e2eaf5 !important; }
  .info-card h4 { color: #0d1f3c !important; }
  .info-card p { color: #5a6a7e !important; }
  .faq-item { background-color: #ffffff !important; border-color: #e2eaf5 !important; }
  .faq-item h4 { color: #0d1f3c !important; }
  .faq-item p { color: #5a6a7e !important; }
  .checklist li { color: #3d4f63 !important; }
  .rel-link { background-color: #f4f7fb !important; color: #0d1f3c !important; border-color: #e2eaf5 !important; }
  .svc-card { background-color: #ffffff !important; color: #0d1f3c !important; border-color: #e2eaf5 !important; }
  .svc-card p { color: #5a6a7e !important; }
  .svc-card h3 { color: #0d1f3c !important; }
  .services-section { background-color: #f4f7fb !important; }
  .section-title { color: #0d1f3c !important; }
  .section-sub { color: #5a6a7e !important; }
}

  /* ═══ PHOTO ENHANCEMENTS ═══ */
  .hero-photo-bg {
    position: absolute; inset: 0; z-index: 0;
    overflow: hidden;
  }
  .hero-photo-bg img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center 25%;
    display: block;
  }
  .hero-photo-bg::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(to right,
      rgba(255,255,255,0.97) 0%,
      rgba(255,255,255,0.85) 55%,
      rgba(255,255,255,0.3) 100%);
  }
  .hero-content { position: relative; z-index: 2; }
  .hero-stats   { position: relative; z-index: 2; }

  /* Hood spotlight photo */
  .hood-photo {
    border-radius: 18px; overflow: hidden;
    height: 380px; position: relative;
    box-shadow: 0 8px 40px rgba(0,0,0,0.1);
  }
  .hood-photo img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center;
    display: block;
  }

  /* Service card photo */
  .svc-photo {
    width: 100%; height: 150px;
    object-fit: cover; border-radius: 10px;
    display: block; margin-bottom: 16px;
  }

  /* Why section photo */
  .why-photo-wrap {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 52px; align-items: center; margin-top: 48px;
  }
  .why-photo-img {
    border-radius: 18px; overflow: hidden; height: 400px;
  }
  .why-photo-img img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
  }
  @media (max-width: 820px) {
    .why-photo-wrap { grid-template-columns: 1fr; }
    .why-photo-img { height: 220px; }
  }

  /* Full-width mid-page photo banner */
  .mid-photo-banner {
    width: 100%; height: 280px; position: relative; overflow: hidden;
  }
  .mid-photo-banner img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center 40%;
    display: block;
  }
  .mid-photo-banner-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.42);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center; padding: 24px; gap: 10px;
  }
  .mid-photo-banner-overlay h3 {
    font-size: clamp(1.2rem, 2.8vw, 1.8rem);
    font-weight: 600; color: #fff; letter-spacing: -0.02em;
  }
  .mid-photo-banner-overlay p {
    font-size: 0.9rem; color: rgba(255,255,255,0.8); max-width: 420px;
  }
  .mid-photo-banner-overlay a {
    margin-top: 6px; padding: 10px 24px;
    background: #0071e3; color: #fff;
    border-radius: 980px; text-decoration: none;
    font-size: 0.88rem; font-weight: 400;
    transition: background 0.15s;
  }
  .mid-photo-banner-overlay a:hover { background: #0077ed; }
