/* Services page — editorial service catalogue, decision paths and progressive detail. */

.services-page{
  --services-line:var(--border-medium);
  --services-muted:var(--color-text-secondary);
  --services-panel:rgba(255,255,255,.025);
  --services-panel-strong:rgba(255,255,255,.045);
  background:var(--color-navy-900);
}
.services-shell{
  width:min(calc(100% - 48px),var(--layout-max,1320px));
  margin-inline:auto;
}
.services-section{padding-block:var(--section-standard,clamp(72px,8vw,112px))}
.services-page h1,
.services-page h2,
.services-page h3{
  margin:0;
  color:var(--color-text-primary);
  line-height:var(--leading-heading,1.08);
  letter-spacing:-.02em;
}
.services-page h2{
  font-size:clamp(2rem,3vw,3.1rem);
  text-wrap:balance;
}
.services-page h3{
  font-size:clamp(1.55rem,2.2vw,2.15rem);
  text-wrap:balance;
}
.services-page p{
  color:var(--services-muted);
  font-size:var(--type-body,1rem);
  line-height:var(--leading-body,1.7);
}
.services-kicker,
.services-card__meta{
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:var(--type-label,.75rem);
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.45;
  text-transform:uppercase;
}
.services-kicker{margin:0 0 18px}
.services-hero .services-kicker{margin-bottom:14px;color:var(--color-gold-light);font-size:var(--type-label,.75rem);line-height:1.45}
.services-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:4px;
  color:var(--color-gold-light);
  font-size:.9rem;
  font-weight:600;
  line-height:1.5;
  text-decoration:none;
}
.services-link span{transition:transform var(--motion-fast) var(--ease)}
.services-link:hover span{transform:translateX(4px)}

/* Hero */
.services-hero{
  position:relative;
  isolation:isolate;
  display:flex;
  align-items:flex-start;
  min-height:var(--hero-min-height);
  overflow:hidden;
  border-bottom:1px solid var(--border-subtle);
  background:var(--color-navy-950);
}
.services-hero__visual{
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
}
.services-hero__visual img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:right center;
}
.services-hero__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,var(--color-navy-950) 0%,rgba(9,20,38,.98) 27%,rgba(9,20,38,.88) 43%,rgba(9,20,38,.36) 60%,rgba(9,20,38,.05) 80%),
    linear-gradient(180deg,rgba(9,20,38,.18),transparent 32%,transparent 76%,var(--color-navy-950));
}
.services-hero>.services-shell{position:relative;z-index:1}
.services-hero__copy{
  max-width:min(650px,52%);
  padding:clamp(78px,6vw,104px) 0 clamp(42px,3.5vw,56px);
}
.services-hero h1{
  max-width:630px;
  font-size:var(--hero-title-size);
  letter-spacing:-.018em;
  line-height:var(--hero-title-leading);
  text-wrap:balance;
}
.services-hero h1 span{color:var(--color-gold-light)}
.services-hero__copy>p:not(.services-kicker){
  max-width:590px;
  margin:24px 0 0;
}
.services-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

/* Flagship — featured proposition, not a large card */
.services-flagship-rail{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  gap:clamp(34px,6vw,84px);
  align-items:center;
  padding:clamp(30px,3.8vw,48px) 0;
  border-block:1px solid var(--border-gold);
  background:
    linear-gradient(90deg,rgba(201,170,102,.035),transparent 42%);
}
.services-flagship-rail__copy{
  max-width:700px;
}
.services-flagship-rail__copy p:not(.services-kicker){
  max-width:690px;
  margin:16px 0 0;
}
.services-flagship-rail__copy .services-link{
  margin-top:22px;
}
.services-flagship-rail__numbers{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-left:1px solid var(--border-subtle);
}
.services-flagship-rail__numbers>div{
  min-width:0;
  padding:8px 20px 8px 24px;
}
.services-flagship-rail__numbers>div+div{
  border-left:1px solid var(--border-subtle);
}
.services-flagship-rail__numbers strong{
  display:block;
  color:var(--color-gold-light);
  font-family:var(--font-stat);
  font-size:clamp(2rem,3.1vw,3rem);
  font-weight:600;
  letter-spacing:-.04em;
  line-height:1;
}
.services-flagship-rail__numbers span{
  display:block;
  margin-top:7px;
  color:var(--services-muted);
  font-size:.73rem;
  line-height:1.4;
}

