
.portfolio-hero{padding:84px max(5vw,24px) 56px;max-width:1480px;margin:auto}.portfolio-hero h1{font-size:clamp(40px,5.2vw,72px);margin:17px 0}.portfolio-hero p{color:#b3c2cf;max-width:790px}.portfolio-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 30px}.filter-btn{color:#b8cad4;border:1px solid #496174;background:#14232d;border-radius:4px;padding:11px 17px;cursor:pointer;font:600 13px 'DM Sans',sans-serif}.filter-btn[aria-pressed="true"],.filter-btn:hover{color:#07161d;background:#b5e5ed;border-color:#b5e5ed}.portfolio-list{max-width:1480px;padding:0 max(5vw,24px) 66px;margin:auto}.portfolio-row{display:grid;grid-template-columns:minmax(230px,37%) 1fr;gap:30px;border:1px solid #344a56;background:#111e27;margin-bottom:18px;overflow:hidden}.portfolio-row img{display:block;width:100%;height:100%;min-height:258px;object-fit:cover;background:#142735}.portfolio-row-copy{padding:23px 30px 22px 0}.portfolio-row h2{font-size:clamp(23px,2.2vw,34px);margin:11px 0}.portfolio-row p{color:#bbcad5;font-size:15px;max-width:780px}.portfolio-row .details-link{display:inline-block;color:#85dfed;font-size:13px;font-weight:700;margin-top:8px}.portfolio-row[hidden]{display:none}.project-org{font-size:12px;color:#95b7c6}.project-tech{font-size:12px;color:#a2d7df}.portfolio-disclaimer{color:#95aaba;font-size:12px;margin:28px 0}.project-detail{max-width:1150px;margin:0 auto;padding:64px max(5vw,24px) 100px}.project-detail h1{font-size:clamp(34px,5vw,63px)}.project-detail img{display:block;width:100%;border:1px solid #344e5e;margin:25px 0}.project-detail section{padding:20px 0;border-bottom:1px solid #334751}.project-detail h2{font-size:26px}.project-detail p{color:#b7cbd7}.project-detail .disclaimer{font-size:12px}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.portfolio-footer{border-top:1px solid #314957}.portfolio-empty{color:#b5c8d5}[hidden]{display:none!important}@media(max-width:740px){.portfolio-hero{padding-top:50px}.portfolio-row{grid-template-columns:1fr;gap:0}.portfolio-row img{height:auto;min-height:0;aspect-ratio:16/9}.portfolio-row-copy{padding:22px}.filter-btn{flex:1 1 auto;min-height:44px}.project-detail{padding-top:35px}}
/* V7 portfolio surfaces */
.portfolio-hero{background:linear-gradient(155deg,#0E171F,#0B0F14 80%)}
.portfolio-hero p,.project-detail p{color:#B7C6D1}
.filter-btn{background:#18232D;color:#C4D2DC;border-color:#3A5060}
.filter-btn[aria-pressed="true"],.filter-btn:hover{color:#0B1720;background:#B7D7E9;border-color:#B7D7E9}
.portfolio-row{background:#151D26;border-color:#324452;border-radius:5px}
.portfolio-row:hover{border-color:#688DA5}
.portfolio-row img{background:#101A23}
.portfolio-row p{color:#B8C7D2}
.portfolio-row .details-link{color:#9DD0EC}
.project-org{color:#98B8CB}.project-tech{color:#B0D6EB}
.project-detail img{border-color:#344958;background:#111B23}
.project-detail section{border-color:#2B3C4A}
.portfolio-footer{border-color:#293947}

/* Warehouse case study media */
.warehouse-facts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 30px;padding-left:20px;color:#b7cbd7}
.warehouse-video{display:block;width:min(100%,620px);max-height:78vh;background:#05090d;border:1px solid #344958}
.warehouse-video-caption{font-size:13px;color:#95aaba!important}
.warehouse-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.warehouse-gallery-item{margin:0;border:1px solid #344958;background:#111b23}
.warehouse-gallery-item img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin:0;border:0}
.warehouse-gallery-item img[src*="warehouse-architecture-"]{aspect-ratio:1800/1380;object-fit:contain;background:#0b1820}
.warehouse-gallery-item figcaption{padding:12px 14px;color:#b7cbd7;font-size:13px}
.warehouse-gallery-section>p{max-width:850px}
.warehouse-notice{margin-top:24px}
.warehouse-video-jump{display:inline-flex;margin:4px 0 8px}
.warehouse-architecture{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:22px 0}
.warehouse-architecture-node{position:relative;display:flex;min-height:104px;flex-direction:column;justify-content:center;gap:8px;padding:16px;border:1px solid #3b5668;background:#14232d;color:#d9e7ef}
.warehouse-architecture-node:not(:last-child)::after{content:'→';position:absolute;right:-13px;top:calc(50% - 10px);z-index:1;color:#8fcfe0;font-size:18px;font-weight:700}
.warehouse-architecture-node strong{font-size:14px}.warehouse-architecture-node span{font-size:12px;color:#a9bfcd}
.warehouse-gallery-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.warehouse-gallery-open:focus-visible{outline:3px solid #9dd0ec;outline-offset:3px}
.warehouse-lightbox{position:fixed;inset:0;width:100vw;height:100vh;max-width:none;max-height:none;box-sizing:border-box;margin:0;padding:12px 18px 16px;border:0;background:#0d151c;color:#d9e7ef;overflow:hidden}
@supports(height:100dvh){.warehouse-lightbox{height:100dvh}}
.warehouse-lightbox[open]{display:flex;flex-direction:column;gap:10px}
.warehouse-lightbox::backdrop{background:rgba(2,7,11,.92)}
.warehouse-lightbox-toolbar{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:10px;min-height:42px}
.warehouse-lightbox-control,.warehouse-lightbox-close{min-width:42px;height:40px;padding:0 12px;border:1px solid #597487;border-radius:8px;background:#172630;color:#f2f8fb;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer}
.warehouse-lightbox-control:hover,.warehouse-lightbox-close:hover{background:#243b49}
.warehouse-lightbox-control:focus-visible,.warehouse-lightbox-close:focus-visible{outline:3px solid #9dd0ec;outline-offset:2px}
.warehouse-lightbox-zoom-value{min-width:54px;text-align:center;color:#d9e7ef;font-size:13px;font-variant-numeric:tabular-nums}
.warehouse-lightbox-fit{min-width:90px}
.warehouse-lightbox-close{font-size:22px;line-height:1}
.warehouse-lightbox-viewer{flex:1 1 auto;min-height:0;width:100%;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;border:1px solid #344958;background:#08131a;scrollbar-color:#557181 #101c24}
.warehouse-lightbox-image{display:block;width:auto;max-width:none!important;height:auto;max-height:none!important;object-fit:contain;margin:0 auto!important;border:0!important}
.warehouse-lightbox-caption{flex:0 0 auto;margin:0!important;padding-right:50px;color:#e0edf3!important;font-weight:650}
.warehouse-lightbox-description{flex:0 0 auto;max-width:1200px;max-height:16vh;overflow:auto;margin:0!important;padding-right:50px;color:#a9bfcd;font-size:14px;line-height:1.5}
@media(max-width:620px){.warehouse-facts-list,.warehouse-gallery{grid-template-columns:1fr}.warehouse-video{width:100%}.warehouse-lightbox{padding:8px;gap:7px}.warehouse-lightbox-toolbar{gap:6px;min-height:38px}.warehouse-lightbox-control,.warehouse-lightbox-close{min-width:36px;height:36px;padding:0 9px}.warehouse-lightbox-fit{min-width:78px}.warehouse-lightbox-description{max-height:20vh;font-size:12px}}
@media(max-width:800px){.warehouse-lightbox-description{font-size:13px}.warehouse-architecture{grid-template-columns:1fr}.warehouse-architecture-node{min-height:0;padding:14px 16px}.warehouse-architecture-node:not(:last-child)::after{content:'↓';right:auto;left:50%;top:auto;bottom:-18px}.warehouse-lightbox{padding:14px}}

/* ARL SMS-3500 project media */
.project-video{display:block;width:min(100%,900px);max-height:78vh;background:#05090d;border:1px solid #344958}
.project-video-caption{font-size:13px;color:#95aaba!important}
.project-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:24px;margin-top:22px}
.project-gallery-item{margin:0;border:1px solid #344958;background:#111b23}
.project-gallery-item img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;margin:0;border:0}
.project-gallery-item figcaption{min-height:44px;box-sizing:border-box;padding:12px 14px;color:#b7cbd7;font-size:13px;line-height:1.45}
.project-media-gallery>p{max-width:850px}
.manufacturer-reference{clear:both;display:block;margin-top:32px;padding:18px 20px;border:1px solid #3b5668;background:#14232d}
.manufacturer-reference h3{margin:0 0 8px;color:#d9e7ef;font-size:18px}
.manufacturer-reference p{margin:0 0 10px}
.manufacturer-reference a{color:#9dd0ec;font-size:14px;font-weight:700}
@media(max-width:620px){.project-gallery-grid{grid-template-columns:1fr}.project-video{width:100%}}

.project-detail img{height:auto}

.project-gallery-collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;aspect-ratio:16/10;background:#091019;overflow:hidden}.project-gallery-item .project-gallery-collage img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;margin:0;border:0;background:#091019}
.project-gallery-note{margin:0;padding:0 14px 14px;color:#95aaba;font-size:12px;line-height:1.6}
.project-gallery-collage{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.project-gallery-open:focus-visible{outline:3px solid #9dd0ec;outline-offset:3px}
.project-gallery-collage .project-gallery-open{overflow:hidden}
.project-lightbox{position:fixed;inset:0;margin:auto;max-width:min(94vw,1400px);max-height:92vh;overflow:auto;padding:24px;border:1px solid #597487;background:#0d151c;color:#d9e7ef}
.project-lightbox::backdrop{background:rgba(2,7,11,.88)}
.project-lightbox-image{display:block;width:auto!important;max-width:100%;height:auto;max-height:78vh;object-fit:contain;margin:0 auto!important;border:0!important}
.project-lightbox-caption{margin:12px 48px 0 0;color:#c6d7e2!important}
.project-lightbox-close{position:absolute;top:8px;right:10px;width:38px;height:38px;border:1px solid #597487;border-radius:50%;background:#172630;color:#fff;font-size:24px;cursor:pointer}
@media(max-width:620px){.project-lightbox{padding:14px}}

.warehouse-gallery-description{margin:0!important;padding:0 14px 14px;color:#aebfca!important;font-size:13px;line-height:1.55}
.robotic-cell-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.robotic-cell-video-card{min-width:0;border:1px solid #344958;background:#111b23;padding:14px}
.robotic-cell-video-card h3{margin:0 0 12px;font-size:17px;line-height:1.35;color:#d9e7ef}
.robotic-cell-video-card video{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#05090d;border:1px solid #344958}
.robotic-cell-video-card video.robotic-cell-video-portrait{width:min(100%,300px);aspect-ratio:9/16;margin-inline:auto}
.robotic-cell-video-card .project-video-caption{min-height:40px;margin-bottom:0}
.project-detail .project-gallery-item img{aspect-ratio:16/10;object-fit:cover}
.digital-twin-section .details-link{display:inline-block;color:#9dd0ec;font-size:14px;font-weight:700}
@media(max-width:850px){.robotic-cell-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.robotic-cell-video-grid{grid-template-columns:1fr}}
.robotic-cell-main-video{display:block;width:100%;max-width:1000px;height:auto;aspect-ratio:16/9;background:#05090d;border:1px solid #344958}
.robotic-cell-featured-video h2{margin-top:0}

/* Robotic-cell gallery spacing: keep the section divider below both captions. */
.project-detail .project-media-gallery{padding-bottom:36px}
.project-detail .project-media-gallery .project-gallery-grid{margin-bottom:0}

/* Group both RoboDK simulations inside a shared card. */
.robotic-cell-video-grid{grid-template-columns:minmax(220px,.85fr) minmax(0,2.15fr);align-items:stretch}
.robotic-cell-video-card--simulation{min-width:0}
.robotic-cell-simulation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.robotic-cell-simulation-item{min-width:0}
.robotic-cell-simulation-item h4{margin:0 0 10px;font-size:15px;line-height:1.4;color:#d9e7ef}
.robotic-cell-simulation-item video{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#05090d;border:1px solid #344958}
.robotic-cell-simulation-item .project-video-caption{min-height:50px;margin:10px 0 0;font-size:12px;line-height:1.5}
@media(max-width:850px){.robotic-cell-video-grid{grid-template-columns:minmax(180px,.8fr) minmax(0,2fr)}}
@media(max-width:700px){.robotic-cell-video-grid{grid-template-columns:1fr}}
@media(max-width:620px){.robotic-cell-simulation-grid{grid-template-columns:1fr}}

/* Additional compact web clip within the production footage card. */
.robotic-cell-video-card--production h4{margin:16px 0 8px;font-size:14px;line-height:1.4;color:#d9e7ef}
.robotic-cell-video-card video.robotic-cell-video-wide{aspect-ratio:20/9}

/* Four separate square-format clips in the robotic-cell gallery. */
.robotic-cell-video-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.robotic-cell-video-card{display:flex;flex-direction:column;min-width:0}
.robotic-cell-video-card h3{min-height:2.8em}
.robotic-cell-video-card video.robotic-cell-video-square{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#101820;border:1px solid #344958}
.robotic-cell-video-card .project-video-caption{flex:1 0 auto;min-height:3.4em;line-height:1.5}
@media(max-width:900px){.robotic-cell-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.robotic-cell-video-grid{grid-template-columns:1fr}}

.warehouse-gallery-video{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#08131a}
