:root{
  --bg:#09090b;          /* zinc-950 */
  --bg-2:#18181b;        /* zinc-900 */
  --bg-3:#27272a;        /* zinc-800 */
  --line:#27272a;
  --line-2:#3f3f46;      /* zinc-700 */
  --text:#fafafa;
  --text-2:#a1a1aa;      /* zinc-400 */
  --text-3:#71717a;      /* zinc-500 */
  --gold:#fbbf24;        /* amber-400 */
  --gold-soft:rgba(251,191,36,.12);
}

*{ -webkit-tap-highlight-color: transparent; }
html,body{background:var(--bg);color:var(--text);font-family:"IBM Plex Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
body{padding-top:80px;}
::selection{background:var(--gold);color:var(--bg);}
.font-outfit{font-family:"Outfit",sans-serif;}
.text-gold{color:var(--gold)!important;}
.text-zinc-400{color:var(--text-2)!important;}
.text-zinc-500{color:var(--text-3)!important;}
.bg-zinc-900{background:var(--bg-2)!important;}
.border-zinc-800{border-color:var(--line)!important;}
a{text-decoration:none;}

/* NAV */
.nav-shell{background:rgba(9,9,11,0.88);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--line);position:fixed;top:0;inset-inline:0;z-index:1030;}
.nav-shell.scrolled{background:rgba(9,9,11,0.95);}
.brand-logo{height:50px;width:auto;display:block;}
.navbar-toggler{color:var(--text);border:1px solid var(--line)!important;border-radius:0;padding:.4rem .55rem;}
.navbar-toggler:focus{box-shadow:none;}
.nav-link.custom{color:var(--text-2);font-weight:500;font-size:.78rem;letter-spacing:0.22em;text-transform:uppercase;padding:.5rem 0!important;margin:0 1.1rem;position:relative;}
.nav-link.custom:hover{color:var(--text);}
.nav-link.custom.active{color:var(--gold);}

/* Sharp buttons (echo the React build) */
.btn-sharp{border-radius:0!important;font-family:"Outfit",sans-serif;font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.75rem;padding:.95rem 1.65rem;display:inline-flex;align-items:center;gap:.5rem;border:none;transition:all .25s ease;}
.btn-gold{background:var(--gold);color:var(--bg);} .btn-gold:hover{background:#fcd34d;color:var(--bg);}
.btn-outline-light-sharp{background:transparent;color:var(--text);border:1px solid var(--line-2);} .btn-outline-light-sharp:hover{background:var(--bg-2);border-color:#52525b;color:var(--text);}
.btn-ghost-gold{background:transparent;color:var(--text);border:1px solid var(--line-2);} .btn-ghost-gold:hover{background:var(--gold);color:var(--bg);border-color:var(--gold);}

/* HERO */
.hero{position:relative;height:min(600px,78vh);max-height:600px;overflow:hidden;background:var(--bg);border-top:1px solid rgba(251,191,36,.25);}
.hero .carousel,.hero .carousel-inner,.hero .carousel-item{height:100%; z-index:1; }
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(9,9,11,0.70) 50%,rgba(9,9,11,0.10) 100%);}
.hero-veil-2{position:absolute;inset:0;background:rgba(9,9,11,0.30);}
.grain{position:absolute;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>");}
.hero-content{position:absolute;inset:0;display:flex;align-items:center;padding-top:1.5rem; z-index: 2;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;color:var(--gold);border:1px solid rgba(251,191,36,.4);background:rgba(251,191,36,.05);font-family:"IBM Plex Sans";font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;}
.hero h1{font-family:"Outfit",sans-serif;font-weight:800;color:var(--text);text-transform:uppercase;font-size:clamp(2rem,5.2vw,4.1rem);line-height:.95;letter-spacing:-0.01em;margin-top:1.2rem;}
.hero .lead-sub{color:var(--text-2);max-width:560px;margin-top:1.1rem;font-size:1rem;line-height:1.6;}
.hero-cta{margin-top:1.75rem;display:flex;gap:.6rem;flex-wrap:wrap; position: relative;}
.hero-cta .btnopen {position:absolute; top: 10px; left:10px; z-index:99999; }
/* Dots */
.carousel-indicators{bottom:1rem;right:1.5rem;margin:0;left:auto;justify-content:flex-end;gap:.75rem;}
.carousel-indicators [data-bs-target]{width:20px;height:6px;border-radius:0;background:var(--text-3);opacity:.7;border:none;margin:0;transition:all .25s ease;}
.carousel-indicators [data-bs-target]:hover{background:var(--text-2);opacity:1;}
.carousel-indicators .active{background:var(--gold);width:40px;opacity:1;}
.hero-counter{position:absolute;left:1.5rem;bottom:1.1rem;font-family:"Outfit",sans-serif;color:var(--text-3);font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;font-weight:600;}
.hero-counter b{color:var(--gold);}

/* SECTION SHELL */
.section{padding:5rem 0;border-top:1px solid var(--line);}
.section-tag{color:var(--gold);font-family:"IBM Plex Sans";font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600;}
.section-title{font-family:"Outfit",sans-serif;font-weight:800;text-transform:uppercase;color:var(--text);font-size:clamp(1.8rem,3.8vw,3rem);line-height:.95;letter-spacing:-0.01em;margin-top:.7rem;}

/* SERVICES TEASER */
.services-grid{border:1px solid var(--line);}
.service-card{background:rgba(24,24,27,0.6);transition:all .35s ease;position:relative;display:block;height:100%;color:inherit;}
.service-card:hover{background:var(--bg-2);}
.service-card .imgwrap{position:relative;overflow:hidden;height:300px;}
.service-card .imgwrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .7s ease, filter .7s ease;}
.service-card:hover .imgwrap img{transform:scale(1.06);filter:grayscale(0);}
.service-card .imgwrap::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--bg) 0%,rgba(9,9,11,.3) 40%,transparent 80%);}
.service-card .icon-mark{position:absolute;top:1.25rem;left:1.25rem;width:44px;height:44px;background:var(--gold);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:1.15rem;z-index:2;}
.service-card .body{padding:2rem 2.25rem;border-top:1px solid var(--line);}
.service-card .eyebrow{color:var(--gold);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600;}
.service-card h3{font-family:"Outfit",sans-serif;font-weight:800;text-transform:uppercase;color:var(--text);font-size:1.6rem;margin-top:.6rem;letter-spacing:-0.01em;}
.service-card p{color:var(--text-2);font-size:.95rem;line-height:1.65;margin-top:.85rem;margin-bottom:1.25rem;}
.service-card .more{display:inline-flex;align-items:center;gap:.4rem;color:var(--text);font-family:"Outfit",sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;}
.service-card:hover .more{color:var(--gold);}

