/* ============ Site-wide layer of the November 2026 redesign (loaded last on every page) ============
   Larger, lighter headings with tighter tracking; outlined pill labels instead of dot/dash kickers;
   closing CTA panels in the coral of the home page. Page CSS keeps layout, this file only restyles. */

h1,h2{font-weight:560;letter-spacing:-.04em}

/* page heroes */
.f-hero h1{font-size:clamp(32px,3.8vw,52px);line-height:1.05}
.f-hero--center h1{font-size:clamp(38px,5.4vw,72px)}
.ph-copy h1{font-size:clamp(34px,4.6vw,60px);line-height:1.03}
.phead h1{font-size:clamp(38px,5.4vw,68px);font-weight:560;line-height:1.02}
.rel-head h1{font-size:clamp(38px,5.2vw,66px);line-height:1.02}
.art-head h1{font-size:clamp(32px,4.4vw,54px);line-height:1.04}
.legal h1{font-size:clamp(34px,4.4vw,54px)}

/* section headings */
.sec-head h2,.f-h2{font-size:clamp(32px,4.4vw,54px);line-height:1.05;letter-spacing:-.04em}
.spot-in h2,.fb-head h2,.req-copy h2,.calc-head h2{font-size:clamp(28px,3.4vw,42px);line-height:1.06;letter-spacing:-.04em}
.sec-head p{font-size:18px}

/* labels: outlined pills, no dots or dashes */
.kicker,.s-kick,.eyebrow{display:inline-flex;align-items:center;gap:0;font-size:11.5px;font-weight:650;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);border:1.5px solid currentColor;border-radius:100px;padding:5px 12px;line-height:1.2}
.kicker .dot,.s-kick::before,.eyebrow::before{display:none}

/* closing CTA panels: coral card, ink text */
.cta-panel,.art-cta-in,.rel-cta-in{background:radial-gradient(600px 400px at 100% 0%,rgba(255,255,255,.22),transparent 60%),linear-gradient(120deg,#FF5A45,#FF8A3D);border-radius:32px;box-shadow:0 40px 80px -40px rgba(201,50,28,.55)}
.cta-panel::after,.art-cta-in::after,.rel-cta-in::after{display:none}
.cta-panel__h,.art-cta-in h3,.rel-cta-in h2,.rel-cta-in h3{color:var(--ink);font-weight:560;letter-spacing:-.04em;font-size:clamp(30px,4vw,52px);line-height:1.05}
.cta-panel__p,.art-cta-in p,.rel-cta-in p{color:rgba(13,31,43,.8)}
.cta-panel .btn-onbrand,.art-cta-in .btn,.rel-cta-in .btn{background:var(--ink);color:#fff}
.cta-panel .btn-onbrand .arrow,.art-cta-in .btn .arrow,.rel-cta-in .btn .arrow{color:#FF9A7A}
.cta-panel .btn-onbrand-ghost,.art-cta-in .btn.btn-onbrand-ghost,.rel-cta-in .btn.btn-onbrand-ghost{background:rgba(255,255,255,.28);border:1px solid rgba(13,31,43,.3);color:var(--ink)}

/* blog cards (feature pages, venue pages and the home page): image, date · reading time, title */
.f-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.f-post{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-1);transition:transform .16s,box-shadow .16s}
.f-post:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.f-post img{width:100%;aspect-ratio:16/9;object-fit:cover}
.f-post span{padding:16px 18px 18px;display:grid;gap:8px}
.f-post b{font-family:var(--display);font-size:17px;line-height:1.3;letter-spacing:-.015em}
.f-post small{font-size:13.5px;font-weight:600;color:var(--brand)}
.f-post small.f-meta{font-size:12.5px;font-weight:500;color:var(--ink-faint)}
.home-blog{padding:90px 0 30px}
.hb-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}
.hb-head h2{font-size:clamp(32px,4.4vw,54px);line-height:1.05}
.hb-head p{color:var(--ink-soft);font-size:18px;margin-top:10px}
@media(max-width:980px){.f-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.f-posts{grid-template-columns:minmax(0,1fr)}.hb-head{flex-direction:column;align-items:flex-start}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- QA pass, 13 Nov 2026 ---------- */
/* POS mock: product tiles keep a readable width and wrap instead of shrinking to slivers */
.mk-prods{grid-template-columns:repeat(auto-fit,minmax(max(86px,30%),1fr))}
@media(max-width:640px){.mk-pos{grid-template-columns:minmax(0,1fr)}}
/* desktop app mock on narrow cards */
.mk-dta-bar{overflow:hidden;white-space:nowrap}
.mk-dta-pop{width:min(200px,58%)}
.app-card h3{min-height:2.2em}
/* home: tighter rhythm between same-colour sections, and on phones */
.p-home .cta-band{padding:0}
.p-home .tour-sec+.cta-band{padding-top:72px}
.p-home .cta-band+section{padding-top:84px}
.p-home .industries{padding-bottom:64px}
.hp-card>.hp-t{justify-self:start}
.hp-card>.hp-fix{margin:0}
@media(max-width:640px){
  .p-home section{padding:64px 0}
  .p-home .cta-band{padding:0}.p-home .tour-sec+.cta-band{padding-top:40px}.p-home .cta-band+section{padding-top:56px}
  .hp-card{grid-row:auto;display:flex;flex-direction:column}
  .hp-card>.hp-fix{margin-top:auto}
}
/* pricing: "never depends on" as a readable list */
.pd-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pd-no ul{grid-template-columns:1fr;gap:14px}
@media(max-width:980px){.pd-grid{grid-template-columns:minmax(0,1fr)}}
/* legal tables: stacked rows on phones */
@media(max-width:640px){
  .legal .tbl{border:0;background:none;overflow:visible}
  .legal table,.legal tbody,.legal tr,.legal td{display:block;width:auto}
  .legal thead{display:none}
  .legal tr{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px 14px;margin-bottom:10px}
  .legal td{border:0;padding:2px 0;min-width:0}
  .legal td:first-child{min-width:0;margin-bottom:4px}
  .legal .toc a{display:inline-block;padding:5px 0}
  .foot-col a{padding:8px 0}.foot-bot nav a{display:inline-block;padding:8px 0}
  .chg .tag{font-size:11px}
}
.sec-hero h1{text-wrap:balance}
.featured .meta{flex-wrap:wrap}.featured .meta>*{white-space:nowrap}
