/* ============================================================
   CSS VARIABLES — Change these to customize your color scheme
   ============================================================ */
:root {
  --gold:        #c9a84c;
  --gold-light:  #e8c96a;
  --gold-dark:   #9a7a2e;
  --navy:        #04080f;
  --navy-mid:    #0b1220;
  --navy-light:  #111d30;
  --white:       #ffffff;
  --off-white:   #f0e8d5;
  --grey:        #8a94a6;
  --gold-04:     #c9a84c0a;
  --gold-05:     #c9a84c0d;
  --gold-06:     #c9a84c0f;
  --gold-07:     #c9a84c12;
  --gold-08:     #c9a84c14;
  --gold-10:     #c9a84c1a;
  --gold-12:     #c9a84c1f;
  --gold-15:     #c9a84c26;
  --gold-20:     #c9a84c33;
  --gold-25:     #c9a84c40;
  --gold-30:     #c9a84c4d;
  --gold-35:     #c9a84c59;
  --gold-40:     #c9a84c66;
  --gold-50:     #c9a84c80;
  --gold-55:     #c9a84c8c;
  --gold-80:     #c9a84ccc;
  --navy-1:      #04080fff;
  --navy-30:     #04080f4d;
  --navy-70:     #04080fb3;
  --navy-85:     #04080fd9;
  --navy-92:     #04080feb;
  --navy-97:     #04080ff7;
  --navy-98:     #04080ffa;
  --navy-mid-90: #0b1220e6;
  --white-04:    #ffffff0a;
  --white-65:    #ffffffa6;
  --white-70:    #ffffffb3;
  --white-78:    #ffffffc7;
  --white-80:    #ffffffcc;
}

/* ===== RESET & BASE ===== */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Cormorant Garamond',serif;
  background:var(--navy);
  color:var(--white);
  overflow-x:hidden;
}

/* ===== SCROLLBAR ===== */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--navy);}
::-webkit-scrollbar-thumb{background:var(--gold-dark);border-radius:3px;}

/* ===== NOISE OVERLAY ===== */
body::before{
  content:'';position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none;z-index:9999;opacity:.4;
}

/* ===== UTILITY ===== */
.gold{color:var(--gold);}
.section-label{
  font-family:'Cinzel',serif;
  font-size:.72rem;letter-spacing:.35em;
  color:var(--gold);text-transform:uppercase;
  margin-bottom:1rem;
}
.divider{
  display:flex;align-items:center;gap:1rem;margin:1rem auto 2.5rem;width:fit-content;
}
.divider::before,.divider::after{content:'';height:1px;width:60px;background:linear-gradient(90deg,transparent,var(--gold));}
.divider::after{background:linear-gradient(270deg,transparent,var(--gold));}
.divider-diamond{width:8px;height:8px;background:var(--gold);transform:rotate(45deg);}

.divider-line{display:flex;align-items:center;gap:1rem;margin:0 auto 2rem;width:fit-content;}
.divider-line::before,.divider-line::after{content:'';height:1px;width:60px;background:linear-gradient(90deg,transparent,var(--gold));}
.divider-line::after{background:linear-gradient(270deg,transparent,var(--gold));}

