/* ============================================================
   MM INTERIORS — design tokens
   Palette: night-site concrete + blueprint steel + brass fittings
   ============================================================ */
:root{
  --ink:#FFFFFF;
  --ink-2:#F3F5FA;
  --panel:#FFFFFF;
  --panel-2:#F7F9FD;
  --hair:rgba(16,24,48,.10);
  --hair-strong:rgba(16,24,48,.20);
  --steel:#2F5CFF;
  --brass:#4F6EF7;
  --brass-soft:rgba(79,110,247,.10);
  --text:#0B1220;
  --muted:#5B6579;
  --white:#0B1220;

  --shell:min(1240px, 92vw);
  --r-lg:18px;
  --r-md:12px;

  --f-display:"Sora", "Segoe UI", system-ui, sans-serif;
  --f-body:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;

  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--f-body);
  font-size:16.5px;
  line-height:1.65;
  font-weight:350;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);font-weight:600;line-height:1.08;letter-spacing:-.02em;margin:0}
p{margin:0}

:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:4px}

.shell{width:var(--shell);margin-inline:auto}
.band{padding:clamp(76px,9.5vw,136px) 0;position:relative}
.band--tight{padding:clamp(56px,6vw,84px) 0}

/* ---------- section heading ---------- */
.head{max-width:62ch;margin-bottom:clamp(34px,4.5vw,58px)}
.head h2{font-size:clamp(28px,4.3vw,50px)}
.head p{color:var(--muted);margin-top:16px;font-size:clamp(15px,1.5vw,17.5px);max-width:58ch}
.rule{width:56px;height:2px;background:var(--brass);margin-bottom:22px;border-radius:2px}

