/* ============================================================
   Malabar Gold & Diamonds — Qusais Al Nahda, Dubai
   Design tokens + component styles
   ============================================================ */

:root{
  /* Brand palette (from brand-system.md) */
  --primary:#C9A227;        /* royal gold */
  --primary-deep:#A8851A;
  --primary-soft:#E9CE76;
  --secondary:#7A2533;      /* deep maroon */
  --secondary-deep:#5A1212; /* photo accent maroon */
  --accent:#1F4D3A;         /* emerald */
  --bg:#FBF7F0;             /* warm ivory */
  --surface:#FFFDF8;
  --surface-2:#F4ECDD;
  --text:#241A14;
  --muted:#746457;
  --border:#E5D7BE;
  --border-soft:#EFE6D2;
  --focus:#1F4D3A;
  --shadow-gold: 0 18px 50px -22px rgba(122,37,51,.30);
  --shadow-soft: 0 14px 40px -26px rgba(36,26,20,.45);

  --maxw:1200px;
  --ff-display:"Cormorant Garamond", Georgia, serif;
  --ff-ui:"Inter", system-ui, -apple-system, sans-serif;
  --ff-num:"Inter", system-ui, sans-serif;

  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-xl:30px;
  --nav-h:74px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:96px;}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--ff-ui); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer;}
:focus-visible{outline:2.5px solid var(--focus); outline-offset:3px; border-radius:4px;}

/* ---------- Typography helpers ---------- */
.display{font-family:var(--ff-display); font-weight:600; line-height:1.04; letter-spacing:-.01em;}
.eyebrow{
  font-family:var(--ff-ui); font-weight:600; font-size:.72rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--secondary);
  display:inline-flex; align-items:center; gap:.6rem;
}
.eyebrow::before{content:""; width:9px; height:9px; background:var(--primary); transform:rotate(45deg); display:inline-block; box-shadow:0 0 0 1px var(--primary-deep) inset;}
.eyebrow.center::after{content:""; width:9px; height:9px; background:var(--primary); transform:rotate(45deg); display:inline-block;}
.muted{color:var(--muted);}
.serif-num{font-family:var(--ff-display); font-weight:600; font-variant-numeric:tabular-nums;}

.section{padding:clamp(56px, 8vw, 110px) 0;}
.wrap{width:min(var(--maxw), 92vw); margin-inline:auto;}
.wrap-wide{width:min(1340px, 94vw); margin-inline:auto;}

.diamond-rule{display:flex; align-items:center; gap:14px; color:var(--primary);}
.diamond-rule::before,.diamond-rule::after{content:""; height:1px; flex:1; background:linear-gradient(90deg,transparent,var(--border),transparent);}
.diamond-rule i{width:10px; height:10px; background:var(--primary); transform:rotate(45deg); flex:none;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--ff-ui); font-weight:600; font-size:.95rem; letter-spacing:.01em;
  padding:.85rem 1.5rem; border-radius:999px; border:1.5px solid transparent;
  transition:transform .18s ease, box-shadow .25s ease, background .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn svg{width:18px; height:18px;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--secondary); color:#fff; box-shadow:var(--shadow-gold);}
