:root{--bg:#061629;--panel:#0e2942;--panel2:#102e49;--line:#34516b;--white:#f7f9ff;--muted:#b9c9da;--mint:#12e7a3;--pink:#de68fb;--gold:#ffbe4b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 4%,#172954,#061629 40%);color:var(--white);font:16px/1.5 'DM Sans',sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Nunito,sans-serif;line-height:1.13}h2{font-size:1.6rem;margin-bottom:.35rem}p{color:var(--muted)}.site-header{height:90px;display:flex;align-items:center;justify-content:space-between;gap:22px;max-width:1530px;margin:auto;padding:0 3.3%;position:relative;z-index:100;background:#091b32}.brand{display:flex;flex-direction:column;align-items:center;line-height:.9;min-width:174px;transform:rotate(-3deg);text-shadow:0 3px 0 #071120,0 0 11px #a941fa}.brand-roofs{font-size:1.7rem;color:#f9a73a;letter-spacing:.4rem}.brand strong{font-family:Nunito,sans-serif;font-weight:900;font-size:1.6rem;letter-spacing:-.07em;white-space:nowrap}.brand em{font-style:normal;color:#ffbf4a}.brand small{font-size:.53rem;letter-spacing:.12em;margin-top:7px;font-weight:900;white-space:nowrap}.site-header nav{display:flex;align-items:center;gap:4px;padding:5px;background:#0c2540;border-radius:15px}.site-header nav a{padding:11px 16px;border-radius:11px;font-weight:700;font-size:.87rem;white-space:nowrap}.site-header nav a.active,.site-header nav a:hover{background:#584024;box-shadow:0 0 15px #ed902e66;color:white}.header-badge{border:1px solid #a65edf;box-shadow:0 0 15px #a65edf66;border-radius:13px;padding:12px 16px;color:#fff;font-size:.74rem;font-weight:800;white-space:nowrap}.header-badge:first-letter{color:var(--pink)}.menu-toggle{display:none}main{max-width:1530px;margin:auto;padding:0 3.3% 75px}.hero{min-height:420px;position:relative;background:#0b1e39 url('/assets/christmas-hero.png') center 55%/cover no-repeat;border-radius:0 0 24px 24px;overflow:hidden;display:grid;place-items:center;text-align:center;margin-bottom:14px}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#06132366,#0713263d,#06132355),linear-gradient(0deg,#061629ed,transparent 36%)}.hero-content{position:relative;z-index:1;width:min(780px,92%);padding:42px 0 35px;text-shadow:0 2px 14px #061021}.eyebrow{font-size:.8rem;font-weight:900;letter-spacing:.15em;color:#78fcd0;text-transform:uppercase}.hero h1{font-size:clamp(4rem,8vw,7.5rem);letter-spacing:-.08em;margin:.15em 0 0;font-weight:900;line-height:.9;-webkit-text-stroke:2px #0b182d;text-shadow:4px 7px 0 #061324,0 0 22px #3ca6d899}.hero h1 span{display:block;color:#ffb950;font-size:.82em;transform:rotate(-3deg)}.hero-script{font-family:Nunito,sans-serif;font-size:1.23rem;color:white;font-style:italic;font-weight:800;margin:20px 0 12px}.hero-script i{color:#fa667c;padding:0 8px}.hero-content>p:not(.hero-script){color:white;font-size:1rem;font-weight:600}.hero-actions{display:flex;justify-content:center;gap:14px;margin-top:20px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:52px;padding:11px 22px;border-radius:12px;font-weight:900;cursor:pointer;transition:transform .2s,box-shadow .2s;text-align:center}.button:hover{transform:translateY(-3px)}.button.primary{background:linear-gradient(120deg,#06bb7f,#086e60);border:1px solid #2bf3b0;box-shadow:0 0 20px #00c78a77;color:#fff}.button.secondary{background:#221942da;border:1px solid #a956df;box-shadow:0 0 15px #973cec77}.button.light{background:white;color:#451f80}.button span{font-size:1.4rem}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(120deg,#112c45,#0a2038);border:1px solid var(--line);border-radius:14px;margin:0 0 14px;padding:10px}.quick-links a{min-height:87px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-right:1px solid #29435c;text-align:center}.quick-links a:last-child{border:0}.quick-links span{font-size:1.7rem;color:#df69f7;line-height:1.2}.quick-links strong{font-size:.91rem}.quick-links small{color:var(--muted);font-size:.77rem}.quick-links a:hover{background:#193e5d;border-radius:10px}.explore-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr);gap:14px}.panel{border-radius:14px;border:1px solid var(--line);background:linear-gradient(145deg,#102c46,#0a2036);padding:17px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.section-head h2{margin:0}.section-head p{margin:2px 0 12px;font-size:.85rem}.section-head>a,.text-link{color:#e07afb;white-space:nowrap;font-weight:800;font-size:.85rem}.section-head>a:hover,.text-link:hover{text-decoration:underline}.search-box{display:flex;align-items:center;gap:10px;background:#203b54;border:1px solid #5a738a;border-radius:30px;padding:9px 16px;font-size:1.3rem;margin:12px 0}.search-box input{background:transparent;border:0;color:white;width:100%;min-width:0;outline:0;font-size:.9rem}.search-box input::placeholder{color:#c6d4df}.map-shell{border-radius:11px;overflow:hidden;border:1px solid #3e566d}.map-canvas{height:280px;background:#112a39;z-index:0}.map-fallback{display:grid;place-items:center;height:100%;padding:20px;text-align:center}.map-key{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;background:#081d32;color:#cae2e7;font-size:.75rem}.leaflet-container{font-family:'DM Sans',sans-serif}.leaflet-popup-content-wrapper{border-radius:11px}.leaflet-popup-content a{color:#075f72;font-weight:800}.marker-wrap{background:none;border:0}.tree-marker{display:grid;place-items:center;background:#0d624e;border:2px solid #34f8be;box-shadow:0 0 18px #09e398,0 4px 10px #001;font-size:1.35rem;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);width:36px;height:36px}.tree-marker::first-letter{transform:rotate(45deg)}.latest-panel{padding:16px 13px}.latest-list{display:grid;gap:8px;margin-top:12px}.latest-item{display:flex;align-items:center;gap:12px;min-height:69px;background:#122f49;border:1px solid #244660;border-radius:10px;padding:5px 9px;transition:background .2s}.latest-item:hover{background:#1d4565}.display-photo{position:relative;min-height:155px;background-image:linear-gradient(0deg,#06172988,transparent 70%),url('/assets/christmas-hero.png');background-size:auto,520% auto;background-position:center,12% 70%;overflow:hidden}.display-photo.home2{background-position:center,31% 68%}.display-photo.home3{background-position:center,76% 68%}.display-photo.home4{background-position:center,90% 72%}.display-photo.home5{background-position:center,60% 78%}.photo-spark{position:absolute;top:9px;right:12px;color:#ffe38c;text-shadow:0 0 15px orange}.latest-item .display-photo{width:105px;min-width:105px;height:55px;min-height:55px;border:1px solid #56718a;border-radius:7px}.latest-item span:not(.photo-spark){display:flex;flex-direction:column;min-width:0;flex:1}.latest-item strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.latest-item small{font-size:.72rem;color:#b4c5d5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.latest-item em{font-size:.72rem;color:#61f2c0;font-style:normal}.latest-item>b{font-size:1.6rem;font-weight:400}.featured{margin-top:22px}.featured .section-head{margin:0 2px 12px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.display-card{display:block;border:1px solid #36516c;border-radius:12px;overflow:hidden;background:#0c263d;transition:transform .2s,border-color .2s}.display-card:hover{transform:translateY(-4px);border-color:#36e5ba}.display-card-copy{padding:11px 13px;display:flex;flex-direction:column}.display-card-copy strong{font-size:1rem}.display-card-copy>span{color:#bccbd8;font-size:.8rem}.display-card-copy small{color:#5ff1c0;font-size:.76rem;margin-top:6px}.display-card-copy b{float:right;color:white}.callout{display:flex;align-items:center;gap:22px;background:linear-gradient(115deg,#62179a,#361b79 52%,#6b1599);border:1px solid #c34af5;box-shadow:0 0 22px #8f34cf5e;border-radius:14px;padding:24px 29px;margin:22px 0}.callout>span{font-size:2.5rem}.callout div{flex:1}.callout h2{margin:0 0 3px}.callout p{margin:0;color:#f7e6ff;font-size:.9rem}.about-teaser{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px;margin-top:22px}.about-teaser p{max-width:600px}.teaser-art{font-size:3rem;text-align:center;min-width:260px;color:#fbc35d;text-shadow:0 0 26px #df77ff}.footer{background:#07182a;position:relative;border-top:1px solid #31435a;overflow:hidden}.footer-glow{height:35px;background:linear-gradient(0deg,#07182a,#dc6c3c44);position:relative}.footer-glow:after{content:'♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠ ♠';position:absolute;bottom:-10px;left:0;right:0;white-space:nowrap;overflow:hidden;letter-spacing:18px;font-size:28px;color:#07182a}.footer-inner{max-width:1530px;margin:auto;padding:24px 3.3% 34px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{min-width:130px}.footer-brand strong{font-size:1.25rem}.footer-links{display:flex;flex-wrap:wrap;gap:15px;font-size:.8rem}.footer p{text-align:right;font-size:.8rem;margin:0}.inner-hero{background:linear-gradient(90deg,#102340d9,#102445aa),url('/assets/christmas-hero.png') center 55%/cover;min-height:220px;border-radius:0 0 18px 18px;display:flex;flex-direction:column;justify-content:center;padding:35px 5%;margin-bottom:20px}.inner-hero h1{font-size:clamp(2.3rem,5vw,4.4rem);margin:8px 0}.inner-hero p{color:#f1f8ff;margin:0;font-weight:600;max-width:690px}.full-map-panel .map-canvas{height:500px}.full-map-panel .search-box{max-width:600px}.sample-label,.sample-note{color:#d1bced;font-size:.83rem}.below-map,.listing-panel{margin-top:18px}.below-map h2{margin-bottom:15px}.listing-panel .cards{grid-template-columns:repeat(3,1fr)}.detail-layout,.form-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:18px}.detail-main{padding:0;overflow:hidden}.display-photo.large{min-height:440px;background-size:auto,190% auto;background-position:center,17% 62%}.detail-body{padding:27px}.detail-body h2{font-size:2rem;margin-top:12px}.season-pill{display:inline-flex;background:#075441;color:#9ef8d8;padding:6px 12px;border:1px solid #13a981;border-radius:20px;font-size:.8rem;font-weight:800}.sample-note{padding:11px 14px;border:1px solid #665077;background:#3420447a;border-radius:9px}.detail-side p{line-height:1.8}.mini-map{height:220px;border-radius:9px;overflow:hidden;margin:16px 0}.full{display:flex;width:100%;margin-bottom:18px}.form-panel,.form-aside{padding:27px}.form-panel form{display:grid;gap:18px}.form-panel label{display:grid;gap:7px;color:#eaf6ff;font-weight:700;font-size:.88rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-panel input,.form-panel select,.form-panel textarea{background:#0a1e33;border:1px solid #59718b;border-radius:10px;padding:13px;color:white;width:100%;min-width:0}.form-panel input::placeholder,.form-panel textarea::placeholder{color:#8fa9bf}.form-panel input[type=file]{font-size:.82rem}.form-panel button{justify-self:start}.form-panel #form-message{color:#79edbb;font-weight:700}.form-aside{align-self:start;background:linear-gradient(145deg,#30215a,#0e2e48)}.aside-icon{font-size:3.5rem}.form-aside hr{border:0;border-top:1px solid #52627d;margin:25px 0}.story-panel,.team-panel{padding:30px;margin:0 0 20px}.story-panel p{max-width:780px;font-size:1.05rem}.team-placeholder{display:flex;align-items:center;gap:20px;background:#0a2138;border:1px dashed #73839e;border-radius:12px;padding:24px;max-width:720px}.team-placeholder>span{font-size:3rem}.team-placeholder p{margin:4px 0 0}.team-placeholder strong{font-size:1.1rem}@media(max-width:1100px){.site-header{gap:10px}.site-header nav a{padding:10px}.header-badge{display:none}.explore-grid{grid-template-columns:1.25fr 1fr}.latest-item .display-photo{width:77px;min-width:77px}}@media(max-width:760px){.site-header{height:88px;padding:0 5%}.site-header .brand{min-width:145px}.site-header .brand strong{font-size:1.38rem}.site-header .brand-roofs{font-size:1.3rem}.menu-toggle{display:block;background:transparent;border:0;color:white;font-size:1.8rem;cursor:pointer}.site-header nav{display:none;position:absolute;top:77px;left:4%;right:4%;padding:12px;flex-direction:column;align-items:stretch;box-shadow:0 18px 30px #0009;border:1px solid #3b5d77}.site-header nav.open{display:flex}.site-header nav a{padding:12px 16px}main{padding:0 4% 45px}.hero{min-height:510px;background-position:60% center;border-radius:15px}.hero-content{padding:70px 5px 26px;width:96%}.hero h1{font-size:clamp(4rem,15vw,6rem)}.hero-script{font-size:.95rem}.hero-content>p:not(.hero-script){font-size:.9rem}.hero-actions{flex-direction:column;align-items:stretch;max-width:360px;margin:18px auto 0}.quick-links{grid-template-columns:repeat(2,1fr);gap:4px}.quick-links a{border:1px solid #29435c;border-radius:9px;min-height:86px}.explore-grid,.detail-layout,.form-layout{grid-template-columns:1fr}.latest-panel{order:2}.map-canvas{height:310px}.cards,.listing-panel .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.callout{flex-direction:column;text-align:center;gap:8px}.about-teaser{padding:22px}.teaser-art{display:none}.footer-inner{flex-direction:column;text-align:center}.footer p{text-align:center}.inner-hero{min-height:205px}.full-map-panel .map-canvas{height:450px}.display-photo.large{min-height:310px}}@media(max-width:500px){.hero{min-height:510px;background-position:57% center}.hero-shade{background:linear-gradient(0deg,#061629e8,#06162935 90%),linear-gradient(90deg,#06162955,#06162922)}.hero h1{font-size:4.2rem}.hero-script i{padding:0 3px}.section-head h2{font-size:1.3rem}.section-head>a{font-size:.76rem}.cards,.listing-panel .cards{grid-template-columns:1fr 1fr;gap:9px}.display-card .display-photo{min-height:110px}.display-card-copy{padding:9px}.display-card-copy strong{font-size:.85rem}.display-card-copy>span,.display-card-copy small{font-size:.71rem}.map-canvas{height:280px}.form-row{grid-template-columns:1fr}.panel{padding:14px}.form-panel,.form-aside{padding:20px}.display-photo.large{min-height:245px}.detail-main{padding:0}.team-placeholder{align-items:flex-start}.footer-links{justify-content:center}.map-key{font-size:.67rem}}
/* Approved reference refinements */
.hero{min-height:410px;background-position:center center}.hero-shade{background:linear-gradient(0deg,#061629a8,transparent 48%),radial-gradient(ellipse at 50% 58%,#061629ad,transparent 58%)}.hero-content{padding-top:45px}.lights{font-size:1rem;letter-spacing:.3em;filter:drop-shadow(0 0 8px #ffcd55);margin-bottom:3px}.hero h1{font-family:Nunito,sans-serif;font-size:clamp(4.2rem,7.4vw,7.4rem);line-height:.77;letter-spacing:-.085em;-webkit-text-stroke:3px #09101a;text-shadow:4px 7px 0 #08101d,0 0 12px #77c8ff;transform:rotate(-2deg);margin:12px 0 20px}.hero h1 span{color:#ffa948;font-size:.81em;transform:rotate(-3deg);margin-top:5px;text-shadow:4px 7px 0 #08101d,0 0 14px #ff8d3a}.hero-script{font-family:Nunito,sans-serif;font-style:italic;letter-spacing:.02em;margin-top:12px}.quick-links{grid-template-columns:repeat(5,1fr)}.quick-links a:nth-child(5){display:flex}.lower-grid{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:14px;align-items:stretch;margin-top:13px}.featured{margin:0;background:linear-gradient(145deg,#102c46,#0a2036);border:1px solid var(--line);border-radius:14px;padding:13px}.featured .cards{gap:8px}.featured .display-photo{min-height:125px}.featured .display-card-copy strong{font-size:.9rem}.lower-grid .callout{margin:0;flex-direction:column;justify-content:center;gap:7px;text-align:center;padding:19px 15px}.lower-grid .callout>span{font-size:2.6rem}.lower-grid .callout .button{width:100%;font-size:.85rem;min-height:42px}.display-photo{background-image:linear-gradient(0deg,#06172977,transparent 55%),url('/assets/display-samples.png');background-size:auto,400% 100%;background-position:center,0% center}.display-photo.home2{background-position:center,33.33% center}.display-photo.home3{background-position:center,66.66% center}.display-photo.home4,.display-photo.home5{background-position:center,100% center}.display-photo.large{background-size:auto,400% 100%;background-position:center,0% center}.display-photo.large.home2{background-position:center,33.33% center}.display-photo.large.home3{background-position:center,66.66% center}.display-photo.large.home4,.display-photo.large.home5{background-position:center,100% center}.leaflet-tile-pane{filter:invert(95%) hue-rotate(180deg) brightness(.72) contrast(1.12) saturate(.85)}.map-canvas{background:#10243b}.tree-marker{background:#086f57;border-color:#20e8ab;color:white}.footer-glow{height:42px;background:linear-gradient(0deg,#07182a,#fa76424f)}
@media(max-width:1000px){.lower-grid{grid-template-columns:1fr}.lower-grid .callout{flex-direction:row;text-align:left}.lower-grid .callout .button{width:auto}}@media(max-width:760px){.hero{min-height:500px;background-position:57% center}.hero-shade{background:linear-gradient(0deg,#061629dd,transparent 95%),radial-gradient(ellipse at center,#06162999,transparent 75%)}.quick-links{grid-template-columns:repeat(4,1fr);gap:6px}.quick-links a{min-height:76px}.quick-links a:nth-child(5){display:none}.quick-links strong{font-size:.76rem}.quick-links small{display:none}.quick-links span{font-size:1.5rem}.lower-grid .callout{flex-direction:column;text-align:center}.lower-grid .callout .button{width:100%}.lower-grid .featured .cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:500px){.hero{min-height:475px}.hero h1{font-size:clamp(3.7rem,14vw,5rem)}.hero-script{font-size:.88rem}.lower-grid .featured .cards{grid-template-columns:repeat(2,1fr)}.lower-grid .featured .display-card:last-child{display:none}}
/* Two trail prototype, following the approved split-season mock-up */
.hero,.inner-hero{background-image:url('/assets/seasonal-hero.png')}.hero{background-position:center center}.hero-actions .halloween-button{background:linear-gradient(115deg,#ff9d2a,#bb320f);border:1px solid #ffb447;box-shadow:0 0 19px #ff681ca6;color:white}.hero-actions .primary{background:linear-gradient(115deg,#00bd82,#035244);box-shadow:0 0 19px #00e89999}.hero-script{margin-bottom:8px}.hero-content>p:not(.hero-script){margin-bottom:10px}.season-filters{display:flex;gap:8px;margin:0 0 10px}.season-filters a{border:1px solid #446782;background:#122d46;border-radius:22px;padding:5px 12px;font-size:.78rem;font-weight:800;color:#d9e8ed}.season-filters a.selected{background:#0a775d;border-color:#2feab2;color:white}.season-filters a.halloween{background:#7c3819;border-color:#ff9f35}.season-filters a.christmas{background:#0a775d;border-color:#2feab2}.tree-marker.halloween{background:#7e2b12;border-color:#ff9e36;box-shadow:0 0 18px #ff7619,0 4px 10px #001}.latest-item em.halloween{color:#ffa23c}.display-photo.halloween{background-image:linear-gradient(0deg,#06172977,transparent 55%),url('/assets/halloween-samples.png');background-size:auto,200% 100%;background-position:center,0% center}.display-photo.halloween.home5{background-position:center,100% center}.display-photo.halloween.large{background-size:auto,200% 100%}.display-photo.halloween.large.home5{background-position:center,100% center}.lower-grid .featured .cards{grid-template-columns:repeat(4,minmax(0,1fr))}.lower-grid .featured .display-card:nth-child(n+5){display:none}.hero-actions{max-width:760px;margin-left:auto;margin-right:auto}.hero-actions>a{flex:1}.inner-hero{background-position:center 52%}.season-pill:has(+ h2){color:#9ef8d8}
@media(max-width:760px){.hero-actions{max-width:360px}.hero{background-position:center center}.hero-shade{background:linear-gradient(0deg,#061629d9,#0616296b 70%,#06162922)}.lower-grid .featured .cards{grid-template-columns:repeat(2,1fr)}.lower-grid .featured .display-card:nth-child(n+3){display:none}.season-filters{overflow:auto;white-space:nowrap}}
/* Preserve the exact approved logo artwork from the supplied mock-up. */
.brand{display:block;position:relative;min-width:150px;width:150px;height:78px;flex:none;transform:none;text-shadow:none;background:url('/assets/approved-mockup.png') -69px -43px / 1448px 1086px no-repeat}
.brand>*{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.footer-brand{width:150px;min-width:150px;height:78px}
@media(max-width:760px){.site-header .brand{min-width:150px;width:150px}}
.hero-logo{display:block;width:clamp(250px,29vw,370px);height:auto;margin:0 auto -3px;filter:drop-shadow(0 8px 14px #020b17aa)}
.hero-content{padding-top:27px;padding-bottom:28px}.hero-script{margin-top:0}
@media(max-width:760px){.hero-logo{width:min(69vw,285px)}.hero-content{padding-top:45px}}
/* Footer styled from the supplied approved footer reference. */
.footer{border-top:0;background:#081a2d;box-shadow:0 -8px 24px #0003}.footer-glow{height:46px;background:#102037 url('/assets/footer-reference.png') center top / auto 113px repeat-x}.footer-glow:after{display:none}.footer-inner{padding:0 3.3% 15px;max-width:1530px;min-height:66px;display:grid;grid-template-columns:160px minmax(340px,1fr) auto minmax(190px,1fr) 175px;align-items:center;gap:15px}.footer-brand{width:145px;min-width:145px;height:63px;background-position:-70px -47px;transform:scale(.85);transform-origin:left center}.footer-links{display:flex;flex-wrap:nowrap;justify-content:center;gap:clamp(10px,1.4vw,23px);font-size:.78rem;white-space:nowrap}.footer-links a:hover{color:#e17bff}.footer-social{display:flex;gap:11px;align-items:center;color:#fff;font-size:1.2rem;font-weight:900;white-space:nowrap}.footer-social span:first-child{font-family:Arial,sans-serif;letter-spacing:-.08em}.footer-credit{font-size:.72rem;line-height:1.25;text-align:center;margin:0;color:#cbd9e7}.footer-motto{font-family:'Nunito',cursive;font-style:italic;font-weight:700;line-height:1.12;text-align:center;font-size:.93rem;color:#f4eaff;margin:0;transform:rotate(-4deg)}.footer-motto span{color:#ff506a;font-style:normal}
@media(max-width:1180px){.footer-inner{grid-template-columns:150px 1fr auto 165px;gap:8px}.footer-credit{display:none}.footer-links{gap:11px;font-size:.72rem}}
@media(max-width:760px){.footer-glow{height:38px;background-size:auto 95px}.footer-inner{display:flex;flex-direction:column;gap:9px;padding:0 5% 25px;min-height:0}.footer-brand{transform:scale(.9);transform-origin:center top;margin:0 auto;height:64px}.footer-links{justify-content:center;flex-wrap:wrap;gap:12px 19px;font-size:.8rem}.footer-credit{display:block}.footer-motto{font-size:.85rem;margin-top:4px}}
.footer-social span:first-child{width:19px;height:19px;background:white;color:#07182a;border-radius:50%;display:grid;place-items:center;font:bold 15px Arial,sans-serif;padding-top:3px}.footer-social span:last-child{font-size:.95rem;background:white;color:#081a2d;border-radius:4px;padding:0 4px;line-height:16px}
/* Remove the stray CTA edge captured above the skyline reference. */
.footer-glow{background-image:linear-gradient(to bottom,#0a1a30 0 7px,transparent 7px),url('/assets/footer-reference.png');background-position:center top,center top;background-size:auto,auto 113px;background-repeat:repeat-x}
/* Keep inner-page titles legible over the brightly lit artwork. */
.inner-hero{background-image:linear-gradient(90deg,rgba(4,13,31,.93) 0%,rgba(4,13,31,.78) 58%,rgba(4,13,31,.42) 100%),url('/assets/seasonal-hero.png');background-position:center,center 52%}
.inner-hero h1{color:#fff;text-shadow:0 3px 14px #030915,0 1px 3px #030915}
.inner-hero .eyebrow,.inner-hero p{text-shadow:0 2px 8px #030915}
@media(max-width:760px){.footer-glow{background-size:auto,auto 95px}.inner-hero{background-image:linear-gradient(90deg,rgba(4,13,31,.9),rgba(4,13,31,.66)),url('/assets/seasonal-hero.png')}}
/* Optional community features */
.feature-nav{display:contents}.site-header nav a{padding:11px 12px}.community-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.community-action{display:flex;align-items:center;gap:16px;padding:19px 22px;border-radius:14px;border:1px solid #b16ceb;background:linear-gradient(110deg,#3b185e,#1b294f);box-shadow:0 0 17px #7039b94d}.community-action:hover{transform:translateY(-2px)}.community-action.charity-action{background:linear-gradient(110deg,#132f4c,#15534c);border-color:#36cead}.community-action>span{font-size:2rem;color:#f2a7ff}.community-action.charity-action>span{color:#67f5c0}.community-action div{display:flex;flex-direction:column;flex:1}.community-action strong{font:900 1.2rem Nunito,sans-serif}.community-action small{color:#d4dce9}.community-action b{font-size:1.4rem}.vote-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px}.vote-main,.vote-aside{padding:25px}.vote-cards{grid-template-columns:repeat(3,minmax(0,1fr));margin:17px 0 22px}.vote-card{position:relative;display:block;cursor:pointer;border:2px solid #36516c;border-radius:12px;overflow:hidden;background:#0c263d}.vote-card:has(input:checked){border-color:#e886fa;box-shadow:0 0 16px #d259e66b}.vote-card input{position:absolute;top:10px;left:10px;width:20px;height:20px;z-index:1;accent-color:#bd50e6}.vote-card .display-photo{min-height:130px}.vote-card>span{display:flex;flex-direction:column;padding:10px 12px}.vote-card strong{font-size:.9rem}.vote-card small{color:#b5cadb}.vote-main #vote-message{color:#86f6ca;font-weight:700;margin-top:15px}.vote-aside{align-self:start;background:linear-gradient(145deg,#32205a,#0e2e48)}.charity-page{display:flex;align-items:center;gap:32px;padding:40px;min-height:250px}.charity-symbol{display:grid;place-items:center;flex:none;width:150px;height:150px;border-radius:28px;background:linear-gradient(135deg,#5d1d97,#b34bea);font-size:5rem;color:#ffd6fb;box-shadow:0 0 30px #a34fed77}.charity-page p{max-width:760px}.charity-note{margin-top:18px;padding:30px}.charity-note .button{margin-top:5px}.settings-panel{max-width:760px;margin:auto;padding:28px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #35516d;padding:21px 0;cursor:pointer}.setting-row span{display:flex;flex-direction:column}.setting-row strong{font-size:1.05rem}.setting-row small{color:#a9bdcf;margin-top:3px}.setting-row input{appearance:none;position:relative;flex:none;width:52px;height:30px;border-radius:30px;background:#5b6478;border:1px solid #7890a0;cursor:pointer;transition:background .2s}.setting-row input:before{content:'';position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:transform .2s}.setting-row input:checked{background:#0cc58c;border-color:#61f1c5}.setting-row input:checked:before{transform:translateX(22px)}.settings-actions{margin-top:10px}.settings-link{font-size:.68rem;color:#bf91de;text-decoration:underline}.footer-links{gap:clamp(7px,.95vw,15px)}
@media(max-width:1180px){.site-header nav a{padding:10px 8px;font-size:.8rem}.footer-inner{grid-template-columns:135px 1fr auto 140px}.footer-links{gap:7px}.footer-links a{font-size:.67rem}}
@media(max-width:760px){.community-actions,.vote-layout{grid-template-columns:1fr}.vote-cards{grid-template-columns:repeat(2,1fr)}.charity-page{padding:25px;align-items:flex-start}.charity-symbol{width:90px;height:90px;font-size:3rem}.footer-inner{display:flex}.footer-links{gap:12px 19px}.footer-links a{font-size:.8rem}}
@media(max-width:500px){.vote-cards{grid-template-columns:repeat(2,1fr)}.vote-card .display-photo{min-height:105px}.charity-page{flex-direction:column}.settings-panel{padding:18px}.community-action{padding:16px}}
/* Transparent brand artwork replaces the rectangular mock-up crop. */
.brand,.footer-brand{background:none;transform:none;width:160px;min-width:160px;height:78px}
.brand:before{content:'';display:block;width:100%;height:100%;background:url('/assets/header-logo-transparent.png') center / contain no-repeat}
.footer-brand{width:145px;min-width:145px;height:64px}
@media(max-width:760px){.site-header .brand{width:150px;min-width:150px;height:72px}.footer-brand{width:145px;min-width:145px;height:64px}}
/* Preserve each landscape display photo's aspect ratio. */
.display-photo,.display-photo.large,.display-photo.halloween,.display-photo.halloween.large{background-image:linear-gradient(0deg,#06172970,transparent 60%),url('/assets/display-grid.png');background-size:auto,200% 200%;background-position:center,0% 0%;background-repeat:no-repeat}
.display-photo.home1,.display-photo.large.home1{background-position:center,0% 0%}
.display-photo.home2,.display-photo.large.home2{background-position:center,100% 0%}
.display-photo.home3,.display-photo.large.home3{background-position:center,100% 100%}
.display-photo.halloween.home4,.display-photo.halloween.large.home4{background-position:center,0% 100%}
.display-photo.home4:not(.halloween),.display-photo.large.home4:not(.halloween){background-position:center,100% 0%}
.display-photo.home5:not(.halloween),.display-photo.large.home5:not(.halloween){background-position:center,0% 0%}
.display-photo.halloween.home5,.display-photo.halloween.large.home5{background-image:linear-gradient(0deg,#06172970,transparent 60%),url('/assets/halloween-samples.png');background-size:auto,200% auto;background-position:center,100% 48%}
.map-credit{font-size:.72rem;color:#98acc0;text-align:right;margin:6px 3px 0}.map-credit a{color:#bdd9e8;text-decoration:underline}.detail-side .map-credit{margin:-7px 0 16px;text-align:left}
/* Scale by width and crop vertically; never stretch a house to fit a card. */
.display-photo,.display-photo.large,.display-photo.halloween,.display-photo.halloween.large{background-size:auto,200% auto}
.display-photo.halloween.home5,.display-photo.halloween.large.home5{background-size:auto,200% auto}
/* Clearer map tiles and upright seasonal pin icons. */
.leaflet-tile-pane{filter:invert(95%) hue-rotate(180deg) brightness(1.22) contrast(.88) saturate(.92)}
.tree-marker{display:flex;align-items:center;justify-content:center;transform:rotate(-45deg);font-size:1.25rem}
.marker-glyph{display:block;line-height:1;transform:rotate(45deg)}
.map-credit{font-size:.75rem;color:#a9bfd0}.map-credit a{color:#d1e8f4}
.map-about-credit{margin:0 0 20px;padding:20px 30px}.map-about-credit p{margin:0}.map-about-credit a{color:#8feecf;text-decoration:underline}

/* Roomier trail map and a slightly brighter night map. */
.leaflet-tile-pane{filter:invert(95%) hue-rotate(180deg) brightness(1.32) contrast(.85) saturate(.93)}
.full-map-panel .map-canvas{height:clamp(590px,72vh,800px)}
@media(max-width:760px){.full-map-panel .map-canvas{height:clamp(480px,68vh,680px)}}
@media(max-width:500px){.full-map-panel .map-canvas{height:clamp(430px,62vh,580px)}}

/* Discreet entry and admin design preview. */
.admin-entry{display:flex;justify-content:center;margin:8px 0 0}.admin-entry a{display:grid;place-items:center;width:28px;height:28px;border:1px solid #38506b;border-radius:50%;color:#748fac;font-size:.8rem;opacity:.68}.admin-entry a:hover,.admin-entry a:focus-visible{opacity:1;color:#e8a7ff;border-color:#c986ee}
.admin-intro{display:flex;align-items:center;gap:18px;margin:16px 0 12px;padding:18px 22px;background:#152d49}.admin-intro p{flex:1;margin:0;font-size:.88rem}.admin-intro a{white-space:nowrap;color:#a0f5d2;font-weight:800}.admin-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 0 14px;margin-bottom:4px}.admin-tabs a{white-space:nowrap;padding:11px 17px;background:#102b45;border:1px solid #33536a;border-radius:10px;font-weight:800;font-size:.88rem}.admin-tabs a.active,.admin-tabs a:hover{background:#513670;border-color:#b975ee}.admin-panel{padding:26px;margin:0 0 18px}.admin-panel>h2{margin:14px 0 10px}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px}.admin-stats a{min-height:115px;display:flex;flex-direction:column;justify-content:center;gap:3px}.admin-stats strong{font:900 2rem Nunito,sans-serif;color:#8ef1cf}.admin-stats span{color:#c4d6e6}.admin-shortcuts{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.admin-display-list{display:grid;gap:10px;margin-top:18px}.admin-display-row{display:flex;align-items:center;gap:16px;background:#112d46;border:1px solid #37526a;border-radius:12px;padding:11px 14px}.admin-display-row>div{display:flex;flex-direction:column;flex:1;min-width:0}.admin-display-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-display-row small{color:#b7cadd}.admin-icon{font-size:1.65rem}.admin-status{border-radius:20px;padding:4px 9px;font-size:.75rem;font-weight:800}.admin-status.approved{color:#85f7cd;background:#175745}.admin-status.pending{color:#ffd991;background:#654422}.admin-display-row .button{min-height:38px;font-size:.8rem;padding:7px 12px}.admin-panel form{display:grid;gap:16px;max-width:800px;margin-top:20px}.admin-panel form label:not(.admin-check){display:grid;gap:6px;font-weight:700}.admin-panel form input,.admin-panel form textarea,.admin-panel form select{width:100%;background:#1d3a55;color:#fff;border:1px solid #668098;border-radius:9px;padding:11px 12px}.admin-panel form input::placeholder{color:#c7d6e4}.admin-panel form .admin-check{display:flex;align-items:center;gap:12px}.admin-panel form .admin-check input{width:20px;height:20px;accent-color:#24d6a0}.admin-panel form .button{justify-self:start}.admin-panel #admin-message{color:#8df1c7;font-weight:800}.admin-integrations{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px;margin:18px 0;background:#10283e;border:1px solid #34536a;border-radius:10px}.admin-integrations strong{color:#8ff5cf}
@media(max-width:760px){.admin-intro{flex-direction:column;align-items:flex-start}.admin-stats{grid-template-columns:repeat(2,1fr)}.admin-display-row{flex-wrap:wrap}.admin-display-row .button{margin-left:auto}}
@media(max-width:480px){.admin-panel{padding:17px}.admin-display-row{gap:9px}.admin-status{order:3}.admin-display-row .button{order:4}.admin-tabs a{padding:9px 12px;font-size:.8rem}}
.admin-link-button{background:transparent;border:0;padding:3px;color:#f4b1fa;text-decoration:underline;white-space:nowrap;cursor:pointer;font-weight:800}.admin-login{max-width:620px;margin:22px auto 50px;padding:30px}.admin-login>p{max-width:520px}.charity-logo-editor{display:flex;align-items:center;gap:22px;padding:16px;border:1px solid #42607b;background:#102942;border-radius:13px}.charity-logo-editor>img,.charity-logo-editor>span{width:98px;height:98px;object-fit:contain;border-radius:14px;background:#351c55;display:grid;place-items:center;font-size:3rem}.charity-logo-editor label{flex:1}.charity-symbol img{max-width:100%;max-height:100%;object-fit:contain;border-radius:20px}.vote-results{display:grid;gap:9px;margin:15px 0 22px}.vote-result-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(80px,2fr) 35px 40px;align-items:center;gap:13px;background:#112f49;padding:11px 13px;border-radius:10px}.vote-result-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vote-meter{height:13px;background:#264359;border-radius:20px;overflow:hidden}.vote-meter i{display:block;height:100%;background:linear-gradient(90deg,#35e9ae,#b46aee);border-radius:20px}.demo-vote-add{border:1px solid #8d72aa;border-radius:7px;background:#3b2754;color:white;padding:5px;cursor:pointer}.vote-state,.vote-finish{text-align:center;padding:44px 30px;margin:20px 0 34px}.vote-state-icon{font-size:3rem;color:#e59afd}.vote-state p,.vote-finish p{max-width:650px;margin:12px auto 22px}.vote-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}.vote-winner{display:flex;flex-direction:column;text-align:left;border:1px solid #6b4e86;background:#0d2943;border-radius:14px;overflow:hidden}.vote-winner .display-photo{width:100%;min-height:170px}.vote-winner strong,.vote-winner small{padding:0 14px}.vote-winner strong{padding-top:12px}.vote-winner small{padding-bottom:15px;color:#addac7}.winner-rank{position:absolute;z-index:1;margin:12px;padding:5px 12px;border-radius:20px;background:#7c3b9b;color:#fff;font-weight:900}.vote-card input:disabled,.vote-main button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.vote-podium{grid-template-columns:1fr 1fr}.admin-intro .admin-link-button{align-self:flex-start}.vote-result-row{grid-template-columns:1fr 70px 35px}.vote-result-row .vote-meter{grid-column:1/-1;grid-row:2}}
@media(max-width:500px){.vote-podium{grid-template-columns:1fr}.charity-logo-editor{flex-direction:column;align-items:flex-start}.vote-state,.vote-finish{padding:28px 18px}}
/* Full map, trail dates and optional homepage modules. */
.map-shell{position:relative}.map-shell .map-credit{margin:0;padding:6px 10px;background:#081d32}.map-expand{position:absolute;top:12px;right:12px;z-index:800;padding:9px 13px;border:1px solid #90b0c8;border-radius:9px;background:#0b2944;color:#fff;font-weight:800;box-shadow:0 3px 15px #0008;cursor:pointer}.map-expand:hover{background:#214b68}.map-shell:fullscreen,.map-shell.map-expanded{background:#081d32;display:flex;flex-direction:column;border:0;border-radius:0}.map-shell:fullscreen .map-canvas,.map-shell.map-expanded .map-canvas{flex:1;height:auto!important;min-height:0}.map-shell.map-expanded{position:fixed;inset:0;z-index:5000;width:100vw;height:100dvh}.map-shell:fullscreen .map-expand,.map-shell.map-expanded .map-expand{top:14px;right:14px}
.trail-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:14px 0}.trail-date-card{display:flex;align-items:center;gap:18px;padding:17px 23px;background:#102c45;border:1px solid #3b5871;border-radius:14px}.trail-date-card>span{font-size:2.4rem}.trail-date-card strong{font:900 1.16rem Nunito,sans-serif}.trail-date-card p{margin:2px 0;color:#fff}.trail-countdown{color:#7ff3c7;font-weight:800}.halloween-date{border-color:#d38248}.christmas-date{border-color:#36bd96}.homepage-charity{display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;margin:18px 0;text-align:center}.homepage-charity img{width:115px;height:75px;object-fit:contain}.homepage-charity>span{font:800 1.2rem Nunito,sans-serif}.homepage-charity>b{color:#8bf2ca}.homepage-winners{margin:18px 0;padding:22px}.homepage-winners .vote-podium{margin-bottom:0}.homepage-winners .section-head{align-items:center}.homepage-winners h2{margin-top:7px}.season-winners{margin-top:20px}.season-winners h3{font-size:1.35rem}.previous-winners{margin:22px 0;padding:24px}.past-winner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.past-winner{position:relative;display:flex;flex-direction:column;background:#122c44;border:1px solid #37526c;border-radius:12px;overflow:hidden}.past-winner img,.past-photo-placeholder{width:100%;height:165px;object-fit:cover;background:#1b284d}.past-photo-placeholder{display:grid;place-items:center;font-size:3rem}.past-winner strong,.past-winner small{padding:0 14px}.past-winner strong{padding-top:11px}.past-winner small{padding-bottom:14px;color:#a9e7cd}.past-medal{position:absolute;top:9px;left:9px;background:#2e2047e8;border-radius:20px;padding:5px 9px;font-weight:900}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-top:17px}.team-person{overflow:hidden;background:#10263e;border:1px solid #38536c;border-radius:13px}.team-person img,.team-person-placeholder{width:100%;height:225px;object-fit:cover}.team-person-placeholder{display:grid;place-items:center;font-size:3rem}.team-person>div:last-child{padding:18px}.team-person h3{margin:0 0 6px}.team-person p{margin:0}.admin-subsection{display:grid;gap:14px;border:1px solid #355875;background:#0b263f;border-radius:12px;padding:18px}.admin-subsection h3{margin:0}.admin-people-list{display:grid;gap:9px;margin:20px 0}.admin-person{display:flex;align-items:center;gap:14px;background:#112c46;border:1px solid #35516a;padding:10px;border-radius:11px}.admin-person>img,.admin-person>span{width:65px;height:65px;object-fit:cover;border-radius:8px;background:#242a4b;display:grid;place-items:center;font-size:2rem}.admin-person>div{display:flex;flex:1;min-width:0;flex-direction:column}.admin-person small{color:#aec0d2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-person>a{color:#a4efd3;font-weight:800}.admin-remove{color:#ffc9c9;border:1px solid #935a68;border-radius:8px;background:#4c2435;padding:7px 11px;cursor:pointer}.admin-current-photo{max-width:160px;max-height:150px;object-fit:cover;border-radius:10px}
@media(max-width:760px){.trail-date-grid,.team-grid,.past-winner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.homepage-charity{flex-wrap:wrap}.homepage-charity>b{width:100%}}
@media(max-width:500px){.trail-date-grid,.team-grid,.past-winner-grid{grid-template-columns:1fr}.homepage-winners .section-head{align-items:flex-start}.homepage-charity img{width:90px}.admin-person{flex-wrap:wrap}}

/* A single enabled trail date spans the entire homepage row. */
.trail-date-grid > :only-child{grid-column:1 / -1}
.trail-date-grid>:only-child{justify-content:center;text-align:center}.trail-date-grid>:only-child>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px 16px}.trail-date-grid>:only-child p{margin:0}.trail-date-grid>:only-child .trail-countdown{width:100%}.route-toggle{display:inline-flex;align-items:center;gap:7px;color:#ffe4a3;font-weight:800;cursor:pointer}.route-toggle input{accent-color:#f7c75d;width:18px;height:18px}.admin-subsection{margin:14px 0}
@media(max-width:600px){.trail-date-grid>:only-child{flex-direction:column;gap:5px}.trail-date-grid>:only-child>div{flex-direction:column;gap:2px}}
.signup-closed{text-align:center;max-width:800px;margin:20px auto 50px;padding:48px 28px}.signup-closed>span{font-size:3rem;color:#b7efda}.signup-closed h2{margin:10px 0}.signup-closed p{max-width:610px;margin:0 auto 25px}.spam-preview{align-items:center}.spam-preview p{font-size:.8rem;color:#c4d3e4}.bot-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Settings forms use the same readable field layout as other admin screens. */
.settings-panel .admin-subsection{display:grid;gap:17px;margin:22px 0;padding:22px}.settings-panel .admin-subsection h3{margin:0 0 2px}.settings-panel .admin-subsection label:not(.admin-check){display:grid;gap:10px;font-weight:800;line-height:1.4}.settings-panel .admin-subsection textarea,.settings-panel .admin-subsection input[type=number]{display:block;width:100%;min-height:50px;padding:12px 14px;border-radius:10px;border:1px solid #7291a9;background:#18354e;color:#fff;font:inherit}.settings-panel .admin-subsection textarea{min-height:110px;resize:vertical;line-height:1.5}.settings-panel .admin-subsection .admin-check{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:800}.settings-panel .admin-subsection .admin-check input{flex:none;width:21px;height:21px;accent-color:#18c999;cursor:pointer}.settings-panel .admin-subsection .button{justify-self:start}.settings-panel .admin-subsection [role=status]{margin:0;color:#8df1c7}.signup-setting-help{margin:-7px 0 3px 33px;color:#b9d4e6;font-size:.9rem;line-height:1.45}
@media(max-width:600px){.settings-panel .admin-subsection{padding:17px}.settings-panel .admin-subsection .button{justify-self:stretch}.signup-setting-help{margin-left:0}}
.home-vote-section,.home-charity-section{display:flex;align-items:center;justify-content:center;gap:24px;min-height:145px;margin:17px 0;padding:25px 32px;text-align:center;border-radius:15px}.home-vote-section{background:linear-gradient(105deg,#2d1e51,#482557);border-color:#9d64cd}.home-charity-section{background:linear-gradient(105deg,#102a42,#164839);border-color:#37bb9a;margin-top:22px}.home-vote-section>div,.home-charity-section>div{max-width:650px;flex:1}.home-vote-section h2,.home-charity-section h2{margin:4px 0;font:900 clamp(1.3rem,2vw,1.8rem) Nunito,sans-serif}.home-vote-section p,.home-charity-section p{margin:0;color:#e0eef2}.home-feature-symbol{width:78px;height:78px;flex:none;display:grid;place-items:center;border:1px solid #ffffff50;border-radius:17px;background:#ffffff14;color:#f2b4ff;font-size:2.8rem}.home-charity-section .home-feature-symbol{color:#8af1c8}.home-feature-symbol img{max-width:100%;max-height:100%;object-fit:contain;padding:6px}.home-vote-section .button,.home-charity-section .button{flex:none}.home-charity-section .eyebrow,.home-vote-section .eyebrow{color:#91f3d4}
@media(max-width:760px){.home-vote-section,.home-charity-section{flex-direction:column;gap:10px;padding:24px 18px}.home-feature-symbol{width:62px;height:62px;font-size:2.2rem}.home-vote-section .button,.home-charity-section .button{margin-top:7px}}

.display-photo img{display:block;width:100%;height:100%;object-fit:cover}.display-photo.no-photo{display:grid;place-items:center;background:linear-gradient(130deg,#173152,#0b1b30);color:#fff;font-size:2.5rem}.site-header .brand img{width:150px;max-height:88px;object-fit:contain}.footer-brand img{width:130px;object-fit:contain}.admin-panel form{display:grid;gap:16px}.admin-display-row{padding:12px;border-bottom:1px solid #36506b;display:flex;justify-content:space-between;gap:12px;align-items:center}.admin-panel textarea{width:100%;min-height:105px}@media(max-width:600px){.admin-display-row{flex-wrap:wrap}.site-header .brand img{width:120px}}

.refresh-displays{border:1px solid #59dcbc;border-radius:12px;background:#123e4b;color:#ebfff9;padding:10px 15px;font:inherit;font-weight:800;cursor:pointer}.refresh-displays:hover{background:#176052}.refresh-displays:disabled{opacity:.7;cursor:wait}

.listing-season-title{margin:22px 0 14px;font:900 1.35rem Nunito,sans-serif;color:#e7f6ff}.active-season-note{display:flex;align-items:center;color:#9bf4d0;font-weight:800}.admin-photo-preview{display:grid;gap:10px;padding:14px;background:#102b45;border:1px solid #416079;border-radius:12px}.admin-photo-preview img{display:block;width:min(100%,440px);max-height:300px;object-fit:contain;object-position:left center;border-radius:9px;background:#071b2e}.admin-panel #delete-display{justify-self:start;padding:11px 16px;font:inherit;font-weight:800}.admin-panel #admin-refresh-status{color:#a7f3d8}
body[data-season="halloween"] .hero-shade{background:linear-gradient(0deg,#091426b8,transparent 65%),radial-gradient(ellipse at 50% 55%,#371537a6,transparent 58%)}body[data-season="halloween"] .button.halloween-button{box-shadow:0 0 20px #f58a3670}

/* Keep the full uploaded team portrait visible, whatever its aspect ratio. */
.team-person img{display:block;height:225px;object-fit:contain;object-position:center;background:#10263e}

/* Give uploaded charity wordmarks enough width to be legible beside the text. */
.home-charity-section .home-feature-symbol{width:220px;height:120px;border:0;background:transparent;border-radius:0}
.home-charity-section .home-feature-symbol img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;padding:0}
@media(max-width:760px){.home-charity-section .home-feature-symbol{width:min(220px,75vw);height:115px}}

/* Footer items wrap cleanly as navigation links and social links are enabled. */
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:19px 32px;margin:0 auto;padding:10px 3.3% 22px}
.footer-inner .footer-brand{flex:0 0 145px}
.footer-inner .footer-links{flex:1 1 390px;justify-content:center;flex-wrap:wrap;gap:9px 19px;white-space:normal;line-height:1.5}
.footer-inner .footer-links a{white-space:nowrap}
.footer-inner .footer-credit{display:block;flex:0 1 210px;line-height:1.5}
.footer-inner .footer-motto{flex:0 0 160px;line-height:1.35}
.footer-social{display:flex;gap:13px;align-items:center;justify-content:center;flex:0 0 auto}
.footer-social a{display:grid;place-items:center;width:30px;height:30px;color:#fff;transition:color .15s ease,transform .15s ease}
.footer-social a:hover{color:#e9a0ff;transform:translateY(-2px)}
.footer-social svg{display:block;width:23px;height:23px}
@media(max-width:760px){.footer-inner{flex-direction:column;gap:14px;padding:8px 5% 26px}.footer-inner .footer-brand,.footer-inner .footer-links,.footer-inner .footer-credit,.footer-inner .footer-motto,.footer-social{flex:none}.footer-inner .footer-links{gap:9px 17px}.footer-inner .footer-credit{max-width:300px}}
.admin-social-settings{border:1px solid #426079;border-radius:12px;padding:17px;display:grid;gap:16px}
.admin-social-settings legend{font-weight:900;padding:0 8px}
.admin-social-settings>div{display:grid;gap:8px}
.admin-contact-message{padding:18px;margin:15px 0;border:1px solid #45617b;border-radius:12px;background:#102940}
.admin-contact-message>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.admin-contact-message time{font-size:.82rem;color:#b7c9d8}
.admin-contact-message p{margin:11px 0;overflow-wrap:anywhere}
.admin-message-text{white-space:pre-wrap}
