/* SWY · estilos */
:root{
	--ink:#0B0B0F;--ink2:#14120f;--bone:#F3EEE4;--dim:rgba(243,238,228,.55);--line:rgba(243,238,228,.14);
	--gold:#E0B562;--gold2:#F2CF86;--wa:#25D366;
	--sans:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
	--display:"Fraunces",Georgia,serif;
	--mono:"Manrope",system-ui,sans-serif;
	--ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--bone);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.mono{font-family:var(--mono);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.dim{color:var(--dim)}
.swy-skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--gold);color:var(--ink);padding:8px 14px;border-radius:99px}
.swy-skip:focus{left:8px}

/* Botones */
.swy-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;background:rgba(11,11,15,.35);backdrop-filter:blur(8px);transition:border-color .3s,background .3s}
.swy-pill:hover{border-color:var(--gold);background:rgba(212,175,124,.12)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:99px;text-decoration:none;font:500 15px/1 var(--sans);transition:transform .3s var(--ease),background .3s,border-color .3s}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--gold2)}
.btn-ghost{border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold)}
.go{text-decoration:none;color:var(--gold)}
.go:hover{color:var(--gold2)}

/* ============ PORTADA ============ */
body.swy-splash{overflow:hidden;height:100vh;height:100dvh}
body.admin-bar.swy-splash .splash{height:calc(100dvh - 32px)}
.splash{position:relative;height:100vh;height:100dvh;overflow:hidden;isolation:isolate}
#swy-light{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.grain{position:absolute;inset:-50%;z-index:-1;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

.splash-top{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;padding:26px clamp(18px,3.4vw,48px);z-index:3}
.splash-left{display:flex;align-items:center;gap:18px}
.swy-tag{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid var(--line);border-radius:99px;background:rgba(11,11,15,.35);backdrop-filter:blur(8px)}
.swy-tag img{height:16px;width:auto}
.splash-links{display:flex;gap:18px}
.splash-links a{text-decoration:none;font-size:13px;color:var(--dim);transition:color .3s}
.splash-links a:hover{color:var(--bone)}
.splash-center{text-align:center}
.splash-center .mono{margin:0 0 8px;color:var(--dim);font-size:10px;letter-spacing:.32em}
.splash-center h1{margin:0;font:italic 400 clamp(22px,2.4vw,30px)/1.2 var(--display);letter-spacing:-.01em}
.splash-right{justify-self:end;display:flex;align-items:center;gap:12px}
.swy-langs{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:99px;background:rgba(11,11,15,.35);backdrop-filter:blur(8px)}
.swy-langs a{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 8px;border-radius:99px;text-decoration:none;font:700 10.5px/1 var(--sans);letter-spacing:.12em;color:var(--dim);transition:color .3s,background .3s}
.swy-langs a:hover{color:var(--bone)}
.swy-langs a[aria-current]{background:var(--gold);color:var(--ink)}

.choice{position:absolute;top:50%;transform:translateY(-55%);z-index:3;text-decoration:none;display:flex;flex-direction:column;gap:18px;transition:opacity .5s var(--ease),transform .6s var(--ease)}
.choice-l{left:clamp(18px,3.4vw,48px)}
.choice-r{right:clamp(18px,3.4vw,48px);text-align:right;align-items:flex-end}
.choice .idx{display:flex;align-items:center;gap:12px;color:var(--dim)}
.choice .idx i{display:inline-block;width:40px;height:1px;background:currentColor;transition:width .6s var(--ease)}
.choice .big{font:300 clamp(44px,6vw,100px)/.95 var(--display);letter-spacing:-.025em;text-shadow:0 2px 40px rgba(10,6,4,.45)}
.choice .big em{font-style:italic;color:var(--gold)}
.choice .go{color:var(--bone);opacity:.75}
.splash[data-side="-1"] .choice-r,.splash[data-side="1"] .choice-l{opacity:.28}
.splash[data-side="-1"] .choice-l,.splash[data-side="1"] .choice-r{transform:translateY(-55%) scale(1.02)}
.splash[data-side="-1"] .choice-l .idx i,.splash[data-side="1"] .choice-r .idx i{width:72px}

