@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--bg:#090a0c;--panel:#141619;--yellow:#f5d21c;--text:#f6f6f4;--muted:#a1a3a8;--line:#303237;--font:'Montserrat',Arial,sans-serif} *{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.7 var(--font);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%}.container{width:min(1280px,calc(100% - 64px));margin:auto}.hidden{display:none!important}.progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--yellow);z-index:110}.grain{pointer-events:none;position:fixed;inset:0;opacity:.025;background-image:url('data:image/svg+xml,%3Csvg viewBox=%220 0 180 180%22 xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cfilter id=%22n%22%3E%3CfeTurbulence type=%22fractalNoise%22 baseFrequency=%22.8%22 numOctaves=%223%22 stitchTiles=%22stitch%22/%3E%3C/filter%3E%3Crect width=%22100%25%22 height=%22100%25%22 filter=%22url(%23n)%22/%3E%3C/svg%3E');z-index:90}.header{position:fixed;top:0;width:100%;z-index:100;transition:.3s;background:linear-gradient(#08090bdf,#08090b75)}.header.scrolled{background:#090a0cf5;border-bottom:1px solid #ffffff19;backdrop-filter:blur(18px)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font:900 39px/.9 'Barlow Condensed',Impact,sans-serif;letter-spacing:-2px}.slash{color:var(--yellow)}.brand-name{font:800 22px/1 'Barlow Condensed',sans-serif;letter-spacing:2px}.brand-name small{display:block;color:#b7b8b8;font:700 8px/2 var(--font);letter-spacing:2.2px}.navlinks{display:flex;align-items:center;gap:30px}.navlinks>a{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:color .2s}.navlinks>a:hover{color:var(--yellow)}.navlinks .nav-book{background:var(--yellow);color:#111;padding:15px 18px}.nav-book span{margin-left:14px}.menu-toggle{display:none;background:none;border:0;padding:12px}.menu-toggle span{display:block;width:25px;height:2px;margin:5px;background:#fff}.hero{position:relative;min-height:780px;height:min(900px,100svh);display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url('../img/hero-imk-racing.jpg') center 35%/cover no-repeat;transform:scale(1.045);animation:heroZoom 1.7s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050608ed 0%,#050608c9 38%,#0506084b 74%,#05060826),linear-gradient(0deg,#08090b 0%,transparent 28%,#08090b47 100%)}.hero-inner{position:relative;z-index:1;padding-top:100px}.hero-copy{max-width:840px}.eyebrow,.kicker{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--yellow)}.eyebrow{display:flex;align-items:center;gap:14px}.pulse{width:7px;height:7px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 6px #f5d21c22;animation:pulse 2s infinite}.eyebrow-line{width:40px;height:1px;background:#ffffff6b}.hero h1,.section-top h2,.statement h2,.affiliation h2,.contact-section h2{font:900 clamp(72px,9.2vw,150px)/.84 'Barlow Condensed',Impact,sans-serif;letter-spacing:-2px;margin:34px 0 28px;text-transform:uppercase}.hero h1 em,.statement h2 em,.contact-section h2 em{font-style:normal;color:var(--yellow)}.hero-copy>p{font-size:16px;color:#e0e0df;max-width:540px;line-height:1.85}.hero-buttons,.contact-buttons,.form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{border:1px solid transparent;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 23px;font-size:11px;font-weight:800;letter-spacing:1px;transition:transform .25s,background .25s,color .25s;text-align:center}.button:hover{transform:translateY(-3px)}.button-yellow{background:var(--yellow);color:#101010}.button-yellow:hover{background:#ffe94c}.button-outline{background:#ffffff08;border-color:#ffffff70;color:#fff}.button-outline:hover{background:#fff;color:#111}.hero-meta{display:flex;gap:35px;margin-top:68px;font-size:10px;letter-spacing:1.7px;font-weight:700}.hero-meta b{color:var(--yellow);margin-right:6px}.hero-side{position:absolute;right:30px;bottom:95px;writing-mode:vertical-rl;letter-spacing:3px;font-size:9px;font-weight:700;color:#fff9}.hero-side span{color:var(--yellow)}.scroll-cue{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:700;letter-spacing:2px;display:flex;gap:18px;align-items:center}.scroll-cue span{font-size:23px;color:var(--yellow)}.ticker{background:var(--yellow);color:#0b0b0b;overflow:hidden;transform:rotate(-1deg) scale(1.02);position:relative;z-index:2}.ticker-track{white-space:nowrap;width:max-content;animation:marquee 25s linear infinite;font:900 29px/1 'Barlow Condensed',sans-serif;letter-spacing:2px;padding:16px 0}.ticker span{padding:0 28px}.section{padding:120px 0}.services{background:#0b0d10}.section-top{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:40px;margin-bottom:52px}.section-top .kicker{grid-column:1/-1}.section-top h2,.affiliation h2{font-size:clamp(56px,6.5vw,100px);margin:0}.section-top h2 span,.affiliation h2 span{color:var(--yellow)}.section-top p{color:var(--muted);max-width:380px;margin:0 0 8px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#33363a;border:1px solid #33363a}.service-card{background:#121417;padding:35px;min-height:335px;position:relative;transition:background .3s,transform .3s;overflow:hidden}.service-card:before{content:'';position:absolute;top:0;left:0;width:0;height:3px;background:var(--yellow);transition:width .35s}.service-card:hover{background:#1b1e21;transform:translateY(-3px);z-index:2}.service-card:hover:before{width:100%}.service-num{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#777}.service-num span{font-size:22px;color:var(--yellow)}.service-icon{font:600 52px 'Barlow Condensed';color:var(--yellow);margin:22px 0 10px}.service-card h3{font:900 33px 'Barlow Condensed',sans-serif;letter-spacing:1px;margin:0 0 8px}.service-card p{font-size:12px;color:#b3b4b7;max-width:290px}.service-foot{position:absolute;bottom:27px;left:35px;font-size:9px;letter-spacing:1.5px;font-weight:700;color:#757a80}.fineprint{font-size:11px;color:#777e83;margin-top:20px}.statement{min-height:780px;position:relative;display:flex;align-items:center;overflow:hidden}.statement-photo{position:absolute;inset:0;background:url('../img/galeria-3.jpg') center/cover}.statement-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#090a0cf5,#090a0cd1 45%,#090a0c3d),linear-gradient(0deg,#090a0c 0%,transparent 20%)}.statement-inner{position:relative;padding:100px 0}.statement h2{font-size:clamp(65px,8vw,125px);margin:26px 0}.statement p{max-width:480px;color:#ddd}.text-link{display:inline-flex;gap:22px;border-bottom:1px solid var(--yellow);padding-bottom:12px;font-size:11px;font-weight:800;letter-spacing:1px;margin-top:28px}.text-link span{color:var(--yellow)}.gallery{background:#0c0e11}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:12px}.gallery-photo{border:0;padding:0;position:relative;overflow:hidden;text-align:left;background:#222}.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s,filter .5s}.gallery-photo:hover img{transform:scale(1.07);filter:brightness(.8)}.gallery-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000a);pointer-events:none}.gallery-photo span{position:absolute;bottom:22px;left:22px;right:22px;z-index:1;font:800 21px 'Barlow Condensed';letter-spacing:1px;display:flex;justify-content:space-between}.gallery-photo b{color:var(--yellow)}.gallery-large{grid-row:span 2}.gallery-wide{grid-column:span 2}.affiliation{background:var(--yellow);color:#101010;padding:95px 0}.affiliation-inner{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:center}.affiliation .kicker{color:#222}.affiliation h2{font-size:clamp(52px,5vw,82px)}.affiliation h2 span{color:#4b470c}.affiliation p{max-width:600px}.affiliation .text-link{border-color:#111}.affiliation .text-link span{color:#111}.affiliation-stamp{border:2px solid #111;min-height:230px;display:flex;justify-content:center;align-items:center;gap:16px;position:relative;transform:rotate(2deg)}.affiliation-stamp span{font:900 53px/.9 'Barlow Condensed';letter-spacing:1px}.affiliation-stamp strong{font:900 45px 'Barlow Condensed'}.affiliation-stamp small{position:absolute;bottom:20px;letter-spacing:4px;font-size:10px;font-weight:700}.booking{background:#0a0c0e}.booking-shell{display:grid;grid-template-columns:.8fr 1.2fr;border:1px solid var(--line);background:#131619}.booking-info{padding:50px;background:linear-gradient(145deg,#22261f,#101315)}.booking-step{display:flex;gap:20px;padding:25px 0;border-bottom:1px solid #ffffff20}.booking-step>span{font:900 30px 'Barlow Condensed';color:var(--yellow)}.booking-step b{font-size:12px;letter-spacing:1px}.booking-step p{font-size:12px;color:#a9aba9;margin:6px 0}.booking-hours{margin-top:55px;display:grid;gap:15px}.booking-hours span{font-size:10px;letter-spacing:2px;color:var(--yellow)}.booking-hours strong{font:800 25px/1.3 'Barlow Condensed'}.booking-panel{padding:45px}.booking-panel h3{font:900 34px 'Barlow Condensed';margin:0}.panel-desc{color:#aeb0b2;font-size:12px;margin-bottom:25px}.field{display:flex;flex-direction:column;gap:8px;margin:15px 0}.field label{font-size:10px;letter-spacing:1.3px;font-weight:800;color:#bfc0c2}.field input,.field select,.field textarea{width:100%;border:1px solid #3b3e43;border-radius:0;background:#0b0d10;color:#fff;padding:13px;outline:none;min-width:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--yellow)}.field textarea{resize:vertical}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking-panel .button{padding:14px 17px}.message{font-size:12px;min-height:20px;color:var(--yellow)}.app-head{display:flex;justify-content:space-between;gap:10px}.app-head p{font-size:11px;color:#aaa;margin:2px 0}.small-button{background:none;border:1px solid #777;color:#fff;padding:10px 14px;font-size:10px;font-weight:800}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 35px}.slot{border:1px solid #444;background:#202326;color:#fff;padding:10px 4px;text-align:center;cursor:pointer}.slot .time{font:800 20px 'Barlow Condensed'}.slot .state{font-size:9px}.slot.free{border-color:#6b7555}.slot.busy{background:#652f2f;border-color:#d55a5a}.slot.blocked{background:#474137;border-color:#cba456}.slot.mine{border-color:var(--yellow)}.slot.selected{outline:2px solid var(--yellow);outline-offset:1px}.slot.past{opacity:.4;cursor:not-allowed}.booking-panel h4{font:800 25px 'Barlow Condensed';margin:10px 0}.contact-section{background:#131619;padding:120px 0}.contact-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.contact-section h2{font-size:clamp(70px,8vw,120px)}.contact-section p{color:#bbb;max-width:440px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:35px}.detail{border-top:1px solid #444;padding-top:17px;display:flex;flex-direction:column;align-items:flex-start;gap:13px}.detail>span{font-size:10px;letter-spacing:2px;color:var(--yellow)}.detail strong,.detail a{font-size:13px;line-height:1.7}.detail a:hover{color:var(--yellow)}.detail .big-contact{font:900 29px 'Barlow Condensed'}.footer{padding:35px 0;background:#070809}.footer-top{display:flex;align-items:center;justify-content:space-between;padding:25px 0 50px}.footer-brand{font:900 45px 'Barlow Condensed'}.footer-brand span{color:var(--yellow)}.back-top{font-size:10px;letter-spacing:1px}.footer-bottom{border-top:1px solid #292c30;padding-top:25px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#8c8f94;font-size:9px;letter-spacing:1px}.lightbox{position:fixed;inset:0;z-index:200;background:#000e;display:flex;align-items:center;justify-content:center;padding:40px}.lightbox img{max-width:100%;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:15px;background:none;border:0;color:#fff;font-size:50px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes pulse{50%{box-shadow:0 0 0 12px #f5d21c00}}@keyframes heroZoom{from{transform:scale(1.12);filter:blur(5px)}to{transform:scale(1.045);filter:blur(0)}}@media(max-width:1050px){.navlinks{gap:14px}.navlinks>a{font-size:9px}.service-grid{grid-template-columns:repeat(2,1fr)}.contact-layout{gap:35px}}@media(max-width:760px){.container{width:min(100% - 36px,1280px)}.nav{height:70px}.menu-toggle{display:block}.navlinks{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;background:#0a0c0ef7;padding:25px;gap:18px}.navlinks.open{display:flex}.navlinks>a{font-size:12px}.hero{min-height:730px;height:auto}.hero-inner{padding:150px 0 100px}.hero h1{font-size:clamp(65px,15vw,115px)}.hero-side{display:none}.hero-meta{gap:14px;flex-wrap:wrap;margin-top:45px}.hero-meta span{font-size:8px}.scroll-cue{bottom:20px}.section{padding:75px 0}.section-top{display:block}.section-top h2{margin:20px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:280px}.statement{min-height:650px}.statement h2{font-size:clamp(62px,13vw,100px)}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.gallery-large{grid-row:span 2}.gallery-wide{grid-column:span 2}.affiliation-inner,.booking-shell,.contact-layout{grid-template-columns:1fr}.affiliation-stamp{min-height:170px}.booking-info,.booking-panel{padding:25px}.booking-hours{margin-top:30px}.contact-details{padding:0}.contact-section{padding:75px 0}.footer-bottom{flex-direction:column}.hero-bg{background-position:60% center}}@media(max-width:480px){.hero h1{font-size:65px}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero-buttons{flex-direction:column;align-items:stretch}.button{justify-content:center}.section-top h2{font-size:56px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:230px}.gallery-large,.gallery-wide{grid-row:auto;grid-column:auto}.two-fields{grid-template-columns:1fr}.slots{grid-template-columns:repeat(3,1fr)}.contact-details{grid-template-columns:1fr}.affiliation-stamp span{font-size:40px}.statement h2{font-size:60px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}


