/* ============================================================
   AMISTA HOMES WP THEME — Luxury Dark Theme
   Colors/fonts are injected as CSS vars from the Theme Options panel.
   ============================================================ */
:root{
  --ink:#0D0D0D; --ink-2:#0A0A0A;
  --gold:#C9A96E; --cream:#F5F0E8; --slate:#2A2A2A; --slate-2:#161616;
  --gold-dim:color-mix(in srgb,var(--gold) 35%,transparent);
  --gold-faint:color-mix(in srgb,var(--gold) 12%,transparent);
  --muted:color-mix(in srgb,var(--cream) 62%,transparent);
  --display:'Cormorant Garamond',serif; --body:'Inter',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--cream);font-family:var(--body);font-size:var(--font-size-base,16px);line-height:var(--line-height-base,1.75);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold);text-decoration:none;transition:color .3s var(--ease)}
a:hover{color:var(--cream)}
h1,h2,h3,h4{font-family:var(--display);font-weight:500;line-height:1.12;color:var(--cream)}
h1{font-size:var(--font-size-h1,clamp(2.8rem,6.5vw,5.5rem))}
h2{font-size:var(--font-size-h2,clamp(2.1rem,4vw,3.4rem))}
h3{font-size:var(--font-size-h3,clamp(1.4rem,2.2vw,1.9rem))}
p{color:var(--muted)}
strong{color:var(--cream);font-weight:600}
::selection{background:var(--selection-bg,var(--gold));color:var(--selection-text,var(--ink))}

.container{width:min(1200px,92%);margin-inline:auto}
.section{padding:clamp(5rem,9vw,8.5rem) 0;position:relative}
.section-label{display:inline-block;font-size:.72rem;letter-spacing:.38em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem}
.gold-rule{width:72px;height:1px;background:var(--gold);border:0;margin:1.8rem 0}
.gold-rule.center{margin-inline:auto}
.lead{font-size:1.12rem;max-width:46rem}
.center{text-align:center}
.center .lead{margin-inline:auto}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}

.btn{display:inline-block;padding:1rem 2.4rem;border:1px solid var(--gold);color:var(--gold);font-size:.74rem;letter-spacing:.28em;text-transform:uppercase;background:transparent;cursor:pointer;transition:all .45s var(--ease)}
.btn:hover{background:var(--gold);color:var(--ink)}
.btn-solid{background:var(--gold);color:var(--ink)}
.btn-solid:hover{background:transparent;color:var(--gold)}
.link-arrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.link-arrow::after{content:'\2192';margin-left:.6rem;display:inline-block;transition:transform .35s var(--ease)}
.link-arrow:hover::after{transform:translateX(6px)}

.site-header{position:fixed;inset:0 0 auto;z-index:100;transition:background .4s,border .4s;border-bottom:1px solid transparent}
.site-header.scrolled{background:color-mix(in srgb,var(--ink-2) 88%,transparent);backdrop-filter:blur(14px);border-bottom-color:var(--gold-faint)}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.3rem 0;
  transition: padding 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.site-header.scrolled .nav-inner {
  padding: 0.7rem 0 !important;
}
.logo{font-family:var(--display);font-size:1.65rem;letter-spacing:.18em;color:var(--cream)}
.logo span{color:var(--gold)}
.logo small{display:block;font-family:var(--body);font-size:.55rem;letter-spacing:.62em;color:var(--muted);text-transform:uppercase;margin-top:-2px}

.logo.logo-img {
  display: inline-flex;
  align-items: center;
}
.custom-logo {
  height: var(--logo-h-desktop, 54px);
  width: auto;
  max-height: none !important;
  display: block;
  transition: height 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.logo-img {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.logo-desktop {
  display: inline-block;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease, visibility 0.4s ease, height 0.35s ease;
}
.logo-sticky {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease, height 0.35s ease;
}
.logo-mobile {
  display: none;
}

.site-header.scrolled .logo-desktop {
  opacity: 0;
  visibility: hidden;
}
.site-header.scrolled .logo-sticky {
  opacity: 1;
  visibility: visible;
}
.site-header.scrolled .custom-logo {
  height: clamp(32px, 3.5vw, 42px) !important;
}

@media (max-width: 768px) {
  .custom-logo {
    height: var(--logo-h-mobile, 40px) !important;
  }
  .logo-desktop {
    display: none !important;
  }
  .logo-sticky {
    display: none !important;
  }
  .logo-mobile {
    display: inline-block !important;
    position: relative;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .site-header.scrolled .logo-mobile {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
.nav-links{display:flex;align-items:center;gap:2.2rem;list-style:none}
.nav-links>li>a{color:var(--cream);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;padding:.6rem 0;position:relative}
.nav-links>li>a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .4s var(--ease)}
.nav-links>li>a:hover::after,.nav-links>li.current-menu-item>a::after,.nav-links>li.current_page_item>a::after{width:100%}
.nav-links .menu-item-has-children,.nav-links .page_item_has_children,.has-drop{position:relative}
.nav-links .sub-menu,.nav-links .children,.dropdown{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,12px);min-width:280px;background:var(--slate-2);border:1px solid var(--gold-dim);padding:1rem 0;opacity:0;visibility:hidden;transition:all .35s var(--ease);list-style:none;z-index:50}
.nav-links li:hover>.sub-menu,.nav-links li:focus-within>.sub-menu,.nav-links li:hover>.children,.has-drop:hover .dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}
.nav-links .sub-menu a,.nav-links .children a,.dropdown a{display:block;padding:.55rem 1.6rem;color:var(--muted);font-size:.82rem;letter-spacing:.04em;text-transform:none}
.nav-links .sub-menu a:hover,.nav-links .children a:hover,.dropdown a:hover{color:var(--gold);background:var(--gold-faint)}
.nav-cta{border:1px solid var(--gold);padding:.6rem 1.4rem !important;color:var(--gold) !important}
.nav-cta::after{display:none !important}
.nav-cta:hover{background:var(--gold);color:var(--ink) !important}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;width:30px;height:22px;position:relative;z-index:110}
.nav-toggle span{position:absolute;left:0;width:100%;height:1.5px;background:var(--cream);transition:all .35s}
.nav-toggle span:nth-child(1){top:0}.nav-toggle span:nth-child(2){top:10px}.nav-toggle span:nth-child(3){top:20px}
body.nav-open .nav-toggle span:nth-child(1){top:10px;transform:rotate(45deg)}
body.nav-open .nav-toggle span:nth-child(2){opacity:0}
body.nav-open .nav-toggle span:nth-child(3){top:10px;transform:rotate(-45deg)}
body.admin-bar .site-header{top:32px}

.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}
/* ── Elementor hero wrapper: strip all padding & fix flex stretch ── */
/* Direct ID overrides for Home Page Hero to ensure maximum browser compatibility */
.elementor-element-bed7713,
.elementor-element-bed7713 > .elementor-container,
.elementor-element-bed7713 .elementor-column,
.elementor-element-bed7713 .elementor-widget-wrap,
.elementor-element-bed7713 .elementor-element-populated,
.elementor-element-bed7713 .elementor-widget-amista_hero3d,
.elementor-element-bed7713 .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: 100vh !important;
  height: 100dvh !important;
  position: relative !important;
  overflow: visible !important;
}