.figure{position:absolute;left:50%;bottom:5%;height:clamp(190px,36vh,340px);transform:translateX(-50%);z-index:2;pointer-events:none;transition:transform 1.1s var(--ease)}
.figure .fig{height:100%;width:auto;overflow:visible;animation:breathe 5s ease-in-out infinite;transform-origin:50% 100%}
.figure::after{content:"";position:absolute;left:50%;bottom:-10px;width:140%;height:24px;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,0,0,.65),transparent);filter:blur(4px)}
.splash[data-side="-1"] .figure{transform:translateX(calc(-50% - 10px))}
.splash[data-side="1"] .figure{transform:translateX(calc(-50% + 10px))}
.splash[data-side="-1"] .fig-head{transform:translateX(-1.5px)}
.splash[data-side="1"] .fig-head{transform:translateX(1.5px)}
.fig-head{transition:transform .8s var(--ease)}
@keyframes breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.006)}}

.splash-state{position:absolute;left:50%;bottom:64px;transform:translateX(-50%);margin:0;z-index:3;height:14px;width:320px;text-align:center;color:var(--gold);font-size:10px;letter-spacing:.3em}
.splash-state .st{position:absolute;left:0;right:0;opacity:0;transform:translateY(6px);transition:opacity .5s,transform .5s var(--ease)}
.splash[data-side="0"] .st0,.splash[data-side="-1"] .st-1,.splash[data-side="1"] .st1{opacity:1;transform:none}
.choice .big{transition:color .5s}
.splash[data-side="-1"] .choice-l .big,.splash[data-side="1"] .choice-r .big{color:#FFE2A8}
.choice .big em{color:#F2C46D}
.splash-center .mono,.splash-center h1,.splash-state,.splash-foot,.choice .go,.choice .idx{text-shadow:0 1px 18px rgba(10,6,4,.6)}
.splash-foot{white-space:nowrap;position:absolute;left:50%;bottom:20px;transform:translateX(-50%);margin:0;display:flex;align-items:center;gap:14px;color:var(--dim);z-index:3;font-size:10px;letter-spacing:.32em}
.splash-foot i{display:inline-block;width:28px;height:1px;background:currentColor}

@media (max-width:760px){
	.splash-top{grid-template-columns:auto 1fr;gap:12px}
	.splash-right{gap:6px}
	.splash-right .swy-pill{display:none}
	.swy-langs a{min-width:28px;height:26px;padding:0 5px;font-size:10px}
	.splash-links{display:none}
	.splash-center{grid-column:1/-1;grid-row:2;margin-top:18px}
	.choice{transform:none}
	.choice-l{top:28%;left:20px}
	.choice-r{top:auto;bottom:16%;right:20px}
	.splash[data-side="-1"] .choice-l,.splash[data-side="1"] .choice-r{transform:scale(1.02)}
	.choice .big{font-size:clamp(40px,13vw,64px)}
	.figure{height:30vh;bottom:9%;opacity:.9}
}

/* ============ INTERIORES ============ */
.inner{background:var(--ink);min-height:100vh}
.swy-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;padding:18px clamp(18px,3.4vw,48px);background:rgba(11,11,15,.6);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
body.admin-bar .swy-top{top:32px}
.swy-top.scrolled{border-bottom-color:var(--line)}
.swy-brand img{height:28px;width:auto}
.swy-nav{display:flex;gap:22px;margin-right:auto}
.swy-nav a{text-decoration:none;font-size:14px;color:var(--dim);transition:color .3s}
.swy-nav a:hover,.swy-nav a[aria-current="page"]{color:var(--bone)}
.swy-nav a[aria-current="page"]{position:relative}
.swy-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--gold)}