/* ============================================================
   NAV
   ============================================================ */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:90;
  padding:16px 0;
  transition:background .4s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
  border-bottom:1px solid transparent;
  backdrop-filter:blur(0px);
}
.nav.is-stuck{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--hair);
  box-shadow:0 8px 30px rgba(16,24,48,.06);
  padding:10px 0;
}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.brand__mark{
  width:44px;height:44px;flex:none;border-radius:10px;
  display:grid;place-items:center;
  background:linear-gradient(145deg,#101B33,#060B18);
  border:1px solid var(--hair-strong);
  box-shadow:0 8px 22px rgba(16,24,48,.16), inset 0 1px 0 rgba(255,255,255,.08);
  font-family:var(--f-display);font-weight:700;font-size:16px;letter-spacing:-.04em;
  color:#8FA6FF;
  overflow:hidden;
}
/* REPLACE: drop the logo file in and it will fill this box
   <span class="brand__mark"><img src="images/logo.png" alt="MM Interiors logo"></span> */
.brand__mark img{width:100%;height:100%;object-fit:contain}
.brand__name{font-family:var(--f-display);font-weight:600;font-size:17px;letter-spacing:-.01em;line-height:1.1}
.brand__sub{font-size:11.5px;color:var(--muted);letter-spacing:.06em;line-height:1.1}

.menu{display:flex;align-items:center;gap:6px}
.menu a{
  padding:9px 14px;border-radius:8px;font-size:14.5px;color:var(--muted);
  transition:color .25s var(--ease), background .25s var(--ease);
}
.menu a:hover{color:var(--text);background:rgba(255,255,255,.05)}
.nav__cta{
  display:inline-flex;align-items:center;gap:9px;
  padding:11px 20px;border-radius:999px;
  background:var(--brass);color:#FFFFFF;font-weight:600;font-size:14.5px;
  box-shadow:0 10px 26px rgba(79,110,247,.26);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.nav__cta:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(79,110,247,.34)}

.burger{display:none;width:44px;height:44px;border:1px solid var(--hair-strong);background:rgba(255,255,255,.03);border-radius:10px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.burger i{display:block;width:17px;height:1.6px;background:var(--text);transition:transform .3s var(--ease), opacity .3s var(--ease)}
.nav.is-open .burger i:nth-child(1){transform:translateY(6.6px) rotate(45deg)}
.nav.is-open .burger i:nth-child(2){opacity:0}
.nav.is-open .burger i:nth-child(3){transform:translateY(-6.6px) rotate(-45deg)}

@media (max-width:960px){
  .menu{
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:2px;
    background:rgba(255,255,255,.97);backdrop-filter:blur(16px);
    border-block:1px solid var(--hair);
    padding:14px 4vw 22px;
    transform:translateY(-14px);opacity:0;pointer-events:none;
    transition:opacity .3s var(--ease), transform .3s var(--ease);
  }
  .nav.is-open .menu{opacity:1;transform:none;pointer-events:auto}
  .menu a{padding:13px 8px;font-size:16px;border-bottom:1px solid var(--hair)}
  .nav__cta{display:none}
  .burger{display:flex}
}

/* ============================================================
   HERO — live wireframe build
   ============================================================ */
.hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  padding:150px 0 88px;overflow:hidden;
  background:
    radial-gradient(60% 55% at 85% 30%, rgba(79,110,247,.09) 0%, rgba(79,110,247,0) 70%),
    radial-gradient(50% 45% at 12% 85%, rgba(200,155,60,.07) 0%, rgba(200,155,60,0) 70%),
    #FFFFFF;
}
.hero__in{
  position:relative;z-index:2;width:var(--shell);margin-inline:auto;
  display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(20px,4vw,54px);align-items:center;
}
.hero__copy{max-width:58ch}

.hero__scene{
  position:relative;aspect-ratio:1/1;width:100%;
  animation:heroFloat 7s ease-in-out infinite;
}
.hero__scene svg{width:100%;height:100%;display:block;overflow:visible}
.hero__scene .far,.hero__scene .mid,.hero__scene .near{transition:transform .5s var(--ease)}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media (max-width:960px){
  .hero__in{grid-template-columns:1fr}
  .hero__scene{order:-1;max-width:360px;margin-inline:auto}
}

.tag{
  display:inline-flex;align-items:center;gap:10px;
  padding:7px 15px 7px 11px;border-radius:999px;
  border:1px solid var(--hair-strong);background:var(--brass-soft);
  font-size:13px;color:var(--text);margin-bottom:26px;
}
.tag b{color:var(--brass);font-weight:600}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 0 rgba(79,110,247,.6);animation:pulse 2.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(79,110,247,0)}100%{box-shadow:0 0 0 0 rgba(79,110,247,0)}}

.hero h1{
  font-size:clamp(36px,5.6vw,68px);
  font-weight:600;
  letter-spacing:-.035em;
  line-height:1.02;
}
.hero h1 em{
  font-style:normal;display:block;color:transparent;
  background:linear-gradient(96deg,#2F5CFF 0%, var(--brass) 48%, #1E33C4 100%);
  -webkit-background-clip:text;background-clip:text;
}
.hero__lede{color:var(--muted);font-size:clamp(16px,1.9vw,19.5px);margin-top:26px;max-width:54ch;font-weight:300}
.hero__acts{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:15px 28px;border-radius:999px;font-weight:600;font-size:15.5px;
  border:1px solid transparent;cursor:pointer;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);
}
.btn--brass{background:var(--brass);color:#FFFFFF;box-shadow:0 14px 34px rgba(79,110,247,.28)}
.btn--brass:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(79,110,247,.38)}
.btn--ghost{border-color:var(--hair-strong);background:rgba(255,255,255,.035);color:var(--text)}
.btn--ghost:hover{transform:translateY(-3px);border-color:var(--steel);background:rgba(45,63,110,.1)}
.flag .btn--ghost, .map .btn--ghost{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#F3F6FF}
.flag .btn--ghost:hover, .map .btn--ghost:hover{border-color:var(--brass);background:rgba(255,255,255,.14)}
.btn--wa{background:#1FA855;color:#fff;box-shadow:0 14px 34px rgba(31,168,85,.26)}
.btn--wa:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(31,168,85,.36)}

.hero__stats{
  display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,62px);
  margin-top:clamp(48px,6vw,74px);padding-top:30px;border-top:1px solid var(--hair);
}
.stat b{display:block;font-family:var(--f-display);font-size:clamp(26px,3.6vw,40px);font-weight:600;letter-spacing:-.03em;color:var(--white)}
.stat span{font-size:13.5px;color:var(--muted)}

