.gallery-landing{--blue:#0789df;--bright:#29a9ff;--ink:#111b28;--muted:#52606e;--line:#dae3eb}
.gallery-landing *{box-sizing:border-box}
.gallery-landing{margin:0;background:#f3f6f9;color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
.gallery-landing button,.gallery-landing a{-webkit-tap-highlight-color:transparent}
.gallery-landing a{color:inherit;text-decoration:none}
.gallery-landing button{font:inherit}
.gallery-landing a:focus-visible,.gallery-landing button:focus-visible{outline:3px solid #f5b942;outline-offset:5px}
.gallery-landing .wrap{max-width:1800px;margin:auto;padding-left:40px;padding-right:40px}
.gallery-landing .skip{position:fixed;top:-100px;left:16px;background:white;padding:16px;z-index:100}
.gallery-landing .skip:focus{top:12px}
.gallery-landing .preview-note{background:#092439;color:#b9d4e8;font-size:10px;font-weight:700;letter-spacing:1.1px;padding:9px 40px;display:flex;gap:16px;align-items:center}
.gallery-landing .preview-note span{letter-spacing:.1px;font-weight:400;border-left:1px solid #637581;padding-left:16px}
.gallery-landing .preview-note a{margin-left:auto;color:white}
.gallery-landing .site-header{background:white;border-bottom:1px solid #e2e6eb}
.gallery-landing .header-inner{max-width:1800px;padding:13px 40px;margin:auto;display:flex;align-items:center;gap:40px}
.gallery-landing .brand img{display:block;width:210px;height:auto}
.gallery-landing .site-header nav{display:flex;align-items:center;gap:32px;margin-left:auto;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.6px}
.gallery-landing .site-header nav a{padding:22px 0;border-bottom:3px solid transparent}
.gallery-landing .site-header nav [aria-current]{color:#0078bf;border-color:var(--blue)}
.gallery-landing .header-back{background:#087fc9;color:#fff;padding:14px 18px;font-size:12px;font-weight:700;border-radius:4px}
.gallery-landing .header-back span{padding-left:12px}
.gallery-landing .intro{background:#10202f;color:white;border-bottom:5px solid var(--blue);padding:42px 0 40px}
.gallery-landing .eyebrow{margin:0 0 14px;color:#46b8ff;font-size:11px;font-weight:800;letter-spacing:2.1px}
.gallery-landing h1{font-size:clamp(34px,3.45vw,50px);line-height:1.08;letter-spacing:-1.5px;margin:0;font-weight:800}
.gallery-landing h1 br{display:none}
.gallery-landing h1 span{color:#49b9ff}
.gallery-landing .lede{color:#d2dee7;font-size:16px;line-height:1.6;margin:16px 0 0}
.gallery-landing .mobile-break{display:none}
.gallery-landing .gallery-section{padding-top:34px;padding-bottom:40px}
.gallery-landing .section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:23px}
.gallery-landing .section-heading h2{font-size:23px;letter-spacing:-.5px;margin:0}
.gallery-landing .section-heading p{font-size:13px;color:var(--muted);margin:0}
.gallery-landing .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.gallery-landing .gallery-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 5px 16px #16394b05;transition:transform .18s,box-shadow .18s}
.gallery-landing .gallery-card:hover{transform:translateY(-3px);box-shadow:0 9px 24px #16394b12}
.gallery-landing .image-stage{position:relative;aspect-ratio:1.22;background:white;border-bottom:1px solid #e8edf1;padding:9px 9px 40px;display:flex;align-items:center;justify-content:center}
.gallery-landing .image-stage>a,.gallery-landing .concept-image{display:block;width:100%;height:100%;border:0;background:none;padding:0;cursor:pointer}
.gallery-landing .image-stage img{width:100%;height:100%;object-fit:contain;display:block}
.gallery-landing .image-label{position:absolute;bottom:14px;left:17px;font-size:9px;letter-spacing:1.2px;font-weight:800;color:#4f606b}
.gallery-landing .warehouse{background:#f5f5f4}
.gallery-landing .card-copy{padding:23px 23px 21px;display:flex;flex:1;flex-direction:column}
.gallery-landing .card-kicker{font-size:10px!important;font-weight:800;letter-spacing:1.35px;color:#087fc9!important;margin:0 0 10px!important}
.gallery-landing .card-copy h3{font-size:clamp(22px,2vw,28px);line-height:1.15;margin:0 0 13px;letter-spacing:-.7px}
.gallery-landing .card-copy>p:not(.card-kicker){font-size:14px;line-height:1.65;margin:0 0 23px;color:var(--muted)}
.gallery-landing .card-link{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:auto;padding:16px 0 0;border:0;border-top:1px solid var(--line);color:#057fc5;background:none;font-weight:800;font-size:12px;text-align:left;cursor:pointer}
.gallery-landing .card-link span{font-size:21px;line-height:1}
.gallery-landing .inspiration{border-color:#89c6ec}
.gallery-landing .inspiration .card-copy{background:#edf7ff}
.gallery-landing .concept-switch{position:absolute;right:17px;bottom:12px;display:flex;gap:6px}
.gallery-landing .concept-switch button{width:17px;height:17px;background:#bed4e1;border:4px solid #fff;border-radius:50%;padding:0;cursor:pointer}
.gallery-landing .concept-switch button[aria-pressed=true]{background:#007cc4;box-shadow:0 0 0 1px #007cc4}
.gallery-landing .inspiration-note{display:flex;align-items:flex-start;gap:16px;margin-top:25px;background:#e5eef5;border-left:3px solid #1299e9;padding:18px 22px;border-radius:0 4px 4px 0}
.gallery-landing .note-symbol{font-size:24px;color:#057fc5;line-height:1.35}
.gallery-landing .inspiration-note p{font-size:12px;line-height:1.65;color:#455968;margin:0}
.gallery-landing .inspiration-note strong{color:#1d3445}
.gallery-landing footer{background:#112130;color:#a8bdcd;padding:25px 0}
.gallery-landing footer .wrap{display:flex;align-items:center;gap:22px}
.gallery-landing footer span{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#f3f9ff}
.gallery-landing footer p{font-size:12px;margin:0}
.gallery-landing footer small{margin-left:auto;font-size:10px}
.gallery-landing dialog{border:0;border-radius:10px;max-width:920px;width:calc(100% - 32px);max-height:92vh;padding:24px;color:var(--ink)}
.gallery-landing dialog::backdrop{background:#05131bce}
.gallery-landing .dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.gallery-landing .dialog-head .eyebrow{font-size:10px;margin:0 0 6px;color:#087fc9}
.gallery-landing .dialog-head h2{font-size:24px;margin:0}
.gallery-landing .dialog-head button{background:#edf3f7;border:0;border-radius:50%;width:40px;height:40px;font-size:29px;cursor:pointer}
.gallery-landing #dialog-image{display:block;width:100%;height:55vh;object-fit:contain;margin-top:16px}
.gallery-landing .dialog-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center}
.gallery-landing .dialog-bottom p{font-size:14px;font-weight:700}
.gallery-landing .dialog-bottom button{border:1px solid #abd2eb;background:#eaf6ff;border-radius:4px;padding:10px 13px;color:#067bbf;font-size:12px;font-weight:700;cursor:pointer}
.gallery-landing .dialog-disclaimer{color:#576775;font-size:12px;line-height:1.5;border-top:1px solid var(--line);padding-top:13px;margin-bottom:0}
@media(min-width:1500px){.gallery-landing .intro{padding:48px 0}
.gallery-landing .gallery-section{padding-top:39px}
.gallery-landing .image-stage{aspect-ratio:1.2}
}
@media(max-width:1000px){.gallery-landing .wrap,.gallery-landing .header-inner{padding-left:25px;padding-right:25px}
.gallery-landing .header-inner{gap:23px}
.gallery-landing .header-back{display:none}
.gallery-landing .gallery-grid{gap:16px}
.gallery-landing .card-copy{padding:19px 17px}
.gallery-landing .card-copy h3{font-size:23px}
.gallery-landing .card-copy>p:not(.card-kicker){font-size:13px}
.gallery-landing .card-link{font-size:11px}
.gallery-landing .image-label{font-size:8px;left:12px;letter-spacing:.7px}
.gallery-landing h1 br{display:block}
.gallery-landing .concept-switch{right:10px}
.gallery-landing footer small{max-width:200px;text-align:right;line-height:1.5}
}
@media(max-width:720px){.gallery-landing .wrap,.gallery-landing .header-inner{padding-left:20px;padding-right:20px}
.gallery-landing .preview-note{padding:9px 20px;font-size:9px;letter-spacing:.7px}
.gallery-landing .preview-note span{display:none}
.gallery-landing .header-inner{padding-top:13px;padding-bottom:13px;gap:15px}
.gallery-landing .brand img{width:160px}
.gallery-landing .site-header nav{gap:16px;font-size:10px;letter-spacing:0}
.gallery-landing .site-header nav a{padding:14px 0}
.gallery-landing .site-header nav a:nth-child(2){display:none}
.gallery-landing .intro{padding:30px 0 31px}
.gallery-landing h1{font-size:37px;letter-spacing:-1.2px}
.gallery-landing .lede{font-size:14px}
.gallery-landing .mobile-break{display:block}
.gallery-landing .gallery-section{padding-top:26px;padding-bottom:28px}
.gallery-landing .section-heading{display:block;margin-bottom:20px}
.gallery-landing .section-heading h2{font-size:24px;margin-bottom:8px}
.gallery-landing .section-heading p{font-size:13px}
.gallery-landing .gallery-grid{grid-template-columns:1fr;gap:22px}
.gallery-landing .image-stage{aspect-ratio:1.2;max-height:420px;padding:10px 13px 39px}
.gallery-landing .image-label{left:20px;font-size:9px;letter-spacing:1px}
.gallery-landing .concept-switch{right:20px}
.gallery-landing .card-copy{padding:22px}
.gallery-landing .card-copy h3{font-size:28px}
.gallery-landing .card-copy>p:not(.card-kicker){font-size:14px;margin-bottom:22px}
.gallery-landing .card-link{font-size:13px;padding-top:17px}
.gallery-landing .inspiration-note{padding:16px;gap:11px}
.gallery-landing .inspiration-note p{font-size:12px}
.gallery-landing footer .wrap{display:block}
.gallery-landing footer p{margin:10px 0}
.gallery-landing footer small{text-align:left}
.gallery-landing #dialog-image{height:45vh}
.gallery-landing dialog{padding:18px}
.gallery-landing .dialog-head h2{font-size:21px}
}
@media(prefers-reduced-motion:reduce){.gallery-landing *{transition:none!important;scroll-behavior:auto!important}
}
.gallery-landing .gallery-grid{align-items:stretch}
.gallery-landing .gallery-card{min-width:0}
.gallery-landing .gallery-card .image-stage{position:relative;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:1.2;flex:0 0 auto;padding:0;overflow:hidden}
.gallery-landing .gallery-card .image-stage>a,.gallery-landing .gallery-card .image-stage>.concept-image{position:absolute;top:9px;right:9px;bottom:40px;left:9px;width:auto;height:auto;min-height:0;min-width:0;margin:0;padding:0}
.gallery-landing .gallery-card .image-stage img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.gallery-landing .gallery-card .card-copy{background:#edf7ff;min-height:280px}
.gallery-landing .gallery-card .card-copy h3{min-height:2.3em}
.gallery-landing .gallery-card .card-link{margin-top:auto;min-height:40px}
@media(max-width:720px){.gallery-landing .gallery-card .image-stage{aspect-ratio:1.2}
.gallery-landing .gallery-card .card-copy{min-height:280px}
.gallery-landing .gallery-card .card-copy h3{min-height:2.3em}
}
.gallery-landing .gallery-card .card-copy>p:not(.card-kicker){font-size:16px;line-height:1.6}
@media(min-width:721px) and (max-width:1000px){.gallery-landing .gallery-card .card-copy>p:not(.card-kicker){font-size:15px}
}
.gallery-landing .gallery-card .card-copy>.card-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;width:100%;margin-top:auto;padding:14px 17px;border:1px solid #0577bc;border-radius:6px;background:#087fc9;color:#fff;font-size:14px;font-weight:800;line-height:1.35;box-shadow:0 2px 5px #075b8c18}
.gallery-landing .gallery-card .card-copy>.card-link:hover{background:#066cac;border-color:#066cac}
.gallery-landing .gallery-card .card-copy>.card-link:focus-visible{outline:3px solid #f5b942;outline-offset:4px}
.gallery-landing .gallery-card .card-copy>.card-link span{flex:none;font-size:22px}
@media(min-width:721px) and (max-width:1000px){.gallery-landing .gallery-card .card-copy>.card-link{min-height:64px;padding:12px;font-size:13px}
}

.gallery-landing .wrap{max-width:none;width:100%;margin-inline:auto}.gallery-landing .concept-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:16px;color:#26658a;text-align:center;padding:20px;background:#f5fbff}.gallery-landing .concept-placeholder>span{font-size:70px}.gallery-landing .concept-placeholder strong{font-size:24px}.gallery-landing .concept-placeholder small{font-size:15px;line-height:1.5}.gallery-landing .gallery-card .image-stage>a{cursor:pointer}
/* All galleries use the available width, retaining responsive site gutters. */
.gallery-page-hero>.wrap,.gallery-tabs-wrap,.library-gallery-section>.wrap,.installed-gallery-page>.wrap{max-width:none}
