:root{
  --bg:#f6eee4;
  --bg-soft:#fcf7f1;
  --bg-2:#efe5d7;
  --bg-3:#f2ddd5;
  --surface:rgba(255,255,255,.78);
  --surface-strong:rgba(255,255,255,.9);
  --surface-deep:#fffdf9;
  --ink:#17110d;
  --ink-soft:#2a211b;
  --muted:#6b5f53;
  --line:rgba(23,17,13,.12);
  --line-2:rgba(23,17,13,.2);
  --line-3:rgba(23,17,13,.32);
  --accent:#c3a074;
  --accent-deep:#96724a;
  --accent-soft:#ebdcc8;
  --accent-blush:#efded6;
  --shadow:0 34px 90px rgba(46,29,13,.12);
  --shadow-soft:0 16px 42px rgba(46,29,13,.08);
  --shadow-card:0 22px 58px rgba(46,29,13,.13);
  --radius-xxl:42px;
  --radius-xl:32px;
  --radius-lg:28px;
  --radius-md:22px;
  --radius-sm:16px;
  --container:1200px;
  --section-space:108px;
  --section-space-tablet:84px;
  --section-space-mobile:68px;
  --stack-space:38px;
  --serif:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  background:var(--bg);
}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.92), transparent 32%),
    radial-gradient(circle at 92% 3%, rgba(235,220,199,.68), transparent 24%),
    radial-gradient(circle at 22% 88%, rgba(239,222,214,.42), transparent 28%),
    linear-gradient(180deg, #fbf6f0 0%, var(--bg) 38%, #efe5d8 100%);
  font-family:var(--sans);
  line-height:1.68;
  letter-spacing:.002em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), transparent 22%),
    radial-gradient(circle at 85% 14%, rgba(255,255,255,.34), transparent 16%),
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.22), transparent 18%);
  opacity:.9;
}
body.menu-open{overflow:hidden}
::selection{background:rgba(195,160,116,.32)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
strong{font-weight:600}

.container{
  width:min(calc(100% - 44px), var(--container));
  margin-inline:auto;
}


.skip{
  position:absolute;
  left:18px;
  top:-48px;
  z-index:999;
  padding:12px 16px;
  border-radius:999px;
  background:var(--ink);
  color:#fff;
  transition:top .2s ease;
}
.skip:focus{top:16px}

.top{
  position:sticky;
  top:0;
  z-index:120;
  padding:16px 0 8px;
  background:linear-gradient(180deg, rgba(246,238,228,.92), rgba(246,238,228,.52) 70%, rgba(246,238,228,0));
  transition:padding .25s ease, background .25s ease;
}
body.is-scrolled .top{
  padding:10px 0 6px;
  background:linear-gradient(180deg, rgba(246,238,228,.96), rgba(246,238,228,.66) 70%, rgba(246,238,228,0));
}

.nav{
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:12px 18px 12px 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.7);
  background:rgba(255,250,244,.72);
  backdrop-filter:blur(18px) saturate(135%);
  box-shadow:0 18px 50px rgba(46,29,13,.1);
  transition:background .25s ease, box-shadow .25s ease, transform .25s ease;
}
body.is-scrolled .nav{
  background:rgba(255,250,244,.88);
  box-shadow:0 20px 52px rgba(46,29,13,.12);
}

.brand{
  display:flex;
  align-items:center;
  gap:0;
  min-width:0;
  flex:0 0 auto;
}
.brand__logo{
  display:block;
  width:min(370px, 36vw);
  max-width:100%;
  height:auto;
}

.navlinks,
.mobile{
  font-size:.95rem;
  letter-spacing:.03em;
}

.navlinks{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:12px 24px;
}
.navlinks a:not(.btn),
.mobile a:not(.btn),
.footer__links a{
  color:rgba(42,33,27,.86);
  transition:color .22s ease, opacity .22s ease;
}
.navlinks a:not(.btn){
  position:relative;
  padding:6px 0;
}
.navlinks a:not(.btn)::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(195,160,116,.9), transparent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
}
.navlinks a:not(.btn):hover::after,
.navlinks a[aria-current="page"]::after{transform:scaleX(1)}
.navlinks a:not(.btn):hover,
.mobile a:not(.btn):hover,
.footer__links a:hover{color:var(--ink)}

.navtoggle{
  display:none;
  width:50px;
  height:50px;
  padding:0;
  border:1px solid rgba(23,17,13,.14);
  border-radius:999px;
  background:rgba(255,255,255,.58);
  box-shadow:var(--shadow-soft);
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.navtoggle span{
  display:block;
  width:18px;
  height:1.5px;
  margin:3px auto;
  background:var(--ink);
  transition:transform .24s ease, opacity .24s ease;
}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-4.5px) rotate(-45deg)}

.mobile{
  display:grid;
  gap:8px;
  margin-top:12px;
  padding:18px 20px 22px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.7);
  background:rgba(255,250,244,.9);
  backdrop-filter:blur(18px) saturate(125%);
  box-shadow:var(--shadow-soft);
}
.mobile a{
  padding:14px 0;
  border-bottom:1px solid rgba(23,17,13,.08);
}
.mobile a.btn{border-bottom:0;margin-top:6px;justify-self:start}
.mobile[hidden]{display:none !important}

.section{
  position:relative;
  padding:var(--section-space) 0;
}
.section::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(86%, 1040px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(195,160,116,.44), transparent);
}
main > .section:first-of-type::before,
main > .hero + .section::before{opacity:.7}
.section--order{
  background:
    radial-gradient(circle at 86% 20%, rgba(239,222,214,.38), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.34), rgba(255,255,255,.08));
  border-top:1px solid rgba(195,160,116,.16);
  border-bottom:1px solid rgba(195,160,116,.16);
  overflow:hidden;
}
.section--order::after{
  content:"";
  position:absolute;
  inset:auto -12% -10% auto;
  width:min(42vw, 480px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle, rgba(195,160,116,.12), transparent 62%);
  pointer-events:none;
}

.hero{
  position:relative;
  padding:clamp(40px, 7vw, 88px) 0 clamp(82px, 8vw, 120px);
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:14% -10% auto auto;
  width:min(42vw, 520px);
  aspect-ratio:1;
  background:url("../logo/butterstreet-monogram.svg") center/contain no-repeat;
  opacity:.07;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  left:-18%;
  top:8%;
  width:min(44vw, 560px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.5), transparent 68%);
  pointer-events:none;
}
.hero__grid,
.split,
.ordergrid,
.footer__grid,
.cards{
  display:grid;
}
.hero__grid{
  position:relative;
  width:min(calc(100% - 44px), var(--container));
  margin-inline:auto;
  grid-template-columns:minmax(0, 1.06fr) minmax(360px, .94fr);
  gap:clamp(36px, 6vw, 82px);
  align-items:center;
}
.hero__copy{
  position:relative;
  z-index:1;
  max-width:720px;
}
.hero__visual{position:relative}

