
.service-page { background: var(--paper); }
.service-hero { position: relative; isolation: isolate; min-height: 670px; display:flex; align-items:flex-end; color:#fff; background:#151718; overflow:hidden; padding: 190px var(--gutter) 94px; }
.service-hero::before { content:''; position:absolute; inset:0; z-index:-2; background:url('assets/projects/stilvit-clean.webp') center/cover no-repeat; transform:scale(1.02); }
.service-hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(8,10,11,.9),rgba(8,10,11,.67) 48%,rgba(8,10,11,.25)),linear-gradient(0deg,rgba(8,10,11,.48),transparent 65%); }
.service-hero-inner { max-width: 980px; width:100%; }
.breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 28px; color:#c8cdca; font-size:.8125rem; }
.breadcrumb a:hover { color:var(--copper-light); }
.breadcrumb span[aria-current] { color:var(--copper-light); }
.service-hero .eyebrow { color:var(--copper-light); }
.service-hero h1 { margin:0; font:400 clamp(48px,5.8vw,88px)/1.03 Georgia,'Times New Roman',serif; letter-spacing:-.035em; max-width:960px; }
.service-hero .lead { max-width:760px; margin:28px 0 0; color:#e0e3e1; font-size:1.08rem; line-height:1.8; }
.service-hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:32px; }
.service-hero .button.primary { background:#fff; color:var(--ink); border-color:#fff; }
.service-hero .button.primary:hover { background:var(--copper-light); border-color:var(--copper-light); }
.service-hero .button.ghost { color:#fff; border-color:rgba(255,255,255,.5); }
.service-intro { padding-block:clamp(84px,8vw,126px); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(44px,7vw,100px); }
.service-intro h2, .service-benefits h2, .related-services h2, .faq-section h2 { margin:0; font:400 clamp(42px,4.8vw,72px)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-.032em; }
.service-copy p { margin:0 0 22px; color:#515854; font-size:1.03rem; line-height:1.85; }
.service-benefits { background:var(--ink); color:#fff; padding-block:clamp(84px,8vw,118px); }
.service-benefits .section-pad > p { max-width:720px; color:#bec5c1; line-height:1.8; margin:24px 0 44px; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
.benefit-card { background:var(--ink); padding:36px 30px 40px; min-height:260px; }
.benefit-card b { display:block; color:var(--copper-light); font:400 28px Georgia,serif; margin-bottom:52px; }
.benefit-card h3 { margin:0 0 15px; font-size:1.35rem; font-weight:500; }
.benefit-card p { margin:0; color:#bbc2be; line-height:1.75; font-size:.95rem; }
.service-process { padding-block:clamp(84px,8vw,126px); }
.service-process-head { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; margin-bottom:50px; }
.service-process-head h2 { margin:0; font:400 clamp(42px,4.7vw,72px)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-.032em; }
.service-process-head p { max-width:650px; margin:8px 0 0; color:#59605b; line-height:1.85; }
.service-process-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-process-step { padding:30px 24px 34px 0; min-height:210px; }
.service-process-step + .service-process-step { border-left:1px solid var(--line); padding-left:24px; }
.service-process-step b { color:var(--copper); font:400 26px Georgia,serif; }
.service-process-step h3 { margin:42px 0 10px; font-size:1.1rem; }
.service-process-step p { margin:0; color:var(--muted); line-height:1.7; font-size:.9rem; }
.service-note { padding-block:80px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-note blockquote { margin:0; max-width:1100px; font:400 clamp(30px,3.4vw,52px)/1.25 Georgia,'Times New Roman',serif; letter-spacing:-.02em; }
.service-note blockquote span { color:var(--copper); }
.related-services { padding-block:clamp(84px,8vw,118px); }
.related-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:42px; border-top:1px solid var(--line); }
.related-link { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 0; border-bottom:1px solid var(--line); font-size:1.05rem; }
.related-link:nth-child(odd) { padding-right:28px; }
.related-link:nth-child(even) { padding-left:28px; border-left:1px solid var(--line); }
.related-link b { color:var(--copper); font-size:22px; font-weight:400; transition:transform .4s; }
.related-link:hover b { transform:translate(4px,-4px); }
.faq-section { padding-block:clamp(84px,8vw,118px); background:#ebe8e2; }
.faq-grid { margin-top:44px; border-top:1px solid var(--line); }
.faq-item { display:grid; grid-template-columns:.75fr 1.25fr; gap:50px; padding:28px 0; border-bottom:1px solid var(--line); }
.faq-item h3 { margin:0; font-size:1.05rem; font-weight:600; }
.faq-item p { margin:0; color:#555d57; line-height:1.8; }
.service-page .footer { background:var(--paper); }
@media (max-width:980px) {
  .service-hero { min-height:620px; padding-top:155px; }
  .service-intro, .service-process-head { grid-template-columns:1fr; gap:30px; }
  .benefit-grid { grid-template-columns:1fr; }
  .benefit-card { min-height:auto; }
  .benefit-card b { margin-bottom:24px; }
  .service-process-grid { grid-template-columns:1fr 1fr; }
  .service-process-step:nth-child(3) { border-left:0; border-top:1px solid var(--line); }
  .service-process-step:nth-child(4) { border-top:1px solid var(--line); }
}
@media (max-width:640px) {
  .service-hero { min-height:660px; padding:132px 24px 72px; }
  .service-hero h1 { font-size:clamp(42px,11vw,62px); }
  .service-hero .lead { font-size:1rem; }
  .service-hero-actions { flex-direction:column; }
  .service-process-grid, .related-links, .faq-item { grid-template-columns:1fr; }
  .service-process-step, .service-process-step + .service-process-step { padding:25px 0; border-left:0; border-top:1px solid var(--line); min-height:auto; }
  .service-process-step:first-child { border-top:0; }
  .service-process-step h3 { margin-top:22px; }
  .related-link:nth-child(odd), .related-link:nth-child(even) { padding:22px 0; border-left:0; }
  .faq-item { gap:12px; }
}
