@font-face{font-family:Fraunces;src:url(assets/fonts/fraunces-latin.woff2) format("woff2");font-weight:300 900;font-display:optional}
@font-face{font-family:Fraunces;font-style:italic;src:url(assets/fonts/fraunces-italic-latin.woff2) format("woff2");font-weight:300 900;font-display:optional}
@font-face{font-family:Inter;src:url(assets/fonts/inter-latin.woff2) format("woff2");font-weight:300 800;font-display:optional}
@font-face{font-family:Caveat;src:url(assets/fonts/caveat.woff2) format("woff2");font-display:optional}
:root{--forest:#102820;--deep:#071713;--gold:#D6B46D;--gold-dark:#6b4f1d;--ivory:#F6F2E8;--rose:#DCA8A4;--rose-dark:#844540;--leaf:#577E63;--sage:#99A88D;--cream:#EDE6D6;--ink:#192820;--serif:Fraunces,Georgia,serif;--sans:Inter,system-ui,sans-serif;--hand:Caveat,"Segoe Print",cursive}
*{box-sizing:border-box;margin:0}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--deep);color:var(--ivory);font:400 1.05rem/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.02em}
em{font-style:italic;color:var(--gold)}
h1{font-size:clamp(2.8rem,8.4vw,7.4rem)}h2{font-size:clamp(2.15rem,5.2vw,4.6rem)}h3{font-size:1.85rem}
.eyebrow{font:600 .76rem/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.hand{font-family:var(--hand);font-size:1.6rem;line-height:1.2;color:var(--rose)}
.fine{font-size:.82rem;opacity:.92}
.trust-micro{font-size:.82rem;line-height:1.45;opacity:.92;margin-top:.65rem}
.noscript-banner{background:var(--forest);color:var(--ivory);padding:1rem clamp(1rem,4vw,3rem);border-bottom:2px solid var(--gold);font-size:.9rem;position:relative;z-index:200}
.noscript-banner a{color:var(--gold);font-weight:600}
.skip{position:absolute;left:-9999px;top:0;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.skip:focus{left:1rem;top:1rem;z-index:200;background:var(--gold);color:var(--deep);padding:.65rem 1.1rem;border-radius:99px;font-weight:600;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.45rem;border-radius:99px;background:var(--gold);color:var(--deep);font-weight:600;text-decoration:none;border:0;cursor:pointer;font:600 .94rem/1.2 var(--sans);will-change:transform}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-ghost{background:rgba(7,23,19,.6);color:var(--ivory);box-shadow:inset 0 0 0 1px rgba(246,242,232,.5)}
.btn-sm{min-height:44px;padding:.55rem 1.05rem;font-size:.84rem}
.proposal-tag{margin-top:1.3rem;font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ivory);opacity:.92;background:rgba(7,23,19,.76);padding:.3rem .65rem;border-radius:6px;display:inline-block}
/* Barra de progreso fina (P0-3) */
.progress-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:110;background:rgba(246,242,232,.14);pointer-events:none}
.progress-bar i{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;will-change:transform}
/* nav + rail */
.nav{position:fixed;inset:3px 0 auto;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:.65rem clamp(1rem,4vw,3rem);background:linear-gradient(rgba(7,23,19,.9),rgba(7,23,19,.4) 80%,transparent)}
.brand{display:inline-flex;gap:.6rem;align-items:center;min-height:44px;padding:.25rem .4rem;text-decoration:none;font-family:var(--serif);font-size:1.08rem}
.nav nav{display:flex;gap:1rem;font-size:.86rem;align-items:center}
.nav nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 .4rem;text-decoration:none;opacity:.9}
.nav nav a:hover{opacity:1;color:var(--gold)}
.nav-actions{display:flex;align-items:center;gap:.5rem}
.btn-chapters{background:rgba(16,40,32,.88);box-shadow:inset 0 0 0 1px rgba(214,180,109,.55)}
/* Sheet de capítulos (P0-3) */
.chapters-sheet{position:fixed;inset:0;z-index:140;display:grid;place-items:end center}
.chapters-sheet[hidden]{display:none}
.chapters-backdrop{position:fixed;inset:0;background:rgba(7,23,19,.78)}
.chapters-panel{position:relative;z-index:1;width:min(520px,100%);max-height:85svh;overflow-y:auto;background:var(--forest);color:var(--ivory);border-radius:24px 24px 0 0;border-top:1px solid rgba(214,180,109,.4);padding:1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px));box-shadow:0 -20px 50px rgba(0,0,0,.6)}
.chapters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px solid rgba(246,242,232,.14)}
.chapters-head h2{font-size:1.35rem;color:var(--gold)}
.chapters-close{min-width:44px;min-height:44px;border-radius:99px;border:1px solid rgba(246,242,232,.3);background:rgba(7,23,19,.5);color:var(--ivory);font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.chapters-list{list-style:none;padding:0;display:grid;gap:.35rem}
.chapter-link{display:flex;align-items:center;gap:.85rem;min-height:46px;padding:.55rem .85rem;border-radius:12px;text-decoration:none;color:var(--ivory);background:rgba(7,23,19,.35);border:1px solid transparent;transition:transform .2s,opacity .2s}
.chapter-link:hover,.chapter-link.is-active{border-color:var(--gold);background:rgba(214,180,109,.14)}
.ch-num{font:600 .8rem var(--serif);color:var(--gold);min-width:1.8rem}
.ch-name{font-size:.94rem;font-weight:500}
/* Rail lateral desktop */
.chapter-rail{position:fixed;left:clamp(1rem,3vw,2.4rem);bottom:2rem;z-index:40;display:flex;gap:.8rem;align-items:baseline;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;background:rgba(7,23,19,.76);padding:.35rem .75rem;border-radius:99px;border:1px solid rgba(214,180,109,.25)}
.rail-num{font:400 1.65rem var(--serif);color:var(--gold)}
/* Botón Saltar animación en cada pin (P0-3) */
.skip-pin{position:absolute;right:clamp(1rem,3vw,2.4rem);bottom:1.1rem;z-index:35;min-height:44px;padding:.5rem 1rem;border-radius:99px;border:1px solid rgba(214,180,109,.55);background:rgba(7,23,19,.88);color:var(--ivory);font:600 .8rem/1.2 var(--sans);letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}
.skip-pin:hover{background:var(--gold);color:var(--deep)}
.skip-pin-light{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
html:not(.motion) .skip-pin{display:none}
/* CTA sticky de contacto (P0-1) */
.sticky-cta{position:fixed;right:1.6rem;bottom:1.25rem;z-index:80;display:flex;align-items:center;gap:.55rem;padding:.45rem .55rem;border-radius:999px;background:rgba(7,23,19,.94);border:1px solid rgba(214,180,109,.45);box-shadow:0 16px 40px rgba(0,0,0,.5);visibility:hidden;opacity:0;pointer-events:none;transform:translate3d(0,20px,0);transition:opacity .3s ease,transform .3s ease,visibility .3s;will-change:transform,opacity}
.sticky-cta.is-on{visibility:visible;opacity:1;pointer-events:auto;transform:translate3d(0,0,0)}
.btn-sticky-main{min-height:48px;padding:.65rem 1.15rem;font-size:.86rem}
.btn-sticky-sec{min-height:48px;padding:.65rem 1rem;font-size:.84rem;background:rgba(16,40,32,.92)}
/* Enredadera y pétalos */
.vine{position:fixed;right:clamp(.4rem,1.6vw,1.4rem);top:0;height:100vh;width:28px;z-index:40;fill:none;stroke:var(--gold);stroke-width:1.6;opacity:.7;pointer-events:none}
.vine-leaves{position:fixed;right:clamp(.4rem,1.6vw,1.4rem);top:0;width:28px;height:100vh;z-index:40;pointer-events:none}
.vine-leaves i{position:absolute;left:8px;width:12px;height:7px;border-radius:0 100% 0 100%;background:var(--gold);transform:scale(0);opacity:.8}
.petals{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}
.petals i{position:absolute;top:0;left:0;width:10px;height:14px;border-radius:80% 0 80% 0;background:var(--rose);opacity:0;will-change:transform}
.petals i.dust{width:3px;height:3px;border-radius:50%;background:var(--gold)}
.cursor{position:fixed;left:0;top:0;z-index:95;pointer-events:none;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1px solid rgba(214,180,109,.7);opacity:0;transition:opacity .3s}
.cursor span{position:absolute;inset:14px;border-radius:50%;background:var(--gold)}
@media (hover:hover) and (pointer:fine){.cursor{opacity:1}}
/* generic */
section{position:relative}
.bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.46}
.bg-video.dim{opacity:.15}.roots .bg-video.dim{opacity:.18}
.quiz{position:relative;overflow:hidden}.quiz .hand-bg{opacity:.16}.quiz-inner{position:relative}
.mask{overflow:hidden}.mask>span{display:inline-block}
.line{display:inline-block;vertical-align:top;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.line>span{display:inline-block;will-change:transform}
.w{display:inline-block}
/* HERO (acortado P0-2 + velo reforzado P0-4) */
.hero-pin{position:relative;min-height:100svh;overflow:hidden;display:grid;align-items:center}
.motion .hero{height:165vh}.motion .hero-pin{position:sticky;top:0;height:100svh}
.hero-veil{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(7,23,19,.74),rgba(7,23,19,.95) 70%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:4vw;align-items:center;padding:5.2rem clamp(1.4rem,6vw,6rem) 2.5rem}
.hero-sub{max-width:34rem;font-size:1.12rem;opacity:.95;margin:1.2rem 0 1.6rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-portrait{position:relative;justify-self:center;width:min(28vw,360px);contain:layout style}
.arch{border-radius:999px 999px 24px 24px;overflow:hidden;box-shadow:0 0 0 1px rgba(214,180,109,.5),0 30px 60px rgba(0,0,0,.45)}
.arch img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transform-origin:50% 60%}
.hero-portrait figcaption{position:absolute;bottom:-2.4rem;left:0;right:0;text-align:center}
.sprout{position:absolute;width:62%;left:-34%;bottom:-6%;overflow:visible;fill:none}
.sprout .seed{fill:var(--gold)}.sprout .stem{stroke:var(--gold);stroke-width:3;stroke-linecap:round}
.sprout .leaf{fill:#5c8a68;stroke:var(--gold);stroke-width:1;transform-box:fill-box}
.sprout .l1{transform-origin:100% 100%}.sprout .l2{transform-origin:0 100%}.sprout .l3{transform-origin:100% 100%}
.sprout .bloom{fill:var(--rose);transform-box:fill-box;transform-origin:50% 50%}.sprout .bloom circle{fill:var(--gold)}
.scroll-cue{position:absolute;bottom:1.2rem;left:50%;transform:translateX(-50%);display:grid;justify-items:center;gap:.35rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.scroll-cue i{width:1px;height:36px;background:linear-gradient(var(--gold),transparent);animation:cue 2s ease-in-out infinite;transform-origin:top}
@keyframes cue{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
/* JOURNAL (acortado P0-2: 200vh desktop, 160vh móvil; sin JS se apilan las páginas) */
.journal{background:var(--forest)}
.journal-pin{position:relative;min-height:100svh;display:grid;place-items:center;padding:4.8rem 1.2rem 3.8rem;overflow:hidden}
.motion .journal{height:200vh}.motion .journal-pin{position:sticky;top:0;height:100svh}
.paper{position:relative;width:min(760px,100%);padding:clamp(1.6rem,4vw,3.4rem);background:var(--ivory);color:var(--ink);border-radius:6px;box-shadow:0 35px 70px rgba(0,0,0,.45);background-image:repeating-linear-gradient(transparent 0 35px,rgba(16,40,32,.08) 35px 36px);transform-origin:50% 100%}
.paper::before{content:"";position:absolute;left:3.2rem;top:0;bottom:0;width:1px;background:rgba(220,168,164,.7)}
.paper .date{color:var(--rose-dark);font-size:1.95rem;margin-bottom:.8rem}
.pages{display:grid;gap:1.5rem}
.motion .pages{gap:0}.motion .page{grid-area:1/1}.motion .page:not(:first-child){opacity:0}
.page .num{font-size:.76rem;font-weight:600;letter-spacing:.2em;color:#4a5d52}
.page h2{color:var(--forest);font-size:clamp(1.85rem,4.4vw,3.4rem);margin:.5rem 0 .8rem}
.page h2 em{color:var(--rose-dark)}
.page p{max-width:30rem;color:var(--ink)}
.strike{position:relative}.strike::after{content:"";position:absolute;left:-2%;right:-2%;top:55%;height:3px;background:#b9655e;transform:scaleX(var(--s,1));transform-origin:left}
.motion .strike::after{transform:scaleX(var(--s,0))}
.scribble{margin-top:1.1rem;fill:none;stroke:var(--gold-dark);stroke-width:3;stroke-linecap:round}
.paper .sign{color:var(--rose-dark);font-size:1.65rem}
/* ROOTS (acortado P0-2: 180vh desktop, 145vh móvil) */
.roots{background:linear-gradient(var(--forest),var(--deep) 55%,#0b1f19)}
.roots-pin{position:relative;min-height:100svh;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:4.8rem clamp(1.4rem,6vw,6rem) 3.5rem}
.motion .roots{height:180vh}.motion .roots-pin{position:sticky;top:0;height:100svh}
.roots-copy p:last-child{max-width:28rem;opacity:.94;margin-top:1.1rem}
.tree{width:100%;max-height:82svh;fill:none;stroke-linecap:round;overflow:visible}
.tree .ground{stroke:rgba(214,180,109,.35);stroke-dasharray:3 7}
.tree .trunk{stroke:var(--gold);stroke-width:6}.tree .branch{stroke:var(--gold);stroke-width:3.5}
.tree .root{stroke:#c49d5a;stroke-width:3;opacity:.85}.tree .root.thin{stroke-width:1.6}
.tleaf{transform:translate(var(--x),var(--y))}.tleaf path{fill:#5c8a68;stroke:var(--gold);transform-box:fill-box;transform-origin:0 100%}
.tflower{transform:translate(var(--x),var(--y))}.tflower circle{fill:var(--rose);transform-box:fill-box;transform-origin:center}.tflower .halo{fill:none;stroke:var(--rose);opacity:.5}
.root-tags{list-style:none;padding:0;position:absolute;inset:0;pointer-events:none}
.root-tags li{position:absolute;left:calc(50% + var(--x)/2);top:var(--y);font:italic 1.15rem var(--serif);color:var(--gold);padding:.3rem .8rem;border:1px solid rgba(214,180,109,.5);border-radius:99px;background:rgba(7,23,19,.88)}
.roots-key{position:absolute;left:clamp(1.4rem,6vw,6rem);bottom:2.8rem;max-width:24rem}
/* METHOD (acortado P0-2 + contraste AA P0-4; sin JS grid responsivo) */
.method{background:var(--ivory);color:var(--ink)}
.method-pin{position:relative;min-height:100svh;padding:5rem 0 3.2rem;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.motion .method{height:230vh}.motion .method-pin{position:sticky;top:0;height:100svh}
.method-head{padding:0 clamp(1.4rem,6vw,6rem) 1.8rem}.method-head h2{color:var(--forest)}.method .eyebrow{color:var(--gold-dark)}
.method em{color:var(--rose-dark)}
.method-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;padding:0 clamp(1.4rem,6vw,6rem);width:100%}
.motion .method-track{display:flex;gap:1.8rem;width:max-content;will-change:transform}
.mcard{width:100%;min-height:380px;padding:2rem;border-radius:180px 180px 22px 22px;background:#fff;box-shadow:0 0 0 1px rgba(16,40,32,.12),0 24px 48px rgba(16,40,32,.1);display:flex;flex-direction:column;gap:.7rem}
.motion .mcard{width:min(400px,78vw)}
.mnum{font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark);text-align:center}
.micon{width:72px;margin:.6rem auto;fill:none;stroke:var(--forest);stroke-width:2;stroke-linecap:round}.micon ellipse,.micon circle:not(.draw){fill:var(--rose);stroke:none}
.mcard h3{color:var(--forest)}.mcard .lead{font:italic 1.18rem var(--serif);color:var(--rose-dark)}
.method-progress{margin:1.8rem clamp(1.4rem,6vw,6rem) 0;height:2px;background:rgba(16,40,32,.15)}.method-progress i{display:block;height:100%;background:var(--forest);transform:scaleX(0);transform-origin:left}
/* QUIZ (P1-1: Pregunta X de 3, Atrás/Siguiente, radios >=44px, sugerencia DM) */
.quiz{background:radial-gradient(ellipse at 50% 0,#1a3a2e,var(--deep) 70%);padding:5rem clamp(1.2rem,6vw,6rem)}
.quiz-inner{max-width:820px;margin:auto;text-align:center}
.quiz-note{opacity:.92;max-width:34rem;margin:.8rem auto 1.6rem}
.quiz-card{position:relative;text-align:left;padding:clamp(1.25rem,3.5vw,2.4rem);border-radius:24px;background:rgba(7,23,19,.82);box-shadow:inset 0 0 0 1px rgba(214,180,109,.38);display:grid;gap:1rem}
.quiz-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:.65rem;border-bottom:1px solid rgba(246,242,232,.14)}
.quiz-step-text{font:600 .8rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.quiz-body{display:grid}
.q{grid-area:1/1;border:0;padding:0;display:grid;gap:.55rem;visibility:hidden;opacity:0;pointer-events:none}.q.is-on{visibility:visible;opacity:1;pointer-events:auto}
.q legend{font:400 clamp(1.28rem,2.6vw,1.8rem)/1.22 var(--serif);margin-bottom:.7rem}
.q label{display:flex;align-items:center;min-height:48px;cursor:pointer;position:relative}
.q input[type=radio]{position:absolute;left:0;top:50%;transform:translateY(-50%);width:46px;height:46px;min-width:46px;min-height:46px;margin:0;cursor:pointer;z-index:2;appearance:none;-webkit-appearance:none;background:transparent;display:grid;place-items:center}
.q input[type=radio]::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--gold);background:rgba(7,23,19,.7);box-shadow:inset 0 0 0 3px rgba(7,23,19,.85);transition:transform .2s,background .2s}
.q input[type=radio]:checked::before{background:var(--deep);border-color:var(--deep);box-shadow:inset 0 0 0 4px var(--gold)}
.q label span{display:flex;align-items:center;width:100%;min-height:48px;padding:.7rem 1rem .7rem 2.85rem;border-radius:14px;background:rgba(246,242,232,.05);box-shadow:inset 0 0 0 1px rgba(246,242,232,.25);transition:transform .25s,background .25s}
.q label:hover span{transform:translateX(4px);box-shadow:inset 0 0 0 1px var(--gold)}
.q input:checked+span{background:var(--gold);color:var(--deep);font-weight:600}.q input:focus-visible+span{outline:2px solid var(--gold)}
.quiz-controls{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding-top:.65rem;border-top:1px solid rgba(246,242,232,.14)}
.result{grid-area:1/1;text-align:center}.result[hidden]{display:none}
.rseed{width:92px;margin:0 auto .6rem;fill:none;overflow:visible}.rseed path.draw{stroke:var(--gold);stroke-width:3}.rseed .rl{fill:#5c8a68;transform-box:fill-box;transform-origin:50% 100%}.rseed circle{fill:var(--rose)}
.r-text{opacity:.94;max-width:32rem;margin:.6rem auto 1rem}
.dm-suggest{max-width:34rem;margin:0 auto 1.2rem;padding:.9rem 1.1rem;border-radius:14px;background:rgba(16,40,32,.9);border:1px solid rgba(214,180,109,.45);text-align:left}
.dm-suggest-label{display:block;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.dm-suggest-text{font-size:.92rem;color:var(--ivory);line-height:1.45}
.result .hero-ctas{justify-content:center}
.copy-status{min-height:1.3rem;margin-top:.5rem;color:var(--gold)}
.quiz-dots{display:flex;gap:.5rem;align-items:center}.quiz-dots i{width:8px;height:8px;border-radius:50%;background:rgba(246,242,232,.25);transition:transform .4s cubic-bezier(.34,1.56,.64,1),background .3s}.quiz-dots i.on{background:var(--gold);transform:scale(1.4)}
/* SIM */
.sim{background:var(--forest);padding:5rem clamp(1.2rem,6vw,6rem)}
.sim-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.sim-inner p{margin-top:1rem;opacity:.92}
.sim-card{padding:2rem;border-radius:24px;background:var(--ivory);color:var(--ink);display:grid;gap:1rem}
.sim-card .fine{color:#2c3e35;opacity:.95}
.total{font:400 clamp(2.2rem,4.6vw,3.4rem) var(--serif);color:var(--forest)}
.jar{height:12px;border-radius:99px;background:rgba(16,40,32,.12);overflow:hidden}.jar .fill{display:block;height:100%;background:linear-gradient(90deg,#5c8a68,var(--gold));transform-origin:left;transform:scaleX(.05);transition:transform .7s cubic-bezier(.34,1.56,.64,1)}
.sim-card label{display:grid;gap:.35rem;font-size:.92rem;color:var(--ink);min-height:48px}.sim-card b{font:400 1.25rem var(--serif);color:var(--forest)}
input[type=range]{accent-color:var(--forest);width:100%;min-height:44px;height:44px;cursor:pointer}
/* BRUNCH (P0-2 + P1-2 + P2-4) */
.brunch-pin{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;padding:4.8rem 1rem 3.5rem}
.motion .brunch{height:190vh}.motion .brunch-pin{position:sticky;top:0;height:100svh}
.brunch-veil{position:absolute;inset:0;background:rgba(7,23,19,.74)}
.envelope{position:relative;width:min(640px,94vw);perspective:1400px}
.env-back,.env-front,.env-flap{position:absolute;left:0;right:0;pointer-events:none}
.env-back{inset:30% 0 0;background:#c9a55d;border-radius:8px}
.env-front{inset:58% 0 0;background:linear-gradient(160deg,#e6c57e,#c39b4f);border-radius:0 0 8px 8px;clip-path:polygon(0 0,50% 45%,100% 0,100% 100%,0 100%);z-index:3}
.env-flap{top:30%;height:40%;background:#d9b46b;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:4}
.wax{position:absolute;left:50%;top:58%;width:64px;height:64px;margin:-32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#e8b9b4,#a8625c);display:grid;place-items:center;font:italic 1.8rem var(--serif);color:#fff;z-index:5;box-shadow:0 6px 14px rgba(0,0,0,.35)}
html:not(.motion) .env-back,html:not(.motion) .env-front,html:not(.motion) .env-flap,html:not(.motion) .wax{display:none}
.invite{position:relative;z-index:2;background:var(--ivory);color:var(--ink);border-radius:10px;padding:clamp(1.35rem,3.5vw,2.5rem);box-shadow:0 24px 60px rgba(0,0,0,.45);background-image:radial-gradient(circle at 100% 0,rgba(220,168,164,.3),transparent 40%)}
.invite h2{color:var(--forest);font-size:clamp(1.85rem,4.4vw,3.2rem)}.invite .eyebrow{color:var(--gold-dark)}
.brunch-expired{margin:.6rem 0;padding:.55rem .9rem;border-radius:8px;background:var(--forest);color:var(--gold);font-weight:600;font-size:.9rem;display:inline-block}
.brunch-expired[hidden]{display:none}
.when{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0;border-block:1px solid rgba(16,40,32,.18);padding:.75rem 0}
.when b{display:block;font:400 2rem var(--serif);color:var(--forest)}.when span{font-size:.76rem;color:#2c3e35;opacity:.95}
.invite .hand{color:var(--rose-dark);margin-bottom:.75rem}
.agenda{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.35rem 1rem;margin-bottom:1.1rem;font-size:.92rem;color:var(--ink)}.agenda li::before{content:"✿ ";color:var(--gold-dark)}
.invite .trust-micro{color:#2c3e35;opacity:.95}
.invite .fine{margin-top:.55rem;color:#2c3e35;opacity:.92}
.brunch-tag{position:absolute;bottom:1rem;left:clamp(1rem,3vw,2.4rem);margin-top:0}
/* LEYLA + ASESORÍAS (P0-4 + P2-1) */
.leyla{background:var(--ivory);color:var(--ink);padding:5rem clamp(1.2rem,6vw,6rem)}
.leyla-inner{max-width:1150px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:center}
.leyla-photo .frame{border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(16,40,32,.22)}
.leyla-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.leyla-photo figcaption{text-align:center;margin-top:.8rem;color:var(--rose-dark)}
.leyla h2{color:var(--forest)}.leyla .eyebrow{color:var(--gold-dark)}.leyla em{color:var(--rose-dark)}
.leyla .big{font:400 1.45rem/1.35 var(--serif);margin:1.1rem 0;color:var(--ink)}
.ways{display:grid;gap:.75rem;margin-top:1.5rem}
.way{display:grid;grid-template-columns:2.8rem 1fr;gap:.2rem .9rem;min-height:48px;padding:1rem 1.15rem;border-radius:16px;text-decoration:none;color:var(--ink);background:rgba(255,255,255,.65);box-shadow:inset 0 0 0 1px rgba(16,40,32,.18);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.way:hover{transform:translateX(6px);box-shadow:inset 0 0 0 1px var(--gold-dark)}
.way span{grid-row:span 2;font:italic 1.5rem var(--serif);color:var(--gold-dark)}.way b{font:600 1.2rem var(--serif);color:var(--forest)}.way small{color:#2c3e35;opacity:.92;font-size:.88rem}
.asesorias-card{max-width:1150px;margin:2.8rem auto 0;padding:clamp(1.4rem,3.5vw,2.6rem);border-radius:24px;background:var(--forest);color:var(--ivory);display:grid;grid-template-columns:1.35fr .65fr;gap:2rem;align-items:center;box-shadow:0 24px 50px rgba(16,40,32,.18)}
.asesorias-card .eyebrow{color:var(--gold);margin-bottom:.6rem}
.asesorias-card h3{color:var(--ivory);font-size:clamp(1.75rem,3.6vw,2.6rem);margin-bottom:.8rem}
.asesorias-card h3 em{color:var(--gold)}
.asesorias-card p{color:var(--ivory);opacity:.94}
.asesorias-list{list-style:none;padding:0;margin-top:1rem;display:grid;gap:.45rem;font-size:.94rem}
.asesorias-list li::before{content:"✦ ";color:var(--gold)}
.asesorias-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;background:rgba(7,23,19,.45);padding:1.4rem;border-radius:18px;border:1px solid rgba(214,180,109,.3)}
/* FINALE (acortado P0-2 + velo reforzado P0-4) */
.finale-pin{position:relative;min-height:100svh;overflow:hidden;display:grid;place-items:center;text-align:center;padding:5rem 1.4rem}
.motion .finale{height:145vh}.motion .finale-pin{position:sticky;top:0;height:100svh}
.finale-veil{position:absolute;inset:0;background:radial-gradient(circle,rgba(7,23,19,.68),rgba(7,23,19,.92))}
.finale-copy{position:relative;max-width:860px}.finale-copy p:not(.eyebrow):not(.trust-micro){margin:1.2rem auto 1.8rem;max-width:32rem;opacity:.94}
.finale-copy .trust-micro{max-width:30rem;margin:.9rem auto 0}
.faq{max-width:820px;margin:auto;padding:4rem 1.4rem}.faq h2{margin-bottom:1.4rem}
details{border-bottom:1px solid rgba(246,242,232,.18);padding:.6rem 0}
summary{cursor:pointer;font:400 1.18rem/1.35 var(--serif);list-style:none;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.4rem 0}
summary::after{content:"+";color:var(--gold);font-size:1.4rem;transition:transform .3s;flex-shrink:0}
details[open] summary::after{transform:rotate(45deg)}
details p{margin:.4rem 0 .6rem;opacity:.92}
.foot{padding:2.5rem clamp(1.2rem,6vw,6rem) 5.5rem;border-top:1px solid rgba(246,242,232,.14);font-size:.84rem;opacity:.92;display:grid;gap:.55rem}
.foot a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold)}
/* RESPONSIVE (P0-2: total móvil <= 1400vh y brunch <= pantalla 9) */
@media (max-width:900px){
 .chapter-rail{display:none}.hero-portrait figcaption{display:none}
 .nav nav{display:none}
 .motion .hero{height:130vh}
 .motion .journal{height:155vh}
 .motion .roots{height:140vh}
 .motion .method{height:165vh}
 .motion .brunch{height:165vh}
 .motion .finale{height:125vh}
 .hero-grid{grid-template-columns:1fr;padding:4.5rem 1.2rem 1.8rem;gap:1rem}
 .hero-portrait{width:min(40vw,165px);grid-row:1;justify-self:end;margin-right:4vw}
 .hero-sub{font-size:.98rem;margin:.65rem 0 1rem}
 .proposal-tag{margin-top:.8rem;font-size:.64rem}
 .journal-pin{padding:4rem 1rem 3.2rem}
 .paper{padding:1.25rem 1.1rem 1.25rem 2.1rem}
 .paper::before{left:1.4rem}
 .roots-pin{grid-template-columns:1fr;align-content:start;padding:4.2rem 1.2rem 2.4rem}.tree{max-height:48svh}
 .root-tags li{left:var(--x);top:calc(var(--y) + 2%);font-size:.88rem}.roots-key{display:none}
 .method-pin{padding:4rem 0 2.6rem}
 .mcard{min-height:320px;padding:1.4rem}
 .quiz{padding:2.4rem 1.1rem}
 .quiz-note{margin:.5rem auto 1rem;font-size:.9rem}
 .quiz-card{padding:1.1rem;gap:.75rem}
 .q legend{font-size:1.18rem;margin-bottom:.4rem}
 .q{gap:.4rem}
 .q label span{padding:.55rem .85rem .55rem 2.75rem;font-size:.9rem}
 .sim{padding:2.4rem 1.1rem}
 .sim-inner,.leyla-inner,.asesorias-card{grid-template-columns:1fr;gap:1.3rem}
 .sim-inner p{margin-top:.55rem;font-size:.92rem}
 .sim-card{padding:1.25rem;gap:.65rem}
 .total{font-size:1.95rem}
 .leyla{padding:2.8rem 1.1rem}
 .leyla-photo{max-width:200px;margin:0 auto}
 .asesorias-card{margin-top:1.8rem;padding:1.35rem}
 .asesorias-cta{padding:1rem;width:100%}
 .agenda{grid-template-columns:1fr}.when b{font-size:1.6rem}.brunch-tag{display:none}
 .faq{padding:2.2rem 1.1rem}
 .foot{padding:1.8rem 1.1rem calc(5.8rem + env(safe-area-inset-bottom,0px))}
 .sticky-cta{left:0;right:0;bottom:0;border-radius:18px 18px 0 0;border-inline:0;border-bottom:0;padding:.55rem .8rem calc(.55rem + env(safe-area-inset-bottom,0px));justify-content:space-between}
 .btn-sticky-main{flex:1;font-size:.82rem;padding:.6rem .75rem}
 .btn-sticky-sec{font-size:.78rem;padding:.6rem .75rem}
 .skip-pin{right:1rem;bottom:4.6rem;font-size:.75rem;padding:.45rem .85rem}
}
@media (max-width:900px) and (max-height:760px){.hero-portrait{width:135px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.petals,.cursor,.skip-pin{display:none}}

/* enterprise footer */
.foot-ent{display:block;padding:clamp(3rem,7vw,5.5rem) clamp(1.2rem,6vw,6rem) 5.5rem;background:linear-gradient(180deg,var(--forest),var(--deep));opacity:1}
.foot-top{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:clamp(1.5rem,4vw,3.5rem);padding-bottom:2.5rem;border-bottom:1px solid rgba(246,242,232,.14)}
.foot-logo{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.2rem);color:var(--ivory);margin:0 0 .6rem}
.foot-tag{color:var(--cream);opacity:.8;max-width:34ch;line-height:1.55;margin:0 0 1.2rem}
.foot-col{display:flex;flex-direction:column;gap:.15rem}
.foot-h{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 .5rem}
.foot-ent .foot-col a{color:var(--ivory);opacity:.78;min-height:40px;text-decoration:none;transition:opacity .25s,transform .25s}
.foot-ent .foot-col a:hover{opacity:1;transform:translateX(3px)}
.foot-ent .foot-cta{color:var(--deep)}
.foot-legal{padding-top:1.6rem;display:grid;gap:1rem;font-size:.8rem;color:var(--cream);opacity:.7}
.foot-legal p{max-width:90ch;margin:0}
.foot-bottom{display:flex;flex-wrap:wrap;gap:.6rem 2rem;align-items:center}
.foot-bottom a{margin-left:auto;color:var(--gold)}
@media (max-width:900px){.foot-top{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
@media (max-width:520px){.foot-ent{padding-bottom:calc(5.8rem + env(safe-area-inset-bottom,0px))}.foot-top{grid-template-columns:1fr}.foot-bottom a{margin-left:0}}

/* perf-lite: equipos lentos */
.perf-lite .bg-video{filter:none}
.perf-lite .paper,.perf-lite .invite,.perf-lite .mcard,.perf-lite .leyla-photo .frame,.perf-lite .arch,.perf-lite .asesorias-card,.perf-lite .sticky-cta{box-shadow:0 0 0 1px rgba(214,180,109,.3)}
@media (max-width:899px){.paper,.invite,.leyla-photo .frame{box-shadow:0 14px 28px rgba(0,0,0,.35)}}
