/* ═══════════════════════════════════════════════
   BOOTSTRAP / OC OVERRIDE — v3
   ═══════════════════════════════════════════════ */

html, body {
  background: #060606 !important;
  color: rgba(255,255,255,.88) !important;
}

/* Ховаємо всі OC header елементи */
nav#top,
header#myheader,
.mobile-header {
  display: none !important;
}

/* Ховаємо візуальний контент OC footer, але не сам тег
   (всередині є Schema.org JSON-LD і скрипти — вони мають залишитись) */
footer > .container,
footer > nav.navbar.navbar-inverse.navbar-fixed-bottom,
.navbar.navbar-inverse.navbar-fixed-bottom {
  display: none !important;
}

/* Показуємо наш кастомний footer */
footer.footer {
  display: block !important;
}

/* Скидаємо Bootstrap контейнери */
.container, .container-fluid {
  background: transparent !important;
}

/* Без navbar зверху — padding-top: 0 */
body {
  padding-top: 0 !important;
}

/* ═══════════════════════════════════════════════
   BOOTSTRAP / OC OVERRIDE — v2
   ═══════════════════════════════════════════════ */

html, body {
  background: #060606 !important;
  color: rgba(255,255,255,.88) !important;
}

/* Ховаємо всі OC header елементи */
nav#top,
header#myheader,
.mobile-header {
  display: none !important;
}

/* Ховаємо OC footer */
body > footer {
  display: none !important;
}

/* Показуємо наш кастомний footer */
footer.footer {
  display: block !important;
}

/* Скидаємо Bootstrap контейнери */
.container, .container-fluid {
  background: transparent !important;
}

/* padding-top під наш pill navbar */
body {
  padding-top: 92px !important;
}

<style>
:root{--bg:#060606;--gold:#c8a96e;--border:rgba(255,255,255,.07);--muted:rgba(255,255,255,.38);}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:rgba(255,255,255,.88);font-family:'Inter',sans-serif;font-weight:300;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;padding-top:92px;overflow-x:hidden;overflow-y:visible;}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:998;opacity:.042;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:200px 200px;}
a{text-decoration:none;color:inherit;}

/* ── CURSOR CANVAS ── */
#cursorCanvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;}

/* ── HEADER ── */
.hdr{position:fixed;top:0;left:0;right:0;z-index:300;padding:28px 20px;}
.hdr-pill{max-width:1152px;margin:0 auto;height:56px;background:rgba(10,9,8,.88);backdrop-filter:blur(28px);border:1px solid rgba(200,169,110,.16);border-radius:14px;display:flex;align-items:center;padding:0 20px;}
.hdr-logo{display:flex;align-items:center;flex-shrink:0;margin-right:28px;}
.hdr-logo img{height:26px;width:auto;}
.hdr-nav{display:flex;align-items:center;gap:2px;flex:1;}
.hdr-nav>a,.hdr-nav>.nav-svc{font-size:13px;font-weight:400;letter-spacing:.03em;color:rgba(255,255,255,.38);padding:6px 11px;border-radius:7px;transition:color .2s,background .2s;white-space:nowrap;cursor:pointer;border:none;background:none;font-family:'Inter',sans-serif;}
.hdr-nav>a:hover,.hdr-nav>.nav-svc:hover,.hdr-nav>a.active{color:rgba(255,255,255,.85);background:rgba(255,255,255,.06);}
.nav-svc{display:flex;align-items:center;gap:5px;position:relative;}
.nav-svc svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:1.5;transition:transform .25s;}
.nav-svc.open svg{transform:rotate(180deg);}
.hdr-right{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0;}
.hdr-tel{font-size:12px;color:rgba(255,255,255,.3);letter-spacing:.03em;transition:color .2s;}
.hdr-tel:hover{color:rgba(255,255,255,.65);}
.hdr-cta{background:var(--gold);color:#060606;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:8px 18px;border-radius:7px;transition:opacity .2s;}
.hdr-cta:hover{opacity:.88;}
.hdr-burger{display:none;background:none;border:1px solid rgba(255,255,255,.12);border-radius:7px;cursor:pointer;width:36px;height:36px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;}
.hdr-burger span{display:block;width:16px;height:1.5px;background:rgba(255,255,255,.65);transition:transform .25s,opacity .25s;transform-origin:center;}

/* ── MEGA MENU ── */
.mega-panel{display:none;position:fixed;top:92px;left:50%;transform:translateX(-50%);width:min(880px,calc(100vw - 32px));background:rgba(10,9,8,.97);backdrop-filter:blur(32px);border:1px solid rgba(200,169,110,.15);border-radius:14px;z-index:299;padding:24px;box-shadow:0 24px 64px rgba(0,0,0,.65);}
.mega-panel.open{display:flex;gap:4px;}
.mega-col{flex:1;min-width:0;padding:4px;}
.mega-col-title{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);opacity:.85;padding:6px 8px 10px;border-bottom:1px solid rgba(200,169,110,.12);margin-bottom:6px;display:flex;align-items:center;justify-content:space-between;}
.mega-col-title svg{width:10px;height:10px;stroke:var(--gold);fill:none;stroke-width:2;opacity:.6;}
.mega-item{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.52);padding:6px 8px;border-radius:6px;transition:color .15s,background .15s;cursor:pointer;position:relative;white-space:nowrap;}
.mega-item:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.05);}
.mega-item.has-sub svg{width:10px;height:10px;stroke:rgba(200,169,110,.5);fill:none;stroke-width:2;flex-shrink:0;}
.mega-item.has-sub:hover svg{stroke:var(--gold);}
.mega-sub{display:none !important;position:absolute !important;left:calc(100% + 4px);top:-4px;min-width:160px;background:rgba(14,13,11,.98);border:1px solid rgba(200,169,110,.15);border-radius:10px;padding:8px;z-index:10000;box-shadow:0 12px 32px rgba(0,0,0,.5);}
.mega-item.has-sub:hover .mega-sub{display:block !important;}
.mega-sub a{display:block;font-size:12px;color:rgba(255,255,255,.48);padding:6px 10px;border-radius:6px;transition:color .15s,background .15s;}
.mega-sub a:hover{color:rgba(255,255,255,.9);background:rgba(255,255,255,.06);}
.mega-divider{width:1px;background:rgba(255,255,255,.06);margin:0 4px;flex-shrink:0;}
.mob-menu{display:none;position:fixed;top:92px;left:12px;right:12px;background:rgba(10,9,8,.97);backdrop-filter:blur(24px);border:1px solid rgba(200,169,110,.15);border-radius:12px;z-index:299;padding:8px;flex-direction:column;max-height:80vh;overflow-y:auto;}
.mob-menu.open{display:flex;}
.mob-menu a{font-size:14px;color:rgba(255,255,255,.62);padding:11px 14px;border-radius:8px;transition:background .15s,color .15s;}
.mob-menu a:hover{background:rgba(255,255,255,.06);color:#fff;}
.mob-menu .mob-sec{font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(200,169,110,.48);padding:12px 14px 4px;}
@media(max-width:768px){.hdr-nav,.hdr-tel,.hdr-cta{display:none;}.hdr-burger{display:flex;}}

/* ── HERO ── */
.hero{position:relative;overflow:visible;border-bottom:1px solid var(--border);min-height:100vh;display:flex;align-items:center;}
#bgCanvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;}


/* Animated logo — desktop: absolute right side */
.hero-logo-wrap{
  position:absolute;
  left:calc(66% - 20px);top:calc(44% - 60px);
  transform:translate(-50%,-50%);
  width:min(480px,44vw);
  height:min(480px,44vw);
  z-index:1;
  pointer-events:all;
  cursor:none;
  overflow:visible;
}
.logo-center-glow{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:55%;height:55%;
  background:radial-gradient(ellipse,rgba(200,169,110,.05) 0%,transparent 70%);
  pointer-events:none;border-radius:50%;
}
.logo-hint{
  position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);
  font-size:10px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(200,169,110,0);transition:color .6s;white-space:nowrap;pointer-events:none;z-index:20;
}
.hero-logo-wrap:hover .logo-hint{color:rgba(200,169,110,.35);}
#animSvg{width:100%;height:100%;overflow:visible;display:block;}