.btn-primary:hover{background:var(--secondary-deep); transform:translateY(-2px);}
.btn-gold{background:linear-gradient(150deg,var(--primary-soft),var(--primary) 55%,var(--primary-deep)); color:#3a2a06;}
.btn-gold:hover{transform:translateY(-2px); box-shadow:0 16px 34px -16px rgba(201,162,39,.7);}
.btn-outline{background:transparent; color:var(--text); border-color:var(--border);}
.btn-outline:hover{border-color:var(--secondary); color:var(--secondary); background:#fff;}
.btn-ghost{background:transparent; color:var(--text); padding-inline:.4rem;}
.btn-ghost:hover{color:var(--secondary);}
.btn-block{width:100%;}
.btn-lg{padding:1rem 1.8rem; font-size:1rem;}

/* ---------- Top utility bar ---------- */
.utility{background:var(--secondary-deep); color:#f4e3d6; font-size:.8rem;}
.utility .wrap-wide{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:38px; padding-block:7px;}
.utility .u-left{display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap;}
.utility .u-item{display:inline-flex; align-items:center; gap:.45rem; letter-spacing:.01em;}
.utility .u-item svg{width:14px; height:14px; opacity:.85;}
.utility .dot{width:5px;height:5px;border-radius:50%;background:var(--primary);opacity:.8;}
.utility a:hover{color:#fff;}
.utility .u-right{display:inline-flex; align-items:center; gap:.5rem; color:var(--primary-soft); font-weight:600; letter-spacing:.04em;}

/* ---------- Header / nav ---------- */
.site-header{position:sticky; top:0; z-index:60; background:rgba(251,247,240,.86); backdrop-filter:blur(14px); border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s, background .3s;}
.site-header.scrolled{border-bottom-color:var(--border); box-shadow:0 10px 30px -24px rgba(36,26,20,.6); background:rgba(251,247,240,.95);}
.nav{display:flex; align-items:center; justify-content:space-between; gap:1.2rem; height:var(--nav-h);}
.brand{display:flex; align-items:center; gap:.7rem;}
.brand img{width:46px; height:46px; object-fit:contain;}
.brand .bt{line-height:1.05;}
.brand .bt b{font-family:var(--ff-display); font-weight:700; font-size:1.22rem; letter-spacing:.01em; color:var(--secondary); display:block;}
.brand .bt span{font-size:.62rem; letter-spacing:.26em; text-transform:uppercase; color:var(--muted);}
.nav-links{display:flex; align-items:center; gap:1.7rem;}
.nav-links a{font-size:.92rem; font-weight:500; color:var(--text); position:relative; padding:.3rem 0;}
.nav-links a::after{content:""; position:absolute; left:0; bottom:-2px; height:2px; width:0; background:var(--primary); transition:width .25s;}
.nav-links a:hover{color:var(--secondary);}
.nav-links a:hover::after{width:100%;}
.nav-cta{display:flex; align-items:center; gap:.6rem;}
.nav-toggle{display:none; width:46px; height:46px; border:1.5px solid var(--border); border-radius:12px; background:var(--surface); align-items:center; justify-content:center;}
.nav-toggle svg{width:22px;height:22px;}

/* mobile menu */
.mobile-menu{position:fixed; inset:0 0 0 auto; width:min(82vw,360px); background:var(--surface); z-index:200; transform:translateX(100%); transition:transform .32s cubic-bezier(.4,0,.2,1); box-shadow:-30px 0 60px -30px rgba(0,0,0,.5); display:flex; flex-direction:column; padding:1.3rem;}
.mobile-menu.open{transform:translateX(0);}
.mm-backdrop{position:fixed; inset:0; background:rgba(36,26,20,.45); z-index:150; opacity:0; pointer-events:none; transition:opacity .3s;}
.mm-backdrop.open{opacity:1; pointer-events:auto;}
.mobile-menu .mm-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:1.2rem;}
.mobile-menu a.mm-link{padding:.95rem .4rem; font-size:1.08rem; font-family:var(--ff-display); font-weight:600; border-bottom:1px solid var(--border-soft); color:var(--text);}
.mobile-menu .mm-cta{margin-top:auto; display:grid; gap:.6rem;}
.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);}
.icon-btn svg{width:22px;height:22px;}

/* ---------- Hero ---------- */
.hero{position:relative; padding-top:clamp(36px,5vw,68px); padding-bottom:clamp(48px,6vw,90px); overflow:hidden;}
.hero::before{content:""; position:absolute; top:-180px; right:-160px; width:520px; height:520px; background:radial-gradient(circle, rgba(201,162,39,.16), transparent 65%); pointer-events:none;}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,4vw,64px); align-items:center;}
.hero h1{font-size:clamp(2.6rem,5.4vw,4.3rem); margin:.6rem 0 1.1rem; color:var(--text);}
.hero h1 em{font-style:italic; color:var(--secondary);}
.hero .lede{font-size:1.12rem; color:var(--muted); max-width:34ch; margin-bottom:1.7rem;}
.hero-cta{display:flex; gap:.8rem; flex-wrap:wrap; margin-bottom:1.8rem;}
.hero-trust{display:flex; gap:1.5rem; flex-wrap:wrap; align-items:center; padding-top:1.4rem; border-top:1px solid var(--border);}
.trust-item{display:flex; flex-direction:column; gap:.1rem;}
.trust-item .tv{font-family:var(--ff-display); font-weight:700; font-size:1.5rem; color:var(--secondary); line-height:1; display:flex; align-items:center; gap:.35rem;}
.trust-item .tl{font-size:.74rem; letter-spacing:.04em; color:var(--muted); text-transform:uppercase;}
.stars{color:var(--primary); letter-spacing:1px; font-size:.95rem;}

