*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root { --bg:#08080b; --bg2:#08080b; --bg3:#08080b; --accent:#4a8bc8; --accent2:#4a8bc8; --text:#fff; --muted:#ffffff; --border:#4a8bc8; --font-head:'Rajdhani',sans-serif; --font-body:'DM Sans',sans-serif; }
html { scroll-behavior: smooth; }
body { background:var(--bg); color:var(--text); font:16px/1.7 var(--font-body); overflow-x:hidden; }
body.intro-active { overflow:hidden; }
.site-intro { --car-progress:0; --reveal-left:100vw; position:fixed; z-index:1000; inset:0; display:grid; place-items:center; overflow:hidden; background:#020305; opacity:1; isolation:isolate; transition:opacity 1.45s cubic-bezier(.22,.61,.36,1),visibility 1.45s; }
.site-intro::after { position:absolute; z-index:6; inset:0; content:''; background:radial-gradient(ellipse at 50% 48%,transparent 22%,rgba(0,0,0,.66) 100%); pointer-events:none; }
.intro-atmosphere { position:absolute; inset:-12%; background:radial-gradient(ellipse at 58% 52%,rgba(74,139,200,.11),transparent 38%),linear-gradient(112deg,#010203 20%,#060b12 51%,#010203 80%); transform:scale(1.01); transition:transform 1.2s cubic-bezier(.2,.7,.2,1),opacity .85s ease; }
.intro-motion { display:none; }
.intro-motion::before,.intro-motion::after { position:absolute; top:50%; right:-12vw; width:72vw; height:1px; content:''; background:linear-gradient(90deg,transparent,rgba(74,139,200,.5),transparent); transform:translateY(-36px) scaleX(calc(.35 + var(--car-progress))); transform-origin:right; }
.intro-motion::after { width:54vw; transform:translateY(42px) scaleX(calc(.25 + var(--car-progress))); opacity:.42; }
.intro-mark { position:relative; z-index:3; width:min(22vw,220px); max-height:31svh; object-fit:contain; opacity:0; filter:drop-shadow(0 0 22px rgba(74,139,200,.18)); transform:scale(.96); animation:introMark 2s cubic-bezier(.2,.72,.2,1) .1s both; }
.intro-reveal { position:absolute; z-index:2; inset:0; display:grid; place-items:center; clip-path:inset(0 0 0 var(--reveal-left)); will-change:clip-path; }
.intro-wordmark { width:min(58vw,780px); max-height:24svh; object-fit:contain; filter:drop-shadow(0 12px 28px rgba(0,0,0,.46)); transform:scale(.985); transition:transform .85s cubic-bezier(.2,.7,.2,1),filter .85s ease; }
.intro-car-stage { position:absolute; z-index:4; top:50%; left:50%; width:min(68vw,1040px); opacity:0; transform:translate3d(calc(98vw - (220vw * var(--car-progress))),-48%,0) scale(.94); filter:blur(calc((1 - var(--car-progress)) * 2px)) drop-shadow(0 22px 20px rgba(0,0,0,.52)); will-change:transform,opacity,filter; }
.intro-car { display:block; width:100%; height:auto; object-fit:contain; }
.site-intro.is-driving .intro-mark { opacity:0; transform:scale(1.015); animation:none; transition:opacity .22s ease,transform .28s ease; }
.site-intro.is-driving .intro-car-stage,.site-intro.is-driving .intro-motion { opacity:1; }
.site-intro.is-settled .intro-motion { opacity:0; transition:opacity .16s ease; }
.site-intro.is-settled .intro-wordmark { transform:scale(1); filter:drop-shadow(0 16px 34px rgba(0,0,0,.4)) drop-shadow(0 0 12px rgba(74,139,200,.08)); }
.site-intro.is-exiting { visibility:hidden; opacity:0; }
.site-intro.is-exiting .intro-atmosphere { opacity:0; transform:scale(1.075); }
.site-intro.is-exiting .intro-wordmark { opacity:0; filter:blur(5px) drop-shadow(0 18px 40px rgba(0,0,0,.35)); transform:scale(1.075) translateY(-2vh); transition:opacity 1.05s ease,transform 1.4s cubic-bezier(.2,.7,.2,1),filter 1.15s ease; }
.intro-skip { position:absolute; z-index:8; right:clamp(1rem,3vw,2.5rem); bottom:clamp(1rem,3vw,2rem); padding:.45rem .7rem; border:0; border-bottom:1px solid rgba(255,255,255,.32); background:transparent; color:rgba(255,255,255,.68); cursor:pointer; font:600 .72rem var(--font-head); letter-spacing:.14em; text-transform:uppercase; transition:color .2s,border-color .2s; }
.intro-skip:hover,.intro-skip:focus-visible { border-color:var(--accent); color:#fff; outline:none; }
img { max-width:100%; }
section { padding:7rem 4rem; scroll-margin-top:72px; }

nav { position:fixed; inset:0 0 auto; z-index:100; display:grid; grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr); align-items:center; height:72px; padding:0 4rem; background:rgba(8,8,11,.88); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); opacity:1; transform:none; transition:opacity .9s ease .3s,transform 1.1s cubic-bezier(.2,.7,.2,1) .2s; }
body.intro-active nav { opacity:0; transform:translateY(-18px); }
.nav-logo { display:flex; align-items:center; text-decoration:none; }
.nav-brand-logo { width:auto; height:38px; object-fit:contain; filter:drop-shadow(0 0 10px rgba(74,139,200,.2)); }
.nav-links { display:flex; justify-content:center; gap:clamp(1.25rem,2vw,2.5rem); margin:0; list-style:none; }
.nav-links a, .footer-links a { color:#fff; font-family:var(--font-head); font-weight:600; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; transition:color .2s; }
.nav-links a { font-size:1rem; }
.nav-links a:hover, .footer-links a:hover { color:var(--accent); }
.nav-cta { padding:.5rem 1.4rem; border-radius:3px; background:var(--accent); color:#fff; font:700 .9rem var(--font-head); letter-spacing:.1em; text-decoration:none; text-transform:uppercase; transition:filter .2s; }
.nav-cta:hover { background:var(--accent2); }
.season-switch { display:flex; align-items:center; justify-self:end; gap:.45rem; }
.season-current { padding:.45rem .8rem; border:1px solid rgba(74,139,200,.55); color:#fff; font:700 .8rem var(--font-head); letter-spacing:.13em; text-decoration:none; }
.nav-menu-toggle { display:none; }

#home { position:relative; display:flex; align-items:flex-end; height:100vh; overflow:hidden; }
.hero-bg { position:absolute; inset:0; background-color:var(--bg); background-image:url('../web_assets/Fotografias/DSC09939.jpg'); background-repeat:no-repeat; background-position:center top; background-size:cover; filter:brightness(.82) contrast(1.08) saturate(.88); transform:scale(1.01); transform-origin:center; transition:filter 1.55s ease,transform 1.8s cubic-bezier(.2,.7,.2,1); }
.hero-grain { position:absolute; inset:0; opacity:.5; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E"); }
.hero-grad { position:absolute; inset:0; background:linear-gradient(to top,var(--bg) 0,rgba(5,6,9,.74) 13%,rgba(5,6,9,.16) 34%,transparent 58%),linear-gradient(to right,rgba(5,6,9,.98) 0,rgba(5,6,9,.94) 25%,rgba(5,6,9,.63) 42%,rgba(5,6,9,.22) 59%,rgba(5,6,9,.08) 100%); }
.hero-content { position:relative; z-index:2; padding:0 4rem clamp(7rem,15vh,11rem); opacity:1; transform:none; transition:opacity 1s ease .38s,transform 1.25s cubic-bezier(.2,.75,.2,1) .3s; }
.hero-scroll { transition:opacity .9s ease .65s,transform 1s cubic-bezier(.2,.7,.2,1) .55s; }
body.intro-active .hero-bg { filter:brightness(.18) blur(4px); transform:scale(1.07); }
body.intro-active .hero-content { opacity:0; transform:translateY(34px); }
body.intro-active .hero-scroll { opacity:0; transform:translateY(14px); }
.hero-tag, .section-label, .member-role { color:var(--accent); font:700 .75rem var(--font-head); letter-spacing:.25em; text-transform:uppercase; }
.hero-tag { display:inline-block; margin-bottom:1.2rem; padding:.3rem .9rem; border:1px solid var(--accent); border-radius:2px; letter-spacing:.2em; }
.hero-content h1 { font:700 clamp(3.2rem,7.2vw,6.4rem)/.95 var(--font-head); letter-spacing:-.02em; text-transform:uppercase; }
.hero-content h1 span, .section-title span, .contact-cta span { color:var(--accent); }
.hero-sub { max-width:520px; margin-top:1.4rem; color:#fff; font-size:1.1rem; font-style:italic; font-weight:300; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.8rem; }
.hero-actions a { padding:.75rem 1.15rem; border:1px solid var(--accent); font:700 .82rem var(--font-head); letter-spacing:.12em; text-decoration:none; text-transform:uppercase; }
.hero-primary { background:var(--accent); color:#fff; }
.hero-secondary { background:rgba(8,8,11,.55); color:#fff; }
.hero-scroll { position:absolute; z-index:2; right:4rem; bottom:2rem; display:flex; align-items:center; gap:.5rem; flex-direction:column; color:#fff; font:.75rem var(--font-head); letter-spacing:.15em; text-transform:uppercase; }
.scroll-line { width:1px; height:60px; background:linear-gradient(to bottom,var(--accent),transparent); animation:scrollpulse 2s ease-in-out infinite; }

.section-label { margin-bottom:.8rem; }
.section-title, .contact-cta { font:700 clamp(2.2rem,4vw,3.5rem)/1.05 var(--font-head); letter-spacing:-.01em; text-transform:uppercase; }
.section-line { width:60px; height:3px; margin:1.5rem 0 2rem; background:var(--accent); }
.reveal { opacity:0; transform:translateY(28px); transition:opacity .75s cubic-bezier(.2,.8,.2,1), transform .75s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity:1; transform:translateY(0); }
@media (min-width:761px) { body > section:not(#home):not(#gallery):not(#car):not(#contacts):not(.stem-section):not(.sponsors-section) { min-height:100svh; display:flex; flex-direction:column; justify-content:center; } }

#about, #team, #initiatives, .sponsors-section, footer { background:var(--bg); }
#car, #gallery, #contacts { background:var(--bg2); }
.teamwear-section { background:#050609; }
.about-grid, .contact-inner { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; margin-top:4rem; }
.about-text p, .car-text, .init-text p, .stem-card p, .contact-desc { color:#fff; }
.about-text p + p, .init-text p + p { margin-top:1rem; }
.about-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.stat { border:1px solid var(--accent); background:var(--bg3); }
.stat { padding:1.5rem; border-radius:4px; }
.stat-num { color:var(--accent); font:700 2.8rem/1 var(--font-head); }
.stat-label { margin-top:.3rem; color:#fff; font:.85rem var(--font-head); letter-spacing:.08em; text-transform:uppercase; }

#car { overflow:clip; }
.car-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,520px); gap:clamp(2rem,6vw,7rem); align-items:end; }
.car-lead { padding-bottom:.2rem; color:rgba(255,255,255,.8); font-size:clamp(1rem,1.3vw,1.15rem); }
.car-showroom-scroll { position:relative; height:340vh; margin:3rem -4rem 0; --showroom-progress:0; }
.car-showroom { position:sticky; top:72px; height:calc(100svh - 72px); overflow:hidden; background:#030406; isolation:isolate; }
.car-slider { position:absolute; inset:0; overflow:hidden; user-select:none; }
.car-slider:focus-visible { outline:2px solid var(--accent2); outline-offset:-4px; }
.car-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; opacity:0; pointer-events:none; transition:opacity .55s cubic-bezier(.2,.7,.2,1); }
.car-slide.active { opacity:1; }
.car-slide-photo { object-position:center 48%; }
.car-stage-overlay { position:absolute; z-index:2; inset:0; background:linear-gradient(90deg,rgba(8,8,11,.94),transparent 15%,transparent 84%,rgba(8,8,11,.94)),linear-gradient(0deg,rgba(8,8,11,.96),transparent 25%,transparent 78%,rgba(8,8,11,.24)); pointer-events:none; }
.car-scroll-cue { position:absolute; z-index:4; bottom:2.5rem; left:4rem; display:flex; align-items:center; gap:.8rem; color:rgba(255,255,255,.78); font:600 .68rem var(--font-head); letter-spacing:.18em; text-transform:uppercase; }
.car-scroll-cue i { display:block; width:38px; height:1px; background:rgba(255,255,255,.42); }
.car-scroll-progress { position:absolute; z-index:5; right:4rem; bottom:2.75rem; width:min(240px,28vw); height:2px; overflow:hidden; background:rgba(255,255,255,.24); }
.car-scroll-progress i { display:block; width:100%; height:100%; background:var(--accent); transform:scaleX(var(--showroom-progress)); transform-origin:left; }
.car-engineering { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(2.5rem,7vw,8rem); align-items:start; padding-top:3.5rem; }
.car-engineering .car-text { max-width:520px; color:rgba(255,255,255,.82); font-size:1.05rem; }
.car-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid rgba(74,139,200,.45); }
.car-facts div { padding:1rem 0; border-bottom:1px solid rgba(74,139,200,.3); }
.car-facts div:nth-child(odd) { padding-right:1.5rem; }
.car-facts div:nth-child(even) { padding-left:1.5rem; border-left:1px solid rgba(74,139,200,.3); }
.car-facts dt { color:var(--accent); font:700 .68rem var(--font-head); letter-spacing:.16em; text-transform:uppercase; }
.car-facts dd { margin-top:.2rem; color:#fff; font:600 clamp(.95rem,1.3vw,1.08rem) var(--font-head); }

.team-grid { display:flex; gap:.75rem; min-height:430px; margin-top:2rem; }
.member-card { position:relative; flex:1 1 0; min-width:0; overflow:hidden; border:1px solid rgba(74,139,200,.32); border-radius:10px; background:#08080b; transition:flex .5s cubic-bezier(.2,.8,.2,1),transform .35s ease,border-color .35s ease,opacity .35s ease; }
.team-grid:has(.member-card:hover) .member-card:not(:hover),.team-grid:has(.member-card:focus-visible) .member-card:not(:focus-visible){flex:.72 1 0;opacity:.58}
.member-card:hover,.member-card:focus-visible { flex:1.75 1 0; border-color:var(--accent); transform:translateY(-6px); outline:none; }
.member-card:focus-visible { box-shadow:0 0 0 3px rgba(74,139,200,.35); }
.member-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; object-position:center bottom; background:#000; transition:filter .35s ease; }
.member-card:hover .member-image,.member-card:focus-visible .member-image{filter:brightness(.5)}
.member-name { position:absolute; right:0; bottom:0; left:0; padding:1rem; background:linear-gradient(to top,rgba(8,8,11,.95),rgba(8,8,11,.35)); color:#fff; font:700 1rem var(--font-head); letter-spacing:.08em; text-transform:uppercase; }
.member-hover { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:1.2rem; background:linear-gradient(to top,rgba(8,8,11,.95),rgba(8,8,11,.25)); opacity:0; transform:translateY(12px); transition:opacity .3s ease,transform .3s ease; }
.member-card:hover .member-hover,.member-card:focus-visible .member-hover { opacity:1; transform:translateY(0); }
.member-number { margin-bottom:auto; color:var(--accent); font:700 clamp(2.4rem,4vw,4.6rem)/1 var(--font-head); letter-spacing:-.05em; }
.member-hover h3 { font:700 1.15rem var(--font-head); text-transform:uppercase; }
.member-hover p { color:#ffffff; font-size:.95rem; }

.teamwear-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,520px); gap:clamp(2rem,6vw,7rem); align-items:end; margin-bottom:2.4rem; }
.teamwear-heading > p { color:rgba(255,255,255,.78); font-size:1.02rem; }
.wear-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:2rem; border:1px solid rgba(74,139,200,.34); }
.wear-tab { display:flex; align-items:center; gap:1rem; padding:1rem 1.25rem; border:0; background:#08090d; color:rgba(255,255,255,.58); cursor:pointer; font:700 .86rem var(--font-head); letter-spacing:.12em; text-align:left; text-transform:uppercase; transition:background .25s ease,color .25s ease; }
.wear-tab + .wear-tab { border-left:1px solid rgba(74,139,200,.34); }
.wear-tab span { color:var(--accent); font-size:.68rem; }
.wear-tab:hover,.wear-tab:focus-visible { color:#fff; outline:none; }
.wear-tab.is-active { background:var(--accent); color:#fff; }
.wear-tab.is-active span { color:#fff; }
.teamwear-tabs-ready .wear-panel:not(.is-active) { display:none; }
.wear-panel { padding:clamp(1.25rem,3vw,2.4rem); border:1px solid rgba(74,139,200,.25); background:linear-gradient(135deg,rgba(74,139,200,.08),transparent 34%),#08090c; }
.wear-panel-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,480px); gap:2rem; align-items:end; margin-bottom:1.5rem; }
.wear-panel-head span { color:var(--accent); font:700 .68rem var(--font-head); letter-spacing:.2em; text-transform:uppercase; }
.wear-panel-head h3 { color:#fff; font:700 clamp(1.8rem,3.4vw,3.2rem)/1 var(--font-head); text-transform:uppercase; }
.wear-panel-head p { color:rgba(255,255,255,.72); font-size:.92rem; }
.wear-gallery { display:grid; gap:1rem; }
.wear-gallery-national { grid-template-columns:repeat(2,minmax(0,1fr)); }
.wear-gallery-regional { grid-template-columns:repeat(4,minmax(0,1fr)); }
.wear-photo { overflow:hidden; border:1px solid rgba(74,139,200,.2); background:#020305; }
.wear-photo img { display:block; width:100%; height:auto; }
.wear-switch-wrap { display:flex; justify-content:flex-end; padding-top:clamp(1.5rem,3vw,2.5rem); }
.wear-switch { display:inline-flex; align-items:center; gap:.9rem; padding:1rem 1.25rem; border:1px solid var(--accent); background:transparent; color:#fff; cursor:pointer; font:700 .82rem var(--font-head); letter-spacing:.12em; text-transform:uppercase; transition:background .2s ease,color .2s ease; }
.wear-switch span { color:var(--accent); font-size:1.2rem; line-height:0; transition:color .2s ease,transform .2s ease; }
.wear-switch:hover,.wear-switch:focus-visible { background:var(--accent); outline:none; }
.wear-switch:hover span,.wear-switch:focus-visible span { color:#fff; transform:translateX(3px); }

.stem-section { --stem-logo-opacity:.12; --stem-logo-scale:1; --stem-story-opacity:1; --stem-story-shift:0px; position:relative; height:210vh; padding:0; overflow:clip; background:var(--bg2); }
.stem-pin { position:sticky; top:0; display:grid; place-items:center; min-height:100svh; overflow:hidden; }
.stem-atmosphere { position:absolute; inset:0; background:radial-gradient(circle at 50% 45%,rgba(74,139,200,.2),transparent 34%),linear-gradient(120deg,#08080b 0%,#08080b 52%,#08080b 100%); }
.stem-atmosphere::before, .stem-atmosphere::after { position:absolute; content:''; width:44vw; height:44vw; border:1px solid rgba(74,139,200,.12); border-radius:50%; }
.stem-atmosphere::before { top:-26vw; left:-16vw; }
.stem-atmosphere::after { right:-22vw; bottom:-30vw; }
.stem-logo-stage { position:absolute; z-index:1; inset:0; display:grid; place-items:center; opacity:var(--stem-logo-opacity); transform:scale(var(--stem-logo-scale)); will-change:opacity,transform; }
.stem-logo-stage img { width:min(76vw,1050px); max-height:70svh; object-fit:contain; filter:drop-shadow(0 28px 56px rgba(0,0,0,.45)); }
.stem-story { position:relative; z-index:2; width:min(100%,1280px); padding:7rem 4rem; opacity:var(--stem-story-opacity); transform:translateY(var(--stem-story-shift)); will-change:opacity,transform; }
.stem-story .section-title { max-width:700px; }
.stem-story .section-line { margin-bottom:2.5rem; }
.stem-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.stem-card { position:relative; display:flex; min-height:280px; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:1.5rem; border:1px solid rgba(74,139,200,.24); border-radius:16px; background:linear-gradient(145deg,rgba(74,139,200,.16),rgba(8,8,11,.92)); box-shadow:0 16px 40px rgba(0,0,0,.18); transition:transform .3s ease,border-color .3s ease; }
.stem-card:hover { border-color:var(--accent); transform:translateY(-6px); }
.stem-card-main { border-color:rgba(74,139,200,.35); background:linear-gradient(145deg,rgba(74,139,200,.27),rgba(8,8,11,.92)); }
.stem-card h3 { margin-bottom:.6rem; font:700 1.3rem var(--font-head); text-transform:uppercase; }

#initiatives { position:relative; display:flex; min-height:100svh; flex-direction:column; justify-content:flex-start; overflow:hidden; padding-block:clamp(2.8rem,4.5vh,4.2rem); }
#initiatives::before { position:absolute; inset:0; content:''; background:radial-gradient(circle at 82% 38%,rgba(74,139,200,.14),transparent 34%); pointer-events:none; }
#initiatives > .section-label,#initiatives > .section-title,#initiatives > .section-line { position:relative; z-index:2; }
.initiative-layout { position:relative; display:grid; grid-template-columns:minmax(360px,.82fr) minmax(430px,1fr); gap:0; align-items:stretch; width:min(100%,1400px); height:clamp(420px,46svh,520px); margin:clamp(1.8rem,3vh,2.8rem) auto 0; padding:0; }
.initiative-layout::before { position:absolute; right:-.04em; bottom:-.08em; z-index:0; color:rgba(74,139,200,.045); content:'IMPACT'; font:700 clamp(6rem,15vw,14rem)/.75 var(--font-head); letter-spacing:-.07em; pointer-events:none; }
.initiative-copy { position:relative; z-index:2; display:flex; height:100%; flex-direction:column; justify-content:center; margin-right:0; padding:clamp(2rem,3.2vw,3.4rem); border-left:3px solid var(--accent); background:linear-gradient(125deg,rgba(13,20,31,.98),rgba(7,10,15,.94)); }
.initiative-kicker { margin-bottom:.8rem; color:var(--accent); font:700 .75rem var(--font-head); letter-spacing:.24em; text-transform:uppercase; }
.initiative-copy h3 { max-width:460px; margin-bottom:1rem; font:700 clamp(1.8rem,3.2vw,2.9rem)/1 var(--font-head); text-transform:uppercase; }
.initiative-copy p { max-width:510px; color:rgba(255,255,255,.88); font-size:1rem; line-height:1.65; }
.initiative-copy blockquote { max-width:470px; margin:1.4rem 0 1.6rem; padding-left:1.1rem; border-left:2px solid var(--accent); color:var(--accent2); font:500 1rem/1.5 var(--font-body); }
.initiative-partner { display:inline-flex; align-items:center; align-self:flex-start; padding:.65rem 0; }
.initiative-partner img { width:190px; max-height:78px; object-fit:contain; object-position:left center; }
.initiative-media { position:relative; z-index:1; align-self:stretch; justify-self:stretch; width:100%; height:100%; overflow:hidden; margin:0; border:1px solid rgba(74,139,200,.32); box-shadow:0 32px 90px rgba(0,0,0,.34); }
.initiative-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 56%; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.initiative-media:hover img { transform:scale(1.025); }
.initiative-media figcaption { position:absolute; right:0; bottom:0; padding:.75rem 1.15rem; border-top:1px solid rgba(74,139,200,.32); background:rgba(8,8,11,.9); color:var(--accent2); font:.68rem var(--font-head); letter-spacing:.16em; text-transform:uppercase; }

.g-grid { columns:4 260px; column-gap:clamp(.65rem,1vw,1rem); margin-top:2.5rem; }
.g-item { display:inline-block; width:100%; margin:0 0 clamp(.65rem,1vw,1rem); overflow:hidden; break-inside:avoid; border:0; border-radius:3px; background:#030406; vertical-align:top; transition:box-shadow .3s ease; }
.g-item img { display:block; width:100%; height:auto; border-radius:2px; filter:grayscale(6%); transition:filter .35s ease,transform .55s cubic-bezier(.2,.8,.2,1); }
.g-item:hover { box-shadow:0 20px 48px rgba(0,0,0,.34); }
.g-item:hover img { filter:grayscale(0); transform:scale(1.012); }

.sponsors-section { position:relative; overflow:hidden; min-height:0; justify-content:flex-start !important; padding-top:clamp(3.2rem,5vh,4.5rem); padding-bottom:clamp(2.4rem,4vh,3.6rem); }
.sponsors-section::before { position:absolute; inset:0; content:''; background:radial-gradient(circle at 78% 12%,rgba(74,139,200,.13),transparent 32%); pointer-events:none; }
.sponsors-section > :not(.sponsor-wall) { position:relative; z-index:1; }
.sponsors-heading { margin-bottom:clamp(1rem,2vh,1.7rem); }
.sponsors-section .section-label { margin-bottom:.45rem; }
.sponsors-section .section-title { font-size:clamp(2rem,3vw,2.85rem); }
.sponsors-section .section-line { margin:1rem 0 0; }
.sponsors-intro { max-width:480px; margin:0 0 .1rem; color:var(--muted); font-size:1rem; }
.sponsor-wall { position:relative; z-index:1; width:100%; padding:clamp(.7rem,1.4vh,1.2rem) 0; }
.sponsor-tier { width:100%; }
.sponsor-tier + .sponsor-tier { margin-top:clamp(1rem,2vh,1.6rem); }
.sponsor-grid { display:grid; align-items:center; justify-items:center; margin:0 auto; gap:clamp(1.35rem,3vw,3.8rem); }
.sponsor-item { display:flex; align-items:center; justify-content:center; min-width:0; width:100%; padding:.25rem; transition:filter .25s ease,transform .25s ease; }
.sponsor-item:hover { filter:brightness(1.12); transform:scale(1.035); }
.sponsor-logo { display:block; width:100%; height:auto; object-fit:contain; }
.sponsor-logo-dark { filter:none; }
.tier-premium .sponsor-grid { max-width:1280px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.tier-premium .sponsor-item { min-height:clamp(138px,16vh,184px); }
.tier-premium .sponsor-logo { max-width:410px; max-height:clamp(128px,15vh,170px); }
.tier-premium .sponsor-item:nth-child(2) .sponsor-logo { max-width:555px; }
.tier-gold .sponsor-grid { max-width:1380px; grid-template-columns:repeat(5,minmax(0,1fr)); }
.tier-gold .sponsor-item { min-height:clamp(76px,9vh,102px); }
.tier-gold .sponsor-logo { max-width:255px; max-height:clamp(66px,8vh,90px); }
.tier-gold .sponsor-item:nth-child(6) { grid-column:2; }
.tier-gold .sponsor-item:nth-child(4) .sponsor-logo { filter:invert(1); mix-blend-mode:screen; }
.tier-silver .sponsor-grid { max-width:1080px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.tier-silver .sponsor-item { min-height:clamp(64px,7.4vh,84px); }
.tier-silver .sponsor-logo { max-width:200px; max-height:clamp(55px,6.7vh,74px); }
.tier-bronze .sponsor-grid { max-width:580px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.tier-bronze .sponsor-item { min-height:clamp(54px,6.2vh,70px); }
.tier-bronze .sponsor-logo { max-width:158px; max-height:clamp(47px,5.7vh,63px); }
.tier-bronze .sponsor-logo-ha-pecas { max-width:180px; max-height:75px; }
.tier-bronze .sponsor-logo-elriper { max-width:200px; max-height:112px; }
.sponsor-logo-araujos { max-height:78px !important; }

/* Gallery choreography */
.g-grid .g-item { opacity:0; transform:translateY(38px); transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1); }
.g-grid .g-item.is-visible { opacity:1; transform:translateY(0); }
.g-grid .g-item:nth-child(2).is-visible,.g-grid .g-item:nth-child(3).is-visible { transition-delay:.08s; }
.g-grid .g-item:nth-child(4).is-visible,.g-grid .g-item:nth-child(5).is-visible { transition-delay:.16s; }
.g-grid .g-item:nth-child(6).is-visible,.g-grid .g-item:nth-child(7).is-visible { transition-delay:.24s; }

.contact-inner { grid-template-columns:minmax(0,.75fr) minmax(420px,1.25fr); align-items:center; gap:clamp(2.5rem,6vw,6rem); max-width:1120px; margin:clamp(1rem,2vh,1.75rem) auto 0; }
#contacts { min-height:0; padding-block:clamp(3rem,5vh,4.5rem); }
.contact-cta { margin-bottom:1.5rem; }
.contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.form-group { margin:0; } .form-group:nth-child(3),.form-group:nth-child(4) { grid-column:span 2; }
.form-group label { display:block; margin-bottom:.5rem; color:#fff; font:.78rem var(--font-head); letter-spacing:.15em; text-transform:uppercase; }
.form-group input, .form-group textarea { width:100%; padding:.85rem 1rem; border:1px solid var(--accent); border-radius:4px; outline:none; background:var(--bg3); color:var(--text); font:.95rem var(--font-body); }
.form-group input:focus, .form-group textarea:focus { border-color:var(--accent2); box-shadow:0 0 0 3px rgba(74,139,200,.15); }
.form-group textarea { min-height:92px; resize:vertical; }
.btn-submit { justify-self:start; grid-column:span 2; }
.btn-submit { padding:.9rem 2.5rem; border:0; border-radius:3px; background:var(--accent); color:#fff; cursor:pointer; font:700 1rem var(--font-head); letter-spacing:.12em; text-transform:uppercase; transition:background .2s,transform .1s; }
.btn-submit:hover { background:var(--accent2); transform:translateY(-1px); }

footer { display:block; padding:0; border-top:1px solid var(--border); }
.footer-partners { display:flex; align-items:center; justify-self:end; min-width:0; }
.footer-partners > div { display:grid; grid-template-columns:repeat(2,minmax(90px,1fr)); gap:1rem; align-items:center; width:min(23vw,280px); }
.footer-partners img { display:block; width:100%; height:auto; max-width:145px; max-height:54px; margin:auto; object-fit:contain; opacity:.88; transition:opacity .25s ease; }
.footer-partners img:hover { opacity:1; }
.footer-bottom { display:grid; grid-template-columns:minmax(220px,1fr) auto minmax(270px,1fr); gap:clamp(2rem,4vw,5rem); align-items:center; padding:2.1rem 4rem; }
.footer-brand { display:flex; flex-direction:row; align-items:center; gap:1rem; }
.footer-logo { display:flex; align-items:center; }
.footer-brand-logo { width:auto; height:48px; }
.footer-center { display:flex; flex-direction:column; align-items:center; gap:.55rem; justify-self:center; }
.footer-socials { display:flex; align-items:center; gap:.85rem; }
.footer-socials a { display:grid; width:58px; height:58px; place-items:center; border:1px solid rgba(74,139,200,.42); border-radius:50%; color:rgba(255,255,255,.78); transition:border-color .2s ease,color .2s ease,transform .2s ease; }
.footer-socials a:hover,.footer-socials a:focus-visible { border-color:var(--accent); color:var(--accent2); outline:none; transform:translateY(-2px); }
.footer-socials svg { width:27px; height:27px; overflow:visible; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.footer-socials .tiktok-mark { fill:none; stroke:currentColor; }
.footer-socials .facebook-mark { fill:currentColor; stroke:none; }
.footer-socials .social-dot { fill:currentColor; stroke:none; }
.footer-copy { color:var(--muted); font-size:.7rem; letter-spacing:.03em; white-space:nowrap; }
.footer-links { display:flex; gap:1.5rem; }
.footer-links a { font-size:.75rem; }

@keyframes scrollpulse { 0%,100% { opacity:.3; transform:scaleY(.6); } 50% { opacity:1; transform:scaleY(1); } }
@keyframes introMark { 0% { opacity:0; transform:scale(.965); } 72%,100% { opacity:1; transform:scale(1); } }
@keyframes logoFloat { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-8px) rotate(-1deg); } }
@media (max-width:1100px) { nav { height:auto; min-height:72px; gap:1.5rem; padding:0 2rem; } .nav-links { flex-wrap:wrap; gap:1.35rem; justify-content:flex-end; } section { padding:5.5rem 2rem; } .stem-section { height:190vh; padding:0; } .stem-story { padding:5.5rem 2rem; } .hero-content { padding:0 2rem 2.4rem; } .hero-scroll { right:2rem; } .about-grid,.car-inner,.initiative-layout,.contact-inner,.teamwear-heading,.wear-panel-head { grid-template-columns:1fr; gap:3rem; } .initiative-layout { max-height:none; } .team-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));min-height:0 } .member-card{min-height:420px}.team-grid:has(.member-card:hover) .member-card:not(:hover),.team-grid:has(.member-card:focus-visible) .member-card:not(:focus-visible){opacity:1}.member-card:hover,.member-card:focus-visible{transform:translateY(-4px)} .wear-gallery-regional { grid-template-columns:repeat(2,minmax(0,1fr)); } .stem-cards { grid-template-columns:1fr; } .partners-wall { grid-template-columns:84px 1fr; } .partners-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:1100px) { .sponsor-wall { margin-inline:0; } .footer-bottom { grid-template-columns:auto 1fr; padding-inline:2rem; } .footer-partners { justify-self:end; } .footer-copy { justify-self:start; } .footer-links { justify-self:end; } }
@media (min-width:761px) and (max-width:1100px) { .sponsor-tier,.partners-wall { grid-template-columns:140px minmax(0,1fr); } }
@media (max-width:760px) { nav { position:relative; flex-direction:column; align-items:flex-start; padding:1rem 1.1rem; } .nav-links { display:grid; width:100%; grid-template-columns:1fr 1fr; gap:.7rem .9rem; } .season-switch { width:100%;margin:.4rem 0 0 }.season-switch a{flex:1;text-align:center} #home { min-height:92svh; height:auto; } .hero-bg { background-image:url('../web_assets/Fotografias/DSC09939.jpg'); background-position:center top; background-size:100% auto; filter:brightness(.72) contrast(1.08) saturate(.86); } .hero-grad { background:linear-gradient(to top,var(--bg) 0,rgba(5,6,9,.80) 39%,rgba(5,6,9,.25) 73%,rgba(5,6,9,.12) 100%); } .hero-content { padding:7rem 1.25rem 4rem; } .hero-scroll { display:none; } section { padding:4rem 1.25rem; } .stem-section { height:175vh; padding:0; } .stem-story { padding:4rem 1.25rem; } .stem-logo-stage img { width:115vw; } #initiatives { min-height:0; padding-block:4rem; } .initiative-layout { padding:1.5rem; } .initiative-media img { height:auto; min-height:280px; } .g-grid { columns:1; } .about-stats,.specs-grid,.team-grid,.contact-form,.wear-gallery-national,.wear-gallery-regional { grid-template-columns:1fr; } .wear-tabs { grid-template-columns:1fr; } .wear-tab + .wear-tab { border-top:1px solid rgba(74,139,200,.34); border-left:0; } .wear-panel { padding:1rem; } .member-card{min-height:480px}.contact-form .form-group:nth-child(n),.btn-submit { grid-column:span 1; } .partners-wall { grid-template-columns:1fr; gap:.8rem; } .tier-premium .sponsor-grid,.tier-gold .sponsor-grid,.tier-silver .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .partners-grid { grid-template-columns:repeat(2,1fr); } .car-slider { aspect-ratio:5/4; } footer { flex-direction:column; gap:1rem; padding:2rem 1.25rem; text-align:center; } .footer-links { flex-wrap:wrap; justify-content:center; } }
@media (max-width:760px) { .sponsors-section { padding-block:4.5rem; } .sponsor-tier,.partners-wall { grid-template-columns:1fr; gap:1.2rem; padding:2rem 0; } .sponsor-tier-heading { display:flex; align-items:baseline; gap:.8rem; padding-top:0; } .sponsor-tier-heading span { margin:0; } .tier-premium .sponsor-item { min-height:92px; } .tier-gold .sponsor-item { min-height:72px; } .sponsor-logo { max-width:145px; } }
@media (max-width:760px) { .sponsors-section { padding-bottom:2rem; } .sponsors-heading { grid-template-columns:1fr; gap:1.2rem; } .sponsor-wall { margin-inline:0; padding:1rem 0; } .sponsor-tier { padding:0; } .sponsor-tier + .sponsor-tier { margin-top:2.4rem; } .tier-premium .sponsor-logo { max-width:150px; max-height:82px; } .tier-premium .sponsor-item:nth-child(2) .sponsor-logo { max-width:180px; } .tier-gold .sponsor-logo { max-width:135px; max-height:58px; } footer { padding:0; } .footer-bottom { grid-template-columns:1fr; gap:1.25rem; padding:2rem 1.25rem; text-align:center; } .footer-partners,.footer-copy,.footer-links { justify-self:center; } .footer-partners { flex-direction:column; } .footer-partners > div { width:min(86vw,330px); } }
@media (max-width:420px) { .nav-links { grid-template-columns:1fr; } .hero-content h1 { font-size:2.65rem; } }
@media (max-width:420px) { .tier-premium .sponsor-grid,.tier-gold .sponsor-grid,.tier-silver .sponsor-grid,.partners-grid { grid-template-columns:1fr; } .tier-premium .sponsor-item,.tier-gold .sponsor-item { min-height:68px; } }
@media (max-width:420px) { .tier-premium .sponsor-grid { grid-template-columns:1fr; } .tier-gold .sponsor-grid,.tier-silver .sponsor-grid,.tier-bronze .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tier-bronze .sponsor-grid { gap:1rem; } }
@media (max-width:1100px) { .car-showroom-scroll { margin-right:-2rem; margin-left:-2rem; } .car-scroll-cue { left:2rem; } .car-scroll-progress { right:2rem; } }
@media (max-width:760px) { .car-heading,.car-engineering { grid-template-columns:1fr; gap:1.5rem; } .car-showroom-scroll { height:300vh; margin:2rem -1.25rem 0; } .car-showroom { top:0; height:100svh; } .car-slide { object-position:center; } .car-slide-photo { object-position:center; } .car-stage-overlay { background:linear-gradient(90deg,rgba(8,8,11,.68),transparent 13%,transparent 87%,rgba(8,8,11,.68)),linear-gradient(0deg,rgba(8,8,11,.96),transparent 32%,transparent 82%,rgba(8,8,11,.2)); } .car-scroll-cue { bottom:1.5rem; left:1.25rem; } .car-scroll-progress { right:1.25rem; bottom:1.7rem; width:34vw; } .car-engineering { padding-top:2.5rem; } .car-facts { grid-template-columns:1fr; } .car-facts div:nth-child(n) { padding:1rem 0; border-left:0; } }
@media (max-width:760px) { .intro-mark { width:min(38vw,190px); } .intro-wordmark { width:82vw; } .intro-car-stage { width:126vw; transform:translate3d(calc(128vw - (330vw * var(--car-progress))),-48%,0) scale(.94); } .intro-motion::before { width:100vw; } }
@media (max-width:1100px) { .initiative-layout { width:min(100%,760px); height:auto; } .initiative-copy { height:auto; margin-right:0; } .initiative-media { justify-self:center; width:min(100%,650px); height:auto; aspect-ratio:16/10; } }
@media (max-width:760px) { #initiatives { padding-block:4rem; } .initiative-layout { gap:0; margin-top:2.5rem; padding:0; } .initiative-copy { margin:0 0 -1.5rem; padding:1.5rem; } .initiative-media { width:92%; } .initiative-media img { min-height:0; } .initiative-partner img { width:160px; max-height:66px; } }
@media (max-width:760px) { .footer-brand { align-items:center; } }
@media (max-width:1100px) {
  nav { grid-template-columns:auto minmax(0,1fr) auto; }
  .nav-links { justify-content:center; }
  .nav-links a { font-size:.86rem; }
  .footer-bottom { grid-template-columns:auto 1fr; }
  .footer-center { grid-column:1 / -1; grid-row:2; justify-self:center; padding-top:1rem; }
}

/* Mobile interaction pass: manual swipe, timed progression and compact sections. */
@media (max-width:760px) {
  .swipe-guide {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.65rem;
    margin-top:.65rem;
    color:var(--accent2);
    font:700 .65rem var(--font-head);
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .swipe-guide i {
    position:relative;
    display:block;
    width:54px;
    height:1px;
    overflow:hidden;
    background:rgba(74,139,200,.25);
  }
  .swipe-guide i::after {
    position:absolute;
    inset:0 auto 0 0;
    width:100%;
    content:'';
    background:var(--accent);
    transform-origin:left;
    animation:swipeTimer 5s linear infinite;
  }

  /* The IAV-N26 is a normal swipe carousel on phones. */
  .car-showroom-scroll {
    height:auto !important;
    margin:1.25rem -1rem 0;
  }
  .car-showroom {
    position:relative;
    top:auto;
    height:clamp(440px,64svh,570px);
  }
  .car-slider {
    position:absolute;
    inset:0;
    display:flex;
    aspect-ratio:auto;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .car-slider::-webkit-scrollbar { display:none; }
  .car-slide,
  .car-slide.active {
    position:relative;
    inset:auto;
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    opacity:1;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .car-scroll-cue,
  .car-scroll-progress { display:none; }
  .car-showroom + .swipe-guide { margin-inline:1rem; }

  /* Keep the complete solidarity story inside one phone viewport. */
  #initiatives {
    display:flex;
    min-height:calc(100svh - 64px) !important;
    max-height:calc(100svh - 64px);
    flex-direction:column;
    justify-content:flex-start;
    padding:1.8rem 1rem 1.2rem;
    overflow:hidden;
  }
  #initiatives .section-label { margin-bottom:.35rem; }
  #initiatives .section-title { font-size:clamp(2rem,10vw,2.65rem); }
  #initiatives .section-line { margin:.75rem 0 0; }
  .initiative-layout {
    display:grid;
    min-height:0;
    height:auto;
    flex:1;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    margin-top:.85rem;
  }
  .initiative-layout::before { display:none; }
  .initiative-copy {
    height:auto;
    margin:0;
    padding:.9rem 1rem;
  }
  .initiative-kicker { margin-bottom:.35rem; }
  .initiative-copy h3 { margin-bottom:.45rem; font-size:1.35rem; }
  .initiative-copy p { font-size:.79rem; line-height:1.42; }
  .initiative-copy blockquote { margin:.55rem 0; padding-left:.65rem; font-size:.76rem; line-height:1.35; }
  .initiative-partner { padding:.2rem 0; }
  .initiative-partner img { width:112px; max-height:38px; }
  .initiative-media {
    width:100%;
    min-height:0;
    height:100%;
    aspect-ratio:auto;
  }
  .initiative-media img { min-height:0; object-position:center bottom; }
  .initiative-media figcaption { padding:.45rem .65rem; font-size:.55rem; }

  /* Two-column masonry: no empty grid cells that look like black photos. */
  .g-grid {
    display:block;
    columns:2;
    column-gap:.45rem;
  }
  .g-item,
  .g-item:nth-child(6n+1),
  .g-item:nth-child(6n+2),
  .g-item:nth-child(6n+3),
  .g-item:nth-child(6n+4) {
    display:inline-block;
    width:100%;
    margin:0 0 .45rem;
    aspect-ratio:auto;
    break-inside:avoid;
  }
  .g-item img { display:block; width:100%; height:auto; object-fit:initial; }

  /* All sponsor levels fit in one screen and remain visibly hierarchical. */
  .sponsors-section {
    display:flex;
    min-height:calc(100svh - 64px) !important;
    max-height:calc(100svh - 64px);
    flex-direction:column;
    padding:1.6rem 1rem 1rem;
    overflow:hidden;
  }
  .sponsors-heading { margin-bottom:.35rem; }
  .sponsors-section .section-title { font-size:2rem; }
  .sponsors-section .section-line { margin:.55rem 0 0; }
  .sponsor-wall {
    display:grid;
    min-height:0;
    flex:1;
    grid-template-rows:1.15fr 2.1fr 1fr .75fr;
    gap:.3rem;
    padding:.2rem 0 0;
  }
  .sponsor-tier,
  .sponsor-tier + .sponsor-tier {
    position:relative;
    min-height:0;
    margin:0;
    padding:.85rem .35rem .2rem;
    border-top:1px solid rgba(74,139,200,.34);
  }
  .sponsor-tier::before {
    position:absolute;
    top:.12rem;
    left:.35rem;
    color:var(--accent2);
    content:attr(data-tier);
    font:700 .52rem var(--font-head);
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .sponsor-grid,
  .tier-premium .sponsor-grid,
  .tier-gold .sponsor-grid,
  .tier-silver .sponsor-grid,
  .tier-bronze .sponsor-grid {
    height:100%;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.15rem .55rem;
  }
  .tier-premium .sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sponsor-item,
  .tier-premium .sponsor-item:first-child,
  .tier-premium .sponsor-item:not(:first-child),
  .tier-gold .sponsor-item,
  .tier-silver .sponsor-item,
  .tier-bronze .sponsor-item { min-height:0; padding:.1rem; }
  .sponsor-logo,
  .tier-premium .sponsor-logo,
  .tier-gold .sponsor-logo {
    max-width:100%;
    max-height:42px;
  }
  .tier-premium .sponsor-logo { max-height:55px; }
  .tier-premium .sponsor-item:first-child { grid-column:auto; }

  #contacts { padding:2.2rem 1rem 1.5rem; }
  .contact-status {
    grid-column:1/-1;
    color:var(--accent2);
    font-size:.82rem;
  }
  .contact-status.is-error { color:#ff9b9b; }

  footer { padding:0; }
  .footer-bottom {
    gap:.65rem;
    padding:1rem;
  }
  .footer-partners { grid-row:1; }
  .footer-partners > div { width:min(72vw,280px); gap:.7rem; }
  .footer-partners img { max-height:35px; }
  .footer-brand { grid-row:2; }
  .footer-socials { gap:.55rem; }
  .footer-socials a { width:40px; height:40px; }
  .footer-socials svg { width:19px; height:19px; }
  .footer-center { grid-row:3; gap:.25rem; }
  .footer-brand-logo { height:32px; }
  .footer-copy { font-size:.6rem; }
}

@keyframes swipeTimer { from { transform:scaleX(0); } to { transform:scaleX(1); } }

/* Keep the desktop navigation and season controls on one line. */
@media (min-width:761px) {
  nav {
    grid-template-columns:minmax(130px,180px) minmax(0,1fr) auto;
    column-gap:clamp(.5rem,1vw,1.25rem);
    padding-inline:clamp(1rem,2vw,2.5rem);
  }
  .nav-links {
    min-width:0;
    flex-wrap:nowrap;
    gap:clamp(.35rem,.8vw,1.15rem);
  }
  .nav-links a {
    display:block;
    white-space:nowrap;
    font-size:clamp(.82rem,.9vw,.95rem);
  }
  .season-switch {
    margin-left:clamp(.5rem,1vw,1.25rem);
    white-space:nowrap;
  }
  .season-switch .season-current,
  .season-switch .nav-cta {
    box-sizing:border-box;
    display:inline-flex;
    width:110px;
    height:44px;
    align-items:center;
    justify-content:center;
    padding:0 .5rem;
    font-size:.8rem;
  }
  .hero-content { padding-bottom:clamp(3rem,7vh,6rem); }
}

@media (min-width:761px) and (max-width:1050px) {
  nav { grid-template-columns:130px minmax(0,1fr) auto; }
  .nav-brand-logo { max-width:130px; }
  .nav-links a { font-size:.72rem; }
  .season-switch .season-current,
  .season-switch .nav-cta { width:92px; font-size:.72rem; }
}

/* Final phone polish: larger brand, unboxed facts, clean logo wall, low footer. */
@media (max-width:760px) {
  nav .nav-logo { width:clamp(154px,42vw,184px); }
  nav .nav-brand-logo { display:block; width:100%; height:auto; max-height:46px; }

  #about .about-stats {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin-top:1.25rem;
    border-block:1px solid rgba(74,139,200,.58);
  }
  #about .stat {
    display:flex;
    min-height:76px;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:.7rem .8rem;
    border:0;
    background:transparent;
  }
  #about .stat:nth-child(odd) { border-right:1px solid rgba(74,139,200,.35); }
  #about .stat:nth-child(-n+2) { border-bottom:1px solid rgba(74,139,200,.35); }
  #about .stat-num { font-size:1.9rem; }
  #about .stat-label { margin-top:.25rem; font-size:.58rem; }

  .sponsors-section .section-line { display:none; }
  .sponsor-wall,
  .sponsor-tier,
  .sponsor-tier + .sponsor-tier { border:0 !important; }
  .sponsor-wall {
    grid-template-rows:1.25fr 1.9fr .8fr .55fr;
    gap:.12rem;
    padding-top:.5rem;
  }
  .sponsor-tier,
  .sponsor-tier + .sponsor-tier { padding:0; }
  .tier-premium .sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.3rem 1rem; }
  .tier-gold .sponsor-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:.3rem .55rem; }
  .tier-silver .sponsor-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:.3rem .75rem; }
  .tier-bronze .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); width:48%; gap:.4rem 1rem; }
  .tier-premium .sponsor-logo { max-height:68px; }
  .tier-gold .sponsor-logo { max-height:42px; }
  .tier-silver .sponsor-logo { max-height:34px; }
  .tier-bronze .sponsor-logo { max-height:30px; }

  .footer-bottom {
    grid-template-columns:auto 1fr;
    grid-template-rows:24px 30px;
    gap:.35rem .65rem;
    padding:.45rem .8rem calc(.45rem + env(safe-area-inset-bottom));
  }
  .footer-partners { grid-column:1 / -1; height:24px; }
  .footer-partners > div { gap:1rem; }
  .footer-partners img { max-width:105px; max-height:20px; }
  .footer-brand { grid-column:1; }
  .footer-socials { gap:.25rem; }
  .footer-socials a { width:28px; height:28px; }
  .footer-socials svg { width:13px; height:13px; }
  .footer-center { grid-column:2; gap:.4rem; }
  .footer-brand-logo { width:24px; height:24px; }
  .footer-copy { max-width:155px; font-size:.5rem; line-height:1.2; }
}

/* Final mobile refinement: editorial initiative, desktop-style sponsor wall and compact footer. */
@media (max-width:760px) {
  #initiatives {
    min-height:calc(100svh - 64px) !important;
    max-height:calc(100svh - 64px);
    padding:1.45rem 1rem 1rem;
  }
  #initiatives .section-title {
    max-width:11ch;
    font-size:clamp(1.9rem,9vw,2.35rem);
    line-height:.92;
  }
  #initiatives .section-line { margin:.6rem 0 0; }
  .initiative-layout {
    position:relative;
    display:block;
    flex:1;
    min-height:0;
    margin-top:.75rem;
    overflow:hidden;
    border:1px solid rgba(74,139,200,.55);
    background:#050609;
  }
  .initiative-media {
    position:absolute;
    inset:0;
    height:100%;
    margin:0;
  }
  .initiative-media::after {
    position:absolute;
    inset:0;
    content:'';
    background:linear-gradient(180deg,rgba(5,6,9,.05) 24%,rgba(5,6,9,.56) 57%,rgba(5,6,9,.98) 100%);
    pointer-events:none;
  }
  .initiative-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center bottom;
  }
  .initiative-media figcaption {
    z-index:3;
    top:.7rem;
    right:.7rem;
    bottom:auto;
    left:auto;
    border:0;
    background:rgba(5,6,9,.72);
  }
  .initiative-copy {
    position:absolute;
    z-index:2;
    right:0;
    bottom:0;
    left:0;
    padding:1rem;
    border:0;
    background:transparent;
  }
  .initiative-copy h3 { max-width:16ch; font-size:1.45rem; }
  .initiative-copy p {
    display:-webkit-box;
    overflow:hidden;
    font-size:.8rem;
    line-height:1.38;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
  }
  .initiative-copy blockquote {
    margin:.55rem 0;
    color:#d8e9f7;
    font-size:.75rem;
  }
  .initiative-partner img { width:105px; max-height:34px; }

  .sponsors-section {
    min-height:calc(100svh - 64px) !important;
    max-height:calc(100svh - 64px);
    padding:1.35rem 1rem .8rem;
  }
  .sponsors-heading { margin-bottom:.25rem; }
  .sponsors-section .section-title { font-size:1.85rem; }
  .sponsor-wall {
    display:grid;
    flex:1;
    grid-template-rows:1.2fr 2.25fr 1fr .65fr;
    gap:.2rem;
    padding:.35rem 0 0;
  }
  .sponsor-tier,
  .sponsor-tier + .sponsor-tier {
    padding:.15rem .25rem;
    border:0;
  }
  .sponsor-tier::before { display:none; content:none; }
  .sponsor-grid,
  .tier-premium .sponsor-grid,
  .tier-gold .sponsor-grid,
  .tier-silver .sponsor-grid,
  .tier-bronze .sponsor-grid {
    height:100%;
    gap:.18rem .7rem;
  }
  .tier-premium .sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tier-gold .sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tier-silver .sponsor-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .tier-bronze .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); width:56%; }
  .sponsor-logo,
  .tier-premium .sponsor-logo,
  .tier-gold .sponsor-logo { max-width:100%; max-height:44px; }
  .tier-premium .sponsor-logo { max-height:62px; }
  .tier-gold .sponsor-logo { max-height:46px; }
  .tier-silver .sponsor-logo { max-height:38px; }
  .tier-bronze .sponsor-logo { max-height:34px; }

  footer { border-top-color:rgba(74,139,200,.45); }
  .footer-bottom {
    display:grid;
    grid-template-columns:auto 1fr auto;
    grid-template-rows:auto auto;
    gap:.55rem .75rem;
    padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
    text-align:left;
  }
  .footer-partners {
    grid-row:1;
    grid-column:1 / -1;
    justify-self:stretch;
  }
  .footer-partners > div {
    display:grid;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.25rem;
  }
  .footer-partners img { max-width:118px; max-height:26px; }
  .footer-brand {
    grid-row:2;
    grid-column:1;
    justify-self:start;
  }
  .footer-socials { gap:.35rem; }
  .footer-socials a { width:32px; height:32px; }
  .footer-socials svg { width:15px; height:15px; }
  .footer-center {
    grid-row:2;
    grid-column:2 / -1;
    flex-direction:row;
    justify-self:end;
    gap:.5rem;
  }
  .footer-brand-logo { width:28px; height:28px; }
  .footer-copy { font-size:.54rem; white-space:normal; text-align:right; }
}

.hp {
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

/* Final phone layout: natural vertical rhythm, with one card per horizontal swipe. */
@media (max-width:760px) {
  html { scroll-snap-type:none !important; }

  /* Mobile must never depend on an intersection animation to show content. */
  .reveal,
  .g-grid .g-item {
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }

  #about,
  #team,
  #teamwear,
  #initiatives,
  #contacts,
  .sponsors-section {
    min-height:0 !important;
    scroll-margin-top:64px;
    scroll-snap-align:none;
    scroll-snap-stop:normal;
  }

  #about {
    display:block;
    overflow:visible;
    background:
      radial-gradient(circle at 108% 92%,rgba(74,139,200,.11),transparent 38%),
      #08080b;
  }
  #about .about-grid {
    display:block;
    margin-top:1.25rem;
  }
  #about .about-stats {
    display:grid;
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:.55rem;
    margin-top:1.15rem;
  }
  #about .stat {
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    align-items:center;
    min-height:68px;
    padding:.75rem 1rem;
  }
  #about .stat-num { font-size:2rem; line-height:1; }
  #about .stat-label { margin:0; }

  #team .team-grid,
  .stem-cards {
    grid-auto-columns:100%;
    gap:.7rem;
    padding-right:0;
    padding-left:0;
    scroll-padding-inline:0;
    scroll-snap-type:x mandatory;
  }
  #team .member-card {
    width:100%;
    max-width:none;
    height:clamp(470px,68svh,590px);
    min-height:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  /* Clothing is also one clean, edge-to-edge photograph per swipe. */
  .wear-gallery {
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:100%;
    gap:.65rem;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .wear-gallery::-webkit-scrollbar { display:none; }
  .wear-photo {
    width:100%;
    min-width:0;
    aspect-ratio:4 / 5;
    overflow:hidden;
    background:#030406;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .wear-photo img {
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:center;
  }

  /* The car still advances with vertical scroll, but now fills its stage. */
  .car-showroom-scroll { height:300svh !important; }
  .car-slider { aspect-ratio:auto; }
  .car-slide,
  .car-slide.active {
    object-fit:cover;
    object-position:center;
  }
  .car-slide-photo { object-position:center 48%; }

  .stem-section { height:170svh; }
  .stem-cards { grid-auto-columns:100%; }
  .stem-card {
    width:100%;
    max-width:none;
    height:clamp(420px,60svh,520px);
    min-height:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .initiative-layout { margin-top:1.2rem; }
  .initiative-media {
    width:100%;
    height:auto;
    aspect-ratio:3 / 4;
    background:#050609;
  }
  .initiative-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center bottom;
  }

  .sponsors-section,
  #contacts { padding-bottom:2.5rem; }
}
@media (max-width:760px) {
  nav { grid-template-columns:1fr; }
  .nav-logo { justify-self:start; }
  .nav-links { justify-content:start; }
  .season-switch { justify-self:stretch; }
  .footer-bottom { grid-template-columns:1fr; }
  .footer-brand { grid-row:1; justify-self:center; }
  .footer-center { grid-column:auto; grid-row:2; justify-self:center; }
  .footer-partners { grid-row:3; }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } .site-intro { display:none; } body.intro-active { overflow:auto; } .stem-section { height:auto; padding:4rem 1.25rem; } .stem-pin { position:relative; min-height:auto; } .stem-logo-stage { opacity:.14; transform:scale(1); } .stem-story { padding:0; opacity:1; transform:none; } .car-showroom-scroll { height:auto; } .car-showroom { position:relative; top:auto; height:clamp(430px,62vw,720px); } .car-slide:first-child { opacity:1; transform:none; } .car-scroll-cue,.car-scroll-progress { display:none; } }
@media (max-width:760px) { .nav-links { margin-left:0; } }

/* Mobile composition: keep each content card readable inside one viewport. */
@media (max-width:760px) {
  html { scroll-padding-top:64px; }

  nav {
    position:sticky;
    top:0;
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:.55rem;
    min-height:0;
    height:64px;
    padding:.7rem 1rem;
  }
  .nav-logo { grid-column:1; grid-row:1; }
  .nav-brand-logo { height:31px; }
  .nav-links {
    position:absolute;
    top:100%;
    right:0;
    left:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    max-height:0;
    overflow:hidden;
    padding:0 1rem;
    border-bottom:0 solid var(--border);
    background:rgba(8,8,11,.98);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:max-height .32s ease,opacity .22s ease,transform .32s ease,visibility .32s,border-width .32s,padding .32s;
  }
  nav.is-menu-open .nav-links {
    max-height:360px;
    padding:.7rem 1rem 1rem;
    border-bottom-width:1px;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .nav-links li { border-bottom:1px solid rgba(74,139,200,.16); }
  .nav-links li:nth-last-child(-n+2) { border-bottom:0; }
  .nav-links a { display:block; padding:.75rem .35rem; font-size:.76rem; }
  .season-switch {
    grid-column:2;
    grid-row:1;
    justify-self:end;
    width:auto;
    margin:0;
  }
  .season-current { display:none; }
  .season-switch a {
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    height:40px;
    padding:0 .8rem;
    font-size:.67rem;
  }
  .nav-menu-toggle {
    grid-column:3;
    grid-row:1;
    display:grid;
    width:40px;
    height:40px;
    place-content:center;
    gap:5px;
    border:1px solid rgba(74,139,200,.55);
    border-radius:3px;
    background:transparent;
    color:#fff;
    cursor:pointer;
  }
  .nav-menu-toggle span {
    display:block;
    width:18px;
    height:1px;
    background:currentColor;
    transition:transform .25s ease,opacity .2s ease;
  }
  .nav-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
  .nav-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .nav-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

  section { padding:2.7rem 1rem; scroll-margin-top:64px; }
  .section-label { margin-bottom:.35rem; font-size:.65rem; }
  .section-title,.contact-cta { font-size:clamp(1.9rem,10vw,2.65rem); }
  .section-line { width:44px; height:2px; margin:.8rem 0 1.35rem; }

  #home {
    height:calc(100svh - 64px);
    min-height:520px;
  }
  .hero-content { padding:0 1rem 2rem; }
  .hero-content h1 { font-size:clamp(2.65rem,15vw,4rem); }
  .hero-tag { margin-bottom:.75rem; font-size:.62rem; }
  .hero-sub { margin-top:.9rem; font-size:.92rem; line-height:1.5; }
  .hero-actions { margin-top:1.2rem; }

  #about { min-height:calc(100svh - 64px); }
  .about-grid { gap:1.25rem; margin-top:1rem; }
  .about-text { font-size:.88rem; line-height:1.5; }
  .about-text p + p { margin-top:.65rem; }
  .about-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
  .stat { padding:.85rem; }
  .stat-num { font-size:2rem; }
  .stat-label { font-size:.65rem; }

  #team { min-height:calc(100svh - 64px); overflow:hidden; }
  .team-grid {
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:min(78vw,330px);
    gap:.8rem;
    min-height:0;
    margin-top:1rem;
    padding:0 max(0px,calc((100vw - min(78vw,330px)) / 2 - 1rem)) .7rem;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:inline mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .team-grid::-webkit-scrollbar { display:none; }
  .member-card {
    height:min(58svh,455px);
    min-height:360px;
    scroll-snap-align:center;
  }

  .stem-section { height:auto; min-height:calc(100svh - 64px); }
  .stem-pin { position:relative; min-height:calc(100svh - 64px); }
  .stem-story { width:100%; padding:2.7rem 1rem; }
  .stem-story .section-line { margin-bottom:1.35rem; }
  .stem-cards {
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:min(82vw,350px);
    gap:.8rem;
    overflow-x:auto;
    padding-bottom:.7rem;
    scroll-snap-type:inline mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .stem-cards::-webkit-scrollbar { display:none; }
  .stem-card {
    min-height:min(48svh,390px);
    padding:1.25rem;
    scroll-snap-align:center;
  }

  #initiatives { min-height:calc(100svh - 64px); padding-block:2.7rem; }
  .initiative-layout { margin-top:1.2rem; }
  .initiative-copy { margin:0; padding:1.15rem; }
  .initiative-copy h3 { margin-bottom:.7rem; font-size:1.65rem; }
  .initiative-copy p { font-size:.84rem; line-height:1.48; }
  .initiative-copy blockquote { margin:.85rem 0; font-size:.85rem; line-height:1.4; }
  .initiative-partner { padding:.25rem 0; }
  .initiative-partner img { width:135px; max-height:52px; }
  .initiative-media { width:100%; aspect-ratio:16/7; }

  .wear-panel-head { gap:.8rem; }
  .wear-panel-head p { font-size:.86rem; line-height:1.45; }
  .wear-gallery { gap:.8rem; }
  .wear-photo {
    display:grid;
    min-height:calc(100svh - 150px);
    place-items:center;
    overflow:hidden;
    background:#030406;
  }
  .wear-photo img { width:100%; max-height:calc(100svh - 150px); object-fit:contain; }

  .g-item { max-height:calc(100svh - 118px); }
  .g-item img { width:100%; max-height:calc(100svh - 118px); object-fit:contain; }

  #contacts { padding-block:2.7rem; }
  .contact-inner { gap:1.5rem; margin-top:1rem; }
  .contact-cta { margin-bottom:.75rem; }
  .contact-desc { font-size:.88rem; line-height:1.5; }
}

@media (max-width:420px) {
  .nav-links { grid-template-columns:none; }
  .hero-content h1 { font-size:clamp(2.65rem,15vw,3.5rem); }
  .member-card { min-height:340px; }
}

/* Refined portrait-phone layouts. Desktop rules remain untouched. */
@media (max-width:760px) {
  /* Let compact sections end with their content instead of filling an empty screen. */
  #about,
  #team { min-height:0; padding-bottom:2.2rem; }
  #about .about-grid { margin-bottom:0; }
  #team .team-grid { margin-bottom:0; }

  /* On phones the car becomes a swipeable showroom and the facts follow immediately. */
  .car-showroom-scroll {
    height:auto;
    margin:1.35rem -1rem 0;
  }
  .car-showroom {
    position:relative;
    top:auto;
    height:clamp(285px,76vw,350px);
  }
  .car-slider {
    position:absolute;
    display:flex;
    overflow-x:auto;
    scroll-snap-type:inline mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .car-slider::-webkit-scrollbar { display:none; }
  .car-slide,
  .car-slide.active {
    position:relative;
    inset:auto;
    flex:0 0 100%;
    width:100%;
    height:100%;
    object-fit:contain;
    opacity:1;
    scroll-snap-align:center;
  }
  .car-stage-overlay { pointer-events:none; }
  .car-scroll-cue,
  .car-scroll-progress { display:none; }
  .car-engineering { padding-top:1.4rem; }

  /* Teamwear photos fill their cards, with no artificial letterbox space. */
  .wear-photo {
    min-height:0;
    aspect-ratio:4 / 5;
    background:transparent;
  }
  .wear-photo img {
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:center;
  }

  /* STEM cards use the same one-card-at-a-time language as the people cards. */
  .stem-section,
  .stem-pin { min-height:0; }
  .stem-logo-stage { display:none; }
  .stem-story {
    padding-top:2.7rem;
    padding-bottom:2.2rem;
    opacity:1;
    transform:none;
  }
  .stem-cards { grid-auto-columns:min(78vw,330px); }
  .stem-card {
    height:min(58svh,455px);
    min-height:350px;
    justify-content:flex-end;
    isolation:isolate;
    border-radius:10px;
    background:linear-gradient(to top,rgba(4,6,10,.98) 0%,rgba(8,15,24,.76) 42%,rgba(12,26,42,.9) 100%);
  }
  .stem-card::before {
    position:absolute;
    z-index:-1;
    inset:1rem 1rem 38%;
    content:'';
    background:url('../web_assets/Logos/STEM_Racing_Logo.png') center/72% auto no-repeat;
    opacity:.28;
    filter:saturate(.85);
  }
  .stem-card h3 { font-size:1.25rem; }
  .stem-card p { font-size:.92rem; line-height:1.55; }

  /* Protect the people at the bottom of the solidarity photo. */
  .initiative-media {
    width:100%;
    aspect-ratio:4 / 3;
    background:#050609;
  }
  .initiative-media img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center bottom;
  }

  /* Editorial two-column gallery with deliberate feature images. */
  .g-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.7rem;
    columns:auto;
    margin-top:1.5rem;
  }
  .g-item {
    display:block;
    max-height:none;
    margin:0;
    aspect-ratio:4 / 5;
    border:1px solid rgba(74,139,200,.18);
  }
  .g-item:nth-child(5n+1) {
    grid-column:1 / -1;
    aspect-ratio:16 / 10;
  }
  .g-item:nth-child(5n+4) { aspect-ratio:1 / 1; }
  .g-item img {
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
  }

  /* Compact Ferrari-inspired sponsor hierarchy for portrait screens. */
  .sponsors-section { padding:2.7rem 1rem 2.2rem; }
  .sponsor-wall { padding:.4rem 0 0; }
  .sponsor-tier + .sponsor-tier { margin-top:1rem; }
  .sponsor-grid { gap:.7rem 1rem; }
  .tier-premium .sponsor-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:350px;
  }
  .tier-premium .sponsor-item:first-child { grid-column:1 / -1; }
  .tier-premium .sponsor-item { min-height:72px; }
  .tier-premium .sponsor-item:first-child .sponsor-logo { max-width:112px; max-height:96px; }
  .tier-premium .sponsor-item:nth-child(2) .sponsor-logo { max-width:158px; max-height:68px; }
  .tier-premium .sponsor-item:nth-child(3) .sponsor-logo { max-width:92px; max-height:78px; }
  .tier-gold .sponsor-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:370px;
  }
  .tier-gold .sponsor-item:nth-child(6) { grid-column:auto; }
  .tier-gold .sponsor-item { min-height:64px; }
  .tier-gold .sponsor-logo { max-width:105px; max-height:54px; }
  .tier-silver .sponsor-grid,
  .tier-bronze .sponsor-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:300px;
  }
  .tier-silver .sponsor-item,
  .tier-bronze .sponsor-item { min-height:62px; }
  .tier-silver .sponsor-logo,
  .tier-bronze .sponsor-logo { max-width:118px; max-height:58px; }
  .tier-bronze .sponsor-logo-ha-pecas,
  .tier-bronze .sponsor-logo-elriper { max-width:125px; max-height:64px; }

  /* Institutional partners lead the footer; brand signature follows beneath. */
  .footer-bottom { gap:1.15rem; padding:1.7rem 1rem 2rem; }
  .footer-partners { grid-row:1; justify-self:center; }
  .footer-partners > div {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.25rem;
    width:min(86vw,310px);
  }
  .footer-partners img { max-width:135px; max-height:58px; }
  .footer-center { grid-row:2; padding-top:.3rem; }
  .footer-brand { grid-row:3; }
}

/* Final portrait-phone composition pass. */
@media (max-width:760px) {
  /* Content-led sections must not inherit desktop viewport heights. */
  #about,
  #team {
    min-height:0 !important;
    padding-top:2.35rem;
    padding-bottom:2.35rem;
  }
  #about .about-grid,
  #team .team-grid { margin-bottom:0; }
  #about .about-grid { margin-top:1.55rem; gap:1.35rem; }
  #about .about-stats { gap:.65rem; }

  /* A compact swipeable car stage, followed immediately by its information. */
  .car-showroom-scroll { height:auto !important; margin:1.25rem -1rem 0; }
  .car-showroom { height:clamp(250px,68vw,305px); }
  .car-slider { inset:0; }
  .car-slide,
  .car-slide.active {
    flex:0 0 100%;
    min-width:100%;
    object-fit:cover;
    object-position:center;
  }
  .car-slide-photo { object-position:center 48%; }
  .car-engineering { padding-top:1.15rem; gap:1rem; }
  .car-facts { margin-top:.15rem; }

  /* Keep the team carousel compact once the final card has passed. */
  #team .team-grid { min-height:0; margin-top:1.35rem; padding-bottom:.35rem; }
  #team .member-card { height:clamp(360px,56svh,445px); min-height:0; }

  /* Preserve each garment photograph's real ratio—no black letterboxing. */
  .wear-gallery { gap:.65rem; }
  .wear-photo { display:block; aspect-ratio:auto; min-height:0; background:transparent; }
  .wear-photo img {
    display:block;
    width:100%;
    height:auto;
    max-height:none;
    object-fit:initial;
  }

  /* Restore the scroll reveal and present the information like team cards. */
  .stem-section { height:190svh; min-height:0; overflow:clip; }
  .stem-pin {
    position:sticky;
    top:64px;
    height:calc(100svh - 64px);
    min-height:0;
  }
  .stem-logo-stage { display:grid; }
  .stem-logo-stage img { width:min(82vw,430px); max-height:48svh; }
  .stem-story {
    padding:2.15rem 1rem 1.5rem;
    opacity:var(--stem-story-opacity);
    transform:translateY(var(--stem-story-shift));
  }
  .stem-story .section-line { margin-bottom:1.15rem; }
  .stem-cards { grid-auto-columns:min(78vw,330px); gap:.75rem; }
  .stem-card {
    height:clamp(340px,52svh,420px);
    min-height:0;
    border-radius:10px;
  }

  /* The source is portrait: show it at its native ratio and protect the bottom. */
  .initiative-media { width:100%; height:auto; aspect-ratio:3 / 4; background:#050609; }
  .initiative-media img { object-fit:cover; object-position:center bottom; }

  /* A magazine-like gallery rhythm instead of a plain single-file stack. */
  .g-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
  .g-item { aspect-ratio:4 / 5; border:0; border-radius:2px; }
  .g-item:nth-child(6n+1),
  .g-item:nth-child(6n+4) { grid-column:1 / -1; aspect-ratio:16 / 10; }
  .g-item:nth-child(6n+2) { aspect-ratio:3 / 4; }
  .g-item:nth-child(6n+3) { aspect-ratio:1 / 1; }
  .g-item img { object-fit:cover; }

  /* Sponsor pyramid: leaders large, supporting partners progressively denser. */
  .sponsors-section { padding-top:2.5rem; padding-bottom:2rem; }
  .sponsor-wall { padding-top:.25rem; }
  .sponsor-tier + .sponsor-tier { margin-top:.85rem; }
  .tier-premium .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem 1.15rem; }
  .tier-premium .sponsor-item:first-child { grid-column:1/-1; min-height:92px; }
  .tier-premium .sponsor-item:not(:first-child) { min-height:74px; }
  .tier-gold .sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem .75rem; }
  .tier-gold .sponsor-item { min-height:58px; }
  .tier-silver .sponsor-grid,
  .tier-bronze .sponsor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem 1rem; }
  .tier-silver .sponsor-item,
  .tier-bronze .sponsor-item { min-height:54px; }

  /* Institutional partners sit above the inAeroVolt signature and copyright. */
  .footer-bottom { grid-template-columns:1fr; gap:1.15rem; }
  .footer-partners { grid-row:1; }
  .footer-brand { grid-row:2; justify-self:center; }
  .footer-center { grid-row:3; }
}

/* One complete card per phone viewport; the gallery deliberately remains a grid. */
@media (max-width:760px) {
  html { scroll-snap-type:y proximity; }

  /* Each principal section owns at least one complete phone screen. */
  #about,
  #team,
  #teamwear,
  #initiatives,
  #contacts,
  .sponsors-section {
    min-height:calc(100svh - 64px) !important;
    scroll-margin-top:64px;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  /* Fill the About screen with its real content instead of a black spacer. */
  #about {
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:
      radial-gradient(circle at 105% 82%,rgba(74,139,200,.16),transparent 38%),
      linear-gradient(145deg,#08080b 0%,#08080b 62%,#0a111b 100%);
  }
  #about .about-grid {
    display:flex;
    flex:1;
    flex-direction:column;
    gap:1.1rem;
    margin-top:.8rem;
  }
  #about .about-text { flex:0 0 auto; }
  #about .about-stats {
    flex:1;
    grid-auto-rows:minmax(92px,1fr);
    align-content:stretch;
  }
  #about .stat { display:flex; flex-direction:column; justify-content:center; min-height:0; }

  /* Team and STEM cards complete the remaining screen instead of leaving a tail. */
  #team .member-card,
  .stem-card { height:clamp(430px,calc(100svh - 235px),650px); }

  .team-grid,
  .stem-cards {
    grid-auto-columns:100%;
    gap:0;
    padding-right:0;
    padding-left:0;
    scroll-padding-inline:0;
    scroll-snap-type:x mandatory;
  }
  .member-card,
  .stem-card {
    width:100%;
    max-width:none;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  /* Keep the IAV-N26 as a vertical, scroll-controlled sequence. */
  .car-showroom-scroll {
    height:300svh !important;
    margin:1.25rem -1rem 0;
  }
  .car-showroom {
    position:sticky;
    top:64px;
    height:calc(100svh - 64px);
  }
  .car-slider {
    position:absolute;
    inset:0;
    display:block;
    overflow:hidden;
  }
  .car-slide,
  .car-slide.active {
    position:absolute;
    inset:0;
    width:100%;
    min-width:0;
    height:100%;
    object-fit:contain;
    object-position:center;
    opacity:0;
    pointer-events:none;
  }
  .car-slide.active { opacity:1; }
  .car-slide-photo { object-position:center; }
  .car-scroll-cue { display:flex; }
  .car-scroll-progress { display:block; }
  .car-engineering { padding-top:1.15rem; }
}

/* Authoritative mobile overrides. Desktop declarations above remain untouched. */
@media (max-width:760px) {
  html { scroll-snap-type:none !important; }
  .reveal,
  .g-grid .g-item { opacity:1 !important; transform:none !important; transition:none !important; }

  #about,
  #team,
  #teamwear,
  #initiatives,
  #contacts,
  .sponsors-section {
    min-height:0 !important;
    scroll-snap-align:none !important;
    scroll-snap-stop:normal !important;
  }

  #about { display:block; overflow:visible; }
  #about .about-grid { display:block; margin-top:1.25rem; }
  #about .about-stats {
    display:grid;
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:.55rem;
    margin-top:1.15rem;
  }
  #about .stat {
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    align-items:center;
    min-height:68px;
    padding:.75rem 1rem;
  }
  #about .stat-num { font-size:2rem; line-height:1; }
  #about .stat-label { margin:0; }

  #team .team-grid,
  .stem-cards {
    grid-auto-columns:100%;
    gap:.7rem;
    padding-inline:0;
    scroll-padding-inline:0;
    scroll-snap-type:x mandatory;
  }
  #team .member-card {
    width:100%;
    max-width:none;
    height:clamp(470px,68svh,590px);
    min-height:0;
    scroll-snap-align:start;
  }

  .wear-gallery {
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:100%;
    gap:.65rem;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .wear-gallery::-webkit-scrollbar { display:none; }
  .wear-photo {
    width:100%;
    min-width:0;
    aspect-ratio:4 / 5;
    overflow:hidden;
    background:#030406;
    scroll-snap-align:start;
  }
  .wear-photo img {
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:center;
  }

  .car-showroom-scroll { height:300svh !important; }
  .car-slider { aspect-ratio:auto; }
  .car-slide,
  .car-slide.active { object-fit:cover; object-position:center; }
  .car-slide-photo { object-position:center 48%; }

  .stem-section { height:170svh; }
  .stem-cards { grid-auto-columns:100%; }
  .stem-card {
    width:100%;
    max-width:none;
    height:clamp(420px,60svh,520px);
    min-height:0;
    scroll-snap-align:start;
  }

  .initiative-layout { margin-top:1.2rem; }
  .initiative-media { width:100%; height:auto; aspect-ratio:3 / 4; background:#050609; }
  .initiative-media img { width:100%; height:100%; object-fit:cover; object-position:center bottom; }
  .sponsors-section,
  #contacts { padding-bottom:2.5rem; }
}

/* Mobile interaction pass: manual swipe, timed progression and compact sections. */
@media (max-width:760px) {
  .swipe-guide {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.65rem;
    margin-top:.65rem;
    color:var(--accent2);
    font:700 .65rem var(--font-head);
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .swipe-guide i {
    position:relative;
    display:block;
    width:54px;
    height:1px;
    overflow:hidden;
    background:rgba(74,139,200,.25);
  }
  .swipe-guide i::after {
    position:absolute;
    inset:0 auto 0 0;
    width:100%;
    content:'';
    background:var(--accent);
    transform-origin:left;
    animation:swipeTimer 5s linear infinite;
  }

  /* The IAV-N26 is a normal swipe carousel on phones. */
  .car-showroom-scroll {
    height:auto !important;
    margin:1.25rem -1rem 0;
  }
  .car-showroom {
    position:relative;
    top:auto;
    height:clamp(440px,64svh,570px);
  }
  .car-slider {
    position:absolute;
    inset:0;
    display:flex;
    aspect-ratio:auto;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .car-slider::-webkit-scrollbar { display:none; }
  .car-slide,
  .car-slide.active {
    position:relative;
    inset:auto;
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    opacity:1;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .car-scroll-cue,
  .car-scroll-progress { display:none; }
  .car-showroom + .swipe-guide { margin-inline:1rem; }

  /* Keep the complete solidarity story inside one phone viewport. */
  #initiatives {
    display:flex;
    min-height:calc(100svh - 64px) !important;
    max-height:calc(100svh - 64px);
    flex-direction:column;
    padding:1.8rem 1rem 1.2rem;
    overflow:hidden;
  }
  #initiatives .section-label { margin-bottom:.35rem; }
  #initiatives .section-title { font-size:clamp(2rem,10vw,2.65rem); }
  #initiatives .section-line { margin:.75rem 0 0; }
  .initiative-layout {
    display:grid;
    min-height:0;
    height:auto;
    flex:1;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    margin-top:.85rem;
  }
  .initiative-layout::before { display:none; }
  .initiative-copy {
    height:auto;
    margin:0;
    padding:.9rem 1rem;
  }
  .initiative-kicker { margin-bottom:.35rem; }
  .initiative-copy h3 { margin-bottom:.45rem; font-size:1.35rem; }
  .initiative-copy p { font-size:.79rem; line-height:1.42; }
  .initiative-copy blockquote { margin:.55rem 0; padding-left:.65rem; font-size:.76rem; line-height:1.35; }
  .initiative-partner { padding:.2rem 0; }
  .initiative-partner img { width:112px; max-height:38px; }
  .initiative-media {
    width:100%;
    min-height:0;
    height:100%;
    aspect-ratio:auto;
  }
  .initiative-media img { min-height:0; object-position:center bottom; }
  .initiative-media figcaption { padding:.45rem .65rem; font-size:.55rem; }

  /* All sponsor levels fit in one screen and remain visibly hierarchical. */
  .sponsors-section {
    display:flex;
    min-height:calc(100svh - 64px) !important;
    max-height:calc(100svh - 64px);
    flex-direction:column;
    padding:1.6rem 1rem 1rem;
    overflow:hidden;
  }
  .sponsors-heading { margin-bottom:.35rem; }
  .sponsors-section .section-title { font-size:2rem; }
  .sponsors-section .section-line { margin:.55rem 0 0; }
  .sponsor-wall {
    display:grid;
    min-height:0;
    flex:1;
    grid-template-rows:1.15fr 2.1fr 1fr .75fr;
    gap:.3rem;
    padding:.2rem 0 0;
  }
  .sponsor-tier,
  .sponsor-tier + .sponsor-tier {
    position:relative;
    min-height:0;
    margin:0;
    padding:.85rem .35rem .2rem;
    border-top:1px solid rgba(74,139,200,.34);
  }
  .sponsor-tier::before {
    position:absolute;
    top:.12rem;
    left:.35rem;
    color:var(--accent2);
    content:attr(data-tier);
    font:700 .52rem var(--font-head);
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .sponsor-grid,
  .tier-premium .sponsor-grid,
  .tier-gold .sponsor-grid,
  .tier-silver .sponsor-grid,
  .tier-bronze .sponsor-grid {
    height:100%;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.15rem .55rem;
  }
  .tier-premium .sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sponsor-item,
  .tier-premium .sponsor-item:first-child,
  .tier-premium .sponsor-item:not(:first-child),
  .tier-gold .sponsor-item,
  .tier-silver .sponsor-item,
  .tier-bronze .sponsor-item { min-height:0; padding:.1rem; }
  .sponsor-logo,
  .tier-premium .sponsor-logo,
  .tier-gold .sponsor-logo {
    max-width:100%;
    max-height:42px;
  }
  .tier-premium .sponsor-logo { max-height:55px; }
  .tier-premium .sponsor-item:first-child { grid-column:auto; }

  #contacts { padding:2.2rem 1rem 1.5rem; }
  .contact-status {
    grid-column:1/-1;
    color:var(--accent2);
    font-size:.82rem;
  }
  .contact-status.is-error { color:#ff9b9b; }

  footer { padding:0; }
  .footer-bottom {
    gap:.65rem;
    padding:1rem;
  }
  .footer-partners { grid-row:1; }
  .footer-partners > div { width:min(72vw,280px); gap:.7rem; }
  .footer-partners img { max-height:35px; }
  .footer-brand { grid-row:2; }
  .footer-socials { gap:.55rem; }
  .footer-socials a { width:40px; height:40px; }
  .footer-socials svg { width:19px; height:19px; }
  .footer-center { grid-row:3; gap:.25rem; }
  .footer-brand-logo { height:32px; }
  .footer-copy { font-size:.6rem; }
}

@keyframes swipeTimer { from { transform:scaleX(0); } to { transform:scaleX(1); } }

/* Mobile interaction pass: manual swipe, timed progression and compact sections. */
@media (max-width:760px) {
  .swipe-guide {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.65rem;
    margin-top:.65rem;
    color:var(--accent2);
    font:700 .65rem var(--font-head);
    letter-spacing:.18em;
    text-transform:uppercase;
  }
  .swipe-guide i {
    position:relative;
    display:block;
    width:54px;
    height:1px;
    overflow:hidden;
    background:rgba(74,139,200,.25);
  }
  .swipe-guide i::after {
    position:absolute;
    inset:0 auto 0 0;
    width:100%;
    content:'';
    background:var(--accent);
    transform-origin:left;
    animation:swipeTimer 5s linear infinite;
  }

  /* The IAV-N26 is a normal swipe carousel on phones. */
  .car-showroom-scroll {
    height:auto !important;
    margin:1.25rem -1rem 0;
  }
  .car-showroom {
    position:relative;
    top:auto;
    height:clamp(440px,64svh,570px);
  }
  .car-slider {
    position:absolute;
    inset:0;
    display:flex;
    aspect-ratio:auto;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .car-slider::-webkit-scrollbar { display:none; }
  .car-slide,
  .car-slide.active {
    position:relative;
    inset:auto;
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    opacity:1;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .car-scroll-cue,
  .car-scroll-progress { display:none; }
  .car-showroom + .swipe-guide { margin-inline:1rem; }

  /* Keep the complete solidarity story inside one phone viewport. */
  #initiatives {
    display:flex;
    min-height:calc(100svh - 64px) !important;
    max-height:calc(100svh - 64px);
    flex-direction:column;
    justify-content:flex-start;
    padding:1.8rem 1rem 1.2rem;
    overflow:hidden;
  }
  #initiatives .section-label { margin-bottom:.35rem; }
  #initiatives .section-title { font-size:clamp(2rem,10vw,2.65rem); }
  #initiatives .section-line { margin:.75rem 0 0; }
  .initiative-layout {
    display:grid;
    min-height:0;
    height:auto;
    flex:1;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    margin-top:.85rem;
  }
  .initiative-layout::before { display:none; }
  .initiative-copy {
    height:auto;
    margin:0;
    padding:.9rem 1rem;
  }
  .initiative-kicker { margin-bottom:.35rem; }
  .initiative-copy h3 { margin-bottom:.45rem; font-size:1.35rem; }
  .initiative-copy p { font-size:.79rem; line-height:1.42; }
  .initiative-copy blockquote { margin:.55rem 0; padding-left:.65rem; font-size:.76rem; line-height:1.35; }
  .initiative-partner { padding:.2rem 0; }
  .initiative-partner img { width:112px; max-height:38px; }
  .initiative-media {
    width:100%;
    min-height:0;
    height:100%;
    aspect-ratio:auto;
  }
  .initiative-media img { min-height:0; object-position:center bottom; }
  .initiative-media figcaption { padding:.45rem .65rem; font-size:.55rem; }

  /* Two-column masonry: no empty grid cells that look like black photos. */
  .g-grid {
    display:block;
    columns:2;
    column-gap:.45rem;
  }
  .g-item,
  .g-item:nth-child(6n+1),
  .g-item:nth-child(6n+2),
  .g-item:nth-child(6n+3),
  .g-item:nth-child(6n+4) {
    display:inline-block;
    width:100%;
    margin:0 0 .45rem;
    aspect-ratio:auto;
    break-inside:avoid;
  }
  .g-item img { display:block; width:100%; height:auto; object-fit:initial; }

  /* All sponsor levels fit in one screen and remain visibly hierarchical. */
  .sponsors-section {
    display:flex;
    min-height:calc(100svh - 64px) !important;
    max-height:calc(100svh - 64px);
    flex-direction:column;
    padding:1.6rem 1rem 1rem;
    overflow:hidden;
  }
  .sponsors-heading { margin-bottom:.35rem; }
  .sponsors-section .section-title { font-size:2rem; }
  .sponsors-section .section-line { margin:.55rem 0 0; }
  .sponsor-wall {
    display:grid;
    min-height:0;
    flex:1;
    grid-template-rows:1.15fr 2.1fr 1fr .75fr;
    gap:.3rem;
    padding:.2rem 0 0;
  }
  .sponsor-tier,
  .sponsor-tier + .sponsor-tier {
    position:relative;
    min-height:0;
    margin:0;
    padding:.85rem .35rem .2rem;
    border-top:1px solid rgba(74,139,200,.34);
  }
  .sponsor-tier::before {
    position:absolute;
    top:.12rem;
    left:.35rem;
    color:var(--accent2);
    content:attr(data-tier);
    font:700 .52rem var(--font-head);
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .sponsor-grid,
  .tier-premium .sponsor-grid,
  .tier-gold .sponsor-grid,
  .tier-silver .sponsor-grid,
  .tier-bronze .sponsor-grid {
    height:100%;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.15rem .55rem;
  }
  .tier-premium .sponsor-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sponsor-item,
  .tier-premium .sponsor-item:first-child,
  .tier-premium .sponsor-item:not(:first-child),
  .tier-gold .sponsor-item,
  .tier-silver .sponsor-item,
  .tier-bronze .sponsor-item { min-height:0; padding:.1rem; }
  .sponsor-logo,
  .tier-premium .sponsor-logo,
  .tier-gold .sponsor-logo {
    max-width:100%;
    max-height:42px;
  }
  .tier-premium .sponsor-logo { max-height:55px; }
  .tier-premium .sponsor-item:first-child { grid-column:auto; }

  #contacts { padding:2.2rem 1rem 1.5rem; }
  .contact-status {
    grid-column:1/-1;
    color:var(--accent2);
    font-size:.82rem;
  }
  .contact-status.is-error { color:#ff9b9b; }

  footer { padding:0; }
  .footer-bottom {
    gap:.65rem;
    padding:1rem;
  }
  .footer-partners { grid-row:1; }
  .footer-partners > div { width:min(72vw,280px); gap:.7rem; }
  .footer-partners img { max-height:35px; }
  .footer-brand { grid-row:2; }
  .footer-socials { gap:.55rem; }
  .footer-socials a { width:40px; height:40px; }
  .footer-socials svg { width:19px; height:19px; }
  .footer-center { grid-row:3; gap:.25rem; }
  .footer-brand-logo { height:32px; }
  .footer-copy { font-size:.6rem; }
}

@keyframes swipeTimer { from { transform:scaleX(0); } to { transform:scaleX(1); } }
