/* styles.css */
:root{
  --bg:#f7efe3;
  --ink:#1f1a14;
  --muted:#6b5f54;
  --btn:#1d1a16;
  --btn-ink:#fff;
  --card:#ffffff;
  --radius:16px;
  --shadow:0 6px 20px rgba(0,0,0,.08);

  /* Type discipline: only these tokens */
  --fs-body:19px;
  --fs-small:16px;
  --lh:1.55;
}

*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--ink);
  font:var(--fs-body)/var(--lh) system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";
}
a{color:inherit}
img{max-width:100%;display:block;border-radius:12px}

/* Layout */
.wrap{max-width:980px;margin:0 auto;padding:18px 16px 24px}
header{display:flex;align-items:center;gap:12px;margin-bottom:8px}
header img.logo{width:44px;height:44px;border-radius:50%}

h1{font-size:clamp(32px,6.2vw,46px);line-height:1.08;margin:10px 0 12px}
h2{font-size:24px;line-height:1.2;margin:0 0 12px}
p{margin:10px 0}

/* Only allowed text modifiers */
.muted{color:var(--muted)}
.small{font-size:var(--fs-small);line-height:1.45}

/* Components */
.btn{
  display:inline-block;
  background:var(--btn);
  color:var(--btn-ink);
  padding:15px 18px;
  border-radius:14px;
  font-weight:700;
  box-shadow:var(--shadow);
  text-decoration:none;
  border:0;
  cursor:pointer;
}
.btn:active{transform:translateY(1px)}

.hero{margin-top:8px}
.hero-main{background:var(--card);padding:10px;border-radius:var(--radius);box-shadow:var(--shadow)}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.thumbs img{height:140px;object-fit:cover}

section{margin:26px 0}
.card{background:var(--card);padding:14px;border-radius:var(--radius);box-shadow:var(--shadow)}

/* Subtle testimonial elevation */
.review-soft{
  background:var(--card);
  border:1px solid rgba(0,0,0,.05);
  border-radius:var(--radius);
  padding:14px;
  margin:14px 0;
}

.split{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:760px){ .split{grid-template-columns:1.1fr .9fr} }

ul.clean{margin:0;padding-left:18px}
ul.clean li{margin:6px 0}

.sprinkle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
@media(min-width:760px){ .sprinkle{grid-template-columns:1fr 1fr 1fr} }

.t-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:760px){ .t-grid{grid-template-columns:1fr 1fr 1fr} }
.t{
  background:var(--card);
  padding:12px;
  border-radius:14px;
  box-shadow:var(--shadow);
}

/* Customer photo grid: 1 col mobile, 3 col desktop */
.customer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin:24px 0;
}
@media(min-width:760px){
  .customer-grid{ grid-template-columns:1fr 1fr 1fr; }
}
.customer-grid img{
  width:100%;
  height:auto;
  border-radius:14px;
  display:block;
}

/* Stars wrapper */
.stars{margin:6px 0}
.stars svg{display:block}

/* Small text element (keep consistent) */
small{font-size:var(--fs-small);line-height:1.35;color:var(--muted)}

footer{color:var(--muted);font-size:var(--fs-small);margin:40px 0 20px}

/* Form */
.email-capture{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.email-capture input{
  flex:1;
  min-width:240px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.2);
  font:inherit;
}
.hidden{display:none}

/* FAQ */
.faq details{
  background:var(--card);
  border-radius:14px;
  box-shadow:var(--shadow);
  padding:12px 14px;
  margin:10px 0;
}
.faq summary{
  cursor:pointer;
  font-weight:700;
  list-style:none;
  outline:none;
}
.faq summary::-webkit-details-marker{display:none;}
.faq .ans{color:var(--muted)}

/* Pill + cue */
.pill{
  display:inline-block;
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.08);
  border-radius:999px;
  padding:8px 12px;
  margin:10px 0 0;
}
.cue{display:flex;align-items:center;justify-content:center;margin:14px 0 6px;color:var(--muted);gap:8px}
.chev{width:10px;height:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);animation:bounce 1.6s infinite}
@keyframes bounce{
  0%,100%{transform:translateY(0) rotate(45deg)}
  50%{transform:translateY(6px) rotate(45deg)}
}

/* Stripe badge sizing (fix “massive” issue) */
.trust-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin:12px 0 6px;
}
.trust-row img{
  width:min(220px, 70%);
  height:auto;
  border-radius:10px;
  display:block;
}

.proof-line{ margin-top:8px; }

/* Lightbox */
.lightbox{
  position:fixed; inset:0;
  background:rgba(0,0,0,.72);
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  z-index:9999;
}
.lightbox.is-open{ display:flex; }
.lightbox-img{
  max-width:min(92vw, 920px);
  max-height:88vh;
  border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}

/* Lightbox swipe animation (minimal) */
.lightbox-img{
  transition: transform 160ms cubic-bezier(.2,.8,.2,1), opacity 160ms cubic-bezier(.2,.8,.2,1);
  will-change: transform, opacity;
}
.lightbox-img.is-exit-left{ transform: translateX(-18px); opacity: 0; }
.lightbox-img.is-exit-right{ transform: translateX(18px); opacity: 0; }
.lightbox-img.is-enter-left{ transform: translateX(18px); opacity: 0; }
.lightbox-img.is-enter-right{ transform: translateX(-18px); opacity: 0; }


/* subtle cue without UI bloat */
.gallery-img{ cursor: zoom-in; }


.stripe-badge {
  margin: 10px 0;
}

.stripe-badge img {
  display: inline-block;
  height: 42px;
  width: auto;
  border-radius: 0;
}