/* Calvera blog shared styles */
:root {
  --ink:#080B10; --ink2:#0D1018; --gold:#C9A24B; --gold-l:#E0BC72;
  --steel:#9AA7B5; --text:#F4F0E8; --text2:#C8C4BA; --muted:#7A7870;
  --border:rgba(244,240,232,.07); --border-g:rgba(201,162,75,.25);
  --card:rgba(244,240,232,.03);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
body {
  font-family:'Inter',sans-serif; background:var(--ink); color:var(--text);
  line-height:1.75;
}
a { color:var(--gold); text-decoration:none }
a:hover { color:var(--gold-l) }
img { max-width:100% }

/* Nav */
.b-nav {
  position:sticky; top:0; z-index:50; height:64px;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5%; background:rgba(8,11,16,.94);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.b-logo {
  font-family:'Playfair Display',serif; font-size:1.15rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--text);
}
.b-logo em { color:var(--gold); font-style:normal }
.b-nav-cta {
  padding:.42rem 1.1rem; border:1px solid var(--gold); color:var(--gold);
  font-size:.68rem; font-weight:500; letter-spacing:.09em; text-transform:uppercase;
  border-radius:2px; transition:background .3s,color .3s; white-space:nowrap;
}
.b-nav-cta:hover { background:var(--gold); color:var(--ink) }

/* Layout */
.b-wrap { max-width:760px; margin:0 auto; padding:4rem 5% 5rem }
.b-wide { max-width:1120px; margin:0 auto; padding:4rem 5% 5rem }

/* Article typography */
.b-eyebrow {
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.66rem; font-weight:600; letter-spacing:.15em;
  text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem;
}
.b-eyebrow::before { content:''; display:block; width:18px; height:1px; background:var(--gold); opacity:.6 }
h1 {
  font-family:'Playfair Display',serif; font-weight:400;
  font-size:clamp(1.9rem,4.5vw,2.9rem); line-height:1.18; letter-spacing:-.015em;
  margin-bottom:1rem;
}
h1 em { font-style:italic; color:var(--gold-l) }
.b-meta { font-size:.78rem; color:var(--muted); margin-bottom:2.8rem; display:flex; gap:.8rem; flex-wrap:wrap }
.b-meta span::after { content:'·'; margin-left:.8rem; opacity:.5 }
.b-meta span:last-child::after { content:'' }
article h2 {
  font-family:'Playfair Display',serif; font-weight:500;
  font-size:1.45rem; line-height:1.3; color:var(--gold-l);
  margin:2.6rem 0 1rem;
}
article h3 {
  font-family:'Playfair Display',serif; font-weight:500;
  font-size:1.12rem; color:var(--text); margin:2rem 0 .7rem;
}
article p { font-size:.95rem; color:var(--text2); margin-bottom:1.1rem }
article ul, article ol { padding-left:1.3rem; margin-bottom:1.2rem }
article li { font-size:.95rem; color:var(--text2); margin-bottom:.5rem }
article strong { color:var(--text); font-weight:600 }
article blockquote {
  border-left:2px solid var(--border-g); padding:.4rem 0 .4rem 1.4rem;
  margin:1.8rem 0; font-family:'Playfair Display',serif; font-style:italic;
  font-size:1.15rem; color:var(--steel); line-height:1.6;
}
article table {
  width:100%; border-collapse:collapse; margin:1.6rem 0 2rem;
  font-size:.87rem; border:1px solid var(--border-g); border-radius:4px; overflow:hidden;
}
article th {
  text-align:left; padding:.8rem 1rem; background:rgba(201,162,75,.08);
  color:var(--gold-l); font-weight:600; font-size:.78rem;
  letter-spacing:.05em; text-transform:uppercase;
  border-bottom:1px solid var(--border-g);
}
article td { padding:.75rem 1rem; border-bottom:1px solid var(--border); color:var(--text2); vertical-align:top }
article tr:last-child td { border-bottom:none }

/* Callout / CTA */
.b-note {
  border:1px solid var(--border); border-left:2px solid var(--gold);
  background:var(--card); border-radius:3px;
  padding:1.1rem 1.4rem; margin:1.8rem 0;
  font-size:.86rem; color:var(--steel);
}
.b-cta {
  border:1px solid var(--border-g); border-radius:4px;
  background:rgba(201,162,75,.06); padding:2rem;
  margin:3rem 0 1rem; text-align:center;
}
.b-cta .t {
  font-family:'Playfair Display',serif; font-size:1.35rem; margin-bottom:.6rem;
}
.b-cta .s { font-size:.87rem; color:var(--steel); margin-bottom:1.4rem }
.b-cta a.btn {
  display:inline-block; padding:.75rem 2rem; background:var(--gold); color:var(--ink);
  font-size:.78rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
  border-radius:2px; transition:background .3s;
}
.b-cta a.btn:hover { background:var(--gold-l) }

/* Blog index cards */
.b-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:3rem }
@media (max-width:800px){ .b-grid { grid-template-columns:1fr } }
.b-card {
  display:block; border:1px solid var(--border-g); border-radius:4px;
  background:var(--card); padding:2rem; transition:background .3s, border-color .3s;
}
.b-card:hover { background:rgba(244,240,232,.05); border-color:var(--gold) }
.b-card .tag { font-size:.64rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--gold); margin-bottom:.8rem }
.b-card h2 {
  font-family:'Playfair Display',serif; font-weight:500; font-size:1.25rem;
  color:var(--text); line-height:1.35; margin-bottom:.7rem;
}
.b-card p { font-size:.85rem; color:var(--muted); line-height:1.75; margin-bottom:1rem }
.b-card .more { font-size:.76rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold) }

/* Related links */
.b-related { margin-top:3rem; padding-top:2rem; border-top:1px solid var(--border) }
.b-related h4 { font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:1rem }
.b-related a { display:block; font-size:.9rem; margin-bottom:.55rem }

/* Footer */
.b-footer {
  border-top:1px solid var(--border); padding:2.5rem 5%;
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  font-size:.76rem; color:var(--muted); max-width:1120px; margin:0 auto;
}
.b-footer a { color:var(--muted) }
.b-footer a:hover { color:var(--gold) }

/* Dubai sub-mark under the logo */
.b-logo { display:flex; flex-direction:column; line-height:1 }
.b-logo-sub {
  font-family:'Inter',sans-serif;
  font-size:.5rem; font-weight:500;
  letter-spacing:.55em; text-transform:uppercase;
  color:var(--gold); opacity:.85; margin-top:.28rem;
}
.b-logo { align-items:center }
.b-logo-sub { margin-right:-.55em }

/* Didot wordmark logo */
.b-logo { display:inline-flex; flex-direction:column; align-items:center; gap:.3rem }
.b-logo .nl-word {
  font-family:'Playfair Display',serif;
  font-size:1.05rem; font-weight:500;
  letter-spacing:.3em; text-transform:uppercase;
  color:var(--text); line-height:1; padding-left:.3em;
}
.b-logo .nl-rule { height:1px; width:100%; background:var(--gold); opacity:.7 }
.b-logo .nl-sub {
  font-family:'Inter',sans-serif;
  font-size:.46rem; font-weight:500;
  letter-spacing:.4em; text-transform:uppercase;
  color:var(--gold); opacity:.9; line-height:1; padding-left:.4em;
}