/* ===== NAVBAR ===== */
.navbar{
  background:var(--navy-92);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--gold-25);
  padding:.5rem 5%;
  transition:all .3s;
}
.navbar.scrolled{
  background:var(--navy-98);
  box-shadow:0 4px 40px rgba(0,0,0,.6);
}
.navbar .nav-link{
  font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.12em;
  color:var(--grey) !important;text-transform:uppercase;
  transition:color .3s;position:relative;padding-bottom:2px !important;
}
.navbar .nav-link::after{
  content:'';position:absolute;bottom:0;left:.75rem;right:.75rem;height:1px;
  background:var(--gold);transform:scaleX(0);transition:transform .3s;
}
.navbar .nav-link:hover{color:var(--gold) !important;}
.navbar .nav-link:hover::after{transform:scaleX(1);}
.navbar .navbar-brand{padding:0;}
.navbar .navbar-toggler{color:var(--gold);border-color:var(--gold-30);}
.navbar .navbar-toggler:focus{box-shadow:0 0 0 .1rem var(--gold-50);}
.navbar .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c9a84c' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");}
@media(max-width:991.98px){
  .navbar .navbar-collapse{background:var(--navy-97);padding:1rem;border-radius:0 0 4px 4px;margin-top:.5rem;}
  .navbar .nav-link{padding:.6rem 0 !important;text-align:center;}
  .navbar .nav-link::after{display:none;}
  .navbar .nav-cta{display:block;text-align:center;margin:.5rem auto 0 !important;}
}
.nav-logo-icon{
  width:46px;height:46px;
  background:var(--white);
  border-radius:50%;
  border:2px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  flex-shrink:0;
  box-shadow:0 0 20px var(--gold-30);
}
.nav-logo-icon svg{width:38px;height:38px;}
.nav-logo-icon img{height:70px;width:80px;}
.nav-logo-text{line-height:1.1;}
.nav-logo-name{
  font-family:'Cinzel',serif;font-size:.95rem;font-weight:700;
  color:var(--white);letter-spacing:.08em;
}
.nav-logo-sub{
  font-size:.6rem;letter-spacing:.25em;color:var(--gold);
  text-transform:uppercase;
}
.nav-cta{
  background:transparent;
  border:1px solid var(--gold);
  color:var(--gold);
  padding:.55rem 1.4rem;
  font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;cursor:pointer;
  transition:all .3s;text-decoration:none;display:inline-block;
}
.nav-cta:hover{background:var(--gold);color:var(--navy);}
.btn-back{
  font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.12em;
  color:var(--grey);text-decoration:none;text-transform:uppercase;
  border:1px solid var(--gold-25);
  padding:.45rem 1rem;transition:all .3s;
}
.btn-back:hover{color:var(--gold);border-color:var(--gold);}
.btn-contact-nav{
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:var(--navy);border:none;
  padding:.5rem 1.3rem;
  font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;cursor:pointer;text-decoration:none;
}
/* hamburger & mobile-menu removed — Bootstrap navbar replaces them */

/* ===== HERO (HOME) ===== */
.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  position:relative;overflow:hidden;
  padding:6rem 5% 4rem;
  gap:4rem;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 70% 80% at 80% 50%, var(--gold-06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 10% 80%, var(--gold-04) 0%, transparent 50%),
    linear-gradient(135deg, #04080f 0%, #0b1525 50%, #04080f 100%);
}
.hero-scales{
  position:absolute;right:5%;top:50%;transform:translateY(-50%);
  opacity:.06;pointer-events:none;
  animation:floatScales 6s ease-in-out infinite;
}
@keyframes floatScales{0%,100%{transform:translateY(-50%) rotate(-2deg);}50%{transform:translateY(calc(-50% - 20px)) rotate(2deg);}}
.hero-content{position:relative;z-index:2;max-width:760px;}
.hero-badge{
  display:inline-flex;align-items:center;gap:.7rem;
  border:1px solid var(--gold-40);
  padding:.4rem 1.2rem;border-radius:2px;
  font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.3em;
  color:var(--gold);text-transform:uppercase;
  margin-bottom:2rem;
  background:var(--gold-05);
  animation:fadeInDown .8s ease both;
}
.hero-badge::before{content:'⚖';font-size:.9rem;}
.hero-title{
  font-family:'Cinzel',serif;
  font-size:clamp(2.2rem,5vw,4.2rem);
  font-weight:700;line-height:1.1;
  color:var(--white);
  margin-bottom:1rem;
  animation:fadeInUp .9s .1s ease both;
}
.hero-title span{
  color:transparent;
  background:linear-gradient(135deg, var(--gold-light), var(--gold), var(--gold-dark));
  -webkit-background-clip:text;background-clip:text;
}
.hero-tagline{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.3rem,2.5vw,1.9rem);
  font-style:italic;color:var(--gold-light);
  margin-bottom:1.5rem;
  animation:fadeInUp .9s .2s ease both;
}
.hero-desc{
  font-size:1.15rem;line-height:1.8;
  color:var(--white-65);max-width:560px;
  margin-bottom:3rem;
  animation:fadeInUp .9s .3s ease both;
}
.hero-btns{
  display:flex;gap:1.2rem;flex-wrap:wrap;
  animation:fadeInUp .9s .4s ease both;
}
.hero-image-wrap{
  position:relative;
  flex:0 0 420px;
  height:560px;
  margin-left:auto;
  z-index:2;
}
.hero-image-wrap::before{
  content:'';
  position:absolute;
  inset:-12px;
  border:1px solid var(--gold-35);
  pointer-events:none;
  z-index:3;
}
.hero-image-wrap::after{
  content:'';
  position:absolute;
  top:-6px;left:-6px;
  width:40px;height:40px;
  border-top:2px solid var(--gold);
  border-left:2px solid var(--gold);
  z-index:4;
}
.hero-image-wrap img{
  width:100%;height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  filter:grayscale(20%) contrast(1.05);
}
.hero-image-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(to right, var(--navy-1) 0%, transparent 45%),
    linear-gradient(to top, var(--navy-1) 0%, transparent 55%);
  z-index:2;
}
@media(max-width:900px){
  .hero{flex-direction:column;padding-top:8rem;}
  .hero-image-wrap{flex:none;width:100%;max-width:480px;height:340px;margin:0 auto;}
}

