/* V3.4 presentation components: modern sans-serif hierarchy, text-only sports discovery, consistent spacing. */
body.ev3-app{font-family:var(--ev3-body-font);font-size:clamp(16px,1.05vw,18px);line-height:1.64}
body.ev3-app .ev3-container{max-width:var(--ev3-max,1320px)}
body.ev3-app .ev3-section{padding-block:clamp(68px,7vw,112px)}
body.ev3-app .ev3-section-head{margin-bottom:clamp(24px,3vw,40px)}
body.ev3-app .ev3-section-description{max-width:70ch;font-size:clamp(16px,1.1vw,18px);line-height:1.7}
body.ev3-app .ev3-hero{padding-block:clamp(60px,6vw,110px) clamp(68px,6vw,106px)}
body.ev3-app .ev3-hero-grid{gap:clamp(26px,3.6vw,62px);align-items:center}
body.ev3-app .ev3-hero-copy{max-width:660px}
body.ev3-app .ev3-hero h1{font-family:var(--ev3-display-font);font-size:calc(clamp(50px,5.8vw,96px)*var(--ev3-heading-scale));font-weight:800;letter-spacing:-.074em;line-height:1.02}
body.ev3-app .ev3-hero h1 em,body.ev3-app .ev3-section h2 em,body.ev3-app .ev3-vision h2 em{font-style:normal;font-family:var(--ev3-display-font);font-weight:800;letter-spacing:-.064em;background:linear-gradient(110deg,#fff1cb 0%,var(--ev3-gold) 42%,#c9935f 94%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--ev3-gold);text-shadow:none}
body.ev3-app .ev3-hero h1 em{background:linear-gradient(115deg,#a9ffed 5%,var(--ev3-mint) 45%,#6baafa 100%);-webkit-background-clip:text;background-clip:text;color:var(--ev3-mint)}
body.ev3-app .ev3-eyebrow{font-size:clamp(12px,.95vw,14px);letter-spacing:.16em}
body.ev3-app .ev3-lead{font-size:clamp(16px,1.1vw,18px);line-height:1.75}
body.ev3-app .ev3-hero-signals{display:none}
body.ev3-app .ev3-sports{background:linear-gradient(180deg,#071322,#050d1b)}
body.ev3-app .evx-v33-sports-directory{max-width:100%}
body.ev3-app .evx-v33-filters{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(170px,1fr) minmax(140px,.65fr) auto;gap:clamp(12px,1.2vw,18px);padding:clamp(18px,2.2vw,28px);margin-bottom:24px;border-color:#72d7d740;border-radius:18px;background:linear-gradient(135deg,#101c30,#0a1727)}
body.ev3-app .evx-v33-filters label{font-size:14px;color:#dbe9f2}
body.ev3-app .evx-v33-filters input,body.ev3-app .evx-v33-filters select{font-size:15px;min-height:49px}
body.ev3-app .evxe-sport-grid.evx-v33-sport-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.3vw,18px);width:100%}
body.ev3-app .evx-v33-sport-card.evxe-sport-card{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0;min-height:153px;padding:clamp(17px,1.6vw,25px);border-radius:17px;border:1px solid #8be3d72b;background:radial-gradient(ellipse at 89% 15%,#5c89c621,transparent 45%),linear-gradient(137deg,#102339,#101b32);transition:transform .23s ease,border-color .23s ease,background .23s ease;box-shadow:inset 0 1px #ffffff0b}
body.ev3-app .evx-v33-sport-card.evxe-sport-card:nth-child(2n){background:radial-gradient(ellipse at 88% 12%,#9574d61e,transparent 46%),linear-gradient(137deg,#17223a,#10192d)}
body.ev3-app .evx-v33-sport-card.evxe-sport-card:hover,body.ev3-app .evx-v33-sport-card.evxe-sport-card:focus-visible{transform:translateY(-4px);border-color:#9bf8df7d;background:linear-gradient(135deg,#18364a,#18273d)}
body.ev3-app .evx-v33-sport-card .evxe-sport-icon{display:none}
body.ev3-app .evx-v33-sport-card .evxe-sport-index{max-width:100%;font-size:12px;letter-spacing:.12em;color:#8af8e1;line-height:1.4}
body.ev3-app .evx-v33-sport-card .evxe-sport-title{display:block;position:relative;margin:22px 32px 0 0;font:800 clamp(18px,1.8vw,27px)/1.18 var(--ev3-display-font);letter-spacing:-.047em;text-transform:uppercase;max-width:100%;overflow-wrap:anywhere}
body.ev3-app .evx-v33-sport-card .evxe-sport-arrow{right:20px;bottom:22px;color:#8dfce0;font-size:19px}
body.ev3-app .ev3-athlete-card{transition:transform .22s ease,box-shadow .22s ease}
body.ev3-app .ev3-athlete-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px #0006}
body.ev3-app .ev3-sport-placeholder,body.ev3-app .evxe-featured-fallback.ev3-sport-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:180px;font:800 clamp(85px,10vw,180px)/1 var(--ev3-display-font);letter-spacing:-.12em;color:#b4fff1aa;background:radial-gradient(ellipse at 50% 40%,#2a627766,#12233c 72%);text-shadow:0 0 65px #64ffdb33}
body.ev3-app .ev3-profile-art .ev3-sport-placeholder{min-height:380px}
body.ev3-app .ev3-athlete-card .ev3-card-sport{font-size:13px}
body.ev3-app .ev3-athlete-card h3{font-size:clamp(21px,1.6vw,26px)}
body.ev3-app .ev3-card-bottom{font-size:13px}
body.ev3-app .ev3-tree-page{max-width:none}
body.ev3-app .ev322-tree-container{max-width:min(1500px,calc(100% - 54px))}
body.ev3-app .ev322-expanded-tree{max-width:min(1320px,100%);margin-inline:auto}
body.ev3-app .ev3-page-hero h1{font-family:var(--ev3-display-font);font-weight:800}
body.ev3-app .ev3-article-body{font-size:clamp(16px,1.1vw,19px)}
body.ev3-app .ev3-story h3{font-family:var(--ev3-display-font);font-size:clamp(20px,1.5vw,25px)}
@media(max-width:1040px){body.ev3-app .evx-v33-filters{grid-template-columns:repeat(2,minmax(0,1fr))}body.ev3-app .evxe-sport-grid.evx-v33-sport-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){body.ev3-app .evx-v33-filters{grid-template-columns:1fr 1fr}body.ev3-app .evx-v33-filters label:first-child{grid-column:1/-1}body.ev3-app .evx-v33-filters [data-evx-v33-count]{grid-column:1/-1}body.ev3-app .evxe-sport-grid.evx-v33-sport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.ev3-app .evx-v33-sport-card.evxe-sport-card{min-height:145px;padding:16px}body.ev3-app .evx-v33-sport-card .evxe-sport-title{font-size:clamp(17px,4.2vw,22px)}body.ev3-app .ev3-hero h1{font-size:calc(clamp(44px,11vw,72px)*var(--ev3-heading-scale))}body.ev3-app .ev322-tree-container{max-width:calc(100% - 24px)}}
@media(max-width:420px){body.ev3-app .evx-v33-filters{grid-template-columns:1fr}body.ev3-app .evx-v33-filters label:first-child,body.ev3-app .evx-v33-filters [data-evx-v33-count]{grid-column:auto}body.ev3-app .evx-v33-sport-card .evxe-sport-title{font-size:17px}body.ev3-app .ev3-hero h1{font-size:calc(clamp(42px,10.5vw,60px)*var(--ev3-heading-scale))}}
@media(prefers-reduced-motion:reduce){body.ev3-app .evx-v33-sport-card.evxe-sport-card,body.ev3-app .ev3-athlete-card{transition:none}}
/* Purposeful motion language: one-time hero choreography and controlled accent movement. */
body.ev3-app .ev3-hero-copy>.ev3-eyebrow{animation:evx34-arrive .65s ease-out both}
body.ev3-app .ev3-hero-copy>h1{animation:evx34-arrive .84s .10s ease-out both}
body.ev3-app .ev3-hero-copy>.ev3-lead{animation:evx34-arrive .77s .22s ease-out both}
body.ev3-app .ev3-hero-copy>.ev3-buttons{animation:evx34-arrive .77s .34s ease-out both}
body.ev3-app .ev3-hero-visual{animation:evx34-art-arrive .95s .10s ease-out both}
body.ev3-app .ev3-hero h1 em{background-size:170% 100%;animation:evx34-shift 9s ease-in-out infinite alternate}
@keyframes evx34-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes evx34-art-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes evx34-shift{from{background-position:0% 50%}to{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){body.ev3-app .ev3-hero-copy>.ev3-eyebrow,body.ev3-app .ev3-hero-copy>h1,body.ev3-app .ev3-hero-copy>.ev3-lead,body.ev3-app .ev3-hero-copy>.ev3-buttons,body.ev3-app .ev3-hero-visual,body.ev3-app .ev3-hero h1 em{animation:none}}

/* The dedicated monument page shows the tree promptly, not after an oversized text hero. */
body.ev3-app .ev322-tree-main .ev322-tree-heading{padding-block:clamp(35px,3.6vw,65px) clamp(14px,2vw,28px)}
body.ev3-app .ev322-tree-main .ev3-page-hero h1{font-size:clamp(45px,5.4vw,82px)}
body.ev3-app .ev322-tree-section{padding-top:clamp(18px,2.4vw,34px)}