.hero-content{
  position:relative;z-index:2;
  padding:28px 32px 64px;
  width:100%;
}

/* eyebrow strip — mobile only */
.hero-eyebrow-strip{display:none;}

.hero-eyebrow{font-size:10px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:21px;display:flex;align-items:center;gap:10px;opacity:.85;}
.hero-eyebrow::before{content:'';width:20px;height:1px;background:var(--gold);opacity:.5;}
.hero-eyebrow::after{content:'';width:20px;height:1px;background:var(--gold);opacity:.5;}
.hero-h1{font-size:clamp(36px,4.5vw,58px);font-weight:500;line-height:1.08;letter-spacing:-.02em;margin-bottom:18px;max-width:480px;}
.hero-sub{font-size:15px;color:var(--muted);line-height:1.75;max-width:380px;margin-bottom:32px;}
.hero-actions{display:flex;align-items:center;gap:18px;margin-bottom:28px;}
.btn-primary{background:var(--gold);color:#060606;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:13px 28px;border-radius:7px;transition:opacity .2s,transform .15s;display:inline-block;border:none;cursor:pointer;font-family:'Inter',sans-serif;}
.btn-primary:hover{opacity:.9;transform:translateY(-1px);}
.btn-ghost{font-size:12px;color:rgba(255,255,255,.35);display:flex;align-items:center;gap:7px;transition:color .2s;}
.btn-ghost:hover{color:rgba(255,255,255,.72);}
.btn-ghost svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5;}
.hero-stats{display:flex;padding-top:20px;border-top:1px solid rgba(255,255,255,.07);}
.hs{flex:1;padding-right:24px;}.hs+.hs{border-left:1px solid rgba(255,255,255,.06);padding-left:24px;}
.hs-num{font-size:28px;font-weight:500;color:var(--gold);line-height:1;letter-spacing:-.02em;}
.hs-lbl{font-size:10px;color:rgba(255,255,255,.38);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;}

/* ── Desktop text offset ── */
@media(min-width:701px){
  .hero-content{margin-left:0;max-width:480px;padding-left:48px;}
}

/* ── Mobile ── */
@media(max-width:768px){
  /* === HERO === */
  .hero{min-height:auto;padding-top:0;}
  .hero-inner{
    flex-direction:column !important;
    align-items:stretch;
    width:100%;
    padding:0;
  }
  .hero-eyebrow-strip{
    display:block;
    padding:20px 20px 0;
    order:0;
  }
  .hero-logo-wrap{
    position:relative !important;
    left:auto !important;top:auto !important;
    transform:none !important;
    width:86vw !important;height:86vw !important;
    margin:20px auto 0;
    order:1;
  }
  .hero-content{
    padding:16px 20px 36px;
    order:2;
    margin-left:0 !important;
    max-width:100% !important;
  }
  .hero-content .hero-eyebrow{display:none;}
  .hero-h1{font-size:clamp(30px,9vw,46px);max-width:100%;}
  .hero-sub{font-size:14px;max-width:100%;}
  .hero-actions{flex-wrap:wrap;gap:12px;}
  .btn-primary{width:100%;text-align:center;}
  .btn-ghost{justify-content:center;}
  .trust-item{font-size:12px;}

  /* === SECTIONS === */
  .sec-head:not(.portfolio-head){padding:28px 20px 14px;justify-content:flex-start;gap:16px;}
  .sec-head{padding:28px 20px 14px;}
  .portfolio-head{padding:28px 20px 14px;justify-content:space-between;}
  .portfolio-head{padding:28px 20px 14px;}

  /* === SERVICES === */
  .srv-grid-uniform{grid-template-columns:1fr;}

  /* === WHY / HOW === */
  .why-grid{grid-template-columns:1fr !important;}
  .why-card{padding:28px 20px;}
  .how-grid{grid-template-columns:1fr !important;}
  .how-step{padding:28px 20px;}
  .how-cta-wrap{padding:16px 20px 28px;}

  /* === CAROUSEL === */
  .carousel-nav{padding:0 20px;}

  /* === REVIEWS === */
  .reviews{padding:0 20px 28px;}
  .review-cards{grid-template-columns:1fr !important;}
  .rc{padding:18px;}

  /* === MAP + CONTACTS === */
  .bottom{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:unset !important;
    overflow:visible !important;
    height:auto !important;
  }
  footer.footer{
    width:100% !important;
    position:static !important;
    display:flex !important;
  }
  .map-wrap{min-height:300px;height:300px !important;}
  .contacts-panel{
    border-left:none !important;
    border-top:none !important;
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:28px 20px !important;
    display:flex !important;
    flex-direction:column;
    gap:20px;
    visibility:visible !important;
    opacity:1 !important;
  }

  /* === FOOTER === */
  .footer{padding:20px;width:100%;display:flex;clear:both;}
  .footer-left{align-items:flex-start;text-align:left;}
  .bottom{height:auto !important;}

  /* === SCROLL TOP === */
  .scroll-top{bottom:16px;right:16px;width:38px;height:38px;}
}

