/* Original supplied Joy4All logo. */
.brand-logo{display:block;flex-shrink:0;line-height:0;letter-spacing:normal}
.brand-logo img{display:block;width:94px;height:94px;object-fit:contain;border-radius:4px}
header{padding-top:18px;padding-bottom:18px}
footer .brand-logo{display:inline-block}
footer .brand-logo img{width:110px;height:110px}
@media(max-width:900px){header{gap:22px}.brand-logo img{width:82px;height:82px}}
@media(max-width:620px){header{gap:16px;padding-top:16px;padding-bottom:16px}.brand-logo img{width:76px;height:76px}header nav{gap:16px}footer .brand-logo img{width:96px;height:96px}}

/* Hero palette and typography follow the supplied Joy4All logo. */
.hero-art{background:#ff6800;border-radius:8px 100px 8px 8px;color:#ffcb66;isolation:isolate}
.hero-art .art-text{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(62px,6.5vw,88px);letter-spacing:-3px;line-height:1.03;transform:rotate(-6deg);text-shadow:0 7px 12px #963d0033}
.hero-art .art-text span{color:#ffcb66}
.hero-art .ring{border-color:#ffcb6659}
.hero-art .spark{color:#c77230;text-shadow:4px 4px 0 #826319;opacity:.85;font-size:90px}
.hero-art .art-tag{color:#ffdc96;font-weight:bold;letter-spacing:2.5px}
@media(max-width:900px){.hero-art .art-text{font-size:66px}}
@media(max-width:620px){.hero-art .art-text{font-size:68px}.hero-art .spark{font-size:65px;right:24px;bottom:34px}.hero-art .art-tag{font-size:9px}}

/* Gallery and a single horizontal partner strip above the footer. */
.gallery-section{border-top:1px solid var(--line)}
.photo-grid{gap:20px}.photo-grid figure{padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px}.photo-grid img{height:260px;border-radius:7px}.photo-grid figcaption{padding:4px 6px;color:#62645b}
.partners-section{margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}
.partners-heading h3{font-size:22px;letter-spacing:-.5px;margin:0 0 7px}.partners-heading p{margin:0}
.partner-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:18px;margin-top:22px;padding:4px 2px 14px;scroll-snap-type:x proximity}
.partner-grid .partner-item{display:flex;flex:0 0 180px;height:112px;padding:22px;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:10px;scroll-snap-align:start}
.partner-grid img{display:block;max-width:100%;width:100%;height:68px;object-fit:contain}
@media(max-width:900px){.photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.photo-grid{grid-template-columns:1fr}.photo-grid img{height:240px}.partner-grid .partner-item{flex-basis:150px;height:96px;padding:18px}.partner-grid img{height:60px}}

/* Larger partner artwork and automatic slider controls. */
.partner-grid{scroll-snap-type:none;scrollbar-width:thin}
.partner-grid .partner-item{flex-basis:240px;height:170px;padding:12px}
.partner-grid img{max-width:100%;height:144px;width:100%;object-fit:contain}
.partner-controls{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.partner-controls button{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:20px;padding:8px 14px;font-size:12px}
@media(max-width:620px){.partner-grid .partner-item{flex-basis:210px;height:156px;padding:10px}.partner-grid img{height:134px}}
