/*
Theme Name: HERGIM.CA
Theme URI: https://hergimca.com
Author: HERGIM C.A.
Description: Tema oficial de HERGIM.CA — Especialistas en sellos hidráulicos y neumáticos en Venezuela desde 1997.
Version: 2.0.0
License: GNU General Public License v2 or later
Text Domain: hergimca
Tags: industrial, business, custom-logo, full-width-template
*/

/* ─── RESET ─────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:'Inter',sans-serif;color:#111827;background:#fff;line-height:1.6;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}

/* ─── TOKENS ─────────────────────────────── */
:root{
  --navy:        #002B5B;
  --navy-deep:   #001839;
  --navy-darker: #010F24;
  --gold:        #FFB800;
  --gold-dark:   #E6A500;
  --white:       #FFFFFF;
  --grey-50:     #F9FAFB;
  --grey-100:    #F3F4F6;
  --grey-200:    #E5E7EB;
  --grey-400:    #9CA3AF;
  --grey-600:    #4B5563;
  --grey-900:    #111827;
  --green:       #25D366;
  --green-dk:    #1da851;
  --r:           14px;
  --r-sm:        8px;
  --r-xs:        6px;
  --r-pill:      999px;
  --sh-sm:       0 1px 4px rgba(0,0,0,.07);
  --sh:          0 4px 20px rgba(0,0,0,.1);
  --sh-lg:       0 12px 48px rgba(0,0,0,.16);
  --t:           .28s ease;
}

/* ─── LAYOUT ─────────────────────────────── */
.container{max-width:1200px;margin:0 auto;padding:0 28px}
.section{padding:96px 0}
.section--sm{padding:64px 0}
.section--light{background:var(--grey-50)}
.section--dark{background:var(--navy-deep)}

/* ─── TYPOGRAPHY ─────────────────────────── */
h1{font-size:clamp(2.2rem,5vw,3.75rem);font-weight:900;line-height:1.1;letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,3.5vw,2.6rem);font-weight:800;line-height:1.15;letter-spacing:-.01em}
h3{font-size:1.2rem;font-weight:700;line-height:1.3}
h4{font-size:1rem;font-weight:700;line-height:1.3}

/* ─── BADGE / TAG ────────────────────────── */
.tag{
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:5px 13px;border-radius:var(--r-pill);
  color:var(--navy);background:rgba(0,43,91,.09);
  margin-bottom:18px;
}
.tag::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0}
.tag--white{color:rgba(255,255,255,.9);background:rgba(255,255,255,.12)}
.tag--white::before{background:var(--gold)}

