/* Shared detail-page rhythm. Loaded last to isolate v2 from the legacy Bootstrap theme. */
.tpv2-product-detail .tpv2-section,.tpv2-provider-detail .tpv2-section,.tpv2-technology-detail .tpv2-section,.tpv2-case-detail .tpv2-section{padding:72px 0;scroll-margin-top:68px}.tpv2-product-detail .tpv2-heading,.tpv2-provider-detail .tpv2-heading,.tpv2-technology-detail .tpv2-heading,.tpv2-case-detail .tpv2-heading{max-width:820px;margin-bottom:30px}.tpv2-product-detail .tpv2-heading h2,.tpv2-provider-detail .tpv2-heading h2,.tpv2-technology-detail .tpv2-heading h2,.tpv2-case-detail .tpv2-heading h2{font-size:clamp(28px,3vw,36px);line-height:1.2}.tpv2-product-detail .tpv2-heading p,.tpv2-provider-detail .tpv2-heading p,.tpv2-technology-detail .tpv2-heading p,.tpv2-case-detail .tpv2-heading p{max-width:720px;line-height:1.7}
.tpv2-product-nav{box-shadow:0 5px 18px rgba(18,52,84,.04)}.tpv2-product-nav .container{min-height:54px;align-items:center}.tpv2-product-nav a{position:relative;padding:18px 0}.tpv2-product-nav a::after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--tpui-green);content:"";opacity:0;transform:scaleX(.5);transition:opacity .2s,transform .2s}.tpv2-product-nav a:hover::after,.tpv2-product-nav a:focus-visible::after{opacity:1;transform:scaleX(1)}
.tpv2-product-content-grid,.tpv2-provider-overview{align-items:start}.tpv2-product-copy>h2,.tpv2-provider-overview>article h2{margin-bottom:18px;color:var(--tpui-navy);font-size:clamp(29px,3vw,38px);line-height:1.2}.tpv2-product-spec-card,.tpv2-provider-overview>aside{box-shadow:0 12px 30px rgba(18,52,84,.05)}.tpv2-product-spec-card>h2,.tpv2-provider-overview>aside>h2{margin-bottom:14px;font-size:21px;line-height:1.3}.tpv2-product-spec-card dl div:last-child,.tpv2-provider-overview>aside div:last-child{border-bottom:0}.tpv2-product-spec-card dd,.tpv2-provider-overview>aside strong{max-width:58%;overflow-wrap:anywhere}.tpv2-provider-overview>aside div{align-items:flex-start}.tpv2-provider-overview>aside strong{text-align:right}
.tpv2-product-gallery__main{box-shadow:0 18px 42px rgba(4,25,45,.2)}.tpv2-product-gallery__main img{display:block}.tpv2-product-hero__content,.tpv2-provider-hero__grid>div:nth-child(2){min-width:0}.tpv2-product-hero h1,.tpv2-provider-hero h1,.tpv2-technology-hero h1,.tpv2-case-hero h1{overflow-wrap:anywhere}.tpv2-provider-hero__grid>dl{margin:0}.tpv2-provider-hero__grid>dl div{min-width:0}.tpv2-provider-hero dd{overflow-wrap:anywhere}.tpv2-technology-list article>div:nth-child(2){min-width:0}.tpv2-technology-list article>a{white-space:nowrap}.tpv2-public-contact strong{overflow-wrap:anywhere}
.tpv2-estimate-grid article,.tpv2-evidence-grid article,.tpv2-solution-card,.tpv2-product-technology,.tpv2-document,.tpv2-case-document{box-shadow:0 10px 26px rgba(18,52,84,.045)}.tpv2-case-overview>article,.tpv2-technology-copy,.tpv2-product-copy,.tpv2-provider-overview>article{padding-top:4px}.tpv2-case-overview .tpv2-rich-copy,.tpv2-technology-copy .tpv2-rich-copy,.tpv2-product-copy .tpv2-rich-copy,.tpv2-provider-overview .tpv2-rich-copy{max-width:760px;font-size:16px}
@media(max-width:991px){.tpv2-product-detail .tpv2-section,.tpv2-provider-detail .tpv2-section,.tpv2-technology-detail .tpv2-section,.tpv2-case-detail .tpv2-section{padding:64px 0}.tpv2-provider-overview>aside,.tpv2-product-spec-card{max-width:720px}.tpv2-provider-hero__grid>dl{width:100%}}
@media(max-width:767px){.tpv2-product-detail .tpv2-section,.tpv2-provider-detail .tpv2-section,.tpv2-technology-detail .tpv2-section,.tpv2-case-detail .tpv2-section{padding:52px 0;scroll-margin-top:58px}.tpv2-product-nav .container{gap:20px}.tpv2-product-copy>h2,.tpv2-provider-overview>article h2{font-size:28px}.tpv2-product-spec-card,.tpv2-provider-overview>aside{padding:20px}.tpv2-product-spec-card dl div,.tpv2-provider-overview>aside div{align-items:flex-start;flex-direction:column;gap:4px}.tpv2-product-spec-card dd,.tpv2-provider-overview>aside strong{max-width:100%;text-align:left}.tpv2-provider-hero__grid>dl{gap:6px}.tpv2-provider-hero__grid>dl div{padding:11px 7px}.tpv2-provider-hero dd{font-size:20px}.tpv2-public-contact>a,.tpv2-public-contact>div{grid-template-columns:36px minmax(0,1fr)}.tpv2-public-contact i{width:36px;height:36px}}

