.service-shell{min-height:calc(100vh - 54px);background:var(--background)}
.service-main{width:min(100% - 7rem,1540px);margin:0 auto;padding:clamp(4rem,8vw,8rem) 0}
.service-hero{max-width:1040px}
.service-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(4rem,9vw,9rem);font-weight:400;letter-spacing:-.05em;line-height:.88}
.service-hero>p:not(.eyebrow){max-width:820px;margin:2rem 0 0;color:rgb(27 27 25 / 62%);font-family:var(--font-mono);font-size:.78rem;line-height:1.8;letter-spacing:.03em}
.service-hero>small{display:block;margin-top:1.2rem;color:var(--mesa-red);font-family:var(--font-mono);font-size:.5rem;letter-spacing:.1em;text-transform:uppercase}
.service-document{display:grid;grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);margin-top:clamp(4rem,7vw,7rem);border-top:1px solid var(--mesa-line)}
.service-toc{align-self:start;position:sticky;top:2rem;padding-top:2rem}
.service-toc>p{margin:0 0 1.25rem;color:var(--mesa-red);font-family:var(--font-mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase}
.service-toc nav{border-top:1px solid var(--mesa-line)}
.service-toc a{display:grid;grid-template-columns:30px 1fr;gap:.75rem;padding:.8rem 0;border-bottom:1px solid var(--mesa-line);font-family:var(--font-mono);font-size:.53rem;line-height:1.45;letter-spacing:.04em;text-transform:uppercase}
.service-toc a span{color:var(--mesa-red)}
.service-toc a:hover{padding-left:.5rem;color:var(--mesa-red)}
.service-sections article{scroll-margin-top:2rem;display:grid;grid-template-columns:70px minmax(0,1fr);gap:clamp(1.2rem,3vw,3rem);padding:clamp(2rem,4vw,4rem) 0;border-bottom:1px solid var(--mesa-line)}
.service-sections article>span{padding-top:.45rem;color:var(--mesa-red);font-family:var(--font-display);font-size:1.6rem}
.service-sections h2{max-width:820px;margin:0 0 1.5rem;font-family:var(--font-display);font-size:clamp(2.1rem,4vw,4rem);font-weight:400;letter-spacing:-.035em;line-height:1}
.service-sections p{max-width:850px;margin:0;color:rgb(27 27 25 / 68%);font-size:.86rem;line-height:1.85}
.service-sections p+p{margin-top:1rem}
.service-sections ul{max-width:850px;margin:1.5rem 0 0;padding:0;border-top:1px solid var(--mesa-line);list-style:none}
.service-sections li{position:relative;padding:.85rem 0 .85rem 1.4rem;border-bottom:1px solid var(--mesa-line);color:rgb(27 27 25 / 72%);font-size:.78rem;line-height:1.65}
.service-sections li::before{content:'●';position:absolute;left:0;top:1rem;color:var(--mesa-red);font-size:.45rem}
.service-contact{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);gap:clamp(2rem,6vw,7rem);margin-top:4rem;padding:clamp(2rem,4vw,4rem);border:1px solid var(--mesa-red)}
.service-contact h2{margin:.55rem 0 0;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,4.2rem);font-weight:400;letter-spacing:-.04em;line-height:1}
.service-contact h2 span{color:var(--mesa-red)}
.service-contact>div:last-child{display:grid;align-content:center;justify-items:start;gap:1.5rem}
.service-contact p{margin:0;color:rgb(27 27 25 / 65%);font-size:.82rem;line-height:1.7}
.service-contact .primary-button{display:inline-flex;align-items:center;gap:1.4rem}
.service-back{margin-top:2rem}
@media(max-width:900px){
  .service-main{width:min(100% - 3rem,760px)}
  .service-document{grid-template-columns:1fr}
  .service-toc{position:static}
  .service-contact{grid-template-columns:1fr}
}
@media(max-width:600px){
  .service-main{width:min(100% - 2rem,760px);padding:3rem 0 5rem}
  .service-hero h1{font-size:clamp(3.5rem,20vw,5rem);overflow-wrap:anywhere}
  .service-sections article{grid-template-columns:38px minmax(0,1fr);gap:1rem;padding:2.5rem 0}
  .service-sections article>span{font-size:1.25rem}
  .service-sections h2{font-size:clamp(2rem,10vw,2.8rem);overflow-wrap:anywhere}
  .service-sections p{font-size:.78rem}
  .service-contact{padding:1.5rem}
  .service-contact .primary-button{width:100%;justify-content:space-between}
}