/* ABOUT */
.about-img{height:100%;min-height:340px;width:100%;object-fit:cover;border:1px solid var(--line);}
.stat-tile{border:1px solid var(--line);background:rgba(24,24,27,.5);padding:1.1rem 1.2rem;display:flex;flex-direction:column;justify-content:space-between;min-height:120px;transition:background .2s ease;}
.stat-tile:hover{background:var(--bg-2);}
.stat-tile i{color:var(--gold);font-size:1.1rem;}
.stat-tile b{font-family:"Outfit",sans-serif;font-size:1.4rem;font-weight:800;color:var(--text);display:block;line-height:1;}
.stat-tile span{font-size:.7rem;letter-spacing:.22em;color:var(--text-3);text-transform:uppercase;font-weight:600;margin-top:.3rem;display:block;}

/* CONTACT */
.contact-grid{border:1px solid var(--line);}
.contact-cell{padding:2.2rem 2rem;}
.emergency-pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--gold-soft);border:1px solid rgba(251,191,36,.3);color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:.5rem .85rem;}
.label-cap{color:var(--text-3);font-family:"IBM Plex Sans";font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;font-weight:600;}
.phone-cta{display:inline-flex;align-items:center;gap:.85rem;color:var(--text);font-family:"Outfit",sans-serif;font-weight:800;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1;letter-spacing:-0.01em;}
.phone-cta:hover{color:var(--gold);}
.phone-cta i{color:var(--gold);}
.hours-list{list-style:none;padding:0;margin:0;}
.hours-list li{display:flex;justify-content:space-between;align-items:baseline;padding:.55rem 0;border-bottom:1px solid rgba(63,63,70,.4);font-size:.88rem;}
.hours-list li:last-child{border-bottom:none;}
.hours-list .day{color:var(--text-2);}
.hours-list .time{color:var(--text);font-weight:500;}
.divider-end{border-bottom:1px solid var(--line);}

.dropdown-menu {
  background-color:#000;
}

.dropdown-item {
  display: block;
  width: 100%;

  clear: both;
  font-weight: 400;
  color:#212529;

  text-align: inherit;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border: 1px solid var(--gold-soft);
  border-radius: var(--bs-dropdown-item-border-radius, 0);
}

.dropdown-item {
  color: #fff;
}

.dropdown-item:hover {
  background-color: var(--gold);
}

