#services .practice-deck {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%;
  margin:32px auto 0;
}
.practice-card { position:relative; isolation:isolate; padding:20px; color:#341931; }
.practice-card::before {
  content:""; position:absolute; inset:0; z-index:-1; border-radius:10px;
  background:#e4ded4; transform:scale(.985,.96);
  transition:transform .45s ease,background-color .35s ease;
}
.practice-card:has([aria-expanded=true])::before { transform:scale(1); background:#f4f1ec; }
.practice-card button {
  display:grid; gap:16px; align-content:start; width:100%; min-height:124px;
  background:none; border:0; padding:0; color:inherit; text-align:left; cursor:pointer;
}
.practice-card button:focus-visible { outline:2px solid #9d2053; outline-offset:4px; }
.practice-num { font:700 clamp(48px,4.2vw,68px)/.95 'Barlow Condensed',sans-serif; color:#341931; }
.practice-title { font:600 clamp(20px,1.75vw,28px)/1.06 'Barlow Condensed',sans-serif; }
.practice-panel { opacity:1; transform:none; transition:opacity .32s ease,transform .38s ease; }
.practice-panel[inert] { opacity:0; transform:translateY(6px); pointer-events:none; }
.practice-content { padding-top:14px; }
#services .practice-content p { margin:0 0 12px; color:#341931; font:400 15px/1.42 Barlow,sans-serif; }
#services .practice-content .text-link { color:#9d2053; font-size:14px; }
@media(max-width:950px){#services .practice-deck{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:540px){
  #services .practice-deck{grid-template-columns:1fr;}
  .practice-card button{display:flex;align-items:center;min-height:38px;}
  .practice-num{font-size:36px;}
  .practice-panel{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s ease,opacity .3s ease;}
  .practice-panel[inert]{grid-template-rows:0fr;}
  .practice-content{min-height:0;overflow:hidden;padding:0;}
  #services .practice-content p{padding-top:12px;}
}
@media(prefers-reduced-motion:reduce){.practice-card::before,.practice-panel{transition:none;}}
/* The row reserves its full height while the active card expands within it. */
@media (min-width:951px) {
  #services .practice-deck {
    display:flex;
    height:20rem;
    align-items:center;
  }
  .practice-card {
    box-sizing:border-box;
    min-width:0;
    flex:1 1 0%;
    height:72%;
    transition:flex-grow .52s cubic-bezier(.22,.68,.22,1),height .52s cubic-bezier(.22,.68,.22,1);
  }
  .practice-card:has(button[aria-expanded=true]) {
    flex-grow:1.85;
    height:100%;
  }
  .practice-card .practice-panel {
    position:absolute;
    inset:148px 20px 12px;
    overflow:auto;
  }
  .practice-card .practice-panel[inert] { visibility:hidden; }
}
@media(prefers-reduced-motion:reduce){.practice-card{transition:none;}}
#services .section-intro, #services .section-intro > div, #services .section-intro p, #services .section-intro h2 {width:100%;max-width:none}
#services .section-intro {display:block;margin-bottom:0}
#services .section-intro h2 {font-size:clamp(32px,3.3vw,48px);margin-bottom:12px}
#services .section-intro > div > p {font-size:16px;line-height:1.4;margin-bottom:10px}
@media(min-width:951px){
  main > section.services, main > section.work, main > section.ai-section, main > section.faq {box-sizing:border-box;min-height:100svh;padding-top:94px;padding-bottom:22px}
  #services .practice-deck {height:clamp(220px,36svh,255px);margin-top:18px}
  .practice-card {height:67%;padding:16px;transition:flex-grow .55s cubic-bezier(.22,.68,.22,1),height .55s cubic-bezier(.22,.68,.22,1)}
  .practice-card:has(button[aria-expanded=true]) {flex-grow:3.35;height:100%}
  .practice-card button {min-height:0;gap:10px}
  .practice-num {font-size:clamp(43px,3.8vw,56px)}
  .practice-title {font-size:clamp(18px,1.6vw,25px);overflow-wrap:anywhere}
  .practice-card .practice-panel {inset:96px 16px 10px}
  #services .practice-content p {font-size:14px;line-height:1.35;margin-bottom:7px}
  .work .project-image {height:clamp(125px,23svh,215px);min-height:0;margin-bottom:10px}
  .work .case-gallery {margin-top:16px;padding-bottom:0}
  .work .gallery-controls {margin-top:12px}
  .work .project-client {margin-block:8px}
  main > section.about-band, main > section.testimonial {min-height:0;padding-block:98px 30px}
  .about-band .section-intro {margin-bottom:15px}
  .about-band .stats {gap:14px 24px;padding:14px 0;margin:12px 0}
  .about-band .stats strong {font-size:clamp(40px,4.7vw,68px)}
  .testimonial .quote-stage {min-height:0;margin:18px 0 12px}
  .testimonial .rotating-quote blockquote {margin-bottom:15px}
  .ask-ai h2,.faq h2 {font-size:clamp(36px,3.5vw,51px);margin-bottom:12px}
  .ask-ai .ai-question {margin:12px 0;padding:12px 18px}
  .ask-ai .ai-note {margin:8px 0 12px}
  .ask-ai .audit-cta {padding-top:12px}
  .ask-ai .assistant-links a {padding:8px 15px}
  .faq .faq-list details {padding-block:12px}
}
@media(prefers-reduced-motion:reduce){.practice-card{transition:none}}
