/* ═══════════════════════════════════════════════════════════════
   moversandpackersdxb.com — Shared Design System
   Brand: Dark Navy #0A1628 | Red #D62B2B | White #FFFFFF
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,400;0,600;0,700;0,800;0,900;1,700&family=Barlow:ital,wght@0,300;0,400;0,500;0,600;1,300&display=swap');

/* ── Variables ──────────────────────────────────────────────────── */
:root{
  --navy:#0A1628;
  --navy2:#0D1F3C;
  --navy3:#162444;
  --red:#D62B2B;
  --red2:#E53535;
  --red3:#B02020;
  --white:#FFFFFF;
  --off-white:#F4F6FA;
  --silver:#E8ECF4;
  --muted:#7A8BA6;
  --text:#1A2840;
  --border:rgba(255,255,255,.09);
  --border-light:#DDE4F0;
  --ff-display:'Barlow Condensed',sans-serif;
  --ff-body:'Barlow',sans-serif;
  --r:12px;
  --r-lg:20px;
  --sh:0 4px 32px rgba(10,22,40,.18);
  --sh-red:0 8px 32px rgba(214,43,43,.35);
  --tr:.22s cubic-bezier(.4,0,.2,1);
}

/* ── Reset ──────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--ff-body);color:var(--text);background:var(--white);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color var(--tr)}
button{font-family:var(--ff-body);cursor:pointer;border:none;outline:none}
ul{list-style:none}
h1,h2,h3,h4{font-family:var(--ff-display);line-height:1.08;letter-spacing:-.01em}

/* ── Layout ─────────────────────────────────────────────────────── */
.container{max-width:1200px;margin:0 auto;padding:0 28px}
.container--sm{max-width:860px;margin:0 auto;padding:0 28px}
.container--xs{max-width:680px;margin:0 auto;padding:0 28px}

/* ── Nav ─────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:200;background:var(--navy);border-bottom:2px solid var(--red)}
.nav__bar{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.nav__logo{font-family:var(--ff-display);font-size:1.5rem;font-weight:900;color:var(--white);letter-spacing:.02em;line-height:1;text-transform:uppercase}
.nav__logo span{color:var(--red)}
.nav__logo small{display:block;font-size:.55rem;font-weight:400;letter-spacing:.18em;color:rgba(255,255,255,.4);text-transform:uppercase;margin-top:2px}
.nav__links{display:flex;align-items:center;gap:4px}
.nav__links a{font-family:var(--ff-display);font-size:1rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.65);padding:8px 12px;border-radius:6px;transition:all var(--tr);white-space:nowrap}
.nav__links a:hover,.nav__links a.active{color:var(--white);background:rgba(255,255,255,.07)}
.nav__links a.active{color:var(--red)}
.nav__right{display:flex;align-items:center;gap:14px;flex-shrink:0}
.nav__phone{font-family:var(--ff-display);font-size:1rem;font-weight:700;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:6px}
.nav__phone span{color:var(--white)}
.nav__cta{background:var(--red);color:var(--white);font-family:var(--ff-display);font-weight:700;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;padding:10px 22px;border-radius:6px;transition:all var(--tr);white-space:nowrap;border:2px solid var(--red)}
.nav__cta:hover{background:var(--red2);border-color:var(--red2);transform:translateY(-1px);box-shadow:var(--sh-red)}
.nav__ham{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;min-width:36px;min-height:36px}
.nav__ham span{display:block;width:26px;height:2px;background:var(--white);border-radius:2px;transition:transform .28s ease,opacity .28s ease}
/* Animate to X when open */
.nav__ham.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__ham.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav__ham.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
/* Mobile nav panel — hidden on ALL screens by default */
.nav__mobile{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:var(--navy);z-index:190;padding:32px 28px;overflow-y:auto;flex-direction:column;gap:4px;border-top:2px solid var(--red)}
/* Only show when .open class is added by JS — and ONLY on mobile */
@media(max-width:768px){
  .nav__mobile.open{display:flex}
}
.nav__mobile a{font-family:var(--ff-display);font-size:1.5rem;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,.7);padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07);display:block}
.nav__mobile a:hover,.nav__mobile a:active{color:var(--white)}
.nav__mobile .nav__cta{margin-top:20px;text-align:center;border-radius:8px;padding:16px;display:block}

