/**
 * BlackSand brand palette
 * Darkest → lightest: #393735 #524f4c #928f8a #bfbbb5 #e9e2db
 */
:root{
  --stone-900:#393735;
  --stone-700:#524f4c;
  --stone-500:#928f8a;
  --stone-300:#bfbbb5;
  --stone-100:#e9e2db;

  --ink:var(--stone-900);
  --brand-black:#000000;
  --paper:var(--stone-100);
  --paper-dim:color-mix(in srgb, var(--stone-100) 78%, var(--stone-300) 22%);
  --muted:var(--stone-500);
  --muted-dark:var(--stone-300);
  --line:rgba(57,55,53,.12);
  --line-dark:rgba(233,226,219,.16);
  --accent:#a9762f;
  --ease:cubic-bezier(.22,.61,.36,1);

  --sand-image:url("/black-sand.jpg");
  --sand-veil:rgba(57,55,53,.66);
}

/* Major dark surfaces only — sand texture instead of flat black */
.surface-sand{
  background-color:var(--stone-900);
  background-image:
    linear-gradient(var(--sand-veil), var(--sand-veil)),
    var(--sand-image);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  color:var(--stone-100);
}

/* Mobile nav — hamburger keeps .nav-cta pill styling */
button.nav-menu-toggle{
  display:none;
  appearance:none;
  margin:0;
  font:inherit;
  cursor:pointer;
}
.nav-menu-toggle .nav-menu-close{display:none;}
.nav-menu-toggle.is-open .nav-menu-bars{display:none;}
.nav-menu-toggle.is-open .nav-menu-close{display:block;}
.mobile-nav{
  position:fixed;
  inset:0;
  z-index:85;
  display:flex;
  align-items:stretch;
  justify-content:stretch;
  padding:max(96px, 14vh) 28px 40px;
  background:rgba(233,226,219,.97);
  backdrop-filter:blur(16px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s var(--ease), visibility 0s linear .28s;
}
.mobile-nav.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity .32s var(--ease), visibility 0s;
}
.mobile-nav-links{
  display:flex;
  flex-direction:column;
  gap:6px;
  width:min(420px,100%);
  margin:0 auto;
}
.mobile-nav-link{
  display:block;
  padding:14px 4px;
  color:var(--ink);
  font-size:clamp(28px,8vw,38px);
  font-weight:550;
  letter-spacing:-.035em;
  line-height:1.15;
  text-decoration:none;
  border-bottom:1px solid rgba(57,55,53,.1);
}
.mobile-nav-link[aria-current="page"]{opacity:.45;}
.mobile-nav-start{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin-top:28px;
  min-height:48px;
  padding:12px 24px;
  border-radius:999px;
  background:var(--ink);
  color:var(--paper);
  font-size:15px;
  font-weight:500;
  text-decoration:none;
}
body.nav-open{overflow:hidden;}
/* Keep logo/CTA readable when the cream menu is open over a transparent hero nav */
body.nav-open #siteNav{
  background:rgba(233,226,219,.97)!important;
  backdrop-filter:blur(14px);
  border-bottom-color:var(--line)!important;
}
body.nav-open #siteNav .logo{color:var(--ink)!important;}
body.nav-open #siteNav .logo .logo-dark{display:block!important;}
body.nav-open #siteNav .logo .logo-light{display:none!important;}
body.nav-open #siteNav .nav-menu-toggle{
  border-color:transparent!important;
  background:var(--ink)!important;
  color:var(--paper)!important;
}
@media (max-width:720px){
  #siteNav,
  nav.site-nav,
  nav[aria-label="Primary navigation"]{z-index:95;}
  a.nav-cta-start{display:none!important;}
  button.nav-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    padding:0;
    gap:0;
  }
  button.nav-menu-toggle svg{
    width:18px;
    height:18px;
    display:block;
  }
  button.nav-menu-toggle:hover svg{transform:none!important;}
}
@media (prefers-reduced-motion:reduce){
  .mobile-nav{transition:none;}
}