/* hero image with arch frame */
.hero-media{position:relative;}
.arch-frame{position:relative; border:3px solid var(--primary); border-radius:50% 50% var(--r-lg) var(--r-lg)/ 38% 38% var(--r-lg) var(--r-lg); padding:10px; background:var(--surface); box-shadow:var(--shadow-soft);}
.arch-frame::after{content:""; position:absolute; inset:10px; border:1px solid rgba(201,162,39,.5); border-radius:inherit; pointer-events:none;}
.arch-frame img{width:100%; aspect-ratio:4/4.4; object-fit:cover; border-radius:46% 46% calc(var(--r-lg) - 6px) calc(var(--r-lg) - 6px)/ 34% 34% calc(var(--r-lg) - 6px) calc(var(--r-lg) - 6px);}
.hero-badge{position:absolute; left:-18px; bottom:34px; background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:.85rem 1.05rem; box-shadow:var(--shadow-soft); display:flex; align-items:center; gap:.7rem; max-width:230px;}
.hero-badge .hb-score{font-family:var(--ff-display); font-weight:700; font-size:2rem; color:var(--secondary); line-height:.9;}
.hero-badge .hb-meta{font-size:.74rem; color:var(--muted);}
.hero-badge .hb-meta .stars{font-size:.82rem;}

/* layout variant: full-bleed hero */
.hero.layout-bleed .hero-grid{grid-template-columns:1fr; text-align:center; max-width:780px; margin-inline:auto;}
.hero.layout-bleed .hero-media{display:none;}
.hero.layout-bleed .lede{margin-inline:auto;}
.hero.layout-bleed .hero-cta,.hero.layout-bleed .hero-trust{justify-content:center;}
.hero.layout-bleed .hero-trust{border-top:none;}
.hero.layout-bleed::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, transparent, rgba(244,236,221,.5));}

