/* ============================================================
   BELTRAN ESTATE PLANNING & ADVISORY
   Shared Stylesheet
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap');

*{margin:0;padding:0;box-sizing:border-box}

:root{
  --charcoal:#2C2C2C;
  --charcoal-mid:#363636;
  --charcoal-light:#424242;
  --taupe:#8C7B6B;
  --taupe-light:#A8998A;
  --taupe-pale:#E8E0D5;
  --taupe-cream:#F4F0EA;
  --taupe-mist:#EDE8E1;
  --forest:#1A3A0A;
  --forest-mid:#224D0D;
  --olive:#3D500F;
  --gold:#B8960C;
  --gold-light:#C9A82A;
  --bronze:#7A5C2E;
  --bronze-light:#9A7A4A;
  --ivory:#F0EBE0;
  --ivory-dim:#D6CEBC;
  --ivory-muted:#B0A892;
}

body{
  font-family:'Jost',sans-serif;
  background:var(--taupe-cream);
  color:var(--charcoal);
  font-size:16px;
  line-height:1.7;
}

/* ── NAVIGATION ── */
nav{
  background:var(--charcoal);
  border-bottom:1px solid rgba(240,235,224,0.06);
  position:sticky;
  top:0;
  z-index:100;
  padding:0 2rem;
}
.nav-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
}
.nav-logo{
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem;
  font-weight:600;
  color:var(--ivory);
  letter-spacing:0.02em;
  text-decoration:none;
  line-height:1.2;
}
.nav-logo span{
  display:block;
  font-size:0.65rem;
  font-family:'Jost',sans-serif;
  font-weight:300;
  letter-spacing:0.16em;
  color:var(--taupe-light);
  text-transform:uppercase;
  margin-top:3px;
}
.nav-links{display:flex;gap:2rem;align-items:center}
.nav-links a{
  font-size:0.72rem;
  font-weight:400;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--ivory-muted);
  text-decoration:none;
  transition:color 0.2s;
}
.nav-links a:hover,
.nav-links a.active{color:var(--ivory)}
.nav-cta{
  background:var(--forest) !important;
  color:var(--ivory) !important;
  padding:0.5rem 1.25rem;
  transition:background 0.2s !important;
}
.nav-cta:hover{background:var(--forest-mid) !important}

/* ── BUTTONS ── */
.btn-forest{
  display:inline-block;
  background:var(--forest);
  color:var(--ivory);
  padding:0.85rem 2.5rem;
  font-size:0.72rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:background 0.2s;
  font-family:'Jost',sans-serif;
  font-weight:500;
  border:none;
}
.btn-forest:hover{background:var(--forest-mid)}
.btn-ghost{
  display:inline-block;
  border:1px solid rgba(240,235,224,0.2);
  color:var(--ivory-dim);
  padding:0.85rem 2.5rem;
  font-size:0.72rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:all 0.2s;
  font-family:'Jost',sans-serif;
  font-weight:400;
  margin-left:1rem;
}
.btn-ghost:hover{border-color:var(--ivory-dim);color:var(--ivory)}
.btn-olive{
  display:inline-block;
  background:var(--olive);
  color:var(--ivory);
  padding:0.85rem 2.5rem;
  font-size:0.72rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  transition:background 0.2s;
  font-family:'Jost',sans-serif;
  font-weight:500;
  border:none;
}
.btn-olive:hover{background:var(--forest)}

/* ── TYPOGRAPHY HELPERS ── */
.section-label{
  font-size:0.62rem;
  letter-spacing:0.26em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:0.75rem;
  font-weight:500;
}
.section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:2.5rem;
  font-weight:500;
  line-height:1.2;
  margin-bottom:1.5rem;
  color:var(--charcoal);
}
.section-title.on-dark{color:var(--ivory)}
.divider-bronze{width:36px;height:1px;background:var(--bronze);margin-bottom:2rem}
.divider-taupe{width:36px;height:1px;background:var(--taupe);margin-bottom:2rem}

/* ── PAGE HERO ── */
.page-hero{
  background:var(--charcoal);
  padding:5rem 2rem 4rem;
  text-align:center;
  border-bottom:1px solid rgba(240,235,224,0.05);
}
.page-hero h1{
  font-family:'Cormorant Garamond',serif;
  font-size:2.8rem;
  font-weight:500;
  color:var(--ivory);
  margin-bottom:0.75rem;
}
.page-hero p{
  font-size:0.75rem;
  color:var(--bronze-light);
  letter-spacing:0.14em;
  text-transform:uppercase;
  font-weight:300;
}

/* ── CONTACT CTA SECTION ── */
.contact-cta{
  background:var(--charcoal-mid);
  padding:5rem 2rem;
  text-align:center;
  border-top:1px solid rgba(240,235,224,0.05);
}
.contact-cta .section-title{color:var(--ivory);font-size:2.2rem}
.contact-cta p{
  font-size:0.88rem;
  color:var(--ivory-muted);
  max-width:500px;
  margin:0 auto 2.5rem;
  font-weight:300;
  line-height:1.88;
}
.contact-email{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  color:var(--bronze-light);
  display:block;
  margin-bottom:2rem;
  font-style:italic;
  text-decoration:none;
}

/* ── FOOTER ── */
footer{
  background:var(--charcoal);
  color:var(--ivory-muted);
  padding:2rem;
  text-align:center;
  font-size:0.72rem;
  letter-spacing:0.04em;
  border-top:1px solid rgba(240,235,224,0.05);
}
footer strong{color:var(--ivory-dim);font-weight:500}
footer .disclaimer{margin-top:0.5rem;display:block}

