/* Native, overlapping service cards. No scroll interception or animation loop. */
.service-deck {
 display:flex;
 flex-direction:column;
 gap:1.25rem;
 position:relative;
 isolation:isolate;
 border:0;
}
.service-deck > .service-card {
 --card-ink:#edf4fa;
 --card-muted:#c0d0df;
 --card-rule:#b8d6f53d;
 --card-surface:#183047;
 --card-light:#28475f;
 --deck-index:0;
 --rain:var(--card-muted);
 --chrome:var(--card-ink);
 --rule:var(--card-rule);
 position:sticky;
 top:var(--deck-top,calc(108px + var(--deck-index) * 8px));
 z-index:calc(var(--deck-index) + 1);
 flex:none;
 min-width:0;
 margin:0;
 padding:clamp(1.5rem,3.6vw,3.5rem);
 border:1px solid var(--card-rule);
 border-radius:clamp(1.5rem,3vw,2.25rem);
 color:var(--card-ink);
 background:linear-gradient(135deg,var(--card-light),var(--card-surface) 68%);
 box-shadow:0 -4px 20px #020a141c,0 18px 40px #020a1426,inset 0 1px 0 #ffffff24;
 scroll-margin-top:1rem;
 overflow-wrap:anywhere;
}
.service-deck > :nth-child(3n + 2) {
 --card-ink:#132b40;
 --card-muted:#3e566b;
 --card-rule:#49678040;
 --card-surface:#c5dced;
 --card-light:#e2eff8;
}
.service-deck > :nth-child(3n) {
 --card-ink:#202e3b;
 --card-muted:#4d5c6b;
 --card-rule:#53667836;
 --card-surface:#e5ebf0;
 --card-light:#f8fafc;
}
.service-deck > :nth-child(2){--deck-index:1}
.service-deck > :nth-child(3){--deck-index:2}
.service-deck > :nth-child(4){--deck-index:3}
.service-deck > :nth-child(5){--deck-index:4}
.service-deck > :nth-child(6){--deck-index:5}
/* Keep a keyboard-focused link or field visible even underneath another card. */
.service-deck > .service-card:has(:focus-visible){z-index:20}
.service-card :focus-visible{outline:2px solid currentColor;outline-offset:5px}
.service-card__header {
 grid-column:1/-1;
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:1rem;
 padding-bottom:1rem;
 border-bottom:1px solid var(--card-rule);
}
.service-card .service-category {
 margin:0;
 font-size:.6875rem;
 font-weight:500;
 letter-spacing:.12em;
 line-height:1.5;
 text-transform:uppercase;
}
.service-card__index {
 flex:none;
 font-size:.75rem;
 letter-spacing:.06em;
 color:var(--card-muted);
 font-variant-numeric:tabular-nums;
}
.service-deck > .service-row,
.service-deck > .expertise-item,
.service-deck > .advanced-service {
 display:grid;
 grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
 column-gap:clamp(2rem,5vw,5rem);
 row-gap:1.75rem;
 align-content:start;
 min-height:24rem;
}
.service-card .service-copy,.service-card .advanced-copy{grid-column:1;min-width:0}
.service-card h3,.service-card h4 {
 max-width:21ch;
 margin:0;
 font-size:clamp(1.875rem,3.5vw,3.125rem);
 line-height:1.1;
 letter-spacing:-.025em;
 text-wrap:balance;
}
.service-card .service-description,
.service-card .expertise-description,
.service-card .advanced-copy > p {
 font-size:.9375rem;
 line-height:1.65;
 margin-top:1rem;
 max-width:39rem;
 color:var(--card-muted);
}
.service-card .service-features,.service-card .expertise-features {
 display:grid;
 gap:.4rem;
 list-style:none;
 padding:0;
 margin:1.25rem 0 0;
 font-size:.8125rem;
 color:var(--card-muted);
}
.service-card .service-features li,.service-card .expertise-features li {
 position:relative;
 padding-left:1.05rem;
 margin:0;
}
.service-card .service-features li::before,.service-card .expertise-features li::before {
 content:'';
 position:absolute;
 left:0;
 top:.65em;
 width:4px;
 height:4px;
 border-radius:50%;
 background:currentColor;
}
.service-card .service-purchase {
 grid-column:2;
 display:flex;
 padding:0 0 0 clamp(1.5rem,3vw,3rem);
 border-left:1px solid var(--card-rule);
 justify-content:center;
 align-items:flex-start;
}
.service-card .service-price{font-size:clamp(2rem,3vw,3rem)}
.service-card .service-price-note{font-size:.8125rem;line-height:1.5}
.service-card .service-availability{color:var(--card-muted)}
.service-card .service-addon {
 color:var(--card-ink);
 padding-top:1rem;
 border-top:1px solid var(--card-rule);
}
.service-card .service-addon input {
 width:18px;
 height:18px;
 margin-top:3px;
 accent-color:#254f75;
}
.service-card .quiet-link {
 color:var(--card-ink);
 gap:1.5rem;
 justify-content:space-between;
 align-self:start;
 max-width:100%;
 min-height:44px;
 padding-block:.6rem;
 border-color:var(--card-rule);
 font-size:.875rem;
 font-weight:500;
 line-height:1.5;
}
.service-card .quiet-link:hover{color:var(--card-ink);border-color:currentColor}
.service-card .action-icon{width:.875rem;height:.875rem;flex-basis:.875rem}
.service-card .expertise-copy{min-width:0}
.service-card .expertise-features {
 margin:0;
 align-self:center;
 padding:1.25rem 1.5rem;
 border:1px solid var(--card-rule);
 border-radius:1rem;
 background:#ffffff0d;
}
.service-card.expertise-item > .quiet-link{grid-column:1;justify-self:start;margin:0}
.service-card .advanced-action {
 grid-column:2;
 justify-self:stretch;
 align-self:end;
 margin:0;
}
.service-card .advanced-action .quiet-link{width:100%;font-size:.875rem;gap:1rem}
.service-card .advanced-copy details{margin-top:1.1rem}
.service-card .advanced-copy summary {
 min-height:44px;
 color:var(--card-ink);
 font-size:.8125rem;
 line-height:1.5;
 gap:1rem;
}
.service-card .advanced-copy summary > span{font-size:1.2rem;flex:none}
.service-card .advanced-copy ul{font-size:.8125rem;line-height:1.65;margin-top:.5rem}
.services-heading{margin-bottom:3rem}
.service-expansion{margin-top:4.5rem}
.service-expansion-heading{margin-bottom:2rem}
.advanced-heading{margin-bottom:3rem}
@media(max-width:760px){
 .service-deck{gap:1rem}
 .service-deck > .service-row,
 .service-deck > .expertise-item,
 .service-deck > .advanced-service {
  grid-template-columns:minmax(0,1fr);
  min-height:0;
  padding:1.4rem;
  border-radius:1.5rem;
  row-gap:1.25rem;
 }
 .service-card__header{padding-bottom:.9rem}
 .service-card .service-category{font-size:.625rem;letter-spacing:.09em}
 .service-card__index{font-size:.6875rem}
 .service-card h3,.service-card h4{font-size:1.875rem;max-width:23ch}
 .service-card .service-description,
 .service-card .expertise-description,
 .service-card .advanced-copy > p{font-size:.875rem;line-height:1.6;margin-top:.8rem}
 .service-card .service-features{font-size:.75rem;gap:.3rem;margin-top:1rem}
 .service-card .service-purchase {
  grid-column:1;
  border-left:0;
  border-top:1px solid var(--card-rule);
  padding:1.1rem 0 0;
 }
 .service-card .service-price{font-size:1.875rem}
 .service-card .service-purchase .quiet-link{margin-top:.65rem;width:100%;font-size:.8125rem}
 .service-card .service-price-note,.service-card .service-addon small{font-size:.75rem}
 .service-card .service-addon strong{font-size:.8125rem}
 .service-card .service-availability{margin-top:.4rem;font-size:.6875rem}
 .service-card .expertise-features{padding:1rem 1.1rem;font-size:.75rem;gap:.3rem}
 .service-card.expertise-item > .quiet-link{justify-self:stretch;margin-top:0;font-size:.8125rem}
 .service-card .advanced-action{grid-column:1;border-top:1px solid var(--card-rule);padding-top:.2rem}
 .service-card .advanced-action .quiet-link{font-size:.8125rem;border-bottom:0}
 .service-card .advanced-copy summary{font-size:.75rem}
 .service-card .advanced-copy ul{font-size:.75rem}
 .services-heading,.advanced-heading{margin-bottom:2rem}
 .service-expansion{margin-top:3rem}
}
@media(prefers-reduced-motion:reduce){
 .service-deck > .service-card{position:relative;top:auto}
}
@media print{
 .service-deck > .service-card{position:relative;top:auto;box-shadow:none;break-inside:avoid}
}