.hero{position:relative;min-height:calc(100vh - 66px);display:flex;align-items:center;padding:90px clamp(18px,3.4vw,48px) 90px;overflow:hidden}
.hero-meta{position:absolute;top:22px;left:clamp(18px,3.4vw,48px);display:flex;flex-direction:column;gap:4px;color:var(--dim);font-size:10px}
.hero-meta-r{left:auto;right:clamp(18px,3.4vw,48px);text-align:right}
.hero-meta b{font-weight:400;color:var(--bone)}
.hero-copy{position:relative;z-index:2;max-width:760px}
.kicker{display:flex;align-items:center;gap:12px;color:var(--gold);margin:0 0 22px}
.kicker i{display:inline-block;width:28px;height:1px;background:currentColor}
.mega{margin:0;font:300 clamp(64px,11vw,176px)/.9 var(--display);letter-spacing:-.04em}
.mega em{font-style:italic;color:var(--gold)}
.mega .w{display:inline-block;overflow:hidden;vertical-align:top;padding:.14em .04em .24em 0;margin:-.14em 0 -.24em}
.mega .w>span{display:inline-block;transform:translateY(105%);animation:rise 1.1s var(--ease) forwards}
@keyframes rise{to{transform:none}}
.lead{font-size:clamp(20px,2vw,26px);line-height:1.35;max-width:480px;margin:34px 0 30px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.aura{position:absolute;right:-6vw;top:50%;width:min(64vw,820px);aspect-ratio:1;transform:translateY(-46%);z-index:1;pointer-events:none}
.aura-glow{position:absolute;inset:18%;border-radius:50%;background:radial-gradient(closest-side,var(--aura1),transparent);filter:blur(60px);opacity:.35;animation:aura 7s ease-in-out infinite}
.ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 8%,var(--aura1) 22%,transparent 38%,var(--aura2) 58%,transparent 72%,var(--aura1) 90%,transparent);-webkit-mask:radial-gradient(closest-side,transparent 70%,#000 71%,#000 74%,transparent 75%);mask:radial-gradient(closest-side,transparent 70%,#000 71%,#000 74%,transparent 75%);animation:spin 18s linear infinite}
.ring-2{inset:9%;opacity:.6;animation-duration:26s;animation-direction:reverse;filter:blur(1px)}
.ring-3{inset:20%;opacity:.35;animation-duration:40s;filter:blur(6px)}
.ring-blur{filter:blur(28px);opacity:.7}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes aura{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.04) translateY(-1%);opacity:1}}
.ticks{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;z-index:2}
.ticks i{display:block;width:8px;height:1px;background:var(--line)}
.ticks i:nth-child(5n){width:14px;background:var(--dim)}
.ticks i.on{background:var(--gold)}
.hero-foot{position:absolute;left:clamp(18px,3.4vw,48px);right:clamp(18px,3.4vw,48px);bottom:22px;display:flex;justify-content:space-between;margin:0;color:var(--dim);font-size:10px}
.hero-foot i{display:inline-block;width:1px;height:14px;background:currentColor;margin-left:8px;vertical-align:middle;animation:drop 1.8s ease-in-out infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.marquee{border-block:1px solid var(--line);overflow:hidden;white-space:nowrap;padding:22px 0}
.marquee>div{display:inline-flex;gap:38px;align-items:center;animation:mq 38s linear infinite}
.marquee span{font:italic 300 clamp(30px,4.2vw,58px)/1 var(--display);letter-spacing:-.02em}
.marquee b{color:var(--gold);font-weight:400;font-size:22px}
@keyframes mq{to{transform:translateX(-50%)}}

.block{padding:clamp(80px,11vw,150px) clamp(18px,3.4vw,48px);max-width:1340px;margin:0 auto}
.block-head{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:baseline;margin-bottom:56px}
.block-head .kicker{margin:0}
.block h2{margin:0;font:400 clamp(34px,4.6vw,64px)/1.04 var(--display);letter-spacing:-.02em;max-width:820px}
.intro{display:grid;grid-template-columns:220px 1fr;gap:24px}
.statement{margin:0;font:300 clamp(26px,3.2vw,44px)/1.25 var(--display);letter-spacing:-.015em;max-width:980px}

.grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.card{padding:36px 30px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background .5s}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 70% at var(--mx,50%) var(--my,0%),rgba(212,175,124,.14),transparent 70%);opacity:0;transition:opacity .4s;pointer-events:none}
.card:hover::before{opacity:1}
.num{color:var(--gold)}
.card h3{margin:44px 0 12px;font:600 22px/1.2 var(--sans);letter-spacing:-.01em}
.card p{margin:0;color:var(--dim);font-size:16px}

