/* PTK Solutions — ptk-service.css
   Extracted from inline <style id="ptk-service-overview-style">.
   WordPress: enqueue in functions.php (ptk_enqueue_assets). */
:root { --ptk-navy:#071238; --ptk-blue:#1558e8; --ptk-cyan:#65ddff; --ptk-ink:#0a173b; --ptk-muted:#667085; --ptk-ivory:#f4f1ea; --ptk-plum:#17132c; }
html { scroll-behavior: smooth; }
body.ptk-service-overview { overflow-x: hidden; background:#f7f6f2; }
body.ptk-service-overview img { max-width: 100%; }
body.ptk-service-overview h1,
body.ptk-service-overview h2,
body.ptk-service-overview h3,
body.ptk-service-overview p,
body.ptk-service-overview a,
body.ptk-service-overview span { overflow-wrap: break-word; word-break: normal; }
body.ptk-service-overview [class*="col-"] { min-width: 0; }
body.ptk-service-overview .header-logo img { width: 205px; max-height: 58px; object-fit: contain; }
body.ptk-service-overview .tv-header .menu-area > .row,
body.ptk-service-overview .sticky-header .menu-area > .row { flex-wrap: nowrap; }
body.ptk-service-overview .tv-header .nav-outer,
body.ptk-service-overview .sticky-header .nav-menu { min-width: 0; flex: 0 1 auto; }
body.ptk-service-overview .tv-header .main-menu > ul.navigation,
body.ptk-service-overview .sticky-header .main-menu > ul.navigation { display: flex; align-items: center; flex-wrap: nowrap; white-space: nowrap; }
body.ptk-service-overview .tv-header .main-menu > ul.navigation > li,
body.ptk-service-overview .sticky-header .main-menu > ul.navigation > li { flex: 0 0 auto; margin-right: 22px; }
body.ptk-service-overview .tv-header .main-menu > ul.navigation > li:last-child,
body.ptk-service-overview .sticky-header .main-menu > ul.navigation > li:last-child { margin-right: 0; }
body.ptk-service-overview .footer-section .brand-info .logo img { width: 260px; max-width: 100%; }
body.ptk-service-overview .footer-section { margin-top: 30px; }
.ptk-eyebrow { display:inline-flex; align-items:center; gap:11px; padding:0; border:0; border-radius:0; background:transparent; color:var(--ptk-blue); font-size:12px; font-weight:800; letter-spacing:.13em; line-height:1.2; }
.ptk-eyebrow::before { content:""; width:28px; height:2px; flex:0 0 28px; background:currentColor; }
.ptk-eyebrow.is-light { color:#8de7ff; border:0; background:transparent; }
.ptk-services-hero { position:relative; overflow:hidden; margin:0 30px; padding:118px 0 108px; border-radius:0 0 28px 28px; background:linear-gradient(132deg,#050b25 0%,#081641 54%,#102d7c 100%); color:#fff; }
.ptk-services-hero::before { content:""; position:absolute; inset:0; opacity:.18; background:url("../images/hero/shape-line01.png") center/cover no-repeat; }
.ptk-hero-orb { position:absolute; border-radius:50%; opacity:.18; }
.ptk-orb-one { width:380px; height:380px; right:-130px; top:-120px; background:#27d8ff; }
.ptk-orb-two { width:260px; height:260px; left:35%; bottom:-190px; background:#6c3cff; }
.ptk-hero-copy { position:relative; z-index:2; max-width:690px; }
.ptk-hero-copy h1 { margin:24px 0 24px; color:#fff; font-size:clamp(50px,5.1vw,78px); line-height:1.01; letter-spacing:-.048em; }
.ptk-hero-copy h1 span { color:#86e8ff; }
.ptk-hero-copy > p { max-width:650px; color:rgba(255,255,255,.78); font-size:18px; line-height:1.7; }
.ptk-hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:32px; }
.ptk-ghost-btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:12px 22px; border:1px solid rgba(16,83,243,.28); border-radius:999px; color:var(--ptk-ink); font-weight:700; transition:.3s ease; }
.ptk-services-hero .ptk-ghost-btn { color:#fff; border-color:rgba(255,255,255,.34); }
.ptk-ghost-btn:hover { color:#fff; border-color:var(--ptk-blue); background:var(--ptk-blue); transform:translateY(-2px); }
.ptk-button-arrow { display:inline-block; margin-left:8px; font-size:20px; line-height:1; transition:transform .3s ease; }
.theme-btn:hover .ptk-button-arrow { transform:translateX(4px); }
.ptk-hero-promises { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:38px; }
.ptk-hero-promises span { padding:15px 16px; border-top:1px solid rgba(255,255,255,.24); border-radius:0; background:transparent; color:rgba(255,255,255,.68); font-size:13px; line-height:1.4; }
.ptk-hero-promises strong { display:block; color:#fff; font-size:15px; }
.ptk-hero-visual { position:relative; z-index:2; padding:12px; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:rgba(255,255,255,.07); box-shadow:0 34px 90px rgba(0,0,0,.32); }
.ptk-hero-visual > img { width:100%; height:520px; border-radius:16px; object-fit:cover; }
.ptk-floating-proof { position:absolute; display:flex; align-items:center; gap:12px; min-width:190px; padding:15px 18px; border:1px solid rgba(255,255,255,.52); border-radius:12px; background:rgba(249,250,255,.96); color:var(--ptk-ink); box-shadow:0 18px 45px rgba(0,0,0,.24); }
.ptk-floating-proof strong { color:var(--ptk-blue); font-size:27px; line-height:1; }
.ptk-floating-proof span { font-size:13px; font-weight:700; line-height:1.3; }
.proof-top { top:44px; left:-38px; }
.proof-bottom { right:-25px; bottom:42px; }
.ptk-problem-section { padding:100px 0 108px; background:var(--ptk-ivory); }
.ptk-section-heading { max-width:900px; margin:0 auto 48px; }
.ptk-section-heading h2 { margin:20px 0 16px; color:var(--ptk-ink); font-size:clamp(38px,4vw,58px); line-height:1.08; letter-spacing:-.035em; }
.ptk-section-heading p { max-width:760px; margin:0 auto; color:var(--ptk-muted); font-size:17px; line-height:1.7; }
.ptk-problem-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ptk-problem-grid-six { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ptk-problem-card { position:relative; display:flex; min-height:210px; flex-direction:column; align-items:flex-start; padding:27px; overflow:hidden; border:0; border-radius:18px; background:#fff; color:var(--ptk-ink); box-shadow:0 16px 40px rgba(24,32,54,.075); transition:.35s ease; }
.ptk-problem-card > img { width:40px; height:40px; object-fit:contain; image-rendering:auto; }
.ptk-problem-card span { margin:24px 0 9px; font-size:19px; font-weight:800; line-height:1.38; }
.ptk-problem-card small { color:var(--ptk-muted); font-weight:700; }
.ptk-problem-card:hover { color:var(--ptk-ink); box-shadow:0 22px 54px rgba(7,25,91,.13); }
.ptk-service-group { position:relative; padding:112px 0; }
.ptk-service-group.tone-blue { background:#f7f5f0; }
.ptk-service-group.tone-purple { background:linear-gradient(145deg,#060d2c,#0c1948 72%,#152865); }
.ptk-service-group.tone-cyan { background:#edf2f6; }
.ptk-service-group.tone-warm { background:linear-gradient(145deg,#151126,#1d1736 68%,#27204c); }
.ptk-group-heading { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:end; gap:50px; margin-bottom:46px; }
.ptk-group-heading h2 { max-width:900px; margin:20px 0 16px; color:var(--ptk-ink); font-size:clamp(40px,4.15vw,60px); line-height:1.055; letter-spacing:-.041em; }
.ptk-group-heading p { max-width:820px; margin:0; color:#596377; font-size:17px; line-height:1.7; }
.ptk-group-promise { padding:2px 0 2px 20px; border:0; border-left:2px solid var(--ptk-blue); border-radius:0; background:transparent; color:var(--ptk-ink); font-weight:800; line-height:1.65; box-shadow:none; }
.ptk-service-grid { display:grid; gap:22px; }
.ptk-service-grid.is-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ptk-service-grid.is-four { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ptk-service-grid.is-single { grid-template-columns:minmax(0,1fr); }
.ptk-service-grid.is-single .ptk-service-card { min-height:0; display:grid; grid-template-columns:170px minmax(260px,1fr) minmax(220px,.7fr) auto; align-items:center; gap:24px; padding:32px 38px; }
.ptk-service-grid.is-single .ptk-card-top { margin:0; }
.ptk-service-grid.is-single .ptk-service-card h3,
.ptk-service-grid.is-single .ptk-service-card p,
.ptk-service-grid.is-single .ptk-service-outcomes { margin:0; }
.tone-deep { background:#e9f1ff; }
.tone-deep .ptk-service-card { border-color:#c8dbff; }
.tone-green { background:#eaf8f3; }
.tone-green .ptk-service-card { border-color:#bfe9d9; }
.ptk-service-card { position:relative; display:flex; min-height:370px; flex-direction:column; padding:28px; overflow:hidden; border:1px solid rgba(10,23,59,.11); border-radius:18px; background:#fff; box-shadow:0 15px 40px rgba(13,25,57,.05); transition:transform .4s ease,box-shadow .4s ease,border-color .4s ease; }
.ptk-service-card::before { content:""; position:absolute; width:150px; height:150px; right:-85px; top:-85px; border-radius:50%; background:linear-gradient(145deg,rgba(16,83,243,.14),rgba(37,199,238,.03)); transition:.5s ease; }
.ptk-card-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.ptk-card-number { color:rgba(7,25,91,.22); font-size:34px; font-weight:800; line-height:1; }
.ptk-card-icon { width:52px; height:52px; display:grid; place-items:center; border-radius:0; background:transparent; box-shadow:none; }
.ptk-card-icon img { width:40px; height:40px; object-fit:contain; image-rendering:auto; }
.ptk-service-card h3 { margin:23px 0 12px; color:var(--ptk-ink); font-size:24px; line-height:1.24; }
.ptk-service-card p { flex:1; margin:0; color:#606a7b; line-height:1.62; }
.ptk-service-outcomes { margin:20px 0; color:#354363; font-size:13px; font-weight:800; line-height:1.55; }
.ptk-text-link { display:inline-flex; align-items:center; gap:9px; width:max-content; color:var(--ptk-ink); font-weight:800; }
.ptk-text-link span { color:var(--ptk-blue); font-size:19px; transition:.3s ease; }
.ptk-service-card:hover { border-color:rgba(21,88,232,.38); box-shadow:0 24px 58px rgba(7,25,91,.13); }
.ptk-service-card:hover::before { transform:scale(1.35); }
.ptk-service-group.tone-purple .ptk-eyebrow,
.ptk-service-group.tone-warm .ptk-eyebrow { color:#8de7ff; border:0; background:transparent; }
.ptk-service-group.tone-purple .ptk-group-heading h2,
.ptk-service-group.tone-warm .ptk-group-heading h2 { color:#fff; }
.ptk-service-group.tone-purple .ptk-group-heading p,
.ptk-service-group.tone-warm .ptk-group-heading p { color:rgba(255,255,255,.68); }
.ptk-service-group.tone-purple .ptk-group-promise,
.ptk-service-group.tone-warm .ptk-group-promise { border:0; border-left:2px solid #8de7ff; background:transparent; color:#fff; box-shadow:none; }
.ptk-service-group.tone-purple .ptk-service-card,
.ptk-service-group.tone-warm .ptk-service-card { border-color:rgba(255,255,255,.13); background:rgba(255,255,255,.065); box-shadow:none; }
.ptk-service-group.tone-purple .ptk-card-number,
.ptk-service-group.tone-warm .ptk-card-number { color:rgba(255,255,255,.24); }
.ptk-service-group.tone-purple .ptk-card-icon,
.ptk-service-group.tone-warm .ptk-card-icon { background:transparent; box-shadow:none; }
.ptk-service-group.tone-purple .ptk-service-card h3,
.ptk-service-group.tone-warm .ptk-service-card h3,
.ptk-service-group.tone-purple .ptk-text-link,
.ptk-service-group.tone-warm .ptk-text-link { color:#fff; }
.ptk-service-group.tone-purple .ptk-service-card p,
.ptk-service-group.tone-warm .ptk-service-card p { color:rgba(255,255,255,.7); }
.ptk-service-group.tone-purple .ptk-service-outcomes,
.ptk-service-group.tone-warm .ptk-service-outcomes { color:rgba(255,255,255,.78); }
.ptk-service-group.tone-purple .ptk-text-link span,
.ptk-service-group.tone-warm .ptk-text-link span { color:#8de7ff; }
.ptk-service-group.tone-purple .ptk-service-card:hover,
.ptk-service-group.tone-warm .ptk-service-card:hover { border-color:rgba(141,231,255,.45); background:rgba(255,255,255,.1); box-shadow:0 24px 58px rgba(0,0,0,.2); }
.ptk-service-card:hover .ptk-text-link span { transform:translateX(5px); }
.ptk-integration-section { padding:110px 0; overflow:hidden; background:linear-gradient(135deg,#030d3d,#07195b 62%,#102d8f); color:#fff; }
.ptk-integration-visual { position:relative; padding-right:30px; }
.ptk-integration-visual > img { width:100%; height:540px; object-fit:cover; border-radius:30px; }
.ptk-integration-badge { position:absolute; right:0; bottom:35px; display:flex; align-items:center; gap:14px; padding:18px 22px; border-radius:18px; background:#fff; color:var(--ptk-ink); box-shadow:0 18px 45px rgba(0,0,0,.25); }
.ptk-integration-badge img { width:36px; height:38px; object-fit:contain; image-rendering:auto; }
.ptk-integration-copy { padding-left:30px; }
.ptk-integration-copy h2 { margin:22px 0 18px; color:#fff; font-size:clamp(40px,4vw,60px); line-height:1.06; letter-spacing:-.04em; }
.ptk-integration-copy > p { color:rgba(255,255,255,.72); font-size:17px; line-height:1.7; }
.ptk-integration-copy ul { display:grid; gap:12px; margin:28px 0 0; padding:0; list-style:none; }
.ptk-integration-copy li { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:start; color:rgba(255,255,255,.88); line-height:1.5; }
.ptk-integration-copy li img { width:22px; height:23px; object-fit:contain; margin-top:1px; image-rendering:auto; }
.ptk-process-overview { padding:110px 0; background:#f6f8fc; }
.ptk-process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.ptk-process-card { position:relative; min-height:280px; padding:30px; overflow:hidden; border:1px solid #dfe6f5; border-radius:24px; background:#fff; transition:.35s ease; }
.ptk-process-card > span { position:absolute; right:24px; top:18px; color:#e6edff; font-size:64px; font-weight:800; line-height:1; }
.ptk-process-card > img { position:relative; width:40px; height:40px; object-fit:contain; image-rendering:auto; }
.ptk-process-card h3 { position:relative; margin:28px 0 12px; color:var(--ptk-ink); font-size:23px; }
.ptk-process-card p { position:relative; margin:0; color:#697284; line-height:1.6; }
.ptk-process-card:hover { border-color:rgba(16,83,243,.32); box-shadow:0 18px 44px rgba(7,25,91,.09); }
.ptk-trust-section { padding:0 0 110px; background:#f6f8fc; }
.ptk-trust-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px; padding:70px; border-radius:32px; background:linear-gradient(135deg,#0b1d68,#1053f3); color:#fff; }
.ptk-trust-lead h2 { margin:22px 0 18px; color:#fff; font-size:clamp(38px,3.7vw,56px); line-height:1.07; letter-spacing:-.04em; }
.ptk-trust-lead p { margin:0; color:rgba(255,255,255,.74); line-height:1.7; }
.ptk-trust-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ptk-trust-grid div { min-height:150px; padding:23px; border:1px solid rgba(255,255,255,.16); border-radius:20px; background:rgba(255,255,255,.08); }
.ptk-trust-grid strong { display:block; margin-bottom:22px; color:var(--ptk-cyan); font-size:26px; }
.ptk-trust-grid span { color:#fff; font-weight:700; line-height:1.5; }
.ptk-final-cta { padding:100px 0 70px; background:#eee8dc; }
.ptk-final-cta-inner { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:center; gap:55px; padding:65px 70px; border:1px solid rgba(10,23,59,.1); border-radius:30px; background:linear-gradient(135deg,#fbf8f1,#e9dfd0); color:var(--ptk-ink); box-shadow:0 24px 70px rgba(44,35,25,.08); }
.ptk-final-cta .ptk-eyebrow.is-light { color:var(--ptk-blue); }
.ptk-final-cta h2 { max-width:920px; margin:22px 0 16px; color:var(--ptk-ink); font-size:clamp(36px,3.7vw,54px); line-height:1.08; letter-spacing:-.035em; }
.ptk-final-cta p { max-width:850px; margin:0; color:#5d6472; line-height:1.7; }
.ptk-final-actions { display:flex; flex-direction:column; align-items:stretch; gap:14px; }
.ptk-final-actions .theme-btn,
.ptk-final-actions .ptk-ghost-btn { width:100%; }
.ptk-ghost-btn.is-light { color:#fff; border-color:rgba(255,255,255,.36); }
.ptk-final-cta .ptk-ghost-btn.is-light { color:var(--ptk-ink); border-color:rgba(10,23,59,.24); }
.ptk-final-cta .ptk-ghost-btn.is-light:hover { color:#fff; border-color:var(--ptk-blue); }
@media (max-width:1199px) {
    body.ptk-service-overview .header-logo img { width:170px; }
    body.ptk-service-overview .tv-header .main-menu > ul.navigation > li,
    body.ptk-service-overview .sticky-header .main-menu > ul.navigation > li { margin-right: 14px; }
    body.ptk-service-overview .tv-header .main-menu a,
    body.ptk-service-overview .sticky-header .main-menu a { font-size: 15px; }
    body.ptk-service-overview .tv-header .header-right-wrapper { display: none; }
    .ptk-services-hero { margin:0; border-radius:0 0 28px 28px; }
    .ptk-hero-visual > img { height:470px; }
    .ptk-problem-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ptk-problem-grid-six { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ptk-service-card { min-height:385px; }
    .ptk-trust-panel { gap:40px; padding:55px; }
}
@media (max-width:991px) {
    .ptk-services-hero { padding:90px 0; }
    .ptk-hero-copy { max-width:none; }
    .ptk-hero-visual { max-width:720px; margin:15px auto 0; }
    .proof-top { left:28px; }
    .proof-bottom { right:28px; }
    .ptk-group-heading { grid-template-columns:1fr; gap:24px; }
    .ptk-group-promise { max-width:680px; }
    .ptk-service-grid.is-three { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ptk-service-grid.is-single .ptk-service-card { grid-template-columns:120px minmax(0,1fr); }
    .ptk-service-grid.is-single .ptk-service-outcomes,
    .ptk-service-grid.is-single .ptk-text-link { grid-column:2; }
    .ptk-integration-visual { padding-right:0; }
    .ptk-integration-copy { padding-left:0; }
    .ptk-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ptk-trust-panel,
    .ptk-final-cta-inner { grid-template-columns:1fr; }
    .ptk-final-actions { max-width:420px; }
}
@media (max-width:767px) {
    .ptk-services-hero { padding:72px 0; }
    .ptk-hero-copy h1 { font-size:46px; }
    .ptk-hero-copy > p { font-size:16px; }
    .ptk-hero-promises { grid-template-columns:1fr; }
    .ptk-hero-visual > img { height:390px; }
    .ptk-floating-proof { position:static; display:inline-flex; min-width:0; margin:14px 8px 0 0; }
    .ptk-problem-section,
    .ptk-service-group,
    .ptk-integration-section,
    .ptk-process-overview { padding:78px 0; }
    .ptk-section-heading h2,
    .ptk-group-heading h2,
    .ptk-integration-copy h2,
    .ptk-trust-lead h2,
    .ptk-final-cta h2 { font-size:38px; }
    .ptk-service-grid.is-three,
    .ptk-service-grid.is-four,
    .ptk-service-grid.is-single { grid-template-columns:1fr; }
    .ptk-service-grid.is-single .ptk-service-card { display:block; padding:28px; }
    .ptk-service-grid.is-single .ptk-service-outcomes,
    .ptk-service-grid.is-single .ptk-text-link { grid-column:auto; }
    .ptk-service-card { min-height:0; }
    .ptk-integration-visual > img { height:390px; }
    .ptk-integration-badge { right:18px; bottom:18px; }
    .ptk-process-grid { grid-template-columns:1fr; }
    .ptk-process-card { min-height:0; }
    .ptk-trust-section { padding-bottom:78px; }
    .ptk-trust-panel { padding:40px 28px; }
    .ptk-final-cta { padding:78px 0 45px; }
    .ptk-final-cta-inner { padding:42px 28px; }
}
@media (max-width:575px) {
    body.ptk-service-overview .header-logo img { width:158px; }
    .ptk-hero-copy h1 { font-size:40px; }
    .ptk-hero-actions { align-items:stretch; flex-direction:column; }
    .ptk-hero-actions .theme-btn,
    .ptk-hero-actions .ptk-ghost-btn { width:100%; }
    .ptk-hero-visual { padding:10px; border-radius:22px; }
    .ptk-hero-visual > img { height:310px; border-radius:16px; }
    .ptk-problem-grid { grid-template-columns:1fr; }
    .ptk-problem-card { min-height:205px; }
    .ptk-group-heading h2,
    .ptk-section-heading h2,
    .ptk-integration-copy h2,
    .ptk-trust-lead h2,
    .ptk-final-cta h2 { font-size:34px; }
    .ptk-service-card { padding:25px; border-radius:22px; }
    .ptk-service-card h3 { font-size:23px; }
    .ptk-integration-visual > img { height:310px; }
    .ptk-integration-badge { position:relative; right:auto; bottom:auto; margin:-45px 15px 0; }
    .ptk-trust-grid { grid-template-columns:1fr; }
    .ptk-trust-grid div { min-height:0; }
}