/* ── REST ── */
.sec-rule{height:1px;background:rgba(255,255,255,.06);}
.sec-head{padding:40px 48px 18px;display:flex;align-items:baseline;justify-content:space-between;}
.sec-title{font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.48);}
.sec-link{font-size:11px;color:var(--gold);letter-spacing:.05em;opacity:.72;transition:opacity .2s;}.sec-link:hover{opacity:1;}
.cats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.05);}
.cat{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:3/2;background:var(--bg);transition:background .3s;}
.cat:hover{background:#0f0e0c;}
.cat::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,rgba(200,169,110,.1) 0%,transparent 65%);opacity:0;transition:opacity .4s;pointer-events:none;}
.cat:hover::after{opacity:1;}
.cat-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;transition:opacity .4s,transform .5s;}
.cat:hover .cat-bg{opacity:.75;transform:scale(1.04);}
.cat-border{position:absolute;inset:0;border:1px solid rgba(200,169,110,0);transition:border-color .3s;pointer-events:none;z-index:3;}
.cat:hover .cat-border{border-color:rgba(200,169,110,.18);}
.cat-content{position:absolute;bottom:0;left:0;right:0;padding:18px 20px;z-index:2;background:linear-gradient(to top,rgba(6,6,6,.93) 0%,transparent 100%);}
.cat-name{font-size:17px;font-weight:400;display:flex;align-items:center;justify-content:space-between;gap:8px;color:rgba(255,255,255,.85);}
.cat-arr{width:26px;height:26px;border:1px solid rgba(200,169,110,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s,border-color .3s;}
.cat:hover .cat-arr{background:var(--gold);border-color:var(--gold);}
.cat-arr svg{width:11px;height:11px;stroke:var(--gold);fill:none;stroke-width:1.5;transition:stroke .3s;}
.cat:hover .cat-arr svg{stroke:#060606;}
.cat-desc{font-size:10px;color:rgba(255,255,255,.3);margin-top:3px;}
.cat-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-58%);opacity:.08;}
.cat:hover .cat-icon{opacity:.15;}
.port-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.05);}
.port-item{position:relative;overflow:hidden;cursor:pointer;display:flex;align-items:flex-end;padding:22px 26px;background:var(--bg);background-size:cover;background-position:center;transition:background-color .3s;}
.port-item.wide{grid-column:span 2;aspect-ratio:21/8;}.port-item:not(.wide){aspect-ratio:16/9;}
.port-fade{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,6,6,.88) 0%,rgba(6,6,6,.18) 60%,transparent 100%);}
.port-caption{position:relative;z-index:1;}
.port-tag{font-size:9px;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:4px;opacity:.8;}
.port-title{font-size:13px;font-weight:400;line-height:1.4;max-width:360px;color:rgba(255,255,255,.8);}
.reviews{padding:0 48px 48px;}
.review-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.05);}
.rc{background:var(--bg);padding:22px;transition:background .3s;}.rc:hover{background:#0c0b09;}
.rc-stars{color:var(--gold);font-size:10px;margin-bottom:12px;letter-spacing:3px;opacity:.8;}
.rc-text{font-size:12px;color:rgba(255,255,255,.45);line-height:1.7;margin-bottom:14px;}
.rc-author{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.06em;text-transform:uppercase;}
.elfsight-note{margin-top:1px;padding:16px;text-align:center;border:1px dashed rgba(200,169,110,.1);font-size:10px;color:rgba(200,169,110,.22);letter-spacing:.14em;text-transform:uppercase;}
.bottom{display:grid;grid-template-columns:60% 40%;}
.map-wrap{min-height:320px;height:320px;background:#040404;}
.map-label{font-size:9px;color:rgba(255,255,255,.08);letter-spacing:.25em;text-transform:uppercase;}
.contacts-panel{border-left:1px solid var(--border);padding:40px 44px;display:flex;flex-direction:column;gap:22px;}
.cp-label{font-size:10px;color:rgba(255,255,255,.38);letter-spacing:.14em;text-transform:uppercase;margin-bottom:4px;}
.cp-val{font-size:13px;color:rgba(255,255,255,.65);}.cp-val a{color:var(--gold);}
.hours-tbl{width:100%;font-size:11px;border-collapse:collapse;}.hours-tbl tr{border-bottom:1px solid rgba(255,255,255,.04);}
.hours-tbl td{padding:6px 0;}.hours-tbl td:first-child{color:rgba(255,255,255,.3);width:50%;}.hours-tbl td:last-child{text-align:left;color:rgba(255,255,255,.6);}.hours-tbl tr.today td{color:var(--gold);}
.social-row{display:flex;gap:6px;margin-top:4px;}
.soc{width:34px;height:34px;border:1px solid rgba(200,169,110,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s;border-radius:4px;}.soc-lg{width:44px;height:44px;border-radius:8px;}
.soc:hover{border-color:var(--gold);background:rgba(200,169,110,.07);}.soc svg{width:14px;height:14px;fill:var(--gold);opacity:.6;}.soc:hover svg{opacity:1;}
.footer{padding:20px 48px;border-top:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;}
.footer-copy{font-size:10px;color:rgba(255,255,255,.14);letter-spacing:.07em;}
.footer-links{display:flex;gap:18px;}.footer-links a{font-size:10px;color:rgba(255,255,255,.14);letter-spacing:.05em;transition:color .2s;}.footer-links a:hover{color:rgba(255,255,255,.45);}
.fade{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;}.fade.in{opacity:1;transform:none;}
@media(max-width:900px){
  .sec-head,.how,.reviews{padding-left:20px;padding-right:20px;}
  .cats-grid{grid-template-columns:1fr 1fr;}
  .port-grid{grid-template-columns:1fr 1fr;}.port-item.wide{grid-column:span 2;}
  .review-cards{grid-template-columns:1fr;}
  .contacts-panel{border-left:none;border-top:1px solid var(--border);}
  .footer{flex-direction:column;gap:10px;text-align:center;}
}
@media(max-width:580px){
  .cats-grid{grid-template-columns:1fr;}
  .port-grid{grid-template-columns:1fr;}.port-item.wide{grid-column:span 1;aspect-ratio:4/3;}
}

.lang-switch{
  display:flex;align-items:center;gap:4px;
  font-size:11px;letter-spacing:.06em;
  flex-shrink:0;
}
.lang-switch a{
  color:rgba(255,255,255,.25);
  transition:color .2s;
  text-decoration:none;
}
.lang-switch a:hover{color:rgba(255,255,255,.55);}
.lang-switch a.active{color:rgba(255,255,255,.55);}
.lang-switch span{color:rgba(255,255,255,.15);font-size:10px;}

.hero-inner{
  max-width:1152px;
  margin:0 auto;
  width:100%;
  position:relative;
  height:100%;
  min-height:inherit;
  display:flex;
  align-items:center;
}

.hs-note{
  font-size:10px;color:rgba(255,255,255,.2);
  letter-spacing:.06em;margin-top:2px;
}
.hs-text{
  border-left:1px solid rgba(255,255,255,.06);
  padding-left:24px;
  display:flex;flex-direction:column;gap:5px;
  justify-content:center;
}
.hs-tag{
  font-size:11px;color:rgba(255,255,255,.38);
  letter-spacing:.04em;line-height:1.4;
  padding-left:10px;
  position:relative;
}
.hs-tag::before{
  content:'—';
  position:absolute;left:0;
  color:rgba(200,169,110,.4);
  font-size:9px;
}

.trust-bar{
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex;flex-direction:column;gap:5px;
}
.trust-row{display:contents;}
.trust-sep{display:none;}
.trust-item{
  display:block;
  font-size:12px;color:rgba(255,255,255,.45);
  letter-spacing:.03em;line-height:1.6;
}
.trust-item em{
  font-style:normal;
  color:rgba(200,169,110,.75);
  font-weight:400;
}

/* ── ASYMMETRIC SERVICES GRID ── */
.services-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:auto auto;
  gap:2px;
  background:rgba(255,255,255,.04);
}
.srv{
  position:relative;overflow:hidden;cursor:pointer;
  background:var(--bg);
  min-height:240px;
  display:flex;align-items:flex-end;
}
.srv-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.45;transition:opacity .5s,transform .6s cubic-bezier(.25,.46,.45,.94);
}
.srv:hover .srv-bg{opacity:.7;transform:scale(1.04);}
.srv::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,6,6,.92) 0%,rgba(6,6,6,.1) 60%,transparent 100%);
  transition:opacity .3s;
}
.srv:hover::after{opacity:.75;}
.srv-content{
  position:relative;z-index:2;
  padding:24px 28px;width:100%;
}
.srv-name{
  font-size:20px;font-weight:500;
  color:rgba(255,255,255,.9);
  letter-spacing:-.01em;margin-bottom:6px;
  transition:color .2s;
}
.srv:hover .srv-name{color:#fff;}
.srv-desc{
  font-size:11px;color:rgba(255,255,255,.35);
  letter-spacing:.05em;margin-bottom:12px;
}
.srv-cta{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);opacity:0;transform:translateY(6px);
  transition:opacity .3s,transform .3s;
}
.srv:hover .srv-cta{opacity:1;transform:none;}
.srv-cta svg{width:12px;height:12px;stroke:var(--gold);fill:none;stroke-width:1.5;}
.srv-border{
  position:absolute;inset:0;
  border:1px solid rgba(200,169,110,0);
  transition:border-color .3s;pointer-events:none;z-index:3;
}
.srv:hover .srv-border{border-color:rgba(200,169,110,.2);}

/* Grid placement */
.srv-main{grid-column:1;grid-row:1/3;min-height:480px;}
.srv-uv{grid-column:2;grid-row:1;}
.srv-sub{grid-column:3;grid-row:1;}
.srv-porz{grid-column:2;grid-row:2;}
.srv-shyldy{grid-column:3;grid-row:2;}
/* Зварювання — під основною сіткою, повна ширина */
.srv-zvar{
  grid-column:1/4;grid-row:3;
  min-height:140px;
}
.srv-zvar .srv-name{font-size:16px;}

