:root{
  --ink:#141416;
  --ink-soft:#4b4b52;
  --paper:#ffffff;
  --paper-soft:#f6f5f3;
  --line:#e7e5e1;
  --red:#c8272a;
  --red-dark:#a01f22;
  --gold:#c99a4a;
  --whatsapp:#25d366;
  --whatsapp-dark:#1ebc59;
  --dark:#0d0d0f;
  --dark-soft:#1a1a1d;
  --radius:14px;
  --shadow:0 12px 30px -12px rgba(20,20,22,.25);
  --max:1180px;
  --header-bg:rgba(255,255,255,.92);
  --input-bg:#ffffff;
  --font-display:"Sora","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
}

@font-face{
  font-family:"Sora";
  src:url("assets/fonts/sora-var.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

@media (prefers-color-scheme:dark){
  :root{
    --ink:#f2f1ef;
    --ink-soft:#b7b6bb;
    --paper:#141416;
    --paper-soft:#1c1c1f;
    --line:#303034;
    --shadow:0 12px 30px -12px rgba(0,0,0,.6);
    --header-bg:rgba(20,20,22,.85);
    --input-bg:#1c1c1f;
  }
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}

.icon{width:1.05em;height:1.05em;flex-shrink:0;vertical-align:-.15em}

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

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:3px solid var(--red);outline-offset:2px;border-radius:4px;
}
.star-rating input:focus-visible + label{
  outline:2px solid var(--red);outline-offset:3px;border-radius:4px;
}
body{
  margin:0;
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{line-height:1.15;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em;font-family:var(--font-display)}
h2{font-size:clamp(1.6rem,3vw,2.3rem)}
h3{font-size:1.15rem}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}

.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

.skip-link{
  position:absolute;left:-999px;top:0;background:var(--red);color:#fff;padding:12px 20px;z-index:200;
}
.skip-link:focus{left:12px;top:12px}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  padding:12px 22px;border-radius:999px;font-weight:700;font-size:.95rem;
  text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 24px -10px rgba(200,39,42,.55)}
.btn-primary:hover{background:var(--red-dark)}
.btn-whatsapp{background:var(--whatsapp);color:#fff;box-shadow:0 10px 24px -10px rgba(37,211,102,.55)}
.btn-whatsapp:hover{background:var(--whatsapp-dark)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--red);color:var(--red)}
.btn-outline{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.btn-lg{padding:15px 28px;font-size:1rem}
.btn-full{width:100%}

.section-eyebrow{
  text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;
  color:var(--red);margin:0 0 .6em;
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:100;background:var(--header-bg);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-mark{height:48px;width:auto;border-radius:6px}
.main-nav{display:flex;gap:26px}
.main-nav a{text-decoration:none;font-weight:600;font-size:.92rem;color:var(--ink-soft);position:relative;padding-bottom:4px}
.main-nav a:hover{color:var(--red)}
.main-nav a.active{color:var(--red)}
.main-nav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--red);border-radius:2px;
}
.header-cta{display:flex;gap:10px}
.header-cta .btn{padding:10px 16px;font-size:.88rem}

@media (max-width:860px){
  .main-nav{display:none}
  .header-cta .btn-ghost{display:none}
}

