/* Product hero: deliberately scoped to preserve the shared navigation and page. */
.product-hero.hero-vision{isolation:isolate;position:relative;height:auto;min-height:0;margin:0 22px;border:1px solid #e5e9ed;border-radius:18px;background:#f1f4f6;color:#142d47;overflow:hidden}
.product-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 45%,#fff 0%,#f7f9fa 44%,#edf1f4 100%);z-index:-2}
.product-hero .ph-watermark{position:absolute;top:-.13em;right:-.055em;font-size:clamp(300px,34vw,650px);font-weight:700;line-height:1;letter-spacing:-.09em;color:#e8edf0;opacity:.65;pointer-events:none;z-index:-1}
.product-hero .ph-main.wrap{position:relative;width:min(1540px,calc(100% - 112px))!important;display:grid;grid-template-columns:.84fr 1.36fr;align-items:center;min-height:650px;gap:0}
.product-hero .ph-copy{position:relative;z-index:2;padding:70px 0 64px}
.product-hero .eyebrow{font-size:10px;letter-spacing:1.55px;color:#637487;white-space:nowrap}
.product-hero .ph-copy h1{font-size:clamp(48px,4.6vw,82px);font-weight:500;letter-spacing:-.055em;line-height:1.08;margin:33px 0 24px}
.product-hero .ph-copy h1 span{color:#7a8f9f}
.product-hero .ph-copy>p{max-width:380px;color:#687887;font-size:17px!important;line-height:1.75;margin:0}
.product-hero .ph-actions{display:flex;align-items:center;gap:24px;margin-top:31px;flex-wrap:wrap}
.product-hero .ph-actions .btn{padding:17px 21px;gap:29px;border-radius:5px;font-size:14px;min-height:54px;box-shadow:0 9px 22px #b1263513}
.product-hero .ph-contact{display:inline-flex;gap:13px;align-items:center;font-size:13px;padding:14px 0;border-bottom:1px solid #b8c4cd}
.product-hero .ph-contact:hover{color:#b32636;border-color:#b32636}
.product-hero .ph-signature{display:flex;gap:16px;align-items:center;margin-top:57px;color:#71808d;font-size:11px;line-height:1.65;letter-spacing:.2px}
.product-hero .ph-signature b{color:#233e55;font-weight:500}
.product-hero .ph-signature-line{display:block;width:31px;height:1px;background:#acb9c3}
.product-hero .ph-showcase{position:relative;align-self:stretch;min-width:0;margin:0;min-height:600px}
.product-hero .ph-orbit{position:absolute;width:87%;height:24%;bottom:11%;right:-2%;border:1px solid #d5dfe6;border-radius:50%;transform:rotate(-9deg);background:radial-gradient(ellipse,#dbe2e855,transparent 70%)}
.product-hero .ph-products{position:absolute;width:112%;max-width:none;height:auto;max-height:calc(100% - 62px);right:-5%;top:49%;transform:translateY(-49%);object-fit:contain;filter:drop-shadow(0 20px 13px #1e3b5011)}
.product-hero .ph-product-heading{position:absolute;right:0;top:38px;display:flex;align-items:start;gap:24px;color:#728392;font-size:10px;line-height:1.6;font-weight:600;letter-spacing:1.7px;z-index:2}
.product-hero .ph-product-heading i{font-style:normal;color:#b62939;font-size:25px;line-height:1}
.product-hero .ph-showcase figcaption{position:absolute;bottom:30px;right:0;display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.6;color:#82919d}
.product-hero .ph-showcase figcaption strong{color:#526c7e;font-weight:500}
.product-hero .ph-caption-mark{font-size:28px;color:#b62939;font-weight:300;line-height:1}
.product-hero .ph-footer{position:relative;z-index:3;background:#ffffffa6;border-top:1px solid #dce4e9}
.product-hero .ph-footer-inner.wrap{display:flex;align-items:center;gap:28px;min-height:73px;width:min(1540px,calc(100% - 112px))!important}
.product-hero .ph-all{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.9px;font-weight:600;white-space:nowrap;padding-right:28px;border-right:1px solid #dce4e9}
.product-hero .ph-all>span{font-size:25px;letter-spacing:-1px;font-weight:400;color:#b62939}
.product-hero .ph-all>b{margin-left:7px;font-size:16px;font-weight:400}
.product-hero .ph-types{display:flex;align-items:center;flex-wrap:wrap;gap:24px;color:#677e8e;font-size:11px}
.product-hero .ph-types span{white-space:nowrap}
.product-hero .ph-footer-note{margin-left:auto;color:#81909d;font-size:9px;letter-spacing:1.1px;white-space:nowrap}
@media(min-width:1750px){.product-hero .ph-main.wrap{min-height:720px}.product-hero .ph-products{width:114%;right:-4%}.product-hero .ph-copy>p{max-width:420px;font-size:18px!important}.product-hero .ph-actions .btn{font-size:15px}.product-hero .ph-contact{font-size:14px}}
@media(max-width:1150px){.product-hero .ph-main.wrap,.product-hero .ph-footer-inner.wrap{width:calc(100% - 70px)!important}.product-hero .ph-main.wrap{grid-template-columns:.9fr 1.1fr;min-height:570px}.product-hero .ph-copy h1{font-size:53px}.product-hero .ph-copy>p{font-size:15px!important;max-width:330px}.product-hero .ph-copy{padding:54px 0}.product-hero .ph-showcase{min-height:540px}.product-hero .eyebrow{font-size:8px;letter-spacing:1px}.product-hero .ph-products{width:116%;right:-7%}.product-hero .ph-types{gap:16px;font-size:10px}.product-hero .ph-footer-note{display:none}.product-hero .ph-actions{gap:18px}.product-hero .ph-signature{margin-top:36px}}
@media(max-width:800px){.product-hero.hero-vision{margin:0 12px;border-radius:13px}.product-hero .ph-main.wrap{width:calc(100% - 44px)!important;display:flex;flex-direction:column;align-items:stretch;min-height:0}.product-hero .ph-copy{padding:34px 0 0}.product-hero .eyebrow{font-size:8px;letter-spacing:1.1px}.product-hero .ph-copy h1{font-size:clamp(44px,8vw,61px);line-height:1.07;letter-spacing:-2.3px;margin:24px 0 17px}.product-hero .ph-copy>p{max-width:410px;font-size:14px!important;line-height:1.75}.product-hero .ph-actions{margin-top:22px;gap:14px}.product-hero .ph-actions .btn{font-size:12px;padding:14px 14px;min-height:48px;gap:14px}.product-hero .ph-contact{font-size:11.5px;padding-block:12px;gap:9px}.product-hero .ph-signature{display:none}.product-hero .ph-showcase{height:clamp(300px,65vw,480px);min-height:0;margin-top:13px}.product-hero .ph-products{width:110%;right:-5%;top:49%;transform:translateY(-50%)}.product-hero .ph-product-heading{display:none}.product-hero .ph-showcase figcaption{bottom:12px;right:2px;font-size:9px}.product-hero .ph-orbit{bottom:13%;right:4%;width:90%;height:20%}.product-hero .ph-watermark{font-size:73vw;top:auto;bottom:6%;right:2%;opacity:.65}.product-hero .ph-footer-inner.wrap{width:calc(100% - 44px)!important;display:block;padding:17px 0;min-height:0}.product-hero .ph-all{font-size:9px;gap:10px;border:0;padding:0}.product-hero .ph-all>span{font-size:23px}.product-hero .ph-all>b{margin-left:auto}.product-hero .ph-types{border-top:1px solid #dce4e9;margin-top:13px;padding-top:13px;gap:10px 18px;font-size:9px}}
@media(prefers-reduced-motion:no-preference){.product-hero .ph-products{animation:ph-arrive .8s ease-out both}@keyframes ph-arrive{from{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}}

/* Softly rounded home cards, with restrained depth rather than heavy borders. */
body:has(.product-hero) .brand-buttons>a{border-radius:18px;border-color:#e6ebef;background:#f8fafb;box-shadow:0 3px 7px #142d4705,0 8px 22px #142d4706}
body:has(.product-hero) .service,
body:has(.product-hero) .area,
body:has(.product-hero) .resource{border-radius:22px;overflow:hidden;background:#fff;border:1px solid #e7ecf0;box-shadow:0 4px 10px #142d4705,0 12px 30px #142d4709}
body:has(.product-hero) .service-photo{overflow:hidden}
body:has(.product-hero) .project{border-radius:26px;overflow:hidden;border:1px solid #e7ecf0;box-shadow:0 5px 12px #142d4705,0 14px 36px #142d4709}
body:has(.product-hero) .service:focus-within,
body:has(.product-hero) .area:focus-within,
body:has(.product-hero) .resource:focus-within{box-shadow:0 6px 15px #142d4709,0 16px 34px #142d4710;border-color:#cfdae2}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 body:has(.product-hero) .brand-buttons>a,
 body:has(.product-hero) .service,
 body:has(.product-hero) .area,
 body:has(.product-hero) .resource{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
 body:has(.product-hero) .brand-buttons>a:hover,
 body:has(.product-hero) .service:hover,
 body:has(.product-hero) .area:hover,
 body:has(.product-hero) .resource:hover{transform:translateY(-3px);border-color:#d5dfe7;box-shadow:0 6px 14px #142d4707,0 17px 35px #142d4710}
}
@media(max-width:760px){body:has(.product-hero) .service,body:has(.product-hero) .area,body:has(.product-hero) .resource{border-radius:18px}body:has(.product-hero) .brand-buttons>a{border-radius:15px}body:has(.product-hero) .project{border-radius:20px}}