.scroll-hint{
  position:absolute;left:50%;bottom:26px;translate:-50% 0;z-index:3;
  font-size:11.5px;color:var(--muted);letter-spacing:.14em;
  display:flex;flex-direction:column;align-items:center;gap:9px;
}
.scroll-hint i{display:block;width:1px;height:42px;background:linear-gradient(var(--brass),transparent);animation:drop 2.4s var(--ease) infinite}
@keyframes drop{0%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(.2);transform-origin:bottom}}
@media (max-width:700px){.scroll-hint{display:none}}

/* ============================================================
   MARQUEE STRIP
   ============================================================ */
.strip{border-block:1px solid var(--hair);background:var(--ink-2);overflow:hidden;padding:17px 0}
.strip__track{display:flex;gap:44px;width:max-content;animation:slide 38s linear infinite}
.strip:hover .strip__track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.strip__track span{display:flex;align-items:center;gap:44px;font-size:13.5px;color:var(--muted);white-space:nowrap}
.strip__track span::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--brass);opacity:.65}

/* ============================================================
   ABOUT
   ============================================================ */
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(34px,5vw,74px);align-items:center}
.about p + p{margin-top:18px}
.about .lead{font-size:clamp(17px,2vw,21px);color:var(--text);font-weight:300;line-height:1.5}
.about .body{color:var(--muted);font-size:16px}

.founders{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
.founder{
  padding:18px;border-radius:var(--r-md);
  background:linear-gradient(160deg,var(--panel),rgba(79,110,247,.035));
  border:1px solid var(--hair);
}
.founder .ph{
  width:100%;aspect-ratio:1/1;border-radius:10px;margin-bottom:13px;
  background:
    linear-gradient(135deg, rgba(79,110,247,.1), rgba(45,63,110,.08)),
    repeating-linear-gradient(45deg, rgba(16,24,48,.035) 0 10px, transparent 10px 20px);
  border:1px dashed var(--hair-strong);
  display:grid;place-items:center;color:var(--muted);font-size:11px;text-align:center;padding:8px;
}
/* REPLACE the .ph div with: <img src="images/founder-mohsin.jpg" alt="Mohd Mohsin, Founder"> */
.founder img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;margin-bottom:13px}
.founder b{display:block;font-family:var(--f-display);font-size:16px;font-weight:600}
.founder span{font-size:13px;color:var(--brass)}

/* 3D card stack */
.stack{perspective:1400px;position:relative;min-height:420px}
.stack__card{
  position:absolute;inset:0;border-radius:var(--r-lg);
  border:1px solid var(--hair);
  background:linear-gradient(155deg,var(--panel-2),var(--ink-2));
  box-shadow:0 30px 70px rgba(16,24,48,.12);
  transform-style:preserve-3d;
  transition:transform .8s var(--ease);
}
.stack__card:nth-child(1){transform:translate3d(38px,-30px,-160px) rotateY(-16deg) rotateX(6deg);opacity:.42}
.stack__card:nth-child(2){transform:translate3d(20px,-15px,-80px) rotateY(-11deg) rotateX(4deg);opacity:.7}
.stack__card:nth-child(3){transform:rotateY(-7deg) rotateX(2.5deg)}
.stack:hover .stack__card:nth-child(1){transform:translate3d(54px,-44px,-140px) rotateY(-19deg) rotateX(7deg)}
.stack:hover .stack__card:nth-child(2){transform:translate3d(30px,-22px,-64px) rotateY(-13deg) rotateX(5deg)}
.stack:hover .stack__card:nth-child(3){transform:rotateY(-4deg) rotateX(1deg) translateZ(24px)}
.stack__card--top{padding:30px;display:flex;flex-direction:column;justify-content:space-between}
.stack__num{font-family:var(--f-display);font-size:clamp(52px,7vw,76px);font-weight:700;letter-spacing:-.05em;color:var(--white);line-height:1}
.stack__num s{text-decoration:none;color:var(--brass)}
.stack__card--top p{color:var(--muted);font-size:14.5px;max-width:34ch}
.stack__grid{
  height:46%;border-radius:12px;border:1px solid var(--hair);
  background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);
  background-size:26px 26px;
  position:relative;overflow:hidden;
}
.stack__grid::after{
  content:"";position:absolute;left:14%;right:22%;top:20%;bottom:16%;
  border:1.5px solid var(--brass);border-radius:4px;background:var(--brass-soft);
}