/* ===== BUTTONS ===== */
.btn-primary{
  background:linear-gradient(135deg, var(--gold), var(--gold-dark));
  color:var(--navy);border:none;
  padding:.85rem 2.2rem;
  font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:.15em;
  text-transform:uppercase;cursor:pointer;
  text-decoration:none;display:inline-block;
  transition:all .3s;
  box-shadow:0 4px 20px var(--gold-35);
}
.btn-primary:hover{box-shadow:0 6px 35px var(--gold-55);transform:translateY(-2px);}
.btn-outline{
  background:transparent;
  border:1px solid var(--gold-50);
  color:var(--gold);
  padding:.85rem 2.2rem;
  font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:.15em;
  text-transform:uppercase;cursor:pointer;
  text-decoration:none;display:inline-block;
  transition:all .3s;
}
.btn-outline:hover{border-color:var(--gold);background:var(--gold-08);}
.btn-gold{
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:var(--navy);border:none;
  padding:.85rem 2.2rem;
  font-family:'Cinzel',serif;font-size:.75rem;letter-spacing:.15em;
  text-transform:uppercase;cursor:pointer;
  text-decoration:none;display:inline-block;
  transition:all .3s;
  box-shadow:0 4px 20px var(--gold-30);
}
.btn-gold:hover{box-shadow:0 6px 35px var(--gold-55);transform:translateY(-2px);}

/* ===== HERO STATS ===== */
.hero-stats{
  display:flex;gap:3rem;margin-top:4rem;padding-top:2.5rem;
  border-top:1px solid var(--gold-15);
  animation:fadeInUp .9s .5s ease both;
  flex-wrap:wrap;
}
.stat-num{
  font-family:'Cinzel',serif;font-size:2rem;font-weight:700;
  color:var(--gold);line-height:1;
}
.stat-label{font-size:.85rem;color:var(--grey);margin-top:.3rem;letter-spacing:.05em;}

