/* ===== MetroFlow Concrete Pumping — premium redesign ===== */
:root{
  --blue:#02B7F0;
  --blue-2:#5fd6ff;
  --blue-deep:#0883ad;
  --ink:#070a0e;
  --bg:#0a0d12;
  --bg-2:#0c1016;
  --panel:#0f141b;
  --panel-2:#141a22;
  --line:#1b232d;
  --line-2:#26303c;
  --text:#eef2f6;
  --muted:#9fadbb;
  --muted-2:#6c7884;
  --steel:#c3ccd6;
  --maxw:1180px;
  --r:18px;
  --r-sm:12px;
  --shadow:0 30px 70px -30px rgba(0,0,0,.8);
  --font:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --disp:"Archivo",var(--font);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:rgba(2,183,240,.35);color:#fff}
:focus{outline:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}
svg.ic{width:1em;height:1em;fill:currentColor;flex:none;vertical-align:-.12em}
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}
.hl{color:var(--blue)}

/* Buttons */
.btn{--pad:.95rem 1.6rem;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--disp);font-weight:700;font-size:.95rem;letter-spacing:.2px;padding:var(--pad);
  border-radius:10px;border:1px solid transparent;cursor:pointer;transition:.25s;white-space:nowrap;line-height:1}
.btn--sm{--pad:.6rem 1.05rem;font-size:.86rem}
.btn--lg{--pad:1.05rem 2rem;font-size:1.02rem}
.btn--block{display:flex;width:100%}
.btn--solid{background:linear-gradient(180deg,#2cc7f5,var(--blue) 60%);color:#04141c;border-color:var(--blue);box-shadow:0 10px 26px -14px rgba(2,183,240,.55)}
.btn--solid::before{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);transition:left .55s ease;pointer-events:none}
.btn--solid:hover{background:linear-gradient(180deg,var(--blue-2),#12bef2 60%);transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(2,183,240,.65)}
.btn--solid:hover::before{left:130%}
.btn--line{background:transparent;border-color:var(--line-2);color:var(--text)}
.btn--line:hover{border-color:var(--blue);color:var(--blue)}
.btn--glass{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(6px)}
.btn--glass:hover{border-color:#fff;transform:translateY(-2px)}

.kick{display:inline-block;font-family:var(--disp);font-weight:700;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem}
.tag{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--disp);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel);
  padding:.5rem .9rem;border:1px solid var(--line-2);border-radius:999px;background:rgba(255,255,255,.02)}
.tag__dot{width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(2,183,240,.2)}

/* Top bar */
.topbar{background:#06090d;border-bottom:1px solid var(--line);font-size:.82rem}
.topbar__in{display:flex;align-items:center;gap:1.6rem;height:40px;color:var(--muted)}
.topbar__i{display:inline-flex;align-items:center;gap:.45rem}
.topbar__i .ic{color:var(--blue)}
.topbar__in a:hover{color:var(--blue-2)}
.topbar__in a:last-child{margin-left:auto}

/* Header */
.hdr{position:sticky;top:0;z-index:60;background:rgba(10,13,18,.7);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:.3s}
.hdr.on{background:rgba(7,9,13,.94);border-bottom-color:var(--line)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:72px}
.logo img{height:46px;width:auto}
.nav{display:flex;gap:.2rem}
.nav a{font-family:var(--disp);font-weight:600;font-size:.93rem;color:var(--muted);padding:.55rem .85rem;border-radius:8px;position:relative;transition:.2s}
.nav a:hover{color:#fff}
.nav a::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.4rem;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:.25s}
.nav a:hover::after{transform:scaleX(1)}
.hdr__cta{display:flex;align-items:center;gap:.55rem}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:var(--text);border-radius:2px;transition:.3s}
.burger.x span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{position:relative;min-height:clamp(560px,86vh,860px);display:flex;align-items:center;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1.05);animation:zoom 24s ease-in-out infinite alternate}
@keyframes zoom{to{transform:scale(1.14)}}
.hero__scrim{position:absolute;inset:0;background:
  linear-gradient(95deg,rgba(7,9,13,.94) 0%,rgba(7,9,13,.8) 38%,rgba(7,9,13,.28) 70%,rgba(7,9,13,.55) 100%),
  linear-gradient(0deg,var(--bg),transparent 30%)}
.hero__in{position:relative;padding:5rem 24px 6rem;width:100%;max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(3rem,6vw,5rem);align-items:center}
.hero__copy{max-width:680px}
.hero__hire-card{background:rgba(6,9,13,0.65);backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.hire-card__status{background:rgba(10,13,18,0.9);border-bottom:1px solid var(--line);padding:1rem 1.6rem;display:flex;align-items:center;gap:0.75rem;font-size:0.9rem;color:var(--steel)}
.hire-card__status strong{color:#fff;font-weight:700}
.status-dot{display:block;width:10px;height:10px;background:#10b981;border-radius:50%;box-shadow:0 0 12px #10b981;animation:pulseDot 2s infinite}
@keyframes pulseDot{0%{box-shadow:0 0 0 0 rgba(16,185,129,0.5)}70%{box-shadow:0 0 0 8px rgba(16,185,129,0)}100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}}
.hire-card__body{padding:2.2rem 2.4rem}
.hire-card__body h2{font-family:var(--disp);font-weight:800;font-size:1.6rem;margin-bottom:0.6rem;letter-spacing:-0.5px;color:#fff}
.hire-card__body p{color:var(--muted);font-size:1.02rem;line-height:1.6;margin-bottom:1.8rem}
.hire-card__actions{display:flex;flex-direction:column;gap:0.9rem}
.hero h1{font-family:var(--disp);font-weight:900;line-height:.98;letter-spacing:-1.5px;font-size:clamp(2.7rem,7vw,5.4rem);margin:1.3rem 0 0;text-transform:uppercase;text-shadow:0 2px 30px rgba(4,7,11,.55)}
.hero h1 .hl{color:var(--blue);text-shadow:0 0 44px rgba(2,183,240,.45)}
.hero__copy>p{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--steel);margin:1.5rem 0 0;max-width:560px}
.hero__btns{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.hero__chips{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.hero__chips li{font-size:.85rem;font-weight:600;color:var(--steel);padding:.45rem .9rem;border:1px solid var(--line-2);border-radius:999px;background:rgba(10,13,18,.45);backdrop-filter:blur(6px);transition:border-color .25s,color .25s}
.hero__chips li:hover{border-color:rgba(2,183,240,.5);color:#fff}
.hero__chips li::before{content:"✓ ";color:var(--blue);font-weight:800}

/* Marquee */
.marquee{position:absolute;bottom:0;left:0;right:0;background:var(--blue);color:#04141c;overflow:hidden;border-top:1px solid rgba(0,0,0,.1)}
.marquee__track{display:flex;align-items:center;gap:1.4rem;white-space:nowrap;padding:.7rem 0;width:max-content;animation:scroll 32s linear infinite;font-family:var(--disp);font-weight:800;letter-spacing:.12em;font-size:.92rem}
.marquee__track i{opacity:.5;font-style:normal}
@keyframes scroll{to{transform:translateX(-50%)}}

/* Sections */
.sec{padding:clamp(4rem,8vw,7rem) 0}
.sec--dark{position:relative;background:
  radial-gradient(800px 300px at 85% 0%,rgba(2,183,240,.05),transparent 65%),
  var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec--contact{background:linear-gradient(180deg,var(--bg-2),var(--bg))}
.head{max-width:640px;margin-bottom:clamp(2.2rem,4vw,3rem)}
.head h2{font-family:var(--disp);font-weight:800;letter-spacing:-1px;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.04;text-transform:uppercase}
.head p{color:var(--muted);margin-top:.9rem;font-size:1.05rem}
.head p a{color:var(--blue-2)}
.head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;max-width:none}

/* Service Cards */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.svc{position:relative;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:2rem 1.8rem;display:flex;flex-direction:column;gap:1.2rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.svc::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(340px 200px at 18% 0%,rgba(2,183,240,.09),transparent 70%);opacity:0;transition:opacity .35s;pointer-events:none}
.svc:hover{transform:translateY(-6px);border-color:rgba(2,183,240,.35);box-shadow:var(--shadow)}
.svc:hover::before{opacity:1}
.svc__ic{position:relative;width:88px;height:88px;border-radius:18px;overflow:hidden;border:1px solid rgba(2,183,240,.28);flex:none;background:var(--ink);
  box-shadow:0 12px 30px -12px rgba(0,0,0,.6),0 0 22px -6px rgba(2,183,240,.28),inset 0 0 18px rgba(2,183,240,.1);transition:box-shadow .35s,border-color .35s,transform .35s}
.svc__ic img{width:100%;height:100%;object-fit:cover}
.svc:hover .svc__ic{border-color:rgba(2,183,240,.55);transform:translateY(-2px);
  box-shadow:0 16px 34px -12px rgba(0,0,0,.65),0 0 30px -4px rgba(2,183,240,.45),inset 0 0 22px rgba(2,183,240,.16)}
.svc__body{display:flex;flex-direction:column;flex:1}
.svc__body h3{font-family:var(--disp);font-size:1.35rem;font-weight:800;color:var(--text);margin-bottom:.2rem;letter-spacing:.2px}
.svc__tag{display:inline-block;color:var(--blue);font-size:.78rem;font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.1em}
.svc__body p{color:var(--muted);font-size:.95rem;line-height:1.6}
.svc .ticks{margin-top:auto;padding-top:1.4rem;border-top:1px solid var(--line)}

/* Reels carousel */
.reels{position:relative;margin-top:.5rem}
.reels__viewport{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.4rem 2px 1.4rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.reels__viewport::-webkit-scrollbar{display:none}
.reel{position:relative;flex:0 0 auto;width:248px;aspect-ratio:9/16;border-radius:var(--r);overflow:hidden;scroll-snap-align:start;border:1px solid var(--line-2);background:#000;cursor:pointer;transition:transform .35s,border-color .35s}
.reel:hover{transform:translateY(-6px);border-color:var(--blue)}
.reel img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .3s}
.reel:hover img{transform:scale(1.07)}
.reel__grad{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,7,11,.9) 0%,rgba(4,7,11,.05) 45%,rgba(4,7,11,.35) 100%)}
.reel__play{position:absolute;inset:0;margin:auto;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;
  background:rgba(2,183,240,.92);color:#04141c;box-shadow:0 10px 30px -8px rgba(2,183,240,.7);transition:.3s}
.reel:hover .reel__play{transform:scale(1.12)}
.reel__play svg{width:24px;height:24px;margin-left:3px;fill:currentColor}
.reel__cap{position:absolute;left:0;right:0;bottom:0;padding:1rem .95rem;display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.85rem;font-weight:600}
.reel__cap .ic{color:var(--blue-2)}
.reel__badge{position:absolute;top:.7rem;left:.7rem;font-family:var(--disp);font-weight:700;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:6px;backdrop-filter:blur(4px)}
.reels__nav{position:absolute;top:calc(50% - .7rem);transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);background:rgba(10,13,18,.9);color:#fff;cursor:pointer;font-size:1.1rem;display:grid;place-items:center;transition:.25s;z-index:5}
.reels__nav:hover{background:var(--blue);color:#04141c;border-color:var(--blue)}
.reels__prev{left:-10px}.reels__next{right:-10px}
.reels__follow{flex:none}

/* Why */
.why{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.why__media{position:relative}
.why__media img{width:100%;border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}
.why__stat{position:absolute;left:-14px;bottom:-18px;background:var(--blue);color:#04141c;padding:1rem 1.3rem;border-radius:14px;box-shadow:0 18px 40px -16px rgba(2,183,240,.6);max-width:210px}
.why__stat strong{display:block;font-family:var(--disp);font-weight:900;font-size:1.7rem;line-height:1}
.why__stat span{font-size:.82rem;font-weight:600}
.why__copy h2{font-family:var(--disp);font-weight:800;letter-spacing:-1px;font-size:clamp(2rem,4vw,3rem);line-height:1.05;text-transform:uppercase}
.why__copy>p{color:var(--muted);margin:1rem 0 1.8rem;font-size:1.05rem}
.why__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-bottom:2rem}
.why__item{display:flex;gap:.9rem}
.why__n{font-family:var(--disp);font-weight:800;color:transparent;-webkit-text-stroke:1.4px var(--blue);font-size:1.5rem;line-height:1}
.why__item strong{font-family:var(--disp);font-weight:700;display:block;margin-bottom:.1rem}
.why__item p{color:var(--muted);font-size:.9rem}

/* Gallery */
.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:1rem}
.gal__i{padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer;position:relative;background:none;transition:border-color .3s}
.gal__i:hover{border-color:rgba(2,183,240,.4)}
.gal__i--big{grid-column:span 2;grid-row:span 2}
.gal__i img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gal__i::after{content:attr(data-cap);position:absolute;left:0;right:0;bottom:0;padding:1.3rem 1rem .85rem;color:#fff;font-size:.88rem;font-weight:600;background:linear-gradient(0deg,rgba(4,7,11,.85),transparent);opacity:0;transform:translateY(8px);transition:.3s}
.gal__i:hover img{transform:scale(1.08)}
.gal__i:hover::after{opacity:1;transform:none}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.contact__copy h2{font-family:var(--disp);font-weight:900;letter-spacing:-1px;font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.02;text-transform:uppercase}
.contact__copy>p{color:var(--muted);margin:1rem 0 2rem;font-size:1.05rem}
.contact__list{list-style:none;display:flex;flex-direction:column;gap:1.1rem}
.contact__list li{display:flex;gap:.9rem;align-items:center}
.contact__ic{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(2,183,240,.1);border:1px solid rgba(2,183,240,.25);color:var(--blue-2)}
.contact__list small{display:block;color:var(--muted-2);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}
.contact__list a,.contact__list span{font-family:var(--disp);font-weight:600;color:var(--text)}
.contact__list a:hover{color:var(--blue-2)}
.contact__form{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:1.8rem;display:flex;flex-direction:column;gap:1rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fld{display:flex;flex-direction:column;gap:.45rem}
label{font-size:.84rem;font-weight:600}
input,select,textarea{width:100%;font-family:var(--font);font-size:1rem;color:var(--text);background:var(--ink);border:1px solid var(--line-2);border-radius:10px;padding:.8rem .95rem;transition:.2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(2,183,240,.16)}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239fadbb'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2.2rem}
textarea{resize:vertical}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fstatus{font-size:.92rem;min-height:1.2em;text-align:center;font-weight:600}
.fstatus.ok{color:#3ad994}.fstatus.err{color:#ff6b6b}
.contact__form.sending{opacity:.7;pointer-events:none}

/* Footer */
.ftr{background:#06090d;border-top:1px solid var(--line);padding-top:clamp(3rem,5vw,4rem)}
.ftr__in{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:2rem;padding-bottom:2.5rem}
.ftr__brand img{height:42px;margin-bottom:1rem}
.ftr__brand p{color:var(--muted);font-size:.92rem;max-width:320px;margin-bottom:1rem}
.ftr__ig{display:inline-flex;align-items:center;gap:.45rem;color:var(--steel);font-weight:600;font-size:.9rem}
.ftr__ig:hover{color:var(--blue-2)}
.ftr__col h4{font-family:var(--disp);font-size:.95rem;margin-bottom:1rem}
.ftr__col a,.ftr__col span{display:block;color:var(--muted);font-size:.92rem;padding:.28rem 0;transition:.2s}
.ftr__col a:hover{color:var(--blue-2);transform:translateX(3px)}
.ftr__bar{border-top:1px solid var(--line)}
.ftr__bar-in{display:flex;justify-content:space-between;padding:1.2rem 0;color:var(--muted-2);font-size:.84rem;flex-wrap:wrap;gap:.5rem}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:200;background:rgba(4,7,11,.95);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:5vw}
.lb.open{display:flex}
.lb__fig{max-width:92vw;max-height:88vh;text-align:center}
.lb__fig img{max-width:92vw;max-height:80vh;border-radius:12px;border:1px solid var(--line-2);object-fit:contain}
.lb__fig figcaption{color:var(--text);margin-top:1rem;font-family:var(--disp)}
.lb__close{position:absolute;top:18px;right:26px;background:none;border:0;color:#fff;font-size:2.6rem;cursor:pointer;line-height:1}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid var(--line-2);color:#fff;width:52px;height:52px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:.2s}
.lb__nav:hover{background:var(--blue);color:#04141c}
.lb__prev{left:3vw}.lb__next{right:3vw}

/* FAB */
.fab{position:fixed;right:16px;bottom:16px;z-index:70;background:var(--blue);color:#04141c;font-family:var(--disp);font-weight:700;font-size:.9rem;
  padding:.85rem 1.2rem;border-radius:999px;box-shadow:0 14px 34px -12px rgba(2,183,240,.7);display:none;align-items:center;gap:.45rem;transition:transform .25s}
.fab:hover{transform:translateY(-3px)}

/* Reveal */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.rv.in{opacity:1;transform:none}
/* Staggered reveal inside card grids */
.svc-grid .rv:nth-child(2),.tst-grid .rv:nth-child(2),.proc .rv:nth-child(2),.team-grid .rv:nth-child(2),.vals .rv:nth-child(2),.stats__in .rv:nth-child(2){transition-delay:.08s}
.svc-grid .rv:nth-child(3),.tst-grid .rv:nth-child(3),.proc .rv:nth-child(3),.team-grid .rv:nth-child(3),.vals .rv:nth-child(3),.stats__in .rv:nth-child(3){transition-delay:.16s}
.svc-grid .rv:nth-child(4),.proc .rv:nth-child(4),.team-grid .rv:nth-child(4),.vals .rv:nth-child(4),.stats__in .rv:nth-child(4){transition-delay:.24s}
.svc-grid .rv:nth-child(5){transition-delay:.32s}
.svc-grid .rv:nth-child(6){transition-delay:.4s}

/* Responsive */
@media(max-width:1024px){
  .hero__in{grid-template-columns:1fr;padding-top:7rem}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .gal{grid-template-columns:repeat(2,1fr)}
  .gal__i--big{grid-column:span 2;grid-row:span 1}
  .why,.contact{grid-template-columns:1fr}
  .why__media{max-width:440px}
  .topbar__hide{display:none}
}
@media(max-width:820px){
  .nav{position:fixed;inset:72px 0 auto 0;flex-direction:column;background:rgba(7,9,13,.98);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:1rem 24px 1.4rem;gap:.1rem;transform:translateY(-130%);transition:transform .35s;box-shadow:var(--shadow)}
  .nav.open{transform:none}
  .nav a{padding:.85rem .4rem;border-bottom:1px solid var(--line)}
  .nav a::after{display:none}
  .burger{display:flex}
  .hdr__call{display:none}
  .head--row{flex-direction:column;align-items:flex-start}
  .why__grid{grid-template-columns:1fr}
  .fab{display:inline-flex}
}
@media(max-width:560px){
  .svc-grid{grid-template-columns:1fr}
  .wrap{padding:0 18px}
  .topbar{display:none}
  .row{grid-template-columns:1fr}
  .gal{grid-template-columns:1fr;grid-auto-rows:220px}
  .gal__i--big{grid-column:span 1}
  .hero__btns .btn{flex:1}
  .ftr__in{grid-template-columns:1fr 1fr}
  .ftr__brand{grid-column:1/-1}
  .ac__inner{padding-left:1.3rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}}

/* ============================================================
   Multi-page expansion — inner pages, blog, locations, team
   ============================================================ */

.wrap--narrow{max-width:820px}
.h2-std{font-family:var(--disp);font-weight:800;letter-spacing:-1px;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.06;text-transform:uppercase;margin:.6rem 0 1rem}
.lead-muted{color:var(--muted);font-size:1.05rem}
.lead-muted a{color:var(--blue-2)}
.ic--lg{width:2rem;height:2rem}
.nav a.on{color:#fff}
.nav a.on::after{transform:scaleX(1)}

/* Buttons on cyan band */
.btn--dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--dark:hover{background:#111823;transform:translateY(-2px);box-shadow:0 16px 34px -14px rgba(0,0,0,.5)}
.btn--ghostdark{background:transparent;border-color:rgba(4,20,28,.45);color:#04141c}
.btn--ghostdark:hover{border-color:#04141c;transform:translateY(-2px)}

/* Page hero */
.phero{position:relative;padding:clamp(3.4rem,7vw,5.5rem) 0 clamp(2.6rem,5vw,4rem);background:
  radial-gradient(900px 420px at 85% -10%,rgba(2,183,240,.14),transparent 60%),
  linear-gradient(180deg,#06090d,var(--bg));border-bottom:1px solid var(--line);overflow:hidden}
.phero--img{padding:clamp(5rem,10vw,7.5rem) 0 clamp(3.2rem,6vw,4.8rem)}
.phero__media{position:absolute;inset:0;z-index:0;overflow:hidden}
.phero__media img{width:100%;height:100%;object-fit:cover;object-position:center 35%;transform:scale(1.04);animation:pheroZoom 26s ease-in-out infinite alternate}
@keyframes pheroZoom{to{transform:scale(1.11)}}
.phero__scrim{position:absolute;inset:0;background:
  linear-gradient(95deg,rgba(6,9,13,.97) 0%,rgba(6,9,13,.88) 34%,rgba(7,12,18,.55) 68%,rgba(6,9,13,.72) 100%),
  linear-gradient(0deg,var(--bg) 0%,rgba(10,13,18,.15) 42%,rgba(6,9,13,.5) 100%),
  linear-gradient(120deg,rgba(2,183,240,.1),transparent 55%)}
.phero__in{position:relative;z-index:1}
.phero h1{font-family:var(--disp);font-weight:900;line-height:1;letter-spacing:-1.2px;font-size:clamp(2.2rem,5.4vw,3.9rem);text-transform:uppercase;margin:1rem 0 0;max-width:820px}
.phero--img h1{text-shadow:0 2px 26px rgba(4,7,11,.6)}
.phero--img h1 .hl{text-shadow:0 0 38px rgba(2,183,240,.4)}
.phero__lead{color:var(--steel);font-size:clamp(1rem,1.4vw,1.15rem);margin-top:1.2rem;max-width:640px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted-2);margin-bottom:1.2rem}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--blue-2)}
.crumbs i{font-style:normal;opacity:.5}
.crumbs span{color:var(--steel)}

/* Stats strip */
.stats{background:linear-gradient(180deg,#06090d,var(--bg));border-bottom:1px solid var(--line)}
.stats__in{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.8rem 24px}
.stat{text-align:center;padding:.6rem 0;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat strong{display:block;font-family:var(--disp);font-weight:900;font-size:clamp(1.5rem,2.6vw,2.2rem);color:var(--blue);letter-spacing:-.5px}
.stat span{font-size:.84rem;color:var(--muted)}

/* Service cards as links + SVG icons */
a.svc{color:inherit}
.svc__ic--svg{display:grid;place-items:center;color:var(--blue);background:rgba(2,183,240,.08);border-color:rgba(2,183,240,.25)}
.svc__more{display:inline-flex;align-items:center;gap:.35rem;margin-top:1.1rem;font-family:var(--disp);font-weight:700;font-size:.85rem;color:var(--blue);letter-spacing:.04em}
.svc:hover .svc__more{color:var(--blue-2)}
.svc-grid--3{grid-template-columns:repeat(3,1fr)}
.svc-grid--compact{gap:1rem;margin:1.4rem 0 .6rem}
.svc--mini{padding:1.2rem;flex-direction:row;align-items:center;gap:.9rem}
.svc--mini .svc__ic{width:54px;height:54px;border-radius:12px;box-shadow:0 0 16px -6px rgba(2,183,240,.3),inset 0 0 12px rgba(2,183,240,.08)}
.svc--mini h3{font-size:1rem;margin:0}
.svc--mini .svc__tag{margin:0;font-size:.7rem}

/* Process steps */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.proc--tight{margin:1.2rem 0 .6rem;grid-template-columns:repeat(2,1fr)}
.proc__step{position:relative;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.5rem}
.proc__step{transition:transform .3s,border-color .3s}
.proc__step:hover{transform:translateY(-3px);border-color:rgba(2,183,240,.3)}
.proc__n{display:block;font-family:var(--disp);font-weight:900;font-size:2.2rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--blue);margin-bottom:.9rem}
.proc__step h3{font-family:var(--disp);font-weight:800;font-size:1.08rem;margin-bottom:.4rem}
.proc__step p{color:var(--muted);font-size:.92rem}

/* Team teaser */
.teamteaser{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.teamteaser__copy h2{font-family:var(--disp);font-weight:800;letter-spacing:-1px;font-size:clamp(1.9rem,4vw,2.9rem);line-height:1.05;text-transform:uppercase}
.teamteaser__copy p{color:var(--muted);margin:1rem 0 1.8rem;font-size:1.03rem}
.teamteaser__media img{width:100%;border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--shadow)}

/* Testimonials */
.tst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.tst{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.6rem;display:flex;flex-direction:column;gap:1rem;margin:0;transition:transform .3s,border-color .3s}
.tst:hover{transform:translateY(-4px);border-color:rgba(2,183,240,.3)}
.tst__stars{display:flex;gap:.2rem}
.star{width:1rem;height:1rem;fill:#ffb400}
.tst blockquote{margin:0;color:var(--steel);font-size:.95rem;line-height:1.65}
.tst figcaption{margin-top:auto;padding-top:1rem;border-top:1px solid var(--line)}
.tst figcaption strong{display:block;font-family:var(--disp);font-weight:700;font-size:.95rem}
.tst figcaption span{font-size:.8rem;color:var(--muted-2)}

/* CTA band */
.ctaband{background:linear-gradient(120deg,var(--blue),#079fd2);color:#04141c}
.ctaband__in{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2.6rem,5vw,3.6rem) 24px;flex-wrap:wrap}
.ctaband h2{font-family:var(--disp);font-weight:900;letter-spacing:-.8px;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.06;text-transform:uppercase}
.ctaband p{margin-top:.6rem;max-width:560px;font-weight:500;color:rgba(4,20,28,.85)}
.ctaband__btns{display:flex;gap:.8rem;flex-wrap:wrap}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:.8rem;margin:1.2rem 0 .5rem}
.faq__item{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;transition:border-color .25s}
.faq__item[open]{border-color:rgba(2,183,240,.4)}
.faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;padding:1.1rem 1.3rem;font-family:var(--disp);font-weight:700;font-size:1rem}
.faq__item summary::-webkit-details-marker{display:none}
.faq__x{position:relative;flex:none;width:20px;height:20px}
.faq__x::before,.faq__x::after{content:"";position:absolute;inset:auto;left:50%;top:50%;background:var(--blue);transition:.25s}
.faq__x::before{width:14px;height:2px;transform:translate(-50%,-50%)}
.faq__x::after{width:2px;height:14px;transform:translate(-50%,-50%)}
.faq__item[open] .faq__x::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq__a{padding:0 1.3rem 1.2rem}
.faq__a p{color:var(--muted);font-size:.95rem}

/* Services hub rows */
.svclist{display:flex;flex-direction:column;gap:1.8rem}
.svcrow{display:grid;grid-template-columns:1fr 1.35fr;gap:0;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:inherit;transition:transform .3s,border-color .3s,box-shadow .3s}
.svcrow:hover{transform:translateY(-4px);border-color:rgba(2,183,240,.35);box-shadow:var(--shadow)}
.svcrow:nth-child(even){grid-template-columns:1.35fr 1fr}
.svcrow:nth-child(even) .svcrow__media{order:2}
.svcrow__media{position:relative;min-height:280px;overflow:hidden}
.svcrow__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.svcrow:hover .svcrow__media img{transform:scale(1.05)}
.svcrow__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(13,17,23,.55) 100%),linear-gradient(0deg,rgba(6,9,13,.3),transparent 35%);pointer-events:none}
.svcrow:nth-child(even) .svcrow__media::after{background:linear-gradient(270deg,transparent 55%,rgba(13,17,23,.55) 100%),linear-gradient(0deg,rgba(6,9,13,.3),transparent 35%)}
.svcrow__body{position:relative;padding:2.4rem 2.6rem;display:flex;flex-direction:column;justify-content:center}
.svcrow__n{position:absolute;top:1.3rem;right:1.7rem;font-family:var(--disp);font-weight:900;font-size:2.6rem;line-height:1;color:transparent;-webkit-text-stroke:1.3px var(--line-2);transition:-webkit-text-stroke-color .35s}
.svcrow:hover .svcrow__n{-webkit-text-stroke-color:rgba(2,183,240,.6)}
.svcrow__ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;color:var(--blue);background:rgba(2,183,240,.08);border:1px solid rgba(2,183,240,.25);margin-bottom:1.1rem;transition:box-shadow .35s,border-color .35s}
.svcrow__ic--img{overflow:hidden;background:var(--ink);padding:0;box-shadow:0 0 18px -6px rgba(2,183,240,.3),inset 0 0 14px rgba(2,183,240,.1)}
.svcrow:hover .svcrow__ic--img{border-color:rgba(2,183,240,.55);box-shadow:0 0 26px -4px rgba(2,183,240,.45),inset 0 0 16px rgba(2,183,240,.15)}
.svcrow__ic--img img{width:100%;height:100%;object-fit:cover;border-radius:13px}
.svcrow h2{font-family:var(--disp);font-weight:800;font-size:1.5rem;letter-spacing:-.3px;margin-bottom:.2rem;transition:color .25s}
.svcrow:hover h2{color:#fff}
.svcrow p{color:var(--muted);font-size:.96rem;margin-top:.7rem}

/* Detail layout (service, location, post) */
.detail{display:grid;grid-template-columns:1fr 340px;gap:clamp(2rem,4vw,3.4rem);align-items:start}
.detail__main h2{font-family:var(--disp);font-weight:800;letter-spacing:-.5px;font-size:clamp(1.45rem,2.6vw,1.9rem);line-height:1.15;margin:2.4rem 0 1rem}
.detail__main h2:first-child{margin-top:0}
.detail__main h3{font-family:var(--disp);font-weight:700;font-size:1.15rem;margin:1.6rem 0 .6rem}
.detail__main p{color:var(--muted);margin-bottom:1.05rem;font-size:1rem;line-height:1.75}
.detail__main .lead{color:var(--steel);font-size:1.12rem;line-height:1.7}
.detail__main a{color:var(--blue-2);text-decoration:underline;text-decoration-color:rgba(95,214,255,.35);text-underline-offset:3px}
.detail__main a:hover{text-decoration-color:var(--blue-2)}
.detail__main ul.ticks{margin:0 0 1.2rem}
.ticks{list-style:none}
.ticks li{padding:.4rem 0 .4rem 1.7rem;position:relative;color:var(--steel);font-size:.97rem}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:800}
.ticks--2col{display:grid;grid-template-columns:1fr 1fr;gap:0 1.6rem}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin:.6rem 0 1.4rem}
.chips li{font-size:.88rem;font-weight:600;color:var(--steel);padding:.45rem .95rem;border:1px solid var(--line-2);border-radius:999px;background:rgba(255,255,255,.02)}

/* Sidebar */
.detail__side{display:flex;flex-direction:column;gap:1.3rem;position:sticky;top:96px}
.sidecard{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.4rem}
.sidecard h3{font-family:var(--disp);font-weight:800;font-size:1.05rem;margin-bottom:.6rem}
.sidecard>p{color:var(--muted);font-size:.9rem;margin-bottom:1rem}
.sidecard .btn{margin-bottom:.6rem}
.sidecard__hours{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.84rem;margin-top:.3rem}
.sidecard__hours .ic{color:var(--blue)}
.sidenav{display:flex;flex-direction:column}
.sidenav a{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem .2rem;color:var(--muted);font-size:.9rem;font-weight:500;border-bottom:1px solid var(--line);transition:.2s;line-height:1.4}
.sidenav a:last-child{border-bottom:0}
.sidenav a:hover{color:var(--blue-2);transform:translateX(3px)}
.sidenav a.on{color:var(--blue)}
.sidenav .ic{color:var(--blue);margin-top:.2rem}

/* Blog post prose */
.prose h2{margin-top:2.2rem}
.prose ul{list-style:none;margin:0 0 1.2rem}
.prose ul li{padding:.35rem 0 .35rem 1.6rem;position:relative;color:var(--muted);font-size:.98rem;line-height:1.7}
.prose ul li::before{content:"—";position:absolute;left:0;color:var(--blue);font-weight:700}
.prose ul li strong{color:var(--steel)}
.prose blockquote{border-left:3px solid var(--blue);padding:.4rem 0 .4rem 1.2rem;margin:1.4rem 0;color:var(--steel);font-style:italic}
.post-infographic{margin:0 0 2.2rem;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel)}
.post-infographic img{width:100%;height:auto;display:block}

/* Blog grid */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.bcard{display:flex;flex-direction:column;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;color:inherit;transition:transform .3s,border-color .3s,box-shadow .3s}
.bcard:hover{transform:translateY(-5px);border-color:rgba(2,183,240,.3);box-shadow:var(--shadow)}
.bcard__media{aspect-ratio:16/8;overflow:hidden}
.bcard__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.bcard:hover .bcard__media img{transform:scale(1.06)}
.bcard__body{padding:1.6rem 1.7rem 1.8rem;display:flex;flex-direction:column;flex:1}
.bcard time{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:.6rem}
.bcard h2{font-family:var(--disp);font-weight:800;font-size:1.25rem;line-height:1.25;letter-spacing:-.2px;margin-bottom:.6rem}
.bcard p{color:var(--muted);font-size:.93rem;flex:1}

/* Locations grid */
.loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.loccard{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:1.9rem 1.8rem;color:inherit;transition:transform .3s,border-color .3s,box-shadow .3s}
.loccard:hover{transform:translateY(-5px);border-color:rgba(2,183,240,.3);box-shadow:var(--shadow)}
.loccard__pin{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;color:var(--blue);background:rgba(2,183,240,.08);border:1px solid rgba(2,183,240,.25);margin-bottom:1rem}
.loccard h2{font-family:var(--disp);font-weight:800;font-size:1.35rem;letter-spacing:-.3px;margin-bottom:.45rem}
.loccard p{color:var(--muted);font-size:.94rem}

/* About page */
.story{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.story__copy h2{font-family:var(--disp);font-weight:800;letter-spacing:-1px;font-size:clamp(1.9rem,3.8vw,2.8rem);line-height:1.06;text-transform:uppercase;margin:.6rem 0 1.2rem}
.story__copy p{color:var(--muted);margin-bottom:1.05rem;line-height:1.75}
.story__media{position:relative}
.story__media img{width:100%;border-radius:var(--r);border:1px solid var(--line);box-shadow:var(--shadow);aspect-ratio:4/5;object-fit:cover}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.member{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.member:hover{transform:translateY(-5px);border-color:rgba(2,183,240,.35);box-shadow:var(--shadow)}
.member__photo{position:relative;aspect-ratio:3/3.4;overflow:hidden}
.member__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,20,27,.55),transparent 32%);pointer-events:none;transition:opacity .4s}
.member:hover .member__photo::after{opacity:.4}
.member__photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.9);transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .4s}
.member:hover .member__photo img{transform:scale(1.05);filter:saturate(1.05)}
.member__body{position:relative;padding:1.4rem 1.4rem 1.6rem;border-top:1px solid var(--line)}
.member__body::before{content:"";position:absolute;top:-1px;left:1.4rem;width:44px;height:2px;background:var(--blue);transition:width .35s ease}
.member:hover .member__body::before{width:76px}
.member__body h3{font-family:var(--disp);font-weight:800;font-size:1.15rem;letter-spacing:-.2px}
.member__role{display:block;color:var(--blue);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin:.25rem 0 .7rem}
.member__body p{color:var(--muted);font-size:.88rem;line-height:1.65}
.vals{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.val{background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:1.7rem 1.5rem;transition:transform .3s,border-color .3s}
.val:hover{transform:translateY(-3px);border-color:rgba(2,183,240,.3)}
.val__ic{width:2rem;height:2rem;color:var(--blue);margin-bottom:1rem}
.val h3{font-family:var(--disp);font-weight:800;font-size:1.08rem;margin-bottom:.5rem}
.val p{color:var(--muted);font-size:.9rem}

/* Contact extras */
.contact__note{margin-top:2rem;background:linear-gradient(180deg,var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.5rem}
.contact__note h3{font-family:var(--disp);font-weight:800;font-size:1rem;margin-bottom:.6rem}
.contact__list a{color:var(--text)}
.contact__list div>span,.contact__list div>span a{font-family:var(--font);font-weight:500;color:var(--steel);font-size:.95rem}
.contact__list div>span a{color:var(--blue-2)}

/* Responsive — new components */
@media(max-width:1024px){
  .tst-grid{grid-template-columns:repeat(2,1fr)}
  .proc{grid-template-columns:repeat(2,1fr)}
  .team-grid,.vals{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr}
  .detail__side{position:static;flex-direction:row;flex-wrap:wrap}
  .detail__side .sidecard{flex:1 1 280px}
  .svc-grid--3{grid-template-columns:repeat(2,1fr)}
  .teamteaser,.story{grid-template-columns:1fr}
}
@media(max-width:820px){
  .stats__in{grid-template-columns:repeat(2,1fr);gap:1.2rem}
  .stat{border-left:0}
  .svcrow,.svcrow:nth-child(even){grid-template-columns:1fr}
  .svcrow:nth-child(even) .svcrow__media{order:0}
  .svcrow__media{min-height:200px}
  .blog-grid,.loc-grid{grid-template-columns:1fr}
  .ctaband__in{flex-direction:column;align-items:flex-start}
}
@media(max-width:560px){
  .tst-grid,.proc,.proc--tight,.team-grid,.vals,.svc-grid--3{grid-template-columns:1fr}
  .ticks--2col{grid-template-columns:1fr}
  .phero h1{font-size:2rem}
  .ctaband__btns{width:100%}
  .ctaband__btns .btn{flex:1}
}
