/* Two-product buying path (AMP Insight + AMP Essentials), shared across pages.
   Colours checked for WCAG AA on the site's dark navy (#0A1628 / #050A14). */
:root{
  --tp-bg:#0A1628; --tp-panel:#0F1A2E; --tp-line:rgba(148,163,184,.22);
  --tp-ink:#F8FAFC; --tp-muted:#B6C2D2; --tp-insight:#38BDF8; --tp-essentials:#FBBF24;
}
/* ---- Header: two product links + services/pricing, always first ---- */
.nav-links > a.nav-product{font-weight:700;color:#E2E8F0;border:1px solid transparent}
.nav-links > a.nav-product-insight{border-color:rgba(56,189,248,.45);color:#7DD3FC}
.nav-links > a.nav-product-essentials{border-color:rgba(251,191,36,.45);color:#FCD34D}
.nav-links > a.nav-product:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-links > a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.08)}
.nav-links .nav-sep{width:1px;height:20px;background:rgba(255,255,255,.14);margin:0 6px}
@media (max-width:1240px){.nav-links > a,.nav-dropdown-btn{padding:7px 8px!important;font-size:12.5px!important}.nav-logo-text{display:none}}
/* Phone drawer: products first, large touch targets */
.nav-drawer .drawer-product{font-weight:700;color:#F8FAFC;font-size:16px;min-height:48px;display:flex;align-items:center;gap:10px;padding:12px 12px;border:1px solid var(--tp-line);border-radius:10px;margin-bottom:6px;border-bottom:1px solid var(--tp-line)}
.nav-drawer .drawer-product small{display:block;font-weight:400;font-size:12px;color:var(--tp-muted)}
.nav-drawer .drawer-product.insight{border-left:4px solid var(--tp-insight)}
.nav-drawer .drawer-product.essentials{border-left:4px solid var(--tp-essentials)}
.nav-drawer a{min-height:44px;display:flex;align-items:center}
/* ---- Focus visibility (keyboard) ---- */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #7DD3FC;outline-offset:2px;border-radius:6px}
.nav-dropdown-item:focus-visible{outline-offset:-2px}
/* ---- Floating "Book a Demo" never sits on top of page actions ---- */
.book-demo-float,#booking-widget{z-index:900}
@media (max-width:640px){
  .book-demo-float,#booking-widget{bottom:12px!important;right:12px!important;left:auto}
  #booking-btn,.book-demo-float a{padding:10px 16px!important;font-size:13px!important;min-height:44px}
  body{padding-bottom:72px} /* reserve room so the floating control never covers last-screen actions */
  #hero .hero-ctas,.tp-hero .tp-actions{margin-bottom:8px}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ---- Shared building blocks ---- */
.tp-wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.tp-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7DD3FC;margin:0 0 10px}
.tp-h1{font-size:clamp(30px,5vw,52px);line-height:1.08;font-weight:800;color:var(--tp-ink);margin:0 0 14px;letter-spacing:-.01em}
.tp-h2{font-size:clamp(24px,3.2vw,36px);line-height:1.15;font-weight:800;color:var(--tp-ink);margin:0 0 12px}
.tp-lead{font-size:clamp(16px,1.6vw,19px);line-height:1.55;color:var(--tp-muted);max-width:720px;margin:0 0 20px}
.tp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.tp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:10px;font-weight:700;font-size:15px;text-decoration:none;border:1px solid transparent;transition:transform .15s,background .15s}
.tp-btn:hover{transform:translateY(-1px)}
.tp-btn-insight{background:#38BDF8;color:#04101C}
.tp-btn-essentials{background:#FBBF24;color:#1A1203}
.tp-btn-ghost{background:transparent;color:var(--tp-ink);border-color:rgba(226,232,240,.45)}
.tp-btn-ghost:hover{background:rgba(255,255,255,.07)}
.tp-section{padding:clamp(40px,6vw,72px) 0;background:var(--tp-bg);border-top:1px solid rgba(255,255,255,.06)}
.tp-section.alt{background:#050A14}
.tp-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tp-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:820px){.tp-grid2,.tp-grid3{grid-template-columns:1fr}}
/* Product cards */
.tp-card{background:var(--tp-panel);border:1px solid var(--tp-line);border-radius:16px;padding:clamp(20px,3vw,30px);display:flex;flex-direction:column;gap:10px}
.tp-card.insight{border-top:4px solid var(--tp-insight)}
.tp-card.essentials{border-top:4px solid var(--tp-essentials)}
.tp-card h2,.tp-card h3{margin:0;color:var(--tp-ink);font-size:clamp(22px,2.4vw,28px);font-weight:800}
.tp-card .tp-tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin:0}
.tp-card.insight .tp-tag{color:#7DD3FC}.tp-card.essentials .tp-tag{color:#FCD34D}
.tp-card p{margin:0;color:var(--tp-muted);line-height:1.55;font-size:16px}
.tp-card .tp-actions{margin-top:auto;padding-top:10px}
.tp-tasks{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.tp-tasks li{position:relative;padding-left:26px;color:#E2E8F0;line-height:1.45;font-size:15.5px}
.tp-tasks li::before{content:"";position:absolute;left:2px;top:.5em;width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.9}
.tp-card.insight .tp-tasks li::before{background:var(--tp-insight)}.tp-card.essentials .tp-tasks li::before{background:var(--tp-essentials)}
/* Home hero */
.tp-hero,.tp-top{padding-top:calc(64px + clamp(24px,4vw,48px))!important}
.tp-hero{padding-bottom:clamp(28px,4vw,48px);background:radial-gradient(1200px 400px at 80% -10%,rgba(14,165,233,.16),transparent 60%),#0A1628}
.tp-hero .tp-lead{margin-bottom:26px}
.tp-help{margin-top:18px;font-size:15px;color:var(--tp-muted)}
.tp-help a{color:#7DD3FC;font-weight:600}
/* Product intro (top of each product page) */
.tp-intro{padding:clamp(28px,4vw,48px) 0;background:#0A1628;border-bottom:1px solid rgba(255,255,255,.08)}
.tp-intro .tp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:18px 0}
.tp-intro dt{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7DD3FC;margin:0 0 4px}
.tp-intro dd{margin:0;color:#E2E8F0;line-height:1.5;font-size:16px}
@media (max-width:820px){.tp-intro .tp-facts{grid-template-columns:1fr}}
.tp-note{font-size:14px;color:var(--tp-muted);border-left:3px solid var(--tp-line);padding:4px 0 4px 14px;margin:14px 0 0;max-width:760px}
/* Comparison table */
.tp-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tp-table{width:100%;border-collapse:collapse;min-width:640px;color:#E2E8F0;font-size:15px}
.tp-table caption{text-align:left;color:var(--tp-muted);padding-bottom:10px;font-size:14px}
.tp-table th,.tp-table td{padding:12px 14px;border-bottom:1px solid var(--tp-line);text-align:left;vertical-align:top;line-height:1.45}
.tp-table thead th{color:#fff;font-size:15px;border-bottom:2px solid var(--tp-line)}
.tp-table tbody th{color:#CBD5E1;font-weight:600;width:22%}
.tp-pending{color:#FCD34D}
/* Services */
.tp-svc{background:var(--tp-panel);border:1px solid var(--tp-line);border-radius:16px;padding:clamp(20px,3vw,30px)}
.tp-svc h2{margin:0 0 8px;font-size:clamp(22px,2.4vw,28px);color:#fff}
.tp-svc p{color:var(--tp-muted);line-height:1.55;margin:0 0 10px}
.tp-svc ul{margin:0;padding-left:20px;color:#E2E8F0;line-height:1.55}
/* Case study card */
.tp-case{display:block;text-decoration:none;color:inherit}
.tp-case:hover{border-color:#38BDF8}
.tp-badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:#E2E8F0;margin:0 0 10px}
/* Prefilled booking note */
.tp-prefill{background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.4);border-radius:12px;padding:14px 16px;margin:0 0 18px;color:#E2E8F0;font-size:15px;line-height:1.5}
.tp-prefill strong{color:#fff}
.tp-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nav-links > a,.nav-links .nav-dropdown-btn{white-space:nowrap}
/* Consented capture forms */
.tp-form{display:grid;gap:12px;max-width:640px}
.tp-form .tp-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:640px){.tp-form .tp-row{grid-template-columns:1fr}}
.tp-form label.tp-lab{display:block;font-size:13px;font-weight:600;color:#E2E8F0;margin-bottom:4px}
.tp-form input[type=text],.tp-form input[type=email]{width:100%;min-height:44px;padding:10px 12px;border-radius:8px;border:1px solid rgba(148,163,184,.5);background:#0B1424;color:#F8FAFC;font:inherit;font-size:16px}
.tp-form .tp-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;color:#CBD5E1}
.tp-form .tp-consent input{margin-top:3px;width:18px;height:18px;flex:none}
.tp-form .tp-consent a{color:#7DD3FC}
.tp-form button[type=submit]{min-height:48px;border-radius:10px;border:0;padding:0 22px;font-weight:700;font-size:15px;background:#38BDF8;color:#04101C;cursor:pointer;justify-self:start}
.tp-form button[disabled]{opacity:.6;cursor:wait}
.tp-form [data-lead-status]{font-size:14px;padding:10px 12px;border-radius:8px}
.tp-form [data-kind=ok]{background:rgba(16,185,129,.15);color:#A7F3D0}
.tp-form [data-kind=error]{background:rgba(239,68,68,.15);color:#FECACA}
.tp-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.tp-news{margin-top:16px;max-width:360px}
.tp-news .tp-form{gap:8px}
.tp-news h3{font-size:14px;margin:0 0 4px;color:#F8FAFC}
.tp-news p{font-size:13px;color:#B6C2D2;margin:0 0 8px;line-height:1.45}
@media (hover:hover) and (min-width:901px){.nav-dropdown:hover .nav-dropdown-menu{display:block}}
.nav-dropdown-menu{max-height:calc(100vh - 90px);overflow-y:auto}
.tp-chips{display:none;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.tp-chips a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;font-weight:700;text-decoration:none;font-size:15px}
.tp-chips .c-i{background:#38BDF8;color:#04101C}.tp-chips .c-e{background:#FBBF24;color:#1A1203}
@media (max-width:640px){.tp-chips{display:flex}}
.tp-figure{margin:0}.tp-figure img{width:100%;height:auto;border-radius:12px;border:1px solid var(--tp-line);display:block}.tp-figure figcaption{font-size:14px;color:var(--tp-muted);line-height:1.5;margin-top:8px}
/* Floating widget hides while reading on phones (js/float-cta.js) */
#booking-widget,#booking-fab{transition:opacity .2s,transform .2s}
#booking-widget.is-hidden,#booking-fab.is-hidden{opacity:0;transform:translateY(12px);pointer-events:none}