/* ─── BUTTONS ────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:14px 28px;border-radius:var(--r-pill);
  font-size:15px;font-weight:600;transition:var(--t);
  white-space:nowrap;cursor:pointer;
}
.btn--primary{background:var(--navy);color:#fff}
.btn--primary:hover{background:var(--navy-deep);box-shadow:0 8px 28px rgba(0,43,91,.35);transform:translateY(-2px)}
.btn--gold{background:var(--gold);color:var(--navy-deep)}
.btn--gold:hover{background:var(--gold-dark);box-shadow:0 8px 28px rgba(255,184,0,.35);transform:translateY(-2px)}
.btn--outline-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.45)}
.btn--outline-white:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.8)}
.btn--green{background:var(--green);color:#fff}
.btn--green:hover{background:var(--green-dk);box-shadow:0 8px 28px rgba(37,211,102,.4);transform:translateY(-2px)}
.btn--sm{padding:11px 22px;font-size:14px}
.btn--outline-navy{background:transparent;color:var(--navy);border:2px solid var(--navy)}
.btn--outline-navy:hover{background:var(--navy);color:#fff}

/* ─── TOP BAR ────────────────────────────── */
.topbar{background:var(--navy-darker);border-bottom:1px solid rgba(255,255,255,.06);padding:8px 0}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.topbar__left{display:flex;align-items:center;gap:20px}
.topbar__item{display:flex;align-items:center;gap:6px;font-size:12.5px;color:rgba(255,255,255,.6)}
.topbar__item svg{flex-shrink:0;opacity:.7}
.topbar__item a:hover{color:#fff}
.topbar__right{display:flex;align-items:center;gap:8px}
.topbar__icon{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);transition:var(--t)}
.topbar__icon:hover{background:var(--navy);color:#fff}
@media(max-width:600px){.topbar__item:nth-child(2){display:none}}

/* ─── NAVBAR ─────────────────────────────── */
.navbar{position:sticky;top:0;z-index:300;background:#fff;border-bottom:1px solid var(--grey-200);transition:box-shadow var(--t)}
.navbar.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.1);border-color:transparent}
.navbar__inner{display:flex;align-items:center;height:70px;gap:24px}
.navbar__logo img{height:36px;width:auto}
.navbar__logo-text{font-size:19px;font-weight:900;color:var(--navy);letter-spacing:-.5px}
.navbar__nav{display:flex;align-items:center;gap:2px;flex:1}
.nav-link{padding:8px 14px;font-size:14px;font-weight:500;color:var(--grey-600);border-radius:var(--r-sm);transition:var(--t)}
.nav-link:hover,.nav-link.active{color:var(--navy);background:rgba(0,43,91,.06);font-weight:600}
.navbar__cta{margin-left:auto;display:flex;align-items:center;gap:10px}
.navbar__wa{display:flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--r-pill);background:var(--green);color:#fff;font-size:13.5px;font-weight:700;transition:var(--t)}
.navbar__wa:hover{background:var(--green-dk);transform:translateY(-1px);box-shadow:0 6px 18px rgba(37,211,102,.35)}
.hamburger{display:none;flex-direction:column;gap:5px;padding:7px;border-radius:var(--r-sm)}
.hamburger span{width:20px;height:2px;background:var(--grey-900);border-radius:2px;transition:var(--t);display:block}
@media(max-width:860px){
  .navbar__nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--grey-200);flex-direction:column;padding:12px 16px 20px;gap:4px;box-shadow:0 8px 24px rgba(0,0,0,.08);z-index:200}
  .navbar__nav.nav--open{display:flex}
  .navbar__nav .nav-link{padding:12px 16px;font-size:15px;border-radius:var(--r-sm);display:block}
  .navbar{position:sticky}
  .hamburger{display:flex}
  .hamburger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hamburger.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
  .hamburger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(max-width:440px){.wa-label{display:none}}