/* ── Buttons ─────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ff-display);font-weight:700;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r);padding:14px 30px;line-height:1;transition:all var(--tr);cursor:pointer;border:2px solid transparent}
.btn--red{background:var(--red);color:var(--white);border-color:var(--red);box-shadow:var(--sh-red)}
.btn--red:hover{background:var(--red2);border-color:var(--red2);transform:translateY(-2px);box-shadow:0 12px 36px rgba(214,43,43,.45)}
.btn--white{background:var(--white);color:var(--navy);border-color:var(--white)}
.btn--white:hover{background:var(--off-white);transform:translateY(-2px)}
.btn--outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.3)}
.btn--outline:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn--outline-red{background:transparent;color:var(--red);border-color:var(--red)}
.btn--outline-red:hover{background:var(--red);color:var(--white)}
.btn--navy{background:var(--navy);color:var(--white);border-color:var(--navy)}
.btn--navy:hover{background:var(--navy2);transform:translateY(-2px)}
.btn--sm{padding:10px 20px;font-size:.9rem}
.btn--lg{padding:18px 40px;font-size:1.15rem}

/* ── Section Tags ────────────────────────────────────────────────── */
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-display);font-size:.82rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:6px 14px;border-radius:4px;margin-bottom:16px}
.tag::before{content:'';width:16px;height:2px;background:currentColor;display:block;border-radius:2px}
.tag--red{background:rgba(214,43,43,.1);color:var(--red)}
.tag--white{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8)}
.tag--navy{background:rgba(10,22,40,.08);color:var(--navy)}

/* ── Page Hero (inner pages) ─────────────────────────────────────── */
.page-hero{background:var(--navy);padding:72px 0 64px;position:relative;overflow:hidden}
.page-hero__bg{position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 59px,rgba(255,255,255,.025) 59px,rgba(255,255,255,.025) 60px),repeating-linear-gradient(90deg,transparent,transparent 59px,rgba(255,255,255,.025) 59px,rgba(255,255,255,.025) 60px);pointer-events:none}
.page-hero__red{position:absolute;top:-80px;right:-80px;width:400px;height:400px;background:radial-gradient(circle,rgba(214,43,43,.2) 0%,transparent 65%);pointer-events:none}
.page-hero__content{position:relative;z-index:2}
.page-hero .breadcrumb{font-family:var(--ff-display);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:16px;display:flex;align-items:center;gap:8px}
.page-hero .breadcrumb a{color:rgba(255,255,255,.4);transition:color var(--tr)}
.page-hero .breadcrumb a:hover{color:var(--red)}
.page-hero .breadcrumb span{color:var(--red)}
.page-hero h1{font-size:clamp(2.8rem,6vw,4.8rem);font-weight:900;color:var(--white);line-height:1.0;text-transform:uppercase;margin-bottom:18px}
.page-hero h1 em{font-style:normal;color:var(--red);display:block}
.page-hero .page-hero__sub{font-size:1.08rem;color:rgba(255,255,255,.6);max-width:600px;line-height:1.7;margin-bottom:32px}
.page-hero .page-hero__actions{display:flex;gap:14px;flex-wrap:wrap}

/* ── Trust Bar ───────────────────────────────────────────────────── */
.trustbar{background:var(--navy2);border-bottom:1px solid rgba(255,255,255,.07);padding:0}
.trustbar__inner{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none}
.trustbar__inner::-webkit-scrollbar{display:none}
.trustbar__item{display:flex;align-items:center;gap:12px;padding:18px 28px;white-space:nowrap;flex:1;min-width:0;border-right:1px solid rgba(255,255,255,.07)}
.trustbar__item:last-child{border-right:none}
.trustbar__num{font-family:var(--ff-display);font-size:1.6rem;font-weight:900;color:var(--red);line-height:1}
.trustbar__label{font-family:var(--ff-display);font-size:.88rem;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.5);text-transform:uppercase;line-height:1.2}

