.factory-gallery-home{padding:105px var(--content-gutter) 115px;background:#111315;color:#fff}.factory-gallery-heading,.factory-gallery-page-head{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(300px,.6fr);gap:10%;align-items:end;margin-bottom:50px}.factory-gallery-heading>div:first-child>p,.factory-gallery-page-head>div>p{margin:0 0 18px;color:#e31c2a;font-size:11px;font-weight:700;letter-spacing:.19em}.factory-gallery-heading h2,.factory-gallery-page-head h2{margin:0;font-size:clamp(44px,5vw,76px);font-weight:300;line-height:1.04;letter-spacing:-.045em}.factory-gallery-heading>div:last-child>p,.factory-gallery-page-head>p{margin:0;color:#9a9da1;font-size:15px;line-height:1.9}.factory-gallery-heading a{display:inline-flex;align-items:center;gap:22px;margin-top:25px;padding-bottom:6px;border-bottom:1px solid #e31c2a;color:#fff;font-size:13px}.factory-gallery-heading a b{color:#e31c2a;font-size:18px}.factory-gallery-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.factory-photo-card{position:relative;display:block;min-width:0;margin:0;overflow:hidden;background:#25282a;color:#fff}.factory-gallery-home-grid .factory-photo-card{aspect-ratio:16/9}.factory-photo-card img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.05);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .35s}.factory-photo-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 52%,rgba(6,8,9,.78))}.factory-photo-card:hover img{transform:scale(1.035);filter:saturate(.95) contrast(1.03)}.factory-photo-card>span,.factory-photo-card figcaption{position:absolute;z-index:1;left:20px;right:20px;bottom:17px;display:flex;align-items:end;justify-content:space-between;gap:15px}.factory-photo-card small{color:#ff6976;font-size:9px;letter-spacing:.12em}.factory-photo-card strong{font-size:15px;font-weight:500}.factory-gallery-page{padding:95px var(--content-gutter) 120px;background:#f4f4f2;color:#17191b}.factory-gallery-page-head>p{color:#6f7276}.factory-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}.factory-gallery-grid .factory-photo-card{aspect-ratio:16/10;background:#ddd}.factory-gallery-grid .factory-photo-card button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.factory-gallery-grid .factory-photo-card figcaption{left:17px;right:17px;bottom:15px;color:#fff}.factory-gallery-dialog{width:min(1180px,calc(100vw - 40px));max-height:92dvh;padding:0;border:0;background:#101214;color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.55);overflow:auto}.factory-gallery-dialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(8px)}.factory-gallery-dialog>img{display:block;width:100%;max-height:72dvh;object-fit:contain;background:#050607}.factory-gallery-dialog>div{padding:22px 26px 26px}.factory-gallery-dialog small{color:#e31c2a;font-size:9px;letter-spacing:.16em}.factory-gallery-dialog h3{margin:7px 0 0;font-size:24px;font-weight:400}.factory-gallery-close{position:fixed;z-index:2;right:max(28px,calc((100vw - 1180px)/2 + 12px));top:24px;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(6,8,9,.75);color:#fff;font-size:27px;cursor:pointer}.factory-gallery-close:hover{background:#e31c2a;border-color:#e31c2a}@media(max-width:900px){.factory-gallery-heading,.factory-gallery-page-head{grid-template-columns:1fr;gap:24px}.factory-gallery-home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.factory-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.factory-gallery-home,.factory-gallery-page{padding-top:64px;padding-bottom:82px}.factory-gallery-heading,.factory-gallery-page-head{margin-bottom:34px}.factory-gallery-heading h2,.factory-gallery-page-head h2{font-size:42px}.factory-gallery-home-grid{grid-template-columns:1fr 1fr;gap:8px}.factory-gallery-home-grid .factory-photo-card{grid-column:auto;grid-row:auto}.factory-gallery-grid{gap:10px}.factory-gallery-grid .factory-photo-card{aspect-ratio:4/3}.factory-photo-card>span,.factory-photo-card figcaption{left:12px;right:12px;bottom:11px}.factory-photo-card strong{font-size:12px}.factory-gallery-dialog{width:calc(100vw - 16px)}.factory-gallery-close{right:14px;top:14px}.factory-gallery-dialog>div{padding:18px}}@media(max-width:440px){.factory-gallery-grid{grid-template-columns:1fr}.factory-gallery-home-grid{grid-template-columns:1fr}.factory-gallery-home-grid .factory-photo-card{grid-column:1/-1;min-height:0}}@media(prefers-reduced-motion:reduce){.factory-photo-card img{transition:none}}

.factory-gallery-nav{position:absolute;z-index:3;top:42%;width:52px;height:52px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(6,8,9,.68);color:#fff;font-size:34px;line-height:1;cursor:pointer;backdrop-filter:blur(8px);transition:background-color .2s,border-color .2s,transform .2s}.factory-gallery-prev{left:18px}.factory-gallery-next{right:18px}.factory-gallery-nav:hover{background:#e31c2a;border-color:#e31c2a;transform:scale(1.04)}.factory-gallery-dialog>div>p{margin:7px 0 0;color:#8e9296;font-size:12px}.factory-gallery-dialog>img{touch-action:pan-y;user-select:none}.gallery-reveal{opacity:0;transform:translateY(38px);transition:opacity .65s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:var(--gallery-delay,0ms)}.gallery-reveal.gallery-in{opacity:1;transform:none}@media(max-width:720px){.factory-gallery-nav{top:38%;width:44px;height:44px;font-size:29px}.factory-gallery-prev{left:8px}.factory-gallery-next{right:8px}}@media(prefers-reduced-motion:reduce){.gallery-reveal{opacity:1;transform:none;transition:none}.factory-gallery-nav{transition:none}}
/* Keep the lightbox controls anchored to the displayed image. */
.factory-gallery-stage{position:relative;background:#050607}
.factory-gallery-stage>img{display:block;width:100%;max-height:72dvh;object-fit:contain;touch-action:pan-y;user-select:none}
.factory-gallery-stage .factory-gallery-nav{position:absolute;top:50%;margin:0;transform:translateY(-50%)}
.factory-gallery-stage .factory-gallery-nav:hover{transform:translateY(-50%) scale(1.04)}
.factory-gallery-caption{padding:22px 26px 26px}
@media(max-width:720px){.factory-gallery-caption{padding:18px}.factory-gallery-stage .factory-gallery-nav{top:50%}}
.factory-gallery-dialog>.factory-gallery-stage{padding:0}.factory-gallery-dialog>.factory-gallery-caption{padding:22px 26px 26px}@media(max-width:720px){.factory-gallery-dialog>.factory-gallery-caption{padding:18px}}
