:root{--primary:#0a0a0a;--secondary:#fff;--accent:#ffffff;--bg:#f4f3ef;--surface:#fff;--text:#111;--muted:#6f6f69;--border:#d8d7d1;--success:#276844;--warning:#8a5a11;--max:1240px;--radius:18px;--space:clamp(18px,3vw,40px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.5}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.skip-link{position:fixed;left:10px;top:-100px;z-index:999;background:white;padding:10px 14px}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.96);color:white;border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(14px)}.header-inner{height:76px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:max-content;font-size:14px;letter-spacing:.07em}.brand strong{font-weight:900}.logo-placeholder{width:54px;height:38px;border:1px solid currentColor;display:grid;place-items:center;padding:4px;background:transparent}.logo-placeholder span{font-size:6px;text-align:center;letter-spacing:.05em;line-height:1.1}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:24px;margin-left:auto;font-size:13px}.desktop-nav>a,.nav-group>button{opacity:.84}.desktop-nav>a:hover,.desktop-nav>a.active,.nav-group>button:hover{opacity:1}.nav-group{position:relative}.nav-group>button{border:0;background:none;color:white;padding:20px 0;cursor:pointer}.subnav{display:none;position:absolute;top:56px;left:-18px;width:220px;background:#111;border:1px solid #2d2d2d;padding:10px;box-shadow:0 18px 50px rgba(0,0,0,.3)}.nav-group:hover .subnav,.nav-group:focus-within .subnav{display:grid}.subnav a{padding:10px;border-radius:8px;color:#ddd}.subnav a:hover{background:#222;color:white}.desktop-cta{margin-left:10px}.menu-btn{display:none;margin-left:auto;background:none;border:0;width:42px;height:42px}.menu-btn span{display:block;height:2px;background:white;margin:7px}.mobile-menu{position:fixed;inset:76px 0 0;background:#0a0a0a}.mobile-menu-inner{display:grid;padding-block:24px}.mobile-menu a{padding:15px 0;border-bottom:1px solid #292929;font-size:20px;font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:999px;font-size:12px;font-weight:900;letter-spacing:.06em;border:1px solid transparent;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#0a0a0a}.btn-light{background:white;color:#111}.btn-outline-light{border-color:rgba(255,255,255,.5);color:white}.btn-dark{background:#111;color:white}.btn[disabled]{opacity:.5;cursor:not-allowed}.text-link{font-size:13px;font-weight:800;border-bottom:1px solid currentColor;padding-bottom:2px}.eyebrow{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#555}.eyebrow.light{color:#bdbdb8}.muted{color:var(--muted);font-size:12px}.demo-flag{display:inline-flex;width:max-content;background:#ffe898;color:#292000;font-size:9px;font-weight:900;letter-spacing:.08em;padding:5px 7px;border-radius:4px;margin-bottom:10px}
.hero{position:relative;overflow:hidden;background:#0a0a0a;color:white;min-height:680px;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.11),transparent 28%),linear-gradient(130deg,transparent 45%,rgba(255,255,255,.05) 45%,rgba(255,255,255,.05) 55%,transparent 55%)}.hero-grain{position:absolute;inset:0;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.15'/%3E%3C/svg%3E")}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding-block:80px}.hero h1,.page-hero h1,.story-band h2,.members-band h2{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-weight:900;letter-spacing:.005em;line-height:.88;text-transform:uppercase}.hero h1{font-size:clamp(60px,7.3vw,112px);margin:16px 0 24px}.hero-intro{max-width:540px;color:#c7c7c1;font-size:17px}.match-panel{background:#151515;border:1px solid #343434;border-radius:24px;padding:24px;box-shadow:0 32px 100px rgba(0,0,0,.4)}.match-panel-top,.compact-top,.card-head{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:900;letter-spacing:.1em;color:#aaa}.versus{display:grid;grid-template-columns:1fr 46px 1fr;align-items:center;gap:14px;padding:34px 0}.team{text-align:center;display:grid;justify-items:center;gap:15px}.team strong{font-size:14px}.team .logo-placeholder{width:78px;height:78px;border-radius:8px}.team-mark{width:78px;height:78px;display:grid;place-items:center;background:#2e2e2e;border:1px solid #555;border-radius:8px;font-size:20px;font-weight:900}.team-mark small{font-size:7px;font-weight:700}.vs{font-weight:900;text-align:center;color:#aaa}.match-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#343434;border:1px solid #343434;border-radius:12px;overflow:hidden}.match-meta>div{background:#151515;padding:14px;display:grid;gap:5px}.match-meta span,.game-row span{font-size:9px;color:#979797;letter-spacing:.08em}.match-meta strong{font-size:11px}.match-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.section{padding:clamp(70px,8vw,120px) 0}.section-soft{background:#e9e8e2}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px;gap:24px}.section-head h2{font-size:clamp(34px,4vw,58px);line-height:.95;margin:8px 0 0;letter-spacing:-.04em}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.result-card,.standings-card{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:30px;min-height:310px}.score-empty{padding:42px 0}.score-empty strong{font-size:34px;letter-spacing:-.03em}.score-empty p{color:var(--muted);max-width:560px}.empty-state{border:1px dashed #bbb;background:rgba(255,255,255,.55);padding:38px;border-radius:14px;text-align:center;margin:26px 0}.empty-state>span{font-size:38px;color:#aaa}.empty-state h3{margin:8px 0}.empty-state p{color:var(--muted);max-width:620px;margin:0 auto}.mini-table>div{display:grid;grid-template-columns:28px 1fr 35px 35px;padding:12px 0;border-bottom:1px solid #eee}.matches-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.compact-match{background:#fff;border:1px solid #cfcec8;padding:20px;border-radius:16px}.compact-teams{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;text-align:center;padding:32px 0}.compact-teams span{font-size:11px;color:#999}.compact-date{font-size:19px;font-weight:800}.compact-venue{font-size:12px;color:var(--muted);margin-top:4px}.news-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.news-feature{background:#111;color:white;border-radius:20px;overflow:hidden}.media-placeholder{min-height:360px;display:grid;place-items:center;background:linear-gradient(135deg,#242424,#4a4a4a);color:#aaa;font-size:10px;letter-spacing:.12em}.media-placeholder.small{min-height:220px;margin-bottom:18px}.news-body{padding:28px}.news-body h3{font-size:36px;line-height:1;margin:10px 0}.news-body p{color:#c1c1bd}.news-side{display:grid;gap:14px}.news-small{display:grid;grid-template-columns:130px 1fr;gap:20px;background:white;border:1px solid var(--border);border-radius:16px;padding:16px}.thumb-placeholder{display:grid;place-items:center;background:#ddd;min-height:140px;font-size:9px}.news-small h3{margin:5px 0;font-size:19px;line-height:1.1}.news-small p{font-size:13px;color:var(--muted)}.team-section{background:#111;color:white}.team-section .section-head .eyebrow,.team-section .data-note{color:#aaa}.player-demo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.player-card{border:1px solid #303030;background:#181818;border-radius:16px;overflow:hidden}.player-photo{height:320px;background:linear-gradient(#2b2b2b,#151515);display:flex;align-items:center;justify-content:center;position:relative;color:#777;font-size:9px;text-align:center;padding:20px}.player-photo b{position:absolute;left:14px;bottom:-15px;font-size:60px;color:#303030}.player-card>div:last-child{position:relative;padding:20px}.player-card>div:last-child span{color:#999;font-size:11px;display:block}.player-card>div:last-child strong{font-size:18px}.data-note{font-size:11px}.story-band{background:#181818;color:white;padding:100px 0}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.story-image{min-height:520px;background:linear-gradient(145deg,#2d2d2d,#0c0c0c);border:1px solid #353535;display:grid;place-items:center;color:#777;font-size:10px}.story-band h2,.members-band h2{font-size:clamp(55px,7vw,100px);margin:12px 0 24px}.story-band p{color:#bdbdb8;font-size:17px;max-width:560px}.members-band{background:var(--accent);padding:100px 0}.members-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:40px}.members-band h2{margin-bottom:20px}.members-band p{max-width:600px}.member-actions{display:grid;justify-items:start;gap:18px}.member-actions small{max-width:300px}.sponsor-empty{border:1px solid var(--border);border-radius:18px;padding:28px;background:white}.sponsor-tier>span{font-size:10px;font-weight:900;color:#777}.sponsor-tier>div{height:120px;margin-top:12px;border:1px dashed #bbb;display:grid;place-items:center;font-size:11px}.sponsor-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.sponsor-row div{height:80px;background:#efeee9;display:grid;place-items:center;font-size:9px}.sponsor-empty p{font-size:12px;color:var(--muted)}.partner-cta{margin-top:20px;background:#111;color:white;border-radius:18px;padding:32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.partner-cta h3{font-size:32px;margin:5px 0}.partner-cta.inline{margin-top:44px}
.page-hero{background:#111;color:#fff;padding:90px 0 70px}.page-hero h1{font-size:clamp(56px,8vw,110px);margin:12px 0 18px}.page-hero p{max-width:720px;color:#c5c5c0;font-size:17px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid #bbb;background:white;border-radius:999px;padding:9px 14px;font-size:12px}.filters button.selected{background:#111;color:white;border-color:#111}.list-stack{display:grid;gap:12px}.game-row{display:grid;grid-template-columns:1fr 1.4fr .8fr .6fr;gap:20px;align-items:center;background:white;border:1px solid var(--border);border-radius:14px;padding:22px}.game-row>div{display:grid}.game-teams{grid-template-columns:1fr 30px 1fr!important;align-items:center;text-align:center}.news-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.news-cards article{background:#fff;border:1px solid var(--border);padding:16px;border-radius:16px}.news-cards h3{font-size:23px;line-height:1.05}.news-cards p{color:var(--muted)}.article{padding:70px 20px;max-width:860px}.article-image{margin-bottom:30px}.article p{font-size:18px;color:#3f3f3c}.timeline{display:grid}.timeline article{display:grid;grid-template-columns:160px 1fr;gap:30px;padding:34px 0;border-top:1px solid #c8c7c1}.timeline article>strong{font-size:42px}.timeline h3{font-size:28px;margin:0}.timeline p{color:var(--muted);max-width:700px}.stadium-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}.map-placeholder{min-height:420px;background:#ddd9cf;display:grid;place-items:center;font-size:10px;letter-spacing:.1em}.form-card{display:grid;gap:15px;background:white;border:1px solid var(--border);padding:26px;border-radius:16px}.form-card label{display:grid;gap:6px;font-size:12px;font-weight:700}.form-card input,.form-card select,.form-card textarea{width:100%;border:1px solid #bbb;border-radius:8px;padding:11px;background:white}.form-card .check{grid-template-columns:18px 1fr;font-weight:500}.form-card .check input{width:auto}.form-card small{color:var(--muted)}.offer-grid,.route-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.offer-grid article,.route-cards a{background:white;border:1px solid var(--border);border-radius:14px;padding:22px;min-height:170px}.offer-grid span,.route-cards span{font-size:9px;font-weight:900;color:#777}.route-cards a{display:grid;align-content:space-between}.route-cards h3{font-size:25px}.gallery-demo{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-demo div{aspect-ratio:1;background:#ddd;display:grid;place-items:center;font-size:9px}.single-match{max-width:900px}.versus.large .team .logo-placeholder,.versus.large .team-mark{width:120px;height:120px}.single-match .match-meta>div{background:white}.single-match h2{margin-top:40px}
.footer{background:#080808;color:white;padding:70px 0 90px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}.footer-grid>div{display:grid;align-content:start;gap:8px}.footer h4{font-size:11px;letter-spacing:.1em;color:#999}.footer p,.footer a{font-size:13px;color:#c5c5c0}.footer .logo-placeholder{margin-bottom:10px}.footer-bottom{border-top:1px solid #292929;margin-top:48px;padding-top:20px;display:flex;justify-content:space-between;color:#777;font-size:11px}.bottom-nav{display:none}
@media(max-width:1000px){.desktop-nav,.desktop-cta{display:none}.menu-btn{display:block}.hero-grid{grid-template-columns:1fr;gap:40px}.hero{min-height:auto}.result-grid,.news-layout,.story-grid,.members-grid,.stadium-grid,.two-col{grid-template-columns:1fr}.matches-grid{grid-template-columns:1fr 1fr}.player-demo-grid{grid-template-columns:1fr 1fr}.news-side{grid-template-columns:1fr 1fr}.news-small{grid-template-columns:1fr}.thumb-placeholder{min-height:180px}.offer-grid,.route-cards{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.gallery-demo{grid-template-columns:repeat(3,1fr)}.game-row{grid-template-columns:1fr 1fr}.game-teams{order:3;grid-column:1/-1}.page-hero{padding-top:70px}}
@media(max-width:640px){.container{width:min(100% - 28px,var(--max))}.header-inner{height:66px}.mobile-menu{inset:66px 0 0}.brand span{font-size:12px}.brand .logo-placeholder{width:44px;height:32px}.hero-grid{padding:55px 0 46px}.hero h1{font-size:58px}.hero-intro{font-size:15px}.match-panel{padding:16px;border-radius:16px}.versus{grid-template-columns:1fr 32px 1fr;padding:24px 0}.team .logo-placeholder,.team-mark{width:64px;height:64px}.team strong{font-size:12px}.match-meta{grid-template-columns:1fr}.match-actions{grid-template-columns:1fr}.section{padding:68px 0}.section-head{align-items:start}.section-head .text-link{display:none}.section-head h2{font-size:38px}.result-card,.standings-card{padding:20px;min-height:0}.score-empty strong{font-size:28px}.matches-grid,.news-side,.player-demo-grid,.offer-grid,.route-cards{grid-template-columns:1fr}.news-feature .media-placeholder{min-height:260px}.news-body h3{font-size:29px}.news-small{grid-template-columns:110px 1fr;gap:13px}.thumb-placeholder{min-height:130px}.player-photo{height:360px}.story-band,.members-band{padding:70px 0}.story-image{min-height:360px}.story-band h2,.members-band h2{font-size:58px}.sponsor-row{grid-template-columns:1fr 1fr}.partner-cta{align-items:flex-start;flex-direction:column}.page-hero h1{font-size:58px}.timeline article{grid-template-columns:1fr;gap:10px}.timeline article>strong{font-size:32px}.game-row{grid-template-columns:1fr}.game-teams{grid-column:auto}.gallery-demo{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px}.footer{padding-bottom:120px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:45;background:#0d0d0d;color:#fff;border-top:1px solid #292929;padding:7px 6px max(7px,env(safe-area-inset-bottom))}.bottom-nav a{display:grid;justify-items:center;font-size:16px}.bottom-nav span{font-size:9px;margin-top:2px;color:#bbb}.single-match .match-meta{grid-template-columns:1fr}.versus.large .team .logo-placeholder,.versus.large .team-mark{width:80px;height:80px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Official CD Santacruzense identity + 2026/27 squad */
.club-logo{display:block;object-fit:contain;background:#fff}.header-logo{width:48px;height:54px;border-radius:4px}.footer-logo{width:112px;height:112px;border-radius:8px;margin-bottom:10px}.match-logo{width:88px;height:88px;border-radius:10px}.team .match-logo{width:88px;height:88px}.verified-flag{display:inline-flex;width:max-content;max-width:100%;background:#fff;color:#111;border:1px solid #d8d8d3;font-size:9px;font-weight:900;letter-spacing:.08em;padding:6px 8px;border-radius:4px;margin-bottom:16px}.team-section .verified-flag{background:#fff;color:#111;border-color:#fff}.player-card-wrap{display:block;color:inherit;transition:transform .2s,border-color .2s}.player-card-wrap:hover{transform:translateY(-4px);border-color:#565656}.player-card-wrap[hidden]{display:none!important}.player-photo{padding:0;overflow:hidden}.player-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}.player-photo-fallback{padding:30px;flex-direction:column;gap:18px;background:linear-gradient(160deg,#282828,#111)}.player-photo-fallback .player-fallback-logo{width:120px;height:120px;border-radius:10px;opacity:.82}.player-photo-fallback span{color:#aaa;font-weight:800;letter-spacing:.08em;line-height:1.5}.player-card-info{display:grid;gap:4px}.player-card-info small{font-size:10px;color:#767676}.team-section .player-card-info small{color:#777}.data-note{margin-top:16px}.squad-status{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:18px 20px;margin-bottom:24px;border:1px solid var(--border);border-radius:14px;background:#fff}.squad-status .verified-flag{margin:0;flex:0 0 auto;background:#111;color:#fff;border-color:#111}.squad-status p{margin:0;max-width:720px;color:var(--muted);font-size:12px}.story-emblem{background:#fff}.story-logo{width:min(320px,72%);height:auto}.history-logo-block{display:grid;grid-template-columns:220px 1fr;gap:60px;align-items:start}.history-logo{width:220px;height:auto;position:sticky;top:110px}.player-profile-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}.profile-photo{height:auto;aspect-ratio:5/4;border-radius:18px;background:#111;border:1px solid var(--border)}.profile-photo img{object-fit:cover}.player-profile-copy h2{font-size:clamp(48px,7vw,96px);line-height:.9;margin:14px 0 28px;letter-spacing:-.05em}.player-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7d6d1;border:1px solid #d7d6d1;border-radius:14px;overflow:hidden}.player-facts>div{display:grid;gap:8px;padding:18px;background:#fff}.player-facts span{font-size:9px;letter-spacing:.1em;color:#777;font-weight:900}.player-facts strong{font-size:15px}.profile-note{max-width:680px;color:var(--muted);margin:26px 0}.source-links{display:flex;gap:10px;flex-wrap:wrap}.btn-outline-dark{border-color:#222;color:#111;background:transparent}.btn-outline-dark:hover{background:#111;color:#fff}.history-logo-block .timeline{min-width:0}

@media(max-width:1000px){.history-logo-block{grid-template-columns:150px 1fr;gap:30px}.history-logo{width:150px}.player-profile-grid{grid-template-columns:1fr;gap:36px}.profile-photo{max-width:680px}.squad-status{display:grid}}
@media(max-width:640px){.brand .header-logo{width:42px;height:46px}.footer-logo{width:94px;height:94px}.team .match-logo,.match-logo{width:70px;height:70px}.player-demo-grid.player-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player-demo-grid.player-grid .player-photo{height:235px}.player-card-info{padding:14px!important}.player-card-info strong{font-size:15px!important;line-height:1.05}.player-card-info span,.player-card-info small{font-size:9px!important}.player-photo-fallback{padding:18px}.player-photo-fallback .player-fallback-logo{width:82px;height:82px}.squad-status{padding:14px}.history-logo-block{grid-template-columns:1fr}.history-logo{position:static;width:150px}.player-profile-copy h2{font-size:58px}.player-facts{grid-template-columns:1fr}.source-links{display:grid}.source-links .btn{width:100%}.profile-photo{aspect-ratio:1/1}.story-logo{width:210px}}
@media(max-width:360px){.player-demo-grid.player-grid{grid-template-columns:1fr}.player-demo-grid.player-grid .player-photo{height:330px}}

/* --- Atualização Série A / Agosto 2026 --- */
.club-logo,
.match-logo{background:transparent !important; object-fit:contain;}
.story-emblem{background:transparent !important; border:1px solid rgba(255,255,255,.14);}
.story-logo{max-width:340px; width:100%; filter:drop-shadow(0 10px 28px rgba(0,0,0,.22));}
.history-logo{max-width:240px; width:100%;}
.player-filters button,
.game-filters button,
.filters button{cursor:pointer;}
.team-mark.faux-crest{
  width:74px; height:74px; border:2px solid rgba(255,255,255,.28); border-radius:20px 20px 28px 28px;
  display:grid; place-items:center; background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.03));
  color:#fff; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.team-mark.faux-crest span{font-size:.98rem;}
.tiny-badge{width:38px !important; height:38px !important; min-width:38px;}
.compact-teams-badges > div{display:flex; align-items:center; gap:.55rem;}
.club-row{background:rgba(0,0,0,.06); border-radius:14px;}
.score-box{display:grid; gap:.75rem; background:#f4f4f1; border:1px solid var(--line); border-radius:18px; padding:1rem 1.1rem;}
.score-line{display:flex; justify-content:space-between; align-items:center; gap:.8rem;}
.score-line span{font-weight:900; font-size:1.25rem;}
.tools-row{display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:1rem;}
.list-stack{display:grid; gap:1rem;}
.game-row{grid-template-columns:minmax(110px,130px) minmax(280px,1.4fr) minmax(180px,1fr) minmax(150px,1fr) auto; align-items:center;}
.game-teams{display:flex; align-items:center; gap:.75rem; flex-wrap:wrap;}
.game-teams b{display:flex; align-items:center;}
.table-card{background:#fff; border:1px solid var(--line); border-radius:28px; padding:1.2rem; box-shadow:0 18px 45px rgba(0,0,0,.05);}
.table-meta{display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:1rem; color:var(--muted); flex-wrap:wrap;}
.standings-table{display:grid; gap:.35rem;}
.table-head,.table-row{display:grid; grid-template-columns:56px minmax(180px,1.6fr) repeat(4,64px) 72px 72px; gap:.5rem; align-items:center; padding:.85rem 1rem; border-radius:16px;}
.table-head{background:#0c0c0c; color:#fff; font-size:.86rem; text-transform:uppercase; letter-spacing:.08em;}
.table-row{background:#f7f7f4; border:1px solid rgba(0,0,0,.04);}
.table-row strong,.table-head span:nth-child(2){text-align:left;}
.single-match{display:grid; gap:1.3rem;}
.solid-panel{background:#fff; color:var(--ink); border:1px solid var(--line);}
.solid-panel .match-panel-top{border-bottom:1px solid rgba(0,0,0,.08);}
.solid-panel .vs{color:var(--ink);}
.small-note{font-size:.95rem;}
.card-span{grid-column:1 / -1;}
@media (max-width: 1000px){
  .game-row{grid-template-columns:1fr;}
  .table-head,.table-row{grid-template-columns:40px minmax(140px,1.5fr) repeat(4,44px) 52px 52px; padding:.75rem; font-size:.92rem;}
}
@media (max-width: 640px){
  .story-logo{max-width:210px;}
  .team-mark.faux-crest{width:56px; height:56px; border-radius:16px 16px 22px 22px;}
  .match-panel .match-actions{flex-direction:column;}
  .match-panel .btn{width:100%; justify-content:center;}
  .table-head,.table-row{grid-template-columns:30px minmax(120px,1.5fr) 34px 34px 34px 34px 40px 42px; gap:.35rem; font-size:.84rem;}
}

/* --- Correção do emblema + emblemas da Série A + responsividade ampla --- */
:root{--max:1320px}
.club-logo{background:transparent!important;border-radius:0!important;object-fit:contain}
.header-logo{width:48px;height:58px;filter:none}
.footer-logo{width:118px;height:132px}
.story-emblem{min-height:500px;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.06),transparent 56%)!important;overflow:hidden}
.story-logo{width:min(390px,76%);height:auto;filter:drop-shadow(0 18px 36px rgba(0,0,0,.38))}
.history-logo{width:220px;height:auto;filter:drop-shadow(0 10px 24px rgba(0,0,0,.1))}

.match-logo{width:88px;height:88px;object-fit:contain!important;background:#fff!important;padding:8px;border:1px solid rgba(0,0,0,.08);border-radius:18px!important;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.team .match-logo{width:88px;height:88px}
.tiny-badge{width:42px!important;height:42px!important;min-width:42px;padding:4px;border-radius:10px!important;box-shadow:none}

.standing-team{display:flex;align-items:center;gap:11px;min-width:0}
.standing-team strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.standing-crest{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;background:#fff;border:1px solid #e5e4df;border-radius:9px;padding:3px}
.standing-crest img{display:block;width:100%;height:100%;object-fit:contain}
.mini-table .mini-head,.mini-table>div{display:grid;grid-template-columns:28px minmax(0,1fr) 35px 42px;align-items:center;gap:6px;padding:10px 0;border-bottom:1px solid #eee}
.mini-table .mini-head{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#8a8a84;font-weight:900}
.mini-table .club-row{padding-inline:10px;margin-inline:-10px;background:#f0f0ec}

.table-head,.table-row{grid-template-columns:48px minmax(230px,1.9fr) repeat(4,58px) 66px 66px}
.table-row .standing-crest{width:40px;height:40px;flex-basis:40px}
.table-row.club-row{background:#e9e9e4;border-color:#bfbeb7;box-shadow:inset 4px 0 0 #111}
.table-card{overflow:hidden}

.game-row{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;gap:14px}
.game-row .game-teams{display:grid!important;grid-template-columns:42px minmax(90px,1fr) 30px minmax(90px,1fr) 42px!important;align-items:center;gap:8px;text-align:center;order:initial!important;grid-column:auto!important}
.game-row .game-teams strong{font-size:13px;line-height:1.15}
.compact-teams-badges{grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr)!important}
.compact-teams-badges>div{display:grid!important;justify-items:center;gap:8px;min-width:0}
.compact-teams-badges strong{font-size:12px;line-height:1.15;overflow-wrap:anywhere}

/* tablets / laptops */
@media(max-width:1180px){
  .container{width:min(var(--max),calc(100% - 32px))}
  .desktop-nav{gap:16px}
  .game-row{grid-template-columns:120px 1fr 190px!important}
  .game-row>div:nth-child(4),.game-row>div:nth-child(5){grid-column:auto}
  .table-head,.table-row{grid-template-columns:42px minmax(190px,1.7fr) repeat(4,48px) 56px 58px}
}

@media(max-width:900px){
  .game-row{grid-template-columns:1fr 1fr!important}
  .game-row .game-teams{grid-column:1/-1!important;order:-1!important}
  .game-row>div:nth-child(5){justify-self:end}
  .story-emblem{min-height:400px}
}

/* telemóvel: tabela compacta Pos / Clube / J / Pts */
@media(max-width:640px){
  .container{width:min(100% - 24px,var(--max))}
  .header-logo{width:40px;height:48px}
  .brand{gap:9px}
  .brand span{font-size:11px;letter-spacing:.045em}
  .hero h1,.page-hero h1{font-size:clamp(46px,16vw,64px)}
  .match-logo,.team .match-logo{width:68px;height:68px;padding:6px;border-radius:14px!important}
  .tiny-badge{width:36px!important;height:36px!important;min-width:36px}
  .story-emblem{min-height:310px}
  .story-logo{width:min(230px,72%)}
  .table-card{padding:10px;border-radius:18px}
  .table-head,.table-row{grid-template-columns:30px minmax(0,1fr) 34px 42px!important;gap:5px;padding:9px 7px}
  .table-head .wide-stat,.table-row .wide-stat{display:none}
  .table-row .standing-crest{width:30px;height:30px;flex-basis:30px;border-radius:7px}
  .standing-team{gap:7px}
  .standing-team strong{font-size:12px}
  .game-row{grid-template-columns:1fr!important;padding:14px}
  .game-row .game-teams{grid-column:auto!important;grid-template-columns:36px minmax(0,1fr) 24px minmax(0,1fr) 36px!important;gap:5px}
  .game-row .game-teams strong{font-size:11px}
  .game-row>div:nth-child(5){justify-self:start}
  .tools-row .btn{width:100%}
  .filters{overflow-x:auto;display:flex;flex-wrap:nowrap!important;padding-bottom:4px;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:0 0 auto}
  .player-demo-grid.player-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:360px){
  .container{width:min(100% - 18px,var(--max))}
  .brand span{font-size:10px}
  .standing-crest{width:29px;height:29px;flex-basis:29px}
  .player-demo-grid.player-grid{grid-template-columns:1fr}
}

/* ecrãs grandes / TV: usar espaço sem esticar demasiado a leitura */
@media(min-width:1600px){
  :root{--max:1480px}
  .header-inner{height:86px}
  .hero{min-height:760px}
  .hero-grid{grid-template-columns:1.08fr .92fr;gap:100px}
  .match-panel{padding:30px}
  .matches-grid{gap:22px}
  .player-demo-grid{gap:20px}
}
@media(min-width:2200px){
  :root{--max:1760px}
  body{font-size:18px}
  .hero{min-height:900px}
  .hero h1{font-size:132px}
  .section{padding-block:140px}
  .match-panel{max-width:720px;justify-self:end;width:100%}
  .matches-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .player-demo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.score-box,.table-card,.solid-panel{border-color:var(--border)!important}
.solid-panel{color:var(--text)!important}

/* --- Localização oficial do Campo de Jogos Almeida Sobrinho --- */
.stadium-map{min-height:440px;border-radius:24px;overflow:hidden;border:1px solid var(--border);background:#e6e6e1;box-shadow:0 18px 45px rgba(0,0,0,.05);z-index:0}
.stadium-map.leaflet-container{font:inherit}
.stadium-map .leaflet-control-attribution{font-size:10px}
.stadium-map .leaflet-popup-content{font-weight:700}
.map-attribution{display:block;color:var(--muted);font-size:11px;margin-top:-4px}.map-attribution a{color:inherit}
.stadium-info{display:grid;align-content:start;gap:16px}
.location-data{display:grid;gap:10px;margin:12px 0 6px}
.location-data>div{display:grid;gap:6px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:#fff}
.location-data span{font-size:9px;letter-spacing:.1em;font-weight:900;color:#777}
.location-data strong{font-size:14px;line-height:1.45;word-break:break-word}
.stadium-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
@media(max-width:1000px){.stadium-map{min-height:380px}}
@media(max-width:640px){.stadium-map{min-height:320px;border-radius:18px}.stadium-actions{display:grid}.stadium-actions .btn{width:100%;justify-content:center}.location-data strong{font-size:13px}}
@media(min-width:1800px){.stadium-map{min-height:560px}.location-data strong{font-size:16px}}

/* --- Emblemas garantidos em todos os jogos e classificações --- */
.crest-shell{
  display:grid!important;
  place-items:center;
  overflow:hidden;
  flex:0 0 auto;
}
.crest-shell img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.crest-shell.match-logo{
  background:#fff!important;
  padding:8px;
  border:1px solid rgba(0,0,0,.09);
  border-radius:18px!important;
}
.crest-shell.tiny-badge{
  background:#fff!important;
  padding:4px;
  border:1px solid #e1e0db;
  border-radius:10px!important;
}
.crest-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:#111;
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  border-radius:inherit;
}
.crest-fallback[hidden]{display:none!important}
.standing-crest{overflow:hidden}
.standing-crest img{width:100%;height:100%;object-fit:contain}
.standing-crest .crest-fallback{font-size:8px;border-radius:6px}
.standings-card{min-height:0}
.mini-table>div{min-height:48px}
@media(max-width:640px){
  .crest-shell.match-logo{padding:5px}
  .crest-shell.tiny-badge{padding:3px}
  .mini-table>div{min-height:43px}
}


/* --- Ajustes de legibilidade do plantel e título do estádio --- */
.player-card-info strong{color:#fff!important;}
.player-card-info span{color:#b8b8b3!important;}
.player-card-info small{color:#8e8e89!important;}
.page-hero h1{overflow-wrap:anywhere;}
@media(max-width:640px){.page-hero h1{font-size:clamp(42px,14vw,64px);line-height:.92;}}
@media(min-width:1800px){.page-hero h1{font-size:clamp(82px,6vw,132px);max-width:1500px;}}

/* --- Correções de layout: timeline, dropdown e Arena do CDS --- */
.nav-group>button{display:inline-flex;align-items:center;gap:7px;}
.nav-chevron{
  width:7px;
  height:7px;
  display:inline-block;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transform-origin:center;
  opacity:.78;
  transition:transform .18s ease,opacity .18s ease;
}
.nav-group:hover .nav-chevron,.nav-group:focus-within .nav-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
  opacity:1;
}

/* O ano deixa de invadir o título, incluindo 05.04.1931 */
.history-logo-block{grid-template-columns:minmax(170px,220px) minmax(0,1fr);}
.timeline article{
  grid-template-columns:minmax(190px,220px) minmax(0,1fr);
  gap:38px;
  align-items:start;
}
.timeline article>strong{
  display:block;
  min-width:0;
  font-size:clamp(32px,3vw,48px);
  line-height:1;
  letter-spacing:-.025em;
  white-space:nowrap;
}
.timeline article>div{min-width:0;}
.timeline h3{line-height:1.05;overflow-wrap:break-word;}

.stadium-hero h1{
  font-size:clamp(58px,6.2vw,112px)!important;
  line-height:.9;
  max-width:1320px!important;
  overflow-wrap:normal!important;
  word-break:normal;
  text-wrap:balance;
}
.stadium-hero .eyebrow{letter-spacing:.13em;}

@media(max-width:1000px){
  .history-logo-block{grid-template-columns:140px minmax(0,1fr);gap:32px;}
  .timeline article{grid-template-columns:minmax(150px,180px) minmax(0,1fr);gap:24px;}
}
@media(max-width:720px){
  .history-logo-block{grid-template-columns:1fr;}
  .timeline article{grid-template-columns:1fr;gap:12px;}
  .timeline article>strong{font-size:34px;white-space:normal;}
  .stadium-hero h1{font-size:clamp(44px,13vw,70px)!important;line-height:.92;}
}
@media(min-width:1800px){
  .timeline article{grid-template-columns:240px minmax(0,1fr);gap:48px;}
  .timeline article>strong{font-size:52px;}
  .stadium-hero h1{font-size:clamp(76px,5.6vw,112px)!important;}
}

/* --- Identidade oficial: CDSantacruzense + plantel limpo + footer compacto --- */
.brand-name{
  display:inline-flex;
  align-items:baseline;
  gap:0;
  white-space:nowrap;
  letter-spacing:.045em;
  text-transform:none;
}
.brand-name strong{
  font-weight:950;
  letter-spacing:.02em;
}
.brand-name > span{
  font-weight:500;
  letter-spacing:.035em;
}
.squad-heading{
  display:flex;
  align-items:center;
  margin-bottom:20px;
}
.squad-heading .verified-flag{
  margin:0;
  background:#111;
  color:#fff;
  border-color:#111;
  padding:8px 10px;
}

/* Footer menos alto, mantendo tudo o que interessa */
.footer{padding:42px 0 50px;}
.footer-grid{grid-template-columns:1.65fr repeat(3,1fr);gap:28px;}
.footer-grid>div{gap:5px;}
.footer-logo{width:76px!important;height:84px!important;margin-bottom:4px!important;}
.footer h3{font-size:18px;margin:2px 0 4px;}
.footer h4{margin:0 0 4px;font-size:10px;}
.footer p,.footer a{font-size:12px;line-height:1.45;}
.footer-bottom{margin-top:24px;padding-top:14px;}

@media(max-width:1000px){
  .footer{padding:38px 0 44px;}
  .footer-grid{gap:24px;}
}
@media(max-width:640px){
  .brand-name{font-size:12px!important;letter-spacing:.025em;}
  .brand-name strong{letter-spacing:.01em;}
  .brand-name > span{letter-spacing:.02em;}
  .footer{padding:34px 0 94px;}
  .footer-grid{gap:22px;}
  .footer-logo{width:64px!important;height:72px!important;}
  .footer-bottom{margin-top:20px;padding-top:12px;}
}

/* Branding e nacionalidade dos jogadores */
.brand-name{display:inline-flex;align-items:baseline;white-space:nowrap;}
.brand-name strong{font-weight:900;letter-spacing:.015em;}
.brand-name > span{font-weight:400;}
.nationality-chip{
  display:inline-flex;align-items:center;gap:.38rem;width:max-content;
  font-size:11px;font-weight:800;letter-spacing:.075em;line-height:1;
  padding:.38rem .52rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);
  color:#e8e8e6;background:rgba(255,255,255,.065);text-transform:uppercase;
}
.nationality-flag{font-size:15px;line-height:1;letter-spacing:0;}
.player-profile-copy .nationality-chip{
  color:#111;background:#f4f3ef;border-color:#d6d4ce;padding:.45rem .62rem;
}
.nationality-fact{display:flex;align-items:center;}
.player-facts-dynamic{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.player-card-info .nationality-chip{margin-top:4px;}
@media(max-width:640px){
  .brand-name{font-size:12px!important;}
  .nationality-chip{font-size:9px;padding:.32rem .42rem;}
  .nationality-flag{font-size:13px;}
  .player-facts-dynamic{grid-template-columns:1fr;}
}

/* Retratos do plantel + nacionalidade — revisão oficial */
.player-photo{
  height:auto!important;
  aspect-ratio:4/5;
  position:relative;
}
.player-photo img{
  object-fit:cover;
  object-position:center center;
}
.player-photo > .nationality-compact{
  position:absolute;
  top:12px;
  right:12px;
  z-index:3;
  margin:0;
  color:#fff;
  background:rgba(12,12,12,.82);
  border-color:rgba(255,255,255,.22);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.nationality-full{
  text-transform:none;
  letter-spacing:.01em;
  font-size:14px;
  padding:.42rem .58rem;
  color:#111!important;
  background:transparent!important;
  border:0!important;
  border-radius:0;
}
.nationality-full .nationality-flag{font-size:18px;}
.nationality-fact{display:flex;align-items:center;}
.player-profile-grid{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:clamp(38px,5vw,72px);
}
.profile-photo{
  width:100%;
  max-width:560px;
  aspect-ratio:4/5!important;
}
.profile-photo img{object-position:center center;}
.player-card-info{min-height:84px;align-content:center;}
@media(max-width:1000px){
  .player-profile-grid{grid-template-columns:1fr;}
  .profile-photo{max-width:520px;}
}
@media(max-width:640px){
  .player-photo{height:auto!important;aspect-ratio:4/5;}
  .player-photo > .nationality-compact{top:8px;right:8px;font-size:8px;padding:.3rem .38rem;gap:.28rem;}
  .nationality-full{font-size:13px;padding:.2rem 0;}
  .player-card-info{min-height:72px;}
}


.player-card-nationality{margin:.42rem 0 .18rem;display:flex;justify-content:flex-start;}
.player-card-info .nationality-chip{
  margin:0;
  font-size:10px;
  padding:.32rem .46rem;
  color:#111;
  background:#f2f1ec;
  border-color:#ddd9cf;
}
.player-card-info .nationality-flag{font-size:14px;}
.player-photo img{object-position:center 18%;}
.profile-photo img{object-position:center 12%;}
@media(max-width:640px){
  .player-card-info .nationality-chip{font-size:9px;padding:.28rem .4rem;}
}

/* --- Header v2: identidade de clube, navegação mais forte --- */
.site-header{
  background:rgba(11,11,11,.94);
  border-bottom:1px solid rgba(255,255,255,.09);
  box-shadow:0 10px 36px rgba(0,0,0,.12);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22) 35%,rgba(255,255,255,.22) 65%,transparent);
  pointer-events:none;
}
.header-inner{height:86px;gap:22px;}
.brand{gap:12px;min-width:max-content;transition:opacity .18s ease;}
.brand:hover{opacity:.88;}
.brand-crest{
  width:48px;height:60px;
  display:grid;place-items:center;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  box-shadow:none;
  overflow:visible;
}
.brand .header-logo{width:100%!important;height:100%!important;object-fit:contain;background:transparent!important;}
.brand-copy{display:grid;gap:2px;line-height:1;}
.brand-name{font-size:15px!important;letter-spacing:.02em!important;}
.brand-name strong{font-weight:950;letter-spacing:.005em!important;}
.brand-name>span{font-weight:500;letter-spacing:.012em!important;}
.brand-copy small{
  font-size:8px;
  line-height:1.2;
  color:#888;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.desktop-nav{
  gap:2px;
  margin-left:auto;
  padding:5px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  font-size:12px;
}
.desktop-nav>a,.nav-group>button{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:0 13px!important;
  border-radius:999px;
  opacity:.72;
  font-weight:650;
  letter-spacing:.005em;
  transition:background .18s ease,color .18s ease,opacity .18s ease,transform .18s ease;
}
.desktop-nav>a:hover,.nav-group>button:hover{
  opacity:1;
  background:rgba(255,255,255,.075);
}
.desktop-nav>a.active,.nav-group>button.active{
  opacity:1;
  color:#0b0b0b;
  background:#fff;
  font-weight:800;
}
.desktop-nav>a.active::after{display:none;}
.nav-group>button{padding-block:0!important;}
.nav-chevron{
  width:7px;height:7px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transform-origin:center;
  transition:transform .2s ease;
  opacity:.7;
}
.nav-group:hover .nav-chevron,.nav-group:focus-within .nav-chevron{transform:rotate(225deg) translate(-1px,-1px);}
.subnav{
  display:grid!important;
  top:49px;
  left:50%;
  width:230px;
  padding:8px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(15,15,15,.985);
  box-shadow:0 28px 70px rgba(0,0,0,.44);
  transform:translate(-50%,8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}
.nav-group:hover .subnav,.nav-group:focus-within .subnav{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.subnav::before{
  content:"";
  position:absolute;
  top:-5px;left:50%;
  width:9px;height:9px;
  background:#0f0f0f;
  border-left:1px solid rgba(255,255,255,.11);
  border-top:1px solid rgba(255,255,255,.11);
  transform:translateX(-50%) rotate(45deg);
}
.subnav a{
  position:relative;
  z-index:1;
  padding:10px 11px;
  border-radius:10px;
  color:#cfcfca;
  font-size:12px;
  font-weight:650;
  transition:.16s ease;
}
.subnav a:hover{background:#fff;color:#111;padding-left:14px;}
.desktop-cta{
  margin-left:0;
  min-height:46px;
  padding-inline:20px;
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 8px 26px rgba(0,0,0,.14);
  letter-spacing:.035em;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
.desktop-cta:hover{transform:translateY(-1px);background:#ededeb;color:#0a0a0a;}
.menu-btn{
  position:relative;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.06);
  cursor:pointer;
  transition:.18s ease;
}
.menu-btn:hover{background:rgba(255,255,255,.1);}
.menu-btn span{
  position:absolute;
  left:11px;right:11px;
  height:1.5px;
  margin:0;
  background:#fff;
  transition:transform .22s ease,top .22s ease;
}
.menu-btn span:first-child{top:16px;}
.menu-btn span:last-child{top:24px;}
.menu-btn[aria-expanded="true"] span:first-child{top:20px;transform:rotate(45deg);}
.menu-btn[aria-expanded="true"] span:last-child{top:20px;transform:rotate(-45deg);}
.mobile-menu{
  inset:86px 0 0;
  background:rgba(10,10,10,.985);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-top:1px solid rgba(255,255,255,.06);
}
.mobile-menu-inner{padding-block:24px 110px;}
.mobile-menu-label{
  padding:0 0 10px;
  font-size:9px;
  font-weight:900;
  color:#6f6f6b;
  letter-spacing:.18em;
}
.mobile-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:54px;
  padding:0;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:18px;
  font-weight:680;
  letter-spacing:-.01em;
}
.mobile-menu a::after{content:"↗";font-size:13px;color:#555;}
.mobile-menu a.mobile-socio{color:#111;background:#fff;border-radius:14px;padding:0 15px;margin:14px 0;border:0;font-weight:850;}
.mobile-menu a.mobile-socio::after{display:none;}

@media(max-width:1180px) and (min-width:1001px){
  .brand-copy small{display:none;}
  .brand-crest{width:46px;height:55px;}
  .brand-name{font-size:13px!important;}
  .desktop-nav>a,.nav-group>button{padding-inline:10px!important;}
  .desktop-cta{padding-inline:15px;font-size:10px;}
}
@media(max-width:1000px){
  .header-inner{height:74px;}
  .brand-crest{width:42px;height:52px;}
  .brand-name{font-size:14px!important;}
  .brand-copy small{font-size:7px;letter-spacing:.11em;}
  .mobile-menu{inset:74px 0 0;}
}
@media(max-width:640px){
  .header-inner{height:68px;}
  .brand-crest{width:36px;height:46px;}
  .brand-name{font-size:12px!important;}
  .brand-copy small{display:none;}
  .menu-btn{width:42px;height:42px;}
  .mobile-menu{inset:68px 0 0;}
}
@media(max-width:360px){
  .brand-name{font-size:11px!important;}
}
@media(min-width:1600px){
  .header-inner{height:92px;}
  .brand-crest{width:58px;height:68px;}
  .brand-name{font-size:16px!important;}
  .brand-copy small{font-size:8px;}
  .desktop-nav{font-size:13px;}
  .desktop-nav>a,.nav-group>button{min-height:42px;padding-inline:15px!important;}
}

/* Launch-ready states */
.coming-soon-wrap{
  display:grid;
  gap:22px;
  padding:clamp(28px,4vw,56px);
  border:1px solid var(--border);
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 0%, rgba(0,0,0,.045), transparent 38%),
    #fff;
  box-shadow:0 18px 60px rgba(0,0,0,.045);
}
.coming-soon-wrap.compact{padding:clamp(24px,3vw,38px);}
.coming-soon{max-width:820px;}
.coming-soon-kicker{
  display:inline-block;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#6f6f6a;
}
.coming-soon-line{display:block;width:58px;height:2px;background:#111;margin:18px 0 22px;}
.coming-soon h2{
  margin:0 0 14px;
  max-width:780px;
  font-size:clamp(32px,4.4vw,64px);
  line-height:.98;
  letter-spacing:-.035em;
}
.coming-soon p{margin:0;max-width:720px;color:var(--muted);font-size:clamp(15px,1.25vw,18px);line-height:1.6;}
.social-actions{display:flex;gap:10px;flex-wrap:wrap;}
.launch-news .coming-soon-wrap{background:#f9f8f4;}
.launch-members h2{font-size:clamp(42px,5vw,72px);line-height:.98;margin:.55rem 0 1.2rem;}
.launch-members>div:first-child>p{max-width:620px;color:var(--muted);font-size:17px;line-height:1.6;}
.contact-launch-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;}
.contact-official,.contact-stadium-card{
  min-height:330px;
  padding:clamp(28px,4vw,48px);
  border-radius:22px;
  border:1px solid var(--border);
  background:#fff;
}
.contact-official{display:grid;align-content:start;gap:14px;}
.contact-official h2{font-size:clamp(34px,4vw,58px);line-height:1;margin:.2rem 0 .5rem;}
.contact-official p{max-width:650px;color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 10px;}
.contact-stadium-card{display:grid;align-content:end;background:#111;color:#fff;transition:transform .2s ease,background .2s ease;}
.contact-stadium-card:hover{transform:translateY(-2px);background:#181818;}
.contact-stadium-card .eyebrow{color:#aaa;}
.contact-stadium-card h3{font-size:clamp(30px,3.6vw,52px);line-height:1;margin:.55rem 0 1rem;}
.contact-stadium-card p{color:#b8b8b3;max-width:500px;line-height:1.6;}
.contact-stadium-card .text-link{color:#fff;margin-top:18px;}
.legal-copy h2{font-size:clamp(34px,4vw,54px);}
.legal-copy p{line-height:1.75;}
.match-more-soon{margin-top:22px;}
.match-more-soon .coming-soon{padding:26px 28px;border:1px solid var(--border);border-radius:18px;background:#fff;}
.match-more-soon .coming-soon h2{font-size:clamp(25px,3vw,38px);}
.match-more-soon .coming-soon-line{margin:12px 0 16px;width:42px;}

@media(max-width:900px){
  .contact-launch-grid{grid-template-columns:1fr;}
  .contact-official,.contact-stadium-card{min-height:260px;}
}
@media(max-width:640px){
  .coming-soon-wrap{padding:24px 20px;border-radius:18px;}
  .coming-soon h2{font-size:34px;}
  .social-actions{display:grid;grid-template-columns:1fr;}
  .social-actions .btn{width:100%;justify-content:center;}
  .contact-official,.contact-stadium-card{padding:24px 20px;border-radius:18px;min-height:0;}
  .match-more-soon .coming-soon{padding:22px 18px;}
}

/* Dropdown desktop: abre por hover sem exigir clique e mantém uma ponte de hover até ao submenu. */
@media (min-width:1001px){
  .nav-group{
    display:flex;
    align-items:center;
    min-height:38px;
  }
  .nav-group::after{
    content:"";
    position:absolute;
    z-index:0;
    left:-12px;
    right:-12px;
    top:100%;
    height:18px;
  }
  .nav-group > button{
    cursor:default;
  }
  .subnav{
    top:calc(100% + 10px);
  }
  .nav-group:hover > .subnav,
  .nav-group:focus-within > .subnav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
  }
}


/* --- Revisão final multi-dispositivo --- */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:hidden;
}
body{overflow-x:clip;}
img,svg,video,iframe{max-width:100%;}
main,section,.container,.header-inner,.footer-grid{min-width:0;}
.mobile-menu{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.bottom-nav a{min-height:48px;align-content:center;}

/* Em tablets e portáteis estreitos é mais seguro usar hamburger do que esmagar a navegação. */
@media(max-width:1180px){
  .desktop-nav,.desktop-cta{display:none!important;}
  .menu-btn{display:block!important;}
  .header-inner{height:74px;}
  .mobile-menu{inset:74px 0 0;}
}
@media(max-width:640px){
  .header-inner{height:68px;}
  .mobile-menu{inset:68px 0 0;}
}
@media(max-width:360px){
  .brand-copy{min-width:0;}
  .brand-name{font-size:10.5px!important;}
}
@media(orientation:landscape) and (max-height:600px) and (max-width:1180px){
  .mobile-menu-inner{padding-block:12px 72px;}
  .mobile-menu a{min-height:46px;font-size:16px;}
}

/* --- Calendário visual de jogos --- */
[hidden]{display:none!important;}
.calendar-section{background:#f4f3ef;}
.games-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:28px;
}
.view-switch{
  display:inline-flex;
  padding:4px;
  gap:4px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  box-shadow:0 8px 30px rgba(0,0,0,.035);
}
.view-switch button{
  border:0;
  background:transparent;
  color:#555;
  border-radius:999px;
  padding:10px 17px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.view-switch button.selected{background:#111;color:#fff;}
.calendar-legend{display:flex;align-items:center;gap:16px;color:#666;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;}
.calendar-legend span{display:inline-flex;align-items:center;gap:7px;}
.calendar-legend i{width:12px;height:12px;border-radius:4px;display:inline-block;}
.legend-home{background:#111;}
.legend-away{background:#fff;border:2px solid #111;}
.season-calendar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.calendar-month{
  min-width:0;
  background:#fff;
  border:1px solid var(--border);
  border-radius:22px;
  padding:20px;
  box-shadow:0 18px 50px rgba(0,0,0,.04);
}
.calendar-month-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:18px;}
.calendar-month-head h3{margin:4px 0 0;font-size:clamp(24px,2.4vw,34px);line-height:1;text-transform:capitalize;letter-spacing:-.025em;}
.calendar-month-head>span{font-size:10px;color:#777;font-weight:800;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;}
.calendar-weekdays{margin-bottom:6px;}
.calendar-weekdays span{text-align:center;font-size:8px;font-weight:900;letter-spacing:.08em;color:#8b8b86;}
.calendar-day{
  position:relative;
  min-width:0;
  aspect-ratio:1/1;
  border-radius:11px;
  background:#f8f8f5;
  border:1px solid transparent;
  padding:7px;
  overflow:hidden;
}
.calendar-day-empty{background:transparent;border-color:transparent;}
.calendar-date{position:relative;z-index:2;font-size:10px;font-weight:900;color:#858580;line-height:1;}
.calendar-match{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  color:#111;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.calendar-match:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12);}
.calendar-match.is-home{background:#111;border-color:#111;color:#fff;}
.calendar-match.is-home .calendar-date{color:#fff;}
.calendar-match.is-away{background:#fff;border-color:#111;}
.calendar-match-content{display:grid;justify-items:center;align-content:end;gap:3px;min-width:0;}
.calendar-crest{width:27px!important;height:27px!important;min-width:27px!important;border-radius:7px!important;padding:2px!important;background:rgba(255,255,255,.95)!important;}
.calendar-crest img{max-width:100%;max-height:100%;object-fit:contain;}
.calendar-opponent{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:8px;font-weight:900;line-height:1.05;}
.calendar-match-content small{font-size:6px;font-weight:900;letter-spacing:.09em;opacity:.62;}
.calendar-match.is-home .calendar-match-content small{color:#fff;opacity:.62;}
.calendar-match.is-home .calendar-opponent{color:#fff;}
.calendar-match.is-away .calendar-opponent{color:#111;}
[data-games-panel="list"] .tools-row{margin-top:0;margin-bottom:18px;}

@media(min-width:1700px){
  .season-calendar{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:1050px){
  .season-calendar{grid-template-columns:1fr;}
  .calendar-month{max-width:760px;width:100%;margin-inline:auto;}
  .calendar-day{aspect-ratio:auto;min-height:78px;}
  .calendar-crest{width:30px!important;height:30px!important;}
}
@media(max-width:640px){
  .games-toolbar{align-items:flex-start;gap:14px;margin-bottom:20px;}
  .calendar-legend{gap:9px;font-size:9px;padding-top:9px;}
  .calendar-month{padding:13px;border-radius:17px;}
  .calendar-month-head{margin-bottom:14px;}
  .calendar-month-head h3{font-size:25px;}
  .calendar-weekdays,.calendar-grid{gap:3px;}
  .calendar-weekdays span{font-size:7px;}
  .calendar-day{padding:5px;border-radius:8px;min-height:54px;aspect-ratio:auto;}
  .calendar-date{font-size:9px;}
  .calendar-crest{width:22px!important;height:22px!important;min-width:22px!important;border-radius:5px!important;}
  .calendar-opponent{display:none;}
  .calendar-match-content{gap:2px;}
  .calendar-match-content small{font-size:5.5px;}
  .view-switch button{padding:9px 13px;font-size:11px;}
}
@media(max-width:380px){
  .calendar-legend{display:none;}
  .games-toolbar{justify-content:flex-start;}
  .calendar-month{padding:10px;}
  .calendar-day{min-height:48px;padding:4px;}
  .calendar-crest{width:20px!important;height:20px!important;min-width:20px!important;}
}

/* --- MOBILE FINAL: menu viewport + tipografia segura --- */
@media(max-width:1180px){
  .site-header{z-index:80;}
  .menu-btn{z-index:82;touch-action:manipulation;}
  .mobile-menu{
    position:fixed;
    z-index:70;
    top:74px;
    right:0;
    bottom:0;
    left:0;
    inset:auto 0 0 0;
    height:calc(100vh - 74px);
    height:calc(100dvh - 74px);
    background:#0a0a0a;
    color:#fff;
    border-top:1px solid rgba(255,255,255,.07);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .mobile-menu-inner{
    min-height:100%;
    align-content:start;
    padding-top:22px;
    padding-bottom:max(96px,calc(72px + env(safe-area-inset-bottom)));
  }
  body.menu-open .bottom-nav{visibility:hidden;pointer-events:none;}
}

@media(max-width:640px){
  .mobile-menu{top:68px;height:calc(100vh - 68px);height:calc(100dvh - 68px);}
  .page-hero{padding:52px 0 46px;}
  .page-hero .container{min-width:0;}
  .page-hero h1{
    max-width:100%;
    margin:10px 0 16px;
    font-size:clamp(36px,11.3vw,50px)!important;
    line-height:.94!important;
    letter-spacing:-.008em;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none;
  }
  .page-hero p{font-size:15px;line-height:1.55;}
  .mobile-menu a{min-height:52px;font-size:17px;}
  .mobile-menu-label{padding-bottom:6px;}
  .bottom-nav{
    padding-top:5px;
    padding-bottom:max(5px,env(safe-area-inset-bottom));
  }
  .bottom-nav a{min-height:44px;font-size:15px;}
  .bottom-nav span{font-size:9px;}
}

@media(max-width:360px){
  .page-hero h1{font-size:clamp(34px,10.9vw,40px)!important;}
  .page-hero{padding-top:44px;}
}

@media(max-width:640px){
  .page-hero-long h1{font-size:clamp(32px,9.7vw,42px)!important;line-height:.97!important;}
}
@media(max-width:360px){
  .page-hero-long h1{font-size:clamp(30px,9.3vw,34px)!important;}
}


/* --- Mobile nav: menu completo + atalhos essenciais --- */
@media(max-width:1180px){
  .mobile-menu-inner{display:flex;flex-direction:column;}
  .mobile-menu-nav{display:grid;}
  .mobile-menu-nav > .mobile-main-link,
  .mobile-menu-group > summary{
    min-height:56px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:0;
    border-bottom:1px solid rgba(255,255,255,.085);
    color:#f5f5f2;
    font-size:18px;
    font-weight:720;
    letter-spacing:-.015em;
  }
  .mobile-menu-nav > .mobile-main-link::after{display:none!important;}
  .mobile-menu-nav > .mobile-main-link.active{color:#fff;font-weight:900;}
  .mobile-menu-nav > .mobile-main-link.active::before{
    content:"";
    width:4px;height:4px;border-radius:50%;background:#fff;
    position:absolute;
    transform:translateX(-12px);
  }
  .mobile-link-mark{font-size:12px;color:#666;}
  .mobile-menu-group{border:0;}
  .mobile-menu-group > summary{cursor:pointer;list-style:none;user-select:none;}
  .mobile-menu-group > summary::-webkit-details-marker{display:none;}
  .mobile-group-chevron{
    width:9px;height:9px;
    border-right:1.5px solid #777;
    border-bottom:1.5px solid #777;
    transform:rotate(45deg) translate(-2px,-2px);
    transition:transform .2s ease;
    margin-right:4px;
  }
  .mobile-menu-group[open] > summary .mobile-group-chevron{transform:rotate(225deg) translate(-1px,-1px);}
  .mobile-menu-sub{
    display:grid;
    padding:7px 0 12px 18px;
    border-bottom:1px solid rgba(255,255,255,.085);
    background:rgba(255,255,255,.025);
  }
  .mobile-menu-sub a{
    min-height:44px!important;
    padding:0!important;
    border:0!important;
    font-size:15px!important;
    font-weight:570!important;
    color:#bdbdb8;
  }
  .mobile-menu-sub a::after{content:"↗";font-size:11px;color:#50504d;}
  .mobile-menu-sub a:hover,.mobile-menu-sub a:focus-visible{color:#fff;}
  .mobile-menu-cta{
    margin-top:auto;
    padding-top:26px;
    display:grid;
    gap:10px;
  }
  .mobile-menu-cta::before{
    content:"";
    height:1px;
    background:rgba(255,255,255,.1);
    margin-bottom:8px;
  }
  .mobile-menu-cta-label{
    font-size:9px;
    font-weight:900;
    letter-spacing:.18em;
    color:#777;
  }
  .mobile-menu a.mobile-socio{
    min-height:52px!important;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0!important;
    padding:0 18px!important;
    border-radius:13px;
    background:#fff;
    color:#111;
    border:0!important;
    font-size:13px!important;
    font-weight:900!important;
    letter-spacing:.05em;
  }
  .mobile-menu a.mobile-socio::after{display:none!important;}
}

@media(max-width:640px){
  .bottom-nav{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    padding:7px 8px max(7px,env(safe-area-inset-bottom))!important;
    gap:2px;
  }
  .bottom-nav a{
    min-height:52px!important;
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    border-radius:10px;
    color:#a9a9a5;
    transition:background .18s ease,color .18s ease;
  }
  .bottom-nav a.active{color:#fff;background:rgba(255,255,255,.07);}
  .bottom-nav svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .bottom-nav span{
    margin:0!important;
    font-size:10px!important;
    font-weight:650;
    color:inherit!important;
    line-height:1.1;
  }
}
/* Notícias, equipa técnica e posters da época */
.news-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;color:inherit;transition:transform .2s,box-shadow .2s}.news-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #00000012}.news-card>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;background:#ecebe6}.news-card-body{padding:18px}.news-card-meta,.article-news-meta{display:flex;justify-content:space-between;gap:12px;color:#777;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.news-card h3{margin:12px 0 8px;font-size:24px;line-height:1.04}.news-card p{margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.45}.news-card .text-link{font-size:11px}.news-cards-home .news-card:nth-child(1){background:#111;color:#fff}.news-cards-home .news-card:nth-child(1) p{color:#c7c7c1}.article-news{padding-top:66px;padding-bottom:100px}.article-news-meta{max-width:880px;margin:0 auto 22px}.article-news .article-image{display:block;width:100%;max-width:880px;height:auto;object-fit:contain;margin:0 auto 34px}.article-news p{max-width:760px;margin:0 auto 18px;font-size:19px;line-height:1.65}.staff-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}.staff-poster{display:block;width:100%;height:auto;object-fit:contain;background:#eee}.staff-copy h2{font-size:clamp(44px,5vw,78px);line-height:.91;letter-spacing:-.05em;margin:12px 0 24px}.staff-copy>p{max-width:570px;color:var(--muted);font-size:18px;line-height:1.5}.staff-members{display:grid;gap:0;margin-top:36px;border-top:1px solid var(--border)}.staff-members article{padding:20px 0;border-bottom:1px solid var(--border)}.staff-members span{font-size:10px;color:#777;font-weight:900;letter-spacing:.08em}.staff-members h3{margin:5px 0;font-size:25px}.staff-members p{margin:0;color:var(--muted);line-height:1.45}.player-photo{overflow:hidden}.player-photo img{width:100%;height:100%;object-fit:cover;object-position:center 29%;transform:scale(1.6);transform-origin:center 30%}.profile-photo img{transform:scale(1.5);object-position:center 29%}
@media(max-width:1000px){.staff-layout{gap:35px}.news-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.news-cards{grid-template-columns:1fr}.news-card>img{aspect-ratio:auto}.article-news{padding-top:42px}.article-news p{font-size:17px}.staff-layout{grid-template-columns:1fr;gap:38px}.staff-poster{max-width:620px;margin:auto}.staff-copy h2{font-size:54px}.player-photo img{transform:scale(1.55)}}
.pedro-photo img{transform:scale(1.9);object-position:center 38%}
.data-loading{padding:14px 0;color:var(--muted);font-size:13px}
.data-notice{margin:14px 0;padding:10px 12px;border-left:3px solid #c58b21;background:#fff7e5;color:#5e4a25;font-size:12px;line-height:1.45;border-radius:0 8px 8px 0}
.hero-copy .data-notice{background:#24231f;color:#e5d5ad;border-color:#e6b847}
.match-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;background:#efefeb;color:#555;font-size:9px;font-weight:800;line-height:1.25;letter-spacing:.025em}
.status-scheduled{background:#efefeb;color:#555}
.status-awaiting{background:#fff2d6;color:#735317}
.status-live{background:#fde8e8;color:#9a2d2d}
.status-postponed{background:#fff2d6;color:#735317}
.status-cancelled{background:#eee;color:#777}
.status-finished{background:#e8f2e9;color:#315f37}
.calendar-match .calendar-status{font-size:5.5px;line-height:1.2;text-align:center}
.calendar-match.is-home .calendar-status{color:#e7e7e2;opacity:.8}
@media(max-width:640px){.match-status{font-size:8px;padding:4px 7px}.data-notice{font-size:11px}}


/* Mini-jogos Desafios do Santa */
.play-promo{background:#e9e8e2;padding-top:58px;padding-bottom:58px}
.play-promo-inner{display:flex;align-items:end;justify-content:space-between;gap:28px}
.play-promo h2{font-size:clamp(38px,5vw,68px);line-height:.92;margin:10px 0 12px;letter-spacing:-.05em}
.play-promo p,.play-intro p{margin:0;color:var(--muted);font-size:17px}
.play-grid{display:grid;gap:16px}.play-grid-main{grid-template-columns:repeat(4,1fr)}.play-grid-reflex{grid-template-columns:repeat(3,1fr)}
.play-card{display:flex;flex-direction:column;justify-content:space-between;min-height:330px;padding:28px;background:#fff;color:var(--text);border:1px solid var(--border);border-radius:18px;transition:transform .2s,box-shadow .2s,border-color .2s}
.play-card:hover{transform:translateY(-4px);border-color:#222;box-shadow:0 14px 30px rgba(0,0,0,.08)}
.play-card-featured{background:#111;color:#fff;min-height:390px}
.play-card-featured{grid-column:span 2}.play-card-disabled{cursor:default;opacity:.78}.play-card-disabled:hover{transform:none;box-shadow:none;border-color:var(--border)}.play-card-disabled .text-link{color:#777}
.play-card-number{font-size:12px;font-weight:900;letter-spacing:.1em;color:#888}
.play-card-featured .play-card-number{color:#aaa}
.play-card .eyebrow{color:#777}
.play-card-featured .eyebrow{color:#bdbdb8}
.play-card h2{font-size:clamp(30px,3.2vw,48px);line-height:.94;letter-spacing:-.045em;margin:12px 0 16px}
.play-card p{max-width:300px;color:var(--muted);line-height:1.45;margin:0 0 28px}
.play-card-featured p{color:#c7c7c1}
.play-card .text-link{font-size:11px}
.play-intro{max-width:650px;margin-bottom:52px}
.play-intro h2{font-size:clamp(42px,6vw,76px);line-height:.9;letter-spacing:-.05em;margin:10px 0 14px}
.play-category+.play-category{margin-top:76px}.play-category-head{display:flex;align-items:baseline;gap:14px;margin-bottom:24px;flex-wrap:wrap}.play-category-head h2{font-size:clamp(28px,4vw,48px);line-height:.95;letter-spacing:-.04em;margin:0}.play-category-head p{width:100%;margin:-10px 0 0 42px;color:var(--muted);font-size:15px}
.play-placeholder{max-width:820px;margin:auto;text-align:center}
.play-placeholder .coming-soon{margin-bottom:26px}

.penalties-game{width:100%;max-width:1040px;margin-inline:auto;background:#fff;border:1px solid var(--border);border-radius:24px;padding:clamp(20px,4vw,42px);box-shadow:0 18px 45px rgba(0,0,0,.06);outline:none}
.penalties-game:focus-visible{box-shadow:0 0 0 4px rgba(215,25,32,.22),0 18px 45px rgba(0,0,0,.06)}
.penalties-game-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}
.penalties-game-head h2{font-size:clamp(38px,5vw,70px);line-height:.9;letter-spacing:-.05em;margin:10px 0 14px}
.penalties-game-head p{max-width:620px;color:var(--muted);margin:0;line-height:1.45}
.penalties-keyboard-help{display:block;margin-top:8px;color:#777;font-size:12px}
.penalties-score{display:grid;gap:5px;min-width:130px;padding:16px 18px;background:#111;color:#fff;border-radius:14px;text-align:right}
.penalties-score span,.penalties-score small{font-size:10px;color:#aaa;letter-spacing:.1em;font-weight:800}.penalties-score strong{font-size:32px;line-height:1}
.penalties-stage{position:relative;overflow:hidden;border-radius:16px;background:#b9c6b0;touch-action:none;user-select:none}
.penalties-stage canvas{display:block;width:100%;height:auto;aspect-ratio:25/14;cursor:crosshair}
.penalties-stage canvas.is-dragging{cursor:grabbing}
.penalties-stage-caption{position:absolute;left:16px;right:16px;bottom:14px;display:flex;justify-content:space-between;gap:15px;color:#fff;text-shadow:0 1px 3px #000;font-weight:800;font-size:12px;pointer-events:none}
.penalties-status{text-align:right}.penalties-status.golo{color:#1d7d46}.penalties-status.defesa,.penalties-status.fora{color:#c5161d}
.penalties-force{position:absolute;left:16px;top:16px;display:flex;align-items:center;gap:8px;color:#fff;text-shadow:0 1px 3px #000;font-size:10px;font-weight:900;letter-spacing:.1em;pointer-events:none}.penalties-force-track{width:100px;height:8px;border:1px solid rgba(255,255,255,.8);border-radius:99px;overflow:hidden;background:rgba(0,0,0,.25)}.penalties-force-track i{display:block;width:0;height:100%;background:#d71920;transition:width .08s linear}.penalties-force strong{min-width:30px;font-size:10px}
.penalties-results{display:flex;justify-content:center;gap:clamp(6px,1.2vw,16px);margin:24px 0}.penalties-results span{display:grid;place-items:center;width:clamp(48px,6vw,92px);height:clamp(48px,6vw,92px);padding:4px;border:2px solid #d1d0ca;border-radius:50%;font-size:clamp(8px,1vw,13px);font-weight:900;color:#999;text-align:center}.penalties-results span.is-current{border-color:#111;color:#111;box-shadow:0 0 0 3px #1112}.penalties-results span.is-scored{background:#1d7d46;color:#fff;border-color:#1d7d46}.penalties-results span.is-missed{background:#c5161d;color:#fff;border-color:#c5161d}
.penalties-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.penalties-actions .btn{min-width:190px;justify-content:center}

.penalties-game-head p,.penalties-keyboard-help{display:none}

@media(max-width:1000px){.play-grid-main,.play-grid-reflex{grid-template-columns:1fr 1fr}.play-card-featured{grid-column:1/-1;min-height:300px}.play-promo-inner{align-items:start;flex-direction:column}}
@media(max-width:640px){.play-promo{padding-top:50px;padding-bottom:50px}.play-promo h2{font-size:42px}.play-promo .btn{width:100%;justify-content:center}.play-grid{grid-template-columns:1fr}.play-card-featured{grid-column:auto;min-height:330px}.play-card{min-height:270px;padding:22px}.play-intro{margin-bottom:30px}}
/* Mister do Santa */
.mister-section{padding-top:54px}
.mister-game{max-width:1120px;margin:auto}
.mister-intro{max-width:680px;margin-bottom:30px}
.mister-intro h2{font-size:clamp(38px,6vw,72px);line-height:.92;letter-spacing:-.05em;margin:10px 0 14px}
.mister-intro p,.mister-draft>p,.mister-progress p{color:var(--muted);margin:0;line-height:1.45}
.mister-formation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mister-formation{border:1px solid var(--border);background:#fff;border-radius:14px;padding:20px;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s}
.mister-formation:hover,.mister-formation:focus-visible{transform:translateY(-3px);border-color:#111}
.mister-formation strong{display:block;font-size:27px;letter-spacing:-.03em}
.mister-formation span{display:block;margin-top:8px;color:var(--muted);font-size:11px}
.mister-progress{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.mister-progress h2{font-size:clamp(34px,5vw,62px);line-height:.92;letter-spacing:-.05em;margin:8px 0 10px}
.mister-progress>strong{font-size:18px;padding:10px 13px;background:#111;color:#fff;border-radius:4px}
.mister-pitch-wrap{max-width:720px;margin:0 auto 36px;padding:14px;background:#111;border-radius:18px}
.mister-pitch{position:relative;isolation:isolate;aspect-ratio:3/4;overflow:hidden;border:2px solid rgba(255,255,255,.45);border-radius:10px;background:linear-gradient(180deg,#3d9653,#246b3c)}
.mister-pitch::before{content:"";position:absolute;z-index:-1;inset:10% 10%;border:2px solid rgba(255,255,255,.3);border-radius:4px}
.mister-pitch::after{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:30%;aspect-ratio:1;border:2px solid rgba(255,255,255,.22);border-radius:50%;transform:translate(-50%,-50%)}
.mister-slot{position:absolute;z-index:1;transform:translate(-50%,-50%);width:82px;min-height:76px;padding:5px 4px;border:1px solid rgba(255,255,255,.32);border-radius:9px;background:rgba(8,8,8,.7);color:#fff;display:grid;justify-items:center;align-content:center;gap:3px;text-align:center}
.mister-slot:disabled{opacity:.9}
.mister-slot-role{font-size:8px;color:#cfcfc9;font-weight:900;letter-spacing:.08em}
.mister-slot-avatar{width:32px;height:32px;overflow:hidden;border-radius:50%;background:#eee;color:#111;display:grid;place-items:center;font-size:8px;font-weight:900}
.mister-slot-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.mister-slot-433-0{left:50%;top:88%}.mister-slot-433-1{left:16%;top:66%}.mister-slot-433-2{left:39%;top:70%}.mister-slot-433-3{left:61%;top:70%}.mister-slot-433-4{left:84%;top:66%}.mister-slot-433-5{left:28%;top:46%}.mister-slot-433-6{left:50%;top:51%}.mister-slot-433-7{left:72%;top:46%}.mister-slot-433-8{left:22%;top:20%}.mister-slot-433-9{left:50%;top:14%}.mister-slot-433-10{left:78%;top:20%}
.mister-slot-442-0{left:50%;top:88%}.mister-slot-442-1{left:16%;top:66%}.mister-slot-442-2{left:39%;top:70%}.mister-slot-442-3{left:61%;top:70%}.mister-slot-442-4{left:84%;top:66%}.mister-slot-442-5{left:17%;top:45%}.mister-slot-442-6{left:39%;top:50%}.mister-slot-442-7{left:61%;top:50%}.mister-slot-442-8{left:83%;top:45%}.mister-slot-442-9{left:35%;top:18%}.mister-slot-442-10{left:65%;top:18%}
.mister-slot-4231-0{left:50%;top:88%}.mister-slot-4231-1{left:16%;top:66%}.mister-slot-4231-2{left:39%;top:70%}.mister-slot-4231-3{left:61%;top:70%}.mister-slot-4231-4{left:84%;top:66%}.mister-slot-4231-5{left:34%;top:52%}.mister-slot-4231-6{left:66%;top:52%}.mister-slot-4231-7{left:20%;top:31%}.mister-slot-4231-8{left:50%;top:35%}.mister-slot-4231-9{left:80%;top:31%}.mister-slot-4231-10{left:50%;top:14%}
.mister-slot-352-0{left:50%;top:88%}.mister-slot-352-1{left:25%;top:68%}.mister-slot-352-2{left:50%;top:72%}.mister-slot-352-3{left:75%;top:68%}.mister-slot-352-4{left:12%;top:46%}.mister-slot-352-5{left:31%;top:52%}.mister-slot-352-6{left:50%;top:48%}.mister-slot-352-7{left:69%;top:52%}.mister-slot-352-8{left:88%;top:46%}.mister-slot-352-9{left:35%;top:18%}.mister-slot-352-10{left:65%;top:18%}
.mister-slot strong{max-width:76px;font-size:9px;line-height:1.05}
.mister-slot-empty{font-size:22px;color:#aaa}
.mister-slot.is-compatible{border-color:#fff;background:#d71920;box-shadow:0 0 0 4px rgba(255,255,255,.28),0 0 22px rgba(215,25,32,.7);cursor:pointer;animation:mister-pulse 1.3s ease-in-out infinite}
.mister-slot.is-moving{border-color:#d71920;box-shadow:0 0 0 3px rgba(215,25,32,.35)}
.mister-change-position{font-size:7px;letter-spacing:.06em;color:#f0b2b2}
.mister-captain-mark{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#d71920;color:#fff;font-size:12px}
.mister-draft{padding-top:18px}
.mister-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.mister-player-card{display:grid;grid-template-columns:84px 1fr;grid-template-rows:1fr auto;column-gap:14px;align-items:end;padding:12px;text-align:left;border:1px solid var(--border);border-radius:16px;background:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s}
.mister-player-card:hover,.mister-player-card:focus-visible{transform:translateY(-3px);border-color:#111;box-shadow:0 10px 24px rgba(0,0,0,.08)}
.mister-card-photo{grid-row:1 / span 2;width:84px;height:112px;display:grid;place-items:center;overflow:hidden;background:#222;color:#aaa;border-radius:10px}
.mister-card-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.mister-player-card strong{align-self:end;font-size:18px;line-height:1.05}
.mister-player-card small{align-self:start;margin-top:6px;color:var(--muted);font-size:11px}
.mister-final-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.mister-final-actions .btn{justify-content:center}
.mister-final-actions [data-save-mister]{display:inline-flex!important}
.mister-final-actions [data-copy-mister]{display:none!important}
.mister-placement-help{text-align:center;margin-top:24px}.mister-placement-help p{color:var(--muted);margin:7px 0 16px}.mister-share-status{min-height:22px;margin:16px 0 0;color:var(--muted);text-align:center;font-size:13px}
@keyframes mister-pulse{50%{transform:translate(-50%,-50%) scale(1.04)}}
@media(max-width:1000px){.mister-formation-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .mister-section{padding-top:34px}.mister-progress{align-items:start}.mister-progress h2{font-size:38px}.mister-progress>strong{font-size:14px}
  .mister-pitch-wrap{padding:8px;border-radius:14px}.mister-slot{width:62px;min-height:62px;padding:3px}.mister-slot-avatar{width:27px;height:27px}.mister-slot strong{max-width:58px;font-size:7px}.mister-slot-role{font-size:7px}
  .mister-cards{grid-template-columns:1fr;gap:10px}.mister-player-card{min-height:116px}.mister-card-photo{width:88px;height:110px}.mister-final-actions{display:grid}.mister-final-actions .btn{width:100%}
}
@media(max-width:640px){
  .mister-progress{margin-bottom:16px}.mister-progress p{font-size:16px}
  .mister-pitch-wrap{max-width:none;margin-bottom:24px}
  .mister-game:has(.mister-draft) .mister-pitch-wrap{display:none}
  .mister-game:has(.mister-draft) .mister-draft{padding-top:0}
  .mister-game:has(.mister-placement-help) .mister-draft{display:none}
  .mister-game:has(.mister-placement-help) .mister-pitch-wrap{margin-bottom:18px}
  .mister-game:has(.mister-placement-help) .mister-pitch{min-height:0}
  .mister-game:has(.mister-placement-help) .mister-slot{width:68px;min-height:68px;z-index:5;pointer-events:auto;touch-action:manipulation}
}
@media(prefers-reduced-motion:reduce){.mister-formation,.mister-player-card,.mister-slot.is-compatible{transition:none;animation:none}}
