.product-hero{min-height:clamp(590px,72vh,760px)}
.product-hero .hero-inner{padding-top:160px;padding-bottom:150px}
.product-hero .hero-copy{max-width:1040px}
.product-hero .hero-copy{padding-top:14px;padding-right:20px;padding-bottom:14px;background:transparent;border-radius:3px}
@media(max-width:680px){.product-hero .hero-copy{padding-right:4px}}
.product-hero h1{font-size:clamp(40px,4vw,62px)}
.product-hero h1 span{display:block;white-space:nowrap}
/* Keep long translated headings inside the narrow mobile hero. */
@media(max-width:680px){.product-hero h1 span{overflow-wrap:anywhere}}
@media(max-width:460px){.product-hero h1{font-size:clamp(30px,8.5vw,40px)}}
.product-hero .hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.90),rgba(255,255,255,.70) 32%,rgba(255,255,255,.07) 59%,transparent 78%)}
.stage-section{padding:76px 0 104px;text-align:center;background:#fff}
.stage-section h2,.portfolio-section h2{margin:0;font-size:clamp(30px,3vw,44px);line-height:1.16;letter-spacing:-.03em}
.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);max-width:1120px;margin:58px auto 0}
.stage-card{position:relative;min-width:0;padding:0 42px 6px;text-align:left;border-right:1px solid #cbd7e1;border-radius:4px;transition:transform .35s ease,background-color .35s ease,box-shadow .35s ease}
.stage-card:last-child{border-right:0}
.stage-number{display:block;margin-bottom:2px;color:var(--blue);font-size:48px;line-height:1;font-weight:800;letter-spacing:-.04em}
.stage-card h3{margin:9px 0 10px;font-size:19px;line-height:1.2;text-transform:uppercase;hyphens:auto;overflow-wrap:anywhere}
.stage-card img{display:block;width:100%;max-width:280px;height:176px;margin:2px auto 12px;object-fit:contain;transition:transform .35s ease}
.future-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0 9px;border-bottom:2px solid var(--blue);color:var(--blue);font-size:15px;font-weight:800;text-decoration:none}
.future-link i{font-style:normal;font-size:25px;font-weight:400;line-height:1;transition:transform .35s ease}
@media(hover:hover){.stage-card:hover{z-index:2;transform:translateY(-5px);background:#f7fafc;box-shadow:0 18px 48px rgba(0,46,93,.12)}.stage-card:hover img{transform:translateY(-3px) scale(1.025)}.stage-card:hover .future-link i{transform:translateX(6px)}}
.solution-principle{padding:78px 0 76px;color:#fff;background:radial-gradient(circle at 28% 52%,#0a4b82 0,var(--blue) 42%,var(--deep) 100%)}
.principle-grid{display:grid;grid-template-columns:minmax(360px,.88fr) minmax(460px,1.12fr);gap:clamp(56px,7vw,108px);align-items:center}
.principle-visual svg{display:block;width:100%;height:auto}.principle-copy{max-width:650px}.principle-copy h2{margin:0;color:#fff;font-size:clamp(32px,3.2vw,46px);line-height:1.12;letter-spacing:-.03em}.principle-copy>p:not(.eyebrow){max-width:620px;margin:24px 0 0;color:#e7f0f6;font-size:18px;line-height:1.65}
.has-motion .solution-principle:not(.is-visible) .principle-particles{opacity:.2;transform:translateX(-18px)}.has-motion .solution-principle.is-visible .principle-particles{animation:principle-particles-in 1.7s cubic-bezier(.2,.7,.2,1) .1s both}
.has-motion .solution-principle:not(.is-visible) .principle-panels rect{opacity:0;transform:translateY(12px)}.has-motion .solution-principle.is-visible .principle-panels rect{animation:principle-panel-in .75s ease-out both}.has-motion .solution-principle.is-visible .principle-panels rect:nth-child(1){animation-delay:.55s}.has-motion .solution-principle.is-visible .principle-panels rect:nth-child(2){animation-delay:.85s}.has-motion .solution-principle.is-visible .principle-panels rect:nth-child(3){animation-delay:1.15s}
.has-motion .solution-principle:not(.is-visible) .principle-captured{opacity:0}.has-motion .solution-principle.is-visible .principle-captured{animation:principle-captured-in 1s ease-out 1.25s both}.has-motion .solution-principle:not(.is-visible) .principle-airflow path{opacity:0;stroke-dasharray:1;stroke-dashoffset:1}.has-motion .solution-principle.is-visible .principle-airflow path{animation:principle-airflow-in 1.45s cubic-bezier(.2,.75,.2,1) both}.has-motion .solution-principle.is-visible .principle-airflow path:nth-child(1){animation-delay:1.5s}.has-motion .solution-principle.is-visible .principle-airflow path:nth-child(2){animation-delay:1.68s}.has-motion .solution-principle.is-visible .principle-airflow path:nth-child(3){animation-delay:1.86s}
@keyframes principle-particles-in{from{opacity:.2;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}@keyframes principle-panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes principle-captured-in{from{opacity:0}to{opacity:1}}@keyframes principle-airflow-in{from{opacity:0;stroke-dasharray:1;stroke-dashoffset:1}to{opacity:1;stroke-dasharray:1;stroke-dashoffset:0}}
.portfolio-section{padding:86px 0 118px;background:#f7fafc}
.portfolio-section .section-inner{max-width:1180px}
.portfolio-section h2{text-align:left}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:42px;border-top:1px solid #cbd7e1;border-left:1px solid #cbd7e1}
.solution-card{min-height:260px;padding:28px 24px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid #cbd7e1;border-bottom:1px solid #cbd7e1;background:rgba(255,255,255,.42);transition:background-color .25s ease,transform .25s ease}
.solution-card:hover{z-index:1;background:#fff;transform:translateY(-3px)}
.solution-card img{display:block;width:150px;height:150px;object-fit:contain;margin-bottom:14px}
.solution-card h3{margin:0;max-width:220px;font-size:17px;line-height:1.25}
@media(max-width:980px){.product-hero .hero-copy{max-width:820px}.stage-card{padding-left:24px;padding-right:24px}.stage-number{font-size:42px}.principle-grid{grid-template-columns:minmax(280px,.8fr) minmax(380px,1.2fr);gap:44px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.product-hero{min-height:680px}.product-hero .hero-inner{padding-top:145px;padding-bottom:150px}.product-hero .hero-shade{background:linear-gradient(0deg,rgba(255,255,255,.90),rgba(255,255,255,.74) 46%,rgba(255,255,255,.03) 80%)}.product-hero .hero-copy{max-width:100%}.product-hero h1 span{white-space:normal}.stage-section{padding:62px 0 84px}.stage-grid{grid-template-columns:1fr;margin-top:42px}.stage-card{padding:30px 6px 34px;border-right:0;border-bottom:1px solid #cbd7e1}.stage-card:first-child{padding-top:0}.stage-card:last-child{border-bottom:0;padding-bottom:0}.stage-card img{max-width:300px}.solution-principle{padding:68px 0 62px}.principle-grid{grid-template-columns:1fr;gap:34px}.principle-copy{order:-1}.principle-copy>p:not(.eyebrow){font-size:16px}.principle-visual{max-width:480px;margin:auto}.portfolio-section{padding:72px 0 96px}.portfolio-grid{grid-template-columns:1fr}.solution-card{min-height:220px}.solution-card img{width:138px;height:138px}}
/* Stack product stages and concept before their desktop columns become too narrow. */
@media(max-width:840px){.stage-grid{grid-template-columns:1fr;margin-top:42px}.stage-card{padding:30px 6px 34px;border-right:0;border-bottom:1px solid #cbd7e1}.stage-card:first-child{padding-top:0}.stage-card:last-child{border-bottom:0;padding-bottom:0}.stage-card img{max-width:300px}.principle-grid{grid-template-columns:minmax(0,1fr);gap:34px}.principle-copy{order:-1;min-width:0}.principle-visual{width:100%;max-width:480px;margin:auto}}
@media(prefers-reduced-motion:reduce){.stage-card,.stage-card img,.future-link i,.solution-card{transition:none}.has-motion .solution-principle .principle-particles,.has-motion .solution-principle .principle-panels rect,.has-motion .solution-principle .principle-captured,.has-motion .solution-principle .principle-airflow path{animation:none;opacity:1;transform:none;stroke-dashoffset:0}}

@media(max-width:680px){.product-hero h1 span{display:inline;white-space:normal;text-wrap:balance}.product-hero h1 span+span::before{content:" "}.product-hero h1{max-width:22ch;text-wrap:balance}}