/* ===== MARQUEE ===== */
.marquee-wrap{
  border-top:1px solid var(--gold-20);
  border-bottom:1px solid var(--gold-20);
  background:var(--gold-04);
  padding:.9rem 0;overflow:hidden;
}
.marquee-track{
  display:flex;gap:0;
  animation:marqueeScroll 25s linear infinite;
  white-space:nowrap;
}
.marquee-item{
  font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.2em;
  color:var(--gold);text-transform:uppercase;
  padding:0 2.5rem;
  display:flex;align-items:center;gap:1.5rem;
}
.marquee-item::after{content:'◆';font-size:.5rem;color:var(--gold-dark);}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ===== SECTION BASE ===== */
section{padding:6rem 5%;}
.section-header{text-align:center;margin-bottom:4rem;}
.section-title{
  font-family:'Cinzel',serif;
  font-size:clamp(1.8rem,3.5vw,2.8rem);
  font-weight:700;color:var(--white);
  line-height:1.2;
}
.section-title span{color:var(--gold);}
.section-subtitle{
  font-size:1.1rem;color:var(--grey);
  max-width:560px;margin:.8rem auto 0;
  line-height:1.7;font-style:italic;
}

/* ===== FEATURES / WHY US ===== */
.features{background:var(--navy-mid);}
.features-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;
}
.feature-card{
  background:var(--navy);
  padding:2.5rem 2rem;
  border:1px solid var(--gold-10);
  position:relative;overflow:hidden;
  transition:all .4s;
  cursor:default;
  display:block;
  text-decoration:none;
  color:inherit;
}
.feature-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--gold-05),transparent);
  opacity:0;transition:.4s;
}
.feature-card:hover{border-color:var(--gold-40);transform:translateY(-4px);}
.feature-card:hover::before{opacity:1;}
.feature-icon{
  width:56px;height:56px;
  border:1px solid var(--gold-35);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.5rem;
  font-size:1.6rem;
  background:var(--gold-06);
  transition:.3s;
}
.feature-card:hover .feature-icon{background:var(--gold-15);border-color:var(--gold);}
.feature-name{
  font-family:'Cinzel',serif;font-size:.95rem;font-weight:600;
  color:var(--white);margin-bottom:.7rem;letter-spacing:.05em;
}
.feature-desc{font-size:.95rem;color:var(--grey);line-height:1.65;}

/* ===== SERVICES — MILITARY ===== */
.military-section{background:var(--navy);}
.services-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;
}
.service-card{
  background:var(--navy-light);
  border:1px solid var(--gold-12);
  padding:2rem;
  display:flex;gap:1.2rem;align-items:flex-start;
  transition:all .35s;position:relative;overflow:hidden;
  text-decoration:none;
  color:inherit;
  cursor:default;
}
.service-card::after{
  content:'';position:absolute;left:0;top:0;bottom:0;
  width:3px;background:linear-gradient(var(--gold),var(--gold-dark));
  transform:scaleY(0);transform-origin:bottom;transition:.35s;
}
.service-card:hover{border-color:var(--gold-30);background:var(--navy-mid-90);}
.service-card:hover::after{transform:scaleY(1);}
.service-icon{font-size:2rem;flex-shrink:0;margin-top:.1rem;}
.service-name{
  font-family:'Cinzel',serif;font-size:.95rem;font-weight:600;
  color:var(--gold);margin-bottom:.5rem;
}
.service-desc{font-size:.92rem;color:var(--grey);line-height:1.6;}

/* ===== SERVICES — TAX ===== */
.tax-section{background:var(--navy-mid);}
.tax-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;
}
.tax-card{
  background:var(--navy);
  border:1px solid var(--gold-10);
  padding:1.8rem 1.5rem;
  transition:all .35s;
  position:relative;
  display:block;
  text-decoration:none;
  color:inherit;
}
.tax-card:hover{border-color:var(--gold-40);box-shadow:0 8px 30px rgba(0,0,0,.4);}
.tax-card-top{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem;}
.tax-badge{
  background:var(--gold-12);border:1px solid var(--gold-30);
  padding:.3rem .6rem;font-family:'Cinzel',serif;font-size:.62rem;
  color:var(--gold);letter-spacing:.1em;
}
.tax-name{
  font-family:'Cinzel',serif;font-size:.9rem;font-weight:600;
  color:var(--white);margin-bottom:.5rem;
}
.tax-desc{font-size:.88rem;color:var(--grey);line-height:1.6;}

