:root{
  --cream:#faf7f2;
  --ink:#1a1a1a;
  --body:#4a4a4a;
  --gold:#b8893d;
  --gold-dark:#9c7230;
  --card:#fdfcfa;
  --band:#f1ebe4;
  --hair:#e3ddd4;
  --shell:1240px;
  --pad:100px;
  --display:"Playfair Display",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --script:"Parisienne",cursive;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--cream);
  color:var(--body);
  font-family:var(--sans);
  font-size:14.5px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{margin:0;color:var(--ink);font-weight:400}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
a{color:inherit}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:99;background:var(--ink);color:#fff;padding:12px 20px;font-size:13px}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- hero ---------- */
.hero{
  position:relative;
  min-height:440px;
  display:grid;
  place-items:center;
  padding:70px 24px;
  color:#fff;
  text-align:center;
  background:#0b1216 url("images/hero.jpg") center/cover no-repeat;
}
.hero::after{content:"";position:absolute;inset:0;background:rgba(9,16,20,.46)}
.hero__inner{position:relative;z-index:1}
.hero__anchor{width:22px;height:29px;color:#fff;margin:0 auto 12px;display:block}
.lockup__name{
  font-family:var(--display);font-weight:700;font-size:38px;line-height:1.05;
  letter-spacing:.17em;text-transform:uppercase;text-indent:.17em;
}
.lockup__sub{font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;text-indent:.26em;margin-top:6px}
.lockup__city{font-size:8.5px;letter-spacing:.32em;text-transform:uppercase;text-indent:.32em;margin-top:5px;opacity:.9}
.hero__title{font-family:var(--display);font-weight:700;font-size:60px;line-height:1.1;margin-top:22px;color:#fff}
.hero__tagline{font-family:var(--display);font-size:22px;line-height:1.45;margin-top:6px}

/* ---------- nav ---------- */
.nav{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:0 var(--pad);min-height:88px;
  background:var(--cream);border-bottom:1px solid var(--hair);
}
.nav__brand{text-decoration:none;display:block;text-align:left}
.nav__brandName{
  display:block;font-family:var(--display);font-weight:700;font-size:21px;
  letter-spacing:.19em;text-transform:uppercase;text-indent:.19em;color:var(--ink);
}
.nav__brandSub{display:block;font-size:7.5px;letter-spacing:.23em;text-transform:uppercase;text-indent:.23em;color:var(--ink);margin-top:3px}
.nav__links{display:flex;align-items:center;gap:38px}
.nav__links a{
  text-decoration:none;font-size:14px;color:var(--ink);
  padding-bottom:7px;border-bottom:2px solid transparent;transition:border-color .2s,color .2s;
}
.nav__links a:hover{color:var(--gold)}
.nav__links a[aria-current="page"]{border-bottom-color:var(--gold)}
.nav__toggle{display:none;background:none;border:0;padding:10px;cursor:pointer}
.nav__bars,.nav__bars::before,.nav__bars::after{display:block;width:22px;height:1.5px;background:var(--ink);content:""}
.nav__bars{position:relative}
.nav__bars::before{position:absolute;top:-7px}
.nav__bars::after{position:absolute;top:7px}

/* ---------- layout ---------- */
.section{
  max-width:var(--shell);
  margin:0 auto;
  padding:0 var(--pad);
  margin-top:88px;
}
.section:first-of-type{margin-top:88px}
.col{display:flex;flex-direction:column;gap:18px;max-width:440px}
.col--narrow{max-width:300px;gap:16px}
.eyebrow{
  font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;
  color:var(--gold);line-height:1;
}
.h2{font-family:var(--display);font-size:34px;line-height:1.32}
.h2--sm{font-size:30px}

.split{display:grid;gap:64px;align-items:start}
.split--textFirst{grid-template-columns:minmax(0,420px) minmax(0,1fr)}
.split--imageFirst{grid-template-columns:minmax(0,430px) minmax(0,1fr)}

.shot{margin:0;overflow:hidden;border-radius:2px}
.shot img{width:100%;aspect-ratio:430/268;object-fit:cover}
.shot--wide img{aspect-ratio:656/262}
.shot--tall img{aspect-ratio:300/320}

/* ---------- product cards ---------- */
.fresh{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:56px;align-items:start}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{
  background:var(--card);border:1px solid var(--hair);border-radius:2px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .25s,transform .25s;
}
.card:hover{border-color:#cfc4b3;transform:translateY(-3px)}
.card img{width:100%;aspect-ratio:281/148;object-fit:cover}
.card__body{padding:16px 18px 18px;text-align:center}
.card__body h3{font-family:var(--display);font-size:15px;line-height:1.3}
.card__body p{font-size:11.5px;line-height:1.65;margin-top:8px}

/* ---------- founders ---------- */
.founders{display:grid;grid-template-columns:minmax(0,280px) minmax(0,300px) minmax(0,1fr);gap:48px;align-items:start}
.signature{font-family:var(--script);font-size:26px;line-height:1.2;color:var(--ink);margin-top:2px}
.values ul{display:flex;flex-direction:column;gap:20px;margin-top:20px}
.values li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:14px;align-items:start}
.values svg{width:28px;height:28px;fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round;opacity:.85}
.values h3{font-family:var(--sans);font-size:12.5px;font-weight:500;line-height:1.3}
.values p{font-size:11.5px;line-height:1.65;margin-top:4px}

/* ---------- cta ---------- */
.ctaWrap{margin-bottom:88px}
.cta{
  background:var(--band);border-radius:2px;
  padding:34px 44px;
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
}
.cta__lead{display:flex;align-items:center;gap:22px}
.cta__icon{width:52px;height:56px;flex:none;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;opacity:.8}
.cta__title{font-family:var(--display);font-size:24px;line-height:1.3}
.cta__lead p{font-size:12.5px;line-height:1.7;margin-top:7px}
.cta__actions{display:flex;gap:16px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;gap:14px;
  padding:17px 30px;border-radius:2px;text-decoration:none;
  font-size:11.5px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;
  transition:background-color .2s,color .2s,border-color .2s;
}
.btn--solid{background:var(--gold);color:#fff;border:1px solid var(--gold)}
.btn--solid:hover{background:var(--gold-dark);border-color:var(--gold-dark)}
.btn--ghost{border:1px solid var(--gold);color:var(--gold)}
.btn--ghost:hover{background:var(--gold);color:#fff}

/* ---------- strip + footer ---------- */
.strip{height:170px;background:#0b1216 url("images/footer-strip.jpg") center/cover no-repeat}
.foot{background:#11191d;color:#cfcac2;padding:56px var(--pad) 32px}
.foot__grid{
  max-width:var(--shell);margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;
}
.foot__name{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.18em;text-transform:uppercase;text-indent:.18em;color:#fff}
.foot__sub{font-size:10px;letter-spacing:.2em;text-transform:uppercase;margin-top:6px;color:#9d968c}
.foot__blurb{font-size:12.5px;line-height:1.7;margin-top:14px;max-width:280px}
.foot h2{font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.foot__grid p{font-size:12.5px;line-height:1.8;margin-top:12px}
.foot a{text-decoration:none;border-bottom:1px solid rgba(207,202,194,.3)}
.foot a:hover{color:#fff;border-bottom-color:#fff}
.foot__legal{
  max-width:var(--shell);margin:40px auto 0;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:11.5px;text-align:center;color:#8d867c;
}

/* ---------- motion ---------- */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  :root{--pad:56px}
  .founders{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}
  .values{grid-column:1 / -1}
  .values ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px}
}
@media (max-width:900px){
  :root{--pad:40px}
  .nav{flex-wrap:wrap;min-height:72px;padding-top:14px;padding-bottom:14px}
  .nav__toggle{display:block;order:2}
  .nav__links{
    order:3;flex-basis:100%;display:none;flex-direction:column;align-items:flex-start;gap:0;
  }
  .nav__links.is-open{display:flex}
  .nav__links li{width:100%;border-top:1px solid var(--hair)}
  .nav__links a{display:block;padding:14px 0;border-bottom:0}
  .nav__links a[aria-current="page"]{color:var(--gold)}
  .section{margin-top:64px}
  .split--textFirst,.split--imageFirst,.fresh,.founders{grid-template-columns:minmax(0,1fr);gap:32px}
  .split--imageFirst .shot{order:2}
  .col,.col--narrow{max-width:640px}
  .shot--tall img{aspect-ratio:16/11}
  .cta{padding:28px}
  .ctaWrap{margin-bottom:64px}
}
@media (max-width:680px){
  :root{--pad:22px}
  .hero{min-height:360px;padding:56px 20px}
  .hero__title{font-size:42px}
  .hero__tagline{font-size:18px}
  .lockup__name{font-size:30px}
  .h2{font-size:28px}
  .h2--sm{font-size:26px}
  .cards{grid-template-columns:minmax(0,1fr)}
  .values ul{grid-template-columns:minmax(0,1fr)}
  .cta__lead{flex-direction:column;align-items:flex-start;gap:16px}
  .btn{flex:1 1 auto;justify-content:center}
  .strip{height:120px}
  .foot__grid{grid-template-columns:minmax(0,1fr);gap:30px}
}

/* ============ shared page furniture ============ */
.hero--page{min-height:330px}
.hero__rule{width:70px;height:2px;background:var(--gold);margin:20px auto 0;border:0}
.hero__lede{font-family:var(--display);font-size:20px;line-height:1.5;margin-top:8px}
.band{background:var(--band)}
.band .section{margin-top:0;padding-top:64px;padding-bottom:64px}
.shell{max-width:var(--shell);margin:0 auto;padding:0 var(--pad)}
.centered{text-align:center;max-width:620px;margin-inline:auto}
.h2--center{margin-inline:auto}
.ruleLabel{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:8px}
.ruleLabel::before,.ruleLabel::after{content:"";height:1px;width:66px;background:var(--gold);opacity:.55}
.iconCircle{
  width:44px;height:44px;flex:none;border:1px solid var(--gold);border-radius:50%;
  display:grid;place-items:center;color:var(--gold);
}
.iconCircle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* ============ contact ============ */
.contactTop{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:70px;align-items:start}
.infoList{margin-top:26px;border-top:1px solid var(--hair)}
.infoList li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--hair)}
.infoList h3{font-family:var(--sans);font-size:12.5px;font-weight:500}
.infoList p{font-size:13px;line-height:1.6;margin-top:3px}
.infoList a{text-decoration:none}
.infoList a:hover{color:var(--gold)}
.socials{display:flex;gap:12px;margin-top:24px}
.socials a{width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);transition:background-color .2s,color .2s}
.socials a:hover{background:var(--gold);color:#fff}
.socials svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

.formCard{position:relative}
.form{display:grid;gap:14px;margin-top:22px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form label{display:block}
.form .lbl{font-size:12.5px;color:#8a8378;margin-bottom:6px;display:block}
.form input,.form textarea{
  width:100%;font:inherit;font-size:13.5px;color:var(--ink);
  background:#fffdfa;border:1px solid var(--hair);border-radius:2px;
  padding:14px 16px;transition:border-color .2s,box-shadow .2s;
}
.form textarea{min-height:150px;resize:vertical}
.form input:hover,.form textarea:hover{border-color:#cfc4b3}
.form input:focus,.form textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,137,61,.14)}
.form__note{font-size:12.5px;margin-top:4px}
.form__status{font-size:13px;padding:12px 16px;border-radius:2px;background:#eef3ec;color:#33552f;display:none}
.form__status.is-on{display:block}
.formDecor{position:absolute;right:0;bottom:74px;width:210px;pointer-events:none;mix-blend-mode:multiply}

.findUs{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:56px;align-items:center}
.map{border-radius:2px;overflow:hidden;border:1px solid var(--hair)}
.map img{width:100%;aspect-ratio:1200/355;object-fit:cover}

.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.services li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:start;padding:0 34px}
.services li + li{border-left:1px solid var(--hair)}
.services li:first-child{padding-left:0}
.services li:last-child{padding-right:0}
.services svg{width:52px;height:52px;fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.services h3{font-family:var(--sans);font-size:13.5px;font-weight:500}
.services p{font-size:12.5px;line-height:1.65;margin-top:6px}
.services .more{
  display:inline-flex;gap:8px;margin-top:12px;text-decoration:none;color:var(--ink);
  font-size:11px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;
}
.services .more:hover{color:var(--gold)}

.closer{position:relative;overflow:hidden;text-align:center;padding:66px var(--pad)}
.closer__art{position:absolute;top:50%;transform:translateY(-50%);width:150px;opacity:.09;color:var(--ink);fill:none;stroke:currentColor;stroke-width:1.1}
.closer__art--l{left:40px}
.closer__art--r{right:40px}
.closer h2{font-family:var(--display);font-size:32px;line-height:1.3;position:relative}
.closer p{margin-top:8px;position:relative}
.closer .btnRow{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:26px;position:relative}

@media (max-width:900px){
  .contactTop,.findUs{grid-template-columns:minmax(0,1fr);gap:40px}
  .formDecor{display:none}
  .services{grid-template-columns:minmax(0,1fr);gap:28px}
  .services li{padding:0}
  .services li + li{border-left:0;border-top:1px solid var(--hair);padding-top:28px}
  .closer__art{display:none}
}
@media (max-width:680px){
  .form__row{grid-template-columns:minmax(0,1fr)}
  .closer h2{font-size:26px}
}

/* ============ home ============ */
.hero--home{min-height:420px}
.hero--home .hero__title{font-size:52px}
.hero--home .hero__sub{font-size:13.5px;line-height:1.8;margin-top:16px;opacity:.92}

.welcome{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:64px;align-items:center}
.welcome .btnRow{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}

.specs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:30px}
.spec{background:var(--card);border:1px solid var(--hair);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.spec:hover{border-color:#cfc4b3;transform:translateY(-3px)}
.spec img{width:100%;aspect-ratio:151/124;object-fit:cover}
.spec__body{padding:15px 14px 16px;text-align:center;display:flex;flex-direction:column;gap:8px;flex:1}
.spec__body h3{font-family:var(--display);font-size:15px;line-height:1.3}
.spec__body p{font-size:11.5px;line-height:1.6;flex:1}
.spec__link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding-top:11px;border-top:1px solid var(--hair);text-decoration:none;color:var(--ink);
  font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
}
.spec__link:hover{color:var(--gold)}

.story3{display:grid;grid-template-columns:minmax(0,280px) minmax(0,260px) minmax(0,1fr);gap:48px;align-items:start}
.cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin-top:20px}
.cats li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--hair)}
.cats svg{width:38px;height:32px;fill:none;stroke:var(--ink);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.cats h3{font-family:var(--sans);font-size:13px;font-weight:500}
.cats a{display:inline-flex;gap:7px;text-decoration:none;font-size:11.5px;color:var(--body);margin-top:2px}
.cats a:hover{color:var(--gold)}

.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:26px}
.quote{display:grid;grid-template-columns:26px minmax(0,1fr);gap:12px;align-items:start}
.quote__mark{font-family:var(--display);font-size:34px;line-height:.9;color:var(--gold)}
.quote p{font-family:var(--display);font-size:15px;line-height:1.55;color:var(--ink)}
.quote__by{display:flex;align-items:center;gap:10px;margin-top:12px}
.quote__by span{font-size:12px}
.stars{color:var(--gold);font-size:12px;letter-spacing:2px}

.homeCta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px;align-items:center}
.homeCta__lead{display:flex;align-items:flex-start;gap:22px}
.perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.perks li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start;padding:0 22px}
.perks li + li{border-left:1px solid var(--hair)}
.perks li:first-child{padding-left:0}
.perks li:last-child{padding-right:0}
.perks svg{width:38px;height:34px;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.perks h3{font-family:var(--sans);font-size:12.5px;font-weight:500}
.perks p{font-size:11.5px;line-height:1.6;margin-top:4px}
.perks--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.perks--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 0}.perks--4 li{padding:0 18px}.perks--4 li:nth-child(3),.perks--4 li:nth-child(4){padding-top:0}.perks--4 li:nth-child(odd){border-left:0;padding-left:0}}

@media (max-width:1180px){
  .specs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .story3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .story3 .cats{grid-column:1 / -1}
}
@media (max-width:900px){
  .welcome,.story3,.homeCta{grid-template-columns:minmax(0,1fr);gap:36px}
  .specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quotes{grid-template-columns:minmax(0,1fr);gap:26px}
  .perks{grid-template-columns:minmax(0,1fr);gap:22px}
  .perks li{padding:0}
  .perks li + li{border-left:0;border-top:1px solid var(--hair);padding-top:22px}
  .hero--home .hero__title{font-size:40px}
}
@media (max-width:680px){
  .specs,.cats{grid-template-columns:minmax(0,1fr)}
  .hero--home .hero__title{font-size:34px}
}

/* ============ gallery ============ */
.filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:30px}
.filter{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;
  background:var(--card);border:1px solid var(--hair);border-radius:2px;
  padding:11px 18px;font:inherit;font-size:12.5px;color:var(--ink);
  transition:background-color .2s,border-color .2s,color .2s;
}
.filter svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.filter:hover{border-color:var(--gold);color:var(--gold)}
.filter[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#fff}
.filter[aria-pressed="true"] svg{opacity:1}

.masonry{columns:3;column-gap:14px;margin-top:30px}
.masonry figure{break-inside:avoid;margin:0 0 14px;border-radius:2px;overflow:hidden;background:var(--band)}
.masonry img{width:100%;display:block;transition:transform .5s ease}
.masonry figure:hover img{transform:scale(1.04)}
.masonry figure[hidden]{display:none}
.gallery__empty{text-align:center;padding:40px 0;font-size:13.5px;display:none}
.gallery__empty.is-on{display:block}

.carousel{position:relative;margin-top:26px;padding:0 54px}
.carousel__track{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none}
.carousel__track::-webkit-scrollbar{display:none}
.carousel__track figure{margin:0;flex:0 0 calc((100% - 42px) / 4);scroll-snap-align:start;border-radius:2px;overflow:hidden}
.carousel__track img{width:100%;aspect-ratio:188/92;object-fit:cover;display:block}
.carousel__btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;
  background:var(--gold);color:#fff;display:grid;place-items:center;
  transition:background-color .2s;
}
.carousel__btn:hover{background:var(--gold-dark)}
.carousel__btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.carousel__btn--prev{left:0}
.carousel__btn--next{right:0}

@media (max-width:900px){
  .masonry{columns:2}
  .carousel__track figure{flex-basis:calc((100% - 14px) / 2)}
}
@media (max-width:680px){
  .masonry{columns:1}
  .carousel{padding:0 44px}
  .carousel__track figure{flex-basis:100%}
}

/* ============ christmas ============ */
:root{--xred:#8a1c1c;--xred-dark:#6f1414;--xink:#101a1c}
.nav--top{border-top:0}
.nav__anchor{width:17px;height:23px;color:var(--ink);margin-right:11px;flex:none}
.nav__brand--icon{display:flex;align-items:center}

.xhero{position:relative;background:var(--xink);color:#fff;overflow:hidden;display:flex;align-items:center;min-height:352px}
.xhero__photo{position:absolute;inset:0 0 0 45%;margin:0;border-radius:0;overflow:hidden}
.xhero__photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.xhero__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--xink) 0%,rgba(16,26,28,.88) 10%,rgba(16,26,28,.45) 24%,rgba(16,26,28,0) 44%)}
.xhero__deco{position:absolute;left:0;bottom:0;width:196px;height:auto;z-index:1;pointer-events:none;user-select:none}
.xhero__inner{
  position:relative;z-index:2;width:100%;
  max-width:var(--shell);margin:0 auto;padding:60px var(--pad);
}
.xhero__copy{max-width:46%}
.xhero h1{font-family:var(--display);font-weight:700;font-size:54px;line-height:1.1;color:#fff}
.xhero__rule{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--gold)}
.xhero__rule::before,.xhero__rule::after{content:"";height:1px;flex:1;max-width:96px;background:currentColor;opacity:.6}
.xhero__rule svg{width:15px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.xhero p{font-size:13.5px;line-height:1.85;color:#e2ded7}
.xdeco{position:relative}
.xdeco > .xdeco__l,.xdeco > .xdeco__r{
  position:absolute;top:50%;transform:translateY(-50%);
  width:132px;height:auto;z-index:0;pointer-events:none;user-select:none;
}
.xdeco__l{left:calc(var(--pad) * -1)}
.xdeco__r{right:calc(var(--pad) * -1)}
.xdeco > *:not(.xdeco__l):not(.xdeco__r){position:relative;z-index:1}
@media (max-width:1180px){.xdeco__l,.xdeco__r{width:96px;opacity:.6}}
@media (max-width:900px){.xdeco__l,.xdeco__r{display:none}}
.xflake{position:absolute;z-index:2;color:var(--gold);opacity:.5;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}
.xflake--a{top:34px;left:34px}
.xflake--b{top:96px;left:230px;width:16px;height:16px;opacity:.35}
.xflake--c{bottom:44px;left:236px;width:18px;height:18px;opacity:.4}

.xbanner{background:var(--xred);color:#fff}
.xbanner__inner{
  max-width:var(--shell);margin:0 auto;padding:16px var(--pad);
  display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;text-align:center;
}
.xbanner svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linejoin:round}
.xbanner strong{font-size:13px;font-weight:500;letter-spacing:.11em;text-transform:uppercase}
.xbanner span{font-size:12.5px;line-height:1.6;border-left:1px solid rgba(255,255,255,.3);padding-left:26px}

.xcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:26px}
.xcard{
  position:relative;background:#fff;border:1px solid var(--hair);border-radius:3px;overflow:hidden;
  display:flex;flex-direction:column;text-align:center;transition:transform .25s,border-color .25s;
}
.xcard:hover{transform:translateY(-4px);border-color:#d8c9ae}
.xcard img{width:100%;aspect-ratio:206/146;object-fit:cover}
.xcard__serves{
  position:absolute;top:0;left:0;background:var(--xred);color:#fff;
  padding:8px 14px 10px;border-bottom-right-radius:10px;line-height:1.15;
}
.xcard__serves small{display:block;font-size:8px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.xcard__serves b{font-size:14px;font-weight:500}
.xcard__body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.xcard__body h3{font-family:var(--display);font-size:19px;line-height:1.25}
.xcard__body p{font-size:12px;line-height:1.65;flex:1}
.xprice{font-family:var(--display);font-size:24px;color:var(--gold);margin-top:2px}
.btn--xmas{background:var(--xred);color:#fff;border:1px solid var(--xred);justify-content:center;width:100%;padding:14px 18px}
.btn--xmas:hover{background:var(--xred-dark);border-color:var(--xred-dark)}

.addons{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:26px;
  background:var(--card);border:1px solid var(--hair);border-radius:3px;
}
.addon{display:grid;grid-template-columns:66px minmax(0,1fr);gap:14px;align-items:center;padding:20px 22px}
.addon + .addon{border-left:1px solid var(--hair)}
.addon img{width:66px;height:60px;object-fit:cover;border-radius:2px}
.addon h3{font-family:var(--display);font-size:14px;line-height:1.3}
.addon p{font-size:10.5px;line-height:1.55;margin-top:4px}
.addon .price{font-size:13px;color:var(--gold);margin-top:6px;display:block}
.addon button{
  margin-top:8px;cursor:pointer;font:inherit;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  background:none;border:1px solid var(--gold);color:var(--gold);border-radius:2px;padding:7px 16px;transition:background-color .2s,color .2s;
}
.addon button:hover{background:var(--gold);color:#fff}
.addon button.is-added{background:var(--gold);color:#fff}

.steps{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:26px;
  background:var(--card);border:1px solid var(--hair);border-radius:3px;padding:30px 26px;
}
.step{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:start;position:relative}
.step__icon{
  width:54px;height:54px;border-radius:50%;background:var(--band);display:grid;place-items:center;color:var(--gold);position:relative;
}
.step__icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.step__num{
  position:absolute;top:-5px;left:-5px;width:20px;height:20px;border-radius:50%;
  background:var(--xred);color:#fff;font-size:10px;display:grid;place-items:center;
}
.step h3{font-family:var(--sans);font-size:12.5px;font-weight:500}
.step p{font-size:11px;line-height:1.6;margin-top:4px}

.xinfo{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:0;margin-top:22px;
  border:1px solid var(--hair);border-radius:3px;background:var(--card);
}
.xinfo__cut{padding:30px 34px;text-align:center;border-right:1px solid var(--hair)}
.xinfo__cut svg{width:24px;height:24px;fill:none;stroke:var(--gold);stroke-width:1.4;margin:0 auto 10px;display:block}
.xinfo h3{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--body)}
.xinfo__date{font-family:var(--display);font-size:22px;color:var(--xred);margin-top:12px;line-height:1.3}
.xinfo__cut p{font-size:11.5px;line-height:1.7;margin-top:12px}
.xinfo__col{padding:30px 34px}
.xinfo__cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:16px}
.xinfo__cols h4{font-size:10.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);margin:0}
.xinfo__cols p{font-size:12px;line-height:1.75;margin-top:10px}
.xinfo__cols strong{color:var(--ink);font-weight:500}
.xinfo__note{font-size:11.5px;font-style:italic;text-align:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--hair)}
.xinfo__head{display:flex;align-items:center;justify-content:center;gap:10px}
.xinfo__head svg{width:20px;height:20px;fill:none;stroke:var(--gold);stroke-width:1.4}

@media (max-width:1180px){
  .xcards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .addons{grid-template-columns:repeat(2,minmax(0,1fr))}
  .addon{border-left:0!important;border-top:1px solid var(--hair)}
  .addon:nth-child(-n+2){border-top:0}
  .addon:nth-child(even){border-left:1px solid var(--hair)!important}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .xhero{display:block;min-height:0}
  .xhero__photo{position:relative;inset:auto;height:210px}
  .xhero__photo::after{background:linear-gradient(180deg,var(--xink) 0%,rgba(16,26,28,.5) 30%,rgba(16,26,28,0) 60%)}
  .xhero__copy{max-width:none}
  .xhero__inner{padding:38px var(--pad) 44px}
  .xhero__deco{width:130px;opacity:.65}
  .xflake--b,.xflake--c{display:none}
  .xhero h1{font-size:38px}
  .xbanner span{border-left:0;padding-left:0}
  .xinfo{grid-template-columns:minmax(0,1fr)}
  .xinfo__cut{border-right:0;border-bottom:1px solid var(--hair)}
}
@media (max-width:680px){
  .xcards,.addons,.steps,.xinfo__cols{grid-template-columns:minmax(0,1fr)}
  .addon{border-left:0!important;border-top:1px solid var(--hair)}
  .addon:first-child{border-top:0}
  .xhero h1{font-size:32px}
}

/* ============ shop ============ */
.pills{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:6px}
.pill{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;font:inherit;font-size:12.5px;color:var(--ink);
  background:var(--card);border:1px solid var(--hair);border-radius:999px;padding:10px 20px;
  transition:background-color .2s,border-color .2s,color .2s;
}
.pill svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;opacity:.75}
.pill:hover{border-color:var(--gold);color:var(--gold)}
.pill[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#fff}

.shopLayout{display:grid;grid-template-columns:190px minmax(0,1fr) 250px;gap:34px;align-items:start;margin-top:34px}
.facets{border-right:1px solid var(--hair);padding-right:24px}
.facets h2{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.facets h3{font-family:var(--sans);font-size:13px;font-weight:500;margin-top:24px}
.facets label{display:flex;align-items:center;gap:10px;font-size:12.5px;margin-top:11px;cursor:pointer}
.facets input[type=checkbox]{
  appearance:none;width:15px;height:15px;flex:none;border:1px solid var(--hair);border-radius:2px;background:#fffdfa;
  display:grid;place-items:center;cursor:pointer;transition:background-color .15s,border-color .15s;
}
.facets input[type=checkbox]:checked{background:var(--gold);border-color:var(--gold)}
.facets input[type=checkbox]:checked::after{content:"";width:8px;height:4.5px;border:1.6px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.facets .more{background:none;border:0;padding:0;margin-top:12px;cursor:pointer;font:inherit;font-size:12px;color:var(--body);display:flex;gap:6px;align-items:center}
.facets .more:hover{color:var(--gold)}
.facets input[type=range]{width:100%;margin-top:14px;accent-color:var(--gold)}
.rangeLabels{display:flex;justify-content:space-between;font-size:11.5px;margin-top:6px}
.clearBtn{
  width:100%;margin-top:26px;cursor:pointer;font:inherit;font-size:11px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;
  background:none;border:1px solid var(--hair);color:var(--ink);border-radius:2px;padding:12px;transition:border-color .2s,color .2s;
}
.clearBtn:hover{border-color:var(--gold);color:var(--gold)}

.shopHead{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap}
.shopHead h2{font-family:var(--display);font-size:24px}
.sortRow{display:flex;align-items:center;gap:10px;font-size:12.5px}
.sortRow select{font:inherit;font-size:12.5px;color:var(--ink);background:#fffdfa;border:1px solid var(--hair);border-radius:2px;padding:8px 12px;cursor:pointer}
.sortRow select:focus{outline:0;border-color:var(--gold)}

.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}
.product{background:var(--card);border:1px solid var(--hair);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.product:hover{border-color:#cfc4b3;transform:translateY(-3px)}
.product img{width:100%;aspect-ratio:178/160;object-fit:cover}
.product__body{padding:15px 16px 17px;display:flex;flex-direction:column;gap:8px;flex:1}
.product__body h3{font-family:var(--display);font-size:15.5px;line-height:1.3}
.product__body p{font-size:11.5px;line-height:1.6;flex:1}
.product__price{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.product__price b{font-family:var(--display);font-size:19px;font-weight:400;color:var(--ink)}
.product__price span{font-size:11px}
.addBtn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;cursor:pointer;
  font:inherit;font-size:10.5px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;
  background:var(--gold);color:#fff;border:1px solid var(--gold);border-radius:2px;padding:12px;transition:background-color .2s;
}
.addBtn:hover{background:var(--gold-dark);border-color:var(--gold-dark)}
.addBtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.viewAll{display:block;width:220px;margin:26px auto 0;text-align:center}
.noResults{text-align:center;padding:50px 0;font-size:13.5px;display:none}
.noResults.is-on{display:block}

.cart{background:var(--card);border:1px solid var(--hair);border-radius:2px;padding:18px}
.cart h2{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.cart__items{margin-top:14px}
.cart__item{display:grid;grid-template-columns:44px minmax(0,1fr) 14px;gap:11px;align-items:start;padding:12px 0;border-bottom:1px solid var(--hair)}
.cart__item img{width:44px;height:44px;object-fit:cover;border-radius:2px}
.cart__item h3{font-family:var(--sans);font-size:11.5px;font-weight:500;line-height:1.4}
.cart__item small{display:block;font-size:10.5px;color:var(--body);margin-top:3px}
.cart__item b{display:block;font-size:12px;font-weight:500;color:var(--ink);margin-top:4px}
.cart__rm{background:none;border:0;padding:0;cursor:pointer;color:#a89f92;font-size:14px;line-height:1}
.cart__rm:hover{color:var(--xred)}
.cart__empty{font-size:12px;padding:18px 0;text-align:center}
.cart__totals{margin-top:14px;font-size:12px}
.cart__totals div{display:flex;justify-content:space-between;padding:5px 0}
.cart__totals .grand{border-top:1px solid var(--hair);margin-top:8px;padding-top:12px;font-size:15px;color:var(--ink)}
.cart__totals .grand b{font-weight:500}
.checkoutBtn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:14px;cursor:pointer;
  font:inherit;font-size:10.5px;font-weight:500;letter-spacing:.11em;text-transform:uppercase;
  background:var(--gold);color:#fff;border:1px solid var(--gold);border-radius:2px;padding:14px;transition:background-color .2s;
}
.checkoutBtn:hover{background:var(--gold-dark)}
.checkoutBtn:disabled{opacity:.45;cursor:not-allowed}
.checkoutBtn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.7}
.cart__view{display:block;text-align:center;margin-top:12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.cart__view:hover{color:var(--gold)}
.help{background:var(--card);border:1px solid var(--hair);border-radius:2px;padding:16px;margin-top:16px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center}
.help svg{width:34px;height:34px;fill:none;stroke:var(--gold);stroke-width:1.3}
.help h3{font-family:var(--sans);font-size:12px;font-weight:500}
.help p{font-size:11px;line-height:1.6;margin-top:4px}

.infoBars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.infoBars li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start}
.infoBars svg{width:44px;height:44px;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.infoBars h3{font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-family:var(--sans)}
.infoBars p{font-size:12px;line-height:1.7;margin-top:8px}

.trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px}
.trust li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:center}
.trust svg{width:44px;height:44px;fill:none;stroke:var(--gold);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.trust h3{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-family:var(--sans)}
.trust p{font-size:11.5px;line-height:1.6;margin-top:5px}

@media (max-width:1180px){
  .shopLayout{grid-template-columns:180px minmax(0,1fr)}
  .cart{grid-column:1 / -1}
  .products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .trust{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .shopLayout{grid-template-columns:minmax(0,1fr)}
  .facets{border-right:0;border-bottom:1px solid var(--hair);padding-right:0;padding-bottom:24px}
  .infoBars{grid-template-columns:minmax(0,1fr);gap:26px}
}
@media (max-width:680px){
  .products,.trust{grid-template-columns:minmax(0,1fr)}
}

/* [hidden] must beat the flex display used by card components */
.product[hidden],.spec[hidden],.xcard[hidden],.masonry figure[hidden],.cards .card[hidden]{display:none!important}

