.nav .links a[data-services-link] { white-space: nowrap; }
.service-offer { scroll-margin-top: 78px; }
.service-offer .offer-box {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0 auto;
  padding: clamp(25px,3.1vw,44px);
  overflow: hidden;
  border: 1px solid rgba(239,198,204,.18);
  border-radius: 28px;
  background: linear-gradient(145deg,rgba(42,22,29,.96),rgba(24,14,20,.98));
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.service-offer .offer-box::before { display: none; }
.service-offer .offer-main {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
  align-items: end;
  gap: 12px 42px;
  max-width: none;
  padding: 0 0 24px;
  border-bottom: 1px solid rgba(255,255,255,.13);
}
.service-offer .offer-main .eyebrow { grid-column: 1 / -1; margin: 0; }
.service-offer .offer-title {
  max-width: 620px;
  margin: 0;
  font-size: clamp(2.2rem,3.25vw,3.45rem);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.service-offer .offer-lead {
  max-width: 460px;
  margin: 0;
  color: #dacbd0;
  font-size: clamp(14px,1.1vw,16px);
  line-height: 1.5;
}
.service-showcase {
  display: grid;
  grid-template-columns: minmax(275px,.8fr) minmax(0,1.2fr);
  gap: 22px;
  margin-top: 24px;
}
.service-choices { display: grid; grid-template-rows: repeat(3,1fr); min-width: 0; border-top: 1px solid rgba(255,255,255,.12); }
.service-choice {
  display: grid;
  grid-template-columns: 42px 1fr 20px;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-width: 0;
  padding: 14px 18px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  border-left: 2px solid transparent;
  background: transparent;
  color: #eee4e6;
  text-align: left;
  cursor: pointer;
  transition: background .25s,border-color .25s,color .25s;
}
.service-choice:hover,.service-choice:focus-visible { background: rgba(255,255,255,.055); outline: none; }
.service-choice.is-selected { border-left-color: #e65c7b; background: linear-gradient(90deg,rgba(230,92,123,.16),rgba(230,92,123,.035)); color: #fff; }
.service-choice-number { align-self: start; padding-top: 4px; color: #e9aabc; font: 600 12px/1 "Onest",sans-serif; }
.service-choice-text { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.service-choice-text small { color: #c1aab1; font: 600 10px/1 "Onest",sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.service-choice-text strong { font: 400 clamp(1rem,1.35vw,1.3rem)/1.15 "Unbounded",sans-serif; letter-spacing: -.04em; }
.service-choice-arrow { width: 18px; height: 18px; fill: none; stroke: #e9aabc; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.service-feature { min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 20px; background: rgba(14,12,17,.68); }
.service-feature-image { position: relative; height: clamp(200px,24vh,250px); margin: 0; overflow: hidden; background: #281a22; }
.service-feature-image::after { content: ""; position: absolute; inset: 44% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.68)); pointer-events: none; }
.service-feature-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.service-feature-image figcaption,.process-visual figcaption {
  position: absolute;
  z-index: 1;
  left: 15px;
  bottom: 14px;
  max-width: calc(100% - 30px);
  padding: 6px 10px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 40px;
  background: rgba(20,12,17,.68);
  color: #f5e7e9;
  font: 600 10px/1.25 "Onest",sans-serif;
  backdrop-filter: blur(8px);
}
.service-feature-copy {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(170px,.9fr);
  gap: 7px 20px;
  align-items: center;
  padding: 17px 20px 19px;
}
.service-feature-type { grid-column: 1 / -1; color: #edb6c4; font-size: 11px; }
.service-feature-copy h3 { grid-column: 1; margin: 0; color: #fff; font: 400 clamp(1.15rem,1.55vw,1.55rem)/1.14 "Unbounded",sans-serif; letter-spacing: -.045em; }
.service-feature-detail { grid-column: 1; margin: 0; color: #d7c8cd; font-size: 13px; line-height: 1.38; }
.service-feature-output { grid-column: 2; grid-row: 2 / 4; align-self: stretch; display: flex; align-items: center; margin: 0; padding-left: 19px; border-left: 1px solid rgba(255,255,255,.18); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.38; }
.service-note { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 19px; }
.service-note p { max-width: 670px; margin: 0; color: #cdbdc2; font-size: 13px; line-height: 1.45; }
.service-note .button { flex: none; }
.service-note .button::after { content: "→"; margin-left: 4px; font-size: 18px; line-height: 0; }
html.pm .service-offer { display: block; overflow-y: auto; }
html.pm .service-offer .offer-box { margin: 0 auto; }

html body #process { background-image: radial-gradient(850px 500px at 13% 10%,#351a28 0%,transparent 67%),linear-gradient(135deg,#1a0d14,#110c11) !important; }
html.pm #process { display: block; overflow-y: auto; }
#process > .shell.section { width: min(1240px,calc(100% - 48px)); padding: clamp(80px,8vw,112px) 0 70px; }
.process-head { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); align-items: end; gap: 36px; }
.process-head h2 { max-width: 620px; margin: 0; font-size: clamp(2.35rem,3.35vw,3.55rem); line-height: 1.06; letter-spacing: -.055em; }
.process-head > p { max-width: 420px; margin: 0 0 4px; color: #d7c7cc; font-size: clamp(14px,1.15vw,17px); line-height: 1.5; }
.process-story { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 32px; align-items: stretch; margin-top: 34px; }
.process-visual { position: relative; width: 100%; height: 100%; min-height: 350px; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: #261820; }
.process-visual::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.55)); pointer-events: none; }
.process-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 51% 45%; }
.process-story .steps { position: relative; display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; padding: 0 0 0 26px; }
.process-story .steps::before { content: ""; position: absolute; left: 5px; top: 26px; bottom: 24px; width: 1px; height: auto; background: linear-gradient(#e16b87,rgba(255,255,255,.16)); }
.process-story .steps::after { display: none; }
.process-story .step { position: relative; display: grid; grid-template-columns: 36px 1fr; gap: 12px; align-items: start; min-height: 0; margin: 0; padding: 9px 0 13px; border: 0; border-bottom: 1px solid rgba(255,255,255,.13); background: transparent; transform: none; }
.process-story .step:last-child { border-bottom: 0; }
.process-story .step::before { content: ""; position: absolute; left: -26px; top: 22px; width: 11px; height: 11px; border: 1px solid #dd8ca1; border-radius: 50%; background: #2a1420; box-shadow: 0 0 0 5px rgba(221,140,161,.07); }
.process-step-number { padding-top: 5px; color: #e8a6b8; font: 600 12px/1 "Onest",sans-serif; }
.process-step-copy h3 { margin: 0 0 5px; color: #fff; font: 400 clamp(1rem,1.28vw,1.22rem)/1.15 "Unbounded",sans-serif; letter-spacing: -.035em; }
.process-step-copy p { max-width: 550px; margin: 0; color: #d2c4c8; font-size: 13px; line-height: 1.42; }

.g-dot { min-width: 12px; min-height: 24px; }
.g-count { display: none; color: #eadde0; }
@media (max-width: 1024px) {
  .service-offer .offer-box { width: 100%; }
  .service-showcase { grid-template-columns: minmax(240px,.8fr) minmax(0,1.2fr); }
  .service-feature-copy { grid-template-columns: 1fr; }
  .service-feature-type,.service-feature-copy h3,.service-feature-detail,.service-feature-output { grid-column: 1; grid-row: auto; }
  .service-feature-output { display: block; padding: 9px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.16); }
  .process-story { gap: 22px; }
}
@media (max-width: 760px) {
  .service-offer .offer-box { padding: 26px; }
  .service-offer .offer-main { display: block; padding-bottom: 19px; }
  .service-offer .offer-title { margin: 12px 0; font-size: clamp(2rem,6.2vw,2.8rem); }
  .service-offer .offer-lead { max-width: 620px; font-size: 14px; }
  .service-showcase { display: block; margin-top: 18px; }
  .service-choices { display: grid; grid-template-columns: 1fr; gap: 0; overflow: visible; padding: 0; border-top: 1px solid rgba(255,255,255,.14); }
  .service-choice { width: 100%; min-width: 0; min-height: 61px; grid-template-columns: 28px 1fr 18px; gap: 10px; padding: 9px 10px; border: 0; border-bottom: 1px solid rgba(255,255,255,.14); border-radius: 0; }
  .service-choice.is-selected { border-left-color: #de718c; }
  .service-choice-text { gap: 5px; }
  .service-choice-text strong { font-size: 13px; }
  .service-choice-arrow { display: block; }
  .service-feature-image { height: clamp(180px,46vw,270px); }
  .service-feature-copy { padding: 16px; }
  .service-note { display: block; }
  .service-note .button { width: 100%; margin-top: 14px; }
  #process > .shell.section { padding: 72px 0 60px; }
  .process-head { display: block; }
  .process-head h2 { font-size: clamp(2rem,6vw,2.7rem); }
  .process-head > p { max-width: 600px; margin-top: 14px; }
  .process-story { display: block; margin-top: 23px; }
  .process-visual { height: clamp(190px,55vw,300px); min-height: 0; }
  .process-story .steps { margin-top: 16px; }
}
@media (max-width: 480px) {
  html,body { overflow-x: clip; }
  .service-offer .offer-box { padding: 20px; border-radius: 20px; }
  .service-offer .offer-title { font-size: clamp(1.8rem,8vw,2.25rem); }
  .service-choice { min-width: 0; }
  .service-feature-image { height: 190px; }
  .process-head h2 { font-size: clamp(1.95rem,8vw,2.4rem); }
  .g-bar .g-dots { display: none; }
  .g-bar .g-count { display: inline-block; margin: 0 auto; font-size: 12px; letter-spacing: .12em; }
}
