/* Only new service pages. The two approved pages never load this stylesheet. */
.service-page--batch .service-hero h1 { letter-spacing:.005em; }
.service-page--batch .service-hero h1 span { display:block; }
.service-page--batch .service-hero__lead { text-wrap:pretty; }
.service-page--batch[data-service="consultation"] .service-hero__picture img { width:100%; margin-left:0; object-position:center 18%; }
.review-wide-break { display:none; }
@media (min-width:1200px) {
  .review-wide-break { display:block; }
  .service-page--batch[data-service="consultation"] .service-hero__picture img { width:100%; margin-left:0; object-position:center; }
  .service-page--batch[data-service="consultation"] .service-hero__picture::after { background:linear-gradient(90deg,rgba(5,8,53,.78),rgba(5,8,53,.62) 45%,rgba(5,8,53,.20) 75%,rgba(5,8,53,.12)); }
}
.service-page--batch .scenario-grid article { padding:32px 28px; }
.service-page--batch .scenario-grid h3 { text-wrap:balance; min-height:48px; }
.service-page--batch .scenario-grid article > p { max-width:none; line-height:1.5; text-wrap:pretty; }
.service-page--batch .includes-grid article { display:flex; flex-direction:column; justify-content:center; min-height:260px; padding:30px; }
.service-page--batch .includes-grid h3 { text-wrap:balance; margin-top:20px; min-height:48px; }
.service-page--batch .includes-grid p { font-size:17px; line-height:1.5; text-wrap:pretty; margin-top:16px; }
.service-page--batch .service-section__intro--split > p { text-wrap:pretty; }
.service-page--batch .service-tariffs { gap:34px; }
.service-page--batch .service-tariffs .calculator-copy { grid-template-columns:minmax(0,1fr) 310px; column-gap:44px; }
.service-page--batch .service-tariffs .calculator-copy h2 { max-width:720px; }
.service-page--batch .service-tariffs .calculator-copy__note { font-size:14px; line-height:1.5; }
.service-page--batch .service-tariffs .service-package-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.service-page--batch .service-tariffs .service-package-grid[data-count="2"],
.service-page--batch .service-tariffs .service-package-grid[data-count="4"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-page--batch .service-tariffs .service-package-grid[data-count="1"] { grid-template-columns:1fr; }
.service-page--batch .service-package-card { padding:28px; }
.service-page--batch .service-package-card > p { min-height:40px; font-size:14px; line-height:1.4; }
.service-page--batch .service-package-card > strong { line-height:1.12; margin:16px 0 8px; font-size:30px; text-transform:uppercase; }
.service-page--batch .service-package-card > .service-package-unit { display:block; margin:0 0 22px; min-height:36px; color:var(--color-muted); font-size:13px; line-height:1.4; }
.service-page--batch .service-package-card .price-custom { font-size:27px; text-wrap:balance; }
.service-page--batch .service-package-grid:has(.price-custom) .service-package-card > strong { min-height:61px; }
@media (min-width:1200px) {
  .service-page--batch .service-package-grid:has(.price-custom) .service-package-card > strong { min-height:auto; }
}
.service-page--batch .service-package-card ul { gap:12px; font-size:15px; line-height:1.45; }
.service-page--batch .service-package-card li { text-wrap:pretty; }
.service-page--batch .service-package-card .button { flex-shrink:0; }
.service-page--batch .service-package-grid[data-count="1"] .service-package-card { display:grid; grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr); gap:0 48px; align-content:start; }
.service-page--batch .service-package-grid[data-count="1"] .service-package-card > p,
.service-page--batch .service-package-grid[data-count="1"] .service-package-card > strong,
.service-page--batch .service-package-grid[data-count="1"] .service-package-card > small,
.service-page--batch .service-package-grid[data-count="1"] .service-package-card > a { grid-column:1; }
.service-page--batch .service-package-grid[data-count="1"] .service-package-card > p { min-height:0; }
.service-page--batch .service-package-grid[data-count="1"] .service-package-card > ul { grid-column:2; grid-row:1 / span 4; margin:0; }
.service-page--batch .service-package-grid[data-count="1"] .service-package-card > a { align-self:end; margin-top:20px; }
.service-page--batch .service-price-table { grid-column:1 / -1; min-width:0; }
.service-page--batch .service-price-table h3 { color:white; margin:6px 0 22px; }
.service-page--batch .service-price-table table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:15px; line-height:1.5; }
.service-page--batch .service-price-table th { padding:12px 14px; text-align:left; color:#f1b49a; font-weight:500; border-bottom:1px solid #ffffff40; }
.service-page--batch .service-price-table td { padding:17px 14px; vertical-align:top; color:#ffffffda; border-bottom:1px solid #ffffff24; text-wrap:pretty; }
.service-page--batch .service-price-table th:nth-child(1) { width:46%; }
.service-page--batch .service-price-table th:nth-child(2) { width:22%; }
.service-page--batch .service-price-table td:nth-child(2) { color:white; font-weight:500; }
.service-page--batch .service-price-catalog { border:1px solid #ffffff40; border-radius:var(--radius-md); padding:0 22px; }
.service-page--batch .service-price-catalog > summary { padding:22px 0; display:flex; justify-content:space-between; gap:24px; list-style:none; cursor:pointer; font-size:17px; line-height:1.5; }
.service-page--batch .service-price-catalog > summary::-webkit-details-marker { display:none; }
.service-page--batch .service-price-catalog > summary span { color:#f1b49a; flex:none; }
.service-page--batch .service-price-catalog > summary span::after { content:" +"; padding-left:12px; }
.service-page--batch .service-price-catalog[open] > summary span::after { content:" −"; }
.service-page--batch .service-price-catalog .service-price-table { padding-bottom:20px; }
.service-page--batch .service-price-catalog .service-price-table h3 { display:none; }
.service-page--batch .service-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.service-page--batch .service-detail-card { min-width:0; border:1px solid var(--color-line); border-radius:var(--radius-md); background:white; overflow:hidden; }
.service-page--batch .service-detail-card > summary { list-style:none; min-height:112px; padding:28px; display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--color-warm-heading); font:20px/1.3 var(--font-display); text-transform:uppercase; cursor:pointer; }
.service-page--batch .service-detail-card > summary::-webkit-details-marker { display:none; }
.service-page--batch .service-detail-card > summary::after { content:"+"; color:var(--color-orange); flex:none; font:30px/1 var(--font-body); }
.service-page--batch .service-detail-card[open] > summary::after { content:"−"; }
.service-page--batch .service-detail-card > div { padding:0 28px 28px; }
.service-page--batch .service-detail-card p { font-size:16px; line-height:1.5; margin:0 0 18px; }
.service-page--batch .service-detail-card .service-detail-supplement { margin-top:24px; font-weight:500; }
.service-page--batch .service-detail-card ul { margin:0; padding:0; list-style:none; display:grid; gap:14px; }
.service-page--batch .service-detail-card li { position:relative; padding-left:19px; font-size:16px; line-height:1.5; text-wrap:pretty; }
.service-page--batch .service-detail-card li::before { content:""; position:absolute; top:.55em; left:0; width:6px; height:6px; background:var(--color-orange); border-radius:2px; }
.service-page--batch .service-outcomes h2 { text-wrap:balance; }
.service-page--batch .service-process__route .process-step h3 { min-height:53px; text-wrap:balance; }
.service-page--batch .service-process__route .process-step > p:last-child { text-wrap:pretty; line-height:1.5; }
.service-page--batch .service-faq .faq-item__answer p { text-wrap:pretty; }
.service-page--batch .service-final h2 { text-wrap:balance; }
.service-page--batch .service-related { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:28px; }
.service-page--batch .service-related a { color:var(--color-orange); font-size:15px; line-height:1.5; text-decoration:none; }
.service-page--batch .service-related a:hover { text-decoration:underline; text-underline-offset:4px; }
.service-page--batch .service-related a span { margin-left:8px; }
.service-page--batch .military-estimate { padding:28px; display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:center; border-radius:var(--radius-md); background:#fff; color:var(--color-ink); }
.service-page--batch .military-estimate label { display:grid; gap:12px; font-size:17px; line-height:1.5; }
.service-page--batch .military-estimate input { width:100%; height:54px; padding:12px; border:1px solid var(--color-line); border-radius:8px; font:20px var(--font-body); color:var(--color-blue); }
.service-page--batch .military-estimate output { display:grid; gap:10px; padding:20px; background:#eef0f8; border-radius:var(--radius-md); }
.service-page--batch .military-estimate output strong { font:34px/1.2 var(--font-display); color:var(--color-blue); }
.service-page--batch .military-estimate small { font-size:13px; line-height:1.5; }
.service-page--batch :is(summary,input,a):focus-visible { outline:2px solid var(--color-orange); outline-offset:4px; }
.fixed-preview .service-page--batch .reveal { opacity:1; transform:none; transition:none; }
/* Individual project price is an explanation, not a tariff or calculator. */
.service-page--batch .service-price-individual { margin-top:var(--section-space); padding:54px 48px; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:64px; align-items:center; color:#fff; border-radius:var(--radius-lg); background:radial-gradient(ellipse at 0% 115%,rgba(230,72,0,.32),transparent 54%),linear-gradient(145deg,#050835,#071248); }
.service-page--batch .service-price-individual .section-kicker { margin:0 0 12px; color:#f1b49a; }
.service-page--batch .service-price-individual h2 { max-width:460px; color:#fff; text-wrap:balance; }
.service-page--batch .service-price-individual__copy > p { margin:0; font-size:18px; line-height:1.5; text-wrap:pretty; }
.service-page--batch .service-price-individual__copy > .service-price-individual__note { margin-top:20px; color:rgba(255,255,255,.74); font-size:15px; line-height:1.5; }
.service-page--batch .service-price-individual .button { margin-top:28px; }
@media (min-width:1200px) {
  .service-page--batch .service-wide-line { display:block; }
}
@media (max-width:959px) {
  .service-page--batch .service-price-individual { grid-template-columns:1fr; gap:28px; padding:36px; }
}
@media (max-width:639px) {
  .service-page--batch .service-price-individual { padding:28px 22px; }
}
@media (max-width:959px) {
  .service-page--batch .service-tariffs .calculator-copy { grid-template-columns:1fr; }
  .service-page--batch .service-tariffs .service-package-grid { grid-template-columns:1fr; }
  .service-page--batch .service-tariffs .calculator-copy__note { grid-column:1; grid-row:auto; margin-top:20px; }
  .service-page--batch .service-package-grid[data-count="1"] .service-package-card { display:flex; }
}
@media (max-width:639px) {
  .service-page--batch .service-detail-grid,
  .service-page--batch .service-tariffs .service-package-grid[data-count],
  .service-page--batch .military-estimate { grid-template-columns:1fr; }
  .service-page--batch .service-detail-card > summary { padding:22px; font-size:18px; }
  .service-page--batch .service-detail-card > div { padding:0 22px 22px; }
  .service-page--batch .service-price-table { overflow:auto; }
  .service-page--batch .service-price-table table { min-width:600px; }
}
