/* ==========================================================================
   BASHMAYA — In Heaven
   Design system: white ground, black text, gold-gradient headlines.
   Body: Proxima Nova Thin 18px black.  Headlines: Proxima Nova Black, gold.
   Proxima Nova is loaded if available (Adobe kit / system); Montserrat is the
   web-safe geometric fallback so the look holds everywhere.
   ========================================================================== */

:root{
  --gold-a:#BF953F;
  --gold-b:#FCF6BA;
  --gold-c:#B38728;
  --gold-d:#FBF5B7;
  --gold-e:#AA771C;
  --gold-gradient:linear-gradient(90deg,#BF953F 0%,#AA771C 100%);
  --gold-line:linear-gradient(90deg,rgba(191,149,63,0) 0%,#BF953F 30%,#AA771C 70%,rgba(170,119,28,0) 100%);
  --ink:#0a0a0a;
  --ink-soft:#2b2b2b;
  --paper:#ffffff;
  --paper-2:#faf8f3;
  --hairline:#ece6d8;
  --maxw:1180px;
  --body-font:"proxima-nova","Proxima Nova","Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --head-font:"proxima-nova","Proxima Nova","Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body-font);
  font-weight:300;             /* Proxima Nova Thin feel */
  font-size:18px;
  line-height:1.75;
  letter-spacing:.1px;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--gold-e);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--gold-c)}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---------- Gold gradient headline treatment ---------- */
h1,h2,h3,h4{
  font-family:var(--head-font);
  font-weight:900;             /* Proxima Nova Black */
  line-height:1.12;
  letter-spacing:-.4px;
  margin:0 0 .5em;
  background:var(--gold-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:var(--gold-c);          /* fallback for non-clip browsers */
}
h1{font-size:clamp(2.1rem,5.2vw,3.5rem)}
h2{font-size:clamp(1.55rem,3.4vw,2.25rem);margin-top:1.6em}
h3{font-size:clamp(1.2rem,2.4vw,1.5rem);margin-top:1.3em}
h4{font-size:1.05rem;letter-spacing:.4px;text-transform:uppercase}
p{margin:0 0 1.15em}
strong,b{font-weight:600;color:var(--ink)}
em,i{font-style:italic}
.eyebrow{
  font-family:var(--head-font);font-weight:800;font-size:.78rem;
  letter-spacing:.28em;text-transform:uppercase;
  background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:var(--gold-e);
  margin:0 0 .8em;display:block;
}
.gold-rule{height:2px;border:0;background:var(--gold-line);margin:2.4rem 0}

/* ---------- Header / Nav ---------- */
.site-header{
  position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--hairline);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 22px;max-width:var(--maxw);margin:0 auto}
.brand{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;min-width:0;line-height:1}
.brand .brand-logo{height:34px;width:auto}
.brand .brand-tag{font-size:.6rem;letter-spacing:.4em;margin-right:-.4em;text-transform:uppercase;color:var(--ink-soft);font-weight:400}

.menu{display:flex;align-items:center;flex-wrap:nowrap;gap:2px;list-style:none;margin:0;padding:0}
.menu>li{position:relative;flex:0 0 auto}
.menu>li>a,.menu>li>span{
  display:block;padding:9px 11px;font-size:.82rem;font-weight:500;letter-spacing:.04em;white-space:nowrap;
  text-transform:uppercase;color:var(--ink);cursor:pointer;border-radius:7px;
}
.menu>li>a:hover,.menu>li.has>span:hover{color:var(--gold-e);background:var(--paper-2)}
.menu .dropdown{
  position:absolute;top:calc(100% + 6px);left:0;min-width:248px;background:#fff;
  border:1px solid var(--hairline);border-radius:12px;box-shadow:0 18px 50px rgba(40,30,0,.13);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s ease;list-style:none;margin:0;
}
.menu>li.has:hover .dropdown,.menu>li.has:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown li a{display:block;padding:9px 12px;border-radius:8px;font-size:.92rem;color:var(--ink-soft);text-transform:none;letter-spacing:0;font-weight:300}
.dropdown li a:hover{background:var(--paper-2);color:var(--gold-e)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--ink);margin:5px 0;transition:.2s}

/* ---------- Breadcrumb ---------- */
.breadcrumb{background:var(--paper-2);border-bottom:1px solid var(--hairline)}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px;align-items:center;list-style:none;margin:0;padding:11px 22px;max-width:var(--maxw);margin:0 auto;font-size:.8rem}
.breadcrumb li{display:flex;align-items:center;gap:6px;color:var(--ink-soft)}
.breadcrumb li+li::before{content:"›";color:var(--gold-c);font-weight:700}
.breadcrumb a{color:var(--ink-soft);font-weight:400}
.breadcrumb a:hover{color:var(--gold-e)}
.breadcrumb [aria-current]{color:var(--gold-e);font-weight:600}

