/* Shared layouts for K&S search landing pages */
.breadcrumbs{display:flex;align-items:center;gap:10px;min-height:48px;border-bottom:1px solid var(--line);color:#737b81;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase}
.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--orange)}
.service-hero{min-height:690px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);background:var(--black);color:#fff;overflow:hidden}
.service-hero-copy{padding:90px clamp(22px,6vw,95px) 100px;background:radial-gradient(circle at 8% 12%,#1b2530 0,transparent 34%),linear-gradient(145deg,#111820,#07090c 72%);position:relative}
.service-hero-copy:after{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff0a 1px,transparent 1px),linear-gradient(90deg,#ffffff0a 1px,transparent 1px);background-size:72px 72px;pointer-events:none}
.service-hero-copy>*{position:relative;z-index:1}
.service-hero h1{font-size:clamp(58px,7.2vw,112px);line-height:.85;letter-spacing:-5px;text-transform:uppercase;margin:45px 0 34px;max-width:1000px}
.service-hero h1 em{font-style:normal;color:var(--orange)}
.service-hero-copy>p:not(.kicker){max-width:700px;color:#b2b9be;font-size:17px;line-height:1.75}
.service-hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}
.service-hero-panel{position:relative;padding:55px clamp(28px,4vw,62px);display:flex;flex-direction:column;justify-content:space-between;background:#f3f3f0;color:var(--ink);overflow:hidden}
.service-hero-panel:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 76px,#1118200a 77px 78px)}
.service-number{position:relative;z-index:1;font-size:14px;font-weight:900;color:var(--orange);letter-spacing:2px}
.rack-lines{height:265px;display:grid;grid-template-columns:14px 1fr 1fr 14px;gap:15px;align-items:end;position:relative;z-index:1;margin:35px 0}
.rack-lines i{display:block;height:230px;background:repeating-linear-gradient(0deg,#252d34 0 30px,#f3f3f0 31px 43px);border-top:12px solid var(--ink);border-bottom:12px solid var(--ink)}
.rack-lines i:first-child,.rack-lines i:last-child{height:260px;background:var(--orange);border:0}
.service-proof{position:relative;z-index:1;border-top:1px solid #cfd3d5}
.service-proof p{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:17px 0;margin:0;border-bottom:1px solid #cfd3d5}
.service-proof strong{text-transform:uppercase;font-size:10px;letter-spacing:1px}
.service-proof span{color:#687078;font-size:11px;line-height:1.45}
.service-intro{padding-top:115px;padding-bottom:115px;display:grid;grid-template-columns:.45fr 1.4fr .65fr;gap:6vw;align-items:start;border-bottom:1px solid var(--line)}
.service-intro h2,.service-section-heading h2,.service-process-heading h2,.faq-heading h2,.related>h2{font-size:clamp(42px,4.4vw,68px);line-height:.96;letter-spacing:-3px;text-transform:uppercase;margin:0 0 30px}
.service-intro>div>p,.service-process-heading>p,.faq-heading>p{color:#636c73;font-size:15px;line-height:1.85;margin:0;max-width:760px}
.service-intro aside{background:var(--ink);color:#fff;padding:28px 25px;border-top:6px solid var(--orange)}
.service-intro aside span,.service-intro aside a{display:block}
.service-intro aside span{color:#8f989f;font-size:8px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:20px}
.service-intro aside a{font-size:12px;line-height:1.5;padding:11px 0;border-top:1px solid #333c45;overflow-wrap:anywhere}
.service-intro aside a:hover,.service-intro aside a:focus-visible{color:var(--orange)}
.service-scope{padding-top:110px;padding-bottom:125px;background:#fff}
.service-section-heading{display:grid;grid-template-columns:.45fr 2.05fr;gap:6vw;margin-bottom:60px}
.service-section-heading h2 span{color:var(--orange)}
.scope-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.scope-card{min-height:280px;padding:28px 25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.scope-card>span{color:var(--orange);font-size:9px;font-weight:900;letter-spacing:1.4px}
.scope-card h3{text-transform:uppercase;font-size:21px;line-height:1.08;letter-spacing:-.6px;margin:auto 0 16px}
.scope-card p{color:#707980;font-size:12px;line-height:1.75;margin:0}
.service-image-band{min-height:620px;position:relative;background:#111820;color:#fff;overflow:hidden}
.service-image-band:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080b0fe8 0,#080b0fa8 42%,#080b0f1f 72%)}
.service-image-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.05)}
.service-image-copy{position:relative;z-index:1;min-height:620px;padding:100px clamp(22px,7vw,110px);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;max-width:850px}
.service-image-copy>span{color:var(--orange);font-size:9px;font-weight:900;letter-spacing:2px;text-transform:uppercase}
.service-image-copy h2{font-size:clamp(43px,5vw,76px);line-height:.95;letter-spacing:-3px;text-transform:uppercase;margin:25px 0 35px}
.service-image-copy a{border-bottom:1px solid #80878c;padding:0 0 12px;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:1.2px}
.service-image-copy a b{color:var(--orange);font-size:16px;margin-left:35px}
.service-process{padding-top:120px;padding-bottom:120px;display:grid;grid-template-columns:1fr 1.2fr;gap:9vw}
.service-process-heading h2,.faq-heading h2{margin:28px 0}
.service-steps article{display:grid;grid-template-columns:55px 1fr;gap:25px;padding:29px 0;border-top:1px solid var(--line)}
.service-steps article:last-child{border-bottom:1px solid var(--line)}
.service-steps article>span{color:var(--orange);font-size:9px;font-weight:900}
.service-steps h3{text-transform:uppercase;font-size:20px;margin:0 0 8px}
.service-steps p{color:#697178;font-size:12px;line-height:1.7;margin:0}
.faq{padding-top:115px;padding-bottom:120px;background:var(--off);display:grid;grid-template-columns:.85fr 1.35fr;gap:9vw}
.faq-list{border-top:1px solid #cfd3d5}
.faq-list details{border-bottom:1px solid #cfd3d5}
.faq-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:25px;padding:24px 0;text-transform:uppercase;font-size:13px;font-weight:900;line-height:1.4}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary span{color:var(--orange);font-size:22px;line-height:.7;transition:transform .2s}
.faq-list details[open] summary span{transform:rotate(45deg)}
.faq-list details p{color:#626b72;font-size:13px;line-height:1.8;margin:0;padding:0 50px 25px 0}
.related{padding-top:110px;padding-bottom:120px}
.related>h2{max-width:820px;margin:28px 0 55px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.related-grid a{min-height:180px;padding:25px;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:.2s}
.related-grid a:hover,.related-grid a:focus-visible{background:var(--ink);color:#fff;transform:translateY(-4px)}
.related-grid span{align-self:start;color:var(--orange);font-size:9px;font-weight:900}
.related-grid strong{text-transform:uppercase;font-size:17px;line-height:1.15}
.related-grid b{color:var(--orange);font-size:18px}
.page-cta{padding:105px clamp(22px,6vw,95px);display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end;background:var(--orange);color:#fff}
.page-cta h2{font-size:clamp(55px,7vw,105px);line-height:.83;letter-spacing:-5px;text-transform:uppercase;margin:30px 0 0}
.page-cta h2 em{font-style:normal;color:var(--ink)}
.page-cta>div:last-child>p{color:#ffe4dc;font-size:14px;line-height:1.8;max-width:590px}

@media(max-width:1050px){
  .service-hero{grid-template-columns:1fr}.service-hero-panel{min-height:500px}.rack-lines{max-width:520px;width:80%;align-self:center}
  .service-intro{grid-template-columns:1fr 2fr}.service-intro aside{grid-column:2}
  .scope-grid{grid-template-columns:1fr 1fr}.service-section-heading{grid-template-columns:1fr 2fr}
  .service-process,.faq{grid-template-columns:1fr}.related-grid{grid-template-columns:1fr 1fr}.page-cta{grid-template-columns:1fr}
}
@media(max-width:650px){
  .breadcrumbs{min-height:44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}
  .service-hero-copy{padding-top:72px;padding-bottom:80px}.service-hero h1{font-size:clamp(48px,14vw,68px);letter-spacing:-3px}.service-hero-copy>p:not(.kicker){font-size:15px}
  .service-hero-actions{align-items:stretch;flex-direction:column;gap:12px}.service-hero-panel{min-height:440px;padding:35px 24px}.rack-lines{height:190px;margin:25px auto}.rack-lines i{height:160px}.rack-lines i:first-child,.rack-lines i:last-child{height:185px}
  .service-intro{grid-template-columns:1fr;padding-top:78px;padding-bottom:78px}.service-intro aside{grid-column:1}.service-intro h2,.service-section-heading h2,.service-process-heading h2,.faq-heading h2,.related>h2{font-size:42px;letter-spacing:-2.5px}
  .service-section-heading{grid-template-columns:1fr}.scope-grid{grid-template-columns:1fr}.scope-card{min-height:240px}
  .service-scope,.service-process,.faq,.related{padding-top:78px;padding-bottom:82px}
  .service-image-band,.service-image-copy{min-height:520px}.service-image-copy{padding-top:70px;padding-bottom:70px}.service-image-copy h2{font-size:42px;letter-spacing:-2.5px}
  .related-grid{grid-template-columns:1fr}.related-grid a{min-height:145px}.page-cta{padding-top:82px;padding-bottom:85px}.page-cta h2{font-size:55px;letter-spacing:-3.5px}
}
