/* ============================================================
   NUR ALEITHER — CLEAN CSS (rebuilt from scratch)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=JetBrains+Mono:wght@400;500;600&family=Cairo:wght@400;600;700;800&display=swap');

/* ---- Variables ---- */
:root {
  --bg: #f8f6f2;
  --fg: #111118;
  --brand: #006a8a;
  --gold: #005f7b;
  --muted: #6b7280;
  --border: rgba(17,17,24,0.10);
  --purple: #7c3aed;
  --purple-light: #a855f7;
  --font: 'Inter', system-ui, sans-serif;
  --mono: 'JetBrains Mono', monospace;
  --ease: cubic-bezier(0.16,1,0.3,1);
}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;background:none;border:none;font:inherit}

/* ---- Layout ---- */
.container{max-width:1280px;margin:0 auto;padding:0 24px}

/* ---- Keyframes ---- */
@keyframes reveal-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes ping{0%{transform:scale(1);opacity:.7}75%,100%{transform:scale(1.8);opacity:0}}
@keyframes glow-pulse{0%,100%{box-shadow:0 4px 20px rgba(124,58,237,.4)}50%{box-shadow:0 4px 28px rgba(124,58,237,.7),0 0 0 8px rgba(124,58,237,.1)}}
@keyframes typing-dot{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}
@keyframes ring-spin{to{transform:rotate(360deg)}}
@keyframes blob-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes process-line{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ---- Grain ---- */
.grain-overlay{pointer-events:none;z-index:100;opacity:.035;background:radial-gradient(var(--fg) .6px,transparent .8px);background-size:4px 4px;position:fixed;inset:0}

/* ---- Scroll Progress ---- */
.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--purple);transform-origin:0;transform:scaleX(0);z-index:70;transition:transform .1s linear}

/* ---- Reveal on scroll ---- */
.reveal{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js-ready .reveal{opacity:0;transform:translateY(28px)}
.js-ready .reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.06s}
.reveal-delay-2{transition-delay:.12s}
.reveal-delay-3{transition-delay:.18s}
.reveal-delay-4{transition-delay:.24s}
.reveal-delay-5{transition-delay:.30s}
.animate-reveal{opacity:1}
.js-ready .animate-reveal{animation:reveal-up .9s var(--ease) both}

/* ---- Misc helpers ---- */
.eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:var(--brand)}
.mono{font-family:var(--mono)}
.animate-marquee{animation:38s linear infinite marquee}
.animate-float{animation:float 4s ease-in-out infinite}
.section{padding:80px 0}
.section-lg{padding:96px 0}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:60;background:#fff;border-bottom:1px solid #e5e7eb;transition:box-shadow .3s}
.site-header.scrolled{box-shadow:0 2px 16px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:8px}
.logo img{height:36px;width:auto;object-fit:contain}

