:root{--accent-rgb:0 131 255;--accent2-rgb:59 169 255;--urgent-rgb:239 25 128;--urgent2-rgb:255 79 163;--surface-rgb:1 9 32}
:root{--ink:#000;--ink-2:var(--navy);--silver:var(--chrome-hi);--silver-2:var(--muted);--white:var(--chrome-hi);--green:rgb(var(--accent-rgb));--red:rgb(var(--accent2-rgb));--cyan:rgb(var(--accent-rgb));--cyan-neon:rgb(var(--accent2-rgb));--petrol:var(--navy);--card-top:var(--card-top);--card-bottom:var(--deep);--line:rgb(var(--accent-rgb) / .28);--display:"Montserrat",sans-serif;--body:"Montserrat",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--ink);color:var(--silver);font-family:var(--body);font-size:16px;line-height:1.65;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{color:inherit}img{max-width:100%;display:block}::selection{background:var(--red);color:#fff}
.progress{position:fixed;inset:0 0 auto;height:2px;z-index:100;background:transparent}.progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--green),#fff,var(--red));box-shadow:0 0 14px #fff}
.site-header{height:78px;position:absolute;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,84px);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:10px;line-height:1}.brand>span:last-child{display:grid}.brand b{font-size:14px;letter-spacing:.24em;color:#fff}.brand small{font-size:7px;letter-spacing:.46em;margin-top:5px;color:var(--silver-2)}
nav{display:flex;align-items:center;gap:clamp(18px,2.2vw,38px)}nav a{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c2c5c8;transition:.25s}nav a:not(.nav-cta):hover{color:#fff}.nav-cta{padding:11px 18px;border:1px solid rgba(255,255,255,.4);color:#fff}.nav-cta:hover{background:#fff;color:#111}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px}.menu-toggle span{width:24px;height:1px;background:#fff;display:block;margin:7px auto}
.hero{min-height:930px;height:100svh;max-height:1080px;position:relative;display:grid;grid-template-columns:minmax(420px,46%) 1fr;align-items:center;padding:100px clamp(22px,5vw,84px) 62px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 66% 46%,#202326 0,#0b0c0e 37%,#050607 72%)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,7,.96) 0,rgba(5,6,7,.72) 42%,rgba(5,6,7,.08) 70%),linear-gradient(0deg,#050607 0,transparent 19%);z-index:-1}.hero:after{content:"MÉXICO";position:absolute;left:40px;bottom:-5.5vw;font:clamp(120px,21vw,320px)/.8 var(--display);letter-spacing:.03em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.035);z-index:-1}
.hero-grain{position:absolute;inset:0;z-index:-1;opacity:.26;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%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)' opacity='.13'/%3E%3C/svg%3E")}
.hero-beams,.final-beams{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-beams i,.final-beams:before,.final-beams:after{position:absolute;content:"";width:22%;height:120%;top:-10%;filter:blur(30px);opacity:.19;transform:rotate(8deg)}.hero-beams i:nth-child(1){left:54%;background:linear-gradient(90deg,transparent,var(--green),transparent)}.hero-beams i:nth-child(2){left:68%;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.12}.hero-beams i:nth-child(3){left:82%;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.hero-copy{position:relative;z-index:5;max-width:650px}.eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 20px;color:#dde0e2;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.27em}.eyebrow span{width:28px;height:1px;background:currentColor}.first-time{width:max-content;margin-bottom:11px;border-left:3px solid var(--green);padding:6px 10px;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em}.hero h1{margin:0;text-transform:uppercase;line-height:.78;letter-spacing:.015em}.hero h1 span{display:block;font:clamp(78px,9.2vw,160px)/.82 var(--display);color:var(--silver);text-shadow:0 3px 14px #000}.hero h1 strong{display:block;margin-left:clamp(24px,4vw,68px);font:clamp(88px,10.8vw,188px)/.8 var(--display);color:transparent;-webkit-text-stroke:2px var(--silver);text-shadow:0 4px 16px rgba(255,255,255,.07)}.hero-lead{max-width:590px;margin:28px 0;color:#b6b9bd;font-size:15px}.event-meta{display:flex;border-block:1px solid var(--line);padding:17px 0;margin:23px 0 27px;gap:0}.event-meta div{padding:0 28px;border-right:1px solid var(--line)}.event-meta div:first-child{padding-left:0}.event-meta div:last-child{border:0}.event-meta small,.event-meta b{display:block}.event-meta small{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#747980}.event-meta b{color:#f1f2f2;font-family:var(--display);font-size:23px;letter-spacing:.04em;line-height:1.1;margin-top:3px}.hero-actions{display:flex;align-items:center;gap:27px}.button{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-width:230px;padding:16px 17px 16px 22px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.12em;transition:transform .25s,box-shadow .25s}.button b{display:grid;place-items:center;width:29px;height:29px;background:rgba(0,0,0,.13);font-size:17px}.button-primary{position:relative;overflow:hidden;background:var(--silver);color:#0d0e0f;box-shadow:0 12px 40px rgba(255,255,255,.1)}.button-primary:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--green),#f4f4f1 48%,var(--red));transform:translateX(-102%);transition:transform .45s}.button-primary:hover:before{transform:none}.button-primary>*{position:relative}.button:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(255,255,255,.16)}.text-link{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #555;padding:6px 0;transition:.25s}.text-link span{margin-left:8px}.text-link:hover{color:#fff;border-color:#fff}.micro-proof{font-size:9px;letter-spacing:.1em;color:#747980;margin:16px 0}.micro-proof b{color:#bfc3c6}
.hero-art{position:absolute;inset:80px 0 0 42%;z-index:1;pointer-events:none}.speaker-halo{position:absolute;left:26%;top:27%;width:360px;height:360px;background:radial-gradient(circle,rgba(255,255,255,.13),transparent 67%);border-radius:50%}.speaker-image{position:absolute;height:88%;max-width:none;bottom:-4%;left:18%;filter:saturate(.55) contrast(1.08);z-index:3}.speaker-tag{position:absolute;right:7%;bottom:16%;display:grid;text-align:right;z-index:4;text-transform:uppercase;text-shadow:0 2px 10px #000}.speaker-tag small{font-size:9px;letter-spacing:.35em}.speaker-tag b{font:49px/.9 var(--display);color:#fff;letter-spacing:.03em}.speaker-tag span{font-size:10px;letter-spacing:.19em;color:#bfc3c6}.hero-bottom{position:absolute;bottom:0;left:0;right:0;height:50px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-around;padding-left:40%;font-size:9px;font-weight:700;letter-spacing:.22em;color:#6e7378}.hero-bottom span:before{content:"◆";font-size:5px;margin-right:3vw;color:#555}
@keyframes pulse{50%{opacity:.75;filter:drop-shadow(0 0 46px rgba(255,255,255,.2))}}
.countdown-wrap{display:flex;align-items:center;justify-content:center;gap:clamp(30px,7vw,110px);min-height:170px;border-bottom:1px solid var(--line);background:#08090a}.countdown-wrap>p{margin:0;max-width:185px;text-transform:uppercase;font-size:10px;letter-spacing:.2em;color:#747a80}.countdown{display:flex;align-items:flex-start;gap:clamp(14px,2.4vw,38px)}.countdown div{text-align:center;min-width:65px}.countdown b{display:block;font:clamp(38px,5vw,65px)/.9 var(--display);color:#e2e4e5;letter-spacing:.05em}.countdown span{font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:#666}.countdown i{font:40px/1 var(--display);color:#373a3c;font-style:normal}
.section-pad{padding:clamp(90px,11vw,165px) clamp(22px,7vw,110px)}.section-kicker{font-size:9px;font-weight:800;letter-spacing:.25em;text-transform:uppercase;color:#7e8389;margin-bottom:35px}.section-kicker:before{content:"";display:inline-block;width:34px;height:1px;vertical-align:middle;margin-right:11px;background:linear-gradient(90deg,var(--green),var(--red))}h2{font:clamp(58px,7.7vw,120px)/.88 var(--display);text-transform:uppercase;letter-spacing:.015em;color:#d9dcde;margin:0}h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px #d9dcde}.overline{color:#999fa4;text-transform:uppercase;letter-spacing:.25em;font-size:10px;font-weight:700}
.manifesto{background:linear-gradient(135deg,#070809,#0d0f11);position:relative}.manifesto:after{content:"";position:absolute;right:0;top:0;width:38%;height:55%;background:radial-gradient(ellipse at top right,rgba(24,160,95,.09),transparent 65%)}.manifesto-head{display:grid;grid-template-columns:1.8fr 1fr;align-items:end;gap:10vw}.manifesto-head p{max-width:430px;color:#969ba0;margin:0 0 10px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:85px;border:1px solid var(--line)}.benefit-grid article{min-height:330px;padding:27px;position:relative;border-right:1px solid var(--line);transition:background .35s,transform .35s}.benefit-grid article:last-child{border:0}.benefit-grid article:hover{background:linear-gradient(150deg,rgba(255,255,255,.07),rgba(255,255,255,.01));transform:translateY(-7px)}.benefit-grid article>span{position:absolute;right:20px;top:14px;font:34px var(--display);color:rgba(255,255,255,.05)}.benefit-grid .icon{font:45px var(--display);color:#cdd0d2;margin:65px 0 40px}.benefit-grid h3{font:27px/1 var(--display);letter-spacing:.05em;text-transform:uppercase;color:#e1e2e3}.benefit-grid p{font-size:13px;color:#8f9499}
.speaker{display:grid;grid-template-columns:.92fr 1.08fr;gap:10vw;align-items:center;background:#060708;position:relative;overflow:hidden}.speaker:after{content:"DANIEL";position:absolute;right:-3vw;bottom:2vw;font:19vw/.7 var(--display);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.03);z-index:0}.speaker-portrait{position:relative;z-index:1}.portrait-frame{height:min(720px,70vw);background:radial-gradient(circle at 48% 34%,#33383c,#111315 50%,#08090a 75%);position:relative;overflow:hidden;border:1px solid var(--line)}.portrait-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(20,160,94,.18),transparent 45%,rgba(202,50,59,.17));z-index:2}.portrait-frame img{height:100%;width:100%;object-fit:cover;object-position:50% 0;filter:saturate(.45);position:relative;z-index:1}.vertical-label{position:absolute;right:-26px;top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right center;font-size:7px;letter-spacing:.25em;color:#72777b}.speaker-copy{position:relative;z-index:1}.speaker-copy h2{font-size:clamp(76px,10vw,150px)}.speaker-copy .intro{color:#d3d5d6;font-size:18px;line-height:1.6;margin-top:35px}.speaker-copy>p:not(.overline):not(.intro){max-width:600px;color:#8e9398}.speaker-stats{display:flex;margin-top:50px;border-top:1px solid var(--line);padding-top:25px;gap:35px}.speaker-stats div{display:flex;align-items:center;gap:10px}.speaker-stats b{font:32px var(--display);color:#e2e4e5}.speaker-stats span{font-size:8px;line-height:1.35;text-transform:uppercase;letter-spacing:.13em;color:#72777d}
.experience{background:#0b0d0e;display:grid;grid-template-columns:.9fr 1.1fr;gap:10vw;align-items:start}.experience-title{position:sticky;top:120px}.timeline{border-top:1px solid var(--line)}.timeline article{display:grid;grid-template-columns:70px 32px 1fr;gap:15px;padding:32px 0;border-bottom:1px solid var(--line)}.timeline time{font:25px var(--display);color:#cdd0d2}.timeline article>span{width:9px;height:9px;border:1px solid #a5a9ac;border-radius:50%;margin-top:8px;position:relative}.timeline article>span:after{content:"";position:absolute;top:14px;left:3px;width:1px;height:110px;background:#26292c}.timeline article:last-child>span:after{display:none}.timeline small{font-size:8px;color:#696e73;letter-spacing:.2em}.timeline h3{margin:3px 0 8px;font:30px var(--display);color:#e0e2e3;text-transform:uppercase;letter-spacing:.03em}.timeline p{font-size:13px;color:#868b90;max-width:520px;margin:0}.agenda-note{grid-column:2;font-size:10px;color:#60656a;margin:0}
.tickets{position:relative;display:grid;grid-template-columns:1fr .75fr;gap:10vw;align-items:center;overflow:hidden;background:linear-gradient(130deg,#050607,#101214)}.ticket-glow{position:absolute;left:-15%;top:-20%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,rgba(20,151,89,.11),transparent 65%)}.ticket-copy,.ticket-card{position:relative}.ticket-copy>p:not(.overline){max-width:560px;color:#989da1}.ticket-copy ul{columns:2;list-style:none;padding:0;margin-top:35px;max-width:560px}.ticket-copy li{font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin:13px 0}.ticket-copy li:before{content:"✓";color:#c4c8ca;margin-right:10px}.ticket-card{border:1px solid rgba(255,255,255,.22);padding:32px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:0 28px 80px rgba(0,0,0,.5);backdrop-filter:blur(15px)}.ticket-card:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.05);pointer-events:none}.ticket-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em}.ticket-top b{padding:4px 8px;background:#d9dcde;color:#111}.ticket-price{display:flex;align-items:end;gap:8px;margin:55px 0 20px}.ticket-price small{font-size:9px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}.ticket-price strong{font:90px/.75 var(--display);color:#eff0f0}.ticket-price span{font:20px var(--display);margin-bottom:5px}.ticket-card>p{font-size:12px;color:#8f9498;border-top:1px solid var(--line);padding-top:20px}.ticket-card .button{width:100%;margin-top:20px}.secure-note{display:block;text-align:center;margin-top:15px;color:#6d7277;font-size:8px;letter-spacing:.08em}
.proof{background:#08090a}.proof-head{text-align:center}.quote-track{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:70px}.quote-track blockquote{margin:0;padding:36px;border:1px solid var(--line);min-height:300px;display:flex;flex-direction:column;background:linear-gradient(150deg,rgba(255,255,255,.04),transparent)}.stars{color:#bfc3c6;letter-spacing:.23em;font-size:10px}.quote-track blockquote>p{font-family:Georgia,serif;font-size:19px;line-height:1.6;color:#c5c8ca}.quote-track footer{display:flex;align-items:center;gap:13px;margin-top:auto}.quote-track footer>span{font:30px var(--display);color:#6b7074}.quote-track footer div{display:grid}.quote-track footer b{font-size:10px;text-transform:uppercase;letter-spacing:.1em}.quote-track footer small{font-size:9px;color:#70757a}
.host{display:grid;grid-template-columns:180px 1fr auto;gap:7vw;align-items:center;border-block:1px solid var(--line);background:#0b0c0d}.host h2{font-size:70px}.host p{max-width:680px;color:#8b9095;font-size:14px}
.faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;background:#060708}.faq-heading{position:sticky;top:120px;height:max-content}.faq-heading p{color:#7f8489;max-width:350px}.faq-heading>a{font-size:12px;color:#d9dbdc;border-bottom:1px solid #666}.accordion details{border-top:1px solid var(--line)}.accordion details:last-child{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:30px;padding:28px 0;font-size:15px;font-weight:700;color:#cfd2d4}.accordion summary::-webkit-details-marker{display:none}.accordion summary span{font:24px var(--display);transition:transform .3s}.accordion details[open] summary span{transform:rotate(45deg)}.accordion details p{color:#858a8f;font-size:13px;max-width:650px;margin:-8px 45px 27px 0}
.final-cta{min-height:710px;display:grid;place-items:center;text-align:center;padding:100px 22px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#25282b 0,#0c0e0f 42%,#050607 75%);isolation:isolate}.final-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,155,91,.11),transparent 38%,transparent 62%,rgba(207,48,58,.1))}.final-beams:before{left:19%;background:linear-gradient(90deg,transparent,var(--green),transparent)}.final-beams:after{right:19%;background:linear-gradient(90deg,transparent,var(--red),transparent)}.final-cta>div:not(.final-beams){position:relative;z-index:2}.final-cta .eyebrow{justify-content:center}.final-cta h2{font-size:clamp(64px,8.5vw,130px)}.final-cta .button{margin-top:35px}.final-cta small{display:block;margin-top:16px;color:#777c81;font-size:8px;text-transform:uppercase;letter-spacing:.12em}
.site-footer{min-height:220px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;padding:45px clamp(22px,6vw,90px);font-size:11px;color:#767b80}.site-footer>p{text-align:center;text-transform:uppercase;letter-spacing:.12em}.site-footer>div:nth-child(3){display:flex;justify-content:flex-end;gap:24px}.site-footer>div a:hover{color:#fff}.site-footer>small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;text-align:center;font-size:8px;letter-spacing:.12em}.mobile-ticket{display:none}
.lead-modal{width:min(600px,calc(100% - 32px));max-height:92vh;overflow:auto;border:1px solid #3b3f42;padding:clamp(28px,5vw,55px);background:#0b0d0e;color:var(--silver);box-shadow:0 30px 120px #000}.lead-modal::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(9px)}.modal-close{position:absolute;right:18px;top:12px;border:0;background:none;font:32px var(--display);cursor:pointer}.lead-modal h2{font-size:clamp(45px,7vw,70px)}.lead-modal>p:not(.overline){font-size:13px;color:#8d9297}.lead-modal form{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:28px}.lead-modal label{display:grid;gap:6px;font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#91969a}.lead-modal input,.lead-modal select{width:100%;background:#111315;border:1px solid #34383b;padding:13px;color:#fff;outline:0;border-radius:0}.lead-modal input:focus,.lead-modal select:focus{border-color:#a5aaae}.lead-modal .consent,.lead-modal .button,.form-message{grid-column:1/-1}.lead-modal .consent{display:flex;align-items:start;text-transform:none;letter-spacing:0}.consent input{width:auto;margin-top:5px}.form-message{text-align:center;font-size:11px;color:#b9dccc;margin:0}.lead-modal[open]{animation:modalIn .35s ease-out}@keyframes modalIn{from{opacity:0;transform:translateY(30px) scale(.97)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.hero .reveal:nth-child(2){transition-delay:.15s}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:1050px){.site-header nav{position:absolute;top:78px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:rgba(5,6,7,.98);padding:24px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.site-header nav a{padding:9px}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding-top:130px;min-height:980px;height:auto}.hero-copy{max-width:600px}.hero-art{inset:190px -8% 0 43%;opacity:.72}.speaker-image{left:5%}.hero h1 span{font-size:clamp(74px,15vw,130px)}.hero h1 strong{font-size:clamp(82px,17vw,145px)}.benefit-grid{grid-template-columns:1fr 1fr}.benefit-grid article:nth-child(2){border-right:0}.benefit-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.speaker{gap:6vw}.experience{gap:6vw}.tickets{gap:6vw}.host{grid-template-columns:150px 1fr}.host .text-link{grid-column:2;width:max-content}}
@media(max-width:760px){body{font-size:15px}.site-header{height:68px;padding:0 19px}.site-header nav{top:68px}.hero{min-height:900px;padding:105px 20px 65px;display:block}.hero:before{background:linear-gradient(0deg,#050607 1%,rgba(5,6,7,.05) 55%,#050607 99%)}.hero-copy{text-align:center}.eyebrow{justify-content:center;font-size:8px}.first-time{margin:0 auto 13px}.hero h1 span{font-size:21vw}.hero h1 strong{font-size:23.5vw;margin-left:0;-webkit-text-stroke:1px}.hero-lead{font-size:13px;max-width:470px;margin:23px auto}.event-meta{justify-content:center}.event-meta div{padding:0 14px}.event-meta b{font-size:19px}.hero-actions{justify-content:center;flex-direction:column;gap:10px}.hero-actions .button{width:min(360px,100%)}.micro-proof{text-align:center}.hero-art{inset:400px -18% 50px -17%;opacity:.35;z-index:-1}.speaker-image{height:64%;left:30%;bottom:0}.speaker-tag{display:none}.hero-bottom{display:none}.countdown-wrap{padding:33px 16px;display:block;text-align:center}.countdown-wrap>p{margin:0 auto 24px}.countdown{justify-content:center;gap:9px}.countdown div{min-width:54px}.countdown b{font-size:42px}.countdown i{font-size:29px}.section-pad{padding:90px 20px}.section-kicker{margin-bottom:23px}h2{font-size:16vw}.manifesto-head{display:block}.manifesto-head p{margin-top:28px}.benefit-grid{grid-template-columns:1fr;margin-top:50px}.benefit-grid article{min-height:250px;border-right:0;border-bottom:1px solid var(--line)!important}.benefit-grid article:last-child{border-bottom:0!important}.benefit-grid .icon{margin:25px 0}.speaker{display:block}.portrait-frame{height:540px;max-height:75vh}.speaker-copy{margin-top:65px}.speaker-copy h2{font-size:26vw}.speaker-stats{gap:15px;justify-content:space-between}.speaker-stats div{display:block}.speaker-stats span{display:block}.experience{display:block}.experience-title{position:static;margin-bottom:60px}.timeline article{grid-template-columns:56px 22px 1fr;gap:10px}.agenda-note{margin-top:25px}.tickets{display:block}.ticket-card{margin-top:60px;padding:24px}.ticket-price strong{font-size:80px}.proof-head{text-align:left}.quote-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px}.quote-track blockquote{min-width:88%;scroll-snap-align:start}.host{grid-template-columns:90px 1fr;gap:25px}.host h2{font-size:55px}.host p{grid-column:1/-1}.host .text-link{grid-column:1/-1}.faq{display:block}.faq-heading{position:static;margin-bottom:55px}.final-cta{min-height:650px}.final-cta h2{font-size:17vw}.site-footer{grid-template-columns:1fr;text-align:center;padding-bottom:95px}.site-footer .brand{justify-content:center}.site-footer>p{text-align:center}.site-footer>div:nth-child(3){justify-content:center;flex-wrap:wrap}.site-footer>small{grid-column:1}.mobile-ticket{position:fixed;display:flex;align-items:center;justify-content:space-between;z-index:30;bottom:12px;left:12px;right:12px;padding:14px 18px;background:#e0e2e2;color:#111;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.12em;box-shadow:0 8px 40px #000}.mobile-ticket b{font-size:18px}.lead-modal form{grid-template-columns:1fr}.lead-modal label,.lead-modal .consent,.lead-modal .button,.form-message{grid-column:1}.vertical-label{display:none}}
@media(max-width:390px){.event-meta div{padding:0 8px}.event-meta b{font-size:17px}.countdown b{font-size:36px}.countdown div{min-width:47px}.speaker-stats b{font-size:25px}.speaker-stats span{font-size:7px}}

/* Contorno con fallback para navegadores que no exponen text-stroke. */
.hero h1 strong{color:rgba(215,218,221,.025);text-shadow:-1px -1px 0 var(--silver),1px -1px 0 var(--silver),-1px 1px 0 var(--silver),1px 1px 0 var(--silver),0 4px 16px rgba(255,255,255,.07)}
h2 em{color:rgba(217,220,222,.025);text-shadow:-1px -1px 0 #d9dcde,1px -1px 0 #d9dcde,-1px 1px 0 #d9dcde,1px 1px 0 #d9dcde}

/* Identidad e imagen oficial del evento. */
.brand-logo{display:block;width:clamp(138px,12vw,180px);height:50px;object-fit:contain;object-position:left center;mix-blend-mode:screen}
.site-footer .brand-logo{width:190px;height:72px}
.speaker-image{width:min(76vw,1080px);height:auto;max-width:none;left:-1%;bottom:-1%;object-fit:contain;object-position:center bottom;filter:saturate(.86) contrast(1.08) drop-shadow(0 26px 28px rgba(0,0,0,.72))}
.portrait-frame img{width:165%;height:100%;max-width:none;margin-left:-32%;object-fit:contain;object-position:center bottom;filter:saturate(.74) contrast(1.08) drop-shadow(0 24px 24px rgba(0,0,0,.65))}
.host-logo{width:180px;height:140px;display:grid;place-items:center}
.host-logo img{width:90%;height:85%;object-fit:contain;mix-blend-mode:screen}
@media(max-width:1050px){.speaker-image{width:112vw;left:-20%;bottom:0}.host-logo{width:150px;height:110px}}
@media(max-width:760px){.brand-logo{width:128px;height:43px}.speaker-image{width:158vw;left:-29%;bottom:-1%}.portrait-frame img{width:190%;margin-left:-45%}.host-logo{width:90px;height:78px}.site-footer .brand-logo{width:180px;height:65px}}

/* Rediseño cromático basado en conferencias.eltiburondaniel.com. */
body{background:#000;color:var(--muted)}
::selection{background:var(--cyan);color:#000}
.progress span{background:linear-gradient(90deg,var(--cyan),var(--cyan-neon));box-shadow:0 0 18px rgb(var(--accent-rgb) / .72)}

.site-header{background:linear-gradient(180deg,rgba(0,17,26,.9),rgba(0,17,26,.5));border-color:rgb(var(--accent-rgb) / .22)}
nav a{color:var(--chrome)}
nav a:not(.nav-cta):hover{color:var(--cyan)}
.nav-cta{color:var(--cyan);border-color:rgb(var(--accent-rgb) / .55);border-radius:12px}
.nav-cta:hover{background:var(--cyan);color:#000;border-color:var(--cyan)}

.hero{background:radial-gradient(ellipse at 72% 45%,rgb(var(--accent-rgb) / .14) 0,var(--navy) 34%,#000 74%)}
.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.97) 0,rgba(0,17,26,.82) 44%,rgba(0,17,26,.13) 72%),linear-gradient(0deg,#000 0,transparent 22%)}
.hero:after{-webkit-text-stroke-color:rgb(var(--accent-rgb) / .055)}
.hero-beams i{opacity:.14!important;filter:blur(40px)}
.hero-beams i:nth-child(1){background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.hero-beams i:nth-child(2){background:linear-gradient(90deg,transparent,var(--cyan-neon),transparent)}
.hero-beams i:nth-child(3){background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.speaker-halo{background:radial-gradient(circle,rgb(var(--accent2-rgb) / .18),rgb(var(--accent-rgb) / .06) 38%,transparent 68%)}
.eyebrow,.first-time{color:var(--cyan)}
.first-time{border-color:var(--cyan);background:linear-gradient(90deg,rgb(var(--accent-rgb) / .21),transparent)}
.hero h1 span{color:var(--chrome-hi);text-shadow:0 3px 18px #000}
.hero h1 strong{color:rgb(var(--accent-rgb) / .018);-webkit-text-stroke-color:var(--cyan);text-shadow:-1px -1px 0 var(--cyan),1px -1px 0 var(--cyan),-1px 1px 0 var(--cyan),1px 1px 0 var(--cyan),0 0 18px rgb(var(--accent-rgb) / .24)}
.hero-lead{color:var(--chrome)}
.event-meta small{color:var(--muted)}
.event-meta b{color:var(--chrome-hi)}
.speaker-tag span,.micro-proof,.vertical-label{color:var(--muted)}
.micro-proof b{color:var(--cyan-neon)}

.button{border-radius:999px;font-weight:700;transition:transform .2s,box-shadow .2s,background-color .2s,color .2s,border-color .2s}
.button-primary{background:var(--cyan);color:#000;border:1px solid #333;box-shadow:0 0 50px 10px rgb(var(--accent-rgb) / .24)}
.button-primary:before{display:none}
.button-primary:hover{background:transparent;color:var(--cyan);border-color:var(--cyan);box-shadow:none}
.button-primary:hover b{background:rgb(var(--accent-rgb) / .1)}
.button:hover{transform:translateY(-2px)}
.text-link{color:var(--cyan);border-color:rgb(var(--accent-rgb) / .42)}
.text-link:hover{color:var(--cyan-neon);border-color:var(--cyan-neon)}

.countdown-wrap{background:#000;border-color:rgb(var(--accent-rgb) / .24)}
.countdown-wrap>p,.countdown span{color:var(--muted)}
.countdown b{color:var(--chrome-hi);text-shadow:0 0 14px rgb(var(--accent-rgb) / .2)}
.countdown i{color:rgb(var(--accent-rgb) / .32)}
.section-kicker{color:var(--cyan)}
.section-kicker:before{background:linear-gradient(90deg,var(--cyan),var(--cyan-neon))}
h2{color:var(--chrome-hi)}
h2 em{color:rgb(var(--accent-rgb) / .018);-webkit-text-stroke-color:var(--cyan);text-shadow:-1px -1px 0 var(--cyan),1px -1px 0 var(--cyan),-1px 1px 0 var(--cyan),1px 1px 0 var(--cyan),0 0 14px rgb(var(--accent2-rgb) / .18)}
.overline{color:var(--cyan-neon)}

.manifesto{background:#000}
.manifesto:after{background:radial-gradient(ellipse at top right,rgb(var(--accent-rgb) / .1),transparent 65%)}
.manifesto-head p,.benefit-grid p{color:var(--muted)}
.benefit-grid{gap:18px;border:0}
.benefit-grid article{border:1px solid rgb(var(--accent2-rgb) / .19)!important;border-radius:15px;background:var(--navy)}
.benefit-grid article:hover{background:linear-gradient(180deg,rgba(6,16,36,.95),rgba(2,9,22,.98));border-color:rgb(var(--accent2-rgb) / .48)!important;box-shadow:0 12px 35px rgba(0,0,0,.5),inset 0 0 20px rgb(var(--accent2-rgb) / .04)}
.benefit-grid article>span{color:rgb(var(--accent-rgb) / .11)}
.benefit-grid .icon{color:var(--cyan-neon);text-shadow:0 0 18px rgb(var(--accent2-rgb) / .48)}
.benefit-grid h3{color:var(--chrome-hi)}

.speaker{background:var(--navy)}
.speaker:after{-webkit-text-stroke-color:rgb(var(--accent-rgb) / .045)}
.portrait-frame{background:radial-gradient(circle at 48% 34%,var(--navy),var(--navy) 52%,#000 78%);border-color:rgb(var(--accent2-rgb) / .45);border-radius:16px;box-shadow:0 0 30px rgb(var(--accent2-rgb) / .12)}
.portrait-frame:before{background:linear-gradient(125deg,rgb(var(--accent2-rgb) / .16),transparent 48%,rgb(var(--accent-rgb) / .08))}
.speaker-copy .intro{color:var(--chrome)}
.speaker-copy>p:not(.overline):not(.intro),.speaker-stats span{color:var(--muted)}
.speaker-stats b{color:var(--cyan-neon)}

.experience{background:#000}
.timeline time,.timeline h3{color:var(--chrome-hi)}
.timeline article>span{border-color:var(--cyan-neon);box-shadow:0 0 12px rgb(var(--accent2-rgb) / .5)}
.timeline article>span:after{background:rgb(var(--accent-rgb) / .25)}
.timeline small{color:var(--cyan)}
.timeline p,.agenda-note{color:var(--muted)}

.tickets{background:var(--navy)}
.ticket-glow{background:radial-gradient(circle,rgb(var(--accent-rgb) / .13),transparent 65%)}
.ticket-copy>p:not(.overline){color:var(--muted)}
.ticket-copy li:before{color:var(--cyan-neon)}
.ticket-card{border:1.5px solid rgb(var(--accent2-rgb) / .48);border-radius:14px;background:linear-gradient(180deg,rgba(6,16,36,.95),rgba(2,9,22,.98));box-shadow:0 15px 35px rgba(0,0,0,.5),inset 0 0 20px rgb(var(--accent2-rgb) / .04)}
.ticket-card:before{border-color:rgb(var(--accent-rgb) / .1);border-radius:9px}
.ticket-top b{background:var(--cyan);color:#000}
.ticket-price strong{color:var(--chrome-hi)}
.ticket-card>p,.secure-note{color:var(--muted)}

.proof{background:#000}
.quote-track blockquote{border-color:rgb(var(--accent2-rgb) / .19);border-radius:15px;background:var(--navy)}
.quote-track blockquote:hover{border-color:rgb(var(--accent2-rgb) / .5);box-shadow:0 12px 28px rgba(0,0,0,.45)}
.stars{color:var(--cyan-neon);text-shadow:0 0 10px rgb(var(--accent2-rgb) / .45)}
.quote-track blockquote>p{color:var(--chrome)}
.quote-track footer>span,.quote-track footer small{color:var(--muted)}

.host{background:var(--navy);border-color:rgb(var(--accent-rgb) / .28)}
.host p{color:var(--muted)}
.faq{background:#000}
.faq-heading p,.accordion details p{color:var(--muted)}
.faq-heading>a,.accordion summary{color:var(--chrome)}
.faq-heading>a:hover,.accordion summary:hover,.accordion summary span{color:var(--cyan)}
.accordion details,.accordion details:last-child{border-color:rgb(var(--accent-rgb) / .22)}

.final-cta{background:radial-gradient(ellipse at center,rgb(var(--accent-rgb) / .13) 0,var(--navy) 38%,#000 76%)}
.final-cta:before{background:linear-gradient(90deg,rgb(var(--accent2-rgb) / .09),transparent 38%,transparent 62%,rgb(var(--accent-rgb) / .09))}
.final-beams:before,.final-beams:after{background:linear-gradient(90deg,transparent,var(--cyan),transparent)}
.final-cta small{color:var(--muted)}
.site-footer{background:#000;color:var(--muted)}
.site-footer>small{border-color:rgb(var(--accent-rgb) / .2)}

.lead-modal{border:1.5px solid rgb(var(--accent2-rgb) / .45);border-radius:14px;background:linear-gradient(180deg,rgba(6,16,36,.98),rgba(2,9,22,.99));color:var(--chrome-hi);box-shadow:0 30px 120px #000,0 0 40px rgb(var(--accent-rgb) / .12)}
.modal-close{color:var(--cyan)}
.lead-modal>p:not(.overline),.lead-modal label{color:var(--muted)}
.lead-modal input,.lead-modal select{background:var(--navy);border-color:rgb(var(--accent-rgb) / .25);color:#fff;border-radius:8px}
.lead-modal input:focus,.lead-modal select:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgb(var(--accent-rgb) / .1)}
.form-message{color:var(--cyan-neon)}

@media(max-width:1050px){.site-header nav{background:rgba(0,17,26,.98)}}
@media(max-width:760px){
  .hero:before{background:linear-gradient(0deg,#000 1%,rgba(0,17,26,.08) 54%,#000 99%)}
  .benefit-grid{gap:14px}
  .benefit-grid article{border:1px solid rgb(var(--accent2-rgb) / .19)!important}
  .mobile-ticket{background:var(--cyan);color:#000;border:1px solid #333;border-radius:999px;box-shadow:0 0 35px 8px rgb(var(--accent-rgb) / .22)}
  .mobile-ticket:hover{background:var(--navy);color:var(--cyan);border-color:var(--cyan)}
}

/* Ajustes responsive posteriores a QA. */
html,body,main{width:100%;max-width:100%;overflow-x:clip}
section,.hero-copy,.speaker-copy,.experience-title,.ticket-copy,.faq-heading,.final-cta>div{min-width:0;max-width:100%}
.hero,.hero-art,.speaker{overflow:clip}
.hero h1 span,.hero h1 strong,h2,.speaker-copy h2,.final-cta h2{font-weight:800;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.hero h1{line-height:.95}
.hero h1 span{font-size:clamp(58px,6vw,86px);line-height:.98;letter-spacing:-.035em}
.hero h1 strong{font-size:clamp(62px,7vw,100px);line-height:.96;letter-spacing:-.045em}
h2{font-size:clamp(48px,5vw,76px);line-height:1;letter-spacing:-.035em}
.speaker-copy h2{font-size:clamp(58px,6.2vw,92px);line-height:.94}
.final-cta h2{font-size:clamp(50px,5.4vw,82px);line-height:1}
.button{min-width:0;max-width:100%;gap:20px;padding:15px 20px 15px 28px;font-size:clamp(15px,1.25vw,18px);line-height:1.15;letter-spacing:.025em}
.button b{flex:0 0 29px;border-radius:50%}

@media (min-width:761px) and (max-width:1050px){
  .hero{min-height:850px;padding-top:120px;grid-template-columns:minmax(0,52%) minmax(0,48%)}
  .hero-copy{width:100%;max-width:540px}
  .hero-art{inset:115px 0 0 54%;width:46%;opacity:.78}
  .speaker-image{width:min(66vw,680px);max-width:none;left:50%;transform:translateX(-48%);bottom:0}
  .speaker-halo{left:8%;top:28%;width:300px;height:300px}
  .hero h1 span{font-size:clamp(58px,7.1vw,73px)}
  .hero h1 strong{font-size:clamp(63px,8vw,82px);margin-left:0}
  h2{font-size:clamp(46px,5.2vw,56px)}
  .speaker-copy h2{font-size:clamp(54px,6.2vw,66px)}
  .final-cta h2{font-size:clamp(48px,5.5vw,60px)}
  .event-meta div{padding-inline:18px}
}

@media(max-width:760px){
  html{scroll-padding-top:68px}
  .hero{display:flex;flex-direction:column;min-height:0;height:auto;max-height:none;padding:102px 20px 0}
  .hero-copy{width:100%;max-width:520px;margin-inline:auto}
  .hero-art{position:relative;inset:auto;width:100%;height:clamp(300px,96vw,410px);margin:18px auto 0;opacity:.92;z-index:1;overflow:hidden}
  .speaker-image{width:min(176vw,660px);max-width:none;height:auto;left:50%;bottom:-2px;transform:translateX(-50%)}
  .speaker-halo{left:50%;top:22%;width:260px;height:260px;transform:translateX(-50%)}
  .hero h1{width:100%;margin-inline:auto}
  .hero h1 span{font-size:clamp(38px,11vw,48px);line-height:1.02;letter-spacing:-.045em}
  .hero h1 strong{font-size:clamp(40px,11.7vw,51px);line-height:1.02;letter-spacing:-.05em;margin-left:0;-webkit-text-stroke-width:1px}
  .hero-lead{font-size:14px;line-height:1.55}
  .event-meta{width:100%}
  .event-meta div{min-width:0;flex:1;padding-inline:7px}
  .event-meta b{font-size:clamp(13px,3.8vw,16px);overflow-wrap:anywhere}
  .event-meta small{font-size:7px;letter-spacing:.11em}
  .hero-actions .button{width:min(330px,100%)}
  .micro-proof{margin-bottom:0}
  h2{font-size:clamp(34px,9.2vw,42px);line-height:1.04;letter-spacing:-.045em}
  .speaker-copy h2{font-size:clamp(42px,12vw,52px);line-height:.98}
  .final-cta h2{font-size:clamp(34px,9.2vw,42px);line-height:1.05}
  .section-pad{padding:72px 20px}
  .manifesto-head,.speaker-copy,.experience-title,.ticket-copy,.proof-head,.faq-heading{width:100%}
  .timeline article{grid-template-columns:48px 18px minmax(0,1fr)}
  .ticket-copy ul{columns:1}
  .ticket-price{flex-wrap:wrap}
  .ticket-price strong{font-size:clamp(58px,19vw,76px)}
  .quote-track{max-width:100%}
  .quote-track blockquote{min-width:min(88%,320px)}
  .host{grid-template-columns:78px minmax(0,1fr)}
  .host-logo{width:78px;height:72px}
  .host h2{font-size:clamp(38px,11vw,48px)}
  .button{font-size:clamp(14px,4.1vw,17px);padding:13px 16px 13px 20px;letter-spacing:.015em}
  .mobile-ticket{display:none}
  .site-footer{padding-bottom:48px}
}

@media(max-width:390px){
  .eyebrow{gap:7px;letter-spacing:.15em}
  .eyebrow span{width:18px}
  .first-time{max-width:100%;font-size:9px;letter-spacing:.12em}
  .countdown{width:100%;gap:5px}
  .countdown div{min-width:0;flex:1}
  .countdown b{font-size:32px}
  .countdown i{font-size:25px}
}

/* ── UX pass ─────────────────────────────────────────── */
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:2px}
.lead-modal input:focus-visible,.lead-modal select:focus-visible{outline-offset:0}
.skip-link{position:fixed;top:8px;left:8px;z-index:200;transform:translateY(-160%);background:var(--cyan);color:var(--navy);padding:12px 18px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;border-radius:999px;transition:transform .2s}
.skip-link:focus{transform:none}

/* área táctil cómoda sin alterar el diseño */
.site-header nav a{position:relative}
.site-header nav a:not(.nav-cta)::after{content:"";position:absolute;inset:-12px -8px}
.site-footer>div a,.faq-heading>a{display:inline-block;padding-block:6px}

/* CTA persistente en móvil: aparece al salir del hero */
@media(max-width:760px){
  .mobile-ticket{display:flex;transform:translateY(140%);opacity:0;pointer-events:none;transition:transform .3s ease,opacity .3s ease}
  .mobile-ticket.is-visible{transform:none;opacity:1;pointer-events:auto}
  body:has(.lead-modal[open]) .mobile-ticket{opacity:0;pointer-events:none}
  .site-footer{padding-bottom:96px}
}

/* estado final de la cuenta regresiva */
.countdown-wrap.is-live>p{color:var(--cyan)}

/* ══ Atmósfera fotográfica ═══════════════════════════════
   Fotos reales de escenario como fondo, graduadas al cian
   de marca y siempre bajo una capa de legibilidad. */

/* — HERO: escenario oscuro con bokeh turquesa/rojo — */
.hero{
  background:
    radial-gradient(ellipse at 70% 42%,rgb(var(--accent-rgb) / .10) 0,transparent 58%),
    linear-gradient(180deg,rgba(0,17,26,.55) 0,transparent 26%),
    url("assets/stage-bg.jpg") 62% 38%/cover no-repeat,
    var(--night);
}
/* velo direccional: opaco donde vive el texto, transparente donde vive la luz */
.hero:before{
  background:
    linear-gradient(96deg,rgba(0,4,8,.96) 0,rgba(0,10,18,.88) 34%,rgba(0,17,26,.44) 62%,rgba(0,17,26,.14) 100%),
    linear-gradient(0deg,#000 0,rgba(0,0,0,.35) 14%,transparent 34%);
}
.hero-grain{opacity:.19}
.hero-beams i{opacity:.10!important}

/* — CONFERENCISTA: retrato real de escenario, no el recorte del hero — */
.portrait-frame{position:relative;overflow:hidden}
.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:58% 42%;margin:0;transform:scale(1.02);transition:transform .9s cubic-bezier(.2,.7,.3,1)}
.speaker-portrait:hover .portrait-frame img{transform:scale(1.06)}
.portrait-frame:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(200deg,rgb(var(--accent-rgb) / .16),transparent 42%),
    linear-gradient(0deg,rgba(0,8,15,.82) 0,transparent 46%);
}

/* — IMPACTO: la audiencia como prueba social, casi en sombra — */
.proof{position:relative;isolation:isolate;background:#000}
.proof:before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:url("assets/audiencia.jpg") center 34%/cover no-repeat;
  opacity:.20;filter:grayscale(.45) contrast(1.08);
}
.proof:after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(ellipse at 50% 40%,rgb(var(--accent-rgb) / .10),transparent 62%),
    linear-gradient(180deg,#000 0,rgba(0,0,0,.62) 30%,rgba(0,0,0,.62) 70%,#000 100%);
}
.quote-track blockquote{backdrop-filter:blur(6px);background:rgba(0,17,26,.78)}

/* — CTA FINAL: el escenario azul, el momento que se está comprando — */
.final-cta{
  background:
    linear-gradient(180deg,#000 0,transparent 22%,transparent 74%,#000 100%),
    url("assets/escenario-azul.jpg") center 48%/cover no-repeat,
    var(--navy);
}
.final-cta:before{
  background:
    radial-gradient(ellipse at 50% 50%,rgba(0,17,26,.42) 0,rgba(0,6,12,.86) 58%,rgba(0,0,0,.94) 100%),
    linear-gradient(90deg,rgb(var(--accent2-rgb) / .07),transparent 40%,transparent 60%,rgb(var(--accent-rgb) / .07));
}
.final-beams:before,.final-beams:after{opacity:.10}

/* profundidad tipo parallax sólo donde el navegador lo hace bien */
@media (min-width:1051px) and (hover:hover){
  .hero,.final-cta{background-attachment:scroll,fixed,scroll}
  .final-cta{background-attachment:scroll,fixed,scroll}
}

/* en pantallas chicas la foto se aleja para no pelear con la tipografía */
@media(max-width:760px){
  .hero{background-position:60% 30%}
  .hero:before{
    background:
      linear-gradient(180deg,rgba(0,4,8,.90) 0,rgba(0,10,18,.62) 34%,rgba(0,17,26,.55) 62%,#000 96%);
  }
  .proof:before{opacity:.14}
  .final-cta{background-position:center 40%}
}

@media(prefers-reduced-motion:reduce){
  .portrait-frame img{transform:none}
  .hero,.final-cta{background-attachment:scroll}
}

/* el CTA sobre foto necesita separarse del fondo */
.final-cta .button-primary{box-shadow:0 18px 50px rgba(0,0,0,.65),0 0 0 6px rgb(var(--accent-rgb) / .10),0 0 40px rgb(var(--accent2-rgb) / .28)}
.final-cta small{color:var(--chrome);text-shadow:0 1px 12px rgba(0,0,0,.9)}
.final-cta .eyebrow{text-shadow:0 1px 14px rgba(0,0,0,.9)}

/* ══ Encuadre del ponente en el hero ══════════════════════
   El PNG ahora viene recortado a su contenido (421×568),
   así que se dimensiona por ALTURA y se apoya en el piso
   del hero, en vez de flotar dentro de márgenes vacíos. */
/* encaja dentro de su caja sin recortarse nunca, apoyado abajo */
.speaker-image{
  inset:0;left:0;right:0;top:0;bottom:0;
  width:100%;height:100%;max-width:none;transform:none;
  object-fit:contain;object-position:center bottom;
  filter:saturate(.9) contrast(1.06) drop-shadow(0 26px 34px rgba(0,0,0,.75));
}

@media(min-width:1051px){
  /* bottom = alto de .hero-bottom: el personaje se apoya sobre esa línea */
  .hero-art{inset:96px 4% 50px 44%}
  .speaker-halo{left:auto;right:18%;top:12%;width:420px;height:420px;transform:none}
  .speaker-tag{right:2%;bottom:11%}
}

@media (min-width:761px) and (max-width:1050px){
  .hero-art{inset:80px 2% 0 46%;width:auto}
  .speaker-halo{left:50%;right:auto;top:16%;width:300px;height:300px;transform:translateX(-50%)}
  .speaker-tag{right:2%;bottom:9%}
}

@media(max-width:760px){
  .hero-art{height:clamp(330px,96vw,430px)}
  .speaker-halo{top:8%;width:250px;height:250px}
}

/* ══ Hero: Pachuca de noche ═══════════════════════════════
   Reloj Monumental + escudo en neón. La imagen es 3:1, así
   que se ancla abajo-derecha para conservar los monumentos
   y dejar limpia la mitad izquierda donde vive el titular. */
.hero{
  background:
    radial-gradient(ellipse at 74% 46%,rgb(var(--accent-rgb) / .07) 0,transparent 56%),
    url("assets/hero-pachuca.jpg") 100% bottom/max(1500px,150%) auto no-repeat,
    var(--night);
}
.hero:before{
  background:
    linear-gradient(96deg,rgba(0,4,8,.95) 0,rgba(0,9,16,.86) 32%,rgba(0,14,22,.42) 60%,rgba(0,14,22,.10) 100%),
    linear-gradient(0deg,rgba(0,0,0,.92) 0,rgba(0,0,0,.30) 16%,transparent 38%);
}
.hero-beams i{opacity:.07!important}
.speaker-halo{opacity:.75}

@media (min-width:761px) and (max-width:1050px){
  .hero{background-position:100% bottom}
}

/* en móvil la foto 3:1 se usa como franja inferior, no como cover:
   a pantalla angosta un cover la ampliaría 4x y quedaría irreconocible */
@media(max-width:760px){
  .hero{
    background:
      linear-gradient(180deg,var(--night) 0,rgba(1,8,14,.6) 40%,transparent 70%),
      url("assets/hero-pachuca.jpg") 100% bottom/230% auto no-repeat,
      var(--night);
  }
  .hero:before{
    background:linear-gradient(180deg,rgba(0,4,8,.92) 0,rgba(0,10,18,.58) 36%,rgba(0,12,20,.62) 66%,rgba(0,0,0,.86) 100%);
  }
}

/* ══════════════════════════════════════════════════════════
   PALETA DEL CARTEL — azul eléctrico + magenta sobre noche
   Extraída de flayers/finales/2.png
   ══════════════════════════════════════════════════════════ */
:root{
  --night:#01050F; --deep:#010920; --navy:#091A3E; --plum:#150418; --wine:#43062E;
  --blue:rgb(var(--accent-rgb));  --blue-lit:rgb(var(--accent2-rgb)); --violet:#C13BD8;
  --magenta:rgb(var(--urgent-rgb)); --pink-lit:rgb(var(--urgent2-rgb));
  --chrome-hi:#F2F5FF; --chrome:#BCC1D5; --muted:#8A93B4; --hairline:#505191;
  /* se remapean los tokens viejos para que todo el CSS previo herede */
  --ink:#01050F; --ink-2:#091A3E; --cyan:rgb(var(--accent-rgb)); --cyan-neon:rgb(var(--accent2-rgb));
  --green:rgb(var(--accent-rgb)); --red:rgb(var(--urgent-rgb));
  --silver:#F2F5FF; --silver-2:#8A93B4; --white:#F2F5FF;
  --petrol:#091A3E; --card-top:#0B1F47; --card-bottom:#010920;
  --line:rgb(var(--accent-rgb) / .26);
}

/* — superficies: la noche azulada del cartel, no gris neutro — */
body{background:var(--night)}
.countdown-wrap,.proof,.site-footer,.experience{background:var(--night)}
.manifesto,.tickets{background:var(--deep)}
.speaker,.faq{background:#02060F}
.quote-track blockquote,.ticket-card{background:var(--navy)}
.lead-modal{background:linear-gradient(180deg,rgba(9,26,62,.98),rgba(1,9,32,.99))}

/* — magenta: reservado para escasez y urgencia, nunca decorativo — */
.micro-proof b,
.ticket-top b,
.countdown-wrap.is-live>p{color:var(--pink-lit)}

/* Fondo audiovisual de “Lo que te llevas”; el hero conserva su imagen de Pachuca.
   El tinte sale de los tokens de acento: hue-rotate(75deg) mueve el sepia a
   hue 125°, el mismo verde primario del tema. */
.manifesto{isolation:isolate;overflow:hidden}
.manifesto-video{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:rgb(var(--surface-rgb))}
.manifesto-video:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgb(var(--accent-rgb) / .42),rgb(var(--accent2-rgb) / .3) 48%,rgb(var(--accent-rgb) / .5));mix-blend-mode:color;pointer-events:none}
.manifesto-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:.62;filter:grayscale(.18) sepia(.72) saturate(1.65) hue-rotate(75deg) contrast(1.1) brightness(.62);transform:scale(1.08)}
.manifesto:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgb(var(--surface-rgb) / .95) 0,rgb(var(--surface-rgb) / .62) 52%,rgb(var(--surface-rgb) / .88) 100%)}
.manifesto:after{z-index:1;background:radial-gradient(ellipse at top right,rgb(var(--accent-rgb) / .18),transparent 66%)}
.manifesto>:not(.manifesto-video){position:relative;z-index:2}
/* El video es 16:9 y la sección es más alta que eso, así que Vimeo lo
   embarraba dejando barras arriba y abajo dentro del iframe (el corte
   horizontal que se veía como a 150px del borde superior). `object-fit` no
   aplica a iframes: se manda por altura y `aspect-ratio` pone el ancho, con
   la sección recortando el excedente. Cubre siempre que el contenedor sea
   más alto que 16:9, que es el caso en todos los anchos de escritorio. */
@media(min-width:761px){
  .manifesto-video iframe{
    inset:auto;top:50%;left:50%;
    width:auto;height:100%;aspect-ratio:16/9;
    transform:translate(-50%,-50%) scale(1.08);
  }
}
@media(max-width:760px){.manifesto-video iframe{opacity:.46;filter:grayscale(.24) sepia(.78) saturate(1.55) hue-rotate(75deg) contrast(1.06) brightness(.5)}}
@media(prefers-reduced-motion:reduce){.manifesto-video{display:none}}

.micro-proof{display:grid;justify-items:start;gap:3px;line-height:1.2}
.micro-proof-top{display:flex;align-items:center;gap:7px}
.micro-proof-flags{display:flex;align-items:center;gap:7px;margin-top:1px}
.country-flag{width:75px;height:75px;object-fit:contain}
.micro-proof-detail{font-size:8px;letter-spacing:.12em}
@media(max-width:760px){.micro-proof{justify-items:center}}
.final-cta small{color:var(--pink-lit)}
.stars{color:var(--pink-lit);text-shadow:0 0 10px rgb(var(--urgent-rgb) / .45)}
.countdown b{text-shadow:0 0 16px rgb(var(--urgent-rgb) / .28)}

/* — los dos neones opuestos, como en el cartel — */
.progress span{background:linear-gradient(90deg,var(--blue),#fff 52%,var(--magenta))}
.hero-beams i:nth-child(1){background:linear-gradient(90deg,transparent,var(--blue),transparent)}
.hero-beams i:nth-child(3){background:linear-gradient(90deg,transparent,var(--magenta),transparent)}
.final-beams:before{background:linear-gradient(90deg,transparent,var(--blue),transparent)}
.final-beams:after{background:linear-gradient(90deg,transparent,var(--magenta),transparent)}
.speaker-halo{background:radial-gradient(circle,rgb(var(--urgent-rgb) / .16),rgb(var(--accent-rgb) / .08) 40%,transparent 70%)}
.button-primary:before{background:linear-gradient(90deg,var(--blue),#F2F5FF 48%,var(--magenta))}

/* — texto de color: siempre las versiones claras (AAA sobre la base) — */
.section-kicker,.timeline small,.eyebrow,.first-time{color:var(--blue-lit)}
.faq-heading>a:hover,.accordion summary:hover{color:var(--blue-lit)}
.text-link:hover{color:var(--blue-lit);border-color:var(--blue-lit)}
.hero-lead,.timeline p,.agenda-note,.speaker-tag span,.countdown-wrap>p{color:var(--muted)}

/* — el CTA sobre foto se reetiqueta al azul del cartel — */
.final-cta .button-primary{box-shadow:0 18px 50px rgba(0,0,0,.65),0 0 0 6px rgb(var(--accent-rgb) / .12),0 0 40px rgb(var(--urgent-rgb) / .26)}
.mobile-ticket{background:var(--blue);color:#00050F;box-shadow:0 0 35px 8px rgb(var(--accent-rgb) / .22)}
.mobile-ticket:hover{background:#091A3E;color:var(--blue-lit);border-color:var(--blue)}

/* correcciones de contraste tras el cambio de paleta */
.ticket-top b{background:var(--magenta);color:#0B0210}   /* 5.1:1 — era rosa sobre azul, 1.2:1 */
.hero-bottom{color:var(--muted)}                          /* 4.3 -> 6.7:1 */
.vertical-label{color:var(--muted)}                       /* 4.5 -> 6.7:1 */

/* ══ Menú pill centrado ═══════════════════════════════════
   El nav flota como cápsula en el centro; el logo queda a la
   izquierda y el CTA se integra como pastilla sólida dentro. */
@media(min-width:1051px){
  .site-header{
    border-bottom:0;
    backdrop-filter:none;
    padding-top:14px;
    align-items:center;
  }
  .site-header nav{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    gap:clamp(14px,1.8vw,30px);
    padding:5px 5px 5px 26px;
    border-radius:999px;
    border:1px solid rgb(var(--accent-rgb) / .22);
    background:rgb(var(--surface-rgb,1 9 32) / .55);
    backdrop-filter:blur(16px) saturate(1.2);
    box-shadow:0 10px 34px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);
  }
  .site-header nav a:not(.nav-cta){
    padding:9px 2px;
    border-radius:999px;
    transition:color .22s;
  }
  .site-header nav a:not(.nav-cta):hover{color:rgb(var(--accent2-rgb))}
  /* el área táctil ampliada del pase anterior estorba dentro de la cápsula */
  .site-header nav a:not(.nav-cta)::after{inset:-9px -10px}

  .nav-cta{
    border:0;
    border-radius:999px;
    padding:11px 22px;
    background:rgb(var(--accent-rgb));
    color:#00120A;
    box-shadow:0 6px 20px rgb(var(--accent-rgb) / .28);
    transition:transform .22s, box-shadow .22s, background .22s;
  }
  .nav-cta:hover{
    background:rgb(var(--accent2-rgb));
    color:#00120A;
    transform:translateY(-1px);
    box-shadow:0 10px 26px rgb(var(--accent-rgb) / .4);
  }
}

/* el kicker va sin el filete tipo pestaña */
.section-kicker:before{display:none}

/* la foto del conferencista es casi cuadrada (700×673): se recorta por
   los costados y se centra en él */
.portrait-frame img{object-position:52% center}

/* ══ Punto (circle-dot) en lugar del guion largo ═══════════
   Va como máscara para que herede currentColor y funcione
   igual en los dos temas. */
.dot{
  display:inline-block;
  width:.62em;
  height:.62em;
  margin-inline:.62em;
  vertical-align:baseline;
  background-color:currentColor;
  -webkit-mask:var(--dot-svg) center/contain no-repeat;
  mask:var(--dot-svg) center/contain no-repeat;
}
:root{
  --dot-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 256C0 114.6 114.6 0 256 0C397.4 0 512 114.6 512 256C512 397.4 397.4 512 256 512C114.6 512 0 397.4 0 256zM256 352C309 352 352 309 352 256C352 202.1 309 160 256 160C202.1 160 160 202.1 160 256C160 309 202.1 352 256 352z'/%3E%3C/svg%3E");
}
/* en los testimonios reemplaza la raya de atribución, que era de 30px */
.quote-track blockquote footer>span.dot{
  width:18px;height:18px;margin:0;flex:0 0 18px;
}

/* el punto va en naranja, no hereda el color del texto */
.dot{background-color:#FF8A3D}

/* preventa 2x1 */
.ticket-deal{
  display:grid;gap:4px;
  margin:14px 0 4px;padding:14px 16px;
  border:1px dashed rgb(var(--urgent2-rgb) / .55);
  border-radius:12px;
  background:rgb(var(--urgent2-rgb) / .07);
}
.ticket-deal b{
  font:clamp(26px,3vw,34px)/1 var(--display);
  letter-spacing:.02em;color:#FF8A3D;
}
.ticket-deal span{
  font-size:10px;text-transform:uppercase;letter-spacing:.11em;
  color:var(--chrome);
}
.ticket-deal span strong{color:#FF8A3D;font-weight:800}

/* bloque de precios centrado */
.ticket-price{justify-content:center}
.ticket-deal{justify-items:center;text-align:center}

@media(max-width:760px){
  /* en columna el precio no se desarma al envolver */
  .ticket-price{flex-direction:column;align-items:center;gap:2px;margin:34px 0 18px}
  .ticket-price small{margin-bottom:0}
  .ticket-price strong{line-height:.9}
}

/* enlace al sitio del conferencista */
.speaker-link{display:inline-flex;align-items:center;margin-top:34px;width:max-content}

/* contador: cifras gruesas y encabezado en naranja */
.countdown b{font-weight:bolder;letter-spacing:.02em}
.countdown-wrap>p{color:#FF8A3D}

/* filete del hero centrado (traía padding-left:40% para librar el texto) */
@media(min-width:761px){
  .hero-bottom{
    padding-left:0;
    justify-content:center;
    gap:clamp(26px,4.5vw,64px);
  }
  .hero-bottom span{display:inline-flex;align-items:center;gap:12px}
  .hero-bottom span:before{margin-right:0}
}

/* iconos Icons8 Liquid Glass en las tarjetas */
.benefit-grid .icon{
  font:0/0 a;              /* ya no hay glifo que dimensionar */
  width:56px;height:56px;
  display:grid;place-items:center;
  text-shadow:none;
}
.benefit-grid .icon img{
  width:56px;height:56px;
  object-fit:contain;
  transition:transform .35s cubic-bezier(.2,.7,.3,1),filter .35s;
}
.benefit-grid article:hover .icon img{transform:scale(1.08)}

/* ══ Ritmo entre secciones ════════════════════════════════
   Dos tonos que alternan + un filete de un pixel en cada
   frontera. Suficiente para percibir el cambio sin que se
   lea como bloques de distinto color. */
:root{
  --sec-a:var(--night);
  --sec-b:var(--deep);
  --sec-line:rgb(var(--accent-rgb) / .12);
}
.countdown-wrap,
.speaker,
.tickets,
.host,
.site-footer{background:var(--sec-a)}

.manifesto,
.experience,
.proof,
.faq{background:var(--sec-b)}

.countdown-wrap,
.manifesto,
.speaker,
.experience,
.tickets,
.proof,
.host,
.faq,
.final-cta,
.site-footer{border-top:1px solid var(--sec-line)}

/* Escenario de “La experiencia”: la foto cubre el contenedor (`cover`) y el
   tono verde entra por blend `color`, igual que en el video del manifiesto,
   así el tinte sale de los tokens y no queda horneado en el JPG.
   Capas, de arriba hacia abajo: velo oscuro → tinte verde → foto → base. */
.experience{
  background-color:var(--sec-b);
  background-image:
    /* velo lateral: la banda de reflectores de la foto cae justo sobre el
       timeline, y ninguna opacidad global salva ese texto sin apagar la foto.
       Arranca en alfa 0 con el MISMO color (no `transparent`, que interpola
       hacia el negro y ensucia el degradado). */
    linear-gradient(90deg,rgb(var(--surface-rgb) / 0) 0%,rgb(var(--surface-rgb) / 0) 36%,rgb(var(--surface-rgb) / .66) 51%,rgb(var(--surface-rgb) / .78) 100%),
    linear-gradient(180deg,rgb(var(--surface-rgb) / .8) 0%,rgb(var(--surface-rgb) / .48) 38%,rgb(var(--surface-rgb) / .6) 72%,rgb(var(--surface-rgb) / .9) 100%),
    linear-gradient(0deg,rgb(var(--accent-rgb) / .55),rgb(var(--accent-rgb) / .55)),
    url("assets/experiencia-escenario.jpg");
  background-size:auto,auto,auto,cover;
  background-position:center,center,center,center;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  background-blend-mode:normal,normal,color,normal;
}
/* Sobre foto el texto necesita más peso que sobre negro plano. */
.timeline p,.agenda-note{color:var(--chrome-warm)}
/* En móvil van tres capas en vez de cuatro: la sección se apila en una sola
   columna, así que el velo lateral que protege al timeline no aplica. */
@media(max-width:760px){
  .experience{
    background-image:
      linear-gradient(180deg,rgb(var(--surface-rgb) / .9) 0%,rgb(var(--surface-rgb) / .72) 48%,rgb(var(--surface-rgb) / .93) 100%),
      linear-gradient(0deg,rgb(var(--accent-rgb) / .55),rgb(var(--accent-rgb) / .55)),
      url("assets/experiencia-escenario.jpg");
    background-size:auto,auto,cover;
    /* tres capas aquí, no cuatro: la lista de blend se declara de nuevo o el
       `color` caería sobre la capa equivocada. */
    background-blend-mode:normal,color,normal;
  }
}

/* CTA del anfitrión: señal luminosa industrial, no un enlace secundario. */
.attend-cta{
  --cta-x:50%;
  --cta-y:50%;
  --cta-shift-x:0px;
  --cta-shift-y:0px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 50px;
  align-items:center;
  gap:18px;
  min-width:255px;
  min-height:78px;
  padding:12px 13px 12px 22px;
  border-radius:999px;
  border:1px solid rgb(var(--accent-rgb) / .88);
  background:linear-gradient(115deg,var(--green) 0%,var(--green-lit) 66%,#f4f6ef 100%);
  color:#030704;
  box-shadow:0 16px 42px rgba(0,0,0,.52),0 0 0 5px rgb(var(--accent-rgb) / .09),0 0 34px rgb(var(--accent-rgb) / .28);
  text-decoration:none;
  transform:translate3d(var(--cta-shift-x),var(--cta-shift-y),0);
  transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease;
  animation:attend-cta-breathe 2.8s ease-in-out infinite;
}
.attend-cta::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(circle 110px at var(--cta-x) var(--cta-y),rgba(255,255,255,.72),transparent 68%);
  opacity:.35;
  transition:opacity .25s ease;
}
.attend-cta::after{
  content:"";
  position:absolute;
  inset:-55% auto -55% -35%;
  width:22%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  transform:skewX(-18deg);
  animation:attend-cta-sweep 3.4s ease-in-out infinite;
}
.attend-cta-copy{position:relative;z-index:1;display:grid;gap:3px}
.attend-cta-copy small{font-size:8px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.22em;opacity:.64}
.attend-cta-copy strong{font:clamp(18px,1.55vw,23px)/1 var(--display);text-transform:uppercase;letter-spacing:.025em}
.attend-cta-arrow{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  border-radius:50%;
  background:#050806;
  color:var(--green-lit);
  font-size:24px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s ease,color .3s ease;
}
.attend-cta:hover{
  border-color:var(--orange);
  box-shadow:0 20px 52px rgba(0,0,0,.62),0 0 0 6px rgb(var(--accent-rgb) / .13),0 0 48px rgb(var(--warm-rgb,255 92 80) / .28);
}
.attend-cta:hover::before{opacity:.72}
.attend-cta:hover .attend-cta-arrow{transform:rotate(45deg) scale(1.05);background:var(--red-lit);color:#080302}
.attend-cta:focus-visible{outline:3px solid var(--red-lit);outline-offset:5px}
@keyframes attend-cta-breathe{
  50%{box-shadow:0 18px 46px rgba(0,0,0,.56),0 0 0 8px rgb(var(--accent-rgb) / .055),0 0 44px rgb(var(--accent-rgb) / .38)}
}
@keyframes attend-cta-sweep{
  0%,58%{left:-35%;opacity:0}
  68%{opacity:.72}
  86%,100%{left:118%;opacity:0}
}
@media(max-width:1050px){.host .attend-cta{grid-column:2;width:max-content}}
@media(max-width:760px){
  .host .attend-cta{grid-column:1/-1;width:min(100%,340px);min-width:0;margin-top:8px}
}
@media(prefers-reduced-motion:reduce){
  .attend-cta{animation:none;transform:none}
  .attend-cta::after{display:none}
}
