/* Tricios 3D · web comercial R14. Referencia visual: Libelula / tricios.com (blanco, burdeos, líneas finas). Sin modo oscuro. */
:root{--ink:#111820;--muted:#596571;--line:#182d4817;--line2:#182d4826;--paper:#fff;--soft:#f6f4f2;--wine:#76243B;--wine-ink:#5e1c2f;--wine-soft:#f6eef1;
--radius:24px;--lift:0 2px 3px #182a3d05,0 16px 32px -24px #182a3d38,inset 0 1px 0 #fff;color-scheme:light;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Inter,Roboto,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.6}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
a{color:inherit}img{max-width:100%;height:auto;display:block}
:focus-visible{outline:2px solid var(--wine);outline-offset:3px;border-radius:6px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
/* cabecera en píldora */
.site-header{position:sticky;top:14px;z-index:20;margin:14px auto 0;max-width:1232px;padding:0 24px}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffffe8;backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:20px;box-shadow:var(--lift);padding:12px 22px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:30px;height:30px}
.brand b{font-weight:500;letter-spacing:.06em;font-size:17px}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:.04em;margin-top:2px}
nav.main{display:flex;gap:22px;align-items:center;font-size:14px}nav.main a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}nav.main a:hover{border-color:var(--ink)}
.btn.menu-btn{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 22px;border-radius:12px;border:1px solid var(--line2);background:#fff;color:var(--ink);font:500 15px/1.2 inherit;text-decoration:none;cursor:pointer;box-shadow:0 1px 2px #182a3d0a}
.btn.primary{background:var(--wine);border-color:var(--wine);color:#fff}.btn.primary:hover{background:var(--wine-ink)}
.btn.small{min-height:38px;padding:8px 14px;font-size:14px;border-radius:10px}
.btn[aria-disabled=true],.btn:disabled{opacity:.5;cursor:not-allowed}
/* portada */
.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:48px;align-items:center;padding:72px 0 56px}
.hero h1{font-size:clamp(38px,5vw,60px);line-height:1.04;letter-spacing:-.045em;font-weight:600;margin:0 0 22px}
.hero p.lead{font-size:18px;color:#2b333b;max-width:520px;margin:0 0 28px}
.cta{display:flex;gap:12px;flex-wrap:wrap}.fine{font-size:13px;color:var(--muted);margin-top:14px}
.frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -40px #15202b55;background:var(--soft)}
.frame img,.frame video{width:100%;height:auto;display:block}
.frame figcaption{font-size:12px;color:var(--muted);padding:10px 16px;border-top:1px solid var(--line);background:#fff}
section{padding:72px 0;border-top:1px solid var(--line);scroll-margin-top:96px}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--wine);margin:0 0 12px;font-weight:600}
h2{font-size:clamp(28px,3.4vw,42px);line-height:1.1;letter-spacing:-.035em;font-weight:600;margin:0 0 16px}
h3{font-size:19px;letter-spacing:-.02em;margin:0 0 8px;font-weight:600}
p.sub{color:var(--muted);max-width:680px;margin:0 0 36px}
.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px;box-shadow:var(--lift);min-width:0}
.card p{margin:0;color:#3a434c;font-size:15px}
.card.media{padding:0;overflow:hidden}.card.media img{aspect-ratio:4/3;object-fit:cover;width:100%;border-bottom:1px solid var(--line)}.card.media div{padding:18px}
.ticks{list-style:none;padding:0;margin:0}.ticks li{padding:9px 0 9px 26px;border-bottom:1px solid var(--line);position:relative;font-size:15px}
.ticks li::before{content:'';position:absolute;left:4px;top:17px;width:9px;height:5px;border-left:1.5px solid var(--wine);border-bottom:1.5px solid var(--wine);transform:rotate(-45deg)}
.ticks.limits li::before{border:0;width:8px;height:1.5px;background:var(--muted);transform:none;top:21px}
/* precios */
.toggle{display:inline-flex;border:1px solid var(--line2);border-radius:12px;padding:4px;gap:4px;background:var(--soft);margin-bottom:28px}
.toggle button{border:0;background:transparent;padding:9px 18px;border-radius:9px;font:500 14px inherit;cursor:pointer;color:var(--muted)}
.toggle button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 3px #182a3d1f}
.price{font-size:44px;letter-spacing:-.04em;font-weight:600;line-height:1}.price small{font-size:15px;color:var(--muted);font-weight:400;letter-spacing:0}
.plan-card{border:1px solid var(--line2);border-radius:22px;padding:28px;box-shadow:var(--lift)}
.plan-card.featured{border-color:var(--wine);box-shadow:0 0 0 1px var(--wine),var(--lift)}
table.sched{width:100%;border-collapse:collapse;font-size:14px;margin-top:14px}table.sched th,table.sched td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}table.sched th{font-weight:500;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
table.sched td:last-child,table.sched th:last-child{text-align:right}table.sched td:nth-child(3),table.sched td:nth-child(4){white-space:nowrap}
.note{font-size:13px;color:var(--muted)}
details.faq{border-bottom:1px solid var(--line);padding:18px 0}details.faq summary{cursor:pointer;font-weight:500;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:20px}
details.faq summary::after{content:'+';color:var(--wine);font-size:22px;line-height:1}details.faq[open] summary::after{content:'–'}details.faq p{color:#3a434c;margin:12px 0 0;max-width:820px}
.badge{display:inline-block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line2);border-radius:999px;padding:3px 10px;color:var(--muted)}
.badge.wine{border-color:#76243b40;color:var(--wine);background:var(--wine-soft)}
footer{border-top:1px solid var(--line);padding:42px 0 60px;font-size:14px;color:var(--muted)}footer .cols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}footer a{text-decoration:none;margin-right:18px}
/* formularios */
form.panel{max-width:520px}label{display:block;font-size:13px;color:var(--muted);margin:14px 0 6px}
input,select,textarea{width:100%;min-height:46px;border:1px solid var(--line2);border-radius:12px;padding:10px 14px;font:inherit;background:#fff;color:var(--ink)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#3a434c;margin:12px 0}.check input{width:20px;min-height:20px;margin-top:2px}
.msg{min-height:24px;font-size:14px;margin:14px 0;color:var(--wine)}.msg.ok{color:#1f5130}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.legal-draft{border:1px dashed var(--wine);background:var(--wine-soft);border-radius:14px;padding:14px 18px;font-size:14px;margin:0 0 28px}
article.legal{max-width:820px}article.legal h2{font-size:24px;margin-top:36px}article.legal p,article.legal li{color:#2b333b}
@media(max-width:980px){.hero{grid-template-columns:1fr;padding-top:44px}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}nav.main{gap:14px;font-size:13px}}
@media(max-width:760px){nav.main{display:none}nav.main.open{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:70px;left:24px;right:24px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:var(--lift)}
.btn.menu-btn{display:inline-flex}.g2,.g3,.g4{grid-template-columns:1fr}.wrap{padding:0 16px}.site-header{padding:0 12px}.bar{padding:10px 14px}section{padding:52px 0}.hero h1{font-size:38px}.price{font-size:38px}.bar .btn.primary{display:none}}