/* Editorial service catalogue — scan first, detail on dedicated pages */
.services-options__head{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(300px,.55fr);
  gap:clamp(28px,5vw,72px);
  align-items:end;
  margin:clamp(52px,6vw,72px) 0 24px;
}
.services-options__head h2{
  max-width:680px;
  font-size:clamp(1.9rem,2.65vw,2.7rem);
}
.services-options__head p:last-child{
  max-width:510px;
  margin:0;
  font-size:.92rem;
  line-height:1.6;
}
.services-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  border-top:0;
}
.services-service{
  position:relative;
  display:flex;
  min-width:0;
  min-height:255px;
  flex-direction:column;
  padding:24px;
  border:1px solid var(--services-line);
  border-radius:var(--radius-card);
  background:
    linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));
  transition:
    transform var(--motion-base) var(--ease),
    border-color var(--motion-base) var(--ease),
    background var(--motion-base) var(--ease);
}
.services-service::before{display:none}
.services-service__index{
  position:absolute;
  top:22px;
  right:22px;
  color:rgba(201,170,102,.48);
  font-family:var(--font-label);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.12em;
}
.services-service__title .services-card__meta{
  display:block;
  margin:0 36px 9px 0;
  font-size:.66rem;
}
.services-service__title h3{
  max-width:300px;
  font-size:clamp(1.35rem,1.7vw,1.72rem);
  line-height:1.08;
}
.services-service__body{
  display:flex;
  min-height:0;
  flex:1;
  flex-direction:column;
  max-width:none;
}
.services-service__body p{
  margin:15px 0 0;
  color:var(--services-muted);
  font-size:.88rem;
  line-height:1.55;
}
.services-service__body p+p{margin-top:10px}
.services-service__body>.services-link{
  margin-top:auto;
  padding-top:20px;
}
.services-service__footer{
  display:flex;
  flex:1;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  gap:12px;
  margin-top:18px;
}
.services-service__footer .services-link{margin-top:0}
.services-service__evidence{
  color:var(--color-text-muted);
  font-size:.72rem;
  line-height:1.4;
}
.services-service__evidence strong{
  color:var(--color-gold-light);
  font-family:var(--font-stat);
  font-size:.88rem;
  font-weight:600;
  letter-spacing:-.01em;
}

/* Outcome-led decision board *//* Outcome-led decision board */
.services-outcomes{
  border-block:1px solid var(--border-subtle);
  background:var(--color-navy-950);
}
.services-outcomes__head{
  display:block;
  max-width:760px;
  margin-bottom:32px;
  text-align:left;
}
.services-outcomes__head .services-kicker{margin:0 0 12px}
.services-outcomes__head h2{
  max-width:720px;
  text-align:left;
}
.services-outcome-board{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px;
}
.services-outcome-card{
  grid-column:span 6;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:20px;
  min-height:248px;
  padding:28px;
  border:1px solid var(--services-line);
  border-radius:var(--radius-card);
  background:linear-gradient(145deg,rgba(255,255,255,.038),rgba(255,255,255,.012));
}
.services-outcome-card:nth-child(3){grid-column:span 7}
.services-outcome-card:nth-child(4){grid-column:span 5}
.services-outcome-card:nth-child(5){grid-column:span 12;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;min-height:0}
.services-outcome-card__number{
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.12em;
}
.services-outcome-card h3{
  font-size:clamp(1.55rem,2.4vw,2.35rem);
}
.services-outcome-card p{
  margin:14px 0 0;
  font-size:.94rem;
  line-height:1.65;
}
.services-outcome-card__links{
  grid-column:2;
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:flex-end;
  margin-top:auto;
  padding-top:24px;
}
.services-outcome-card:nth-child(5) .services-outcome-card__links{
  grid-column:3;
  padding:0;
}
.services-outcome-card__links a{
  color:var(--color-gold-light);
  font-size:.83rem;
  font-weight:600;
  text-decoration:none;
}