/* ---------- Marquee trust strip ---------- */
.strip{background:var(--secondary-deep); color:#f1ddcf; overflow:hidden; border-block:1px solid rgba(201,162,39,.25);}
.strip-track{display:flex; gap:3.4rem; align-items:center; padding:15px 0; width:max-content; animation:scrollx 34s linear infinite;}
.strip:hover .strip-track{animation-play-state:paused;}
.strip-item{display:inline-flex; align-items:center; gap:.7rem; font-size:.86rem; letter-spacing:.04em; white-space:nowrap; color:#f1ddcf;}
.strip-item b{color:var(--primary-soft); font-weight:700;}
.strip-item .gem{width:8px;height:8px;background:var(--primary);transform:rotate(45deg);}
@keyframes scrollx{to{transform:translateX(-50%);}}

/* ---------- Section header ---------- */
.sec-head{text-align:center; max-width:640px; margin:0 auto clamp(34px,4vw,56px);}
.sec-head h2{font-size:clamp(2rem,3.6vw,2.9rem); margin:.7rem 0 .6rem;}
.sec-head p{color:var(--muted); font-size:1.05rem;}
.sec-head.left{text-align:left; margin-inline:0;}

/* ---------- Collections ---------- */
.coll-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem;}
.coll-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--r-lg); overflow:hidden; transition:transform .3s, box-shadow .3s, border-color .3s; display:flex; flex-direction:column;}
.coll-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-soft); border-color:var(--primary-soft);}
.coll-thumb{position:relative; aspect-ratio:1/.92; overflow:hidden; background:linear-gradient(160deg,#f7efe0,#efe2cc);}
.coll-thumb img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.coll-card:hover .coll-thumb img{transform:scale(1.06);}
.coll-thumb .tag{position:absolute; top:12px; left:12px; background:rgba(255,253,248,.92); border:1px solid var(--border); color:var(--secondary); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.3rem .6rem; border-radius:999px;}
.coll-body{padding:1.1rem 1.2rem 1.3rem; display:flex; flex-direction:column; gap:.35rem; flex:1;}
.coll-body h3{font-family:var(--ff-display); font-weight:600; font-size:1.42rem; margin:0; color:var(--text);}
.coll-body p{font-size:.86rem; color:var(--muted); margin:0; flex:1;}
.coll-enq{margin-top:.7rem; display:inline-flex; align-items:center; gap:.4rem; font-weight:600; font-size:.86rem; color:var(--secondary); align-self:flex-start;}
.coll-enq svg{width:16px;height:16px; transition:transform .2s;}
.coll-card:hover .coll-enq svg{transform:translateX(4px);}

/* diamond feature band */
.diamond-band{margin-top:1.3rem; display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:1.3rem;}
.dia-feature{position:relative; border-radius:var(--r-lg); overflow:hidden; background:#2a1430; color:#fff; padding:2.2rem; display:flex; flex-direction:column; justify-content:flex-end; min-height:300px;}
.dia-feature::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 70% 30%, rgba(201,162,39,.28), transparent 55%);}
.dia-feature h3{font-family:var(--ff-display); font-size:2.1rem; font-weight:600; margin:.4rem 0; position:relative;}
.dia-feature p{position:relative; color:rgba(255,255,255,.78); font-size:.94rem; max-width:30ch;}
.dia-feature .eyebrow{color:var(--primary-soft); position:relative;}
.dia-feature .eyebrow::before{background:var(--primary);}
.dia-feature .btn{margin-top:1.2rem; align-self:flex-start; position:relative;}
.dia-card{position:relative; border-radius:var(--r-lg); overflow:hidden; min-height:300px; border:1px solid var(--border);}
.dia-card img{width:100%; height:100%; object-fit:cover; transition:transform .6s;}
.dia-card:hover img{transform:scale(1.05);}
.dia-card .dc-label{position:absolute; left:0; right:0; bottom:0; padding:1.4rem 1.2rem .9rem; background:linear-gradient(transparent, rgba(20,8,24,.82)); color:#fff;}
.dia-card .dc-label h4{font-family:var(--ff-display); font-size:1.4rem; font-weight:600; margin:0;}
.dia-card .dc-label span{font-size:.8rem; color:rgba(255,255,255,.75);}

/* ---------- Services / why visit ---------- */
.serv{background:var(--surface-2);}
.serv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem;}
.serv-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:1.6rem 1.5rem; transition:transform .25s, box-shadow .25s;}
.serv-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-soft);}
.serv-card .si{width:46px; height:46px; border-radius:12px; background:rgba(31,77,58,.1); display:flex; align-items:center; justify-content:center; margin-bottom:1rem; color:var(--accent);}
.serv-card .si svg{width:24px;height:24px;}
.serv-card h3{font-family:var(--ff-display); font-size:1.4rem; font-weight:600; margin:0 0 .4rem;}
.serv-card p{margin:0; color:var(--muted); font-size:.92rem;}

/* ---------- About split ---------- */
.about-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,64px); align-items:center;}
.about-media{position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-soft); border:1px solid var(--border);}
.about-media img{width:100%; aspect-ratio:16/12; object-fit:cover;}
.about-copy h2{font-size:clamp(2rem,3.4vw,2.8rem); margin:.6rem 0 1rem;}
.about-copy p{color:var(--muted); margin-bottom:1rem;}
.about-stats{display:flex; gap:2rem; margin-top:1.6rem; flex-wrap:wrap;}
.about-stats .as{display:flex; flex-direction:column;}
.about-stats .as b{font-family:var(--ff-display); font-size:2.1rem; font-weight:700; color:var(--secondary); line-height:1;}
.about-stats .as span{font-size:.8rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em;}

/* ---------- Visit ---------- */
.visit{background:linear-gradient(180deg,var(--bg),var(--surface-2));}
.visit-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(26px,3vw,48px); align-items:stretch;}
.visit-info{display:flex; flex-direction:column; gap:1rem;}
.info-card{background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:1.3rem 1.4rem; display:flex; gap:1rem; align-items:flex-start;}
.info-card .ic{width:42px;height:42px;border-radius:11px;background:rgba(122,37,51,.09);display:flex;align-items:center;justify-content:center;color:var(--secondary);flex:none;}
.info-card .ic svg{width:21px;height:21px;}
.info-card h4{margin:0 0 .25rem; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:600;}
.info-card p{margin:0; font-size:1.02rem; color:var(--text);}
.info-card p.big{font-family:var(--ff-display); font-size:1.3rem; font-weight:600;}
.info-card a{color:var(--secondary); font-weight:600;}
.visit-actions{display:flex; gap:.7rem; flex-wrap:wrap; margin-top:.3rem;}
.map-wrap{position:relative; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--border); min-height:360px; background:
  repeating-linear-gradient(45deg,#efe6d4 0 14px,#f5eede 14px 28px);}
.map-ph{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.7rem; text-align:center; padding:2rem; color:var(--muted);}
.map-ph .pin{width:54px;height:54px;border-radius:50% 50% 50% 0; background:var(--secondary); transform:rotate(-45deg); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-soft);}
.map-ph .pin span{transform:rotate(45deg); color:var(--primary-soft); font-weight:700; font-size:1.1rem;}
.map-ph code{font-family:var(--ff-num); font-size:.76rem; background:rgba(255,255,255,.7); padding:.3rem .6rem; border-radius:6px; border:1px solid var(--border);}
.map-ph .btn{margin-top:.4rem;}

