/* Pricing and support plans page. Loads after site.css; the header and footer are the shared site shell. */
.price-new { --pn-brand:#0176d3; --pn-soft:#f5f8fb; --pn-text:#20242b; --pn-dim:#56606c; color:var(--pn-text); background:#fcfcfd; }
.price-new * { box-sizing:border-box; }
.pn-wrap { width:min(1180px,calc(100% - 40px)); margin:0 auto; }
.pn-hero { padding:5rem 0 4.25rem; text-align:center; background:linear-gradient(120deg,#eef8ff,#fff 72%); border-bottom:1px solid var(--border); }
.pn-kicker { margin:0 0 .8rem; color:#0e7490; font-weight:800; font-size:.76rem; letter-spacing:.16em; }
.pn-hero h1 { max-width:820px; margin:0 auto; font-size:clamp(2.5rem,6vw,4.4rem); line-height:1.04; letter-spacing:-.055em; }
.pn-hero h1 span { color:var(--pn-brand); }
.pn-lede { max-width:760px; margin:1.4rem auto 0; color:var(--pn-dim); font-size:1.08rem; line-height:1.7; }
.price-new #expert-hours { display:none; }
.pn-btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.7rem 1.15rem; border:1px solid var(--border-hi); border-radius:11px; color:var(--pn-text); background:#fff; font-size:.9rem; font-weight:750; text-decoration:none; cursor:pointer; }
.pn-btn.primary { color:#fff; border-color:var(--pn-brand); background:linear-gradient(180deg,#3d94eb,var(--pn-brand)); }
.pn-section { padding:4.75rem 0; }
.pn-section.soft { background:var(--pn-soft); border-block:1px solid var(--border); }
.pn-heading { max-width:780px; margin:0 auto 2rem; text-align:center; }
.pn-heading .pn-kicker { margin:0 auto 12px; color:#0176d3; font-size:11px; font-weight:850; letter-spacing:.13em; text-align:center; text-transform:uppercase; }
.pn-heading h2 { margin:.45rem 0 .7rem; font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.15; letter-spacing:-.04em; }
.pn-heading p:last-child { margin:0; color:var(--pn-dim); line-height:1.65; }
.pn-pill { align-self:flex-start; margin:0; padding:7px 12px; border-radius:999px; color:#1768a7; background:#eaf5ff; font-size:11px; line-height:1.2; font-weight:850; letter-spacing:.1em; }
.pn-price { margin:22px 0 0; color:var(--strong); font-size:39px; line-height:1; font-weight:850; letter-spacing:-.045em; }
.pn-price small { color:var(--pn-dim); font-size:13px; font-weight:650; letter-spacing:0; }
.pn-hours { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.pn-hour { padding:1.5rem; border:1px solid var(--border); border-radius:15px; background:#fff; text-align:center; }
.pn-hour h3 { margin:.35rem 0; font-size:1.45rem; }
.pn-hour .pn-price { margin:.3rem 0; }
.pn-hour p { min-height:2.8rem; color:var(--pn-dim); font-size:.86rem; }
.pn-hour .pn-btn { width:100%; }
.pn-faq { max-width:820px; margin:auto; }
.pn-faq details { padding:1rem 0; border-bottom:1px solid var(--border); }
.pn-faq summary { cursor:pointer; font-weight:750; }
.pn-faq p { margin:.7rem 0 0; color:var(--pn-dim); line-height:1.6; }
@media (max-width:620px) { .pn-wrap { width:min(100% - 32px,1180px); } .pn-hero { padding:3.6rem 0; } .pn-hours { grid-template-columns:1fr; } .pn-section { padding:3.5rem 0; } }

/* Main Hero Section (#support-plans) - adopts pn-hero font, typography, and styling */
.price-new #support-plans.pn-hero,
.price-new #support-plans {
  padding: 5rem 0 4.25rem;
  text-align: center;
  background: linear-gradient(120deg, #eef8ff, #fff 72%);
  border-bottom: 1px solid var(--border);
}
.price-new #support-plans .pn-wrap {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}
.price-new #support-plans .pn-kicker {
  color: #0e7490;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin: 0 auto .8rem;
  text-align: center;
}
.price-new #support-plans h1 {
  max-width: 860px;
  margin: 0 auto;
  font-size: clamp(2.5rem, 6vw, 4.4rem);
  line-height: 1.05;
  letter-spacing: -.055em;
  color: var(--pn-text);
  font-weight: 800;
  text-align: center;
}
.price-new #support-plans h1 span,
.price-new #support-plans h1 .free {
  color: var(--pn-brand);
}
.price-new #support-plans .pn-lede {
  max-width: 760px;
  margin: 1.4rem auto 0;
  color: var(--pn-dim);
  font-size: 1.08rem;
  line-height: 1.7;
  text-align: center;
}
.price-new #support-plans .from {
  font-size: 16px;
  color: #181818;
  font-weight: 600;
  margin: 1.2rem 0 1.8rem;
  text-align: center;
}
.price-new #support-plans .from .amt { color: #032d60; }
.price-new #support-plans .from .sm { font-weight: 400; color: #5c5c5c; }

.price-new .strip { max-width: 900px; margin: 0 auto 30px; background: #eaf5fe; border: 1px solid #cfe6fa; border-radius: 10px; padding: 14px 22px; font-size: 15px; color: #3d6b96; text-align: center; }
.price-new .strip b { color: #181818; font-weight: 700; }

/* Plans Grid */
.price-new .plans { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 8px 0 0; align-items: stretch; }
.price-new .plan { border: 1px solid #e5e5e5; border-radius: 12px; background: #fff; padding: 26px 20px 22px; display: flex; flex-direction: column; text-align: left; position: relative; }
.price-new .plan.free { border: 1.5px dashed #cfd8e3; background: #fbfcfe; box-shadow: none; }
.price-new .plan.free .feat li::before { color: #2e844a; }
.price-new .badge { display: inline-block; align-self: flex-start; background: #eceff3; color: #5c6b7f; font-size: 11px; font-weight: 700; letter-spacing: .09em; padding: 5px 10px; border-radius: 6px; margin: 0 0 16px; }
.price-new .diy { background: #f1f3f6; border-radius: 8px; padding: 11px 13px; margin: 12px 0 0; font-size: 13.5px; font-weight: 700; color: #181818; }
.price-new .plan.featured { border: 2px solid #0176d3; box-shadow: 0 6px 24px rgba(1,118,211,.14); position: relative; }
.price-new .flag { position: absolute; top: -13px; left: 24px; background: #0176d3; color: #fff; font-size: 12px; font-weight: 600; padding: 4px 11px; border-radius: 999px; white-space: nowrap; line-height: 1.4; }
.price-new .plan h3 { margin: 0 0 6px; font-size: 21px; letter-spacing: -.01em; color: #181818; font-weight: 700; }
.price-new .promise { margin: 0 0 20px; font-size: 15px; color: #444; font-weight: 500; min-height: 44px; line-height: 1.45; }
.price-new .starts { margin: 0 0 4px; font-size: 12.5px; color: #5c5c5c; font-weight: 500; }
.price-new .price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin: 0; }
.price-new .price .amount { font-size: 40px; font-weight: 700; letter-spacing: -.03em; line-height: 1; color: #181818; }
.price-new .price .per { color: #5c5c5c; font-size: 15px; }
.price-new .annual { margin: 12px 0 0; font-size: 14.5px; color: #444; background: #ebf7ee; border: 1px solid #cbe8d4; border-radius: 8px; padding: 10px 12px; line-height: 1.4; }
.price-new .annual b { color: #032d60; }
.price-new .annual .free-months { color: #2e844a; font-weight: 600; }
.price-new .plan hr { border: 0; border-top: 1px solid #e5e5e5; margin: 22px 0 18px; }
.price-new .feat { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 12px; font-size: 14px; color: #444; }
.price-new .feat li { display: grid; grid-template-columns: 18px 1fr; gap: 0 9px; align-items: start; line-height: 1.45; }
.price-new .feat li::before { content: "✓"; color: #0176d3; font-weight: 700; line-height: 1.45; }
.price-new .feat li.lead { font-weight: 600; color: #181818; }
.price-new .feat .approx { grid-column: 2; display: block; font-weight: 400; color: #5c5c5c; font-size: 13px; margin-top: 1px; white-space: nowrap; }
.price-new .feat li.inherit::before { content: "↑"; color: #5c5c5c; font-weight: 700; }
.price-new .feat li.inherit { color: #5c5c5c; }
.price-new .plan .cta { margin-top: auto; }
.price-new .plan .btn { display: inline-block; border-radius: 8px; padding: 11px 20px; font-size: 14.5px; font-weight: 600; border: 1px solid transparent; cursor: pointer; text-align: center; text-decoration: none; width: 100%; transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease; box-sizing: border-box; }
.price-new .plan .btn:hover { text-decoration: none; transform: translateY(-1px); }
.price-new .plan .btn-primary { background: #0176d3; color: #fff; border-color: #0176d3; }
.price-new .plan .btn-primary:hover { background: #014486; border-color: #014486; color: #fff; }
.price-new .plan .btn-ghost { border-color: #d8d8d8; color: #181818; background: #fff; }
.price-new .plan .btn-ghost:hover { border-color: #0176d3; color: #0176d3; }
.price-new .plan .btn-block { display: block; width: 100%; }
.price-new .plan .foot { font-size: 12.5px; color: #5c5c5c; text-align: center; margin: 10px 0 0; line-height: 1.4; }

.price-new .footnote,
.price-new #support-plans .footnote,
.price-new #plan-comparison .footnote { margin: 22px 0 0; max-width: none !important; font-size: 13.5px; color: #5c5c5c; text-align: left; padding: 0; line-height: 1.5; white-space: nowrap !important; }
@media (max-width: 768px) { .price-new .footnote, .price-new #support-plans .footnote, .price-new #plan-comparison .footnote { white-space: normal !important; } }
.price-new .nogrow, .price-new #support-plans .nogrow { margin: 34px 0 0; background: #fff; border: 1px solid #e6ecf3; border-radius: 14px; padding: 22px 30px 24px; text-align: center; box-shadow: 0 2px 14px rgba(3,45,96,.04); }
.price-new .nogrow h2, .price-new #support-plans .nogrow h2 { font-size: 22px; font-weight: 700; color: #111; text-align: center; margin: 0 0 6px; max-width: none; letter-spacing: -.02em; line-height: 1.3; }
.price-new .nogrow p, .price-new #support-plans .nogrow p { margin: 0; max-width: none; text-align: center; font-size: 14px; line-height: 1.55; color: #6b6b6b; }

/* Plan Comparison Section */
.price-new #plan-comparison { padding: 80px 0; background: #fff; border-top: 1px solid #e5e5e5; }
.price-new #plan-comparison .pn-heading { max-width: 820px; margin: 0 auto 36px; text-align: center; }
.price-new #plan-comparison .pn-kicker { margin: 0 auto 12px; color: #0176d3; font-size: 11px; font-weight: 850; letter-spacing: .13em; text-align: center; }
.price-new #plan-comparison .pn-heading h2 { margin: 0 auto; font-size: clamp(30px, 4vw, 44px); line-height: 1.12; letter-spacing: -.035em; color: #172033; text-align: center; font-weight: 700; }
.price-new #plan-comparison .pn-heading p:last-child { margin: 14px auto 0; color: #5f6877; font-size: 16px; line-height: 1.6; text-align: center; max-width: 62ch; }

.price-new .table-scroll { overflow-x: auto; border: 1px solid #e5e5e5; border-radius: 12px; background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.03); }
.price-new .table-scroll table { border-collapse: collapse; width: 100%; min-width: 720px; font-size: 14px; }
.price-new .table-scroll th, .price-new .table-scroll td { padding: 14px 18px; text-align: center; border-bottom: 1px solid #e5e5e5; color: #444; }
.price-new .table-scroll th:first-child, .price-new .table-scroll td:first-child { text-align: left; font-weight: 500; color: #444; width: 32%; }
.price-new .table-scroll thead th { background: #f4f6f9; font-weight: 700; color: #032d60; font-size: 15px; border-bottom: 1px solid #d8d8d8; }
.price-new .table-scroll thead th span { display: block; font-weight: 500; font-size: 13px; color: #5c5c5c; margin-top: 2px; }
.price-new .table-scroll tbody tr:last-child td { border-bottom: 0; }
.price-new .table-scroll tr.money td { font-variant-numeric: tabular-nums; font-weight: 700; color: #032d60; font-size: 16px; }
.price-new .table-scroll tr.money td small { display: block; font-weight: 500; font-size: 12.5px; color: #2e844a; margin-top: 2px; }
.price-new .table-scroll td.no { color: #b0b0b0; }
.price-new .table-scroll td.yes { color: #2e844a; font-weight: 600; }
.price-new .table-scroll thead th:nth-child(3), .price-new .table-scroll tbody td:nth-child(3) { background: rgba(1, 118, 211, 0.03); }


/* Migration Discovery & Deliverables Section */
.price-new #migration { padding: 90px 0; background: #fff; border-top: 1px solid #dfe4ea; }
.price-new #migration .pn-heading { max-width: 820px; margin: 0 auto 38px; text-align: center; }
.price-new #migration .pn-kicker { margin: 0 auto 12px; color: #0176d3; font-size: 11px; font-weight: 850; letter-spacing: .13em; text-align: center; }
.price-new #migration .pn-heading h2 { margin: 0 auto; font-size: clamp(32px, 4.5vw, 50px); line-height: 1.06; letter-spacing: -.045em; color: #172033; text-align: center; }
.price-new #migration .migration-price { margin: 0 0 20px; display: flex; align-items: baseline; gap: 8px; justify-content: flex-start; text-align: left; }
.price-new #migration .migration-price strong { font-size: 38px; line-height: 1; letter-spacing: -.04em; color: #172033; font-weight: 850; }
.price-new #migration .migration-price span { color: #5f6877; font-size: 14px; font-weight: 600; }
.price-new #migration .migration-lead { max-width: 780px; margin: 16px auto 0; color: #5f6877; font-size: 16px; line-height: 1.65; text-align: center; }

.price-new .discovery-box { display: grid; grid-template-columns: .82fr 1.18fr; overflow: hidden; margin-top: 44px; border: 1px solid #dfe4ea; border-radius: 18px; background: #fff; box-shadow: 0 12px 36px -20px rgba(15,23,42,.15); }
.price-new .discovery-list { padding: 44px 40px; border-right: 1px solid #dfe4ea; background: #f8fafc; }
.price-new .discovery-label { margin: 0; color: #5f6877; font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.price-new .discovery-list .check-list { display: grid; gap: 14px; margin: 26px 0 0; padding: 0; list-style: none; }
.price-new .discovery-list .check-list li { position: relative; display: flex; align-items: flex-start; gap: 11px; color: #454d5a; font-size: 13.5px; line-height: 1.5; }
.price-new .discovery-list .check-list li::before { content: "✓"; flex: 0 0 auto; color: #0176d3; font-weight: 900; font-size: 13px; }

.price-new .deliverables { padding: 44px 40px; background: #fff; }
.price-new .deliverable-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; overflow: hidden; margin-top: 24px; border: 1px solid #e2e8f0; border-radius: 14px; background: #e2e8f0; }
.price-new .deliverable { background: #fff; padding: 22px 20px; transition: background .2s ease; }
.price-new .deliverable:hover { background: #f0f7ff; }
.price-new .deliverable-icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 8px; background: #eaf3ff; color: #0176d3; }
.price-new .deliverable-icon svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.price-new .deliverable h3 { margin: 14px 0 0; font-size: 14.5px; font-weight: 750; letter-spacing: -.02em; color: #172033; }
.price-new .deliverable p { margin: 6px 0 0; color: #5f6877; font-size: 12px; line-height: 1.55; }

.price-new .migration-custom-card { display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; margin-top: 28px; padding: 36px 40px; border-radius: 18px; background: #081d3f; color: #fff; }
.price-new .migration-custom-card .eyebrow { margin: 0; color: #93c5fd; font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.price-new .migration-custom-card h3 { margin: 10px 0 0; font-size: 24px; font-weight: 750; letter-spacing: -.03em; color: #fff; }
.price-new .migration-custom-card p { margin: 12px 0 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.65; max-width: 680px; text-align: left; }
.price-new .migration-custom-action { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; padding-left: 32px; border-left: 1px solid rgba(255,255,255,.14); min-width: 220px; }
.price-new .migration-custom-action strong { display: block; margin-bottom: 16px; font-size: 24px; font-weight: 750; color: #fff; letter-spacing: -.03em; }
.price-new .migration-custom-action .pn-btn-discuss { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 22px; border-radius: 10px; background: #0176d3; color: #fff; font-size: 13.5px; font-weight: 750; text-decoration: none; transition: background .18s ease, transform .18s ease; }
.price-new .migration-custom-action .pn-btn-discuss:hover { background: #075a9c; transform: translateY(-1px); }

@media (max-width: 1080px) {
  .price-new .plans { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
  .price-new .plan.featured { transform: none; }
}
@media (max-width: 980px) {
  .price-new .discovery-box { grid-template-columns: 1fr; }
  .price-new .discovery-list { border-right: 0; border-bottom: 1px solid #dfe4ea; }
  .price-new .migration-custom-card { grid-template-columns: 1fr; gap: 24px; }
  .price-new .migration-custom-action { align-items: flex-start; padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.14); padding-top: 22px; }
}
@media (max-width: 720px) {
  .price-new .plans { grid-template-columns: 1fr; }
  .price-new .promise { min-height: 0; }
  .price-new .discovery-list, .price-new .deliverables { padding: 28px 20px; }
  .price-new .deliverable-grid { grid-template-columns: 1fr; }
  .price-new .migration-custom-card { padding: 28px 20px; }
}


/* Landing panel after a booking (/pricing?welcome=1) */
.price-new .pn-welcome { max-width: 760px; margin: 0 auto 2rem; padding: 22px 26px; border: 1px solid #cbe8d4; border-radius: 12px; background: #ebf7ee; text-align: left; }
.price-new .pn-welcome .big { margin: 0 0 8px; font-size: 1.25rem; font-weight: 800; color: #047857; }
.price-new .pn-welcome p { margin: 0 0 8px; color: #2f3a45; font-size: 15px; line-height: 1.55; }
.price-new .pn-welcome .small { margin: 0; color: #56606c; font-size: 13.5px; }
.price-new .pn-welcome a { color: #0369a1; font-weight: 600; }
