/* Products & Solutions — shared ForgeCore editorial design. */
.editorial-products{scroll-padding-top:150px}
.editorial-products nav a[aria-current=page]{color:var(--blue)}
.editorial-products .portfolio-hero{padding:72px 6% 64px;gap:64px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);background:#f7fcff url('/optimized/hero-background.webp') center/cover no-repeat;border-bottom:1px solid var(--line)}
.editorial-products .portfolio-hero h1{font-size:clamp(58px,6.2vw,88px);font-weight:500;line-height:1.08;letter-spacing:-4px;margin:28px 0}
.editorial-products .portfolio-hero .lead{font-size:20px;max-width:510px;line-height:1.7}
.editorial-products .portfolio-hero .actions{gap:28px;flex-wrap:wrap;margin:32px 0 40px}
.editorial-products .hero-proof{gap:54px;border-color:#cbdfea;padding-top:25px}
.editorial-products .hero-proof strong{font-size:34px;font-family:Manrope,Arial,sans-serif}
.editorial-products .hero-proof small{font-size:13px;letter-spacing:0;line-height:1.5;margin-top:6px}
.editorial-products .product-stage{height:460px;perspective:none;min-width:0}
.editorial-products .stage-label{left:0;top:16px;font-size:11px;letter-spacing:2.2px}
.editorial-products .stage-desktop{width:92%;left:0;top:80px;border:6px solid #fff;border-radius:10px;transform:none;animation:none;box-shadow:0 16px 35px #164d791a}
.editorial-products .stage-mobile{right:0;top:160px;width:26%;height:265px;animation:none;filter:drop-shadow(0 14px 15px #143a6925)}
.editorial-products .stage-caption{bottom:0;left:0;font-size:12px;line-height:1.6;max-width:90%}
.editorial-products .section-top{margin-bottom:38px;gap:60px}
.editorial-products .section-top h2{font-size:clamp(36px,3.5vw,52px);line-height:1.18;letter-spacing:-2px}
.editorial-products .section-top>p{font-size:17px;line-height:1.75;max-width:390px}
.editorial-products .filter-row{gap:8px;flex-wrap:wrap;border-block:1px solid var(--line);padding:16px 0;background:#fff}
.editorial-products .filter-row button{border:1px solid transparent;border-radius:5px;padding:13px 18px;min-height:48px;font-size:14px;color:#3b586f;background:#fff;transition:background .2s,color .2s}
.editorial-products .filter-row button:hover{background:#eaf5fc}
.editorial-products .filter-row button.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.editorial-products .filter-row span{font-size:12px;opacity:.9}
.editorial-products #result-count{font-size:13px;color:#526c80;letter-spacing:.2px;margin:22px 0 30px}
.editorial-products .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 28px}
.editorial-products .product-card{display:flex;flex-direction:column;border:0;border-bottom:1px solid var(--line);border-radius:0;overflow:visible;min-width:0;background:#fff}
.editorial-products .product-card[hidden]{display:none}
.editorial-products .product-card:hover{transform:translateY(-4px);box-shadow:none}
.editorial-products .product-picture{display:block;height:300px;padding:20px;background:#eff5f8;border:1px solid #e1ebf0;border-radius:9px;cursor:pointer}
.editorial-products .product-picture img{object-fit:contain;filter:none;transition:transform .45s}
.editorial-products .product-picture>span{display:none}
.editorial-products .product-card[data-group="1"] .product-picture{padding:16px;background:#edf6fc}
.editorial-products .product-card[data-group="2"] .product-picture{background:#f6f4f0}
.editorial-products .product-card[data-group="3"] .product-picture{background:#f0f4f3}
.editorial-products .product-copy{padding:25px 0 22px;display:flex;flex-direction:column;flex:1}
.editorial-products .meta{font-size:11px;line-height:1.5;gap:10px}
.editorial-products .meta span:first-child{font-weight:600;color:#0872b8}
.editorial-products .meta span:last-child{color:#617589}
.editorial-products .product-copy h3{font-size:30px;line-height:1.25;letter-spacing:-1px;margin:17px 0 12px;font-weight:500}
.editorial-products .product-copy p{font-size:16px;line-height:1.65;min-height:54px;margin:0 0 22px;color:#597083}
.editorial-products .product-copy .link{margin-top:auto;padding:12px 0 8px;min-height:44px;font-size:14px;border-bottom:0;color:#0968b6}
.editorial-products .capabilities{background:#f4f9fc;gap:80px;border-block:1px solid var(--line)}
.editorial-products .capabilities h2{font-size:clamp(38px,4vw,58px);line-height:1.16}
.editorial-products .capabilities>div>p{font-size:17px;line-height:1.8}
.editorial-products .competency-list article{padding:23px 0;gap:25px}
.editorial-products .competency-list article>span{font-size:13px}
.editorial-products .competency-list h3{font-size:23px;font-weight:500}
.editorial-products .competency-list p{font-size:15px;line-height:1.7;margin-top:9px}
.editorial-products .portfolio-cta{background:#fff url('/optimized/hero-background.webp') center/cover no-repeat}
.editorial-products .portfolio-cta h2{font-size:clamp(40px,4.6vw,66px);line-height:1.15}
.editorial-products .portfolio-cta .actions{gap:26px;margin:34px 0 25px}
.editorial-products #project-modal{width:calc(100% - 48px);max-width:1160px;max-height:calc(100dvh - 64px);border-radius:12px}
.editorial-products #project-modal .close{position:sticky;top:14px;margin:14px 16px -58px auto;display:flex;align-items:center;justify-content:center;z-index:4;min-width:44px;min-height:44px;background:#fff;border:1px solid var(--line);box-shadow:0 3px 12px #143a6910}
.editorial-products #modal-content{padding:46px}
.editorial-products #modal-name{font-size:48px;letter-spacing:-2px;padding-right:40px}
.editorial-products #modal-content>h3{font-size:24px;font-weight:500}
.editorial-products #modal-content>p{font-size:17px;line-height:1.8;max-width:800px}
.editorial-products .modal-features{gap:10px;margin:26px 0}
.editorial-products .modal-features span{font-size:13px;padding:9px 13px;border-radius:4px;background:#edf6fb;color:#225b7f}
.editorial-products .modal-gallery{padding:24px;background:#f2f6f8;gap:24px;border-radius:8px}
.editorial-products .modal-gallery img{height:370px;object-fit:contain}
.editorial-products .modal-gallery.mobile img{height:450px}
.editorial-products #modal-content>.source-note{font-size:12px!important;color:#5a7083}
.editorial-products .modal-links{gap:25px}
@media(max-width:1100px){.editorial-products .portfolio-hero{gap:35px;padding:48px 6%}.editorial-products .portfolio-hero h1{font-size:66px}.editorial-products .portfolio-hero .lead{font-size:18px}.editorial-products .product-stage{height:390px}.editorial-products .stage-desktop{top:80px}.editorial-products .stage-mobile{top:145px;height:220px}.editorial-products .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px}.editorial-products .product-picture{height:330px}.editorial-products .capabilities{gap:40px}.editorial-products .section-top>p{max-width:330px}}
@media(max-width:760px){.editorial-products .portfolio-hero{grid-template-columns:1fr;gap:30px;padding:42px 6%}.editorial-products .portfolio-hero h1{font-size:clamp(54px,11vw,72px);letter-spacing:-3px;margin:24px 0}.editorial-products .portfolio-hero .lead{font-size:18px;max-width:100%}.editorial-products .portfolio-hero .actions{margin:28px 0;gap:22px}.editorial-products .hero-proof{gap:42px}.editorial-products .hero-proof strong{font-size:30px}.editorial-products .hero-proof small{font-size:12px}.editorial-products .product-stage{height:340px;max-width:500px;width:100%;margin:auto}.editorial-products .stage-label{top:0;font-size:9px}.editorial-products .stage-desktop{top:42px;width:91%}.editorial-products .stage-mobile{top:102px;height:200px;width:25%}.editorial-products .stage-caption{font-size:11px;bottom:0}.editorial-products .section-top{display:block;margin-bottom:28px}.editorial-products .section-top h2{font-size:38px;letter-spacing:-1.7px}.editorial-products .section-top>p{font-size:16px;max-width:none;margin-top:20px}.editorial-products .filter-row{gap:7px;padding:13px 0}.editorial-products .filter-row button{font-size:13px;padding:12px 13px;min-height:44px}.editorial-products .filter-row span{margin-left:6px}.editorial-products .product-grid{gap:32px 20px}.editorial-products .product-picture{height:250px;padding:14px}.editorial-products .meta{flex-direction:column;gap:4px}.editorial-products .meta span:last-child{text-align:left}.editorial-products .product-copy{padding-top:20px}.editorial-products .product-copy h3{font-size:27px}.editorial-products .product-copy p{font-size:15px;min-height:74px}.editorial-products .capabilities{grid-template-columns:1fr;gap:20px}.editorial-products .competency-list h3{font-size:22px}.editorial-products #project-modal{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.editorial-products #modal-content{padding:30px 20px}.editorial-products #modal-name{font-size:37px}.editorial-products #modal-content>h3{font-size:21px}.editorial-products #modal-content>p{font-size:16px}.editorial-products .modal-gallery{padding:14px;gap:18px}.editorial-products .modal-gallery img{height:auto;max-height:380px}.editorial-products .modal-gallery.mobile img{height:380px}.editorial-products .modal-gallery.mobile a{flex-basis:100%;max-width:100%}.editorial-products .modal-links{align-items:stretch;flex-direction:column;gap:22px}.editorial-products .modal-links>.link{align-self:start}}
@media(max-width:480px){.editorial-products .product-grid{grid-template-columns:1fr}.editorial-products .product-picture{height:330px;padding:20px}.editorial-products .meta{flex-direction:row}.editorial-products .meta span:last-child{text-align:right}.editorial-products .product-copy p{min-height:0;font-size:16px}.editorial-products .product-stage{height:290px}.editorial-products .stage-mobile{top:90px;height:170px}.editorial-products .portfolio-hero .actions .link{font-size:13px}.editorial-products .portfolio-cta .actions{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.editorial-products .product-card:hover,.editorial-products .product-picture:hover img{transform:none}}
