/* Shared 4u Digital service and project pages. Product pixels keep their source colors. */
.offer-proof-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.5rem; margin-top: 2rem; align-items: start; }
.offer-proof-grid > * { min-width: 0; }
.offer-image-context { padding: 0 1.25rem 1.25rem; font-size: .8125rem; line-height: 1.7; color: var(--muted); }
.offer-client-feedback blockquote { margin: 1rem 0; font-size: 1.125rem; line-height: 1.7; }
.offer-client-feedback .text-link { margin-top: 1.5rem; }
.service-website-offer { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; padding: 1.5rem; margin-bottom: 2rem; border: 1px solid #bbb; border-radius: .75rem; background: #f6f6f6; }
.service-website-offer > .eyebrow { flex-basis: 100%; }
.service-website-offer > p:not(.eyebrow) { flex: 1 1 25rem; max-width: 50rem; color: var(--muted); font-size: .9375rem; line-height: 1.7; }
.service-website-offer > a { flex: 0 1 auto; }
@media (max-width: 700px) { .offer-proof-grid { grid-template-columns: minmax(0, 1fr); } }
.service-discovery { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.service-discovery > p { color: var(--muted); line-height: 1.7; max-width: 48rem; }
.related-links { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin-top: 1.5rem; }
.related-links a { text-decoration: underline; text-underline-offset: 0.3rem; line-height: 1.6; }
@media (pointer: coarse), (max-width: 900px) {
  .related-links a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; padding-block: .375rem; }
}
.footer-pages { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #595959; line-height: 1.6; }
.no-js-help { margin-top: 1rem; line-height: 1.6; color: var(--muted); }
html:not(.js-enabled) .screen-choices,
html:not(.js-enabled) .archive-controls { display: none; }
html:not(.js-enabled) .menu-toggle { display: none; }
html:not(.js-enabled) #main-nav { display: flex; position: static; flex-direction: row; align-items: center; flex-wrap: wrap; width: auto; background: none; padding: 0; border: 0; border-radius: 0; box-shadow: none; }
html:not(.js-enabled) .site-header { flex-wrap: wrap; row-gap: 1.25rem; }
.content-page .page-header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; position: relative; top: auto; min-height: 6.5rem; border-bottom: 1px solid var(--line); }
.content-page .page-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.5rem; }
.content-page .page-nav > a:not(.nav-contact) { color: var(--muted); text-underline-offset: .4rem; text-decoration-thickness: 1px; }
.content-page .page-nav > a[aria-current] { color: var(--ink); text-decoration: underline; font-weight: 600; }
.content-page .page-nav .nav-contact { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1rem; border: 1px solid var(--ink); border-radius: var(--control-corner); background: var(--ink); color: white; font-weight: 550; white-space: nowrap; }
.content-page .page-main { padding-top: 2rem; padding-bottom: 5rem; }
.breadcrumbs ol { display: flex; gap: 0.5rem; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; font-size: 0.875rem; color: var(--muted); }
.breadcrumbs li + li::before { content: "/"; margin-right: 0.5rem; color: var(--muted); }
.breadcrumbs a:hover { color: var(--ink); text-decoration: underline; }
.page-intro { padding: clamp(2.75rem, 5vw, 4.75rem) 0 3.75rem; max-width: 66rem; }
.page-intro h1 { font-family: var(--display); font-size: clamp(2.75rem, 5.2vw, 4.75rem); letter-spacing: -0.065em; line-height: 1.1; font-weight: 650; margin-top: 1.25rem; text-wrap: balance; }
.page-lead { font-size: clamp(1.0625rem, 1.7vw, 1.25rem); line-height: 1.75; color: var(--muted); margin-top: 1.5rem; max-width: 48rem; }
.page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.25rem 2rem; margin-top: 2rem; }
.page-section { border-top: 1px solid var(--line); padding: 3.75rem 0; scroll-margin-top: 2rem; }
.page-section h2, .page-callout h2 { font-family: var(--display); font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.2; letter-spacing: -0.05em; font-weight: 600; max-width: 52rem; }
.page-section h3 { font-family: var(--display); font-size: 1.25rem; line-height: 1.4; margin-bottom: 0.75rem; font-weight: 600; }
.page-section > p, .page-columns p, .service-page-card p, .page-callout p { line-height: 1.75; color: var(--muted); max-width: 50rem; }
.page-section > p { margin-top: 1.5rem; }
.page-section > h3 { margin-top: 2rem; }
.page-section > .text-link, .page-section > .button { margin-top: 1.5rem; display: inline-flex; }
.page-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.page-columns article { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--corner); background: #fff; }
.page-list { line-height: 1.75; color: var(--muted); max-width: 52rem; padding-left: 1.25rem; margin: 1.5rem 0; }
.page-list li + li { margin-top: 0.625rem; }
.page-list strong { color: var(--ink); }
.service-page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.service-page-card { border: 1px solid var(--line); padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: var(--corner); min-width: 0; display: flex; flex-direction: column; align-items: flex-start; background: var(--surface-soft); }
.service-card-topline { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; }
.service-card-index { color: var(--muted); }
.service-page-card h2 { font-family: var(--display); font-size: 1.75rem; line-height: 1.3; letter-spacing: -0.045em; margin: 0.875rem 0 1rem; }
.service-page-card .text-link { display: inline-flex; margin-top: auto; padding-top: 1.75rem; }
.service-choice-section > p { margin-top: 1rem; }
.service-choice-section .service-page-grid { margin-top: 2rem; }
.service-choice { position: relative; background: #fff; }
.service-choice > .eyebrow { font-size: .625rem; line-height: 1.6; }
.service-choice h3 { font-family: var(--display); font-size: clamp(1.5rem, 2.4vw, 1.875rem); line-height: 1.25; letter-spacing: -.045em; margin: 1rem 0; }
.service-choice h3 a { display: inline-flex; align-items: center; min-height: 44px; }
.service-choice h3 a::after { content: ""; position: absolute; inset: 0; border-radius: var(--corner); }
.service-choice:focus-within { outline: 2px solid var(--ink); outline-offset: 4px; }
.service-choice h3 a:focus-visible { outline: none; }
.service-choice .text-link { font-size: .875rem; font-weight: 550; }
.service-index-page .service-website-offer h2 { flex-basis: 100%; font-family: var(--display); font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.25; letter-spacing: -.04em; }
.service-website-offer > a { display: inline-flex; align-items: center; min-height: 44px; }
.service-index-page .booking-destination { margin-top: 1rem; font-size: .875rem; line-height: 1.7; color: var(--muted); max-width: 40rem; }
.page-callout .service-comparison-link { margin-top: 1.5rem; margin-bottom: 0; font-size: .875rem; }
.seo-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.work-page-grid { margin-top: 0; }
.seo-project-card { border: 1px solid var(--line); border-radius: var(--corner); overflow: hidden; min-width: 0; display: flex; flex-direction: column; background: #fff; }
.seo-project-cover { display: grid; place-items: center; aspect-ratio: 16 / 10; padding: 1rem; background: #f3f3f3; }
.seo-project-cover img { width: 100%; height: 100%; max-height: 20rem; object-fit: contain; filter: none; mix-blend-mode: normal; }
.seo-project-body { padding: 1.5rem; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.seo-project-body h3 { font-family: var(--display); font-size: 1.25rem; line-height: 1.4; margin-top: 0.75rem; margin-bottom: 0.75rem; }
.seo-project-body p { line-height: 1.65; color: var(--muted); }
.seo-project-body .eyebrow { font-size: 0.6875rem; }
.seo-project-body .text-link { display: inline-flex; margin-top: auto; padding-top: 1.5rem; font-size: 0.875rem; }
.seo-project-heading { display: flex; align-items: center; gap: 0.75rem; margin: 0.875rem 0; }
.seo-project-heading h3 { margin: 0; }
.seo-project-heading .project-icon-frame { flex-basis: 2.5rem; width: 2.5rem; height: 2.5rem; }
.page-intro .page-project-title { display: flex; align-items: center; gap: 1.25rem; }
.page-project-title .project-icon-frame { flex-basis: 4rem; flex-shrink: 0; width: 4rem; height: 4rem; }
.page-project-title > span:last-child { min-width: 0; }
.page-callout { background: var(--surface-soft); padding: clamp(1.75rem, 3.5vw, 3rem); border: 1px solid var(--line); border-radius: var(--corner); margin: 1.25rem 0 3rem; }
.page-callout p { margin: 1.25rem 0 1.5rem; }
.page-callout .text-link { display: inline-flex; margin-bottom: 1.5rem; }
.consultation-callout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 2rem 3rem; align-items: center; }
.consultation-callout h2 { margin-top: .875rem; }
.consultation-callout p:last-child { margin-bottom: 0; }
.consultation-callout .page-actions { flex-direction: column; align-items: flex-start; justify-self: center; margin-top: 0; }
.consultation-callout .page-actions .text-link { margin-bottom: 0; font-size: .875rem; }
.page-section-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; border-block: 1px solid var(--line); padding: 1.25rem 0; }
.page-section-nav > span { color: var(--muted); margin-right: auto; }
.page-section-nav a { display: inline-flex; align-items: center; gap: .75rem; font-size: .875rem; font-weight: 550; }
.page-section-nav + .page-section { border-top: 0; }
.kickoff-form, .kickoff-review { scroll-margin-top: 2rem; max-width: 62rem; }
.kickoff-form-intro { border-top: 1px solid var(--line); padding-top: 2.5rem; margin-bottom: 2.5rem; }
.kickoff-form h2, .kickoff-review h2 { font-family: var(--display); font-size: clamp(1.7rem, 3vw, 2.5rem); letter-spacing: -.05em; line-height: 1.2; margin: .8rem 0 1rem; }
.kickoff-form-intro > p:last-child, .kickoff-review > p { color: var(--muted); line-height: 1.7; max-width: 50rem; }
.kickoff-group { min-width: 0; margin: 0 0 2rem; padding: 2rem; background: var(--surface-soft); border: 1px solid var(--line); border-radius: var(--corner); }
.kickoff-group legend { max-width: 100%; display: flex; align-items: center; gap: .75rem; font-family: var(--display); font-size: 1.3rem; font-weight: 600; line-height: 1.4; padding: 0 .5rem; }
.kickoff-step { display: inline-grid; place-items: center; min-width: 2rem; height: 2rem; border: 1px solid var(--line); background: #fff; border-radius: .4rem; color: var(--muted); font-family: var(--mono); font-size: .75rem; font-weight: 400; }
.kickoff-group-help { color: var(--muted); line-height: 1.65; margin: 0 0 1.5rem; }
.kickoff-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.kickoff-field { min-width: 0; }
.kickoff-field-wide { grid-column: 1 / -1; }
.kickoff-field label, .kickoff-review > label { display: block; color: var(--ink); font-size: .9375rem; font-weight: 600; line-height: 1.5; margin-bottom: .6rem; }
.kickoff-field input, .kickoff-field textarea, #kickoff-summary { width: 100%; min-width: 0; border: 1px solid #bdbdbd; border-radius: var(--control-corner); background: #fff; color: #111; padding: .9rem 1rem; font: inherit; font-size: 1rem; line-height: 1.6; }
.kickoff-field textarea, #kickoff-summary { resize: vertical; }
.kickoff-hint { font-size: .8125rem; color: var(--muted); line-height: 1.6; margin-top: .5rem; }
.kickoff-form-actions, .kickoff-review-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; }
.kickoff-form-actions > p { color: var(--muted); font-size: .8125rem; line-height: 1.6; max-width: 32rem; }
.kickoff-status { color: var(--ink); font-size: .9375rem; line-height: 1.7; max-width: 55rem; }
.kickoff-status:not(:empty) { margin: 1.5rem 0; }
.kickoff-review { margin-top: 2rem; border-top: 1px solid var(--line); padding-top: 2rem; }
.kickoff-review > label { margin-top: 1.5rem; }
#kickoff-summary { display: block; margin-bottom: 1.5rem; background: #f7f7f7; }
.kickoff-review-note { margin-top: 1.25rem; font-size: .8125rem; }
.kickoff-form input:focus-visible, .kickoff-form textarea:focus-visible, .kickoff-review textarea:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
@media (max-width: 600px) { .kickoff-fields { grid-template-columns: minmax(0, 1fr); } .kickoff-group { padding: 1.2rem; } .kickoff-group legend { font-size: 1.15rem; } .kickoff-form-actions .button, .kickoff-review-actions .button { justify-content: center; width: 100%; } }
.content-page .faq-list { margin-top: 1.75rem; max-width: 62rem; }
.content-page .faq-item summary { padding-block: 1.375rem; font-size: 1rem; }
.content-page .faq-item p { max-width: 51rem; font-size: .9375rem; }
.table-scroll { overflow-x: auto; margin-top: 1.75rem; }
.table-scroll table { border-collapse: collapse; width: 100%; line-height: 1.6; min-width: 40rem; text-align: left; }
.table-scroll caption { text-align: left; margin-bottom: 1rem; color: var(--muted); }
.table-scroll td, .table-scroll th { padding: 1.375rem; vertical-align: top; border: 1px solid var(--line); }
.table-scroll thead { background: #f3f3f3; }
.table-scroll tbody th { width: 23%; font-weight: 550; }
.table-scroll a { text-decoration: underline; text-underline-offset: 0.25rem; }
.project-page-gallery { padding-top: 0; border: 0; }
.project-page-frame { margin: 0; border: 1px solid var(--line); border-radius: 1rem; overflow: hidden; }
.project-page-frame > div { background: #f3f3f3; display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; }
.project-page-frame img { width: 100%; height: auto; max-height: 48rem; object-fit: contain; filter: none; mix-blend-mode: normal; }
.project-page-frame.portrait img { max-height: 40rem; width: 100%; max-width: 100%; }
.project-page-frame.paired img { width: calc(50% - 0.5rem); }
.project-page-frame figcaption { padding: 1.25rem 1.5rem; color: var(--muted); font-size: 0.9375rem; line-height: 1.6; }
.project-page-frame figcaption strong { color: var(--ink); font-weight: 550; }
.project-page-frame figcaption p { margin-top: 0.375rem; }
.project-page-frame figcaption a { display: inline-block; margin-top: 0.75rem; text-decoration: underline; text-underline-offset: 0.25rem; }
.project-gallery-detail { margin-top: 1rem; border: 1px solid var(--line); border-radius: 0.75rem; padding: 1rem 1.25rem; }
.project-gallery-detail summary { cursor: pointer; font-weight: 500; line-height: 1.6; }
.project-gallery-detail[open] .project-page-frame { margin-top: 1rem; }
.evidence-note { font-size: 0.9375rem; line-height: 1.7; color: var(--muted); padding: 1.25rem; border: 1px solid var(--line); border-radius: 0.75rem; }
.content-review { font-size: 0.8125rem; line-height: 1.7; color: var(--muted); padding-top: 1rem; }
.page-footer { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.8fr); gap: 3rem 4rem; padding: 3.5rem 0 2rem; border-top: 1px solid var(--line); }
.page-footer p { margin-top: 0.75rem; line-height: 1.6; color: var(--muted); }
.page-footer-brand > p { max-width: 24rem; font-size: .875rem; }
.page-footer .page-footer-tagline { color: var(--ink); font-size: 1rem; margin-top: 1.25rem; font-weight: 550; }
.page-footer .text-link { display: inline-flex; margin-top: 1rem; word-break: break-word; }
.page-footer nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem; font-size: 0.8125rem; line-height: 1.65; }
.footer-link-group { display: flex; flex-direction: column; align-items: flex-start; gap: .875rem; min-width: 0; }
.page-footer .footer-link-group > p { color: var(--muted); font-size: .625rem; margin: 0 0 .5rem; }
.page-footer .footer-link-group .text-link { margin-top: 0; }
.page-footer nav a { text-underline-offset: .3rem; }
.page-footer .page-copyright { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 2rem; grid-column: 1 / -1; font-size: 0.75rem; margin-top: 0; padding-top: 1.5rem; border-top: 1px solid var(--line); }
/* Shared compact footer: secondary resources stay available without another sales panel. */
.page-footer.compact-footer { grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; padding-block: 2.5rem 1.5rem; }
.compact-footer .page-footer-tagline { margin-top: .625rem; font-size: .875rem; font-weight: 400; }
.compact-footer .page-footer-contact { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.compact-footer .page-footer-contact .text-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 0; font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
.compact-footer .page-footer-contact .footer-booking { color: var(--ink); font-weight: 600; }
.compact-footer nav.compact-footer-links { display: flex; flex-wrap: wrap; align-items: center; grid-column: 1 / -1; gap: .25rem 1.5rem; font-size: .8125rem; }
.compact-footer nav.compact-footer-links > a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; color: var(--muted); }
.compact-footer .footer-policies { padding-top: 1rem; }
.compact-footer .page-copyright { padding-top: 0; border-top: 0; }
@media (max-width: 600px) {
  .page-footer.compact-footer { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .compact-footer nav.compact-footer-links { gap: .25rem 1.25rem; }
}
@media (max-width: 900px) {
  html:has(.mobile-consultation) { --mobile-consultation-space: calc(4.5rem + env(safe-area-inset-bottom, 0px)); }
  .mobile-consultation { min-height: 0; padding-block: .625rem calc(.625rem + env(safe-area-inset-bottom, 0px)); }
  .mobile-consultation > .button { flex: 1 1 100%; width: 100%; }
}
@media (max-width: 900px) and (orientation: landscape) and (max-height: 450px) {
  html:has(.mobile-consultation) { --mobile-consultation-space: 0px; }
}
.insights-home { margin-top: 4rem; padding-block: 3rem; border-top: 1px solid var(--line); }
.insights-home .section-heading > div > p:last-child { max-width: 44rem; color: var(--muted); margin-top: 1rem; line-height: 1.7; }
.insight-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.insight-card { padding: 1.75rem; border: 1px solid var(--line); border-radius: var(--corner); min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.insight-card h3 { font-family: var(--display); font-size: 1.375rem; letter-spacing: -0.035em; line-height: 1.4; margin: 1rem 0; }
.insight-card > p:not(.eyebrow) { line-height: 1.7; color: var(--muted); }
.insight-card .text-link { display: inline-flex; margin-top: auto; padding-top: 1.75rem; font-size: 0.875rem; }
.insights-home > .text-link { display: inline-flex; margin-top: 1.5rem; }
.insight-topic { scroll-margin-top: 2rem; }
.insight-topic > p { margin-block: 1rem 1.75rem; }
.insight-topic .insight-grid { margin-top: 1.75rem; }
.short-article .article-related-work { padding-block: 2rem; }
.business-guide-card { background: #fafafa; }
.business-guide-label { display: flex; align-items: center; gap: 1rem; }
.business-guide-icon { display: inline-grid; place-items: center; flex: 0 0 auto; width: 3rem; height: 3rem; border: 1px solid var(--line); border-radius: .75rem; background: #fff; color: var(--ink); }
.business-guide-symbol { display: block; }
.business-guide-label .eyebrow { color: var(--ink); font-size: .75rem; letter-spacing: .05em; }
.business-guide-label .eyebrow span { display: block; margin-top: .4rem; color: var(--muted); font-size: .625rem; letter-spacing: .08em; }
.business-guide-card h3 { font-size: 1.55rem; line-height: 1.3; margin-block: 1.5rem .9rem; }
.guide-article.industry-guide .page-intro { max-width: 51rem; }
.industry-guide .page-intro h1 { max-width: 19ch; text-wrap: balance; }
.industry-guide-sidebar { padding-top: 2.5rem; min-width: 0; }
.industry-guide-summary { padding: 1.5rem; background: #fafafa; border: 1px solid var(--line); border-radius: var(--corner); }
.industry-guide-summary > .eyebrow { margin-top: 1.25rem; }
.industry-guide-takeaway { font-family: var(--display); font-size: 1.125rem; font-weight: 600; letter-spacing: -.025em; line-height: 1.5; margin-top: .75rem; }
.industry-guide-summary ul { padding: 0; margin: 1.25rem 0 0; list-style: none; }
.industry-guide-summary li { display: grid; grid-template-columns: 1rem minmax(0, 1fr); gap: .5rem; margin-top: .75rem; font-size: .875rem; line-height: 1.65; color: var(--muted); }
.industry-guide-summary li::before { content: "✓"; color: var(--ink); }
.industry-contents { margin-top: 1rem; }
.industry-contents > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; padding-block: .875rem; border-bottom: 1px solid var(--line); font-size: .8125rem; cursor: pointer; list-style: none; }
.industry-contents > summary::-webkit-details-marker { display: none; }
.industry-contents[open] > summary > span { transform: rotate(45deg); }
.industry-contents .article-contents { padding-top: .5rem; }
.industry-contents .article-contents ol { display: block; margin-top: .5rem; }
.industry-contents .article-contents a { display: block; min-height: 44px; padding-block: .5rem; }
.article-jump > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; padding-block: .875rem; border-bottom: 1px solid var(--line); font-size: .875rem; font-weight: 550; cursor: pointer; list-style: none; }
.article-jump > summary::-webkit-details-marker { display: none; }
.article-jump[open] > summary > span { transform: rotate(45deg); }
.article-jump .article-contents { padding-top: 1rem; }
.article-jump .article-contents ol { display: block; margin-top: .5rem; }
.article-jump .article-contents a { display: block; min-height: 44px; padding-block: .5rem; }
.industry-guide-cta > .eyebrow { margin: 0 0 1rem; }
.industry-guide-cta > .related-links { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
@media (max-width: 900px) {
  .industry-guide-sidebar { padding-top: 1.5rem; padding-bottom: 1.5rem; }
  .industry-guide .article-layout { gap: 0; }
  .industry-guide-summary { padding: 1.25rem; }
}
.consultation-offer { color: var(--muted); line-height: 1.7; margin-top: 1.25rem; }
.consultation-offer a { text-decoration: underline; text-underline-offset: 0.25rem; }
.site-footer .consultation-offer { color: #e6e6e6; }
.article-byline { font-size: 0.8125rem; color: var(--muted); padding-bottom: 2.5rem; }
.article-layout { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.8fr); gap: clamp(2rem, 5vw, 5rem); border-top: 1px solid var(--line); }
.article-contents { align-self: start; padding-top: 2.5rem; }
.article-contents ol { list-style: none; counter-reset: guide-section; padding: 0; margin: 1.25rem 0 0; }
.article-contents li { counter-increment: guide-section; display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); align-items: baseline; gap: .75rem; padding-block: .875rem; border-bottom: 1px solid var(--line); font-size: .875rem; line-height: 1.65; }
.article-contents li::before { content: counter(guide-section, decimal-leading-zero); color: var(--muted); font-family: var(--mono); font-size: .625rem; }
.article-contents a { text-underline-offset: .3rem; }
.article-body { min-width: 0; }
.article-body > .page-section:first-child { border-top: 0; }
.article-body > .page-section { padding-block: 2.5rem; }
.article-body .page-section h2 { font-size: clamp(1.65rem, 2.6vw, 2.2rem); line-height: 1.35; letter-spacing: -.045em; }
.article-body .page-section > p { line-height: 1.85; }
.article-body .page-section > p + p { margin-top: 1.25rem; }
.article-detail-page .page-intro { padding-bottom: 1.75rem; max-width: 62rem; }
.article-detail-page .page-intro h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); }
.article-detail-page .seo-project-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.guide-article > .page-section > p { max-width: 53rem; }
.guide-article > .page-section > p + p { margin-top: 1rem; }
.contact-page .page-intro, .about-page .page-intro, .local-consultation-page .page-intro { max-width: 60rem; }
.contact-page .page-intro .page-actions { gap: 1rem 1.5rem; }
.contact-choice-note, .contact-page .page-intro .booking-destination { max-width: 44rem; margin-top: 1rem; font-size: .9375rem; line-height: 1.7; color: var(--muted); }
.page-footer nav .footer-link-group > a { display: flex; align-items: center; min-height: 2.75rem; }
.contact-page .page-intro .page-actions .text-link { font-size: .9375rem; overflow-wrap: anywhere; }
.privacy-page .page-main { max-width: 68rem; }
.work-index-page .seo-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.work-index-page .seo-project-body { padding: 1.75rem; }
.work-index-page .seo-project-heading h3 { font-size: 1.5rem; letter-spacing: -.035em; }
.project-browser-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .45fr); align-items: end; gap: 1.5rem 2rem; margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--corner); background: var(--surface-soft); }
.project-browser-disclosure[hidden], .project-browser-empty[hidden], .seo-project-card[hidden] { display: none; }
.project-browser-disclosure > summary { display: list-item; min-height: 44px; padding-block: .625rem; font-size: .875rem; line-height: 1.6; font-weight: 600; cursor: pointer; }
.project-browser-disclosure > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.project-type-filter { border: 0; padding: 0; margin: 0; min-width: 0; }
.project-type-filter legend, .project-browser-search > span { font-size: .875rem; font-weight: 600; margin-bottom: .75rem; }
.project-filter-options { display: flex; flex-wrap: wrap; gap: .5rem; }
.project-filter-options button { display: inline-flex; align-items: center; justify-content: center; gap: .75rem; min-height: 44px; padding: .65rem .875rem; border: 1px solid #bbb; border-radius: var(--control-corner); color: #111; background: #fff; font-size: .8125rem; line-height: 1.5; cursor: pointer; }
.project-filter-options button span { font-family: var(--mono); font-size: .6875rem; }
.project-filter-options button[aria-pressed="true"] { color: #fff; background: #111; border-color: #111; }
.project-browser-search { display: grid; min-width: 0; }
.project-browser-search input { width: 100%; min-width: 0; min-height: 48px; padding: .75rem; border: 1px solid #aaa; border-radius: var(--control-corner); color: #111; background: #fff; font: inherit; font-size: 1rem; }
.project-filter-options button:focus-visible, .project-browser-search input:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.project-browser-count { color: var(--muted); font-family: var(--mono); font-size: .8125rem; margin: 1.5rem 0; }
.project-browser-empty { padding: 2rem; border: 1px solid var(--line); border-radius: var(--corner); }
.project-browser-empty p { color: var(--muted); line-height: 1.7; margin: .75rem 0 1.25rem; }
.seo-project-body .work-index-image-label { font-size: .75rem; line-height: 1.6; margin-top: .75rem; }
.work-index-page .range-proof { scroll-margin-top: 2rem; margin-bottom: 3rem; }
.work-index-page .page-intro { max-width: 48rem; padding: clamp(1.5rem, 3vw, 2.5rem) 0 1.5rem; margin: 0; background: #fff; color: var(--ink); }
.work-index-page .page-intro h1 { font-size: clamp(2.75rem, 5vw, 4rem); margin-top: 0; }
.work-index-page .page-intro .page-lead { margin-top: .625rem; font-size: 1.0625rem; line-height: 1.55; max-width: 42rem; }
.work-index-page #project-collection { padding-top: .25rem; padding-bottom: 2rem; scroll-margin-top: 1rem; }
.work-index-page .project-browser-controls { margin: .5rem 0 1rem; padding: 0; border: 0; background: #fff; gap: 1rem 2rem; }
.work-index-page .project-browser-count { margin-block: .125rem .75rem; }
.work-project-header { padding: 1.5rem 1.5rem 1rem; }
.work-project-header > .eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; font-size: .6875rem; color: var(--muted); }
.work-project-status { padding: .25rem .5rem; border: 1px solid var(--line); border-radius: .375rem; color: #111; background: #f5f5f5; font-family: var(--sans); font-size: .6875rem; letter-spacing: 0; text-transform: none; }
.work-project-header .seo-project-heading { margin-bottom: 0; align-items: flex-start; }
.work-project-header .seo-project-heading a { display: inline-flex; align-items: center; min-height: 44px; }
.work-index-page .work-index-image-label { margin: .625rem 1.5rem 0; font-size: .6875rem; line-height: 1.6; color: var(--muted); }
.work-index-page .seo-project-body { padding: 1rem 1.5rem 1.5rem; }
.work-index-page .work-project-purpose { font-size: 1rem; line-height: 1.7; color: #222; }
.work-project-capabilities { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 1rem 0; }
.work-project-capabilities li { font-size: .8125rem; line-height: 1.5; color: var(--muted); }
.work-project-capabilities li + li::before { content: "·"; margin-right: .5rem; color: #999; }
.work-project-business-use { width: 100%; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .875rem; }
.work-project-business-use > span { display: block; margin-bottom: .5rem; font-size: .75rem; font-weight: 650; color: #222; }
.work-index-page .work-project-action { gap: .75rem; align-items: center; min-height: 48px; padding-block: .75rem 0; margin-top: auto; font-weight: 600; }
.work-hiring > h2 { margin-top: .75rem; }
.work-hiring-intro { max-width: 44rem; }
.work-hiring-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.work-hiring-grid > article { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--corner); background: #fafafa; }
.work-hiring-grid h3 { font-size: 1.125rem; }
.work-hiring-grid p { font-size: .9375rem; line-height: 1.7; color: var(--muted); }
.work-hiring-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.5rem; }
.work-hiring-actions .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
.work-hiring .portfolio-disclosure { margin-top: 1.5rem; }
.work-index-page .work-hiring { padding-block: 2.5rem; }
.work-index-page .work-hiring-intro { margin-top: 1rem; }
.work-index-page .work-hiring .booking-destination-note { margin-top: .75rem; font-size: .8125rem; line-height: 1.65; }
.work-release-details { border-top: 1px solid var(--line); padding-block: .5rem; margin-bottom: 1rem; }
.work-release-details > summary { display: list-item; min-height: 48px; padding-block: .875rem; cursor: pointer; font-weight: 550; line-height: 1.6; }
.work-release-details > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.work-release-details .range-proof { margin-top: 1rem; }
@media (max-width: 800px) { .work-hiring-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) {
  .work-index-page .page-intro { padding-block: 1.25rem; }
  .work-index-page .page-intro h1 { font-size: 2.75rem; }
  .work-project-header { padding: 1.25rem 1.25rem 1rem; }
  .work-index-page .seo-project-heading h3 { font-size: 1.25rem; line-height: 1.4; }
  .work-index-page .seo-project-body { padding: 1rem 1.25rem 1.25rem; }
  .work-index-page .work-index-image-label { margin-inline: 1.25rem; }
  .work-hiring-grid > article { padding: 1.25rem; }
}
@media (max-width: 900px) { .project-browser-controls { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .project-browser-controls { padding: 1rem; } .project-filter-options { gap: .625rem; } }

/* Project stories use the same quiet surfaces and clear actions as the homepage. */
html:has(body.project-detail-page) { scroll-behavior: auto; }
.project-detail-page .project-story-hero { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr); gap: clamp(2rem, 4vw, 4rem); align-items: start; padding: 2.5rem 0; }
.project-story-hero .page-intro { padding: 0; min-width: 0; }
.project-story-hero .page-intro h1 { font-size: clamp(2.5rem, 4.2vw, 4rem); letter-spacing: -0.06em; }
.project-story-hero .page-project-title { flex-direction: row; align-items: center; gap: 1rem; }
.project-story-hero .project-icon-frame { flex-basis: 3.25rem; width: 3.25rem; height: 3.25rem; }
.project-story-hero .page-lead { font-size: 1.0625rem; line-height: 1.65; margin-top: 1rem; }
.project-audience { margin-top: 1rem; color: var(--muted); font-size: 0.875rem; line-height: 1.6; }
.project-audience > span { color: var(--ink); font-weight: 550; }
.project-story-hero .page-actions { gap: .5rem 1.25rem; margin-top: 1.25rem; }
.project-story-hero .page-actions .button { padding-inline: 1.125rem; font-size: 0.875rem; }
.project-story-hero .project-page-gallery { min-width: 0; padding: 0; }
.project-story-hero .project-page-frame > div { padding: 0; background: var(--surface-soft); }
.project-story-hero .project-page-frame img { max-height: 31rem; }
.project-story-hero .project-page-frame.portrait > div { padding: 1.5rem; }
.project-story-hero .project-page-frame.portrait img { max-height: 28rem; }
.project-story-hero .project-page-frame figcaption { padding: 1rem 1.25rem; font-size: 0.8125rem; }
.project-detail-page .project-story-hero .page-intro { padding: 0; color: var(--ink); }
.project-story-hero .page-intro .eyebrow, .project-story-hero .page-intro .page-lead { color: var(--muted); }
.project-story-hero .page-intro .text-link { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; text-decoration: underline; text-underline-offset: .25em; }
.project-story-hero .page-intro .text-link span { color: inherit; }
.project-release-context { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: 1rem; }
.project-personal-note { color: var(--muted); font-size: .75rem; line-height: 1.6; }
.project-release-status { border: 1px solid var(--line); border-radius: .375rem; padding: .25rem .5rem; font-size: .75rem; line-height: 1.5; color: var(--ink); }
.project-release-note { margin-top: .625rem; font-size: .8125rem; line-height: 1.65; color: var(--muted); }
.project-quick-capabilities { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin-top: 1rem; }
.project-quick-capabilities li { padding: .25rem .5rem; border: 1px solid var(--line); border-radius: .375rem; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.project-secondary-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; flex-basis: 100%; }
.project-secondary-actions .text-link { font-size: .8125rem; color: var(--muted); }
.project-live-destination { margin-top: .5rem; }
.project-live-destination a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; text-decoration: underline; text-underline-offset: .25em; }
.project-detail-page .project-business-fit { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem 4rem; padding-block: 2rem; margin-block: 0; border-block: 1px solid var(--line); }
.project-business-fit h2 { margin-bottom: 1rem; }
.project-business-example h3, .project-build-care h3 { font-family: var(--sans); font-size: .8125rem; font-weight: 650; margin-bottom: .625rem; }
.project-business-example p, .project-build-care p { color: var(--muted); line-height: 1.75; font-size: .9375rem; }
.project-build-care { margin-top: 1rem; }
.project-client-offer { min-width: 0; }
.project-client-offer > p { color: var(--muted); line-height: 1.75; font-size: .9375rem; }
.project-client-offer > h3 { font-size: 1.25rem; line-height: 1.4; }
.project-client-promises { padding-left: 1.125rem; margin: 1rem 0 1.5rem; color: var(--muted); font-size: .9375rem; line-height: 1.75; }
.project-client-promises li + li { margin-top: .75rem; }
.project-fit-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; margin-top: 1rem; }
.project-fit-actions .button { flex-basis: 100%; width: max-content; }
.project-fit-actions .text-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-size: .875rem; }
.project-client-offer .client-ownership-note { margin-top: 1rem; font-size: .8125rem; line-height: 1.7; color: var(--muted); }
.project-image-links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; }
.project-page-frame .project-image-links a { margin-top: 0.5rem; font-size: 0.8125rem; }
.project-story-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 2rem; border-block: 1px solid var(--line); padding: 1.25rem 0; margin-bottom: 3rem; }
.project-story-nav > span { color: var(--muted); font-size: 0.6875rem; margin-right: auto; }
.project-story-nav a { display: inline-flex; gap: 1rem; align-items: center; font-size: 0.875rem; font-weight: 550; }
.project-story-nav a, .page-section-nav a { min-height: 2.75rem; padding-block: .375rem; }
.project-story-nav a:hover, .project-section-link:hover { text-decoration: underline; text-underline-offset: 0.25rem; }
.project-story-hero .project-story-nav { gap: .25rem 1.25rem; margin-top: 1.5rem; margin-bottom: 0; padding-block: .75rem; }
.project-story-hero .project-story-nav > span { flex-basis: 100%; }
.project-story-hero .project-story-nav a { gap: .5rem; }
.project-section-link { display: inline-flex; align-items: center; min-height: 2.75rem; gap: 0.75rem; font-size: 0.9375rem; font-weight: 550; }
.project-detail-page .project-section-heading { display: grid; grid-template-columns: 1.15fr 1fr; align-items: end; gap: 1rem 4rem; margin-bottom: 1.5rem; }
.project-section-heading > p { line-height: 1.75; color: var(--muted); max-width: 42rem; }
.project-detail-page .project-overview { padding-block: 1.25rem 2.5rem; border: 0; }
.project-workflow-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.project-workflow-card { border-top: 1px solid var(--line); padding-top: 1.25rem; min-width: 0; }
.project-step { color: var(--muted); font-size: 0.75rem; }
.project-workflow-card h3 { font-size: 1.25rem; letter-spacing: -0.03em; line-height: 1.3; margin-top: .75rem; }
.project-workflow-card p { line-height: 1.7; font-size: 0.9375rem; color: var(--muted); }
.project-capabilities { margin-top: 1.5rem; }
.project-capabilities > h3 { font-size: 0.875rem; font-family: var(--sans); }
.project-capabilities .page-columns { margin-top: 1.25rem; gap: 1.75rem; }
.project-capabilities .page-columns article { border: 0; border-radius: 0; padding: 0; background: none; }
.project-capabilities h4 { font-size: 1rem; font-weight: 550; margin: 0 0 0.5rem; }
.project-capabilities p { font-size: 0.9375rem; }
.project-extra { border-block: 1px solid var(--line); }
.project-extra > summary { min-height: 48px; padding-block: .75rem; cursor: pointer; font-size: .9375rem; line-height: 1.6; font-weight: 550; }
.project-extra[open] { padding-bottom: 1.25rem; }
.project-extra[open] > summary { margin-bottom: .75rem; }
.project-source-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: .5rem; margin-block: .5rem 1rem; font-size: .875rem; text-decoration: underline; text-underline-offset: .25em; }
.project-detail-page .project-views { border-top: 0; padding-top: 3rem; }
.project-visual-group + .project-visual-group { margin-top: 2.5rem; }
.project-visual-group > h3 { font-family: var(--sans); font-size: 0.9375rem; margin-bottom: 1.25rem; }
.project-views-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: start; }
.project-views-grid.portrait-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.project-views-grid .project-page-frame { min-width: 0; scroll-margin-top: 2rem; }
.project-views-grid .project-page-frame > div { padding: 1.25rem; min-height: 17rem; }
.project-views-grid .project-page-frame img { max-height: 36rem; }
.project-views-grid .project-page-frame.portrait img { max-height: 36rem; }
.project-views-grid .project-page-frame.paired img { width: calc(50% - 0.5rem); }
.project-views-grid .project-page-frame.paired:not(.portrait) { grid-column: 1 / -1; }
.project-views-grid .project-page-frame.paired:not(.portrait) > div { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr); }
.project-views-grid .project-page-frame.paired:not(.portrait) img { width: 100%; max-height: 40rem; }
.project-views-grid .project-page-frame figcaption { padding: 1.25rem; font-size: 0.875rem; }
.project-views-grid .project-page-frame figcaption strong { font-family: var(--display); font-size: 1.125rem; font-weight: 600; }
.project-page-frame.product-artwork > div, .project-views-grid .project-page-frame.product-artwork > div { padding: 0; min-height: 0; }
.project-page-frame.product-artwork img, .project-story-hero .project-page-frame.product-artwork img, .project-views-grid .project-page-frame.product-artwork img { width: 100%; height: auto; max-height: none; }
.project-context { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 4rem; margin-bottom: 2rem; }
.project-context p { color: var(--muted); line-height: 1.75; }
.project-development-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem 4rem; }
.project-development-grid .page-list { margin-bottom: 0; }
.project-stack { align-self: start; min-width: 0; }
.project-stack .project-tags { margin-top: 1rem; }
.project-stack .text-link { display: inline-flex; margin-top: 1.5rem; line-height: 1.6; font-size: 0.875rem; }
.project-evidence { border-block: 1px solid var(--line); padding: 1.25rem 0; margin-top: 2.5rem; }
.project-evidence summary { min-height: 2.75rem; padding-block: .625rem; cursor: pointer; line-height: 1.6; font-size: 0.9375rem; font-weight: 550; }
.project-evidence p { color: var(--muted); line-height: 1.75; margin-top: 1rem; max-width: 60rem; font-size: 0.875rem; }
.project-detail-page .project-build-cta { display: grid; grid-template-columns: 1.5fr 1fr; align-items: center; gap: 2rem 4rem; border: 1px solid var(--line); border-radius: var(--corner); padding: clamp(1.5rem, 3.2vw, 3rem); background: var(--surface-soft); margin-top: 1rem; }
.project-build-cta h2 { margin-top: 0.875rem; }
.project-build-cta .brand-signature { margin-bottom: 1.5rem; }
.project-build-cta p:not(.eyebrow) { margin-top: 1.25rem; color: var(--muted); line-height: 1.75; }
.project-build-cta .project-consultation-note { font-size: 0.875rem; }
.project-build-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; justify-self: center; }
.project-related { padding: 1.5rem 0; margin-top: 0; }
#project-cover { scroll-margin-top: 2rem; }
@media (hover: hover) and (pointer: fine) {
  .content-page .page-nav > a:not(.nav-contact):hover, .article-contents a:hover, .page-footer nav a:hover { color: var(--ink); text-decoration: underline; }
  .service-page-card:hover, .seo-project-card:hover, .insight-card:hover { border-color: #9a9a9a; }
  .seo-project-heading a:hover, .service-page-card h2 a:hover, .insight-card h3 a:hover { text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
}
.service-page-card:focus-within, .seo-project-card:focus-within, .insight-card:focus-within { border-color: var(--ink); }
@media (max-width: 1050px) {
  .page-footer { grid-template-columns: 1fr; gap: 2.5rem; }
  .page-footer-brand > p { max-width: 38rem; }
  .page-footer nav { gap: 2rem; }
  .project-detail-page .project-story-hero { grid-template-columns: 1fr; gap: 2rem; }
  .project-story-hero .page-project-title { flex-direction: row; align-items: center; }
  .project-story-hero .page-lead { max-width: 42rem; }
  .project-story-hero .project-page-frame img { max-height: 36rem; }
  .project-detail-page .project-section-heading { grid-template-columns: 1fr; gap: 1.25rem; }
  .project-workflow-card { padding-top: 1.25rem; }
  .project-views-grid.portrait-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .content-page .page-header { padding-block: 1.5rem; gap: 1.25rem; }
  .content-page .page-nav { position: static; width: 100%; padding: 0; background: none; box-shadow: none; border: 0; flex-direction: row; justify-content: flex-start; gap: .5rem 1.5rem; }
  .content-page .page-nav .nav-contact { margin-left: auto; }
  .content-page .page-nav > a:not(.nav-contact) { padding: .5rem 0; min-height: 2.75rem; }
  .article-layout { grid-template-columns: 1fr; gap: 1.75rem; }
  .article-contents { padding-top: 1.75rem; }
  .article-contents ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
  .article-body { border-top: 1px solid var(--line); }
  .consultation-callout { grid-template-columns: 1fr; gap: 1.75rem; }
  .consultation-callout .page-actions { justify-self: start; flex-direction: row; align-items: center; }
  .page-section-nav > span { flex-basis: 100%; }
  .seo-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-columns { grid-template-columns: 1fr; gap: 1.75rem; }
  .insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-context, .project-development-grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .project-detail-page .project-business-fit { grid-template-columns: minmax(0, 1fr); }
  .project-capabilities .page-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .content-page .page-header { gap: 1.25rem; padding-block: 1.25rem; }
  .content-page .page-nav { position: static; flex-direction: row; align-items: center; width: 100%; padding: 0; border: 0; box-shadow: none; background: none; font-size: 0.875rem; gap: 0.75rem 1.25rem; }
  .content-page .page-nav .nav-contact { padding: 0.5rem 0.875rem; }
  .content-page .page-nav .nav-contact { width: 100%; justify-content: center; margin-left: 0; }
  .content-page .page-main { padding-top: 1.25rem; }
  .page-intro { padding: 2.5rem 0; }
  .page-section { padding: 2.25rem 0; }
  .service-page-grid, .seo-project-grid, .page-footer { grid-template-columns: 1fr; }
  .work-index-page .seo-project-grid, .article-detail-page .seo-project-grid:has(> :nth-child(2):last-child) { grid-template-columns: 1fr; gap: 1.5rem; }
  .work-index-page .seo-project-body { padding: 1rem 1.25rem 1.25rem; }
  .page-footer { padding-block: 2.5rem 1.5rem; }
  .page-footer nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; }
  .page-footer nav .footer-link-group:last-child { grid-column: 1 / -1; }
  .article-contents ol { display: block; margin-top: .75rem; }
  .article-layout { gap: 1.25rem; }
  .article-body > .page-section { padding-block: 2rem; }
  .article-byline { padding-bottom: 2rem; }
  .page-section-nav { gap: .5rem 1.25rem; }
  .page-columns article { padding: 1.25rem; }
  .insight-grid { grid-template-columns: 1fr; }
  .service-page-card { padding: 1.5rem; }
  .page-callout { padding: 1.5rem; }
  .page-callout .page-actions { align-items: stretch; flex-direction: column; gap: .75rem; }
  .page-callout .page-actions > .button { width: 100%; justify-content: center; }
  .page-callout .page-actions > .text-link { align-self: flex-start; min-height: 44px; align-items: center; margin-bottom: 0; }
  .project-page-frame > div { padding: 0.5rem; gap: 0.5rem; }
  .project-page-frame.paired > div { flex-direction: column; }
  .project-page-frame.paired img { width: 100%; }
  .project-page-frame figcaption { padding: 1rem; }
  .project-detail-page .project-story-hero { padding: 2rem 0; }
  .project-story-hero .page-project-title { flex-direction: row; align-items: center; gap: .875rem; }
  .project-detail-page .project-story-hero .page-intro { padding: 0; }
  .project-story-hero .page-intro h1 { font-size: clamp(2rem, 8vw, 2.75rem); }
  .project-story-hero .project-icon-frame { width: 3rem; height: 3rem; flex-basis: 3rem; }
  .project-story-hero .page-lead { font-size: 1rem; }
  .project-story-hero .project-page-frame figcaption { padding: 1rem; }
  .project-story-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1rem; margin-bottom: 2rem; }
  .project-story-nav > span { grid-column: 1 / -1; }
  .project-story-nav a { font-size: .8125rem; gap: .5rem; }
  .project-workflow-grid, .project-views-grid, .project-views-grid.portrait-grid, .project-capabilities .page-columns { grid-template-columns: 1fr; }
  .project-workflow-card { padding-block: 1rem 0; }
  .project-workflow-card h3 { font-size: 1.125rem; margin-top: .5rem; }
  .project-detail-page .project-business-fit { padding-block: 1.75rem; gap: 1.5rem; }
  .project-fit-actions .button { width: 100%; }
  .project-views-grid .project-page-frame.paired > div { flex-direction: column; }
  .project-views-grid .project-page-frame.paired img { width: 100%; max-height: 34rem; }
  .project-views-grid .project-page-frame.paired:not(.portrait) > div { grid-template-columns: 1fr; }
  .project-views-grid .project-page-frame.paired:not(.portrait) img { max-height: 34rem; }
  .project-views-grid .project-page-frame > div { padding: 1rem; min-height: 0; }
  .project-detail-page .project-build-cta { grid-template-columns: 1fr; gap: 1.75rem; }
  .project-build-actions { justify-self: start; }
  html:not(.js-enabled) #main-nav { gap: 0.75rem 1.25rem; font-size: 0.875rem; }
}

