:root{
  --page-cream:#f3efe7;
  --page-ink:#11110f;
  --page-burgundy:#651f2b;
  --page-muted:#68655f;
  --page-line:rgba(17,17,15,.18);
  --page-shell:min(1180px,calc(100% - 64px));
}

html{overflow-x:hidden}
body{
  margin:0!important;
  overflow-x:hidden;
  background:var(--page-cream)!important;
  color:var(--page-ink)!important;
  font-family:"Manrope",sans-serif!important;
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%}
.shell,.head,.page,.foot{width:var(--page-shell)!important;margin-inline:auto!important}
.head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:78px;
  padding:20px 0!important;
  border-bottom:1px solid var(--page-line)!important;
}
.brand{
  font-family:"Outfit",sans-serif!important;
  font-size:1.25rem!important;
  font-weight:600!important;
  line-height:1!important;
  letter-spacing:.01em!important;
  text-decoration:none!important;
}
.head nav{display:flex;align-items:center;gap:28px!important}
.head nav a,.back{
  font-size:.75rem!important;
  font-weight:700;
  letter-spacing:.08em!important;
  text-transform:uppercase;
  text-decoration:none!important;
}
.head nav a:hover,.back:hover{color:var(--page-burgundy)}
.jp-arrow,.arrow{display:none!important}

h1,h2,h3{
  font-family:"Outfit",sans-serif!important;
  font-weight:500!important;
  overflow-wrap:break-word;
  text-wrap:balance;
}
.eyebrow,.meta{
  color:var(--page-burgundy)!important;
  font-size:.75rem!important;
  font-weight:700;
  line-height:1.3;
  letter-spacing:.1em!important;
  text-transform:uppercase;
}