/* ========================================================
   IMK RACING V3 — CALENDARIO Y MODALES DE ADMINISTRACIÓN
   ======================================================== */
:root {color-scheme:dark}
button:disabled {cursor:not-allowed;opacity:.55}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}
.form-eyebrow,.dialog-kicker{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--yellow);margin-bottom:9px}
.online-dot{display:inline-block;width:7px;height:7px;background:#b7e07e;border-radius:50%;box-shadow:0 0 12px #b7e07e80;margin-right:8px}
.panel-desc{line-height:1.85}
.booking-panel h3{letter-spacing:.02em}
.demo-notice{font-size:11px;line-height:1.8;color:#d2d3c7;background:rgba(245,210,28,.055);border-left:2px solid var(--yellow);padding:13px 15px;margin-top:38px}
.demo-notice strong{color:var(--yellow)}
.booking-separator{height:1px;background:linear-gradient(90deg,var(--yellow),#383b3e 65%,transparent);margin:26px 0}
.app-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid #33373a;margin-bottom:19px}
.app-head h3{margin:0 0 4px;font:900 clamp(27px,3.5vw,38px)/1.1 'Barlow Condensed',sans-serif}
.app-head p{margin:4px 0;color:#aeb2b6;font-size:11px;overflow-wrap:anywhere}
.calendar-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 0 10px}
.calendar-tool{font-size:14px;font-weight:900;min-height:39px;color:#f2f2f0;background:#22262a;border:1px solid #44494e;transition:background .15s,color .15s,border-color .15s}
.calendar-tool:hover:not(:disabled){background:var(--yellow);color:#111;border-color:var(--yellow)}
.calendar-summary{font-size:11px;letter-spacing:.4px;color:#d5d8ce;margin:10px 0 0}
.slots-loading{grid-column:1/-1;color:var(--yellow);font-size:11px;letter-spacing:1px}
.slot{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;min-height:62px;transition:background .2s,border-color .2s,transform .2s}
.slot:hover:not(:disabled){background:#31353a;transform:translateY(-2px)}
.slot.free .state{color:#c3dfac}
.slot.busy .state{color:#ffd7d7}
.slot.blocked .state{color:#ffdf90}
.slot.mine{background:#393518}
.slot.mine .state{color:var(--yellow)}
.slot.selected{background:#3a361c;outline:2px solid var(--yellow)}
.slot .state{font-weight:700;font-size:8px;letter-spacing:.35px}
.slot-legend{display:flex;flex-wrap:wrap;gap:8px 17px;color:#bac0c3;font-size:10px;margin-top:-23px;margin-bottom:18px}
.slot-legend span{display:inline-flex;align-items:center;gap:5px}
.slot-legend span:before{content:'';display:inline-block;width:9px;height:9px;background:#444;border:1px solid #aaa}
.slot-legend .legend-free:before{background:#43533a;border-color:#8dc46f}
.slot-legend .legend-busy:before{background:#652f2f;border-color:#d55a5a}
.slot-legend .legend-mine:before{background:#51471c;border-color:var(--yellow)}
.slot-legend .legend-blocked:before{background:#474137;border-color:#cba456}
.form-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.form-actions .button{flex:1 1 auto;justify-content:center}
.message{min-height:20px;line-height:1.5}
.message-error{color:#ff9494!important}
.message-success{color:#c1eba1!important}
.upcoming-title{font:900 26px 'Barlow Condensed',sans-serif;letter-spacing:.4px}
.upcoming-list{display:grid;gap:8px;margin-top:15px;font-size:12px;color:#b6babc}
.upcoming-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 14px;background:#1a1d20;border:1px solid #393e41;color:var(--text);transition:border-color .2s,background .2s}
.upcoming-item:hover{background:#272b2f;border-color:var(--yellow)}
.upcoming-badge{flex:0 0 76px;white-space:nowrap;text-align:center;background:#272b25;border:1px solid #4c5545;color:var(--yellow);font-weight:900;font-size:9px;letter-spacing:1px;padding:8px 6px}
.upcoming-content{display:grid;gap:4px;min-width:0}
.upcoming-content strong{font-size:12px;font-weight:700}
.upcoming-content small{font-size:11px;color:#abb0b3;overflow-wrap:anywhere}
.imk-dialog{max-width:520px;width:calc(100% - 26px);max-height:calc(100vh - 40px);overflow-y:auto;background:#14171a;color:#fff;border:1px solid #5e6266;padding:clamp(23px,5vw,38px);box-shadow:0 36px 100px #000c}
.imk-dialog::backdrop{background:rgba(3,4,5,.83);backdrop-filter:blur(8px)}
.imk-dialog h3{font:900 39px/1.05 'Barlow Condensed',sans-serif;letter-spacing:.5px;margin:8px 0 13px}
.imk-dialog p{font-size:12px;color:#bfc2c3;line-height:1.8}
.imk-dialog form{margin:0}
.imk-dialog .form-actions{margin-top:22px}
.imk-dialog .form-actions .button{min-width:145px}
.imk-dialog .message{margin:8px 0}
input[type=date]{color-scheme:dark}
@media(max-width:760px){.upcoming-badge{flex-basis:68px}.booking-panel{padding:26px}.imk-dialog .form-actions .button{min-width:100%}}
@media(prefers-reduced-motion:reduce){.slot:hover:not(:disabled){transform:none}}
