/* Service detail pages */
.service-page .nav{position:sticky}
.inner-hero{
  padding:92px 0 58px;
  overflow:hidden;
}
.inner-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(360px,.78fr);
  gap:72px;
  align-items:center;
}
.inner-breadcrumb{
  display:inline-flex;
  gap:8px;
  align-items:center;
  color:var(--muted);
  font-size:13px;
  margin-bottom:42px;
}
.inner-breadcrumb a{color:#8B672F;font-weight:650}
.inner-kicker{
  color:#B8860B;
  font-family:var(--mono);
  font-size:12px;
  font-weight:750;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.inner-title{
  max-width:760px;
  font-size:clamp(48px,7vw,88px);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:750;
}
.inner-title span{color:#BA8D49;font-weight:400}
.inner-lede{
  max-width:620px;
  margin-top:26px;
  color:rgba(14,28,41,.68);
  font-size:20px;
  line-height:1.65;
}
.inner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:32px;
}
.btn-soft{
  border-color:rgba(117,84,34,.28);
  color:#755422;
  background:rgba(255,255,255,.45);
}
.inner-media{
  width:100%;
  min-height:420px;
  margin:0;
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(14,28,41,.1);
  box-shadow:0 34px 80px -52px rgba(14,28,41,.52);
}
.inner-media .media-photo span{
  max-width:280px;
  font-size:18px;
}
.inner-section{
  padding:78px 0;
}
.inner-split{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1fr);
  gap:72px;
  align-items:start;
}
.inner-section h2{
  font-size:clamp(34px,4vw,56px);
  letter-spacing:-.04em;
  font-weight:650;
}
.inner-section p{
  color:var(--muted);
  font-size:17px;
  line-height:1.75;
}
.inner-copy{
  display:grid;
  gap:18px;
}
.capability-list,
.detail-list{
  display:grid;
  gap:12px;
  list-style:none;
  padding:0;
  margin:0;
}
.capability-list li,
.detail-list li{
  border:1px solid rgba(14,28,41,.08);
  background:rgba(255,255,255,.58);
  border-radius:14px;
  padding:16px 18px;
  color:rgba(14,28,41,.72);
  box-shadow:0 12px 30px -28px rgba(14,28,41,.25);
}
.capability-list strong,
.detail-list strong{
  display:block;
  color:var(--navy);
  margin-bottom:4px;
}
.service-faq{
  max-width:920px;
  margin:0 auto;
}
.inner-cta{
  padding:78px 0 92px;
}
.inner-reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1);
}
.inner-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}
@media (max-width: 900px){
  .inner-hero-grid,
  .inner-split{
    grid-template-columns:1fr;
    gap:34px;
  }
  .inner-media{min-height:320px}
}
@media (max-width: 640px){
  .inner-hero{padding:58px 0 36px}
  .inner-breadcrumb{margin-bottom:28px}
  .inner-title{font-size:44px}
  .inner-lede{font-size:17px}
  .inner-section{padding:54px 0}
  .inner-media{min-height:240px;border-radius:24px}
  .inner-actions .btn{width:100%;justify-content:center}
}
/* Alternating service-page rhythm */
.service-page .inner-section:nth-of-type(even){
  background:linear-gradient(180deg, rgba(255,255,255,.34), rgba(250,250,248,.08));
}
.service-page .inner-section:nth-of-type(odd) .inner-split > :first-child{grid-column:2}
.service-page .inner-section:nth-of-type(odd) .inner-split > :last-child{grid-column:1;grid-row:1}
.service-page .inner-section:nth-of-type(odd) .inner-split{
  grid-template-columns:minmax(0,1fr) minmax(0,.75fr);
}
.form-status{
  margin-top:14px;
  padding:12px 14px;
  border-radius:12px;
  font-size:14px;
  font-weight:650;
  text-align:center;
}
.form-status.pending{background:rgba(255,255,255,.12);color:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.18)}
.form-status.success{background:rgba(86,150,83,.16);color:#DFF4D9;border:1px solid rgba(137,190,125,.28)}
.form-status.error{background:rgba(190,67,54,.16);color:#FFD8D3;border:1px solid rgba(255,130,116,.28)}
.quote-quick .form-status{grid-column:1/-1;color:var(--navy)}
.quote-quick .form-status.pending{background:rgba(186,141,73,.12);border-color:rgba(186,141,73,.22)}
.quote-quick .form-status.success{background:rgba(86,150,83,.12);border-color:rgba(86,150,83,.22)}
.quote-quick .form-status.error{background:rgba(190,67,54,.12);border-color:rgba(190,67,54,.22)}
@media (max-width: 900px){
  .service-page .inner-section:nth-of-type(odd) .inner-split,
  .service-page .inner-section:nth-of-type(even) .inner-split{grid-template-columns:1fr}
  .service-page .inner-section:nth-of-type(odd) .inner-split > :first-child,
  .service-page .inner-section:nth-of-type(odd) .inner-split > :last-child{grid-column:auto;grid-row:auto}
}
