/* Static interior-page layouts. Opt-in only; approved homepage and pilot do not load this file. */
.hp-migrated main { overflow-wrap: anywhere; }
.hp-migrated main [hidden] { display: none !important; }
.hp-migration-section { padding-block: 76px; }
.hp-migration-section + .hp-migration-section { border-top: 1px solid var(--hp-border); }
.hp-migration-hero { padding-block: 72px; background: linear-gradient(135deg,#f9fbfa,#e4f1ed); border-bottom: 1px solid var(--hp-border); }
.hp-migrated main h1 { max-width: 1000px; margin-bottom: 24px; font-size: clamp(2.5rem,4.2vw,3.65rem); }
.hp-migrated main h2 { margin-bottom: 20px; font-size: clamp(1.75rem,3vw,2.75rem); }
.hp-migrated main h3, .hp-migrated main h4 { margin-bottom: 16px; font-size: 24px; }
.hp-migration-hero p, .hp-migration-hero .hp-lead { max-width: 820px; font-size: 19px; }
.hp-layout { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 28px; align-items: start; }
.hp-layout > * { min-width: 0; grid-column: span 12; }
.hp-layout-col { min-width: 0; }
.hp-content-card { border: 1px solid var(--hp-border); border-radius: 20px; background: #fff; overflow: hidden; }
.hp-content-card-body { padding: 32px; }
.hp-content-card .hp-layout { gap: 0; }
.hp-content-card h2, .hp-layout-col > h2 { font-size: 26px !important; }
.hp-layout-col:only-child > h2 { max-width: 1000px; font-size: clamp(1.75rem,3vw,2.75rem) !important; }
.hp-migration-section .hp-layout-col:only-child > p { max-width: 960px; }
.hp-migration-hero a.btn[href*="/Trial"] { color: white; background: var(--hp-teal); border-color: var(--hp-teal); }
.hp-migration-hero .hp-text-center { margin-inline: auto; }
.hp-content-card h3 { font-size: 23px !important; }
.hp-content-card p { font-size: 16px; }
.hp-migration-hero .hp-content-card:has(h1) { border: 0; background: transparent; }
.hp-migration-hero .hp-content-card:has(h1) > .hp-layout { gap: 0; }
.hp-migrated main img { display: block; max-width: 100%; height: auto; object-fit: contain; }
.hp-migrated main .hp-layout-col img { max-height: 620px; margin-inline: auto; }
.hp-migrated .hp-space-after { margin-bottom: 24px; }
.hp-migrated .hp-space-before { margin-top: 24px; }
.hp-migrated .hp-flex { display: flex; gap: 12px; }
.hp-migrated .hp-flex-column { flex-direction: column; }
.hp-migrated .hp-flex-wrap { flex-wrap: wrap; }
.hp-migrated .hp-align-center { align-items: center; }
.hp-migrated .hp-align-stretch { align-items: stretch; }
.hp-migrated .hp-justify-center { justify-content: center; }
.hp-migrated .hp-justify-between { justify-content: space-between; }
.hp-migrated .hp-text-center { text-align: center; }
.hp-migrated .hp-upper { text-transform: uppercase; letter-spacing: .08em; }
.hp-migrated .hp-strong { font-weight: 600; }
.hp-migrated .hp-lead { font-size: 19px; }
.hp-migrated .hp-small { font-size: 14px; }
.hp-migrated .hp-badge { display: inline-flex; padding: 6px 12px; border-radius: 20px; color: var(--hp-deep); background: var(--hp-mint); font-size: 12px; font-weight: 700; }
.hp-plain-list { padding: 0; list-style: none; }
.hp-migrated main a:not(.btn) { text-decoration: underline; text-underline-offset: 3px; }
.hp-migrated main li + li { margin-top: 8px; }
.hp-migrated main blockquote { padding: 28px; border-left: 3px solid var(--hp-teal); background: var(--hp-surface); border-radius: 0 16px 16px 0; }
.hp-migrated main blockquote p { color: var(--hp-ink); font-size: 20px; }
.hp-migrated .hp-small-btn { min-height: 44px; font-size: 15px; }
.hp-migrated .hp-cta h2 { color: white; }
.hp-migrated .hp-cta p { color: #c8e0df; }
.hp-migration-cta .hp-flex { flex-wrap: wrap; justify-content: flex-start; }
.hp-migration-cta .btn-primary { color: var(--hp-deep); background: white; border-color: white; }
.hp-feature-crumbs { display: flex; flex-wrap: wrap; gap: 12px 24px; list-style: none; margin: 0; padding: 0; }
.hp-feature-crumb { min-height: 44px; display: inline-flex; align-items: center; }
.hp-retained-links { display: flex; flex-wrap: wrap; gap: 12px 24px; padding-block: 16px; font-size: 14px; }
.hp-customer-marks { max-width: 1248px; margin: 36px auto; padding-inline: 24px; }
.hp-customer-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.hp-customer-tile { display: grid; place-items: center; min-width: 0; height: 132px; padding: 20px; background: #fff; border: 1px solid var(--hp-border); border-radius: 16px; }
/* Reverse-colour artwork needs a dark surface behind its transparent pixels. */
.hp-customer-tile--dark { background: #292929; border-color: #292929; }
.hp-migrated main .hp-customer-tile img { width: 100%; max-width: 180px; height: 72px; object-fit: contain; }
.hp-migrated main .hp-customer-tile--square img { max-width: 88px; height: 88px; }
@media(min-width:768px) { .hp-customer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; } .hp-customer-tile { height: 148px; padding: 24px; } }
@media(min-width:1200px) { .hp-customer-grid { grid-template-columns: repeat(5,minmax(0,1fr)); } }
.hp-table-region { overflow-x: auto; max-width: 100%; margin-block: 24px; }
.hp-migrated .hp-table { margin: 0; min-width: 560px; }
.hp-migrated .hp-table th, .hp-migrated .hp-table td { padding: 14px; }
.hp-migrated .hp-embed { display: block; width: 100%; min-height: 400px; border: 1px solid var(--hp-border); border-radius: 16px; }
.hp-standalone-content { padding-block: 64px; }
.hp-legal-page main .container { max-width: 960px; }
.hp-legal-page main { line-height: 1.75; }
.hp-release-history main { font-size: 16px; line-height: 1.75; }
.hp-release-history main .container { max-width: 1040px; }
.hp-migrated #map { min-height: 480px; width: 100%; border: 1px solid var(--hp-border); border-radius: 20px; }
.hp-price-container { max-width: 680px; margin: 0 auto; padding: 0 24px; }
.hp-price-box { padding: 32px; border: 1px solid var(--hp-border); border-radius: 20px; background: white; box-shadow: var(--hp-shadow); }
.hp-price-box > .hp-content-card-body { padding: 0; }
.hp-migrated #calculatedPrice { font-size: 64px; font-weight: 600; color: var(--hp-ink); line-height: 1.2; }
.hp-migrated .hp-range { width: 100%; min-height: 44px; accent-color: var(--hp-teal); cursor: pointer; }
.hp-migrated .hp-range:focus-visible, .hp-migrated .hp-native-check:focus-visible { outline: 3px solid var(--hp-teal); outline-offset: 3px; }
.hp-native-choice { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; }
.hp-native-check { width: 20px; height: 20px; flex-shrink: 0; margin-top: 5px; accent-color: var(--hp-teal); }
.hp-choice-label { cursor: pointer; }
.hp-help-tip { position: relative; display: inline-grid; place-items: center; width: 26px; height: 26px; margin-left: 8px; border: 1px solid var(--hp-deep); border-radius: 50%; color: var(--hp-deep); font-size: 14px; vertical-align: middle; cursor: help; }
.hp-help-tip:hover::after, .hp-help-tip:focus-visible::after { content: attr(title); position: absolute; bottom: calc(100% + 10px); left: min(0px,10vw); width: min(280px,65vw); padding: 12px; border-radius: 10px; background: var(--hp-ink); color: white; box-shadow: var(--hp-shadow); font-size: 14px; line-height: 1.5; z-index: 4; text-align: left; }
.hp-integration-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hp-migrated main .hp-desktop-only { display: none; }
@media(min-width:768px) { .hp-layout > .hp-layout-col { grid-column: span var(--hp-col-md,12); } .hp-migrated main .hp-desktop-only { display: block; } }
@media(min-width:768px) { .hp-layout.hp-justify-center:has(> .hp-layout-col:only-child) { display: block; } .hp-layout.hp-justify-center > .hp-layout-col:only-child { max-width: calc(100% * var(--hp-col-lg,var(--hp-col-md,12)) / 12); margin-inline: auto; } }
@media(min-width:992px) { .hp-layout > .hp-layout-col { grid-column: span var(--hp-col-lg,var(--hp-col-md,12)); } }
@media(min-width:1200px) { .hp-layout > .hp-layout-col { grid-column: span var(--hp-col-xl,var(--hp-col-lg,var(--hp-col-md,12))); } }
@media(max-width:767.98px) { .hp-migration-section, .hp-migration-hero { padding-block: 48px; } .hp-migrated main h1 { font-size: 38px; } .hp-content-card-body { padding: 24px; } .hp-customer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .hp-migrated .hp-flex { flex-wrap: wrap; } .hp-price-box { padding: 24px; } }
