/* HORIZONTE VIVO — cream paper, forest green, rising sun; rounded, calm, family-sized */
.t-hv{--bg:#f7f1e1;--ink:#1d2f21;--mut:#4d6050;--acc:#1f4d2b;--on-acc:#f7f1e1;--green:#1f4d2b;--green2:#2f6b3f;--leaf:#7aa35a;--sun:#e0a030;--soft:#ece3c8;--line:rgba(31,77,43,.22);--card:#fffaf0;--hbg:rgba(247,241,225,.9);
 --f-display:'Fraunces',Georgia,serif;--f-body:'Nunito',system-ui,sans-serif;--f-label:'Nunito',system-ui,sans-serif;--rp:var(--sun);--tt-bg:#1f4d2b;--tt-ink:#f7f1e1;--tt-line:#1f4d2b;font-size:1.08rem}
.t-hv h1,.t-hv h2,.t-hv h3{font-weight:600;letter-spacing:-.01em;font-variation-settings:"SOFT" 100,"WONK" 1}
.t-hv .rp{background:linear-gradient(90deg,var(--green2),var(--sun))}
.t-hv .btn{border-radius:999px;font-weight:700;letter-spacing:.06em;text-transform:none;font-size:.98rem;padding:.85rem 1.6rem}
.t-hv .btn:hover{background:var(--sun);border-color:var(--sun);color:#1d2f21;box-shadow:0 .5rem 1.2rem rgba(224,160,48,.4)}
.t-hv .btn.ghost{color:var(--green);border-color:var(--green)}
.t-hv .eyebrow{color:var(--green2);letter-spacing:.14em;font-weight:800}
.hv-brand{font:700 1.25rem var(--f-display);color:var(--green);display:flex;align-items:center;gap:.5rem}.hv-brand::before{content:"";width:.95rem;height:.95rem;border-radius:50%;background:var(--sun);box-shadow:0 0 0 3px rgba(224,160,48,.3)}
.hv-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fbe9b8 0%,#f7f1e1 62%);border-bottom:1px solid var(--line)}
.hv-hero .pw{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;padding-block:clamp(2.5rem,7vw,5rem) clamp(7rem,16vw,12rem);position:relative;z-index:2}
.hv-hero .pw>*{min-width:0}
.hv-hero .kick{display:inline-block;font:800 .74rem var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--green2);background:rgba(255,255,255,.65);padding:.4rem .85rem;border-radius:99px;border:1px solid var(--line)}
.hv-hero h1{font-size:clamp(2.6rem,7vw,5.2rem);margin-top:1rem;color:var(--green);line-height:1}
.hv-hero h1 em{font-style:italic;color:var(--sun);-webkit-text-stroke:0}
.hv-hero .tag{margin-top:1.2rem;font-size:1.35rem;max-width:30ch;color:var(--ink);font-family:var(--f-display)}
.hv-hero .logo{width:min(26rem,100%);justify-self:center;filter:drop-shadow(0 .8rem 1.2rem rgba(31,77,43,.15))}
.hv-hero .logo img{width:100%;height:auto;display:block;animation:bob 7s ease-in-out infinite alternate}
@keyframes bob{from{transform:translateY(0)}to{transform:translateY(-8px)}}
.hv-sun{position:absolute;left:72%;bottom:4.5rem;width:min(26rem,60vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#f6c75a 0%,#e0a030 55%,rgba(224,160,48,0) 72%);transform:translate(-50%,28%);animation:rise 5s ease-out both;z-index:1;opacity:.55}
@keyframes rise{from{transform:translate(-50%,75%)}to{transform:translate(-50%,30%)}}
.hv-hills{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(6rem,14vw,10rem);z-index:3;display:block}
.hv-hills path:nth-child(1){fill:#7aa35a;opacity:.55}.hv-hills path:nth-child(2){fill:#2f6b3f;opacity:.85}.hv-hills path:nth-child(3){fill:#1f4d2b}
/* principles */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,3vw,2rem);margin-top:2rem}
.vs>div{min-width:0;border-radius:1.4rem;padding:clamp(1.3rem,3vw,2rem)}
.vs .no{background:var(--soft);color:var(--mut)}
.vs .yes{background:var(--green);color:var(--bg)}
.vs h3{font-size:1.3rem}
.vs ul{margin:1rem 0 0;padding:0;list-style:none;display:grid;gap:.5rem}
.vs li{padding-left:1.5rem;position:relative}
.vs .no li::before{content:"×";position:absolute;left:0;color:#a05a40;font-weight:800}
.vs .yes li::before{content:"✓";position:absolute;left:0;color:var(--sun);font-weight:800}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.9rem,2vw,1.4rem);margin-top:2rem}
.pr{background:var(--card);border:1px solid var(--line);border-radius:1.2rem;padding:1.3rem;min-width:0}
.pr b{display:block;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--sun);color:#1d2f21;display:grid;place-items:center;font:700 1rem var(--f-display)}
.pr h3{font-size:1.15rem;margin-top:.8rem;color:var(--green)}
.pr p{margin-top:.5rem;font-size:.97rem;color:var(--mut)}
/* three spaces */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,2.4vw,1.6rem);margin-top:2.25rem}
.sp{border-radius:1.6rem;padding:clamp(1.4rem,3vw,2rem);min-width:0;position:relative;overflow:hidden}
.sp:nth-child(1){background:#e8dcc0}.sp:nth-child(2){background:#dcebcd}.sp:nth-child(3){background:#f8dcb0}
.sp svg{width:3.6rem;height:3.6rem;display:block}
.sp h3{font-size:1.6rem;margin-top:.9rem;color:var(--green)}
.sp .who{font:800 .72rem var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--green2);margin-top:.2rem}
.sp p{margin-top:.8rem;color:#2e4331;font-size:1rem}
/* day */
.day{margin-top:2.25rem;display:grid;gap:0;position:relative;counter-reset:d;max-width:50rem}
.day::before{content:"";position:absolute;left:1.2rem;top:1rem;bottom:1rem;width:3px;border-radius:3px;background:linear-gradient(var(--sun),var(--leaf),var(--green))}
.dstep{position:relative;padding:0 0 1.6rem 4rem;counter-increment:d;min-width:0}
.dstep::before{content:counter(d);position:absolute;left:0;top:0;width:2.45rem;height:2.45rem;border-radius:50%;background:var(--sun);color:#1d2f21;display:grid;place-items:center;font:700 1.05rem var(--f-display);box-shadow:0 0 0 5px var(--bg)}
.dstep h3{font-size:1.25rem;color:var(--green)}.dstep p{margin-top:.3rem;color:var(--mut)}
.mirror{margin-top:1.5rem;max-width:44ch;font:italic 500 1.4rem/1.35 var(--f-display);color:var(--green);border-left:4px solid var(--sun);padding-left:1.2rem}
/* engine */
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,1.6vw,1.2rem);margin-top:2.25rem;align-items:end}
.stg{text-align:center;min-width:0}
.stg svg{width:100%;max-width:7rem;height:auto;display:block;margin:0 auto}
.stg b{display:block;margin-top:.6rem;font:600 1.15rem var(--f-display);color:var(--green)}
.stg span{font-size:.92rem;color:var(--mut);display:block;margin-top:.2rem}
.stg .base{height:5px;border-radius:5px;background:var(--leaf);margin-top:.6rem;opacity:.5}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.4rem}
.chips span{background:var(--soft);border-radius:99px;padding:.3rem .9rem;font-size:.92rem;color:var(--green)}
.note-card{margin-top:1.75rem;background:var(--card);border:1px solid var(--line);border-radius:1.2rem;padding:1.3rem 1.5rem;max-width:62ch}
.note-card b{color:var(--green)}
/* casa viva */
.casa{margin-top:2rem;border:2px dashed var(--green2);border-radius:1.6rem;padding:clamp(1.4rem,4vw,2.4rem);display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center;background:rgba(255,255,255,.4)}
.casa>*{min-width:0}
.casa .ic{width:5.5rem;height:5.5rem}
.casa .tg{display:inline-block;font:800 .7rem var(--f-label);letter-spacing:.14em;text-transform:uppercase;background:var(--sun);color:#1d2f21;padding:.25rem .7rem;border-radius:99px}
.casa h3{font-size:1.6rem;color:var(--green);margin-top:.6rem}
.casa p{margin-top:.6rem;color:var(--mut)}
/* team + join */
.help{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(.9rem,2.4vw,1.5rem);margin-top:2rem}
.hl{background:var(--card);border:1px solid var(--line);border-radius:1.2rem;padding:1.3rem 1.5rem;min-width:0}
.hl h3{font-size:1.15rem;color:var(--green)}.hl p{margin-top:.4rem;color:var(--mut);font-size:.98rem}
.t-hv .status3>div{background:var(--card);border-radius:1.2rem}
.t-hv .status3 li::before{background:var(--green2)}
.t-hv .pcard{border-radius:1.2rem}
.t-hv .pcard:hover{box-shadow:0 .9rem 2rem rgba(31,77,43,.18)}
@media (max-width:860px){.hv-hero .pw,.vs,.three,.help{grid-template-columns:1fr}.four,.stages{grid-template-columns:1fr 1fr}.casa{grid-template-columns:1fr}.hv-hero .logo{order:-1;width:min(16rem,70%)}}

.t-hv{--bg3d-a:#2f6b3f;--bg3d-b:#e0a030;--bg3d-alpha:.75}