/* ── Section headings ─────────────────────────────────────────────── */
.section-hd{margin-bottom:52px}
.section-hd h2{font-size:clamp(2rem,4.5vw,3.2rem);font-weight:900;text-transform:uppercase;color:var(--navy);line-height:1.05;margin-bottom:12px}
.section-hd h2 em{font-style:normal;color:var(--red)}
.section-hd h2.white{color:var(--white)}
.section-hd p{font-size:1rem;color:var(--muted);max-width:560px;line-height:1.72}
.section-hd p.white{color:rgba(255,255,255,.6)}
.section-hd--center{text-align:center}
.section-hd--center p{margin-left:auto;margin-right:auto}

/* ── Cards ───────────────────────────────────────────────────────── */
.card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:28px;transition:all var(--tr)}
.card:hover{box-shadow:var(--sh);transform:translateY(-3px)}
.card--dark{background:var(--navy3);border-color:rgba(255,255,255,.07)}
.card--red-top{border-top:3px solid var(--red)}

/* ── Why grid ────────────────────────────────────────────────────── */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:28px 22px;transition:all var(--tr);position:relative;overflow:hidden}
.why-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--tr)}
.why-card:hover{background:rgba(255,255,255,.07);transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.3)}
.why-card:hover::before{transform:scaleX(1)}
.why-card__num{font-family:var(--ff-display);font-size:3rem;font-weight:900;color:rgba(214,43,43,.2);line-height:1;margin-bottom:16px}
.why-card__title{font-family:var(--ff-display);font-size:1.2rem;font-weight:800;text-transform:uppercase;color:var(--white);margin-bottom:10px}
.why-card__text{font-size:.9rem;color:rgba(255,255,255,.5);line-height:1.65}

/* ── Service cards ────────────────────────────────────────────────── */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc-card{background:var(--off-white);border:1px solid var(--border-light);border-radius:var(--r);padding:26px 22px;transition:all var(--tr);position:relative;overflow:hidden;display:flex;flex-direction:column}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:0;background:var(--navy);transition:height .3s cubic-bezier(.4,0,.2,1);z-index:0}
.svc-card>*{position:relative;z-index:1;transition:color var(--tr)}
.svc-card:hover::after{height:100%}
.svc-card:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.svc-card:hover .svc-card__title,.svc-card:hover .svc-card__text,.svc-card:hover .svc-card__link{color:var(--white)}
.svc-card:hover .svc-card__icon{filter:brightness(10)}
.svc-card__icon{font-size:2.2rem;margin-bottom:16px;line-height:1;display:block}
.svc-card__title{font-family:var(--ff-display);font-size:1.2rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:10px}
.svc-card__text{font-size:.86rem;color:var(--muted);line-height:1.62;flex:1;margin-bottom:16px}
.svc-card__link{font-family:var(--ff-display);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red);margin-top:auto}
.svc-card:hover .svc-card__link{color:rgba(255,255,255,.7)}

/* ── Area cards ──────────────────────────────────────────────────── */
.area-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.area-card{background:var(--white);border:1px solid var(--border-light);border-left:4px solid var(--red);border-radius:var(--r);padding:26px;transition:all var(--tr)}
.area-card:hover{box-shadow:var(--sh);transform:translateY(-3px)}
.area-card__title{font-family:var(--ff-display);font-size:1.3rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.area-card__title a{color:inherit}
.area-card__title a:hover{color:var(--red)}
.area-card__body{font-size:.88rem;color:var(--muted);line-height:1.7;margin-bottom:14px}
.area-card__pills{display:flex;flex-wrap:wrap;gap:6px}
.area-pill{font-size:.74rem;font-weight:600;background:var(--off-white);border:1px solid var(--border-light);border-radius:4px;padding:4px 10px;color:var(--navy);transition:all var(--tr)}
.area-pill:hover{background:var(--red);color:var(--white);border-color:var(--red)}

/* ── Testimonials ────────────────────────────────────────────────── */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);padding:26px;transition:all var(--tr)}
.testi-card:hover{box-shadow:var(--sh)}
.testi-card__stars{color:var(--red);font-size:1rem;letter-spacing:3px;margin-bottom:14px}
.testi-card__text{font-size:.92rem;color:var(--muted);line-height:1.74;font-style:italic;margin-bottom:18px;position:relative;padding-left:16px}
.testi-card__text::before{content:'"';position:absolute;left:0;top:-4px;font-size:2rem;color:var(--red);font-style:normal;line-height:1;font-family:Georgia,serif}
.testi-card__author{display:flex;align-items:center;gap:12px}
.testi-card__av{width:40px;height:40px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-family:var(--ff-display);font-size:.95rem;font-weight:900;color:var(--red);flex-shrink:0}
.testi-card__name{font-family:var(--ff-display);font-size:1rem;font-weight:800;color:var(--navy);text-transform:uppercase}
.testi-card__loc{font-size:.78rem;color:var(--muted)}

