/* A quiet, photo-led gallery in Voyager's forest and copper palette. */
.gallery-intro{padding-top:158px;padding-bottom:32px}
.gallery-intro h1{font-size:clamp(52px,6.5vw,88px);line-height:1.02;letter-spacing:-.02em;margin:16px 0 18px}
.gallery-intro>p:last-child{font-size:16px;color:var(--muted);line-height:1.7;max-width:590px}
.gallery-tools{padding-top:12px;padding-bottom:24px}
.gallery-filter-heading{min-height:30px;margin-bottom:14px;gap:15px}
.gallery-filter-heading .eyebrow{margin:0}
.build-filters{display:flex;flex-wrap:wrap;gap:8px}
.build-filters button{border:1px solid #465347;background:#172019;color:#d5d8ce;min-height:44px;padding:10px 16px}
.build-filters button[aria-pressed=true]{background:#303b30;border-color:#a66d4d;color:#f1eee4}
.build-filters button:hover{border-color:#bd8967}
.gallery-toolbar-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.gallery-toolbar-footer p{margin:0;font-size:12px;line-height:1.6;color:#aab4a5}
.gallery-tools .brief-status:empty{display:none}
.gallery-tools .brief-status{margin-top:10px;margin-bottom:0}
.build-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;padding-bottom:70px}
.build-card{min-width:0;overflow:hidden;background:#18211b;border:1px solid #344034;scroll-margin-top:120px}
.build-card[hidden],.build-card .gallery-open[hidden],.build-card-grid>[hidden]{display:none}
.build-card-photo{position:relative;display:block;width:100%;height:auto;aspect-ratio:4/5;padding:0;border:0;overflow:hidden;background:#121913;cursor:pointer}
.build-card-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.build-card-photo:hover img{transform:scale(1.025)}
.build-photo-count{position:absolute;z-index:1;right:14px;bottom:14px;display:flex;align-items:center;gap:18px;background:#111b16e6;color:#e8e8df;padding:9px 12px;font-size:11px;letter-spacing:.02em;border:1px solid #ffffff25}
.build-photo-count>span{font-size:17px;line-height:1}
.build-card-body{padding:22px 22px 0}
.build-card-title{display:flex;justify-content:space-between;align-items:center;gap:12px}
.build-card-title h2{font-size:38px;line-height:1.1;margin:0}
.build-card .save-build{padding:8px 10px;min-height:40px;font-size:11px;white-space:nowrap;border-color:#455145;background:transparent;color:#d5dacd}
.build-card .save-build[aria-pressed=true],.build-viewer .save-build[aria-pressed=true]{border-color:#b67d59;background:#2c3329;color:#edc6a7}
.build-card-specs{display:flex;flex-wrap:wrap;gap:5px 14px;margin:14px 0 0;font-size:12px;line-height:1.6;color:#d9dfd1}
.build-card-specs>div{display:flex;align-items:center;gap:6px;white-space:nowrap}
.build-card-specs dt{display:flex;align-items:center;color:#c69876}
.build-card-specs dd{margin:0;font-weight:600}
.build-card-specs .build-spec-icon{display:block;width:26px;height:26px;flex-shrink:0}
.build-viewer-info{min-width:0}
.build-viewer-info .build-card-specs{margin:0 0 9px;gap:5px 12px}
.build-card-features{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;min-height:20px;color:#bfc6b8;font-size:12px;line-height:1.7}
.build-card-features span+span:before{content:'·';margin-right:16px;color:#b47b56}
.build-explore{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-top:1px solid #394436;background:transparent;color:#e4c1a4;text-align:left;padding:18px 0;margin-top:20px;min-height:56px;font-size:13px;font-weight:600;cursor:pointer}
.build-explore svg{width:19px;height:19px}
.build-explore:hover{color:#fff}
.build-card noscript details{padding:20px;line-height:1.7}
.build-card noscript ol{padding-left:20px;font-size:13px}
.build-card-grid .gallery-empty{grid-column:1/-1}
.gallery-model-callout{margin-top:0}
.build-card :focus-visible,.build-viewer :focus-visible,.gallery-tools :focus-visible{outline:2px solid #e2ad87;outline-offset:4px}
.build-card-photo:focus-visible{outline-offset:-5px}

/* Full photographs stay uncropped; only preview cards use a consistent crop. */
.build-viewer[open]{display:grid;grid-template-columns:minmax(0,1fr) 310px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:'stage heading' 'stage thumbs' 'controls actions';gap:20px 28px;padding:72px 32px 24px;background:#0c130f}
.build-viewer .gallery-stage{grid-area:stage;min-width:0;min-height:0;background:#080d0a}
.build-viewer .gallery-stage>img{object-fit:contain}
.build-viewer-heading{grid-area:heading;padding-bottom:18px;border-bottom:1px solid #354234;min-width:0}
.build-viewer-heading .eyebrow{font-size:10px;letter-spacing:.15em;margin:0 0 8px;color:#bd987a}
.build-viewer-heading h2{font-size:52px;line-height:1;margin:0 0 12px}
.build-viewer-info>p{font-size:12px;line-height:1.8;color:#bcc6b6;margin:0}
.build-viewer .gallery-close{top:16px;right:24px}
.build-viewer .gallery-zoom{top:23px;left:32px;font-size:12px}
.build-viewer .gallery-dialog-controls{grid-area:controls;position:static;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:8px;align-self:end}
.build-viewer .gallery-dialog-controls p{margin:0;min-width:0;font-size:12px;line-height:1.5;max-height:54px;overflow:auto}
.build-viewer .gallery-dialog-controls .icon-button{width:38px;height:44px;padding:0;background:#1b271c;border:1px solid #344635;font-size:23px}
.build-viewer #gallery-next{grid-row:1;grid-column:3}
.build-viewer .gallery-original{grid-row:2;grid-column:2;text-align:center;font-size:11px;line-height:1.6}
.gallery-thumbnails{grid-area:thumbs;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:min-content;align-content:start;gap:8px;overflow:auto;min-height:0;padding:4px;overscroll-behavior:contain;scrollbar-color:#56634e #152018}
.gallery-thumb{display:block;width:100%;aspect-ratio:4/3;padding:3px;background:#17211a;border:2px solid transparent;cursor:pointer;opacity:.7}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.gallery-thumb[aria-current=true]{border-color:#d29c73;opacity:1}
.gallery-thumb:hover{opacity:1}
.build-viewer-actions{grid-area:actions;display:grid;gap:10px;align-content:end}
.build-viewer-actions .save-build{width:100%;min-height:42px;background:transparent;border:1px solid #4d5e48;color:#d8dfce}
.build-viewer-actions .button{min-height:48px;justify-content:space-between;padding:14px 16px;font-size:12px;background:#33432e;color:#f0e9df;border:1px solid #647456}
.build-viewer-actions .button:hover{background:#43583c}
#viewer-save-status{font-size:11px;line-height:1.5;color:#c4d0b9;margin:0}
#viewer-save-status:empty{display:none}
@media(min-width:1450px){.build-viewer[open]{grid-template-columns:minmax(0,1fr) 360px}}
@media(max-width:1050px){.build-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.build-viewer[open]{grid-template-columns:minmax(0,1fr) 270px;padding-left:22px;padding-right:22px;gap:16px 20px}.build-viewer .gallery-zoom{left:22px}}
@media(max-width:700px){
 .gallery-intro{padding-top:124px;padding-bottom:24px}.gallery-intro h1{font-size:53px;max-width:480px}.gallery-intro>p:last-child{font-size:14px;max-width:330px}
 .gallery-filter-heading .text-link{margin-top:0;font-size:12px}.gallery-filter-heading{display:flex;flex-wrap:wrap}.gallery-toolbar-footer{align-items:flex-start;gap:20px}.gallery-toolbar-footer .save-hint{max-width:180px;text-align:right}
 .build-filters button{font-size:11px;padding:9px 12px}.build-card-grid{gap:22px 16px}.build-card-body{padding:17px 16px 0}.build-card-title{flex-wrap:wrap;gap:10px}.build-card-title h2{font-size:34px}.build-card-features{font-size:11px;gap:5px 10px}.build-card-features span+span:before{margin-right:10px}.build-explore{font-size:12px}
 .build-viewer[open]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(70px,1fr) auto 66px auto;grid-template-areas:'heading' 'stage' 'controls' 'thumbs' 'actions';gap:10px;padding:52px 14px max(12px,env(safe-area-inset-bottom))}
 .build-viewer-heading{display:flex;align-items:center;gap:12px;padding-bottom:10px}.build-viewer-heading .eyebrow{display:none}.build-viewer-heading h2{font-size:33px;margin:0;flex-shrink:0}.build-viewer-info>p{font-size:10px;line-height:1.5;max-width:230px}
 .build-viewer .gallery-close{top:6px;right:9px;width:40px;height:40px;font-size:30px}.build-viewer .gallery-zoom{top:16px;left:16px;font-size:11px}
 .build-viewer .gallery-dialog-controls{grid-template-columns:38px minmax(0,1fr) 38px;gap:0 8px}.build-viewer .gallery-dialog-controls p{font-size:10px;max-height:32px}.build-viewer .gallery-original{font-size:10px}.build-viewer .gallery-dialog-controls .icon-button{grid-row:1/3}
 .build-viewer #gallery-next{grid-row:1/3}
 .gallery-thumbnails{display:flex;gap:7px;padding:3px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity}.gallery-thumb{width:76px;height:56px;flex:0 0 76px;scroll-snap-align:center}
 .build-viewer-actions{grid-template-columns:auto minmax(0,1fr);gap:8px}.build-viewer-actions .save-build{font-size:11px;padding:10px;min-height:44px}.build-viewer-actions .button{font-size:11px;padding:10px 12px;min-height:44px}.build-viewer-actions #viewer-save-status{grid-column:1/-1;font-size:10px}
}
@media(max-width:520px){.build-card-grid{grid-template-columns:minmax(0,1fr)}.build-card-title{flex-wrap:nowrap}.build-card-body{padding:20px 20px 0}.build-card-photo{aspect-ratio:5/6}.build-card-features{font-size:12px}.build-card .save-build{font-size:12px}.build-explore{font-size:13px}.gallery-toolbar-footer .save-hint{max-width:165px}}
@media(max-height:520px) and (min-width:701px){.build-viewer[open]{padding-top:50px;gap:12px}.build-viewer-heading h2{font-size:36px}.build-viewer-heading{padding-bottom:8px}.build-viewer .gallery-zoom{top:12px}.build-viewer .gallery-close{top:3px}.build-viewer-actions .button,.build-viewer-actions .save-build{min-height:38px;padding:9px 12px}}
@media(max-height:520px) and (min-width:480px) and (max-width:700px){
 .build-viewer[open]{grid-template-columns:minmax(0,1fr) 210px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:'stage heading' 'stage thumbs' 'controls actions';padding:46px 14px 12px;gap:10px 16px}
 .build-viewer-heading{display:block;padding-bottom:7px}.build-viewer-heading h2{font-size:30px;margin-bottom:6px}.build-viewer-info>p{font-size:9px}
 .gallery-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-y:auto;overflow-x:hidden;gap:5px}.gallery-thumb{width:100%;height:auto;aspect-ratio:4/3}
 .build-viewer-actions{grid-template-columns:1fr;gap:5px}.build-viewer-actions .save-build,.build-viewer-actions .button{min-height:34px;padding:8px 10px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.build-card-photo img{transition:none}.build-card-photo:hover img{transform:none}}