/* ---------- Hero ---------- */
.hero{position:relative;text-align:center;padding:64px 22px 40px;background:
   radial-gradient(1100px 380px at 50% -8%,rgba(191,149,63,.10),transparent 60%),var(--paper)}
.hero .logo-hero{height:74px;width:auto;margin:0 auto;display:block}
.hero .brand-name-xl{
  font-family:var(--head-font);font-weight:900;font-size:clamp(2.6rem,8vw,5rem);letter-spacing:2px;margin:0;
  background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-c);
}
.hero .in-heaven{display:inline-block;font-size:clamp(.6rem,1.6vw,.82rem);letter-spacing:.34em;margin:3px 0 0 0;margin-right:-.34em;line-height:1;text-transform:uppercase;color:var(--ink-soft);font-weight:400}
.hero .hero-sub{max-width:680px;margin:18px auto 0;color:var(--ink-soft);font-size:1.05rem}
.hero-cta{margin-top:26px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;font-family:var(--head-font);font-weight:700;font-size:.92rem;letter-spacing:.04em;
  padding:14px 28px;border-radius:50px;cursor:pointer;border:1.5px solid transparent;transition:.2s ease;text-align:center;
}
.btn-gold{background:var(--gold-gradient);color:#3a2c05 !important;box-shadow:0 8px 22px rgba(170,119,28,.28)}
.btn-gold:hover{filter:brightness(1.05);transform:translateY(-2px);color:#3a2c05}
.btn-ghost{background:#fff;border-color:var(--gold-c);color:var(--gold-e) !important}
.btn-ghost:hover{background:var(--paper-2)}

/* ---------- Article / prose ---------- */
.layout{max-width:820px;margin:0 auto;padding:38px 22px 10px}
.article-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.tag{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--gold-e);
  border:1px solid var(--gold-c);border-radius:50px;padding:4px 12px}
.prose{font-size:18px}
.prose h2,.prose h3{scroll-margin-top:90px}
.prose ul,.prose ol{margin:0 0 1.3em;padding-left:1.3em}
.prose li{margin:.35em 0}
.prose blockquote{margin:1.6em 0;padding:6px 0 6px 22px;border-left:3px solid var(--gold-c);font-style:italic;color:var(--ink-soft)}

/* ---------- Callouts ---------- */
.keyfacts{background:var(--paper-2);border:1px solid var(--hairline);border-radius:16px;padding:26px 28px;margin:34px 0;position:relative;overflow:hidden}
.keyfacts::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--gold-gradient)}
.keyfacts h4{margin:0 0 .7em}
.keyfacts ul{margin:0;padding-left:1.15em}
.keyfacts li{margin:.4em 0;font-weight:300}
.note{background:#fffdf6;border:1px dashed var(--gold-c);border-radius:14px;padding:18px 22px;margin:26px 0;font-size:.96rem;color:var(--ink-soft)}
.sources{margin:34px 0 0;font-size:.86rem;color:var(--ink-soft)}
.sources h4{margin-bottom:.5em}
.sources ul{padding-left:1.15em}

/* ---------- Editable media placeholders (rippable in CC Hub) ---------- */
figure.media{margin:30px 0;text-align:center}
.media-ph{
  position:relative;display:block;width:100%;border-radius:16px;overflow:hidden;cursor:pointer;
  background:linear-gradient(135deg,#fbf7ec,#f3ecd8);border:2px dashed var(--gold-c);
  aspect-ratio:16/9;transition:.2s ease;
}
.media-ph.portrait{aspect-ratio:3/4;max-width:460px;margin:0 auto}
.media-ph.square{aspect-ratio:1/1;max-width:520px;margin:0 auto}
.media-ph:hover{border-color:var(--gold-e);background:linear-gradient(135deg,#fdfaf0,#efe6cf)}
.media-ph .ph-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center}
.media-ph .ph-icon{width:54px;height:54px;border-radius:50%;background:var(--gold-gradient);display:flex;align-items:center;justify-content:center;color:#3a2c05;font-size:1.5rem;box-shadow:0 6px 16px rgba(170,119,28,.3)}
.media-ph .ph-label{font-family:var(--head-font);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-e)}
.media-ph .ph-hint{font-size:.78rem;color:var(--ink-soft);max-width:340px}
.media-ph img,.media-ph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-ph.has-media .ph-inner{display:none}
.media-ph .ph-replace{position:absolute;right:10px;bottom:10px;background:rgba(10,10,10,.72);color:#fff;font-size:.7rem;
  padding:5px 11px;border-radius:50px;opacity:0;transition:.2s;letter-spacing:.05em}
.media-ph.has-media:hover .ph-replace{opacity:1}
figure.media figcaption{margin-top:10px;font-size:.85rem;color:var(--ink-soft);font-style:italic}

/* ---------- Card grid (home / hubs) ---------- */
.section{padding:54px 0}
.section-head{text-align:center;max-width:720px;margin:0 auto 36px}
.section-head p{color:var(--ink-soft)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--hairline);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
  transition:.22s ease;box-shadow:0 2px 10px rgba(40,30,0,.04)}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(40,30,0,.12);border-color:#e4d8bd}
.card .card-media{aspect-ratio:16/10;overflow:hidden}
.card .card-media .media-ph{border-radius:0;border-width:0 0 2px;height:100%;width:100%;aspect-ratio:auto;display:block}
.card .card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.card .card-cat{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-e);font-weight:600;margin-bottom:8px}
.card h3{margin:0 0 .4em;font-size:1.25rem}
.card p{font-size:.95rem;color:var(--ink-soft);margin:0 0 16px}
.card .card-link{margin-top:auto;font-family:var(--head-font);font-weight:700;font-size:.85rem;letter-spacing:.04em;color:var(--gold-e)}
.card .card-link::after{content:" →"}

.band{background:var(--paper-2);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}

/* ---------- Forms ---------- */
.form-card{background:#fff;border:1px solid var(--hairline);border-radius:18px;padding:30px;max-width:560px;margin:0 auto;box-shadow:0 2px 14px rgba(40,30,0,.05)}
.field{margin-bottom:16px;text-align:left}
.field label{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);margin-bottom:6px}
.field input,.field textarea{width:100%;padding:13px 15px;border:1px solid var(--hairline);border-radius:10px;font-family:var(--body-font);font-size:1rem;background:var(--paper-2)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--gold-c);background:#fff;box-shadow:0 0 0 3px rgba(191,149,63,.14)}
.field textarea{min-height:130px;resize:vertical}
.form-msg{margin-top:12px;font-size:.92rem;min-height:1.2em}
.form-msg.ok{color:#1f7a3d}
.form-msg.err{color:#b3261e}

.subscribe{background:#0c0c0c;color:#fff;text-align:center;padding:56px 22px}
.subscribe h2{margin-top:0}
.subscribe p{color:#cfc6b2;max-width:560px;margin:0 auto 22px}
.subscribe form{display:flex;gap:10px;max-width:520px;margin:0 auto;flex-wrap:wrap}
.subscribe input{flex:1;min-width:220px;padding:14px 16px;border-radius:50px;border:1px solid #333;background:#161616;color:#fff;font-family:var(--body-font);font-size:1rem}
.subscribe .form-msg{color:#e8dcbb}

/* ---------- Footer ---------- */
.site-footer{background:#0a0a0a;color:#bdb6a6;padding:56px 22px 30px;font-size:.92rem}
.footer-grid{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.site-footer .logo-foot{height:54px;width:auto;margin-bottom:14px}
.site-footer h5{font-family:var(--head-font);font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  background:var(--gold-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--gold-c);margin:0 0 14px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:8px 0}
.site-footer a{color:#bdb6a6}
.site-footer a:hover{color:var(--gold-b)}
.site-footer .blurb{color:#8f897b;max-width:320px;font-size:.86rem}
.footer-bottom{max-width:var(--maxw);margin:34px auto 0;padding-top:22px;border-top:1px solid #222;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#7e786b;font-size:.8rem}
.footer-bottom a{color:#7e786b}

/* ---------- 404 ---------- */
.center-screen{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 22px}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .grid,.grid.cols-2{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(min-width:1025px) and (max-width:1280px){
  .menu>li>a,.menu>li>span{padding:8px 8px;font-size:.75rem;letter-spacing:.02em}
  .brand .brand-logo{height:30px}
  .nav{gap:10px;padding:12px 18px}
}
@media(max-width:1024px){
  .nav-toggle{display:block}
  .menu{position:fixed;inset:64px 0 auto 0;flex-direction:column;align-items:stretch;background:#fff;
    border-bottom:1px solid var(--hairline);padding:10px 16px 18px;gap:0;transform:translateY(-130%);transition:.28s ease;
    max-height:calc(100vh - 64px);overflow:auto;box-shadow:0 24px 40px rgba(0,0,0,.12)}
  .menu.open{transform:translateY(0)}
  .menu>li>a,.menu>li>span{padding:13px 8px;border-bottom:1px solid var(--paper-2);text-align:left}
  .menu .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 0 6px 12px;min-width:0}
  .menu .dropdown li a{padding:9px 8px}
  .brand .brand-name{font-size:1.15rem}
}
@media(max-width:560px){
  body{font-size:18px}
  .grid,.grid.cols-2,.footer-grid{grid-template-columns:1fr}
  .hero{padding:42px 18px 30px}
  .hero .logo-hero{height:72px}
  .layout{padding:26px 18px 6px}
  .footer-bottom{flex-direction:column}
}
