/*
Theme Name: Heroes Rescue Mission v7.5
Description: Heroes Awards CMS theme based on approved v5.
Version: 7.5.0
Text Domain: heroes-rescue
*/

:root{--navy:#071a2e;--navy2:#0d2c49;--gold:#c7a662;--cream:#f5f1e8;--ink:#112235;--muted:#6f7780;--white:#fff;--line:rgba(255,255,255,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.top{position:sticky;top:0;z-index:50;background:rgba(7,26,46,.97);backdrop-filter:blur(10px);color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
.nav{max-width:1200px;margin:auto;display:flex;align-items:center;gap:22px;padding:14px 22px}.brand{display:flex;align-items:center;gap:14px;margin-right:auto}.brand img{width:150px;height:auto}.nav a,.dropbtn{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff;opacity:.92;cursor:pointer}.nav a:hover,.dropbtn:hover{color:var(--gold)}
.dropdown{position:relative}.menu{display:none;position:absolute;top:24px;left:-14px;min-width:180px;background:#0c2741;padding:10px;border:1px solid rgba(255,255,255,.1);box-shadow:0 14px 30px rgba(0,0,0,.25)}.dropdown:hover .menu{display:block}.menu a{display:block;padding:8px 10px}
.book{background:var(--gold);color:#071a2e!important;padding:10px 14px;font-weight:700}.mobile{display:none;margin-left:auto;font-size:22px}
.hero{min-height:78vh;display:grid;place-items:center;position:relative;color:#fff;text-align:center;background:linear-gradient(rgba(4,17,31,.38),rgba(4,17,31,.7)),url('https://static.wixstatic.com/media/dc8391_721163b063ee4c63ac1e1feae1b09267~mv2.jpg/v1/fill/w_1600,h_1068,al_c,q_88/dc8391_721163b063ee4c63ac1e1feae1b09267~mv2.jpg') center/cover no-repeat}.hero-inner{max-width:900px;padding:90px 25px}.hero-logo{width:min(520px,82vw);margin:0 auto 35px}.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:13px;font-weight:700}.hero h1{font-size:clamp(38px,6vw,82px);line-height:1.02;margin:12px 0 20px;font-weight:400}.btn{display:inline-block;background:var(--gold);color:#081c30;padding:13px 21px;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700;border:0;cursor:pointer}.btn.outline{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}
section.page{display:none;min-height:70vh}.page.active{display:block}.section{padding:70px 22px}.wrap{max-width:1120px;margin:auto}.dark{background:var(--navy);color:#fff}.soft{background:var(--cream)}.eyebrow{text-transform:uppercase;letter-spacing:.2em;color:var(--gold);font-size:12px;font-weight:700}.title{font-size:clamp(32px,5vw,58px);line-height:1.06;margin:8px 0 25px;font-weight:400}.lead{font-size:20px;max-width:840px}.grid{display:grid;gap:24px}.grid4{grid-template-columns:repeat(4,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid #e5e5e5;padding:25px}.dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}.card h3{margin-top:0}.feature-card{padding:28px;background:#fff;min-height:190px;border-top:4px solid var(--gold)}.feature-card h3{font-size:20px;margin:0 0 8px}.feature-card a{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#856c38;font-weight:700}.venue{min-height:430px;color:#fff;display:flex;align-items:flex-end;background:linear-gradient(rgba(7,26,46,.2),rgba(7,26,46,.8)),url('https://static.wixstatic.com/media/dc8391_6709665e21b14514805dfb488cf7d435~mv2.jpg/v1/fill/w_1600,h_1067,al_c,q_88/dc8391_6709665e21b14514805dfb488cf7d435~mv2.jpg') center/cover}.venue .wrap{width:100%;padding-bottom:55px}.venue h2{font-size:42px;margin:0}.venue p{font-size:21px}.partners{text-align:center}.logo-row{display:flex;justify-content:center;align-items:center;gap:50px;flex-wrap:wrap;margin:28px 0}.logo-row img{max-height:68px;max-width:180px;object-fit:contain;filter:brightness(0) invert(1)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery div{aspect-ratio:4/3;background:linear-gradient(145deg,#d8d8d8,#eee);display:grid;place-items:center;color:#777;font-size:12px;text-align:center;padding:10px}.gallery img{width:100%;height:100%;object-fit:cover}
.judges{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.judge{border:1px solid #e7e7e7;background:#fff;overflow:hidden}.judge .photo{height:245px;background:#e8ebee;display:grid;place-items:center;color:#8c949d}.judge .body{padding:20px}.judge h3{margin:0;font-size:20px}.judge p{margin:4px 0;color:#65707a}
form{display:grid;gap:16px}.formgrid{grid-template-columns:repeat(2,1fr)}label{display:grid;gap:7px;font-size:13px;font-weight:700;letter-spacing:.03em}input,textarea,select{width:100%;padding:13px 14px;border:1px solid #cdd3d9;background:#fff;font:inherit}textarea{min-height:145px}.check{display:flex;align-items:center;gap:9px;font-weight:400}.check input{width:auto}.notice{padding:16px;background:#f5ead0;border-left:4px solid var(--gold);margin:20px 0}
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.news-card{border:1px solid #e1e4e7;background:#fff;overflow:hidden}.news-img{height:180px;background:linear-gradient(135deg,#0d2c49,#183f64);display:grid;place-items:center;color:#fff;padding:18px;text-align:center}.news-body{padding:20px}.news-body h3{font-size:20px;line-height:1.25;margin:0 0 10px}.meta{font-size:12px;color:#7a828a;text-transform:uppercase;letter-spacing:.08em}
.hotel{padding:25px;border:1px solid #e0e0e0;background:#fff}.hotel h3{margin-top:0}.quote{font-family:Georgia,serif;font-size:30px;line-height:1.35;color:#fff;max-width:900px;margin:auto;text-align:center}.quote:before{content:'“';font-size:90px;line-height:.2;color:var(--gold);display:block}
footer{background:#03111f;color:#cbd3db;padding:38px 22px}.foot{max-width:1120px;margin:auto;display:flex;align-items:center;gap:25px}.foot img{width:170px}.foot small{margin-left:auto}.mail{max-width:650px;margin:auto;text-align:center}.mail form{display:flex;gap:10px;margin-top:20px}.mail input{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.page-head{background:linear-gradient(135deg,#06172a,#0e3150);color:#fff;padding:90px 22px 60px}.page-head .wrap{max-width:1120px}.page-head h1{font-size:clamp(38px,6vw,70px);font-weight:400;margin:10px 0}.hr{height:1px;background:#e4e6e8;margin:35px 0}.small{font-size:13px;color:#737b84}.hidden{display:none!important}
@media(max-width:960px){.nav>a,.dropdown,.book{display:none}.mobile{display:block}.nav.open{align-items:flex-start;flex-wrap:wrap}.nav.open>a,.nav.open>.dropdown,.nav.open>.book{display:block;width:100%}.nav.open .dropdown .menu{position:static;display:block;box-shadow:none;border:0;margin-top:8px}.grid4,.grid3,.judges,.news{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.grid4,.grid3,.grid2,.judges,.news,.formgrid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.hero{min-height:70vh}.hero h1{font-size:42px}.mail form,.foot{flex-direction:column}.foot small{margin-left:0}.venue h2{font-size:34px}}

/* Heroes Rescue Mission v2: refined typography and centred page layouts */
body{font-family:'DM Sans',Arial,Helvetica,sans-serif;line-height:1.7;letter-spacing:.005em}
h1,h2,.title,.hero h1,.page-head h1,.venue h2,.quote{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.025em;font-weight:500}
h3,.card h3,.feature-card h3,.news-body h3,.judge h3{font-family:'DM Sans',Arial,sans-serif;font-weight:700;letter-spacing:-.015em}
.page-head,.page-head .wrap,.section>.wrap,.venue .wrap{text-align:center}
.section .lead,.section p,.section .notice{margin-left:auto;margin-right:auto}
.lead{line-height:1.75}
.section>.wrap>p{max-width:880px}
.card,.feature-card,.judge .body,.news-body,.hotel{text-align:center}
.grid .card p,.feature-card p,.news-body p{line-height:1.7}
.eyebrow,.kicker{letter-spacing:.19em}
.title{line-height:1.18}
.page-head h1{line-height:1.15}
.venue{align-items:center}
.venue .wrap{padding:45px 22px}
/* Keep form fields and controls readable even while page content is centred. */
.section form{margin-left:auto;margin-right:auto;text-align:left}
.section form h3{text-align:center}
.section form label{text-align:left}
.section form button{justify-self:center;min-width:180px}
.section .grid.formgrid{text-align:left}
.section .check{text-align:left}
footer .foot{text-align:left}
@media(max-width:620px){.page-head{padding:70px 20px 48px}.section{padding:52px 20px}.title{font-size:clamp(30px,9vw,44px)}.hero h1{font-size:clamp(34px,9vw,48px)}.venue .wrap{padding:40px 20px}}

/* v3: accessible, seamless sponsor ticker and sponsor directory */
.sponsor-sub{color:#d7dce1;margin:18px 0 26px}
.sponsor-ticker{overflow:hidden;position:relative;max-width:1120px;margin:0 auto;padding:12px 0;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.sponsor-track{display:flex;align-items:stretch;width:max-content;gap:16px;animation:sponsor-marquee 45s linear infinite}
.sponsor-ticker:hover .sponsor-track,.sponsor-ticker:focus-within .sponsor-track{animation-play-state:paused}
.sponsor-tile{width:210px;min-height:100px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;border:1px solid rgba(199,166,98,.5);border-radius:8px;background:rgba(255,255,255,.075);color:#fff!important;text-decoration:none;transition:background .2s,border-color .2s}
.sponsor-tile:hover,.sponsor-tile:focus-visible{background:rgba(199,166,98,.2);border-color:var(--gold)}
.sponsor-tile img{height:36px;width:36px;object-fit:contain;border-radius:4px}
.sponsor-tile span{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;line-height:1.25;letter-spacing:.01em;text-align:center}
.sponsor-hint{margin:24px 0 0}.sponsor-hint a{color:var(--gold);font-weight:700;text-decoration:underline;text-underline-offset:5px}
@keyframes sponsor-marquee{to{transform:translateX(-50%)}}
.sponsor-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:35px 0}
.sponsor-directory-card{padding:30px 20px;background:#f7f5f0;border:1px solid #e5ddcb;border-top:3px solid var(--gold);text-align:center}
.sponsor-wordmark{font-size:22px;font-weight:700;line-height:1.25;min-height:60px;display:flex;align-items:center;justify-content:center}
.sponsor-directory-card p{font-size:14px;color:#59616b}.sponsor-directory-card a{color:#80652f;font-weight:700;font-size:13px}
.sponsor-footnote{color:#666;font-size:13px}
@media(max-width:700px){.sponsor-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-tile{width:180px}}
@media(max-width:450px){.sponsor-directory{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.sponsor-track{animation:none}.sponsor-ticker{overflow-x:auto;mask-image:none}}

/* Heroes Rescue Mission v4 — smooth 8-photo highlights carousel */
.highlights-ticker{overflow:hidden;width:100%;margin:26px auto 0;mask-image:linear-gradient(to right,transparent,black 3%,black 97%,transparent)}
.highlights-track{display:flex;gap:16px;width:max-content;animation:highlights-scroll 75s linear infinite;align-items:stretch}
.highlight-slide{display:block;position:relative;flex:0 0 clamp(240px,25vw,350px);width:clamp(240px,25vw,350px);aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:linear-gradient(135deg,#142f4a,#071a2e);box-shadow:0 3px 12px rgba(0,0,0,.08)}
.highlight-slide img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.highlight-slide:hover img{transform:scale(1.045)}
.highlight-fallback{width:100%;height:100%;place-items:center;text-align:center;color:#d4b46e;font-family:'Playfair Display',Georgia,serif;font-size:24px;letter-spacing:.03em;padding:20px}
.highlights-ticker:hover .highlights-track,.highlights-ticker:focus-within .highlights-track{animation-play-state:paused}
@keyframes highlights-scroll{to{transform:translateX(calc(-50% - 8px))}}
/* Rounded action buttons throughout all site pages */
.btn,.book,button,.dropbtn,.sponsor-tile,input[type=submit],input[type=button]{border-radius:10px}
.btn,.book,button{transition:border-radius .2s ease,filter .2s ease,transform .2s ease}
.btn:hover,.book:hover,button:hover{filter:brightness(1.07)}
@media(max-width:620px){.highlight-slide{flex-basis:260px;width:260px}.highlights-track{animation-duration:90s}}
@media(prefers-reduced-motion:reduce){.highlights-track{animation:none}.highlights-ticker{overflow-x:auto;mask-image:none}}

/* v5: display the actual 2025 photographs in the highlights archive */
.gallery[data-year="2025"] a{display:block;overflow:hidden;border-radius:12px;aspect-ratio:4/3;background:#dcdcdc}
.gallery[data-year="2025"] img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gallery[data-year="2025"] a:hover img{transform:scale(1.035)}

body{font-family:"DM Sans",Arial,sans-serif} h1,h2,.title{font-family:"Playfair Display",Georgia,serif} .btn,.book,button{border-radius:9px} .judge .photo img{width:100%;height:100%;object-fit:cover} .judge .photo{overflow:hidden} .wp-content{max-width:1000px;margin:0 auto;padding:55px 20px} .wp-content p{text-align:center} .wp-content h1{text-align:center} .wp-block-image img{height:auto} .menu{z-index:90}

/* Heroes v7 — image-first sponsor directory and white transparent ticker */
.sponsor-tile img{width:175px;height:66px;max-width:100%;max-height:66px;object-fit:contain;border-radius:0}
.sponsor-tile{min-height:104px}
.sponsor-directory-logo{height:110px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.sponsor-directory-logo img{max-width:90%;max-height:100%;object-fit:contain}
.sponsor-directory-card h3{font-family:'DM Sans',sans-serif;font-size:18px;margin:8px 0}
.sponsor-empty{color:#fff;white-space:nowrap;padding:20px}

/* Sponsor feature card count adapts when sponsor visibility is off */
#home .grid4:has(> .feature-card:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
@media(max-width:960px){#home .grid4:has(> .feature-card:nth-child(3):last-child){grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){#home .grid4:has(> .feature-card:nth-child(3):last-child){grid-template-columns:1fr}}

/* Heroes v7.3: responsive, natural-aspect gallery collage */
.heroes-photo-collage{columns:3 260px;column-gap:15px}.heroes-photo-collage a{display:block;break-inside:avoid;margin-bottom:15px;overflow:hidden;border-radius:10px;background:#e9edf0}.heroes-photo-collage img{display:block;width:100%;height:auto;transition:transform .25s ease}.heroes-photo-collage a:hover img{transform:scale(1.025)}.gallery-empty{color:#6b7480;text-align:center;padding:35px}.highlights-track img{width:100%;height:100%;object-fit:cover}@media(max-width:680px){.heroes-photo-collage{columns:2 140px;column-gap:9px}.heroes-photo-collage a{margin-bottom:9px}}

/* Heroes v7.4: individual judge profiles */
#cmsJudgesGrid .judge h3 a {color:inherit;text-decoration:none;}
#cmsJudgesGrid .judge h3 a:hover,.judge-profile-link:hover {text-decoration:underline;}
.judge-profile-link {display:inline-block;margin-top:12px;color:#bb9854;font-weight:700;text-decoration:none;}
.heroes-judge-profile {min-height:75vh;background:#071b30;color:#fff;padding:80px 24px;}
.heroes-judge-profile-inner {max-width:1120px;margin:0 auto;}
.heroes-judge-back {color:#d9ba73;text-decoration:none;}
.heroes-judge-profile-grid {display:grid;grid-template-columns:minmax(220px,370px) minmax(0,1fr);gap:52px;align-items:start;margin-top:40px;}
.heroes-judge-portrait img {width:100%;height:auto;display:block;object-fit:cover;border-radius:8px;}
.heroes-judge-biography h1 {font-size:clamp(36px,5vw,66px);line-height:1.1;margin:8px 0 16px;color:white;}
.heroes-judge-eyebrow {letter-spacing:.15em;color:#d9ba73;font-size:13px;font-weight:700;}
.heroes-judge-job {font-size:20px;color:#d9ba73;}
.heroes-judge-company-logo {max-width:220px;max-height:95px;object-fit:contain;margin:12px 0 22px;}
.heroes-judge-content {font-size:17px;line-height:1.75;}
@media(max-width:700px){.heroes-judge-profile{padding:40px 20px}.heroes-judge-profile-grid{grid-template-columns:1fr;gap:24px}.heroes-judge-portrait{max-width:400px}}