/* ---------- Enquiry form ---------- */
.enquire{background:var(--secondary-deep); color:#f4e6d9; position:relative; overflow:hidden;}
.enquire::before{content:""; position:absolute; top:-140px; left:-120px; width:420px; height:420px; background:radial-gradient(circle, rgba(201,162,39,.20), transparent 65%);}
.enq-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,4vw,70px); align-items:start; position:relative;}
.enq-intro h2{font-size:clamp(2rem,3.4vw,2.9rem); color:#fff; margin:.6rem 0 1rem;}
.enq-intro p{color:rgba(244,230,217,.8);}
.enq-intro .eyebrow{color:var(--primary-soft);}
.enq-intro .eyebrow::before{background:var(--primary);}
.enq-contacts{margin-top:1.6rem; display:grid; gap:.9rem;}
.enq-contacts a, .enq-contacts div{display:flex; align-items:center; gap:.8rem; color:#f4e6d9; font-size:1.02rem;}
.enq-contacts .ec-ic{width:40px;height:40px;border-radius:11px;background:rgba(201,162,39,.16);display:flex;align-items:center;justify-content:center;color:var(--primary-soft);flex:none;}
.enq-contacts .ec-ic svg{width:20px;height:20px;}
.enq-contacts a:hover{color:#fff;}

.enq-form{background:var(--surface); border-radius:var(--r-lg); padding:clamp(1.4rem,2.6vw,2.2rem); color:var(--text); box-shadow:var(--shadow-soft);}
.fld{margin-bottom:1rem;}
.fld label{display:block; font-size:.78rem; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--muted); margin-bottom:.4rem;}
.fld input,.fld select,.fld textarea{
  width:100%; font-family:inherit; font-size:.98rem; color:var(--text);
  padding:.8rem .9rem; border:1.5px solid var(--border); border-radius:10px; background:var(--bg);
  transition:border-color .2s, box-shadow .2s;
}
.fld textarea{resize:vertical; min-height:104px;}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none; border-color:var(--secondary); box-shadow:0 0 0 3px rgba(122,37,51,.12);}
.fld.err input,.fld.err select,.fld.err textarea{border-color:#b4322e; background:#fdf3f2;}
.fld .em{color:#b4322e; font-size:.78rem; margin-top:.3rem; display:none;}
.fld.err .em{display:block;}
.fld-row{display:grid; grid-template-columns:1fr 1fr; gap:.9rem;}
.chips{display:flex; gap:.5rem; flex-wrap:wrap;}
.chip{padding:.5rem .9rem; border:1.5px solid var(--border); border-radius:999px; font-size:.85rem; font-weight:500; background:var(--bg); transition:all .18s;}
.chip.on{background:var(--secondary); color:#fff; border-color:var(--secondary);}
.form-note{font-size:.78rem; color:var(--muted); margin-top:.4rem;}
.form-success{text-align:center; padding:2rem 1rem; display:flex; flex-direction:column; align-items:center; gap:.8rem;}
.form-success .fs-ic{width:64px;height:64px;border-radius:50%;background:rgba(31,77,58,.12);display:flex;align-items:center;justify-content:center;color:var(--accent);}
.form-success .fs-ic svg{width:32px;height:32px;}
.form-success h3{font-family:var(--ff-display); font-size:1.8rem; margin:0;}
.form-success p{color:var(--muted); margin:0; max-width:36ch;}

/* ---------- Footer ---------- */
.footer{background:#2a120f; color:#d9c6ba; padding:clamp(48px,6vw,80px) 0 0;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2.4rem;}
.foot-brand img{width:160px; margin-bottom:1rem; filter:brightness(0) invert(1); opacity:.92;}
.foot-brand p{font-size:.9rem; color:rgba(217,198,186,.75); max-width:32ch;}
.foot-col h5{font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--primary-soft); margin:0 0 1rem;}
.foot-col a,.foot-col p{display:block; font-size:.92rem; color:rgba(217,198,186,.8); margin-bottom:.6rem;}
.foot-col a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(217,198,186,.16); margin-top:2.6rem; padding:1.4rem 0; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.8rem; color:rgba(217,198,186,.6);}
.foot-bottom .demo-note{color:var(--primary-soft);}

/* ---------- Mobile action bar ---------- */
.action-bar{position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--surface); border-top:1px solid var(--border); display:none; padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom)); gap:.5rem; box-shadow:0 -12px 30px -20px rgba(0,0,0,.4);}
.action-bar .btn{flex:1; padding:.8rem .5rem; font-size:.86rem;}