/* ── CREDENTIALS BOX ── */
.firm-credentials{
  background:var(--taupe-mist);
  padding:2.5rem;
  border-left:3px solid var(--bronze);
}
.cred-item{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.4rem}
.cred-item:last-child{margin-bottom:0}
.cred-dot{
  width:5px;height:5px;
  background:var(--bronze);
  border-radius:50%;
  margin-top:0.6rem;
  flex-shrink:0;
}
.cred-text{font-size:0.82rem;color:#6A5F55;line-height:1.6}
.cred-text strong{
  display:block;
  font-size:0.7rem;
  font-weight:500;
  color:var(--charcoal);
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:0.2rem;
}

/* ── LICENSE TAGS ── */
.licenses{display:flex;gap:0.75rem;margin-top:2rem;flex-wrap:wrap}
.license-tag{
  border:1px solid var(--taupe-pale);
  padding:0.4rem 1rem;
  font-size:0.68rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--taupe);
  font-weight:500;
}

/* ── JURISDICTIONS BAR ── */
.jurisdictions{
  display:flex;
  justify-content:center;
  gap:2.5rem;
  margin-top:3rem;
  padding-top:2rem;
  border-top:1px solid rgba(240,235,224,0.07);
}
.jurisdiction strong{
  display:block;
  font-size:0.6rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--bronze-light);
  font-weight:500;
  margin-bottom:0.25rem;
}
.jurisdiction span{
  font-size:0.82rem;
  color:var(--ivory-muted);
  font-weight:300;
}

/* ── LANGUAGE BADGES ── */
.lang-badges{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}
.lang-badge{
  border:1px solid rgba(240,235,224,0.35);
  color:var(--ivory-dim);
  padding:0.4rem 1.25rem;
  font-size:0.68rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  font-weight:500;
}

/* ── SERVICE BLOCK (services page) ── */
.service-block{
  padding:3.5rem 4rem;
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:4rem;
  align-items:start;
  border-bottom:1px solid var(--taupe-pale);
  max-width:1100px;
  margin:0 auto;
}
.service-block.alt{background:var(--taupe-mist)}
.service-block-label{
  font-size:0.62rem;
  letter-spacing:0.22em;
  color:var(--bronze);
  font-weight:500;
  text-transform:uppercase;
  margin-bottom:0.5rem;
}
.service-block-title{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:500;
  color:var(--charcoal);
  line-height:1.2;
  margin-bottom:1rem;
}
.service-block-intro{font-size:0.85rem;color:#6A5F55;line-height:1.88}
.service-block-items{list-style:none}
.service-block-items li{
  display:flex;
  gap:0.75rem;
  align-items:flex-start;
  padding:0.65rem 0;
  border-bottom:1px solid var(--taupe-pale);
  font-size:0.85rem;
  color:#6A5F55;
}
.service-block-items li:last-child{border-bottom:none}
.service-block-items li::before{
  content:'';
  width:5px;height:5px;
  background:var(--bronze);
  border-radius:50%;
  margin-top:0.6rem;
  flex-shrink:0;
}

/* ── ABOUT / FIRM SECTION ── */
.firm-section{
  background:var(--taupe-mist);
  padding:3rem;
  border-left:3px solid var(--bronze);
  margin:3rem 0;
}
.firm-section h2{margin-top:0}
.about-page-inner{max-width:800px;margin:0 auto;padding:5rem 2rem}
.about-page-inner h2{
  font-family:'Cormorant Garamond',serif;
  font-size:1.85rem;
  font-weight:500;
  color:var(--charcoal);
  margin:3rem 0 1rem;
}
.about-page-inner p{
  font-size:0.92rem;
  color:#5A5048;
  line-height:1.92;
  margin-bottom:1.25rem;
}

/* ── CONTACT FORM ── */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  max-width:1000px;
  margin:0 auto;
  padding:5rem 2rem;
}
.contact-info h2{
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:500;
  color:var(--charcoal);
  margin-bottom:1.5rem;
}
.contact-info p{font-size:0.88rem;color:#6A5F55;line-height:1.88;margin-bottom:1.5rem}
.contact-detail-label{
  font-size:0.62rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  color:var(--bronze);
  font-weight:500;
  margin-bottom:0.2rem;
}
.contact-detail-value{font-size:0.88rem;color:var(--charcoal);margin-bottom:1.25rem}
.contact-form-wrap{
  background:var(--taupe-mist);
  padding:3rem;
  border-top:3px solid var(--bronze);
}
.contact-form-wrap h3{
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem;
  font-weight:500;
  color:var(--charcoal);
  margin-bottom:1.5rem;
}
.form-group{margin-bottom:1.2rem}
.form-group label{
  display:block;
  font-size:0.65rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--taupe);
  margin-bottom:0.4rem;
  font-weight:500;
}
.form-group input,
.form-group select,
.form-group textarea{
  width:100%;
  padding:0.65rem 0.85rem;
  border:1px solid var(--taupe-pale);
  background:var(--taupe-cream);
  font-family:'Jost',sans-serif;
  font-size:0.85rem;
  color:var(--charcoal);
  outline:none;
  transition:border-color 0.2s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{border-color:var(--bronze)}
.form-group textarea{height:100px;resize:vertical}
.form-submit{
  width:100%;
  background:var(--charcoal);
  color:var(--ivory);
  border:none;
  padding:0.9rem;
  font-family:'Jost',sans-serif;
  font-size:0.72rem;
  letter-spacing:0.15em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background 0.2s;
  font-weight:500;
}
.form-submit:hover{background:var(--charcoal-light)}
