/* ============ shared theme: landing + shop ============ */
:root{
  --paper:#F4F1EB; --paper2:#ECE6DA; --card:#FBF9F4; --ink:#0F243E; --ink2:#14304F;
  --claret:#57252B; --claret2:#6E2F37; --gold:#B0894A; --gold2:#C7A15A; --teal:#4A5D4E;
  --muted:#7A736B; --rule:#DED6C6; --frame:#CFC4AE;
  --shadow:0 10px 40px rgba(15,36,62,.16);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"EB Garamond",system-ui,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55;}
a{color:var(--claret);text-decoration:none;}
h1,h2,h3{font-family:"Libre Baskerville",Georgia,serif;font-weight:600;letter-spacing:.01em;margin:0;}
.serif{font-family:"Libre Baskerville",Georgia,serif;}
.mono{font-family:"EB Garamond",Georgia,serif;}
.hidden{display:none!important;}
img{max-width:100%;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;justify-content:center;font:inherit;font-weight:600;font-size:14px;
  border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:7px;cursor:pointer;transition:.15s;white-space:nowrap;}
.btn:hover{background:var(--claret);border-color:var(--claret);}
.btn.ghost{background:transparent;color:var(--ink);} .btn.ghost:hover{background:var(--card);color:var(--claret);}
.btn.gold{background:var(--claret);border-color:var(--claret);} .btn.gold:hover{background:var(--claret2);}
.btn.sm{padding:8px 14px;font-size:13px;} .btn.wide{width:100%;}
.btn:disabled{opacity:.5;cursor:default;}
.link{background:none;border:0;color:var(--claret);font:inherit;font-weight:600;cursor:pointer;padding:0;}

/* forms */
label{display:block;font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:12px 0 5px;}
input,textarea,select{width:100%;border:1px solid var(--frame);border-radius:7px;background:#fff;padding:10px 12px;font:inherit;font-size:14px;outline:none;color:var(--ink);}
input:focus,textarea:focus,select:focus{border-color:var(--claret);box-shadow:0 0 0 2px rgba(15,36,62,.14);}
textarea{min-height:96px;resize:vertical;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.field-err{color:var(--claret);font-size:12.5px;margin-top:8px;}

/* header + logo (shared) */
header.site{position:sticky;top:0;z-index:40;background:rgba(244,239,230,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);}
.hd{max-width:1180px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:18px;}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);}
.logo .seal{width:44px;height:44px;flex-shrink:0;}
.logo .wm{display:flex;flex-direction:column;line-height:1;}
.logo .wm-name{font-family:"Libre Baskerville",serif;font-weight:700;font-size:18px;letter-spacing:.1em;text-transform:uppercase;}
.logo .wm-sub{font-family:"EB Garamond",Georgia,serif;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--claret);margin-top:4px;}
nav.top{display:flex;gap:4px;flex:1;}
nav.top a{font-size:13px;font-weight:600;padding:8px 13px;border-radius:6px;color:var(--ink);cursor:pointer;}
nav.top a:hover,nav.top a.active{background:var(--card);color:var(--claret);}
.hd .spacer{flex:1;}

/* modal */
.overlay{position:fixed;inset:0;background:rgba(30,27,23,.55);z-index:60;display:none;align-items:center;justify-content:center;padding:20px;}
.overlay.open{display:flex;}
.modal{background:var(--paper);border:1px solid var(--frame);border-radius:14px;box-shadow:var(--shadow);width:100%;max-width:440px;max-height:92vh;overflow:auto;padding:26px;}
.modal h2{font-size:24px;margin-bottom:4px;}
.modal .x{float:right;background:none;border:0;font-size:22px;color:var(--muted);cursor:pointer;line-height:1;}
.seg{display:flex;background:var(--paper2);border-radius:8px;padding:4px;gap:4px;margin:14px 0 6px;}
.seg button{flex:1;background:none;border:0;font:inherit;font-weight:600;font-size:13px;padding:8px;border-radius:6px;cursor:pointer;color:var(--muted);}
.seg button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08);}

/* toast */
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:8px;font-size:13.5px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:90;}
#toast.show{opacity:1;}

