/* Abby Stitch Co. — boutique stylesheet */

:root{
  --ivory:#F5F2E9;
  --ivory-deep:#EAE3D2;
  --card:#FFFDF7;
  --blush:#C08A7E;
  --blush-deep:#9C6156;
  --blush-soft:#EFDCD4;
  --ink:#4A3F35;
  --ink-soft:#7A6C5D;
  --champagne:#BFA07A;
  --line:#E2D8C3;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',-apple-system,'Segoe UI',sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  font-weight:400;
  color:var(--ink);
  background:var(--ivory);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
/* blush floral toile texture, laid in as a whisper behind everything */
body::before{
  content:"";
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:url("data:image/jpeg;base64,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") repeat;
  background-size:520px 520px;
  opacity:.30;
}
main,footer{position:relative;z-index:1}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:720px}
img{max-width:100%;display:block}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(245,242,233,.96);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-mark{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--blush-soft)}
.brand-name{font-family:var(--serif);font-size:1.45rem;font-weight:600;letter-spacing:.01em}
.brand-name em{font-style:italic;color:var(--blush-deep)}
.site-nav{display:flex;gap:30px;align-items:center}
.site-nav a{
  text-decoration:none;color:var(--ink);font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
}
.site-nav a:hover{color:var(--blush-deep)}
.nav-cta{
  border:1px solid var(--blush-deep);border-radius:999px;padding:9px 22px !important;color:var(--blush-deep) !important;
}
.nav-cta:hover{background:var(--blush-deep);color:#fff !important}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0}

/* ---------- hero ---------- */
.hero{padding:84px 0 20px;text-align:center}
.hero-badge{
  width:210px;height:210px;border-radius:50%;object-fit:cover;margin:0 auto 26px;
  border:3px solid var(--blush-soft);
  box-shadow:0 12px 40px rgba(156,97,86,.14);
}
.ribbon{margin-bottom:18px}
.ribbon span{
  display:inline-block;font-family:var(--serif);font-style:italic;font-size:1.15rem;color:var(--blush-deep);
  border-top:1px solid var(--champagne);border-bottom:1px solid var(--champagne);
  padding:6px 26px;letter-spacing:.06em;
}
.hero h1{
  font-family:var(--serif);font-weight:600;font-size:clamp(2.1rem,4.6vw,3.3rem);
  line-height:1.18;max-width:760px;margin:0 auto 18px;
}
.hero h1 em{font-style:italic;color:var(--blush-deep)}
.lede{max-width:600px;margin:0 auto 34px;color:var(--ink-soft);font-size:1.08rem;font-weight:300}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;border-radius:999px;padding:15px 34px;cursor:pointer;border:1px solid transparent;
  transition:background .2s,color .2s,border-color .2s;
}
.btn-solid{background:var(--blush-deep);color:#fff}
.btn-solid:hover{background:#8A5348}
.btn-outline{background:transparent;color:var(--blush-deep);border-color:var(--blush-deep)}
.btn-outline:hover{background:var(--blush-soft)}
.btn-small{padding:11px 22px;font-size:.82rem}
.btn-wide{width:100%}

/* ---------- sections ---------- */
section{padding:72px 0 12px}
.kicker{
  font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:var(--blush-deep);font-weight:600;margin-bottom:10px;
}
h2{font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.2;margin-bottom:12px}
.section-sub{color:var(--ink-soft);font-weight:300;max-width:560px;margin-bottom:38px}
.shop,.custom,.about,.contact{text-align:left}
.shop .wrap > .kicker,.shop h2,.custom .wrap > .kicker,.custom h2{text-align:center}
.shop .section-sub,.custom .section-sub{margin-left:auto;margin-right:auto;text-align:center}

/* stitch divider */
.stitch-divider{
  max-width:1120px;margin:64px auto 0;padding:0 24px;height:0;
  border-top:2px dashed var(--champagne);opacity:.55;
}

/* ---------- products ---------- */
.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-bottom:26px}
.card{
  background:var(--card);border:1px solid var(--line);border-radius:6px;padding:34px 30px;
  display:flex;flex-direction:column;
}
.card-art{
  width:74px;height:74px;border-radius:50%;background:var(--blush-soft);
  border:2px dashed var(--blush);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
}
.card-mono{font-family:var(--serif);font-size:1.9rem;font-weight:600;color:var(--blush-deep)}
.card h3{font-family:var(--serif);font-size:1.45rem;font-weight:600;margin-bottom:4px}
.price{font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--blush-deep);font-weight:600;margin-bottom:12px}
.card-desc{color:var(--ink-soft);font-weight:300;font-size:.98rem;margin-bottom:24px;flex:1}
.card-actions{display:flex;gap:10px;flex-wrap:wrap}
.shop-note{text-align:center;color:var(--ink-soft);font-style:italic;font-family:var(--serif);font-size:1.08rem}

/* ---------- custom steps ---------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:0 0 40px}
.steps li{display:flex;gap:16px;align-items:flex-start}
.step-n{
  flex:none;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--blush-deep);color:var(--blush-deep);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.25rem;font-weight:600;
}
.steps strong{display:block;font-weight:600;margin-bottom:4px}
.steps span{color:var(--ink-soft);font-weight:300;font-size:.95rem}
.custom .btn-solid{display:block;width:fit-content;margin:0 auto}

/* ---------- about ---------- */
.about p{color:var(--ink-soft);font-weight:300;margin-bottom:18px;font-size:1.05rem}

/* ---------- contact ---------- */
.thanks-note{
  background:var(--blush-soft);border:1px solid var(--blush);border-radius:6px;
  padding:16px 20px;margin-bottom:26px;color:var(--blush-deep);
}
form{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:36px 34px;margin-bottom:26px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:20px}
.field label{display:block;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:8px;color:var(--ink)}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--sans);font-size:1rem;color:var(--ink);
  background:var(--ivory);border:1px solid var(--line);border-radius:4px;padding:13px 14px;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blush-soft);border-color:var(--blush)}
.field textarea{resize:vertical}
.email-line{text-align:center;color:var(--ink-soft);font-weight:300}
.email-addr{font-weight:500;color:var(--ink);margin:0 8px;word-break:break-all}
.copy-btn{
  background:none;border:1px solid var(--blush-deep);color:var(--blush-deep);border-radius:999px;
  padding:6px 16px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:var(--sans);font-weight:500;
}
.copy-btn:hover{background:var(--blush-deep);color:#fff}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--line);margin-top:72px;padding:34px 0 44px;text-align:center}
.footer-inner{display:flex;flex-direction:column;align-items:center;gap:10px}
.footer-mark{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid var(--blush-soft)}
.site-footer p{font-size:.9rem;color:var(--ink-soft);font-weight:300;letter-spacing:.04em}
.footer-heart{color:var(--blush);font-size:1.1rem}
.visit-counter{font-size:.8rem!important;color:var(--blush-deep)!important;letter-spacing:.1em;font-weight:400}
.visit-counter [aria-hidden]{color:var(--blush)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- responsive ---------- */
@media (max-width:820px){
  .product-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .site-nav{
    display:none;position:absolute;top:72px;left:0;right:0;background:var(--ivory);
    flex-direction:column;align-items:center;gap:0;border-bottom:1px solid var(--line);padding:10px 0 18px;
  }
  .site-nav.open{display:flex}
  .site-nav a{padding:12px}
  .menu-toggle{display:block}
  .field-row{grid-template-columns:1fr}
  form{padding:28px 22px}
  section{padding:56px 0 8px}
}