@media (max-width:900px){
  .about{grid-template-columns:1fr}
  .stack{min-height:340px;order:-1}
}

/* ============================================================
   SERVICES — tilting depth cards
   ============================================================ */
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
.card{
  position:relative;padding:26px 24px 28px;border-radius:var(--r-md);
  background:linear-gradient(165deg,#FFFFFF,#F7F9FF);
  box-shadow:0 14px 34px rgba(16,24,48,.05);
  border:1px solid var(--hair);
  transform-style:preserve-3d;
  transition:transform .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  will-change:transform;
  overflow:hidden;
}
.card::before{
  content:"";position:absolute;inset:0;opacity:0;transition:opacity .35s var(--ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%), rgba(79,110,247,.14), transparent 62%);
}
.card:hover{border-color:rgba(79,110,247,.45);box-shadow:0 30px 60px rgba(16,24,48,.14)}
.card:hover::before{opacity:1}
.card__ico{
  width:42px;height:42px;border-radius:10px;display:grid;place-items:center;
  background:var(--brass-soft);border:1px solid rgba(79,110,247,.3);margin-bottom:18px;
  transform:translateZ(26px);
}
.card__ico svg{width:20px;height:20px;stroke:var(--brass);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.card h3{font-size:17.5px;font-weight:600;transform:translateZ(18px)}
.card p{color:var(--muted);font-size:14.3px;margin-top:9px;transform:translateZ(10px)}

/* ============================================================
   FLAGSHIP — Mall of Asia
   ============================================================ */
.flag{
  position:relative;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--hair-strong);
  background:linear-gradient(120deg,#0C1524 0%,#111C2E 48%,#0A0F1A 100%);
  padding:clamp(32px,5vw,64px);
}
.flag::before{
  content:"";position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(rgba(45,63,110,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(45,63,110,.09) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:radial-gradient(90% 70% at 70% 30%, #000, transparent 76%);
}
.flag__in{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:center}
.flag h2{font-size:clamp(26px,3.7vw,44px);color:#F6F8FF}
.flag p{color:rgba(230,236,250,.72);margin-top:18px;font-size:16.5px;max-width:50ch;font-weight:300}
.flag__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{padding:8px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.16);font-size:13px;color:rgba(230,236,250,.8);background:rgba(255,255,255,.05)}
.bigcount{
  font-family:var(--f-display);font-weight:700;letter-spacing:-.05em;
  font-size:clamp(90px,15vw,190px);line-height:.82;
  color:transparent;-webkit-text-stroke:1.5px rgba(79,110,247,.55);
  position:relative;
}
.bigcount small{
  display:block;-webkit-text-stroke:0;color:var(--brass);
  font-size:15px;font-weight:500;letter-spacing:0;margin-top:14px;line-height:1.4;
}
@media (max-width:900px){.flag__in{grid-template-columns:1fr}}

/* ============================================================
   PROJECTS
   ============================================================ */
.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:26px}
.filter{
  padding:9px 17px;border-radius:999px;border:1px solid var(--hair);
  background:transparent;color:var(--muted);font-size:13.8px;cursor:pointer;
  transition:all .25s var(--ease);
}
.filter:hover{color:var(--text);border-color:var(--hair-strong)}
.filter.is-on{background:var(--brass);border-color:var(--brass);color:#FFFFFF;font-weight:600}

.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:15px}
.shot{
  position:relative;border-radius:var(--r-md);overflow:hidden;
  border:1px solid var(--hair);
  aspect-ratio:4/3;
  background:linear-gradient(150deg,#F1F4F9,#E4E9F2);
  transition:transform .5s var(--ease), border-color .4s var(--ease), box-shadow .5s var(--ease);
  transform-style:preserve-3d;
}
.shot.is-hidden{display:none}
.shot:hover{transform:translateY(-7px) scale(1.012);border-color:rgba(79,110,247,.4);box-shadow:0 34px 64px rgba(16,24,48,.16)}
.shot--wide{grid-column:span 2}
@media (max-width:720px){.shot--wide{grid-column:span 1}}
/* REPLACE .shot__ph with: <img src="images/project-01.jpg" alt="Retail fit-out at Mall of Asia"> */
.shot img{width:100%;height:100%;object-fit:cover}
.shot__ph{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(45,63,110,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(45,63,110,.10) 1px,transparent 1px);
  background-size:34px 34px;
  display:grid;place-items:center;
}
.shot__ph i{
  width:56%;height:46%;border:1.5px solid rgba(79,110,247,.4);border-radius:6px;
  background:linear-gradient(140deg,rgba(79,110,247,.1),transparent);
  display:grid;place-items:center;font-size:11px;font-style:normal;color:var(--muted);text-align:center;padding:10px;
}
.shot__cap{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  padding:20px;
  background:linear-gradient(transparent,rgba(255,255,255,.93));
}
.shot__cap b{display:block;font-family:var(--f-display);font-size:16px;font-weight:600;color:#F6F8FF}
.shot__cap span{font-size:12.8px;color:rgba(230,236,250,.68)}

/* ============================================================
   3D SCENE ENGINE — isometric interiors, depth on hover
   ============================================================ */
.scene,.scene-slot{position:absolute;inset:0;overflow:hidden}
.scene svg{width:100%;height:100%;display:block}
.scene g{transition:transform .7s var(--ease)}
.shot:hover .scene .near{transform:translate(0,-9px)}
.shot:hover .scene .mid{transform:translate(0,-4px)}
.shot:hover .scene .far{transform:translate(0,4px)}
.ind:hover .scene .near{transform:translate(0,-7px)}
.ind:hover .scene .far{transform:translate(0,3px)}

.ind__viz{
  position:relative;height:150px;margin:-6px -4px 18px;
  border-radius:10px;overflow:hidden;
  border:1px solid var(--hair);
  background:linear-gradient(165deg,#F1F4F9,#E4E9F2);
}

.flagviz{
  position:relative;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--hair-strong);
  background:linear-gradient(165deg,#F1F4F9,#E4E9F2);
  box-shadow:0 40px 80px rgba(16,24,48,.14);
}
.flagviz .bigcount{
  position:absolute;right:20px;bottom:14px;margin:0;text-align:right;
  font-size:clamp(56px,8vw,104px);
}
.flagviz .bigcount small{font-size:13px}

/* ============================================================
   INDUSTRIES
   ============================================================ */
.inds{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:var(--r-md);overflow:hidden}
.ind{
  background:var(--ink-2);padding:28px 24px;position:relative;
  transition:background .35s var(--ease);
}
.ind:hover{background:var(--panel-2)}
.ind svg{width:24px;height:24px;stroke:var(--steel);fill:none;stroke-width:1.5;margin-bottom:16px}
.ind b{display:block;font-family:var(--f-display);font-size:16px;font-weight:500}
.ind span{font-size:13.5px;color:var(--muted)}

/* ============================================================
   WHY US
   ============================================================ */
.why{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.why__item{padding-top:22px;border-top:2px solid var(--hair)}
.why__item:hover{border-top-color:var(--brass)}
.why__item{transition:border-color .4s var(--ease)}
.why__item b{display:block;font-family:var(--f-display);font-size:17px;font-weight:600;margin-bottom:9px}
.why__item p{color:var(--muted);font-size:14.5px}

/* ============================================================
   PROCESS — a genuine sequence, so numbers earn their place
   ============================================================ */
.proc{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px}
.proc::before{content:"";position:absolute;left:0;right:0;top:19px;height:1px;background:var(--hair)}
.step{position:relative;padding-top:52px}
.step::before{
  content:attr(data-n);
  position:absolute;top:0;left:0;
  width:40px;height:40px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--ink);border:1px solid var(--hair-strong);
  font-family:var(--f-display);font-size:14px;font-weight:600;color:var(--brass);
}
.step b{display:block;font-family:var(--f-display);font-size:16.5px;font-weight:600;margin-bottom:8px}
.step p{color:var(--muted);font-size:14.3px}
@media (max-width:640px){.proc::before{display:none}}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.says{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.say{
  padding:30px 26px;border-radius:var(--r-md);
  background:linear-gradient(165deg,var(--panel),var(--panel-2));
  box-shadow:0 14px 34px rgba(16,24,48,.05);
  border:1px solid var(--hair);
  position:relative;
}
.say q{display:block;font-size:16px;color:#232B3D;font-style:normal;line-height:1.62;font-weight:300}
.say q::before{content:"“";font-family:var(--f-display);font-size:46px;color:var(--brass);opacity:.5;line-height:0;position:relative;top:14px;margin-right:4px}
.say footer{margin-top:22px;padding-top:16px;border-top:1px solid var(--hair);display:flex;align-items:center;gap:12px}
.say__av{width:38px;height:38px;border-radius:50%;background:linear-gradient(140deg,#1D2A40,#0D1523);border:1px solid var(--hair-strong);display:grid;place-items:center;font-family:var(--f-display);font-size:14px;color:var(--brass)}
.say b{display:block;font-size:14.5px;font-weight:600;font-family:var(--f-display)}
.say span{font-size:12.6px;color:var(--muted)}

/* ============================================================
   CONTACT
   ============================================================ */
.contact{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(30px,4.5vw,60px);align-items:start}
.info{display:grid;gap:14px;margin-top:32px}
.info a, .info div{
  display:flex;gap:15px;align-items:flex-start;
  padding:18px 20px;border-radius:var(--r-md);
  border:1px solid var(--hair);background:var(--ink-2);
  transition:border-color .3s var(--ease), transform .3s var(--ease), background .3s var(--ease);
}
.info a:hover{border-color:rgba(79,110,247,.45);transform:translateX(5px);background:var(--panel)}
.info svg{width:19px;height:19px;stroke:var(--brass);fill:none;stroke-width:1.6;flex:none;margin-top:3px}
.info b{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
.info span{font-size:15.5px;color:var(--text);font-family:var(--f-display);font-weight:500;letter-spacing:-.01em}
.info small{font-size:14.5px;color:var(--text);font-weight:400;line-height:1.5;display:block}

.form{
  padding:clamp(26px,3.4vw,40px);border-radius:var(--r-lg);
  border:1px solid var(--hair-strong);
  background:linear-gradient(165deg,var(--panel-2),#FFFFFF);
  box-shadow:0 30px 70px rgba(16,24,48,.10);
}
.form h3{font-size:23px;margin-bottom:6px}
.form > p{color:var(--muted);font-size:14.5px;margin-bottom:24px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.field{margin-bottom:13px}
.field label{display:block;font-size:12.8px;color:var(--muted);margin-bottom:7px}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border-radius:10px;
  background:#FFFFFF;border:1px solid var(--hair-strong);
  color:var(--text);font-size:15px;
  transition:border-color .25s var(--ease), background .25s var(--ease);
}
.field textarea{resize:vertical;min-height:96px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brass);background:#FFFFFF;box-shadow:0 0 0 3px rgba(79,110,247,.12)}
.field select option{background:#FFFFFF;color:var(--text)}
.form .btn{width:100%;justify-content:center;margin-top:8px}
.form__note{font-size:12.6px;color:var(--muted);text-align:center;margin-top:14px}

.map{
  margin-top:42px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--hair);
  position:relative;min-height:290px;
  background:
    radial-gradient(70% 60% at 62% 45%, rgba(79,110,247,.10), transparent 70%),
    linear-gradient(160deg,#0C1424,#080D17);
  display:flex;align-items:flex-end;
}
.map__lines{position:absolute;inset:0;opacity:.55}
.map__lines svg{width:100%;height:100%}
.map__card{
  position:relative;margin:22px;padding:22px 24px;border-radius:var(--r-md);
  background:rgba(8,12,20,.9);backdrop-filter:blur(10px);border:1px solid var(--hair-strong);
  max-width:400px;
}
.map__card b{display:block;font-family:var(--f-display);font-size:16.5px;margin-bottom:6px;color:#F6F8FF}
.map__card p{font-size:14px;color:rgba(230,236,250,.7);margin-bottom:16px}
.pin{
  position:absolute;left:62%;top:42%;width:18px;height:18px;border-radius:50%;
  background:var(--brass);box-shadow:0 0 0 0 rgba(79,110,247,.55);animation:pulse 2.6s infinite;
  border:3px solid rgba(255,255,255,.8);
}
@media (max-width:900px){.contact{grid-template-columns:1fr}.row{grid-template-columns:1fr}}

/* ============================================================
   FOOTER + FLOATING ACTIONS
   ============================================================ */
.foot{border-top:1px solid var(--hair);background:var(--ink-2);padding:56px 0 34px}
.foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px}
.foot p{color:var(--muted);font-size:14.3px;margin-top:16px;max-width:42ch}
.foot h4{font-size:14px;font-weight:600;margin-bottom:16px;font-family:var(--f-display)}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.foot ul a{font-size:14.2px;color:var(--muted);transition:color .25s var(--ease)}
.foot ul a:hover{color:var(--brass)}
.socials{display:flex;gap:10px;margin-top:22px}
.socials a{width:38px;height:38px;border-radius:9px;border:1px solid var(--hair);display:grid;place-items:center;transition:all .3s var(--ease)}
.socials a:hover{border-color:var(--brass);background:var(--brass-soft);transform:translateY(-3px)}
.socials svg{width:17px;height:17px;stroke:var(--muted);fill:none;stroke-width:1.6}
.socials a:hover svg{stroke:var(--brass)}
.foot__end{margin-top:44px;padding-top:22px;border-top:1px solid var(--hair);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:13px;color:var(--muted)}
@media (max-width:800px){.foot__grid{grid-template-columns:1fr}}

.fabs{position:fixed;right:18px;bottom:18px;z-index:80;display:grid;gap:11px}
.fab{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  box-shadow:0 12px 30px rgba(0,0,0,.45);
  transition:transform .3s var(--ease);
}
.fab:hover{transform:scale(1.08)}
.fab--wa{background:#25D366}
.fab--call{background:var(--brass)}
.fab svg{width:25px;height:25px;fill:#FFFFFF}
@media (max-width:600px){.fabs{right:14px;bottom:14px}.fab{width:50px;height:50px}}

/* ============================================================
   REVEAL
   ============================================================ */
.rv{opacity:0;transform:translateY(26px);transition:opacity .85s var(--ease), transform .85s var(--ease)}
.rv.in{opacity:1;transform:none}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none}
}
