:root{color-scheme:dark;--ink:#eff7f2;--muted:#b4c5c3;--bg:#102229;--deep:#0b171e;--panel:#193139;--line:rgba(206,244,226,.17);--mint:#bdf5d4;--coral:#ffae9e;--lavender:#d9caff;--radius:26px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 85% 8%,rgba(135,180,165,.18),transparent 40%),linear-gradient(160deg,#102229,#0b171e 72%);line-height:1.58}a{color:inherit}button,input,textarea{font:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;top:-80px;left:12px;padding:8px 14px;background:var(--mint);color:#102229;z-index:20}.skip:focus{top:12px}.topbar{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:12px;font-size:1.18rem;font-weight:700;letter-spacing:-.05em;line-height:1}.brand span:last-child{display:block}.brand-accent{color:var(--mint)}.brand small{display:block;color:var(--muted);font-size:.59rem;letter-spacing:.11em;text-transform:uppercase;margin-top:8px}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(189,245,212,.45);border-radius:18px;color:var(--mint);font-size:1.55rem;background:radial-gradient(circle at 30% 25%,rgba(189,245,212,.2),transparent 70%)}.topbar nav,.footer nav{display:flex;align-items:center;gap:25px}.topbar nav a,.footer a{text-decoration:none;color:var(--muted);font-size:.91rem}.topbar nav a:hover,.footer a:hover,.text-link:hover{color:var(--mint)}.hero{min-height:620px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);gap:36px;align-items:center;padding-block:70px 95px}.eyebrow{color:var(--mint);font-size:.72rem;font-weight:800;letter-spacing:.18em;margin:0 0 19px}.hero h1,h1,h2,h3,p{margin-top:0}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.048em;font-size:clamp(2.9rem,6vw,5.7rem);line-height:1.04;max-width:850px;margin-bottom:28px}.hero h1 em{font-weight:400;color:var(--mint)}.lead{color:#d1e0db;font-size:clamp(1rem,1.4vw,1.22rem);max-width:610px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-block:36px 20px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:14px 22px;border:1px solid transparent;border-radius:999px;text-decoration:none;font-weight:750;font-size:.95rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button:focus-visible,.text-link:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--lavender);outline-offset:3px}.primary{background:var(--mint);color:#112129}.primary:hover{box-shadow:0 12px 34px rgba(132,240,175,.2)}.secondary{background:var(--coral);color:#231b23}.outline{border-color:rgba(189,245,212,.48);background:transparent;color:var(--ink)}.text-link{font-weight:750;text-decoration:none;border-bottom:1px solid rgba(189,245,212,.6);padding-bottom:4px}.text-link span{margin-left:9px}.hero-note,.fineprint{color:var(--muted);font-size:.82rem}.hero-art{min-height:470px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-art:before{content:"";position:absolute;width:80%;aspect-ratio:1;background:radial-gradient(circle,rgba(189,245,212,.16),transparent 64%);filter:blur(2px)}.orbit{position:absolute;display:block;border:1px solid rgba(189,245,212,.42);border-radius:50%;width:min(100%,420px);aspect-ratio:1;transform:rotate(-22deg) scaleY(.65);box-shadow:0 0 58px rgba(189,245,212,.08),inset 0 0 30px rgba(189,245,212,.07)}.orbit-two{width:min(78%,320px);border-color:rgba(255,174,158,.65);transform:rotate(29deg) scaleY(.82);animation:orbit-breathe 7s ease-in-out infinite}.pulse-core{font-family:Georgia,serif;font-size:clamp(5rem,12vw,10rem);font-weight:700;letter-spacing:-.18em;text-shadow:0 0 50px rgba(189,245,212,.35);z-index:1}.pulse-core span{display:inline-block;font-family:system-ui;font-size:.35em;color:var(--coral);letter-spacing:0;transform:translateY(-.35em)}.spark{position:absolute;color:var(--mint);font-size:2rem;animation:spark 4s ease-in-out infinite}.spark-a{top:17%;left:18%}.spark-b{right:13%;top:31%;color:var(--coral);animation-delay:1s}.spark-c{left:30%;bottom:15%;color:var(--lavender);animation-delay:2s}.intro,.booking{padding-block:90px 110px}.intro h2,.booking h2,.materials h2,.reflection h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;font-size:clamp(2.2rem,4.1vw,4rem);line-height:1.12}.intro h2{max-width:650px}.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}.steps article,.booking-card{border:1px solid var(--line);background:linear-gradient(160deg,rgba(224,255,238,.08),rgba(224,255,238,.025));border-radius:var(--radius);padding:31px}.steps article>span{color:var(--mint);font-weight:850;font-size:.8rem}.steps h3{font-size:1.2rem;margin:25px 0 8px}.steps p,.booking-card p,.section-lead,.materials p{color:var(--muted)}.reflection{background:#d0eedc;color:#102229;position:relative;overflow:hidden}.reflection:before{content:"✳";position:absolute;right:-40px;bottom:-120px;color:rgba(33,96,87,.08);font-size:29rem;line-height:1}.reflection-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;padding-block:90px}.reflection .eyebrow{color:#316b60}.reflection h2{margin-bottom:0;max-width:710px}.reflection p:not(.eyebrow){font-size:1.12rem;max-width:370px}.reflection .text-link{border-color:#386c61}.booking h2{margin-bottom:15px}.section-lead{max-width:710px}.booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:36px}.booking-card{min-height:350px;display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(150deg,rgba(189,245,212,.12),rgba(23,49,56,.2))}.booking-card.in-person{background:linear-gradient(150deg,rgba(255,174,158,.13),rgba(23,49,56,.2))}.card-icon{display:grid;place-items:center;width:55px;height:55px;border-radius:18px;background:rgba(189,245,212,.17);font-size:1.65rem;color:var(--mint)}.in-person .card-icon{background:rgba(255,174,158,.18);color:var(--coral)}.booking-card h3{font-family:Georgia,serif;font-size:2.05rem;font-weight:400;margin:26px 0 7px}.booking-card p{max-width:370px}.booking-card .button{margin-top:auto}.privacy-inline{margin:26px 0 0;color:var(--muted);font-size:.88rem}.privacy-inline a{color:var(--mint)}.materials{border-top:1px solid var(--line);padding-block:75px;display:flex;align-items:center;justify-content:space-between;gap:45px}.materials>div{max-width:650px}.materials h2{margin-bottom:15px}.materials .button{white-space:nowrap}.notice{display:flex;gap:20px;align-items:start;border:1px solid rgba(255,174,158,.28);background:rgba(255,174,158,.06);padding:22px 28px;border-radius:18px}.notice span{color:var(--coral);font-size:1.4rem;line-height:1.1}.notice p{margin:0;color:#e5cfca;font-size:.88rem}.footer{display:flex;justify-content:space-between;gap:24px;padding-block:50px 65px}.footer p{margin:0;color:var(--muted);font-size:.85rem}.form-wrap{padding-block:68px 90px;max-width:860px}.form-head h1,.policy h1{font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.1;font-weight:400;letter-spacing:-.04em}.form-head>p:not(.eyebrow),.policy>p{color:var(--muted);font-size:1.05rem}.warning{border-left:3px solid var(--coral);padding:14px 18px;background:rgba(255,174,158,.08);margin-block:30px;color:#f0d9d3}.ficha-page fieldset{border:1px solid var(--line);border-radius:20px;padding:28px;margin:0 0 20px;background:rgba(255,255,255,.035)}.ficha-page legend{font-family:Georgia,serif;font-size:1.5rem;padding-inline:6px}.ficha-page label{display:block;font-weight:650;margin:18px 0 7px}.ficha-page input,.ficha-page textarea{display:block;width:100%;padding:13px 15px;border:1px solid rgba(189,245,212,.25);border-radius:12px;background:#102129;color:var(--ink);resize:vertical}.ficha-page input::placeholder,.ficha-page textarea::placeholder{color:#91a7a7}.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-block:24px}.policy{max-width:850px;padding-block:66px 100px}.policy h2{font-family:Georgia,serif;font-weight:400;font-size:1.7rem;margin:38px 0 10px}.policy p,.policy li{color:var(--muted)}.policy a{color:var(--mint)}.policy ul{padding-left:22px}@keyframes orbit-breathe{50%{transform:rotate(29deg) scaleY(.82) scale(1.06);opacity:.6}}@keyframes spark{50%{transform:translateY(-10px);opacity:.55}}@media(max-width:850px){.topbar nav{gap:15px}.topbar nav a{font-size:.8rem}.hero{grid-template-columns:1fr;min-height:0;padding-block:72px 45px}.hero-art{min-height:280px;max-width:420px;width:100%;justify-self:center}.reflection-grid{grid-template-columns:1fr;gap:24px}.steps{grid-template-columns:1fr}.materials{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.wrap{width:min(100% - 32px,1160px)}.topbar{min-height:80px;align-items:flex-start;padding-top:17px;flex-direction:column;gap:15px;padding-bottom:15px}.topbar nav{width:100%;overflow-x:auto;white-space:nowrap;padding-bottom:4px}.hero{padding-top:55px}.hero h1{font-size:clamp(2.7rem,12vw,4.2rem)}.hero-art{min-height:230px}.pulse-core{font-size:7rem}.intro,.booking{padding-block:70px}.booking-grid{grid-template-columns:1fr}.booking-card{min-height:310px}.reflection-grid{padding-block:72px}.footer{flex-direction:column}.footer nav{flex-wrap:wrap}.materials .button{white-space:normal}.form-wrap{padding-block:45px}.ficha-page fieldset{padding:19px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit-two,.spark{animation:none}.button{transition:none}.button:hover{transform:none}}@media print{*{color:#111!important;background:#fff!important;box-shadow:none!important;text-shadow:none!important}.topbar,.footer,.form-actions,.warning,.fineprint,.skip{display:none!important}.form-wrap{padding:0;width:100%;max-width:none}.form-head h1{font-size:24pt}.form-head>p:not(.eyebrow){font-size:10pt}.ficha-page fieldset{break-inside:avoid;border:1px solid #777}.ficha-page input,.ficha-page textarea{border:1px solid #999;min-height:2em}.ficha-page textarea{min-height:7em}}
.hero-art{overflow:clip}
.journey-entry{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-block:20px}.journey-entry>span{color:var(--mint);font-size:2rem}.journey-entry p{margin:3px 0 0;color:var(--muted);font-size:.85rem}.journey-entry a{margin-left:auto;font-size:.85rem;white-space:normal}@media(max-width:620px){.journey-entry{flex-wrap:wrap;gap:12px}.journey-entry a{margin-left:0;width:100%}}

/* Retrato personal con geometría lumínica de Crisis Creativa. */
.hero-art{min-width:0;min-height:500px;overflow:visible;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px}
.hero-art:before{width:95%;height:80%;aspect-ratio:auto;background:linear-gradient(130deg,rgba(168,67,255,.24),rgba(43,217,252,.17) 48%,rgba(200,255,75,.12));filter:blur(55px);border-radius:32px;z-index:-1}
.portrait-frame{position:relative;width:min(100%,420px);aspect-ratio:1;border:1px solid rgba(176,245,248,.7);border-radius:18px;overflow:hidden;isolation:isolate;background:#12212b;box-shadow:0 0 0 8px rgba(13,28,38,.75),0 0 0 9px rgba(148,77,240,.35),-24px 23px 90px rgba(107,43,235,.27),22px -23px 85px rgba(42,213,228,.2);animation:portrait-frame-glow 7s ease-in-out infinite}
.portrait-frame:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(130deg,rgba(10,20,29,.02) 45%,rgba(78,26,123,.13)),linear-gradient(0deg,rgba(5,14,20,.43),transparent 28%)}
.portrait-frame:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#102229 0%,rgba(16,34,41,.94) 6%,rgba(16,34,41,.7) 13%,transparent 25%)}
.portrait-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:56% 41%;transform:scale(1.45);filter:saturate(.85) contrast(1.04);animation:portrait-drift 9s ease-in-out infinite;will-change:transform}
.portrait-grid{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.44;background-image:linear-gradient(rgba(175,235,248,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(175,235,248,.13) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(130deg,#000,transparent 57%)}
.portrait-corner{position:absolute;z-index:3;width:66px;height:66px;pointer-events:none;filter:drop-shadow(0 0 12px rgba(174,238,252,.85))}
.corner-a{top:14px;left:14px;border-top:3px solid #b8f6ff;border-left:3px solid #b8f6ff}
.corner-b{right:14px;bottom:14px;border-right:3px solid #d6ff5f;border-bottom:3px solid #d6ff5f}
.portrait-signal{position:absolute;top:13px;right:18px;z-index:3;color:#d6ff5f;font-size:2rem;text-shadow:0 0 18px #bafd38;animation:signal-pulse 4s ease-in-out infinite}
.portrait-label{display:flex;justify-content:space-between;align-items:center;gap:12px;width:min(100%,420px);padding:12px 14px;border:1px solid rgba(174,238,252,.33);border-radius:8px;background:rgba(20,42,51,.84);box-shadow:inset 3px 0 #d6ff5f;animation:portrait-label-light 7s ease-in-out infinite}
.portrait-label span{color:#ebf6f6;font-weight:800;font-size:.76rem;letter-spacing:.12em;white-space:nowrap}
.portrait-label small{color:#a9c3cc;font-size:.68rem;line-height:1.3;text-align:right}
.about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,7vw,100px);padding-block:86px 100px;border-top:1px solid var(--line)}
.about h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em;font-size:clamp(2.35rem,4vw,4rem);line-height:1.12;max-width:500px}
.about-copy{max-width:650px}.about-copy p{color:#c2d5d3;font-size:1.06rem}.about-credentials{padding:15px 18px;margin:25px 0;border-left:3px solid #d6ff5f;background:rgba(199,255,108,.06);color:#d8ebde!important;font-weight:750;font-size:.88rem!important}
@keyframes signal-pulse{50%{opacity:.5;filter:drop-shadow(0 0 17px #d6ff5f)}}
@keyframes portrait-frame-glow{50%{border-color:rgba(213,255,98,.82);box-shadow:0 0 0 8px rgba(13,28,38,.75),0 0 0 9px rgba(213,255,98,.54),-17px 18px 76px rgba(107,43,235,.42),18px -17px 80px rgba(42,213,228,.34)}}
@keyframes portrait-drift{50%{transform:scale(1.49) translate3d(-.6%,-.6%,0)}}
@keyframes portrait-label-light{50%{border-color:rgba(213,255,98,.5);box-shadow:inset 3px 0 #b8f6ff,0 0 24px rgba(42,213,228,.11)}}
@media(max-width:850px){.hero-art{min-height:0;width:100%;max-width:480px;margin-block:14px 15px}.about{grid-template-columns:1fr;gap:18px;padding-block:72px}.about h2{max-width:680px}}
@media(max-width:620px){.topbar nav{white-space:normal;overflow-x:visible;flex-wrap:wrap;column-gap:17px;row-gap:8px}.hero{gap:10px}.hero-art{max-width:350px}.portrait-label{align-items:flex-start;flex-direction:column;gap:4px}.portrait-label small{text-align:left}.about{padding-block:65px}.about-copy p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){.portrait-signal,.portrait-frame,.portrait-frame img,.portrait-label{animation:none}.portrait-frame img{will-change:auto}}

/* Vivir Creativo: retrato de cuerpo completo y narrativa editorial. */
body{background:radial-gradient(ellipse at 85% 4%,rgba(134,85,212,.18),transparent 30%),radial-gradient(ellipse at 8% 28%,rgba(62,168,158,.12),transparent 35%),linear-gradient(155deg,#102229,#0b171e 73%)}
.topbar{position:relative;z-index:5}
.brand-mark{border-radius:12px;box-shadow:0 0 25px rgba(189,245,212,.12);animation:brand-glow 6s ease-in-out infinite}
.hero{position:relative;grid-template-columns:minmax(0,1.05fr) minmax(310px,.75fr);gap:clamp(36px,6vw,85px);padding-block:68px 76px;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.17;background-image:linear-gradient(rgba(185,236,224,.17) 1px,transparent 1px),linear-gradient(90deg,rgba(185,236,224,.17) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(90deg,transparent,#000 54%,transparent)}
.hero-copy{position:relative;z-index:2;animation:content-rise .8s both}
.hero-eyebrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:25px}
.eyebrow-pulse{display:inline-block;width:7px;height:7px;background:#d6ff5f;box-shadow:0 0 16px #d6ff5f;transform:rotate(45deg);animation:signal-pulse 3s ease-in-out infinite}
.eyebrow-divider{opacity:.5}
.hero h1{font-size:clamp(3.25rem,5.65vw,5.7rem);line-height:1.01;max-width:760px;margin-bottom:30px}
.headline-line{display:block}
.hero h1 em{width:max-content;max-width:100%;font-style:italic;background:linear-gradient(90deg,#d7ffd1,#b8f6ff 55%,#d8c5ff);background-size:180% 100%;color:transparent;background-clip:text;animation:headline-light 8s ease-in-out infinite}
.headline-end span{position:relative;white-space:nowrap}
.headline-end span:after{content:"";position:absolute;left:1%;right:0;bottom:-.045em;height:.065em;background:#d6ff5f;box-shadow:0 0 15px rgba(214,255,95,.55);transform-origin:left;animation:line-grow 1.25s .5s both}
.lead{max-width:590px;border-left:2px solid rgba(184,246,255,.56);padding-left:20px;font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.7}
.hero-route{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;margin-top:30px;padding:12px 15px;border:1px solid rgba(188,243,222,.19);border-radius:9px;background:rgba(16,39,46,.55);box-shadow:inset 3px 0 rgba(214,255,95,.72);color:#d3e9e6;font-size:.66rem;font-weight:800;letter-spacing:.16em}
.hero-route span{animation:route-pulse 6s ease-in-out infinite}
.hero-route span:nth-of-type(2){animation-delay:2s}.hero-route span:nth-of-type(3){animation-delay:4s}
.hero-route i{width:28px;height:1px;background:linear-gradient(90deg,#b8f6ff,#d6ff5f);position:relative;flex:none}
.hero-route i:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-top:1px solid #d6ff5f;border-right:1px solid #d6ff5f;transform:rotate(45deg)}
.hero-actions{margin-block:28px 18px}.hero-note{letter-spacing:.025em}
.hero-art{min-height:0;gap:16px;animation:content-rise .85s .15s both}
.hero-art:before{width:100%;height:90%;background:linear-gradient(135deg,rgba(131,73,223,.27),rgba(42,203,210,.19) 48%,rgba(214,255,95,.12));filter:blur(60px);animation:aurora-shift 9s ease-in-out infinite alternate}
.portrait-frame{width:min(100%,440px);aspect-ratio:3/2;border-radius:12px;box-shadow:0 0 0 8px rgba(13,28,38,.76),0 0 0 9px rgba(148,77,240,.35),-24px 23px 90px rgba(107,43,235,.27),22px -23px 85px rgba(42,213,228,.2)}
.portrait-frame:before{background:linear-gradient(0deg,rgba(5,14,20,.28),transparent 23%)}
.portrait-frame:after{background:linear-gradient(90deg,rgba(16,34,41,.38),transparent 13%)}
.portrait-frame img{object-position:center top;transform:none;filter:saturate(.95) contrast(1.03);animation:none;will-change:auto}
.portrait-grid{background-size:52px 52px;opacity:.35}
.portrait-label{width:min(100%,440px)}
.about{position:relative;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);padding-block:98px 102px}
.about:before{content:"01 / RECORRIDO";position:absolute;right:0;top:27px;color:rgba(185,231,223,.43);font-size:.65rem;font-weight:800;letter-spacing:.2em}
.about h2 em{color:var(--mint);font-weight:400}.about-prompt{max-width:340px;color:#b8d6d1;font-size:1.08rem;line-height:1.55}
.trajectory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-bottom:33px;border:1px solid rgba(189,245,212,.24);border-radius:14px;background:linear-gradient(125deg,rgba(189,245,212,.08),rgba(133,78,212,.07));overflow:hidden}
.trajectory-item{position:relative;min-height:142px;padding:21px 15px 17px;border-right:1px solid rgba(189,245,212,.2);transition:background .3s ease,transform .3s ease}
.trajectory-item:last-child{border-right:0}.trajectory-item:hover{background:rgba(189,245,212,.08)}
.trajectory-number{display:block;color:#d6ff5f;font-size:.7rem;font-weight:850;letter-spacing:.13em;margin-bottom:15px}
.trajectory-item strong{display:block;color:#f0f8f5;font-family:Georgia,serif;font-size:1.26rem;font-weight:400;line-height:1.1}
.trajectory-item small{display:block;color:var(--muted);font-size:.73rem;margin-top:8px;line-height:1.35}
.about-copy>p:not(.about-credentials){max-width:600px;line-height:1.78}.about-credentials{margin-top:27px}
.intro{position:relative;border-top:1px solid var(--line)}
.intro:before{content:"02 / EL CAMINO";position:absolute;right:0;top:35px;color:rgba(185,231,223,.43);font-size:.65rem;font-weight:800;letter-spacing:.2em}
.steps{gap:0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:linear-gradient(140deg,rgba(189,245,212,.07),rgba(18,34,43,.4))}
.steps article{position:relative;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;padding:35px 30px 38px;transition:background .3s ease}
.steps article:last-child{border-right:0}.steps article:hover{background:rgba(189,245,212,.07)}
.steps article:before{content:"";position:absolute;top:0;left:0;right:100%;height:2px;background:linear-gradient(90deg,#b8f6ff,#d6ff5f);transition:right .4s ease}
.steps article:hover:before{right:0}
.steps article>span{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid rgba(189,245,212,.4);border-radius:8px;background:rgba(189,245,212,.07)}
.steps h3{margin-top:24px}
.reflection{background:linear-gradient(110deg,#d1efdd,#b9e6d7 70%,#d9e7cb)}
.reflection:before{font-size:32rem;right:1%;bottom:-145px;animation:reflection-turn 18s ease-in-out infinite alternate}
.reflection-grid{position:relative;z-index:1}.reflection h2{max-width:750px}
.booking{position:relative}.booking:before{content:"03 / ENCUENTRO";position:absolute;right:0;top:35px;color:rgba(185,231,223,.43);font-size:.65rem;font-weight:800;letter-spacing:.2em}
.booking-card{position:relative;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.booking-card:hover{transform:translateY(-5px);border-color:rgba(189,245,212,.53);box-shadow:0 18px 55px rgba(4,18,23,.28)}
.booking-card.in-person:hover{border-color:rgba(255,174,158,.55)}
.booking-card:after{content:"";position:absolute;right:-85px;top:-85px;width:200px;height:200px;border:1px solid rgba(189,245,212,.17);border-radius:22px;transform:rotate(27deg);pointer-events:none}
.materials{position:relative}.materials:before{content:"04 / CONTINUIDAD";position:absolute;right:0;top:31px;color:rgba(185,231,223,.43);font-size:.65rem;font-weight:800;letter-spacing:.2em}
@keyframes brand-glow{50%{box-shadow:0 0 28px rgba(189,245,212,.38);border-color:rgba(214,255,95,.82)}}
@keyframes content-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes headline-light{50%{background-position:100% 0}}
@keyframes line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes route-pulse{0%,20%,100%{color:#d3e9e6;text-shadow:none}8%{color:#d6ff5f;text-shadow:0 0 13px rgba(214,255,95,.65)}}
@keyframes aurora-shift{to{transform:translate3d(-4%,3%,0) rotate(9deg);opacity:.7}}
@keyframes portrait-full-drift{50%{transform:scale(1.025) translateY(-.4%)}}
@keyframes reflection-turn{to{transform:rotate(12deg) scale(1.04)}}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:35px}.hero-art{width:100%;max-width:490px;justify-self:center}.hero h1{max-width:760px}.about{grid-template-columns:1fr;gap:24px}.about-heading{max-width:720px}}
@media(max-width:620px){.hero{padding-block:53px 60px;gap:32px}.hero h1{font-size:clamp(2.65rem,11vw,4.2rem);line-height:1.04}.hero-eyebrow{font-size:.61rem;letter-spacing:.12em}.hero-route{gap:7px;padding:10px 9px;font-size:.56rem;letter-spacing:.06em}.hero-route i{width:13px}.hero-art{max-width:min(100%,335px)}.portrait-frame{width:100%}.portrait-label{width:100%}.about{padding-block:75px 80px}.trajectory{grid-template-columns:1fr}.trajectory-item{min-height:0;display:flex;gap:17px;align-items:center;padding:16px 19px;border-right:0;border-bottom:1px solid rgba(189,245,212,.2)}.trajectory-item:last-child{border-bottom:0}.trajectory-number{margin:0}.trajectory-item small{margin-top:3px}.intro:before,.about:before,.booking:before,.materials:before{display:none}.steps{display:block}.steps article{border-right:0;border-bottom:1px solid var(--line)}.steps article:last-child{border-bottom:0}.reflection:before{right:-110px;opacity:.55}}
@media(prefers-reduced-motion:reduce){.brand-mark,.hero-copy,.hero-art,.eyebrow-pulse,.hero h1 em,.headline-end span:after,.hero-route span,.hero-art:before,.portrait-frame img,.reflection:before{animation:none!important}.hero-copy,.hero-art{opacity:1;transform:none}.portrait-frame img{will-change:auto}.booking-card,.trajectory-item,.steps article,.steps article:before{transition:none}.booking-card:hover{transform:none}}

/* v0.5.0 · Flujo Vivir Creativo: continuidad, círculos y energía contenida. */
.about-heading{position:relative}
.about-prompt{max-width:360px}
.about-loop{display:block;width:124px;height:124px;margin-top:27px;opacity:.78;filter:drop-shadow(0 0 16px rgba(189,245,212,.13));animation:flow-orbit 22s linear infinite}
.about-loop svg{width:100%;height:100%;stroke:#bdf5d4;stroke-width:1.25}
.about-loop svg circle:nth-of-type(2){stroke:#b8eaf0;opacity:.65}
.about-loop svg circle:nth-of-type(n+3){fill:#d6ff5f;stroke:none;filter:drop-shadow(0 0 7px #d6ff5f)}
.trajectory{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 33px;border:0;border-radius:0;background:none;overflow:visible}
.trajectory-flow{position:absolute;top:10px;left:0;width:100%;height:88px;z-index:0;overflow:visible;pointer-events:none}
.trajectory-flow path{fill:none;stroke-linecap:round}
.flow-track{stroke:rgba(184,246,255,.44);stroke-width:1.5}
.flow-light{stroke:#d6ff5f;stroke-width:3;stroke-dasharray:10 125;filter:drop-shadow(0 0 7px rgba(214,255,95,.7));animation:flow-travel 10s linear infinite}
.trajectory-item{z-index:1;min-height:225px;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;padding:105px 15px 22px;border:1px solid rgba(189,245,212,.2)!important;border-radius:20px;background:linear-gradient(155deg,rgba(202,249,225,.072),rgba(19,36,46,.68));box-shadow:inset 0 1px rgba(255,255,255,.035);transition:border-color .35s ease,background .35s ease,transform .35s ease}
.trajectory-item:hover{transform:translateY(-4px);border-color:rgba(214,255,95,.55)!important;background:linear-gradient(155deg,rgba(202,249,225,.12),rgba(19,36,46,.72))}
.trajectory-icon{position:absolute;top:10px;left:50%;width:72px;height:72px;display:grid;place-items:center;transform:translateX(-50%);border:1px solid rgba(189,245,212,.52);border-radius:50%;background:radial-gradient(circle at 50% 50%,#24454a,#122832 72%);box-shadow:0 0 0 6px #10272d,0 0 0 7px rgba(189,245,212,.22),0 0 25px rgba(189,245,212,.2);transition:box-shadow .35s ease,border-color .35s ease}
.trajectory-item:hover .trajectory-icon{border-color:#d6ff5f;box-shadow:0 0 0 6px #10272d,0 0 0 7px rgba(214,255,95,.52),0 0 30px rgba(214,255,95,.32)}
.trajectory-icon svg{width:54px;height:54px;stroke:#bdf5d4;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.trajectory-item:nth-of-type(2) .trajectory-icon svg{stroke:#b8eaf0}
.trajectory-item:nth-of-type(3) .trajectory-icon svg{stroke:#d6ff5f}
.trajectory-number{font-size:.62rem;letter-spacing:.15em;margin-bottom:10px}
.trajectory-item strong{font-size:1.45rem}
.trajectory-item small{font-size:.77rem;max-width:150px}
.steps{position:relative;isolation:isolate}
.steps:before{content:"";position:absolute;left:55px;right:55px;top:54px;height:1px;background:linear-gradient(90deg,rgba(189,245,212,.5),rgba(184,234,240,.5),rgba(214,255,95,.5));z-index:0}
.steps article{z-index:1;min-height:270px}
.steps article>span{position:relative;z-index:2;border-radius:50%;background:#173238;box-shadow:0 0 0 5px rgba(16,34,41,.92)}
.step-icon{position:absolute;top:30px;right:30px;width:44px;height:44px;stroke:#bdf5d4;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.8;transition:transform .35s ease,opacity .35s ease}
.steps article:hover .step-icon{transform:rotate(9deg) scale(1.08);opacity:1}
.reflection:before{content:"";width:430px;height:430px;right:-60px;bottom:-185px;border:1px solid rgba(33,96,87,.2);border-radius:50%;box-shadow:0 0 0 48px rgba(33,96,87,.045),0 0 0 96px rgba(33,96,87,.035);font-size:inherit;animation:reflection-breathe 9s ease-in-out infinite}
.reflection:after{content:"";position:absolute;width:130px;height:130px;right:114px;bottom:0;border:1px solid rgba(33,96,87,.3);border-radius:50%;pointer-events:none}
.card-icon{border-radius:50%;border:1px solid rgba(189,245,212,.4);box-shadow:0 0 0 7px rgba(189,245,212,.055)}
.card-icon svg{width:35px;height:35px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.in-person .card-icon{border-color:rgba(255,174,158,.4);box-shadow:0 0 0 7px rgba(255,174,158,.055)}
.booking-card:after{border-radius:50%;transform:none;right:-52px;top:-70px;width:225px;height:225px}
@keyframes flow-orbit{to{transform:rotate(360deg)}}
@keyframes flow-travel{to{stroke-dashoffset:-540}}
@keyframes reflection-breathe{50%{transform:scale(1.035);opacity:.7}}
@media(max-width:900px){.about-loop{position:absolute;right:7px;bottom:0;width:96px;height:96px;margin:0}.about-prompt{padding-right:108px;max-width:500px}}
@media(max-width:620px){.about-loop{width:72px;height:72px;right:0;bottom:0}.about-prompt{padding-right:65px}.trajectory{grid-template-columns:1fr;gap:14px;padding-left:4px}.trajectory:before{content:"";position:absolute;top:42px;bottom:42px;left:39px;width:1px;background:linear-gradient(#bdf5d4,#b8eaf0,#d6ff5f);opacity:.7}.trajectory:after{content:"";position:absolute;left:35px;top:40px;width:9px;height:9px;border-radius:50%;background:#d6ff5f;box-shadow:0 0 13px rgba(214,255,95,.9);animation:flow-vertical 9s ease-in-out infinite alternate}.trajectory-flow{display:none}.trajectory-item{min-height:112px;display:block;text-align:left;padding:18px 16px 18px 88px;border-radius:16px}.trajectory-icon{left:17px;top:50%;width:54px;height:54px;transform:translateY(-50%);box-shadow:0 0 0 4px #10272d,0 0 0 5px rgba(189,245,212,.22)}.trajectory-item:hover .trajectory-icon{box-shadow:0 0 0 4px #10272d,0 0 0 5px rgba(214,255,95,.52)}.trajectory-icon svg{width:40px;height:40px}.trajectory-number{display:block;margin-bottom:3px}.trajectory-item strong{font-size:1.26rem}.trajectory-item small{max-width:none}.steps:before{left:50px;right:auto;top:55px;bottom:55px;width:1px;height:auto}.steps article{min-height:0;padding-bottom:32px}.step-icon{top:26px;right:24px;width:40px;height:40px}.reflection:before{right:-160px;bottom:-200px}.reflection:after{right:5px;bottom:0}}
@keyframes flow-vertical{to{top:calc(100% - 48px)}}
@media(prefers-reduced-motion:reduce){.about-loop,.flow-light,.trajectory:after,.reflection:before{animation:none!important}.trajectory-item,.trajectory-icon,.step-icon{transition:none}.trajectory-item:hover{transform:none}}

/* v0.5.4 · Contacto directo, sin widget externo ni envío automático. */
.contact-strip{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:26px;align-items:center;margin-bottom:76px;padding:27px 31px;border:1px solid rgba(184,246,255,.32);border-radius:18px;background:linear-gradient(115deg,rgba(66,129,132,.19),rgba(69,45,103,.12) 58%,rgba(214,255,95,.075));box-shadow:inset 0 1px rgba(255,255,255,.04),0 20px 65px rgba(4,18,23,.16);overflow:hidden}
.contact-strip:before{content:"";position:absolute;right:-55px;top:-100px;width:240px;height:240px;border:1px solid rgba(184,246,255,.18);border-radius:50%;box-shadow:0 0 0 29px rgba(184,246,255,.035);pointer-events:none}
.contact-symbol{position:relative;width:66px;height:66px;display:grid;place-items:center;border:1px solid rgba(189,245,212,.55);border-radius:15px;background:linear-gradient(145deg,#234a50,#122a34);color:var(--mint);box-shadow:0 0 0 5px rgba(189,245,212,.055),0 0 25px rgba(184,246,255,.17);transform:rotate(-4deg)}
.contact-symbol svg{width:43px;height:43px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:rotate(4deg)}
.contact-copy{position:relative}.contact-copy .eyebrow{margin-bottom:6px;font-size:.64rem}.contact-copy h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.15;margin-bottom:8px}.contact-copy p:last-child{max-width:560px;margin-bottom:0;color:var(--muted);font-size:.86rem;line-height:1.5}
.contact-button{position:relative;white-space:nowrap;background:#d6ff5f;color:#142128;box-shadow:0 0 27px rgba(214,255,95,.13)}.contact-button:hover{box-shadow:0 0 36px rgba(214,255,95,.3)}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:11px;min-height:62px;padding:7px 16px 7px 7px;border:1px solid rgba(214,255,95,.64);border-radius:16px;background:linear-gradient(130deg,#213f43,#132731);color:#effff3;text-decoration:none;box-shadow:0 10px 36px rgba(2,15,20,.5),0 0 0 3px rgba(189,245,212,.07),0 0 27px rgba(214,255,95,.14);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.whatsapp-float:hover{transform:translateY(-3px);border-color:#d6ff5f;box-shadow:0 14px 42px rgba(2,15,20,.55),0 0 29px rgba(214,255,95,.3)}
.whatsapp-float-icon{display:grid;place-items:center;flex:none;width:47px;height:47px;border-radius:11px;background:#d6ff5f;color:#18302b;box-shadow:0 0 16px rgba(214,255,95,.3)}.whatsapp-float-icon svg{width:31px;height:31px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-float-label{display:block;line-height:1.16}.whatsapp-float-label strong,.whatsapp-float-label small{display:block}.whatsapp-float-label strong{font-size:.78rem}.whatsapp-float-label small{margin-top:4px;color:#bde3d1;font-size:.71rem}
.whatsapp-mobile-label{display:none}
@media(max-width:800px){.contact-strip{grid-template-columns:66px minmax(0,1fr);gap:18px}.contact-button{grid-column:2;justify-self:start}}
@media(max-width:620px){body:not(.ficha-page){padding-bottom:70px}.contact-strip{grid-template-columns:1fr;gap:14px;padding:24px;margin-bottom:48px}.contact-symbol{width:54px;height:54px}.contact-symbol svg{width:34px;height:34px}.contact-button{grid-column:1;width:100%;justify-content:space-between}.whatsapp-float{right:12px;bottom:12px;min-height:54px;padding:5px 13px 5px 5px;gap:8px;border-radius:13px}.whatsapp-float-icon{width:43px;height:43px;border-radius:9px}.whatsapp-float-label{display:none}.whatsapp-mobile-label{display:block;font-size:.77rem;font-weight:800;letter-spacing:.02em}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}.whatsapp-float:hover{transform:none}}

/* Editorial refinement: breathing room, compact copy and visible flow. */
.hero .lead{max-width:470px;font-size:1.15rem;line-height:1.65}.hero-note{max-width:500px}.about-copy>p{max-width:600px}.steps article{position:relative;overflow:hidden}.steps article:after{content:"";position:absolute;width:120px;height:120px;right:-65px;bottom:-65px;border:1px solid #bdf5d438;border-radius:50%;box-shadow:0 0 0 18px #bdf5d408,0 0 0 40px #bdf5d404}.booking-card{transition:transform .25s,border-color .25s}.booking-card:hover{transform:translateY(-4px);border-color:#bdf5d47a}.portrait-label small{line-height:1.5}.whatsapp-float-icon,.contact-symbol{font-size:1.6rem}.steps h3{margin-top:18px}.section-lead{line-height:1.7}
@media(max-width:620px){.hero-actions .button{width:100%;justify-content:center}.hero .lead{font-size:1rem}.topbar nav a{font-size:.78rem}.about{padding-top:30px}.hero-note{font-size:.78rem}.footer{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.booking-card{transition:none}.booking-card:hover{transform:none}}
