/* Services — JII's disclosure / dialogue / improvement architecture */
.sp-page{overflow:hidden;background:#fff}
.sp-page section{position:relative}
.sp-page h1,.sp-page h2,.sp-page h3{line-break:strict;word-break:normal}
.sp-page img{display:block;max-width:100%}
.sp-page a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.sp-kicker,.sp-section-kicker{display:inline-flex;align-items:center;gap:11px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--accent)}
.sp-kicker::before,.sp-section-kicker::before{content:"";width:20px;height:1px;background:currentColor}

/* Hero */
#top.sp-hero{padding:calc(var(--nav-h) + 40px) 0 0;border:0;background:#0f1f3a;color:#fff;overflow:hidden}
.sp-hero-cut{position:absolute;inset:0 -4% 0 38%;background:#16294a;clip-path:polygon(25% 0,100% 0,100% 100%,0 100%);opacity:.96}
.sp-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.024) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.024) 1px,transparent 1px);background-size:72px 72px;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent 92%);mask-image:linear-gradient(180deg,#000,transparent 92%)}
.sp-hero .wrap{position:relative;z-index:2}
.sp-crumbs{display:flex;gap:9px;align-items:center;margin-bottom:43px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:rgba(255,255,255,.45)}
.sp-crumbs a{color:rgba(255,255,255,.62);text-decoration:none}
.sp-hero-copy{max-width:900px;padding-bottom:50px}
.sp-hero-copy .sp-kicker{margin-bottom:20px;color:#d0ad6a}
.sp-hero-copy h1{margin:0;font-family:var(--serif);font-size:var(--hero-title,clamp(32px,3.5vw,42px));font-weight:300;line-height:1.5;letter-spacing:.04em;color:#fff}
.sp-hero-copy h1 span{display:inline-block}
.sp-hero-copy p{max-width:650px;margin-top:24px;font-size:15px;line-height:2;color:rgba(255,255,255,.76)}
.sp-stage-nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.2)}
.sp-stage-nav a{position:relative;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;gap:3px 10px;min-height:112px;padding:25px 24px;border-right:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none;transition:background .2s,padding .25s}
.sp-stage-nav a:last-child{border-right:0}
.sp-stage-nav a::after{content:"↓";position:absolute;right:22px;bottom:25px;font-family:var(--mono);font-size:12px;color:#d5b773}
.sp-stage-nav i{grid-row:1/3;font-family:var(--mono);font-size:10px;font-style:normal;letter-spacing:.1em;color:#d5b773}
.sp-stage-nav span{font-size:10px;letter-spacing:.06em;color:rgba(255,255,255,.55)}
.sp-stage-nav b{font-family:var(--serif);font-size:17px;font-weight:400;letter-spacing:.035em}
.sp-stage-nav a:hover,.sp-stage-nav a:focus-visible{padding-left:31px;background:rgba(255,255,255,.075);outline:0}

/* Introduction */
.sp-intro{padding:94px 0!important;background:#fff}
.sp-intro-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:92px;align-items:start}
.sp-intro h2{margin-top:18px;font-family:var(--serif);font-size:clamp(27px,3.4vw,40px);font-weight:300;line-height:1.72;letter-spacing:.045em;color:var(--ink)}
.sp-intro-copy>p{padding-top:5px;font-size:15px;line-height:2.1;color:var(--text-mid)}
.sp-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto;align-items:center;margin-top:38px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.sp-flow span{padding:17px 6px;font-family:var(--serif);font-size:15px;color:var(--ink);white-space:nowrap}
.sp-flow i{margin-right:8px;font-family:var(--mono);font-size:8px;font-style:normal;color:var(--accent)}
.sp-flow b{font-size:13px;font-weight:400;color:var(--accent)}

/* Core service chapters */
.sp-services{padding:0!important;border-top:1px solid var(--rule)}
.sp-service{display:grid;grid-template-columns:1fr 1fr;min-height:610px;scroll-margin-top:64px;background:#fff;border-bottom:1px solid var(--rule)}
.sp-service--reverse .sp-service-media{order:2}
.sp-service--reverse .sp-service-copy{order:1}
.sp-service-media{position:relative;min-width:0;overflow:hidden;background:var(--ink);text-decoration:none}
.sp-service-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,26,49,.04) 40%,rgba(12,26,49,.44) 100%);pointer-events:none}
.sp-service-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.02);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .3s}
.sp-service-media:hover img,.sp-service-media:focus-visible img{transform:scale(1.025);filter:saturate(.98) contrast(1.02)}
.sp-media-cue{position:absolute;z-index:2;top:27px;right:27px;padding:8px 12px;border:1px solid rgba(215,184,115,.72);background:rgba(15,31,58,.78);font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:#fff}
.sp-media-cue i{margin:0 5px;font-style:normal;color:#e0c17c}
.sp-score{position:absolute;z-index:2;right:26px;bottom:25px;display:flex;align-items:baseline;gap:5px;padding:13px 17px;border:1px solid rgba(255,255,255,.32);background:rgba(15,31,58,.82);color:#fff}
.sp-score b{font-family:var(--serif);font-size:27px;font-weight:300;line-height:1}
.sp-score i{margin-right:5px;font-size:9px;font-style:normal;color:#d7bd83}
.sp-service-copy{display:flex;flex-direction:column;justify-content:center;padding:72px clamp(44px,7vw,104px);background:#fff}
.sp-service-no{font-family:var(--mono);font-size:9px;letter-spacing:.16em;color:var(--accent)}
.sp-service-copy h2{margin-top:14px;font-family:var(--serif);font-size:clamp(27px,3.1vw,40px);font-weight:300;line-height:1.55;letter-spacing:.04em;color:var(--ink)}
.sp-service-lead{max-width:540px;margin-top:23px;font-family:var(--serif);font-size:17px;line-height:2;color:var(--ink)}
.sp-spec{margin-top:30px;border-top:1px solid var(--ink)}
.sp-spec>div{display:grid;grid-template-columns:104px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid var(--rule)}
.sp-spec dt{font-size:10px;letter-spacing:.06em;color:var(--text-dim)}
.sp-spec dd{font-size:12px;line-height:1.8;color:var(--text-mid)}
.sp-subservices{display:grid;margin-top:19px;border-top:1px solid var(--rule)}
.sp-subservices a{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:11px;line-height:1.6;color:var(--text-mid);text-decoration:none;transition:color .2s,padding .2s}
.sp-subservices a:hover,.sp-subservices a:focus-visible{padding-left:5px;color:var(--ink);outline:0}
.sp-subservices span,.sp-text-link span,.sp-policy-link span,.sp-pricing-link span,.sp-final a span{color:var(--accent)}
.sp-text-link{display:inline-flex;align-items:center;gap:22px;align-self:flex-start;margin-top:28px;padding-bottom:6px;border-bottom:1px solid var(--ink);font-size:12px;letter-spacing:.04em;color:var(--ink);text-decoration:none;transition:gap .2s,color .2s}
.sp-text-link:hover,.sp-text-link:focus-visible{gap:29px;color:var(--accent);outline:0}

/* Ongoing support */
.sp-ongoing{padding:96px 0!important;background:#142642;color:#fff;overflow:hidden}
.sp-ongoing::before{content:"";position:absolute;inset:0 0 0 51%;background:#192f50;clip-path:polygon(19% 0,100% 0,100% 100%,0 100%)}
.sp-ongoing-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center}
.sp-ongoing .sp-section-kicker{color:#d4b46c}
.sp-ongoing-copy h2{margin-top:19px;font-family:var(--serif);font-size:clamp(27px,3.5vw,42px);font-weight:300;line-height:1.7;letter-spacing:.045em;color:#fff}
.sp-ongoing-copy p{max-width:550px;margin-top:23px;font-size:14px;line-height:2;color:rgba(255,255,255,.72)}
.sp-text-link--light{border-color:rgba(255,255,255,.6);color:#fff}
.sp-quarter{position:relative;width:min(100%,470px);aspect-ratio:1;margin:0 auto}
.sp-quarter::before{content:"";position:absolute;inset:18%;border:1px dashed rgba(216,187,122,.5);border-radius:50%}
.sp-quarter-center{position:absolute;inset:35%;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #d5b66f;border-radius:50%;background:#142642;text-align:center}
.sp-quarter-center span{font-family:var(--mono);font-size:8px;letter-spacing:.13em;color:#d5b66f}
.sp-quarter-center b{margin-top:6px;font-family:var(--serif);font-size:15px;font-weight:400;color:#fff}
.sp-quarter ol{list-style:none}
.sp-quarter li{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:112px;height:112px;border:1px solid rgba(255,255,255,.34);border-radius:50%;background:#192f50;text-align:center}
.sp-quarter li:nth-child(1){top:0;left:50%;transform:translateX(-50%)}
.sp-quarter li:nth-child(2){top:50%;right:0;transform:translateY(-50%)}
.sp-quarter li:nth-child(3){bottom:0;left:50%;transform:translateX(-50%)}
.sp-quarter li:nth-child(4){top:50%;left:0;transform:translateY(-50%)}
.sp-quarter li i{font-family:var(--mono);font-size:8px;font-style:normal;letter-spacing:.1em;color:#d5b66f}
.sp-quarter li span{margin-top:5px;font-family:var(--serif);font-size:13px;line-height:1.45;color:#fff}

/* Operating standards */
.sp-standards{padding:92px 0!important;background:#f4f1ea;border-bottom:1px solid #ddd6c9}
.sp-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:72px;align-items:end;padding-bottom:33px;border-bottom:1px solid var(--ink)}
.sp-heading h2{margin-top:15px;font-family:var(--serif);font-size:clamp(25px,3vw,36px);font-weight:300;line-height:1.6;letter-spacing:.035em;color:var(--ink)}
.sp-heading>p{padding-bottom:5px;font-size:13px;line-height:1.9;color:var(--text-mid)}
.sp-standard-list>div{display:grid;grid-template-columns:minmax(210px,.75fr) 1.25fr;gap:50px;padding:23px 4px;border-bottom:1px solid #d6cfc3}
.sp-standard-list dt{font-family:var(--serif);font-size:17px;color:var(--ink)}
.sp-standard-list dt i{display:inline-block;width:42px;font-family:var(--mono);font-size:8px;font-style:normal;color:var(--accent)}
.sp-standard-list dd{font-size:12px;line-height:1.9;color:var(--text-mid)}
.sp-policy-link{display:flex;justify-content:space-between;gap:20px;width:min(100%,430px);margin-top:28px;padding-bottom:8px;border-bottom:1px solid var(--ink);font-size:12px;color:var(--ink);text-decoration:none}

/* Pricing bridge */
.sp-pricing{padding:72px 0!important;background:#fff;border-bottom:1px solid var(--rule)}
.sp-pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.sp-pricing h2{margin-top:14px;font-family:var(--serif);font-size:clamp(24px,2.8vw,34px);font-weight:300;line-height:1.55;color:var(--ink)}
.sp-pricing-grid>div:last-child{padding-left:40px;border-left:1px solid var(--rule)}
.sp-pricing p{font-size:13px;line-height:1.9;color:var(--text-mid)}
.sp-pricing-link{display:flex;justify-content:space-between;gap:20px;margin-top:20px;padding:12px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule);font-size:12px;color:var(--ink);text-decoration:none}

/* One contextual endpoint; .contact-band suppresses the shared fallback CTA */
.sp-final{padding:86px 0!important;background:#fff}
.sp-final-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:86px;align-items:end}
.sp-final h2{max-width:620px;margin-top:15px;font-family:var(--serif);font-size:clamp(24px,3vw,36px);font-weight:300;line-height:1.7;letter-spacing:.035em;color:var(--ink)}
.sp-final p{font-size:13px;line-height:1.9;color:var(--text-mid)}
.sp-final a{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:23px;padding:17px 20px;background:var(--ink);font-size:13px;letter-spacing:.04em;color:#fff;text-decoration:none;transition:background .2s,transform .2s}
.sp-final a:hover,.sp-final a:focus-visible{transform:translateY(-2px);background:var(--accent);outline:0}
.sp-final a span{color:#fff}

@media(max-width:980px){
  .sp-intro-grid{gap:52px}
  .sp-service{min-height:560px}
  .sp-service-copy{padding:60px 44px}
  .sp-ongoing-grid{gap:48px}
  .sp-quarter li{width:96px;height:96px}
  .sp-quarter li span{font-size:11px}
}

@media(max-width:760px){
  #top.sp-hero{padding-top:calc(var(--nav-h) + 28px)}
  .sp-hero-cut{inset:0 -45% 0 12%}
  .sp-crumbs{margin-bottom:38px}
  .sp-hero-copy{padding-bottom:42px}
  .sp-hero-copy h1{font-size:var(--hero-title-mobile,clamp(25px,7.2vw,29px));line-height:1.54;letter-spacing:.03em}
  .sp-hero-copy h1 br{display:none}
  .sp-hero-copy p{margin-top:18px;font-size:13px;line-height:1.95}
  .sp-stage-nav{grid-template-columns:1fr}
  .sp-stage-nav a{grid-template-columns:34px 1fr;min-height:82px;padding:18px 12px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
  .sp-stage-nav a:last-child{border-bottom:0}
  .sp-stage-nav a::after{right:10px;bottom:29px}
  .sp-stage-nav a:hover,.sp-stage-nav a:focus-visible{padding-left:17px}
  .sp-intro{padding:66px 0!important}
  .sp-intro-grid{grid-template-columns:1fr;gap:25px}
  .sp-intro h2{font-size:clamp(24px,7vw,30px)}
  .sp-intro-copy>p{font-size:13px;line-height:2}
  .sp-flow{grid-template-columns:1fr auto 1fr auto 1fr}
  .sp-flow span{font-size:13px}.sp-flow span i{display:block;margin:0 0 2px}.sp-flow b:last-child{display:none}
  .sp-service{grid-template-columns:1fr;min-height:0}
  .sp-service--reverse .sp-service-media,.sp-service--reverse .sp-service-copy{order:initial}
  .sp-service-media{height:300px}
  .sp-service-copy{padding:42px 22px 52px}
  .sp-service-copy h2{font-size:clamp(25px,7.2vw,31px)}
  .sp-service-lead{font-size:15px;line-height:1.95}
  .sp-spec>div{grid-template-columns:82px 1fr;gap:14px}
  .sp-ongoing{padding:68px 0!important}
  .sp-ongoing::before{inset:48% -55% 0 10%;clip-path:polygon(30% 0,100% 0,100% 100%,0 100%)}
  .sp-ongoing-grid{grid-template-columns:1fr;gap:45px}
  .sp-ongoing-copy h2{font-size:clamp(25px,7.3vw,32px)}
  .sp-quarter{max-width:380px}
  .sp-quarter li{width:82px;height:82px}
  .sp-quarter-center{inset:34%}.sp-quarter-center b{font-size:12px}
  .sp-standards{padding:65px 0!important}
  .sp-heading{grid-template-columns:1fr;gap:18px;padding-bottom:25px}
  .sp-heading h2{font-size:clamp(24px,7vw,30px)}
  .sp-standard-list>div{grid-template-columns:1fr;gap:9px;padding:20px 2px}
  .sp-standard-list dt i{width:36px}
  .sp-pricing{padding:58px 0!important}
  .sp-pricing-grid{grid-template-columns:1fr;gap:25px}
  .sp-pricing-grid>div:last-child{padding:0;border:0}
  .sp-final{padding:64px 0!important}
  .sp-final-grid{grid-template-columns:1fr;gap:26px}
  .sp-final h2{font-size:clamp(23px,6.8vw,29px)}
}

@media(max-width:420px){
  .sp-service-media{height:250px}
  .sp-media-cue{top:17px;right:17px}
  .sp-score{right:16px;bottom:16px}
  .sp-quarter li{width:74px;height:74px}
  .sp-quarter li span{font-size:10px}
  .sp-quarter-center span{font-size:6px}.sp-quarter-center b{font-size:10px}
}

@media(prefers-reduced-motion:reduce){
  .sp-stage-nav a,.sp-service-media img,.sp-subservices a,.sp-text-link,.sp-final a{transition:none}
  .sp-service-media:hover img,.sp-service-media:focus-visible img,.sp-final a:hover,.sp-final a:focus-visible{transform:none}
}

html[lang="en"] .sp-page h1,
html[lang="en"] .sp-page h2,
html[lang="en"] .sp-page h3{letter-spacing:0;line-break:auto}
html[lang="en"] .sp-hero-copy h1{max-width:960px;font-size:clamp(31px,3.35vw,41px);line-height:1.4}
html[lang="en"] .sp-stage-nav b{font-size:16px;letter-spacing:0}
html[lang="en"] .sp-service-copy h2,
html[lang="en"] .sp-ongoing-copy h2{letter-spacing:0}
html[lang="en"] .sp-page{overflow-wrap:break-word}
html[lang="en"] .sp-spec>div{grid-template-columns:110px 1fr}
@media(max-width:760px){
  html[lang="en"] .sp-hero-copy h1{font-size:clamp(25px,7.2vw,31px);line-height:1.43}
  html[lang="en"] .sp-spec>div{grid-template-columns:90px 1fr}
}
