:root{
  --background:#fafbfb; --foreground:#0f172a;
  --brand:#2447c2; --deep:#0f172a; --success:#16a34a;
  --muted:#64748b; --border:#e5e9f0;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Inter',system-ui,sans-serif;background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:'Fraunces',Georgia,serif;letter-spacing:-0.02em;margin:0}
.font-display{font-family:'Fraunces',Georgia,serif}
.font-sans{font-family:'Inter',system-ui,sans-serif}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;background:none;border:0;color:inherit}

/* Layout */
.min-h-screen{min-height:100vh}
.container{max-width:36rem;margin:0 auto;padding:0 1.25rem}
.container-lg{max-width:42rem;margin:0 auto;padding:0 1.25rem}
.header{display:flex;align-items:center;justify-content:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border);max-width:42rem;margin:0 auto}
.header img{height:1.75rem;width:auto}
@media(min-width:640px){.header img{height:2.25rem}}

/* Spacing utilities */
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}
.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}
.py-4{padding:1rem 0}.py-6{padding:1.5rem 0}.py-14{padding:3.5rem 0}
.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3-5{padding-top:.875rem;padding-bottom:.875rem}
.gap-1-5{gap:.375rem}.gap-2{gap:.5rem}.gap-2-5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.block{display:block}.hidden{display:none}
.flex-col{flex-direction:column}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}
.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}
.justify-center{justify-content:center}.justify-between{justify-content:space-between}
.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.w-full{width:100%}.w-7{width:1.75rem}.w-12{width:3rem}.w-20{width:5rem}.h-1{height:.25rem}.h-2{height:.5rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-12{height:3rem}.h-20{height:5rem}.max-w-xl{max-width:36rem}.max-w-md{max-width:28rem}.mx-auto{margin-left:auto;margin-right:auto}
.relative{position:relative}.absolute{position:absolute}.left-4{left:1rem}.right-2-5{right:.625rem}.top-2-5{top:.625rem}
.overflow-hidden{overflow:hidden}
.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}
.border{border:1px solid var(--border)}.border-2{border:2px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-y{border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.border-blue-100{border-color:#dbeafe}.border-blue-200{border-color:#bfdbfe}.border-brand{border-color:var(--brand)}.border-red-200{border-color:#fecaca}.border-amber-300{border-color:#fcd34d}.border-white-20{border-color:rgba(255,255,255,.2)}
.bg-white{background:#fff}.bg-background{background:var(--background)}.bg-deep{background:var(--deep)}.bg-brand{background:var(--brand)}.bg-success{background:var(--success)}.bg-blue-50{background:#eff6ff}.bg-blue-50-60{background:rgba(239,246,255,.6)}.bg-blue-50-40{background:rgba(239,246,255,.4)}.bg-red-50{background:#fef2f2}.bg-amber-50{background:#fffbeb}.bg-muted{background:#f1f5f9}.bg-border{background:var(--border)}.bg-white-5{background:rgba(255,255,255,.05)}.bg-white-10{background:rgba(255,255,255,.1)}
.text-white{color:#fff}.text-deep{color:var(--deep)}.text-brand{color:var(--brand)}.text-muted{color:var(--muted)}.text-red-600{color:#dc2626}.text-amber-300{color:#fcd34d}.text-deep-80{color:rgba(15,23,42,.8)}.text-deep-90{color:rgba(15,23,42,.9)}.text-white-70{color:rgba(255,255,255,.7)}.text-white-80{color:rgba(255,255,255,.8)}.text-white-90{color:rgba(255,255,255,.9)}.text-foreground-80{color:rgba(15,23,42,.8)}.text-foreground-90{color:rgba(15,23,42,.9)}
.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-7xl{font-size:4.5rem;line-height:1}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}
.italic{font-style:italic}.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.tabular-nums{font-variant-numeric:tabular-nums}.line-through{text-decoration:line-through}.underline{text-decoration:underline}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-relaxed{line-height:1.625}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,.1)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}.shadow-inner{box-shadow:inset 0 2px 4px rgba(0,0,0,.06)}
.object-cover{object-fit:cover}.object-contain{object-fit:contain}
.transition{transition:all .2s}
.cursor-pointer{cursor:pointer}
.divide-y > * + *{border-top:1px solid var(--border)}
.space-y-3 > * + *{margin-top:.75rem}.space-y-5 > * + *{margin-top:1.25rem}.space-y-8 > * + *{margin-top:2rem}
hr{border:0;border-top:1px solid var(--border)}

/* Buttons / CTA */
.btn-success{display:flex;width:100%;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;background:var(--success);color:#fff;padding:1rem;font-size:1rem;font-weight:700;box-shadow:0 10px 20px -8px rgba(22,163,74,.4);transition:.2s}
.btn-success:hover{background:#15803d}
.btn-brand{width:100%;border-radius:.75rem;background:var(--brand);color:#fff;padding:1rem;font-size:1rem;font-weight:700;box-shadow:0 4px 6px -1px rgba(0,0,0,.1);transition:.2s}
.btn-card{width:100%;text-align:left;border:2px solid #dbeafe;background:rgba(239,246,255,.4);border-radius:.75rem;padding:1rem 1.25rem;transition:.2s}
.btn-card:hover{border-color:var(--brand);background:#eff6ff}
.btn-card.selected{border-color:var(--brand);background:#eff6ff}

/* Animations */
@keyframes fade-in-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse-cta{0%,100%{transform:scale(1);box-shadow:0 8px 20px -8px rgba(0,0,0,.25)}50%{transform:scale(1.04);box-shadow:0 16px 32px -8px rgba(0,0,0,.35)}}
.animate-fade-in-up{animation:fade-in-up .5s ease-out both}
.animate-pulse-cta{animation:pulse-cta 1.6s ease-in-out infinite;will-change:transform}

/* Responsive */
@media(min-width:768px){
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:py-14{padding-top:3.5rem;padding-bottom:3.5rem}
}

/* WhatsApp testimonial */
.wa-bg{background:#e7ddd1;background-image:radial-gradient(rgba(0,0,0,0.04) 1px,transparent 1px);background-size:12px 12px;padding:.75rem;border-radius:1rem;box-shadow:inset 0 2px 4px rgba(0,0,0,.06)}
.wa-row{display:flex;align-items:flex-end;gap:.375rem;padding-left:.25rem;margin-top:.75rem}
.wa-row:first-child{margin-top:0}
.wa-avatar{height:1.75rem;width:1.75rem;flex-shrink:0;border-radius:9999px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.wa-bubble{position:relative;max-width:82%;border-radius:7.5px;border-bottom-left-radius:0;background:#fff;padding:5px 9px 6px;box-shadow:0 1px 0.5px rgba(0,0,0,.13)}
.wa-bubble::before{content:'';position:absolute;bottom:0;left:-7px;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-right:8px solid #fff}
.wa-name{font-size:12.5px;font-weight:600;line-height:1.1}
.wa-text{font-family:'Inter',system-ui,sans-serif;font-size:14.2px;line-height:19px;color:#111b21;white-space:pre-line;margin:2px 0 0}
.wa-when{font-size:11px;color:#667781;text-align:right;margin-top:2px}

.dot{display:inline-block;height:.375rem;width:.375rem;border-radius:9999px;background:var(--brand);margin-top:.5rem;flex-shrink:0}