/* Shared public footer — homepage reference, sole source of truth */
footer.site-footer,
footer[data-site-footer]{
  box-sizing:border-box;
  width:100%;
  margin:0;
  padding:clamp(40px,5vw,56px) 32px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:24px;
  font-size:13px;
  color:rgba(233,226,219,.55);
  background:#000!important;
  background-image:none!important;
  border-top:1px solid rgba(233,226,219,.1);
  border-radius:0!important;
}

/* Neutralize any page-level nav/header styles leaking into footer */
footer.site-footer nav,
footer[data-site-footer] nav{
  all:unset;
  box-sizing:border-box;
  display:flex!important;
  align-items:center!important;
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:inherit!important;
}

footer.site-footer .footer-brand-wrap,
footer[data-site-footer] .footer-brand-wrap{
  display:inline-flex;
  align-items:center;
  gap:10px;
  justify-self:start;
}

footer.site-footer .footer-brand,
footer[data-site-footer] .footer-brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--paper);
  font-weight:600;
  letter-spacing:.14em;
  text-decoration:none;
}

footer.site-footer .footer-brand img,
footer[data-site-footer] .footer-brand img{
  width:auto;
  height:18px;
  display:block;
}

footer.site-footer .footer-mid,
footer[data-site-footer] .footer-mid{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  justify-self:center;
}

footer.site-footer .footer-legal,
footer[data-site-footer] .footer-legal{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  margin:0!important;
  padding:0!important;
  list-style:none;
}

footer.site-footer .footer-legal a,
footer[data-site-footer] .footer-legal a{
  display:inline!important;
  font-size:13px!important;
  font-weight:400!important;
  letter-spacing:normal!important;
  line-height:1.3!important;
  color:rgba(233,226,219,.55)!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
  transition:color .2s ease;
}

footer.site-footer .footer-legal a:hover,
footer[data-site-footer] .footer-legal a:hover{
  color:var(--stone-100)!important;
}

footer.site-footer .footer-socials,
footer[data-site-footer] .footer-socials{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

footer.site-footer .footer-social-link,
footer[data-site-footer] .footer-social-link{
  width:20px!important;
  height:20px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--paper)!important;
  opacity:1!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
  transition:transform .2s var(--ease);
}

footer.site-footer .footer-social-link:hover,
footer[data-site-footer] .footer-social-link:hover{
  transform:translateY(-1px);
}

footer.site-footer .footer-social-link svg,
footer[data-site-footer] .footer-social-link svg{
  width:18px!important;
  height:18px!important;
  display:block!important;
}

footer.site-footer .footer-email,
footer[data-site-footer] .footer-email,
footer.site-footer > a[href^="mailto"],
footer[data-site-footer] > a[href^="mailto"]{
  justify-self:end;
  text-align:right;
  color:rgba(233,226,219,.55)!important;
  text-decoration:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
  font-size:13px!important;
}

@media (max-width:720px){
  footer.site-footer,
  footer[data-site-footer]{
    grid-template-columns:1fr;
    justify-items:start;
    text-align:left;
    gap:18px;
    padding-left:20px;
    padding-right:20px;
  }
  footer.site-footer .footer-mid,
  footer[data-site-footer] .footer-mid{
    align-items:flex-start;
    justify-self:start;
  }
  footer.site-footer .footer-legal,
  footer[data-site-footer] .footer-legal{justify-content:flex-start!important;}
  footer.site-footer .footer-socials,
  footer[data-site-footer] .footer-socials{justify-content:flex-start!important;}
  footer.site-footer .footer-email,
  footer[data-site-footer] .footer-email,
  footer.site-footer > a[href^="mailto"],
  footer[data-site-footer] > a[href^="mailto"]{
    text-align:left;
    justify-self:start;
  }
}

/* Hide legacy eyebrow / overline labels sitewide */
.eyebrow,
.sc-kicker{display:none!important;}

/* Headings: one consistent bold weight (no muted split) */
.section-head h1 em,
.section-head h2 em,
.section h1 em,
.section h2 em,
.cs-section-head h2 em,
.cta h2 em,
h1 em,
h2 em{
  font-style:normal;
  font-weight:inherit;
  color:inherit;
}