/* ===================== LANDING ===================== */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule);
  background:radial-gradient(1100px 460px at 50% -8%, #FBF8F0 0%, var(--paper) 60%);}
.hero .inner{max-width:900px;margin:0 auto;padding:74px 24px 72px;position:relative;text-align:center;}
.hero .brandlogo{max-width:520px;width:78%;margin:0 auto 6px;display:block;}
.motto{font-family:"Pinyon Script",cursive;font-size:38px;line-height:1;color:var(--gold);margin:10px 0 4px;}
.hero .eyebrow{font-family:"EB Garamond",Georgia,serif;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--claret);}
.hero h1{font-size:40px;line-height:1.1;margin:16px auto 18px;max-width:20ch;}
.hero p.lead{font-size:17px;color:#3a3529;max-width:56ch;margin:0 auto 28px;}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.hero .meta{margin-top:30px;display:flex;gap:26px;flex-wrap:wrap;justify-content:center;font-size:13px;color:var(--muted);}
.hero .meta b{font-family:"EB Garamond",Georgia,serif;font-weight:700;color:var(--ink);}
/* gold ornament rule */
.ornrule{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto;max-width:340px;}
.ornrule:before,.ornrule:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--gold));}
.ornrule:after{background:linear-gradient(90deg,var(--gold),transparent);}
.ornrule img{height:22px;opacity:.9;}

section.band{max-width:1180px;margin:0 auto;padding:64px 24px;}
.kicker{font-family:"EB Garamond",Georgia,serif;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--claret);text-align:center;}
.band h2.center{text-align:center;font-size:34px;margin:8px 0 6px;}
.band p.sub{text-align:center;color:#4a443b;max-width:60ch;margin:0 auto 36px;}
.props{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.prop{background:var(--card);border:1px solid var(--frame);border-radius:12px;padding:24px 22px;}
.prop .n{font-family:"EB Garamond",Georgia,serif;font-size:12px;color:var(--claret);}
.prop h3{font-size:19px;margin:10px 0 8px;}
.prop p{font-size:13.5px;color:#4a443b;margin:0;}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s;}
.step{padding:22px;border-left:2px solid var(--claret);background:linear-gradient(180deg,rgba(251,248,241,.6),transparent);}
.step .num{font-family:"Libre Baskerville",serif;font-size:30px;color:var(--claret);}
.step h3{font-size:18px;margin:6px 0 6px;} .step p{font-size:13.5px;color:#4a443b;margin:0;}
.cats{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.cat{background:var(--card);border:1px solid var(--frame);border-radius:30px;padding:9px 16px;font-size:13px;font-weight:600;}
.cat b{font-family:"EB Garamond",Georgia,serif;color:var(--claret);margin-left:6px;}
.band.dark{background:var(--ink);color:var(--paper);max-width:none;}
.band.dark .inner{max-width:1180px;margin:0 auto;}

/* assay promo */
.assay{max-width:1180px;margin:0 auto 0;padding:0 24px;}
.assay .box{background:var(--ink);color:var(--paper);border-radius:14px;padding:28px 32px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;position:relative;overflow:hidden;}
.assay .box:before{content:"";position:absolute;right:-50px;top:-50px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(110,20,35,.5),transparent 70%);}
.assay .t{flex:1;min-width:240px;position:relative;}
.assay .e{font-family:"EB Garamond",Georgia,serif;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:#e6a4b0;}
.assay h3{font-size:24px;margin:6px 0 8px;} .assay p{margin:0;color:#cbc2b4;font-size:14px;max-width:56ch;}
.assay a.cta{background:var(--paper);color:var(--ink);border-radius:8px;padding:13px 22px;font-weight:700;font-size:14px;position:relative;white-space:nowrap;}
.assay a.cta:hover{background:#fff;color:var(--claret);}

footer.site{border-top:1px solid var(--rule);margin-top:20px;}
.ft{max-width:1180px;margin:0 auto;padding:26px 24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);}

@media(max-width:860px){
  .props{grid-template-columns:1fr 1fr;} .steps{grid-template-columns:1fr;}
  .hero h1{font-size:40px;} .hero .inner{padding:60px 20px 54px;} .row2{grid-template-columns:1fr;}
}
