:root{--g9:#0B3D22;--g7:#145C34;--g5:#1B7F46;--g3:#3DB36B;--g1:#E6F2EA;--soft:#F4F8F5;--ink:#1d2a22;--mut:#5a6b61;--line:#e2ebe5;--r:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.65 'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}a{color:var(--g5)}a:hover{color:var(--g9)}
:focus-visible{outline:3px solid var(--g3);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{line-height:1.12;color:var(--g9);margin:0 0 .5em;letter-spacing:-.025em}
h1{font-size:clamp(2.2rem,5.2vw,4rem);font-weight:800}h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800}h3{font-size:1.15rem;font-weight:700}
p{max-width:68ch;margin:0 0 1em}.lead{font-size:1.2rem;color:var(--mut)}.center{text-align:center}.center p{margin-left:auto;margin-right:auto}
/* header */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--g9);text-decoration:none}.brand img{height:42px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:26px}.nav a{text-decoration:none;color:#3b4a41;font-weight:500;font-size:.97rem}.nav a:hover{color:var(--g5)}
.nav .sp{flex:1}.cartlink b{background:var(--g5);color:#fff;border-radius:99px;padding:1px 8px;font-size:.78rem}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 14px;font:inherit}
.btn,button.btn{display:inline-block;background:var(--g5);color:#fff!important;padding:12px 24px;border-radius:8px;font:600 1rem 'Plus Jakarta Sans',sans-serif;border:0;cursor:pointer;text-decoration:none;transition:background .15s}
.btn:hover{background:var(--g9)}.btn.alt{background:var(--soft);color:var(--g7)!important}.btn.alt:hover{background:var(--g1)}.btn.lg{padding:16px 32px;font-size:1.08rem}
/* hero */
.hero{padding:96px 0 72px;text-align:center;background:radial-gradient(1200px 420px at 50% -10%,var(--g1),transparent 70%)}
.hero h1{max-width:16ch;margin:0 auto .45em}.hero p{margin:0 auto 1.6em}.hero .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.sec{padding:80px 0}.sec.tint{background:var(--soft)}.sec h2{margin-bottom:.4em}.sec .head{margin-bottom:44px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 2px rgba(11,61,34,.04)}
.card .pad{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}.card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.mod{border-top:4px solid var(--g3)}.mod:nth-child(2){border-color:var(--g5)}.mod:nth-child(3){border-color:var(--g7)}.mod:nth-child(4){border-color:var(--g3)}.mod:nth-child(5){border-color:var(--g5)}
.ico{width:46px;height:46px;border-radius:12px;background:var(--g1);display:grid;place-items:center;margin-bottom:6px}.ico svg{width:24px;height:24px;stroke:var(--g5);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.price{font-weight:800;font-size:2.2rem;color:var(--g9);line-height:1}.price small{font-weight:500;color:var(--mut);font-size:.85rem;display:block;margin-top:6px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;align-items:stretch}
.plan{background:#fff;border:1px solid var(--line);border-top:5px solid var(--g3);border-radius:6px 6px 14px 14px;padding:28px;display:flex;flex-direction:column;gap:12px;box-shadow:0 6px 24px rgba(11,61,34,.06)}
.plan:nth-child(2){border-top-color:var(--g5)}.plan:nth-child(3){border-top-color:var(--g9)}.plan.feat{box-shadow:0 14px 40px rgba(27,127,70,.18)}
.plan h2{font-size:1.6rem;margin:0}.plan ul{padding-left:20px;margin:0;flex:1}.plan li{margin-bottom:6px}
.tabs{display:inline-flex;background:var(--soft);border-radius:99px;padding:4px;margin:8px 0 40px}.tabs a{padding:9px 26px;border-radius:99px;text-decoration:none;color:var(--ink);font-weight:600}.tabs a.on{background:var(--g5);color:#fff}
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:36px}.feats p{color:var(--mut)}
.cta{background:var(--g9);color:#fff;padding:72px 0;text-align:center}.cta h2{color:#fff}.cta p{color:#cfe6d7;margin:0 auto 1.4em}.cta .btn{background:#fff;color:var(--g9)!important}.cta .btn:hover{background:var(--g1)}
/* forms */
form.f{display:grid;gap:18px;max-width:640px}.f label{display:grid;gap:6px;font-weight:600;font-size:.94rem}
.f input,.f select,.f textarea{font:inherit;padding:12px 14px;border:1px solid #cfdcd3;border-radius:8px;background:#fff;width:100%}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--g5);outline:0;box-shadow:0 0 0 3px rgba(61,179,107,.22)}
.f .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.f .chk{display:flex;gap:10px;font-weight:400;align-items:flex-start}.f .chk input{width:auto;margin-top:5px}
.msg{padding:14px 16px;border-radius:8px;margin:0 0 20px;max-width:640px}.msg.ok{background:var(--g1);border:1px solid var(--g3)}.msg.err{background:#fdeceb;border:1px solid #e08b86}
table.t{border-collapse:collapse;width:100%;background:#fff}.t th,.t td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.t th{background:var(--soft)}
.tw{overflow-x:auto}.prose{max-width:75ch}.prose h2{margin-top:1.6em}
details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer}
/* login estilo tarjeta centrada */
.auth{min-height:100vh;display:grid;place-items:center;background:var(--soft);padding:24px}
.authcard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px;width:100%;max-width:440px;box-shadow:0 10px 40px rgba(11,61,34,.08)}
.authcard .logo{display:block;height:48px;margin:0 auto 22px}.authcard h1{font-size:1.5rem;text-align:center}.authcard .f{max-width:none}.authcard .btn{width:100%}
/* footer */
.foot{background:var(--g9);color:#cfe6d7;padding:64px 0 0}.foot a{color:#fff;text-decoration:none}.foot a:hover{text-decoration:underline}.foot h2{color:#fff;font-size:1rem;letter-spacing:0}.foot img{height:44px;width:auto}
.cols{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}.legalbar{border-top:1px solid #1d6a3d;margin-top:40px;padding:20px 24px;font-size:.85rem}
@media(max-width:900px){.burger{display:block}.nav{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:18px 24px;gap:16px}.nav.open{display:flex}.f .row{grid-template-columns:1fr}.hero{padding:56px 0 44px}.sec{padding:52px 0}.cols{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
main>section.sec:first-child h1{font-size:clamp(2rem,4vw,2.8rem)}
main>section.sec:first-child{padding-top:56px}
.note{background:#e8f4ef;border:1px solid #cfe6da;border-radius:10px;padding:14px 16px;text-align:center;font-size:.95rem;color:#24523a;margin:0 0 20px}
.pwbox{position:relative}.pwbox input{padding-right:48px}.pwbox button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;padding:8px 10px;cursor:pointer;color:var(--mut);font:inherit}
.authcard .btn{text-transform:uppercase;letter-spacing:.03em}.auth small{display:block;text-align:center;margin-top:18px;color:var(--mut)}
/* cita con experto (estilo Odoo) */
.appt{display:grid;grid-template-columns:320px 1fr;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 40px rgba(11,61,34,.08);background:#fff}
.appt aside{background:var(--soft);padding:32px;border-right:1px solid var(--line)}.appt aside img{height:40px;margin-bottom:22px}.appt aside h1{font-size:1.5rem}
.appt aside ul{list-style:none;padding:0;margin:18px 0;color:var(--mut)}.appt aside li{margin-bottom:8px}
.appt .main{padding:32px}.appt h2{font-size:1.2rem;margin-bottom:14px}
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calhead button{background:var(--soft);border:0;border-radius:8px;width:36px;height:36px;cursor:pointer;font-size:1.1rem}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;max-width:420px}.cal .dow{font-size:.78rem;color:var(--mut);text-align:center;padding:4px 0}
.cal button{aspect-ratio:1;border:0;border-radius:50%;background:none;font:inherit;cursor:pointer}.cal button:disabled{color:#b9c5bd;cursor:default}
.cal button:not(:disabled){background:var(--g1);color:var(--g9);font-weight:700}.cal button.on{background:var(--g5);color:#fff}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:12px 0 22px;max-width:520px}
.slots button{padding:10px;border:1px solid var(--g5);border-radius:8px;background:#fff;color:var(--g7);font:600 .95rem 'Plus Jakarta Sans',sans-serif;cursor:pointer}.slots button.on{background:var(--g5);color:#fff}
.picked{background:var(--g1);border-radius:8px;padding:10px 14px;margin-bottom:16px;font-weight:600;color:var(--g9)}
@media(max-width:900px){.appt{grid-template-columns:1fr}.appt aside{border-right:0;border-bottom:1px solid var(--line)}.appt .main{padding:22px}}
/* ===== compacto ===== */
body{font-size:15.5px;line-height:1.55}
h1{font-size:clamp(1.9rem,4vw,3rem)}h2{font-size:clamp(1.4rem,2.6vw,1.9rem)}
.wrap{padding:0 20px}.bar{min-height:62px}.brand img{height:36px}.nav{gap:20px}.nav a{font-size:.93rem}
.btn,button.btn{padding:10px 20px}.btn.lg{padding:13px 26px;font-size:1rem}
.hero{padding:56px 0 40px}.hero h1{margin-bottom:.35em}.hero p{margin-bottom:1.2em}
.sec{padding:48px 0}.sec .head{margin-bottom:28px}main>section.sec:first-child{padding-top:36px}
.cards{gap:16px}.card .pad{padding:18px}.ico{width:40px;height:40px;margin-bottom:2px}
.price{font-size:1.9rem}.plans{gap:16px}.plan{padding:22px;gap:8px}.tabs{margin:4px 0 26px}.feats{gap:24px}
.cta{padding:48px 0}.foot{padding:44px 0 0}.cols{gap:28px}.legalbar{margin-top:28px;padding:16px 20px}
form.f{gap:12px}.f label{gap:4px;font-size:.9rem}.f input,.f select,.f textarea{padding:9px 12px}
.auth{padding:16px}.authcard{padding:26px;max-width:410px}.authcard .logo{height:40px;margin-bottom:14px}.authcard h1{font-size:1.3rem;margin-bottom:.4em}
.note{padding:10px 14px;margin-bottom:14px;font-size:.9rem}.auth small{margin-top:12px}
.appt aside{padding:24px}.appt .main{padding:24px}.appt aside img{margin-bottom:14px}.cal{gap:4px;max-width:380px}.slots{margin:8px 0 16px}
.t th,.t td{padding:9px 10px}@media(max-width:900px){.nav{top:62px}.hero{padding:36px 0 28px}.sec{padding:36px 0}}
