
/* Connectionpoint content overhaul v2 - additive styles only.
   Loaded after the existing site.css so older/static pages remain untouched. */
:root {
  --v2-red: #d62828;
  --v2-red-dark: #a91616;
  --v2-ink: #161616;
  --v2-muted: #5f646a;
  --v2-line: #e6e7e9;
  --v2-soft: #f6f7f8;
  --v2-white: #fff;
}
.v2-hero { padding: clamp(4rem,8vw,7.5rem) 0 4rem; background: linear-gradient(135deg,#fff 0%,#f7f7f8 72%,#f1f2f3 100%); border-bottom:1px solid var(--v2-line); }
.v2-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:clamp(2rem,6vw,5rem); align-items:end; }
.v2-kicker { margin:0 0 1rem; color:var(--v2-red-dark); font-size:.78rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.v2-hero h1, .v2-page-hero h1 { max-width:14ch; margin:0; font-size:clamp(2.6rem,6vw,5.25rem); line-height:.98; letter-spacing:-.045em; }
.v2-page-hero h1 { font-size:clamp(2.35rem,5vw,4.25rem); }
.v2-lead { max-width:760px; margin:1.4rem 0 0; color:#35383c; font-size:clamp(1.15rem,2.2vw,1.45rem); line-height:1.55; }
.v2-hero-note { padding:1.4rem; border-left:4px solid var(--v2-red); background:#fff; box-shadow:0 16px 40px rgba(0,0,0,.06); }
.v2-hero-note strong { display:block; margin-bottom:.5rem; font-size:1.05rem; }
.v2-hero-note p { margin:0; color:var(--v2-muted); line-height:1.6; }
.v2-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.8rem; }
.v2-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.8rem 1.05rem; border:1px solid var(--v2-ink); border-radius:4px; color:var(--v2-ink); font-weight:750; text-decoration:none; }
.v2-btn-primary { background:var(--v2-red); border-color:var(--v2-red); color:#fff; }
.v2-btn-primary:hover { background:var(--v2-red-dark); border-color:var(--v2-red-dark); color:#fff; }
.v2-section { padding:clamp(3.8rem,7vw,6rem) 0; }
.v2-section + .v2-section { border-top:1px solid var(--v2-line); }
.v2-section-soft { background:var(--v2-soft); }
.v2-section-head { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:2rem; margin-bottom:2.2rem; align-items:start; }
.v2-section-head h2 { margin:0; font-size:clamp(1.8rem,3.2vw,2.7rem); line-height:1.08; letter-spacing:-.025em; }
.v2-section-head p { max-width:760px; margin:.15rem 0 0; color:var(--v2-muted); font-size:1.08rem; line-height:1.7; }
.v2-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.v2-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.v2-card { display:flex; flex-direction:column; min-height:100%; padding:1.5rem; border:1px solid var(--v2-line); border-radius:7px; background:#fff; }
.v2-card h3 { margin:.25rem 0 .65rem; font-size:1.25rem; letter-spacing:-.015em; }
.v2-card p { margin:0; color:var(--v2-muted); line-height:1.65; }
.v2-card .v2-link { margin-top:auto; padding-top:1.1rem; }
.v2-link { color:var(--v2-red-dark); font-weight:800; text-decoration:none; }
.v2-link:hover { text-decoration:underline; }
.v2-tag { display:inline-block; width:max-content; margin-bottom:.7rem; padding:.25rem .5rem; border-radius:3px; background:#fbecec; color:var(--v2-red-dark); font-size:.73rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.v2-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--v2-line); background:#fff; }
.v2-proof > div { padding:1.5rem; }
.v2-proof > div + div { border-left:1px solid var(--v2-line); }
.v2-proof strong { display:block; margin-bottom:.5rem; font-size:1.1rem; }
.v2-proof p { margin:0; color:var(--v2-muted); line-height:1.6; }
.v2-page-hero { padding:clamp(3.5rem,7vw,6rem) 0 3.2rem; background:var(--v2-soft); border-bottom:1px solid var(--v2-line); }
.v2-breadcrumb { margin:0 0 1rem; font-size:.9rem; color:var(--v2-muted); }
.v2-breadcrumb a { color:inherit; }
.v2-content { max-width:900px; }
.v2-content h2 { margin:2.6rem 0 .75rem; font-size:clamp(1.55rem,3vw,2.2rem); letter-spacing:-.02em; }
.v2-content h3 { margin:1.8rem 0 .55rem; }
.v2-content p, .v2-content li { color:#44484d; line-height:1.72; }
.v2-content ul { padding-left:1.2rem; }
.v2-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.42fr); gap:clamp(2rem,6vw,5rem); align-items:start; }
.v2-aside { position:sticky; top:110px; padding:1.4rem; border:1px solid var(--v2-line); border-top:4px solid var(--v2-red); background:#fff; }
.v2-aside h2 { margin:0 0 .8rem; font-size:1.1rem; }
.v2-aside p { margin:0 0 .9rem; color:var(--v2-muted); line-height:1.6; }
.v2-aside a { display:block; margin:.55rem 0; }
.v2-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.4rem 0 2rem; }
.v2-feature { padding:1.2rem; border:1px solid var(--v2-line); border-radius:6px; background:#fff; }
.v2-feature strong { display:block; margin-bottom:.35rem; }
.v2-feature p { margin:0; font-size:.96rem; }
.v2-callout { margin:2rem 0; padding:1.35rem 1.5rem; border-left:4px solid var(--v2-red); background:var(--v2-soft); }
.v2-callout h3 { margin:0 0 .45rem; }
.v2-callout p { margin:0; }
.v2-service-nav { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.6rem; }
.v2-service-nav a { padding:.55rem .7rem; border:1px solid var(--v2-line); border-radius:4px; background:#fff; color:var(--v2-ink); font-weight:700; text-decoration:none; }
.v2-service-nav a:hover { border-color:#b9bdc2; }
.v2-steps { counter-reset:v2step; display:grid; gap:.8rem; margin:1.5rem 0; }
.v2-step { counter-increment:v2step; display:grid; grid-template-columns:42px 1fr; gap:1rem; padding:1rem 0; border-top:1px solid var(--v2-line); }
.v2-step::before { content:counter(v2step); display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--v2-ink); color:#fff; font-weight:800; }
.v2-step strong { display:block; margin:.15rem 0 .25rem; }
.v2-step p { margin:0; }
.v2-fineprint { color:var(--v2-muted); font-size:.9rem; }
@media (max-width: 900px) {
  .v2-hero-grid,.v2-section-head,.v2-split { grid-template-columns:1fr; }
  .v2-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-proof { grid-template-columns:1fr; }
  .v2-proof > div + div { border-left:0; border-top:1px solid var(--v2-line); }
  .v2-aside { position:static; }
}
@media (max-width: 620px) {
  .v2-grid,.v2-grid-2,.v2-feature-list { grid-template-columns:1fr; }
  .v2-hero h1,.v2-page-hero h1 { max-width:none; }
}


/* Connectionpoint feedback pass v4 */
.v2-section-head > .v2-kicker { grid-column:1 / -1; margin-bottom:-.65rem; }
.v4-centered-hero { text-align:center; }
.v4-centered-hero h1, .v4-centered-hero .v2-lead { margin-left:auto; margin-right:auto; }
.v4-centered-hero h1 { max-width:18ch; }
.v4-centered-hero .v2-actions, .v4-centered-hero .v2-service-nav { justify-content:center; }
.v4-home-hero { padding-top:clamp(4rem,8vw,7rem); padding-bottom:clamp(4rem,7vw,6rem); }
.v4-home-hero .v2-lead { max-width:900px; }
.v4-human { border-top:4px solid var(--v2-red); }
.v4-stat { font-size:clamp(2rem,4vw,3.25rem); line-height:1; letter-spacing:-.04em; }
.v4-stat-label { display:block; margin-top:.45rem; color:var(--v2-muted); font-size:.95rem; line-height:1.5; }
.v4-example { padding:1.3rem 0; border-top:1px solid var(--v2-line); }
.v4-example:first-child { border-top:0; padding-top:0; }
.v4-example h3 { margin:.1rem 0 .45rem; }
.v4-example p { margin:0; }
@media (max-width:900px) { .v2-section-head > .v2-kicker { grid-column:auto; margin-bottom:0; } }