.hero__cta{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin-top:var(--stack-space);
}
.hero__concierge{margin-top:28px}
.hero__concierge .small{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  padding:13px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.58);
  box-shadow:var(--shadow-soft);
}
.hero__meta{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:16px;
  margin-top:30px;
}
.hero__note{
  display:inline-flex;
  align-items:center;
  gap:12px;
  max-width:100%;
  margin-top:18px;
  padding:14px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.58);
  box-shadow:var(--shadow-soft);
  color:var(--ink-soft);
  font-size:.95rem;
}
.hero--thanks .hero__grid{
  grid-template-columns:minmax(0, 1fr) minmax(320px, .78fr);
}

.eyebrow,
.imglabel,
.meta__k,
.tag,
.pill,
.small{
  font-size:.76rem;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.eyebrow{
  display:inline-flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  color:var(--muted);
}
.eyebrow::before{
  content:"";
  width:38px;
  height:1px;
  background:linear-gradient(90deg, var(--accent), transparent);
}
.title,
.h2,
.h3{
  margin:0;
  font-family:var(--serif);
  font-weight:500;
  line-height:.92;
  color:var(--ink);
  text-wrap:balance;
}
.title{
  font-size:clamp(3.5rem, 8vw, 6.2rem);
  letter-spacing:-.038em;
}
.h2{
  font-size:clamp(2.3rem, 5vw, 3.7rem);
  letter-spacing:-.02em;
}
.h3{
  font-size:clamp(1.68rem, 3vw, 2.12rem);
  letter-spacing:-.016em;
}
.lead{
  max-width:58ch;
  margin:24px 0 0;
  font-size:1.08rem;
  color:var(--ink-soft);
}
.muted{color:var(--muted)}
.small{letter-spacing:.16em}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:14px 22px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.95rem;
  font-weight:500;
  line-height:1;
  letter-spacing:.03em;
  transition:transform .26s ease, box-shadow .26s ease, background .26s ease, border-color .26s ease, color .26s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn:focus-visible,
.link:focus-visible,
summary:focus-visible,
.navtoggle:focus-visible{
  outline:2px solid rgba(150,114,74,.65);
  outline-offset:3px;
}
.btn--solid{
  background:linear-gradient(135deg, #231812 0%, #130d09 100%);
  color:#fff;
  border-color:rgba(195,160,116,.18);
  box-shadow:0 14px 32px rgba(23,17,13,.18);
}
.btn--solid:hover{box-shadow:0 18px 36px rgba(23,17,13,.24)}
.btn--ghost{
  border-color:rgba(23,17,13,.16);
  background:rgba(255,255,255,.58);
  color:var(--ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.btn--ghost:hover{background:rgba(255,255,255,.82)}
.link{
  color:var(--ink);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-decoration-color:rgba(150,114,74,.45);
  text-underline-offset:3px;
}
.link:hover{text-decoration-color:rgba(150,114,74,.85)}

.frame{
  position:relative;
  padding:18px;
  border-radius:var(--radius-xxl);
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(145deg, rgba(255,255,255,.78), rgba(255,255,255,.46));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.frame::before{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:calc(var(--radius-xxl) - 10px);
  border:1px solid rgba(195,160,116,.16);
  pointer-events:none;
}
.frame__inner{
  position:relative;
  padding:18px;
  border-radius:calc(var(--radius-xxl) - 10px);
  border:1px solid rgba(255,255,255,.88);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,239,228,.88));
}
.frame--portrait .photoFullWrap{aspect-ratio:4 / 5}
.frame--hero .photoFullWrap{aspect-ratio:4 / 4.85}
.photoFullWrap{
  position:relative;
  overflow:hidden;
  border-radius:calc(var(--radius-lg) - 4px);
  background:#eee6db;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.photoFull{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}
.frame:hover .photoFull,
.diptych__panel:hover img{transform:scale(1.035)}
.imglabel{
  position:absolute;
  left:18px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:8px 13px;
  border-radius:999px;
  color:#fff;
  background:rgba(23,17,13,.56);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}
.collection__visual{
  max-width:920px;
  margin:0 auto 34px;
}
.frame--compact{
  padding:14px;
  border-radius:34px;
}
.frame--compact::before{
  inset:11px;
  border-radius:24px;
}
.frame--compact .frame__inner{padding:14px}
.frame--compact .diptych{gap:14px}
.diptych{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:20px;
}
.diptych__panel{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  margin:0;
  background:#f2ede6;
  box-shadow:0 18px 40px rgba(46,29,13,.1);
}
.diptych__panel img{
  width:100%;
  aspect-ratio:4 / 4.9;
  object-fit:cover;
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1);
}
.diptych__panel .imglabel{left:14px;bottom:14px}

.dot{
  width:8px;
  height:8px;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--accent-deep);
  box-shadow:0 0 0 7px rgba(150,114,74,.14);
}
.dotsep{color:rgba(255,243,233,.38)}
.page-home .dotsep,
.page-about .dotsep{color:rgba(23,17,13,.35)}

.meta{
  position:relative;
  display:grid;
  gap:7px;
  padding:18px 20px;
  border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.76);
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,248,242,.66));
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.meta::before{
  content:"";
  position:absolute;
  left:18px;
  right:18px;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(195,160,116,.56), transparent);
}
.meta__k{color:var(--muted)}
.meta__v{font-size:.98rem;color:var(--ink-soft)}

.section__head{
  display:grid;
  gap:14px;
  max-width:780px;
  margin-bottom:34px;
}
.section__head .muted{max-width:62ch}

.cards{
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
}
.card,
.ordercard,
.asidebox,
.callout,
details,
.stripe{
  position:relative;
  border:1px solid rgba(255,255,255,.74);
  overflow:hidden;
}
.card,
.ordercard,
.orderaside,
.asidebox,
.callout,
.stripe{
  border-radius:var(--radius-lg);
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,248,240,.64));
  box-shadow:var(--shadow-soft);
}
.card::before,
.ordercard::before,
.asidebox::before,
.callout::before,
.stripe::before,
details::before{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(195,160,116,.56), transparent);
}
.card{
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:28px;
  min-height:100%;
  transition:transform .34s ease, box-shadow .34s ease, border-color .34s ease;
}
.card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-card);
  border-color:rgba(195,160,116,.26);
}
.card--muted{background:linear-gradient(180deg, rgba(255,255,255,.78), rgba(239,222,214,.56))}
.card__top{display:grid;gap:10px}
.card__desc{margin:0;color:var(--muted)}
.card__foot{
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:13px;
}
.list li{
  position:relative;
  padding-left:24px;
  color:var(--ink-soft);
}
.list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.66em;
  width:9px;
  height:9px;
  border-radius:999px;
  background:radial-gradient(circle at 34% 34%, #ead4b3 0 32%, var(--accent-deep) 34% 100%);
  box-shadow:0 0 0 4px rgba(195,160,116,.12);
}

.tag,
.pill{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:8px 13px;
  border-radius:999px;
  color:var(--ink-soft);
  background:linear-gradient(180deg, rgba(235,220,200,.54), rgba(255,255,255,.76));
  border:1px solid rgba(195,160,116,.18);
}
.tag--soft{background:rgba(255,255,255,.78)}
.pillrow{display:flex;flex-wrap:wrap;gap:10px}

