/* Analytics-first homepage additions. Isolated from the original service blocks. */
body.home { --ph-ink:#040037; --ph-navy:#032075; --ph-muted:#514d7c; --ph-pink:#e21e51; --ph-violet:#4d40ff; --ph-paper:#f8f9fa; --ph-lavender:#eeeef5; }
.ph-home-analytics { color:var(--ph-muted); background:var(--ph-paper); font:400 17px/1.7 "Open Sans",sans-serif; }
.ph-home-analytics *, .ph-home-analytics *::before, .ph-home-analytics *::after { box-sizing:border-box; }
.ph-home-analytics h2,.ph-home-analytics h3 { font-family:"Montserrat",sans-serif; color:var(--ph-ink); font-weight:600; margin:0; letter-spacing:-.025em; }
.ph-home-analytics h2 { font-size:clamp(1.9rem,2.85vw,2.75rem); line-height:1.22; }
.ph-home-analytics h3 { font-size:1.14rem; line-height:1.38; }
.ph-home-analytics p { margin:0; }
.ph-home-analytics a { text-decoration:none; }
.ph-home-analytics img { display:block; max-width:100%; height:auto; }
.ph-home-analytics figure { margin:0; }
.ph-home-analytics [hidden] { display:none !important; }
.ph-home-analytics a:focus-visible,.ph-home-analytics button:focus-visible { outline:3px solid var(--ph-violet); outline-offset:5px; }
.ph-container { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.ph-section { position:relative; padding:80px 0; }
.ph-section-heading { max-width:830px; text-align:center; margin:0 auto 38px; }
.ph-section-heading h2 { margin:0 0 18px; }
.ph-section-heading > p:last-child { max-width:710px; margin-inline:auto; }
.ph-home-analytics .ph-eyebrow { color:#c81949; font-size:.76rem; font-weight:700; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; margin:0 0 14px; }
.ph-opportunities { padding-top:57px; }
.ph-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; grid-auto-rows:1fr; }
.ph-card { display:flex; flex-direction:column; align-items:flex-start; border-radius:14px; background:white; border:1px solid #e3e2eb; box-shadow:0 9px 24px #04003707; padding:28px 25px; min-width:0; }
.ph-card h3 { margin:20px 0 13px; min-height:3.1em; }
.ph-card p { font-size:.93rem; line-height:1.7; margin-bottom:22px; }
.ph-icon { width:51px; height:51px; display:grid; place-items:center; border-radius:50%; background:var(--ph-pink); color:white; }
.ph-icon svg { width:27px; height:27px; }
.ph-home-analytics .ph-text-link { display:inline-flex; align-items:center; gap:9px; color:var(--ph-violet); font-weight:600; font-size:.92rem; line-height:1.5; text-decoration:none; }
.ph-card .ph-text-link { margin-top:auto; font-size:.84rem; }
.ph-text-link span { flex:none; }
.ph-home-analytics .ph-text-link:hover { text-decoration:underline; text-underline-offset:5px; }
.ph-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:54px; }
.ph-deliverables { background:var(--ph-lavender); }
.ph-deliverable-split { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:45px; }
.ph-deliverable { display:grid; grid-template-columns:36px minmax(0,1fr); gap:15px; padding:20px 0; border-bottom:1px solid #d9d7e6; }
.ph-deliverable:first-child { padding-top:0; }
.ph-deliverable h3 { margin-bottom:7px; }
.ph-deliverable p { font-size:.93rem; line-height:1.65; }
.ph-number { width:33px; height:33px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--ph-pink); font-size:.7rem; font-weight:700; }
.ph-deliverable-copy>.ph-text-link { margin-top:25px; }
.ph-dashboard { background:white; border:1px solid #e0deea; padding:11px; border-radius:17px; box-shadow:0 18px 35px #04003714; min-width:0; }
.ph-tabs { display:flex; gap:5px; margin:0 0 11px; }
.ph-tabs button { flex:1; cursor:pointer; border:0; box-shadow:none; padding:11px 8px; color:var(--ph-navy); background:#f0eff6; border-radius:7px; font:600 .76rem/1.4 "Open Sans",sans-serif; }
.ph-tabs button[aria-selected=true] { background:var(--ph-pink); color:#fff; }
.ph-tabs button:hover { background:#e2dfef; }
.ph-tabs button[aria-selected=true]:hover { background:#c71949; }
.ph-image-link { display:block; position:relative; cursor:zoom-in; border-radius:12px; overflow:hidden; }
.ph-dashboard .ph-image-link { border-radius:7px; }
.ph-dashboard .ph-image-link img { width:100%; aspect-ratio:16/9; object-fit:contain; background:#f8f9fa; }
.ph-enlarge { position:absolute; bottom:11px; right:11px; display:grid; place-items:center; width:31px; height:31px; border-radius:50%; color:white; background:#040037aa; font-size:20px; }
.ph-home-analytics figcaption { font-size:.74rem; line-height:1.65; color:var(--ph-muted); padding:13px 10px 3px; }
.ph-visible-split { gap:54px; }
.ph-visible-copy h2 { margin:0 0 21px; }
.ph-visible-copy > p:not(.ph-eyebrow):not(.ph-note) { font-size:1.03rem; }
.ph-evidence-photo img { width:100%; aspect-ratio:1.32; object-fit:cover; }
.ph-evidence-photo .ph-image-link { box-shadow:0 16px 32px #04003720; }
.ph-metric-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:27px 0 24px; }
.ph-metric-grid > div { border-top:3px solid var(--ph-pink); padding:13px 0 0; }
.ph-metric-grid strong { color:var(--ph-ink); font-family:"Montserrat",sans-serif; font-weight:600; font-size:.85rem; line-height:1.4; display:block; }
.ph-metric-grid span { font-size:.77rem; line-height:1.55; display:block; margin-top:7px; }
.ph-home-analytics .ph-note { font-size:.76rem; line-height:1.65; margin-top:19px; color:#686389; }
.ph-workflow { background:#deddeb; }
.ph-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; grid-auto-rows:1fr; }
.ph-step { position:relative; background:var(--ph-paper); padding:28px 25px; border-radius:14px; text-align:left; }
.ph-step h3 { font-size:1.25rem; margin:17px 0 12px; }
.ph-step p { font-size:.92rem; line-height:1.7; }
.ph-step-number { display:inline-flex; font:600 1.85rem/1 "Montserrat",sans-serif; color:var(--ph-pink); }
.ph-center-link { text-align:center; margin-top:29px; }
.ph-infrastructure { background:var(--ph-paper); }
.ph-infrastructure-split { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:62px; align-items:stretch; }
.ph-infrastructure-copy { display:flex; flex-direction:column; justify-content:center; }
.ph-infrastructure-copy h2 { margin-bottom:22px; }
.ph-support-points { display:flex; flex-direction:column; gap:20px; margin-top:28px; }
.ph-support-points > div { display:grid; grid-template-columns:30px minmax(0,1fr); gap:15px; }
.ph-support-points h3 { font-size:1rem; margin-bottom:6px; }
.ph-support-points p { font-size:.9rem; line-height:1.65; }
.ph-line-icon { display:block; width:28px; color:var(--ph-pink); }
.ph-line-icon svg { width:28px; height:28px; }
.ph-inline-links { display:flex; flex-wrap:wrap; gap:22px; margin-top:27px; }
.ph-datacenter { display:flex; flex-direction:column; }
.ph-datacenter img { flex:1; min-height:0; width:100%; height:100%; max-height:540px; object-fit:cover; border-radius:15px; box-shadow:0 15px 30px #0400371a; }
.ph-partner-note { display:flex; align-items:center; justify-content:space-between; gap:25px; border-top:1px solid #dedce8; margin-top:44px; padding-top:26px; }
.ph-partner-note-mark { font:600 1.08rem/1.4 "Montserrat",sans-serif; color:var(--ph-ink); white-space:nowrap; }
.ph-partner-note-mark>span { font-weight:400; color:var(--ph-pink); margin:0 6px; }
.ph-partner-note p { max-width:520px; font-size:.86rem; }
.ph-partner-note>.ph-text-link { white-space:nowrap; }
.ph-start { background:var(--ph-navy); color:white; padding:61px 0; }
.ph-start-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:60px; align-items:center; }
.ph-start h2 { color:white; margin-bottom:18px; font-size:clamp(1.8rem,2.7vw,2.6rem); }
.ph-start .ph-eyebrow { color:#fff; opacity:.85; }
.ph-start p { max-width:660px; font-size:.97rem; }
.ph-start-actions { display:flex; flex-direction:column; align-items:flex-start; gap:19px; }
.ph-home-analytics .ph-button { display:inline-flex; gap:17px; align-items:center; justify-content:center; min-height:50px; background:var(--ph-pink); padding:14px 24px; color:#fff; border-radius:999px; font-weight:600; font-size:.97rem; line-height:1.5; }
.ph-home-analytics .ph-button:hover { background:#bc1643; }
.ph-start .ph-text-link { color:white; }
.ph-start a:focus-visible { outline-color:white; }
.ph-lightbox { border:0; border-radius:14px; width:min(1350px,calc(100vw - 40px)); max-width:none; max-height:92vh; padding:48px 16px 15px; color:var(--ph-ink); background:#f8f9fa; box-shadow:0 25px 90px #0007; }
.ph-lightbox::backdrop { background:#070523d9; }
.ph-lightbox img { display:block; margin:auto; width:auto; max-width:100%; max-height:73vh; object-fit:contain; }
.ph-lightbox button { position:absolute; top:8px; right:12px; border:0; background:#eeeef5; color:#040037; border-radius:50%; width:34px; height:34px; font:25px/1 sans-serif; padding:0; cursor:pointer; }
.ph-lightbox button:focus-visible { outline:3px solid #4d40ff; outline-offset:2px; }
.ph-lightbox p { margin:12px 6px 0; text-align:center; font:14px/1.5 "Open Sans",sans-serif; }
/* Retain existing hero spacing but keep typography balanced with the new content. */
.home .kb-row-layout-id6_fe957a-6e .kt-adv-heading6_3c4c0f-1b { max-width:650px; }
.home .kb-row-layout-id6_ebd7b5-bb > .kt-row-column-wrap { margin-top:0 !important; padding-top:85px !important; }
@media (max-width:1199px) {
 .ph-container { width:calc(100% - 64px); }
 .ph-card-grid,.ph-steps { gap:18px; }
 .ph-card,.ph-step { padding:25px 20px; }
 .ph-split { gap:34px; }
 .ph-deliverable-split { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
 .ph-partner-note { flex-wrap:wrap; }
}
@media (max-width:1024px) {
 .ph-section { padding:65px 0; }
 .ph-opportunities { padding-top:40px; }
 .ph-card-grid,.ph-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
 .ph-card h3 { min-height:0; }
 .ph-deliverable-split { grid-template-columns:minmax(0,1fr); gap:34px; }
 .ph-deliverable-copy { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
 .ph-deliverable { display:block; padding:0; border:0; }
 .ph-deliverable .ph-number { margin-bottom:14px; }
 .ph-deliverable-copy>.ph-text-link { grid-column:1/-1; margin-top:0; }
 .ph-visible-split,.ph-infrastructure-split { grid-template-columns:minmax(0,1fr); gap:35px; }
 .ph-evidence-photo { max-width:780px; }
 .ph-evidence-photo img { aspect-ratio:1.7; }
 .ph-datacenter img { height:390px; flex:none; object-position:center 60%; }
 .ph-start-grid { grid-template-columns:minmax(0,1fr); gap:27px; }
 .ph-start-actions { flex-direction:row; align-items:center; flex-wrap:wrap; gap:20px 30px; }
}
@media (max-width:599px) {
 .ph-home-analytics { font-size:16px; }
 .ph-container { width:calc(100% - 40px); }
 .ph-section { padding:48px 0; }
 .ph-opportunities { padding-top:28px; }
 .ph-section-heading { margin-bottom:28px; text-align:left; }
 .ph-wide-break { display:none; }
 .ph-card-grid,.ph-steps { grid-template-columns:minmax(0,1fr); gap:16px; grid-auto-rows:1fr; }
 .ph-card,.ph-step { padding:25px; }
 .ph-card h3 { margin-top:17px; }
 .ph-card p { margin-bottom:18px; }
 .ph-deliverable-copy { grid-template-columns:minmax(0,1fr); gap:22px; }
 .ph-deliverable { display:grid; grid-template-columns:34px minmax(0,1fr); gap:13px; }
 .ph-deliverable .ph-number { margin-bottom:0; }
 .ph-dashboard { padding:8px; border-radius:12px; }
 .ph-tabs { gap:4px; }
 .ph-tabs button { font-size:.68rem; padding:10px 5px; }
 .ph-home-analytics figcaption { font-size:.7rem; }
 .ph-evidence-photo img { aspect-ratio:1.5; }
 .ph-metric-grid { gap:10px; }
 .ph-metric-grid strong { font-size:.76rem; }
 .ph-metric-grid span { font-size:.72rem; }
 .ph-datacenter img { height:350px; }
 .ph-partner-note { gap:14px; margin-top:28px; padding-top:23px; }
 .ph-start-actions { flex-direction:column; align-items:flex-start; gap:20px; }
 .ph-start .ph-button { width:100%; padding:13px 16px; font-size:.9rem; }
 .ph-lightbox { width:calc(100vw - 16px); padding:46px 9px 14px; }
 .home .kb-row-layout-id6_ebd7b5-bb > .kt-row-column-wrap { padding-top:55px !important; }
}

@media (max-width:599px) {
 .home .kb-row-layout-id6_fe957a-6e h1 { font-size:clamp(1.8rem,8.7vw,2.15rem) !important; line-height:1.2 !important; }
 .home .kb-row-layout-id6_fe957a-6e .kt-adv-heading6_3c4c0f-1b { font-size:17px !important; line-height:1.65 !important; }
 .home .kb-row-layout-id6_fe957a-6e .kb-btns6_915217-58 { display:flex !important; flex-direction:row !important; flex-wrap:wrap !important; gap:18px !important; justify-content:flex-start !important; }
 .home .kb-row-layout-id6_fe957a-6e .kb-btn6_5a98b5-52 { font-size:16px !important; padding:13px 20px !important; }
 .home .kb-row-layout-id6_fe957a-6e .kb-btn6_76439e-f0 { font-size:16px !important; padding:13px 0 !important; }
}
