/* Hunter and Joey review, October 2. Restrained warm accents, original logo colors. */
:root{--action-gold:#979069;--accent-gold:#979069}
body .nav-shortcuts>a,body .menu,body .navlinks a{color:var(--accent-gold)}
body .nav-shortcuts>a:hover,body .menu:hover,body .navlinks a:hover{color:#fff}
body .header .brand strong{font-size:19px;letter-spacing:0;line-height:1.15}
.brand-short{display:none}.brand-full{display:block}
body .button,body .navlinks .member{background:var(--action-gold);color:#fff;border:1px solid var(--action-gold);padding:13px 19px;display:inline-flex;justify-content:center;align-items:center;min-height:48px;border-radius:2px;text-decoration:none;line-height:1.45}
body .button:hover,body .navlinks .member:hover{background:#fff;color:#979069;border-color:#fff}
body .button.secondary{background:#fff;color:#979069;border-color:#fff}
body .button.secondary:hover{background:var(--action-gold);color:#fff;border-color:var(--action-gold)}
body .actions{gap:12px;flex-wrap:wrap}
body .home-photo-pass .eyebrow{color:var(--accent-gold)}
body.home-photo-pass .hero{min-height:660px;position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:70px 0 100px}
.hero-slides{position:absolute;inset:0;z-index:-2}.hero-slide{display:block;width:100%;height:100%}.hero-slide[hidden]{display:none}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
body.home-photo-pass .hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,11,15,.87),rgba(8,11,15,.65) 38%,rgba(8,11,15,.04) 72%),linear-gradient(0deg,#080b0f,transparent 28%);pointer-events:none}
body.home-photo-pass .hero-content{position:relative;padding-block:0;width:100%;margin:0 auto;z-index:1}
body.home-photo-pass .hero-content h1{font-size:clamp(55px,5.75vw,83px);max-width:620px}
body.home-photo-pass .hero-content .description{max-width:480px}
body.home-photo-pass .hero-content .actions{max-width:650px;display:flex;gap:10px;margin-top:28px}
body.home-photo-pass .hero-content .button{font-size:14px}
body.home-photo-pass .hero-bottom{position:relative;margin-top:40px;width:100%;bottom:auto;left:auto;transform:none}
.slide-controls{position:absolute;bottom:20px;left:5%;display:flex;gap:8px;z-index:3}.slide-controls button{background:#080b0fcc;color:#fff;border:1px solid #89919a;padding:9px 13px;min-height:44px;font-size:12px}.slide-controls button[aria-pressed=true]{border-color:var(--accent-gold);color:var(--accent-gold)}
body.home-photo-pass .quickbar a:nth-child(2) img{transform:scale(1.45);object-position:43% 35%}
body .league-logo{height:110px;display:flex;justify-content:center;align-items:center;position:relative}
body .league-track>a{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.league-track>a>span{min-height:48px;display:flex;align-items:center;text-align:center}
body .league-logo.promac{width:185px}body .league-logo.promac img{width:170px;height:100px;object-fit:contain}body .league-logo.promac .brand-tm{position:absolute;right:0;top:7px;font-size:16px}
body .league-track>a:hover span{color:var(--accent-gold)}
body.home-photo-pass .audience .button{width:100%;margin-top:auto;font-size:13px;padding-inline:9px}body.home-photo-pass .audience p{margin-bottom:22px}
body.home-photo-pass .wide-story h2{color:#979069}body.home-photo-pass .wide-story::after{background:linear-gradient(90deg,#080b0fe8,#080b0f77 55%,#080b0f22)}
body .gabrielle-community-photo{height:690px}body .gabrielle-community-photo img{object-fit:contain;object-position:center;height:100%;width:100%;background:#080b0f;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
body.home-photo-pass .join .band-photo{object-position:center 43%;object-fit:cover}body.home-photo-pass .join{min-height:550px}
body .footer .brand img{width:70px;height:70px}.footer .brand-tm{font-size:15px}.footer .powered{display:flex;gap:9px;align-items:center;width:fit-content}.footer .powered img{width:30px;height:30px;object-fit:contain}.photo-acknowledgment{font-size:12px;margin:20px 0;color:#aeb4bd}.social-icon{width:17px;height:17px;display:inline-block;vertical-align:-3px;margin-right:9px;fill:currentColor}.footer a:hover{color:var(--accent-gold)}
@media(max-width:1000px){body .header .brand strong{font-size:16px}body .nav-shortcuts{gap:16px}body.home-photo-pass .hero{min-height:690px}.hero-slide img{object-position:60% center}body.home-photo-pass .hero-content h1{font-size:65px}}
@media(max-width:640px){.brand-full{display:none}.brand-short{display:inline}body .header .brand strong{font-size:24px}body .nav{gap:10px}body .nav-shortcuts{gap:10px}body .nav-shortcuts>a{font-size:12px}body .menu{padding:9px;font-size:12px;gap:5px}body .header .brand{gap:7px}body .header .brand img{width:38px;height:38px}body.home-photo-pass .hero{min-height:960px;justify-content:flex-end;padding:460px 0 100px}.hero-slide img{object-position:top center}body.home-photo-pass .hero::after{background:linear-gradient(0deg,#080b0f 8%,rgba(8,11,15,.9) 38%,rgba(8,11,15,.2) 65%,transparent)}body.home-photo-pass .hero-content h1{font-size:52px}body.home-photo-pass .hero-content .actions{gap:9px}.hero-content .button{flex:1 1 45%}body.home-photo-pass .hero-bottom{margin-top:26px}.slide-controls{left:24px;right:24px;gap:5px}.slide-controls button{font-size:11px;padding:8px}.gabrielle-community-photo{max-height:600px}body .league-logo.promac{width:150px}body .league-logo.promac img{width:135px}.footer .brand strong{font-size:24px}}
body.home-photo-pass .hero::after,body.home-photo-pass .wide-story::after{display:block}
body.home-photo-pass .hero-content .eyebrow{color:var(--accent-gold)}
body.home-photo-pass .action-hero .hero-content .actions{flex-direction:row;max-width:650px}
body.home-photo-pass .hero-content{padding-inline:clamp(24px,5vw,72px)}
body.home-photo-pass .hero-content .description{color:#e3e5e8}
body .header .nav{width:100%;min-width:0}.header .brand{flex-shrink:1}.nav-shortcuts{flex-shrink:0}
@media(max-width:640px){body .header .brand strong{display:block}body.home-photo-pass .action-hero .hero-content{padding:0 24px}body.home-photo-pass .hero-bottom{background:transparent}}
body.home-photo-pass .hero-bottom{background:transparent;border-color:#ffffff24;padding-block:18px}
@media(max-width:640px){body .nav-shortcuts>a[href='/world/'],body .nav-shortcuts>a[href='/national/']{display:none}body .nav-shortcuts{gap:20px}.hero-slides{height:490px}.hero-slide img{object-position:center top;object-fit:cover}body.home-photo-pass .hero{padding-top:460px;min-height:1000px}body.home-photo-pass .hero::after{background:linear-gradient(0deg,#080b0f 42%,rgba(8,11,15,.85) 53%,transparent 75%)}body.home-photo-pass .hero-content .button{align-self:stretch}body.home-photo-pass .hero-content .actions{align-items:stretch}}
body .button.gold,body .button.light{background:var(--action-gold);border-color:var(--action-gold);color:#fff}body .button.gold:hover,body .button.light:hover{background:#fff;border-color:#fff;color:#979069}
body .home-social-photo.gabrielle-community-photo img{object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 15%,#000 88%,transparent)}

/* Official supplied Warrior Cup 2027 artwork, intact and proportional. */
.hero-slide.warrior-artwork{background:#080b0f;position:relative}
.hero-slide.warrior-artwork img{position:absolute;right:3%;top:12%;width:45%;height:65%;object-fit:contain;object-position:center}
body.home-photo-pass .hero:has(.warrior-artwork:not([hidden]))::after{background:none}
@media(max-width:640px){.hero-slide.warrior-artwork img{inset:35px 5% auto;width:90%;height:350px}body.home-photo-pass .hero:has(.warrior-artwork:not([hidden]))::after{background:linear-gradient(0deg,#080b0f 40%,transparent 65%)}}

/* Portrait art direction: phones and portrait tablets use dedicated images. */
@media (max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero{--portrait-height:clamp(490px,80vw,800px);height:auto;max-height:none;gap:0;min-height:0;padding:calc(var(--portrait-height) - 105px) 0 100px;justify-content:flex-start}
 body.home-photo-pass .hero .hero-slides{height:var(--portrait-height)}
 body.home-photo-pass .hero .hero-slide img{object-fit:cover;object-position:center top}
 body.home-photo-pass .hero::after{inset:0 0 auto;height:var(--portrait-height);background:linear-gradient(0deg,#080b0f 0%,rgba(8,11,15,.84) 10%,rgba(8,11,15,.18) 30%,transparent 55%)}
 body.home-photo-pass .hero-content{position:relative;flex-shrink:0}
 body.home-photo-pass .hero .slide-controls{top:auto;bottom:20px;transform:none}
 body.home-photo-pass .hero-bottom{flex-shrink:0}
 body.home-photo-pass .hero-content h1{font-size:clamp(46px,7.5vw,68px)}
 body.home-photo-pass .hero-content .actions{flex-wrap:wrap}
 body.home-photo-pass .hero-bottom{margin-top:26px}
}

@media(min-width:641px) and (max-width:1100px) and (max-aspect-ratio:1/1){body.home-photo-pass .hero .hero-slide img{object-position:center 38%}}


/* Keep the complete portrait action centered, with copy below the athlete. */
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero{--portrait-height:clamp(600px,160vw,900px);padding-top:calc(var(--portrait-height) - 30px)}
 body.home-photo-pass .hero .hero-slide{position:relative;overflow:hidden;background:#080b0f}
 body.home-photo-pass .hero .hero-slide img{position:absolute;left:50%;top:-25%;width:auto;max-width:none;height:125%;object-fit:contain;transform:translateX(-69%);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent)}
 body.home-photo-pass .hero::after{background:linear-gradient(0deg,#080b0f,transparent 12%)}
}
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){body.home-photo-pass .hero .hero-slide:first-child img{height:110%;top:-5%}}

/* Balance portrait coverage and soften only the narrow outer edges. */
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero .hero-slide img{transform:translateX(-55%);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 98%,transparent)}
 body.home-photo-pass .hero .hero-slide:first-child img{height:123%;top:-7%}
}

/* Begin the mobile headline at the lower third of the photograph. */
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero{padding-top:calc(var(--portrait-height) * .67 - 48px)}
 body.home-photo-pass .hero-content .eyebrow{margin:0 0 24px;line-height:24px}
 body.home-photo-pass .hero-content h1{margin-top:0}
 body.home-photo-pass .hero::after{background:linear-gradient(0deg,#080b0f 0%,rgba(8,11,15,.88) 15%,rgba(8,11,15,.48) 33%,transparent 50%)}
}

@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero .hero-slide:first-child img{transform:translateX(-49%);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 100%)}
}

/* Feature the athlete more closely in the World Ratings tile. */
body.home-photo-pass .quickbar a:nth-child(2) img{transform:scale(1.65);transform-origin:45% 70%;object-position:45% 55%}

/* Equal partner logo frames and aligned link rows. */
body.home-photo-pass .league-track>a{display:grid;grid-template-rows:140px 48px;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:center;gap:16px;padding:0 16px}
body.home-photo-pass .league-track .league-logo{width:180px;max-width:100%;height:140px;flex:none;margin:0;display:flex;align-items:center;justify-content:center;overflow:visible}
body.home-photo-pass .league-track .league-logo img{position:static;inset:auto;width:auto;height:auto;max-width:160px;max-height:110px;object-fit:contain;margin:0;transform:none}
body.home-photo-pass .league-track .league-logo.ncka img{width:100px;height:100px}
body.home-photo-pass .league-track>a>span{width:100%;max-width:260px;height:48px;min-height:48px;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.5}
body.home-photo-pass .league-track .league-logo .brand-tm{top:20px;right:0;font-size:10px}
@media(max-width:640px){body.home-photo-pass .league-track{grid-template-columns:1fr;gap:32px}body.home-photo-pass .league-track>a{grid-template-rows:140px 48px}}
body.home-photo-pass .league-track>a[aria-hidden="true"]{display:none}

/* Close athlete framing and coordinated monochrome officials photography. */
body.home-photo-pass .quickbar a:nth-child(2) img{transform:scale(2.6);transform-origin:45% 55%;object-position:45% 55%}
body.home-photo-pass .quickbar a:nth-child(3) img{filter:grayscale(1)}

/* Join the history photograph directly to the community section. */
body.home-photo-pass .wide-story{margin:0;padding-bottom:0}
body.home-photo-pass .wide-story + .home-social{margin-top:0;padding-top:0}
body.home-photo-pass .wide-story::after{background:linear-gradient(180deg,#080b0f 0%,rgba(8,11,15,.8) 4%,rgba(8,11,15,.35) 10%,transparent 20%),linear-gradient(90deg,#080b0fe8,#080b0f77 55%,#080b0f22),linear-gradient(0deg,#080b0f,transparent 14%)}
body.home-photo-pass .wide-story + .home-social>.split{margin-top:0}

/* Readable audience cards with the established gold accent. */
body.home-photo-pass .audience.photo-tile::after{background:linear-gradient(0deg,rgba(8,11,15,.98) 0%,rgba(8,11,15,.9) 52%,rgba(8,11,15,.55) 100%)}
body.home-photo-pass .audience h3{color:var(--accent-gold);font-weight:600;text-shadow:0 2px 5px #000;line-height:1.25}
body.home-photo-pass .audience p{color:#f2eee4;text-shadow:0 1px 4px #000;font-weight:500;line-height:1.55}

/* Carry audience-card gold typography into the four homepage shortcuts. */
body.home-photo-pass .quickbar a>span{color:var(--accent-gold);font-weight:600;line-height:1.25;text-shadow:0 2px 5px #000}
body.home-photo-pass .quickbar a>span small{color:#f2eee4;font-weight:500;text-shadow:0 1px 4px #000}

/* Version 50: Version 47 typefaces within the retained layout. */
body{font-family:'Instrument Sans',sans-serif!important}
body h1,body h2,body h3,body h4,body .quickbar a>span,body .brand strong,body button,body input,body select,body textarea,body .button,body .eyebrow,body .textlink{font-family:'Instrument Sans',sans-serif!important}
body h1,body h2,body h3,body h4{font-style:normal!important;font-weight:600!important;letter-spacing:-.025em!important;text-transform:none!important}
body h1,body .section-head h2,body .hero h1,body .diamond-copy h2,body .join h2{font-family:'Barlow Condensed',sans-serif!important;font-weight:600!important}
body h1 em,body h2 em,body h3 em{font-family:inherit!important;font-style:normal!important;font-weight:inherit!important}
/* Match the two practical-information tiles with a neutral grayscale. */
body.home-photo-pass .quickbar a:nth-child(1) img,body.home-photo-pass .quickbar a:nth-child(3) img{filter:grayscale(1) brightness(.85) contrast(1.05)!important}
body.home-photo-pass .quickbar a{transition:box-shadow .22s ease,translate .22s ease}
body.home-photo-pass .quickbar a img{transition:scale .3s ease}
@media(hover:hover) and (pointer:fine){
 body.home-photo-pass .quickbar a:hover{box-shadow:inset 0 0 32px rgba(151,144,105,.2),0 0 18px rgba(151,144,105,.14);translate:0 -3px;z-index:1}
 body.home-photo-pass .quickbar a:hover img{scale:1.035}
}
body.home-photo-pass .quickbar a:focus-visible{box-shadow:inset 0 0 32px rgba(151,144,105,.2);outline:2px solid var(--accent-gold);outline-offset:-3px}
@media(prefers-reduced-motion:reduce){body.home-photo-pass .quickbar a,body.home-photo-pass .quickbar a img{transition:none!important}body.home-photo-pass .quickbar a:hover{translate:none}body.home-photo-pass .quickbar a:hover img{scale:1}}

/* Center the audience-card copy and actions within the photo panels. */
body.home-photo-pass .audience.photo-tile{text-align:center;align-items:center;justify-content:center;padding-block:26px}
body.home-photo-pass .audience.photo-tile h3,body.home-photo-pass .audience.photo-tile p{width:100%;text-align:center}
body.home-photo-pass .audience.photo-tile .button{align-self:center;justify-content:center;text-align:center;margin-top:0;position:absolute;bottom:26px;left:22px;right:22px;width:calc(100% - 44px)}

@media(max-width:767px){body .corporate-suffix{display:none}}

/* One shared centerline for audience photography, copy and actions. */
body.home-photo-pass .audience-section .section-head{display:flex;flex-direction:column;align-items:center;text-align:center}
body.home-photo-pass .audience-section .section-head>div,body.home-photo-pass .audience-section .section-head>p{margin-inline:auto;text-align:center}
body.home-photo-pass .audience.photo-tile .tile-photo{object-position:50% 50%}
body.home-photo-pass .audience.photo-tile>h3,body.home-photo-pass .audience.photo-tile>p,body.home-photo-pass .audience.photo-tile>.button{margin-left:auto;margin-right:auto;align-self:center;text-align:center}

/* Dissolve the heritage image into the preceding page surface. */
body.home-photo-pass .wide-story::before{content:"";position:absolute;inset:0 0 auto;height:200px;z-index:0;pointer-events:none;background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 5%,rgba(11,14,19,.92) 20%,rgba(11,14,19,.55) 48%,rgba(11,14,19,.16) 76%,transparent 100%)}
body.home-photo-pass .wide-story>.wrap{position:relative;z-index:1}

/* Center the banquet composition between the invitation and action. */
body.home-photo-pass .join{min-height:640px;aspect-ratio:16/9;padding:64px 5%;display:flex;align-items:center;justify-content:space-between;border:0;background:var(--paper);gap:32px}
body.home-photo-pass .join .band-photo{width:100%;height:100%;object-fit:cover;object-position:48% center;opacity:1;filter:none;mask-image:none}
body.home-photo-pass .join::after{display:block;background:linear-gradient(90deg,rgba(11,14,19,.88),rgba(11,14,19,.5) 24%,transparent 40%,transparent 61%,rgba(11,14,19,.52) 78%,rgba(11,14,19,.92)),linear-gradient(180deg,var(--paper),transparent 15%,transparent 82%,var(--paper))}
body.home-photo-pass .join-content{width:29%;max-width:350px;text-align:left;text-shadow:0 2px 5px #080b0f;transform:translateY(75px)}
body.home-photo-pass .join-content h2{color:var(--accent-gold);font-size:clamp(32px,3.4vw,50px);line-height:1.08}
body.home-photo-pass .join-content p{margin-inline:0;color:var(--ink)}
body.home-photo-pass .join-action{position:relative;z-index:1;align-self:center;transform:translateY(75px);text-shadow:none}
@media(max-width:760px){body.home-photo-pass .join{aspect-ratio:auto;min-height:850px;padding:36px 24px;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:20px}body.home-photo-pass .join .band-photo{object-position:48% center}body.home-photo-pass .join::after{background:linear-gradient(180deg,var(--paper),transparent 12%,transparent 53%,rgba(11,14,19,.82) 73%,var(--paper)),linear-gradient(90deg,rgba(11,14,19,.3),transparent 35%,transparent 65%,rgba(11,14,19,.3))}body.home-photo-pass .join-content{width:100%;max-width:440px;transform:none}body.home-photo-pass .join-content h2{font-size:36px;margin:12px 0}body.home-photo-pass .join-content p{font-size:16px;margin-block:12px}body.home-photo-pass .join-action{align-self:flex-end;transform:none}}

/* Closer banquet framing, dissolved into the page on all four edges. */
body.home-photo-pass .join{overflow:hidden}
body.home-photo-pass .join .band-photo{transform:scale(1.16);transform-origin:48% 0%}
body.home-photo-pass .join::after{background:linear-gradient(90deg,var(--paper) 0%,rgba(11,14,19,.84) 13%,rgba(11,14,19,.38) 29%,transparent 41%,transparent 60%,rgba(11,14,19,.38) 74%,rgba(11,14,19,.84) 88%,var(--paper)),linear-gradient(180deg,var(--paper) 0%,rgba(11,14,19,.2) 6%,transparent 13%,transparent 72%,rgba(11,14,19,.5) 88%,var(--paper) 100%)}
@media(max-width:760px){body.home-photo-pass .join .band-photo{transform:scale(1.05);transform-origin:48% 0%}body.home-photo-pass .join::after{background:linear-gradient(180deg,var(--paper),transparent 10%,transparent 48%,rgba(11,14,19,.82) 72%,var(--paper)),linear-gradient(90deg,rgba(11,14,19,.7),transparent 25%,transparent 75%,rgba(11,14,19,.7))}}

/* Banquet follows our heritage, with a closer central logo and seamless ends. */
body.home-photo-pass .join{margin:0;min-height:740px;aspect-ratio:16/10;background:#080b0f}
body.home-photo-pass .join .band-photo{transform:scale(1);transform-origin:48% 0%}
body.home-photo-pass .join-content,body.home-photo-pass .join-action{transform:translateY(105px)}
body.home-photo-pass .join::after{background:linear-gradient(90deg,#080b0f 0%,rgba(8,11,15,.9) 12%,rgba(8,11,15,.45) 28%,transparent 42%,transparent 59%,rgba(8,11,15,.48) 75%,#080b0f),linear-gradient(180deg,#080b0f 0%,rgba(8,11,15,.45) 5%,transparent 13%,transparent 68%,rgba(8,11,15,.6) 85%,#080b0f 100%)}
body.home-photo-pass .join + .home-social{margin-top:0;padding-top:0}
@media(max-width:760px){body.home-photo-pass .join{min-height:850px;aspect-ratio:auto}body.home-photo-pass .join .band-photo{transform:scale(1)}body.home-photo-pass .join-content,body.home-photo-pass .join-action{transform:none}body.home-photo-pass .join::after{background:linear-gradient(180deg,#080b0f,transparent 12%,transparent 46%,rgba(8,11,15,.86) 73%,#080b0f),linear-gradient(90deg,rgba(8,11,15,.65),transparent 28%,transparent 72%,rgba(8,11,15,.65))}}

/* Give the complete banquet composition more breathing room without stretching. */
body.home-photo-pass .join .band-photo{object-fit:contain;object-position:center;transform:scale(.85);transform-origin:center;mask-image:linear-gradient(180deg,transparent,#000 16%,#000 80%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 80%,transparent)}
@media(max-width:760px){body.home-photo-pass .join .band-photo{object-fit:cover;object-position:48% center;transform:scale(.85)}}

/* Let the heritage, banquet and community imagery meet without empty bands. */
body.home-photo-pass .join{min-height:600px;aspect-ratio:16/8;margin-top:-60px;margin-bottom:-60px;background:transparent;position:relative;z-index:1}
body.home-photo-pass .join-content,body.home-photo-pass .join-action{transform:translateY(65px)}
body.home-photo-pass .join + .home-social{position:relative;padding-top:0}
@media(max-width:760px){body.home-photo-pass .join{min-height:760px;aspect-ratio:auto;margin-top:-36px;margin-bottom:-36px}body.home-photo-pass .join-content,body.home-photo-pass .join-action{transform:none}}
body.home-photo-pass .join{mask-image:linear-gradient(180deg,transparent,#000 60px,#000 calc(100% - 60px),transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 60px,#000 calc(100% - 60px),transparent)}

/* Cross-dissolve the banquet entrance over the heritage photograph. */
body.home-photo-pass .join{margin-top:-110px;mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 35px,rgba(0,0,0,.4) 90px,#000 125px,#000 calc(100% - 60px),transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.08) 35px,rgba(0,0,0,.4) 90px,#000 125px,#000 calc(100% - 60px),transparent)}
@media(max-width:760px){body.home-photo-pass .join{margin-top:-75px;mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.25) 55px,#000 105px,#000 calc(100% - 60px),transparent);-webkit-mask-image:linear-gradient(180deg,transparent,rgba(0,0,0,.25) 55px,#000 105px,#000 calc(100% - 60px),transparent)}}

/* Lower the banquet composition and dissolve the photograph's own side edges. */
body.home-photo-pass .join{margin-top:-55px}
body.home-photo-pass .join .band-photo{
 mask-image:linear-gradient(180deg,transparent,#000 16%,#000 80%,transparent),linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent);
 mask-composite:intersect;
 -webkit-mask-image:linear-gradient(180deg,transparent,#000 16%,#000 80%,transparent),linear-gradient(90deg,transparent,#000 28%,#000 72%,transparent);
 -webkit-mask-composite:source-in;
}
@media(max-width:760px){body.home-photo-pass .join{margin-top:-40px}}

/* A restrained film texture on the banquet photograph, beneath the copy. */
body.home-photo-pass .join .band-photo{filter:brightness(.88) contrast(1.03)}
body.home-photo-pass .join::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/assets/editorial/banquet-grain.svg') repeat;opacity:.1;mix-blend-mode:soft-light;mask-image:radial-gradient(ellipse at center,#000 20%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 72%)}

/* Dissolve Gabrielle's lower edge into the community section background. */
body .home-social-photo.gabrielle-community-photo img{
 mask-image:linear-gradient(90deg,transparent,#000 15%,#000 88%,transparent),linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.75) 72%,rgba(0,0,0,.3) 87%,transparent 100%);
 mask-composite:intersect;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 88%,transparent),linear-gradient(180deg,#000 0%,#000 58%,rgba(0,0,0,.75) 72%,rgba(0,0,0,.3) 87%,transparent 100%);
 -webkit-mask-composite:source-in;
}

/* Broader feathering removes the remaining dark frame around the community photo. */
body .home-social-photo.gabrielle-community-photo{background:transparent}
body .home-social-photo.gabrielle-community-photo img{
 mask-image:linear-gradient(90deg,transparent,#000 27%,#000 73%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 46%,rgba(0,0,0,.65) 65%,rgba(0,0,0,.18) 83%,transparent 97%);
 mask-composite:intersect;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 27%,#000 73%,transparent),linear-gradient(180deg,transparent,#000 10%,#000 46%,rgba(0,0,0,.65) 65%,rgba(0,0,0,.18) 83%,transparent 97%);
 -webkit-mask-composite:source-in;
}

/* Match the photo surround to the gray section instead of a separate black panel. */
body.home-photo-pass .home-social>.split{background:var(--paper)}
body.home-photo-pass .home-social>.split::after{background:linear-gradient(90deg,var(--paper) 8%,transparent 72%),linear-gradient(0deg,var(--paper),transparent 32%,transparent 85%,var(--paper))}
body.home-photo-pass .gabrielle-community-photo img{background:transparent}
@media(max-width:760px){body.home-photo-pass .home-social>.split::after{background:linear-gradient(0deg,var(--paper) 2%,color-mix(in srgb,var(--paper) 90%,transparent) 35%,transparent 85%)}}

/* Fine separators across the lower homepage, with a tighter social handoff. */
body.home-photo-pass .home-section-divider{display:block;position:relative;z-index:5;height:0;border:0;border-top:1px solid var(--line);margin:0;width:100%;pointer-events:none}
body.home-photo-pass .join + .home-section-divider + .home-social{margin-top:0;padding-top:0}
body.home-photo-pass .home-social.section{padding-bottom:32px}
body.home-photo-pass .home-social.section + .home-section-divider + .home-social .social-highlights{padding-top:32px}

/* Match the audience cards to the homepage shortcut interactions. */
body.home-photo-pass .audience.photo-tile{transition:box-shadow .22s ease,translate .22s ease}
body.home-photo-pass .audience.photo-tile .tile-photo{transition:scale .3s ease}
@media(hover:hover) and (pointer:fine){
 body.home-photo-pass .audience.photo-tile:hover{box-shadow:inset 0 0 32px rgba(151,144,105,.2),0 0 18px rgba(151,144,105,.14);translate:0 -3px;z-index:1}
 body.home-photo-pass .audience.photo-tile:hover .tile-photo{scale:1.035}
}
body.home-photo-pass .audience.photo-tile:focus-within{box-shadow:inset 0 0 32px rgba(151,144,105,.2);outline:2px solid var(--accent-gold);outline-offset:-3px}
@media(prefers-reduced-motion:reduce){body.home-photo-pass .audience.photo-tile,body.home-photo-pass .audience.photo-tile .tile-photo{transition:none!important}body.home-photo-pass .audience.photo-tile:hover{translate:none}body.home-photo-pass .audience.photo-tile:hover .tile-photo{scale:1}}

/* Additional supplied hero photography, with device-specific rotations. */
.slide-controls{flex-wrap:wrap;right:5%}
.slide-controls button[hidden]{display:none}
body.home-photo-pass .hero .hero-memphis img{object-position:68% center}
body.home-photo-pass .hero .hero-uscc img{object-position:72% center}
body.home-photo-pass .hero .hero-hunter img{object-position:center center}
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero .hero-memphis img{height:155%;top:0;transform:translateX(-60%)}
 body.home-photo-pass .hero .hero-uscc img{height:155%;top:-36%;transform:translateX(-60%)}
 body.home-photo-pass .hero .slide-controls{gap:5px}
 body.home-photo-pass .hero .slide-controls button{font-size:10px;padding:6px 8px}
}

/* Keep trademark symbols attached to their artwork. */
body .league-logo.promac .promac-mark-lockup{position:relative;display:inline-flex;align-items:center;justify-content:center;width:fit-content}
body .league-logo.promac .promac-mark-lockup .brand-tm{left:73%;right:auto;top:17%;bottom:auto;font-size:9px;line-height:1}
body .footer .footer-mark-lockup{position:relative;display:inline-flex;flex:0 0 70px;width:70px;height:70px}
body .footer .brand .footer-mark-lockup .brand-tm{left:auto;right:-3px;top:auto;bottom:0;font-size:9px;line-height:1}
body .footer .powered img{margin-left:.3em}

/* Breathing room between the social CTA and the footer divider. */
body.home-photo-pass .social-page-action{padding-bottom:56px}
@media(max-width:760px){body.home-photo-pass .social-page-action{padding-bottom:40px}}

/* Consistent breathing room for featured-event calls to action. */
body.home-photo-pass #featured-event .button{padding:16px 24px;min-height:54px;text-align:center}
body.home-photo-pass #featured-event .section-head>.button{margin-top:28px}
body.home-photo-pass #featured-event .diamond-copy .actions{margin-top:28px;gap:12px;display:grid;grid-template-columns:minmax(0,300px);grid-auto-rows:1fr;align-items:stretch}
body.home-photo-pass #featured-event .diamond-copy .actions .button{width:100%;height:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center}

/* Gold sampled directly from the original NASKA emblem. */
:root{--naska-gold:#979069;--gold:var(--naska-gold);--action-gold:var(--naska-gold);--accent-gold:var(--naska-gold)}

/* Supplied Infinity desktop and portrait photographs. */
body.home-photo-pass .hero .hero-infinity{position:relative;background:#080b0f}
body.home-photo-pass .hero .hero-infinity img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:auto;aspect-ratio:2048 / 1032;object-fit:contain;object-position:50% center;mask-image:linear-gradient(0deg,transparent,#000 6%,#000 94%,transparent)}
.slide-controls{flex-wrap:wrap}
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero .hero-infinity{display:block}
 body.home-photo-pass .hero .hero-infinity img{width:auto;height:160%;aspect-ratio:auto;top:-12%;transform:translateX(-64%);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 98%,transparent)}
}

/* Keep the upcoming-events announcement readable over every slide. */
body.home-photo-pass .hero-bottom .hero-event-announcement{font-size:15px;font-weight:700;color:#fff;text-shadow:0 1px 7px rgba(0,0,0,.85)}
@media(max-width:760px){body.home-photo-pass .hero-bottom .hero-event-announcement{font-size:14px;line-height:1.5}}

/* Emphasize partner links with the shared gold hover treatment. */
body.home-photo-pass .league-track>a>span{font-weight:600;transition:color .25s ease}
body.home-photo-pass .league-track>a:hover>span,body.home-photo-pass .league-track>a:focus-visible>span{color:var(--naska-gold)}
@media(prefers-reduced-motion:reduce){body.home-photo-pass .league-track>a>span{transition:none}}

/* Align the banquet action beneath its section heading and invitation. */
body.home-photo-pass .join .join-content .actions{margin-top:28px;justify-content:flex-start}
body.home-photo-pass .join .join-content .join-action{transform:none;align-self:flex-start;margin:0}

/* Homepage heritage line: white date and bold years of sport karate. */
body.home-photo-pass .hero-bottom .hero-legacy{color:#fff}
body.home-photo-pass .hero-bottom .hero-legacy strong{font-weight:700}

/* Keep the banquet logo and speaker centered in the mobile hero without stretching. */
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero .hero-hunter img{
  inset:0;width:100%;height:100%;object-fit:cover;object-position:48% top;transform:none;
 }
}

/* Dedicated New England Open portrait: keep the competitor centered with the copy. */
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero .hero-neo img{height:115%;top:-10%;transform:translateX(-43%)}
}

/* Allow the seven event tabs to wrap without covering the hero's closing text. */
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero{padding-bottom:140px}
}
@media(max-width:419px){body.home-photo-pass .hero{padding-bottom:190px}}

/* Enlarge the proportional desktop photograph while preserving head and weapon clearance. */
@media(min-width:768px) and (orientation:landscape), (min-width:1101px){
 body.home-photo-pass .hero .hero-neo{position:relative}
 body.home-photo-pass .hero .hero-neo img{
  position:absolute;right:0;left:auto;top:-6%;height:112%;width:auto;max-width:112%;
  object-fit:contain;object-position:right center;transform:none;
  mask-image:linear-gradient(90deg,transparent,#000 24%,#000 98%,transparent);
 }
}

/* Mobile banquet title stays inside the frame; closing copy and tabs align centrally. */
@media(max-width:767px), (max-width:1100px) and (max-aspect-ratio:1/1){
 body.home-photo-pass .hero .hero-hunter img{
  inset:auto;top:0;left:50%;width:230%;height:auto;max-width:none;
  object-fit:contain;object-position:center;transform:translateX(-48%);
  mask-image:linear-gradient(0deg,transparent,#000 16%,#000 100%);
 }
 body.home-photo-pass .hero{padding-bottom:24px}
 body.home-photo-pass .hero-bottom{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:14px;
 }
 body.home-photo-pass .hero-bottom>span{width:100%;text-align:center}
 body.home-photo-pass .hero-bottom .hero-legacy{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
 }
 body.home-photo-pass .hero .slide-controls{
  position:relative;order:4;left:auto;right:auto;top:auto;bottom:auto;transform:none;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  width:calc(100% - 48px);max-width:640px;margin:24px auto 0;
 }
 body.home-photo-pass .hero .slide-controls button{
  width:100%;min-width:0;min-height:44px;margin:0;padding:10px 8px;
  font-size:11px;line-height:1.3;text-align:center;
 }
}

/* Align the banquet invitation with adjacent editorial sections and their sport heading. */
body.home-photo-pass .join{padding-inline:max(6%,calc((100% - 1120px)/2))}
body.home-photo-pass .join-content{width:35%;max-width:400px}
body.home-photo-pass .join-content h2{font-family:'NASKA Sport','Arial Narrow',sans-serif!important;font-weight:400!important;font-size:clamp(34px,3.7vw,52px);line-height:1.04}
@media(max-width:760px){
 body.home-photo-pass .join{padding-inline:24px}
 body.home-photo-pass .join-content{width:100%;max-width:440px}
 body.home-photo-pass .join-content h2{font-size:36px}
}
body.home-photo-pass .join-content .eyebrow{font-size:12px;line-height:1.5;letter-spacing:.075em}

/* Keep desktop invitation copy clear of the lettering embedded in the photograph. */
@media(min-width:761px){
 body.home-photo-pass .join-content{width:28%;max-width:300px;transform:translateY(40px)}
}
@media(min-width:1600px){
 body.home-photo-pass .join-content{max-width:240px}
}
@media(min-width:2000px){
 body.home-photo-pass .join{padding-inline:400px}
}

/* Give the mobile banquet button breathing room above the next section. */
@media(max-width:760px){
 body.home-photo-pass .join{padding-bottom:84px}
}

/* Keep the audience heading in the shared sport typeface with a tighter introduction. */
body.home-photo-pass .audience-section .section-head{gap:0}
body.home-photo-pass .audience-section .section-head h2{font-family:'NASKA Sport','Arial Narrow',sans-serif!important;font-weight:400!important;line-height:1.04;margin-bottom:14px}
body.home-photo-pass .audience-section .section-head>p{margin-block:0}

/* Center the eyebrow across the same heading width at every screen size. */
body.home-photo-pass .audience-section .section-head>div{width:100%}
body.home-photo-pass .audience-section .section-head .eyebrow{width:100%;max-width:none;margin-inline:auto;text-align:center}

/* Match the two ratings actions on mobile without changing desktop buttons. */
@media(max-width:760px){
 body.home-photo-pass .ratings-photo-band .actions{display:grid;grid-template-columns:minmax(0,260px);grid-auto-rows:1fr;gap:12px;align-items:stretch}
 body.home-photo-pass .ratings-photo-band .actions .button{width:100%;height:100%;min-height:52px;box-sizing:border-box;text-align:center}
}

/* Stack the community actions with matching dimensions on mobile. */
@media(max-width:760px){
 body.home-photo-pass .home-social.section .actions{display:grid;grid-template-columns:minmax(0,260px);grid-auto-rows:1fr;gap:12px;align-items:stretch}
 body.home-photo-pass .home-social.section .actions .button{width:100%;height:100%;min-height:52px;box-sizing:border-box;text-align:center}
}

/* Keep the Ratings hero competitor visible in the mobile crop. */
@media(max-width:760px){body .ratings-page-hero .interior-hero-photo{object-position:76% top}}

/* Ratings resource links: clear external heading and direct PDF download. */
body .ratings-results-link{color:inherit;transition:color .2s ease}
body .ratings-results-link:hover{color:var(--naska-gold,#979069)}
body .ratings-results-link span{white-space:nowrap}
body .textlink.ratings-pdf-link{display:inline-flex;align-items:center;gap:10px}
body .ratings-pdf-link .pdf-icon{flex:0 0 24px}