.ordergrid{
  grid-template-columns:repeat(2, minmax(0,1fr)) minmax(320px, .88fr);
  gap:26px;
  align-items:start;
}
.ordercard{
  padding:28px;
  display:grid;
  gap:22px;
}
.ordercard__head{
  display:grid;
  gap:10px;
  margin:0;
}
.ordercard__eyebrow{
  display:inline-flex;
  align-items:center;
  justify-self:start;
  min-height:30px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(195,160,116,.18);
  background:linear-gradient(180deg, rgba(235,220,200,.5), rgba(255,255,255,.72));
  color:var(--muted);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.orderoptions{
  display:grid;
  gap:14px;
}
.orderoption{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px 18px;
  border-radius:24px;
  border:1px solid rgba(195,160,116,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(250,244,236,.68));
  box-shadow:0 16px 34px rgba(46,29,13,.08);
}
.orderoption__media{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}
.orderoption__thumb{
  width:74px;
  height:74px;
  flex:0 0 auto;
  border-radius:22px;
  object-fit:cover;
  box-shadow:0 14px 24px rgba(46,29,13,.12);
}
.orderoption__copy{min-width:0}
.orderoption__copy h4{
  margin:0 0 5px;
  font-family:var(--serif);
  font-size:1.5rem;
  font-weight:500;
  line-height:1;
  letter-spacing:-.02em;
}
.orderoption__copy p{
  margin:0;
  color:var(--muted);
  font-size:.96rem;
}
.orderoption__btn{
  min-width:124px;
  width:auto;
}
.ordercard__fine{
  display:grid;
  gap:8px;
}
.ordercard__fine p{margin:0}
.ordercard__meta{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
  margin-top:2px;
}
.orderaside{
  display:grid;
  gap:24px;
  position:sticky;
  top:118px;
}
.stripe{
  padding:20px;
  background:linear-gradient(180deg, rgba(247,239,228,.9), rgba(255,251,246,.76));
}
.stripe .hero__cta{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
}
.asidebox{padding:24px}
.asidebox--light{
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(239,222,214,.62));
}
.asidefine{margin-top:18px;padding-top:18px;border-top:1px solid rgba(23,17,13,.1)}
.steps{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:16px;
}
.steps li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:start;
  color:var(--ink-soft);
}
.n{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background:linear-gradient(145deg, #251913, #17100d);
  border:1px solid rgba(255,255,255,.1);
  color:#fff;
  font-size:.76rem;
  letter-spacing:.14em;
  box-shadow:0 16px 28px rgba(23,17,13,.18);
}

.split{
  grid-template-columns:minmax(0, 1fr) minmax(340px, .94fr);
  gap:36px 56px;
  align-items:center;
}
.split__copy{max-width:660px}
.callout{
  margin-top:30px;
  padding:28px 30px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px 28px;
  background:linear-gradient(135deg, rgba(255,255,255,.84), rgba(241,229,214,.74));
}
.callout::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(195,160,116,.07), transparent 34%);
  pointer-events:none;
}
.callout > *{position:relative;z-index:1}

.faq{display:grid;gap:14px}
details{
  border-radius:var(--radius-md);
  background:rgba(255,255,255,.7);
  box-shadow:var(--shadow-soft);
}
details[open]{
  background:rgba(255,255,255,.82);
  box-shadow:0 20px 48px rgba(46,29,13,.1);
}
summary{
  position:relative;
  padding:22px 58px 22px 24px;
  cursor:pointer;
  font-weight:500;
  list-style:none;
}
summary::-webkit-details-marker{display:none}
summary::after{
  content:"+";
  position:absolute;
  right:24px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.2rem;
  color:var(--muted);
}
details[open] summary::after{content:"–"}
.faq__a{
  padding:0 24px 24px;
  color:var(--ink-soft);
}