/* ─── HOME HERO ──────────────────────────── */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:var(--navy-deep)}
.hero__slides{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease}
.hero__slide.active{opacity:1}
.hero__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgba(0,24,57,.96) 0%,rgba(0,24,57,.85) 38%,rgba(0,24,57,.45) 65%,rgba(0,24,57,.1) 100%)}
.hero__content{position:relative;z-index:2;max-width:620px;padding:60px 0}
.hero h1{color:#fff;margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero__sub{font-size:18px;color:rgba(255,255,255,.72);line-height:1.75;margin-bottom:38px;max-width:520px}
.hero__btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:52px}
.hero__stats{display:flex;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.15);padding-top:36px;flex-wrap:wrap}
.hero__stat{padding:0 32px;text-align:center;border-right:1px solid rgba(255,255,255,.12)}
.hero__stat:first-child{padding-left:0}
.hero__stat:last-child{border:none}
.hero__stat-num{font-size:2rem;font-weight:900;color:#fff;line-height:1;margin-bottom:5px}
.hero__stat-num span{color:var(--gold);font-size:1.5rem}
.hero__stat-label{font-size:11.5px;color:rgba(255,255,255,.5);letter-spacing:.05em;text-transform:uppercase}
.hero__dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px}
.hero__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);border:none;cursor:pointer;transition:background var(--t),width var(--t);padding:0}
.hero__dot.active{background:#fff;width:24px;border-radius:4px}
@media(max-width:900px){.hero{min-height:70vh}.hero__content{padding:48px 0}}
@media(max-width:540px){.hero__stat{padding:12px 20px;border-right:none;border-bottom:1px solid rgba(255,255,255,.1)}.hero__stats{flex-direction:column}}

/* ─── PAGE HERO (subpages) ───────────────── */
.page-hero{position:relative;min-height:58vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy-deep)}
.page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.03);transition:transform 8s ease}
.page-hero.loaded .page-hero__bg{transform:scale(1)}
.page-hero__overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(0,24,57,.97) 0%,rgba(0,24,57,.88) 42%,rgba(0,24,57,.55) 70%,rgba(0,24,57,.15) 100%)}
.page-hero__content{position:relative;z-index:2;padding:80px 0 64px}
.page-hero h1{color:#fff;font-size:clamp(1.9rem,4.2vw,3.2rem);margin-bottom:18px}
.page-hero h1 em{font-style:normal;color:var(--gold)}
.page-hero__sub{font-size:17px;color:rgba(255,255,255,.7);max-width:600px;line-height:1.75;margin-bottom:32px}
.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.breadcrumb span{font-size:12.5px;color:rgba(255,255,255,.4)}
.breadcrumb a{font-size:12.5px;color:rgba(255,255,255,.55);transition:color var(--t)}
.breadcrumb a:hover{color:rgba(255,255,255,.9)}
.breadcrumb .sep{color:rgba(255,255,255,.25)}

/* ─── BRANDS ─────────────────────────────── */
.brands{background:#fff;border-top:1px solid var(--grey-200);border-bottom:1px solid var(--grey-200);padding:44px 0}
.brands__label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-400);text-align:center;margin-bottom:36px}
.brands__logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px 56px}
.brand-logo{height:38px;width:auto;max-width:140px;object-fit:contain;filter:grayscale(1) opacity(.4);transition:filter .3s ease}
.brand-logo:hover{filter:grayscale(0) opacity(1)}

/* ─── SERVICES INTRO ─────────────────────── */
.svc-intro{background:var(--navy-deep)}
.svc-intro__inner{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:520px}
.svc-intro__text{padding:80px 72px 80px 0;display:flex;flex-direction:column;justify-content:center}
.svc-intro__text h2{color:#fff;margin-bottom:20px}
.svc-intro__text p{font-size:16px;color:rgba(255,255,255,.65);line-height:1.85;margin-bottom:32px}
.svc-intro__photo{position:relative;overflow:hidden}
.svc-intro__photo::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--navy-deep) 0%,transparent 35%);z-index:1}
.svc-slides{position:absolute;inset:0}
.svc-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.svc-slide.active{opacity:1}
.svc-slide img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:860px){
  .svc-intro__inner{grid-template-columns:1fr}
  .svc-intro__photo{height:380px}
  .svc-intro__photo::before{background:linear-gradient(to bottom,var(--navy-deep) 0%,transparent 40%)}
  .svc-intro__text{padding:60px 0 48px}
}

/* ─── SERVICE CARDS ──────────────────────── */
.services{background:var(--grey-50)}
.services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc-card{border-radius:var(--r);overflow:hidden;position:relative;aspect-ratio:.68;cursor:pointer}
.svc-card__img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s ease}
.svc-card:hover .svc-card__img{transform:scale(1.06)}
.svc-card__layer{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,24,57,.97) 0%,rgba(0,24,57,.6) 40%,rgba(0,0,0,.05) 100%)}
.svc-card__body{position:absolute;bottom:0;left:0;right:0;padding:26px 24px}
.svc-card__num{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.svc-card__name{font-size:16px;font-weight:800;color:#fff;line-height:1.25;margin-bottom:10px}
.svc-card__desc{font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.65;margin-bottom:18px}
.svc-card__cta{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--gold);letter-spacing:.04em;text-transform:uppercase;transition:gap var(--t)}
.svc-card:hover .svc-card__cta{gap:10px}
.svc-card__arrow{width:28px;height:28px;border-radius:50%;background:var(--gold);color:var(--navy-deep);display:flex;align-items:center;justify-content:center;transition:var(--t)}
.svc-card:hover .svc-card__arrow{transform:translateX(3px)}
@media(max-width:860px){.services__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.services__grid{grid-template-columns:1fr}}

/* ─── CLIENTS ────────────────────────────── */
.clients{background:var(--grey-50);border-top:1px solid var(--grey-200)}
.clients__inner{text-align:center}
.clients__grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:40px 72px;margin-top:48px}
.client-logo{height:56px;width:auto;max-width:180px;object-fit:contain;filter:grayscale(1) opacity(.4);transition:filter .3s ease}
.client-logo:hover{filter:grayscale(0) opacity(1)}

