/* Fixed product modules. Layout controls structure; site-theme.css controls color. */
main.product-page{color:var(--geo-text-main,#172a46);background:var(--geo-page-bg,#fff);overflow:hidden;font-family:inherit;line-height:1.7}
.product-page *{box-sizing:border-box}.product-wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.product-page h1,.product-page h2,.product-page h3,.product-page p{margin-top:0}
.product-page h1{font-size:clamp(38px,5vw,68px);line-height:1.14;letter-spacing:-.035em;margin-bottom:24px}
.product-page h2{font-size:clamp(27px,3vw,42px);line-height:1.26;letter-spacing:-.02em;margin-bottom:20px}.product-page h3{font-size:20px;line-height:1.4}
.product-eyebrow{font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--geo-primary,#3478f6);margin-bottom:18px}
.product-hero{background:var(--geo-hero-bg,#eef4ff);padding:clamp(70px,9vw,132px) 0;border-bottom:1px solid var(--geo-border,#dae4f0)}
.product-hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,6vw,90px)}
.product-hero-inner:not(:has(.product-image)){grid-template-columns:1fr}.product-hero-copy{max-width:760px}
.product-answer{font-size:clamp(19px,2vw,24px);line-height:1.58;max-width:650px;color:var(--geo-text-main,#172a46)}
.product-summary,.product-sub{color:var(--geo-text-secondary,#5d6d84);max-width:700px}
.product-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 25px;margin-top:18px;border-radius:var(--geo-radius-button,7px);background:var(--geo-button-bg,#3478f6);color:var(--geo-button-text,#fff)!important;font-weight:700;text-decoration:none}
.product-image{margin:0;min-width:0}.product-image img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;border:1px solid var(--geo-border,#dce4ef);border-radius:var(--geo-radius-card,14px);background:var(--geo-card-bg,#fff)}
.product-module{min-width:0;padding:clamp(42px,6vw,82px) 0;border-bottom:1px solid var(--geo-border,#dce4ef)}
.product-rich{color:var(--geo-text-secondary,#44546a);font-size:17px;overflow-wrap:anywhere}.product-rich p{margin-bottom:13px}.product-rich a{color:var(--geo-primary,#3478f6)}
.product-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px;margin-top:28px}.product-items article,.product-reference-grid article{min-width:0;padding:24px;background:var(--geo-card-bg,#fff);border:1px solid var(--geo-border,#dce4ef);border-radius:var(--geo-radius-card,12px)}
.product-items article p{color:var(--geo-text-secondary,#5d6d84)}
.product-workflow{margin-top:32px}.product-workflow ol{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}.product-workflow li{display:flex;gap:18px;padding:16px 0;border-top:1px solid var(--geo-border,#dce4ef)}.product-workflow li>b{color:var(--geo-primary,#3478f6);font-size:21px}.product-workflow li p{color:var(--geo-text-secondary,#5d6d84);margin:4px 0 0}
.product-references{padding-block:clamp(44px,6vw,78px);border-bottom:1px solid var(--geo-border,#dce4ef)}
.product-reference-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}.product-reference-grid h3{margin-bottom:8px}.product-reference-grid a{color:var(--geo-primary,#3478f6)}
.product-contact{padding:clamp(60px,7vw,100px) 0;text-align:center;background:var(--geo-inverse-bg,#172b4b);color:var(--geo-inverse-text,#fff)}.product-contact h2{color:inherit}
/* Original product page: full-width reading stack. */
main[data-geo-layout="PRODUCT_LEGACY_V1"] .product-hero{padding-block:86px}
main[data-geo-layout="PRODUCT_LEGACY_V1"] .product-hero-inner:has(.product-legacy-brief){grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.product-legacy-brief{padding:32px;background:var(--geo-card-bg,#fff);border:1px solid var(--geo-border,#dce4ef);border-radius:var(--geo-radius-card,14px);box-shadow:0 18px 48px rgba(18,46,89,.08)}
.product-legacy-brief>div{display:grid;gap:4px;padding:16px 0;border-top:1px solid var(--geo-border,#dce4ef)}.product-legacy-brief>div span{color:var(--geo-primary,#3478f6);font-size:12px}.product-legacy-brief>div strong{font-size:16px;line-height:1.4}
.product-legacy-stack{max-width:900px}.product-legacy-stack .product-module{display:block}.product-legacy-stack .product-module>.product-image{max-width:720px;margin-top:24px}
/* Product introduction: editorial intro, capability/scenario cards and showcase. */
main[data-geo-layout="PRODUCT_OVERVIEW_V1"] .product-hero{background:linear-gradient(120deg,var(--geo-hero-bg,#eef4ff),var(--geo-page-bg,#fff))}
.product-overview-intro>.product-module{max-width:900px;border:0;padding-block:90px}
.product-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;padding-block:60px;border-top:1px solid var(--geo-border,#dce4ef);border-bottom:1px solid var(--geo-border,#dce4ef)}
.product-overview-grid .product-module{padding:18px 0;border:0}.product-overview-grid .product-items{grid-template-columns:1fr 1fr}
.product-overview-showcase .product-module{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:center;border:0;padding-block:100px}
/* Solution: problem rail, solution narrative, capability sequence. */
main[data-geo-layout="PRODUCT_SOLUTION_V1"] .product-hero{background:var(--geo-inverse-bg,#172b4b);color:var(--geo-inverse-text,#fff);padding-block:100px}
main[data-geo-layout="PRODUCT_SOLUTION_V1"] .product-hero h1,main[data-geo-layout="PRODUCT_SOLUTION_V1"] .product-answer{color:inherit}
main[data-geo-layout="PRODUCT_SOLUTION_V1"] .product-hero .product-summary{color:inherit;opacity:.75}
.product-solution-flow{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:60px;align-items:start;padding-block:85px}
.product-solution-problem{position:relative;padding:28px;background:var(--geo-section-bg,#f5f8ff);border-left:4px solid var(--geo-primary,#3478f6)}
.product-solution-problem .product-module{padding:0;border:0}.product-solution-main .product-module{padding:0 0 48px;margin-bottom:40px}.product-solution-main .product-module:last-child{margin-bottom:0;border:0}
.product-solution-main .product-items{grid-template-columns:1fr}.product-solution-main .product-items article{display:grid;grid-template-columns:170px 1fr;gap:15px;border-radius:0;border-width:0 0 1px;padding:20px 0}
.product-solution-main .product-workflow{padding:24px;background:var(--geo-section-bg,#f5f8ff);border-left:4px solid var(--geo-primary,#3478f6)}
.product-solution-ui{border-top:1px solid var(--geo-border,#dce4ef)}.product-solution-ui .product-module{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;border:0}
@media(max-width:800px){.product-hero-inner,main[data-geo-layout="PRODUCT_LEGACY_V1"] .product-hero-inner:has(.product-legacy-brief),.product-overview-grid,.product-overview-showcase .product-module,.product-solution-flow,.product-solution-ui .product-module{grid-template-columns:1fr}.product-solution-flow{gap:25px}.product-overview-grid{gap:0}.product-overview-grid .product-items{grid-template-columns:1fr}.product-solution-main .product-items article{grid-template-columns:1fr}.product-hero{padding-block:70px}.product-page h1{font-size:clamp(36px,9vw,52px)}}
@media(max-width:420px){.product-wrap{width:calc(100% - 30px)}.product-page h1{font-size:36px}.product-items,.product-reference-grid{grid-template-columns:1fr}.product-contact{padding-inline:15px}}
