/* CASA RAVELLO — style.css. Tokens from RESEARCH.md §1.3 */
:root{
  --red:#5A0E0E; --red-bright:#7B1716; --red-deep:#3A0708; --red-ink:#5A0E0E;
  --umber:#3B2418; --espresso:#2A1810; --void:#0C0806; --cream:#F3E8D0; --cream-soft:#D6C7A6; --accent:#E6CB86;
  --gold:#C9A24B; --gold-dark:#B8913A; --gold-light:#E6CB86; --gold-text:#8A6A1F;
  --parch:#F2EBDC; --parch-hi:#FBF7EC; --parch-lo:#E6DBC3; --kraft:#D9C7A3; --kraft-dk:#C7B287;
  --ink:#F3E8D0; --ink-soft:#D6C7A6; --paper-ink:#2A231B; --paper-soft:#4E3C2E; --sepia:#3B2F25; --stone:#3C3A35; --night:#1F1912; --mahogany:#4A2416;
  --wheat:#D8B36A; --mist:#71767E; --mist-lt:#B7B5BB; --forest:#4F6B47; --blue:#2E4A6E;
  --ember:rgba(255,190,90,.35);
  --font-display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --font-price:"Playfair Display",Georgia,"Times New Roman",serif;
  --font-body:"Lora",Georgia,"Times New Roman",serif;
  --gold-grad:linear-gradient(135deg,#B8913A 0%,#E6CB86 42%,#C9A24B 62%,#9C7A2C 100%);
  --shadow:0 1px 0 rgba(255,255,255,.6) inset,0 10px 24px -12px rgba(42,35,27,.45);
  --radius:4px;
  --grid:32px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);font-size:1.0625rem;line-height:1.65;color:var(--ink);
  background-color:var(--void);
  background-image:
    radial-gradient(900px 520px at 78% 0,rgba(214,150,60,.16),transparent 70%),
    linear-gradient(180deg,#3B2418 0,#2A1810 620px,#170D09 1300px,#0C0806 2200px),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 .9 0 0 0 0 .75 0 0 0 0 .5 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat,repeat;
  background-size:auto,100% 2200px,220px 220px;
  font-variant-numeric:lining-nums;font-feature-settings:"liga","kern";
  overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.08;margin:0 0 .5em;color:var(--ink);text-wrap:balance;letter-spacing:.005em}
h1{font-size:clamp(2.6rem,5.2vw + .8rem,5.2rem);font-weight:700}
h2{font-size:clamp(2rem,3vw + 1rem,3.3rem)}
h3{font-size:clamp(1.4rem,1.2vw + 1rem,1.9rem)}
p{margin:0 0 1em}
.container{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.narrow{width:min(760px,100% - 2.5rem);margin-inline:auto}
.prose{max-width:66ch}
.eyebrow{font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold-dark)}
.eyebrow.center{justify-content:center}.eyebrow.center::after{content:"";width:34px;height:1px;background:var(--gold-dark)}
.italic{font-style:italic;font-family:var(--font-display);font-size:1.2em;color:var(--ink-soft)}
.fig{font-family:var(--font-display);font-style:italic;font-size:.95rem;color:var(--ink-soft);letter-spacing:.02em}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--red);color:var(--parch-hi);padding:.7rem 1rem;z-index:1000;border:2px solid var(--gold)}
.skip:focus{top:1rem}
:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px;box-shadow:0 0 0 6px #0C0806}
.ribbon :focus-visible,.site-footer :focus-visible,.order-dock :focus-visible,.dark :focus-visible{outline-color:var(--gold-light);box-shadow:0 0 0 6px rgba(0,0,0,.35)}

/* announcement + utility */
.announce{background:var(--night);color:var(--gold-light);font-family:var(--font-display);font-size:1rem;letter-spacing:.06em;text-align:center;padding:.5rem 1rem;border-bottom:1px solid var(--gold-dark)}
.announce a{color:var(--parch-hi);text-decoration:none;border-bottom:1px solid var(--gold)}
.util{background:var(--parch-lo);border-bottom:1px solid rgba(70,60,50,.18);font-size:.85rem;color:var(--ink-soft)}
.util .container{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;flex-wrap:wrap}
.util a{color:var(--ink-soft);text-decoration:none}.util a:hover{color:var(--accent)}
.util .u-left,.util .u-right{display:flex;gap:1.2rem;flex-wrap:wrap;align-items:center}
.open-pill{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}
.dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--forest);box-shadow:0 0 0 3px rgba(79,107,71,.22);display:inline-block}
.dot.closed{background:var(--mist);box-shadow:0 0 0 3px rgba(113,118,126,.22)}
.dot.live{animation:pulse 2.4s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(79,107,71,.05)}}

