:root{
  --ink:#1b1b1b;
  --bg:#ffffff;
  --muted:#6a7381;
  --accent:#ff6b6b;
  --accent-2:#0E314A;
  --sand:#f8f5f2;
  --card:#ffffff;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink); background:var(--bg); line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}

.container{max-width:1100px;margin:auto;padding:0 18px}

/* Top urgency banner */
.top-banner{
  position:sticky; top:0; z-index:60;
  background:linear-gradient(90deg,#ff6b6b,#ff5252);
  color:#fff; font-weight:700; text-align:center;
  padding:.65rem .75rem; letter-spacing:.01em
}
.top-banner .caps{text-transform:uppercase}
.top-banner__link{color:#fff;text-decoration:underline;margin-left:.35rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  border-radius:999px;padding:.9rem 1.25rem;text-decoration:none;font-weight:750}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 18px rgba(255,107,107,.35)}
.btn-primary:hover{transform:translateY(-1px)}
.btn-ghost{background:#fff;color:var(--accent);border:1px solid var(--accent)}
.btn-ghost:hover{background:#fff9f9}

/* Sticky CTA (mobile-first) */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #eee;
  display:flex;gap:.5rem;align-items:center;justify-content:space-between;padding:.6rem .8rem;z-index:50
}
.sticky-cta .tel{font-weight:700;color:var(--accent-2);text-decoration:none}
.sticky-cta.hide{transform:translateY(110%);transition:.25s ease}
@media(min-width:800px){.sticky-cta{display:none}}

/* Hero */
.hero{background:linear-gradient(135deg,#2c1810 0%,#4a2c1a 50%,#6b4226 100%);color:#fff;padding:52px 0}
.hero__grid{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:900px){.hero__grid{grid-template-columns:1.15fr .85fr;align-items:center}}

.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#fff9; margin:0 0 .25rem}
.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.1;margin:.2rem 0 .6rem}
.hero h1 .accent{background:linear-gradient(90deg,#ffd1d1,#fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{opacity:.85}
.hero .sub{font-size:clamp(15px,2.4vw,18px);opacity:.95;margin:0 0 .8rem}
.checks{list-style:none;padding:0;margin:.6rem 0 0}
.checks li{position:relative;padding-left:26px;margin:.25rem 0}
.checks li:before{content:"✓";position:absolute;left:0;top:0;color:#b2f2bb}
.hero__cta{display:flex;align-items:center;gap:14px;margin-top:14px;flex-wrap:wrap}
.hero__trust{display:flex;gap:12px;font-size:.9rem;opacity:.95}
.lock:before{content:"🔒 ";} .spots:before{content:"⏱ ";}

.contact-inline{margin-top:10px;font-size:.95rem;opacity:.95}
.contact-inline .phone{color:#fff;text-decoration:underline}
.contact-inline .dot{margin:0 .5rem}

.hero__media{position:relative}
.frame{display:block;border-radius:20px;overflow:hidden;box-shadow:0 24px 40px rgba(0,0,0,.35);background:#0003}
.frame img{display:block;width:100%;height:auto}
.badge{position:absolute;bottom:10px;left:10px;background:#fff;color:#111;font-weight:800;border-radius:999px;padding:.4rem .7rem}

/* Proof */
.proof{background:#fff;border-bottom:1px solid #eee}
.proof__grid{display:grid;gap:12px;grid-template-columns:1fr;align-items:center;padding:16px 0}
.proof .stars{font-weight:800;color:#f5b301}
@media(min-width:800px){.proof__grid{grid-template-columns:auto 1fr 1fr 1fr}}

/* Why */
.why{background:var(--sand);padding:48px 0}
.why h2{font-size:clamp(22px,3.2vw,30px);margin:0 0 12px}
.cards{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:800px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:18px 16px}
.card h3{margin:.2rem 0 .25rem;font-size:18px}

/* Meet Victor */
.meet{background:#fff;padding:46px 0}
.meet__grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:950px){.meet__grid{grid-template-columns:1.05fr .95fr;gap:28px;align-items:center}}
.meet__media img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 18px 36px rgba(0,0,0,.14)}
.meet__copy h2{margin:.2rem 0 .4rem}
.meet .ig-embed{margin-top:14px;border-radius:16px;overflow:hidden;box-shadow:0 14px 28px rgba(0,0,0,.12)}

/* Gallery */
.gallery{background:#fff;padding:42px 0}
.gallery__grid{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:900px){.gallery__grid{grid-template-columns:repeat(3,1fr)}}
.tile{border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:#000}
.tile img{display:block;width:100%;height:260px;object-fit:cover}
.tile figcaption{color:#fff;background:linear-gradient(to top,rgba(0,0,0,.6),transparent);font-size:.95rem;padding:10px;margin-top:-36px}

/* Offer + Form */
.offer{background:#fff;padding:54px 0}
.offer__grid{display:grid;gap:24px;grid-template-columns:1fr}
@media(min-width:950px){.offer__grid{grid-template-columns:1.1fr .9fr;align-items:start}}
.offer h2{margin:0 0 6px}
.lead{margin:.2rem 0 1rem}
.bullets{margin:.6rem 0 1rem;padding-left:18px}
.bullets li{margin:.25rem 0}
.mini-faq{background:#fafafa;border:1px solid #eee;border-radius:14px;padding:12px 14px;margin:12px 0}
.mini-faq .mini-title{font-weight:800;margin:.25rem 0 0}
.footnote{font-size:.9rem;color:var(--muted);margin-top:.5rem}

.formwrap{background:var(--sand);border:1px solid #eee;border-radius:18px;padding:18px}
.form{display:grid;gap:12px}
.hidden{display:none}
.field{display:grid;gap:6px}
.field label{font-weight:700}
.field input,.field select,.field textarea{
  width:100%;border:1px solid #ddd;border-radius:12px;padding:.9rem;font:inherit;background:#fff
}
.btn-submit{width:100%;margin-top:4px}
.form-safe{font-size:.9rem;color:var(--muted);margin:.3rem 0 0}
.form-success{background:#ecfff3;border:1px solid #d6f5e1;color:#0a572e;border-radius:12px;padding:.7rem;margin-top:.4rem}

/* FAQs */
.faqs{background:#fff;padding:42px 0}
.faqs h2{margin:0 0 12px}
details{border:1px solid #eee;border-radius:12px;padding:.8rem .9rem;margin:.5rem 0;background:#fafafa}
summary{cursor:pointer;font-weight:700}

/* Final */
.final{background:linear-gradient(135deg,#ff6b6b 0%,#ff5252 100%);color:#fff;padding:48px 0;text-align:center}
.final h2{margin:0 0 .3rem}
.final__actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:center;margin:8px 0 2px}
.address{opacity:.95;font-size:.95rem}