.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:s}
.steps li{padding:30px 0 0;border-top:1px solid var(--gold)}
.steps h3{margin:18px 0 10px;font:400 30px/1.1 var(--display)}
.steps p{margin:0;color:var(--dim)}

.works{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.work{position:relative;display:block;text-decoration:none;border-radius:18px;overflow:hidden;aspect-ratio:16/11;border:1px solid var(--line)}
.work-img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.02);transition:transform 1.2s var(--ease)}
.work:hover .work-img{transform:scale(1.08)}
.work::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(11,11,15,.85))}
.work-txt{position:absolute;left:26px;bottom:24px;z-index:1;display:flex;flex-direction:column;gap:8px}
.work-txt b{font:400 clamp(24px,2.4vw,34px)/1.1 var(--display)}
.work-txt .mono{color:var(--gold2);font-size:10px}
.work-go{position:absolute;right:22px;top:20px;z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(11,11,15,.55);backdrop-filter:blur(6px);border:1px solid var(--line);transition:background .3s,transform .4s var(--ease)}
.work:hover .work-go{background:var(--gold);color:var(--ink);transform:rotate(45deg)}

.plans{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.plan{border:1px solid var(--line);border-radius:18px;padding:28px 24px;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(243,238,228,.03),transparent);transition:border-color .4s,transform .4s var(--ease)}
.plan:hover{border-color:rgba(212,175,124,.6);transform:translateY(-4px)}
.plan h3{margin:0 0 8px;font:500 21px/1.2 var(--sans)}
.plan p{margin:0 0 18px;color:var(--dim);font-size:15px}
.plan ul{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:8px;font-size:14px}
.plan li::before{content:"✦";color:var(--gold);margin-right:9px;font-size:10px}
.plan .go{margin-top:auto}

.cta{position:relative;text-align:center;padding:clamp(110px,14vw,190px) 20px;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:22px;border-top:1px solid var(--line)}
.cta-glow{position:absolute;left:50%;top:50%;width:min(900px,90vw);height:380px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(212,175,124,.32),transparent);filter:blur(30px);z-index:0;animation:pulse 6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:.75}50%{opacity:1}}
.cta>*{position:relative;z-index:1}
.cta .kicker{margin:0;justify-content:center}
.cta h2{margin:0;font:400 clamp(44px,7vw,104px)/1 var(--display);letter-spacing:-.03em}

.swy-foot{border-top:1px solid var(--line);padding:46px clamp(18px,3.4vw,48px)}
.swy-foot-in{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.swy-foot nav{display:flex;gap:22px;flex-wrap:wrap}
.swy-foot nav a{text-decoration:none;color:var(--dim);font-size:14px}
.swy-foot nav a:hover{color:var(--bone)}
.swy-foot p{margin:0}

.plain{max-width:820px;margin:0 auto;padding:120px 20px}
.plain h1{font:400 clamp(40px,6vw,72px)/1.05 var(--display)}

/* Aparición al hacer scroll */
.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease) var(--d,0ms),transform 1s var(--ease) var(--d,0ms)}
.reveal.in{opacity:1;transform:none}

@media (max-width:1000px){
	.grid{grid-template-columns:1fr 1fr}
	.plans{grid-template-columns:1fr 1fr}
	.block-head,.intro{grid-template-columns:1fr}
}
@media (max-width:760px){
	.swy-nav{display:none}
	.swy-top .swy-pill{display:none}
	.swy-top .swy-langs{margin-left:auto}
	.hero{min-height:auto;padding-top:110px;padding-bottom:110px}
	.aura{opacity:.5;right:-40vw;width:110vw}
	.grid,.steps,.works,.plans{grid-template-columns:1fr}
	.ticks,.hero-meta-r{display:none}
}
@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation:none!important;transition:none!important}
	.reveal{opacity:1;transform:none}
	.mega .w>span{transform:none}
}