.also-deal{
  margin-top:3rem;
  background:var(--navy-light);
  border:1px solid var(--gold-20);
  padding:2.5rem;
}
.also-deal-title{
  font-family:'Cinzel',serif;font-size:1rem;font-weight:600;
  color:var(--gold);margin-bottom:1.5rem;text-align:center;
}
.also-deal-list{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.6rem .5rem;list-style:none;
}
.also-deal-list li{
  font-size:.9rem;color:var(--grey);
  display:flex;align-items:center;gap:.5rem;
}
.also-deal-list li::before{content:'◆';color:var(--gold);font-size:.5rem;}

/* ===== TESTIMONIALS ===== */
.testimonials{background:var(--navy);}
.testi-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;
}
.testi-card{
  background:var(--navy-light);
  border:1px solid var(--gold-10);
  padding:2.2rem;position:relative;
  transition:all .35s;
}
.testi-card:hover{border-color:var(--gold-35);transform:translateY(-3px);}
.testi-quote{
  font-size:3rem;line-height:.8;color:var(--gold);
  font-family:Georgia,serif;opacity:.4;margin-bottom:1rem;
}
.testi-text{
  font-size:1.05rem;font-style:italic;
  color:var(--white-80);line-height:1.7;margin-bottom:1.5rem;
}
.testi-stars{color:var(--gold);font-size:.85rem;margin-bottom:1rem;letter-spacing:.15em;}
.testi-author{display:flex;align-items:center;gap:.9rem;}
.testi-avatar{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-dark),var(--gold));
  display:flex;align-items:center;justify-content:center;
  font-family:'Cinzel',serif;font-weight:700;font-size:1rem;
  color:var(--navy);flex-shrink:0;
}
.testi-name{font-family:'Cinzel',serif;font-size:.85rem;color:var(--gold);font-weight:600;}
.testi-role{font-size:.8rem;color:var(--grey);}

/* ===== FAQ ===== */
.faq{background:var(--navy-mid);}
.faq-list{max-width:800px;margin:0 auto;}
.faq-item{
  border-bottom:1px solid var(--gold-15);
  margin-bottom:.5rem;
}
.faq-question{
  width:100%;background:none;border:none;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.3rem 0;cursor:pointer;
  font-family:'Cinzel',serif;font-size:.95rem;letter-spacing:.05em;
  color:var(--white);text-align:left;gap:1rem;
  transition:color .3s;
}
.faq-question:hover{color:var(--gold);}
.faq-icon{
  width:28px;height:28px;flex-shrink:0;
  border:1px solid var(--gold-35);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:1.1rem;
  transition:transform .35s;
}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-answer{
  max-height:0;overflow:hidden;
  transition:max-height .4s ease, padding .3s;
  font-size:1rem;color:var(--grey);line-height:1.75;
}
.faq-item.open .faq-answer{max-height:300px;padding-bottom:1.3rem;}
/* Sub-page FAQ */
.faq-section{padding:4rem 5%;background:var(--navy-mid);}
.faq-section h2{font-family:'Cinzel',serif;font-size:1.6rem;color:var(--white);margin-bottom:2.5rem;text-align:center;}
.faq-section h2 span{color:var(--gold);}
.faq-q{
  width:100%;background:none;border:none;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.2rem 0;cursor:pointer;
  font-family:'Cinzel',serif;font-size:.9rem;letter-spacing:.04em;
  color:var(--white);text-align:left;gap:1rem;
  transition:color .3s;
}
.faq-q:hover{color:var(--gold);}
.faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .4s ease,padding .3s;
  font-size:.98rem;color:var(--grey);line-height:1.75;
}
.faq-item.open .faq-a{max-height:300px;padding-bottom:1.2rem;}

