/* THE BRAND YEAR — holding page
   Palette + faces trace to locked decisions, not invention:
     faces   → memory project_tby_locked_typefaces  (Instrument Serif #3 "authority + brand
               continuity"; Reenie Beanie #1 handwritten, used sparingly)
     colour  → memory project_tby_ground_palette_and_accent_rule
               garnet #8E2F3A is THE red (displaced oxblood). ink #1C1C1A.
               near-black #0A0A0A is KILLED — not used anywhere here.
     sans    → Plus Jakarta Sans, carried over from the live Shopify theme (continuity) */

:root{
  --paper:#F5F2EB;        /* bone paper */
  --paper-2:#EDE8E1;      /* warm plaster */
  --greige:#D8D1C6;       /* greige stone */
  --ink:#1C1C1A;          /* locked ink — NOT black */
  --ink-60:rgba(28,28,26,.62);
  --ink-38:rgba(28,28,26,.38);
  --garnet:#8E2F3A;       /* locked accent */
  --garnet-dk:#742531;
  --rule:rgba(28,28,26,.14);
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --hand:'Reenie Beanie','Bradley Hand',cursive;
  --sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  --wrap:1080px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px}
.rule{height:1px;background:var(--rule);border:0;margin:0}

/* ---------- masthead ---------- */
.mast{padding:34px 0 0}
.mast .wordmark{
  font-family:var(--serif);font-size:15px;letter-spacing:.38em;text-transform:uppercase;
  text-align:center;color:var(--ink);opacity:.78;text-decoration:none;display:block;
}

/* ---------- hero ---------- */
.hero{padding:64px 0 8px;text-align:center}
.kicker{
  font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--garnet);font-weight:600;margin:0 0 22px;
}
h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(2.6rem,7.4vw,4.5rem);line-height:1.04;letter-spacing:-.015em;
  margin:0 0 26px;
}
h1 .hand{
  font-family:var(--hand);color:var(--garnet);
  font-size:1.16em;line-height:.8;display:inline-block;transform:rotate(-1.6deg);
}
.lede{
  font-size:clamp(1.02rem,2.3vw,1.2rem);line-height:1.62;color:var(--ink-60);
  max-width:34em;margin:0 auto;
}

/* ---------- capture ---------- */
.capture{max-width:520px;margin:44px auto 0;text-align:left}
.capture-label{
  display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-60);font-weight:600;margin:0 0 11px;text-align:center;
}
.field{display:flex;gap:9px;flex-wrap:wrap}
.field input[type=email]{
  flex:1 1 240px;min-width:0;font:inherit;font-size:16px;color:var(--ink);
  padding:15px 17px;background:#fff;border:1px solid var(--rule);border-radius:2px;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.field input[type=email]::placeholder{color:var(--ink-38)}
.field input[type=email]:focus{
  outline:none;border-color:var(--garnet);box-shadow:0 0 0 3px rgba(142,47,58,.13);
}
.field button{
  flex:0 0 auto;font:inherit;font-weight:600;font-size:15px;letter-spacing:.02em;
  color:var(--paper);background:var(--garnet);border:1px solid var(--garnet);
  padding:15px 26px;border-radius:2px;cursor:pointer;
  transition:background .16s ease,border-color .16s ease,transform .1s ease;
}
.field button:hover:not(:disabled){background:var(--garnet-dk);border-color:var(--garnet-dk)}
.field button:active:not(:disabled){transform:translateY(1px)}
.field button:disabled{opacity:.55;cursor:default}
.fineprint{font-size:12.5px;color:var(--ink-38);margin:13px 0 0;text-align:center;line-height:1.5}
.fineprint a{color:var(--ink-60)}

.formnote{
  margin:15px 0 0;padding:12px 15px;border-radius:2px;font-size:14.5px;line-height:1.5;
  display:none;
}
.formnote.ok{display:block;background:rgba(142,47,58,.07);border-left:2px solid var(--garnet);color:var(--ink)}
.formnote.err{display:block;background:rgba(28,28,26,.05);border-left:2px solid var(--ink-38);color:var(--ink)}

/* ---------- product ---------- */
.product{padding:66px 0 74px}
.product-grid{
  display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(28px,5vw,62px);align-items:center;
}
.product-shot{
  background:var(--greige);border-radius:3px;padding:clamp(26px,4vw,46px);
  display:flex;align-items:center;justify-content:center;
}
.product-shot img{max-height:420px;width:auto}
h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.85rem,4.1vw,2.7rem);line-height:1.13;letter-spacing:-.01em;margin:0 0 18px;
}
.product p{color:var(--ink-60);margin:0 0 22px;max-width:34em}
.speclist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.speclist li{
  padding:13px 0 13px 26px;border-bottom:1px solid var(--rule);
  font-size:15.5px;position:relative;color:var(--ink);
}
.speclist li::before{
  content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);
  width:9px;height:1.5px;background:var(--garnet);
}

/* ---------- the note ---------- */
.note{background:var(--paper-2);padding:74px 0}
.note-inner{max-width:640px;margin:0 auto}
.note h2{margin-bottom:20px}
.note p{color:var(--ink-60);margin:0 0 17px}
.note p:last-child{margin-bottom:0}
.note strong{color:var(--ink);font-weight:600}
.signoff{
  font-family:var(--hand);font-size:1.85rem;line-height:1;color:var(--garnet);
  margin-top:26px;transform:rotate(-1.2deg);display:inline-block;
}

/* ---------- footer ---------- */
footer{padding:46px 0 54px;text-align:center}
.social{display:flex;gap:22px;justify-content:center;margin:0 0 26px;flex-wrap:wrap}
.social a{
  font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-60);
  text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px;
  transition:color .16s ease,border-color .16s ease;
}
.social a:hover{color:var(--garnet);border-bottom-color:var(--garnet)}
.legal{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin:0 0 18px}
.legal a{font-size:13px;color:var(--ink-60);text-decoration:none;border-bottom:1px solid var(--rule)}
.legal a:hover{color:var(--garnet);border-bottom-color:var(--garnet)}
.copy{font-size:12px;color:var(--ink-38);margin:0}

/* ---------- legal pages ---------- */
.legalpage{padding:52px 0 84px;max-width:760px}
.legalpage h1{font-size:clamp(2rem,5vw,2.9rem);margin-bottom:10px;text-align:left}
.legalpage .updated{font-size:13px;color:var(--ink-38);margin:0 0 34px}
.legalpage h2{font-size:1.42rem;margin:38px 0 12px}
.legalpage h3{font-family:var(--serif);font-weight:400;font-size:1.16rem;margin:26px 0 9px}
.legalpage p,.legalpage li{color:var(--ink-60);font-size:16px}
.legalpage li{margin-bottom:7px}
.legalpage a{color:var(--garnet)}
.backlink{
  display:inline-block;margin:0 0 30px;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-60);text-decoration:none;
}
.backlink:hover{color:var(--garnet)}

@media (max-width:760px){
  .product-grid{grid-template-columns:1fr}
  .product-shot{order:-1;max-width:340px;margin:0 auto}
  .hero{padding-top:44px}
  .product,.note{padding:56px 0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