/* ─── SEAL TYPE CARDS ────────────────────── */
.seal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.seal-card{background:#fff;border:1.5px solid var(--grey-200);border-radius:var(--r);padding:28px 24px;transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
.seal-card:hover{border-color:rgba(0,43,91,.2);box-shadow:var(--sh);transform:translateY(-3px)}
.seal-card__icon{width:48px;height:48px;border-radius:var(--r-sm);background:rgba(0,43,91,.06);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.seal-card__icon svg{color:var(--navy)}
.seal-card h4{color:var(--navy);margin-bottom:8px;font-size:15px}
.seal-card p{font-size:13px;color:var(--grey-600);line-height:1.7}
@media(max-width:860px){.seal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.seal-grid{grid-template-columns:1fr}}

/* ─── MATERIALS PILLS ────────────────────── */
.materials-section{background:var(--navy-deep);padding:64px 0}
.mat-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.mat-pill{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:var(--r-pill);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:14px;font-weight:600;color:#fff;transition:var(--t)}
.mat-pill:hover{background:rgba(255,184,0,.15);border-color:rgba(255,184,0,.4);color:var(--gold)}
.mat-pill__name{font-weight:700}
.mat-pill__note{font-size:12px;color:rgba(255,255,255,.5);font-weight:400}
.mat-pill__note::before{content:'·';margin-right:6px;opacity:.4}

/* ─── MACHINE / SERVICE CARDS ────────────── */
.machines-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.repair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.repair-card,.machine-card{background:#fff;border:1.5px solid var(--grey-200);border-radius:var(--r);padding:32px 28px;transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
.repair-card:hover,.machine-card:hover{border-color:rgba(0,43,91,.2);box-shadow:var(--sh);transform:translateY(-3px)}
.repair-card__icon{width:52px;height:52px;border-radius:var(--r-sm);background:rgba(0,43,91,.07);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.repair-card__icon svg{color:var(--navy)}
.repair-card h4{color:var(--navy);margin-bottom:10px;font-size:16px}
.repair-card p{font-size:13.5px;color:var(--grey-600);line-height:1.75}
.machine-card h4{color:var(--navy);margin-bottom:8px;font-size:15px}
.machine-card p{font-size:12.5px;color:var(--grey-600);line-height:1.65}
@media(max-width:860px){.repair-grid{grid-template-columns:repeat(2,1fr)}.machines-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.repair-grid{grid-template-columns:1fr}.machines-grid{grid-template-columns:1fr}}

/* ─── NAP SECTION ────────────────────────── */
.nap-section{background:#fff;padding:80px 0}
.nap-section__inner{display:grid;grid-template-columns:1fr 1.7fr;gap:48px;align-items:start}
.nap-card{background:var(--grey-50);border:1.5px solid var(--grey-200);border-radius:var(--r);padding:36px 32px}
.nap-card__badge{display:inline-block;background:var(--navy);color:#fff;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:var(--r-pill);margin-bottom:20px}
.nap-card__name{font-size:1.2rem;font-weight:900;color:var(--grey-900);margin-bottom:24px;line-height:1.3}
.nap-detail{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}
.nap-detail:last-child{margin-bottom:0}
.nap-detail__icon{width:36px;height:36px;border-radius:var(--r-sm);background:rgba(0,43,91,.07);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.nap-detail__icon svg{color:var(--navy)}
.nap-detail__label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--grey-400);margin-bottom:2px}
.nap-detail__val{font-size:14px;color:#374151;line-height:1.6;font-weight:500}
.nap-detail__val a{color:var(--navy);font-weight:700}
.nap-detail__val a:hover{text-decoration:underline}
.nap-map-wrap{border-radius:var(--r);overflow:hidden;border:1.5px solid var(--grey-200);box-shadow:var(--sh)}
.nap-map-wrap iframe{width:100%;height:440px;display:block;border:0}
@media(max-width:860px){.nap-section__inner{grid-template-columns:1fr}.nap-map-wrap iframe{height:320px}}

/* ─── WHY US ─────────────────────────────── */
.why-us-inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.why-us-img{border-radius:var(--r);overflow:hidden}
.why-us-img img{width:100%;height:480px;object-fit:cover;display:block}
.feature-list{display:flex;flex-direction:column;gap:20px;margin-top:32px}
.feature{display:flex;gap:16px;align-items:flex-start}
.feature__icon{width:44px;height:44px;border-radius:var(--r-sm);flex-shrink:0;background:rgba(0,43,91,.07);display:flex;align-items:center;justify-content:center}
.feature__icon svg{color:var(--navy)}
.feature h4{font-size:15px;color:var(--grey-900);margin-bottom:5px}
.feature p{font-size:13.5px;color:var(--grey-600);line-height:1.7}
@media(max-width:860px){.why-us-inner{grid-template-columns:1fr}.why-us-img{display:none}}

/* ─── ABOUT ──────────────────────────────── */
.about__inner{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.about__imgs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.about__img{border-radius:var(--r);overflow:hidden}
.about__img img{width:100%;object-fit:cover}
.about__img--tall img{height:280px}
.about__img--short img{height:200px}
.about__img--wide{grid-column:span 2}
.about__img--wide img{height:200px}
.about__text h2{color:var(--grey-900);margin-bottom:18px}
.about__text p{font-size:15px;color:var(--grey-600);line-height:1.85}
.stats-2x2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:32px 0}
.sbox{padding:20px 18px;background:var(--grey-50);border:1.5px solid var(--grey-200);border-radius:var(--r);transition:border-color var(--t),box-shadow var(--t)}
.sbox:hover{border-color:rgba(0,43,91,.25);box-shadow:var(--sh-sm)}
.sbox__num{font-size:2rem;font-weight:900;color:var(--navy);line-height:1;margin-bottom:5px}
.sbox__num sup{font-size:1.1rem;vertical-align:super}
.sbox__lbl{font-size:12px;color:var(--grey-400);font-weight:600;letter-spacing:.03em}
@media(max-width:860px){.about__inner{grid-template-columns:1fr;gap:40px}}
@media(max-width:480px){.about__imgs{grid-template-columns:1fr}.about__img--wide{grid-column:span 1}}

/* ─── HOW WE WORK ────────────────────────── */
.howto{background:var(--navy-deep)}
.howto__head{text-align:center;margin-bottom:56px}
.howto__head h2{color:#fff}
.howto__head p{font-size:16px;color:rgba(255,255,255,.55);margin-top:12px;max-width:500px;margin-left:auto;margin-right:auto}
.howto__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.step{padding:44px 36px;border-right:1px solid rgba(255,255,255,.08)}
.step:last-child{border-right:none}
.step__num{font-size:4rem;font-weight:900;color:rgba(255,255,255,.06);line-height:1;margin-bottom:24px}
.step__icon{width:48px;height:48px;border-radius:var(--r-sm);background:rgba(255,184,0,.12);border:1px solid rgba(255,184,0,.2);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.step__icon svg{color:var(--gold)}
.step h3{color:#fff;margin-bottom:12px;font-size:17px}
.step p{font-size:14px;color:rgba(255,255,255,.55);line-height:1.75}
@media(max-width:768px){.howto__steps{grid-template-columns:1fr}.step{border-right:none;border-bottom:1px solid rgba(255,255,255,.08)}.step:last-child{border-bottom:none}}

/* ─── GALLERY ────────────────────────────── */
.gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:auto auto;gap:12px;margin-top:48px}
.gal{border-radius:var(--r);overflow:hidden;cursor:zoom-in;position:relative}
.gal img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}
.gal:hover img{transform:scale(1.05)}
.gal__over{position:absolute;inset:0;background:rgba(0,24,57,.55);opacity:0;transition:opacity var(--t);display:flex;align-items:center;justify-content:center}
.gal:hover .gal__over{opacity:1}
.gal__over svg{color:#fff;opacity:.9}
.gal--a{grid-column:span 5;height:280px}
.gal--b{grid-column:span 4;height:280px}
.gal--c{grid-column:span 3;height:280px}
.gal--d{grid-column:span 3;height:240px}
.gal--e{grid-column:span 3;height:240px}
.gal--f{grid-column:span 3;height:240px}
.gal--g{grid-column:span 3;height:240px}
.gallery__grid--sm{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:48px}
.gallery__grid--sm .gal{height:220px}
@media(max-width:860px){
  .gallery__grid{grid-template-columns:repeat(2,1fr)}
  .gal--a,.gal--b,.gal--c,.gal--d,.gal--e,.gal--f,.gal--g{grid-column:span 1;height:200px}
  .gallery__grid--sm{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){.gallery__grid--sm{grid-template-columns:1fr}}

/* ─── INSTAGRAM ──────────────────────────── */
.instagram-sec{background:var(--grey-50);border-top:1px solid var(--grey-200)}
.instagram-sec__head{text-align:center;margin-bottom:48px}
.instagram-sec__head h2 em{font-style:normal;color:#C13584}
.instagram-placeholder{background:#fff;border:1.5px dashed var(--grey-200);border-radius:var(--r);padding:56px 32px;text-align:center}
.instagram-placeholder svg{margin:0 auto 16px;color:var(--grey-400)}
.instagram-placeholder p{font-size:14px;color:var(--grey-600);max-width:420px;margin:0 auto 20px}

/* ─── LOCATIONS ──────────────────────────── */
.locations{background:var(--grey-50)}
.loc__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.loc-card{background:#fff;border-radius:var(--r);border:1.5px solid var(--grey-200);overflow:hidden;transition:box-shadow var(--t),border-color var(--t)}
.loc-card:hover{box-shadow:var(--sh-lg);border-color:rgba(0,43,91,.18)}
.loc-card__photo{position:relative;overflow:hidden}
.loc-card__photo img{width:100%;height:240px;object-fit:cover;transition:transform .5s ease}
.loc-card:hover .loc-card__photo img{transform:scale(1.04)}
.loc-card__badge{position:absolute;top:16px;left:16px;background:var(--navy);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:5px 13px;border-radius:var(--r-pill)}
.loc-card__body{padding:30px}
.loc-card__city{font-size:22px;font-weight:900;color:var(--grey-900);margin-bottom:7px}
.loc-card__addr{font-size:14px;color:var(--grey-600);line-height:1.65;margin-bottom:20px}
.loc-card__meta{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.loc-card__row{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--grey-600)}
.loc-card__row svg{color:var(--navy);flex-shrink:0}
.loc-card__btns{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:720px){.loc__grid{grid-template-columns:1fr}}

/* ─── CTA SECTION ────────────────────────── */
.cta{position:relative;overflow:hidden;padding:100px 0}
.cta__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.cta__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,24,57,.97) 0%,rgba(0,24,57,.88) 50%,rgba(0,43,91,.75) 100%)}
.cta__inner{position:relative;z-index:2;text-align:center}
.cta__inner h2{color:#fff;margin-bottom:16px;max-width:620px;margin-left:auto;margin-right:auto}
.cta__inner h2 em{font-style:normal;color:var(--gold)}
.cta__sub{font-size:17px;color:rgba(255,255,255,.62);max-width:500px;margin:0 auto 40px}
.cta__btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:60px}
.cta__contacts{display:flex;justify-content:center;align-items:center;gap:0;flex-wrap:wrap;padding-top:48px;border-top:1px solid rgba(255,255,255,.12)}
.cta__contact{display:flex;align-items:center;gap:14px;padding:0 44px}
.cta__contact-ico{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cta__contact-lbl{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:3px}
.cta__contact-val{font-size:15px;font-weight:700;color:#fff}
.cta__contact-val a{color:#fff;transition:color var(--t)}
.cta__contact-val a:hover{color:var(--gold)}
.cta__div{width:1px;height:56px;background:rgba(255,255,255,.12)}
@media(max-width:700px){.cta__contacts{flex-direction:column;gap:24px}.cta__div{width:56px;height:1px}.cta__contact{padding:0}}

/* ─── FOOTER ─────────────────────────────── */
.footer{background:var(--navy-darker);padding:64px 0 0}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.07)}
.footer__brand-name{font-size:20px;font-weight:900;color:#fff;letter-spacing:-.3px;margin-bottom:12px}
.footer__tagline{font-size:13.5px;color:rgba(255,255,255,.45);line-height:1.8;margin-bottom:24px;max-width:240px}
.footer__socials{display:flex;gap:8px}
.fsoc{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);transition:var(--t)}
.fsoc:hover{background:var(--navy);color:#fff}
.footer__col-h{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.footer__links{display:flex;flex-direction:column;gap:10px}
.footer__links a{font-size:13.5px;color:rgba(255,255,255,.5);transition:color var(--t)}
.footer__links a:hover{color:#fff}
.fcrow{display:flex;align-items:flex-start;gap:9px;margin-bottom:11px}
.fcrow svg{color:var(--gold);flex-shrink:0;margin-top:2px}
.fcrow span,.fcrow a{font-size:13px;color:rgba(255,255,255,.5);line-height:1.6;transition:color var(--t)}
.fcrow a:hover{color:#fff}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding:18px 0;font-size:12px;color:rgba(255,255,255,.25);flex-wrap:wrap;gap:8px}
@media(max-width:860px){.footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer__grid{grid-template-columns:1fr}}

/* ─── FAB ────────────────────────────────── */
.fab{position:fixed;bottom:28px;right:28px;z-index:600}
.fab__pulse{position:absolute;inset:-8px;border-radius:50%;background:rgba(37,211,102,.25);animation:fpulse 2.4s ease-out infinite}
@keyframes fpulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.65);opacity:0}}
.fab a{position:relative;display:flex;width:58px;height:58px;border-radius:50%;background:var(--green);color:#fff;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.5);transition:transform var(--t)}
.fab a:hover{transform:scale(1.1)}
.fab__tip{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:var(--navy-deep);color:#fff;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:var(--r-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--t)}
.fab__tip::after{content:'';position:absolute;left:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-left-color:var(--navy-deep)}
.fab:hover .fab__tip{opacity:1}

/* ─── SECTION HEADER ─────────────────────── */
.sh{margin-bottom:0}
.sh h2{color:var(--grey-900);margin-bottom:12px}
.sh p{font-size:16px;color:var(--grey-600);max-width:520px}
.sh--center{text-align:center}
.sh--center p{margin:0 auto}
.sh--white h2{color:#fff}
.sh--white p{color:rgba(255,255,255,.6)}

/* ─── ANIMATIONS ─────────────────────────── */
.anim{opacity:0;transform:translateY(26px);transition:opacity .6s ease,transform .6s ease}
.anim.in{opacity:1;transform:none}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}.d4{transition-delay:.4s}