/* Consistent mobile navigation and shorter routes through business pages. */
.page-actions > .text-link, .service-opening-proof .text-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-size: .875rem; text-decoration: underline; text-underline-offset: .25em; }
.service-opening-proof { margin-top: 1rem; }
.service-more-projects { padding: 1.25rem; margin-top: 1.5rem; border: 1px solid var(--line); border-radius: var(--corner); background: #fafafa; }
.service-more-projects a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-size: .875rem; }

/* Minimal service paths: one choice, real examples, optional detail. */
.service-index-page .page-intro,
.service-detail-page .page-intro { padding-block: 2rem 2.5rem; }
.service-index-page .page-intro h1,
.service-detail-page .page-intro h1 { max-width: 17ch; }
.service-index-page .page-section,
.service-detail-page .page-section { padding-block: 2.75rem; }
.service-index-page .service-page-grid { gap: 1rem; margin-top: 1.5rem; }
.pricing-page .page-intro { max-width: 58rem; padding-block: 1.5rem 1.25rem; }
.pricing-page .page-intro h1 { max-width: 17ch; margin-top: .75rem; }
.pricing-page .page-lead { margin-top: .75rem; font-size: 1rem; line-height: 1.6; }
.pricing-page .page-section { padding-block: 2.5rem; }
.pricing-page section.pricing-starting-points { padding-top: 0; border-top: 0; }
.pricing-page .pricing-budget-note { margin-top: 1rem; }
.pricing-page .pricing-eligibility { margin-top: 0; font-size: .875rem; line-height: 1.65; }
.pricing-eligibility > span { display: block; margin-top: .375rem; }
.pricing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }
.pricing-card { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: .5rem; background: #fff; }
.pricing-card h2 { margin: 0; font-size: 1.25rem; line-height: 1.4; }
.pricing-amount { display: flex; align-items: baseline; flex-wrap: wrap; gap: .3rem; margin-top: 1rem; line-height: 1.2; }
.pricing-amount strong { font-family: var(--display); font-size: clamp(2rem, 3.5vw, 2.75rem); font-weight: 600; letter-spacing: -.055em; }
.pricing-from, .pricing-unit { color: var(--muted); font-size: .9375rem; }
.pricing-availability { margin-top: .75rem; color: var(--muted); font-size: .8125rem; line-height: 1.6; }
.pricing-summary { margin-top: 1rem; color: var(--ink); font-size: .9375rem; line-height: 1.7; }
.pricing-card ul { margin: 1rem 0 0; padding-left: 1.125rem; color: var(--muted); font-size: .875rem; line-height: 1.7; }
.pricing-card li + li { margin-top: .5rem; }
.pricing-care > .text-link,
.pricing-offer-details > .text-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; font-size: .875rem; }
.pricing-offer-details > .text-link { margin-bottom: 1rem; }
.pricing-support-example { padding-top: 1rem; border-top: 1px solid var(--line); }
.pricing-page .pricing-closing { padding: 2rem 0; margin: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.pricing-closing .booking-destination { margin-bottom: 0; font-size: .8125rem; }
@media (max-width: 700px) {
  .pricing-page .page-intro h1 { font-size: clamp(2.25rem, 9.5vw, 3.25rem); line-height: 1.12; }
  .pricing-page .page-section { padding-block: 2rem; }
  .pricing-grid { grid-template-columns: minmax(0, 1fr); }
  .pricing-card { padding: 1.25rem; }
}
.service-pricing-link { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; margin: 0 0 1.5rem; }
.service-pricing-link > a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9375rem; }
.service-index-page .service-choice { padding: 0; overflow: hidden; }
.service-choice-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; width: 100%; min-height: 44px; padding: 1.5rem; color: var(--ink); }
.service-choice-link h3 { margin: 0; font-size: 1.375rem; line-height: 1.35; }
.service-choice-link p { grid-column: 1; margin: 0; font-size: .9375rem; line-height: 1.65; }
.service-choice-arrow { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.service-choice-link:focus-visible { outline: 2px solid var(--ink); outline-offset: -4px; }
.service-index-page .service-offer-quiet,
.service-detail-page .service-offer-quiet { display: block; padding: 1.25rem 0; margin: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.service-index-page .service-offer-quiet h2 { font-size: 1.25rem; line-height: 1.4; }
.service-offer-quiet > p { margin-top: .5rem; }
.service-offer-quiet > a { margin-top: .5rem; font-size: .875rem; }
.service-index-page .service-industry-links h2 { font-size: 1.5rem; }
.service-industry-links .related-links { margin-top: .75rem; }
.service-industry-links a { display: inline-flex; align-items: center; gap: .75rem; min-height: 44px; }
.service-capabilities { display: grid; gap: .625rem; list-style: none; margin: 1.75rem 0 0; padding: 0; color: var(--muted); font-size: .9375rem; line-height: 1.6; }
.service-capabilities li { display: flex; gap: .75rem; }
.service-capabilities li::before { content: "—"; color: var(--ink); }
.service-example-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; margin-top: 1.5rem; }
.service-example { min-width: 0; }
.service-example-link { display: flex; flex-direction: column; gap: .75rem; height: 100%; min-height: 44px; color: var(--ink); }
.service-example-link:focus-visible { outline: 2px solid var(--ink); outline-offset: 6px; }
.service-example-heading { display: flex; align-items: center; gap: .75rem; min-height: 44px; }
.service-example-heading h3 { margin: 0; font-size: 1.25rem; }
.service-example-heading .project-icon-frame { flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; }
.service-example-image { display: grid; place-items: center; aspect-ratio: 16 / 10; padding: .75rem; border: 1px solid var(--line); border-radius: .5rem; background: #f6f6f6; }
.service-example-image img { display: block; width: 100%; height: 100%; min-width: 0; max-height: 24rem; object-fit: contain; filter: none; mix-blend-mode: normal; }
.service-example-caption { color: var(--muted); font-size: .75rem; line-height: 1.6; }
.service-example-purpose { color: var(--muted); font-size: .9375rem; line-height: 1.7; }
.service-example-status { color: var(--ink); font-size: .8125rem; line-height: 1.6; }
.service-example-link > .text-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin-top: auto; font-size: .875rem; text-decoration: underline; text-underline-offset: .25em; }
.service-detail-page .service-more-projects { padding: 0; border: 0; border-radius: 0; background: transparent; gap: .5rem 1.5rem; }
.service-details { border-block: 1px solid var(--line); margin-top: 1rem; scroll-margin-top: 2rem; }
.service-details + .service-details { margin-top: 0; border-top: 0; }
.service-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 52px; padding: 1rem 0; list-style: none; cursor: pointer; color: var(--ink); font-size: .9375rem; font-weight: 600; line-height: 1.5; }
.service-details > summary::-webkit-details-marker { display: none; }
.service-details > summary::after { content: "+"; flex: none; font-size: 1.25rem; font-weight: 400; }
.service-details[open] > summary::after { content: "−"; }
.service-details > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.service-details > p { max-width: 48rem; padding-bottom: 1.25rem; color: var(--muted); font-size: .9375rem; line-height: 1.75; }
.service-reading { display: grid; gap: 1.75rem; max-width: 48rem; padding: .5rem 0 1.5rem; }
.service-reading h3 { margin-bottom: .5rem; font-size: 1.0625rem; }
.service-reading p { color: var(--muted); font-size: .9375rem; line-height: 1.75; }
.service-care > .text-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: .75rem; font-size: .875rem; }
.service-other-options { margin: 0 0 2rem; }
.service-other-options .related-links { margin-block: .5rem 1rem; }
.service-detail-page .service-closing,
.service-index-page .service-closing { padding: 2rem 0; margin-bottom: 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.service-closing .booking-destination { max-width: 40rem; margin-block: 1rem 0; font-size: .8125rem; }
.service-closing .service-comparison-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 1rem; }
@media (hover: hover) {
  .service-choice-link:hover { background: #f6f6f6; }
  .service-example-link:hover h3 { text-decoration: underline; text-underline-offset: .2em; }
}
@media (max-width: 700px) {
  .service-index-page .page-intro h1,
  .service-detail-page .page-intro h1 { font-size: clamp(2.25rem, 9.5vw, 3.25rem); line-height: 1.12; }
  .service-index-page .page-section,
  .service-detail-page .page-section { padding-block: 2rem; }
  .service-choice-link { padding: 1.25rem; }
  .service-choice-link h3 { font-size: 1.25rem; }
  .service-example-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .service-example-image { aspect-ratio: 16 / 10; padding: .5rem; }
  .service-industry-links .related-links,
  .service-other-options .related-links { display: flex; flex-direction: column; gap: .25rem; }
  .service-detail-page .page-actions { gap: .5rem 1.5rem; }
}
.offer-package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.offer-package-grid > article { min-width: 0; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line); border-radius: var(--corner); background: #f7f7f7; }
.offer-package-grid .eyebrow { font-size: .6875rem; }
.offer-package-grid h2 { margin-top: 1rem; font-size: 3rem; }
.offer-package-grid .page-list { margin-bottom: 0; }
.local-meeting-choices .page-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.local-meeting-choices > h3 { margin-top: 2rem; }
.article-opening { font-size: 1rem; line-height: 1.8; color: var(--muted); padding-top: 2.5rem; max-width: 50rem; }
.article-next-step { margin-top: 1.5rem; }
.article-next-step .related-links { padding-top: 1.25rem; border-top: 1px solid var(--line); }
.article-next-step .related-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; }
.article-next-step .article-planner-note { margin-bottom: 0; font-size: .875rem; }
.article-next-step .article-planner-note a { text-decoration: underline; text-underline-offset: .25em; }
.guide-choice-grid { display: none; }
@media (max-width: 900px) {
  .content-page .page-header.navigation-ready { min-height: 5rem; padding-block: 1.25rem; flex-wrap: nowrap; gap: 1rem; }
  .content-page .page-header.navigation-ready .page-nav { display: none; position: absolute; top: calc(100% - .25rem); left: 0; right: 0; width: auto; flex-direction: column; align-items: stretch; gap: 0; padding: .5rem; border: 1px solid var(--line); border-radius: .75rem; background: #fff; box-shadow: 0 1rem 2rem #0000001a; z-index: 20; font-size: .875rem; }
  .content-page .page-header.navigation-ready .page-nav.is-open { display: flex; }
  .content-page .page-header.navigation-ready .page-nav > a { display: flex; align-items: center; min-height: 48px; padding: .875rem; }
  .content-page .page-header.navigation-ready .page-nav .nav-contact { width: 100%; justify-content: space-between; margin: .25rem 0 0; }
  .site-header:not(.navigation-ready) .menu-toggle { display: none; }
  .site-header:not(.page-header):not(.navigation-ready) #main-nav { display: flex; position: static; flex-direction: row; flex-wrap: wrap; width: 100%; padding: 0; gap: .5rem 1.25rem; background: none; border: 0; box-shadow: none; }
  .site-header:not(.page-header):not(.navigation-ready) #main-nav a { padding: .5rem 0; }
  .site-header:not(.page-header):not(.navigation-ready) { flex-wrap: wrap; }
}
@media (max-width: 700px) {
  .offer-package-grid, .local-meeting-choices .page-columns { grid-template-columns: minmax(0, 1fr); }
  .comparison-page .table-scroll { display: none; }
  .guide-choice-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin-top: 1.75rem; }
  .guide-choice-card { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--corner); background: #fafafa; }
  .guide-choice-card h3 { font-size: 1.5rem; }
  .guide-choice-card p { color: var(--muted); font-size: .9375rem; line-height: 1.75; }
  .guide-choice-example { padding-top: 1rem; margin-top: 1rem; border-top: 1px solid var(--line); }
  .guide-choice-example strong { display: block; margin-bottom: .5rem; color: var(--ink); font-size: .8125rem; }
  .guide-choice-card .text-link { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin-top: 1rem; font-size: .875rem; }
  .article-opening { padding-top: 1rem; }
  .article-detail-page .page-intro h1 { font-size: clamp(2rem, 8.5vw, 2.75rem); }
}