/* ===== SUB-PAGE HERO ===== */
.page-hero{
  position:relative;height:68vh;min-height:420px;
  display:flex;align-items:flex-end;overflow:hidden;
}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.page-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,var(--navy-1) 0%,var(--navy-1) 15%,var(--navy-92) 35%,transparent 65%,transparent 100%);
}
.page-hero-content{position:relative;z-index:2;padding:0 5% 3.5rem;width:100%;}
.hero-breadcrumb{
  font-family:'Cinzel',serif;font-size:.65rem;letter-spacing:.3em;
  color:var(--gold);text-transform:uppercase;margin-bottom:.8rem;
}
.hero-breadcrumb a{color:var(--gold);text-decoration:none;opacity:.7;}
.hero-breadcrumb a:hover{opacity:1;}
.page-hero h1{
  font-family:'Cinzel',serif;
  font-size:clamp(1.8rem,4.5vw,3.2rem);
  font-weight:700;color:var(--white);
  line-height:1.15;max-width:780px;margin-bottom:.7rem;
}
.page-hero p{
  font-size:1.15rem;font-style:italic;
  color:var(--white-70);max-width:580px;
}

/* ===== SUB-PAGE CONTENT ===== */
.page-content{padding:5rem 5%;max-width:1000px;margin:0 auto;}
.icon-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;
  border:1px solid var(--gold-35);
  background:var(--gold-07);
  font-size:2rem;margin-bottom:2rem;
}
.content-section{margin-bottom:3.5rem;}
.content-section p{
  font-size:1.08rem;line-height:1.85;
  color:var(--white-78);margin-bottom:1.5rem;
}
.content-section p:last-child{margin-bottom:0;}

/* ===== SUB-PAGE CTA ===== */
.page-cta{
  text-align:center;padding:5rem 5%;
  background:var(--navy);
  border-top:1px solid var(--gold-15);
  border-bottom:1px solid var(--gold-15);
}
.page-cta h2{font-family:'Cinzel',serif;font-size:1.9rem;color:var(--white);margin-bottom:.7rem;}
.page-cta p{font-size:1.05rem;color:var(--grey);font-style:italic;margin-bottom:2.2rem;}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}

/* ===== CTA STRIP (HOME) ===== */
.cta-strip{
  background:linear-gradient(135deg, #0b1a2e, #050d1a);
  border-top:1px solid var(--gold-20);
  border-bottom:1px solid var(--gold-20);
  padding:4rem 5%;
  text-align:center;
  position:relative;overflow:hidden;
}
.cta-strip::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 80% at 50% 50%, var(--gold-06) 0%, transparent 70%);
}
.cta-strip h2{
  font-family:'Cinzel',serif;font-size:clamp(1.5rem,3vw,2.5rem);
  color:var(--white);margin-bottom:.7rem;position:relative;
}
.cta-strip p{
  font-size:1.1rem;color:var(--grey);
  margin-bottom:2rem;font-style:italic;position:relative;
}
.cta-strip .hero-btns{justify-content:center;position:relative;}

/* ===== CONTACT ===== */
.contact{background:var(--navy);}
.contact-wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;
}
.contact-info h3{
  font-family:'Cinzel',serif;font-size:1.4rem;
  color:var(--white);margin-bottom:1rem;
}
.contact-tagline{
  font-size:1.1rem;font-style:italic;color:var(--grey);
  margin-bottom:2.5rem;line-height:1.7;
}
.contact-item{
  display:flex;align-items:flex-start;gap:1rem;
  margin-bottom:1.8rem;
}
.contact-item-icon{
  width:44px;height:44px;flex-shrink:0;
  border:1px solid var(--gold-35);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;color:var(--gold);
  background:var(--gold-06);
}
.contact-item-label{
  font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.15em;
  color:var(--gold);text-transform:uppercase;margin-bottom:.25rem;
}
.contact-item-value{font-size:1rem;color:var(--white);}
.contact-item-value a{color:var(--white);text-decoration:none;}

