 .hero-slider { position:relative; height:90vh; overflow:hidden; }
    .slides      { height:100%; width:100%; position:absolute; }
    .slide       { position:absolute; width:100%; height:100%; background-size:cover; background-position:center; opacity:0; transition:opacity 0.8s; }
    .slide.active{ opacity:1; }
    .hero-content{ position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; color:white; background:rgba(0,0,0,.35); }
    .slide-btn   { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.5); color:white; border:none; font-size:30px; width:50px; height:50px; cursor:pointer; z-index:5; }
    .prev{ left:20px; } .next{ right:20px; }

    .mqslider { position:relative; width:100%; overflow:hidden; background:#1a2c4e; height:380px; }
    @media(max-width:768px){ .mqslider{ height:220px; } }
    .mqslider-track{ display:flex; height:100%; transition:transform .8s cubic-bezier(.4,0,.2,1); }
    .mqslider-track img{ flex-shrink:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
    .mqslider-btn{ position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.42); color:white; border:none; width:40px; height:40px; border-radius:50%; font-size:22px; cursor:pointer; z-index:5; }
    .mqslider-btn.prev{ left:14px; } .mqslider-btn.next{ right:14px; }
    .mqslider-dots{ position:absolute; bottom:12px; left:50%; transform:translateX(-50%); display:flex; gap:7px; z-index:5; }
    .mqslider-dots span{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.45); cursor:pointer; }
    .mqslider-dots span.active{ background:#fff; }

    .pimg-wrap{ width:100%; height:160px; border-radius:12px; overflow:hidden; margin-bottom:1rem; }
    .pimg{ height:100%; object-fit:cover; transition:transform .4s ease; }
    .pcard:hover .pimg{ transform:scale(1.07); }

    /* Testimonials */
    .tslider-wrap{ position:relative; overflow:hidden; padding:0 0 50px; }
    .tslider-track{ display:flex; transition:transform .55s cubic-bezier(.4,0,.2,1); will-change:transform; }
    .tslider-card{ flex-shrink:0; width:calc(33.333% - 16px); margin-right:24px; background:#fff; border-radius:20px; padding:28px 26px 22px; border:1.5px solid #f1f5f9; box-shadow:0 2px 12px rgba(0,0,0,.05); display:flex; flex-direction:column; gap:14px; transition:box-shadow .3s,border-color .3s; }
    .tslider-card:hover{ box-shadow:0 12px 32px rgba(255,60,110,.1); border-color:#ffd6e0; }
    .ts-quote{ font-size:2rem; color:#ffd6e0; line-height:1; font-family:Georgia,serif; font-weight:900; }
    .ts-stars{ display:flex; gap:3px; } .ts-stars i.f{ color:#ffd93d; font-size:.82rem; } .ts-stars i.e{ color:#e5e7eb; font-size:.82rem; }
    .ts-msg{ font-size:.88rem; color:#374151; line-height:1.75; font-style:italic; flex:1; }
    .ts-rm{ color:#ff3c6e; font-weight:700; font-style:normal; font-size:.8rem; text-decoration:none; cursor:pointer; }
    .ts-author{ display:flex; align-items:center; gap:12px; padding-top:14px; border-top:1px solid #f1f5f9; }
    .ts-avatar{ width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700; color:#fff; flex-shrink:0; }
    .ts-name{ font-size:.88rem; font-weight:700; color:#0f172a; }
    .ts-city{ font-size:.73rem; color:#6b7280; display:flex; align-items:center; gap:4px; margin-top:1px; }
    .ts-city i{ color:#ff3c6e; font-size:.62rem; }
    .tslider-btn{ position:absolute; top:50%; transform:translateY(-60%); width:40px; height:40px; border-radius:50%; background:#fff; border:1.5px solid #ffd6e0; color:#ff3c6e; font-size:1rem; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(255,60,110,.15); transition:all .2s; z-index:5; }
    .tslider-btn:hover{ background:#ff3c6e; color:#fff; border-color:#ff3c6e; }
    .tslider-btn.ts-prev{ left:-8px; } .tslider-btn.ts-next{ right:-8px; }
    .tslider-dots{ position:absolute; bottom:0; left:50%; transform:translateX(-50%); display:flex; gap:7px; align-items:center; }
    .tsdot{ width:7px; height:7px; border-radius:50%; background:#ffd6e0; cursor:pointer; transition:all .25s; border:none; padding:0; }
    .tsdot.active{ background:#ff3c6e; width:22px; border-radius:4px; }
    @media(max-width:900px){ .tslider-card{ width:calc(50% - 12px); } }
    @media(max-width:580px){ .tslider-card{ width:100%; margin-right:20px; } .tslider-btn{ display:none; } }

    /* ══ HOME SERVICES — 100% Self-Contained ══ */
    .hs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
    @media(max-width:1024px){ .hs-grid{ grid-template-columns:repeat(2,1fr); } }
    @media(max-width:600px) { .hs-grid{ grid-template-columns:1fr; gap:16px; } }

    .hs-card{ background:#fff; border:1.5px solid #e5e7eb; border-radius:20px; padding:26px 24px 22px; display:flex; flex-direction:column; box-shadow:0 2px 12px rgba(0,0,0,.05); transition:transform .3s,box-shadow .3s,border-color .3s; cursor:pointer; position:relative; overflow:hidden; }
    .hs-card::before{ content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,#ff3c6e,#ffd93d); opacity:0; transition:opacity .3s; }
    .hs-card:hover{ transform:translateY(-6px); box-shadow:0 16px 40px rgba(255,60,110,.12); border-color:#ffd6e0; }
    .hs-card:hover::before{ opacity:1; }
    .hs-card.hs-featured{ border-color:#ffd6e0; background:linear-gradient(160deg,#fff5f7 0%,#fff 60%); box-shadow:0 4px 20px rgba(255,60,110,.1); }
    .hs-card.hs-featured::before{ opacity:1; }

    .hs-ribbon{ position:absolute; top:16px; right:-10px; background:linear-gradient(135deg,#ff3c6e,#e0004a); color:#fff; font-size:.58rem; font-weight:800; padding:4px 18px 4px 12px; border-radius:4px 0 0 4px; letter-spacing:.8px; text-transform:uppercase; box-shadow:0 3px 10px rgba(255,60,110,.35); }

    .hs-icon{ width:54px; height:54px; border-radius:15px; display:flex; align-items:center; justify-content:center; font-size:1.45rem; margin-bottom:16px; flex-shrink:0; transition:transform .3s; }
    .hs-card:hover .hs-icon{ transform:scale(1.1) rotate(-5deg); }
    .hs-ic-rose  { background:#fff0f3; color:#ff3c6e; border:1.5px solid #ffd6e0; }
    .hs-ic-navy  { background:#eef2ff; color:#4f46e5; border:1.5px solid #c7d2fe; }
    .hs-ic-gold  { background:#fffbeb; color:#d97706; border:1.5px solid #fde68a; }
    .hs-ic-green { background:#f0fdf4; color:#059669; border:1.5px solid #a7f3d0; }
    .hs-ic-purple{ background:#faf5ff; color:#7c3aed; border:1.5px solid #ddd6fe; }
    .hs-ic-coral { background:#fff7ed; color:#ea580c; border:1.5px solid #fed7aa; }
    .hs-ic-sky   { background:#f0f9ff; color:#0284c7; border:1.5px solid #bae6fd; }

    .hs-title{ font-size:1.05rem; font-weight:800; color:#1a2c4e; margin-bottom:7px; line-height:1.3; }
    .hs-desc { font-size:.84rem; color:#6b7280; line-height:1.65; flex:1; }
    .hs-divider{ height:1px; background:linear-gradient(90deg,#e5e7eb,transparent); margin:16px 0; }
    .hs-list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:7px; }
    .hs-list li{ display:flex; align-items:center; gap:9px; font-size:.83rem; color:#1e1e2e; line-height:1.4; }
    .hs-dot{ width:19px; height:19px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; color:#fff; font-size:.5rem; }
    .hs-btn{ display:inline-flex; align-items:center; gap:6px; font-size:.8rem; font-weight:700; text-decoration:none; border-radius:20px; padding:7px 15px; margin-top:16px; border:1.5px solid; align-self:flex-start; transition:all .22s; }
    .hs-btn:hover{ opacity:.8; transform:translateX(3px); }
    .hs-view-all{ display:inline-flex; align-items:center; gap:.6rem; background:#ff3c6e; color:#fff; font-size:.92rem; font-weight:700; padding:.75rem 2rem; border-radius:50px; text-decoration:none; box-shadow:0 8px 20px rgba(224,90,122,.3); transition:transform .25s,box-shadow .25s; }
    .hs-view-all:hover{ transform:translateY(-2px); box-shadow:0 12px 28px rgba(224,90,122,.4); color:#fff; }
    .hs-skel{ background:#fff; border:1.5px solid #e5e7eb; border-radius:20px; padding:26px 24px; }
    .hs-skel-b{ border-radius:8px; background:#f3f4f6; }
    @keyframes hsShimmer{ 0%,100%{opacity:1} 50%{opacity:.35} }
    .hs-skel-b{ animation:hsShimmer 1.4s ease infinite; }