/* The section itself: no padding */
.elementor-section:has(.elementor-widget-amista_hero3d),
.e-con:has(.elementor-widget-amista_hero3d) {
  padding: 0 !important;
  margin: 0 !important;
}
/* The container and column: block layout, no padding */
.elementor-section:has(.elementor-widget-amista_hero3d) > .elementor-container {
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}
.elementor-column:has(.elementor-widget-amista_hero3d) {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
/* The widget-wrap: block, no padding, no flex gaps */
.elementor-section:has(.elementor-widget-amista_hero3d) .elementor-widget-wrap,
.elementor-section:has(.elementor-widget-amista_hero3d) .elementor-element-populated {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* The widget div itself: block, no spacing */
.elementor-widget-amista_hero3d {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  margin-block-end: 0 !important;  /* override Elementor's --kit-widget-spacing */
}
/* The widget container: block, no padding */
.elementor-widget-amista_hero3d > .elementor-widget-container {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.hero-content{position:relative;z-index:2;padding:8rem 1rem 4rem}
.hero h1{margin:1.4rem 0}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero .lead{margin:0 auto 2.6rem}
.hero-scroll{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:2;font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--muted)}
.hero-scroll::after{content:'';display:block;width:1px;height:48px;background:linear-gradient(var(--gold),transparent);margin:.8rem auto 0;animation:drip 2.2s infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}55%{transform:scaleY(1);transform-origin:top}56%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.hero-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:var(--hero-overlay-color,#000000);opacity:var(--hero-overlay-opacity,0.45)}

.page-hero{padding:clamp(10rem,16vw,13rem) 0 clamp(3rem,5vw,4.5rem);border-bottom:1px solid var(--gold-faint);background:linear-gradient(180deg,#121110,var(--ink))}
.breadcrumb{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--muted);margin-bottom:1.4rem}
.breadcrumb a{color:var(--muted)}.breadcrumb a:hover{color:var(--gold)}

.card{background:var(--slate-2);border:1px solid rgba(255,255,255,.05);padding:2.4rem;transition:all .5s var(--ease);position:relative}
.card:hover{border-color:var(--gold-dim);transform:translateY(-6px)}
.card h3{margin:.9rem 0 .7rem}
.card .num{font-family:var(--display);font-size:1rem;color:var(--gold);letter-spacing:.2em}
.card p{font-size:.92rem}
.card .link-arrow{display:inline-block;margin-top:1.2rem}

.img-ph{position:relative;background:linear-gradient(135deg,#1c1a16,#100f0d 55%,#1a1712);border:1px solid var(--gold-dim);overflow:hidden}
.img-ph::before{content:'\2726';position:absolute;inset:0;display:grid;place-items:center;color:var(--gold);opacity:.5;font-size:1.4rem}
.img-ph::after{content:attr(data-caption);position:absolute;bottom:1rem;left:0;right:0;text-align:center;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.ratio-169{aspect-ratio:16/9}.ratio-43{aspect-ratio:4/3}.ratio-34{aspect-ratio:3/4}.ratio-11{aspect-ratio:1/1}
.frame{padding:.9rem;border:1px solid var(--gold-faint)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat .n{font-family:var(--display);font-size:clamp(2.6rem,5vw,4.2rem);color:var(--gold);line-height:1}
.stat .n sup{font-size:.45em;top:-.7em}
.stat p{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;margin-top:.7rem}

.process{counter-reset:step;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.step{counter-increment:step;border-top:1px solid var(--gold-dim);padding-top:1.6rem}
.step::before{content:'0' counter(step);font-family:var(--display);font-size:2.4rem;color:var(--gold);display:block;line-height:1;margin-bottom:.8rem}
.step h3{font-size:1.3rem;margin-bottom:.5rem}
.step p{font-size:.9rem}

.checklist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 2.4rem}
.checklist li{padding-left:1.9rem;position:relative;color:var(--muted);font-size:.95rem}
.checklist li::before{content:'\2726';position:absolute;left:0;color:var(--gold);font-size:.8rem}

.faq{max-width:50rem;margin-inline:auto}
.faq-item{border-bottom:1px solid rgba(255,255,255,.08)}
.faq-q{width:100%;background:none;border:0;color:var(--cream);font-family:var(--display);font-size:1.25rem;text-align:left;padding:1.5rem 3rem 1.5rem 0;cursor:pointer;position:relative}
.faq-q::after{content:'+';position:absolute;right:.4rem;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.5rem;font-family:var(--body);font-weight:300;transition:transform .35s}
.faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.faq-a p{padding:0 0 1.6rem;font-size:.95rem}

.cta-band{background:var(--slate-2);border-top:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim);text-align:center}
.cta-band h2 em{font-style:italic;color:var(--gold)}
.cta-band .btn{margin-top:2.2rem}
.cta-band .phone{display:block;margin-top:1.6rem;font-size:.85rem;letter-spacing:.15em;color:var(--muted)}

.t-card{background:var(--slate-2);border:1px solid rgba(255,255,255,.05);padding:2.6rem;height:auto}
.t-card .stars{color:var(--gold);letter-spacing:.3em;font-size:.8rem;margin-bottom:1.2rem}
.t-card blockquote{font-family:var(--display);font-size:1.18rem;font-style:italic;color:var(--cream);line-height:1.5;border:0;padding:0}
.t-card cite{display:block;margin-top:1.6rem;font-style:normal;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.t-card cite span{color:var(--muted)}
.swiper{padding-bottom:3.4rem !important}
.swiper-pagination-bullet{background:var(--muted);opacity:.5}
.swiper-pagination-bullet-active{background:var(--gold);opacity:1}

.filter-btns{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-bottom:3rem}
.filter-btn{background:none;border:1px solid rgba(255,255,255,.14);color:var(--muted);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;padding:.6rem 1.3rem;cursor:pointer;transition:all .35s}
.filter-btn:hover,.filter-btn.active{border-color:var(--gold);color:var(--gold)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.g-item{transition:opacity .4s,transform .4s}
.g-item.hide{display:none}
.g-item figcaption{padding:1rem 0 0}
.g-item figcaption h3{font-size:1.2rem}
.g-item figcaption p{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}

.timeline{position:relative;max-width:46rem;margin-inline:auto;padding-left:2.4rem}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(var(--gold),transparent)}
.tl-item{position:relative;padding-bottom:2.8rem}
.tl-item::before{content:'';position:absolute;left:-2.65rem;top:.5rem;width:9px;height:9px;background:var(--gold);transform:rotate(45deg)}
.tl-item .year{font-family:var(--display);font-size:1.7rem;color:var(--gold)}
.tl-item p{font-size:.95rem}

.post-card{background:var(--slate-2);border:1px solid rgba(255,255,255,.05);transition:all .5s var(--ease)}
.post-card:hover{border-color:var(--gold-dim);transform:translateY(-6px)}
.post-card .post-body{padding:1.8rem}
.post-card .meta{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}
.post-card h3{font-size:1.35rem}
.post-card h3 a{color:var(--cream)}.post-card h3 a:hover{color:var(--gold)}
.post-card p{font-size:.9rem;margin-top:.7rem}
.prose{max-width:46rem;margin-inline:auto}
.prose h2{font-size:1.9rem;margin:2.8rem 0 1rem}
.prose p{margin-bottom:1.4rem}
.prose ul{margin:0 0 1.4rem 1.4rem;color:var(--muted)}
.prose li{margin-bottom:.5rem}
.prose blockquote{border-left:2px solid var(--gold);padding-left:1.4rem;font-family:var(--display);font-style:italic;font-size:1.25rem;color:var(--cream);margin:2rem 0}
.posts-navigation,.pagination{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}
.page-numbers{color:var(--muted);margin:0 .5rem}.page-numbers.current{color:var(--gold)}

.post-navigation {
  border-top: 1px solid var(--gold-faint);
  padding: 3.5rem 0 1.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  max-width: 46rem;
  margin-inline: auto;
}
.nav-prev {
  text-align: left;
}
.nav-next {
  text-align: right;
  border-left: 1px solid var(--gold-faint);
  padding-left: 2.5rem;
}
.post-navigation p {
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  margin: 0 0 0.8rem 0;
}
.post-navigation a {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s;
}
.nav-next a {
  justify-content: flex-end;
}
.post-navigation .title {
  font-family: var(--display);
  font-size: 1.15rem;
  color: var(--cream);
  line-height: 1.4;
  transition: color 0.3s;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.nav-prev a:hover .title,
.nav-next a:hover .title {
  color: var(--gold);
}
.post-navigation .img-ph {
  width: 55px;
  height: 55px;
  flex-shrink: 0;
  background-size: cover;
  background-position: center;
  border: 1px solid var(--gold-dim);
  transition: transform 0.4s;
}
.post-navigation a:hover .img-ph {
  transform: scale(1.05);
}
.blog-back-btn {
  margin-top: 3rem;
  margin-bottom: 4rem;
  text-align: center;
}


.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.form-grid .full{grid-column:1/-1}
label{display:block;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
input,select,textarea{width:100%;background:var(--slate-2);border:1px solid rgba(255,255,255,.1);color:var(--cream);padding:.95rem 1.1rem;font-family:var(--body);font-size:.95rem;transition:border .3s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{min-height:150px;resize:vertical}

.site-footer{background:var(--ink-2);border-top:1px solid var(--gold-faint);padding:5rem 0 0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:2.6rem;padding-bottom:3.6rem}
.site-footer h4{font-size:.74rem;font-family:var(--body);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.3rem}
.site-footer ul{list-style:none}
.site-footer li{margin-bottom:.55rem}
.site-footer li a{color:var(--muted);font-size:.88rem}
.site-footer li a:hover{color:var(--gold)}
.site-footer .blurb{font-size:.9rem;margin-top:1rem;max-width:24rem}
.areas{font-size:.8rem;color:var(--muted);line-height:2}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding:1.6rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.74rem;color:var(--muted)}
.footer-bottom a{color:var(--muted);margin-left:1.4rem}
.footer-bottom a:hover{color:var(--gold)}
.footer-mobile-nav {
  display: none;
}

.hscroll{overflow:hidden}
.hscroll-track{display:flex;gap:1.6rem;will-change:transform}
.hscroll-track .panel{flex:0 0 clamp(280px,38vw,480px)}

/* Elementor compatibility */
.elementor-section .container{width:auto}
.elementor-widget-container .section{padding:clamp(2rem,4vw,4rem) 0}

/* Custom Elementor Addon Presets */
.layout-ratio-60 { grid-template-columns: 1.2fr 0.8fr; }
.layout-ratio-40 { grid-template-columns: 0.8fr 1.2fr; }
.layout-single-col { grid-template-columns: 1fr !important; }

.t-preset-gold-border { border: 1px solid var(--gold-dim) !important; }
.t-preset-minimal { background: transparent !important; border: 0 !important; padding: 2.6rem 0 !important; }

.faq-style-gold-line .faq-item { border-bottom: 1px solid var(--gold-dim) !important; }
.faq-style-minimal .faq-item { border-bottom: 0 !important; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}
@media (max-width:1024px){
  .grid-3,.process,.gallery-grid{grid-template-columns:repeat(2,1fr)}
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:768px){
  .nav-toggle{display:block}
  /* Prevent background scrolling when menu is open */
  html.nav-open,
  body.nav-open {
    overflow: hidden !important;
    height: 100dvh !important;
    position: relative !important;
  }
  /* Disable header background & blur containing blocks when menu is open */
  body.nav-open .site-header {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: transparent !important;
    border-bottom-color: transparent !important;
  }

  .nav-links {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    position: fixed !important;
    inset: 0 !important;
    left: 0 !important;
    top: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: var(--mobile-menu-bg, color-mix(in srgb, var(--ink-2) 98%, transparent)) !important;
    gap: 1.5rem !important;
    padding: 7.5rem 1.5rem 3rem !important; /* Top padding clears header logo & toggle */
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    z-index: 99999 !important;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0.4s;
    margin: 0 !important;
    box-sizing: border-box !important;
    list-style: none !important;
  }
  body.nav-open .nav-links {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .nav-links > li {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .nav-links > li > a {
    font-size: 1.1rem !important;
    letter-spacing: 0.15em !important;
    padding: 0.4rem 0 !important;
    display: inline-block !important;
    color: var(--cream) !important;
  }
  /* Centered Submenus */
  .nav-links .sub-menu,
  .nav-links .children,
  .nav-links .dropdown {
    position: static !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0.5rem 0 0 !important;
    margin: 0 !important;
    list-style: none !important;
    min-width: 0 !important;
    display: none; /* controlled by .open class */
  }
  .nav-links li.open > .sub-menu,
  .nav-links li.open > .children,
  .has-drop.open .dropdown {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .nav-links .sub-menu li,
  .nav-links .children li {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .nav-links .sub-menu a,
  .nav-links .children a,
  .nav-links .dropdown a {
    font-size: 0.88rem !important;
    color: var(--muted) !important;
    padding: 0.4rem 1.5rem !important;
    display: inline-block !important;
    width: auto !important;
    text-transform: none !important;
    letter-spacing: 0.05em !important;
  }
  .nav-links .sub-menu a:hover,
  .nav-links .children a:hover {
    color: var(--gold) !important;
  }
  body.admin-bar .site-header{top:46px}
  .grid-2{grid-template-columns:1fr}
  .grid-3,.grid-4,.process,.gallery-grid,.form-grid,.checklist{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,1fr);gap:2.4rem}
  .footer-grid{grid-template-columns:1fr}
}

/* ==========================================================================
   Amista UX & Spacing Improvements
   ========================================================================== */

/* Push first section down on subpages to clear fixed header (no !important so it can be overridden in Elementor) */
body:not(.home) .elementor .elementor-section:first-of-type,
body:not(.home) .elementor .e-con:first-of-type,
body:not(.home) .elementor > .elementor-section:first-child,
body:not(.home) .elementor-section.elementor-top-section:first-child {
  padding-top: 140px;
}

/* Helper utility class to force any top section under the transparent header */
body:not(.home) .elementor .elementor-section.under-nav,
body:not(.home) .elementor .e-con.under-nav,
.under-nav {
  padding-top: 0 !important;
}


/* Spacious gaps for Elementor sections */
.elementor-section.elementor-top-section {
  padding-top: clamp(5rem, 8vw, 7.5rem);
  padding-bottom: clamp(5rem, 8vw, 7.5rem);
}
body.home .elementor-section.elementor-top-section:first-child {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Image Placeholder with Image Uploaded */
.img-ph.has-image::before {
  content: none !important;
}
.img-ph.has-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Card Hover Styles & Effects overrides */
.card {
  --card-hover-bg: var(--slate-2);
  --card-hover-border: var(--gold-dim);
  --card-hover-num: var(--gold);
  --card-hover-title: var(--cream);
  
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              background-color 0.4s ease,
              border-color 0.4s ease !important;
}

.card:hover {
  background: var(--card-hover-bg) !important;
  border-color: var(--card-hover-border) !important;
}

.card:hover .num {
  color: var(--card-hover-num) !important;
}

.card:hover h3, 
.card:hover h3 a {
  color: var(--card-hover-title) !important;
}

/* Card Hover Effects */
.card.card-effect-none:hover {
  transform: none;
  box-shadow: none;
}

.card.card-effect-lift:hover {
  transform: translateY(-10px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

.card.card-effect-scale:hover {
  transform: scale(1.04);
}

.card.card-effect-glow:hover {
  box-shadow: 0 0 35px color-mix(in srgb, var(--card-hover-border, var(--gold-dim)) 40%, transparent);
}

.card.card-effect-lift-glow:hover {
  transform: translateY(-10px);
  box-shadow: 0 16px 40px color-mix(in srgb, var(--card-hover-border, var(--gold-dim)) 30%, transparent);
}

/* Single Portfolio Layout */
.portfolio-grid-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 3.5rem;
  align-items: start;
}

@media (max-width: 991px) {
  .portfolio-grid-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.portfolio-main .frame {
  margin-bottom: 2.2rem;
}

.portfolio-sidebar .sidebar-card {
  background: var(--slate-2);
  border: 1px solid rgba(255, 255, 255, 0.05);
  padding: 2.4rem;
  position: relative;
}

.portfolio-sidebar h3 {
  font-size: 1.4rem;
  margin-bottom: 0.8rem;
}

.portfolio-sidebar .details-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1.5rem;
}

.portfolio-sidebar .details-table th,
.portfolio-sidebar .details-table td {
  padding: 0.9rem 0;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.portfolio-sidebar .details-table th {
  color: var(--muted);
  font-weight: normal;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  width: 40%;
}

.portfolio-sidebar .details-table td {
  color: var(--cream);
  font-size: 0.95rem;
}

.portfolio-sidebar .details-table tr:last-child th,
.portfolio-sidebar .details-table tr:last-child td {
  border-bottom: none;
}

.sidebar-cta p {
  font-size: 0.88rem;
  color: var(--muted);
  line-height: 1.5;
}

.g-item figcaption h3 a {
  color: inherit;
  text-decoration: none;
  transition: color 0.35s;
}

.g-item figcaption h3 a:hover {
  color: var(--gold);
}

/* Backward link arrow */
.link-arrow.backward::after {
  display: none;
}
.link-arrow.backward::before {
  content: '\2190';
  margin-right: 0.6rem;
  display: inline-block;
  transition: transform 0.35s var(--ease);
}
.link-arrow.backward:hover::before {
  transform: translateX(-6px);
}

/* ==========================================================================
   Card Background Image & Hover Zoom Overlays
   ========================================================================== */

.card.has-bg-image {
  overflow: hidden;
  background: none !important; /* Hide standard background color when using an image */
}

.card .card-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.card.card-zoom-enabled:hover .card-bg {
  transform: scale(1.08);
}

.card .card-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  transition: opacity 0.4s ease;
}

.card:hover .card-overlay {
  opacity: var(--card-overlay-hover-opacity, 0.45) !important;
}


.card-content {
  position: relative;
  z-index: 3;
}

/* ==========================================================================
   Amista Preloader, Transitions & Advanced Hero Backgrounds
   ========================================================================== */

/* Preloader styles */
.amista-preloader {
  position: fixed;
  inset: 0;
  background: var(--ink);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preloader-inner {
  text-align: center;
}
.preloader-logo {
  font-family: var(--display);
  font-size: 2.5rem;
  letter-spacing: 0.18em;
  color: var(--cream);
  text-transform: uppercase;
}
.preloader-logo span {
  color: var(--gold);
}
.preloader-bar {
  width: 160px;
  height: 1px;
  background: rgba(201, 169, 110, 0.12);
  margin: 1.6rem auto 0.6rem;
  position: relative;
  overflow: hidden;
}
.preloader-progress {
  position: absolute;
  left: -100%;
  top: 0;
  bottom: 0;
  width: 100%;
  background: var(--gold);
}
.preloader-percentage {
  font-family: var(--body);
  font-size: 0.68rem;
  letter-spacing: 0.25em;
  color: var(--gold);
  text-transform: uppercase;
  margin-top: 6px;
}

/* Page Transition Overlay */
.amista-transition-overlay {
  position: fixed;
  inset: 0;
  background: var(--slate-2);
  z-index: 99998;
  transform: translateY(100%);
  pointer-events: none;
}

/* Hero media backgrounds */
.hero-bg-media {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
  overflow: hidden;
}
.hero-bg-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero-video-el {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-slideshow {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
}
.hero-slide {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  opacity: 0;
  overflow: hidden;
  will-change: opacity;
}
.hero-slide-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

/* Simple, stable centered scale-up zoom (no horizontal or vertical panning) */
@keyframes kb-zoom-in {
  0% { transform: scale(1.0); }
  100% { transform: scale(1.10); }
}

.hero-slide.kb-active .hero-slide-img {
  animation: kb-zoom-in 9.7s cubic-bezier(0.1, 0.1, 0.25, 1) forwards;
}

/* YouTube Background Video covering the screen perfectly like cover object-fit */
.hero-youtube-wrapper {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
}
.hero-youtube-iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw; /* 16:9 Aspect Ratio */
  min-height: 100vh;
  min-width: 177.77vh; /* 16:9 Aspect Ratio */
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Shimmer shine hover effect on images */
.img-ph {
  position: relative;
  overflow: hidden;
}
.img-ph::after {
  content: '';
  position: absolute;
  top: 0; left: -150%;
  width: 50%; height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(201,169,110,0.18) 50%, rgba(255,255,255,0) 100%);
  transform: skewX(-25deg);
  transition: none;
}
.img-ph:hover::after {
  left: 150%;
  transition: left 0.8s ease-in-out;
}

/* 3D tilt perspective settings on elements */
.img-ph, .card, .portfolio-sidebar .sidebar-card {
  transform-style: preserve-3d;
  will-change: transform;
}

/* Image Hover Effects (Zoom & None) */
.img-ph {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
}

.img-ph.effect-zoom:hover,
.g-item:hover .img-ph.effect-zoom,
.frame:hover .img-ph.effect-zoom {
  transform: scale(1.05);
}

.img-ph.effect-none:hover,
.g-item:hover .img-ph.effect-none,
.frame:hover .img-ph.effect-none {
  transform: none !important;
}

/* Card Tilt / Reset overrides */
.card.effect-none:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Card Layout: Text-to-Image reveal (Modern Minimal) */
.card-layout-text-to-image .card.has-bg-image {
  background: var(--slate-2) !important; /* Restore standard background initially */
  border: 1px solid rgba(255, 255, 255, .05) !important;
}

.card-layout-text-to-image .card.has-bg-image .card-bg {
  opacity: 0;
  transform: scale(1.12);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.card-layout-text-to-image .card.has-bg-image .card-overlay {
  opacity: 0;
  transition: opacity 0.8s ease;
}

.card-layout-text-to-image .card.has-bg-image .card-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card-layout-text-to-image .card.has-bg-image .card-content h3 {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), color 0.6s ease;
}

.card-layout-text-to-image .card.has-bg-image .card-content .num,
.card-layout-text-to-image .card.has-bg-image .card-content p,
.card-layout-text-to-image .card.has-bg-image .card-content .link-arrow {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Hover state overrides for Text-to-Image */
.card-layout-text-to-image .card.has-bg-image:hover {
  background: none !important;
}

.card-layout-text-to-image .card.has-bg-image:hover .card-bg {
  opacity: 1;
  transform: scale(1.0);
}

.card-layout-text-to-image .card.has-bg-image:hover .card-overlay {
  opacity: var(--card-overlay-hover-opacity, 0.45) !important;
}

.card-layout-text-to-image .card.has-bg-image:hover .card-content .num,
.card-layout-text-to-image .card.has-bg-image:hover .card-content p {
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
}

.card-layout-text-to-image .card.has-bg-image:hover .card-content .link-arrow {
  opacity: 1;
  transform: translateY(0);
}

.card-layout-text-to-image .card.has-bg-image:hover .card-content h3 {
  transform: translateY(30px);
  color: #fff !important;
}

/* Icons styling inline with title */
.card-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.75rem;
  color: var(--gold);
  font-size: 1.15em;
  vertical-align: middle;
}
.card-title-icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
}

/* Card Vector Canvas Backgrounds */
.card-bg-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

/* ==========================================================================
   Luxury Light Theme Mode
   ========================================================================== */
.light-theme {
  --ink: #F7F5F0;       /* Richer warm luxury off-white ivory background */
  --ink-2: #EFECE6;     /* Deeper warm ivory for scrolled navigation and panels */
  --gold: #A98544;      /* Deep gold for optimal contrast on light mode */
  --cream: #1C1A17;     /* Charcoal black for primary text and headings */
  --slate: #DFD9CE;     /* Warm taupe borders for clear separation */
  --slate-2: #ECE7E0;   /* Sand-blended warm light card backgrounds */
  
  /* Blended color-mix overrides for light mode */
  --gold-dim: color-mix(in srgb, var(--gold) 45%, transparent);
  --gold-faint: color-mix(in srgb, var(--gold) 18%, transparent);
  --muted: color-mix(in srgb, var(--cream) 80%, transparent); /* Darker charcoal body text for readability */
}

/* Light Theme Logo Swap and Fallbacks using modern CSS :has() */
body.light-theme .logo-light-version {
  display: block;
}
body:not(.light-theme) .logo-light-version {
  display: none !important;
}
/* If light logo is present in light theme, hide the dark desktop logo */
body.light-theme .logo:has(.logo-light-version) .logo-dark-version {
  display: none !important;
}
/* Fallback: if no light logo is uploaded, show the dark desktop logo but invert/darken it */
body.light-theme .logo:not(:has(.logo-light-version)) .logo-dark-version {
  filter: brightness(0.15) contrast(1.2) !important;
  display: block;
}

/* Theme Toggle Button Styling */
.theme-toggle-btn {
  background: none;
  border: none;
  color: var(--gold);
  cursor: pointer;
  padding: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 1.2rem;
  transition: color 0.3s, transform 0.3s;
}
.theme-toggle-btn:hover {
  color: var(--cream);
  transform: rotate(15deg) scale(1.05);
}
.theme-toggle-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2px;
  fill: none;
}

/* Toggle Sun/Moon icons depending on active mode */
body.light-theme .theme-toggle-btn .sun-icon {
  display: none;
}
body:not(.light-theme) .theme-toggle-btn .moon-icon {
  display: none;
}

/* Logo on Scroll — transition sizes instead of hiding the entire element */
.logo,
.custom-logo-link {
  transition: transform 0.3s var(--ease) !important;
}
.site-header.scrolled .custom-logo {
  height: clamp(32px, 3.5vw, 42px) !important; /* shrink logo slightly for sticky header */
}

/* Glassmorphism Overrides when Whole Site Vanta.js is Active */
body.has-vanta-bg {
  background: transparent !important;
}
body.has-vanta-bg #vanta-bg-canvas {
  display: block;
}
body.has-vanta-bg .section:not(.hero) {
  background-color: transparent !important;
}
body.has-vanta-bg .card,
body.has-vanta-bg .single-post-container,
body.has-vanta-bg .related-posts,
body.has-vanta-bg .stats,
body.has-vanta-bg .faq-item,
body.has-vanta-bg .site-footer {
  background: color-mix(in srgb, var(--slate-2) 65%, transparent) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Scroll reading progress circle position adjust for light mode */
body.light-theme .circle-progress {
  stroke: var(--gold);
}

/* ==========================================================================
   Amista Welcome Addon / Slider Widget
   ========================================================================== */
.welcome-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}
.welcome-grid.layout-ratio-60 {
  grid-template-columns: 1.2fr 0.8fr;
}
.welcome-grid.layout-ratio-40 {
  grid-template-columns: 0.8fr 1.2fr;
}
@media (max-width: 991px) {
  .welcome-grid {
    grid-template-columns: 1fr !important;
    gap: 3.5rem;
  }
}

/* Kicker and Title spacing/transformations */
.welcome-grid .section-label {
  font-size: 0.72rem;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1.2rem;
}
.welcome-grid h2 {
  font-size: clamp(2rem, 4.5vw, 3.8rem);
  line-height: 1.15;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin-bottom: 1.5rem;
}
.welcome-grid p {
  font-size: 1.02rem;
  line-height: 1.8;
  color: var(--muted);
  margin-bottom: 1.6rem;
}

/* Large box Read More Button matching the attached design */
.welcome-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  min-width: 240px;
  padding: 1.5rem 2.2rem;
  background: #000;
  color: #FFF !important;
  font-family: var(--body);
  font-size: 0.76rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: all 0.4s var(--ease);
}
body.light-theme .welcome-btn {
  background: #000;
  color: #FFF !important;
}
body:not(.light-theme) .welcome-btn {
  background: #FFF;
  color: #000 !important;
}
.welcome-btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
}
.welcome-btn span {
  display: inline-block;
  width: 28px;
  height: 1px;
  background: currentColor;
  margin-left: 20px;
  position: relative;
}

/* Offset backing frame matching the mockup border backing */
.welcome-offset-frame {
  position: relative;
  width: 100%;
  z-index: 10;
  border-color: var(--frame-color, #E5E5E5); /* Define parent border-color fallback */
}
body:not(.light-theme) .welcome-offset-frame {
  border-color: var(--frame-color, #2A2A2A);
}
.welcome-offset-frame::before {
  content: '';
  position: absolute;
  top: 2rem;
  left: -2rem;
  right: 2rem;
  bottom: -2rem;
  border: 12px solid inherit; /* Inherits the custom dynamic inline color */
  border-color: inherit;
  z-index: -1;
  pointer-events: none;
  transition: all 0.4s var(--ease);
}

/* Hatch style styling */
.welcome-offset-frame.frame-style-hatch::before {
  border: none !important;
  background: repeating-linear-gradient(
    45deg,
    var(--frame-color, #E5E5E5),
    var(--frame-color, #E5E5E5) 2px,
    transparent 2px,
    transparent 10px
  );
}
body:not(.light-theme) .welcome-offset-frame.frame-style-hatch::before {
  background: repeating-linear-gradient(
    45deg,
    var(--frame-color, #2A2A2A),
    var(--frame-color, #2A2A2A) 2px,
    transparent 2px,
    transparent 10px
  );
}

.welcome-offset-frame.offset-reverse::before {
  left: 2rem;
  right: -2rem;
}
@media (max-width: 768px) {
  .welcome-offset-frame::before {
    top: 1.2rem;
    left: -1.2rem;
    right: 1.2rem;
    bottom: -1.2rem;
    border-width: 8px;
  }
  .welcome-offset-frame.offset-reverse::before {
    left: 1.2rem;
    right: -1.2rem;
  }
}

/* Slide Container and Slides */
.welcome-slides-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  perspective: 1000px;
  -webkit-perspective: 1000px;
}
.welcome-slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}
.welcome-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0;
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

/* Horizontal line elements from far-right of mockup */
.welcome-decor-lines {
  position: absolute;
  right: -40px;
  top: 55%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 5;
  pointer-events: none;
}
.welcome-decor-lines span {
  display: block;
  height: 2px;
  background: #000;
  transition: background-color 0.4s var(--ease);
}
body:not(.light-theme) .welcome-decor-lines span {
  background: #FFF;
}
.welcome-decor-lines span:nth-child(1) { width: 30px; }
.welcome-decor-lines span:nth-child(2) { width: 50px; }
.welcome-decor-lines span:nth-child(3) { width: 40px; }

@media (max-width: 1200px) {
  .welcome-decor-lines {
    display: none;
  }
}

/* ==========================================================================
   Amista Masonry Carousel Addon
   ========================================================================== */
.amista-masonry-carousel-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;            /* Cleaned up full-width breakout to prevent scrollbar thrashing */
  padding: 6rem 0;
}

.amista-carousel-bg-text {
  position: absolute;
  top: 0;
  left: 5%;
  font-family: var(--display);
  font-size: clamp(8rem, 20vw, 26rem);
  font-weight: 900;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.012);
  line-height: 0.8;
  z-index: 1;
  pointer-events: none;
  white-space: nowrap;
}
body.light-theme .amista-carousel-bg-text {
  color: rgba(0, 0, 0, 0.012);
}

/* ── Amista Masonry Carousel — CSS marquee engine ── */
@keyframes amista-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }  /* slides are doubled, so -50% = one full set */
}
@keyframes amista-marquee-mobile {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}

/* Outer swiper element: clip the marquee strip */
.amista-carousel-swiper {
  width: 100%;
  overflow: hidden;         /* clip the scrolling strip */
  position: relative;
}

/* The wrapper IS the animated strip — JS sets animation via inline style */
.amista-carousel-swiper .amista-carousel-swiper-inner {
  display: flex;
  flex-direction: row;
  align-items: flex-end;    /* bottom-align by default */
  gap: 24px;
  width: max-content;       /* shrink-wraps all slides */
}

/* Each slide is a fixed-size card */
.amista-carousel-swiper .amista-carousel-slide {
  flex: 0 0 auto;
}

.amista-carousel-track-container {
  display: flex;
  overflow: hidden;
  position: relative;
  z-index: 2;
  width: 100%;
}

/* Single Row Layout container defaults */
.amista-carousel-track-container.layout-rows-1 {
  padding: 4rem 0 2rem;
}
.amista-carousel-track-container.layout-rows-1 .amista-carousel-swiper-inner {
  align-items: flex-end;
}
.amista-carousel-track-container.layout-rows-1 .amista-carousel-swiper {
  padding: 0 4vw;
}

/* Double Row Layout container defaults */
.amista-carousel-track-container.layout-rows-2 {
  flex-direction: column;
  align-items: stretch;
  gap: clamp(1rem, 1.5vw, 1.5rem);
  padding: 0;
}
.amista-carousel-track-container.layout-rows-2 .amista-carousel-swiper {
  padding: 0 4vw;
}

/* Row 1: images bottom-aligned — all share the same bottom edge, grow upward */
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-1 .amista-carousel-swiper-inner {
  align-items: flex-end;
  padding-top: 3rem;
}

/* Row 2: images top-aligned — all share the same top edge, grow downward */
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-2 .amista-carousel-swiper-inner {
  align-items: flex-start;
  padding-bottom: 2rem;
}

.amista-carousel-item {
  flex: 0 0 auto;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

/* Single Row Layout — items bottom-aligned via parent align-items:flex-end
   Different heights create the staggered-up effect. Explicitly override any margins. */
.amista-carousel-track-container.layout-rows-1 .amista-carousel-item {
  align-self: flex-end !important;
  margin: 0 !important;
}
.amista-carousel-track-container.layout-rows-1 .amista-carousel-item:nth-child(4n+1) {
  height: clamp(240px, 36vh, 400px);
  width: clamp(280px, 42vw, 500px);
}
.amista-carousel-track-container.layout-rows-1 .amista-carousel-item:nth-child(4n+2) {
  height: clamp(300px, 44vh, 480px);
  width: clamp(380px, 56vw, 640px);
}
.amista-carousel-track-container.layout-rows-1 .amista-carousel-item:nth-child(4n+3) {
  height: clamp(200px, 30vh, 340px);
  width: clamp(220px, 34vw, 400px);
}
.amista-carousel-track-container.layout-rows-1 .amista-carousel-item:nth-child(4n+4) {
  height: clamp(260px, 40vh, 440px);
  width: clamp(320px, 48vw, 550px);
}

/* Double Row Layout — individual item sizing */
/* Items in both rows: no forced height (natural intrinsic height) */
.amista-carousel-track-container.layout-rows-2 .amista-carousel-item {
  flex: 0 0 auto;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Row 1: tall wide items mixed with narrow short items */
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-1 .amista-carousel-item:nth-child(4n+1) {
  width: clamp(200px, 28vw, 360px);
  height: clamp(180px, 26vh, 290px);
}
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-1 .amista-carousel-item:nth-child(4n+2) {
  width: clamp(320px, 44vw, 560px);
  height: clamp(230px, 32vh, 360px);
}
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-1 .amista-carousel-item:nth-child(4n+3) {
  width: clamp(260px, 36vw, 440px);
  height: clamp(200px, 28vh, 320px);
}
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-1 .amista-carousel-item:nth-child(4n+4) {
  width: clamp(180px, 24vw, 280px);
  height: clamp(160px, 22vh, 250px);
}

/* Row 2: different width cycles to stagger the columns vertically */
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-2 .amista-carousel-item:nth-child(4n+1) {
  width: clamp(220px, 30vw, 380px);
  height: clamp(160px, 22vh, 250px);
}
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-2 .amista-carousel-item:nth-child(4n+2) {
  width: clamp(160px, 22vw, 260px);
  height: clamp(190px, 26vh, 290px);
}
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-2 .amista-carousel-item:nth-child(4n+3) {
  width: clamp(340px, 46vw, 600px);
  height: clamp(220px, 30vh, 340px);
}
.amista-carousel-track-container.layout-rows-2 .amista-carousel-row-2 .amista-carousel-item:nth-child(4n+4) {
  width: clamp(240px, 32vw, 400px);
  height: clamp(180px, 25vh, 280px);
}

.amista-carousel-media {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.amista-carousel-item:hover .amista-carousel-media {
  transform: scale(1.06);
}

.amista-carousel-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 50%);
  pointer-events: none;
  z-index: 3;
}

/* SVG Scroll indicator circle */
.amista-carousel-progress-circle {
  position: absolute;
  bottom: 2rem;
  right: 5vw;
  width: 80px;
  height: 80px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  background: var(--slate-2);
  border-radius: 50%;
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}
body.light-theme .amista-carousel-progress-circle {
  background: #FFF;
}
.progress-ring__circle {
  transition: stroke-dashoffset 0.05s linear;
  transform: rotate(-90deg);
  transform-origin: 50% 50%;
}
.progress-percentage-text {
  position: absolute;
  font-family: var(--body);
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  color: var(--gold);
  font-weight: 700;
}

/* Luxury Glassmorphism Carousel Info */
.amista-carousel-info {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  z-index: 5;
  background: rgba(20, 18, 15, 0.72);
  border: 1px solid rgba(201, 169, 110, 0.22);
  border-radius: 8px;
  padding: 1.25rem 1.5rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
  transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}
body.light-theme .amista-carousel-info {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(201, 169, 110, 0.3);
  box-shadow: 0 10px 30px rgba(201, 169, 110, 0.1);
}
.amista-carousel-info h4 {
  font-family: var(--display);
  font-size: 1.2rem;
  color: #fff;
  margin: 0 0 0.25rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}
body.light-theme .amista-carousel-info h4 {
  color: var(--ink);
}
.amista-carousel-info p {
  font-family: var(--body);
  font-size: 0.72rem;
  color: var(--gold-dim);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin: 0;
  line-height: 1.4;
}
body.light-theme .amista-carousel-info p {
  color: var(--gold);
}

/* Hover: premium glow + subtle lift — NO scale to avoid sibling reflow */
.amista-carousel-item {
  transition: box-shadow 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none !important;
}
.amista-carousel-item:hover {
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(201, 169, 110, 0.55);
  z-index: 10;
}
body.light-theme .amista-carousel-item:hover {
  box-shadow: 0 30px 60px rgba(201, 169, 110, 0.25), inset 0 0 0 1px rgba(201, 169, 110, 0.6);
}
.amista-carousel-item:hover .amista-carousel-info {
  border-color: rgba(201, 169, 110, 0.5);
  transform: translateY(-3px);
}

/* Row wrapper — no hover shift, keep rows stable at all times */
.amista-carousel-row-wrapper {
  /* No transform transition — rows are perfectly stable */
}

/* Custom 360 Panorama Controls & Graphical Overlay */
.pnlm-control-block, .pnlm-zoom-controls, .pnlm-fullscreen-toggle-button {
  display: none !important; /* Hide native controls */
}

/* Custom Floating controller stack */
.amista-360-controls {
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.amista-360-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(20, 18, 15, 0.75);
  border: 1px solid rgba(201, 169, 110, 0.3);
  color: #c9a96e;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 15px rgba(0,0,0,0.25);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.amista-360-btn svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  transition: transform 0.35s ease;
}
.amista-360-btn:hover {
  background: var(--gold);
  color: #14120f;
  border-color: var(--gold);
  box-shadow: 0 6px 20px rgba(201, 169, 110, 0.45);
}
.amista-360-btn:hover svg {
  transform: scale(1.15);
}

/* Big Text Overlay Card */
.amista-360-overlay-card {
  position: absolute;
  left: 3rem;
  top: 50%;
  transform: translateY(-50%);
  width: min(420px, 85vw);
  background: rgba(20, 18, 15, 0.75);
  border: 1px solid rgba(201, 169, 110, 0.22);
  border-radius: 12px;
  padding: 2.25rem 2.5rem;
  z-index: 101;
  color: #fff;
  box-shadow: 0 25px 60px rgba(0,0,0,0.45);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), pointer-events 0.8s;
  pointer-events: auto;
}
.amista-360-overlay-card.fade-out {
  opacity: 0;
  transform: translateY(-50%) scale(0.95);
  pointer-events: none;
}
.amista-360-overlay-card .kicker {
  font-family: var(--body);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--gold);
  display: inline-block;
  border-bottom: 2px solid var(--gold);
  padding-bottom: 0.35rem;
  margin-bottom: 1rem;
}
.amista-360-overlay-card h3 {
  font-family: var(--display);
  font-size: clamp(1.8rem, 3.2vw, 2.3rem);
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 1rem;
  color: #fff;
}
.amista-360-overlay-card p {
  font-family: var(--body);
  font-size: 0.88rem;
  line-height: 1.6;
  color: rgba(255,255,255,0.72);
  margin: 0 0 2rem;
}
.amista-360-start-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--gold);
  color: #14120f;
  border: 1px solid var(--gold);
  padding: 0.88rem 2rem;
  border-radius: 4px;
  font-family: var(--body);
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  cursor: pointer;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.amista-360-start-btn:hover {
  background: transparent;
  color: var(--gold);
  box-shadow: 0 8px 25px rgba(201, 169, 110, 0.25);
}

/* Mobile fallback overrides */
@media (max-width: 768px) {
  /* Keep overflow hidden — Swiper handles touch scrolling internally */
  .amista-carousel-track-container {
    overflow: hidden !important;
  }
  .amista-carousel-progress-circle {
    display: none !important;
  }
  .amista-360-overlay-card {
    left: 1.5rem;
    right: 1.5rem;
    width: auto;
    padding: 1.5rem;
  }
}

/* ---------- 22. Before & After Image Comparison Slider Styles ---------- */
.amista-before-after-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  border-radius: 12px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
  border: 1px solid var(--gold-faint);
  background-color: #000;
}
.amista-ba-pane {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  will-change: clip-path;
}
.amista-ba-pane.before {
  z-index: 1;
}
.amista-ba-pane.after {
  z-index: 2;
}

/* Drag Handle Styles */
.amista-ba-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background-color: var(--gold, #A98544);
  z-index: 10;
  cursor: ew-resize;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  will-change: left;
}

.amista-ba-handle-line {
  flex-grow: 1;
  width: 2px;
  background-color: var(--gold, #A98544);
}

.amista-ba-handle-button {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: #1c1a16;
  border: 2px solid var(--gold, #A98544);
  color: var(--gold, #A98544);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
  cursor: ew-resize;
  transition: transform 0.25s var(--ease), background-color 0.25s var(--ease);
}
.amista-ba-handle:hover .amista-ba-handle-button,
.amista-before-after-container.is-dragging .amista-ba-handle-button {
  transform: scale(1.1);
  background-color: var(--gold, #A98544);
  color: #1c1a16;
}

/* Handle Style Variations */
.amista-ba-handle.style-classic .amista-ba-handle-button {
  width: 48px;
  height: 28px;
  border-radius: 14px;
}
.amista-ba-handle.style-minimalist {
  width: 4px;
  background-color: var(--gold, #A98544);
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
}
.amista-ba-handle.style-minimalist .amista-ba-handle-line {
  background-color: var(--gold, #A98544);
}

/* Glassmorphic Labels */
.amista-ba-label {
  position: absolute;
  bottom: 20px;
  padding: 6px 14px;
  font-family: var(--body, sans-serif);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--label-text, #ffffff);
  background-color: var(--label-bg, rgba(10, 10, 10, 0.45));
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  pointer-events: none;
  z-index: 5;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 0.3s var(--ease), transform 0.3s var(--ease);
}
.amista-ba-label.before {
  left: 20px;
}
.amista-ba-label.after {
  right: 20px;
}
.amista-before-after-container:hover .amista-ba-label {
  opacity: 1;
  transform: translateY(0);
}

/* Intro Section Slideshow Hardware Acceleration to Prevent Shakiness */
.amista-intro-slideshow {
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  perspective: 1000px;
  -webkit-perspective: 1000px;
}
.intro-slide {
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
}

/* Intro Section Text-Only Layout */
.intro-text-only {
  max-width: 850px;
  margin-inline: auto;
  width: 100%;
}

/* ─────────────────────────────────────────────────────────────────────────────
   MOBILE RESPONSIVE STYLING OPTIMIZATIONS
   ───────────────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {

  /* ── 1. Amista Masonry Carousel ── */
  /* Clip the scrolling strip and allow it to run */
  .amista-carousel-swiper {
    overflow: hidden !important;
    width: 100% !important;
    position: relative !important;
  }
  /* Animated strip — hardware-accelerated pure CSS marquee animation for absolute mobile reliability */
  .amista-carousel-swiper .amista-carousel-swiper-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    width: max-content !important;
    animation: amista-marquee-mobile 28s linear infinite !important;
    will-change: transform !important;
  }
  /* Alternate scroll direction for row 2 to make it dynamic */
  .amista-carousel-row-2 .amista-carousel-swiper-inner {
    animation: amista-marquee-mobile 22s linear infinite reverse !important;
  }
  /* Compact card sizing on mobile */
  .amista-carousel-swiper .amista-carousel-slide {
    width: 170px !important;
    height: 230px !important;
    flex: 0 0 170px !important;
  }
  .amista-carousel-item {
    width: 170px !important;
    height: 230px !important;
    border-radius: 8px !important;
  }
  .amista-carousel-info {
    padding: 0.65rem 0.9rem !important;
    bottom: 0.65rem !important;
    left: 0.65rem !important;
    right: 0.65rem !important;
  }
  .amista-carousel-info h4 { font-size: 0.85rem !important; }
  .amista-carousel-info p  { font-size: 0.58rem !important; }
  .amista-carousel-progress-circle { display: none !important; }
  .amista-carousel-bg-text {
    font-size: 3.5rem !important;
    opacity: 0.07 !important;
  }
  /* Row wrappers: reduce gap in 2-row layout */
  .amista-carousel-track-container.layout-rows-2 {
    gap: 10px !important;
  }
  .amista-carousel-track-container.layout-rows-1 {
    padding: 2rem 0 1rem !important;
  }

  /* ── 2. Hero Section — full screen via absolute centering on mobile ── */
  .hero {
    display: block !important;
    position: relative !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .hero-content {
    position: absolute !important;
    top: 48% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 90% !important;
    max-width: 480px !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
    z-index: 5 !important;
  }
  .hero h1 {
    font-size: clamp(1.8rem, 8.5vw, 2.4rem) !important;
    line-height: 1.2 !important;
    margin: 1rem 0 !important;
  }
  .hero .lead {
    font-size: 0.88rem !important;
    margin-bottom: 1.5rem !important;
    line-height: 1.6 !important;
  }

  /* Hero CTA buttons — stack vertically on mobile with breathing room */
  .hero [data-reveal-group] {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.9rem !important;
    width: 100% !important;
  }
  .hero [data-reveal-group] .btn {
    margin-left: 0 !important;
    width: auto !important;
    min-width: 180px !important;
  }

  /* Inner page heroes (About, Services etc.) */
  .page-hero {
    padding: 8rem 0 2.5rem !important;
  }
  .page-hero h1 {
    font-size: 2rem !important;
    line-height: 1.2 !important;
  }

  /* ── 3. Site Footer — Stacked 1-column redesign ── */
  .site-footer {
    padding: 3rem 0 0 !important;
  }

  /* Single column stack for mobile footer */
  .footer-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
  }

  .footer-grid > div {
    padding: 1.5rem 1.25rem !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    border-right: none !important;
  }

  /* Hide Services (2nd) and Company (3rd) columns on mobile */
  .footer-grid > div:nth-child(2),
  .footer-grid > div:nth-child(3) {
    display: none !important;
  }


  /* Column 1 (logo + blurb) top spacing adjustment */
  .footer-grid > div:first-child {
    padding: 0 1.25rem 1.75rem !important;
  }
  .site-footer .blurb {
    font-size: 0.85rem !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
    margin-top: 0.75rem !important;
  }


  /* Tighten all headings and lists */
  .site-footer h4 {
    font-size: 0.65rem !important;
    letter-spacing: 0.28em !important;
    margin-bottom: 0.7rem !important;
  }
  .site-footer ul { padding: 0 !important; margin: 0 !important; }
  .site-footer li { margin-bottom: 0.55rem !important; }
  .site-footer li a { font-size: 0.84rem !important; }

  /* Collapse areas to 2 lines with fade — tap to expand */
  .areas {
    font-size: 0.76rem !important;
    line-height: 1.7 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    max-height: 3.4em !important;
    transition: max-height 0.4s ease, -webkit-line-clamp 0.4s !important;
  }
  .areas.expanded {
    -webkit-line-clamp: unset !important;
    max-height: 200px !important;
    overflow: visible !important;
  }

  /* Footer bottom bar */
  .footer-bottom {
    padding: 1.1rem 1.25rem !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0.5rem !important;
  }
  .footer-bottom p {
    margin: 0 !important;
    font-size: 0.7rem !important;
  }
  .footer-bottom a {
    margin: 0 0.6rem !important;
    font-size: 0.7rem !important;
  }
  .footer-mobile-nav {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.6rem !important;
    margin-bottom: 0.8rem !important;
    flex-wrap: wrap !important;
  }
  .footer-mobile-nav a {
    color: var(--gold) !important;
    font-size: 0.76rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    text-decoration: none !important;
  }
  .footer-mobile-nav .sep {
    color: rgba(255, 255, 255, 0.12) !important;
    font-size: 0.76rem !important;
  }

  /* Post navigation responsive adjustments */
  .post-navigation {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    padding: 2.5rem 0 1.5rem !important;
  }
  .nav-next {
    border-left: 0 !important;
    padding-left: 0 !important;
    text-align: left !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    padding-top: 2rem !important;
  }
  .nav-next a {
    justify-content: flex-start !important;
    flex-direction: row-reverse !important; /* Keep next thumbnail on the right, title on the left */
  }
  .nav-next a .title {
    text-align: left !important;
  }
  .post-navigation .title {
    font-size: 1.05rem !important;
  }

  /* Back to Blog button — breathing room on mobile */
  .blog-back-btn {
    margin-top: 2.5rem !important;
    margin-bottom: 3rem !important;
    text-align: center !important;
  }
}

/* ── Service areas tap-to-expand JS trigger ── */





