/* Shared product presentation. Product-specific visuals remain in their own components. */
.product-page{--product-heading:clamp(36px,4vw,56px);--product-section:72px;--product-accent:#007fa8}
.product-page :is(.one-page,.pvm-story,.fams-page,.serv-page,.generic-product){font-family:inherit;color:var(--ink);--pv-accent:var(--product-accent);--blue:var(--product-accent)}
.product-page :is(.one-page,.pvm-story,.fams-page,.serv-page,.generic-product) .wrap{inline-size:min(1240px,calc(100% - 80px));width:min(1240px,calc(100% - 80px));margin-inline:auto}
.product-page :is(.one-page,.pvm-story,.fams-page,.serv-page,.generic-product) h1{font-size:var(--product-heading);line-height:1.35;letter-spacing:-1px}
.product-page :is(.one-page,.pvm-story,.fams-page,.serv-page,.generic-product) h2{font-size:clamp(28px,3vw,40px);line-height:1.45;letter-spacing:-.5px}
.product-page :is(.one-page,.pvm-story,.fams-page,.serv-page,.generic-product) .button{background:var(--product-accent);color:#fff;border:1px solid transparent;border-radius:6px;min-block-size:50px;padding:14px 24px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;box-shadow:none}
.product-page :is(.one-page,.pvm-story,.fams-page,.serv-page,.generic-product) .button:hover{background:#006b8d}
.product-page :is(.one-wordmark,.pv-product-name,.fams-brand,.serv-page .product-name){font:700 30px/1.5 Manrope,Arial,sans-serif;letter-spacing:0;margin-block:0 20px}
.product-page :is(.pv-section,.one-section,.fams-section,.serv-page .section){padding-block:var(--product-section)}
.product-page :is(.pv-opening,.fams-hero,.serv-page .hero){padding-block:60px;margin-block-start:0}
.product-page :is(.pv-promise,.fams-hero .lead,.serv-page .lead,.one-hero p){font-size:19px;line-height:1.85}
.product-page :is(.pv-faq,.fams-faq,.serv-page .faq){grid-template-columns:.8fr 1.2fr;gap:60px}
.product-page :is(.pv-faq,.fams-faq,.serv-page .faq) summary{font-size:18px;font-weight:700;line-height:1.7;padding-block:20px;cursor:pointer}
.product-page :is(.pv-faq,.fams-faq,.serv-page .faq) details{border-block-end:1px solid var(--line)}
.product-page :is(.pv-faq,.fams-faq,.serv-page .faq) details p{font-size:16px;line-height:1.85;color:var(--muted)}
.product-section-nav{display:block!important;position:static!important;background:#fff;border-block-end:1px solid var(--line);margin:0;padding:0}
.product-section-nav>.wrap{display:flex;align-items:center;gap:32px;padding-block:12px;overflow-x:auto;scrollbar-width:thin}
.product-section-nav a{font-size:14px;font-weight:700;white-space:nowrap;min-block-size:44px;display:flex;align-items:center;color:var(--muted);border-block-end:2px solid transparent}
.product-section-nav a:hover,.product-section-nav a[aria-current=true]{color:var(--blue);border-block-end-color:var(--blue)}
.product-page [id]{scroll-margin-block-start:125px}.product-page :is(.one-page,.pvm-story,.fams-page,.serv-page,.generic-product) .text-link{font-size:16px}
.product-page .serv-page .hero{background:#f0f5f8}.product-page .serv-page .eyebrow{display:block;margin-block-end:18px}.product-page .serv-page .actions{margin-block-start:30px}
@media(max-width:760px){.product-page{--product-section:44px;--product-heading:36px}.product-page :is(.one-page,.pvm-story,.fams-page,.serv-page,.generic-product) .wrap{inline-size:calc(100% - 32px);width:calc(100% - 32px)}.product-page :is(.pv-opening,.fams-hero,.serv-page .hero){padding-block:40px}.product-page :is(.pv-faq,.fams-faq,.serv-page .faq){grid-template-columns:1fr;gap:24px}.product-section-nav>.wrap{gap:24px;padding-block:8px}.product-section-nav a{font-size:13px}.product-page :is(.pv-promise,.fams-hero .lead,.serv-page .lead,.one-hero p){font-size:17px}.product-page :is(.one-wordmark,.pv-product-name,.fams-brand,.serv-page .product-name){font-size:27px}}


.product-page .generic-product .section{padding-block:var(--product-section)}