/* placeholder icons for missing photos */
.srv-icon{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-60%);
  opacity:.07;transition:opacity .3s;
}
.srv:hover .srv-icon{opacity:.12;}

@media(max-width:900px){
  .services-grid{grid-template-columns:1fr 1fr;}
  .srv-main{grid-column:1/3;grid-row:1;min-height:280px;}
  .srv-uv{grid-column:1;grid-row:2;}
  .srv-sub{grid-column:2;grid-row:2;}
  .srv-porz{grid-column:1;grid-row:3;}
  .srv-shyldy{grid-column:2;grid-row:3;}
  .srv-zvar{grid-column:1/3;grid-row:4;}
}
@media(max-width:580px){
  .services-grid{grid-template-columns:1fr;}
  .srv-main,.srv-uv,.srv-sub,.srv-porz,.srv-shyldy,.srv-zvar{
    grid-column:1;min-height:200px;
  }
  .srv-main{grid-row:1;min-height:260px;}
  .srv-uv{grid-row:2;}.srv-sub{grid-row:3;}
  .srv-porz{grid-row:4;}.srv-shyldy{grid-row:5;}
  .srv-zvar{grid-row:6;}
}

/* ── UNIFORM 3x2 SERVICES GRID ── */
.srv-grid-uniform{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
  background:rgba(255,255,255,.04);
}
.srvu{
  position:relative;overflow:hidden;cursor:pointer;
  background:var(--bg);
  aspect-ratio:4/3;
  display:flex;align-items:flex-end;
  text-decoration:none;
}
.srvu-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.5;
  transition:opacity .5s,transform .6s cubic-bezier(.25,.46,.45,.94);
}
.srvu:hover .srvu-bg{opacity:.75;transform:scale(1.04);}
.srvu-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,6,6,.92) 0%,rgba(6,6,6,.15) 55%,transparent 100%);
}
.srvu-content{
  position:relative;z-index:2;
  padding:20px 24px;width:100%;
}
.srvu-name{
  font-size:18px;font-weight:500;
  color:rgba(255,255,255,.9);
  letter-spacing:-.01em;margin-bottom:4px;
}
.srvu-desc{
  font-size:11px;color:rgba(255,255,255,.32);
  letter-spacing:.04em;margin-bottom:10px;
}
.srvu-cta{
  font-size:10px;font-weight:500;letter-spacing:.1em;
  color:var(--gold);opacity:0;
  transform:translateY(5px);
  transition:opacity .25s,transform .25s;
  display:block;
}
.srvu:hover .srvu-cta{opacity:1;transform:none;}

/* Border on hover */
.srvu::after{
  content:'';position:absolute;inset:0;
  border:1px solid rgba(200,169,110,0);
  transition:border-color .3s;pointer-events:none;z-index:3;
}
.srvu:hover::after{border-color:rgba(200,169,110,.2);}

@media(max-width:900px){
  .srv-grid-uniform{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:580px){
  .srv-grid-uniform{grid-template-columns:1fr;}
  .srvu{aspect-ratio:3/2;}
}

/* ── TEXT REVEAL (Linear-style) ── */
@keyframes textReveal{
  0%  {opacity:0;filter:blur(14px);transform:translateY(10px);}
  100%{opacity:1;filter:blur(0);transform:translateY(0);}
}
.hero-h1{
  opacity:0;
  animation:textReveal 1.65s cubic-bezier(.16,1,.3,1) .1s forwards;
}
.hero-h1 .line{
  display:block;
}

/* ── ORDER MODAL ── */
.modal-overlay{
  display:none;position:fixed;inset:0;z-index:500;
  background:rgba(6,6,6,.85);backdrop-filter:blur(8px);
  align-items:center;justify-content:center;padding:20px;
}
.modal-overlay.open{display:flex;}
.modal{
  background:#0e0d0b;
  border:1px solid rgba(200,169,110,.2);
  border-radius:16px;
  padding:36px;
  width:100%;max-width:460px;
  position:relative;
}
.modal-close{
  position:absolute;top:16px;right:16px;
  background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.3);font-size:20px;line-height:1;
  transition:color .2s;
}
.modal-close:hover{color:rgba(255,255,255,.7);}
.modal-title{
  font-size:20px;font-weight:500;color:#fff;
  margin-bottom:6px;letter-spacing:-.01em;
}
.modal-sub{
  font-size:12px;color:rgba(255,255,255,.35);
  margin-bottom:24px;line-height:1.5;
}
.modal-field{
  margin-bottom:14px;
}
.modal-field label{
  display:block;font-size:10px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.3);margin-bottom:6px;
}
.modal-field input,
.modal-field textarea{
  width:100%;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;padding:12px 14px;
  font-family:'Inter',sans-serif;font-size:13px;
  color:rgba(255,255,255,.85);outline:none;
  transition:border-color .2s;resize:none;
}
.modal-field input:focus,
.modal-field textarea:focus{
  border-color:rgba(200,169,110,.4);
}
.modal-field input::placeholder,
.modal-field textarea::placeholder{
  color:rgba(255,255,255,.2);
}
.modal-submit{
  width:100%;background:var(--gold);color:#060606;
  font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;padding:14px;border-radius:8px;
  border:none;cursor:pointer;margin-top:6px;
  transition:opacity .2s;font-family:'Inter',sans-serif;
}
.modal-submit:hover{opacity:.88;}
.modal-submit:disabled{opacity:.5;cursor:not-allowed;}
.modal-success{
  display:none;text-align:center;padding:20px 0;
}
.modal-success.show{display:block;}
.modal-success-icon{font-size:36px;margin-bottom:12px;}
.modal-success-text{font-size:15px;color:rgba(255,255,255,.75);}
.modal-form-body.hide{display:none;}

/* ── SCROLL TO TOP ── */
.scroll-top{
  position:fixed;
  bottom:32px;right:32px;
  width:44px;height:44px;
  background:rgba(200,169,110,.15);
  border:1px solid rgba(200,169,110,.45);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:290;
  opacity:0;transform:translateY(12px);
  transition:opacity .3s,transform .3s,border-color .2s,background .2s;
  pointer-events:none;
}
.scroll-top.visible{
  opacity:1;transform:translateY(0);
  pointer-events:all;
}
.scroll-top:hover{
  background:rgba(200,169,110,.28);
  border-color:rgba(200,169,110,.8);
}
.scroll-top svg{
  width:16px;height:16px;
  stroke:rgba(200,169,110,.95);fill:none;stroke-width:2;
  transition:stroke .2s;
}
.scroll-top:hover svg{stroke:#fff;}




/* ── WHY ONSDAG ── */
.why-section{padding:0 0 1px;}
.why-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:rgba(255,255,255,.05);
}
.why-card{
  background:var(--bg);padding:40px 36px;
  display:flex;flex-direction:column;gap:16px;
  transition:background .3s;position:relative;overflow:hidden;
}
.why-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent,rgba(200,169,110,.3),transparent);
}
.why-card:hover{background:#0b0a08;}
.why-ico{
  width:40px;height:40px;
  border:1.5px solid rgba(200,169,110,.35);border-radius:8px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.why-ico svg{width:20px;height:20px;stroke:rgba(200,169,110,.7);fill:none;stroke-width:1.5;}
.why-num{
  font-size:42px;font-weight:300;color:rgba(200,169,110,.55);
  line-height:1;letter-spacing:-.02em;
}
.why-title{font-size:16px;font-weight:500;color:rgba(255,255,255,.88);letter-spacing:-.01em;line-height:1.3;}
.why-desc{font-size:13px;color:rgba(255,255,255,.42);line-height:1.75;flex:1;}
.why-link{font-size:11px;color:var(--gold);letter-spacing:.06em;opacity:.72;transition:opacity .2s;display:inline-flex;align-items:center;gap:5px;}
.why-link:hover{opacity:1;}

/* ── HOW WE WORK — redesigned ── */
.how-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:rgba(255,255,255,.05);
  position:relative;
}
.how-grid::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;z-index:1;
  background:linear-gradient(to right,transparent,rgba(200,169,110,.3),transparent);
}
.how-step{
  background:var(--bg);padding:40px 36px;
  display:flex;flex-direction:column;gap:16px;
  transition:background .3s;position:relative;
}
.how-step:hover{background:#0b0a08;}
.how-step-top{display:flex;align-items:center;justify-content:space-between;}
.how-step-num{
  font-size:11px;font-weight:500;letter-spacing:.18em;
  color:rgba(200,169,110,.6);
}
.how-step-ico{
  width:40px;height:40px;
  border:1.5px solid rgba(200,169,110,.35);border-radius:8px;
  display:flex;align-items:center;justify-content:center;
}
.how-step-ico svg{width:20px;height:20px;stroke:rgba(200,169,110,.7);fill:none;stroke-width:1.5;}
.how-step-title{font-size:16px;font-weight:500;color:rgba(255,255,255,.88);letter-spacing:-.01em;}
.how-step-desc{font-size:13px;color:rgba(255,255,255,.42);line-height:1.75;}
.how-cta-wrap{padding:28px 48px 48px;}


}