.contact-form{
  background:var(--navy-light);
  border:1px solid var(--gold-15);
  padding:2.5rem;
}
.form-title{
  font-family:'Cinzel',serif;font-size:1.1rem;
  color:var(--white);margin-bottom:1.8rem;
  padding-bottom:1rem;border-bottom:1px solid var(--gold-15);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.form-group{margin-bottom:1rem;}
.form-label{
  display:block;font-family:'Cinzel',serif;font-size:.68rem;
  letter-spacing:.15em;color:var(--gold);text-transform:uppercase;
  margin-bottom:.5rem;
}
.form-input,.form-select,.form-textarea{
  width:100%;background:var(--white-04);
  border:1px solid var(--gold-20);
  color:var(--white);padding:.75rem 1rem;
  font-family:'Cormorant Garamond',serif;font-size:1rem;
  outline:none;transition:border .3s;
}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold);}
.form-textarea{resize:vertical;min-height:100px;}
.form-select{cursor:pointer;}
.form-select option{background:var(--navy-light);color:var(--white);}
.btn-submit{
  width:100%;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:var(--navy);border:none;
  padding:1rem;
  font-family:'Cinzel',serif;font-size:.8rem;letter-spacing:.2em;
  text-transform:uppercase;cursor:pointer;
  transition:all .3s;margin-top:.5rem;
}
.btn-submit:hover{box-shadow:0 5px 25px var(--gold-40);transform:translateY(-1px);}

/* ===== FOOTER ===== */
footer{
  background:var(--navy-mid);
  border-top:1px solid var(--gold-20);
}
.footer-main{
  padding:2rem 5% 1.5rem;
  display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;
}
.footer-brand .nav-logo{margin-bottom:1.2rem;}
.footer-about{font-size:.95rem;color:var(--grey);line-height:1.7;margin-bottom:1.5rem;}
.footer-social{display:flex;gap:.7rem;}
.social-btn{
  width:36px;height:36px;
  border:1px solid var(--gold-30);
  display:flex;align-items:center;justify-content:center;
  color:var(--gold);font-size:.85rem;
  text-decoration:none;transition:all .3s;
}
.social-btn:hover{background:var(--gold);color:var(--navy);}
.footer-col-title{
  font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.2em;
  color:var(--gold);text-transform:uppercase;
  margin-bottom:.8rem;padding-bottom:.4rem;
  border-bottom:1px solid var(--gold-15);
}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:.6rem;}
.footer-links a{
  font-size:.92rem;color:var(--grey);text-decoration:none;
  transition:color .3s;display:flex;align-items:center;gap:.4rem;
}
.footer-links a:hover{color:var(--gold);}
.footer-links a::before{content:'›';color:var(--gold-dark);}
.footer-bottom{
  border-top:1px solid var(--gold-10);
  padding:.8rem 5%;
  display:flex;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:1rem;
  font-size:.78rem;color:var(--grey);text-align:center;
}
.footer-bottom a{color:var(--gold);text-decoration:none;}
/* Sub-page footer */
.footer-mini{background:var(--navy-mid);border-top:1px solid var(--gold-15);padding:2rem 5%;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;}
.footer-mini p{font-size:.85rem;color:var(--grey);}
.footer-mini a{color:var(--gold);text-decoration:none;}

/* ===== LOGIN MODAL ===== */
.modal-overlay{
  position:fixed;inset:0;z-index:2000;
  background:var(--navy-85);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .35s;
}
.modal-overlay.active{opacity:1;pointer-events:all;}
.modal{
  background:var(--navy-light);
  border:1px solid var(--gold-30);
  padding:3rem;width:100%;max-width:420px;
  position:relative;
  transform:translateY(30px);transition:transform .35s;
}
.modal-overlay.active .modal{transform:translateY(0);}
.modal-close{
  position:absolute;top:1rem;right:1rem;
  background:none;border:none;color:var(--grey);
  font-size:1.4rem;cursor:pointer;
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  transition:color .3s;
}
.modal-close:hover{color:var(--gold);}
.modal-title{
  font-family:'Cinzel',serif;font-size:1.3rem;
  color:var(--white);margin-bottom:.5rem;text-align:center;
}
.modal-subtitle{font-size:.95rem;color:var(--grey);text-align:center;margin-bottom:2rem;}
.modal .form-group{margin-bottom:1.2rem;}