/* Fit section */
.services-fit__grid{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1fr);
  gap:clamp(44px,8vw,110px);
  align-items:start;
}
.services-fit__intro h2{max-width:520px}
.services-fit__body p{
  max-width:710px;
  margin:0;
}
.services-fit__body p+p{margin-top:20px}
.services-fit__quote{
  grid-column:2;
  margin:12px 0 0;
  padding:28px 0 0;
  border-top:1px solid var(--border-gold);
}
.services-fit__quote span{
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.services-fit__quote p{
  max-width:760px;
  margin:12px 0 0;
  color:var(--color-text-primary);
  font-family:var(--font-heading);
  font-size:clamp(1.7rem,2.8vw,2.7rem);
  line-height:1.15;
}

/* Pre-commit clarity */
.services-commit{padding-top:0}
.services-commit__panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);
  gap:clamp(40px,7vw,90px);
  padding:clamp(38px,5vw,66px);
  border:1px solid var(--border-gold);
  border-radius:var(--radius-panel);
  background:
    radial-gradient(circle at 100% 0,rgba(201,170,102,.09),transparent 40%),
    var(--color-navy-950);
}
.services-commit__copy p:not(.services-kicker){
  max-width:720px;
  margin:22px 0 0;
}
.services-commit__facts{
  border-top:1px solid var(--border-gold);
}
.services-commit__facts>div{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid var(--border-subtle);
}
.services-commit__facts span{
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:.7rem;
  letter-spacing:.1em;
}
.services-commit__facts strong{
  color:var(--color-text-primary);
  font-size:.92rem;
  font-weight:500;
}

/* FAQ */
.services-faq{
  border-top:1px solid var(--border-subtle);
}
.services-faq__grid{
  display:grid;
  grid-template-columns:minmax(300px,.64fr) minmax(0,1fr);
  gap:clamp(44px,8vw,110px);
  align-items:start;
}
.services-faq__intro{
  position:sticky;
  top:112px;
}
.services-faq__intro p:last-child{
  max-width:460px;
  margin:22px 0 0;
}
.services-faq__list{
  border-top:1px solid var(--services-line);
}
.services-faq__item{
  border-bottom:1px solid var(--services-line);
}
.services-faq__item summary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px 44px 24px 0;
  color:var(--color-text-primary);
  cursor:pointer;
  font-family:var(--font-heading);
  font-size:clamp(1.18rem,1.55vw,1.45rem);
  line-height:1.25;
  list-style:none;
}
.services-faq__item summary::-webkit-details-marker{display:none}
.services-faq__item summary::after{
  content:"+";
  position:absolute;
  right:4px;
  top:50%;
  translate:0 -50%;
  color:var(--color-gold-light);
  font-family:var(--font-label);
  font-size:1.3rem;
  font-weight:400;
}
.services-faq__item[open] summary::after{content:"−"}
.services-faq__item>div{
  max-width:760px;
  padding:0 44px 24px 0;
}
.services-faq__item p{margin:0}

.services-end-note{
  padding:18px 0 34px;
  border-top:1px solid var(--border-subtle);
}
.services-disclaimer{
  max-width:860px;
  margin:0;
  color:var(--color-text-muted);
  font-size:.7rem;
  line-height:1.5;
  opacity:.78;
}

@supports (content-visibility:auto){
  .services-page main>.services-section:nth-of-type(n+3){
    content-visibility:auto;
    contain-intrinsic-size:auto 720px;
  }
}

@media(hover:hover){
  .services-service:hover{transform:translateY(-3px);border-color:var(--border-gold);background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.017))}
  .services-outcome-card{
    transition:transform var(--motion-base) var(--ease),border-color var(--motion-base) var(--ease),background var(--motion-base) var(--ease);
  }
  .services-outcome-card:hover{
    transform:translateY(-3px);
    border-color:var(--border-gold);
    background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.016));
  }
}

