:root{--ink:#2b2622;--muted:#6d6358;--paper:#fbf8f1;--card:#fff;--accent:#8c5a3c;--green:#2f3a2f;--line:#e4d9c6;--warn:#f1e6d3}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--paper);line-height:1.6;font-size:17px}
a{color:var(--accent)}img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.notice{background:#7a2e1f;color:#fff;text-align:center;font:14px/1.4 system-ui,sans-serif;padding:8px 12px}
header.site{background:var(--green);color:#f6efe2}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.logo{color:#f6efe2;text-decoration:none;font-size:24px;letter-spacing:.02em}.logo small{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#cbb98f}
nav a{color:#efe5d2;text-decoration:none;margin-left:16px;font:15px system-ui,sans-serif}nav a:hover{text-decoration:underline}
.basket-link{background:#cbb98f;color:var(--green)!important;padding:6px 12px;border-radius:4px}
.deadline{background:var(--warn);border-bottom:1px solid var(--line);font:14px/1.4 system-ui,sans-serif;padding:8px 0;text-align:center}
.hero{padding:56px 0 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:44px;line-height:1.15;margin:0 0 14px;font-weight:normal}
.hero p.lead{font-size:20px;color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:12px 22px;border-radius:4px;border:0;font:16px system-ui,sans-serif;cursor:pointer}
.btn:hover{background:#6f4630}.btn.secondary{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
h2{font-weight:normal;font-size:30px;margin:48px 0 16px}
.grid{display:grid;grid-template-columns:1fr;gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.card .body{padding:16px;flex:1;display:flex;flex-direction:column}.card h3{margin:0 0 6px;font-weight:normal;font-size:20px}
.card p{margin:0 0 12px;color:var(--muted);font-size:15px;flex:1}.card .price{font:600 15px system-ui,sans-serif;margin-bottom:10px}
.card.soon{border-style:dashed;background:#f6f1e6}.card.soon .ph{height:150px;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#efe6d4,#efe6d4 10px,#f6f1e6 10px,#f6f1e6 20px);color:var(--muted);font:600 13px system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.tag{display:inline-block;font:600 11px system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;background:var(--green);color:#fff;padding:3px 8px;border-radius:3px;margin-bottom:8px;align-self:flex-start}
.tag.soon{background:#9a8f80}
.card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center}
.samples{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.samples img{border:1px solid var(--line);box-shadow:0 2px 6px rgba(0,0,0,.08)}
.prose{max-width:760px}.prose h2{font-size:26px;margin-top:36px}
.product{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;padding:36px 0}
form.p fieldset{border:1px solid var(--line);border-radius:6px;padding:14px 16px;margin:0 0 16px;background:#fff}
form.p legend{font:600 14px system-ui,sans-serif;padding:0 6px;color:var(--accent)}
label{display:block;font:15px system-ui,sans-serif;margin:8px 0 4px}
input[type=text],input[type=number],textarea,select{width:100%;padding:9px 10px;border:1px solid #cdbfa8;border-radius:4px;font:16px system-ui,sans-serif;background:#fffdf9}
textarea{min-height:80px}.hint{font:13px/1.4 system-ui,sans-serif;color:var(--muted);margin-top:3px}
.opt{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px dashed var(--line)}.opt:last-child{border-bottom:0}
.opt input{margin-top:5px}.opt b{font-weight:600}.opt .amt{margin-left:auto;font:600 15px system-ui,sans-serif;white-space:nowrap}
.disabled-opt{opacity:.6}
.total{font:600 22px system-ui,sans-serif;margin:10px 0}
.err{color:#9b1c1c;font:15px system-ui,sans-serif;min-height:1em}
table.basket{width:100%;border-collapse:collapse;background:#fff;font:15px system-ui,sans-serif}
table.basket td,table.basket th{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}
.flag{background:var(--warn);border-left:3px solid #c08a4a;padding:10px 14px;font:15px/1.5 system-ui,sans-serif;margin:14px 0}
footer.site{margin-top:60px;background:#ece4d4;font:14px/1.6 system-ui,sans-serif;color:var(--muted)}
footer.site .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;padding-top:28px;padding-bottom:28px}
footer.site a{color:var(--ink);display:block}
.pill{display:inline-block;font:13px system-ui,sans-serif;border:1px solid var(--line);border-radius:20px;padding:2px 10px;margin:2px 4px 2px 0;background:#fff}
dl.faq dt{font-weight:bold;margin-top:18px}dl.faq dd{margin:4px 0 0}
.cardimg{position:relative;display:block}
.mocknote{position:absolute;left:8px;bottom:8px;background:#fff3c4;color:#6b4f00;font:12px/1.3 Arial,sans-serif;padding:3px 7px;border-radius:3px}
.product .cardimg .mocknote{position:static;display:inline-block;margin-top:6px}
.disabled-opt{opacity:.75}

/* ---- images ---- */
.heroimg{margin:0}.heroimg img{width:100%;height:auto;border:1px solid var(--line);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.heroimg figcaption{font:13px/1.4 system-ui,sans-serif;color:var(--muted);margin-top:8px}
.prodimg img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.10)}
.samples img{width:100%;height:auto}.samples.three{grid-template-columns:repeat(3,1fr)}
.card.soon img{filter:saturate(.75)}
/* ---- header and mobile menu ---- */
.navtoggle{position:absolute;opacity:0;width:1px;height:1px}
.navbtn{display:none}
header.site .wrap{flex-wrap:nowrap}
header.site nav{margin-left:auto}
nav a,.basket-link{display:inline-flex;align-items:center;min-height:44px}
.basket-link{white-space:nowrap;font:15px system-ui,sans-serif;text-decoration:none;padding:0 14px}
footer.site .wrap>div:not(:first-child) a{min-height:44px;display:flex;align-items:center}
.btn{min-height:44px}
.opt{min-height:44px;cursor:pointer}.opt input{width:20px;height:20px;flex:none;margin-top:3px}
html,body{overflow-x:hidden}
.wrap,main{min-width:0}
input,select,textarea{max-width:100%}
/* tablet: two columns */
@media(min-width:600px){.grid{grid-template-columns:repeat(2,1fr)}}
/* desktop: four columns */
@media(min-width:1024px){.grid{grid-template-columns:repeat(4,1fr)}.grid.steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1023px){
  header.site .wrap{flex-wrap:wrap;gap:8px 12px}
  .navbtn{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #cbb98f;border-radius:4px;color:#f6efe2;font:15px system-ui,sans-serif;cursor:pointer;margin-left:auto;order:2}
  .navbtn::before{content:"\2630";margin-right:8px;font-size:18px}
  .basket-link{order:3}
  header.site nav{order:4;flex-basis:100%;display:none;margin:0;border-top:1px solid rgba(255,255,255,.15);padding-top:4px}
  .navtoggle:checked~nav{display:flex;flex-direction:column}
  .navtoggle:focus-visible+.navbtn{outline:2px solid #fff}
  header.site nav a{margin:0;padding:0 4px;font-size:17px;border-bottom:1px solid rgba(255,255,255,.08)}
}
@media(max-width:759px){
  .hero,.product{grid-template-columns:1fr;gap:24px}.hero{padding:28px 0 20px}.hero h1{font-size:32px}.hero p.lead{font-size:18px}
  .product{padding:20px 0}
  h2{font-size:26px;margin:36px 0 14px}
  footer.site .wrap{grid-template-columns:1fr;gap:8px}
  body{font-size:17px}
  .card p,label,.flag,table.basket,footer.site,.deadline,.opt .amt,.card .price{font-size:16px}
  .hint,.heroimg figcaption{font-size:15px}
  .notice{font-size:14px}
  .deadline{padding:8px 12px}
  .samples{grid-template-columns:repeat(2,1fr)}.samples.three{grid-template-columns:repeat(3,1fr)}
  .btn{display:inline-flex;align-items:center;justify-content:center}
  .hero .btn{margin:0 6px 8px 0}
  /* basket table stacks on phones */
  table.basket,table.basket tbody,table.basket tr,table.basket td,table.basket th{display:block;width:100%}
  table.basket tr:first-child th{display:none}
  table.basket tr{border-bottom:1px solid var(--line);padding:6px 0}
  table.basket td{border:0;padding:6px 10px}
  table.basket td:empty{display:none}
  table.basket td[style*="right"]{text-align:left!important}
  input[type=text],input[type=number],input[type=date],textarea,select{min-height:44px;font-size:16px}
}
input[type=date]{width:100%;padding:9px 10px;border:1px solid #cdbfa8;border-radius:4px;font:16px system-ui,sans-serif;background:#fffdf9}
@media(max-width:759px){
  table.dates td:first-child{font-weight:600}
  table.dates td:nth-child(2)::before{content:"Order by: "}
  table.dates td:nth-child(3)::before{content:"Timing: ";font-weight:600}
}
@media(max-width:1023px){.navbtn,.basket-link{font-size:16px}}
.deadline a{display:inline-block;padding:11px 4px;margin:-11px 0}
.consent-links a{display:inline-block}

/* =====================================================================
   Heritage refresh (Phase 2): almanac title-page wordmark, engraved oak
   wordmark, classic serif pairing, fine rules and printer's ornaments.
   Palette unchanged: green #2f3a2f, cream, gold #cbb98f.
   Fonts: EB Garamond (text) + Cormorant Garamond (display), SIL OFL 1.1,
   self-hosted in /assets/fonts.
   ===================================================================== */
@font-face{font-family:"EB Garamond";src:url(/assets/fonts/ebgaramond.woff2) format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"EB Garamond";src:url(/assets/fonts/ebgaramond-italic.woff2) format("woff2");font-weight:400 800;font-style:italic;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url(/assets/fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
:root{--gold:#cbb98f;--gold-deep:#8f7a45;--cream:#f6efe2;--rule:#d8c9a8;
  --text:"EB Garamond",Garamond,Georgia,"Times New Roman",serif;--display:"Cormorant Garamond","EB Garamond",Garamond,Georgia,serif}
body{font-family:var(--text);font-size:19px;line-height:1.55;font-kerning:normal;font-variant-ligatures:common-ligatures;font-variant-numeric:oldstyle-nums;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:.005em;color:#2a2620}
h1{font-size:44px;line-height:1.1}
/* UI text: same serif family instead of system sans */
nav a,.basket-link,.btn,.tag,.pill,label,.hint,.err,.flag,.deadline,.mocknote,.card .price,.opt .amt,.total,form.p legend,
input[type=text],input[type=number],input[type=date],textarea,select,table.basket,footer.site,.heroimg figcaption,.navbtn{font-family:var(--text)}
.card .price,.opt .amt,.total,table.basket,input,select,.deadline{font-variant-numeric:lining-nums tabular-nums}
input[type=text],input[type=number],input[type=date],textarea,select{font-size:17px;background:#fffdf8;border-color:#cdbfa8;border-radius:2px}
label{font-size:17px}.hint{font-size:15px;line-height:1.45}
/* ---- header: almanac title-page wordmark ---- */
header.site{background:var(--green);border-bottom:1px solid var(--gold);box-shadow:inset 0 -4px 0 var(--green),inset 0 -5px 0 rgba(203,185,143,.55)}
.logo{display:inline-flex;align-items:center;gap:12px;color:var(--cream)}
.wm{display:flex;flex-direction:column;align-items:center;line-height:1}
.wm-name{font-family:var(--display);font-weight:600;font-size:25px;letter-spacing:.2em;text-transform:uppercase;padding:5px 0 4px;margin-right:-.2em;
  border-top:1px solid rgba(203,185,143,.7);border-bottom:1px solid rgba(203,185,143,.7);white-space:nowrap}
.wm-name .amp{font-style:italic;text-transform:none;color:var(--gold);font-weight:500;letter-spacing:0;margin:0 .1em 0 -.05em;font-size:1.08em}
.logo small,.wm small{display:block;margin-top:6px;font-family:var(--text);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
nav a{font-size:16px;letter-spacing:.06em;color:#efe5d2}
.basket-link{font-size:16px;border-radius:2px;letter-spacing:.04em}
@media(min-width:1024px){
  header.site .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;row-gap:2px;padding-top:18px;padding-bottom:6px}
  header.site .logo{grid-column:1/-1;justify-self:center;gap:16px}
  .wm-name{font-size:34px;padding:7px 0 6px;border-top:3px double var(--gold);border-bottom:3px double var(--gold)}
  .wm small{font-size:12px;margin-top:8px}
  .wm small::before,.wm small::after{content:"";display:inline-block;width:8px;height:11px;margin:0 .9em;vertical-align:-1px;background:url(/assets/brand/ornament-acorn-gold.svg) center/contain no-repeat}
  header.site nav{grid-column:2;margin:0;display:flex;justify-content:center;border-top:1px solid rgba(203,185,143,.35);margin-top:10px;padding:0 10px}
  header.site nav a{margin:0 13px}
  .basket-link{grid-column:3;justify-self:end;margin-top:10px}
}
.navbtn{font-family:var(--text);border-radius:2px}
.deadline{background:#f3ead8;border-bottom:1px solid var(--rule);font-size:15px;letter-spacing:.01em}
.notice{font-family:var(--text);font-size:15px;letter-spacing:.02em}
/* ---- buttons, tags ---- */
.btn{font-family:var(--text);font-size:17px;letter-spacing:.06em;border-radius:2px;padding:11px 24px}
.btn.secondary{background:transparent}
.tag{font-family:var(--text);font-weight:500;font-size:12px;letter-spacing:.16em;border-radius:1px;padding:3px 9px 2px}
/* ---- printer's ornaments and fine rules ---- */
.hero h1{font-size:52px;font-weight:600;line-height:1.06;margin-bottom:18px}
.hero h1::before{content:"";display:block;width:84px;margin-bottom:16px;border-top:3px double var(--gold-deep)}
.hero p.lead{font-size:21px;font-style:italic;color:#5f564b}
.heroimg img{background:#fff;padding:8px;border:1px solid var(--rule);box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--rule),0 10px 24px rgba(0,0,0,.10)}
.heroimg figcaption{font-style:italic;font-size:15px;text-align:center}
main > h2,.sechead{text-align:center;font-size:30px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:64px 0 26px;color:var(--green)}
main > h2::after{content:"";display:block;margin:12px auto 0;max-width:320px;height:20px;
  background:url(/assets/brand/ornament-acorn-deep.svg) center/auto 20px no-repeat,linear-gradient(var(--gold),var(--gold)) left center/calc(50% - 20px) 1px no-repeat,linear-gradient(var(--gold),var(--gold)) right center/calc(50% - 20px) 1px no-repeat}
h2.sub{font-size:25px;font-weight:600;margin:30px 0 12px;padding-bottom:6px;border-bottom:1px solid var(--rule);position:relative}
h2.sub::after{content:"";position:absolute;left:0;bottom:-4px;width:64px;border-bottom:1px solid var(--gold-deep)}
/* ---- cards as framed plates ---- */
.card{border-radius:1px;border-color:var(--rule);box-shadow:0 0 0 4px var(--paper),0 0 0 5px #e7dcc6}
.card h3{font-size:24px;line-height:1.15;font-weight:600}
.card p{font-size:16.5px;line-height:1.5}
.card .price{font-size:16px;font-weight:600;letter-spacing:.02em}
.grid{gap:26px}
.grid.steps .card{text-align:center;background:#fffdf8}
.grid.steps .card .body{padding:22px 20px}
.grid.steps .card h3{font-size:24px;margin-bottom:10px}
.grid.steps .card h3::after{content:"";display:block;width:40px;margin:10px auto 0;border-bottom:1px solid var(--gold)}
.card.soon{background:#f7f1e4}
.prodimg img{border-radius:1px;background:#fff;padding:6px;border-color:var(--rule)}
.samples img{border-color:var(--rule)}
/* ---- book-like prose pages ---- */
.prose{margin-left:auto;margin-right:auto;hyphens:auto}
.prose > h1:first-child{text-align:center;font-size:44px;margin:40px 0 8px}
.prose > h1:first-child::after{content:"";display:block;margin:16px auto 24px;max-width:260px;height:16px;
  background:url(/assets/brand/ornament-acorn-deep.svg) center/auto 16px no-repeat,linear-gradient(var(--gold),var(--gold)) left center/calc(50% - 16px) 1px no-repeat,linear-gradient(var(--gold),var(--gold)) right center/calc(50% - 16px) 1px no-repeat}
.prose > h1:first-child + p::first-letter{font-family:var(--display);font-weight:600;float:left;font-size:3.5em;line-height:.82;margin:.06em .08em 0 0;color:var(--green)}
.prose h2{font-size:27px;font-weight:600;margin-top:38px}
.prose h2::before{content:"\00A7" / "";color:var(--gold-deep);margin-right:.35em;font-weight:500}
dl.faq dt{font-family:var(--display);font-size:22px;font-weight:600;margin-top:22px}
/* ---- product page form: ruled ledger ---- */
form.p fieldset{border-radius:1px;border-color:var(--rule);box-shadow:0 0 0 3px #fff,0 0 0 4px #eee3cf;margin-bottom:22px}
form.p legend{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:.04em;color:var(--accent)}
.opt{border-bottom:1px dotted #d6c8ad}
.total{font-size:24px;font-weight:600}
.flag{border-left:2px solid var(--gold-deep);background:#f5eddc}
table.basket{font-size:16px}
.pill{border-radius:1px}
/* ---- footer: cream wordmark and colophon ---- */
footer.site{margin-top:80px;background:var(--green);color:#ddd3bf;font-size:15px;border-top:1px solid var(--gold);box-shadow:inset 0 4px 0 var(--green),inset 0 5px 0 rgba(203,185,143,.55)}
footer.site .foot-mark{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:38px;line-height:1}
footer.site .fm-name{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:.2em;margin-right:-.2em;text-transform:uppercase;color:var(--cream);padding:7px 0 6px;border-top:3px double var(--gold);border-bottom:3px double var(--gold)}
footer.site .fm-name .amp{font-style:italic;text-transform:none;color:var(--gold);font-weight:500;letter-spacing:0;margin:0 .1em 0 -.05em;font-size:1.08em}
footer.site .foot-mark small{display:block;margin-top:8px;font-family:var(--text);font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold)}
footer.site .wrap{border-top:1px solid rgba(203,185,143,.35);margin-top:22px}
footer.site b{font-family:var(--display);font-size:20px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--cream)}
footer.site a{color:var(--cream)}
footer.site .wrap>div:first-child a{color:var(--gold);display:inline}
@media(max-width:1023px){
  .wm-name{font-size:21px;letter-spacing:.16em}
  .wm small{font-size:9.5px;letter-spacing:.22em}
  header.site nav a{font-size:17px}
}
@media(max-width:759px){
  body{font-size:18.5px}
  .hero h1{font-size:36px}.hero p.lead{font-size:19px}
  main > h2{font-size:24px;margin:44px 0 20px}
  .prose > h1:first-child{font-size:34px;margin-top:24px}
  .card p,label{font-size:16.5px}
  .card h3{font-size:23px}
  footer.site .fm-name{font-size:22px;letter-spacing:.16em;margin-right:-.16em}
  footer.site .foot-mark small{font-size:9.5px;letter-spacing:.22em}
}
@media(max-width:420px){
  .logo{gap:8px}
  .wm-name{font-size:18px;letter-spacing:.12em}
  .wm small{font-size:8.5px;letter-spacing:.16em}
}

/* =====================================================================
   Phase 3 "rich" pass (23 Oct 2026): paper and linen grounds, mounted
   images, deep-green bands, small-caps furniture, refined buttons.
   Palette unchanged: green #2f3a2f, gold #cbb98f / #8f7a45, cream.
   ===================================================================== */
:root{--paper:#faf6ec;--mount:#fffdf7;--gold-ink:#6b5a2e;--green-2:#263026;--accent:#2f3a2f;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .28 0 0 0 0 .18 0 0 0 .055 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  --linen:repeating-linear-gradient(0deg,rgba(120,100,60,.025) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(120,100,60,.025) 0 1px,transparent 1px 3px)}
body{background:var(--paper) var(--grain);font-feature-settings:"kern","liga","onum";font-variant-numeric:oldstyle-nums proportional-nums}
a{color:#5b4a22;text-decoration-thickness:1px;text-underline-offset:.18em;text-decoration-color:rgba(143,122,69,.6)}
a:hover{color:var(--green);text-decoration-color:var(--gold-deep)}
:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px}
.kicker{font-family:var(--text);font-size:13.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 14px;font-variant-numeric:lining-nums}
.crumb{font-size:14px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin:30px 0 0}
.crumb a{color:var(--gold-ink);text-decoration:none}.crumb a:hover{text-decoration:underline}
/* header polish */
header.site{background:var(--green) var(--grain)}
header.site nav a{position:relative}
header.site nav a::after{content:"";position:absolute;left:0;right:0;bottom:10px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s ease}
header.site nav a:hover{text-decoration:none;color:#fff}header.site nav a:hover::after{transform:scaleX(1)}
.basket-link{background:transparent;color:var(--cream)!important;border:1px solid rgba(203,185,143,.75);box-shadow:inset 0 0 0 3px var(--green),inset 0 0 0 4px rgba(203,185,143,.35);transition:background .2s}
.basket-link:hover{background:rgba(203,185,143,.14)}
.deadline{background:#f2e9d6 var(--linen);color:#3b342b}
/* buttons */
.btn{background:var(--green);color:var(--cream);border:1px solid var(--green);box-shadow:inset 0 0 0 2px var(--green),inset 0 0 0 3px rgba(203,185,143,.55);
  font-size:15px;letter-spacing:.14em;text-transform:uppercase;padding:12px 26px;transition:background .2s,box-shadow .2s,color .2s}
.btn:hover{background:var(--green-2);color:#fff;box-shadow:inset 0 0 0 2px var(--green-2),inset 0 0 0 3px var(--gold)}
.btn.secondary{background:transparent;color:var(--green);border:1px solid var(--green);box-shadow:none}
.btn.secondary:hover{background:rgba(47,58,47,.06);color:var(--green)}
.btn.light{background:transparent;color:var(--cream);border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--green),inset 0 0 0 3px rgba(203,185,143,.4)}
.btn.light:hover{background:rgba(203,185,143,.14);color:#fff}
/* hero */
.hero{padding:64px 0 36px;gap:56px}
.hero .kicker{margin-bottom:18px}
.hero h1::before{display:none}
.hero h1{font-size:54px;letter-spacing:-.005em;margin-bottom:22px}
.hero p.lead{font-size:21.5px;line-height:1.55;max-width:34em}
.heroimg img{box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--rule),0 2px 3px rgba(60,45,20,.12),0 18px 34px -8px rgba(60,45,20,.28)}
.sources-strip{margin:18px 0 0;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:center;font-size:16px;color:#4a4238;font-style:italic;line-height:1.9}
.sources-strip span{font-style:normal;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);margin-right:.8em}
.sources-strip i{display:inline-block;width:7px;height:10px;margin:0 .75em;vertical-align:0;background:url(/assets/brand/ornament-acorn-deep.svg) center/contain no-repeat}
/* section heads */
main > h2,.sechead{font-size:27px;letter-spacing:.24em;margin:76px 0 30px}
/* cards: mounted plates on linen */
.grid{gap:30px}
.card{background:var(--mount) var(--linen);border:1px solid var(--rule);box-shadow:0 0 0 4px var(--paper),0 0 0 5px #e5d9c0,0 1px 2px rgba(60,45,20,.06);transition:transform .25s ease,box-shadow .25s ease}
.card[data-product]:hover{transform:translateY(-3px);box-shadow:0 0 0 4px var(--paper),0 0 0 5px var(--gold),0 16px 30px -12px rgba(60,45,20,.30)}
.cardimg{padding:12px 12px 0}
.mount{display:block;padding:9px;background:#fbf7ee;border:1px solid #e3d6bb;box-shadow:inset 0 1px 3px rgba(60,45,20,.18)}
.mount img{border:0;box-shadow:0 1px 0 rgba(255,255,255,.6)}
.mocknote{position:static;display:block;background:none;color:#6d6358;font-family:var(--text);font-style:italic;font-size:13.5px;line-height:1.35;padding:7px 2px 0;border-radius:0}
.mocknote.real{color:#4d5a3c}.mocknote.real::before{content:"";display:inline-block;width:7px;height:10px;margin-right:6px;vertical-align:-1px;background:url(/assets/brand/ornament-acorn-deep.svg) center/contain no-repeat}
.card .body{padding:16px 20px 20px}
.card h3{font-size:25px;margin:2px 0 8px}
.card h3 a{color:#2a2620;text-decoration:none}.card h3 a:hover{color:var(--green);text-decoration:underline;text-decoration-color:var(--gold)}
.card p{color:#5c5348}
.tag{background:none;color:var(--gold-ink);padding:0 0 4px;margin-bottom:8px;font-size:12px;letter-spacing:.2em;border-bottom:1px solid var(--rule);border-radius:0}
.card.feature .tag{color:var(--green);border-bottom-color:var(--gold)}
.tag.soon{background:none;color:#6d6358}
.card .price{font-weight:400;font-size:16px;color:#4a4238;letter-spacing:.04em;border-top:1px solid var(--rule);padding-top:10px;margin-top:4px;font-variant-numeric:oldstyle-nums}
.card .price b{font-family:var(--display);font-size:24px;font-weight:600;color:#2a2620;letter-spacing:0}
.card .btn{align-self:flex-start;padding:10px 20px;font-size:14px}
.card.soon{background:#f3ecdc var(--linen);border-style:dashed}
.mockexplain{text-align:center;font-style:italic;max-width:46em;margin:22px auto 0}
/* full-bleed deep green band */
.band{margin:84px calc(50% - 50vw) 0;background:var(--green) var(--grain);color:#e9e0cc;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);
  box-shadow:inset 0 4px 0 var(--green),inset 0 5px 0 rgba(203,185,143,.5),inset 0 -4px 0 var(--green),inset 0 -5px 0 rgba(203,185,143,.5)}
.band-in{max-width:1080px;margin:0 auto;padding:64px 20px;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.band .kicker{color:var(--gold)}
.band-h{font-size:38px;color:var(--cream);margin:0 0 16px;letter-spacing:.01em;text-transform:none;text-align:left}
.band p{font-size:18.5px}
.band a:not(.btn){color:var(--gold)}
ol.cites{margin:18px 0 24px;padding-left:1.4em;font-size:16px;line-height:1.5;counter-reset:c}
ol.cites li{margin-bottom:9px;padding-left:.2em}
ol.cites li::marker{color:var(--gold);font-family:var(--display);font-weight:600}
.band ol.cites{color:#ddd3bf;border-left:1px solid rgba(203,185,143,.45);padding-left:2.2em}
.ev-img{margin:0}.ev-img img{width:100%;height:auto;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.2),0 24px 40px -14px rgba(0,0,0,.55)}
.ev-img figcaption{font-style:italic;font-size:15px;color:#cfc4ab;margin-top:12px;text-align:center}
/* steps */
.grid.steps .card{background:var(--mount) var(--linen)}
.grid.steps .card h3{font-size:25px}
.grid.steps .card h3::before{content:"";display:block;width:12px;height:17px;margin:0 auto 10px;background:url(/assets/brand/ornament-acorn-deep.svg) center/contain no-repeat}
.flag{background:#f4ecda var(--linen);border-left:2px solid var(--gold-deep);padding:12px 16px}
/* product pages */
.product{gap:56px;padding:20px 0 40px}
.ptitle{font-size:46px;margin:6px 0 20px;line-height:1.05}
.ptitle::after{content:"";display:block;width:72px;margin-top:16px;border-top:3px double var(--gold-deep)}
.prodimg{padding:0}
.prodimg .mount{padding:14px;background:#fbf7ee var(--linen);box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--rule),0 18px 34px -12px rgba(60,45,20,.28)}
.prodimg img{padding:0;border:0;box-shadow:none;background:none}
.product .cardimg .mocknote{margin-top:10px}
.product p.lead{font-size:21px;font-style:italic;color:#4f473d;margin:22px 0 6px;line-height:1.5}
.product ul{padding-left:1.1em}.product ul li{margin-bottom:5px}.product ul li::marker{color:var(--gold-deep)}
.details{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 8px}
.details a{display:block;background:#fff;padding:6px;border:1px solid var(--rule);box-shadow:0 8px 18px -10px rgba(60,45,20,.35);transition:box-shadow .2s}
.details a:hover{box-shadow:0 0 0 1px var(--gold),0 12px 24px -10px rgba(60,45,20,.4)}
.details img{width:100%;height:auto}
.details.two{grid-template-columns:1fr;margin-top:16px}
.citebox{margin:22px 0;padding:18px 22px 6px;background:var(--mount) var(--linen);border:1px solid var(--rule);box-shadow:0 0 0 4px var(--paper),0 0 0 5px #e5d9c0}
.citebox ol.cites{margin-top:8px}
.samples img{box-shadow:0 1px 2px rgba(60,45,20,.1),0 10px 20px -10px rgba(60,45,20,.35)}
form.p{background:var(--mount) var(--linen);border:1px solid var(--rule);box-shadow:0 0 0 5px var(--paper),0 0 0 6px #e5d9c0;padding:24px 24px 14px;align-self:start}
form.p fieldset{background:#fffefb}
form.p legend{color:var(--green)}
.total{font-family:var(--display);font-size:30px}
/* footer */
footer.site{background:var(--green) var(--grain)}
footer.site .fleuron{display:block;width:16px;height:22px;margin:0 auto 14px;background:url(/assets/brand/ornament-acorn-gold.svg) center/contain no-repeat}
footer.site a:hover{color:#fff;text-decoration-color:var(--gold)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.card[data-product]:hover{transform:none}}
@media(max-width:1023px){.band-in{grid-template-columns:1fr;gap:36px}}
@media(max-width:759px){
  .hero{padding:30px 0 16px}.hero h1{font-size:38px}.hero p.lead{font-size:19.5px}
  .kicker{font-size:12px;letter-spacing:.16em}
  .sources-strip{font-size:15px;line-height:1.75}
  main > h2{font-size:22px;letter-spacing:.2em;margin:54px 0 22px}
  .band{margin-top:60px}.band-in{padding:44px 20px}.band-h{font-size:30px}
  .ptitle{font-size:36px}
  .product{gap:30px}
  form.p{padding:16px 14px 6px;box-shadow:0 0 0 4px var(--paper),0 0 0 5px #e5d9c0}
  .details{grid-template-columns:1fr 1fr}
  .card .btn{align-self:stretch}
  .citebox{padding:14px 16px 4px}
}
.cardimg,.cardimg:hover{text-decoration:none}
form.p .formhead{font-family:var(--display);font-weight:500;font-size:30px;line-height:1.1;margin:0 0 8px;color:#2a2620;text-transform:none;letter-spacing:0;text-align:left}
form.p .formhead::before,form.p .formhead::after{display:none}
form.p .formhead .kicker{display:block;font-size:12.5px;margin-bottom:6px}
.details.two{grid-template-columns:1fr 1fr}

.details.one,.details.one{grid-template-columns:1fr}
.heroimg a{display:block}
/* r4: shop grid, 3 columns with the hero product as a wide feature card; no stranded cards */
@media(min-width:600px){.grid.shop{grid-template-columns:repeat(2,1fr)}.grid.shop .card.wide,.grid.shop .card[data-product=our-story-set]{grid-column:span 2}}
@media(min-width:1024px){.grid.shop{grid-template-columns:repeat(3,1fr)}.grid.shop .card[data-product=our-story-set]{grid-column:auto}.grid.shop .card.wide{grid-column:span 2;grid-row:span 2}
  .grid.shop .card.wide h3{font-size:32px}.grid.shop .card.wide p{font-size:18px}}
.grid.shop .card.wide .tag{color:var(--green);border-bottom-color:var(--gold)}
/* r4: product gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0 22px}
.gallery a.thumb{display:block;text-decoration:none;color:#5c5348;font:12.5px/1.25 var(--text);background:#fbf7ee;border:1px solid #e3d6bb;padding:4px}
.gallery a.thumb img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.gallery a.thumb span{display:block;padding:5px 2px 2px;font-style:italic}
.gallery a.thumb.on,.gallery a.thumb:hover{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
@media(max-width:599px){.gallery{grid-template-columns:repeat(3,1fr);gap:8px}.gallery a.thumb span{font-size:12px}}
/* r4: hero with a chart close-up */
.heroimg{position:relative}
.heroimg .hero-main img{display:block;width:100%;height:auto}
@media(min-width:1024px){.grid.shop .card.wide .cardimg{flex:1;display:flex;flex-direction:column}.grid.shop .card.wide .mount{flex:1;display:flex;min-height:0}
  .grid.shop .card.wide .mount picture{flex:1;display:flex;min-height:0;width:100%}
  .grid.shop .card.wide .mount img{aspect-ratio:auto;width:100%;height:100%;min-height:420px;object-fit:contain;object-position:center top;background:#f5f1e6}
  .grid.shop .card.wide .body{flex:0 0 auto}.grid.shop .card.wide p{flex:0 0 auto}}
@media(max-width:1023px){.grid.shop .card.wide .mount img{aspect-ratio:4/3;object-fit:cover;object-position:top}}
.heroimg figcaption{position:relative}

/* Gift certificate banner: full width under the grid, picture beside the text */
@media(min-width:600px){.grid.shop .card.banner{grid-column:1/-1;grid-row:auto}}
@media(min-width:760px){.grid.shop .card.banner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center}
 .grid.shop .card.banner .cardimg{padding:12px}.grid.shop .card.banner .body{padding:24px 32px}.grid.shop .card.banner h3{font-size:30px}}

/* r7: twelve cards. Tablet (2 columns): the hero spans both, then pairs, and the Coming 2027 card spans the last row
   with its picture beside the text, so no card is left on its own. Desktop (3 columns): 4 + 11 slots = 5 full rows. */
.card.soon img{filter:none}
@media(min-width:600px) and (max-width:1023px){.grid.shop .card[data-product=our-story-set]{grid-column:auto}
  .grid.shop .card.soon{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;align-items:center}
  .grid.shop .card.soon .cardimg{padding:12px}.grid.shop .card.soon .body{padding:20px 28px}}

.drawing{margin:18px 0 6px}.drawing img{width:100%;height:auto;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15),0 14px 28px -14px rgba(0,0,0,.35)}.drawing figcaption{font-style:italic;font-size:15px;line-height:1.45;color:var(--muted);margin-top:10px}

/* Review 10: phones. One-line Christmas bar; gift certificate second; compact two-column cards. */
.deadline .dl-short{display:none}
@media(max-width:599px){
  .deadline .dl-full{display:none}.deadline .dl-short{display:inline;white-space:nowrap}
  .deadline{font-size:15px;padding:7px 10px}
  .grid.shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .grid.shop .card.wide{order:-2}.grid.shop .card.banner{order:-1}
  .grid.shop .card.wide,.grid.shop .card.banner,.grid.shop .card.soon{grid-column:1/-1}
  .grid.shop .card:not(.wide):not(.banner):not(.soon){box-shadow:0 0 0 3px var(--paper),0 0 0 4px #e5d9c0}
  .grid.shop .card:not(.wide):not(.banner):not(.soon) .cardimg{padding:6px 6px 0}
  .grid.shop .card:not(.wide):not(.banner):not(.soon) .mocknote{font-size:11.5px;line-height:1.3;padding-top:4px}
  .grid.shop .card:not(.wide):not(.banner):not(.soon) .body{padding:8px 10px 12px}
  .grid.shop .card:not(.wide):not(.banner):not(.soon) .tag{font-size:10.5px;letter-spacing:.08em}
  .grid.shop .card:not(.wide):not(.banner):not(.soon) h3{font-size:18px;line-height:1.15;margin:2px 0 6px}
  .grid.shop .card:not(.wide):not(.banner):not(.soon) p,
  .grid.shop .card:not(.wide):not(.banner):not(.soon) .btn,
  .grid.shop .card:not(.wide):not(.banner):not(.soon) .price .hint{display:none}
  .grid.shop .card:not(.wide):not(.banner):not(.soon) .price{font-size:13px;padding-top:6px;margin:auto 0 0}
  .grid.shop .card:not(.wide):not(.banner):not(.soon) .price b{font-size:18px}
}
/* header wordmark hover: never the global green link hover. Cream fallback; gold shimmer sweep where text clipping is supported */
header.site .logo:hover,header.site .logo:focus-visible{color:var(--cream);text-decoration:none}
header.site .logo:hover .wm-name,header.site .logo:focus-visible .wm-name{color:var(--cream)}
header.site .logo:hover .amp,header.site .logo:focus-visible .amp,header.site .logo:hover small,header.site .logo:focus-visible small{color:var(--gold)}
@keyframes oa-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  header.site .logo:hover .wm-name,header.site .logo:focus-visible .wm-name{
    background-image:linear-gradient(110deg,var(--cream) 30%,#e8c872 45%,#fff3c4 50%,#e8c872 55%,var(--cream) 70%);
    background-size:250% 100%;background-repeat:no-repeat;background-position:100% 0;
    -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
    animation:oa-shimmer 2.8s ease-in-out infinite}
  header.site .logo:hover .wm-name .amp,header.site .logo:focus-visible .wm-name .amp{color:transparent;-webkit-text-fill-color:transparent}
}
@media (prefers-reduced-motion:reduce){
  header.site .logo:hover .wm-name,header.site .logo:focus-visible .wm-name{animation:none;background:none;color:#e8c872;-webkit-text-fill-color:#e8c872}
  header.site .logo:hover .wm-name .amp,header.site .logo:focus-visible .wm-name .amp{color:#e8c872;-webkit-text-fill-color:#e8c872}
}