/* HEADER — crimson ribbon */
.site-header{position:sticky;top:0;z-index:60;background:linear-gradient(var(--parch-hi),var(--parch));border-bottom:1px solid rgba(70,60,50,.2);box-shadow:0 8px 18px -14px rgba(42,35,27,.6)}
.header-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:92px;transition:min-height .25s}
.site-header.compact .header-row{min-height:66px}
.nav{display:flex;gap:.3rem;align-items:center;list-style:none;margin:0;padding:0}
.nav.left{justify-content:flex-start}.nav.right{justify-content:flex-end}
.nav a{font-family:var(--font-display);font-weight:700;font-size:1.08rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:.75rem .8rem;position:relative;display:inline-block;min-height:44px}
.nav a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.45rem;height:2px;background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1)}
.nav a[aria-current="page"]{color:var(--accent)}
.ribbon-link{display:block;text-decoration:none;filter:drop-shadow(0 6px 6px rgba(42,35,27,.35))}
.ribbon{--rh:77px;--tail:calc(var(--rh)*.25);--bt:2px;position:relative;display:flex;align-items:center;justify-content:center;padding:0;
  background:linear-gradient(180deg,#FFF0C1 0,#E3C486 22%,#CBA66A 45%,#AE864E 75%,#ECCD91 100%);
  clip-path:polygon(0 0,100% 0,calc(100% - var(--tail)) 50%,100% 100%,0 100%,var(--tail) 50%);}
/* R2.1e — shape measured (OpenCV, flat/unwrapped) from the close-up EVERGARDEN banner: fishtail notch depth = 25–27 % of ribbon height (arms ≈ 28° off vertical, vertex at 50 % height), top/bottom EDGES STRAIGHT AND PARALLEL (the photo's bow is bottle-wrap distortion and is not copied), gold outline ≈ 2.7 % of height, continuous around the notches. The gold layer is the outer polygon; the red is the same polygon inset by --bt. --rh is the ribbon height at each breakpoint so --tail stays at .25 of it. */
.ribbon-in{margin:var(--bt);padding:.5rem 3.4rem;display:flex;align-items:center;justify-content:center;gap:.8rem;flex:1 1 auto;min-width:0;
  background:linear-gradient(180deg,var(--red-bright) 0,var(--red) 40%,var(--red-deep) 100%);
  clip-path:polygon(calc(var(--bt)*.618) 0,calc(100% - var(--bt)*.618) 0,calc(100% - var(--tail) - var(--bt)*.118) 50%,calc(100% - var(--bt)*.618) 100%,calc(var(--bt)*.618) 100%,calc(var(--tail) + var(--bt)*.118) 50%);position:relative}
.ribbon-in::after{content:none}
.wordmark{font-family:var(--font-display);font-weight:700;font-size:clamp(1.55rem,2.4vw,2.05rem);letter-spacing:.34em;padding-left:.34em;
  background:var(--gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;text-shadow:none;line-height:1.1;white-space:nowrap}
.ribbon .crest{height:46px;width:auto;aspect-ratio:1896/3304;flex:none;filter:drop-shadow(0 1px 0 rgba(0,0,0,.35))}
.ribbon .rule{width:1px;align-self:stretch;margin:.25rem .2rem;background:linear-gradient(transparent,var(--gold-light),transparent);opacity:.85}
.lockup{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.lockup .casa{font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:.62em;color:var(--gold-light);padding-left:.1em;margin-bottom:.12rem}
.lockup .wordmark{padding-left:0;letter-spacing:.24em}
.site-header.compact .wordmark{font-size:1.4rem}
.site-header.compact .ribbon .crest{height:36px}
.site-header.compact .lockup .casa{font-size:.7rem}
.header-actions{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}
.basket-btn{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;min-height:44px;color:var(--ink);text-decoration:none;font-family:var(--font-display);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:1.02rem}
.basket-btn svg{width:26px;height:26px}
.basket-count{min-width:1.5rem;height:1.5rem;border-radius:50%;background:var(--blue);color:var(--parch-hi);font:600 .8rem/1.5rem var(--font-price);text-align:center;padding:0 .2rem}
.basket-count[data-n="0"]{background:var(--mist)}
.menu-toggle{display:none;background:none;border:1px solid var(--gold-dark);color:var(--ink);min-width:48px;min-height:48px;border-radius:var(--radius);cursor:pointer;font:700 .9rem var(--font-display);letter-spacing:.12em}
.menu-toggle svg{width:24px;height:24px}

/* Buttons */
.btn{--bg:var(--red);--fg:var(--parch-hi);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.75rem 1.6rem;border:1px solid var(--gold-dark);border-radius:2px;cursor:pointer;
  font-family:var(--font-display);font-weight:700;font-size:1.08rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--fg);
  background:linear-gradient(180deg,var(--red-bright),var(--red) 60%,var(--red-deep));box-shadow:inset 0 1px 0 rgba(230,203,134,.35),inset 0 -8px 14px -8px rgba(0,0,0,.55),0 0 0 2px var(--ringbg,#0C0806),0 0 0 3px var(--gold-dark),0 10px 18px -10px rgba(58,7,8,.9);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(230,203,134,.35) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s}
.btn:hover{color:var(--fg);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(230,203,134,.5),0 0 0 2px var(--ringbg,#0C0806),0 0 0 3px var(--gold),0 0 26px 2px var(--ember),0 12px 18px -10px rgba(58,7,8,.9)}
.btn:hover::after{transform:translateX(120%)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--accent);box-shadow:none;border:1px solid var(--gold-dark)}
.btn.ghost:hover{background:rgba(201,162,75,.15);color:var(--accent);box-shadow:0 0 0 1px var(--gold)}
.btn.ghost::after{display:none}
.btn.gold{background:var(--gold-grad);color:var(--night);border-color:var(--gold-dark);box-shadow:0 0 0 2px var(--night),0 0 0 3px var(--gold)}
.btn.sm{min-height:44px;padding:.45rem 1rem;font-size:.95rem}
.btn[disabled],.btn.disabled{filter:grayscale(.85);opacity:.55;cursor:not-allowed;pointer-events:none}
.btn-order{padding:.55rem 1.2rem;min-height:44px;white-space:nowrap}
.link-arrow{font-family:var(--font-display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--accent);font-size:1rem;border-bottom:1px solid var(--gold-dark);padding-bottom:2px}
.link-arrow::after{content:" →"}

/* Badges */
.badge-num{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 6px;background:var(--blue);color:var(--parch-hi);font-family:var(--font-price);font-weight:600;font-size:.95rem;letter-spacing:.06em;border:1px solid rgba(255,255,255,.35);box-shadow:0 0 0 2px var(--parch-hi),0 0 0 3px var(--blue);flex:none}
.tag{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid currentColor;background:var(--parch-hi)}
.tag.red{color:var(--accent)}.tag.green{color:var(--forest)}.tag.blue{color:var(--blue)}.tag.gold{color:var(--gold-text)}.tag.gray{color:#575b63}

/* Sections */
section{position:relative}
.section{padding:clamp(3.5rem,7vw,6.5rem) 0}
.section.alt{background:linear-gradient(var(--parch-lo),var(--parch-lo));background-image:linear-gradient(rgba(70,60,50,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(70,60,50,.05) 1px,transparent 1px);background-size:var(--grid) var(--grid)}
.section.dark{background:var(--night);color:var(--parch);}
.section.dark h2,.section.dark h3{color:var(--parch-hi)}
.section.dark .eyebrow{color:var(--gold-light)}
.section-head{max-width:720px;margin-bottom:2.4rem}
.section-head.center{margin-inline:auto;text-align:center}
.divider{height:22px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 22'%3E%3Cpath d='M0 11H170M230 11H400' stroke='%23B8913A' stroke-width='1'/%3E%3Cpath d='M200 3l8 8-8 8-8-8z' fill='none' stroke='%23B8913A'/%3E%3Ccircle cx='200' cy='11' r='2' fill='%235A0E0E'/%3E%3Ccircle cx='180' cy='11' r='2' fill='%23B8913A'/%3E%3Ccircle cx='220' cy='11' r='2' fill='%23B8913A'/%3E%3C/svg%3E")}

/* HERO */
.hero{padding:clamp(1.5rem,4vw,3.5rem) 0 clamp(2rem,5vw,4rem);overflow:hidden}
.hero .compass-bg{position:absolute;right:-8%;top:-12%;width:min(880px,90vw);opacity:.55;pointer-events:none;color:#8a7f70}
.hero .compass-bg .spin{transform-origin:100px 100px;animation:spin 240s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(1.5rem,4vw,4rem);align-items:center;position:relative}
.hero-plate{background:rgba(251,247,236,.92);border:1px solid rgba(184,145,58,.6);padding:clamp(1.6rem,3.5vw,3rem);box-shadow:var(--shadow),0 0 0 6px rgba(251,247,236,.6);position:relative}
.hero-plate::before,.hero-plate::after{content:"";position:absolute;width:22px;height:22px;border:1px solid var(--gold-dark)}
.hero-plate::before{top:8px;left:8px;border-right:0;border-bottom:0}.hero-plate::after{bottom:8px;right:8px;border-left:0;border-top:0}
.hero h1{margin-bottom:.35em}
.hero h1 em{font-style:italic;color:var(--accent);font-weight:600}
.hero .lede{font-size:1.2rem;color:var(--ink-soft);max-width:34ch}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin:1.6rem 0 1.2rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0;list-style:none}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border:1px solid rgba(70,60,50,.35);border-radius:99px;font-size:.88rem;background:var(--parch-hi);color:var(--ink-soft)}
.fresh{display:flex;gap:.8rem;align-items:flex-start;margin-top:1.2rem;padding:.8rem 1rem;background:linear-gradient(90deg,rgba(79,107,71,.12),transparent);border-left:3px solid var(--forest);font-size:.98rem}
.fresh strong{font-family:var(--font-display);font-size:1.15rem;letter-spacing:.04em;display:block}
.fresh.closed{border-left-color:var(--mist);background:linear-gradient(90deg,rgba(113,118,126,.14),transparent)}
.hero-scene{position:relative;filter:drop-shadow(0 26px 30px rgba(42,35,27,.4))}
.hero-scene svg{display:block;width:100%;height:auto}
.hero-scene .glow{animation:flicker 5.5s ease-in-out infinite;transform-origin:300px 330px;transform-box:view-box}
@keyframes flicker{0%,100%{opacity:.9;transform:scale(1)}18%{opacity:.78}32%{opacity:1;transform:scale(1.035)}55%{opacity:.84}72%{opacity:.98;transform:scale(1.02)}}
.hero-scene .steam path{animation:steam 4.5s ease-in-out infinite;opacity:0}
.hero-scene .steam path:nth-child(2){animation-delay:1.4s}.hero-scene .steam path:nth-child(3){animation-delay:2.8s}
@keyframes steam{0%{opacity:0;transform:translateY(8px)}30%{opacity:.7}100%{opacity:0;transform:translateY(-26px)}}
.hero-scene .mist1{animation:drift 26s ease-in-out infinite alternate}.hero-scene .mist2{animation:drift 34s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translateX(26px)}}
.scene-caption{position:absolute;left:1.2rem;bottom:.9rem;color:var(--parch-hi);background:rgba(31,25,18,.66);backdrop-filter:blur(3px);padding:.2rem .7rem;font-family:var(--font-display);font-style:italic;font-size:.95rem}

/* trust strip */
.trust{background:var(--night);color:var(--parch);border-block:1px solid var(--gold-dark)}
.trust .container{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;padding:1.5rem 0}
.trust-item{text-align:center;padding:0 .5rem;border-left:1px solid rgba(201,162,75,.3)}
.trust-item:first-child{border-left:0}
.trust-item q{display:block;font-family:var(--font-display);font-style:italic;font-size:1.22rem;line-height:1.25;quotes:"“" "”";color:var(--parch-hi)}
.trust-item cite{display:block;font-style:normal;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-top:.35rem}
.stars{color:var(--gold);letter-spacing:.1em}

/* butcher-paper parcel cards */
.grid{display:grid;gap:clamp(1.2rem,2.2vw,2rem)}
.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.parcel{position:relative;padding:20px 16px 18px;color:var(--ink);
  background-color:var(--kraft);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.02 .9' numOctaves='3' seed='8'/%3E%3CfeColorMatrix values='0 0 0 0 .40 0 0 0 0 .30 0 0 0 0 .16 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23k)'/%3E%3C/svg%3E"),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cg fill='none' stroke='%235A0E0E' stroke-opacity='.14' stroke-width='1.2'%3E%3Cpath d='M45 14l9 6v10c0 8-5 13-9 16-4-3-9-8-9-16V20z'/%3E%3Cpath d='M45 22v20M41 27l4 3 4-3M41 33l4 3 4-3'/%3E%3C/g%3E%3C/svg%3E");
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 14px 22px -14px rgba(42,35,27,.7),0 2px 4px rgba(42,35,27,.2);
  clip-path:polygon(0 4px,2% 0,5% 3px,9% 0,14% 4px,19% 0,24% 3px,30% 0,36% 4px,42% 0,48% 3px,54% 0,61% 4px,67% 0,73% 3px,79% 0,85% 4px,91% 0,96% 3px,100% 0,100% 100%,0 100%);
  transition:transform .3s,filter .3s;display:flex;flex-direction:column}
.parcel:hover{transform:translateY(-4px) rotate(-.25deg)}
.parcel .twine{position:absolute;left:0;top:0;width:100%;height:78px;pointer-events:none;z-index:4;overflow:visible}
.parcel .twine .strand{transition:transform .4s cubic-bezier(.3,1.4,.5,1);transform-origin:50% 50%;transform-box:view-box}
.parcel:hover .twine .strand{transform:scale(1) translateY(-2px)}
.parcel .twine-b{position:absolute;left:0;bottom:0;width:100%;height:0;z-index:0}
.parcel .bow{position:absolute;left:50%;top:8px;width:66px;height:52px;transform:translateX(-50%);z-index:6;pointer-events:none;filter:drop-shadow(0 3px 2px rgba(42,35,27,.35))}
.label{position:relative;z-index:2;background-color:var(--parch-hi);background-image:linear-gradient(rgba(70,60,50,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(70,60,50,.07) 1px,transparent 1px);background-size:16px 16px;border:1px solid rgba(70,60,50,.35);outline:1px solid var(--gold-dark);outline-offset:-5px;padding:50px 14px 14px;margin-top:14px;display:flex;flex-direction:column;flex:1;box-shadow:0 3px 6px -2px rgba(42,35,27,.4)}
.label .badge-num{position:absolute;top:-1px;left:-1px;z-index:5;border-radius:0;min-width:30px;height:30px;font-size:.85rem;box-shadow:none}
.art{aspect-ratio:1/.82;width:100%;display:block;color:var(--sepia);cursor:pointer;background:none;border:0;padding:0;margin:0 0 .3rem}
.art svg{width:100%;height:100%;display:block}
.pname{font-family:var(--font-display);font-weight:700;font-size:1.42rem;line-height:1.1;margin:.2rem 0 .3rem;font-variant:small-caps;letter-spacing:.03em}
.pname button{all:unset;cursor:pointer;display:block}
.pname button:focus-visible{outline:3px solid var(--red-ink);outline-offset:3px}
.pdesc{font-family:var(--font-display);font-style:italic;font-size:1.1rem;line-height:1.3;color:var(--ink-soft);margin:0 0 .7rem;flex:1}
.pmeta{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;min-height:1.6rem}
.prow{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border-top:1px dotted rgba(70,60,50,.5);padding-top:.6rem}
.price{font-family:var(--font-price);font-weight:600;font-size:1.35rem;font-variant-numeric:lining-nums tabular-nums;color:var(--accent)}
.price small{font-size:.75rem;color:var(--ink-soft);font-family:var(--font-body);font-weight:400;margin-right:.25em}
.batch{font-size:.85rem;color:var(--ink-soft);margin:0 0 .5rem;display:flex;align-items:center;gap:.4rem}
.batch .bar{flex:1;height:5px;background:rgba(70,60,50,.18);border-radius:3px;overflow:hidden;max-width:90px}
.batch .bar i{display:block;height:100%;background:var(--forest);width:var(--w,100%);transition:width .6s}
.batch.low{color:var(--accent);font-weight:600}.batch.low .bar i{background:var(--red)}
.parcel.soldout{filter:saturate(.35) contrast(.95)}
.parcel.soldout .art{opacity:.55}
.parcel.soldout::before{content:"Sold out · back tomorrow";position:absolute;z-index:7;top:110px;left:-8px;right:-8px;text-align:center;background:var(--blue);color:var(--parch-hi);padding:.3rem 0;font-family:var(--font-display);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:.82rem;transform:rotate(-6deg);box-shadow:0 4px 8px rgba(0,0,0,.3)}
.stamp{position:absolute;right:8px;bottom:56px;z-index:4;font-family:var(--font-display);font-weight:700;letter-spacing:.16em;color:var(--accent);border:2px solid var(--red);padding:.05rem .4rem;font-size:.72rem;text-transform:uppercase;transform:rotate(-8deg);opacity:.72;pointer-events:none;mix-blend-mode:multiply}
.rating{font-size:.85rem;color:var(--ink-soft);display:flex;gap:.35rem;align-items:center}

/* shelves on menu */
.shelf-head{display:flex;align-items:center;gap:1.2rem;margin:0 0 1.6rem;padding-bottom:1rem;border-bottom:1px solid var(--gold-dark);flex-wrap:wrap}
.shelf-head h2{margin:0;font-size:clamp(1.9rem,2.5vw + 1rem,2.8rem)}
.shelf-head p{margin:0;flex-basis:100%;max-width:60ch;color:var(--ink-soft)}
.shelf-head .sk{width:74px;height:60px;margin-left:auto;color:var(--sepia)}
.shelf{margin-bottom:4.5rem}
.toolbar{position:sticky;top:92px;z-index:30;background:rgba(251,247,236,.95);backdrop-filter:blur(6px);border-block:1px solid rgba(184,145,58,.6);padding:.7rem 0;margin-bottom:2.5rem}
.site-header.compact ~ main .toolbar,.toolbar.stuck{top:66px}
.toolbar .container{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.filter{min-height:44px;padding:.35rem 1rem;border:1px solid var(--gold-dark);background:var(--parch-hi);font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--ink)}
.filter[aria-pressed="true"]{background:var(--red);color:var(--parch-hi);border-color:var(--red-deep)}
.filters{display:flex;gap:.45rem;flex-wrap:wrap;flex:1}
.search{position:relative;flex:0 1 260px}
.search input{width:100%;min-height:44px;padding:.5rem .8rem;border:1px solid var(--gold-dark);background:var(--parch-hi);font:inherit}
.empty-note{padding:2rem;text-align:center;font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--ink-soft)}

/* modal */
dialog.pmodal{border:0;padding:0;background:transparent;max-width:min(940px,96vw);width:100%;max-height:94vh;overflow:visible;color:var(--ink)}
dialog.pmodal::backdrop{background:rgba(31,25,18,.72);backdrop-filter:blur(3px)}
.pm{display:grid;grid-template-columns:1fr 1.1fr;background:var(--parch-hi);border:1px solid var(--gold-dark);outline:1px solid var(--gold-dark);outline-offset:-8px;box-shadow:0 30px 60px rgba(0,0,0,.5);max-height:92vh;overflow:auto;position:relative}
.pm-art{background:var(--kraft);padding:2rem 1.5rem;position:relative;display:flex;flex-direction:column;justify-content:center;gap:1rem;
  background-image:linear-gradient(rgba(70,60,50,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(70,60,50,.08) 1px,transparent 1px);background-size:20px 20px}
.pm-art .big{background:var(--parch-hi);border:1px solid rgba(70,60,50,.35);outline:1px solid var(--gold-dark);outline-offset:-6px;padding:1.2rem;color:var(--sepia)}
.pm-art .big svg{width:100%;height:auto;display:block;aspect-ratio:1/.82}
.pm-views{display:flex;gap:.5rem}
.pm-views button{flex:1;border:1px solid var(--gold-dark);background:var(--parch-hi);cursor:pointer;padding:.2rem;min-height:44px;color:var(--sepia)}
.pm-views button[aria-pressed="true"]{outline:3px solid var(--red-ink);outline-offset:1px}
.pm-body{padding:2rem 2rem 1.6rem}
.pm-close{position:absolute;top:.6rem;right:.6rem;z-index:5;width:46px;height:46px;background:var(--red);color:var(--parch-hi);border:1px solid var(--gold);font-size:1.5rem;cursor:pointer;line-height:1}
.pm h2{font-size:2.2rem;margin-bottom:.2rem}
.pm .sub{font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--ink-soft)}
.variants{border:0;padding:0;margin:1rem 0;display:grid;gap:.5rem}
.variants label{display:flex;justify-content:space-between;align-items:center;gap:1rem;border:1px solid rgba(70,60,50,.35);padding:.6rem .9rem;cursor:pointer;background:#fff8;min-height:48px}
.variants label:has(input:checked){border-color:var(--red);box-shadow:0 0 0 1px var(--red);background:rgba(90,14,14,.06)}
.variants label.na{opacity:.5;cursor:not-allowed}
.variants input{accent-color:var(--red);width:1.1rem;height:1.1rem}
.qty{display:inline-flex;border:1px solid var(--gold-dark);background:var(--parch-hi)}
.qty button{width:44px;height:44px;border:0;background:transparent;font-size:1.3rem;cursor:pointer;color:var(--ink)}
.qty button:hover{background:rgba(201,162,75,.2)}
.qty output,.qty input{width:48px;text-align:center;border:0;background:transparent;font:600 1.1rem var(--font-price);-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{display:none}
.pm-acc details{border-top:1px solid rgba(70,60,50,.3);padding:.5rem 0}
.pm-acc summary{font-family:var(--font-display);font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;list-style:none}
.pm-acc summary::-webkit-details-marker{display:none}
.pm-acc summary::after{content:"+";font-size:1.4rem;color:var(--accent)}
.pm-acc details[open] summary::after{content:"–"}
.pm-acc p{margin:.2rem 0 .8rem;font-size:.98rem}
.allergen-list{display:flex;gap:.4rem;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.allergen-list li{border:1px solid var(--ink-soft);padding:.1rem .55rem;font-size:.85rem;background:var(--parch)}

/* twine tags (features) */
.feature{padding:1.6rem 1.4rem;background:var(--parch-hi);border:1px solid rgba(70,60,50,.28);outline:1px solid rgba(184,145,58,.7);outline-offset:-7px;position:relative}
.feature .sk{width:76px;height:64px;color:var(--sepia);margin-bottom:.5rem}
.feature h3{font-size:1.55rem}
.feature p{margin:0;color:var(--ink-soft)}
.step-no{position:absolute;top:10px;right:10px}

/* occasion tiles */
.tile{display:flex;flex-direction:column;justify-content:flex-end;min-height:230px;padding:1.4rem;color:var(--parch-hi);text-decoration:none;position:relative;overflow:hidden;background:var(--stone);border:1px solid var(--gold-dark);isolation:isolate}
.tile::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 70% 15%,var(--ember),transparent 65%),linear-gradient(180deg,rgba(31,25,18,.1),rgba(31,25,18,.85));z-index:-1}
.tile .sk{position:absolute;top:1rem;right:1rem;width:110px;height:90px;color:var(--gold-light);opacity:.9}
.tile h3{color:var(--parch-hi);margin:0 0 .3rem;font-size:1.7rem}
.tile p{margin:0;font-size:.98rem;opacity:.9}
.tile:hover{color:var(--parch-hi);transform:translateY(-3px)}
.tile{transition:transform .25s}
.tile .badge-num{position:absolute;top:1rem;left:1rem}

/* story teaser + timeline */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center}
.figure-plate{background:var(--parch-hi);border:1px solid rgba(70,60,50,.3);outline:1px solid var(--gold-dark);outline-offset:-8px;padding:2rem;position:relative;box-shadow:var(--shadow)}
.figure-plate svg{width:100%;height:auto;color:var(--sepia)}
.figure-plate figcaption{margin-top:.8rem;text-align:center}
.dropcap::first-letter{font-family:var(--font-display);font-weight:700;font-size:4.6rem;float:left;line-height:.8;padding:.3rem .6rem 0 0;color:var(--accent)}
.timeline{list-style:none;margin:0;padding:0 0 0 1.4rem;border-left:1px solid var(--gold-dark)}
.timeline li{position:relative;padding:0 0 1.8rem 1.6rem}
.timeline li::before{content:"";position:absolute;left:-1.4rem;top:.7rem;width:.8rem;height:.8rem;background:var(--red);transform:translateX(-45%) rotate(45deg);border:1px solid var(--gold)}
.timeline .yr{font-family:var(--font-price);color:var(--accent);font-size:1.25rem;letter-spacing:.06em}
blockquote.pull{margin:0;padding:0 0 0 1.5rem;border-left:3px solid var(--gold);font-family:var(--font-display);font-style:italic;font-size:clamp(1.5rem,2vw + .8rem,2.1rem);line-height:1.25}
blockquote.pull cite{display:block;font-size:1rem;font-style:normal;letter-spacing:.14em;text-transform:uppercase;margin-top:.7rem;color:var(--ink-soft)}

/* testimonials */
.quote-card{padding:1.8rem;background:var(--parch-hi);border:1px solid rgba(70,60,50,.3);position:relative;box-shadow:var(--shadow)}
.quote-card::before{content:"“";font-family:var(--font-display);font-size:5rem;line-height:.6;color:var(--gold);position:absolute;top:1.4rem;left:1.1rem;opacity:.9}
.quote-card p{font-family:var(--font-display);font-style:italic;font-size:1.4rem;line-height:1.3;margin:1.6rem 0 1rem}
.quote-card footer{font-size:.9rem;color:var(--ink-soft);display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap}

/* stamp card */
.stampcard{background:var(--kraft);padding:1.6rem;position:relative;box-shadow:var(--shadow);border:1px dashed rgba(70,60,50,.5);outline:1px solid var(--gold-dark);outline-offset:-8px;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='k'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.02 .9' numOctaves='3' seed='8'/%3E%3CfeColorMatrix values='0 0 0 0 .40 0 0 0 0 .30 0 0 0 0 .16 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23k)'/%3E%3C/svg%3E")}
.stamps{display:grid;grid-template-columns:repeat(5,1fr);gap:.7rem;margin:1rem 0;padding:0;list-style:none}
.stamps li{aspect-ratio:1;border:1.5px dashed rgba(70,60,50,.55);border-radius:50%;display:grid;place-items:center;font-family:var(--font-price);color:var(--ink-soft);background:rgba(251,247,236,.5);position:relative}
.stamps li.on{border-style:solid;border-color:var(--red);color:var(--accent);background:rgba(251,247,236,.9)}
.stamps li.on svg{width:70%;height:70%;color:var(--accent)}
.stamps li.free{border-color:var(--gold-dark);background:var(--gold-grad);color:var(--night);font-size:.75rem;text-align:center;font-family:var(--font-display);font-weight:700;letter-spacing:.06em;line-height:1}

/* forms */
.form{display:grid;gap:1.1rem}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.3rem}
.field label,.field legend{font-family:var(--font-display);font-weight:700;font-size:1rem;letter-spacing:.12em;text-transform:uppercase}
.field .hint{font-size:.85rem;color:var(--ink-soft)}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{min-height:48px;padding:.65rem .8rem;border:1px solid var(--ink-soft);background:var(--parch-hi);font:inherit;color:var(--ink);border-radius:2px;width:100%}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--red-ink);outline-offset:1px}
fieldset.field{border:1px solid rgba(70,60,50,.3);padding:1rem;margin:0;background:rgba(251,247,236,.6)}
.checks{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.checks label{font-family:var(--font-body);font-weight:400;letter-spacing:0;text-transform:none;font-size:1rem;display:flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer}
.checks input{width:1.15rem;height:1.15rem;accent-color:var(--red)}
.err{color:#6A1212;font-size:.9rem;display:none;font-weight:600}
.err::before{content:"! ";font-weight:700}
.field.invalid .err{display:block}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#6A1212;box-shadow:0 0 0 1px #6A1212}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.notice{padding:1rem 1.2rem;background:var(--parch-hi);border:1px solid var(--gold-dark);border-left:4px solid var(--gold-dark)}
.notice.ok{border-left-color:var(--forest)}
.newsletter{display:flex;gap:.6rem;flex-wrap:wrap}
.newsletter input{flex:1 1 220px;min-height:48px;padding:.6rem .9rem;border:1px solid var(--gold-dark);background:var(--parch-hi);font:inherit}

/* locations */
.shop-card{padding:1.8rem;background:var(--parch-hi);border:1px solid rgba(70,60,50,.3);outline:1px solid var(--gold-dark);outline-offset:-8px;position:relative}
.shop-card h3{font-size:1.9rem}
table.hours{border-collapse:collapse;width:100%;font-size:1.05rem}
table.hours th,table.hours td{padding:.35rem .2rem;border-bottom:1px dotted rgba(70,60,50,.4);text-align:left;font-weight:400}
table.hours th{font-family:var(--font-display);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
table.hours td{text-align:right;font-family:var(--font-price);font-variant-numeric:lining-nums tabular-nums}
table.hours tr.today{background:rgba(201,162,75,.2)}
table.hours tr.today th::after{content:" · today";color:var(--accent);font-size:.8em}
.map{aspect-ratio:16/10;background:var(--parch-lo);border:1px solid var(--gold-dark);position:relative;overflow:hidden}
.map svg{width:100%;height:100%;display:block}

/* FAQ */
.faq details{border:1px solid rgba(70,60,50,.3);background:var(--parch-hi);margin-bottom:.7rem}
.faq summary{padding:1rem 1.2rem;min-height:56px;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:1.3rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:1.7rem;font-weight:400}
.faq details[open] summary::after{content:"–"}
.faq details[open]{outline:1px solid var(--gold-dark)}
.faq .ans{padding:0 1.2rem 1rem;color:var(--ink-soft)}
table.matrix{width:100%;border-collapse:collapse;font-size:.98rem;background:var(--parch-hi)}
table.matrix th,table.matrix td{border:1px solid rgba(70,60,50,.3);padding:.5rem .6rem;text-align:center}
table.matrix th:first-child,table.matrix td:first-child{text-align:left}
table.matrix thead th{background:var(--night);color:var(--gold-light);font-family:var(--font-display);letter-spacing:.08em;font-size:.95rem;position:sticky;top:0}
.table-wrap{overflow-x:auto;border:1px solid var(--gold-dark);max-height:70vh}
.yes{color:var(--accent);font-weight:700}.no{color:var(--mist)}

/* cart */
.cart-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:2rem;align-items:start}
.steps{display:flex;gap:.6rem;align-items:center;margin-bottom:2rem;flex-wrap:wrap;font-family:var(--font-display);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.steps span{display:flex;align-items:center;gap:.5rem;color:var(--ink-soft)}
.steps .on{color:var(--accent)}
.steps i{width:34px;height:1px;background:var(--gold-dark)}
.panel{background:var(--parch-hi);border:1px solid rgba(70,60,50,.3);outline:1px solid var(--gold-dark);outline-offset:-7px;padding:1.6rem;margin-bottom:1.4rem}
.panel h2{font-size:1.8rem;display:flex;align-items:center;gap:.7rem}
.line{display:grid;grid-template-columns:76px 1fr auto;gap:1rem;align-items:center;padding:.9rem 0;border-bottom:1px dotted rgba(70,60,50,.4)}
.line .thumb{width:76px;height:62px;background:var(--kraft);border:1px solid rgba(70,60,50,.3);color:var(--sepia);padding:4px}
.line h3{font-size:1.25rem;margin:0;font-variant:small-caps}
.line .small{font-size:.9rem;color:var(--ink-soft)}
.line .rm{background:none;border:0;color:var(--accent);cursor:pointer;text-decoration:underline;min-height:44px;font:inherit;font-size:.9rem}
.opt-cards{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.opt{position:relative}
.opt input{position:absolute;opacity:0}
.opt label{display:block;border:1px solid rgba(70,60,50,.4);padding:1rem;cursor:pointer;background:#fff8;min-height:96px}
.opt label strong{font-family:var(--font-display);font-size:1.35rem;display:block;letter-spacing:.04em}
.opt input:checked+label{border-color:var(--red);box-shadow:0 0 0 2px var(--red);background:rgba(90,14,14,.05)}
.opt input:focus-visible+label{outline:3px solid var(--gold-dark);outline-offset:3px}
.summary dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem}
.summary dt{color:var(--ink-soft)}.summary dd{margin:0;text-align:right;font-family:var(--font-price);font-variant-numeric:tabular-nums}
.summary .total{font-size:1.4rem;border-top:1px solid var(--ink);padding-top:.7rem;margin-top:.4rem}
.progress{height:8px;background:rgba(70,60,50,.2);border-radius:4px;overflow:hidden;margin:.4rem 0 .3rem}
.progress i{display:block;height:100%;background:var(--gold-grad);width:0;transition:width .5s}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.5rem}
.slot input{position:absolute;opacity:0}
.slot{position:relative}
.slot label{display:block;text-align:center;padding:.5rem .3rem;border:1px solid rgba(70,60,50,.4);cursor:pointer;min-height:48px;background:#fff8;font-family:var(--font-price);font-size:.98rem}
.slot label small{display:block;font-family:var(--font-body);font-size:.72rem;color:var(--ink-soft)}
.slot input:checked+label{background:var(--red);color:var(--parch-hi);border-color:var(--red-deep)}
.slot input:checked+label small{color:var(--gold-light)}
.slot input:disabled+label{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.slot input:focus-visible+label{outline:3px solid var(--gold-dark);outline-offset:2px}
.empty-cart{text-align:center;padding:3rem 1rem}
.empty-cart svg{width:160px;height:auto;color:var(--sepia);margin:0 auto 1rem;display:block}
.tracker{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;list-style:none;padding:0;margin:1.4rem 0;counter-reset:s}
.tracker li{text-align:center;font-family:var(--font-display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;color:var(--ink-soft);position:relative;padding-top:2.2rem}
.tracker li::before{counter-increment:s;content:counter(s,upper-roman);position:absolute;top:0;left:50%;transform:translateX(-50%);width:32px;height:32px;display:grid;place-items:center;background:var(--mist);color:#fff;font-family:var(--font-price)}
.tracker li.done::before{background:var(--blue)}.tracker li.done{color:var(--ink)}

/* toast */
.toast{position:fixed;left:50%;bottom:6.2rem;transform:translate(-50%,40px);opacity:0;z-index:200;background:var(--night);color:var(--parch-hi);border:1px solid var(--gold);padding:.7rem 1.2rem .7rem .9rem;display:flex;gap:.8rem;align-items:center;transition:transform .35s cubic-bezier(.3,1.5,.5,1),opacity .3s;pointer-events:none;max-width:92vw;font-family:var(--font-display);font-size:1.15rem}
.toast.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.toast svg{width:34px;height:34px;flex:none}
.toast .knot path{stroke-dasharray:60;stroke-dashoffset:60}
.toast.show .knot path{animation:draw .8s .1s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.toast a{color:var(--gold-light);margin-left:.3rem}

/* order dock */
.order-dock{position:fixed;right:1.2rem;bottom:1.2rem;z-index:70;display:flex;gap:.6rem;align-items:center;background:rgba(31,25,18,.86);backdrop-filter:blur(10px) saturate(1.2);border:1px solid var(--gold-dark);padding:.5rem .6rem .5rem 1rem;box-shadow:0 14px 30px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.12);color:var(--parch-hi);transform:translateY(140%);transition:transform .4s cubic-bezier(.3,1.2,.5,1)}
.order-dock.show{transform:none}
.order-dock .txt{font-family:var(--font-display);font-size:1.05rem;letter-spacing:.06em;line-height:1.1}
.order-dock .txt b{display:block;color:var(--gold-light);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase}

/* footer */
.site-footer{background:var(--night);color:var(--parch);margin-top:0;position:relative;border-top:4px solid var(--red);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='none' stroke='%23C9A24B' stroke-opacity='.06' stroke-width='1.4'%3E%3Cpath d='M60 26l14 9v16c0 12-7 20-14 24-7-4-14-12-14-24V35z'/%3E%3Cpath d='M60 38v30M53 45l7 5 7-5M53 54l7 5 7-5'/%3E%3C/g%3E%3C/svg%3E")}
.site-footer::before{content:"";display:block;height:3px;background:var(--gold-grad)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.5rem;padding:4rem 0 2.5rem}
.site-footer h3{font-size:1rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-light);font-weight:700;margin-bottom:1rem}
.site-footer a{color:var(--parch);text-decoration:none}.site-footer a:hover{color:var(--gold-light);text-decoration:underline}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:.15rem}
.site-footer li a{display:inline-block;padding:.3rem 0;min-height:32px}
.foot-brand .wordmark{font-size:1.9rem}
.foot-brand p{color:#cfc5b1;font-size:.98rem;max-width:36ch}
.foot-legal{border-top:1px solid rgba(201,162,75,.3);padding:1.2rem 0 6rem;font-size:.85rem;color:#b9ae98;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.foot-legal p{margin:0}
.allergen-foot{font-size:.9rem;color:#cfc5b1;border:1px solid rgba(201,162,75,.4);padding:.8rem 1rem;margin-bottom:1rem}
.site-footer .newsletter input{background:#2a2218;color:var(--parch-hi);border-color:var(--gold-dark)}
.site-footer .newsletter input::placeholder{color:#a99e88}
.to-top{display:inline-block;margin-left:1rem}

/* page hero (inner pages) */
.page-hero{padding:clamp(3rem,6vw,5rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--gold-dark);position:relative;overflow:hidden}
.page-hero .compass-bg{position:absolute;right:-6%;top:-40%;width:520px;opacity:.5;color:#8a7f70;pointer-events:none}
.page-hero p.lede{font-size:1.25rem;color:var(--ink-soft);max-width:52ch}
.breadcrumb{font-size:.9rem;color:var(--ink-soft);margin-bottom:1.2rem}.breadcrumb a{color:var(--ink-soft)}
.note{font-size:.9rem;color:var(--ink-soft);font-style:italic}
.sample-flag{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s,transform .8s}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* responsive */
@media (max-width:1180px){
  .nav a{padding:.75rem .5rem;font-size:.95rem;letter-spacing:.1em}
}
@media (max-width:1023px){
  .grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:1fr 1fr}
  .header-row{grid-template-columns:1fr auto 1fr;min-height:74px}
  .header-row>nav,.header-actions nav{display:none}
  .menu-toggle{justify-self:start}
  .header-row .ribbon-link{justify-self:center;order:0}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}
  .nav.left,.nav.right{display:none}
  .header-actions .btn-order{display:none}
  .header-actions{grid-column:3;justify-self:end}
  .ribbon{--rh:61px}
  .ribbon-in{padding:.5rem 2.6rem}
  .ribbon .crest{height:34px}
  .ribbon-in{gap:.6rem}
  .wordmark{font-size:1.35rem;letter-spacing:.28em}
  .hero-grid,.split,.cart-grid{grid-template-columns:1fr}
  .hero-scene{order:-1;max-width:520px;margin-inline:auto;width:100%}
  .trust .container{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(3){border-left:0}
  .grid.cols-3{grid-template-columns:1fr 1fr}
  .pm{grid-template-columns:1fr}
  .pm-art{padding:1.2rem}
  .toolbar{top:74px}
  .form .row{grid-template-columns:1fr}
  .order-dock{left:0;right:0;bottom:0;padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));justify-content:space-between;border-inline:0;border-bottom:0}
  .toast{bottom:5.5rem}
  .foot-legal{padding-bottom:6rem}
}
.mobile-nav{display:none}
@media (max-width:1023px){
  .mobile-nav{display:block;background:var(--night);border-top:1px solid var(--gold-dark);max-height:0;overflow:hidden;transition:max-height .35s}
  .mobile-nav.open{max-height:520px}
  .mobile-nav ul{list-style:none;margin:0;padding:.6rem 1.25rem 1.2rem}
  .mobile-nav a{display:block;padding:.85rem .2rem;border-bottom:1px solid rgba(201,162,75,.25);font-family:var(--font-display);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--parch);text-decoration:none;font-size:1.15rem;min-height:48px}
  .mobile-nav a[aria-current="page"]{color:var(--gold-light)}
}
@media (max-width:620px){
  .grid.cols-4,.grid.cols-3,.grid.cols-2{grid-template-columns:1fr 1fr;gap:.8rem}
  .grid.stack-sm{grid-template-columns:1fr}
  .parcel{padding:16px 10px 12px}
  .label{padding:46px 10px 10px}
  .pname{font-size:1.15rem}.pdesc{font-size:.98rem}
  .prow{flex-direction:column;align-items:stretch}
  .prow .btn{width:100%}
  .price{font-size:1.2rem}
  .footer-grid{grid-template-columns:1fr}
  .opt-cards{grid-template-columns:1fr}
  .line{grid-template-columns:60px 1fr}
  .line .thumb{width:60px;height:50px}.line>:last-child{grid-column:1 / -1;justify-self:end}
  .trust .container{grid-template-columns:1fr;gap:1rem}.trust-item{border-left:0;border-top:1px solid rgba(201,162,75,.3);padding-top:1rem}.trust-item:first-child{border-top:0;padding-top:0}
  .hero-plate{padding:1.4rem}
  .util .u-right{display:none}
  .stamps{grid-template-columns:repeat(5,1fr);gap:.4rem}
  .pm-body{padding:1.4rem 1.2rem}
  .tracker li{font-size:.72rem}
  .grid.cols-3.tiles{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* overflow safety + mobile stacking for text-heavy grids */
.grid>*{min-width:0}
@media (max-width:620px){
  .grid.cols-2,.grid.cols-3:has(.feature),.grid.cols-4:has(.feature),.grid.cols-3:has(.quote-card),.grid.cols-2:has(.shop-card){grid-template-columns:1fr}
  .shop-card,.feature{padding:1.3rem 1.1rem}
}
@media (max-width:400px){
  .container{width:calc(100% - 1.5rem)}
  .header-row{gap:.4rem}
  .ribbon{--rh:51px;--bt:1.5px}
  .ribbon-in{padding:.5rem 1.9rem}
  .wordmark{font-size:1.05rem;letter-spacing:.16em}
  .lockup .casa{font-size:.62rem;letter-spacing:.5em}
  .ribbon .crest{height:28px}
  .ribbon-in{padding:.5rem 1.7rem;gap:.45rem}
  .basket-btn{padding:.4rem .3rem}
  .menu-toggle{min-width:44px}
}
@media (max-width:1023px){.toolbar{position:static}}

/* ---- Casa Ravello additions ---- */
.foot-seal{display:inline-block;margin-bottom:1rem}.foot-seal img{width:132px;height:132px;display:block;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.box-photo{position:relative;background:var(--parch-hi);padding:12px 12px 8px;border:1px solid rgba(70,60,50,.3);outline:1px solid var(--gold-dark);outline-offset:-6px;box-shadow:var(--shadow)}
.box-photo img{display:block;width:100%;height:auto;aspect-ratio:1200/752;object-fit:cover}
.box-photo figcaption{text-align:center;margin-top:.6rem}
.logo-plate{background:var(--parch-hi);border:1px solid rgba(70,60,50,.3);outline:1px solid var(--gold-dark);outline-offset:-8px;padding:2rem;box-shadow:var(--shadow);text-align:center}
.logo-plate img{width:min(260px,70%);height:auto;display:inline-block;filter:drop-shadow(0 1px 0 rgba(0,0,0,.15))}
.story-side{min-width:0}
.story-seal{display:block;margin:0 auto 1rem;width:96px;height:96px}
.check-list{list-style:none;padding:0;margin:0 0 1.4rem;display:grid;gap:.4rem}
.check-list li{position:relative;padding-left:1.7rem}
.check-list li::before{content:"";position:absolute;left:.15rem;top:.5em;width:.55rem;height:.55rem;background:var(--gold);transform:rotate(45deg)}
.gift-left{min-width:0;max-width:520px;justify-self:center;width:100%}
.linklike{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit;min-height:44px}
/* order status */
.order-lines{list-style:none;padding:0;margin:0 0 1rem}
.order-lines li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dotted rgba(70,60,50,.4)}
.order-lines li small{color:var(--ink-soft)}
.order-lines .tot{font-weight:600;border-bottom:0;border-top:1px solid var(--ink)}
.order-list{padding-left:1.1rem}.order-list li{margin:.35rem 0}
.tracker li[aria-current="step"]{color:var(--accent)}
/* gift box builder */
.builder{background:var(--parch-hi);border:1px solid rgba(70,60,50,.3);outline:1px solid var(--gold-dark);outline-offset:-7px;padding:1.8rem}
.bd-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(1.4rem,3vw,3rem);align-items:start}
.bd-controls fieldset{border:0;padding:0;margin:0;min-width:0}
.opt-cards.three{grid-template-columns:repeat(3,1fr)}
.opt-cards.three .opt label{padding:.8rem;min-height:88px;font-size:.92rem}
.opt-cards.three .opt label strong{font-size:1.2rem}
.bd-items{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.bd-item{display:grid;grid-template-columns:64px 1fr auto;gap:.8rem;align-items:center;padding:.4rem 0;border-bottom:1px dotted rgba(70,60,50,.35)}
.bd-item .thumb{width:64px;height:52px;background:var(--kraft);border:1px solid rgba(70,60,50,.3);color:var(--sepia);padding:3px}
.bd-item .thumb svg{width:100%;height:100%}
.bd-name{display:flex;flex-direction:column;line-height:1.2}.bd-name strong{font-family:var(--font-display);font-size:1.15rem;font-variant:small-caps}.bd-name small{color:var(--ink-soft)}
.bd-view{position:sticky;top:110px;min-width:0}
.bd-stage{background:radial-gradient(90% 70% at 50% 20%,rgba(255,190,90,.25),transparent 70%),var(--kraft);padding:1rem;border:1px solid rgba(70,60,50,.3)}
.box-svg{display:block;width:100%;height:auto}
.bd-status{margin:.8rem 0;font-style:italic;color:var(--ink-soft);min-height:1.6em}
.bd-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.bd-total{margin:0 0 1rem;display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem}.bd-total dd{margin:0;text-align:right;font-family:var(--font-price)}
.bd-total .total{font-size:1.3rem;border-top:1px solid var(--ink);padding-top:.5rem;margin-top:.3rem}
#bd-add{width:100%}
@media (max-width:1023px){.bd-grid{grid-template-columns:1fr}.bd-view{position:static}}
@media (max-width:620px){.builder{padding:1.1rem}.opt-cards.three{grid-template-columns:1fr}.opt-cards.three .opt label{min-height:0}.bd-item{grid-template-columns:52px 1fr auto;gap:.6rem}.bd-item .thumb{width:52px;height:44px}}

/* =====================================================================
   REVISION 2 — dark Evergarden-faithful scheme (candlelit umber → black)
   Parchment survives only as contained, "lit" objects.
   ===================================================================== */
:root{--ringbg:#0C0806;--gold-star:#8A6A1F;
  --red-fabric:linear-gradient(180deg,#7B1716 0,#5A0E0E 42%,#3A0708 100%)}
/* parchment contexts: dark ink, crimson accents */
.hero-plate,.parcel,.label,.feature,.quote-card,.stampcard,.shop-card,.panel,.figure-plate,.box-photo,.logo-plate,.builder,.pm,.notice,.faq details,.map,.table-wrap,dialog.pmodal,.chip{
  --ink:#2A231B;--ink-soft:#4E3C2E;--accent:#5A0E0E;--ringbg:#FBF7EC;color:var(--ink)}
.hero-plate :focus-visible,.parcel :focus-visible,.feature :focus-visible,.panel :focus-visible,.pm :focus-visible,.shop-card :focus-visible,.builder :focus-visible,.faq details :focus-visible,.notice :focus-visible,.stampcard :focus-visible,.quote-card :focus-visible{outline-color:#5A0E0E;box-shadow:0 0 0 6px rgba(230,203,134,.85)}
.hero-plate a:hover,.panel a:hover,.parcel a:hover,.shop-card a:hover,.notice a:hover,.faq details a:hover,.pm a:hover{color:#3A0708}
.stars{color:var(--gold)}.label .stars,.quote-card .stars,.pm .stars{color:var(--gold-star)}

/* header, utility, announcement */
.announce{background:var(--red-fabric);color:#F6EBCF;border-bottom:1px solid var(--gold-dark);box-shadow:inset 0 -1px 0 rgba(0,0,0,.4)}
.announce a{color:#FFF1C9;border-bottom-color:var(--gold-light)}
.util{background:#120A06;border-bottom:1px solid rgba(201,162,75,.2);color:var(--cream-soft)}
.util a{color:var(--cream-soft)}
.site-header{background:linear-gradient(180deg,#2A1810,#170D09);border-bottom:1px solid rgba(201,162,75,.55);box-shadow:0 12px 28px -12px rgba(0,0,0,.9)}
.ribbon-link{filter:drop-shadow(0 6px 8px rgba(0,0,0,.7))}
.ribbon-in{background:var(--red-fabric)}
.ribbon-in::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,120,110,.10),rgba(255,120,110,0) 22%,rgba(0,0,0,.14) 50%,rgba(255,120,110,0) 78%,rgba(255,120,110,.10));box-shadow:inset 0 1px 3px rgba(0,0,0,.45),inset 0 -1px 3px rgba(0,0,0,.35);pointer-events:none}
.basket-count{background:var(--red-bright);border:1px solid var(--gold-dark)}
.basket-count[data-n="0"]{background:#4b4038}
.menu-toggle{color:var(--cream)}

/* buttons: crimson fabric + gold hairline + inner shadow */
.btn{background:var(--red-fabric);border-color:var(--gold-dark);color:#FBF3DC}
.btn:hover{color:#fff}
.btn.ghost{background:transparent;border-color:var(--gold);color:var(--accent);box-shadow:none}
.btn.ghost:hover{background:rgba(201,162,75,.14);color:var(--accent);box-shadow:0 0 0 1px var(--gold)}
.btn.gold{background:var(--gold-grad);color:#1B100A;border-color:var(--gold-light);box-shadow:0 0 0 2px #0C0806,0 0 0 3px var(--gold),0 0 22px -4px rgba(230,170,70,.5)}
.btn.gold:hover{color:#1B100A}
.badge-num{background:var(--red-fabric);border-color:rgba(230,203,134,.7);color:#FBF3DC;box-shadow:0 0 0 2px var(--ringbg),0 0 0 3px var(--gold-dark)}
.label .badge-num{box-shadow:none}
.tag{background:var(--parch-hi)}.tag.gold{color:var(--gold-text)}.tag.green{color:#3E5A38}.tag.blue{color:#2E4A6E}.tag.red{color:#5A0E0E}
.link-arrow{color:var(--accent)}

/* sections */
section,.page-hero,.site-footer{overflow-x:clip}
.section.alt{background:linear-gradient(180deg,rgba(12,8,6,.35),rgba(12,8,6,.72));background-image:linear-gradient(rgba(230,203,134,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(230,203,134,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(59,36,24,.28),rgba(12,8,6,.7));background-size:var(--grid) var(--grid),var(--grid) var(--grid),auto;border-block:1px solid rgba(201,162,75,.16)}
.section.dark{background:radial-gradient(70% 90% at 80% 0,rgba(214,150,60,.14),transparent 70%),linear-gradient(180deg,#3B2418,#0C0806);border-block:1px solid rgba(201,162,75,.3)}
.section.dark .eyebrow{color:var(--gold-light)}
.eyebrow::before,.eyebrow.center::after{background:var(--gold)}
.page-hero{background:radial-gradient(60% 120% at 88% 0,rgba(214,150,60,.18),transparent 65%),linear-gradient(180deg,rgba(59,36,24,.55),rgba(23,13,9,.2));border-bottom:1px solid rgba(201,162,75,.4)}
.page-hero .compass-bg,.hero .compass-bg{color:var(--gold);opacity:.11}
.page-hero p.lede,.hero .lede{color:var(--cream-soft)}
.hero-plate .lede{color:var(--ink-soft)}
.breadcrumb,.breadcrumb a{color:var(--cream-soft)}
h1,h2,h3,h4{color:var(--ink)}
.hero{background:radial-gradient(60% 70% at 72% 40%,rgba(226,150,60,.22),transparent 70%),linear-gradient(180deg,#3B2418 0,#24140D 55%,#0C0806 100%)}
.hero-plate{background:linear-gradient(180deg,rgba(251,247,236,.97),rgba(238,227,203,.95));border-color:rgba(201,162,75,.85);box-shadow:0 30px 60px -20px rgba(0,0,0,.85),0 0 0 6px rgba(251,247,236,.08),0 0 80px -20px rgba(230,150,60,.35);isolation:isolate}
.hero-scene{filter:drop-shadow(0 26px 40px rgba(0,0,0,.75)) drop-shadow(0 0 60px rgba(226,150,60,.22))}
.scene-caption{background:rgba(12,8,6,.7);color:var(--cream)}
.fresh{background:linear-gradient(90deg,rgba(79,107,71,.16),transparent)}
.hero-plate .fresh{background:linear-gradient(90deg,rgba(79,107,71,.14),transparent)}
.trust{background:linear-gradient(180deg,#1A0F0A,#0C0806);border-block:1px solid rgba(201,162,75,.55)}

/* butcher paper on dark: lit from the candle */
.grid>div:has(>.parcel),.grid>.parcel{filter:drop-shadow(0 18px 18px rgba(0,0,0,.65)) drop-shadow(0 0 26px rgba(226,150,60,.10))}
.parcel{box-shadow:none}
.parcel:hover{transform:translateY(-7px) rotate(-.3deg)}
.parcel .twine .strand{transition:transform .35s cubic-bezier(.3,1.3,.5,1)}
.parcel:hover .twine .strand{transform:scale(.985)}
.parcel:hover .bow{transform:translateX(-50%) scale(.94) translateY(1px)}
.parcel .bow{transition:transform .35s}
.label{box-shadow:0 3px 8px -2px rgba(0,0,0,.5),inset 0 0 26px rgba(150,110,50,.10)}
.price{color:var(--accent)}
.batch.low{color:#5A0E0E}.batch.low .bar i{background:#5A0E0E}

/* incidental stains (berry / blueberry / pineapple / honey / nuts / flour) */
.stain{position:absolute;pointer-events:none;z-index:-1;color:#3B2F25;mix-blend-mode:multiply;aspect-ratio:200/164;height:auto;transform:rotate(var(--r,0deg));overflow:visible}
.st-card{top:38px;right:-22px;width:64%;opacity:.8}
.st-tr{top:-10px;right:-14px;width:min(46%,320px);opacity:.85}
.st-br{bottom:-14px;right:-14px;width:min(46%,320px);opacity:.85}
.st-tl{top:-10px;left:-14px;width:min(40%,280px);opacity:.85}
.st-bl{bottom:-14px;left:-14px;width:min(40%,280px);opacity:.85}
.st-modal{bottom:-10px;left:-14px;width:62%;opacity:.7;z-index:0}
/* on the dark ground the dyes glow instead of multiply */
.on-dark,.page-hero>.stain,.site-footer>.stain,.shelf-head>.stain,.section>.stain,.hero>.stain{mix-blend-mode:normal;z-index:0;color:#E9D9B0;opacity:.55;filter:saturate(1.35) brightness(1.55)}
.shelf-head>.stain{position:absolute;right:120px;top:-26px;width:190px;opacity:.6}
.page-hero>.stain{right:4%;top:auto;bottom:-40px;width:min(36vw,440px);opacity:.5;z-index:0}
.site-footer>.stain{right:2%;bottom:30px;width:min(30vw,380px);opacity:.42}
.section>.stain{width:min(30vw,380px);opacity:.42}
.hero-plate .stain,.figure-plate .stain,.box-photo .stain,.quote-card .stain,.stampcard .stain,.shop-card .stain,.feature .stain,.panel .stain{z-index:-1}
.figure-plate,.box-photo,.quote-card,.stampcard,.shop-card,.feature,.hero-plate,.label,.pm-art{isolation:isolate}
.pm-art .stain{z-index:0;mix-blend-mode:multiply}
.dust{display:block;width:100%;height:26px;opacity:.8}

/* menu toolbar → dark, becomes sidebar on desktop */
.toolbar{background:rgba(23,13,9,.94);border:1px solid rgba(201,162,75,.4);border-inline:0;box-shadow:0 10px 24px -14px #000}
.filter{background:transparent;color:var(--cream);border-color:rgba(201,162,75,.6)}
.filter:hover{background:rgba(201,162,75,.14)}
.filter[aria-pressed="true"]{background:var(--red-fabric);color:#FBF3DC;border-color:var(--gold)}
.search input{background:var(--parch-hi);color:#2A231B;border-color:var(--gold)}
.tb-in{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;width:min(1200px,100% - 2.5rem);margin-inline:auto}
.menu-layout{display:block}
.shelf-jump,.tb-title{display:none}
.shelf-head{border-bottom-color:rgba(201,162,75,.6);position:relative}
.shelf-head .sk{color:var(--gold-light)}
.empty-note{color:var(--cream-soft)}
.note,.fig{color:var(--ink-soft)}

/* forms on dark */
.newsletter input{color:#2A231B}
.newsletter input::placeholder{color:#6b5a48}
.site-footer .newsletter input{background:#1E130D;color:#F3E8D0}
.site-footer{background:linear-gradient(180deg,#170D09,#080504);background-image:linear-gradient(180deg,#170D09,#080504),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cg fill='none' stroke='%23C9A24B' stroke-opacity='.06' stroke-width='1.4'%3E%3Cpath d='M60 26l14 9v16c0 12-7 20-14 24-7-4-14-12-14-24V35z'/%3E%3Cpath d='M60 38v30M53 45l7 5 7-5M53 54l7 5 7-5'/%3E%3C/g%3E%3C/svg%3E");border-top:4px solid var(--red-deep);box-shadow:inset 0 4px 0 #5A0E0E}
.site-footer::before{height:2px}
.foot-brand p,.allergen-foot{color:#E0D3B4}.foot-legal{color:#CDBF9F}
.site-footer a{color:var(--cream)}
.site-footer a:hover{color:var(--gold-light)}
.tile:hover{filter:drop-shadow(0 0 20px rgba(226,150,60,.35))}
.toast{background:#170D09}
.order-dock{background:rgba(23,13,9,.92)}
.pm{background:var(--parch-hi)}
dialog.pmodal::backdrop{background:rgba(6,3,2,.82)}
.skip{color:#FBF3DC;background:var(--red-fabric)}
.pm-close{background:var(--red-fabric);color:#FBF3DC}
.slot input:checked+label,.filter[aria-pressed=true]{background:var(--red-fabric)}
.opt input:checked+label{background:rgba(90,14,14,.07)}
.mobile-nav{background:#170D09}
.timeline li::before{background:var(--red-bright)}
.stamps li.on{color:#5A0E0E;border-color:#5A0E0E}.stamps li.on svg{color:#5A0E0E}
.checks input,.variants input{accent-color:#5A0E0E}
::selection{background:#5A0E0E;color:#FBF3DC}

/* scroll-reveal polish */
.grid.reveal>*{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.grid.reveal.in>*{opacity:1;transform:none}
.grid.reveal.in>*:nth-child(2){transition-delay:.08s}.grid.reveal.in>*:nth-child(3){transition-delay:.16s}.grid.reveal.in>*:nth-child(4){transition-delay:.24s}.grid.reveal.in>*:nth-child(n+5){transition-delay:.3s}
.no-js .grid.reveal>*{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.grid.reveal>*{opacity:1;transform:none}}

/* mobile: bottom sticky order bar with safe area, bigger touch targets */
@media (max-width:1023px){
  .order-dock{left:0;right:0;bottom:0;border-radius:0;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));box-shadow:0 -10px 24px rgba(0,0,0,.6)}
  .order-dock .btn{min-height:48px;min-width:132px}
  .mega{display:none!important}
  .util .u-left a{min-height:32px}
  .toolbar{margin-bottom:1.5rem}
}

/* ---------------- DESKTOP (>=1024) ---------------- */
@media (min-width:1024px){
  .container{width:min(1240px,100% - 5rem)}
  .tb-in{width:auto;flex-direction:column;align-items:stretch}
  .hero{min-height:calc(100svh - 168px);display:flex;align-items:center;padding:clamp(2.5rem,5vh,5rem) 0}
  .hero-grid{gap:clamp(2.5rem,5vw,6rem);width:min(1240px,100% - 5rem)}
  .hero h1{font-size:clamp(3.4rem,3.4vw + 1.6rem,7rem)}
  .hero .lede{font-size:1.32rem}
  .hero-plate{padding:clamp(2.4rem,3.5vw,4.2rem)}
  .hero-scene{max-height:calc(100svh - 230px);display:flex;justify-content:center}
  .hero-scene svg{max-height:calc(100svh - 230px);width:auto;max-width:100%}
  .section{padding:clamp(4.5rem,8vw,8.5rem) 0}
  .page-hero{padding:clamp(4rem,7vw,7rem) 0 clamp(2.5rem,4vw,4rem)}
  .page-hero h1{font-size:clamp(3.4rem,3.6vw + 1.4rem,6.6rem)}
  /* mega-nav */
  .has-mega>a::before{content:"";position:absolute;left:0;right:0;top:100%;height:44px}
  .mega{position:absolute;left:0;right:0;top:100%;background:linear-gradient(180deg,#2A1810,#120A06);border-bottom:1px solid var(--gold-dark);box-shadow:0 40px 60px -20px rgba(0,0,0,.9);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .22s,transform .22s,visibility 0s .22s;z-index:5}
  .has-mega:hover>.mega,.has-mega:focus-within>.mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
  .has-mega:hover>a,.has-mega:focus-within>a{color:var(--gold-light)}
  .has-mega:hover>a::after,.has-mega:focus-within>a::after{transform:scaleX(1)}
  .mega-in{width:min(1240px,100% - 5rem);margin-inline:auto;display:grid;grid-template-columns:repeat(4,1fr) minmax(280px,1.25fr);gap:2rem;padding:2rem 0 2.4rem;text-align:left}
  .mega-in.three{grid-template-columns:repeat(3,1fr) minmax(280px,1.25fr)}
  .nav .mega h3{font-size:1.05rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin:0 0 .6rem;border-bottom:1px solid rgba(201,162,75,.35);padding-bottom:.5rem}
  .nav .mega ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
  .nav .mega a{display:block;font-family:var(--font-body);font-weight:400;font-size:1.02rem;letter-spacing:0;text-transform:none;color:var(--cream);padding:.42rem .5rem;min-height:0;border-radius:2px}
  .nav .mega a::after{display:none}
  .nav .mega a:hover,.nav .mega a:focus-visible{background:rgba(201,162,75,.14);color:#FFF1C9}
  .nav .mega h3 a{display:inline;padding:0;font-family:var(--font-display);font-weight:700;letter-spacing:.2em;font-size:1.05rem;color:var(--gold-light);text-transform:uppercase}
  .mega-preview{position:relative;background:var(--parch-hi);--ink:#2A231B;--ink-soft:#4E3C2E;color:#2A231B;padding:1rem 1rem .8rem;border:1px solid var(--gold-dark);outline:1px solid var(--gold-dark);outline-offset:-6px;text-align:center;isolation:isolate;overflow:hidden}
  .mega-preview svg.pv-art{width:100%;height:auto;max-height:190px;color:#3B2F25;display:block}
  .mega-preview .stain{z-index:-1;width:70%;right:-10%;top:auto;bottom:-10%;opacity:.8}
  .mega-preview p{margin:.2rem 0 0;font-family:var(--font-display);font-style:italic;font-size:1.05rem;color:#4E3C2E}
  .mega-preview b{display:block;font-family:var(--font-display);font-size:1.25rem;font-variant:small-caps;color:#2A231B}
  /* menu: filter sidebar + multi-column grid */
  .menu-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(2rem,3vw,3.5rem);align-items:start}
  .menu-layout .toolbar{position:sticky;top:116px;margin:0;padding:1.4rem 1.2rem;border:1px solid rgba(201,162,75,.5);background:linear-gradient(180deg,#2A1810,#150B07);outline:1px solid rgba(201,162,75,.2);outline-offset:-6px}
  .site-header.compact ~ main .menu-layout .toolbar,.menu-layout .toolbar.stuck{top:92px}
  .tb-title{display:block;font-family:var(--font-display);font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);font-size:1rem;margin:0 0 -.2rem}
  .menu-layout .filters{flex-direction:column;gap:.4rem;flex:none}
  .menu-layout .filter{width:100%;text-align:left;min-height:46px}
  .menu-layout .search{flex:none}
  .shelf-jump{display:block;margin-top:.4rem;border-top:1px solid rgba(201,162,75,.3);padding-top:1rem}
  .shelf-jump ul{list-style:none;margin:0;padding:0;display:grid;gap:.1rem}
  .shelf-jump a{display:flex;justify-content:space-between;color:var(--cream);text-decoration:none;padding:.5rem .3rem;font-family:var(--font-display);font-weight:600;font-size:1.12rem;border-bottom:1px dotted rgba(201,162,75,.25)}
  .shelf-jump a:hover{color:var(--gold-light)}
  .menu-main .shelf-head{margin-top:0}
  .menu-main .grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cart-grid{grid-template-columns:minmax(0,1.6fr) minmax(360px,1fr);gap:3rem}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.1fr}
  .grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1440px){
  html{font-size:106.25%}
  .container,.tb-in.wide{width:min(1360px,100% - 6rem)}
  .hero-grid,.mega-in{width:min(1360px,100% - 6rem)}
}
@media (min-width:1800px){
  html{font-size:112.5%}
  .container{width:min(1600px,100% - 8rem)}
  .hero-grid,.mega-in{width:min(1600px,100% - 8rem)}
  .menu-main .grid.cols-3{grid-template-columns:repeat(4,minmax(0,1fr))}
  .menu-layout{grid-template-columns:300px minmax(0,1fr)}
}
@media (min-width:1024px) and (max-width:1279px){
  .menu-layout{grid-template-columns:230px minmax(0,1fr)}
  .menu-main .grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mega-in,.mega-in.three{grid-template-columns:repeat(4,1fr)}.mega-preview{display:none}
}

/* ---------------- print: back to light ink on white ---------------- */
@media print{
  html{font-size:100%!important}
  body,.section,.section.alt,.section.dark,.page-hero,.hero,.trust,.site-footer,.hero-plate,.parcel,.label,.feature,.panel{background:#fff!important;background-image:none!important;color:#000!important;filter:none!important}
  h1,h2,h3,h4,p,li,a,q,cite,span,dt,dd,td,th,small,em{color:#000!important;-webkit-text-fill-color:#000!important}
  .announce,.util,.site-header,.order-dock,.toast,.mobile-nav,.site-footer .newsletter,.builder,.foot-seal,.toolbar,.hero-scene,.btn,.stain,.compass-bg,.mega,.shelf-jump{display:none!important}
  .site-footer{border:0!important;box-shadow:none!important}
  .reveal,.grid.reveal>*{opacity:1!important;transform:none!important}
  .parcel{clip-path:none;box-shadow:none;border:1px solid #999}
  .menu-layout{display:block}
  a{text-decoration:underline}
}
.stamp{background:rgba(251,247,236,.96);mix-blend-mode:normal;opacity:.95;color:#5A0E0E;border-color:#5A0E0E;padding:.05rem .4rem}
.stamp{right:10px;bottom:auto;top:58px;font-size:.74rem;border-width:1.5px}
/* contrast + "never over text" tuning */
.stars,.label .stars,.quote-card .stars,.pm .stars,.hero-plate .stars{color:#6E5210}
.trust .stars,.site-footer .stars{color:var(--gold)}
.st-tr,.st-br,.st-tl,.st-bl{opacity:.62}.st-card{opacity:.7}
.shop-card .stain,.feature .stain,.quote-card .stain,.panel .stain{opacity:.5;width:min(38%,200px)}
.stampcard .stain,.hero-plate .stain{opacity:.55}
.shelf-head>.stain{right:auto;left:min(58%,540px);top:-34px;width:150px;opacity:.38}
@media (max-width:620px){.shelf-head>.stain{left:auto;right:-10px;top:-40px;width:96px;opacity:.3}
 .page-hero>.stain{width:58vw;bottom:-30px;opacity:.32}}
.page-hero>.stain{opacity:.38}
.site-footer>.stain{opacity:.3}
.note,.field .hint{color:var(--ink-soft)}
.panel .note,.panel .hint{color:#4E3C2E}
.stamp{z-index:5}
.label .badge-num{z-index:6}
.no{color:#5A5F67}.tag.gold{color:#6E5210}

/* =====================================================================
   REVISION 3 — refinement pass: features + polish
   ===================================================================== */
/* favorites heart on cards + modal */
.label .heart{position:absolute;top:8px;right:8px;z-index:4;width:44px;height:44px;display:grid;place-items:center;background:transparent;border:0;cursor:pointer;color:#5a4636;border-radius:50%}
.heart svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;transition:transform .2s,fill .2s}
.heart:hover svg{transform:scale(1.12)}
.heart[aria-pressed="true"]{color:var(--red-bright)}.heart[aria-pressed="true"] svg{fill:currentColor}
.label:has(.badge-num) .heart{top:50px}
.heart.in-modal{position:absolute;top:.5rem;right:.5rem;z-index:3;width:44px;height:44px;background:transparent;border:0;cursor:pointer;color:#5a4636;display:grid;place-items:center;border-radius:50%}
.pm-body{position:relative}
/* dietary filter row */
.filters.diet{align-items:center;flex:1 1 100%;padding-top:.15rem}
.diet-l{font-family:var(--font-display);font-weight:700;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-light);margin-right:.35rem}
.fav-n{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;margin-left:.35rem;border-radius:50%;background:rgba(201,162,75,.25);font:600 .72rem/1 var(--font-price)}
.filter[aria-pressed=true] .fav-n{background:rgba(255,240,200,.28)}
@media (min-width:1024px){.menu-layout .filters.diet{flex-direction:column;align-items:stretch}.menu-layout .diet-l{margin:.5rem 0 .1rem}}
/* recently viewed / pairs / add-ons / search rows share one look */
.recent{margin:0 0 1.6rem;padding:1rem 1.1rem;border:1px solid rgba(201,162,75,.35);background:rgba(23,13,9,.55)}
.rc-h{font-size:1.2rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);margin:0 0 .6rem}
.recent-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.recent-item{display:flex;gap:.6rem;align-items:center;min-height:52px;padding:.3rem .7rem .3rem .3rem;background:var(--parch-hi);border:1px solid var(--gold-dark);cursor:pointer;color:var(--paper-ink);text-align:left;font:inherit}
.recent-item:hover{background:#fff;box-shadow:0 0 0 1px var(--gold)}
.recent-item b,.pairs b,.addon-list b,.sd-list b{display:block;font-family:var(--font-display);font-size:1.05rem;line-height:1.15;font-variant:small-caps;letter-spacing:.03em}
.recent-item small,.pairs small,.addon-list small,.sd-list small{display:block;color:var(--paper-soft);font-size:.85rem}
.pair-art{width:44px;height:44px;flex:none;display:grid;place-items:center;background:rgba(201,162,75,.16);border:1px solid rgba(70,60,50,.2)}
.pair-art svg{width:38px;height:auto;color:var(--sepia)}
.recent-row .linklike{color:var(--gold-light);min-height:44px;padding:0 .4rem}
.pairs{margin-top:1.3rem;padding-top:1rem;border-top:1px dotted rgba(70,60,50,.5)}
.pairs h3,.reviews h3{font-size:1.25rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 .6rem;color:var(--paper-ink)}
.pairs ul,.addon-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.pairs li,.addon-list li{display:flex;gap:.7rem;align-items:center;justify-content:space-between}
.pair-open{display:flex;gap:.7rem;align-items:center;flex:1;background:none;border:0;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit;min-height:48px}
.addon-list li{display:grid;grid-template-columns:44px 1fr auto;gap:.8rem}
.btn.ghost.sm,.pairs .btn.ghost,.addon-list .btn.ghost{color:var(--accent);background:transparent;background-image:none;box-shadow:none;border-color:var(--gold-dark);min-height:44px}
.pairs .btn.ghost:hover,.addon-list .btn.ghost:hover{background:rgba(201,162,75,.16);color:var(--accent)}
/* reviews */
.reviews{margin-top:1.3rem;padding-top:1rem;border-top:1px dotted rgba(70,60,50,.5)}
.reviews h3 small{font:italic 400 .85rem var(--font-display);letter-spacing:.04em;text-transform:none;color:var(--paper-soft)}
.rv-sum{display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:center;margin-bottom:.8rem}
.rv-big{text-align:center}.rv-big b{display:block;font:700 2.4rem/1 var(--font-price)}.rv-big small{display:block;color:var(--paper-soft)}
.rv-big .stars{color:var(--gold-star);letter-spacing:.1em;font-size:.95rem}
.rv-bars{list-style:none;margin:0;padding:0;display:grid;gap:.2rem;font-size:.8rem;color:var(--paper-soft)}
.rv-bars li{display:grid;grid-template-columns:2.4rem 1fr 2rem;gap:.5rem;align-items:center}
.rv-bars i{height:6px;background:rgba(70,60,50,.15);display:block}.rv-bars b{display:block;height:100%;background:var(--gold-dark)}
.rv-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.rv-list p{margin:.1rem 0 0;font-size:.95rem}
.rv-list .stars{color:var(--gold-star)}.rv-list em{color:var(--paper-soft);font-size:.85rem}
.rv-write{margin-top:.8rem}.rv-write summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--accent);font-weight:600}
.rv-form{display:grid;gap:.6rem;margin-top:.4rem}
.rv-form textarea{width:100%;min-height:76px;padding:.5rem .7rem;border:1px solid var(--gold-dark);background:#fff;font:inherit;color:var(--paper-ink)}
.rv-stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;border:0;padding:0;margin:0}
.rv-stars input{position:absolute;opacity:0;width:1px;height:1px}
.rv-stars label{font-size:1.8rem;line-height:1;padding:.15rem .2rem;cursor:pointer;color:#c9bda4;min-width:36px;min-height:44px;display:grid;place-items:center}
.rv-stars input:checked~label,.rv-stars label:hover,.rv-stars label:hover~label{color:var(--gold-star)}
.rv-stars input:focus-visible+label{outline:3px solid var(--red-ink);outline-offset:2px}
/* site search dialog */
.search-open{display:inline-flex;align-items:center;gap:.4rem;min-height:32px;padding:0 .2rem;background:none;border:0;color:var(--cream-soft);cursor:pointer;font:inherit}
.search-open svg,.sd-top svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.search-open:hover{color:var(--gold-light)}
.search-open kbd{font:600 .7rem var(--font-price);border:1px solid rgba(201,162,75,.5);padding:0 .3rem;border-radius:2px;color:var(--gold-light)}
dialog.searchdlg{border:1px solid var(--gold-dark);outline:1px solid rgba(201,162,75,.4);outline-offset:-6px;padding:0;background:var(--parch-hi);color:var(--paper-ink);width:min(620px,94vw);margin:12vh auto auto;box-shadow:0 30px 60px rgba(0,0,0,.6)}
dialog.searchdlg::backdrop{background:rgba(12,8,6,.72);backdrop-filter:blur(3px)}
.sd-in{margin:0;padding:1rem}.sd-top{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--gold-dark);padding-bottom:.6rem}
.sd-top svg{width:22px;height:22px;flex:none;color:var(--accent)}
.sd-top input{flex:1;min-height:48px;border:0;background:transparent;font:1.15rem var(--font-body);color:var(--paper-ink);outline:0}
.sd-x{min-height:36px;border:1px solid var(--gold-dark);background:transparent;padding:0 .6rem;cursor:pointer;font:600 .8rem var(--font-price);color:var(--paper-soft)}
.sd-list{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:2px;max-height:52vh;overflow:auto}
.sd-list a{display:flex;gap:.8rem;align-items:center;padding:.4rem .5rem;text-decoration:none;color:inherit;min-height:52px}
.sd-list li[aria-selected=true] a,.sd-list a:hover{background:rgba(201,162,75,.2)}
.sd-none{padding:1rem;color:var(--paper-soft);font-style:italic}.sd-hint{margin:.6rem 0 0;font-size:.85rem;color:var(--paper-soft)}
/* consent, progress, back to top */
.consent{position:fixed;left:1rem;bottom:1rem;z-index:150;max-width:min(440px,calc(100vw - 2rem));display:flex;gap:1rem;align-items:center;background:rgba(23,13,9,.96);border:1px solid var(--gold-dark);padding:.8rem 1rem;box-shadow:0 14px 30px rgba(0,0,0,.6);color:var(--cream)}
.consent[hidden]{display:none}.consent p{margin:0;font-size:.88rem;line-height:1.45}.consent a{color:var(--gold-light)}
@media (max-width:1023px){.consent{left:.6rem;right:.6rem;bottom:5.4rem;max-width:none}}
.progress-bar{position:fixed;left:0;right:0;top:0;height:3px;z-index:300;pointer-events:none}
.progress-bar i{display:block;height:100%;background:var(--gold-grad);transform-origin:left;transform:scaleX(0)}
.btt{position:fixed;right:1.2rem;bottom:5.4rem;z-index:65;width:44px;height:44px;display:grid;place-items:center;background:rgba(23,13,9,.9);border:1px solid var(--gold-dark);color:var(--gold-light);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s}
.btt svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btt.show{opacity:1;transform:none;pointer-events:auto}.btt:hover{background:var(--red)}
@media (max-width:1023px){.btt{bottom:5.4rem;right:.8rem}}
/* loading skeletons */
.skeleton{display:grid;gap:1rem}.skeleton i{display:block;height:120px;background:linear-gradient(90deg,rgba(243,232,208,.06),rgba(243,232,208,.16),rgba(243,232,208,.06));background-size:200% 100%;animation:sk 1.2s linear infinite;border:1px solid rgba(201,162,75,.2)}
@keyframes sk{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skeleton i{animation:none}}
/* gift cards */
.giftcard-art{display:grid;place-items:center;padding:1rem}
.gc{position:relative;width:min(400px,100%);aspect-ratio:1.62;display:grid;place-items:center;align-content:center;gap:.15rem;text-align:center;color:#F6EBCF;background:linear-gradient(180deg,var(--red-bright),var(--red) 45%,var(--red-deep));border:1px solid var(--gold-dark);outline:1px solid rgba(201,162,75,.6);outline-offset:-9px;box-shadow:0 22px 40px -16px #000,inset 0 2px 6px rgba(0,0,0,.5);transform:rotate(-2deg)}
.gc-crest svg{height:44px;width:auto;display:block;margin:0 auto}
.gc-name{font:700 1.3rem var(--font-display);letter-spacing:.36em;padding-left:.36em;color:var(--gold-light)}
.gc-amt{font:700 2.6rem/1.1 var(--font-price);color:#FFF1C9}.gc-line{font:italic 1rem var(--font-display);color:var(--cream-soft)}
.gc-amts{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem}
@media (max-width:620px){.gc-amts{grid-template-columns:repeat(3,1fr)}}
/* quote + calendar */
.quote-out{margin:.4rem 0 0;padding:.9rem 1rem;background:rgba(201,162,75,.16);border:1px dashed var(--gold-dark);font-size:1.05rem}
.quote-out b{font:700 1.4rem var(--font-price)}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:760px}
.cal-h{font:700 .8rem var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);text-align:center;padding-bottom:.3rem}
.cal-d{display:grid;place-items:center;align-content:center;min-height:56px;padding:.2rem;border:1px solid rgba(201,162,75,.25);text-decoration:none;color:var(--cream);background:rgba(23,13,9,.4);line-height:1.1}
.cal-d b{font:700 1.1rem var(--font-price)}.cal-d small{font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cream-soft);min-height:.8em}
.cal-d.open{background:rgba(201,162,75,.22);border-color:var(--gold)}.cal-d.sig{background:rgba(201,162,75,.1);border-color:var(--gold-dark)}
a.cal-d:hover{background:rgba(201,162,75,.38);color:#fff}
.cal-d.past,.cal-d.closed,.cal-d.soon,.cal-d.full{opacity:.72;background:transparent;border-style:dashed}.cal-d.past b,.cal-d.closed b,.cal-d.soon b,.cal-d.full b{text-decoration:none}
.cal-key{margin-top:.8rem}.cal-key .k{display:inline-block;width:.9rem;height:.9rem;vertical-align:-.1rem;border:1px solid var(--gold);background:rgba(201,162,75,.22)}.cal-key .k.sig{background:rgba(201,162,75,.1)}.cal-key .k.full{background:transparent;opacity:.5}
@media (max-width:620px){.cal-d{min-height:50px}.cal-d small{display:none}}
/* FAQ search */
.faq-search{margin-bottom:1.2rem}.faq-search input{width:100%;min-height:48px;padding:.5rem .9rem;border:1px solid var(--gold-dark);background:var(--parch-hi);font:inherit;color:var(--paper-ink)}
.faq-search .note{margin:.3rem 0 0;min-height:1.3em}
.faq details[hidden]{display:none}
/* polish */
.util .u-right{align-items:center}
.pname button{min-height:44px;display:flex;align-items:center}
.pname button{min-height:0;display:block;padding:.15rem 0}
@media (max-width:620px){.pname button{padding:.5rem 0}}
.parcel .art{display:block;width:100%}
.btn:focus-visible{outline-offset:5px}
.filter:hover{border-color:var(--gold-light);background:rgba(201,162,75,.12)}
.filter[aria-pressed=true]:hover{background:var(--red-fabric)}
.opt-cards.three{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
@media (max-width:620px){.opt-cards.three{grid-template-columns:1fr}}
.order-dock,.consent,.btt{will-change:transform}
@media print{.progress-bar,.btt,.consent,.heart,.search-open,dialog.searchdlg,.recent,.pairs,.reviews{display:none!important}}
@media (prefers-reduced-motion:reduce){.btt,.progress-bar i{transition:none}}
/* layout fixes from the bounding-box pass */
.consent .btn{flex:none;white-space:nowrap}
.consent p{min-width:0}
.header-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
@media (max-width:1023px){.header-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}}
@media (min-width:1024px) and (max-width:1179px){
  .nav a{font-size:.86rem;letter-spacing:.06em;padding:.7rem .38rem}
  .nav a::after{left:.38rem;right:.38rem}
  .btn-order{padding:.5rem .8rem;font-size:.95rem;letter-spacing:.1em}
  .basket-btn{padding:.5rem .4rem}
  .header-actions{gap:.15rem}
  .ribbon-in{padding:.5rem 2.4rem}.wordmark{font-size:1.35rem;letter-spacing:.26em}.ribbon .crest{height:36px}
  .header-row{gap:.5rem}
}
@media (max-width:620px){.pname button{padding:.75rem 0}}
.btn-order{flex:none}
@media (min-width:1180px) and (max-width:1560px){.nav a{padding:.75rem .62rem}.nav a::after{left:.62rem;right:.62rem}}
@media (min-width:1024px) and (max-width:1279px){.prow .btn.sm{padding:.45rem .6rem;letter-spacing:.08em;font-size:.9rem}.prow{gap:.4rem}}

/* R2.1e gold bevelled lettering: light top → bronze base, thin dark lower edge + soft highlight above (as the EVERGARDEN chisel-bevel) */
.ribbon .lockup{filter:drop-shadow(0 -.5px 0 rgba(255,246,204,.55)) drop-shadow(0 1.5px 1px rgba(20,4,2,.75))}
.ribbon .wordmark,.ribbon .lockup .casa{background:linear-gradient(180deg,#FFF0C1 0,#ECCD91 28%,#CBA66A 55%,#9B733D 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ribbon .crest{filter:drop-shadow(0 -.5px 0 rgba(255,246,204,.5)) drop-shadow(0 1.5px 1px rgba(20,4,2,.75))}
