/* User-supplied products, edited for a local homepage review. */
.hero-panel.has-product-photo{padding:60px 0 0;min-height:0;background:#0b1d2b;overflow:hidden}
.hero-product-frame{margin:0;position:relative}
.hero-product-frame img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.hero-product-frame:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 35px rgba(7,21,33,.16)}
.hero-product-note{font-size:10px;line-height:1.7;color:#a9bdca;margin:14px 28px 0}
.has-product-photo .panel-title{margin:18px 28px 20px;font-size:20px}
.has-product-photo .panel-footer{margin:0 28px 22px}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-with-photo{grid-column:1/-1;display:grid;grid-template-columns:.8fr 1.2fr;gap:42px;padding:32px;background:#f1f4f5;align-items:center}
.service-content{min-width:0}
.service-with-photo h3{font-size:36px;margin:28px 0 12px}
.service-with-photo .service-scene{max-width:100%}
.service-content>p{font-size:15px;margin:14px 0 0}
.service-with-photo .service-meta{display:block;margin-top:34px}
.service-with-photo .service-meta>span{display:block;max-width:100%;font-size:12px;line-height:2}
.service-with-photo .service-meta>a{margin-top:14px;width:fit-content;font-size:13px}
.product-gallery{min-width:0;margin:0;align-self:start}
.product-gallery-stage{position:relative;background:#0b1d2b;border:1px solid #203a4e}
.product-gallery-stage img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}
.product-gallery-stage img[hidden]{display:none}
.product-gallery-stage img:not([hidden]){animation:fade-in .3s both}
.product-switcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.product-switcher button{padding:3px;border:1px solid #8298a5;background:transparent;position:relative;min-width:0;min-height:44px;border-radius:2px;transition:border-color .2s,box-shadow .2s}
.product-switcher button[aria-pressed="true"]{border-color:#b64128;box-shadow:0 0 0 1px #b64128}
.product-switcher button:hover{border-color:#b64128}
.product-switcher img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#0b1d2b}
.product-gallery figcaption{font-size:11px;color:#566d7c;margin-top:12px;line-height:1.8}
.service-grid>.service:not(.service-with-photo) .service-scene{max-width:100%}
.service-grid>.service:not(.service-with-photo) .service-meta{display:block}
.service-grid>.service:not(.service-with-photo) .service-meta span{max-width:100%;display:block}
.service-grid>.service:not(.service-with-photo) .service-meta a{margin-top:6px}
.service-grid>.service:not(.service-with-photo) .category-drawing{width:41%;right:8px;top:15px;opacity:.45}
@media(max-width:1100px){.service-with-photo{gap:25px;padding:26px}.service-with-photo h3{font-size:31px}.service-grid>.service:not(.service-with-photo){padding:22px}.service-grid>.service:not(.service-with-photo) h3{font-size:24px}.has-product-photo .panel-title{font-size:18px}}
@media(max-width:800px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-with-photo{grid-template-columns:1fr;gap:24px}.service-with-photo .service-meta{margin-top:20px;display:flex;align-items:center;gap:25px}.service-with-photo .service-meta span{max-width:76%}.service-with-photo .service-meta a{margin-top:0;flex-shrink:0}.service-with-photo h3{margin-top:20px}.hero-panel.has-product-photo{max-width:650px}.has-product-photo .panel-title{font-size:21px}.service-grid>.service:not(.service-with-photo) h3{margin-top:75px}.service-grid>.service:not(.service-with-photo) .category-drawing{width:60%;top:5px}}
@media(max-width:640px){.service-grid{grid-template-columns:1fr}.service-with-photo{padding:24px;gap:22px}.service-grid>.service:not(.service-with-photo){min-height:272px;padding:26px}.service-grid>.service:not(.service-with-photo) h3{margin-top:35px;font-size:27px}.service-grid>.service:not(.service-with-photo) .service-scene{max-width:56%}.service-grid>.service:not(.service-with-photo) .category-drawing{width:45%;top:22px;opacity:.65}.service-grid>.service:not(.service-with-photo) .service-meta{display:flex}.service-grid>.service:not(.service-with-photo) .service-meta span{max-width:72%}.service-grid>.service:not(.service-with-photo) .service-meta a{margin-top:0}.product-switcher{gap:8px}.hero-product-note{margin-inline:22px;font-size:9px}.has-product-photo .panel-title{margin-inline:22px;font-size:18px}.has-product-photo .panel-footer{margin-inline:22px}.service-with-photo .service-meta{display:block}.service-with-photo .service-meta span{max-width:100%}.service-with-photo .service-meta a{margin-top:10px}.service-with-photo h3{font-size:30px}.product-gallery figcaption{font-size:10px}}