/* ── PORTFOLIO CAROUSEL ── */
.carousel-wrap{
  position:relative;
  overflow:hidden;
  padding:0 0 48px;
}
.carousel-track-outer{
  overflow:hidden;
  cursor:grab;
  user-select:none;
}
.carousel-track-outer:active{cursor:grabbing;}
.carousel-track{
  display:flex;
  gap:2px;
  transition:transform .45s cubic-bezier(.25,.46,.45,.94);
  will-change:transform;
}
.carousel-card{
  flex:0 0 calc(33.333% - 2px);
  min-width:calc(33.333% - 2px);
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  background:var(--bg);
  cursor:pointer;
}
.carousel-card-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  opacity:.75;
  transition:opacity .4s,transform .5s cubic-bezier(.25,.46,.45,.94);
}
.carousel-card:hover .carousel-card-bg{
  opacity:1;transform:scale(1.04);
}
.carousel-card-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(6,6,6,.88) 0%,rgba(6,6,6,.05) 50%,transparent 100%);
}
.carousel-card-content{
  position:absolute;bottom:0;left:0;right:0;
  padding:20px 22px;z-index:2;
}
.carousel-card-tag{
  font-size:9px;color:var(--gold);
  letter-spacing:.18em;text-transform:uppercase;
  opacity:.8;margin-bottom:5px;
}
.carousel-card-title{
  font-size:15px;font-weight:500;
  color:rgba(255,255,255,.9);
  letter-spacing:-.01em;line-height:1.3;
}
/* Border on hover */
.carousel-card::after{
  content:'';position:absolute;inset:0;
  border:1px solid rgba(200,169,110,0);
  transition:border-color .3s;pointer-events:none;z-index:3;
}
.carousel-card:hover::after{border-color:rgba(200,169,110,.25);}

/* Navigation */
.carousel-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 0 0;margin-top:20px;
}
.carousel-arrows{display:flex;gap:8px;}
.carousel-arrow{
  width:40px;height:40px;
  border:1px solid rgba(255,255,255,.1);border-radius:50%;
  background:transparent;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:border-color .2s,background .2s;
  flex-shrink:0;
}
.carousel-arrow:hover{
  border-color:rgba(200,169,110,.45);
  background:rgba(200,169,110,.08);
}
.carousel-arrow:disabled{opacity:.25;cursor:default;pointer-events:none;}
.carousel-arrow svg{
  width:16px;height:16px;stroke:rgba(255,255,255,.6);
  fill:none;stroke-width:1.5;
}
.carousel-dots{
  display:flex;gap:6px;align-items:center;
}
.carousel-dot{
  width:4px;height:4px;border-radius:50%;
  background:rgba(255,255,255,.2);
  transition:background .3s,width .3s;
  cursor:pointer;
}
.carousel-dot.active{
  background:var(--gold);width:16px;border-radius:2px;
}

/* Sec head for portfolio */
.portfolio-head{
  padding:40px 48px 20px;
  display:flex;align-items:center;justify-content:space-between;
}

@media(max-width:900px){
  .carousel-card{flex:0 0 calc(50% - 1px);min-width:calc(50% - 1px);}
}
@media(max-width:580px){
  .carousel-card{flex:0 0 85vw;min-width:85vw;}
  .portfolio-head{padding:32px 20px 16px;}
  .carousel-wrap{padding:0 0 32px;}
}

/* ── FOOTER UPDATED ── */
.footer{
  padding:28px 20px;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  left:50%;
  right:50%;
  width:100vw;
  margin-left:-50vw;
  margin-right:-50vw;
  box-sizing:border-box;
}
.footer-left{display:flex;flex-direction:column;gap:5px;align-items:flex-start;text-align:left;}
.footer-copy{font-size:13px;color:rgba(255,255,255,.45);letter-spacing:.04em;}
.footer-sub{font-size:12px;color:rgba(255,255,255,.3);letter-spacing:.03em;}


/* Mobile submenu */
@media(max-width:768px){
  .mob-item.has-sub .mob-sub{
    display:none;
    padding-left:16px;
  }
  .mob-item.has-sub.open .mob-sub{display:block;}
  .mob-sub a{
    display:block;padding:8px 14px;
    font-size:13px;color:rgba(255,255,255,.4);
  }
  .mob-sub a:hover{color:rgba(255,255,255,.75);}
  .mob-item.has-sub > a::after{
    content:'›';margin-left:6px;
    color:rgba(200,169,110,.5);
    transition:transform .2s;display:inline-block;
  }
  .mob-item.has-sub.open > a::after{transform:rotate(90deg);}
}
</style>

/* ── NAVBAR OVERRIDE (білий фон фікс) ── */
header.hdr,
header.hdr .hdr-pill {
  background: rgba(10,9,8,.92) !important;
  border-color: rgba(200,169,110,.16) !important;
}
header.hdr .hdr-nav > a,
header.hdr .hdr-nav > button {
  color: rgba(255,255,255,.55) !important;
}
header.hdr .hdr-nav > a.active,
header.hdr .hdr-nav > a:hover,
header.hdr .hdr-nav > button:hover {
  color: rgba(255,255,255,.9) !important;
  background: rgba(255,255,255,.06) !important;
}
header.hdr .hdr-cta {
  background: #c8a96e !important;
  color: #060606 !important;
}
header.hdr.scrolled .hdr-pill {
  box-shadow: 0 8px 32px rgba(0,0,0,.4) !important;
}

/* ── HERO CTA FIX ── */
.hero-actions {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin-bottom: 28px !important;
}
.btn-primary {
  display: inline-block !important;
  background: var(--gold) !important;
  color: #060606 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  border-radius: 7px !important;
  border: none !important;
  cursor: pointer !important;
  font-family: "Inter", sans-serif !important;
  text-decoration: none !important;
}
.btn-primary:hover {
  opacity: .88 !important;
  color: #060606 !important;
}
.btn-ghost {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  color: rgba(255,255,255,.45) !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  transition: color .2s !important;
}
.btn-ghost:hover { color: rgba(255,255,255,.8) !important; }