.footer{
  position:relative;
  margin-top:0;
  padding:52px 0 28px;
  border-top:1px solid rgba(255,255,255,.06);
  background:
    radial-gradient(circle at 18% 0%, rgba(255,255,255,.08), transparent 16%),
    linear-gradient(180deg, #18110d 0%, #120b08 100%);
  color:rgba(255,249,243,.92);
}
.footer::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(86%, 1040px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(195,160,116,.58), transparent);
}
.footer__grid{
  grid-template-columns:minmax(0, 1.1fr) repeat(2, minmax(180px, .72fr));
  gap:32px;
  align-items:start;
}
.footer__links,
.footer__contact,
.footer__brand{
  display:grid;
  gap:11px;
}
.footer__links a,
.footer__contact .link,
.footer__contact a{color:rgba(255,248,241,.88)}
.footer__links a:hover,
.footer__contact .link:hover,
.footer__contact a:hover{color:#fff}
.footer__muted{color:rgba(255,241,230,.68)}
.footer__brandlogo{
  display:block;
  width:min(320px, 100%);
  max-width:100%;
  height:auto;
  margin:0 0 14px 0;
}
.footer__fine{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  padding-top:24px;
  margin-top:28px;
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(255,241,230,.62);
  font-size:.95rem;
}
.footer__fine--brand{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
}
.footer__fine-logo{
  display:inline-flex;
  align-items:center;
}
.footer__fine-logo img{
  display:block;
  width:186px;
  max-width:42vw;
  height:auto;
}
.footer__sealmark{
  display:block;
  width:74px;
  height:auto;
  margin:0 auto 14px;
}
.footer .link{
  color:rgba(255,248,241,.94);
  text-decoration-color:rgba(195,160,116,.46);
}
.footer .dotsep{color:rgba(195,160,116,.56)}

.thanks .hero{padding-top:46px}
.thanks .title{font-size:clamp(2.9rem, 6vw, 4.9rem)}
.page-about .hero::before{opacity:.05}
.page-about .hero__visual .imglabel{background:rgba(23,17,13,.58)}
.page-thanks .hero::before{opacity:.06}

.reveal{
  opacity:1;
  transform:none;
}
html.js .reveal{
  opacity:1;
  transform:none;
  transition:none;
  will-change:auto;
}
html.js .reveal.is-visible{
  opacity:1;
  transform:none;
}

@media (max-width: 1180px){
  .hero__meta,
  .ordercard__meta{grid-template-columns:repeat(2, minmax(0,1fr))}
}

@media (max-width: 1100px){
  .footer__grid{grid-template-columns:1fr 1fr}
  .ordergrid{grid-template-columns:1fr 1fr}
  .orderaside{
    position:static;
    grid-column:1 / -1;
  }
}

@media (max-width: 980px){
  .top{padding-top:10px}
  .nav{min-height:82px}
  .navlinks{display:none}
  .navtoggle{display:inline-flex}
  .hero__grid,
  .split,
  .hero--thanks .hero__grid,
  .ordergrid,
  .footer__grid,
  .cards{grid-template-columns:1fr}
  .section{padding:var(--section-space-tablet) 0}
  .hero{padding:24px 0 78px}
  .hero__copy{max-width:none}
  .hero__meta{grid-template-columns:1fr}
  .callout{flex-direction:column;align-items:flex-start}
  .orderaside{order:3}
  .orderoption{grid-template-columns:1fr}
  .orderoption__btn{width:100%}
  .stripe .hero__cta{grid-template-columns:1fr}
}

@media (max-width: 640px){
  .section{padding:var(--section-space-mobile) 0}
  .hero{padding:20px 0 62px}
  .section__head{margin-bottom:26px}
  .cards{gap:18px}
  .callout{margin-top:22px}
  .pillrow--home{margin-top:14px}
  .container{width:min(calc(100% - 28px), var(--container))}
  .hero__grid{width:min(calc(100% - 28px), var(--container))}
  .title{font-size:clamp(2.5rem, 12vw, 4.1rem)}
  .h2{font-size:clamp(2rem, 9vw, 2.95rem)}
  .lead{font-size:1rem}
  .frame,
  .card,
  .ordercard,
  .asidebox,
  .callout,
  .stripe{padding-left:18px;padding-right:18px}
  .frame--compact{padding:12px}
  .frame--compact .frame__inner{padding:12px}
  .frame{padding:12px}
  .frame__inner{padding:12px}
  .hero__cta{flex-direction:column;align-items:stretch}
  .btn{width:100%}
  .orderoption{padding:14px}
  .orderoption__media{align-items:flex-start}
  .orderoption__thumb{width:68px;height:68px;border-radius:18px}
  .orderoption__copy h4{font-size:1.36rem}
  .ordercard__meta{grid-template-columns:1fr}
  summary{padding-right:50px}
  .footer__fine{font-size:.9rem}
  .brand__logo{width:min(236px, 66vw)}
  .footer__brandlogo{width:min(240px, 90vw)}
  .footer__fine-logo img{width:150px;max-width:50vw}
  .eyebrow::before{width:26px}
  .hero__concierge .small,
  .hero__note{border-radius:22px}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal,
  .reveal.is-visible,
  .btn,
  .card,
  .photoFull,
  .diptych__panel img,
  .nav,
  .top{
    transition:none !important;
    transform:none !important;
  }
  body::before{display:none}
}


/* simplified-storefront-order-page */
.shop-hero{
  position:relative;
  padding:28px 0 18px;
}
.shop-hero__shell{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  padding:34px 38px;
  border-radius:var(--radius-xl);
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,249,242,.62));
  box-shadow:var(--shadow-soft);
}
.shop-hero__copy{max-width:58ch}
.shop-hero .title{font-size:clamp(3rem, 7vw, 5.15rem)}
.shop-hero .lead{margin-top:18px;max-width:48ch}
.shop-hero__cta{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
}
.shop-strip{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}
.shop-pill{
  display:grid;
  gap:6px;
  padding:18px 20px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(250,242,233,.6));
  box-shadow:var(--shadow-soft);
}
.shop-pill__k{
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.shop-pill__v{
  font-size:1rem;
  color:var(--ink-soft);
}
.shop-section{padding-top:54px}
.shop-section__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:32px;
}
.shop-section__head .muted{max-width:38ch;margin:0}
.store-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(248px,1fr));
  gap:24px;
}
.store-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:18px;
  min-height:100%;
  padding:20px;
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.74);
  background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,248,240,.64));
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:transform .34s ease, box-shadow .34s ease, border-color .34s ease;
}
.store-card::before{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  top:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(195,160,116,.56), transparent);
}
.store-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-card);
  border-color:rgba(195,160,116,.26);
}
.store-card__media{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:26px;
  background:radial-gradient(circle at top, rgba(255,255,255,.94), rgba(242,237,230,.82));
  box-shadow:0 18px 40px rgba(46,29,13,.1);
}
.store-card__media img{
  display:block;
  width:100%;
  aspect-ratio:1 / .94;
  object-fit:contain;
  padding:22px;
}
.store-card__badge{
  position:absolute;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(23,17,13,.74);
  color:#fff8f1;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}
.store-card__body{
  display:grid;
  gap:12px;
  flex:1;
}
.store-card__title{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(1.58rem, 2.5vw, 1.92rem);
  font-weight:500;
  line-height:.96;
  letter-spacing:-.014em;
  text-wrap:balance;
}
.store-card__summary{margin:0;color:var(--muted)}
.store-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  color:var(--ink-soft);
  font-size:.96rem;
}
.store-card__meta span{position:relative}
.store-card__meta span + span::before{
  content:"•";
  margin-right:10px;
  color:rgba(150,114,74,.75);
}
.store-card__purchase{
  display:grid;
  gap:10px;
  margin-top:4px;
}
.store-card__label{
  display:block;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.store-card__field{
  position:relative;
}
.store-card__field::after{
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:10px;
  height:10px;
  border-right:1.5px solid rgba(23,17,13,.55);
  border-bottom:1.5px solid rgba(23,17,13,.55);
  transform:translateY(-60%) rotate(45deg);
  pointer-events:none;
}
.store-card__select{
  width:100%;
  min-height:54px;
  padding:14px 46px 14px 16px;
  border-radius:18px;
  border:1px solid rgba(23,17,13,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,239,228,.78));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  color:var(--ink);
  font:inherit;
  line-height:1.2;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.store-card__select:hover{
  border-color:rgba(150,114,74,.3);
}
.store-card__select:focus-visible{
  outline:2px solid rgba(150,114,74,.48);
  outline-offset:3px;
}
.store-card__cta{
  margin-top:auto;
  width:100%;
}
.store-note{
  margin-top:28px;
  padding:20px 24px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.58);
  box-shadow:var(--shadow-soft);
}
.store-note p{margin:0}

@media (max-width: 980px){
  .shop-hero__shell,
  .shop-section__head{
    flex-direction:column;
    align-items:flex-start;
  }
  .shop-hero__cta{
    width:100%;
    justify-content:flex-start;
  }
  .shop-strip{grid-template-columns:1fr}
  .shop-section{padding-top:42px}
}

@media (max-width: 640px){
  .shop-hero{padding:22px 0 12px}
  .shop-hero__shell{padding:22px}
  .shop-hero .title{font-size:clamp(2.5rem, 12vw, 4rem)}
  .shop-pill{padding:16px 18px}
  .shop-section__head{margin-bottom:24px}
  .store-card{padding:16px}
  .store-card__media{border-radius:22px}
  .store-card__media img{padding:18px}
  .store-card__badge{top:12px;left:12px}
  .store-note{padding:18px 20px}
}

@media (prefers-reduced-motion: reduce){
  .store-card,
  .store-card:hover,
  .shop-hero__shell{
    transition:none !important;
    transform:none !important;
  }
}

/* multipage-site refinements */
.page-collection .hero::before,
.page-approach .hero::before,
.page-faq .hero::before,
.page-order .shop-hero::before,
.page-about .hero::before,
.page-thanks .hero::before{
  opacity:.06;
}

.page-home .cards,
.page-collection .cards,
.page-about .cards{
  align-items:stretch;
}

.page-home .card__foot .link,
.page-collection .card__foot .link,
.page-about .card__foot .link{
  font-weight:500;
}

.page-faq .faq,
.page-home .faq{
  max-width:920px;
}