#about1 {
  padding: 20px 0px 20px 0px;
  color: #a1a1aa !important;
}
#about1 h1 {
  padding: 10px 0px 20px 0px;
}

@media (min-width:992px){
  .divider-end{border-bottom:none;border-right:1px solid var(--line);}
}
.map-wrap{position:relative;min-height:380px;background:var(--bg);}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter: invert(92%) hue-rotate(180deg) saturate(0.4) brightness(.95) contrast(.95);}
.map-pill{position:absolute;top:1rem;left:1rem;background:rgba(9,9,11,.85);border:1px solid var(--line-2);color:var(--gold);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;padding:.35rem .75rem;}
.map-overlay{position:absolute;left:1rem;right:1rem;bottom:1rem;background:rgba(9,9,11,.85);border:1px solid var(--line-2);padding:1rem 1.1rem;backdrop-filter:blur(6px);}
.map-overlay h4{font-family:"Outfit",sans-serif;font-weight:700;text-transform:uppercase;color:var(--text);font-size:.95rem;margin:0;letter-spacing:-0.01em;}
.map-overlay p{color:var(--text-3);margin:.15rem 0 0;font-size:.78rem;}

/* MODAL */
.modal-content{background:var(--bg);border:1px solid var(--line);border-radius:0;}
.modal-header{background:rgba(24,24,27,.5);border-bottom:1px solid var(--line);padding:1.5rem 1.75rem;}
.modal-body{padding:1.75rem;}
.modal-title{font-family:"Outfit",sans-serif;font-weight:800;text-transform:uppercase;color:var(--text);letter-spacing:-0.01em;}
.btn-close{filter:invert(1) opacity(.7);}
.form-label-cap{font-size:.68rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-2);font-weight:600;margin-bottom:.4rem;}
.form-control{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:0;padding:.75rem .9rem;font-size:.92rem;}
.form-control::placeholder{color:#52525b;}
.form-control:focus{background:var(--bg);color:var(--text);border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);}

/* FOOTER */
footer.foot{background:#000;border-top:1px solid var(--line);padding:4rem 0 2rem;margin-top:0;}
footer.foot h5{color:var(--text);font-family:"Outfit",sans-serif;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:700;margin-bottom:1rem;}
footer.foot a{color:var(--text-2);transition:color .2s;}
footer.foot a:hover{color:var(--gold);}
footer.foot ul{list-style:none;padding:0;margin:0;}
footer.foot li{padding:.35rem 0;font-size:.9rem;}
.foot-base{border-top:1px solid var(--line);padding-top:1.5rem;margin-top:2.5rem;font-size:.78rem;color:#52525b;}
.foot-base .stamp{letter-spacing:.3em;text-transform:uppercase;}

/* TOAST */
.toast-success{position:fixed;right:1rem;bottom:1rem;background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--gold);color:var(--text);padding:.9rem 1.1rem;z-index:2050;transform:translateY(20px);opacity:0;transition:all .3s ease;max-width:320px;}
.toast-success.show{transform:translateY(0);opacity:1;}

/* BACK TO TOP */
.back-to-top{position:fixed;right:1.25rem;bottom:1.25rem;width:48px;height:48px;background:var(--gold);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:1.2rem;border:none;border-radius:0;box-shadow:0 8px 22px rgba(251,191,36,.25);opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s ease;z-index:1040;}
.back-to-top:hover{background:#fcd34d;transform:translateY(-2px);box-shadow:0 12px 28px rgba(251,191,36,.35);}
.back-to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.back-to-top:focus{outline:2px solid #fcd34d;outline-offset:2px;}
.mobilewidth {
  width: auto;
}
/* RESPONSIVE TWEAKS */
@media (max-width:991px){
  body{padding-top:72px;}
  .brand-logo{height:42px;}
  .section{padding:4rem 0;}
  .service-card .imgwrap{height:240px;}
  .service-card .body{padding:1.5rem 1.5rem;}
  .nav-link.custom{margin:0;padding:.65rem 0!important;}
  .navbar-collapse{border-top:1px solid var(--line);margin-top:.5rem;padding-top:1rem;}
  .dropdown-menu .dropend .dropdown-menu {
    position: static !important;
    transform: none !important;
    border: none;
    padding-left: 1rem;
  }

  .mobilewidth {
    width: 140px;
  }

  .dropdown-menu {
    background:transparent !important;
  }

  .dropdown-item {
    width:250px;

  }


}
@media (max-width:575px){
  .hero{height:560px;max-height:none;}
  .contact-cell{padding:1.5rem 1.25rem;}
  .back-to-top{width:44px;height:44px;right:1rem;bottom:1rem;}
}