.editorial-page { background: #f0efe9; color: #171b23; }
.editorial-page main { overflow: clip; }
.page-nav { position: sticky; top: 0; z-index: 70; display: flex; align-items: center; gap: 2rem; padding: .7rem clamp(1rem, 4.5vw, 5rem); border-bottom: 1px solid #d3d5d0; background: #f0efe9; }
.page-brand { display: inline-flex; align-items: center; gap: .8rem; min-height: 44px; font: 700 1.45rem/1 "Manrope", sans-serif; letter-spacing: -.06em; text-decoration: none; }
.page-brand i { width: 17px; height: 17px; background: #235cda; border-radius: 3px; transform: rotate(45deg); }
.page-nav__links { display: flex; align-items: center; gap: 1.75rem; margin-left: auto; }
.page-nav__links a, .back-link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; font-size: .9rem; }
.page-nav__links a[aria-current], .page-nav__links a:hover { color: #174aac; }
.page-nav__actions { display: flex; align-items: center; gap: 1rem; }
.page-nav__cta { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: .5rem 1.15rem; border-radius: 999px; color: #fff; background: #111722; text-decoration: none; font-size: .875rem; white-space: nowrap; }
.page-nav .language-switch { border-color: #b9bdbb; }
.page-hero, .page-section, .page-cta { padding: clamp(4rem, 9vw, 8.5rem) clamp(1.25rem, 6vw, 6rem); }
.page-hero { padding-bottom: 4.5rem; }
.page-hero .kicker, .page-section .kicker { color: #2454aa; font-size: .8rem; }
.page-hero h1 { max-width: 19ch; margin: 1.8rem 0 3rem; font-size: clamp(3rem, 6.6vw, 7rem); line-height: 1.04; }
.hero-bottom { display: flex; justify-content: space-between; align-items: end; gap: 3rem; }
.hero-bottom p { max-width: 42rem; margin: 0; font-size: clamp(1rem, 1.7vw, 1.3rem); line-height: 1.65; color: #505762; }
.page-button { display: inline-flex; justify-content: space-between; align-items: center; gap: 2rem; min-height: 48px; padding: .95rem 1.35rem; text-decoration: none; color: #fff; background: #182c4f; border-radius: 999px; font-size: .9rem; font-weight: 600; }
.page-button:hover { background: #254d93; }
.text-link { display: inline-flex; align-items: center; gap: 1rem; min-height: 48px; font-weight: 600; text-underline-offset: 6px; }
.hero-bottom > a { flex: 0 0 auto; }
.scope-index { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 clamp(1.25rem, 6vw, 6rem); border-block: 1px solid #b9c1c8; }
.scope-index a { display: flex; align-items: center; gap: 1rem; min-height: 78px; padding: 1rem; text-decoration: none; font-weight: 600; }
.scope-index a + a { border-left: 1px solid #b9c1c8; }
.scope-index a span:first-child { color: #666e78; font: .85rem ui-monospace, monospace; }
.scope-index a span:last-child { margin-left: auto; }
.scope-index a:hover { background: #e2e7e7; }
.package-stack { padding: 2rem clamp(1.25rem, 6vw, 6rem) 0; }
.scope { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); padding: 5rem 0; border-bottom: 1px solid #bcc4c9; scroll-margin-top: 5rem; }
.scope-number { display: block; color: #b2bccb; font: 500 5.5rem/.9 "Manrope", sans-serif; letter-spacing: -.08em; margin-bottom: 2rem; }
.scope-heading .kicker { color: #365381; font-size: .8rem; }
.scope h2 { margin: .8rem 0; font: 600 clamp(2.3rem, 4vw, 4.5rem)/1.08 "Manrope", sans-serif; letter-spacing: -.06em; }
.scope-tagline { font-size: 1.15rem; font-weight: 600; }
.scope-heading p:not(.kicker) { max-width: 37rem; line-height: 1.65; }
.scope-heading > .page-button { margin-top: 1.2rem; }
.scope-detail { align-self: center; }
.scope-detail h3 { font-size: 1rem; font-weight: 700; margin: 0 0 1rem; }
.scope-list { padding: 0; margin: 0; list-style: none; }
.scope-list li { padding: 1rem 0 1rem 1.6rem; border-bottom: 1px solid #cbd1d1; position: relative; font-size: 1rem; line-height: 1.6; }
.scope-list li::before { content: "↗"; position: absolute; left: 0; color: #2454aa; }
.scope-note { padding: 1.1rem 1.25rem; margin-top: 1.75rem; border-left: 2px solid #6483ae; background: #e5e8e7; color: #495462; font-size: .9rem; line-height: 1.7; }
.page-section .display, .page-cta .display { margin: 1.2rem 0 2rem; font-size: clamp(2.4rem, 4.8vw, 5.25rem); line-height: 1.07; max-width: 20ch; }
.terms-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; margin-top: 3rem; }
.terms-grid article { border-top: 1px solid #b6c1cb; padding-top: 1.25rem; }
.small-number { color: #5d6a7c; font: .85rem ui-monospace, monospace; }
.terms-grid h3 { font: 600 1.5rem/1.25 "Manrope", sans-serif; letter-spacing: -.04em; }
.terms-grid p, .prose p, .case-chapter > div > p, .responsive-study p { color: #505762; font-size: 1rem; line-height: 1.8; }
.case-teaser { display: flex; align-items: center; justify-content: space-between; gap: 2rem; background: #dfe5e3; }
.case-teaser p { max-width: 37rem; line-height: 1.8; }
.case-teaser__word { font: 400 clamp(8rem, 20vw, 21rem)/.85 Georgia, serif; color: #536449; }
.case-teaser__word span { font: 400 .35em/1 "Manrope", sans-serif; vertical-align: top; }
.page-cta { color: #f4f7fb; background: #080d16; }
.page-cta .kicker { color: #8ebdff; }
.page-cta > p:not(.kicker) { max-width: 35rem; color: #bec9d9; line-height: 1.8; }
.page-cta .page-button { margin-top: 1.5rem; background: #f4f7fb; color: #111c2f; }
.quiet-link { display: block; width: fit-content; min-height: 44px; margin-top: 1rem; padding-top: .65rem; color: #bec9d9; font-size: .9rem; }
.page-footer { display: flex; justify-content: space-between; align-items: center; gap: 2rem; padding: 2rem clamp(1.25rem, 6vw, 6rem); font-size: .875rem; }
.page-footer > a:last-child { display: inline-flex; align-items: center; min-height: 44px; }
.case-hero .back-link { margin-top: -2rem; margin-bottom: 1.8rem; }
.case-hero h1 span { color: #656f5b; }
.case-cover { margin: 0 clamp(1rem, 4vw, 4rem); padding: clamp(.7rem, 2.5vw, 2.5rem); background: #d6dccc; border: 1px solid #bcc5b4; }
.case-cover img { display: block; width: 100%; height: auto; border: 1px solid #aebaa5; }
.case-cover figcaption { padding-top: 1rem; color: #4f5b46; font-size: .85rem; line-height: 1.6; }
.case-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; padding: 2.5rem clamp(1.25rem, 6vw, 6rem); border-bottom: 1px solid #bcc4c9; }
.case-facts span { display: block; color: #676f7a; font-size: .85rem; margin-bottom: .75rem; }
.case-facts strong { font-size: 1rem; font-weight: 600; line-height: 1.6; }
.case-chapter { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; }
.honest-note { border-left: 2px solid #6c7c5e; padding: 1rem 1.25rem; margin-top: 2rem; background: #e1e6dd; color: #46543b; font-size: .9rem; line-height: 1.75; }
.case-decisions { background: #e1e6dd; }
.journey-list { padding: 0; margin: 0; list-style: none; }
.journey-list li { display: flex; gap: 2rem; padding: 1.75rem 0; border-bottom: 1px solid #bcc4c9; }
.journey-list > li > span { color: #5a6d91; font: .85rem ui-monospace, monospace; padding-top: .35rem; }
.journey-list h3 { margin: 0 0 .6rem; font-size: 1.3rem; }
.journey-list p { color: #505762; line-height: 1.7; margin: 0; }
.responsive-study { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 5rem; background: #d9dfd9; }
.phone-shot { max-width: 325px; margin: 0 auto; padding: .55rem; border: 1px solid #6b7963; border-radius: 1.4rem; background: #5b6853; box-shadow: 0 2rem 4rem #202c1b20; }
.phone-shot img { display: block; width: 100%; height: auto; border-radius: .95rem; }
.phone-shot figcaption { padding: .85rem .25rem .4rem; color: #f8f8ef; font-size: .8rem; text-align: center; }
.policy-content { max-width: 58rem; padding-top: 0; }
.policy-content h2 { font-size: 1.4rem; line-height: 1.3; margin-top: 2.5rem; }
.policy-content p { font-size: 1rem; line-height: 1.8; }
.editorial-page [id] { scroll-margin-top: 6rem; }
.work-card__details { display: inline-flex; min-height: 44px; align-items: center; gap: 1rem; margin-top: 1rem; font-size: .9rem; text-underline-offset: 5px; }
.engagement ul { padding-left: 1.1rem; line-height: 1.8; font-size: .9rem; color: #545d69; }
.service-detail-link { margin-top: 2rem; display: inline-flex; align-items: center; min-height: 48px; font-weight: 700; text-underline-offset: 5px; }
/* Shared direct-enquiry controls, including the homepage drawer. */
.brief__form select { width: 100%; min-height: 48px; padding: .8rem .5rem; border: 1px solid #54657c; border-radius: .4rem; background: #0d1725; color: #f4f7fb; font: 1rem/1.5 "Manrope", sans-serif; }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.brief__form .contact-consent { display: flex; gap: .8rem; align-items: start; letter-spacing: 0; text-transform: none; font-size: .875rem; line-height: 1.7; }
.contact-consent input { flex: 0 0 22px; width: 22px; height: 22px; padding: 0; margin: .2rem 0; accent-color: #8bbcff; }
.contact-consent a { text-underline-offset: 4px; }
.brief__form button:disabled { opacity: .55; cursor: not-allowed; }
.contact-status { margin: .2rem 0 0; padding: 1rem; border: 1px solid #4c6385; border-radius: .5rem; font-size: .9rem; line-height: 1.65; color: #d0e0f8; background: #122036; }
.contact-status[data-state="error"] { border-color: #b7777c; color: #f2cdd0; }
.contact-status[data-state="success"] { border-color: #69a995; color: #bce9d7; }
.contact-status[data-state="unavailable"] { border-color: #8c7f59; color: #e8dbb4; background: #262318; }
.editorial-page .brief { color: #f4f7fb; }
@media (max-width: 980px) {
  .terms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .case-chapter { gap: 3rem; }
  .page-nav { gap: 1rem; }
  .page-nav__links { gap: 1rem; }
}
@media (max-width: 700px) {
  .page-nav { display: grid; grid-template-columns: 1fr auto; gap: .2rem .5rem; padding: .5rem .75rem; }
  .page-brand { font-size: 1.25rem; gap: .5rem; }
  .page-brand i { width: 13px; height: 13px; }
  .page-nav__links { grid-row: 2; grid-column: 1/-1; width: 100%; justify-content: space-between; margin: 0; }
  .page-nav__links a { padding-inline: .5rem; }
  .page-nav__actions { grid-row: 1; grid-column: 2; gap: .45rem; }
  .page-nav__cta { padding-inline: .75rem; font-size: .8rem; }
  .page-hero { padding-top: 3.5rem; }
  .page-hero h1 { font-size: clamp(2.5rem, 9vw, 4rem); }
  .hero-bottom { align-items: start; flex-direction: column; gap: 1.5rem; }
  .scope-index { grid-template-columns: 1fr; }
  .scope-index a { min-height: 62px; }
  .scope-index a + a { border-left: 0; border-top: 1px solid #b9c1c8; }
  .scope, .case-chapter, .responsive-study { grid-template-columns: 1fr; gap: 2.5rem; }
  .scope { padding-block: 3.5rem; }
  .scope-number { font-size: 4.5rem; }
  .terms-grid { grid-template-columns: 1fr; }
  .case-teaser__word { display: none; }
  .case-facts { grid-template-columns: 1fr; gap: 1.5rem; }
  .case-facts > div { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; }
  .page-footer { align-items: start; flex-direction: column; gap: .5rem; }
  .page-footer p { line-height: 1.6; margin-block: .5rem; }
  .editorial-page [id] { scroll-margin-top: 8.5rem; }
  .page-hero .back-link { margin-top: -1.5rem; }
}
@media (prefers-reduced-motion: reduce) { .editorial-page * { scroll-behavior: auto !important; } }

.scope-artifact { margin-bottom:2.5rem; padding:1.5rem; border:1px solid #a9b7c4; background:#e0e8ed; color:#263a4c; }
.scope-artifact > span { font-size:.7rem; font-weight:700; letter-spacing:.04em; }
.scope-artifact ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; padding:0; list-style:none; counter-reset:delivery; }
.scope-artifact li { position:relative; counter-increment:delivery; min-height:4rem; display:flex; align-items:center; padding:.75rem; border:1px solid #9badbc; background:#f1f5f7; font-size:.8rem; font-weight:600; }
.scope-artifact li::before { content:counter(delivery,decimal-leading-zero); margin-right:.65rem; color:#58728c; font-size:.65rem; }
.scope-artifact--business-website li:first-child { grid-column:1/-1; background:#21394b; color:#fff; }
.scope-artifact--website-care ol { grid-template-columns:1fr; }
.scope-artifact--website-care li { min-height:0; border:0; border-bottom:1px solid #afbdc9; background:transparent; }
.scope-artifact > p { margin:0; font-size:.78rem; line-height:1.65; color:#50677a; }
.case-cover,.responsive-study { background:#dce7ef; border-color:#adc0ce; }
.phone-shot { background:#263e4e; border-color:#6a869a; }