/* Blog index */
body:has(.articles){background:var(--page-ink)!important;color:var(--page-cream)!important}
body:has(.articles) .head,
body:has(.articles) .articles,
body:has(.articles) .article,
body:has(.articles) .intro,
body:has(.articles) .foot{border-color:rgba(243,239,231,.22)!important}
body:has(.articles) .eyebrow,
body:has(.articles) .meta{color:#c58d97!important}
body:has(.articles) .intro p,
body:has(.articles) .about p,
body:has(.articles) .foot{color:rgba(243,239,231,.62)!important}
.hero{padding:88px 0 72px!important}
.hero h1{
  margin:20px 0 54px!important;
  font-size:clamp(4rem,9vw,8rem)!important;
  line-height:.88!important;
  letter-spacing:-.035em!important;
}
.intro{
  grid-template-columns:minmax(0,1fr) minmax(300px,500px)!important;
  gap:56px!important;
  padding-top:24px!important;
}
.intro p{font-size:1.05rem!important}
.article{
  grid-template-columns:130px minmax(0,1fr)!important;
  gap:28px!important;
  padding:34px 0!important;
  transition:color .2s ease!important;
}
.article:hover{padding-left:0!important;color:#d0a0a8!important}
.article h2{
  margin:0!important;
  font-size:clamp(1.8rem,3.8vw,3.8rem)!important;
  line-height:1.02!important;
  letter-spacing:-.03em!important;
}
.about{gap:60px!important;padding:88px 0!important}
.about h2{
  font-size:clamp(2.5rem,4.8vw,4.8rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}

/* Articles */
.article-head{padding:76px 0 54px!important}
.article-head h1{
  max-width:980px!important;
  margin:20px 0 32px!important;
  font-size:clamp(3rem,7vw,6.4rem)!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
}
.lead{
  max-width:760px!important;
  margin:0;
  color:var(--page-muted)!important;
  font-size:1.15rem!important;
  line-height:1.7!important;
}
.article-body{
  width:min(760px,calc(100% - 40px))!important;
  padding:34px 0 96px!important;
  border-color:var(--page-line)!important;
}
.article-body h2{
  margin:50px 0 14px!important;
  font-size:clamp(1.65rem,3vw,2.15rem)!important;
  line-height:1.15!important;
  letter-spacing:-.025em!important;
}
.article-body p,.article-body li{color:#45423d!important;font-size:1rem!important;line-height:1.8!important}
.callout{
  margin:42px 0!important;
  padding:26px!important;
  border-left:3px solid var(--page-burgundy);
  background:#e7e1d7!important;
}
.cta{
  margin-top:64px!important;
  padding:42px!important;
  background:var(--page-ink)!important;
  color:var(--page-cream)!important;
}
.cta h2{margin:0 0 14px!important;font-size:clamp(1.9rem,4vw,2.65rem)!important}
.cta p{color:rgba(243,239,231,.68)!important}
.cta a{display:inline-block;padding:8px 0;border-bottom:1px solid currentColor;text-decoration:none}

/* Contact and legal pages */
.page{padding:72px 0 96px!important}
.page h1{
  max-width:900px;
  margin:14px 0 54px!important;
  font-size:clamp(3rem,7vw,6.2rem)!important;
  line-height:.95!important;
  letter-spacing:-.04em!important;
}
.page .lead{max-width:760px!important}
.cards{border-color:var(--page-line)!important}
.card{border-color:var(--page-line)!important}
.card b{color:var(--page-burgundy)!important}
.card p,.card address{color:var(--page-muted)!important}
.card a{color:var(--page-ink)!important}
.page>.cta{
  display:inline-flex!important;
  min-height:50px;
  align-items:center;
  margin-top:48px!important;
  padding:0 20px!important;
  background:var(--page-burgundy)!important;
  color:var(--page-cream)!important;
  font-size:.75rem!important;
  font-weight:700!important;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}
.legal{margin-top:58px!important}
.legal section{
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:22px!important;
  padding:28px 0!important;
  border-color:var(--page-line)!important;
}
.legal h2{margin:0 0 10px!important;font-size:1.5rem!important;line-height:1.2!important}
.legal p,.legal li{color:var(--page-muted)!important}
.num{color:var(--page-burgundy)!important;font-weight:600}

.foot{
  align-items:flex-start;
  padding:24px 0 max(28px,env(safe-area-inset-bottom))!important;
  border-color:var(--page-line)!important;
  color:var(--page-muted)!important;
  font-size:.75rem!important;
  line-height:1.5;
}
.foot a{text-decoration:none}.foot a:hover{color:var(--page-burgundy)}

@media(max-width:760px){
  :root{--page-shell:calc(100% - 32px)}
  .head{min-height:68px;padding:16px 0!important}
  .brand{font-size:1.08rem!important}
  .head nav{gap:15px!important}
  .head nav a,.back{font-size:.68rem!important}
  .hero{padding:62px 0 56px!important}
  .hero h1{font-size:clamp(3.4rem,19vw,5.2rem)!important;margin-bottom:38px!important}
  .intro{grid-template-columns:1fr!important}
  .intro p{grid-column:1!important}
  .article{grid-template-columns:1fr!important;gap:10px!important;padding:26px 0!important}
  .article .meta{grid-column:1!important}
  .article h2{font-size:clamp(1.9rem,9.5vw,2.8rem)!important}
  .about{grid-template-columns:1fr!important;gap:26px!important;padding:70px 0!important}
  .about h2{font-size:clamp(2.4rem,11vw,3.5rem)!important}
  .article-head{padding:54px 0 38px!important}
  .article-head h1{font-size:clamp(2.55rem,12vw,4rem)!important;line-height:1!important}
  .lead{font-size:1.03rem!important}
  .article-body{width:calc(100% - 32px)!important;padding-bottom:72px!important}
  .article-body h2{margin-top:42px!important}
  .cta{padding:30px 22px!important}
  .page{padding:54px 0 76px!important}
  .page h1{font-size:clamp(2.7rem,12vw,4rem)!important;margin-bottom:38px!important}
  .cards{grid-template-columns:1fr!important}
  .card,.card+.card{padding:22px 0!important;border-right:0!important}
  .legal{margin-top:44px!important}
  .legal section{grid-template-columns:1fr!important;gap:5px!important;padding:24px 0!important}
  .foot{flex-direction:column!important;gap:14px!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
