:root{color-scheme:light;--ink:#211b17;--cream:#f4ecdf;--red:#8a2925;--gold:#d5a86c}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 system-ui,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #b97524;outline-offset:4px}.strip{display:flex;justify-content:space-between;gap:1rem;background:var(--red);color:white;padding:.55rem 5%;font-size:.72rem;letter-spacing:.12em}header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 5%;background:#241b16;color:#fff4e5}.brand{text-decoration:none;font:bold 1.65rem Georgia,serif;letter-spacing:.1em}.brand small{display:block;font:600 .58rem system-ui;letter-spacing:.21em;margin-top:.32rem}nav{display:flex;flex-wrap:wrap;gap:.65rem 1.15rem}nav a{font-size:.83rem;text-decoration:none}nav a:hover,nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.4rem}.wrap{width:min(1100px,90%);margin:auto}.hero{padding:4rem 0;background:radial-gradient(ellipse at right,#774025,transparent 65%),#2b1d17;color:#fff4e5;border-bottom:5px solid #9c4231}.hero.home{padding:6rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-weight:700;font-size:.75rem;color:var(--gold)}h1,h2,footer strong{font-family:Georgia,serif}h1{font-size:clamp(2.8rem,8vw,6rem);line-height:1;margin:.55rem 0 1.2rem;letter-spacing:-.045em}.hero p:not(.eyebrow){font-size:1.14rem;max-width:39rem}.buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.6rem 0}.buttons a,.buttons button{display:inline-block;background:var(--red);border:1px solid #c17a55;color:white;text-decoration:none;padding:.75rem 1rem;font:inherit;font-weight:700;cursor:pointer}.buttons :nth-child(2){background:transparent;color:inherit;border-color:currentColor}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem;padding:2.4rem 0 3.5rem}.cards.stack{grid-template-columns:1fr;max-width:750px}article{padding:1.4rem;background:#fffbf4;border:1px solid #dfcfbd;border-top:3px solid var(--red)}article h2{font-size:1.45rem;margin:.45rem 0}article p{margin:.45rem 0 1rem}.num,.action{color:var(--red);font-weight:750}.num{font-size:.75rem;letter-spacing:.14em}footer{background:#241b16;color:#fff4e5;padding:1.8rem 0}footer .wrap{display:flex;justify-content:space-between;gap:1rem}footer a{display:block;margin-bottom:.5rem}dialog{padding:0;width:min(480px,calc(100% - 2rem));border:1px solid #ae7651;background:var(--cream);color:var(--ink)}dialog::backdrop{background:#1b100ced;backdrop-filter:blur(5px)}.gate{padding:clamp(1.2rem,6vw,2.5rem);border-top:5px solid var(--red)}.gate .eyebrow{color:var(--red)}.gate h2{font-size:2.1rem;line-height:1.1;margin:.6rem 0}.no-js{position:fixed;inset:0;background:var(--cream);margin:0;padding:3rem}@media(max-width:720px){header{align-items:flex-start;flex-direction:column}.hero.home{padding:4rem 0}}

/* The storefront stays behind the page while the content scrolls. */
body{background:#281914}
.photo-backdrop{
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(31,17,13,.55),transparent 40%,transparent 68%,#281914 100%),
    url('/storefront-sunset.jpeg') center 36% / cover no-repeat;
}
body{isolation:isolate;background:transparent}
html{background:#281914}
header{background:rgba(36,27,22,.86)}
.hero{background:transparent;border:0}
.hero .wrap{padding:1.25rem 1.6rem;background:rgba(36,23,18,.88);border:1px solid rgba(245,220,188,.3);max-width:1100px}
.hero h1{font-size:clamp(2.4rem,6vw,5rem)}
.hero.home{min-height:clamp(520px,68vh,720px);padding:2rem 0 0}
.home .wrap{max-width:1100px;background:none;border:0;padding:0;text-shadow:0 2px 14px #24140e}
.home h1{font-size:clamp(2.2rem,5.5vw,4.6rem);max-width:22ch}
.home p:not(.eyebrow){max-width:38ch}
.home .buttons a:nth-child(2){background:#291b16}
.home .buttons{margin-bottom:0}
.cards{padding-top:0}
article{box-shadow:0 8px 24px #20151035}
.visit{margin-bottom:3rem;padding:1.6rem;background:var(--cream);border-top:3px solid var(--red)}
.visit h2{margin:.25rem 0;font-size:1.9rem}
.visit .eyebrow{color:var(--red)}
@media(max-width:720px){
  .photo-backdrop{background-position:center,center 28%}
  .hero.home{min-height:490px;padding-top:1.3rem}
  .hero .wrap{padding:1rem}
  .home .wrap{padding:0}
}

@media(max-width:720px){
  .photo-backdrop{background-size:100% 100%,auto 170%;background-position:center,center 24%}
}

:root{
  --display-serif: "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --body-serif: Georgia, "Times New Roman", serif;
}
body,.brand small{font-family:var(--body-serif)}
h1,h2,.brand,nav,footer strong,.eyebrow{font-family:var(--display-serif)}
.brand{font-variant:small-caps}
h1{letter-spacing:-.025em}
header{border-bottom:2px solid #b58250;background:rgba(34,23,18,.94);box-shadow:0 4px 18px #1c100c80}
nav{gap:.35rem .55rem}
nav a{padding:.48rem .62rem;border-bottom:2px solid transparent;font-size:.88rem;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
nav a:hover,nav a[aria-current]{color:#ffe0b0;border-bottom-color:var(--gold);text-decoration:none;background:#ffffff0b}
.photo-backdrop{transform:rotate(1.2deg) scale(1.06)}
.story{margin-bottom:1.5rem;padding:clamp(1.5rem,4vw,3rem);background:var(--cream);border-top:3px solid var(--red)}
.story .eyebrow{color:var(--red)}
.story h2{margin:.35rem 0 .9rem;font-size:clamp(1.8rem,4vw,2.65rem)}
.story p:not(.eyebrow){max-width:65ch;font-size:1.1rem}
@media(max-width:720px){
  nav{gap:.2rem .35rem}
  nav a{padding:.35rem .4rem;font-size:.78rem}
}

.transfer-steps { padding-inline-start: 1.35rem; }
.transfer-steps li + li { margin-top: 1.5rem; }
.transfer-steps h3 { margin: 0 0 .35rem; font-size: 1rem; }

header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "brand logo" "nav nav";
  align-items: center;
  column-gap: .75rem;
}
header .brand { grid-area: brand; font-size: clamp(1.05rem, 4.5vw, 1.65rem); }
header nav { grid-area: nav; }
.header-logo {
  grid-area: logo;
  justify-self: end;
  display: block;
  width: clamp(6rem, 31vw, 10rem);
  height: auto;
}
@media (min-width: 64rem) {
  header {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "brand nav logo";
    column-gap: clamp(1rem, 2vw, 2rem);
  }
  header nav { justify-content: center; }
  .header-logo { width: clamp(10rem, 14vw, 14rem); }
}

body { font-weight: 450; }
h1, h2, h3 {
  text-transform: uppercase;
  font-weight: 750;
  overflow-wrap: normal;
  text-wrap: balance;
}

@media (max-width: 40rem) {
  .hero h1 { font-size: clamp(1.8rem, 7vw, 2.6rem); }
}

.store-map {
  display: block;
  width: 100%;
  height: clamp(16rem, 36vw, 23rem);
  margin-top: 1rem;
  border: 0;
}
