body{margin:0;background:#141517}
a{color:#ffb400}a:hover{color:#ffc93d}
*{box-sizing:border-box}
.pg{width:1440px;margin:0 auto;font-weight:500;--g:#ffb400;--ease:cubic-bezier(0.23,1,0.32,1);--io:cubic-bezier(0.77,0,0.175,1);font-family:"Manrope",system-ui,sans-serif;color:#ece9e2;background:#141517;-webkit-font-smoothing:antialiased}
.in{padding:0 112px}
.mont{font-family:"Montserrat","Manrope",sans-serif}
.iii{display:inline-flex;gap:3px;align-items:center}
.iii i{display:block;width:4px;height:16px;background:#ffb400}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:13px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#cfc9bc}
.h2{font-family:"Montserrat",sans-serif;font-weight:800;font-size:52px;line-height:1.06;letter-spacing:-.02em;margin:0;color:#f4f1ea;text-wrap:balance}
.lead{font-size:19px;line-height:1.65;color:#b5afa3;margin:0;max-width:600px}
.hive{background-color:#17181b;background-image:url("../img/e5435f9f8619ce0b2ef3b5951c291902.png");background-size:24px auto}
.shine{position:relative}
.shine::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(0,0,0,.3) 0%,rgba(255,255,255,.12) 100%);background-size:400% 400%;animation:shine 5s infinite}
@keyframes shine{0%{background-position:0% 7%}50%{background-position:100% 94%}100%{background-position:0% 7%}}

/* botones */
.btn{display:inline-flex;align-items:center;gap:14px;height:60px;padding:0 34px;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:transform 160ms var(--ease),background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.btn:active{transform:scale(.97)}
.btn svg{transition:transform 240ms var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-g{background:#ffb400;color:#17130a}
.btn-g:hover{background:#ffc93d;color:#17130a}
.btn-o{border-color:#55524c;color:#f4f1ea}
.btn-o:hover{border-color:#ffb400;color:#ffb400}
.btn-d{background:#1b1b1b;color:#ffffff}
.btn-d:hover{background:#000000;color:#ffb400}
.btn-ol{border-color:#2a2a2a;color:#2a2a2a}
.btn-ol:hover{background:#2a2a2a;color:#ffffff}

/* cabecera al hacer scroll */
.hdr{position:relative;height:88px;border-bottom:1px solid rgba(255,180,0,.35)}
.hdr-in{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:48px}
.nav{display:flex;gap:34px;align-items:center}
.nav.l{justify-content:flex-end}
.nav a{position:relative;font-family:"Montserrat",sans-serif;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#ece9e2;text-decoration:none;padding:12px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#ffb400;transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--ease)}
.nav a:hover{color:#ffffff}.nav a:hover::after{transform:scaleX(1)}
.nav .dot{width:5px;height:5px;background:#ffb400;transform:rotate(45deg)}
.hdr .logo{display:block;width:64px;height:72px;object-fit:contain;filter:drop-shadow(0 0 14px rgba(255,180,0,.2))}

/* hero: el fénix */
.hero{position:relative;height:860px;overflow:hidden;background:radial-gradient(1000px 760px at 72% 52%,#2b2416 0%,#1a1a1b 52%,#121315 100%)}
.hero-in{position:relative;z-index:2;height:100%;display:grid;grid-template-columns:620px 1fr;gap:40px;align-items:center;padding-top:60px}
.hero .eyebrow{color:#cfc9bc}
.trust{display:flex;gap:30px;margin-top:40px;font-size:14px;color:#a7a195}
.trust span{display:flex;align-items:center;gap:9px}
.stage{position:relative;width:660px;height:700px;justify-self:center;isolation:auto}
.hero .bgh{position:absolute;inset:0;opacity:.9;-webkit-mask-image:radial-gradient(720px 600px at 72% 52%,#000 0%,transparent 78%);mask-image:radial-gradient(720px 600px at 72% 52%,#000 0%,transparent 78%)}
.hero .bgh::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.3) 0%,rgba(255,255,255,.13) 100%);background-size:400% 400%;animation:shine 5s infinite}
.topbar{position:absolute;z-index:5;left:0;right:0;top:0;height:104px;padding:0 112px;display:flex;align-items:center;justify-content:space-between}
.wm{display:inline-flex;align-items:center;font-family:"Montserrat",sans-serif;font-size:24px;font-weight:800;letter-spacing:.14em;color:#f4f1ea;text-decoration:none}
.wm:hover{color:#ffffff}
.wm .bars{display:inline-flex;gap:3px;margin:0 5px 0 3px}
.wm .bars i{display:block;width:4px;height:18px;background:#ffb400}
.menu{display:inline-flex;align-items:center;gap:14px;height:48px;padding:0 4px 0 18px;background:transparent;border:0;color:#f4f1ea;font-family:"Montserrat",sans-serif;font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:color 200ms ease}
.menu:hover{color:#ffb400}
.pulse{position:absolute;left:50%;top:330px;width:620px;height:620px;margin:-310px 0 0 -310px;border-radius:50%;background:radial-gradient(circle,rgba(255,180,0,.42) 0%,rgba(255,150,0,.14) 38%,rgba(255,150,0,0) 68%);animation:beat2 2.4s var(--io) infinite}
.phx{position:absolute;left:50%;top:40px;width:580px;height:611px;margin-left:-290px;filter:drop-shadow(0 0 34px rgba(255,170,0,.32));animation:rise 1.8s var(--ease) both}
.phx svg{display:block;animation:wipe 1.8s var(--ease) both}
.phx .sweep{position:absolute;inset:0;-webkit-mask-image:url("../img/b6afcc0e4138958dcf2325c8d39aa2d2.svg");mask-image:url("../img/b6afcc0e4138958dcf2325c8d39aa2d2.svg");-webkit-mask-size:100% 100%;mask-size:100% 100%;background:linear-gradient(105deg,rgba(255,255,255,0) 42%,rgba(255,250,225,.75) 50%,rgba(255,255,255,0) 58%);background-size:300% 100%;animation:sweep 5s var(--io) 1.6s infinite}
@keyframes rise{from{opacity:0;transform:translateY(60px) scale(.94)}to{opacity:1;transform:none}}
@keyframes wipe{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes sweep{0%{background-position:100% 0}45%,100%{background-position:0% 0}}
@keyframes beat2{0%,100%{transform:scale(.92);opacity:.7}9%{transform:scale(1.04);opacity:1}18%{transform:scale(.96);opacity:.8}27%{transform:scale(1.02);opacity:.95}40%{transform:scale(.92);opacity:.7}}
.hero h1{font-family:"Montserrat",sans-serif;font-weight:800;font-size:76px;line-height:1.02;letter-spacing:-.03em;margin:26px 0 0;color:#f6f3ec}
.hero h1{text-shadow:0 6px 40px rgba(0,0,0,.55)}
.hero h1 span{color:#ffb400}
.hero p{font-size:20px;line-height:1.65;color:#b9b3a6;margin:28px 0 0;max-width:540px}
.hero .ctas{display:flex;gap:16px;margin-top:44px}

/* clientes (claro) */
.light{background:#f5f4f0;color:#606060}
.light .h2{color:#2a2a2a}
.light .lead{color:#606060}
.light .eyebrow{color:#444444}
.cli{padding:128px 0 120px}
.cli-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.hcomb{--w:170px;--h:147px;display:flex;justify-content:center;margin-top:72px;padding-bottom:78px}
.hcol{display:flex;flex-direction:column;gap:8px;margin-left:-34px}
.hcol:first-child{margin-left:0}
.hcol.dn{transform:translateY(78px)}
.cell{position:relative;width:var(--w);height:var(--h);background:#3b3b3b;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);animation:wave 8s linear infinite;animation-delay:var(--d);transition:transform 260ms var(--ease)}
.cell .c{position:absolute;inset:2px;background:#383838;clip-path:inherit;display:flex;align-items:center;justify-content:center}
.cell img{max-width:60%;max-height:48%;object-fit:contain;opacity:.92;transition:transform 260ms var(--ease)}
.cell.gh{background:#e7e5df;animation:none}.cell.gh .c{background:#efede8}
@keyframes wave{0%,5%,100%{background:#3b3b3b}2.5%{background:#ffb400}}
.cell.lg:hover{transform:translateY(-6px);background:#ffb400;animation-play-state:paused}
.cell.lg:hover .c{background:#1c1c1c}
.cell.lg:hover img{transform:scale(1.06)}

/* pilares (oscuro) */
.pil{padding:128px 0}
.pil-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px}
.card{position:relative;overflow:hidden;padding:44px 40px 40px;background:#1b1c1f;border:1px solid #2b2c30;display:flex;flex-direction:column;gap:18px;min-height:340px;transition:border-color 240ms ease,transform 300ms var(--ease)}
.card:hover{border-color:#6a5420;transform:translateY(-4px)}
.card .ico{width:64px;height:56px;background:#ffb400;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);display:grid;place-items:center;position:relative}
.card .ico::after{content:"";position:absolute;inset:2px;background:#1b1c1f;clip-path:inherit}
.card .ico svg{position:relative;z-index:1}
.card h3{margin:10px 0 0;font-family:"Montserrat",sans-serif;font-size:24px;font-weight:800;color:#f4f1ea;letter-spacing:-.01em}
.card p{margin:0;font-size:16px;line-height:1.7;color:#b5afa3}
.card ul{list-style:none;margin:auto 0 0;padding:20px 0 0;border-top:1px solid #2b2c30;display:flex;flex-wrap:wrap;gap:8px}
.card li{font-size:13px;font-weight:600;color:#d8d3c8;padding:7px 12px;border:1px solid #34353a}

/* renacer */
.ren{position:relative;height:640px;overflow:hidden;background:#ffb400;color:#17130a}
.ren .wm{position:absolute;left:470px;top:-70px;width:700px;opacity:.12;filter:brightness(0)}
.ren-in{position:relative;z-index:1;height:100%;display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:center}
.ren h2{font-family:"Montserrat",sans-serif;font-weight:800;font-size:68px;line-height:1;letter-spacing:-.03em;margin:22px 0 0;color:#17130a}
.ren p{font-size:20px;line-height:1.6;color:#3a2c08;margin:26px 0 0;max-width:600px}
.ren .eyebrow{color:#3a2c08}
.ren .eyebrow .iii i{background:#17130a}
.ren-list{display:flex;flex-direction:column;background:#17181b;color:#ece9e2}
.ren-list div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 28px;border-bottom:1px solid #2b2c30}
.ren-list div:last-child{border-bottom:0}
.ren-list b{font-family:"Montserrat",sans-serif;font-size:17px;font-weight:700}
.ren-list span{font-size:14px;color:#a7a195}
.ren-list .act{padding:24px 28px;background:#1f2023}

/* planes (claro) */
.pla{padding:128px 0}
.pla-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px}
.pla-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px;align-items:stretch}
.plan{display:flex;flex-direction:column;gap:22px;padding:44px 40px;background:#ffffff;border:1px solid #e3e1dc;transition:transform 300ms var(--ease),box-shadow 300ms ease}
.plan:hover{transform:translateY(-4px);box-shadow:0 30px 60px -38px rgba(60,45,0,.35)}
.plan .nm{font-family:"Montserrat",sans-serif;font-size:24px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#2a2a2a}
.plan .for{font-size:15px;color:#606060;margin-top:6px}
.plan .pr{display:flex;align-items:baseline;gap:8px}
.plan .pr b{font-family:"Montserrat",sans-serif;font-size:46px;font-weight:800;color:#2a2a2a;letter-spacing:-.02em}
.plan .pr span{font-size:15px;color:#606060}
.plan ul{list-style:none;margin:0;padding:22px 0 0;border-top:1px solid #e3e1dc;display:flex;flex-direction:column;gap:13px;font-size:15px;color:#444444}
.plan li{display:flex;gap:12px;align-items:baseline}
.plan li::before{content:"";flex:none;width:10px;height:9px;background:#ffb400;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}
.plan .btn{margin-top:auto;justify-content:center}
.plan.max{position:relative;background:#1b1c1f;border-color:#1b1c1f;color:#ece9e2;transform:translateY(-16px)}
.plan.max:hover{transform:translateY(-20px)}
.plan.max .nm,.plan.max .pr b{color:#ffffff}
.plan.max .for,.plan.max .pr span{color:#b5afa3}
.plan.max ul{border-top-color:#34353a;color:#ece9e2}
.plan.max .badge{position:absolute;top:-14px;left:40px;background:#ffb400;color:#17130a;font-family:"Montserrat",sans-serif;font-size:11px;font-weight:800;letter-spacing:.2em;padding:7px 14px}
.pla-note{text-align:center;margin:44px 0 0;font-size:15px;color:#606060}
.pla-note a{color:#2a2a2a;font-weight:700;border-bottom:2px solid #ffb400;text-decoration:none}

/* proceso (oscuro, numerales romanos) */
.pro{padding:128px 0}
.pro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px;margin-top:64px}
.st{display:flex;flex-direction:column;gap:16px;padding-top:28px;border-top:2px solid #34353a}
.st.on{border-top-color:#ffb400}
.st .n{font-family:"Montserrat",sans-serif;font-size:44px;font-weight:800;color:#ffb400;letter-spacing:.02em}
.st h3{margin:0;font-family:"Montserrat",sans-serif;font-size:22px;font-weight:800;color:#f4f1ea}
.st p{margin:0;font-size:16px;line-height:1.7;color:#b5afa3}

/* contacto */
.cta{margin:0 112px 128px;padding:80px;display:grid;grid-template-columns:1fr 520px;gap:80px;align-items:center;background:#1b1c1f;border:1px solid #2b2c30;position:relative;overflow:hidden}
.cta .bgh{position:absolute;inset:0;opacity:.35;-webkit-mask-image:linear-gradient(110deg,transparent 30%,#000);mask-image:linear-gradient(110deg,transparent 30%,#000)}
.cta > div,.cta form{position:relative;z-index:1}
.cta h2{font-family:"Montserrat",sans-serif;font-weight:800;font-size:52px;line-height:1.05;letter-spacing:-.02em;margin:22px 0 0;color:#f4f1ea}
.cta p{font-size:18px;line-height:1.65;color:#b5afa3;margin:22px 0 0}
.cta .mail{display:inline-block;margin-top:34px;font-family:"Montserrat",sans-serif;font-size:20px;font-weight:700;color:#f4f1ea;text-decoration:none;border-bottom:2px solid #ffb400;padding-bottom:4px}
form.f{display:flex;flex-direction:column;gap:16px;padding:36px;background:#141517;border:1px solid #2b2c30}
.f label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d8d3c8}
.f input,.f select,.f textarea{height:54px;padding:0 18px;border:1px solid #3a3b40;background:#1b1c1f;color:#f4f1ea;font-family:"Manrope",sans-serif;font-size:16px;border-radius:0;outline:none;transition:border-color 160ms ease,box-shadow 160ms ease}
.f textarea{height:110px;padding:14px 18px;resize:none}
.f input:focus,.f select:focus,.f textarea:focus{border-color:#ffb400;box-shadow:0 0 0 3px rgba(255,180,0,.2)}
.f ::placeholder{color:#8d877b}
.f .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f label{min-width:0}
.f input,.f select,.f textarea{width:100%}
.f .btn{justify-content:center;margin-top:6px}
.f .lg{display:flex;flex-direction:row;align-items:flex-start;gap:10px;font-size:13px;font-weight:500;letter-spacing:0;text-transform:none;color:#a7a195}
.f .lg input{width:18px;height:18px;padding:0;accent-color:#ffb400;margin:1px 0 0}

/* pie */
.ftr{position:relative;border-top:1px solid rgba(255,180,0,.35)}
.ftr-in{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr auto;gap:56px;align-items:center;padding-top:52px;padding-bottom:52px}
.ftr .logo{width:56px;height:64px;object-fit:contain}
.ftr nav{display:flex;gap:30px}
.ftr nav a{color:#cfc9bc;text-decoration:none;font-size:14px}
.ftr nav a:hover{color:#ffb400}
.ftr small{font-size:14px;color:#a7a195;text-align:right;line-height:1.6}

.ia{animation:up 900ms var(--ease) both}.ib{animation:up 900ms var(--ease) 100ms both}.ic{animation:up 900ms var(--ease) 200ms both}.id{animation:up 900ms var(--ease) 300ms both}.ie{animation:up 900ms var(--ease) 400ms both}
.iz{animation:zoom 1200ms var(--ease) 150ms both}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes zoom{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}


/* fénix realista */
.phr{position:absolute;left:50%;top:10px;width:700px;margin-left:-350px;animation:rise 1.8s var(--ease) both}
.phr img{display:block;width:100%;height:auto;-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 99%);mask-image:linear-gradient(to bottom,#000 78%,transparent 99%);animation:flame 3.2s ease-in-out 1.8s infinite}
@keyframes flame{0%,100%{filter:brightness(1) saturate(1)}30%{filter:brightness(1.12) saturate(1.08)}55%{filter:brightness(.96)}75%{filter:brightness(1.08) saturate(1.05)}}


/* chispas */
.embers{position:absolute;top:-40px;right:0;bottom:0;left:0;pointer-events:none;z-index:3}
.sp{position:absolute;z-index:3;border-radius:50%;opacity:0;animation-timing-function:linear;animation-iteration-count:infinite}
@keyframes spk0{0%{opacity:0;transform:translate(0px,-0px) scale(1.00)}10%{opacity:1;transform:translate(-8px,-57px) scale(0.94)}20%{opacity:1;transform:translate(11px,-113px) scale(0.89)}30%{opacity:0.94;transform:translate(51px,-170px) scale(0.83)}40%{opacity:0.88;transform:translate(101px,-226px) scale(0.78)}50%{opacity:0.82;transform:translate(145px,-283px) scale(0.72)}60%{opacity:0.76;transform:translate(170px,-340px) scale(0.67)}70%{opacity:0.7;transform:translate(170px,-396px) scale(0.61)}80%{opacity:0.64;transform:translate(144px,-453px) scale(0.56)}90%{opacity:0.58;transform:translate(100px,-509px) scale(0.50)}100%{opacity:0;transform:translate(50px,-566px) scale(0.45)}}
.sp0{animation-name:spk0}
@keyframes spk1{0%{opacity:0;transform:translate(0px,-0px) scale(1.00)}10%{opacity:1;transform:translate(10px,-48px) scale(0.94)}20%{opacity:1;transform:translate(50px,-97px) scale(0.89)}30%{opacity:0.94;transform:translate(107px,-145px) scale(0.83)}40%{opacity:0.88;transform:translate(160px,-193px) scale(0.78)}50%{opacity:0.82;transform:translate(190px,-242px) scale(0.72)}60%{opacity:0.76;transform:translate(188px,-290px) scale(0.67)}70%{opacity:0.7;transform:translate(153px,-338px) scale(0.61)}80%{opacity:0.64;transform:translate(98px,-387px) scale(0.56)}90%{opacity:0.58;transform:translate(43px,-435px) scale(0.50)}100%{opacity:0;transform:translate(7px,-483px) scale(0.45)}}
.sp1{animation-name:spk1}
@keyframes spk2{0%{opacity:0;transform:translate(0px,-0px) scale(1.00)}10%{opacity:1;transform:translate(-29px,-55px) scale(0.94)}20%{opacity:1;transform:translate(-41px,-110px) scale(0.89)}30%{opacity:0.94;transform:translate(-32px,-165px) scale(0.83)}40%{opacity:0.88;transform:translate(-5px,-220px) scale(0.78)}50%{opacity:0.82;transform:translate(29px,-275px) scale(0.72)}60%{opacity:0.76;transform:translate(54px,-330px) scale(0.67)}70%{opacity:0.7;transform:translate(61px,-385px) scale(0.61)}80%{opacity:0.64;transform:translate(46px,-440px) scale(0.56)}90%{opacity:0.58;transform:translate(15px,-495px) scale(0.50)}100%{opacity:0;transform:translate(-17px,-550px) scale(0.45)}}
.sp2{animation-name:spk2}
@keyframes spk3{0%{opacity:0;transform:translate(0px,-0px) scale(1.00)}10%{opacity:1;transform:translate(43px,-51px) scale(0.94)}20%{opacity:1;transform:translate(97px,-103px) scale(0.89)}30%{opacity:0.94;transform:translate(147px,-154px) scale(0.83)}40%{opacity:0.88;transform:translate(178px,-206px) scale(0.78)}50%{opacity:0.82;transform:translate(180px,-257px) scale(0.72)}60%{opacity:0.76;transform:translate(154px,-309px) scale(0.67)}70%{opacity:0.7;transform:translate(106px,-360px) scale(0.61)}80%{opacity:0.64;transform:translate(51px,-411px) scale(0.56)}90%{opacity:0.58;transform:translate(6px,-463px) scale(0.50)}100%{opacity:0;transform:translate(-18px,-514px) scale(0.45)}}
.sp3{animation-name:spk3}
@keyframes spk4{0%{opacity:0;transform:translate(0px,-0px) scale(1.00)}10%{opacity:1;transform:translate(-12px,-53px) scale(0.94)}20%{opacity:1;transform:translate(-6px,-106px) scale(0.89)}30%{opacity:0.94;transform:translate(15px,-159px) scale(0.83)}40%{opacity:0.88;transform:translate(49px,-212px) scale(0.78)}50%{opacity:0.82;transform:translate(86px,-265px) scale(0.72)}60%{opacity:0.76;transform:translate(119px,-319px) scale(0.67)}70%{opacity:0.7;transform:translate(140px,-372px) scale(0.61)}80%{opacity:0.64;transform:translate(144px,-425px) scale(0.56)}90%{opacity:0.58;transform:translate(131px,-478px) scale(0.50)}100%{opacity:0;transform:translate(103px,-531px) scale(0.45)}}
.sp4{animation-name:spk4}
@keyframes spk5{0%{opacity:0;transform:translate(0px,-0px) scale(1.00)}10%{opacity:1;transform:translate(-18px,-53px) scale(0.94)}20%{opacity:1;transform:translate(-19px,-106px) scale(0.89)}30%{opacity:0.94;transform:translate(-2px,-159px) scale(0.83)}40%{opacity:0.88;transform:translate(26px,-212px) scale(0.78)}50%{opacity:0.82;transform:translate(57px,-265px) scale(0.72)}60%{opacity:0.76;transform:translate(78px,-317px) scale(0.67)}70%{opacity:0.7;transform:translate(83px,-370px) scale(0.61)}80%{opacity:0.64;transform:translate(69px,-423px) scale(0.56)}90%{opacity:0.58;transform:translate(42px,-476px) scale(0.50)}100%{opacity:0;transform:translate(12px,-529px) scale(0.45)}}
.sp5{animation-name:spk5}
@keyframes spk6{0%{opacity:0;transform:translate(0px,-0px) scale(1.00)}10%{opacity:1;transform:translate(1px,-45px) scale(0.94)}20%{opacity:1;transform:translate(-24px,-90px) scale(0.89)}30%{opacity:0.94;transform:translate(-69px,-135px) scale(0.83)}40%{opacity:0.88;transform:translate(-122px,-180px) scale(0.78)}50%{opacity:0.82;transform:translate(-167px,-225px) scale(0.72)}60%{opacity:0.76;transform:translate(-193px,-270px) scale(0.67)}70%{opacity:0.7;transform:translate(-194px,-315px) scale(0.61)}80%{opacity:0.64;transform:translate(-167px,-360px) scale(0.56)}90%{opacity:0.58;transform:translate(-122px,-405px) scale(0.50)}100%{opacity:0;transform:translate(-70px,-450px) scale(0.45)}}
.sp6{animation-name:spk6}
@keyframes spk7{0%{opacity:0;transform:translate(0px,-0px) scale(1.00)}10%{opacity:1;transform:translate(-19px,-56px) scale(0.94)}20%{opacity:1;transform:translate(-52px,-113px) scale(0.89)}30%{opacity:0.94;transform:translate(-94px,-169px) scale(0.83)}40%{opacity:0.88;transform:translate(-136px,-226px) scale(0.78)}50%{opacity:0.82;transform:translate(-170px,-282px) scale(0.72)}60%{opacity:0.76;transform:translate(-190px,-339px) scale(0.67)}70%{opacity:0.7;transform:translate(-191px,-395px) scale(0.61)}80%{opacity:0.64;transform:translate(-175px,-452px) scale(0.56)}90%{opacity:0.58;transform:translate(-142px,-508px) scale(0.50)}100%{opacity:0;transform:translate(-101px,-565px) scale(0.45)}}
.sp7{animation-name:spk7}

.embers.boost{opacity:0;transition:opacity 500ms ease}
.hero:hover .embers.boost{opacity:1}
.emit{position:absolute;left:-200px;top:-200px;width:0;height:0;z-index:1;pointer-events:none;opacity:0;transition:opacity 700ms ease}
.emit.on{opacity:1;transition:opacity 180ms ease}
.em{position:absolute;left:0;top:0;border-radius:50%;opacity:0;animation-timing-function:ease-out;animation-iteration-count:infinite}
.emit .halo{display:none;position:absolute;left:-150px;top:-110px;width:300px;height:200px;border-radius:50%;background:radial-gradient(ellipse 60% 55% at 45% 55%,rgba(255,110,10,.13) 0%,rgba(255,90,0,.05) 45%,rgba(255,90,0,0) 75%);filter:blur(14px);transform:rotate(-18deg)}
.emit .halo.h2{left:-70px;top:-150px;width:170px;height:240px;background:radial-gradient(ellipse 50% 60% at 50% 60%,rgba(255,140,30,.10) 0%,rgba(255,100,0,0) 70%);transform:rotate(12deg)}
@keyframes emk0{0%{opacity:0;transform:translate(0,0) scale(1)}20%{opacity:.75}100%{opacity:0;transform:translate(-28px,-115px) scale(.5)}}
.em0{animation-name:emk0}
@keyframes emk1{0%{opacity:0;transform:translate(0,0) scale(1)}20%{opacity:.75}100%{opacity:0;transform:translate(-17px,-115px) scale(.5)}}
.em1{animation-name:emk1}
@keyframes emk2{0%{opacity:0;transform:translate(0,0) scale(1)}20%{opacity:.75}100%{opacity:0;transform:translate(-8px,-66px) scale(.5)}}
.em2{animation-name:emk2}
@keyframes emk3{0%{opacity:0;transform:translate(0,0) scale(1)}20%{opacity:.75}100%{opacity:0;transform:translate(0px,-82px) scale(.5)}}
.em3{animation-name:emk3}
@keyframes emk4{0%{opacity:0;transform:translate(0,0) scale(1)}20%{opacity:.75}100%{opacity:0;transform:translate(8px,-66px) scale(.5)}}
.em4{animation-name:emk4}
@keyframes emk5{0%{opacity:0;transform:translate(0,0) scale(1)}20%{opacity:.75}100%{opacity:0;transform:translate(17px,-82px) scale(.5)}}
.em5{animation-name:emk5}
@keyframes emk6{0%{opacity:0;transform:translate(0,0) scale(1)}20%{opacity:.75}100%{opacity:0;transform:translate(28px,-82px) scale(.5)}}
.em6{animation-name:emk6}




/* pavesas que se desprenden al mover el ratón por la cabecera */
.trail{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:8;overflow:hidden}
.sh{position:absolute;display:block;border-radius:50%;opacity:0;animation-timing-function:cubic-bezier(.2,.6,.4,1);animation-fill-mode:forwards;animation-iteration-count:1}
@keyframes sh0a{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(-18px,-54px) scale(.85)}100%{opacity:0;transform:translate(-3px,-120px) scale(.3)}}
.sh0a{animation-name:sh0a}
@keyframes sh0b{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(-18px,-54px) scale(.85)}100%{opacity:0;transform:translate(-3px,-120px) scale(.3)}}
.sh0b{animation-name:sh0b}
@keyframes sh1a{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(0px,-67px) scale(.85)}100%{opacity:0;transform:translate(33px,-149px) scale(.3)}}
.sh1a{animation-name:sh1a}
@keyframes sh1b{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(0px,-67px) scale(.85)}100%{opacity:0;transform:translate(33px,-149px) scale(.3)}}
.sh1b{animation-name:sh1b}
@keyframes sh2a{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(3px,-65px) scale(.85)}100%{opacity:0;transform:translate(36px,-144px) scale(.3)}}
.sh2a{animation-name:sh2a}
@keyframes sh2b{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(3px,-65px) scale(.85)}100%{opacity:0;transform:translate(36px,-144px) scale(.3)}}
.sh2b{animation-name:sh2b}
@keyframes sh3a{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(-6px,-66px) scale(.85)}100%{opacity:0;transform:translate(10px,-147px) scale(.3)}}
.sh3a{animation-name:sh3a}
@keyframes sh3b{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(-6px,-66px) scale(.85)}100%{opacity:0;transform:translate(10px,-147px) scale(.3)}}
.sh3b{animation-name:sh3b}
@keyframes sh4a{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(11px,-51px) scale(.85)}100%{opacity:0;transform:translate(18px,-114px) scale(.3)}}
.sh4a{animation-name:sh4a}
@keyframes sh4b{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(11px,-51px) scale(.85)}100%{opacity:0;transform:translate(18px,-114px) scale(.3)}}
.sh4b{animation-name:sh4b}
@keyframes sh5a{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(-19px,-59px) scale(.85)}100%{opacity:0;transform:translate(-31px,-131px) scale(.3)}}
.sh5a{animation-name:sh5a}
@keyframes sh5b{0%{opacity:0;transform:translate(0,0) scale(1)}12%{opacity:.95}45%{opacity:.8;transform:translate(-19px,-59px) scale(.85)}100%{opacity:0;transform:translate(-31px,-131px) scale(.3)}}
.sh5b{animation-name:sh5b}

/* cursor propio en la cabecera */
.hero{cursor:url("../img/8f4e1b62803eb96ccf70a7fac7d9b20d.svg") 2 1,auto}
.hero a,.hero button{cursor:pointer}

/* === único cambio respecto a tu versión: cabecera === */
.hdr{position:fixed;top:0;left:0;right:0;z-index:60;transform:translateY(-110%);transition:transform 600ms var(--ease);box-shadow:0 18px 40px -18px rgba(0,0,0,.7)}
.hdr.show{transform:none}
.hdr .hdr-in{max-width:1440px;margin:0 auto}
.topbar .side{display:flex;align-items:center;gap:30px}
.topbar a.q{font-family:"Montserrat",sans-serif;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#ece9e2;text-decoration:none;position:relative;padding:12px 0}
.topbar a.q::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#ffb400;transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--ease)}
.topbar a.q:hover::after{transform:scaleX(1)}
.mbtn{display:inline-flex;align-items:center;gap:14px;height:48px;padding:0 4px 0 0;background:none;border:0;cursor:pointer;font-family:"Montserrat",sans-serif;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#ece9e2;transition:color 200ms ease}
.mbtn:hover{color:#ffb400}
.mbtn .bars{display:flex;flex-direction:column;gap:6px;width:26px}
.mbtn .bars i{display:block;height:2px;background:#ffb400;transition:width 300ms var(--ease)}
.mbtn .bars i:nth-child(2){width:18px;align-self:flex-end}
.mbtn:hover .bars i:nth-child(2){width:26px}
.ovl{position:fixed;inset:0;z-index:80;overflow:hidden;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity 380ms ease,visibility 0s linear 380ms}
.ovl.open{opacity:1;visibility:visible;transition:opacity 380ms ease}
.ovl nav{display:flex;flex-direction:column;align-items:center;gap:6px}
.ovl nav a{font-family:"Montserrat",sans-serif;font-weight:800;font-size:clamp(34px,5vw,64px);letter-spacing:-.02em;color:#f4f1ea;text-decoration:none;line-height:1.25;transform:translateY(14px);opacity:0;transition:color 200ms ease,transform 600ms var(--ease),opacity 600ms ease}
.ovl.open nav a{transform:none;opacity:1}
.ovl.open nav a:nth-child(2){transition-delay:40ms,40ms,40ms}.ovl.open nav a:nth-child(3){transition-delay:80ms,80ms,80ms}.ovl.open nav a:nth-child(4){transition-delay:120ms,120ms,120ms}.ovl.open nav a:nth-child(5){transition-delay:160ms,160ms,160ms}.ovl.open nav a:nth-child(6){transition-delay:200ms,200ms,200ms}
.ovl nav a:hover{color:#ffb400}
.ovl nav a.btn{font-size:13px;letter-spacing:.2em;margin-top:40px;color:#17130a}
.ovl .x{position:absolute;top:28px;right:max(20px,calc((100vw - 1440px)/2 + 112px));width:48px;height:48px;background:none;border:0;cursor:pointer}
.ovl .x::before,.ovl .x::after{content:"";position:absolute;left:11px;right:11px;top:23px;height:2px;background:#ffb400;transform:rotate(45deg)}
.ovl .x::after{transform:rotate(-45deg)}
/* === ancho completo: fondos de lado a lado, contenido centrado a 1440 px como en el diseño === */
.pg{width:100%;min-width:1440px}
.in{max-width:1440px;margin-left:auto;margin-right:auto}
.topbar{max-width:1440px;margin:0 auto}
.hero{background:radial-gradient(1000px 760px at calc(50% + 317px) 52%,#2b2416 0%,#1a1a1b 52%,#121315 100%)}
.hero .bgh{-webkit-mask-image:radial-gradient(720px 600px at calc(50% + 317px) 52%,#000 0%,transparent 78%);mask-image:radial-gradient(720px 600px at calc(50% + 317px) 52%,#000 0%,transparent 78%)}
.ren .wm{left:calc(50% - 250px)}
.cta{max-width:1216px;margin:0 auto 128px}
/* v8: logo integrado en el bloque de texto; esquina solo con Menú; presupuesto en la cabecera de scroll */
.hero .topbar{justify-content:flex-end}
.hero .eyebrow{gap:18px}
.ewm{display:inline-flex;align-items:center;font-size:19px;font-weight:800;letter-spacing:.14em;color:#f4f1ea;text-transform:none}
.ewm .bars{display:inline-flex;gap:3px;margin:0 4px 0 3px}
.ewm .bars i{display:block;width:3px;height:14px;background:#ffb400}
.esep{display:block;width:1px;height:18px;background:#55524c}
.hdr .hq{position:absolute;z-index:2;top:50%;right:32px;transform:translateY(-50%);height:44px;padding:0 22px;font-size:11px}

/* === WordPress: adaptación a bloques === */
.hero h1.eyebrow{font-size:13px;line-height:normal;margin:0;font-family:inherit;font-weight:700;letter-spacing:.28em;color:#cfc9bc;text-shadow:none}
.hero h2.ib{font-family:"Montserrat",sans-serif;font-weight:800;font-size:76px;line-height:1.02;letter-spacing:-.03em;margin:26px 0 0;color:#f6f3ec;text-shadow:0 6px 40px rgba(0,0,0,.55)}
.hero h2.ib mark{background:none;color:#ffb400}
.hero h1.eyebrow .ewm{color:#f4f1ea}
body{margin:0;background:#141517}
.admin-bar .hdr{top:32px}
.hero .hero-copy{min-width:0}
.hero h1 mark{background:none;color:#ffb400}
.hero .ctas{display:flex;gap:16px;margin-top:44px}
.hero .ctas .wp-block-button{margin:0}
.hero .wp-block-button__link{display:inline-flex;align-items:center;gap:14px;height:60px;padding:0 34px;border-radius:0;font-family:"Montserrat",sans-serif;font-size:13px;font-weight:700;letter-spacing:.2em;line-height:1;text-transform:uppercase;text-decoration:none;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:transform 160ms var(--ease),background-color 200ms ease,color 200ms ease,border-color 200ms ease}
.hero .wp-block-button__link:active{transform:scale(.97)}
.hero .btn-g .wp-block-button__link{background:#ffb400;color:#17130a}
.hero .btn-g .wp-block-button__link:hover{background:#ffc93d;color:#17130a}
.hero .btn-g .wp-block-button__link::after{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform 240ms var(--ease)}
.hero .btn-g .wp-block-button__link:hover::after{transform:translateX(4px)}
.hero .btn-o .wp-block-button__link{background:transparent;border-color:#55524c;color:#f4f1ea}
.hero .btn-o .wp-block-button__link:hover{border-color:#ffb400;color:#ffb400}
.dev{min-height:120vh;padding:128px 0}
.dev p{margin:0;font-size:18px;color:#606060}
