/* Extend the established RE:START type, color and spacing. */
.capability-intro { padding-block: clamp(150px,15vw,210px) 64px; }
.capability-intro h1 { max-width: 1000px; font-size: clamp(32px,4.2vw,60px); line-height: 1.6; margin-block: 24px 30px; text-wrap: balance; }
.capability-intro .prose { max-width: 800px; font: 1rem/2.1 var(--ui); color: #55584f; }
.capability-intro .prose p + p { margin-top: 18px; }
.capability-index { display: flex; flex-wrap: wrap; gap: 8px 32px; padding-block: 22px; border-block: 1px solid var(--line); }
.capability-index a { display: inline-flex; align-items: center; gap: 13px; min-height: 44px; font: .875rem/1.8 var(--ui); }
.capability-index a > span:first-child, .capability-index i { color: var(--gold-ink); font-style: normal; }
.capability-row { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(32px,7vw,105px); padding-block: 76px; border-bottom: 1px solid var(--line); scroll-margin-top: 115px; }
.capability-row h2 { margin-top: 23px; max-width: 430px; font-size: clamp(25px,2.6vw,36px); line-height: 1.8; text-wrap: balance; }
.capability-row .eyebrow, .capability-teaser .eyebrow, .capability-guidance > .eyebrow, .wordpress-scope-grid .eyebrow, .wordpress-estimate .eyebrow { font-size: .875rem; }
.capability-copy { min-width: 0; font: 1rem/2.1 var(--ui); color: #55584f; }
.capability-copy > p + p { margin-top: 20px; }
.capability-copy ul { padding: 22px 0 22px 1.3em; }
.capability-copy li { padding-left: 5px; margin-block: 7px; }
.capability-scope { font: .875rem/1.95 var(--ui); color: #62655c; padding-top: 20px; border-top: 1px solid var(--line); }
.capability-actions { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 10px 25px; margin-top: 25px; }
.capability-actions .text-link, .capability-guidance > .text-link, .wordpress-related .text-link { max-width: 100%; font-size: .875rem; }
.capability-guidance { padding-block: 88px; }
.capability-guidance > h2, .wordpress-explanation h2, .wordpress-related h2 { margin-block: 20px 28px; font-size: clamp(25px,2.8vw,38px); line-height: 1.85; }
.capability-guidance > p:not(.eyebrow), .wordpress-related > p, .wordpress-estimate p:not(.eyebrow) { max-width: 780px; font: 1rem/2.1 var(--ui); color: #55584f; }
.capability-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 38px; margin-block: 46px; }
.capability-steps h3 { font-size: 1.2rem; margin-bottom: 15px; }
.capability-steps p, .wordpress-scope-grid p { font: 1rem/2 var(--ui); color: #55584f; }
.capability-guidance > .capability-scope { font-size: .875rem; margin-bottom: 25px; }
.capability-teaser { display: grid; grid-template-columns: 1.3fr 1fr; gap: 55px; align-items: center; margin-block: 10px 60px; padding-block: 42px; border-block: 1px solid var(--line); }
.capability-teaser h2 { font-size: clamp(22px,2.3vw,32px); line-height: 1.85; margin-top: 16px; }
.capability-teaser p:not(.eyebrow) { font: .9375rem/2 var(--ui); color: #55584f; margin-top: 16px; }
.capability-teaser nav { display: grid; gap: 22px; }
.capability-teaser .text-link { font-size: .9375rem; max-width: 100%; }
.front-services .capability-teaser { margin-block: 65px 0; }
.wordpress-explanation { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; padding-block: 90px 35px; scroll-margin-top: 120px; }
.wordpress-publish-flow { display: flex; list-style: none; padding: 30px 0; gap: 15px; align-items: center; flex-wrap: wrap; }
.wordpress-publish-flow li { padding: 0; margin: 0; font-size: .875rem; }
.wordpress-publish-flow li + li::before { content: '→'; margin-right: 15px; color: var(--gold-ink); }
.wordpress-scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px 60px; margin-top: 40px; }
.wordpress-scope-grid article { border-top: 1px solid var(--line); padding-top: 24px; }
.wordpress-scope-grid h3 { font-size: 1.25rem; line-height: 1.8; margin-block: 14px 18px; }
.wordpress-estimate { border-block: 1px solid var(--line); padding-block: 45px; display: grid; gap: 30px; }
.wordpress-estimate h2 { font-size: clamp(23px,2.3vw,31px); margin-block: 20px; }
.wordpress-estimate .text-link { width: fit-content; max-width: 100%; font-size: .9375rem; }
.wordpress-related { padding-block: 30px 85px; }
.wordpress-related .text-link { margin-top: 22px; }
.wordpress-related .capability-reference { font-size: .875rem; margin-top: 40px; }
.capability-reference a { text-decoration: underline; text-underline-offset: 4px; }
#wordpress-scope, #wordpress-process, #wordpress-faq { scroll-margin-top: 120px; }
.page-functions .text-link, .page-wordpress .text-link { overflow-wrap: anywhere; }
@media (max-width:760px) {
  .capability-row, .wordpress-explanation, .capability-teaser { grid-template-columns: 1fr; gap: 28px; }
  .capability-row { padding-block: 48px; }
  .capability-row h2 { max-width: none; }
  .capability-steps, .wordpress-scope-grid { grid-template-columns: 1fr; gap: 28px; }
  .capability-guidance { padding-block: 60px; }
  .capability-teaser { margin-block: 20px 45px; padding-block: 30px; }
  .capability-intro { padding-block: 140px 42px; }
  .capability-index { gap: 5px 23px; }
  .capability-index a { font-size: .875rem; }
  .wordpress-explanation { padding-top: 55px; }
  .capability-actions { display: grid; }
}

/* Service visual edition — light, materials, and the situations behind each function. */
:root {
  --cap-paper: #f8f7f6;
  --cap-panel: #efede7;
  --cap-ink: #30332f;
  --cap-muted: #61645d;
  --cap-gold: #d4b787;
  --cap-gold-ink: #786443;
  --cap-line: #dcdad3;
  --cap-shadow: 0 24px 60px -32px rgba(51,48,39,.28);
}
.capability-hero { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(40px,6vw,90px); align-items: center; padding-block: 166px 94px; }
.capability-hero-copy { min-width: 0; }
.capability-hero .eyebrow { font-size: 13px; color: var(--cap-gold-ink); margin-bottom: 28px; }
.capability-hero h1 { font-size: clamp(32px,3.3vw,48px); line-height: 1.65; letter-spacing: .025em; margin-bottom: 28px; text-wrap: initial; }
.capability-hero .prose { font: 15px/2.15 var(--ui); letter-spacing: .025em; color: var(--cap-muted); max-width: 455px; }
.capability-hero .text-link { margin-top: 22px; font: 14px/1.8 var(--ui); min-width: 225px; }
.capability-hero-photo { align-self: stretch; position: relative; min-height: 465px; padding-bottom: 72px; }
.capability-hero-photo > img { width: 100%; height: 100%; object-fit: cover; object-position: 57% center; }
.capability-hero-photo figcaption { position: absolute; right: -1px; bottom: 0; width: 88%; padding: 24px 0 0 28px; background: var(--cap-paper); }
.capability-hero-photo figcaption span { display: block; font-size: 18px; }
.capability-hero-photo figcaption small { display: block; margin-top: 7px; color: var(--cap-muted); font: 12px/1.6 var(--en); letter-spacing: .15em; }
.capability-purpose { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px; margin-bottom: 44px; }
.capability-purpose a { position: relative; border-top: 1px solid var(--cap-gold); padding: 24px 24px 24px 0; }
.capability-purpose a > span { color: var(--cap-gold-ink); font: 12px/1.8 var(--ui); }
.capability-purpose h2 { font-size: clamp(18px,1.7vw,24px); line-height: 1.9; margin-top: 16px; letter-spacing: .015em; }
.capability-purpose i { position: absolute; right: 0; bottom: 27px; font: normal 25px/1 var(--en); color: var(--cap-gold-ink); transition: transform .25s; }
.capability-purpose a:hover i { transform: translate(3px,3px); }
.capability-index { gap: 2px 24px; padding-block: 18px; }
.capability-index a { font-size: 12px; gap: 9px; }
#function-index { scroll-margin-top: 110px; }
.capability-row { grid-template-columns: 1fr 1fr; grid-template-areas: 'heading visual' 'copy visual'; column-gap: clamp(40px,7vw,105px); row-gap: 0; padding-block: 104px; align-items: start; }
.capability-row > header { grid-area: heading; }
.capability-row > .capability-copy { grid-area: copy; }
.capability-feature-visual { grid-area: visual; align-self: center; min-width: 0; }
.capability-row--updates, .capability-row--catalog { grid-template-areas: 'visual heading' 'visual copy'; }
.capability-row--commerce, .capability-row--inquiry { grid-template-areas: 'heading copy'; padding-block: 64px; }
.capability-label { display: flex; gap: 20px; align-items: center; color: var(--cap-gold-ink); font: 13px/1.8 var(--ui); letter-spacing: .035em; }
.capability-label > span { font: 28px/1 var(--en); font-variant-numeric: tabular-nums; }
.capability-row h2 { font-size: clamp(25px,2.35vw,34px); line-height: 1.75; margin: 20px 0 28px; max-width: none; letter-spacing: .025em; text-wrap: initial; }
.capability-copy { font-size: 15px; line-height: 2; letter-spacing: .025em; }
.capability-copy ul { list-style: none; padding: 22px 0; }
.capability-copy li { position: relative; padding-left: 18px; margin-block: 9px; font-size: 14px; }
.capability-copy li::before { content: ''; position: absolute; width: 5px; height: 1px; left: 0; top: 1em; background: var(--cap-gold-ink); }
.capability-scope { font-size: 12px; line-height: 1.9; border: 0; padding: 15px 18px; background: var(--cap-panel); }
.capability-actions { display: grid; gap: 4px; margin-top: 20px; }
.capability-actions .text-link { font-size: 13px; gap: 18px; width: 100%; min-width: 0; }
.capability-actions .text-link + .text-link { border-bottom: 0; color: var(--cap-muted); }
.capability-editor { background: var(--cap-paper); border: 1px solid var(--cap-line); box-shadow: var(--cap-shadow); font-family: var(--ui); letter-spacing: .02em; transform: translateY(-6px); }
.editor-bar { display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--cap-line); padding: 18px 24px; font-size: 12px; }
.editor-bar > span:last-child { color: var(--cap-gold-ink); }
.editor-body { padding: 30px; }
.editor-field small, .editor-article small { display: block; color: var(--cap-muted); font-size: 11px; margin-bottom: 12px; }
.editor-field p { font-family: var(--jp); font-size: 20px; line-height: 1.8; padding-bottom: 21px; border-bottom: 1px solid var(--cap-line); }
.editor-article { display: grid; grid-template-columns: .85fr 1.15fr; gap: 24px; align-items: center; margin-block: 26px; }
.editor-article img { width: 100%; height: 145px; object-fit: cover; }
.editor-article p { font-size: 12px; line-height: 2; }
.editor-publish { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid var(--cap-line); font-size: 11px; color: var(--cap-gold-ink); }
.capability-editor figcaption { border-top: 1px solid var(--cap-line); padding: 15px 24px; font: 11px/1.9 var(--ui); color: var(--cap-muted); background: var(--cap-panel); }
.capability-field { position: relative; padding-bottom: 120px; }
.capability-field > img { width: 100%; height: 370px; object-fit: cover; object-position: 34% center; }
.field-notice { position: absolute; bottom: 50px; right: -20px; width: 79%; padding: 24px 28px; background: var(--cap-paper); box-shadow: var(--cap-shadow); }
.field-notice > span { font: 11px/1.8 var(--ui); color: var(--cap-gold-ink); }
.field-notice strong { display: block; font-size: 24px; font-weight: 400; margin-block: 7px 12px; }
.field-notice p { font: 13px/1.9 var(--ui); }
.field-notice > div { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 17px; border-top: 1px solid var(--cap-line); padding-top: 15px; }
.field-notice b { font: 25px/1.3 var(--en); letter-spacing: .03em; white-space: nowrap; }
.field-notice div span { font: 11px/1.5 var(--ui); color: var(--cap-gold-ink); }
.capability-field figcaption { position: absolute; bottom: 0; left: 0; color: var(--cap-muted); font: 11px/1.9 var(--ui); }
.capability-calendar { background: var(--cap-panel); padding: 32px; font-family: var(--ui); letter-spacing: .02em; }
.calendar-heading > span { color: var(--cap-gold-ink); font-size: 11px; }
.calendar-heading strong { display: block; font: 22px/1.8 var(--jp); margin-block: 10px 20px; }
.calendar-heading p { font-size: 12px; margin-bottom: 20px; }
.capability-calendar table { width: 100%; border-collapse: collapse; font-size: 12px; font-variant-numeric: tabular-nums; text-align: center; }
.capability-calendar caption { text-align: left; font-size: 11px; color: var(--cap-muted); margin-bottom: 10px; }
.capability-calendar th { font-weight: 400; }
.capability-calendar th, .capability-calendar td { padding: 12px 3px; border-block: 1px solid var(--cap-line); }
.capability-calendar td { font-size: 17px; color: #8d8c82; }
.capability-calendar .is-available { color: var(--cap-gold-ink); background: rgba(248,247,246,.65); }
.calendar-key { display: flex; gap: 20px; margin-top: 16px; font-size: 11px; }
.capability-calendar figcaption { font-size: 11px; line-height: 1.9; color: var(--cap-muted); margin-top: 20px; }
.capability-objects > img { width: 100%; height: 400px; object-fit: cover; }
.capability-objects figcaption { display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; align-items: center; padding-top: 18px; font-size: 15px; }
.capability-objects small { font: 11px/1.8 var(--ui); color: var(--cap-muted); }
.capability-gallery { display: block; overflow: hidden; }
.capability-gallery img { width: 100%; height: 360px; object-fit: cover; transition: transform .7s ease; }
.capability-gallery:hover img { transform: scale(1.025); }
.capability-gallery > div { padding: 22px 0; }
.capability-gallery > div span { font: 12px/1.8 var(--ui); color: var(--cap-muted); }
.capability-gallery strong { display: flex; justify-content: space-between; font: 21px/1.8 var(--jp); margin-top: 10px; border-bottom: 1px solid var(--cap-line); padding-bottom: 16px; }
.capability-gallery i { font-style: normal; color: var(--cap-gold-ink); }
.capability-guidance { padding-block: 105px; }
.capability-guidance > h2 { letter-spacing: .015em; }
.capability-guidance > p:not(.eyebrow) { font-size: 15px; }
.capability-steps { gap: 45px; margin-block: 48px; counter-reset: cap-step; }
.capability-steps > div { border-top: 1px solid var(--cap-gold); padding-top: 23px; counter-increment: cap-step; }
.capability-steps > div::before { content: '0' counter(cap-step); display: block; font: 28px/1 var(--en); color: var(--cap-gold-ink); margin-bottom: 24px; }
.capability-steps p { font-size: 14px; }
.capability-guidance > .capability-scope { font-size: 12px; max-width: none; margin-bottom: 20px; }
.capability-image-note, .capability-guidance > .capability-image-note { font: 11px/1.9 var(--ui); color: var(--cap-muted); margin-top: 45px; }
.capability-teaser { grid-template-columns: .85fr 1.15fr; padding-block: 50px; gap: 65px; }
.capability-teaser-image { height: 300px; overflow: hidden; }
.capability-teaser-image img { width: 100%; height: 100%; object-fit: cover; }
.capability-teaser .eyebrow { font-size: 12px; margin-bottom: 20px; }
.capability-teaser p:not(.eyebrow) { font-size: 14px; }
.capability-teaser nav { margin-top: 15px; gap: 0; }
.capability-teaser .text-link { font-size: 13px; }
.wordpress-explanation { padding-block: 100px 30px; grid-template-columns: 1fr 1fr; grid-template-areas: 'heading editor' 'copy editor'; gap: 0 70px; }
.wordpress-explanation > div:first-child { grid-area: heading; }
.wordpress-explanation > .capability-copy { grid-area: copy; }
.wordpress-explanation > .capability-editor { grid-area: editor; align-self: center; }
.wordpress-publish-flow { font-size: 12px; }
.capability-copy .wordpress-publish-flow li { padding: 0; margin: 0; font-size: 12px; white-space: nowrap; }
.capability-copy .wordpress-publish-flow li::before { content: none; }
.capability-copy .wordpress-publish-flow li + li::before { content: '→'; position: static; display: inline; width: auto; height: auto; background: none; margin-right: 12px; }
.wordpress-scope-grid { gap: 38px 64px; }
.wordpress-scope-grid h3 { margin-top: 12px; }
.wordpress-scope-grid .eyebrow { font-size: 30px; color: var(--cap-gold-ink); }
.wordpress-scope-grid p { font-size: 15px; }
.page-wordpress .section-space { padding-block: 100px; }
.wordpress-estimate { background: var(--cap-panel); padding: 38px 45px; border: 0; }
@media (min-width:1500px) { .capability-hero { width: min(100% - 128px, 1320px); grid-template-columns: .9fr 1.1fr; } .capability-hero-photo { min-height: 530px; } }
@media (max-width:1000px) {
  .capability-hero { gap: 32px; padding-top: 140px; }
  .capability-hero h1 { font-size: 32px; }
  .capability-hero-photo { min-height: 450px; }
  .capability-hero-photo figcaption { width: 94%; padding-left: 20px; }
  .capability-hero-photo figcaption span { font-size: 15px; }
  .capability-row { column-gap: 36px; }
  .capability-row h2 { font-size: 26px; }
  .editor-body { padding: 22px; }
  .editor-article { grid-template-columns: 1fr; gap: 16px; }
  .editor-article p br { display: none; }
  .capability-calendar { padding: 24px; }
  .calendar-heading strong { font-size: 19px; }
  .capability-teaser { gap: 38px; }
}
@media (max-width:760px) {
  .capability-hero { grid-template-columns: 1fr; gap: 32px; padding-block: 130px 50px; }
  .capability-hero h1 { font-size: clamp(29px,7vw,40px); margin-bottom: 20px; line-height: 1.65; }
  .capability-hero .eyebrow { margin-bottom: 20px; }
  .capability-hero .prose { max-width: none; font-size: 14px; }
  .capability-hero .text-link { margin-top: 15px; }
  .capability-hero-photo { height: 310px; min-height: 0; padding-bottom: 66px; }
  .capability-hero-photo > img { object-position: center; }
  .capability-hero-photo figcaption { width: 91%; padding-top: 18px; }
  .capability-hero-photo figcaption span { font-size: 16px; }
  .capability-purpose { grid-template-columns: 1fr; gap: 0; margin-bottom: 28px; }
  .capability-purpose a { display: grid; grid-template-columns: .85fr 1.15fr; gap: 12px; align-items: center; padding-block: 20px; }
  .capability-purpose h2 { font-size: 16px; margin: 0; }
  .capability-purpose a > span { font-size: 11px; }
  .capability-purpose i { font-size: 20px; bottom: 25px; }
  .capability-index { gap: 0 18px; padding-block: 16px; }
  .capability-index a { font-size: 12px; }
  .capability-row, .capability-row--updates, .capability-row--catalog { grid-template-columns: 1fr; grid-template-areas: 'heading' 'visual' 'copy'; gap: 0; padding-block: 65px; }
  .capability-row--commerce, .capability-row--inquiry { grid-template-areas: 'heading' 'copy'; }
  .capability-row h2 { font-size: 26px; margin-bottom: 26px; }
  .capability-feature-visual { margin-bottom: 32px; }
  .capability-copy { font-size: 15px; }
  .capability-copy li { font-size: 13px; }
  .capability-scope { padding: 15px; }
  .capability-editor { transform: none; }
  .editor-bar { padding: 15px 20px; }
  .editor-article { grid-template-columns: .85fr 1.15fr; gap: 18px; }
  .editor-article img { height: 120px; }
  .editor-field p { font-size: 18px; }
  .editor-publish { gap: 10px; }
  .capability-editor figcaption { padding: 13px 20px; }
  .capability-field { padding-bottom: 140px; }
  .capability-field > img { height: 300px; }
  .field-notice { right: 0; width: 88%; padding: 22px; }
  .capability-objects > img { height: 310px; }
  .capability-calendar { padding: 25px 22px; }
  .capability-calendar th, .capability-calendar td { padding-block: 12px; }
  .capability-gallery img { height: 300px; }
  .capability-guidance { padding-block: 65px; }
  .capability-steps { gap: 30px; }
  .capability-steps > div::before { margin-bottom: 14px; }
  .capability-teaser { grid-template-columns: 1fr; gap: 26px; padding-block: 34px; }
  .capability-teaser-image { height: 225px; }
  .capability-teaser-copy h2 { font-size: 25px; }
  .wordpress-explanation { padding-top: 64px; grid-template-columns: 1fr; grid-template-areas: 'heading' 'editor' 'copy'; gap: 26px; }
  .wordpress-explanation h2 { margin-bottom: 0; }
  .wordpress-scope-grid { gap: 30px; }
  .wordpress-estimate { padding: 28px 24px; }
  .page-wordpress .section-space { padding-block: 60px; }
}
@media (prefers-reduced-motion:reduce) {
  .capability-purpose i, .capability-gallery img { transition: none; }
  .capability-purpose a:hover i, .capability-gallery:hover img { transform: none; }
}