@media(max-width:1024px){
  .services-hero__copy{max-width:58%}
  .services-flagship-rail{grid-template-columns:1fr;gap:28px}
  .services-flagship-rail__numbers{max-width:720px;border-left:0;border-top:1px solid var(--border-subtle);padding-top:18px}
  .services-flagship-rail__numbers>div:first-child{padding-left:0}
  .services-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-outcome-card,
  .services-outcome-card:nth-child(3),
  .services-outcome-card:nth-child(4){grid-column:span 6}
  .services-commit__panel{grid-template-columns:1fr}
}

@media(max-width:768px){
  .services-shell{width:calc(100% - 40px)}
  .services-section{padding-block:var(--section-compact,clamp(48px,6vw,64px))}
  .services-page h2{font-size:clamp(1.9rem,7.5vw,2.65rem)}
  .services-hero{
    display:flex;
    flex-direction:column;
    min-height:0;
    align-items:stretch;
  }
  .services-hero>.services-shell{order:1}
  .services-hero__copy{
    max-width:none;
    padding:52px 0 20px;
  }
  .services-hero h1{max-width:100%}
  .services-hero__visual{
    position:relative;
    order:2;
    inset:auto;
    width:100%;
    height:clamp(210px,52vw,360px);
  }
  .services-hero__visual img{
    position:absolute;
    right:0;
    top:50%;
    width:155%;
    height:auto;
    transform:translateY(-50%);
    object-fit:initial;
  }
  .services-hero__visual::after{
    background:linear-gradient(180deg,var(--color-navy-950),rgba(9,20,38,.12) 15%,transparent 38%,transparent 78%,var(--color-navy-950));
  }
  .services-options__head,
  .services-fit__grid,
  .services-faq__grid{
    grid-template-columns:1fr;
  }
  .services-options__head{gap:18px;margin-top:var(--section-compact)}
  .services-flagship-rail{padding:28px 0}
  .services-flagship-rail__numbers{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    padding-top:16px;
  }
  .services-flagship-rail__numbers>div{padding:6px 12px}
  .services-flagship-rail__numbers>div:first-child{padding-left:0}
  .services-flagship-rail__numbers strong{font-size:clamp(1.8rem,8vw,2.35rem)}
  .services-list{grid-template-columns:1fr}
  .services-service{
    min-height:0;
    padding:22px;
  }
  .services-service__title h3{max-width:none}
  .services-service__footer{gap:10px}
  .services-outcomes__head{margin-bottom:24px}
  .services-outcome-board{grid-template-columns:1fr}
  .services-outcome-card,
  .services-outcome-card:nth-child(3),
  .services-outcome-card:nth-child(4),
  .services-outcome-card:nth-child(5){
    grid-column:auto;
    grid-template-columns:34px minmax(0,1fr);
    min-height:0;
  }
  .services-outcome-card:nth-child(5) .services-outcome-card__links{
    grid-column:2;
    padding-top:24px;
  }
  .services-fit__grid{gap:30px}
  .services-fit__quote{grid-column:1}
  .services-commit{padding-top:0}
  .services-faq__grid{gap:30px}
  .services-faq__intro{position:static}
}

@media(max-width:480px){
  .services-shell{width:calc(100% - 32px)}
  .services-flagship-rail__numbers{
    grid-template-columns:1fr;
    border-top:1px solid var(--border-subtle);
  }
  .services-flagship-rail__numbers>div,
  .services-flagship-rail__numbers>div:first-child{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:14px;
    align-items:center;
    padding:12px 0;
    border-left:0;
  }
  .services-flagship-rail__numbers>div+div{border-left:0;border-top:1px solid var(--border-subtle)}
  .services-service__title h3{font-size:clamp(1.3rem,6.4vw,1.65rem)}
  .services-outcome-card{padding:24px 20px}
  .services-commit__panel{padding:30px 22px}
  .services-actions{align-items:stretch}
  .services-actions>.button{flex:1 1 auto}
}

@media(prefers-reduced-motion:reduce){
  .services-link span,
  .services-service,
  .services-outcome-card{transition:none}
}
