.ss-services-root{
  --navy-950: #090c13;
  --navy-900: #0d111a;
  --navy-850: #111620;
  --navy-800: #151b28;
  --navy-700: #20283a;
  --navy-600: #303a53;
  --gold: #c7a25f;
  --gold-light: #e2c483;
  --cream: #f3eee3;
  --ink: #f6f4ef;
  --muted: #aeb5c5;
  --soft: #cbd0db;
  --red: #a92d31;
  --green: #76ba98;
  --line: rgba(199, 162, 95, .2);
  --white-line: rgba(255, 255, 255, .075);
  --max: 1200px;
}

.ss-services-root *{ box-sizing: border-box; }
.ss-services-root{ scroll-behavior: smooth; }
.ss-services-root{
  margin: 0;
  background: var(--navy-850);
  color: var(--ink);
  font-family: Inter, Arial, sans-serif;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.ss-services-root [id]{ scroll-margin-top: calc(var(--ss-global-header-height, 0px) + 24px); }
.ss-services-root .scroll-progress{ position: fixed; top: 0; left: 0; z-index: 100; width: 100%; height: 2px; pointer-events: none; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--gold), var(--gold-light)); box-shadow: 0 0 14px rgba(226,196,131,.55); }
.ss-services-root.light-accent{ --gold: #b68b48; --gold-light: #d8b877; }
.ss-services-root img{ display: block; max-width: 100%; }
.ss-services-root a{ color: inherit; text-decoration: none; }
.ss-services-root p{ margin: 0 0 1rem; }
.ss-services-root h1, .ss-services-root h2, .ss-services-root h3, .ss-services-root h4{
  margin: 0;
  font-family: Sora, Inter, sans-serif;
  line-height: 1.16;
  letter-spacing: -.025em;
}
.ss-services-root button{ font: inherit; }
.ss-services-root .wrap{ width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
.ss-services-root .skip{ position: absolute; left: -9999px; }
.ss-services-root .skip:focus{ left: 16px; top: 16px; z-index: 999; background: white; color: #111; padding: 10px 14px; }

.ss-services-root .site-header{
  position: sticky;
  top: 0;
  z-index: 50;
  height: 76px;
  background: rgba(9, 12, 19, .94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.ss-services-root .header-inner{ height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.ss-services-root .brand{ display: flex; align-items: center; gap: 12px; font-family: Sora, sans-serif; font-weight: 800; font-size: 1.22rem; letter-spacing: -.05em; }
.ss-services-root .brand-mark{ width: 34px; height: 34px; border: 1px solid var(--gold); transform: rotate(45deg); position: relative; }
.ss-services-root .brand-mark:before, .ss-services-root .brand-mark:after{ content: ""; position: absolute; background: var(--gold-light); border-radius: 50%; width: 5px; height: 5px; }
.ss-services-root .brand-mark:before{ left: 5px; top: 5px; }
.ss-services-root .brand-mark:after{ right: 5px; bottom: 5px; }
.ss-services-root .brand span{ color: var(--gold-light); }
.ss-services-root .main-nav{ display: flex; align-items: center; gap: 25px; color: #c8cdd8; font-size: .8rem; }
.ss-services-root .main-nav a:hover, .ss-services-root .main-nav a.active{ color: white; }
.ss-services-root .header-cta{ padding: 11px 18px; border: 1px solid var(--gold); color: var(--gold-light); font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.ss-services-root .menu-toggle{ display: none; width: 44px; height: 44px; border: 1px solid var(--line); color: white; background: transparent; }

.ss-services-root .hero{
  position: relative;
  overflow: hidden;
  padding: 68px 0 76px;
  background:
    radial-gradient(ellipse 820px 480px at 90% 0, rgba(199, 162, 95, .11), transparent 65%),
    var(--navy-850);
}
.ss-services-root .hero-photo{ background: var(--navy-850); }
.ss-services-root .hero-photo:after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(9,12,19,.97) 0%, rgba(9,12,19,.88) 43%, rgba(9,12,19,.62) 100%),
    linear-gradient(180deg, rgba(9,12,19,.34), rgba(17,22,32,.94)),
    var(--hero-image) center / cover no-repeat;
  filter: saturate(.8) contrast(1.05);
  transform: scale(1.025);
  transition: transform 7s cubic-bezier(.2,.72,.22,1);
}
.ss-services-root.page-ready .hero-photo:after{ transform: scale(1); }
.ss-services-root .subpage-hero{
  min-height: 390px;
  display: flex;
  align-items: center;
  padding: calc(74px + var(--ss-global-header-height, 0px)) 0 82px;
  border-bottom: 1px solid rgba(199,162,95,.32);
}
.ss-services-root .subpage-hero:after{
  background:
    linear-gradient(90deg, rgba(8,11,17,.94) 0%, rgba(8,11,17,.76) 50%, rgba(8,11,17,.5) 100%),
    linear-gradient(180deg, rgba(9,12,19,.12), rgba(9,12,19,.82)),
    var(--hero-image) center / cover no-repeat;
  filter: saturate(.92) contrast(1.08);
}
.ss-services-root .subpage-hero .hero-grid{ display: block; }
.ss-services-root .subpage-hero .hero-grid > div{ position: relative; max-width: 880px; padding-left: 34px; }
.ss-services-root .subpage-hero .hero-grid > div:before{ content: ""; position: absolute; left: 0; top: 4px; bottom: 3px; width: 3px; background: linear-gradient(var(--gold-light), var(--gold)); box-shadow: 0 0 24px rgba(199,162,95,.35); }
.ss-services-root .subpage-hero .breadcrumbs{ margin-bottom: 28px; }
.ss-services-root .subpage-hero h1{ max-width: 820px; font-size: clamp(2.25rem, 4.2vw, 3.7rem); text-shadow: 0 4px 30px rgba(0,0,0,.45); }
.ss-services-root .subpage-hero .lead, .ss-services-root .subpage-hero .hero-points, .ss-services-root .subpage-hero .actions, .ss-services-root .subpage-hero .hero-media{ display: none; }
.ss-services-root .hero:before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(rgba(199, 162, 95, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(199, 162, 95, .035) 1px, transparent 1px);
  background-size: 62px 62px;
  mask-image: linear-gradient(90deg, black, transparent 84%);
}
.ss-services-root .hero-grid{ position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .93fr) minmax(480px, 1.07fr); gap: 58px; align-items: center; }
.ss-services-root .breadcrumbs{ margin-bottom: 22px; color: #929aaa; font-size: .74rem; }
.ss-services-root .breadcrumbs a{ color: var(--gold-light); }
.ss-services-root .eyebrow{ display: flex; align-items: center; gap: 10px; color: var(--gold-light); font-weight: 800; font-size: .71rem; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 16px; }
.ss-services-root .eyebrow:before{ content: ""; width: 25px; height: 1px; background: var(--gold); }
.ss-services-root h1{ font-size: clamp(2.25rem, 4.1vw, 4rem); max-width: 720px; }
.ss-services-root h1 em{ color: var(--gold-light); font-style: normal; }
.ss-services-root .lead{ margin: 24px 0 30px; max-width: 690px; color: #c1c7d3; font-size: 1.04rem; }
.ss-services-root .hero-points{ display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 30px; }
.ss-services-root .hero-point{ padding: 8px 12px; border: 1px solid var(--white-line); background: rgba(255,255,255,.025); color: #d1d5de; font-size: .75rem; }
.ss-services-root .actions{ display: flex; flex-wrap: wrap; gap: 12px; }
.ss-services-root .btn{ display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 13px 22px; border: 1px solid transparent; font-size: .73rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; transition: .2s ease; position: relative; overflow: hidden; }
.ss-services-root .btn:after{ content: ""; position: absolute; inset: 0; transform: translateX(-120%); background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.28) 50%, transparent 65%); transition: transform .55s ease; }
.ss-services-root .btn:hover:after{ transform: translateX(120%); }
.ss-services-root .btn:hover{ transform: translateY(-2px); }
.ss-services-root .btn.primary{ background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: #11151d; }
.ss-services-root .btn.secondary{ border-color: var(--navy-600); color: white; }
.ss-services-root .btn.secondary:hover{ border-color: var(--gold); }
.ss-services-root .hero-media{ position: relative; height: 470px; margin: 0; border: 1px solid var(--line); overflow: hidden; background: var(--navy-900); box-shadow: 0 35px 80px -35px #000; }
.ss-services-root .hero-media:before{ content: ""; position: absolute; inset: -40% -70%; z-index: 2; pointer-events: none; opacity: 0; transform: translateX(-35%) rotate(14deg); background: linear-gradient(90deg, transparent 42%, rgba(255,255,255,.11) 50%, transparent 58%); }
.ss-services-root.page-ready .hero-media:before{ animation: mediaSweep 1.2s .55s ease-out both; }
.ss-services-root .hero-media:after{ content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(8,10,16,.45)); pointer-events: none; }
.ss-services-root .hero-media img{ width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.05); }
.ss-services-root .hero-media img.focus-right{ object-position: 72% center; }
.ss-services-root .hero-media.clean figcaption, .ss-services-root .hero-media.clean .hero-stats{ display: none; }
.ss-services-root .hero-media figcaption{ position: absolute; left: 22px; right: 22px; bottom: 18px; z-index: 2; display: flex; justify-content: space-between; gap: 20px; color: #f4efe4; font-size: .73rem; }
.ss-services-root .hero-media figcaption span:last-child{ color: var(--gold-light); }
.ss-services-root .hero-stats{ position: absolute; left: -28px; bottom: 34px; z-index: 3; display: grid; grid-template-columns: repeat(2, 1fr); background: var(--navy-900); border: 1px solid var(--line); box-shadow: 0 20px 45px -24px #000; }
.ss-services-root .hero-stat{ padding: 15px 18px; border-right: 1px solid var(--line); min-width: 122px; }
.ss-services-root .hero-stat:last-child{ border: 0; }
.ss-services-root .hero-stat b{ display: block; color: var(--gold-light); font: 700 1rem Sora, sans-serif; }
.ss-services-root .hero-stat small{ color: var(--muted); font-size: .65rem; }

.ss-services-root .intro-section{ position: relative; padding: 76px 0 84px; background: linear-gradient(115deg, var(--navy-850) 0%, #171d2a 100%); overflow: hidden; }
.ss-services-root .intro-section:before{ content: ""; position: absolute; width: 520px; height: 520px; right: -210px; top: -250px; border-radius: 50%; background: radial-gradient(circle, rgba(199,162,95,.13), transparent 68%); pointer-events: none; }
.ss-services-root .intro-layout{ position: relative; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(430px, .96fr); gap: 64px; align-items: center; }
.ss-services-root .intro-copy h2{ max-width: 720px; margin-bottom: 20px; }
.ss-services-root .intro-copy > p:not(.eyebrow){ max-width: 710px; color: var(--muted); }
.ss-services-root .intro-features{ display: grid; grid-template-columns: 1fr 1fr; gap: 11px; margin: 27px 0 30px; }
.ss-services-root .intro-feature{ min-height: 76px; display: grid; grid-template-columns: 50px 1fr; align-items: center; gap: 14px; padding: 12px 15px 12px 12px; border: 1px solid var(--white-line); background: rgba(8,11,17,.38); transition: border-color .25s ease, transform .25s ease, background .25s ease; }
.ss-services-root .intro-feature:hover{ transform: translateY(-3px); border-color: var(--line); background: rgba(199,162,95,.045); }
.ss-services-root .gold-icon{ width: 48px; height: 48px; display: grid; place-items: center; background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: #121722; box-shadow: 0 13px 26px -17px rgba(226,196,131,.9); font: 800 .75rem Sora, sans-serif; letter-spacing: -.03em; }
.ss-services-root .gold-icon svg{ display: none; }
.ss-services-root .gold-icon, .ss-services-root .card-mark{ font-size: 0; }
.ss-services-root .gold-icon:before, .ss-services-root .card-mark:before{ content: ""; width: 25px; height: 25px; background: #11151d; -webkit-mask: var(--gold-icon) center / contain no-repeat; mask: var(--gold-icon) center / contain no-repeat; }
.ss-services-root .intro-feature:nth-child(4n+1) .gold-icon, .ss-services-root .cards > .card:nth-child(6n+1) .card-mark{ --gold-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 7h8M8 11h8M8 15h5'/%3E%3C/svg%3E"); }
.ss-services-root .intro-feature:nth-child(4n+2) .gold-icon, .ss-services-root .cards > .card:nth-child(6n+2) .card-mark{ --gold-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V9m5 10V5m5 14v-7m5 7V3M2 21h20'/%3E%3C/svg%3E"); }
.ss-services-root .intro-feature:nth-child(4n+3) .gold-icon, .ss-services-root .cards > .card:nth-child(6n+3) .card-mark{ --gold-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Ccircle cx='19' cy='18' r='2'/%3E%3Cpath d='M7 12h5m0 0 5-5m-5 5 5 5'/%3E%3C/svg%3E"); }
.ss-services-root .intro-feature:nth-child(4n+4) .gold-icon, .ss-services-root .cards > .card:nth-child(6n+4) .card-mark{ --gold-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5-5L7.5 3.5l3 3L8 9 5 6 2.8 8.2a4 4 0 0 0 5 5L16 21l5-5-7.7-7.7a4 4 0 0 0 1.4-2z'/%3E%3C/svg%3E"); }
.ss-services-root .cards > .card:nth-child(6n+5) .card-mark{ --gold-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.ss-services-root .cards > .card:nth-child(6n+6) .card-mark{ --gold-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6'/%3E%3C/svg%3E"); }
.ss-services-root .intro-feature strong{ display: block; color: #f3f0e9; font: 700 .78rem Sora, sans-serif; }
.ss-services-root .intro-feature small{ display: block; margin-top: 3px; color: #969eae; font-size: .67rem; line-height: 1.35; }
.ss-services-root .intro-visual{ position: relative; min-height: 500px; margin: 0 15px 15px 0; }
.ss-services-root .intro-visual:before{ content: ""; position: absolute; inset: 28px -15px -15px 30px; border: 2px solid var(--gold); opacity: .72; }
.ss-services-root .intro-visual:after{ content: ""; position: absolute; left: -18px; top: 34px; width: 78px; height: 78px; background: linear-gradient(135deg, var(--gold-light), var(--gold)); clip-path: polygon(0 0,100% 0,0 100%); }
.ss-services-root .intro-visual img{ position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; filter: saturate(.9) contrast(1.04); box-shadow: 0 28px 65px -38px #000; }
.ss-services-root .intro-visual.focus-right img{ object-position: 72% center; }
.ss-services-root .intro-caption{ position: absolute; z-index: 2; left: 22px; bottom: 20px; margin: 0; padding: 9px 12px; background: rgba(8,11,17,.85); border-left: 2px solid var(--gold); color: #d8dbe3; font-size: .68rem; backdrop-filter: blur(8px); }
.ss-services-root .image-shine{ position: absolute; z-index: 3; top: -38%; left: -72%; width: 42%; height: 176%; opacity: 0; pointer-events: none; transform: rotate(16deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.05) 30%, rgba(255,244,207,.34) 50%, rgba(255,255,255,.06) 70%, transparent); mix-blend-mode: screen; }
.ss-services-root .intro-visual.visible .image-shine{ animation: imageShine 1.25s .18s cubic-bezier(.2,.72,.22,1) both; }

.ss-services-root .quick-nav{ border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--navy-900); }
.ss-services-root .quick-nav .wrap{ display: flex; align-items: stretch; overflow-x: auto; }
.ss-services-root .quick-nav a{ padding: 17px 20px; border-right: 1px solid var(--white-line); color: var(--muted); white-space: nowrap; font-size: .72rem; position: relative; transition: color .2s ease, background .2s ease; }
.ss-services-root .quick-nav a:after{ content: ""; position: absolute; left: 20px; right: 20px; bottom: 0; height: 1px; transform: scaleX(0); background: var(--gold); transition: transform .25s ease; }
.ss-services-root .quick-nav a:hover{ color: white; background: rgba(255,255,255,.025); }
.ss-services-root .quick-nav a:hover:after, .ss-services-root .quick-nav a.is-active:after{ transform: scaleX(1); }
.ss-services-root .quick-nav a.is-active{ color: var(--gold-light); }

.ss-services-root section{ padding: 88px 0; }
.ss-services-root section.alt{ background: radial-gradient(circle at 100% 0, rgba(199,162,95,.065), transparent 34%), var(--navy-900); }
.ss-services-root section.cream{ background: var(--cream); color: #1b202a; }
.ss-services-root .section-head{ max-width: 780px; margin: 0 0 42px; }
.ss-services-root .section-head.center{ margin-left: auto; margin-right: auto; text-align: center; }
.ss-services-root h2{ font-size: clamp(1.8rem, 3.2vw, 2.8rem); }
.ss-services-root .section-head p{ color: var(--muted); margin-top: 17px; }
.ss-services-root .cream .section-head p{ color: #596170; }

.ss-services-root .cards{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ss-services-root .card{ position: relative; min-height: 255px; padding: 29px; border: 1px solid var(--white-line); background: var(--navy-800); transition: .25s ease; overflow: hidden; isolation: isolate; }
.ss-services-root .card:before{ content: ""; position: absolute; z-index: -1; width: 280px; height: 280px; left: calc(var(--glow-x, 50%) - 140px); top: calc(var(--glow-y, 50%) - 140px); opacity: 0; border-radius: 50%; background: radial-gradient(circle, rgba(199,162,95,.12), transparent 68%); transition: opacity .25s ease; }
.ss-services-root .card:after{ content: ""; position: absolute; left: 28px; right: 28px; bottom: 0; height: 1px; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--gold), transparent); transition: transform .35s ease; }
.ss-services-root .card:hover{ border-color: var(--line); transform: translateY(-5px); box-shadow: 0 22px 45px -35px #000; }
.ss-services-root .card:hover:before{ opacity: 1; }
.ss-services-root .card:hover:after{ transform: scaleX(1); }
.ss-services-root .card-mark{ display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 9px; border: 1px solid var(--gold-light); background: linear-gradient(135deg, var(--gold-light), var(--gold)); color: #11151d; box-shadow: 0 12px 28px -18px rgba(226,196,131,.75); font: 800 0 Sora, sans-serif; margin-bottom: 23px; transition: transform .3s ease, box-shadow .3s ease; }
.ss-services-root .card:hover .card-mark{ transform: rotate(-4deg) translateY(-2px); box-shadow: 0 16px 30px -15px rgba(226,196,131,.85); }
.ss-services-root .card h3{ font-size: 1.05rem; }
.ss-services-root .card p{ margin: 13px 0 0; color: var(--muted); font-size: .86rem; }
.ss-services-root .card a{ display: inline-block; margin-top: 18px; color: var(--gold-light); font-size: .73rem; font-weight: 800; }

.ss-services-root .split{ display: grid; grid-template-columns: 1fr 1fr; gap: 68px; align-items: center; }
.ss-services-root .editorial-grid{ display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
.ss-services-root .editorial-copy{ display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.ss-services-root .editorial-copy p{ color: var(--muted); font-size: .9rem; }
.ss-services-root .editorial-copy h3{ margin-bottom: 13px; font-size: 1rem; color: var(--gold-light); }
.ss-services-root .split-copy p{ color: var(--muted); }
.ss-services-root .split-copy .eyebrow + h2{ margin-bottom: 22px; }
.ss-services-root .check-list{ display: grid; gap: 11px; list-style: none; padding: 0; margin: 24px 0 0; }
.ss-services-root .check-list li{ display: flex; gap: 10px; color: #d6d9e1; font-size: .89rem; }
.ss-services-root .check-list li:before{ content: "✓"; color: var(--green); font-weight: 800; }
.ss-services-root .visual-panel{ min-height: 460px; position: relative; overflow: hidden; border: 1px solid var(--line); background: var(--navy-800); }
.ss-services-root .visual-panel:has(> img){ overflow: visible; border-color: rgba(226,196,131,.8); box-shadow: 14px 14px 0 -12px var(--gold), 0 28px 58px -40px #000; }
.ss-services-root .visual-panel:has(> img):before{ content: ""; position: absolute; z-index: 2; inset: 12px; border: 1px solid rgba(226,196,131,.28); pointer-events: none; }
.ss-services-root .visual-panel img{ position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; clip-path: inset(0); }
.ss-services-root .visual-panel.reveal img, .ss-services-root .case-photo img{ transform: scale(1.045); transition: transform 1.1s cubic-bezier(.2,.72,.22,1); }
.ss-services-root .visual-panel.reveal.visible img, .ss-services-root .case-main:hover .case-photo img{ transform: scale(1); }
.ss-services-root .visual-panel.contain img{ object-fit: contain; padding: 30px; }
.ss-services-root .visual-label{ display: none; }
.ss-services-root .visual-panel.diagram{ padding: 38px; display: flex; flex-direction: column; justify-content: center; gap: 14px; background: radial-gradient(circle at 100% 0, rgba(199,162,95,.1), transparent 45%), var(--navy-800); }
.ss-services-root .diagram-row{ display: grid; grid-template-columns: 1fr 34px 1fr; align-items: center; gap: 9px; }
.ss-services-root .diagram-node{ min-height: 76px; display: flex; flex-direction: column; justify-content: center; padding: 14px 16px; border: 1px solid var(--line); background: var(--navy-900); }
.ss-services-root .diagram-node b{ color: var(--gold-light); font: 700 .78rem Sora, sans-serif; }
.ss-services-root .diagram-node span{ margin-top: 4px; color: var(--muted); font-size: .68rem; }
.ss-services-root .diagram-arrow{ color: var(--gold); text-align: center; }
.ss-services-root .visible .diagram-arrow{ animation: arrowPulse 1.9s ease-in-out infinite; }
.ss-services-root .diagram-caption{ margin-top: 10px; color: var(--soft); font-size: .78rem; }

.ss-services-root .proof-band{ padding: 30px 0; background: #0a0e16; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ss-services-root .proof-grid{ display: grid; grid-template-columns: repeat(4, 1fr); }
.ss-services-root .proof{ padding: 9px 25px; border-right: 1px solid var(--line); position: relative; overflow: hidden; }
.ss-services-root .proof:after{ content: ""; position: absolute; left: 25px; right: 25px; bottom: 0; height: 1px; transform: translateX(-115%); background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.ss-services-root .proof-band.in-view .proof:after{ animation: proofLine 1.2s ease-out both; animation-delay: calc(var(--item-index, 0) * 90ms); }
.ss-services-root .proof:last-child{ border: 0; }
.ss-services-root .proof b{ display: block; color: var(--gold-light); font: 700 1.06rem Sora, sans-serif; }
.ss-services-root .proof span{ color: var(--muted); font-size: .73rem; }

.ss-services-root .brand-band{ padding: 42px 0; border-bottom: 1px solid var(--line); background: linear-gradient(90deg, #0a0e16, var(--navy-900)); }
.ss-services-root .brand-band-inner{ display: grid; grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.1fr); gap: 58px; align-items: center; }
.ss-services-root .brand-band-copy .eyebrow{ margin-bottom: 9px; }
.ss-services-root .brand-band-copy h2{ font-size: clamp(1.35rem, 2.3vw, 2rem); }
.ss-services-root .brand-band-copy p{ max-width: 620px; margin: 12px 0 0; color: var(--muted); font-size: .84rem; }
.ss-services-root .brand-logos{ display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; min-height: 132px; border: 1px solid var(--line); background: rgba(255,255,255,.025); }
.ss-services-root .brand-logo{ min-height: 90px; display: grid; place-items: center; padding: 18px; border-right: 1px solid var(--white-line); transition: background .25s ease, transform .25s ease; }
.ss-services-root .brand-logo:last-child{ border-right: 0; }
.ss-services-root .brand-logo:hover{ background: rgba(199,162,95,.055); transform: translateY(-3px); }
.ss-services-root .brand-logo img{ width: 76px; height: 76px; object-fit: contain; filter: grayscale(1) brightness(1.45); opacity: .82; transition: filter .3s ease, opacity .3s ease, transform .3s ease; }
.ss-services-root .brand-logo:hover img{ filter: grayscale(.2) brightness(1.1); opacity: 1; transform: scale(1.04); }
.ss-services-root .brand-note{ grid-column: 1 / -1; margin: -42px 0 0; color: #7f8798; font-size: .64rem; text-align: right; }

.ss-services-root .process{ display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.ss-services-root .step{ min-height: 205px; padding: 25px 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ss-services-root .step b{ display: block; color: var(--gold-light); font: 700 .72rem Sora, sans-serif; letter-spacing: .08em; margin-bottom: 16px; }
.ss-services-root .step h3{ font-size: .98rem; }
.ss-services-root .step p{ color: var(--muted); font-size: .78rem; margin-top: 11px; }

.ss-services-root .case-grid{ display: grid; grid-template-columns: 1.2fr .8fr; gap: 14px; }
.ss-services-root .case-main, .ss-services-root .case-side{ border: 1px solid var(--white-line); background: var(--navy-800); overflow: hidden; }
.ss-services-root .case-main{ display: grid; grid-template-columns: 1fr 1fr; }
.ss-services-root .case-photo{ min-height: 370px; position: relative; border-right: 1px solid rgba(226,196,131,.58); box-shadow: inset 0 0 0 10px rgba(199,162,95,.055); }
.ss-services-root .case-photo:after{ content: ""; position: absolute; z-index: 2; inset: 11px; border: 1px solid rgba(226,196,131,.36); pointer-events: none; }
.ss-services-root .case-photo img{ width: 100%; height: 100%; object-fit: cover; }
.ss-services-root .case-copy{ padding: 34px; }
.ss-services-root .case-copy p{ color: var(--muted); font-size: .86rem; margin-top: 14px; }
.ss-services-root .case-side{ display: grid; grid-template-columns: 1fr; }
.ss-services-root .case-mini{ padding: 27px; border-bottom: 1px solid var(--white-line); }
.ss-services-root .case-mini:last-child{ border: 0; }
.ss-services-root .case-mini b{ color: var(--gold-light); font: 700 .75rem Sora, sans-serif; }
.ss-services-root .case-mini p{ color: var(--muted); font-size: .8rem; margin: 9px 0 0; }
.ss-services-root .case-link{ display: block; color: inherit; transition: background .24s ease, transform .24s ease; }
.ss-services-root .case-link:hover{ background: rgba(199,162,95,.07); transform: translateX(4px); }
.ss-services-root .case-link span{ display: inline-block; margin-top: 13px; color: var(--gold-light); font-size: .72rem; font-weight: 700; }

.ss-services-root .realization-links{ display: grid; gap: 8px; margin-top: 25px; }
.ss-services-root .realization-link{ display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 15px; border: 1px solid var(--white-line); border-left: 2px solid var(--gold); background: rgba(255,255,255,.025); color: var(--soft); font-size: .78rem; line-height: 1.45; transition: border-color .22s ease, background .22s ease, transform .22s ease; }
.ss-services-root .realization-link b{ color: var(--gold-light); font-size: 1rem; }
.ss-services-root .realization-link:hover{ border-color: rgba(226,196,131,.48); background: rgba(199,162,95,.07); transform: translateX(4px); }
.ss-services-root .context-link{ margin-top: 24px; padding: 16px 18px; border-left: 2px solid var(--gold); background: rgba(199,162,95,.06); color: var(--soft); font-size: .82rem; }
.ss-services-root .context-link a{ color: var(--gold-light); font-weight: 700; }

.ss-services-root .related-links{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ss-services-root .related-link{ display: flex; min-height: 205px; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-top: 2px solid var(--gold); background: var(--navy-800); transition: border-color .25s ease, transform .25s ease, background .25s ease; }
.ss-services-root .related-link b{ color: white; font: 700 1rem Sora, sans-serif; }
.ss-services-root .related-link span{ margin-top: 13px; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.ss-services-root .related-link em{ margin-top: auto; padding-top: 22px; color: var(--gold-light); font-size: .75rem; font-style: normal; font-weight: 700; }
.ss-services-root .related-link:hover{ border-color: var(--gold-light); background: rgba(199,162,95,.055); transform: translateY(-4px); }

.ss-services-root .local-box{ display: grid; grid-template-columns: 1.15fr .85fr; border: 1px solid var(--line); background: var(--navy-800); }
.ss-services-root .local-copy{ padding: 46px; }
.ss-services-root .local-copy p{ color: var(--muted); }
.ss-services-root .local-facts{ display: grid; grid-template-columns: 1fr 1fr; background: var(--navy-900); }
.ss-services-root .local-fact{ padding: 27px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.ss-services-root .local-fact:nth-last-child(-n+2){ border-bottom: 0; }
.ss-services-root .local-fact strong{ display: block; color: var(--gold-light); font-size: .84rem; margin-bottom: 7px; }
.ss-services-root .local-fact span{ color: var(--muted); font-size: .74rem; }

.ss-services-root .service-strip{ padding: 28px 0; background: linear-gradient(90deg, #751b21, var(--red), #791c22); }
.ss-services-root .service-strip .wrap{ display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.ss-services-root .service-strip strong{ font: 800 1.35rem Sora, sans-serif; }
.ss-services-root .service-strip p{ margin: 5px 0 0; color: #f1d9da; font-size: .83rem; }
.ss-services-root .service-strip .btn{ background: white; color: #731c21; white-space: nowrap; }

.ss-services-root .faq{ max-width: 880px; margin: 0 auto; border-top: 1px solid var(--line); }
.ss-services-root .faq-item{ border-bottom: 1px solid var(--line); }
.ss-services-root .faq-q{ width: 100%; padding: 20px 4px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border: 0; background: none; color: white; text-align: left; cursor: pointer; font-weight: 700; }
.ss-services-root .faq-q span{ color: var(--gold-light); font-size: 1.2rem; transition: .2s; }
.ss-services-root .faq-a{ max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.ss-services-root .faq-a p{ color: var(--muted); padding: 0 4px 20px; font-size: .88rem; }
.ss-services-root .faq-item.open .faq-a{ max-height: 260px; }
.ss-services-root .faq-item.open .faq-q span{ transform: rotate(45deg); }

.ss-services-root .cta{ text-align: center; background: radial-gradient(circle at 50% 0, rgba(199,162,95,.13), transparent 45%), var(--navy-900); }
.ss-services-root .cta .section-head{ margin-bottom: 28px; }
.ss-services-root .contact-line{ margin-top: 21px; color: var(--muted); font-size: .82rem; }
.ss-services-root .contact-line a{ color: var(--gold-light); }

.ss-services-root .site-footer{ padding: 34px 0; background: #070a10; border-top: 1px solid var(--line); color: #8f96a6; font-size: .72rem; }
.ss-services-root .footer-inner{ display: flex; justify-content: space-between; align-items: center; gap: 22px; }
.ss-services-root .footer-links{ display: flex; gap: 16px; flex-wrap: wrap; }

.ss-services-root .prototype-note{ padding: 11px 16px; background: #f6e9bf; color: #33270e; font-size: .72rem; text-align: center; }
.ss-services-root .reveal{ opacity: 0; transform: translateY(28px); transition: opacity .72s cubic-bezier(.2,.72,.22,1), transform .72s cubic-bezier(.2,.72,.22,1); transition-delay: var(--reveal-delay, 0ms); }
.ss-services-root .reveal.visible{ opacity: 1; transform: none; }

.ss-services-root.js .hero .breadcrumbs, .ss-services-root.js .hero .eyebrow, .ss-services-root.js .hero h1, .ss-services-root.js .hero .lead, .ss-services-root.js .hero .hero-points, .ss-services-root.js .hero .actions, .ss-services-root.js .hero .hero-media{ opacity: 0; transform: translateY(18px); }
.ss-services-root.page-ready .hero .breadcrumbs, .ss-services-root.page-ready .hero .eyebrow, .ss-services-root.page-ready .hero h1, .ss-services-root.page-ready .hero .lead, .ss-services-root.page-ready .hero .hero-points, .ss-services-root.page-ready .hero .actions, .ss-services-root.page-ready .hero .hero-media{ opacity: 1; transform: none; transition: opacity .75s ease, transform .75s cubic-bezier(.2,.72,.22,1); }
.ss-services-root.page-ready .hero .eyebrow{ transition-delay: 60ms; }
.ss-services-root.page-ready .hero h1{ transition-delay: 120ms; }
.ss-services-root.page-ready .hero .lead{ transition-delay: 190ms; }
.ss-services-root.page-ready .hero .hero-points{ transition-delay: 250ms; }
.ss-services-root.page-ready .hero .actions{ transition-delay: 310ms; }
.ss-services-root.page-ready .hero .hero-media{ transition-delay: 150ms; }

@keyframes mediaSweep { 0% { opacity: 0; transform: translateX(-35%) rotate(14deg); } 35% { opacity: .75; } 100% { opacity: 0; transform: translateX(35%) rotate(14deg); } }
@keyframes imageShine { 0% { left: -72%; opacity: 0; } 18% { opacity: .9; } 82% { opacity: .65; } 100% { left: 132%; opacity: 0; } }
@keyframes arrowPulse { 0%,100% { opacity: .45; transform: translateX(-2px); } 50% { opacity: 1; transform: translateX(3px); } }
@keyframes proofLine { from { transform: translateX(-115%); } to { transform: translateX(115%); } }

@media (prefers-reduced-motion: reduce) {
  .ss-services-root{ scroll-behavior: auto; }
  .ss-services-root .reveal{ opacity: 1; transform: none; transition: none; }
  .ss-services-root *, .ss-services-root *:before, .ss-services-root *:after{ animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .ss-services-root.js .hero .breadcrumbs, .ss-services-root.js .hero .eyebrow, .ss-services-root.js .hero h1, .ss-services-root.js .hero .lead, .ss-services-root.js .hero .hero-points, .ss-services-root.js .hero .actions, .ss-services-root.js .hero .hero-media{ opacity: 1; transform: none; }
}

@media (max-width: 1020px) {
  .ss-services-root .main-nav, .ss-services-root .header-cta{ display: none; }
  .ss-services-root .menu-toggle{ display: block; }
  .ss-services-root .site-header.menu-open .main-nav{
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 10px 24px 18px;
    background: rgba(9, 12, 19, .98);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 22px 40px -25px #000;
  }
  .ss-services-root .site-header.menu-open .main-nav a{ padding: 11px 0; border-bottom: 1px solid var(--white-line); }
  .ss-services-root .hero-grid, .ss-services-root .split, .ss-services-root .case-grid, .ss-services-root .local-box, .ss-services-root .editorial-grid, .ss-services-root .brand-band-inner, .ss-services-root .intro-layout{ grid-template-columns: 1fr; }
  .ss-services-root .intro-layout{ gap: 42px; }
  .ss-services-root .intro-visual{ min-height: 430px; }
  .ss-services-root .brand-band-inner{ gap: 24px; }
  .ss-services-root .brand-note{ margin: 0; text-align: left; }
  .ss-services-root .hero-media{ height: 430px; }
  .ss-services-root .hero-stats{ left: 18px; }
  .ss-services-root .cards{ grid-template-columns: repeat(2, 1fr); }
  .ss-services-root .related-links{ grid-template-columns: repeat(2, 1fr); }
  .ss-services-root .process{ grid-template-columns: repeat(3, 1fr); }
  .ss-services-root .proof-grid{ grid-template-columns: repeat(2, 1fr); gap: 20px 0; }
  .ss-services-root .proof:nth-child(2){ border-right: 0; }
  .ss-services-root .local-fact:nth-last-child(-n+2){ border-bottom: 1px solid var(--line); }
}

@media (max-width: 680px) {
  .ss-services-root .wrap{ width: min(var(--max), calc(100% - 30px)); }
  .ss-services-root .site-header{ height: 68px; }
  .ss-services-root .hero{ padding: 46px 0 58px; }
  .ss-services-root .subpage-hero{ min-height: 320px; padding: calc(56px + var(--ss-global-header-height, 0px)) 0 62px; }
  .ss-services-root .subpage-hero .hero-grid > div{ padding-left: 21px; }
  .ss-services-root .hero-photo:after{ background-position: 64% center; }
  .ss-services-root .hero-grid{ gap: 34px; }
  .ss-services-root .hero-media{ height: 310px; }
  .ss-services-root .hero-media img.focus-right{ object-position: 69% center; }
  .ss-services-root .hero-stats{ display: none; }
  .ss-services-root .hero-points{ display: grid; grid-template-columns: 1fr 1fr; }
  .ss-services-root .actions .btn{ width: 100%; }
  .ss-services-root section{ padding: 66px 0; }
  .ss-services-root .cards, .ss-services-root .process, .ss-services-root .proof-grid, .ss-services-root .case-main, .ss-services-root .local-facts, .ss-services-root .editorial-copy, .ss-services-root .related-links{ grid-template-columns: 1fr; }
  .ss-services-root .card{ min-height: auto; }
  .ss-services-root .proof{ border-right: 0; border-bottom: 1px solid var(--line); padding: 15px 4px; }
  .ss-services-root .proof:last-child{ border-bottom: 0; }
  .ss-services-root .brand-band{ padding: 34px 0; }
  .ss-services-root .brand-logos{ min-height: 105px; }
  .ss-services-root .brand-logo{ min-height: 78px; padding: 11px; }
  .ss-services-root .brand-logo img{ width: 62px; height: 62px; }
  .ss-services-root .intro-section{ padding: 58px 0 68px; }
  .ss-services-root .intro-features{ grid-template-columns: 1fr; }
  .ss-services-root .intro-visual{ min-height: 315px; margin-right: 9px; }
  .ss-services-root .intro-visual:before{ inset: 18px -9px -9px 18px; }
  .ss-services-root .intro-visual:after{ width: 55px; height: 55px; left: -9px; top: 21px; }
  .ss-services-root .step{ min-height: auto; }
  .ss-services-root .local-copy{ padding: 30px 24px; }
  .ss-services-root .local-fact{ border-left: 0; }
  .ss-services-root .service-strip .wrap, .ss-services-root .footer-inner{ align-items: flex-start; flex-direction: column; }
  .ss-services-root .case-photo{ min-height: 280px; }
  .ss-services-root .quick-nav{ display: none; }
  .ss-services-root .visual-panel.diagram{ min-height: 390px; padding: 24px; }
}
