/* V30 homepage review: mobile-friendly brand gallery and compact resource library. */
.premium-home main>section:not(.hero):not(.gallery-note){padding-top:clamp(46px,5vw,68px);padding-bottom:clamp(46px,5vw,68px)}
.premium-home .gallery-note{padding:0}
.premium-home .experience-visual{min-height:390px;aspect-ratio:1/1}
.premium-home #services .card{min-height:0;padding:24px}
.premium-home #services .card h3{margin:14px 0 8px}
.premium-home #projects .project{min-height:235px}
.premium-home #process .step{min-height:0;padding:22px}
.premium-home #process .step h3{margin:9px 0 5px;font-size:23px}
.premium-home .sectionhead{margin-bottom:24px}

.premium-home .curated-brands{background:radial-gradient(ellipse at 85% 15%,rgba(120,90,141,.13),transparent 44%),#101624}
.brand-collection{border:1px solid rgba(224,188,139,.25);border-radius:22px;background:#151b29;padding:14px 28px}
.curated-brand-group{padding:20px 0}
.curated-brand-group+.curated-brand-group{border-top:1px solid rgba(229,193,139,.16)}
.curated-brand-group h3{margin:0 0 17px;color:#e7c58e;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.17em}
.curated-brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.curated-brand{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:112px;padding:16px;border:1px solid #e5d9c7;border-radius:12px;background:linear-gradient(155deg,#fffefd,#eee9e1);box-shadow:0 10px 24px rgba(0,0,0,.12);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;animation:brand-enter .5s both}
.curated-brand::before{content:"";position:absolute;inset:0 auto 0 -80%;width:55%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.76),transparent);transform:skewX(-22deg);transition:left .65s ease;pointer-events:none}
.curated-brand:hover{transform:translateY(-4px);border-color:#eac78d;box-shadow:0 17px 32px rgba(0,0,0,.2)}
.curated-brand:hover::before{left:125%}
.curated-brand:nth-child(2){animation-delay:.07s}.curated-brand:nth-child(3){animation-delay:.14s}.curated-brand:nth-child(4){animation-delay:.21s}
.curated-brand-group:first-child .curated-brand:nth-child(2){border-top:3px solid #003f98}
.curated-brand-group:first-child .curated-brand:nth-child(3){border-top:3px solid #5c389b}
.curated-brand-group:nth-child(2) .curated-brand:nth-child(2){border-top:3px solid #9a7c4e}
.curated-brand-group:nth-child(2) .curated-brand:nth-child(4){border-top:3px solid #ff4818}
.curated-brand img{display:block;max-width:min(100%,165px);width:auto;height:42px;object-fit:contain}
.curated-brand[aria-label="JBL"] img{height:66px}
.curated-brand[aria-label="Klipsch"] img{height:40px}
.curated-brand span{font-size:11px;color:#393b43;letter-spacing:.05em}
.curated-brands .brand-note{color:#aeb2bc;margin:15px 0 0;line-height:1.5}

.premium-home .curated-resources{background:#0b101a;border-top:1px solid rgba(229,193,139,.13)}
.resource-accordion{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;align-items:start}
.curated-resources .resource-panel{min-width:0;border:1px solid rgba(229,193,139,.33);border-radius:13px;background:linear-gradient(145deg,#192336,#0f1726);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease}
.curated-resources .resource-panel:hover,.curated-resources .resource-panel[open]{border-color:#c9a26e;box-shadow:0 15px 36px rgba(0,0,0,.15)}
.curated-resources summary{display:flex;align-items:center;gap:12px;min-width:0;min-height:80px;list-style:none;cursor:pointer;padding:15px 18px;color:#f1d2a3}
.curated-resources summary::-webkit-details-marker{display:none}
.resource-panel-heading{font:500 clamp(17px,2vw,23px)/1.2 var(--font-display);min-width:0}
.resource-count{margin-left:auto;white-space:nowrap;color:#aeb8c7;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.resource-plus{font-size:26px;line-height:1;transition:transform .25s ease}
.resource-panel[open] .resource-plus{transform:rotate(45deg)}
.resource-list{display:flex;flex-wrap:wrap;gap:8px}
.resource-panel .resource-list{padding:16px 18px 19px;border-top:1px solid rgba(229,193,139,.18);animation:resource-enter .32s ease both}
.resource-list a{display:inline-flex;align-items:center;justify-content:space-between;gap:10px;max-width:100%;min-width:0;padding:8px 11px;border:1px solid rgba(229,193,139,.21);border-radius:7px;color:#cdd3dc;font-size:12px;line-height:1.4;text-decoration:none;overflow-wrap:anywhere;transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}
.resource-list a:hover,.resource-list a:focus-visible{color:#ffe6bd;border-color:#dab782;background:rgba(229,193,139,.08);transform:translateY(-2px)}
.resource-list a span{color:#dabb8e}
@keyframes brand-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@keyframes resource-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:800px){
 .curated-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .premium-home #services .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .resource-accordion{grid-template-columns:1fr}
 .curated-resources summary{min-height:65px}
}
@media(max-width:560px){
 .premium-home main>section:not(.hero):not(.gallery-note){padding-top:42px;padding-bottom:42px}
 .premium-home .experience-visual{min-height:0;aspect-ratio:4/3}
 .premium-home #services .grid{grid-template-columns:1fr}
 .premium-home #services .card{padding:19px}
 .premium-home #projects .project{min-height:185px}
 .premium-home #process .step{min-height:0}
 .brand-collection{padding:8px 14px}
 .curated-brand-grid{gap:9px}
 .curated-brand{min-height:88px;padding:10px 7px}
 .curated-brand img{max-width:90%;height:32px}
 .curated-brand[aria-label="JBL"] img{height:52px}
 .curated-brand span{font-size:10px}
 .curated-resources summary{padding:13px 15px}
 .resource-panel .resource-list{padding:14px 15px 17px}
 .curated-brand:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
 .curated-brand,.resource-panel .resource-list{animation:none}
 .curated-brand,.curated-brand::before,.resource-list a,.resource-plus{transition:none}
}
