@font-face{font-family:Haffer;src:url('https://go.greenset.net/jd77yxfgt1x7e0y8mp2yh22prn8a1xp4/fonts/haffer-variable.woff2') format('woff2');font-display:swap}
:root{--black:#181818;--ink:#111;--green:#4cde71;--paper:#f3f1ed;--blue:#244be7;--line:#d5d3cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Haffer,Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{height:82px;padding:0 3.2vw;background:var(--black);color:#fff;display:flex;align-items:center;gap:36px;position:sticky;top:0;z-index:50;border-bottom:1px solid #3b3b3b}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand img{width:116px;max-height:36px}.brand span,.footer-brand span{font-size:10px;letter-spacing:.21em;border-left:1px solid #777;padding-left:12px}.desktop-nav{display:flex;gap:28px;font-size:14px}.desktop-nav a{opacity:.72}.desktop-nav a:hover{opacity:1}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--black);color:#fff;padding:17px 20px;border:0;font:600 14px Haffer,Arial;min-width:195px;cursor:pointer}.button span{font-size:19px}.button-small{min-width:0;padding:13px 16px}.button.green{background:var(--green);color:#0d2714}.menu{display:none;background:none;border:0;color:#fff}.hero{min-height:710px;display:grid;grid-template-columns:1.05fr .95fr;background:#efeee9}.hero-copy{padding:8vw 5vw 6vw 6vw;align-self:center}.eyebrow,.section-label{font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.12em}.eyebrow{display:flex;align-items:center;gap:10px;color:#555}.eyebrow span{width:9px;height:9px;background:var(--green);border-radius:50%}.hero h1{font-size:clamp(54px,6.2vw,98px);line-height:.91;letter-spacing:-.055em;margin:25px 0 28px;max-width:850px}.lead{font-size:20px;line-height:1.45;color:#555;max-width:660px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:40px}.text-link{font-size:14px;font-weight:650;border-bottom:1px solid;padding-bottom:7px}.text-link span{padding-left:16px}.hero-image{margin:25px 25px 25px 0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.58)),url('australian-open.jpg') center/cover;position:relative;min-height:610px}.hero-badge{position:absolute;top:22px;right:22px;width:146px;height:auto;display:block;box-shadow:0 8px 28px rgba(0,0,0,.16)}.hero-image>p{position:absolute;bottom:15px;left:22px;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.ticker{overflow:hidden;background:var(--green);padding:15px 0;white-space:nowrap;font-weight:650;letter-spacing:.02em}.ticker div{font-size:15px;word-spacing:28px;animation:ticker 24s linear infinite}.ticker i{/*font-size:7px*/}@keyframes ticker{to{transform:translateX(-45%)}}.proof{padding:100px 6vw 80px}.section-label{border-top:1px solid #aaa;padding-top:13px;max-width:210px;color:#666}.proof-main{display:grid;grid-template-columns:2fr 1fr;gap:8vw;margin:65px 0 85px}.proof-main h2,.sports-head h2,.local h2,.contact h2{font-size:clamp(45px,6vw,84px);line-height:.98;letter-spacing:-.05em;margin:0}.proof-main h2 em{font-weight:400;color:#777}.proof-main p,.sports-head>p,.local-copy p{font-size:19px;line-height:1.5;color:#666}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.stats>div{padding:32px 2vw 0 0}.stats strong{display:block;font-size:54px;letter-spacing:-.06em}.stats span{font-size:13px;color:#666}.sports{background:var(--black);color:#fff;padding:100px 3.2vw}.sports-head{display:grid;grid-template-columns:.7fr 1.5fr .8fr;gap:4vw;align-items:end;margin:0 2.8vw 65px}.sports-head .section-label{color:#999}.sports-head>p{color:#aaa;margin:0}.sport-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.sport-card{height:580px;position:relative;overflow:hidden;background:#222}.sport-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.85);transition:.5s}.sport-card:hover img{transform:scale(1.025);filter:saturate(1.05)}.sport-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.83))}.sport-overlay{position:absolute;z-index:2;inset:auto 28px 28px}.sport-overlay span{font-size:12px;color:var(--green)}.sport-overlay h3{font-size:56px;letter-spacing:-.04em;margin:7px 0}.sport-overlay p{max-width:390px;color:#d7d7d7;margin:0;font-size:15px}.sport-overlay a{position:absolute;right:0;bottom:0;border:1px solid #fff;border-radius:50%;width:46px;height:46px;display:grid;place-items:center}.ao{display:grid;grid-template-columns:1.15fr .85fr;min-height:740px;background:var(--blue);color:#fff}.ao-image{background:url('australian-open.jpg') center/cover;position:relative}.ao-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,rgba(36,75,231,.55))}.court-line{position:absolute;width:45%;height:2px;right:0;top:42%;background:#fff;transform:rotate(-14deg);transform-origin:right}.ao-copy{padding:80px 6vw 70px 5vw;align-self:center}.section-label.light{color:#c7cffa;border-color:#7890ef}.quote-mark{font-size:95px;line-height:.5;color:var(--green);margin:80px 0 15px}.ao h2{font-size:clamp(46px,5vw,72px);line-height:.98;letter-spacing:-.05em;margin:0 0 32px}.ao-copy>p:not(.quote-mark){font-size:17px;line-height:1.55;color:#dbe0ff}.ao .button{margin-top:25px}.local{padding:100px 6vw}.local-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;margin:70px 0 90px}.local-copy p{margin-top:0}.features{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.features>div{padding:28px 4vw 10px 0}.features span{font-size:12px;color:#777}.features h3{font-size:26px}.features p{color:#666;line-height:1.5}.clients{background:var(--green);padding:70px 6vw}.clients>p{font-size:11px;font-weight:700;letter-spacing:.16em}.client-list{display:grid;grid-template-columns:repeat(2,1fr);margin-top:35px}.client-list span{font-size:clamp(27px,3.4vw,50px);letter-spacing:-.035em;border-top:1px solid rgba(0,0,0,.38);padding:20px 0}.client-list span:nth-child(odd){margin-right:4vw}.contact{background:var(--black);color:#fff;display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;padding:100px 6vw}.contact-intro>p{font-size:18px;color:#aaa;max-width:500px;line-height:1.5}.contact h2{margin:60px 0 28px}.contact-note{display:flex;gap:25px;margin-top:60px;color:#999;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.form{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 18px;align-content:center}.form label{font-size:12px;color:#aaa}.form input,.form select,.form textarea{display:block;width:100%;background:transparent;color:#fff;border:0;border-bottom:1px solid #666;padding:14px 0;font:16px Haffer,Arial;border-radius:0}.form select option{color:#111}.form textarea{resize:vertical}.wide{grid-column:1/-1}.success{color:var(--green)}footer{background:#101010;color:#fff;padding:45px 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center;border-top:1px solid #333}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:125px}footer>p{font-size:14px;color:#aaa}footer>div:nth-of-type(2){display:flex;gap:24px;font-size:13px;justify-content:flex-end}footer small{grid-column:1/-1;color:#555;margin-top:25px}
@media(max-width:900px){.desktop-nav,.nav .button-small{display:none}.menu{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:70px 6vw}.hero-image{margin:0 4vw 4vw;min-height:520px}.proof-main,.sports-head,.local-grid,.contact{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.sport-card{height:470px}.ao{grid-template-columns:1fr}.ao-image{min-height:520px}.client-list{grid-template-columns:1fr}.client-list span:nth-child(odd){margin-right:0}.contact{gap:60px}footer{grid-template-columns:1fr}footer>div:nth-of-type(2){justify-content:flex-start}}
@media(max-width:620px){.nav{height:70px}.brand img{width:100px}.hero h1{font-size:54px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-image{min-height:420px}.proof,.local,.contact{padding-top:72px;padding-bottom:72px}.proof-main{margin:50px 0}.stats{gap:25px}.stats strong{font-size:42px}.sport-grid{grid-template-columns:1fr}.sport-card{height:460px}.sport-overlay h3{font-size:46px}.sports-head{margin:0 1vw 45px}.ao-copy{padding:70px 6vw}.form{grid-template-columns:1fr}.form label{grid-column:1}.client-list span{padding:18px 0}.hero-badge{width:118px}}
/* --- Banner de Cookies (Básico) --- */
.cookie-banner {
  position: fixed;
  bottom: 0; left: 0; width: 100%;
  background-color: #1a1a1a; color: #fff;
  padding: 20px; box-shadow: 0 -4px 15px rgba(0,0,0,0.3);
  display: none; z-index: 9999; font-family: sans-serif;
}
.cookie-content { max-width: 1000px; margin: 0 auto; }
.cookie-buttons { display: flex; gap: 10px; margin-top: 15px; align-items: center; }

/* --- Modal de Configuración Detallada --- */
.cookie-modal {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  display: none; justify-content: center; align-items: center;
  z-index: 10000; font-family: sans-serif;
}
.modal-content {
  background-color: #fff; color: #333;
  padding: 25px; border-radius: 8px;
  width: 90%; max-width: 550px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.3);
}
/* --- Corrección de Botones en CSS --- */
.cookie-buttons { 
  display: flex; 
  gap: 12px; 
  margin-top: 15px; 
  align-items: center;
  flex-wrap: wrap; /* Evita que los botones se corten en pantallas móviles */
}

.btn { 
  padding: 10px 18px; 
  border: none; 
  border-radius: 4px; 
  cursor: pointer; 
  font-weight: bold; 
  font-size: 0.9rem;
  transition: background-color 0.2s ease;
}

.btn-primary { 
  background-color: #10b981; /* Verde visible */
  color: white; 
}
.btn-primary:hover { background-color: #059669; }

.btn-secondary { 
  background-color: #4b5563; /* Gris intermedio */
  color: white; 
}
.btn-secondary:hover { background-color: #374151; }

/* REVISAR ESTA CLASE: Fuerza el color blanco para que resalte sobre el fondo negro del banner */
.btn-link { 
  background: none !important; 
  color: #000 !important; /* Cambiado a blanco para máxima visibilidad */
  text-decoration: underline; 
  padding: 5px 10px; 
  font-size: 0.9rem;
}
.btn-link:hover {
  color: #10b981 !important; /* Gris claro al pasar el cursor */
}
