:root {
  --navy:       #0A1628;
  --navy-mid:   #142240;
  --navy-light: #1E3258;
  --gold:       #B07D3A;
  --gold-light: #CE9B52;
  --cream:      #F7F5F1;
  --stone:      #E4DDD3;
  --text:       #1E2C3D;
  --text-light: #5E7085;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Jost',sans-serif; background:var(--cream); color:var(--text); -webkit-font-smoothing:antialiased; }
.font-serif { font-family:'Cormorant Garamond',serif; }

.fade-up { animation:fadeUp .9s cubic-bezier(0.16,1,0.3,1) forwards; opacity:0; transform:translateY(30px); }
@keyframes fadeUp { to { opacity:1; transform:translateY(0); } }
.d1{animation-delay:.12s} .d2{animation-delay:.26s} .d3{animation-delay:.40s} .d4{animation-delay:.54s}

.gold-line { display:block; width:48px; height:2px; background:linear-gradient(90deg,var(--gold),var(--gold-light)); border-radius:2px; }

.section-label { font-size:10px; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--gold); display:flex; align-items:center; gap:12px; }
.section-label::before { content:''; display:block; width:32px; height:1.5px; background:var(--gold); }

.btn-primary { background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%); color:#fff; font-weight:600; letter-spacing:.12em; text-transform:uppercase; font-size:11px; padding:14px 32px; border-radius:2px; transition:all .25s ease; border:none; cursor:pointer; display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.btn-primary:hover { background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%); transform:translateY(-1px); box-shadow:0 8px 28px rgba(10,22,40,.25); }

.btn-outline-light { border:1.5px solid rgba(255,255,255,.35); color:#fff; font-weight:500; letter-spacing:.1em; text-transform:uppercase; font-size:11px; padding:13px 30px; border-radius:2px; transition:all .25s ease; background:transparent; cursor:pointer; display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
.btn-outline-light:hover { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.7); }

nav.scrolled { box-shadow:0 2px 24px rgba(10,22,40,.1); }
.nav-link { position:relative; padding-bottom:2px; text-decoration:none; }
.nav-link::after { content:''; position:absolute; bottom:0; left:0; width:0; height:1.5px; background:var(--gold); transition:width .3s ease; }
.nav-link:hover::after { width:100%; }

.mobile-menu-overlay { transition:opacity .3s ease, visibility .3s ease; }
.menu-open  { opacity:1; pointer-events:auto; visibility:visible; }
.menu-closed{ opacity:0; pointer-events:none; visibility:hidden; }

.service-card { transition:transform .3s ease, box-shadow .3s ease; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 18px 50px rgba(10,22,40,.1); }

.stat-card { border-left:2px solid var(--gold); padding-left:20px; }

.t-quote { position:relative; }
.t-quote::before { content:'\201C'; font-family:'Cormorant Garamond',serif; font-size:80px; color:var(--gold); opacity:.2; position:absolute; top:-18px; left:-6px; line-height:1; }

.tab-content[style*="display:grid"], .tab-content[style*="display: grid"] { display: grid !important; }
.tab-content[style*="display:none"], .tab-content[style*="display: none"] { display: none !important; }
@media (max-width: 768px) {
  .tab-content { grid-template-columns: 1fr !important; }
}
@media (min-width: 769px) and (max-width: 1023px) {
  .tab-content { grid-template-columns: repeat(2, 1fr) !important; }
}

.acc-body { max-height:0; overflow:hidden; transition:max-height .4s ease; }
.acc-body.open { max-height:320px; }
.acc-icon { transition:transform .3s ease; }
.acc-icon.open { transform:rotate(45deg); }

input,select,textarea { font-family:'Jost',sans-serif; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--gold) !important; }

.hero-overlay { background:linear-gradient(135deg,rgba(10,22,40,.93) 0%,rgba(20,34,64,.78) 55%,rgba(30,50,88,.45) 100%); }

::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-thumb { background:var(--gold-light); border-radius:3px; }

.tab-btn { border-radius:2px; border:1px solid var(--stone); color:var(--text-light); cursor:pointer; transition:all .2s ease; background:transparent; }
.tab-btn.active { background:var(--navy); color:#fff; border-color:var(--navy); }
.tab-btn:not(.active):hover { border-color:var(--gold); color:var(--gold); }

.blog-card { transition:transform .3s ease, box-shadow .3s ease; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(10,22,40,.1); }