/* ===== Homepage tightening pass ===== */
.page-home .hero--home{
  padding:clamp(22px, 4vw, 42px) 0 clamp(56px, 6vw, 82px);
}
.page-home .hero--home .hero__grid{
  grid-template-columns:minmax(0, .98fr) minmax(330px, .84fr);
  gap:clamp(26px, 4vw, 54px);
  align-items:center;
}
.page-home .hero--home .hero__copy{
  max-width:640px;
}
.page-home .hero--home .hero__visual{
  max-width:500px;
  justify-self:end;
}
.page-home .hero--home .eyebrow{
  margin-bottom:14px;
}
.page-home .hero--home .title{
  max-width:10.4ch;
  font-size:clamp(2.95rem, 5.5vw, 4.75rem);
  line-height:.88;
  letter-spacing:-.03em;
}
.page-home .h2{
  font-size:clamp(2.05rem, 4vw, 3.05rem);
}
.page-home .h3{
  font-size:clamp(1.5rem, 2.25vw, 1.9rem);
}
.page-home .hero--home .lead{
  max-width:52ch;
  margin-top:18px;
  font-size:1.02rem;
}
.page-home .hero--home .hero__cta{
  margin-top:28px;
  gap:12px;
}
.page-home .hero--home .hero__concierge{
  margin-top:18px;
}
.page-home .hero--home .hero__concierge .small{
  padding:11px 14px;
  gap:8px;
}
.page-home .hero--home .hero__meta{
  gap:12px;
  margin-top:24px;
}
.page-home .hero--home .meta{
  padding:16px 17px;
  border-radius:18px;
}
.page-home .hero--home .meta__v{
  font-size:.95rem;
}
.page-home .hero--home .frame{
  padding:14px;
  border-radius:34px;
}
.page-home .hero--home .frame__inner{
  padding:14px;
}
.page-home .hero--home .frame--hero .photoFullWrap{
  aspect-ratio:4 / 4.45;
}
.page-home .hero--home .hero__note{
  margin-top:14px;
  padding:12px 16px;
  border-radius:22px;
  font-size:.9rem;
}
.page-home .section{
  padding:84px 0;
}
.page-home main > .section:first-of-type{
  padding-top:70px;
}
.page-home .section__head{
  gap:12px;
  max-width:700px;
  margin-bottom:26px;
}
.page-home .cards{
  gap:20px;
}
.page-home .card{
  gap:16px;
  padding:24px;
  border-radius:24px;
}
.page-home .card__desc{
  line-height:1.55;
}
.page-home .collection__visual{
  max-width:860px;
  margin:0 auto 26px;
}
.page-home .frame--compact{
  padding:12px;
}
.page-home .frame--compact .frame__inner{
  padding:12px;
}
.page-home .diptych{
  gap:12px;
}
.page-home .callout{
  margin-top:24px;
  padding:24px 26px;
  gap:18px 24px;
  border-radius:28px;
}
.page-home .callout .hero__cta{
  margin-top:0;
  gap:12px;
}
.page-home .pillrow--home{
  margin-top:14px;
  gap:8px;
}
.page-home .pill,
.page-home .tag{
  min-height:30px;
  padding:7px 11px;
}
@media (max-width: 1100px){
  .page-home .hero--home .hero__grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .page-home .hero--home .hero__visual{
    max-width:none;
    justify-self:auto;
  }
}
@media (max-width: 980px){
  .page-home .section{
    padding:70px 0;
  }
  .page-home .hero--home{
    padding:18px 0 60px;
  }
  .page-home .hero--home .title{
    max-width:none;
    font-size:clamp(2.7rem, 10vw, 4.2rem);
  }
  .page-home .hero--home .hero__meta{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .page-home .section{
    padding:56px 0;
  }
  .page-home .hero--home{
    padding:12px 0 46px;
  }
  .page-home .hero--home .title{
    font-size:clamp(2.35rem, 11vw, 3.45rem);
  }
  .page-home .hero--home .lead{
    margin-top:14px;
    font-size:.98rem;
  }
  .page-home .hero--home .hero__cta{
    margin-top:22px;
  }
  .page-home .hero--home .hero__concierge .small,
  .page-home .hero--home .hero__note{
    padding:12px 14px;
  }
  .page-home .section__head{
    margin-bottom:20px;
  }
  .page-home .card,
  .page-home .callout{
    padding:18px;
  }
}

/* Web Station storefront + admin */
.store-toolbar{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:14px 20px;
  margin:0 0 22px;
}
.store-note--inline{
  grid-column:1 / -1;
}
.store-empty{
  grid-column:1 / -1;
}
.page-admin .shop-hero{padding-bottom:16px}
.admin-section{padding-top:18px;padding-bottom:72px}
.admin-login{max-width:540px;margin:0 auto 28px}
.admin-login__card,
.admin-sidebar,
.admin-editor{
  border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.74);
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,248,240,.68));
  box-shadow:var(--shadow-soft);
}
.admin-login__card{padding:32px}
.admin-shell{
  display:grid;
  grid-template-columns:minmax(280px, 340px) minmax(0, 1fr);
  gap:24px;
  align-items:start;
}
.admin-sidebar,
.admin-editor{padding:28px}
.admin-sidebar{position:sticky;top:108px}
.admin-sidebar__head,
.admin-editor__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.admin-sidebar__note{margin:12px 0 0}
.admin-products{display:grid;gap:12px;margin-top:20px}
.admin-product{
  width:100%;
  text-align:left;
  border:1px solid rgba(23,17,13,.09);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,239,229,.76));
  border-radius:20px;
  padding:16px 18px;
  cursor:pointer;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.admin-product:hover{
  border-color:rgba(150,114,74,.24);
  box-shadow:0 12px 24px rgba(46,29,13,.08);
  transform:translateY(-2px);
}
.admin-product.is-active{
  border-color:rgba(150,114,74,.4);
  box-shadow:0 18px 32px rgba(46,29,13,.1);
}
.admin-product.is-hidden-product{opacity:.72}
.admin-product__top,
.admin-product__bottom{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.admin-product__top strong{
  font:500 1rem/1.2 var(--sans);
  color:var(--ink);
}
.admin-product__badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(23,17,13,.08);
  color:var(--ink-soft);
  font-size:.7rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.admin-product__bottom{
  margin-top:10px;
  color:var(--muted);
  font-size:.88rem;
}
.admin-banner,
.admin-feedback{
  border-radius:18px;
  min-height:24px;
  padding:14px 16px;
  background:rgba(255,255,255,.72);
  color:var(--ink-soft);
}
.admin-feedback{margin:0}
.admin-banner--success,
.admin-feedback--success{
  background:rgba(54,117,63,.1);
  color:#24542b;
}
.admin-banner--error,
.admin-feedback--error{
  background:rgba(145,43,32,.1);
  color:#6c1e15;
}
.admin-form{display:grid;gap:18px;margin-top:18px}
.admin-form--login{margin-top:24px}
.admin-grid{display:grid;gap:16px}
.admin-grid--two{grid-template-columns:repeat(2, minmax(0, 1fr))}
.admin-field{display:grid;gap:10px}
.admin-label{
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.admin-input{
  width:100%;
  min-height:54px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(23,17,13,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,239,228,.76));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  color:var(--ink);
  font:inherit;
}
.admin-input:focus-visible{
  outline:2px solid rgba(150,114,74,.48);
  outline-offset:3px;
}
.admin-textarea{
  min-height:132px;
  resize:vertical;
}
.admin-upload{display:grid;gap:14px}
.admin-upload__field{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.admin-preview{
  width:min(100%, 260px);
  padding:12px;
  border-radius:22px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(23,17,13,.08);
}
.admin-preview img{
  display:block;
  width:100%;
  border-radius:16px;
  object-fit:contain;
}
.admin-check{
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:12px;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(23,17,13,.08);
  background:rgba(255,255,255,.62);
}
.admin-check input{
  width:18px;
  height:18px;
  margin-top:3px;
}
.admin-check strong{display:block;color:var(--ink);font-weight:500}
.admin-check small{display:block;color:var(--muted);margin-top:4px}
.admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.admin-actions--inline{justify-content:flex-end}
.admin-actions--stack{align-items:flex-start}
.admin-actions--spread{justify-content:space-between}
.btn--small{padding:10px 16px;min-height:42px}
.btn--danger{
  border-color:rgba(145,43,32,.16);
  color:#6c1e15;
}
.btn--danger:hover{
  border-color:rgba(145,43,32,.28);
  background:rgba(145,43,32,.08);
}
#checkoutFields.is-disabled{opacity:.56}
#checkoutFields.is-disabled .admin-input{cursor:not-allowed}
@media (max-width: 980px){
  .admin-shell{grid-template-columns:1fr}
  .admin-sidebar{position:static}
  .admin-sidebar__head,
  .admin-editor__head,
  .admin-actions--spread{flex-direction:column;align-items:flex-start}
}
@media (max-width: 640px){
  .admin-login__card,
  .admin-sidebar,
  .admin-editor{padding:20px}
  .admin-grid--two{grid-template-columns:1fr}
  .admin-upload__field{align-items:stretch}
  .store-toolbar{align-items:flex-start}
}


/* admin compatibility fix */
.page-admin .admin-hero{padding-bottom:34px}
.page-admin .admin-section{padding-top:40px}
.page-admin .admin-login__card,
.page-admin .admin-sidebar,
.page-admin .admin-editor{
  border:1px solid rgba(255,255,255,.74);
  background:rgba(255,250,244,.82);
  backdrop-filter:blur(16px) saturate(125%);
  box-shadow:var(--shadow-soft);
}
.page-admin .admin-login__card{
  width:min(100%, 620px);
  margin:0 auto;
  padding:28px;
  border-radius:32px;
  display:grid;
  gap:20px;
}
.page-admin .admin-shell{
  display:grid;
  grid-template-columns:minmax(280px, 360px) minmax(0, 1fr);
  gap:22px;
  align-items:start;
}
.page-admin .admin-sidebar,
.page-admin .admin-editor{
  padding:24px;
  border-radius:30px;
}
.page-admin .admin-sidebar{
  position:sticky;
  top:120px;
}
.page-admin .admin-sidebar__head,
.page-admin .admin-editor__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.page-admin .admin-sidebar__note{margin:10px 0 0}
.page-admin .admin-products{
  display:grid;
  gap:12px;
  margin-top:22px;
}
.page-admin .admin-product{
  width:100%;
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px;
  border-radius:22px;
  border:1px solid rgba(23,17,13,.08);
  background:rgba(255,255,255,.74);
  box-shadow:0 10px 28px rgba(46,29,13,.06);
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.page-admin .admin-product:hover{
  transform:translateY(-1px);
  border-color:rgba(150,114,74,.24);
  box-shadow:0 14px 30px rgba(46,29,13,.08);
}
.page-admin .admin-product.is-active{
  border-color:rgba(150,114,74,.38);
  box-shadow:0 18px 36px rgba(46,29,13,.1);
}
.page-admin .admin-product--empty{
  padding:18px 20px;
  cursor:default;
}
.page-admin .admin-product__thumb{
  width:62px;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,239,228,.78));
  flex:0 0 auto;
}
.page-admin .admin-product__copy{
  min-width:0;
  display:grid;
  gap:4px;
}
.page-admin .admin-product__copy strong{
  font-size:1rem;
  line-height:1.2;
}
.page-admin .admin-product__meta{
  color:var(--muted);
  font-size:.88rem;
}
.page-admin .admin-banner{
  margin:18px 0 20px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(23,17,13,.08);
  background:rgba(255,255,255,.74);
  color:var(--ink-soft);
}
.page-admin .admin-banner[data-state="success"],
.page-admin .admin-feedback[data-state="success"]{color:#2d5f3d}
.page-admin .admin-banner[data-state="error"],
.page-admin .admin-feedback[data-state="error"]{color:#8a2c2c}
.page-admin .admin-banner[data-state="error"]{
  border-color:rgba(138,44,44,.18);
  background:rgba(255,248,247,.92);
}
.page-admin .admin-banner[data-state="success"]{
  border-color:rgba(45,95,61,.14);
  background:rgba(248,255,250,.92);
}
.page-admin .admin-form{
  display:grid;
  gap:18px;
}
.page-admin .admin-form--login{gap:16px}
.page-admin .admin-grid{
  display:grid;
  gap:16px;
}
.page-admin .admin-grid--two{grid-template-columns:repeat(2, minmax(0, 1fr))}
.page-admin .admin-field{
  display:grid;
  gap:8px;
}
.page-admin .admin-label{
  font-size:.74rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
}
.page-admin .admin-input{
  width:100%;
  min-height:54px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(23,17,13,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,239,228,.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  color:var(--ink);
  font:inherit;
  transition:border-color .22s ease, box-shadow .22s ease;
}
.page-admin .admin-input:focus-visible{
  outline:2px solid rgba(150,114,74,.42);
  outline-offset:2px;
}
.page-admin .admin-textarea{
  min-height:128px;
  resize:vertical;
}
.page-admin .admin-check{
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:12px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(23,17,13,.08);
  background:rgba(255,255,255,.68);
}
.page-admin .admin-check input{
  margin-top:4px;
  inline-size:18px;
  block-size:18px;
}
.page-admin .admin-check span{
  display:grid;
  gap:3px;
}
.page-admin .admin-check small{color:var(--muted)}
.page-admin .admin-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.page-admin .admin-actions--inline{justify-content:flex-end}
.page-admin .admin-actions--spread{justify-content:space-between}
.page-admin .admin-actions--stack{align-items:flex-start;flex-direction:column}
.page-admin .admin-feedback{
  margin:0;
  min-height:1.5em;
  color:var(--muted);
}
.page-admin .admin-upload{
  display:grid;
  gap:16px;
  grid-template-columns:minmax(0, 1fr) 140px;
  align-items:start;
}
.page-admin .admin-upload__field{
  display:grid;
  gap:12px;
}
.page-admin .admin-field--file .admin-input{
  padding:12px 14px;
}
.page-admin .admin-preview{
  padding:10px;
  border-radius:22px;
  border:1px solid rgba(23,17,13,.08);
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 24px rgba(46,29,13,.05);
}
.page-admin .admin-preview img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:16px;
}
.page-admin #checkoutFields.is-disabled{
  opacity:.55;
}
@media (max-width: 980px){
  .page-admin .admin-shell{grid-template-columns:1fr}
  .page-admin .admin-sidebar{position:static}
}
@media (max-width: 720px){
  .page-admin .admin-sidebar__head,
  .page-admin .admin-editor__head,
  .page-admin .admin-actions--spread{
    flex-direction:column;
    align-items:flex-start;
  }
  .page-admin .admin-grid--two,
  .page-admin .admin-upload{
    grid-template-columns:1fr;
  }
  .page-admin .admin-login__card,
  .page-admin .admin-sidebar,
  .page-admin .admin-editor{
    padding:20px;
    border-radius:24px;
  }
}


/* ===== Butter Street order page refresh ===== */
.page-cart-store{
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,.88), transparent 22%),
    radial-gradient(circle at 92% 6%, rgba(235,220,199,.56), transparent 24%),
    linear-gradient(180deg, #faf5ee 0%, #f5ede3 54%, #efe4d8 100%);
}
.page-cart-store #main{
  padding-bottom:42px;
}
.page-cart-store .top{
  padding-bottom:10px;
}
.page-cart-store .nav{
  min-height:82px;
  background:rgba(255,251,246,.82);
  box-shadow:0 18px 48px rgba(46,29,13,.08);
}
.page-cart-store .order-store{
  padding:18px 0 74px;
}
.page-cart-store .order-store::before{
  opacity:0;
}
.page-cart-store .order-store__shell{
  padding:26px 26px 22px;
  border-radius:32px;
  border:1px solid rgba(195,160,116,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.86), rgba(250,244,237,.74)),
    radial-gradient(circle at top right, rgba(195,160,116,.1), transparent 58%);
  box-shadow:0 18px 46px rgba(46,29,13,.06);
}
.page-cart-store .shop-section__head--compact{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px 28px;
  margin-bottom:18px;
}
.page-cart-store .shop-section__head--compact .muted{
  max-width:42ch;
  margin:0;
  font-size:.98rem;
  line-height:1.6;
}
.page-cart-store .h2--compact{
  margin:0;
  line-height:.96;
  font-size:clamp(1.8rem,3.2vw,2.3rem);
}
.page-cart-store .store-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px 20px;
  margin:0 0 20px;
  padding:13px 16px;
  border-radius:18px;
  border:1px solid rgba(23,17,13,.08);
  background:rgba(255,255,255,.66);
}
.page-cart-store .store-toolbar .muted{
  margin:0;
  color:rgba(95,73,50,.9);
}
.page-cart-store .link--button{
  border:0;
  padding:0;
  background:none;
  color:var(--accent-deep);
  font:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.page-cart-store .store-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(268px,310px));
  justify-content:center;
  align-items:start;
  gap:20px;
}
.page-cart-store .store-card{
  width:min(100%,310px);
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:14px;
  min-height:0;
  padding:18px;
  border-radius:28px;
  border:1px solid rgba(195,160,116,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(249,243,236,.86));
  box-shadow:0 14px 34px rgba(46,29,13,.07);
}
.page-cart-store .store-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(46,29,13,.1);
}
.page-cart-store .store-card::before{
  left:20px;
  right:20px;
  background:linear-gradient(90deg, transparent, rgba(195,160,116,.48), transparent);
}
.page-cart-store .store-card__media{
  position:relative;
  display:block;
  overflow:hidden;
  min-height:184px;
  border-radius:22px;
  border:1px solid rgba(195,160,116,.14);
  background:radial-gradient(circle at 50% 24%, rgba(255,255,255,.98), rgba(246,238,228,.95));
  box-shadow:0 16px 36px rgba(46,29,13,.08);
}
.page-cart-store .store-card__media img{
  display:block;
  width:100%;
  height:184px;
  object-fit:contain;
  padding:14px;
  background:transparent;
}
.page-cart-store .store-card__badge{
  top:12px;
  left:12px;
  min-height:26px;
  padding:6px 10px;
  background:rgba(255,251,246,.94);
  border:1px solid rgba(195,160,116,.18);
  color:var(--accent-deep);
  font-size:.68rem;
  letter-spacing:.14em;
}
.page-cart-store .store-card__zoomhint{
  position:absolute;
  right:12px;
  bottom:12px;
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(23,17,13,.62);
  color:#fff8f1;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
}
.page-cart-store .store-card__body{
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
  min-height:0;
}
.page-cart-store .store-card__title{
  margin:0;
  font-size:1.5rem;
  line-height:1.02;
  letter-spacing:-.015em;
}
.page-cart-store .store-card__summary{
  margin:0;
  min-height:0;
  font-size:.96rem;
  line-height:1.58;
}
.page-cart-store .store-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:0;
}
.page-cart-store .store-card__meta:empty{
  display:none;
}
.page-cart-store .store-card__meta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(195,160,116,.1);
  color:var(--ink-soft);
  font-size:.75rem;
}
.page-cart-store .store-card__meta span + span::before{
  display:none;
}
.page-cart-store .store-card__purchase{
  display:grid;
  gap:10px;
  margin-top:4px;
  padding:14px;
  border-radius:18px;
  border:1px solid rgba(195,160,116,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,248,238,.68));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 10px 24px rgba(46,29,13,.05);
}
.page-cart-store .store-card__label{
  display:block;
  margin-bottom:6px;
  color:rgba(80,58,37,.88);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.page-cart-store .store-card__field{
  position:relative;
}
.page-cart-store .store-card__field::after{
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:10px;
  height:10px;
  border-right:1.5px solid rgba(23,17,13,.52);
  border-bottom:1.5px solid rgba(23,17,13,.52);
  transform:translateY(-60%) rotate(45deg);
  pointer-events:none;
}
.page-cart-store .store-card__select{
  width:100%;
  min-height:52px;
  padding:13px 44px 13px 15px;
  border-radius:16px;
  border:1px solid rgba(23,17,13,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,242,232,.86));
  color:var(--ink);
  font:inherit;
  font-weight:500;
  line-height:1.2;
  appearance:none;
  -webkit-appearance:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  cursor:pointer;
}
.page-cart-store .store-card__select:hover{
  border-color:rgba(150,114,74,.34);
}
.page-cart-store .store-card__select:focus-visible{
  outline:2px solid rgba(150,114,74,.34);
  outline-offset:2px;
}
.page-cart-store .store-card__helper{
  margin:0;
  color:rgba(92,69,45,.88);
  font-size:.88rem;
  line-height:1.45;
}
.page-cart-store .store-card__cta{
  width:100%;
  margin-top:auto;
  justify-content:center;
}
.page-cart-store .store-note{
  margin-top:18px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(23,17,13,.08);
  background:rgba(255,255,255,.64);
  box-shadow:none;
}
.page-cart-store .store-note--minimal{
  background:rgba(255,255,255,.56);
}
.page-cart-store .store-empty{
  max-width:520px;
  margin:8px auto 0;
  padding:22px;
  border-radius:22px;
  border:1px dashed rgba(23,17,13,.16);
  background:rgba(255,255,255,.64);
}
.page-cart-store .cartpill{
  min-height:46px;
}
.page-cart-store .cart-overlay{
  position:fixed;
  inset:0;
  z-index:155;
  background:rgba(23,17,13,.34);
  backdrop-filter:blur(4px);
}
.page-cart-store .cart-drawer{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:160;
  width:min(430px,100%);
  display:flex;
  flex-direction:column;
  border-left:1px solid rgba(255,255,255,.66);
  background:linear-gradient(180deg, rgba(253,248,242,.99), rgba(247,239,228,.97));
  box-shadow:-28px 0 70px rgba(23,17,13,.2);
  transform:translateX(105%);
  transition:transform .28s ease;
}
.page-cart-store .cart-drawer.is-open{
  transform:translateX(0);
}
.page-cart-store .cart-drawer[aria-hidden="true"]{
  pointer-events:none;
}
.page-cart-store .cart-drawer__top,
.page-cart-store .cart-drawer__body,
.page-cart-store .cart-drawer__footer{
  padding:22px;
}
.page-cart-store .cart-drawer__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid rgba(23,17,13,.08);
}
.page-cart-store .cart-drawer__top .eyebrow{
  margin-bottom:10px;
  gap:10px;
  font-size:.68rem;
  letter-spacing:.18em;
}
.page-cart-store .cart-drawer__top .eyebrow::before{
  width:24px;
}
.page-cart-store .cart-drawer__title{
  margin:0;
  font-size:1.9rem;
  font-family:var(--serif);
  font-weight:500;
  line-height:1;
}
.page-cart-store .cart-drawer__close{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid rgba(23,17,13,.12);
  background:#fff;
  color:var(--ink);
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
}
.page-cart-store .cart-drawer__body{
  flex:1;
  overflow:auto;
  display:grid;
  align-content:start;
  gap:14px;
}
.page-cart-store .cart-empty{
  padding:18px;
  border-radius:20px;
  border:1px dashed rgba(23,17,13,.14);
  background:rgba(255,255,255,.68);
}
.page-cart-store .cart-empty p{
  margin:0;
}
.page-cart-store .cart-list{
  display:grid;
  gap:12px;
}
.page-cart-store .cart-line{
  display:grid;
  grid-template-columns:74px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px;
  border-radius:20px;
  border:1px solid rgba(23,17,13,.08);
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 26px rgba(23,17,13,.05);
}
.page-cart-store .cart-line__image{
  width:74px;
  height:74px;
  border-radius:16px;
  object-fit:cover;
  background:#fff;
}
.page-cart-store .cart-line__title{
  margin:0 0 4px;
  font-size:1rem;
  line-height:1.25;
  font-family:var(--serif);
}
.page-cart-store .cart-line__meta,
.page-cart-store .cart-line__price{
  margin:0;
  color:var(--muted);
  font-size:.9rem;
}
.page-cart-store .cart-line__controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
.page-cart-store .qty-btn{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(23,17,13,.14);
  border-radius:999px;
  background:#fff;
  font:500 1rem/1 var(--sans);
  cursor:pointer;
}
.page-cart-store .qty-value{
  min-width:16px;
  text-align:center;
  font-weight:600;
}
.page-cart-store .cart-line__remove{
  padding:0;
  border:0;
  background:none;
  color:var(--muted);
  font:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.page-cart-store .cart-line__total{
  font-weight:600;
  white-space:nowrap;
}
.page-cart-store .cart-drawer__footer{
  border-top:1px solid rgba(23,17,13,.08);
  display:grid;
  gap:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.94));
}
.page-cart-store .cart-totals{
  display:grid;
  gap:8px;
}
.page-cart-store .cart-totals__row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
}
.page-cart-store .cart-totals__label{
  color:var(--muted);
}
.page-cart-store .cart-totals__value{
  font-size:1.04rem;
  font-weight:600;
}
.page-cart-store .cart-totals__note{
  margin:8px 0 0;
  font-size:.82rem;
  line-height:1.45;
}
.page-cart-store .image-lightbox{
  position:fixed;
  inset:0;
  z-index:220;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(17,11,8,.78);
  backdrop-filter:blur(10px);
}
.page-cart-store .image-lightbox[hidden]{display:none !important}
.page-cart-store .image-lightbox__dialog{
  position:relative;
  width:min(94vw,980px);
  max-height:88vh;
  padding:18px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.74);
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,239,228,.9));
  box-shadow:0 34px 90px rgba(17,11,8,.32);
}
.page-cart-store .image-lightbox__frame{
  overflow:hidden;
  border-radius:24px;
  background:radial-gradient(circle at top, rgba(255,255,255,.98), rgba(242,237,230,.9));
  border:1px solid rgba(195,160,116,.16);
}
.page-cart-store .image-lightbox__image{
  width:100%;
  max-height:74vh;
  object-fit:contain;
}
.page-cart-store .image-lightbox__close{
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(23,17,13,.12);
  background:rgba(255,255,255,.9);
  color:var(--ink);
  font-size:1.6rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(46,29,13,.12);
}
.page-cart-store .image-lightbox__caption{
  margin:14px 6px 4px;
  color:var(--ink-soft);
  font-size:.98rem;
}
@media (max-width:900px){
  .page-cart-store .shop-section__head--compact{
    display:block;
  }
  .page-cart-store .shop-section__head--compact .muted{
    margin-top:10px;
  }
  .page-cart-store .order-store__shell{
    padding:22px 18px 18px;
  }
  .page-cart-store .store-grid{
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:18px;
  }
}
@media (max-width:640px){
  .page-cart-store #main{
    padding-bottom:34px;
  }
  .page-cart-store .order-store{
    padding:12px 0 56px;
  }
  .page-cart-store .order-store__shell{
    padding:18px 14px 16px;
    border-radius:24px;
  }
  .page-cart-store .store-toolbar{
    display:block;
    padding:12px 14px;
  }
  .page-cart-store .store-toolbar .link--button{
    display:inline-flex;
    margin-top:8px;
  }
  .page-cart-store .store-grid{
    grid-template-columns:1fr;
  }
  .page-cart-store .store-card{
    width:100%;
    padding:16px;
  }
  .page-cart-store .store-card__media{
    min-height:170px;
    border-radius:20px;
  }
  .page-cart-store .store-card__media img{
    height:170px;
    padding:14px;
  }
  .page-cart-store .cart-drawer{
    width:100vw;
  }
  .page-cart-store .cart-drawer__top,
  .page-cart-store .cart-drawer__body,
  .page-cart-store .cart-drawer__footer{
    padding:18px;
  }
  .page-cart-store .cart-line{
    grid-template-columns:64px minmax(0,1fr);
  }
  .page-cart-store .cart-line__image{
    width:64px;
    height:64px;
  }
  .page-cart-store .cart-line__total{
    grid-column:2;
    justify-self:start;
  }
  .page-cart-store .image-lightbox{
    padding:14px;
  }
  .page-cart-store .image-lightbox__dialog{
    padding:12px;
    border-radius:22px;
  }
  .page-cart-store .image-lightbox__frame{
    border-radius:18px;
  }
  .page-cart-store .image-lightbox__image{
    max-height:72vh;
  }
  .page-cart-store .image-lightbox__caption{
    margin:10px 4px 2px;
    font-size:.92rem;
  }
}
