/* Graphic Steel service archive. The shared shell and type roles live elsewhere. */
.sa-page{--sa-red:#c91c15;--sa-ink:#172027;--sa-dark:#0a1318;--sa-silver:#f1f4f6;--sa-rule:#c5ced3;--sa-section-space:64px;--sa-compact-space:48px;background:#fff;color:var(--sa-ink)}
.sa-page .sa-wrap{width:100%;max-width:none;margin-inline:auto;padding-inline:var(--gs-gutter)}
.sa-page h1,.sa-page h2,.sa-page h3,.sa-page h4{letter-spacing:-.015em}
.sa-page h2{font-size:var(--gs-type-section-title-size)}
.sa-hero{position:relative;z-index:1;isolation:isolate;display:block;background:var(--sa-red);color:#fff}
.sa-hero-image{position:absolute;z-index:-2;inset:0 0 0 auto;width:64%;height:100%!important;max-width:none!important;object-fit:cover;object-position:55% center;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%);mask-image:linear-gradient(90deg,transparent 0%,#000 30%)}
.sa-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#c91c15 0%,rgba(201,28,21,.96) 33%,rgba(201,28,21,.69) 57%,rgba(201,28,21,.08) 85%)}
.sa-hero-inner{padding-block:50px 58px}
.sa-hero-copy{max-width:720px;width:60%}
.sa-hero h1{max-width:14ch;margin:0 0 24px;color:#fff;font:400 clamp(54px,6.2vw,92px)/1.02 var(--gs-font-display);text-transform:uppercase}
.sa-hero p{max-width:56ch;margin:0 0 29px;color:#fff;font-size:clamp(17px,1.35vw,21px);line-height:1.48}
.sa-hero .gs-button--white{color:var(--sa-red)}
.sa-hero .gs-button--outline{border-color:#fff}
.sa-hero :focus-visible,.sa-closing :focus-visible{outline-color:#fff}
.sa-directory{padding-block:var(--sa-section-space);scroll-margin-top:20px}
.sa-directory h2{max-width:1400px;margin:0 0 42px}
.sa-service-group+.sa-service-group{margin-top:52px}
.sa-service-group h3{margin:0 0 18px;color:var(--sa-red);font:400 clamp(29px,2.5vw,40px)/1.06 var(--gs-font-display);text-transform:uppercase}
.sa-service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.sa-service-card{display:flex;min-width:0;grid-column:span 2;flex-direction:column;background:var(--sa-silver)}
.sa-service-group--1 .sa-service-card:nth-child(n+4){grid-column:span 3}
.sa-service-image{height:230px;overflow:hidden;background:#dfe5e8}
.sa-service-image img{display:block;width:100%;height:100%!important;object-fit:cover;transition:transform .2s ease}
.sa-service-card:hover .sa-service-image img{transform:scale(1.025)}
.sa-service-copy{display:flex;flex:1;flex-direction:column;padding:22px 24px 24px}
.sa-service-copy h4{margin:0 0 12px;font:400 var(--gs-type-category-card-title-size)/1.06 var(--gs-font-display);text-transform:uppercase;color:var(--sa-ink)}
.sa-service-copy p{margin:0 0 22px;font:400 clamp(16px,1.2vw,19px)/1.44 var(--gs-font-body);color:var(--sa-ink)}
.sa-service-copy .gs-link{align-self:flex-start;gap:7px;min-height:44px;margin-top:auto;padding:3px 0;font:700 16px/1.3 var(--gs-font-body)}
.sa-service-group--3 .sa-service-card{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,38%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:320px}
.sa-service-group--3 .sa-service-image{height:100%;min-height:0}
.sa-service-group--3 .sa-service-image img{object-position:center 46%}
.sa-service-group--3 .sa-service-copy{justify-content:center;padding:36px clamp(28px,4vw,64px)}
.sa-service-group--3 .sa-service-copy .gs-link{margin-top:0}
.sa-products{background:var(--sa-silver);padding-block:var(--sa-compact-space)}
.sa-products-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px}
.sa-products h2{margin:0}
.sa-products .gs-button{white-space:nowrap;text-decoration:none}
.sa-closing{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:530px;background:var(--sa-red);color:#fff}
.sa-closing-image{position:absolute;z-index:-2;inset:0;width:100%;height:100%!important;max-width:none!important;object-fit:cover;object-position:center}
.sa-closing::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(201,28,21,.957) 0%,rgba(201,28,21,.89) 35%,rgba(201,28,21,.612) 53%,rgba(201,28,21,0) 78%)}
.sa-closing-inner{padding-block:64px}
.sa-closing h2{max-width:13ch;margin:0;color:#fff;font-size:clamp(50px,5.8vw,88px);line-height:1.02}
.sa-closing p{max-width:46ch;margin:22px 0 28px;color:#fff;font-size:clamp(17px,1.45vw,23px);line-height:1.42}
.sa-closing .gs-button--outline{border-color:#fff}
@media(max-width:1100px){
  .sa-hero-copy{width:68%}
  .sa-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sa-service-grid .sa-service-card{grid-column:auto}
  .sa-service-group--1 .sa-service-card:nth-child(n+4){grid-column:auto}
  .sa-service-group--3 .sa-service-card{grid-column:1/-1}
  .sa-service-group--3 .sa-service-card{grid-template-columns:minmax(0,40%) minmax(0,1fr)}
}
@media(min-width:761px) and (max-width:980px){
  .sa-hero::before{background:linear-gradient(90deg,#c91c15 0%,rgba(201,28,21,.96) 58%,rgba(201,28,21,.5) 100%)}
}
@media(max-width:760px){
  .sa-page{--sa-section-space:40px;--sa-compact-space:40px}
  .sa-hero{min-height:650px}
  .sa-hero-image{inset:auto 0 0;width:100%;height:75%!important;object-position:55% center;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 28%);mask-image:linear-gradient(180deg,transparent 0%,#000 28%)}
  .sa-hero::before{background:linear-gradient(180deg,#c91c15 0%,rgba(201,28,21,.97) 64%,rgba(201,28,21,.46) 100%)}
  .sa-hero-inner{padding-block:45px 72px}
  .sa-hero-copy{width:100%;max-width:650px}
  .sa-hero h1{font-size:clamp(50px,10.5vw,72px)}
  .sa-hero p{max-width:48ch;font-size:17px}
  .sa-directory h2{margin-bottom:30px}
  .sa-service-group+.sa-service-group{margin-top:38px}
  .sa-service-grid{gap:14px}
  .sa-service-image{height:190px}
  .sa-service-copy{padding:18px}
  .sa-service-copy h4{font-size:var(--gs-type-category-card-title-size)}
  .sa-service-copy p{font-size:16px}
  .sa-products-inner{grid-template-columns:1fr;justify-items:start;gap:20px}
  .sa-closing{min-height:730px;align-items:flex-start}
  .sa-closing-image{inset:auto 0 0;height:55%!important;object-position:72% center}
  .sa-closing::before{background:linear-gradient(180deg,rgba(201,28,21,1) 0%,rgba(201,28,21,1) 44%,rgba(201,28,21,.878) 58%,rgba(201,28,21,0) 78%)}
  .sa-closing-inner{padding-block:47px 340px}
  .sa-closing h2{max-width:14ch;font-size:clamp(48px,10vw,72px)}
  .sa-closing p{font-size:17px}
}
@media(max-width:640px){
  .sa-service-grid{grid-template-columns:1fr}
  .sa-service-grid .sa-service-card,.sa-service-group--3 .sa-service-card{grid-column:1}
  .sa-service-group--1 .sa-service-card:nth-child(n+4){grid-column:1}
  .sa-service-image{height:220px}
  .sa-service-group--3 .sa-service-card{display:flex;grid-template-columns:none;height:auto}
  .sa-service-group--3 .sa-service-image{height:220px}
  .sa-service-group--3 .sa-service-copy{padding:18px;justify-content:start}
  .sa-closing{min-height:760px}
  .sa-closing-inner{padding-bottom:330px}
}
@media(max-width:400px){
  .sa-hero{min-height:720px}
  .sa-hero h1{font-size:clamp(43px,11vw,50px)}
  .sa-hero .gs-actions,.sa-closing .gs-actions{gap:10px}
  .sa-hero .gs-button,.sa-closing .gs-button{min-height:48px;padding:11px 13px}
  .sa-closing h2{font-size:43px}
}
@media(prefers-reduced-motion:reduce){.sa-service-image img{transition:none}}
@media print{
  .sa-hero,.sa-closing{min-height:0;background:#fff;color:var(--sa-ink)}
  .sa-hero-image,.sa-closing-image,.sa-hero::before,.sa-closing::before{display:none}
  .sa-hero h1,.sa-hero p,.sa-closing h2,.sa-closing p{color:var(--sa-ink)}
  .sa-service-card{break-inside:avoid}
}
