:root{
  --leaf:#2e9e4f;
  --leaf-dark:#1f7a3c;
  --orange:#f47a20;
  --sky:#2b9fd8;
  --ink:#12211a;
  --muted-bg:#f4f8f5;
}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:#fff;
}
h1,h2,h3,h4,.navbar-brand,.price,.stat{font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.fw-800{font-weight:800}
.py-6{padding-top:5rem;padding-bottom:5rem}
.bg-light-osf{background:var(--muted-bg)}
.bg-dark-osf{background:#0f1a14}
.text-leaf{color:var(--leaf)!important}
.text-orange{color:var(--orange)!important}
.text-sky{color:var(--sky)!important}
.bg-leaf-soft{background:rgba(46,158,79,.12)}
.bg-orange-soft{background:rgba(244,122,32,.14)}
.bg-sky-soft{background:rgba(43,159,216,.14)}
.border-leaf-subtle{border-color:rgba(46,158,79,.35)!important}
.text-gradient{background:linear-gradient(90deg,var(--leaf),var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent}

/* botões */
.btn-leaf{background:linear-gradient(135deg,var(--leaf),var(--leaf-dark));border:none;color:#fff;box-shadow:0 8px 20px rgba(46,158,79,.28)}
.btn-leaf:hover,.btn-leaf:focus{color:#fff;filter:brightness(1.06)}
.btn-outline-leaf{border:1.5px solid var(--leaf);color:var(--leaf);background:transparent}
.btn-outline-leaf:hover{background:var(--leaf);color:#fff}

/* navbar */
.navbar-osf{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}
.navbar-osf .nav-link{font-weight:500;color:#385044}
.navbar-osf .nav-link:hover{color:var(--leaf)}

/* hero */
.hero-osf{position:relative;overflow:hidden;padding:5rem 0 5.5rem;background:linear-gradient(180deg,#f4f8f5,#fff)}
.halo{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;z-index:0}
.halo-leaf{width:420px;height:420px;background:rgba(46,158,79,.35);top:-120px;left:-100px}
.halo-sky{width:380px;height:380px;background:rgba(43,159,216,.28);bottom:-140px;right:-80px}
.badge-soft{display:inline-flex;align-items:center;gap:.4rem;background:rgba(46,158,79,.12);color:var(--leaf-dark);font-weight:600;font-size:.85rem;padding:.4rem .85rem;border-radius:999px}
.hero-shot{position:relative}
.hero-shot-float{position:absolute;width:56%;right:-4%;bottom:-12%;border:4px solid #fff;border-radius:1rem}

/* cards */
.card-soft{border:1px solid rgba(0,0,0,.07);border-radius:1rem;box-shadow:0 6px 24px rgba(18,33,26,.05);transition:transform .2s,box-shadow .2s}
.card-soft:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(18,33,26,.09)}
.card-featured{position:relative;border:2px solid var(--leaf);border-radius:1rem;background:#fff;box-shadow:0 16px 40px rgba(46,158,79,.16)}
.ribbon{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--orange),#e2620d);color:#fff;font-size:.75rem;font-weight:700;padding:.3rem .8rem;border-radius:999px;white-space:nowrap}
.icon-badge{width:46px;height:46px;border-radius:.85rem;display:flex;align-items:center;justify-content:center;font-size:1.25rem}
.shot-card{background:#fff;border:1px solid rgba(0,0,0,.07);border-radius:1rem;overflow:hidden;box-shadow:0 8px 26px rgba(18,33,26,.07)}
.price{font-size:2.4rem;font-weight:800;line-height:1.1}
.stat{font-size:1.6rem;font-weight:800;color:var(--leaf)}

/* cta */
.cta-final{position:relative;overflow:hidden;padding:5rem 0;color:#fff;background:linear-gradient(135deg,var(--leaf-dark),var(--leaf) 55%,var(--sky))}

footer a{color:rgba(255,255,255,.65);text-decoration:none}
footer a:hover{color:#fff}

/* checkout */
.plan-option{cursor:pointer;border:2px solid rgba(0,0,0,.08);border-radius:1rem;padding:1.1rem 1.25rem;transition:.15s;background:#fff}
.plan-option:hover{border-color:rgba(46,158,79,.5)}
.plan-option.active{border-color:var(--leaf);box-shadow:0 8px 24px rgba(46,158,79,.15)}
.summary-box{background:var(--muted-bg);border-radius:1rem;padding:1.5rem;position:sticky;top:90px}

/* suporte - botão flutuante whatsapp */
.wa-float{position:fixed;right:1.25rem;bottom:1.25rem;z-index:1050;display:inline-flex;align-items:center;gap:.6rem;background:#25d366;color:#fff;font-weight:700;padding:.85rem 1.4rem;border-radius:999px;text-decoration:none;box-shadow:0 10px 28px rgba(37,211,102,.45);transition:transform .15s,box-shadow .15s}
.wa-float:hover{color:#fff;transform:translateY(-2px);box-shadow:0 14px 34px rgba(37,211,102,.55)}
.wa-float i{font-size:1.35rem}
@media (max-width:575.98px){.wa-float span{display:none}.wa-float{padding:.9rem;right:1rem;bottom:1rem}}