/* ── Pricing rows ────────────────────────────────────────────────── */
.price-row{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--border-light)}
.price-row:last-child{border-bottom:none}
.price-row:first-child{border-top:1px solid var(--border-light)}
.price-row__label{font-size:1rem;color:var(--text);font-weight:500}
.price-row__val{font-family:var(--ff-display);font-size:1.3rem;font-weight:800;color:var(--navy)}
.price-row__val small{font-size:.75rem;font-weight:400;font-family:var(--ff-body);color:var(--muted)}

/* ── FAQ ──────────────────────────────────────────────────────────── */
.faq-list{display:flex;flex-direction:column;gap:0}
.faq-item{border-bottom:1px solid var(--border-light)}
.faq-item:first-child{border-top:1px solid var(--border-light)}
.faq-q{font-family:var(--ff-display);font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--navy);cursor:pointer;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;user-select:none;transition:color var(--tr)}
.faq-q:hover{color:var(--red)}
.faq-q::after{content:'+';font-size:1.6rem;font-weight:300;color:var(--red);flex-shrink:0;transition:transform var(--tr);line-height:1}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-item.open .faq-q{color:var(--red)}
.faq-a{font-size:.94rem;color:var(--muted);line-height:1.76;max-height:0;overflow:hidden;transition:max-height .38s cubic-bezier(.4,0,.2,1),padding var(--tr)}
.faq-item.open .faq-a{max-height:500px;padding-bottom:20px}

/* ── Steps ───────────────────────────────────────────────────────── */
.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.steps-grid::after{content:'';position:absolute;top:28px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--red) 0%,rgba(10,22,40,.15) 100%)}
.step-card{text-align:center;padding:0 16px;position:relative;z-index:1}
.step-num{width:58px;height:58px;border-radius:50%;background:var(--navy);color:var(--white);font-family:var(--ff-display);font-size:1.4rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;border:3px solid var(--white);box-shadow:0 0 0 3px var(--red)}
.step-card:first-child .step-num{background:var(--red);box-shadow:var(--sh-red);border-color:var(--red2)}
.step-title{font-family:var(--ff-display);font-size:1.05rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.step-text{font-size:.86rem;color:var(--muted);line-height:1.62}

/* ── Blog cards ──────────────────────────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--r);overflow:hidden;transition:all var(--tr);display:flex;flex-direction:column}
.blog-card:hover{box-shadow:var(--sh);transform:translateY(-4px)}
.blog-card__thumb{background:var(--navy);height:180px;display:flex;align-items:center;justify-content:center;font-size:4rem;position:relative;overflow:hidden}
.blog-card__thumb::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(214,43,43,.3),rgba(10,22,40,.6))}
.blog-card__body{padding:22px;flex:1;display:flex;flex-direction:column}
.blog-card__cat{font-family:var(--ff-display);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:8px}
.blog-card__title{font-family:var(--ff-display);font-size:1.2rem;font-weight:800;text-transform:uppercase;color:var(--navy);margin-bottom:10px;line-height:1.2}
.blog-card__excerpt{font-size:.86rem;color:var(--muted);line-height:1.65;flex:1;margin-bottom:16px}
.blog-card__link{font-family:var(--ff-display);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.blog-card__link:hover{color:var(--red2)}

/* ── Contact form ────────────────────────────────────────────────── */
.form-group{display:flex;flex-direction:column;gap:7px}
.form-label{font-family:var(--ff-display);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.form-label.white{color:rgba(255,255,255,.55)}
.form-control{background:var(--off-white);border:1.5px solid var(--border-light);border-radius:var(--r);padding:13px 16px;font-size:.95rem;font-family:var(--ff-body);color:var(--text);width:100%;transition:all var(--tr)}
.form-control:focus{outline:none;border-color:var(--red);background:var(--white);box-shadow:0 0 0 3px rgba(214,43,43,.1)}
.form-control.dark{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);color:var(--white)}
.form-control.dark::placeholder{color:rgba(255,255,255,.3)}
.form-control.dark:focus{border-color:var(--red);background:rgba(255,255,255,.09)}
textarea.form-control{resize:vertical;min-height:120px}

/* ── Includes list ───────────────────────────────────────────────── */
.inc-list{display:flex;flex-direction:column;gap:10px}
.inc-list li{font-size:.92rem;color:var(--muted);display:flex;align-items:flex-start;gap:10px;line-height:1.55}
.inc-list li::before{content:'✓';color:var(--red);font-weight:700;font-family:var(--ff-display);font-size:1rem;flex-shrink:0;margin-top:1px}
.inc-list.white li{color:rgba(255,255,255,.65)}
.inc-list.white li::before{color:var(--red)}

/* ── SEO link grid ───────────────────────────────────────────────── */
.seo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.seo-pill{display:block;background:var(--off-white);border:1px solid var(--border-light);border-radius:6px;padding:10px 12px;font-family:var(--ff-display);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);text-align:center;transition:all var(--tr)}
.seo-pill:hover{background:var(--red);color:var(--white);border-color:var(--red)}