/* Direct product evidence and a native caption index keep project browsing useful. */
.work-project-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; margin-top: auto; }
.work-index-page .work-project-actions > a { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; margin-top: 0; padding-block: .75rem; }
.work-project-live-link { font-size: .8125rem; font-weight: 550; text-decoration: underline; text-underline-offset: .25em; }
.project-story-hero .booking-destination { color: #d0d0d0; font-size: .8125rem; line-height: 1.65; margin-top: 1rem; }
.project-image-picker { margin: 1.5rem 0 2rem; border: 1px solid var(--line); border-radius: .75rem; background: #fafafa; }
.project-image-picker > summary { min-height: 48px; padding: 1rem 1.25rem; cursor: pointer; font-size: .9375rem; font-weight: 600; line-height: 1.6; }
.project-image-count { display: inline-block; margin-left: .5rem; color: var(--muted); font-size: .75rem; font-weight: 400; }
.project-image-picker ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .375rem 1rem; list-style: none; padding: 0 1.25rem 1.25rem; margin: 0; }
.project-image-picker li { min-width: 0; }
.project-image-picker a { display: grid; grid-template-columns: 2ch minmax(0, 1fr); align-items: center; gap: .75rem; min-height: 44px; padding: .5rem .625rem; border: 1px solid var(--line); border-radius: .375rem; font-size: .875rem; line-height: 1.5; }
.project-image-picker a > span:last-child { overflow-wrap: anywhere; }
.project-image-picker a:hover { border-color: #999; text-decoration: underline; text-underline-offset: .2em; }
.project-image-number { color: var(--muted); font-family: var(--mono); font-size: .6875rem; }
.project-page-frame:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
@media (max-width: 700px) { .project-image-picker ol { grid-template-columns: minmax(0, 1fr); } }

/* Keep booking context and offer commitments beside the decision to proceed. */
.page-intro > .booking-destination-note { max-width: 44rem; margin-top: 1rem; color: var(--muted); font-size: .8125rem; line-height: 1.7; }
.project-story-hero .page-intro > .booking-destination-note { color: var(--muted); }
.offer-terms-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.25rem; margin-top: 1.5rem; }
.offer-terms-grid > article { min-width: 0; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--corner); background: #fafafa; }
.offer-terms-grid h3, .offer-expanded-scope h3 { font-family: var(--display); font-size: 1.25rem; line-height: 1.4; letter-spacing: -.025em; }
.offer-terms-grid p, .offer-expanded-scope p { margin-top: .875rem; color: var(--muted); font-size: .9375rem; line-height: 1.8; }
.offer-terms-grid p strong { color: var(--ink); font-weight: 650; }
.offer-package-details { margin-top: 1.25rem; padding-inline: 1.25rem; border: 1px solid var(--line); border-radius: var(--corner); }
.offer-package-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; padding-block: 1rem; font-size: .9375rem; font-weight: 600; line-height: 1.6; list-style: none; cursor: pointer; }
.offer-package-details > summary::-webkit-details-marker { display: none; }
.offer-package-details > summary > span { flex: none; font-size: 1.25rem; font-weight: 400; }
.offer-package-details[open] > summary > span { transform: rotate(45deg); }
.offer-package-details > summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; border-radius: .25rem; }
.offer-expanded-scope { display: grid; gap: 1.5rem; padding-block: .5rem 1.5rem; border-top: 1px solid var(--line); }
.offer-expanded-scope > article { min-width: 0; padding-top: 1rem; }
@media (max-width: 700px) {
  .offer-terms-grid { grid-template-columns: minmax(0, 1fr); }
  .offer-terms-grid > article { padding: 1.25rem; }
}