/* Desktop Nav */
.nav-links{display:flex;align-items:center;gap:0;flex:1;justify-content:center}
.nav-item{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:4px;padding:8px 14px;font-size:13px;font-weight:600;color:#1f2937;white-space:nowrap;transition:color .2s;height:68px;border-bottom:2px solid transparent}
.nav-link:hover{color:var(--purple);border-bottom-color:transparent}.nav-link.active{color:var(--purple);border-bottom-color:var(--purple)}
.nav-chevron{transition:transform .25s;color:#6b7280;flex-shrink:0}
.nav-item.has-dropdown:hover .nav-chevron{transform:rotate(180deg);color:var(--purple)}

/* Dropdown */
.nav-dropdown{position:absolute;top:100%;left:0;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-top:3px solid var(--purple);box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:50;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}
.nav-item.has-dropdown:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.dd-item{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;font-size:14px;color:#374151;font-weight:500;transition:background .15s,color .15s;white-space:nowrap;position:relative}
.dd-item:hover{background:#faf5ff;color:var(--purple)}
.dd-item.has-sub{cursor:default}
.nav-sub-dropdown{position:absolute;top:-3px;left:100%;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-top:3px solid var(--purple);box-shadow:0 8px 32px rgba(0,0,0,.12);z-index:51;opacity:0;visibility:hidden;transform:translateX(8px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:none}
.dd-item.has-sub:hover .nav-sub-dropdown{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}

/* CTA button */
.header-cta{display:inline-flex;align-items:center;gap:8px;background:var(--purple);color:#fff !important;padding:12px 22px;font-size:13px;font-weight:700;border-radius:6px;white-space:nowrap;flex-shrink:0;transition:background .25s,transform .2s}
.header-cta:hover{background:#6d28d9;transform:translateY(-1px)}

/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;background:none;border:none;z-index:62;position:relative}
.hamburger span{display:block;width:24px;height:2px;background:#1f2937;transition:transform .3s,opacity .3s;border-radius:2px}
.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
   ============================================================ */
.mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(3px);z-index:58;opacity:0;transition:opacity .3s}
.mob-overlay.open{display:block;opacity:1}

.mobile-menu{display:flex;flex-direction:column;position:fixed;top:0;right:0;width:min(320px,85vw);height:100%;height:100dvh;background:#fff;z-index:59;transform:translateX(100%);transition:transform .38s cubic-bezier(0.16,1,0.3,1);box-shadow:-4px 0 40px rgba(0,0,0,.15);overflow:hidden}
.mobile-menu.open{transform:translateX(0)}

.mob-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #f1f5f9;flex-shrink:0}
.mob-logo img{height:30px;width:auto;object-fit:contain}
.mob-logo-text{display:flex;flex-direction:column}
.mob-logo-name{font-size:14px;font-weight:800;color:#1e1b4b}
.mob-logo-sub{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#9ca3af}
.mob-close{width:32px;height:32px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;flex-shrink:0;transition:background .2s,color .2s}
.mob-close:hover{background:#fee2e2;color:#ef4444;border-color:#fecaca}

.mob-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 0 16px;-webkit-overflow-scrolling:touch}

.mob-section-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#94a3b8;padding:14px 20px 6px;text-transform:uppercase}

.mob-nav-item{display:flex;align-items:center;gap:12px;padding:10px 20px;font-size:13px;font-weight:600;color:#1e293b;text-decoration:none;transition:background .15s,color .15s;position:relative}
.mob-nav-item:hover,.mob-nav-item.active{background:#f5f3ff;color:var(--purple)}
.mob-nav-item.active::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--purple);border-radius:0 2px 2px 0}
.mob-nav-icon{width:28px;height:28px;border-radius:7px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#64748b}
.mob-nav-icon svg{width:14px;height:14px}

.mob-acc-item{border-bottom:1px solid #f8fafc}
.mob-acc-trigger{display:flex;align-items:center;gap:12px;width:100%;padding:10px 20px;font-size:13px;font-weight:600;color:#1e293b;background:none;border:none;cursor:pointer;font-family:var(--font);text-align:left;transition:background .15s,color .15s}
.mob-acc-trigger:hover,.mob-acc-item.open .mob-acc-trigger{background:#f5f3ff;color:var(--purple)}
.mob-acc-chevron{margin-left:auto;color:#94a3b8;transition:transform .3s,color .3s;flex-shrink:0;width:13px;height:13px}
.mob-acc-item.open .mob-acc-chevron{transform:rotate(180deg);color:var(--purple)}
.mob-acc-panel{max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(0.16,1,0.3,1);background:#fafafa;border-top:1px solid #f1f5f9}
.mob-acc-item.open .mob-acc-panel{max-height:400px}
.mob-acc-panel a{display:flex;align-items:center;padding:9px 20px 9px 60px;font-size:13px;color:#475569;font-weight:500;text-decoration:none;border-bottom:1px solid #f1f5f9;transition:color .15s,background .15s;position:relative}
.mob-acc-panel a:last-child{border-bottom:none}
.mob-acc-panel a:hover{color:var(--purple);background:#f5f3ff}
.mob-acc-panel a::before{content:"›";position:absolute;left:48px;color:#c4b5fd;font-size:15px;font-weight:700}

.mob-divider{height:6px;background:#f3f4f6;margin:4px 0}

.mob-footer{flex-shrink:0;padding:16px 20px 20px;border-top:1px solid #f1f5f9;background:#fff}
.mob-book-btn{display:block;width:100%;text-align:center;background:var(--purple);color:white;padding:13px 16px;border-radius:10px;font-weight:800;font-size:13px;letter-spacing:.06em;text-decoration:none;transition:background .25s;margin-bottom:12px}
.mob-book-btn:hover{background:#6d28d9}
.mob-footer-links{display:flex;align-items:center;justify-content:center;gap:10px}
.mob-footer-wa{display:inline-flex;align-items:center;gap:6px;background:#25d366;color:white;padding:9px 14px;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;transition:filter .2s;flex:1;justify-content:center}
.mob-footer-wa:hover{filter:brightness(1.08)}
.mob-footer-call{display:inline-flex;align-items:center;gap:6px;color:#475569;font-size:12px;font-weight:600;text-decoration:none;flex:1;justify-content:center;padding:9px 8px;border:1px solid #e2e8f0;border-radius:8px;transition:background .15s,color .15s}
.mob-footer-call:hover{background:#f8fafc;color:#1e293b}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;padding-top:68px;background:#0f1035;overflow:hidden;min-height:100svh;display:flex;flex-direction:column}
.hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:30px 30px;pointer-events:none;z-index:0}
.hero-sheen{pointer-events:none;position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 700px 500px at 15% 70%,rgba(120,60,220,.3),transparent 70%),radial-gradient(ellipse 500px 400px at 75% 15%,rgba(60,80,220,.2),transparent 70%)}
.hero-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;position:relative;z-index:1;padding:60px 24px 80px;max-width:1280px;margin:0 auto;width:100%}

.hero-reviews{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:8px 16px;border-radius:40px;margin-bottom:24px;backdrop-filter:blur(8px);flex-wrap:wrap}
.hero-reviews .excellent{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:white}
.hero-reviews .stars{color:#fbbc05;font-size:14px;letter-spacing:1px}
.hero-reviews .count{color:rgba(255,255,255,.65);font-size:13px}
.hero-reviews .google-badge{font-size:13px;font-weight:700;display:inline-flex;gap:0}
.hero-reviews .g-b{color:#4285F4}.hero-reviews .g-o{color:#EA4335}.hero-reviews .g-o2{color:#FBBC05}.hero-reviews .g-g{color:#34A853}.hero-reviews .g-l{color:#EA4335}.hero-reviews .g-e{color:#4285F4}

.hero-title{font-size:clamp(34px,5vw,68px);font-weight:900;line-height:1.05;letter-spacing:-.03em;color:white;margin-bottom:14px}
.hero-title .accent{color:#a855f7}
.hero-subtitle{font-size:clamp(15px,1.5vw,17px);color:rgba(255,255,255,.62);max-width:540px;line-height:1.7;margin-bottom:24px}
.hero-bullets{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:36px}
.hero-bullets li{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.82);font-size:15px}
.hero-bullets li::before{content:"☆";color:#a855f7;font-size:14px;flex-shrink:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.btn-wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:white;padding:14px 28px;font-size:14px;font-weight:700;border-radius:6px;transition:filter .3s,transform .25s}
.btn-wa:hover{filter:brightness(1.1);transform:translateY(-2px)}
.btn-call{display:inline-flex;align-items:center;gap:8px;background:#a855f7;color:white;padding:14px 28px;font-size:14px;font-weight:700;border-radius:6px;transition:filter .3s,transform .25s}
.btn-call:hover{filter:brightness(1.1);transform:translateY(-2px)}

.hero-right{display:flex;align-items:flex-start;justify-content:flex-end;position:relative}
.hero-illustration{position:absolute;bottom:-20px;left:-180px;width:240px;pointer-events:none;z-index:1}
.hero-illustration img{width:100%;height:auto;animation:float 4s ease-in-out infinite;filter:drop-shadow(0 16px 32px rgba(168,85,247,.35))}

.hero-form-card{width:320px;background:white;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.4);z-index:5;position:relative;animation:reveal-up .9s var(--ease) .3s both;flex-shrink:0}
.hero-form-header{background:#a855f7;color:white;padding:18px 24px;font-size:17px;font-weight:700;text-align:center}
.hero-form-body{padding:18px 20px 20px}
.hf-input{width:100%;border:1.5px solid #e5e7eb;border-radius:8px;padding:11px 14px;font-size:14px;color:#111;margin-bottom:12px;outline:none;transition:border-color .2s,box-shadow .2s;font-family:var(--font);background:#f9fafb;display:block}
.hf-input:focus{border-color:#a855f7;background:white;box-shadow:0 0 0 3px rgba(168,85,247,.12)}
.hf-input::placeholder{color:#9ca3af}
.hf-row{display:grid;grid-template-columns:80px 1fr;gap:8px;margin-bottom:12px}
.hf-flag{border:1.5px solid #e5e7eb;border-radius:8px;padding:11px 10px;font-size:14px;background:#f9fafb;display:flex;align-items:center;gap:6px;color:#374151;font-weight:600;flex-shrink:0}
.hf-submit{width:100%;background:#a855f7;color:white;padding:13px;border:none;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;transition:background .3s,transform .2s;font-family:var(--font);margin-top:2px}
.hf-submit:hover{background:#9333ea;transform:translateY(-1px)}

/* Marquee */
.marquee-bar{background:var(--fg);color:rgba(255,255,255,.4);padding:24px 0;border-top:1px solid rgba(255,255,255,.1);overflow:hidden;white-space:nowrap;margin-top:80px}
.marquee-inner{display:inline-flex;white-space:nowrap;animation:marquee 38s linear infinite}
.marquee-item{display:inline-flex;align-items:center;gap:48px;padding-right:48px;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.3em}
.marquee-sep{color:var(--brand)}

/* ============================================================
   SERVICES ICON GRID
   ============================================================ */
.services-icon-section{background:#fff;padding:80px 0 96px}
.services-icon-section .section-heading{text-align:center;font-size:clamp(22px,3vw,32px);font-weight:800;color:#1f2937;margin-bottom:56px;letter-spacing:-.02em}
.services-icon-grid{display:grid;grid-template-columns:repeat(5,1fr);row-gap:48px;column-gap:16px}
.svc-icon-card{display:flex;flex-direction:column;align-items:center;gap:16px;text-decoration:none;color:#374151;cursor:pointer;transition:transform .3s var(--ease)}
.svc-icon-card:hover{transform:translateY(-6px)}
.svc-icon-wrap{width:100px;height:100px;display:flex;align-items:center;justify-content:center}
.svc-icon-wrap svg{width:90px;height:90px;color:#a855f7;transition:filter .3s}
.svc-icon-card:hover .svc-icon-wrap svg{filter:drop-shadow(0 4px 12px rgba(168,85,247,.35))}
.svc-icon-label{font-size:14px;font-weight:600;color:#374151;text-align:center;line-height:1.4;max-width:130px}

/* ============================================================
   BEFORE/AFTER SLIDER
   ============================================================ */
.before-after-section{background:#f2f0ec}
.before-after-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:center}
.before-after-content h2{font-size:clamp(32px,4vw,48px);font-weight:700;letter-spacing:-.03em;margin-bottom:24px}
.before-after-content h2 span{font-style:italic;color:var(--brand)}
.before-after-content p{color:var(--muted);line-height:1.625;margin-bottom:24px}
.before-after-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.before-after-list li{display:flex;align-items:flex-start;gap:12px;font-size:14px}
.before-after-list li::before{content:"";width:6px;height:6px;background:var(--brand);flex-shrink:0;margin-top:8px}
.slider-wrap{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;user-select:none;cursor:ew-resize;background:var(--fg)}
.slider-after,.slider-before{position:absolute;inset:0;width:100%;height:100%}
.slider-after img,.slider-before img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slider-before{overflow:hidden}
.slider-label{position:absolute;top:16px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.25em;padding:6px 12px;backdrop-filter:blur(8px)}
.slider-label-before{left:16px;background:rgba(248,246,242,.85);color:var(--fg)}
.slider-label-after{right:16px;background:var(--brand);color:white}
.slider-divider{position:absolute;top:0;bottom:0;width:1px;background:white;box-shadow:0 0 0 1px rgba(0,0,0,.2);pointer-events:none}
.slider-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:white;color:var(--fg);box-shadow:0 10px 30px rgba(0,0,0,.25);display:grid;place-items:center;border:2px solid var(--brand);cursor:ew-resize;z-index:2}
.slider-hint{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:var(--muted);text-align:center;margin-top:16px}

/* Buttons */
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--fg);color:var(--bg);padding:16px 32px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;transition:background .3s}
.btn-primary:hover{background:var(--brand)}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;border:1.5px solid rgba(17,17,24,.2);transition:border-color .3s}
.btn-secondary:hover{border-color:var(--fg)}

/* ============================================================
   WHY SECTION
   ============================================================ */
.why-section{background:#f2f0ec}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}
.why-card{background:var(--bg);padding:32px 40px}
.why-num{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:var(--brand);margin-bottom:24px}
.why-title{font-size:18px;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.why-desc{font-size:14px;color:var(--muted);line-height:1.625}

/* ============================================================
   3-STEP PROCESS
   ============================================================ */
.process-new-section{background:#f8f9ff;padding:88px 0 96px;overflow:hidden}
.process-new-header{text-align:center;margin-bottom:72px}
.process-new-title{font-size:clamp(28px,4vw,48px);font-weight:800;color:#1e1b4b;letter-spacing:-.03em;margin-bottom:12px}
.process-title-accent{color:#a855f7}
.process-new-sub{color:#6b7280;font-size:16px;max-width:480px;margin:0 auto;line-height:1.7}
.process-new-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;opacity:1;transform:none;transition:opacity .9s cubic-bezier(0.16,1,0.3,1),transform .9s cubic-bezier(0.16,1,0.3,1)}.js-ready .process-new-row{opacity:0;transform:translateY(40px)}
.process-new-row.is-visible{opacity:1;transform:translateY(0)}
.process-new-row.reverse{direction:rtl}
.process-new-row.reverse > *{direction:ltr}
.process-circle-wrap{position:relative;width:420px;height:420px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.process-circle-wrap img{width:300px;height:300px;object-fit:cover;border-radius:50%;position:relative;z-index:2;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.process-circle-ring{position:absolute;inset:0;border-radius:50%;border:2px solid #a855f7;animation:ring-spin 12s linear infinite;opacity:.5}
.process-circle-ring::before{content:"";position:absolute;top:-6px;left:50%;width:12px;height:12px;background:#a855f7;border-radius:50%;transform:translateX(-50%)}
.process-circle-blob{position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(168,85,247,.12);z-index:1;animation:blob-pulse 4s ease-in-out infinite}
.process-step-bubble{position:absolute;bottom:60px;right:60px;width:52px;height:52px;background:#a855f7;color:white;border-radius:50%;font-size:20px;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:3;box-shadow:0 8px 24px rgba(168,85,247,.4);animation:float 3s ease-in-out infinite}
.process-new-text-col{padding:16px 0}
.process-step-tag{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.25em;color:#a855f7;margin-bottom:12px}
.process-step-title{font-size:clamp(28px,3.5vw,40px);font-weight:800;color:#1e1b4b;letter-spacing:-.03em;margin-bottom:14px;line-height:1.1}
.process-step-lead{font-size:16px;color:#374151;line-height:1.7;margin-bottom:20px;font-weight:500}
.process-step-bullets{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.process-step-bullets li{display:flex;align-items:center;gap:10px;font-size:14px;color:#4b5563}
.process-step-bullets li::before{content:"";width:8px;height:8px;border-radius:50%;background:#a855f7;flex-shrink:0}
.process-step-actions{display:flex;gap:12px;flex-wrap:wrap}
.proc-btn-wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:white;padding:12px 24px;border-radius:30px;font-weight:700;font-size:14px;transition:filter .3s,transform .25s}
.proc-btn-wa:hover{filter:brightness(1.1);transform:translateY(-2px)}
.proc-btn-call{display:inline-flex;align-items:center;background:#a855f7;color:white;padding:12px 24px;border-radius:30px;font-weight:700;font-size:14px;transition:filter .3s,transform .25s}
.proc-btn-call:hover{filter:brightness(1.1);transform:translateY(-2px)}
.proc-btn-book{display:inline-flex;align-items:center;background:#1e1b4b;color:white;padding:14px 32px;border-radius:30px;font-weight:700;font-size:14px;transition:background .3s,transform .25s}
.proc-btn-book:hover{background:#a855f7;transform:translateY(-2px)}
.process-connector{display:flex;justify-content:center;padding:24px 0}
.process-connector-line{width:2px;height:80px;background:linear-gradient(to bottom,#a855f7,#e0f2fe);border-radius:2px;transform-origin:top;animation:process-line 1s var(--ease) both}
.process-connector-line::after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:12px;height:12px;background:#0ea5e9;border-radius:50%}

/* ============================================================
   WHATSAPP BLOCK
   ============================================================ */
.wa-block{background:var(--fg);color:white;overflow:hidden;display:flex;flex-direction:row}
.wa-content{padding:80px;flex:1}
.wa-eyebrow{color:var(--brand);margin-bottom:24px}
.wa-title{font-size:clamp(36px,5vw,60px);font-weight:700;letter-spacing:-.04em;line-height:1;margin-bottom:32px}
.wa-title span{font-style:italic;font-weight:300;color:var(--brand)}
.wa-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin-bottom:48px;max-width:440px}
.wa-list li{display:flex;align-items:flex-start;gap:16px;font-size:14px}
.wa-list li::before{content:"";width:6px;height:6px;background:var(--brand);flex-shrink:0;margin-top:7px}
.btn-whatsapp{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:white;padding:16px 40px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.25em;transition:filter .3s,transform .3s}
.btn-whatsapp:hover{filter:brightness(1.1);transform:translateY(-2px)}
.wa-image-col{width:40%;position:relative;min-height:300px;flex-shrink:0}
.wa-image-col img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.wa-image-col::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,var(--fg),rgba(17,17,24,.4),transparent)}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testimonial-card{background:var(--bg);padding:40px;border:1px solid var(--border);display:flex;flex-direction:column;transition:border-color .5s}
.testimonial-card:hover{border-color:var(--brand)}
.testimonial-quote-icon{width:32px;height:32px;color:var(--brand);margin-bottom:24px}
blockquote{font-size:15px;line-height:1.7;margin-bottom:32px;flex:1}
.testimonial-author{font-weight:700;font-size:14px}
.testimonial-loc{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:var(--muted);margin-top:4px}

/* ============================================================
   AC MAINTENANCE DETAIL
   ============================================================ */
.ac-detail-section{background:#0f1035;color:white;padding:80px 0 60px}
.ac-detail-title{text-align:center;font-size:clamp(22px,3vw,36px);font-weight:700;margin-bottom:56px;color:white;letter-spacing:-.02em}
.ac-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 56px;align-items:center;margin-bottom:40px}
.ac-detail-img{border-radius:8px;overflow:hidden;aspect-ratio:4/3}
.ac-detail-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ac-detail-img:hover img{transform:scale(1.04)}
.ac-detail-list{list-style:none;display:flex;flex-direction:column;gap:14px;padding:0 8px}
.ac-detail-list li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:rgba(255,255,255,.85);line-height:1.5}
.ac-detail-list li::before{content:"•";color:#a855f7;font-size:18px;flex-shrink:0;line-height:1.3}
.ac-detail-note{text-align:center;font-size:15px;color:rgba(255,255,255,.6);max-width:820px;margin:0 auto;line-height:1.7;padding:24px 0 8px;border-top:1px solid rgba(255,255,255,.1)}

/* ============================================================
   SERVICE CARDS
   ============================================================ */
.svc-cards-section{background:#fff;padding:80px 0 88px}
.svc-cards-eyebrow{display:block;width:fit-content;text-align:center;font-size:11px;font-weight:700;letter-spacing:.15em;color:#e07b00;background:#fff7ed;padding:6px 16px;border-radius:20px;margin:0 auto 16px}
.svc-cards-title{text-align:center;font-size:clamp(22px,3vw,36px);font-weight:800;color:#e07b00;letter-spacing:-.02em;margin-bottom:12px}
.svc-cards-sub{text-align:center;color:#6b7280;font-size:15px;max-width:620px;margin:0 auto 48px;line-height:1.7}
.svc-cards-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.svc-card-new{background:#fff;border-radius:16px;padding:32px 20px;text-align:center;box-shadow:0 2px 16px rgba(0,0,0,.07);border:1px solid #f3f4f6;transition:transform .3s var(--ease),box-shadow .3s}
.svc-card-new:hover{transform:translateY(-6px);box-shadow:0 12px 32px rgba(0,0,0,.12)}
.svc-card-icon{font-size:40px;margin-bottom:16px;background:#e0f2fe;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.svc-card-name{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:10px;line-height:1.3}
.svc-card-desc{font-size:13px;color:#6b7280;line-height:1.6}

/* ============================================================
   BLOG
   ============================================================ */
.blog-section{background:#111;padding:80px 0 88px}
.blog-title{text-align:center;font-size:clamp(24px,3.5vw,40px);font-weight:800;color:#e07b00;letter-spacing:-.02em;margin-bottom:12px}
.blog-sub{text-align:center;color:rgba(255,255,255,.55);font-size:15px;max-width:640px;margin:0 auto 48px;line-height:1.7}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:#fff;border-radius:12px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.3)}
.blog-card-img{position:relative;aspect-ratio:16/9;overflow:hidden}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.blog-card:hover .blog-card-img img{transform:scale(1.05)}
.blog-cat{position:absolute;top:12px;right:12px;background:#1f2937;color:white;font-size:10px;font-weight:700;letter-spacing:.1em;padding:5px 10px;border-radius:20px}
.blog-card-body{padding:20px 20px 24px}
.blog-card-title{font-size:16px;font-weight:700;color:#1f2937;margin-bottom:10px;line-height:1.4}
.blog-card-desc{font-size:13px;color:#6b7280;line-height:1.65;margin-bottom:16px}
.blog-read-more{font-size:12px;font-weight:700;color:#1f2937;letter-spacing:.05em;display:block;margin-bottom:8px;transition:color .2s}
.blog-read-more:hover{color:#e07b00}
.blog-date{font-size:11px;color:#9ca3af}
.btn-read-more-blogs{display:inline-block;background:#e07b00;color:white;padding:14px 36px;font-weight:700;font-size:14px;border-radius:6px;transition:filter .3s,transform .2s}
.btn-read-more-blogs:hover{filter:brightness(1.1);transform:translateY(-2px)}

/* ============================================================
   FAQ
   ============================================================ */
.faq-new-section{background:#f5f5f0;padding:80px 0 96px}
.faq-new-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.faq-media-inner{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.faq-gif{width:100%;height:520px;object-fit:cover;display:block;transition:transform 8s ease}
.faq-media-inner:hover .faq-gif{transform:scale(1.04)}
.faq-media-badge{position:absolute;bottom:24px;left:24px;background:white;border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.faq-badge-icon{font-size:24px}
.faq-badge-title{font-weight:700;font-size:13px;color:#1f2937}
.faq-badge-sub{font-size:11px;color:#6b7280;margin-top:2px}
.faq-new-title{font-size:clamp(28px,3.5vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#1e1b4b;margin-bottom:32px}
.faq-new-list{display:flex;flex-direction:column;gap:0}
.faq-new-item{border-radius:0;overflow:hidden;margin-bottom:10px}
.faq-new-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:#0ea5e9;color:white;font-size:15px;font-weight:600;cursor:pointer;text-align:left;border:none;font-family:var(--font);transition:background .2s;border-radius:4px}
.faq-new-trigger:hover{background:#0284c7}
.faq-new-item.open .faq-new-trigger{background:#0284c7;border-radius:4px 4px 0 0}
.faq-new-arrow{flex-shrink:0;transition:transform .35s var(--ease);display:flex;align-items:center}
.faq-new-item.open .faq-new-arrow{transform:rotate(90deg)}
.faq-new-answer{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(0.16,1,0.3,1);background:white;border-radius:0 0 4px 4px}
.faq-new-item.open .faq-new-answer{max-height:300px}
.faq-new-answer p{padding:16px 20px 18px;font-size:14px;color:#4b5563;line-height:1.7}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--fg);color:white;padding:80px 0 40px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:64px;margin-bottom:64px}
.footer-brand p{color:rgba(255,255,255,.5);font-size:14px;line-height:1.7;margin-top:16px;margin-bottom:24px;max-width:320px}
.footer-social{display:flex;gap:12px}
.footer-social a{width:40px;height:40px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:background .3s;color:white}
.footer-social a:hover{background:var(--brand)}
.footer-social svg{width:16px;height:16px}
.footer-col h4{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:rgba(255,255,255,.4);margin-bottom:20px}
.footer-col ul{display:flex;flex-direction:column;gap:10px}
.footer-col ul li a{color:rgba(255,255,255,.7);font-size:14px;transition:color .3s}
.footer-col ul li a:hover{color:white}
.footer-contact p{color:rgba(255,255,255,.6);font-size:14px;line-height:1.7}
.footer-contact .highlight{color:white;font-weight:600}
.rule-accent{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:32px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.footer-bottom p{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.3)}
.footer-links{display:flex;gap:24px}
.footer-links a{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.3);transition:color .3s}
.footer-links a:hover{color:rgba(255,255,255,.7)}

/* ============================================================
   FLOATING BUTTONS — 4 buttons bottom right
   ============================================================ */
#floatingBtns{position:fixed;bottom:28px;right:22px;z-index:90;display:flex;flex-direction:column;align-items:center;gap:10px}
.flt-btn{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;text-decoration:none;box-shadow:0 3px 12px rgba(0,0,0,.22);transition:transform .25s cubic-bezier(0.16,1,0.3,1),box-shadow .25s;position:relative;flex-shrink:0}
.flt-btn:hover{transform:translateY(-3px) scale(1.08);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.flt-wa{background:#25d366;color:white}
.flt-wa::before{content:"";position:absolute;inset:0;border-radius:50%;background:#25d366;animation:ping 2.2s cubic-bezier(0,0,.2,1) infinite;z-index:-1}
.flt-call{background:var(--purple);color:white}
.flt-chat{background:#0ea5e9;color:white}
.flt-notif-dot{position:absolute;top:4px;right:4px;width:10px;height:10px;background:#ef4444;border-radius:50%;border:2px solid white}
.flt-top{background:#1e293b;color:white;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .3s,transform .3s}
.flt-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
/* Collapsible floating group */
.flt-group{display:flex;flex-direction:column;align-items:center;gap:10px}
.flt-main{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff}
.flt-sub{opacity:0;visibility:hidden;transform:scale(.4) translateY(12px);transition:opacity .25s,visibility .25s,transform .25s cubic-bezier(0.34,1.56,0.64,1);pointer-events:none;}
.flt-group.open .flt-sub{opacity:1;visibility:visible;transform:scale(1) translateY(0);pointer-events:auto;}
.flt-group.open .flt-sub:nth-child(1){transition-delay:.05s}
.flt-group.open .flt-sub:nth-child(2){transition-delay:.1s}
.flt-group.open .flt-sub:nth-child(3){transition-delay:.15s}
.flt-btn::after{content:attr(title);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:rgba(15,10,40,.85);color:white;font-size:11px;font-weight:600;padding:4px 10px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s;font-family:var(--font)}
.flt-btn:hover::after{opacity:1}

/* ============================================================
   CHAT BOX
   ============================================================ */
#chatBox{position:fixed;bottom:96px;right:22px;z-index:95;width:310px;background:white;border-radius:16px;box-shadow:0 8px 48px rgba(0,0,0,.18);overflow:hidden;display:none;flex-direction:column;max-height:480px;border:1px solid #e5e7eb}
#chatBox.open{display:flex}
.chat-header{background:linear-gradient(135deg,var(--purple),#a855f7);padding:14px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.chat-header-avatar{width:36px;height:36px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.chat-header-info{flex:1}
.chat-header-name{font-size:13px;font-weight:700;color:white}
.chat-header-status{font-size:11px;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:4px}
.chat-header-status::before{content:"";width:7px;height:7px;background:#4ade80;border-radius:50%;display:inline-block}
.chat-close-btn{background:rgba(255,255,255,.15);border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;color:white;display:flex;align-items:center;justify-content:center;transition:background .2s}
.chat-close-btn:hover{background:rgba(255,255,255,.25)}
.chat-messages{flex:1;overflow-y:auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:10px;background:#f8f9ff;min-height:200px;max-height:280px}
.chat-msg{max-width:86%;font-size:13px;line-height:1.5;padding:9px 12px;border-radius:12px}
.chat-msg.bot{background:white;color:#1f2937;border-bottom-left-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.07);align-self:flex-start}
.chat-msg.user{background:var(--purple);color:white;border-bottom-right-radius:3px;align-self:flex-end}
.chat-msg-time{font-size:10px;color:#94a3b8;margin-top:2px;padding:0 2px}
.chat-msg-time.right{text-align:right}
.chat-quick-replies{display:flex;flex-wrap:wrap;gap:6px;padding:8px 14px;background:#f8f9ff;border-top:1px solid #e5e7eb}
.chat-qr-btn{background:white;border:1.5px solid #c4b5fd;color:var(--purple);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font);transition:background .2s,color .2s;white-space:nowrap}
.chat-qr-btn:hover{background:var(--purple);color:white;border-color:var(--purple)}
.chat-input-row{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #e5e7eb;background:white;flex-shrink:0}
.chat-input{flex:1;border:1.5px solid #e5e7eb;border-radius:20px;padding:8px 14px;font-size:13px;font-family:var(--font);outline:none;color:#1f2937;transition:border-color .2s;background:#f8f9ff}
.chat-input:focus{border-color:#a855f7;background:white}
.chat-input::placeholder{color:#9ca3af}
.chat-send-btn{width:34px;height:34px;background:var(--purple);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .2s}
.chat-send-btn:hover{background:#6d28d9;transform:scale(1.08)}
.chat-send-btn svg{color:white}
.chat-typing{display:none;align-items:center;gap:4px;padding:8px 12px;background:white;border-radius:12px;border-bottom-left-radius:3px;width:fit-content;box-shadow:0 1px 4px rgba(0,0,0,.07)}
.chat-typing.show{display:flex}
.chat-typing span{width:6px;height:6px;background:#a855f7;border-radius:50%;animation:typing-dot 1.4s infinite}
.chat-typing span:nth-child(2){animation-delay:.2s}
.chat-typing span:nth-child(3){animation-delay:.4s}

/* ============================================================
   LANGUAGE SWITCHER — bottom left
   ============================================================ */
.float-lang-wrap{position:fixed;bottom:28px;left:24px;z-index:91}
.float-lang{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#1e1b4b,#4338ca);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(99,102,241,.4);animation:glow-pulse 2.5s ease-in-out infinite;transition:transform .3s cubic-bezier(0.16,1,0.3,1);overflow:hidden;}
.float-lang:hover{transform:scale(1.12)}
.lang-flag-active{font-size:26px;line-height:1;display:block;}
.lang-menu{position:absolute;bottom:64px;left:0;background:white;border-radius:14px;box-shadow:0 8px 40px rgba(0,0,0,.18),0 0 0 1px rgba(99,102,241,.1);padding:6px;min-width:170px;opacity:0;visibility:hidden;transform:translateY(12px) scale(.94);transform-origin:bottom left;transition:opacity .25s cubic-bezier(0.16,1,0.3,1),transform .25s cubic-bezier(0.16,1,0.3,1),visibility .25s}
.lang-menu.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.lang-menu-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:#9ca3af;padding:8px 12px 4px;font-family:var(--mono)}
.lang-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:600;color:#1f2937;background:none;border:none;cursor:pointer;font-family:var(--font);transition:background .15s;text-align:left;border-radius:8px}
.lang-option:hover{background:#f5f3ff;color:#7c3aed}
.lang-option.active{background:#f5f3ff;color:#7c3aed}
.lang-option .lang-check{margin-left:auto;color:#7c3aed;font-size:16px;opacity:0}
.lang-option.active .lang-check{opacity:1}
.lang-flag{font-size:22px}
.lang-name{flex:1}
.lang-native{font-size:11px;color:#9ca3af;font-weight:400;display:block}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */
.page-hero{padding-top:140px;padding-bottom:80px;background:var(--fg);color:white;position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;inset:0;opacity:.05;background-image:radial-gradient(circle at 1px 1px,white 1px,transparent 0);background-size:40px 40px;pointer-events:none}
.page-hero .eyebrow{position:relative;z-index:1;color:var(--brand);margin-bottom:16px}
.page-hero h1{position:relative;z-index:1;font-size:clamp(40px,6vw,80px);font-weight:900;letter-spacing:-.05em;line-height:.9;margin-bottom:24px;display:block}
.page-hero p{position:relative;z-index:1;color:rgba(255,255,255,.7);font-size:17px;max-width:540px;line-height:1.6}
.breadcrumb{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em;margin-bottom:32px;position:relative;z-index:1}
.breadcrumb a{color:rgba(255,255,255,.5);transition:color .3s}
.breadcrumb a:hover{color:white}
.breadcrumb span{color:rgba(255,255,255,.3)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1100px){
  .nav-links,.header-cta{display:none}
  .hamburger{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:48px}
  .hero-illustration{display:none}
  .hero-form-card{width:100%;max-width:400px}
  .process-new-row,.process-new-row.reverse{grid-template-columns:1fr;direction:ltr;gap:32px}
  .process-circle-wrap{width:300px;height:300px}
  .process-circle-wrap img{width:220px;height:220px}
  .before-after-grid{grid-template-columns:1fr}
  .wa-block{flex-direction:column}
  .wa-image-col{width:100%;min-height:240px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:768px){
  .hero-grid{padding:40px 20px 60px}
  .services-icon-grid{grid-template-columns:repeat(3,1fr)}
  .svc-cards-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:1fr}
  .testimonials-grid{grid-template-columns:1fr}
  .faq-new-grid{grid-template-columns:1fr;gap:40px}
  .faq-gif{height:320px}
  .ac-detail-grid{grid-template-columns:1fr}
  .blog-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .wa-content{padding:40px 24px}
}
@media (max-width:480px){
  .services-icon-grid{grid-template-columns:repeat(2,1fr)}
  .svc-cards-grid{grid-template-columns:repeat(2,1fr)}
  .hero-right{flex-direction:column}
  #floatingBtns{bottom:20px;right:16px;gap:8px}
  .flt-btn{width:46px;height:46px}
  #chatBox{right:14px;width:calc(100vw - 28px);max-width:310px;bottom:80px}
  .flt-btn::after{display:none}
  .float-lang-wrap{bottom:20px;left:16px}
  .float-lang{width:48px;height:48px}
}

/* ============================================================
   MANIFESTO SECTION
   ============================================================ */
.manifesto-section {
  position: relative;
  background: #0f1035;
  color: white;
  padding: 96px 0 112px;
  overflow: hidden;
}
.manifesto-dots {
  position: absolute;
  inset: 0;
  opacity: .05;
  background-image: radial-gradient(circle at 1px 1px, white 1px, transparent 0);
  background-size: 40px 40px;
  pointer-events: none;
}
.manifesto-eyebrow {
  color: var(--brand);
  margin-bottom: 32px;
  display: block;
}
.manifesto-title {
  font-size: clamp(32px, 5.5vw, 80px);
  font-weight: 900;
  letter-spacing: -.04em;
  line-height: .95;
  color: white;
  margin-bottom: 64px;
  max-width: 1100px;
}
.manifesto-title em,
.manifesto-title .highlight {
  font-style: italic;
  font-weight: 300;
  color: #a855f7;
}
.kinetic-word {
  display: inline-block;
  opacity: 0;
  transform: translateY(30%) rotate(2deg);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}
.kinetic-word.is-visible {
  opacity: 1;
  transform: translateY(0) rotate(0);
}
.manifesto-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  border-top: 1px solid rgba(255,255,255,.1);
  padding-top: 40px;
  margin-top: 0;
}
.manifesto-point {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.manifesto-num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .3em;
  color: #a855f7;
  flex-shrink: 0;
  padding-top: 3px;
}
.manifesto-text {
  font-size: 14px;
  color: rgba(255,255,255,.7);
  line-height: 1.65;
}

@media (max-width: 768px) {
  .manifesto-title { font-size: clamp(28px, 8vw, 52px); }
  .manifesto-points { grid-template-columns: 1fr; }
}

/* ============================================================
   ARABIC / RTL SUPPORT
   ============================================================ */
html[lang="ar"] body {
  font-family: 'Cairo', 'Inter', system-ui, sans-serif;
}
html[dir="rtl"] .hero-grid,
html[dir="rtl"] .before-after-grid,
html[dir="rtl"] .faq-new-grid,
html[dir="rtl"] .process-new-row {
  direction: rtl;
}
html[dir="rtl"] .process-new-row.reverse {
  direction: ltr;
}
html[dir="rtl"] .hero-illustration {
  left: auto;
  right: -180px;
}
html[dir="rtl"] .nav-links {
  direction: rtl;
}
html[dir="rtl"] .mobile-menu {
  right: auto;
  left: 0;
  transform: translateX(-100%);
}
html[dir="rtl"] .mobile-menu.open {
  transform: translateX(0);
}
html[dir="rtl"] .mob-nav-item.active::before {
  left: auto;
  right: 0;
  border-radius: 2px 0 0 2px;
}
html[dir="rtl"] .mob-acc-panel a {
  padding-left: 20px;
  padding-right: 60px;
}
html[dir="rtl"] .mob-acc-panel a::before {
  left: auto;
  right: 48px;
}
html[dir="rtl"] .footer-grid {
  direction: rtl;
}
html[dir="rtl"] .hero-form-card,
html[dir="rtl"] .hero-right {
  direction: rtl;
}
html[dir="rtl"] #chatBox {
  right: auto;
  left: 22px;
}
html[dir="rtl"] #floatingBtns {
  right: 22px;
  left: auto;
}
html[dir="rtl"] .float-lang-wrap {
  left: auto;
  right: 24px;
}
html[dir="rtl"] .lang-menu {
  left: auto;
  right: 0;
  transform-origin: bottom right;
}
html[dir="rtl"] .flt-btn::after {
  right: auto;
  left: calc(100% + 10px);
}

/* Language switch transition */
[data-i18n], [data-i18n-ph] {
  transition: opacity .25s;
}
.lang-switching [data-i18n],
.lang-switching [data-i18n-ph] {
  opacity: 0;
}

/* ============================================================
   NAV SUB-DROPDOWN FIX
   ============================================================ */
.dd-item.has-sub { position: relative; cursor: pointer; }
.dd-item.has-sub > .nav-sub-dropdown {
  display: block;
  position: absolute;
  top: 0; left: 100%;
  min-width: 200px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-top: 3px solid var(--purple);
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
  z-index: 52;
  opacity: 0; visibility: hidden;
  transform: translateX(6px);
  transition: opacity .2s, transform .2s, visibility .2s;
  pointer-events: none;
}
.dd-item.has-sub:hover > .nav-sub-dropdown {
  opacity: 1; visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}

/* ============================================================
   SERVICE PAGES — Octopus style
   ============================================================ */

/* Hero */
.svc-hero {
  background: linear-gradient(135deg, #0f1035 0%, #1a1060 100%);
  padding: 100px 0 60px;
  position: relative;
  overflow: hidden;
  color: white;
}
.svc-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}
.svc-hero-grid {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 48px;
  align-items: center;
  position: relative; z-index: 1;
}
.svc-hero-badge {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.15);
  padding: 6px 14px; border-radius: 30px;
  font-size: 12px; font-weight: 600; color: rgba(255,255,255,.8);
  margin-bottom: 20px;
}
.svc-hero-badge span { color: #fbbf24; }
.svc-hero h1 {
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 900; line-height: 1.05;
  letter-spacing: -.03em; margin-bottom: 16px;
}
.svc-hero h1 .accent { color: #a855f7; }
.svc-hero-sub {
  font-size: 16px; color: rgba(255,255,255,.7);
  line-height: 1.7; max-width: 520px; margin-bottom: 28px;
}
.svc-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.svc-hero-bullets {
  list-style: none; display: flex; flex-direction: column; gap: 8px;
}
.svc-hero-bullets li {
  display: flex; align-items: center; gap: 10px;
  font-size: 14px; color: rgba(255,255,255,.8);
}
.svc-hero-bullets li::before {
  content: "✓"; color: #4ade80; font-weight: 700; flex-shrink: 0;
}

/* Hero right: stats card */
.svc-hero-card {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px;
  padding: 32px;
}
.svc-hero-stats {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 1px; background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 12px; overflow: hidden; margin-bottom: 24px;
}
.svc-stat-item {
  background: rgba(255,255,255,.05);
  padding: 20px 16px; text-align: center;
}
.svc-stat-num {
  font-size: 28px; font-weight: 900;
  letter-spacing: -.03em; color: white; line-height: 1;
}
.svc-stat-lbl {
  font-size: 11px; color: rgba(255,255,255,.5);
  margin-top: 4px; line-height: 1.3;
}
.svc-trust-logos {
  display: flex; align-items: center; justify-content: center;
  gap: 16px; flex-wrap: wrap; padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.1);
}
.svc-trust-logos span {
  font-size: 11px; font-weight: 700;
  color: rgba(255,255,255,.4);
  text-transform: uppercase; letter-spacing: .1em;
}

/* Sub-services grid */
.sub-svc-section { background: #fff; padding: 64px 0; }
.sub-svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.sub-svc-card {
  border: 1.5px solid #e5e7eb;
  border-radius: 12px; padding: 28px;
  transition: border-color .3s, box-shadow .3s, transform .3s;
  cursor: pointer; text-decoration: none; display: block; color: inherit;
}
.sub-svc-card:hover {
  border-color: #a855f7;
  box-shadow: 0 8px 32px rgba(168,85,247,.12);
  transform: translateY(-4px);
}
.sub-svc-icon {
  width: 52px; height: 52px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 26px; margin-bottom: 16px;
}
.sub-svc-title { font-size: 16px; font-weight: 700; margin-bottom: 8px; color: #1e293b; }
.sub-svc-desc { font-size: 13px; color: #6b7280; line-height: 1.6; }

/* Why choose section */
.why-svc-section { background: #f8f9ff; padding: 64px 0; }
.why-svc-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
}
.why-svc-card {
  background: #fff; border-radius: 12px; padding: 28px 24px;
  border: 1px solid #e5e7eb; text-align: center;
  transition: box-shadow .3s, transform .3s;
}
.why-svc-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-3px); }
.why-svc-icon {
  font-size: 36px; margin-bottom: 16px;
  width: 64px; height: 64px; background: #f3f0ff;
  border-radius: 50%; display: flex;
  align-items: center; justify-content: center; margin: 0 auto 16px;
}
.why-svc-title { font-size: 15px; font-weight: 700; margin-bottom: 8px; color: #1e293b; }
.why-svc-desc { font-size: 13px; color: #6b7280; line-height: 1.6; }

/* Brands strip */
.brands-section {
  background: #fff; padding: 32px 0;
  border-top: 1px solid #f1f5f9;
  border-bottom: 1px solid #f1f5f9;
}
.brands-label {
  text-align: center; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .2em;
  color: #94a3b8; margin-bottom: 20px;
}
.brands-grid {
  display: flex; align-items: center; justify-content: center;
  gap: 32px; flex-wrap: wrap;
}
.brand-item {
  font-size: 18px; font-weight: 900;
  color: #cbd5e1; letter-spacing: .05em;
  transition: color .2s;
}
.brand-item:hover { color: #7c3aed; }

/* Signs section */
.signs-section { background: #fff; padding: 64px 0; }
.signs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.sign-card {
  background: #faf5ff; border: 1.5px solid #e9d5ff;
  border-radius: 12px; padding: 24px;
}
.sign-title { font-size: 15px; font-weight: 700; color: #1e293b; margin-bottom: 8px; }
.sign-desc { font-size: 13px; color: #6b7280; line-height: 1.6; }

/* Areas section */
.areas-section { background: #f8f9ff; padding: 64px 0; }
.areas-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.area-item {
  background: #fff; border: 1px solid #e5e7eb;
  border-radius: 8px; padding: 14px 16px;
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600; color: #374151;
  transition: background .2s, color .2s, border-color .2s;
}
.area-item:hover { background: #f5f3ff; color: #7c3aed; border-color: #c4b5fd; }
.area-item::before {
  content: "📍"; font-size: 14px; flex-shrink: 0;
}

/* FAQ svc */
.faq-svc-section { background: #fff; padding: 64px 0; }
.faq-svc-item { border-bottom: 1px solid #f1f5f9; }
.faq-svc-trigger {
  width: 100%; display: flex; align-items: center;
  justify-content: space-between; gap: 16px;
  padding: 20px 0; font-size: 15px; font-weight: 600;
  color: #1e293b; background: none; border: none;
  cursor: pointer; text-align: left; font-family: var(--font);
  transition: color .2s;
}
.faq-svc-trigger:hover { color: #7c3aed; }
.faq-svc-item.open .faq-svc-trigger { color: #7c3aed; }
.faq-svc-chevron {
  flex-shrink: 0; color: #94a3b8;
  transition: transform .35s;
}
.faq-svc-item.open .faq-svc-chevron { transform: rotate(180deg); color: #7c3aed; }
.faq-svc-answer {
  max-height: 0; overflow: hidden;
  transition: max-height .4s cubic-bezier(0.16,1,0.3,1);
}
.faq-svc-item.open .faq-svc-answer { max-height: 300px; }
.faq-svc-answer p {
  padding: 0 0 20px;
  font-size: 14px; color: #4b5563; line-height: 1.7;
}

/* Get quote + need help combined section */
.svc-cta-section {
  background: linear-gradient(135deg, #0f1035, #1a1060);
  padding: 64px 0; color: white;
}
.svc-cta-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
}
.svc-cta-content h2 {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 800; letter-spacing: -.03em;
  margin-bottom: 16px; line-height: 1.1;
}
.svc-cta-content p { color: rgba(255,255,255,.7); font-size: 15px; line-height: 1.7; margin-bottom: 24px; }
.svc-quote-form {
  background: white; border-radius: 16px;
  padding: 28px; box-shadow: 0 20px 60px rgba(0,0,0,.3);
}
.svc-quote-form h3 {
  font-size: 18px; font-weight: 800; color: #1e293b;
  margin-bottom: 20px; text-align: center;
}
.svc-form-input {
  width: 100%; border: 1.5px solid #e5e7eb;
  border-radius: 8px; padding: 11px 14px;
  font-size: 14px; color: #111;
  margin-bottom: 12px; outline: none;
  transition: border-color .2s;
  font-family: var(--font); background: #f9fafb;
}
.svc-form-input:focus { border-color: #a855f7; background: white; }
.svc-form-input::placeholder { color: #9ca3af; }
.svc-form-select {
  width: 100%; border: 1.5px solid #e5e7eb;
  border-radius: 8px; padding: 11px 14px;
  font-size: 14px; color: #374151;
  margin-bottom: 12px; outline: none;
  font-family: var(--font); background: #f9fafb;
  cursor: pointer;
  -webkit-appearance: none;
}
.svc-form-select:focus { border-color: #a855f7; }
.svc-form-btn {
  width: 100%; background: #7c3aed;
  color: white; padding: 13px;
  border: none; border-radius: 8px;
  font-size: 15px; font-weight: 700;
  cursor: pointer; font-family: var(--font);
  transition: background .3s; margin-bottom: 12px;
}
.svc-form-btn:hover { background: #6d28d9; }
.svc-form-wa {
  width: 100%; background: #25d366;
  color: white; padding: 12px;
  border: none; border-radius: 8px;
  font-size: 14px; font-weight: 700;
  cursor: pointer; font-family: var(--font);
  display: flex; align-items: center;
  justify-content: center; gap: 8px;
  transition: filter .3s; text-decoration: none;
}
.svc-form-wa:hover { filter: brightness(1.08); }

/* Section headings */
.svc-section-heading {
  font-size: clamp(24px, 3.5vw, 36px);
  font-weight: 800; letter-spacing: -.02em;
  color: #1e293b; margin-bottom: 8px;
}
.svc-section-heading .accent { color: #7c3aed; }
.svc-section-sub {
  font-size: 15px; color: #6b7280;
  line-height: 1.7; max-width: 600px;
  margin-bottom: 40px;
}
.svc-section-center { text-align: center; }
.svc-section-center .svc-section-sub { margin-left: auto; margin-right: auto; }

/* Responsive */
@media (max-width: 900px) {
  .svc-hero-grid { grid-template-columns: 1fr; }
  .svc-hero-card { display: none; }
  .sub-svc-grid { grid-template-columns: 1fr 1fr; }
  .why-svc-grid { grid-template-columns: 1fr 1fr; }
  .signs-grid { grid-template-columns: 1fr 1fr; }
  .areas-grid { grid-template-columns: 1fr 1fr; }
  .svc-cta-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .sub-svc-grid,
  .why-svc-grid,
  .signs-grid { grid-template-columns: 1fr; }
  .areas-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   RENOVATION PAGES — Extended Octopus-style
   ============================================================ */

/* Gallery Grid */
.reno-gallery-section { background: #fff; padding: 64px 0; }
.reno-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 32px;
}
.reno-gallery-item {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 12px;
  background: #f3f4f6;
}
.reno-gallery-item.large {
  grid-column: span 2;
  aspect-ratio: 16/7;
}
.reno-gallery-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.reno-gallery-item:hover img { transform: scale(1.05); }
.reno-gallery-label {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 20px 16px 14px;
  background: linear-gradient(transparent, rgba(0,0,0,.65));
  color: white; font-size: 13px; font-weight: 700;
  border-radius: 0 0 12px 12px;
}

/* Top-rated strip */
.reno-toprated {
  background: #f8f9ff;
  padding: 64px 0;
}
.reno-toprated-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}
.reno-toprated-img {
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 4/3;
}
.reno-toprated-img img { width: 100%; height: 100%; object-fit: cover; }
.reno-toprated-content h2 {
  font-size: clamp(26px, 3.5vw, 40px);
  font-weight: 800; letter-spacing: -.02em;
  color: #1e293b; margin-bottom: 16px; line-height: 1.2;
}
.reno-toprated-content h2 .accent { color: #7c3aed; }
.reno-toprated-content p {
  color: #6b7280; font-size: 15px;
  line-height: 1.75; margin-bottom: 24px;
}
.reno-check-list {
  list-style: none;
  display: flex; flex-direction: column; gap: 10px;
  margin-bottom: 28px;
}
.reno-check-list li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 14px; color: #374151;
}
.reno-check-list li::before {
  content: "✓"; color: #7c3aed;
  font-weight: 800; flex-shrink: 0; margin-top: 1px;
}

/* Process section */
.reno-process-section { background: #fff; padding: 64px 0; }
.reno-process-steps {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  position: relative;
  margin-top: 48px;
}
.reno-process-steps::before {
  content: "";
  position: absolute;
  top: 32px; left: 10%; right: 10%;
  height: 2px;
  background: linear-gradient(to right, #7c3aed, #a855f7);
  z-index: 0;
}
.reno-step {
  display: flex; flex-direction: column;
  align-items: center; text-align: center;
  padding: 0 12px; position: relative; z-index: 1;
}
.reno-step-num {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: white; font-size: 22px; font-weight: 900;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
  box-shadow: 0 4px 16px rgba(124,58,237,.3);
}
.reno-step-title { font-size: 13px; font-weight: 700; color: #1e293b; margin-bottom: 6px; }
.reno-step-desc  { font-size: 12px; color: #6b7280; line-height: 1.5; }

/* Brands section */
.reno-brands-section { background: #f8f9ff; padding: 48px 0; }
.reno-brands-title {
  text-align: center; font-size: 20px; font-weight: 700;
  color: #1e293b; margin-bottom: 32px; letter-spacing: -.01em;
}
.reno-brands-grid {
  display: flex; align-items: center;
  justify-content: center; gap: 40px; flex-wrap: wrap;
}
.reno-brand-logo {
  font-size: 20px; font-weight: 900;
  color: #94a3b8; letter-spacing: .05em;
  transition: color .2s;
}
.reno-brand-logo:hover { color: #7c3aed; }

/* Stats bar */
.reno-stats-bar {
  background: linear-gradient(135deg, #0f1035, #1a1060);
  padding: 40px 0;
  color: white;
}
.reno-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px; background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.1);
}
.reno-stat-box {
  background: rgba(255,255,255,.05);
  padding: 24px; text-align: center;
}
.reno-stat-num {
  font-size: 36px; font-weight: 900;
  letter-spacing: -.03em; color: white; line-height: 1;
}
.reno-stat-lbl {
  font-size: 11px; color: rgba(255,255,255,.5);
  margin-top: 6px; text-transform: uppercase; letter-spacing: .1em;
}

/* Sub-service visual cards */
.reno-sub-card {
  border: 1.5px solid #e5e7eb;
  border-radius: 12px; overflow: hidden;
  transition: border-color .3s, box-shadow .3s, transform .3s;
  text-decoration: none; display: block; color: inherit;
}
.reno-sub-card:hover {
  border-color: #a855f7;
  box-shadow: 0 8px 32px rgba(168,85,247,.12);
  transform: translateY(-4px);
}
.reno-sub-card-img {
  height: 180px; position: relative;
  background: linear-gradient(135deg, #1e1b4b, #312e81);
  overflow: hidden;
}
.reno-sub-card-img img {
  width: 100%; height: 100%; object-fit: cover;
  opacity: .85; transition: transform .5s, opacity .3s;
}
.reno-sub-card:hover .reno-sub-card-img img { transform: scale(1.05); opacity: 1; }
.reno-sub-card-emoji {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  font-size: 52px; line-height: 1;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.3));
}
.reno-sub-card-body { padding: 20px; }
.reno-sub-card-title { font-size: 16px; font-weight: 700; color: #1e293b; margin-bottom: 8px; }
.reno-sub-card-desc  { font-size: 13px; color: #6b7280; line-height: 1.6; }

@media (max-width: 900px) {
  .reno-gallery-grid { grid-template-columns: 1fr 1fr; }
  .reno-gallery-item.large { grid-column: span 2; }
  .reno-toprated-grid { grid-template-columns: 1fr; gap: 32px; }
  .reno-process-steps { grid-template-columns: 1fr 1fr; gap: 24px; }
  .reno-process-steps::before { display: none; }
  .reno-stats-row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .reno-gallery-grid { grid-template-columns: 1fr; }
  .reno-gallery-item.large { grid-column: span 1; aspect-ratio: 4/3; }
  .reno-process-steps { grid-template-columns: 1fr; }
}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:64px}
.contact-info h1{font-size:clamp(36px,5vw,60px);font-weight:900;letter-spacing:-.05em;margin-bottom:24px}
.contact-info p{color:var(--muted);line-height:1.7;margin-bottom:32px}
.contact-detail{display:flex;flex-direction:column;gap:20px;margin-bottom:40px}
.contact-detail-item{display:flex;gap:16px;align-items:flex-start}
.contact-detail-icon{width:40px;height:40px;background:rgba(0,106,138,.1);display:grid;place-items:center;flex-shrink:0;border-radius:8px}
.contact-detail-icon svg{width:18px;height:18px;color:var(--brand)}
.contact-detail-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted);margin-bottom:4px}
.contact-detail-value{font-weight:600;font-size:15px}
.contact-form-wrap{background:white;padding:40px;border:1px solid var(--border);border-radius:12px}
.form-group{margin-bottom:20px}
.form-label{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em;margin-bottom:8px;color:var(--fg);font-weight:700}
.form-input,.form-select,.form-textarea{width:100%;background:var(--bg);border:1.5px solid var(--border);padding:12px 16px;font-size:15px;font-family:var(--font);color:var(--fg);transition:border-color .3s;outline:none;border-radius:8px;-webkit-appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--purple)}
.form-textarea{resize:vertical;min-height:120px}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.btn-submit{width:100%;background:var(--purple);color:white;padding:14px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border:none;font-family:var(--font);border-radius:8px;transition:background .3s}
.btn-submit:hover{background:#6d28d9}
.form-success{display:none;padding:16px;background:rgba(0,106,138,.08);border:1px solid rgba(0,106,138,.2);color:var(--brand);font-size:14px;margin-top:16px;border-radius:8px}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-hero-grid{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:center}
.about-image{aspect-ratio:4/3;overflow:hidden;border-radius:12px}
.about-image img{width:100%;height:100%;object-fit:cover}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.team-card{border:1px solid var(--border);padding:28px;border-radius:12px}
.team-role{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--brand);margin-bottom:8px}
.team-name{font-size:20px;font-weight:700;margin-bottom:12px}
.team-desc{font-size:13px;color:var(--muted);line-height:1.6}
.section-header{margin-bottom:56px}
.section-title{font-size:clamp(28px,4vw,48px);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.section-title .italic{font-style:italic;color:var(--brand)}
.section-header-split{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px}
.section-sub{color:var(--muted);font-size:15px;line-height:1.7;max-width:360px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}
.stat-card{background:var(--bg);padding:32px}
.stat-value{font-size:clamp(36px,5vw,60px);font-weight:900;letter-spacing:-.04em;line-height:1;margin-bottom:8px}
.stat-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:var(--muted)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}
.trust-card{background:var(--bg);padding:28px;display:flex;flex-direction:column;gap:10px}
.trust-icon{font-size:24px;color:var(--brand);line-height:1}
.trust-title{font-size:15px;font-weight:700;letter-spacing:-.01em}
.trust-sub{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}

/* ============================================================
   GALLERY PAGE
   ============================================================ */
.gallery-section-title{text-align:center;font-size:clamp(24px,3vw,38px);font-weight:700;color:#e07b00;margin-bottom:40px;letter-spacing:-.02em}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.gallery-item{aspect-ratio:4/3;overflow:hidden;background:var(--fg);position:relative;cursor:zoom-in}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),filter .5s;filter:grayscale(20%)}
.gallery-item:hover img{transform:scale(1.05);filter:grayscale(0)}
.gallery-ba-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}
.gallery-ba-item{position:relative;aspect-ratio:3/2;overflow:hidden;background:#f3f4f6}
.gallery-ba-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.gallery-ba-item:hover img{transform:scale(1.06)}
.gallery-ba-label{position:absolute;top:8px;left:8px;font-size:10px;font-weight:800;letter-spacing:.12em;padding:4px 8px;border-radius:3px;text-transform:uppercase}
.gallery-ba-label.before{background:#e07b00;color:white}
.gallery-ba-label.after{background:#1d4ed8;color:white}
.gallery-dots{display:flex;justify-content:center;gap:8px;margin-top:20px}
.gallery-dot{width:32px;height:6px;border-radius:3px;background:#d1d5db;border:none;cursor:pointer;transition:background .3s,width .3s;padding:0}
.gallery-dot.active{background:#e07b00;width:48px}
.gallery-arrows{display:flex;justify-content:center;gap:12px;margin-top:16px}
.gallery-arrow{width:44px;height:44px;border:1.5px solid #d1d5db;background:white;border-radius:50%;cursor:pointer;font-size:16px;transition:background .2s,border-color .2s;display:flex;align-items:center;justify-content:center}
.gallery-arrow:hover{background:#f9fafb;border-color:#6b7280}

/* Section padding helpers */
.section{padding:80px 0}
.section-lg{padding:96px 0}

/* Responsive fixes */
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr}
  .about-hero-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr 1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .form-grid-2{grid-template-columns:1fr}
  .section-header-split{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
  .team-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-ba-grid{grid-template-columns:repeat(2,1fr)}
  .contact-form-wrap{padding:24px}
}

/* ============================================================
   VIDEO SECTION
   ============================================================ */
.video-section {
  background: #0f1035;
  padding: 72px 0 80px;
}
.video-section-header {
  text-align: center;
  margin-bottom: 40px;
}
.video-section-title {
  font-size: clamp(26px, 4vw, 44px);
  font-weight: 800;
  color: white;
  letter-spacing: -.03em;
  line-height: 1.1;
}
.video-section-title .accent { color: #a855f7; }

/* Video wrapper */
.video-wrap {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  border-radius: 16px;
  overflow: hidden;
  aspect-ratio: 16/9;
  background: #1e1b4b;
  box-shadow: 0 24px 64px rgba(0,0,0,.5);
  /* Required for absolute iframe positioning */
  padding-top: 0;
}
/* iframe fills wrapper */
.video-wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
  border-radius: 16px;
}

/* Actual video */
.home-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Hide video element when no source */
.home-video:not([src]):not([data-src]) {
  display: none;
}

/* Placeholder */
.video-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0f1035 0%, #1a1060 50%, #2d1b69 100%);
  z-index: 2;
}
.video-placeholder.hidden { display: none; }
.video-placeholder-inner {
  text-align: center;
  padding: 32px;
}
.video-play-icon {
  font-size: 56px;
  margin-bottom: 20px;
  opacity: .4;
  line-height: 1;
}
.video-placeholder-title {
  font-size: 20px;
  font-weight: 700;
  color: white;
  margin-bottom: 10px;
}
.video-placeholder-sub {
  font-size: 13px;
  color: rgba(255,255,255,.5);
  line-height: 1.6;
  margin-bottom: 4px;
}
.video-placeholder-sub code {
  background: rgba(255,255,255,.1);
  padding: 2px 8px;
  border-radius: 4px;
  font-family: var(--mono);
  font-size: 12px;
  color: #a855f7;
}

/* Controls overlay */
.video-overlay-controls {
  position: absolute;
  bottom: 16px;
  left: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 3;
  pointer-events: none;
}
.video-mute-btn {
  pointer-events: auto;
  width: 36px; height: 36px;
  background: rgba(0,0,0,.5);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  color: white;
  font-size: 16px;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
  flex-shrink: 0;
}
.video-mute-btn:hover { background: rgba(0,0,0,.7); }
.video-label {
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,.5);
  font-family: var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .video-wrap { border-radius: 10px; }
}

/* ============================================================
   BLOG ARTICLE PAGE
   ============================================================ */
.article-layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 48px;
  align-items: start;
}
.article-body {
  background: white;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(0,0,0,.06);
}
.article-hero-img {
  width: 100%; aspect-ratio: 16/7; overflow: hidden;
}
.article-hero-img img {
  width: 100%; height: 100%; object-fit: cover;
}
.article-intro {
  font-size: 18px; font-weight: 500;
  color: #374151; line-height: 1.75;
  padding: 32px 40px 0;
  border-left: 4px solid #7c3aed;
  margin: 32px 40px 0;
  background: #faf5ff;
  padding: 20px 24px;
  border-radius: 0 8px 8px 0;
}
.article-h2 {
  font-size: 22px; font-weight: 800;
  color: #1e293b; letter-spacing: -.02em;
  margin: 36px 40px 12px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f1f5f9;
}
.article-p {
  font-size: 15px; color: #4b5563;
  line-height: 1.8; margin: 0 40px 8px;
}
.article-tags {
  display: flex; flex-wrap: wrap; gap: 8px;
  padding: 32px 40px;
  border-top: 1px solid #f1f5f9;
  margin-top: 24px;
}
.article-tag {
  background: #f1f5f9; color: #475569;
  font-size: 12px; font-weight: 600;
  padding: 5px 12px; border-radius: 20px;
  transition: background .2s, color .2s;
}
.article-tag:hover { background: #f5f3ff; color: #7c3aed; }
.article-cta-box {
  background: linear-gradient(135deg, #0f1035, #1a1060);
  margin: 0 40px 40px;
  border-radius: 12px; padding: 28px;
  display: flex; align-items: center;
  justify-content: space-between; gap: 20px;
  flex-wrap: wrap;
}
.article-cta-label {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .15em;
  color: #a855f7; margin-bottom: 6px;
}
.article-cta-title {
  font-size: 18px; font-weight: 800;
  color: white; margin-bottom: 6px;
}
.article-cta-sub {
  font-size: 13px; color: rgba(255,255,255,.6);
}
.article-cta-btns {
  display: flex; gap: 10px; flex-wrap: wrap; flex-shrink: 0;
}

/* Sidebar */
.article-sidebar {
  display: flex; flex-direction: column; gap: 24px;
  position: sticky; top: 88px;
}
.sidebar-widget {
  background: white; border-radius: 12px;
  padding: 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  border: 1px solid #f1f5f9;
}
.sidebar-widget-title {
  font-size: 14px; font-weight: 800;
  color: #1e293b; margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #f1f5f9;
}
.sidebar-related-item {
  display: flex; gap: 12px; align-items: flex-start;
  text-decoration: none; padding: 10px 0;
  border-bottom: 1px solid #f8fafc;
  transition: opacity .2s;
}
.sidebar-related-item:last-child { border-bottom: none; }
.sidebar-related-item:hover { opacity: .8; }
.sidebar-related-item img {
  width: 64px; height: 48px;
  object-fit: cover; border-radius: 6px;
  flex-shrink: 0;
}
.sidebar-related-title {
  font-size: 13px; font-weight: 600;
  color: #1e293b; line-height: 1.4; margin-bottom: 4px;
}
.sidebar-related-date {
  font-size: 11px; color: #94a3b8;
}

@media (max-width: 900px) {
  .article-layout { grid-template-columns: 1fr; }
  .article-sidebar { position: static; }
  .article-h2 { margin: 28px 24px 10px; }
  .article-p  { margin: 0 24px 8px; }
  .article-intro { margin: 24px 24px 0; }
  .article-tags { padding: 24px; }
  .article-cta-box { margin: 0 24px 32px; flex-direction: column; }
}

/* ================================================================
   CHAT — Input removed, back button, quick replies only
   ================================================================ */
/* Hide input row */
.chat-input-row { display: none !important; }

/* Adjust chat box height without input */
#chatBox {
  max-height: 420px;
}
.chat-messages {
  max-height: 240px;
}

/* Back button in chat header */
.chat-back-btn {
  background: rgba(255,255,255,.15);
  border: none;
  border-radius: 50%;
  width: 28px; height: 28px;
  cursor: pointer;
  color: white;
  display: none; /* shown when in sub-topic */
  align-items: center;
  justify-content: center;
  transition: background .2s;
  flex-shrink: 0;
  margin-right: 6px;
}
.chat-back-btn:hover { background: rgba(255,255,255,.25); }
.chat-back-btn.visible { display: flex; }

/* Quick replies — always show, wrap nicely */
.chat-quick-replies {
  padding: 10px 14px 12px;
  gap: 8px;
  border-top: 1px solid #e5e7eb;
  background: #f8f9ff;
  min-height: 60px;
}
.chat-qr-btn {
  font-size: 12px;
  padding: 6px 14px;
}

/* WhatsApp footer button in chat */
.chat-wa-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  background: #25d366;
  color: white;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: filter .2s;
  flex-shrink: 0;
}
.chat-wa-footer:hover { filter: brightness(1.08); }

.chat-widget-wrap{display:block!important;position:static!important;}
