.service-page {
  --service-shell: min(1480px, calc(100vw - clamp(44px, 8vw, 144px)));
  --service-dark: #070706;
  --service-dark-soft: #0d0b09;
  --service-ink: #251d16;
  --service-paper: #f3eee5;
  --service-paper-deep: #e5dccd;
  background: var(--service-dark);
  color: var(--perbra-champagne-text);
}

.service-page main { overflow: hidden; }
.service-shell { position: relative; width: var(--service-shell); margin-inline: auto; }
.service-kicker { margin: 0; color: var(--perbra-gold-mid); font-size: 10px; line-height: 1.4; font-weight: 700; letter-spacing: .23em; text-transform: uppercase; }

.service-hero {
  position: relative;
  padding: calc(var(--header-height) + clamp(38px, 4.5vw, 68px)) 0 clamp(34px, 4vw, 58px);
  background: radial-gradient(circle at 12% 22%, rgba(165,138,82,.13), transparent 30%), radial-gradient(circle at 88% 82%, rgba(161,145,103,.08), transparent 28%), var(--service-dark);
}
@media (min-width: 1350px) and (hover: hover) and (pointer: fine) {
  .service-hero { display: flex; align-items: center; min-height: 100svh; }
}
.service-hero::before,
.service-section--dark::before,
.service-cta::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .24; background-image: linear-gradient(rgba(213,198,164,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(213,198,164,.04) 1px, transparent 1px); background-size: 48px 48px; }
.service-hero-grid { display: grid; grid-template-columns: minmax(360px,.72fr) minmax(520px,1.28fr); gap: clamp(42px,6vw,104px); align-items: center; margin-top: clamp(24px,3vw,44px); }
.service-hero-copy h1,
.service-section-heading h2,
.service-visit-copy h2,
.service-cta h2 { margin: 0; color: transparent; background: var(--perbra-heading-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; font-family: var(--serif); font-weight: 400; letter-spacing: -.05em; }
.service-hero-copy h1 { max-width: 700px; font-size: clamp(66px,7.1vw,118px); line-height: .83; }
.service-hero-copy > p { max-width: 590px; margin: 15px 0 0; color: rgba(229,222,211,.7); font-size: clamp(13px,.94vw,15.5px); line-height: 1.7; }
.service-hero-copy > .service-hero-lead { margin-top: clamp(24px,2.7vw,38px); color: #d5c6a4; font-family: var(--serif); font-size: clamp(25px,2.2vw,36px); line-height: 1.05; letter-spacing: -.025em; }
.service-text-link { display: inline-flex; gap: 24px; align-items: center; margin-top: 28px; padding-bottom: 9px; border-bottom: 1px solid rgba(213,198,164,.48); color: #d5c6a4; font-size: 10px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.service-hero-media { position: relative; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; border: 1px solid rgba(213,198,164,.48); box-shadow: 0 28px 72px rgba(0,0,0,.42); }
.service-hero-media::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(135deg, rgba(255,255,255,.1), transparent 35%), linear-gradient(180deg, transparent 62%, rgba(0,0,0,.55)); }
.service-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.service-hero-media figcaption { position: absolute; z-index: 1; right: 25px; bottom: 20px; display: flex; gap: 14px; color: #f0ebe1; font-size: 9px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.service-hero-media figcaption span { color: #d5c6a4; }
.service-chapter-nav { position: relative; display: grid; grid-template-columns: repeat(4,1fr); margin-top: clamp(34px,4vw,58px); border-top: 1px solid rgba(213,198,164,.19); border-bottom: 1px solid rgba(213,198,164,.19); }
.service-chapter-nav a { display: flex; align-items: center; gap: 15px; min-height: 64px; padding: 0 clamp(14px,1.7vw,26px); border-right: 1px solid rgba(213,198,164,.15); color: rgba(229,222,211,.7); font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; transition: color .25s ease, background .25s ease; }
.service-chapter-nav a:last-child { border-right: 0; }
.service-chapter-nav a:hover,.service-chapter-nav a:focus-visible { color: #eee3c9; background: rgba(213,198,164,.045); }
.service-chapter-nav span { color: #9f8758; }

.service-section { position: relative; padding: clamp(76px,8vw,122px) 0; scroll-margin-top: var(--header-height); }
.service-section--light { color: var(--service-ink); background: radial-gradient(circle at 7% 6%, rgba(191,145,86,.1), transparent 27%), linear-gradient(135deg,var(--service-paper) 0%,var(--service-paper-deep) 52%,#f1ebe1 100%); }
.service-section--light::before { content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .34; background-image: linear-gradient(rgba(77,58,39,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(77,58,39,.05) 1px,transparent 1px); background-size: 48px 48px; }
.service-section--dark { background: radial-gradient(circle at 80% 20%,rgba(165,138,82,.12),transparent 30%),var(--service-dark-soft); }
.service-section-heading { position: relative; display: grid; grid-template-columns: minmax(170px,.34fr) minmax(0,1fr); gap: clamp(42px,8vw,124px); align-items: start; margin-bottom: clamp(46px,6vw,82px); }
.service-section-heading > .service-kicker { padding-top: 10px; color: #8e7448; }
.service-section-heading > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.58fr); gap: clamp(36px,6vw,86px); align-items: end; }
.service-section-heading h2,.service-visit-copy h2,.service-cta h2 { font-size: clamp(50px,5.6vw,90px); line-height: .88; }
.service-section-heading > div > p { max-width: 500px; margin: 0 0 .3em; color: rgba(43,33,25,.69); font-size: 14px; line-height: 1.76; }
.service-section-heading--dark > div > p { color: rgba(229,222,211,.68); }

.service-editorial { position: relative; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.72fr); min-height: 520px; margin-bottom: clamp(34px,4.5vw,68px); border: 1px solid rgba(104,78,45,.18); background: rgba(248,244,237,.76); box-shadow: 0 24px 58px rgba(56,39,23,.1); }
.service-editorial:last-child { margin-bottom: 0; }
.service-editorial--reverse { grid-template-columns: minmax(360px,.72fr) minmax(0,1.08fr); }
.service-editorial--reverse .service-editorial-media { order: 2; }
.service-editorial-media,.service-decision-media,.service-usage-media,.service-support-media { position: relative; min-height: 0; overflow: hidden; background: #17130f; }
.service-editorial-media::after,.service-decision-media::after,.service-usage-media::after,.service-support-media::after { content: ''; position: absolute; inset: 0; pointer-events: none; border: 1px solid rgba(238,227,201,.13); background: linear-gradient(135deg,rgba(255,255,255,.07),transparent 33%); }
.service-editorial-media img,.service-decision-media img,.service-usage-media img,.service-support-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1),filter .8s ease; }
.service-editorial:hover img,.service-decision-card:hover img,.service-usage-feature:hover img,.service-support-card:hover img { transform: scale(1.022); filter: saturate(1.035) contrast(1.015); }
.service-editorial-copy { position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(38px,4.5vw,72px); }
.service-number { color: #a18859; font-family: var(--serif); font-size: 19px; letter-spacing: .03em; }
.service-label { margin: 18px 0 0 !important; color: #92784b !important; font-size: 9px !important; line-height: 1.4 !important; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.service-editorial-copy h3,.service-decision-copy h3,.service-usage-copy h3,.service-support-copy h3 { margin: 13px 0 24px; color: #2b2119; font-family: var(--serif); font-size: clamp(42px,4vw,66px); line-height: .92; font-weight: 400; letter-spacing: -.045em; }
.service-editorial-copy > p:not(.service-label),.service-decision-copy > p:not(.service-label),.service-usage-copy > p:not(.service-label),.service-support-copy > p { margin: 0 0 16px; color: rgba(43,33,25,.7); font-size: 14px; line-height: 1.75; }
.service-editorial-copy > p:last-child,.service-decision-copy > p:last-child,.service-usage-copy > p:last-child,.service-support-copy > p:last-child { margin-bottom: 0; }

.service-decision-grid { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(28px,4vw,66px); }
.service-decision-card { border: 1px solid rgba(213,198,164,.22); background: rgba(12,10,8,.72); box-shadow: 0 28px 64px rgba(0,0,0,.32); }
.service-decision-card--lower { margin-top: clamp(38px,6vw,92px); }
.service-decision-media { aspect-ratio: 3 / 2; }
.service-decision-copy { padding: clamp(32px,3.5vw,56px); }
.service-decision-copy h3 { color: transparent; background: var(--perbra-heading-gradient); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.service-decision-copy > p:not(.service-label) { color: rgba(229,222,211,.69); }

.service-usage-feature { position: relative; display: grid; grid-template-columns: minmax(0,1.18fr) minmax(360px,.82fr); min-height: 540px; border: 1px solid rgba(104,78,45,.2); background: rgba(248,244,237,.78); box-shadow: 0 24px 58px rgba(56,39,23,.1); }
.service-usage-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px,4.5vw,72px); }
.service-support-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(28px,3vw,46px); margin-top: clamp(28px,3vw,46px); }
.service-support-card { display: grid; grid-template-columns: minmax(0,.83fr) minmax(0,1.17fr); min-height: 390px; border: 1px solid rgba(104,78,45,.19); background: rgba(248,244,237,.72); box-shadow: 0 18px 42px rgba(56,39,23,.08); }
.service-support-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px,3vw,44px); }
.service-support-copy h3 { font-size: clamp(34px,2.7vw,46px); }

.service-visit { position: relative; min-height: clamp(650px,72vh,860px); scroll-margin-top: var(--header-height); overflow: hidden; background: #080706; }
.service-visit-media { position: absolute; inset: 0; }
.service-visit-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,4,3,.9) 0%,rgba(5,4,3,.68) 42%,rgba(5,4,3,.17) 75%,rgba(5,4,3,.25) 100%),linear-gradient(0deg,rgba(4,3,2,.6),transparent 55%); }
.service-visit-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.service-visit-inner { display: flex; align-items: center; min-height: inherit; }
.service-visit-copy { position: relative; z-index: 1; width: min(620px,48%); padding: clamp(48px,5vw,76px) 0; }
.service-visit-copy .service-number { display: block; margin-bottom: 22px; color: #d5c6a4; }
.service-visit-copy h2 { margin: 18px 0 30px; }
.service-visit-copy > p:not(.service-kicker) { margin: 0 0 16px; color: rgba(240,235,225,.76); font-size: 14px; line-height: 1.76; }
.service-gold-button,.service-outline-button { display: flex; align-items: center; justify-content: space-between; width: min(100%,360px); min-height: 62px; padding: 0 24px; font-size: 9px; line-height: 1.3; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; transition: transform .28s ease,filter .28s ease,box-shadow .28s ease; }
.service-gold-button { margin-top: 28px; border: 1px solid rgba(213,198,164,.62); background: var(--perbra-gold-gradient); color: #16120d; box-shadow: 0 18px 36px rgba(0,0,0,.2); }
.service-outline-button { border: 1px solid rgba(213,198,164,.38); color: #ded5c5; }
.service-gold-button:hover,.service-gold-button:focus-visible,.service-outline-button:hover,.service-outline-button:focus-visible { transform: translateY(-2px); filter: brightness(1.05); }

.service-cta { position: relative; padding: clamp(76px,8vw,120px) 0; border-top: 1px solid rgba(213,198,164,.17); background: radial-gradient(circle at 78% 28%,rgba(165,138,82,.13),transparent 31%),var(--service-dark); }
.service-cta-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.62fr); gap: clamp(56px,9vw,150px); align-items: end; }
.service-cta h2 { max-width: 800px; margin-top: 22px; }
.service-cta-inner > div:last-child > p { margin: 0; color: rgba(229,222,211,.7); font-size: 14px; line-height: 1.76; }
.service-cta-actions { display: grid; gap: 12px; margin-top: 27px; }
.service-cta-actions .service-gold-button { margin-top: 0; }
.service-cta small { display: block; max-width: 610px; margin-top: 24px; color: rgba(229,222,211,.43); font-size: 10px; line-height: 1.65; }

@media (max-width: 1180px) {
  .service-hero-grid { grid-template-columns: minmax(310px,.78fr) minmax(470px,1.22fr); gap: 42px; }
  .service-section-heading > div,.service-cta-inner { grid-template-columns: 1fr; gap: 28px; }
  .service-support-card { grid-template-columns: 1fr; }
  .service-support-media { aspect-ratio: 16 / 10; }
}

@media (max-width: 900px) {
  .service-page { --service-shell: min(100% - 40px,760px); }
  .service-hero { padding-top: calc(var(--header-height) + 34px); }
  .service-hero-grid,.service-editorial,.service-editorial--reverse,.service-usage-feature { grid-template-columns: 1fr; }
  .service-hero-copy h1 { font-size: clamp(62px,12vw,92px); }
  .service-hero-media { margin-top: 4px; }
  .service-chapter-nav { grid-template-columns: repeat(2,1fr); }
  .service-chapter-nav a:nth-child(2) { border-right: 0; }
  .service-chapter-nav a:nth-child(-n+2) { border-bottom: 1px solid rgba(213,198,164,.15); }
  .service-section-heading { grid-template-columns: 1fr; gap: 20px; }
  .service-section-heading > .service-kicker { padding-top: 0; }
  .service-editorial,.service-usage-feature { min-height: 0; }
  .service-editorial-media,.service-usage-media { aspect-ratio: 3 / 2; }
  .service-editorial--reverse .service-editorial-media { order: 0; }
  .service-decision-grid,.service-support-grid { grid-template-columns: 1fr; }
  .service-decision-card--lower { margin-top: 0; }
  .service-support-card { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
  .service-support-media { aspect-ratio: auto; }
  .service-visit { min-height: 740px; }
  .service-visit-media::after { background: linear-gradient(90deg,rgba(5,4,3,.88),rgba(5,4,3,.42)),linear-gradient(0deg,rgba(4,3,2,.68),transparent 58%); }
  .service-visit-copy { width: min(620px,80%); }
}

@media (max-width: 600px) {
  .service-page { --service-shell: calc(100vw - 30px); }
  .service-hero { padding-top: calc(var(--header-height) + 24px); padding-bottom: 30px; }
  .service-hero-grid { margin-top: 18px; gap: 30px; }
  .service-hero-copy h1 { font-size: clamp(52px,16vw,72px); line-height: .87; }
  .service-hero-copy > p { margin-top: 22px; font-size: 13.5px; line-height: 1.68; }
  .service-text-link { margin-top: 22px; }
  .service-chapter-nav { margin-top: 30px; }
  .service-chapter-nav a { min-height: 58px; padding-inline: 12px; font-size: 8px; }
  .service-section,.service-cta { padding-block: 62px; }
  .service-section-heading { margin-bottom: 34px; }
  .service-section-heading h2,.service-visit-copy h2,.service-cta h2 { font-size: 48px; line-height: .91; }
  .service-editorial { margin-bottom: 22px; }
  .service-editorial-media,.service-usage-media { aspect-ratio: 16 / 10; }
  .service-editorial-copy,.service-usage-copy,.service-decision-copy,.service-support-copy { padding: 30px 24px 34px; }
  .service-editorial-copy h3,.service-decision-copy h3,.service-usage-copy h3,.service-support-copy h3 { margin: 12px 0 20px; font-size: 40px; }
  .service-editorial-copy > p:not(.service-label),.service-decision-copy > p:not(.service-label),.service-usage-copy > p:not(.service-label),.service-support-copy > p { font-size: 13.5px; line-height: 1.68; }
  .service-decision-grid,.service-support-grid { gap: 22px; }
  .service-support-card { grid-template-columns: 1fr; }
  .service-support-media { aspect-ratio: 16 / 10; }
  .service-visit { min-height: auto; display: grid; }
  .service-visit-media { position: relative; aspect-ratio: 4 / 3; }
  .service-visit-media::after { background: linear-gradient(0deg,rgba(5,4,3,.74),transparent 56%); }
  .service-visit-inner { min-height: 0; }
  .service-visit-copy { width: 100%; padding: 48px 0 60px; }
  .service-gold-button,.service-outline-button { min-height: 58px; }
}

@media (hover:none) and (pointer:coarse) {
  .service-editorial:hover img,.service-decision-card:hover img,.service-usage-feature:hover img,.service-support-card:hover img { transform: none; filter: none; }
}
@media (prefers-reduced-motion:reduce) {
  .service-editorial-media img,.service-decision-media img,.service-usage-media img,.service-support-media img,.service-gold-button,.service-outline-button { transition: none; }
}