/* ── HERO LAYOUT FIX ── */
.hero { min-height: 100vh !important; }
.hero-content { padding-top: 100px !important; }

/* ── FOOTER COPYRIGHT FIX ── */
footer.footer .footer-copy {
  display: block !important;
  text-align: center !important;
  font-size: 12px !important;
  color: rgba(255,255,255,.25) !important;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
}

/* ── BTN-PRIMARY BOOTSTRAP OVERRIDE ── */
body .btn-primary,
body button.btn-primary,
.hero .btn-primary,
.hero-actions .btn-primary,
.how .btn-primary {
  display: inline-block !important;
  background: #c8a96e !important;
  background-color: #c8a96e !important;
  color: #060606 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  padding: 13px 28px !important;
  border-radius: 7px !important;
  border: none !important;
  cursor: pointer !important;
  font-family: "Inter", sans-serif !important;
  text-decoration: none !important;
  box-shadow: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body .btn-primary:hover,
body button.btn-primary:hover {
  background: #c8a96e !important;
  background-color: #c8a96e !important;
  color: #060606 !important;
  opacity: .88 !important;
}
/* Також фіксуємо hero-actions display */
.hero .hero-actions {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ── MODAL BOOTSTRAP OVERRIDE ── */
body .modal-overlay {
  display: none;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(0,0,0,.72) !important;
  backdrop-filter: blur(8px) !important;
  z-index: 10000 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
}
body .modal-overlay.open {
  display: flex !important;
}
body .modal-overlay .modal {
  position: relative !important;
  background: #111 !important;
  border: 1px solid rgba(200,169,110,.18) !important;
  border-radius: 16px !important;
  padding: 36px !important;
  width: 100% !important;
  max-width: 480px !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  box-shadow: 0 32px 80px rgba(0,0,0,.6) !important;
}
body .modal-overlay .modal-close {
  position: absolute !important;
  top: 16px !important;
  right: 20px !important;
  background: none !important;
  border: none !important;
  font-size: 22px !important;
  color: rgba(255,255,255,.4) !important;
  cursor: pointer !important;
  line-height: 1 !important;
  padding: 0 !important;
}
body .modal-overlay .modal-title {
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #fff !important;
  margin-bottom: 8px !important;
}
body .modal-overlay .modal-sub {
  font-size: 13px !important;
  color: rgba(255,255,255,.45) !important;
  margin-bottom: 24px !important;
  line-height: 1.6 !important;
}
body .modal-overlay .modal-field {
  margin-bottom: 16px !important;
}
body .modal-overlay .modal-field label {
  display: block !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.4) !important;
  margin-bottom: 8px !important;
}
body .modal-overlay .modal-field input,
body .modal-overlay .modal-field textarea {
  width: 100% !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  color: rgba(255,255,255,.88) !important;
  font-size: 14px !important;
  font-family: "Inter", sans-serif !important;
  outline: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}
body .modal-overlay .modal-submit {
  width: 100% !important;
  background: #c8a96e !important;
  color: #060606 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  margin-top: 8px !important;
  font-family: "Inter", sans-serif !important;
}
body .modal-overlay .modal-success { display: none !important; }
body .modal-overlay .modal-success.show { display: block !important; text-align: center; padding: 20px 0; }
body .modal-overlay .modal-form-body.hide { display: none !important; }


/* ── ORDER MODAL FIX (Bootstrap conflict) ── */
.order-modal {
  background: #1a1a1a;
  border-radius: 16px;
  padding: 40px;
  width: 100%;
  max-width: 520px;
  position: relative;
  max-height: 90vh;
  overflow-y: auto;
}



/* ── NAVBAR TEXT-TRANSFORM OVERRIDE ── */
.hdr-nav > a,
.hdr-nav > .nav-svc,
.hdr-nav > button {
  text-transform: none !important;
  letter-spacing: .03em !important;
}

/* ── HEADER BG OVERRIDE ── */
header.hdr { background: transparent !important; }
.hdr-pill { background: rgba(10,9,8,.88) !important; }

/* ── LOGO COLOR FIX ── */
.hdr-logo img {
  filter: brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(5deg) opacity(0.85) !important;
}

/* ── MEGA-SUB HOVER FIX ── */
.mega-sub { display: none !important; }
.mega-item.has-sub:hover .mega-sub { display: block !important; }



.mega-item.has-sub + .mega-sub {
  position: absolute !important;
  left: 100% !important;
  top: 0 !important;
}



/* ── DISABLE OC DROPDOWN ── */
header#myheader .dropdown-menu,
nav#top .dropdown-menu {
  display: none !important;
}

/* ── MEGA-SUB SPAN FIX ── */
span.mega-sub { display:none; }
.mega-item.has-sub:hover span.mega-sub { display:block !important; }
span.mega-sub a { display:block; }


/* ── MEGA-SUB SPAN POSITION ── */
.mega-item.has-sub {
  position: relative !important;
}
span.mega-sub {
  display: none;
  position: absolute !important;
  left: calc(100% + 4px) !important;
  top: -4px !important;
  min-width: 160px;
  background: rgba(14,13,11,.98);
  border: 1px solid rgba(200,169,110,.15);
  border-radius: 10px;
  padding: 8px;
  z-index: 10000 !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.5);
  white-space: nowrap;
}
.mega-item.has-sub:hover span.mega-sub {
  display: block !important;
}
span.mega-sub a {
  display: block !important;
  font-size: 12px;
  color: rgba(255,255,255,.48);
  padding: 6px 10px;
  border-radius: 6px;
  transition: color .15s, background .15s;
}
span.mega-sub a:hover {
  color: rgba(255,255,255,.9) !important;
  background: rgba(255,255,255,.06) !important;
}


/* ── MEGA-SUB WRAP FIX ── */
.mega-has-sub-wrap {
  position: relative !important;
}
.mega-has-sub-wrap:hover span.mega-sub {
  display: block !important;
}
span.mega-sub {
  position: absolute !important;
  left: calc(100% + 4px) !important;
  top: 0 !important;
}

/* ── ELFSIGHT MARGIN ── */
.elfsight-app-3fcd4755-1dda-4de5-a082-df3158815de0 { margin-top: 32px; display: block; }

/* ── REVIEW CARDS SEO ONLY ── */
.review-cards {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
}


/* ── OC FOOTER FULL HIDE ── */
footer#footer,
footer:not(.footer) {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 0 !important;
}

/* ── MAP WIDTH 75/25 ── */
.bottom {
  grid-template-columns: 75% 25% !important;
}

/* ── SOCIAL ICONS FIX ── */
.soc svg {
  fill: var(--gold) !important;
  opacity: .6;
}
.soc:hover svg {
  opacity: 1 !important;
}

/* ── FOOTER SHOW ── */
footer.footer {
  display: flex !important;
  padding: 28px 48px !important;
  background: var(--bg) !important;
  color: rgba(255,255,255,.45) !important;
}


/* ── FOOTER CENTER FIX ── */
footer.footer {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
  justify-content: center !important;
}
.footer-left {
  align-items: center !important;
  text-align: center !important;
}

/* ── MAP HEIGHT FIX ── */
.map-wrap {
  min-height: 420px !important;
  height: 420px !important;
}
.map-wrap iframe {
  height: 420px !important;
}

/* ── MAP WIDTH REVERT ── */
.bottom {
  grid-template-columns: 60% 40% !important;
}


/* ── MAP HEIGHT 520 ── */
.map-wrap,
.map-wrap iframe {
  min-height: 520px !important;
  height: 520px !important;
}

/* ── FOOTER FULL WIDTH FIX v2 ── */
.bottom ~ footer.footer,
footer.footer {
  display: flex !important;
  width: 100% !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: static !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}