/* Plain-language policies: readable measures and native, touch-sized navigation. */
.legal-page .page-main { max-width: 76rem; }
.legal-page .page-intro { max-width: 58rem; padding-bottom: 1.75rem; }
.legal-page .page-intro h1 { font-size: clamp(2.5rem, 4.8vw, 4rem); line-height: 1.15; }
.legal-business { padding: 1.25rem 1.5rem; margin-bottom: 2.5rem; background: #f6f6f6; border: 1px solid var(--line); border-radius: var(--control-corner); }
.legal-business p { font-size: .9375rem; line-height: 1.75; color: #444; overflow-wrap: anywhere; }
.legal-business p + p { margin-top: .375rem; }
.legal-business strong { color: #111; font-weight: 600; }
.legal-layout { display: grid; grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.65fr); gap: 2rem 3.5rem; align-items: start; }
.legal-toc { position: sticky; top: 2rem; padding: 1.25rem; background: #f6f6f6; border: 1px solid var(--line); border-radius: var(--control-corner); }
.legal-toc h2, .legal-related h2 { font-family: var(--display); font-size: 1.125rem; font-weight: 600; line-height: 1.5; letter-spacing: -.025em; }
.legal-toc ol { list-style: none; padding: 0; margin: .75rem 0 0; }
.legal-toc li + li { border-top: 1px solid #ddd; }
.legal-toc a { display: flex; align-items: center; min-height: 44px; padding-block: .625rem; font-size: .9375rem; line-height: 1.6; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-body { min-width: 0; max-width: 70ch; }
.legal-section { padding-block: 2.25rem; scroll-margin-top: 1.5rem; }
.legal-section:first-child { border-top: 0; padding-top: 0; }
.legal-section h2 { font-size: clamp(1.5rem, 2.8vw, 2rem); line-height: 1.3; letter-spacing: -.04em; text-wrap: pretty; }
.legal-section > p { color: #444; font-size: 1rem; line-height: 1.85; margin-top: 1rem; overflow-wrap: anywhere; }
.legal-section > .text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .9375rem; line-height: 1.6; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.legal-section:focus-visible { outline: 2px solid #111; outline-offset: .5rem; }
.legal-related { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.legal-related a { display: flex; align-items: center; min-height: 44px; gap: .75rem; padding-block: .625rem; font-size: .9375rem; line-height: 1.6; text-decoration: underline; text-underline-offset: .2em; }
.footer-policies { grid-column: 1 / -1; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.footer-policies .legal-operator { margin-top: 0; font-size: .875rem; line-height: 1.75; overflow-wrap: anywhere; }
.footer-policies nav, .page-footer .footer-policies nav { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1.75rem; margin-top: .75rem; font-size: .875rem; }
.footer-policies nav a { display: flex; align-items: center; min-height: 44px; max-width: 100%; line-height: 1.6; text-decoration: underline; text-underline-offset: .25em; overflow-wrap: anywhere; }
.site-footer .footer-policies { margin-top: 1.5rem; border-color: #595959; }
.site-footer .legal-operator { color: #e6e6e6; }
@media (max-width: 800px) {
  .legal-layout { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .legal-toc { position: static; }
  .legal-page .page-intro { padding-top: 2.5rem; }
  .legal-business { padding: 1.125rem; margin-bottom: 1.5rem; }
  .footer-policies nav, .page-footer .footer-policies nav { align-items: flex-start; flex-direction: column; gap: .25rem; }
}

.project-promo-videos{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;margin:32px 0}.project-promo-videos figure{margin:0;min-width:0}.project-promo-videos video{display:block;width:100%;max-height:640px;background:#111;object-fit:contain;border:1px solid #555}.project-promo-videos figcaption{padding-top:15px}.project-promo-videos p{font-size:15px}@media(max-width:760px){.project-promo-videos{grid-template-columns:1fr}}