/* ===== PHONE FLOAT ===== */
.phone-float{
  position:fixed;bottom:2rem;right:2rem;z-index:500;
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  color:var(--navy);
  width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;text-decoration:none;
  box-shadow:0 4px 25px var(--gold-50);
  animation:phonePulse 2.5s ease infinite;
}
@keyframes phonePulse{0%,100%{box-shadow:0 4px 25px var(--gold-50);}50%{box-shadow:0 4px 45px var(--gold-80);}}

/* ===== ANIMATIONS ===== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease, transform .7s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}

/* ===== MOBILE ===== */
@media(max-width:900px){
  .footer-main{grid-template-columns:1fr 1fr;}
}
@media(max-width:800px){
  .contact-wrap{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .hero-stats{gap:2rem;}
  .form-row{grid-template-columns:1fr;}
  .hero-scales{display:none;}
  .sections-row{flex-direction:column;height:auto;overflow:visible;}
  .sections-row > section{overflow:visible;max-height:none;}
}
/* ===== COMPACT ONE-SCREEN LAYOUT ===== */
.sections-row {
  display:flex;
  gap:1.2rem;
  padding:0 5% 1rem;
  height:calc(100vh - 165px);
  overflow:hidden;
  align-items:stretch;
}
.sections-row > section {
  flex:1;
  min-width:0;
  min-height:0;
  padding:0.8rem 1rem;
  overflow-y:auto;
  background:var(--navy-mid);
  border:1px solid var(--gold-10);
}
.sections-row .section-header {
  margin-bottom:0.6rem;
  text-align:left;
}
.sections-row .section-label {
  font-size:0.55rem;
  margin-bottom:0.2rem;
}
.sections-row .section-title {
  font-size:clamp(0.8rem,1.2vw,1.1rem);
  line-height:1.2;
}
.sections-row .divider {
  margin:0.3rem 0;
}
.sections-row .section-subtitle {
  display:none;
}
.sections-row .features-grid,
.sections-row .services-grid,
.sections-row .tax-grid {
  display:flex;
  flex-direction:column;
  gap:0.35rem;
}
.sections-row .feature-icon {
  width:30px;
  height:30px;
  font-size:0.9rem;
  margin-bottom:0;
  flex-shrink:0;
}
.sections-row .feature-name {
  font-size:0.7rem;
  margin-bottom:0;
  white-space:nowrap;
}
.sections-row .feature-card {
  padding:0.45rem 0.8rem;
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.sections-row .feature-desc {
  font-size:.65rem;color:var(--grey);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.sections-row .feature-card::before {
  display:none;
}
.sections-row .service-card {
  padding:0.45rem 0.8rem;
  gap:0.7rem;
  align-items:center;
}
.sections-row .service-icon {
  font-size:1rem;
  margin-top:0;
  flex-shrink:0;
}
.sections-row .service-name {
  font-size:0.7rem;
  margin-bottom:0;
}
.sections-row .service-desc,
.sections-row .service-card::after {
  display:none;
}
.sections-row .tax-card {
  padding:0.35rem 0.8rem;
  display:flex;
  align-items:center;
  gap:0.5rem;
}
.sections-row .tax-card-top {
  margin-bottom:0;
  flex-shrink:0;
}
.sections-row .tax-badge {
  padding:0.1rem 0.35rem;
  font-size:0.5rem;
}
.sections-row .tax-name {
  font-size:0.7rem;
  margin-bottom:0;
  white-space:nowrap;
}
.sections-row .tax-desc {
  font-size:.64rem;color:var(--grey);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;
}
.sections-row .also-deal {
  display:none;
}

@media(max-width:600px){
  .page-hero{height:55vh;}
  .page-hero h1{font-size:1.6rem;}
}
@media(max-width:560px){
  .footer-main{grid-template-columns:1fr;}
}