/* ── MAP TOP FIX ── */
.bottom {
  margin-top: 0 !important;
}
.sec-rule {
  display: block !important;
}

/* ── CONTACTS COLORS FIX ── */
.contacts-panel {
  background: var(--bg) !important;
  color: rgba(255,255,255,.65) !important;
}
.cp-label {
  font-size: 10px !important;
  color: rgba(255,255,255,.38) !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.cp-val {
  font-size: 13px !important;
  color: rgba(255,255,255,.65) !important;
}
.cp-val a {
  color: var(--gold) !important;
}
.hours-tbl td:first-child {
  color: rgba(255,255,255,.3) !important;
}
.hours-tbl td:last-child {
  color: rgba(255,255,255,.6) !important;
}

/* ── SOCIAL ICONS FIX ── */
.soc {
  background: transparent !important;
  border: 1px solid rgba(200,169,110,.15) !important;
  border-radius: 8px !important;
  width: 44px !important;
  height: 44px !important;
}
.soc svg {
  width: 20px !important;
  height: 20px !important;
  fill: var(--gold) !important;
  opacity: .6 !important;
}
.soc:hover {
  border-color: var(--gold) !important;
  background: rgba(200,169,110,.07) !important;
}
.soc:hover svg {
  opacity: 1 !important;
}


/* ── SOCIAL ICONS GOLD HARDCODE ── */
.soc svg,
.soc svg path,
.soc svg *,
.social-row a svg,
.social-row a svg path {
  fill: #c8a96e !important;
  opacity: 1 !important;
}
.soc {
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(200,169,110,.15) !important;
  background: transparent !important;
}


/* ── CONTACTS TEXT COLORS ── */
.cp-val a {
  color: #c8a96e !important;
}
.contacts-panel a[href^="tel"],
.contacts-panel a[href^="mailto"] {
  color: #c8a96e !important;
}
.hours-tbl td:first-child {
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #c8a96e !important;
}


/* ── ADDRESS GOLD ── */
.cp-val {
  color: rgba(255,255,255,.65) !important;
}
.contacts-panel > div:first-child .cp-val {
  color: #c8a96e !important;
}

/* ── MAP TOP PADDING — fix navbar overlap ── */
.sec-rule {
  display: block !important;
  height: 1px !important;
}
.bottom {
  scroll-margin-top: 92px !important;
}


/* ── BOTTOM PADDING — fix navbar overlap on scroll ── */
.bottom {
  padding-bottom: 92px !important;
}
footer.footer {
  margin-bottom: 0 !important;
}


/* ── BOTTOM OVERLAP FIX — remove padding, fix body ── */
.bottom {
  padding-bottom: 0 !important;
}


/* ── MAP TOP GAP FIX ── */
.sec-rule + .bottom,
.bottom { margin-top: 0 !important; }
.sec-rule { margin-top: 48px !important; }


/* ── BOTTOM NAVBAR OVERLAP FIX ── */
.sec-rule {
  scroll-margin-top: 100px !important;
}
.bottom {
  scroll-margin-top: 100px !important;
}


/* ── BOTTOM MARGIN TOP ── */
.sec-rule + .bottom {
  margin-top: 0 !important;
}
.sec-rule {
  margin-top: 100px !important;
}

/* ── HDR-CTA BORDER FIX ── */
.hdr-cta { border: none !important; outline: none !important; }


/* ── HERO H1 COLOR FIX ── */
.hero-h1 {
  color: rgba(255,255,255,.92) !important;
}
.hero-h1 .line {
  color: rgba(255,255,255,.92) !important;
}

/* ── HERO EYEBROW FIX ── */
.hero-eyebrow {
  color: var(--gold) !important;
  opacity: .85 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  margin-bottom: 21px !important;
}
.hero-eyebrow::before,
.hero-eyebrow::after {
  content: '' !important;
  width: 20px !important;
  height: 1px !important;
  background: var(--gold) !important;
  opacity: .5 !important;
  display: block !important;
}

/* ── HERO SUB GREY FINAL ── */
.hero-sub { color: rgba(255,255,255,.38) !important; }


/* ── EYEBROW DASHES VISIBLE ── */
.hero-eyebrow::before,
.hero-eyebrow::after {
  content: "" !important;
  display: block !important;
  width: 24px !important;
  height: 1px !important;
  background: #c8a96e !important;
  opacity: 0.6 !important;
  flex-shrink: 0 !important;
}

/* ── EYEBROW COLOR HARDCODE ── */
.hero-eyebrow { color: #c8a96e !important; }


/* ── HERO CONTENT POSITION FIX ── */
.hero {
  align-items: flex-start !important;
}
.hero-inner {
  align-items: flex-start !important;
  padding-top: 60px !important;
}
.hero-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ── HERO INNER PADDING FIX ── */
.hero-inner { padding-top: 20px !important; }


/* ── BTN HEIGHT FIX ── */
.btn-primary {
  padding: 10px 24px !important;
  font-size: 10px !important;
}
.hdr-cta {
  padding: 7px 16px !important;
}

/* ── NAVBAR LOGO GOLD ── */
.hdr-logo img {
  filter: brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(5deg) opacity(0.85) !important;
}

/* ── LOGO GOLD EXACT ── */
.hdr-logo img { filter: brightness(0) saturate(100%) invert(72%) sepia(28%) saturate(600%) hue-rotate(5deg) brightness(95%) !important; }


/* ── BUTTONS HEIGHT -20% ── */
.btn-primary {
  padding: 10px 28px !important;
  line-height: 1.2 !important;
}
.hdr-cta {
  padding: 6px 18px !important;
  line-height: 1.2 !important;
}

/* ── BUTTONS WIDTH -20% ── */
.btn-primary { padding: 10px 22px !important; }
.hdr-cta { padding: 6px 14px !important; }


/* ── MOBILE OVERFLOW FIX ── */
html {
  overflow-x: hidden !important;
  overflow-y: scroll !important;
  max-width: 100vw !important;
}
body {
  overflow: hidden !important;
  max-width: 100vw !important;
}
.hdr-pill {
  max-width: calc(100vw - 24px) !important;
}
.mega-panel {
  max-width: calc(100vw - 24px) !important;
}


/* ── MOBILE EYEBROW DUPLICATE FIX ── */
@media(max-width:700px) {
  .hero-content .hero-eyebrow {
    display: none !important;
  }
  .hero-eyebrow-strip {
    display: block !important;
    padding: 20px 20px 0 !important;
  }
}


/* ── MOB MENU SUBMENU ── */
.mob-parent { position: relative; }
.mob-parent > a { display: flex; align-items: center; justify-content: space-between; }
.mob-arrow { color: rgba(200,169,110,.5); font-size: 14px; transition: transform .2s; margin-left: 6px; }
.mob-parent.open .mob-arrow { transform: rotate(90deg); }
.mob-children { display: none; padding-left: 16px; }
.mob-parent.open .mob-children { display: block; }
.mob-children a { display: block; font-size: 13px; color: rgba(255,255,255,.4); padding: 8px 14px; border-radius: 8px; }
.mob-children a:hover { color: rgba(255,255,255,.75); background: rgba(255,255,255,.06); }


/* ── MOB ARROW BTN ── */
.mob-arrow-btn {
  background: none !important;
  border: none !important;
  color: rgba(200,169,110,.5) !important;
  font-size: 18px !important;
  padding: 8px 14px !important;
  cursor: pointer !important;
  line-height: 1 !important;
  margin-left: auto !important;
  transition: transform .2s !important;
}
.mob-parent.open .mob-arrow-btn {
  transform: rotate(90deg) !important;
}
.mob-parent > a {
  flex: 1 !important;
}


/* ── IOS MOMENTUM SCROLL FIX ── */
html {
  -webkit-overflow-scrolling: touch !important;
}
body {
  -webkit-overflow-scrolling: touch !important;
}

/* ── WORKS GRID ── */
.works-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 2px;
  margin: 0 0 64px;
}
/* row 3: cards 9-10 span 2 cols each (2 wide cards) */
.works-grid .works-card:nth-child(9),
.works-grid .works-card:nth-child(10) {
  grid-column: span 2;
}
/* row 4: cards 11-13 span ~1.33 cols each via auto */
.works-grid .works-card:nth-child(11) { grid-column: 1 / 2; }
.works-grid .works-card:nth-child(12) { grid-column: 2 / 3; }
.works-grid .works-card:nth-child(13) { grid-column: auto; }
.works-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  display: block;
  text-decoration: none;
  background: #111;
}
.works-card-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform .5s ease;
}
.works-card:hover .works-card-bg {
  transform: scale(1.05);
}
.works-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(6,6,6,.85) 0%, rgba(6,6,6,.1) 60%, transparent 100%);
  transition: background .3s;
}
.works-card:hover .works-card-overlay {
  background: linear-gradient(to top, rgba(6,6,6,.92) 0%, rgba(6,6,6,.3) 60%, transparent 100%);
}
.works-card-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px 22px;
}
.works-card-name {
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  letter-spacing: .02em;
  margin-bottom: 4px;
}
.works-card-cta {
  font-size: 11px;
  color: var(--gold);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .3s, transform .3s;
  display: block;
  letter-spacing: .04em;
}
.works-card:hover .works-card-cta {
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 900px) {
  .works-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .works-grid .works-card,
  .works-grid .works-card:nth-child(9),
  .works-grid .works-card:nth-child(10),
  .works-grid .works-card:nth-child(11),
  .works-grid .works-card:nth-child(12),
  .works-grid .works-card:nth-child(13) {
    grid-column: span 1;
  }
}
@media (max-width: 480px) {
  .works-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
  }
  .works-card-name {
    font-size: 11px;
  }
}