/* ---------- Lightbox ---------- */
.lightbox{position:fixed; inset:0; z-index:300; background:rgba(20,10,8,.9); display:flex; align-items:center; justify-content:center; padding:4vw; opacity:0; pointer-events:none; transition:opacity .25s;}
.lightbox.open{opacity:1; pointer-events:auto;}
.lightbox img{max-width:92vw; max-height:86vh; border-radius:var(--r-md); box-shadow:0 30px 80px -20px rgba(0,0,0,.7);}
.lightbox .lb-close{position:absolute; top:22px; right:22px; width:48px;height:48px;border-radius:50%; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.3); color:#fff; display:flex; align-items:center; justify-content:center;}
.lightbox .lb-close svg{width:24px;height:24px;}
.lightbox .lb-cap{position:absolute; bottom:26px; left:0; right:0; text-align:center; color:rgba(255,255,255,.85); font-family:var(--ff-display); font-size:1.2rem;}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none;} .strip-track{animation:none;}}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .coll-grid{grid-template-columns:repeat(2,1fr);}
  .diamond-band{grid-template-columns:1fr 1fr;}
  .dia-feature{grid-column:1/-1; min-height:220px;}
  .serv-grid{grid-template-columns:1fr 1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .nav-links{display:none;}
  .nav-cta .btn:not(.nav-toggle){display:none;}
  .nav-toggle{display:flex;}
  .hero-grid{grid-template-columns:1fr;}
  .hero-media{max-width:440px; margin:0 auto;}
  .about-grid{grid-template-columns:1fr;}
  .visit-grid{grid-template-columns:1fr;}
  .enq-grid{grid-template-columns:1fr;}
  .utility .u-right{display:none;}
}
@media (max-width:620px){
  body{padding-bottom:70px;}
  .action-bar{display:flex;}
  .coll-grid{grid-template-columns:1fr 1fr; gap:.9rem;}
  .diamond-band{grid-template-columns:1fr;}
  .serv-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .fld-row{grid-template-columns:1fr;}
  .hero-trust{gap:1.1rem;}
  .utility .u-left{gap:.9rem; font-size:.74rem;}
  .about-stats{gap:1.4rem;}
}

/* BytesGlue QA map patch */
.bg-map-embed{display:block!important;position:relative!important;width:100%!important;min-height:240px!important;border-radius:12px!important;overflow:hidden!important;background:#e9edf1!important;box-shadow:0 0 0 1px rgba(0,0,0,.08) inset!important}
.bg-map-embed iframe{display:block!important;width:100%!important;min-height:260px!important;border:0!important}
.bg-map-embed + .bg-map-embed,
.bg-map-embed + .pin,
.bg-map-embed + .lbl,
.bg-map-embed + .corner-note,
.bg-map-embed + .placeholder,
.bg-map-embed + .center,
.bg-map-embed + [class*="map-note"],
.bg-map-embed + [class*="map-tag"]{display:none!important}
.map .placeholder .pin,.map-ph .pin,.map-pin,.map-marker,.map-ph__pin,.map-ph__pin .dot,.map-ph__pin .pin,.map-ph .mi{max-width:18px!important;max-height:18px!important;width:18px!important;height:18px!important;box-shadow:none!important}
.map .placeholder .pin svg,.map-ph .pin svg,.map-pin svg,.map-marker svg,.map-ph__pin svg,.map-ph .mi{width:12px!important;height:12px!important}
.map-note,.map-tag,[class*="map-note"],[class*="map-tag"]{display:none!important}