/* ── Proof / Social ──────────────────────────────────────────────── */
.proof-band{background:var(--red);padding:56px 0;text-align:center;position:relative;overflow:hidden}
.proof-band::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 1px,transparent 1px,transparent 14px);pointer-events:none}
.proof-band__num{font-family:var(--ff-display);font-size:clamp(3.5rem,8vw,6rem);font-weight:900;color:var(--white);line-height:1;position:relative;z-index:1}
.proof-band__label{font-family:var(--ff-display);font-size:1.1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7);margin-top:4px;position:relative;z-index:1}
.proof-band__rating{font-size:1.4rem;color:rgba(255,255,255,.9);letter-spacing:4px;margin-top:12px;position:relative;z-index:1}
.proof-band__sub{font-size:.9rem;color:rgba(255,255,255,.6);margin-top:6px;position:relative;z-index:1}

/* ── Diagonal divider ────────────────────────────────────────────── */
.diag{position:relative}
.diag::after{content:'';position:absolute;bottom:-30px;left:0;right:0;height:60px;background:inherit;clip-path:polygon(0 0,100% 60%,100% 100%,0 100%);z-index:1}

/* ── Footer ──────────────────────────────────────────────────────── */
.footer{background:var(--navy);padding:72px 0 0;color:rgba(255,255,255,.55)}
.footer__grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:52px;margin-bottom:56px}
.footer__brand{font-family:var(--ff-display);font-size:1.4rem;font-weight:900;text-transform:uppercase;color:var(--white);letter-spacing:.04em;margin-bottom:14px}
.footer__brand span{color:var(--red)}
.footer__desc{font-size:.88rem;line-height:1.68;margin-bottom:22px;max-width:340px}
.footer__contact-row{display:flex;align-items:center;gap:8px;font-size:.86rem;margin-bottom:8px}
.footer__contact-row strong{color:rgba(255,255,255,.8)}
.footer__col-title{font-family:var(--ff-display);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:18px}
.footer__links{display:flex;flex-direction:column;gap:10px}
.footer__links a{font-size:.88rem;color:rgba(255,255,255,.5);transition:color var(--tr)}
.footer__links a:hover{color:var(--white)}
.footer__bottom{border-top:1px solid rgba(255,255,255,.07);padding:22px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8rem;color:rgba(255,255,255,.3)}
.footer__bottom a{color:rgba(255,255,255,.3)}
.footer__bottom a:hover{color:var(--red)}

