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

:root{
  --sh-obsidian:#0d0c0a;
  --sh-gold:#c9a048;
  --sh-bronze:#7a5e28;
  --sh-bone:#ede4cc;
  --sh-ash:#a89e82;
  --sh-serif:"Cormorant Garamond",Georgia,serif;
  --sh-body:"Barlow",system-ui,sans-serif;
  --sh-cond:"Barlow Condensed",sans-serif;
}

body,
input,
select,
textarea,
button{
  font-family:var(--sh-body)!important;
}

h1,
h2,
h3,
h4,
.sub,
.qa strong,
.hero-panel strong,
.card h2,
.card h3,
.article h1,
.article h2,
.article h3{
  font-family:var(--sh-serif)!important;
}

.eyebrow,
.kicker,
.tag,
.meta,
.btn,
button.btn,
.card a,
.localbox b,
.pill,
.step b,
footer a{
  font-family:var(--sh-cond)!important;
}

.sh-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:1000;
  background:rgba(13,12,10,.86);
  border-bottom:1px solid rgba(122,94,40,.28);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.sh-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:1180px;
  min-height:73px;
  margin:0 auto;
  padding:14px 28px;
  gap:18px;
}

.sh-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--sh-bone);
  text-decoration:none;
  flex-shrink:0;
}

.sh-brand svg{
  width:30px;
  height:30px;
  flex:0 0 30px;
}

.sh-bn,.sh-bs,.sh-links a{
  font-family:var(--sh-cond);
  text-transform:uppercase;
}

.sh-bn{
  display:block;
  color:var(--sh-bone);
  font-size:.82rem;
  font-weight:600;
  line-height:1;
  letter-spacing:.26em;
  white-space:nowrap;
}

.sh-bs{
  display:block;
  margin-top:3px;
  color:var(--sh-ash);
  font-size:.56rem;
  letter-spacing:.2em;
  white-space:nowrap;
}

.sh-links{
  display:flex;
  align-items:center;
  gap:6px;
}

.sh-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:auto;
  min-width:0;
  padding:8px 14px;
  border:0;
  border-radius:0;
  background:none;
  color:var(--sh-ash);
  box-shadow:none;
  font-size:.78rem;
  font-weight:500;
  line-height:1.2;
  letter-spacing:.16em;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  transition:color .3s,background .3s,border-color .3s;
}

.sh-links a::after{
  content:none!important;
}

.sh-links a:hover{
  color:var(--sh-bone);
  transform:none;
  box-shadow:none;
}

.sh-links .sh-cta{
  margin-left:10px;
  border:1px solid var(--sh-gold);
  border-radius:2px;
  color:var(--sh-gold);
  padding:9px 16px;
}

.sh-links .sh-cta:hover{
  background:var(--sh-gold);
  color:var(--sh-obsidian);
  border-color:var(--sh-gold);
}

.sh-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:42px;
  height:42px;
  padding:9px;
  border:0;
  background:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

.sh-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:var(--sh-gold);
  border-radius:2px;
  transition:all .3s;
}

.sh-toggle.open span:nth-child(1){
  transform:translateY(7px) rotate(45deg);
}

.sh-toggle.open span:nth-child(2){
  opacity:0;
}

.sh-toggle.open span:nth-child(3){
  transform:translateY(-7px) rotate(-45deg);
}

.sh-header + .hero,
.sh-header + main,
.sh-header + section{
  margin-top:70px;
}

@media(max-width:1024px){
  .sh-nav{
    min-height:70px;
  }

  .sh-toggle{
    display:flex;
  }

  .sh-links{
    position:absolute;
    z-index:1001;
    top:100%;
    left:0;
    right:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:6px 0;
    border-bottom:1px solid var(--sh-bronze);
    background:var(--sh-obsidian);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:all .28s;
  }

  .sh-links.open{
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:0 30px 60px rgba(0,0,0,.78);
  }

  .sh-links a{
    justify-content:flex-start;
    width:100%;
    padding:16px 26px;
    border-bottom:1px solid rgba(122,94,40,.14);
    background:var(--sh-obsidian);
    font-size:.92rem;
    letter-spacing:.14em;
    text-align:left;
  }

  .sh-links .sh-cta{
    justify-content:center;
    width:auto;
    margin:12px 26px 8px;
    padding:15px;
    text-align:center;
  }
}

@media(max-width:520px){
  .sh-nav{
    padding:14px 20px;
  }

  .sh-bs{
    display:none;
  }

  .sh-bn{
    font-size:.74rem;
    letter-spacing:.2em;
  }
}