/* Hero */
.hero{background:radial-gradient(circle at 20% 20%,#1c1c1f,var(--dark) 60%);color:#fff;padding:52px 0 64px}
.hero-inner{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.8rem;margin:0 0 .8em}
.hero h1{font-size:clamp(2rem,4.2vw,3.1rem);color:#fff}
.hero-sub{color:#d7d6d9;font-size:1.05rem;max-width:52ch}

.offer-badge{
  display:inline-flex;align-items:baseline;gap:10px;background:rgba(201,154,74,.12);
  border:1px solid rgba(201,154,74,.4);border-radius:999px;padding:10px 20px;margin:6px 0 22px;
}
.offer-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:700}
.offer-price{font-size:1.4rem;font-weight:800;color:#fff;font-family:var(--font-display)}
.offer-note{font-size:.78rem;color:#b9b8bc}

.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:30px}

.trust-strip{display:flex;flex-wrap:wrap;gap:22px 30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12)}
.trust-strip li{font-size:.85rem;color:#c7c6ca}
.trust-strip strong{display:block;font-size:1.15rem;color:#fff;font-family:var(--font-display)}

.hero-media{overflow:hidden;border-radius:var(--radius);box-shadow:0 24px 60px -20px rgba(0,0,0,.6)}
.hero-media img{display:block;will-change:transform}

@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr}
  .hero-media{order:-1}
}

/* Problem */
.problem{background:var(--paper-soft);padding:56px 0;text-align:center}
.problem h2{max-width:820px;margin:0 auto .5em}
.problem p{max-width:760px;margin:0 auto;color:var(--ink-soft);font-size:1.05rem}

/* About */
.about{background:var(--paper-soft);padding:16px 0 64px;text-align:center}
.about h2{max-width:820px;margin:0 auto .8em}
.about-copy{max-width:760px;margin:0 auto;text-align:left}
.about-copy p{color:var(--ink-soft);font-size:1.02rem}

/* Services */
.services{padding:72px 0}
.services h2{margin-bottom:36px;max-width:640px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-card{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px;
  box-shadow:var(--shadow);display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px -14px rgba(20,20,22,.32)}
.service-card p{color:var(--ink-soft);font-size:.94rem;flex-grow:1}
.service-link{color:var(--red);font-weight:700;text-decoration:none;font-size:.9rem}
.service-link:hover{text-decoration:underline}

@media (max-width:960px){.service-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.service-grid{grid-template-columns:1fr}}

/* How it works */
.how{background:var(--dark);color:#fff;padding:72px 0}
.how h2{max-width:640px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin:36px 0 44px;counter-reset:step}
.steps li{background:var(--dark-soft);border-radius:var(--radius);padding:28px;border:1px solid rgba(255,255,255,.08);transition:transform .25s ease}
.steps li:hover{transform:translateY(-5px)}
.step-num{
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;
  background:var(--red);color:#fff;font-weight:800;margin-bottom:14px;font-family:var(--font-display);
}
.steps h3{color:#fff}
.steps p{color:#c7c6ca;margin:0}
.center-cta{text-align:center}

@media (max-width:800px){.steps{grid-template-columns:1fr}}

/* Founder */
.founder{padding:72px 0}
.founder-inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.founder-media{position:sticky;top:96px}
.founder-media img{border-radius:var(--radius);box-shadow:var(--shadow)}
.founder-title{color:var(--red);font-weight:700;margin-top:-.6em}
.founder-copy p{color:var(--ink-soft)}
.founder-tagline{
  font-weight:800;color:var(--ink);font-size:1.1rem;padding-top:18px;
  border-top:2px solid var(--line);
}
.founder-copy .btn-outline{background:var(--dark);color:#fff;border-color:var(--dark);margin-top:8px}
.founder-copy .btn-outline:hover{background:var(--red);border-color:var(--red)}

@media (max-width:860px){
  .founder-inner{grid-template-columns:1fr}
  .founder-media{position:static}
}

/* Stats */
.stats{background:var(--paper-soft);padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stats-grid strong{display:block;font-size:2rem;color:var(--red);font-weight:800;font-family:var(--font-display)}
.stats-grid span{font-size:.85rem;color:var(--ink-soft)}

@media (max-width:700px){.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* Pricing */
.pricing{padding:72px 0}
.pricing-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
.included-list li{position:relative;padding-left:26px;margin-bottom:12px;color:var(--ink-soft)}
.included-list li::before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:800}
.pricing-card{
  background:var(--dark);color:#fff;border-radius:var(--radius);padding:36px;text-align:center;
  box-shadow:var(--shadow);transition:transform .25s ease;
}
.pricing-card:hover{transform:translateY(-5px)}
.pricing-tag{display:inline-block;background:rgba(201,154,74,.15);color:var(--gold);border-radius:999px;padding:6px 16px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.pricing-amount{font-size:3rem;font-weight:800;margin:14px 0 2px;font-family:var(--font-display)}
.pricing-caveat{color:#b9b8bc;font-size:.85rem;margin-bottom:20px}
.pricing-card .btn{margin-bottom:10px}

@media (max-width:900px){.pricing-inner{grid-template-columns:1fr}}

/* Reviews */
.reviews{padding:64px 0;text-align:center}
.reviews h2{max-width:640px;margin:0 auto .5em}
.reviews-sub{max-width:680px;margin:0 auto 30px;color:var(--ink-soft);font-size:1.02rem}

.review-form{
  max-width:480px;margin:0 auto;text-align:left;background:var(--paper-soft);
  border:1px solid var(--line);border-radius:var(--radius);padding:30px;
}
.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.star-rating input{position:absolute;opacity:0;pointer-events:none}
.review-form .star-rating label{font-size:2rem;line-height:1;color:var(--line);cursor:pointer;transition:color .15s ease}
.star-rating input:checked ~ label{color:var(--gold)}
.star-rating label:hover,
.star-rating label:hover ~ label{color:var(--gold)}
.star-error{color:var(--red);font-size:.8rem;margin:4px 0 0}

/* FAQ */
.faq{background:var(--paper-soft);padding:72px 0}
.faq h2{max-width:640px}
.faq-list{margin-top:28px;display:flex;flex-direction:column;gap:12px}
details{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:6px 22px}
summary{cursor:pointer;font-weight:700;padding:16px 0;list-style:none;position:relative;padding-right:30px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:14px;font-size:1.3rem;color:var(--red)}
details[open] summary::after{content:"–"}
details p{color:var(--ink-soft);padding-bottom:18px;margin:0}

/* Book */
.book{padding:72px 0}
.book-inner{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.direct-contacts{display:flex;flex-direction:column;gap:10px;margin-top:24px}
.direct-contacts a{display:flex;align-items:center;gap:.5em;text-decoration:none;font-weight:700;color:var(--red)}
.book-form{background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.form-row{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}
.form-row label{font-size:.85rem;font-weight:700;color:var(--ink-soft)}
.form-row input,.form-row select,.form-row textarea{
  padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--input-bg);color:var(--ink);
}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--red);outline-offset:1px}
.form-note{font-size:.78rem;color:var(--ink-soft);text-align:center;margin:10px 0 0}

@media (max-width:900px){.book-inner{grid-template-columns:1fr}}

/* Footer */
.site-footer{background:var(--dark);color:#c7c6ca;padding:56px 0 20px}
.footer-inner{display:grid;grid-template-columns:1.3fr 1fr 1.3fr;gap:36px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
.footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.footer-logo{height:44px;width:auto;border-radius:6px}
.footer-brand p{width:100%;color:#9a999e;font-size:.88rem;margin-top:8px}
.footer-col h4{color:#fff;margin-bottom:12px;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}
.footer-col a{display:flex;align-items:center;gap:.5em;text-decoration:none;color:#c7c6ca;margin-bottom:8px;font-size:.92rem}
.footer-col a:hover{color:var(--gold)}
.footer-col p{color:#9a999e;font-size:.85rem}
.footer-bottom{padding-top:20px;font-size:.8rem;color:#7d7c81}

@media (max-width:800px){.footer-inner{grid-template-columns:1fr}}

/* Floating WhatsApp */
.floating-whatsapp{
  position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;
  background:var(--whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;
  text-decoration:none;box-shadow:0 12px 28px -8px rgba(37,211,102,.6);z-index:150;
}
.floating-whatsapp .icon{width:26px;height:26px}
.floating-whatsapp:hover{background:var(--whatsapp-dark)}