/* ── Utilities ───────────────────────────────────────────────────── */
.text-red{color:var(--red)!important}
.text-white{color:var(--white)!important}
.text-center{text-align:center}
.bg-navy{background:var(--navy)}
.bg-red{background:var(--red)}
.bg-off{background:var(--off-white)}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mb-32{margin-bottom:32px}
.pt-80{padding-top:80px}.pt-88{padding-top:88px}.pb-80{padding-bottom:80px}.pb-88{padding-bottom:88px}
.py-80{padding-top:80px;padding-bottom:80px}.py-88{padding-top:88px;padding-bottom:88px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.grid-2-asym{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:start}
.divider{height:1px;background:var(--border-light);margin:32px 0}
.divider--dark{background:rgba(255,255,255,.08)}

/* ── Reveal animation ────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}

/* ── Responsive ──────────────────────────────────────────────────── */
@media(max-width:1060px){
  .why-grid,.service-grid{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media(max-width:768px){
  .nav__links,.nav__phone{display:none}
  .nav__ham{display:flex}
  .grid-2,.grid-2-asym{grid-template-columns:1fr;gap:32px}
  .area-grid,.testi-grid,.blog-grid{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr 1fr;gap:32px}
  .steps-grid::after{display:none}
  .seo-grid{grid-template-columns:repeat(3,1fr)}
  .why-grid{grid-template-columns:1fr}
  .py-80,.py-88{padding-top:56px;padding-bottom:56px}
  .footer__grid{grid-template-columns:1fr}
  .page-hero{padding:52px 0 44px}
}
@media(max-width:480px){
  .service-grid,.seo-grid{grid-template-columns:repeat(2,1fr)}
  .steps-grid{grid-template-columns:1fr}
  .page-hero h1{font-size:2.4rem}
  .trustbar__item{padding:14px 16px}
  .trustbar__num{font-size:1.3rem}
}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE OPTIMISATION — Complete patch
   Fixes all inline grids, nav, forms, hero, cards, spacing
   ═══════════════════════════════════════════════════════════════════ */

/* ── Base touch improvements ──────────────────────────────────── */
*, *::before, *::after { -webkit-tap-highlight-color: transparent; }
button, a, [role="button"] { touch-action: manipulation; }
input, select, textarea { font-size: 16px !important; } /* prevents iOS zoom on focus */

/* ── Nav — tighten for small screens ─────────────────────────── */
@media(max-width:768px){
  .nav__bar { height:60px; padding:0 16px; }
  .nav__logo { font-size:1.15rem; }
  .nav__logo small { display:none; }
  .nav__cta { display:none; } /* hide desktop CTA — mobile nav has it */
  .nav__right { gap:10px; }
  .nav__ham { min-width:44px; min-height:44px; } /* 44px min touch target */
  .nav__mobile { top:62px; padding:24px 20px; }
  .nav__mobile a { font-size:1.25rem; padding:12px 0; min-height:48px; display:flex; align-items:center; }
}
@media(max-width:360px){
  .nav__logo { font-size:1rem; }
}

/* ── Container padding on mobile ──────────────────────────────── */
@media(max-width:768px){
  .container, .container--sm, .container--xs { padding:0 16px; }
}

/* ── Hero section — fully mobile ──────────────────────────────── */
@media(max-width:768px){
  /* Homepage hero: single col */
  .hero-inner-grid {
    grid-template-columns: 1fr !important;
    gap:36px !important;
  }
  /* Quote form card — full width */
  .hero-quote-card { max-width:100% !important; }

  /* Page hero headings */
  .page-hero h1 { font-size:clamp(2rem,8vw,3rem) !important; }
  .page-hero { padding:44px 0 36px !important; }
  .page-hero .page-hero__actions { flex-direction:column; gap:10px; }
  .page-hero .page-hero__actions .btn { width:100%; justify-content:center; }
  .page-hero .breadcrumb { font-size:.72rem; flex-wrap:wrap; }
}

/* ── About 2-col stats grid → 1 col on mobile ─────────────────── */
@media(max-width:768px){
  .about-stats-2col {
    grid-template-columns: 1fr !important;
  }
  .about-vals-3col {
    grid-template-columns: 1fr !important;
    gap:16px !important;
  }
}

/* ── Why cards — single col on small mobile ───────────────────── */
@media(max-width:480px){
  .why-grid { grid-template-columns:1fr !important; gap:14px; }
}
@media(min-width:481px) and (max-width:768px){
  .why-grid { grid-template-columns:1fr 1fr !important; gap:14px; }
}

/* ── Service cards ────────────────────────────────────────────── */
@media(max-width:768px){
  .service-grid { grid-template-columns:1fr 1fr !important; gap:14px; }
}
@media(max-width:400px){
  .service-grid { grid-template-columns:1fr !important; }
}

/* ── Area cards ───────────────────────────────────────────────── */
@media(max-width:768px){
  .area-grid { grid-template-columns:1fr !important; gap:14px; }
  .area-card { padding:20px; }
}

/* ── Trustbar — scroll horizontally on mobile ─────────────────── */
@media(max-width:768px){
  .trustbar__inner { gap:0; }
  .trustbar__item { padding:12px 16px; min-width:120px; flex:0 0 auto; }
  .trustbar__num { font-size:1.2rem; }
  .trustbar__label { font-size:.72rem; }
}

/* ── Testimonials ─────────────────────────────────────────────── */
@media(max-width:768px){
  .testi-grid { grid-template-columns:1fr !important; gap:14px; }
}

/* ── How it works steps ───────────────────────────────────────── */
@media(max-width:768px){
  .steps-grid { grid-template-columns:1fr 1fr !important; gap:28px; }
  .steps-grid::after { display:none; }
}
@media(max-width:420px){
  .steps-grid { grid-template-columns:1fr !important; }
  .step-card { padding:0; text-align:left; display:flex; gap:16px; align-items:flex-start; }
  .step-num { margin:0; flex-shrink:0; width:48px; height:48px; font-size:1.1rem; }
}

/* ── Blog grid ────────────────────────────────────────────────── */
@media(max-width:768px){
  .blog-grid { grid-template-columns:1fr !important; gap:16px; }
  .blog-card__thumb { height:160px; }
}

/* ── SEO link grid ────────────────────────────────────────────── */
@media(max-width:768px){
  .seo-grid { grid-template-columns:repeat(2,1fr) !important; gap:7px; }
  .seo-pill { font-size:.74rem; padding:8px 10px; }
}
@media(max-width:360px){
  .seo-grid { grid-template-columns:1fr !important; }
}

/* ── Footer ───────────────────────────────────────────────────── */
@media(max-width:768px){
  .footer { padding:52px 0 0; }
  .footer__grid { grid-template-columns:1fr !important; gap:32px; }
  .footer__bottom { flex-direction:column; text-align:center; gap:8px; }
}

/* ── Buttons — full width on small screens ────────────────────── */
@media(max-width:480px){
  .btn--lg { padding:15px 24px; font-size:1rem; }
  .hero-actions-row { flex-direction:column !important; gap:10px !important; }
  .hero-actions-row .btn { width:100%; justify-content:center; }
}

/* ── Price rows — stack on tiny screens ───────────────────────── */
@media(max-width:420px){
  .price-row { flex-direction:column; align-items:flex-start; gap:4px; padding:14px 0; }
  .price-row__val { font-size:1.1rem; }
}

/* ── FAQ questions — allow wrapping ──────────────────────────── */
@media(max-width:768px){
  .faq-q { font-size:.92rem; padding:16px 0; gap:12px; }
}

/* ── Form grids (contact page) → single col on mobile ─────────── */
@media(max-width:600px){
  .form-2col { grid-template-columns:1fr !important; gap:12px !important; }
}

/* ── International destinations grid ─────────────────────────── */
@media(max-width:768px){
  .destinations-grid { grid-template-columns:repeat(2,1fr) !important; gap:10px !important; }
}
@media(max-width:420px){
  .destinations-grid { grid-template-columns:1fr !important; }
}

/* ── Villa community grid ─────────────────────────────────────── */
@media(max-width:768px){
  .villa-community-grid { grid-template-columns:1fr !important; gap:12px !important; }
}

/* ── Services furniture materials grid ───────────────────────── */
@media(max-width:600px){
  .materials-grid { grid-template-columns:1fr 1fr !important; gap:12px !important; }
}

/* ── Proof band text ──────────────────────────────────────────── */
@media(max-width:480px){
  .proof-band { padding:44px 0; }
  .proof-band__num { font-size:clamp(3rem,12vw,5rem); }
  .proof-band__label { font-size:.9rem; }
}

/* ── Section padding reduce ────────────────────────────────────── */
@media(max-width:768px){
  .py-80 { padding-top:48px !important; padding-bottom:48px !important; }
  .py-88 { padding-top:52px !important; padding-bottom:52px !important; }
  .pt-80, .pt-88 { padding-top:52px !important; }
  .pb-80, .pb-88 { padding-bottom:52px !important; }
}

/* ── Grid utility classes → single col on mobile ──────────────── */
@media(max-width:768px){
  .grid-2, .grid-2-asym { grid-template-columns:1fr !important; gap:28px !important; }
}

/* ── Inline style overrides via CSS classes ────────────────────── */
/* These mirror the inline styles in templates so we can override at breakpoints */
@media(max-width:768px){
  /* About 2x2 pillar grid */
  [style*="grid-template-columns:1fr 1fr"][style*="gap:12px"] {
    grid-template-columns:1fr 1fr !important;
  }
  /* 3-col grids */
  [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  /* 4-col grids */
  [style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
  }
}
@media(max-width:480px){
  /* 2-col grids that should go 1-col */
  [style*="grid-template-columns:1fr 1fr"][style*="gap:16px"] {
    grid-template-columns:1fr !important;
  }
  /* All remaining 4-col → single col on tiny screens */
  [style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns:1fr !important;
  }
}

/* ── Office district area cards in dark bg on mobile ──────────── */
@media(max-width:768px){
  .area-card[style*="background:rgba(255,255,255,.04)"] {
    padding:18px !important;
  }
}

/* ── Touch-friendly min heights for interactive elements ─────── */
@media(max-width:768px){
  .btn { min-height:48px; }
  .faq-q { min-height:48px; }
  .nav__links a { min-height:44px; }
  .svc-card { padding:20px 18px; }
  .why-card { padding:22px 18px; }
  .testi-card { padding:20px; }
  .area-card { padding:20px; }
  .card { padding:20px; }
}

/* ── Overflow prevention ─────────────────────────────────────── */
body { overflow-x:hidden; }
.container, .container--sm, .container--xs { max-width:100%; overflow-x:hidden; }
img, video, iframe { max-width:100%; }
table { display:block; overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ── Fix hero quote form on mobile ───────────────────────────── */
@media(max-width:768px){
  .hero-form { padding:24px 20px !important; }
  .form-control.dark { font-size:16px !important; }
}

/* ── Scroll padding for anchor links (sticky nav offset) ──────── */
html { scroll-padding-top:70px; }
@media(max-width:768px) { html { scroll-padding-top:62px; } }

/* ── Hero grid full rewrite for mobile ────────────────────────── */
@media(max-width:900px){
  .hero-inner-grid {
    grid-template-columns:1fr !important;
    gap:36px !important;
  }
}

/* ── Hero trust row ───────────────────────────────────────────── */
.hero-trust-row { display:flex; flex-wrap:wrap; gap:16px; }
@media(max-width:480px){
  .hero-trust-row { gap:10px 16px; }
  .hero-trust-row span { font-size:.8rem !important; }
}

/* ── Single blog post sidebar → below content on mobile ─────── */
@media(max-width:768px){
  .single-layout { grid-template-columns:1fr !important; gap:32px !important; }
  .post-sidebar { order:2; }
}

/* ── Contact page info panel items ───────────────────────────── */
@media(max-width:480px){
  .contact-info-row { gap:10px !important; }
  .contact-icon { width:38px !important; height:38px !important; font-size:1rem !important; }
}

/* ── Make all section CTAs full-width on mobile ──────────────── */
@media(max-width:480px){
  section[style*="text-align:center"] .btn {
    display:flex;
    width:100%;
    max-width:320px;
    margin-left:auto;
    margin-right:auto;
  }
}

/* ── Price row label wrapping ────────────────────────────────── */
@media(max-width:420px){
  .price-row__label { font-size:.88rem; }
  .price-row__val   { font-size:1rem; }
}

/* ── FAQ split layout → single col ──────────────────────────── */
@media(max-width:768px){
  .faq-split { grid-template-columns:1fr !important; gap:32px !important; }
}

/* ── Service detail grids (services page) ────────────────────── */
@media(max-width:768px){
  .service-detail-grid { grid-template-columns:1fr !important; gap:24px !important; }
}