/* Case study: balance technology context with the adjacent product card. */
.tpv2-case-detail .tpv2-solution-grid{align-items:stretch}
.tpv2-case-detail .tpv2-solution-grid>.tpui-card{height:100%}
.tpv2-case-detail .tpv2-solution-card{position:relative;padding:30px;overflow:hidden;background:linear-gradient(145deg,#fff 55%,#f1f8f6)}
.tpv2-case-detail .tpv2-solution-card::before{position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,var(--tpui-green),#f4b400);content:""}
.tpv2-solution-card__header{display:flex;margin-bottom:24px;gap:14px;align-items:center}
.tpv2-solution-card__header .tpui-technology-card__icon{margin:0;flex:0 0 50px}
.tpv2-solution-card__header .tpui-card__meta{display:block;margin:0 0 3px}
.tpv2-solution-card__header small{display:block;color:var(--tpui-muted);font-size:12px}
.tpv2-case-detail .tpv2-solution-card>h2{margin:0 0 10px;font-size:clamp(24px,2.2vw,30px);line-height:1.2}
.tpv2-case-detail .tpv2-solution-card>p{max-width:620px;margin:0;color:var(--tpui-muted);font-size:14px;line-height:1.7}
.tpv2-solution-card__facts{display:grid;margin:24px 0 0;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tpv2-solution-card__facts div{min-width:0;padding:13px 14px;background:rgba(255,255,255,.82);border:1px solid #dce8e5;border-radius:10px}
.tpv2-solution-card__facts dt{margin-bottom:4px;color:var(--tpui-muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.tpv2-solution-card__facts dd{margin:0;color:var(--tpui-navy);font-size:13px;font-weight:800;overflow-wrap:anywhere}
.tpv2-solution-card__path{padding:18px;margin:18px 0 24px;background:#f4f8fa;border:1px solid var(--tpui-line);border-radius:12px}
.tpv2-solution-card__path>span{display:block;margin-bottom:12px;color:var(--tpui-navy);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tpv2-solution-card__path ol{padding:0;margin:0;list-style:none}
.tpv2-solution-card__path li{position:relative;display:grid;min-height:31px;padding:0 0 10px;grid-template-columns:18px minmax(0,1fr);gap:8px;color:#64798a;font-size:13px;line-height:1.45}
.tpv2-solution-card__path li:not(:last-child)::after{position:absolute;top:13px;bottom:-1px;left:5px;width:1px;background:#bfd1d8;content:""}
.tpv2-solution-card__path li>i{position:relative;z-index:1;margin-top:4px;color:#9cafba;font-size:7px}
.tpv2-solution-card__path li.is-current{padding-bottom:0;color:var(--tpui-navy);font-weight:800}
.tpv2-solution-card__path li.is-current>i{display:grid;width:16px;height:16px;margin-top:1px;color:#fff;background:var(--tpui-green);border-radius:50%;place-items:center;font-size:8px}
.tpv2-solution-card__link{display:flex;min-height:46px;padding:0 16px;margin-top:auto;align-items:center;justify-content:space-between;color:#fff!important;background:var(--tpui-navy);border-radius:10px;font-size:13px;font-weight:800;transition:background .2s ease,transform .2s ease}
.tpv2-solution-card__link:hover,.tpv2-solution-card__link:focus-visible{color:#fff!important;background:var(--tpui-green);transform:translateY(-1px)}
@media(max-width:767px){.tpv2-case-detail .tpv2-solution-card{padding:22px}.tpv2-solution-card__facts{grid-template-columns:1fr}.tpv2-solution-card__path{padding:16px}.tpv2-case-detail .tpv2-solution-card>h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.tpv2-solution-card__link{transition:none}}

/* Product detail: one clear closing action before the global footer. */
.tpv2-product-closing{position:relative;padding:76px 0;background:linear-gradient(180deg,#f4f8fa,#fff)}
.tpv2-product-closing__panel{position:relative;display:grid;padding:48px;overflow:hidden;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:48px;align-items:center;color:#fff;background:linear-gradient(125deg,#0d3151,#164f68);border-radius:22px;box-shadow:0 24px 54px rgba(12,44,72,.2)}
.tpv2-product-closing__panel::before,.tpv2-product-closing__panel::after{position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;content:"";pointer-events:none}
.tpv2-product-closing__panel::before{top:-150px;right:-80px;width:360px;height:360px}
.tpv2-product-closing__panel::after{right:190px;bottom:-210px;width:310px;height:310px}
.tpv2-product-closing__copy,.tpv2-product-closing__provider{position:relative;z-index:1;min-width:0}
.tpv2-product-closing .tpv2-eyebrow{margin-bottom:12px;color:#9fd7c8}
.tpv2-product-closing__copy h2{max-width:760px;margin:0 0 14px;color:#fff;font-size:clamp(30px,3.2vw,43px);line-height:1.15;letter-spacing:-.025em}
.tpv2-product-closing__copy>p{max-width:680px;margin:0;color:#d5e3eb;font-size:15px;line-height:1.75}
.tpv2-product-closing__actions{display:flex;margin-top:28px;flex-wrap:wrap;gap:10px}
.tpv2-product-closing__actions a{display:inline-flex;min-height:46px;padding:0 17px;gap:10px;align-items:center;border-radius:10px;font-size:13px;font-weight:800}
.tpv2-product-closing__primary{color:#fff!important;background:var(--tpui-green)}
.tpv2-product-closing__primary:hover,.tpv2-product-closing__primary:focus-visible{color:#fff!important;background:#0aa277}
.tpv2-product-closing__secondary{color:#fff!important;border:1px solid rgba(255,255,255,.38)}
.tpv2-product-closing__secondary:hover,.tpv2-product-closing__secondary:focus-visible{color:#fff!important;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.65)}
.tpv2-product-closing__provider{display:grid;padding:24px;grid-template-columns:68px minmax(0,1fr);gap:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:16px;backdrop-filter:blur(8px)}
.tpv2-product-closing__logo{display:grid;width:68px;height:68px;padding:7px;overflow:hidden;background:#fff;border-radius:13px;place-items:center}
.tpv2-product-closing__logo img{width:100%;height:100%;object-fit:contain}
.tpv2-product-closing__provider-copy>span{display:block;margin-bottom:6px;color:#a8dfce;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.tpv2-product-closing__provider-copy>span i{margin-right:4px}
.tpv2-product-closing__provider h3{margin:0 0 7px;color:#fff;font-size:20px;line-height:1.3;overflow-wrap:anywhere}
.tpv2-product-closing__provider p{margin:0;color:#d5e3eb;font-size:13px;line-height:1.6}
.tpv2-product-closing__provider dl{display:flex;margin:17px 0 0;flex-wrap:wrap;gap:8px}
.tpv2-product-closing__provider dl div{padding:8px 10px;background:rgba(255,255,255,.09);border-radius:8px}
.tpv2-product-closing__provider dt{color:#bcd1dc;font-size:9px;font-weight:600;text-transform:uppercase}
.tpv2-product-closing__provider dd{margin:2px 0 0;color:#fff;font-size:12px;font-weight:800}
@media(max-width:991px){.tpv2-product-closing__panel{padding:38px;grid-template-columns:1fr;gap:32px}.tpv2-product-closing__provider{max-width:680px}}
@media(max-width:767px){.tpv2-product-closing{padding:52px 0}.tpv2-product-closing__panel{padding:27px 22px;border-radius:17px}.tpv2-product-closing__copy h2{font-size:29px}.tpv2-product-closing__actions,.tpv2-product-closing__actions a{width:100%}.tpv2-product-closing__actions a{justify-content:center}.tpv2-product-closing__provider{padding:18px;grid-template-columns:54px minmax(0,1fr);gap:13px}.tpv2-product-closing__logo{width:54px;height:54px}.tpv2-product-closing__provider h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.tpv2-product-closing__actions a{transition:none}}