/* works-grid 12-col fix */
.works-grid .works-card { grid-column: span 3; }
.works-grid .works-card:nth-child(9), .works-grid .works-card:nth-child(10) { grid-column: span 6; }
.works-grid .works-card:nth-child(11), .works-grid .works-card:nth-child(12), .works-grid .works-card:nth-child(13) { grid-column: span 4; }


/* ── BOTTOM LAYOUT FIX ── */
.bottom {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.contacts-panel {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 32px;
  padding: 40px 48px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.map-wrap {
  width: 100% !important;
  height: 420px !important;
  flex-shrink: 0;
}

/* ── SITE FOOTER ── */
.site-footer {
  background: var(--bg);
  border-top: 1px solid rgba(255,255,255,.06);
  padding: 48px 48px 32px;
}
.site-footer-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: center;
}
.sf-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 140px;
}
.sf-brand {
  min-width: 180px;
}
.sf-logo {
  font-size: 20px;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .08em;
  text-decoration: none;
}
.sf-tagline {
  font-size: 11px;
  color: rgba(255,255,255,.4);
  letter-spacing: .04em;
}
.sf-copy {
  font-size: 11px;
  color: rgba(255,255,255,.25);
  margin-top: 8px;
}
.sf-label {
  font-size: 10px;
  letter-spacing: .08em;
  color: rgba(255,255,255,.35);
  text-transform: uppercase;
  margin-bottom: 4px;
}
.sf-val {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  text-decoration: none;
}
.sf-val:hover { color: var(--gold); }
.sf-link {
  font-size: 12px;
  color: rgba(255,255,255,.5);
}
.sf-link:hover { color: var(--gold); }
.sf-social-row {
  display: flex;
  gap: 12px;
  margin-top: 4px;
}
.sf-soc {
  color: rgba(200,169,110,.6);
  transition: color .2s;
  text-decoration: none;
}
.sf-soc:hover { color: var(--gold); }

@media (max-width: 768px) {
  .contacts-panel {
    padding: 24px 20px;
    gap: 20px;
  }
  .map-wrap {
    height: 280px !important;
  }
  .site-footer {
    padding: 32px 20px 24px;
  }
  .site-footer-inner {
    gap: 24px;
  }
}


/* ── CONTACTS PANEL ROW FIX ── */
.contacts-panel {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 40px !important;
  padding: 40px 48px !important;
  width: 100% !important;
}
.contacts-panel > div {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  flex: 1 1 auto !important;
}


/* ── WORKS GRID MOBILE FIX ── */
@media (max-width: 900px) {
  .works-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .works-grid .works-card,
  .works-grid .works-card:nth-child(9),
  .works-grid .works-card:nth-child(10),
  .works-grid .works-card:nth-child(11),
  .works-grid .works-card:nth-child(12),
  .works-grid .works-card:nth-child(13) {
    grid-column: span 1 !important;
  }
}


/* ── CTA BEFORE REVIEWS ── */
.cta-before-reviews {
  display: flex;
  justify-content: center;
  padding: 48px 48px 32px;
}
.cta-before-reviews .btn-primary {
  min-width: 220px;
}

@media (max-width: 768px) {
  .cta-before-reviews {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 280;
    padding: 12px 16px;
    background: rgba(6,6,6,.95);
    backdrop-filter: blur(12px);
    border-top: 1px solid rgba(200,169,110,.15);
    justify-content: center;
  }
  .cta-before-reviews .btn-primary {
    width: 100%;
    max-width: 400px;
  }
}


/* ── SCROLL TOP ABOVE CTA BAR ── */
@media (max-width: 768px) {
  .scroll-top {
    bottom: 80px !important;
  }
}


/* ── FOOTER MOBILE PADDING FOR CTA BAR ── */
@media (max-width: 768px) {
  .site-footer {
    padding-bottom: 80px !important;
  }
}


/* ── SCHEMA REVIEWS ── */
.sec-reviews {
  background: var(--bg);
  padding: 48px 0 32px;
}
.sec-head-reviews {
  padding: 0 48px 24px;
}
.sec-title-reviews {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .18em;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
}
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(255,255,255,.05);
}
.rv-card {
  background: var(--bg);
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rv-rating {
  color: var(--gold);
  font-size: 14px;
  letter-spacing: 2px;
}
.rv-text {
  font-size: 13px;
  color: rgba(255,255,255,.7);
  line-height: 1.65;
  flex: 1;
}
.rv-author span {
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,.45);
  letter-spacing: .03em;
}

@media (max-width: 900px) {
  .reviews-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 580px) {
  .reviews-grid {
    grid-template-columns: 1fr;
  }
  .sec-head-reviews {
    padding: 0 20px 20px;
  }
  .rv-card {
    padding: 20px;
  }
}


/* ── MAP FULL WIDTH MOBILE ── */
@media (max-width: 768px) {
  .map-wrap {
    width: 100vw !important;
    margin-left: calc(-1 * (100vw - 100%) / 2) !important;
    height: 320px !important;
  }
  .bottom {
    overflow-x: hidden !important;
  }
}


/* ── MAP FULL WIDTH MOBILE FIX 2 ── */
@media (max-width: 768px) {
  .map-wrap,
  .map-wrap iframe {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    left: 0 !important;
    right: 0 !important;
    position: relative !important;
  }
  .bottom {
    padding: 0 !important;
    margin: 0 !important;
    width: 100vw !important;
    overflow-x: hidden !important;
  }
}


/* ── MAP WRAP FULL ── */
.map-wrap-full {
  width: 100%;
  height: 480px;
}
.map-wrap-full iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: grayscale(1) invert(1) brightness(0.85) contrast(0.9);
}

@media (max-width: 768px) {
  .map-wrap-full {
    height: 360px;
  }
}
