*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100svh;font-family:var(--font-body);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;letter-spacing:-0.005em}img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:transparent}a{color:var(--cft-red);text-decoration:none}a:hover{color:var(--cft-red-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--cft-black);letter-spacing:-0.035em;line-height:0.95;font-weight:800;margin:0 0 1rem}h1{font-size:clamp(2.5rem,6vw,5.5rem);font-weight:900}h2{font-size:clamp(2rem,4.5vw,3.5rem);font-weight:800}h3{font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:700;letter-spacing:-0.02em}h4{font-size:1.25rem;font-weight:700;letter-spacing:-0.015em}p{margin:0 0 1rem}.lead{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5;max-width:60ch;color:var(--cft-gray)}.eyebrow{display:inline-block;font-size:0.75rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--cft-red);margin-bottom:1rem;padding-left:36px;position:relative}.eyebrow::before{content:"";position:absolute;left:0;top:50%;width:28px;height:2px;background:var(--cft-red)}.skip-link{position:absolute;top:-100px;left:1rem;z-index:1000;padding:0.75rem 1.25rem;background:var(--cft-red);color:#fff;font-weight:700;border-radius:8px;transition:top 0.2s}.skip-link:focus{top:1rem;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}.container-wide{max-width:1440px}.container-narrow{max-width:900px}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.6rem;padding:0.95rem 1.65rem;font-family:inherit;font-size:0.95rem;font-weight:700;line-height:1.2;letter-spacing:0.005em;text-decoration:none;border-radius:999px;transition:transform 0.2s cubic-bezier(.2,.8,.2,1),background 0.2s,color 0.2s,box-shadow 0.2s;min-height:48px;position:relative;overflow:hidden}.btn::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,0.25),transparent 60%);opacity:0;transition:opacity 0.25s}.btn:hover::after{opacity:1}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:focus-visible{outline:none;box-shadow:0 0 0 4px color-mix(in oklab,var(--color-focus),transparent 60%)}.btn-primary{background:var(--cft-red);color:#fff}.btn-primary:hover{background:var(--cft-red-hover);color:#fff}.btn-dark{background:var(--cft-black);color:#fff}.btn-dark:hover{background:#1a1918;color:#fff}.btn-light{background:#fff;color:var(--cft-red)}.btn-light:hover{background:#fff;color:var(--cft-red-hover)}.btn-outline{background:transparent;color:var(--cft-red);box-shadow:inset 0 0 0 2px var(--cft-red)}.btn-outline:hover{background:var(--cft-red);color:#fff}.btn-outline-white{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,0.5)}.btn-outline-white:hover{background:#fff;color:var(--cft-red);box-shadow:inset 0 0 0 2px #fff}.btn-ghost{background:transparent;color:var(--cft-gray)}.btn-ghost:hover{background:var(--cft-gray-bg)}.btn-lg{padding:1.1rem 2.2rem;font-size:1.05rem}.btn-sm{padding:0.5rem 1rem;font-size:0.85rem;min-height:36px}.pill{display:inline-flex;align-items:center;gap:0.4rem;padding:0.4rem 0.9rem;font-size:0.8rem;font-weight:700;border-radius:999px;background:var(--cft-red-tint);color:var(--cft-red);letter-spacing:0.01em}.pill-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}.pill-gray{background:var(--cft-gray-bg);color:var(--cft-gray)}.pill-dark{background:rgba(255,255,255,0.12);color:#fff;backdrop-filter:blur(8px)}.card{background:#fff;border:1px solid var(--color-border);border-radius:20px;overflow:hidden;transition:box-shadow 0.25s,transform 0.25s,border-color 0.25s;display:flex;flex-direction:column}.card:hover{box-shadow:0 20px 40px -12px rgba(0,0,0,0.12);transform:translateY(-4px);border-color:var(--cft-red)}.card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--cft-gray-bg)}.card-media img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}.card:hover .card-media img{transform:scale(1.05)}.card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column;gap:0.5rem}.card-title{font-size:1.25rem;font-weight:700;letter-spacing:-0.015em;margin:0.5rem 0}.card-title a{color:inherit;text-decoration:none}.card-title a:hover{color:var(--cft-red)}.card-meta{font-size:0.85rem;color:var(--cft-gray-muted)}.card-dark{background:#1a1918;border-color:#2a2927;color:#d4d4d3}.card-dark .card-title a{color:#fff}.card-dark .card-title a:hover{color:var(--cft-red)}.section{padding-block:clamp(4rem,8vw,7rem);position:relative}.section-alt{background:var(--cft-gray-bg)}.section-dark{background:var(--cft-black);color:#e8e8e6}.section-dark h1,.section-dark h2,.section-dark h3{color:#fff}.section-dark .lead,.section-dark p{color:#b8b8b6}.section-dark .eyebrow{color:#fff}.section-dark .eyebrow::before{background:#fff}.section-brand{background:var(--cft-red);color:#fff;position:relative;overflow:hidden}.section-brand::before{content:"";position:absolute;inset:0;background:url('../img/pattern-chorreras.svg')center/400px no-repeat;opacity:0.08;color:#fff}.section-brand h1,.section-brand h2,.section-brand h3{color:#fff}.section-brand .eyebrow{color:#fff}.section-brand .eyebrow::before{background:#fff}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}.section-head-left{max-width:65ch}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0}.stat{padding:2rem 1.5rem;border-top:4px solid var(--cft-red);border-right:1px solid var(--color-border);transition:background 0.25s}.stat:last-child{border-right:0}.stat:hover{background:var(--cft-red-tint)}.stat-value{font-family:var(--font-heading);font-size:clamp(3rem,5vw,4.5rem);font-weight:900;color:var(--cft-red);line-height:0.9;letter-spacing:-0.04em;display:block}.stat-label{font-size:0.85rem;font-weight:600;color:var(--cft-gray);margin-top:0.75rem;text-transform:uppercase;letter-spacing:0.08em}@media(max-width:900px){.stat{border-right:0;border-bottom:1px solid var(--color-border)}.stat:last-child{border-bottom:0}}.text-center{text-align:center}.text-brand{color:var(--cft-red)}.text-muted{color:var(--cft-gray-muted)}.text-black{color:var(--cft-black)}.text-white{color:#fff}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.divider-red{height:4px;background:var(--cft-red);width:80px;border:0;margin:0 0 1.5rem}@media(max-width:480px){.lead{max-width:100%;font-size:1rem}.section-head{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:2rem}.section{padding-block:clamp(2.5rem,6vw,4rem)}.stat{padding:1.5rem 1rem}}@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(.2,.8,.2,1),transform 0.7s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}.reveal[data-delay="100"]{transition-delay:0.1s}.reveal[data-delay="200"]{transition-delay:0.2s}.reveal[data-delay="300"]{transition-delay:0.3s}.reveal[data-delay="400"]{transition-delay:0.4s}.reveal[data-delay="500"]{transition-delay:0.5s}}.high-contrast{--color-bg:#000;--color-text:#fff;--cft-black:#fff;--cft-gray:#fff;--cft-gray-bg:#000;--color-border:#fff;--cft-red:#ff6b47}.high-contrast .card{background:#000;color:#fff;border-color:#fff}.high-contrast .btn-primary{background:#fff;color:#000}
