
:root{
  --bg:#f6fbf7;--surface:#ffffff;--soft:#e6f4ea;--soft2:#d3ebdb;--text:#1d2b24;--muted:#53665b;
  --brand:#2f8f5b;--brand-dark:#1f6b42;--on-brand:#ffffff;--line:#d9e8de;--star:#e0a526;
  box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0f1a14;--surface:#16251c;--soft:#1b3024;--soft2:#24412f;--text:#e7f2ea;--muted:#a3b8aa;
    --brand:#4fbf80;--brand-dark:#7bd9a2;--on-brand:#0b1a11;--line:#2a4535;--star:#f0bd45;color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0f1a14;--surface:#16251c;--soft:#1b3024;--soft2:#24412f;--text:#e7f2ea;--muted:#a3b8aa;
  --brand:#4fbf80;--brand-dark:#7bd9a2;--on-brand:#0b1a11;--line:#2a4535;--star:#f0bd45;color-scheme:dark;
}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.65;font-size:17px}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--surface);z-index:30}
a{color:var(--brand-dark)}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.logo{font-weight:700;color:var(--text);text-decoration:none;font-size:18px}
.logo span{color:var(--brand)}
nav{display:flex;gap:20px;align-items:center}
nav a{color:var(--muted);text-decoration:none;font-size:15px}
nav a:hover{color:var(--brand-dark)}
.btn{display:inline-block;background:var(--brand);color:var(--on-brand);padding:13px 24px;border-radius:999px;font-weight:600;text-decoration:none;font-size:16px;border:0;cursor:pointer}
.btn:hover{background:var(--brand-dark);color:var(--on-brand)}
.btn.sm{padding:9px 18px;font-size:15px}
.btn.alt{background:transparent;color:var(--brand-dark);border:2px solid var(--brand)}
.btn.alt:hover{background:var(--soft);color:var(--brand-dark)}
.hero{background:linear-gradient(160deg,var(--soft) 0%,var(--bg) 70%);padding:72px 0 64px}
.hero .grid{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}
.tag{display:inline-block;background:var(--soft2);color:var(--brand-dark);padding:6px 14px;border-radius:999px;font-size:14px;font-weight:600;margin-bottom:18px}
h1{font-size:clamp(30px,5vw,46px);line-height:1.15;margin:0 0 18px}
h2{font-size:clamp(25px,3.4vw,33px);line-height:1.2;margin:0 0 14px}
h3{font-size:19px;margin:0 0 8px}
.lead{font-size:19px;color:var(--muted);margin:0 0 28px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.hero-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(47,143,91,.12)}
.hero-card ul{list-style:none;margin:0;padding:0}
.hero-card li{padding:10px 0 10px 30px;position:relative;border-bottom:1px solid var(--line)}
.hero-card li:last-child{border:0}
.hero-card li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:700}
section{padding:68px 0}
section.alt{background:var(--soft)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-top:28px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}
.card p{margin:0 0 12px;color:var(--muted);font-size:16px}
.card a{font-weight:600;font-size:15px;text-decoration:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.pill-list{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.pill-list li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 18px}
.steps{counter-reset:s;list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px 24px 24px 24px;position:relative}
.steps li::before{content:counter(s);display:inline-flex;width:34px;height:34px;border-radius:50%;background:var(--brand);color:var(--on-brand);align-items:center;justify-content:center;font-weight:700;margin-bottom:12px}
.place{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}
.photo{width:100%;max-width:300px;aspect-ratio:4/5;border-radius:20px;background:var(--soft2);border:2px dashed var(--brand);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--brand-dark);font-weight:600;padding:20px;margin:0 auto}
.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:28px}
.rev{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;margin:0}
.rev .stars{color:var(--star);letter-spacing:2px;margin-bottom:8px}
.rev p{margin:0 0 14px;font-size:16px}
.rev cite{font-style:normal;font-weight:600;color:var(--muted);font-size:15px}
details{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:12px;padding:0 20px}
summary{cursor:pointer;font-weight:600;padding:18px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;font-size:17px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--brand);font-size:24px;line-height:1}
details[open] summary::after{content:"–"}
details p{margin:0 0 18px;color:var(--muted)}
.final{background:var(--brand);color:var(--on-brand);text-align:center;padding:64px 0}
.final h2{color:var(--on-brand)}
.final p{max-width:560px;margin:0 auto 24px}
.final .btn{background:var(--on-brand);color:var(--brand-dark)}
footer{padding:36px 0;font-size:15px;color:var(--muted)}
footer .row{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:12px}
.fine{font-size:13px;border-top:1px solid var(--line);padding-top:14px}
@media (max-width:760px){
  nav a:not(.btn){display:none}
  .hero{padding:44px 0 40px}
  .hero .grid,.two{grid-template-columns:1fr;gap:28px}
  section{padding:48px 0}
}
.crumb{display:inline-block;margin-bottom:14px;color:var(--brand-dark);text-decoration:none;font-weight:600;font-size:15px}
.more{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:20px}
.more a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;font-weight:600;color:var(--text)}
.more a:hover{border-color:var(--brand)}
#pagina[hidden]{display:none}
.tbl{width:100%;border-collapse:collapse;margin:16px 0;font-size:16px}.tbl th,.tbl td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}.tbl th{background:var(--soft)}
.dd{position:relative;display:inline-block}.ddm{display:none;position:absolute;top:100%;left:-12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;min-width:270px;box-shadow:0 10px 30px rgba(0,0,0,.12);z-index:40}.dd:hover .ddm,.dd:focus-within .ddm{display:block}.ddm a{display:block;padding:9px 12px;white-space:nowrap;border-radius:8px}.ddm a:hover{background:var(--soft)}
.crumbs{font-size:14px;color:var(--muted);margin:0 0 18px}
.crumbs a{color:var(--muted);text-decoration:none}
.art{max-width:740px;margin:0 auto;padding:40px 20px 24px}
.art h1{font-size:clamp(28px,5vw,40px)}
.art h2{margin-top:40px}
.art h3{margin-top:26px}
.art p,.art li{font-size:18px}
.art ul{padding-left:22px}
.art li{margin:6px 0}
.meta{color:var(--muted);font-size:15px;margin:0 0 24px}
.note{background:var(--soft);border-left:4px solid var(--brand);border-radius:10px;padding:14px 18px;margin:22px 0;font-size:16px}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 22px;margin:24px 0}
.toc strong{display:block;margin-bottom:6px}
.toc a{display:block;padding:3px 0;text-decoration:none}
.formula{background:var(--surface);border:1px dashed var(--brand);border-radius:12px;padding:14px 18px;text-align:center;font-weight:600;margin:18px 0}
.cta{background:var(--soft);border-radius:18px;padding:26px;margin:36px 0;text-align:center}
.cta p{margin:0 0 16px}
.author{display:flex;gap:18px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;margin:36px 0}
.author img{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:none}
.author p{margin:0;font-size:16px}
@media(max-width:600px){.author{flex-direction:column;text-align:center}}
