/* ============================================================
   Master CMS — Evening structural family
   Calm, editorial and premium: a deep green header, hero and
   footer around a warm ivory middle, large light serif headlines,
   italic accent words in brass, raised ivory cards and thin rules.
   Builds on Studio: theme-studio.css loads first (same templates,
   same markup), then this file restyles it. Colours come from the
   theme / Brand Colours variables:
     --color-primary    brass for buttons and accents on light
     --color-highlight  brass for accents on the dark green
     --color-dark       the deep green (header, hero, bands, footer)
     --color-background the ivory page
   ============================================================ */

.theme-evening {
  --ev-raise: #FBF8F2;           /* cards that sit on the ivory page */
  --ev-tint: #E9E1D2;            /* placeholders, soft panels */
  --ev-ink: var(--color-dark);
  --ev-soft: #3E443F;            /* body copy on light */
  --ev-muted: #6E7169;           /* captions, meta on light */
  --ev-line2: #C9BEA9;           /* outlines on light */
  --ev-d-raise: rgba(255,255,255,.055); /* cards on the dark green */
  --ev-d-line: rgba(255,255,255,.12);
  --ev-d-text: #F3EEE4;
  --ev-d-soft: #CBD1C8;
  --ev-d-muted: #A3AB9F;
  --studio-surface: var(--ev-raise);
  --studio-muted: var(--ev-muted);
  --studio-wrap: 1280px;
}

/* ---- Type ---- */
.theme-evening body { font-size: 17px; line-height: 1.65; color: var(--ev-ink); background: var(--color-background); }
.theme-evening h1, .theme-evening h2, .theme-evening h3, .theme-evening h4,
.theme-evening .bs-featured-title, .theme-evening .bs-card-title, .theme-evening .bs-spotlight-title,
.theme-evening .bs-newsletter-title, .theme-evening .ps-box-title, .theme-evening .ps-rel-title,
.theme-evening .ps-cta-heading, .theme-evening .cf-form-heading, .theme-evening .svc-card-title,
.theme-evening .svc-row-title, .theme-evening .post-card-title, .theme-evening .proj-title,
.theme-evening .ws-lead-title, .theme-evening .ws-card-title, .theme-evening .cs-next-title,
.theme-evening .team-name, .theme-evening .stat-value, .theme-evening .sf-logo, .theme-evening .logo,
.theme-evening .step-num, .theme-evening .ticker-set {
  font-family: var(--font-heading); font-weight: 400;
}
.theme-evening h1, .theme-evening h2, .theme-evening h3 { letter-spacing: -.02em; line-height: 1; color: inherit; }
.theme-evening h1 { font-size: clamp(3rem, 7.5vw, 7rem); letter-spacing: -.025em; }
.theme-evening h2 { font-size: clamp(2.4rem, 4.6vw, 4rem); }
.theme-evening h3 { font-size: clamp(1.6rem, 2.4vw, 2rem); letter-spacing: -.01em; line-height: 1.1; }
.theme-evening ::selection { background: var(--color-highlight); color: var(--color-dark); }

/* *Accent* words: italic brass, no block behind them */
.theme-evening .accent-word,
.theme-evening .block-banner-bold .accent-word,
.theme-evening .block-banner .accent-word.accent-highlight {
  font-style: italic; color: var(--color-primary); background: none; padding: 0; border-radius: 0; transform: none; display: inline;
}
.theme-evening .logo-accent { color: var(--color-highlight); font-style: italic; }

/* Small capitals label above headings */
.theme-evening .eyebrow, .theme-evening .bold-eyebrow, .theme-evening .sf-eyebrow, .theme-evening .ws-kicker {
  font-family: var(--font-body); font-size: .75rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
  color: var(--color-primary); margin-bottom: 1.25rem; display: block;
}

/* ---- Dark green areas share one set of colours ---- */
.theme-evening .site-header, .theme-evening .block-banner-bold, .theme-evening .page-title-banner,
.theme-evening .ticker-dark .ticker-band, .theme-evening .block-text.tone-dark, .theme-evening .steps-dark,
.theme-evening .contact-split, .theme-evening .ps-hero, .theme-evening .cs-hero, .theme-evening .site-footer-studio,
.theme-evening .block-stats-band {
  background: var(--color-dark); color: var(--ev-d-text);
}
.theme-evening .block-banner-bold .accent-word, .theme-evening .page-title-banner .accent-word,
.theme-evening .tone-dark .accent-word, .theme-evening .contact-split .accent-word,
.theme-evening .steps-dark .accent-word, .theme-evening .tone-dark h2 em { color: var(--color-highlight); }
.theme-evening .block-banner-bold .bold-eyebrow, .theme-evening .tone-dark .eyebrow, .theme-evening .steps-dark .eyebrow,
.theme-evening .contact-split .bold-eyebrow, .theme-evening .page-title-banner .eyebrow { color: var(--color-highlight); }

/* ---- Header ---- */
.theme-evening .site-header { padding: 1.6rem var(--studio-gutter); box-shadow: none; }
.theme-evening .logo { font-size: 1.85rem; letter-spacing: -.01em; color: var(--ev-d-text); }
.theme-evening .logo img { height: 42px; }
.theme-evening .main-nav { gap: 2.25rem; }
.theme-evening .main-nav a { color: var(--ev-d-muted); font-weight: 500; font-size: .92rem; }
.theme-evening .main-nav a:hover, .theme-evening .main-nav a:focus-visible { color: var(--ev-d-text); }
.theme-evening .mega-menu { background: #1F2E27; border-color: var(--ev-d-line); }
.theme-evening .mega-menu-item { color: var(--ev-d-soft); }
.theme-evening .site-header > .header-cta {
  background: transparent; color: var(--ev-d-text); border: 1px solid rgba(255,255,255,.28);
  padding: .8rem 1.4rem; font-size: .9rem; font-weight: 500;
}
.theme-evening .site-header > .header-cta:hover { background: var(--color-highlight); border-color: var(--color-highlight); color: var(--color-dark); }

/* ---- Buttons ---- */
.theme-evening .btn { border-radius: 999px; font-weight: 500; font-size: .95rem; padding: .95rem 1.6rem; letter-spacing: .01em; transition: background .2s, color .2s, border-color .2s; }
.theme-evening .btn:hover { transform: none; box-shadow: none; }
.theme-evening .btn-primary { background: var(--color-primary); color: var(--ev-raise); border: 1px solid var(--color-primary); }
.theme-evening .btn-primary:hover { background: var(--color-dark); border-color: var(--color-dark); color: var(--ev-d-text); }
.theme-evening .btn-secondary { background: transparent; color: var(--ev-ink); border: 1px solid var(--ev-line2); }
.theme-evening .btn-secondary:hover { border-color: var(--ev-ink); background: transparent; color: var(--ev-ink); }
/* on dark green: light brass button, outlined second button */
.theme-evening .block-banner-bold .btn-primary, .theme-evening .tone-dark .btn-primary, .theme-evening .contact-split .btn-primary,
.theme-evening .steps-dark .btn-primary, .theme-evening .page-title-banner .btn-primary, .theme-evening .site-footer-studio .btn-primary {
  background: var(--color-highlight); border-color: var(--color-highlight); color: var(--color-dark);
}
.theme-evening .block-banner-bold .btn-primary:hover, .theme-evening .tone-dark .btn-primary:hover,
.theme-evening .site-footer-studio .btn-primary:hover { background: var(--ev-d-text); border-color: var(--ev-d-text); color: var(--color-dark); }
.theme-evening .btn-ghost { background: transparent; color: var(--ev-d-text); border: 1px solid rgba(255,255,255,.28); }
.theme-evening .btn-ghost:hover { background: transparent; border-color: var(--ev-d-text); color: var(--ev-d-text); }

/* ---- Sections ---- */
.theme-evening .block { padding: 8rem var(--studio-gutter); }
/* Two plain sections in a row share one gap rather than two */
.theme-evening .block:not(.tone-dark, .tone-tint, .steps-dark, .block-banner, .block-ticker, .contact-split, .block-cta-scroller, .block-stats-band)
  + .block:not(.tone-dark, .tone-tint, .steps-dark, .block-banner, .block-ticker, .contact-split, .block-cta-scroller, .block-stats-band) { padding-top: 0; }
.theme-evening .bg-circle, .theme-evening .dotted-ring, .theme-evening .bold-orb { display: none !important; }

/* ---- Hero (Banner, Bold layout) ---- */
/* Tall: centred, the home page opener */
.theme-evening .block-banner.block-banner-bold { padding: 8rem var(--studio-gutter) 7rem; text-align: center; }
.theme-evening .block-banner-bold .bold-inner { max-width: 1120px; margin: 0 auto; }
.theme-evening .block-banner-bold h1 { font-size: clamp(3.6rem, 10.3vw, 9.25rem); line-height: .92; letter-spacing: -.025em; max-width: none; color: var(--ev-d-text); }
.theme-evening .block-banner-bold .bold-eyebrow { margin-bottom: 2.25rem; }
.theme-evening .block-banner-bold .bold-foot { flex-direction: column; align-items: center; gap: 2.75rem; margin-top: 2.5rem; }
.theme-evening .block-banner-bold .bold-sub { opacity: 1; color: var(--ev-d-soft); max-width: 38rem; font-size: 1.25rem; line-height: 1.6; }
.theme-evening .block-banner-bold .banner-ctas { justify-content: center; }
/* Compact: left-aligned inner-page title */
.theme-evening .block-banner.block-banner-bold.bold-compact { text-align: left; padding: 6rem var(--studio-gutter) 5.5rem; }
.theme-evening .block-banner-bold.bold-compact .bold-inner { max-width: none; margin: 0; }
.theme-evening .block-banner-bold.bold-compact h1 { font-size: clamp(3rem, 7.8vw, 7rem); line-height: .95; max-width: 15ch; }
.theme-evening .block-banner-bold.bold-compact .bold-foot { align-items: flex-start; gap: 2.5rem; }
.theme-evening .block-banner-bold.bold-compact .banner-ctas { justify-content: flex-start; }
/* With a photo: text beside a portrait, the photo running into the page below */
.theme-evening .block-banner-bold.has-media {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 5.5rem; align-items: end;
  text-align: left; padding-bottom: 6rem; margin-bottom: 9rem; overflow: visible;
}
.theme-evening .block-banner-bold.has-media .bold-inner { max-width: none; margin: 0; }
.theme-evening .block-banner-bold.has-media h1 { font-size: clamp(3.4rem, 9vw, 8.5rem); max-width: 12ch; }
.theme-evening .block-banner-bold.has-media .bold-foot { align-items: flex-start; }
.theme-evening .block-banner-bold.has-media .banner-ctas { justify-content: flex-start; }
.theme-evening .block-banner-bold.has-media .bold-media {
  margin: 0 0 -15rem; aspect-ratio: 4 / 5; border-radius: 22px; background: var(--ev-d-raise); box-shadow: 0 40px 80px -40px rgba(0,0,0,.45);
}

/* Standard title banner (Blog / Services / Projects when they have no hero block) */
.theme-evening .page-title-banner { padding: 6rem var(--studio-gutter) 5rem; }
.theme-evening .page-title-banner h1 { color: var(--ev-d-text); font-size: clamp(3rem, 7.8vw, 7rem); letter-spacing: -.025em; line-height: .95; }
.theme-evening .breadcrumb-pill { color: var(--ev-d-muted); font-size: .85rem; }
.theme-evening .breadcrumb-pill span { color: var(--color-highlight); font-weight: 500; }

/* ---- Credentials strip (Ticker, Dark band, not scrolling) ---- */
.theme-evening .block.block-ticker.ticker-dark { padding: 0 var(--studio-gutter); background: var(--color-dark); }
.theme-evening .ticker-dark .ticker-band { padding: 1.6rem 0; border-top: 1px solid var(--ev-d-line); }
.theme-evening .ticker-dark .ticker-set { font-family: var(--font-body); font-size: .9rem; letter-spacing: .01em; color: var(--ev-d-muted); gap: .6rem 2.25rem; }
.theme-evening .ticker-dark .ticker-sep { font-size: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--color-highlight); display: inline-block; opacity: 1; }
.theme-evening .ticker-accent .ticker-band { background: var(--color-primary); color: var(--ev-raise); }
.theme-evening .ticker-light .ticker-band { border-color: var(--color-line); }

/* ---- Text sections ---- */
.theme-evening .block-text { font-size: 1.12rem; color: var(--ev-soft); }
.theme-evening .block-text h2, .theme-evening .block-text h3 { color: var(--ev-ink); }
.theme-evening .block-text p { line-height: 1.75; }
.theme-evening .block-text a { color: var(--color-primary); }
@media (min-width: 1000px) {
  .theme-evening .block-text:has(> h2:first-child) { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); column-gap: clamp(3rem, 7vw, 6.5rem); align-items: end; }
  .theme-evening .block-text:has(> h2:first-child) > h2:first-child { font-size: clamp(2.6rem, 4.6vw, 4.2rem); line-height: 1; max-width: 13ch; position: static; align-self: start; }
  .theme-evening .block-text:has(> h2:first-child) > * { max-width: 640px; }
}
/* An eyebrow paragraph before the heading: <p><small>LABEL</small></p> is not needed — use bold caps instead */
.theme-evening .block-text > p:first-child > strong:only-child { font-size: .75rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--color-primary); }

/* Ticked lists inside text sections become ruled lists with brass numerals */
.theme-evening .block-text ul, .theme-evening .block-text ol { list-style: none; padding: 0; margin: 1.25rem 0 0; counter-reset: ev; }
.theme-evening .block-text li { counter-increment: ev; position: relative; padding: 1.15rem 0 1.15rem 2.75rem; border-top: 1px solid var(--color-line); color: var(--ev-ink); font-size: 1.05rem; line-height: 1.5; }
.theme-evening .block-text li::before { content: counter(ev, decimal-leading-zero); position: absolute; left: 0; top: 1.1rem; font-family: var(--font-heading); font-style: italic; font-size: 1.2rem; color: var(--color-primary); line-height: 1.25; }
.theme-evening .block-text blockquote { margin: 0 0 1rem; padding: 0; border: 0; font-family: var(--font-heading); font-size: clamp(1.7rem, 2.7vw, 2.4rem); line-height: 1.25; color: var(--ev-ink); font-style: normal; }
.theme-evening .block-text blockquote p { margin: 0; line-height: 1.25; }

/* Dark band */
.theme-evening .block-text.tone-dark { color: var(--ev-d-soft); padding-top: 8rem; padding-bottom: 8rem; }
.theme-evening .block-text.tone-dark h2, .theme-evening .block-text.tone-dark h3, .theme-evening .block-text.tone-dark blockquote,
.theme-evening .block-text.tone-dark li { color: var(--ev-d-text); }
.theme-evening .block-text.tone-dark li { border-color: var(--ev-d-line); }
.theme-evening .block-text.tone-dark li::before, .theme-evening .block-text.tone-dark a { color: var(--color-highlight); }
/* Soft tinted panel */
.theme-evening .block-text.tone-tint { background: var(--ev-tint); padding-top: 7rem; padding-bottom: 7rem; }

/* ---- Section heading row (list blocks) ---- */
.theme-evening .section-head { margin-bottom: 4rem; align-items: flex-end; }
.theme-evening .section-head h2 { max-width: 20ch; }
.theme-evening .section-intro { color: var(--ev-soft); opacity: 1; font-size: 1.05rem; }
.theme-evening .section-link {
  border: 1px solid var(--ev-line2); border-radius: 999px; padding: .8rem 1.4rem; font-weight: 500; font-size: .9rem; color: var(--ev-ink);
}
.theme-evening .section-link:hover { border-color: var(--ev-ink); color: var(--ev-ink); }
.theme-evening .section-link svg { width: 14px; height: 14px; }

/* ---- Services List ---- */
.theme-evening .svc-layout-grid .svc-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.theme-evening .svc-card {
  background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 18px; padding: 2.5rem 2.25rem;
  min-height: 300px; gap: .8rem; transition: border-color .2s, transform .3s var(--motion-easing);
}
.theme-evening .svc-card:hover { border-color: var(--ev-line2); transform: translateY(-3px); }
.theme-evening .svc-card-num { font-family: var(--font-heading); font-style: italic; font-weight: 400; font-size: 1.4rem; color: var(--color-primary); }
.theme-evening .svc-card-title { font-size: 2rem; line-height: 1.08; letter-spacing: -.01em; margin-top: auto; padding-top: 2.5rem; }
.theme-evening .svc-card-text { color: var(--ev-muted); opacity: 1; font-size: .96rem; line-height: 1.6; }
.theme-evening .svc-card-more { margin-top: 1rem; color: var(--ev-ink); font-weight: 500; font-size: .85rem; letter-spacing: .03em; }
.theme-evening .svc-card-more svg { width: 14px; height: 14px; }
.theme-evening .svc-group { background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 18px; }
.theme-evening .svc-layout-cards .svc-group:first-child { background: var(--color-dark); color: var(--ev-d-text); border-color: var(--color-dark); }
.theme-evening .svc-group-num, .theme-evening .svc-row-num { font-family: var(--font-heading); font-style: italic; font-weight: 400; color: var(--color-primary); font-size: 1.3rem; }
.theme-evening .svc-group h3 { font-size: 2rem; }
.theme-evening .svc-row-title { font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -.015em; }
.theme-evening .svc-row-arrow { border-width: 1px; }
.theme-evening .svc-row:hover .svc-row-arrow { background: var(--color-dark); border-color: var(--color-dark); color: var(--ev-d-text); }
@media (max-width: 1000px) { .theme-evening .svc-layout-grid .svc-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 680px) { .theme-evening .svc-layout-grid .svc-list { grid-template-columns: 1fr; } .theme-evening .svc-card { min-height: 0; } .theme-evening .svc-card-title { padding-top: 1.25rem; } }

/* ---- Steps ---- */
.theme-evening .steps-list { gap: 1.25rem; }
.theme-evening .steps-light .step { background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 20px; padding: 2.5rem 2.25rem; gap: .6rem; }
.theme-evening .step-num { font-size: 5rem; line-height: .8; color: var(--color-primary); font-weight: 400; }
.theme-evening .step-title { font-family: var(--font-heading); font-weight: 400; font-size: 2rem; line-height: 1.1; margin-top: 1.5rem; color: var(--ev-ink); }
.theme-evening .step-text { color: var(--ev-muted); opacity: 1; font-size: .98rem; line-height: 1.65; }
.theme-evening .steps-dark .steps-list { gap: 1.25rem; border: 0; }
.theme-evening .steps-dark .step { background: var(--ev-d-raise); border: 0; border-radius: 20px; padding: 2.5rem 2.25rem; }
.theme-evening .steps-dark .step-num { color: var(--color-highlight); }
.theme-evening .steps-dark .step-title { color: var(--ev-d-text); }
.theme-evening .steps-dark .step-text { color: var(--ev-d-muted); }
.theme-evening .steps-dark .section-head h2 { color: var(--ev-d-text); }
/* Numbered "what you get" lists with six items: two rows of three */
@media (min-width: 900px) { .theme-evening .steps-list:has(> li:nth-child(4)) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---- Latest Posts ---- */
.theme-evening .post-cards { gap: 2.5rem 1.5rem; }
.theme-evening .post-card { gap: .8rem; }
.theme-evening .post-card-media { border-radius: 16px; background: var(--ev-tint); }
.theme-evening .post-chip { font-weight: 500; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.theme-evening .post-card-date { color: var(--ev-muted); opacity: 1; font-size: .82rem; }
.theme-evening .post-card-title { font-size: 1.85rem; line-height: 1.12; letter-spacing: -.01em; }
.theme-evening .post-card:hover .post-card-title { color: var(--color-primary); }

/* ---- Closing call to action: big centred serif, no panel ---- */
.theme-evening .block-cta-scroller:not(.cta-photo-band) {
  display: block; text-align: center; background: transparent; color: var(--ev-ink); border-radius: 0;
  margin: 0; padding: 9rem var(--studio-gutter) 9rem; border-top: 1px solid var(--color-line);
}
.theme-evening .block-cta-scroller:not(.cta-photo-band) h2 { color: var(--ev-ink); max-width: 12ch; margin: 0 auto; font-size: clamp(3rem, 8vw, 6.5rem); line-height: .95; }
.theme-evening .block-cta-scroller .cta-copy { max-width: none; }
.theme-evening .block-cta-scroller .cta-copy h2 { max-width: 12ch; }
.theme-evening .block-cta-scroller .cta-text { margin: 2rem auto 2.75rem; max-width: 34rem; font-size: 1.2rem; line-height: 1.6; color: var(--ev-soft); opacity: 1; }
.theme-evening .block-cta-scroller .btn.btn-primary { background: var(--color-primary); color: var(--ev-raise); padding: 1rem 1.9rem; font-size: 1rem; }
.theme-evening .block-cta-scroller .btn.btn-primary:hover { background: var(--color-dark); color: var(--ev-d-text); }
.theme-evening .block-cta-scroller h2 + .btn, .theme-evening .block-cta-scroller .cta-copy + .btn { margin-top: 0; }
.theme-evening .block-cta-scroller:not(:has(.cta-copy)) h2 + .btn { margin-top: 2.5rem; }

/* ---- FAQs ---- */
.theme-evening .faq-list { max-width: none; border-top: 1px solid var(--color-line); }
.theme-evening .block-faqs summary { font-family: var(--font-heading); font-weight: 400; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.2; padding: 1.75rem 0; }
.theme-evening .faq-answer { color: var(--ev-soft); font-size: 1.05rem; line-height: 1.7; max-width: 46rem; }
.theme-evening .faq-chevron { background: transparent; border: 1px solid var(--ev-line2); }
.theme-evening details[open] .faq-chevron { background: var(--color-dark); border-color: var(--color-dark); }
.theme-evening details[open] .faq-chevron::before { border-color: var(--ev-d-text); }

/* ---- Image + text, testimonial, stats ---- */
.theme-evening .block-image-text img, .theme-evening .block-image-image img { border-radius: 18px; }
.theme-evening .block-image-text .block-copy { color: var(--ev-soft); }
.theme-evening .testimonial-card { background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 22px; }
.theme-evening .block-testimonial blockquote { font-weight: 400; font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1.22; letter-spacing: -.01em; }
.theme-evening .stat-value { color: var(--ev-d-text); letter-spacing: -.02em; }
.theme-evening .stat-label { color: var(--color-highlight); font-weight: 500; }
.theme-evening .feature-item { background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 18px; }
.theme-evening .feature-item:first-child { background: var(--color-dark); color: var(--ev-d-text); border-color: var(--color-dark); }
.theme-evening .feature-icon { background: var(--color-dark); color: var(--color-highlight); border-radius: 12px; }
.theme-evening .feature-item:first-child .feature-icon { background: var(--ev-d-raise); color: var(--color-highlight); }
.theme-evening .feature-item h3 { font-size: 1.8rem; }

/* ---- Contact (split layout) ---- */
.theme-evening .contact-split { padding-top: 6rem; padding-bottom: 8rem; gap: 5rem; }
.theme-evening .contact-split .cf-info h1 { color: var(--ev-d-text); font-size: clamp(3rem, 7vw, 6.25rem); line-height: .95; letter-spacing: -.025em; }
.theme-evening .contact-split .cf-intro { color: var(--ev-d-soft); font-size: 1.15rem; line-height: 1.6; }
.theme-evening .contact-split .cf-card { border: 0; background: var(--ev-d-raise); border-radius: 18px; padding: 1.25rem 1.4rem; color: var(--ev-d-text); }
.theme-evening .contact-split .cf-card:hover { background: rgba(255,255,255,.08); }
.theme-evening .contact-split .cf-card-icon { background: transparent; color: var(--color-highlight); border: 1px solid var(--ev-d-line); border-radius: 50%; }
.theme-evening .contact-split .cf-card-label { color: var(--ev-d-muted); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; }
.theme-evening .contact-split .cf-card-value { font-family: var(--font-heading); font-weight: 400; font-size: 1.6rem; }
.theme-evening .contact-split .cf-social a { border-color: var(--ev-d-line); color: var(--ev-d-text); }
.theme-evening .contact-split .cf-form { background: var(--ev-raise); color: var(--ev-ink); border-radius: 22px; box-shadow: 0 40px 80px -40px rgba(0,0,0,.5); }
.theme-evening .cf-form-heading { font-size: 2rem; letter-spacing: -.01em; }
.theme-evening .cf-field { font-weight: 500; font-size: .85rem; color: var(--ev-muted); }
.theme-evening .cf-field input, .theme-evening .cf-field textarea,
.theme-evening .block-contact-form input:not([type=checkbox]):not([type=hidden]), .theme-evening .block-contact-form textarea {
  border: 1px solid var(--color-line); border-radius: 12px; background: #fff; color: var(--ev-ink); font-size: 1rem;
}
.theme-evening .cf-field input:focus, .theme-evening .cf-field textarea:focus { border-color: var(--color-primary); }
.theme-evening .cf-chip span { border: 1px solid var(--color-line); background: #fff; font-size: .9rem; }
.theme-evening .cf-chip input:checked + span { background: var(--color-dark); border-color: var(--color-dark); color: var(--ev-d-text); }
.theme-evening .cf-submit { background: var(--color-primary); border-color: var(--color-primary); color: var(--ev-raise); }
.theme-evening .block-contact-form:not(.contact-split) form { background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 22px; }

/* ---- Blog listing ---- */
.theme-evening .blog-studio { padding-top: 5rem; }
.theme-evening .bs-featured { background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 22px; box-shadow: none; margin-bottom: 4rem; }
.theme-evening .bs-featured-media { background: var(--ev-tint); }
.theme-evening .bs-flag { background: var(--color-dark); color: var(--color-highlight); font-weight: 500; letter-spacing: .14em; }
.theme-evening .bs-featured-title { font-size: clamp(2.2rem, 3.8vw, 3.5rem); line-height: 1.02; letter-spacing: -.015em; }
.theme-evening .bs-featured-excerpt, .theme-evening .bs-card-excerpt { color: var(--ev-soft); }
.theme-evening .bs-chip { font-weight: 500; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.theme-evening .bs-arrow { background: var(--color-dark); color: var(--ev-d-text); }
.theme-evening .bs-featured:hover .bs-arrow, .theme-evening .bs-card:hover .bs-arrow { background: var(--color-primary); }
.theme-evening .bs-toolbar { padding-bottom: 2rem; border-bottom: 1px solid var(--color-line); margin-bottom: 3.5rem; }
.theme-evening .bs-pill { border: 1px solid var(--color-line); color: var(--ev-soft); font-size: .88rem; }
.theme-evening .bs-pill:hover { border-color: var(--ev-line2); }
.theme-evening .bs-pill.is-active { background: var(--color-dark); border-color: var(--color-dark); color: var(--ev-d-text); font-weight: 500; }
.theme-evening .bs-search { border: 1px solid var(--color-line); background: var(--ev-raise); }
.theme-evening .bs-search .btn { background: var(--color-dark); border-color: var(--color-dark); color: var(--ev-d-text); }
.theme-evening .bs-grid { gap: 3.5rem 2rem; }
.theme-evening .bs-card-media { border-radius: 14px; background: var(--ev-tint); }
.theme-evening .bs-card-title { font-size: 1.85rem; line-height: 1.12; letter-spacing: -.01em; }
.theme-evening .bs-card:hover .bs-card-title { color: var(--color-primary); }
.theme-evening .bs-date { color: var(--ev-muted); font-size: .82rem; }
.theme-evening .bs-spotlight { background: var(--color-dark); color: var(--ev-d-text); border-radius: 22px; }
.theme-evening .bs-spotlight-label { color: var(--color-highlight); font-weight: 500; letter-spacing: .14em; }
.theme-evening .bs-spotlight-title { font-size: clamp(2.4rem, 5vw, 4.5rem); letter-spacing: -.02em; }
.theme-evening .bs-spotlight-mark { font-weight: 400; color: var(--color-highlight); opacity: .14; }
.theme-evening .bs-arrow-light { background: var(--color-highlight); color: var(--color-dark); }
.theme-evening .bs-newsletter { background: var(--color-dark); border-radius: 22px; }
.theme-evening .bs-newsletter-title { font-size: clamp(1.9rem, 3vw, 2.6rem); letter-spacing: -.01em; }
.theme-evening .bs-newsletter-text { color: var(--ev-d-muted); }
.theme-evening .bs-newsletter-form input[type=email] { background: var(--ev-d-raise); border: 1px solid var(--ev-d-line); }
.theme-evening .bs-newsletter .btn-primary { background: var(--color-highlight); border-color: var(--color-highlight); color: var(--color-dark); }
.theme-evening .bs-page { border: 1px solid var(--color-line); font-weight: 500; }
.theme-evening .bs-page.is-active { background: var(--color-dark); border-color: var(--color-dark); color: var(--ev-d-text); }

/* ---- Blog post ---- */
.theme-evening .ps-progress span { background: var(--color-highlight); }
.theme-evening .ps-hero { padding: 5rem var(--studio-gutter) 13rem; text-align: center; }
.theme-evening .ps-hero-inner { align-items: center; gap: 1.75rem; }
.theme-evening .ps-back { color: var(--ev-d-muted); font-size: .85rem; }
.theme-evening .ps-chips { justify-content: center; }
.theme-evening .ps-chip { font-weight: 500; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.theme-evening .ps-hero h1 { color: var(--ev-d-text); font-size: clamp(2.8rem, 6.4vw, 5.6rem); line-height: 1; letter-spacing: -.02em; max-width: 18ch; }
.theme-evening .ps-standfirst { color: var(--ev-d-soft); font-size: clamp(1.15rem, 1.8vw, 1.35rem); max-width: 42rem; }
.theme-evening .ps-meta { width: 100%; max-width: 820px; border-color: var(--ev-d-line); }
.theme-evening .ps-avatar { background: var(--color-highlight); color: var(--color-dark); font-weight: 400; }
.theme-evening .ps-avatar-photo { object-fit: cover; padding: 0; background: var(--ev-d-raise); }
.theme-evening .ps-author { font-weight: 500; text-align: left; }
.theme-evening .ps-when { color: var(--ev-d-muted); text-align: left; }
.theme-evening .ps-share a, .theme-evening .ps-share button { border: 1px solid var(--ev-d-line); color: var(--ev-d-text); }
.theme-evening .ps-share a:hover, .theme-evening .ps-share button:hover, .theme-evening .ps-copy.is-copied { border-color: var(--color-highlight); color: var(--color-highlight); }
.theme-evening .ps-image img { border-radius: 18px; box-shadow: 0 40px 80px -40px rgba(0,0,0,.4); }
.theme-evening .ps-inshort { background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 18px; }
.theme-evening .ps-toc { background: var(--color-dark); border-radius: 18px; }
.theme-evening .ps-box-title { font-size: 1.6rem; letter-spacing: -.01em; }
.theme-evening .ps-toc a { color: var(--ev-d-soft); border-color: var(--ev-d-line); }
.theme-evening .ps-toc a:hover, .theme-evening .ps-toc-num { color: var(--color-highlight); }
.theme-evening .ps-toc-num { font-family: var(--font-heading); font-style: italic; font-weight: 400; }
.theme-evening .ps-body { font-size: 1.15rem; line-height: 1.8; color: var(--ev-soft); max-width: 720px; }
.theme-evening .ps-body > p:first-child { font-size: 1.35rem; line-height: 1.65; color: var(--ev-ink); }
.theme-evening .ps-body h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); line-height: 1.05; color: var(--ev-ink); margin: 3.25rem 0 1rem; }
.theme-evening .ps-body h3 { font-size: 1.7rem; color: var(--ev-ink); }
.theme-evening .ps-body a { color: var(--color-primary); }
.theme-evening .ps-body img { border-radius: 14px; }
.theme-evening .ps-body blockquote { font-weight: 400; text-align: center; font-size: clamp(1.8rem, 3.2vw, 2.5rem); line-height: 1.22; letter-spacing: -.01em; color: var(--ev-ink); margin: 3rem 0; }
.theme-evening .ps-body blockquote::before { content: ''; width: 48px; height: 1px; background: var(--color-primary); margin: 0 auto 1.75rem; font-size: 0; }
.theme-evening .ps-cta { background: var(--color-dark); border-radius: 18px; }
.theme-evening .ps-cta-heading { font-size: 1.8rem; letter-spacing: -.01em; }
.theme-evening .ps-cta-sub { color: var(--ev-d-soft); opacity: 1; }
.theme-evening .ps-cta-btn { background: var(--color-highlight); color: var(--color-dark); font-weight: 500; }
.theme-evening .ps-after { border-color: var(--color-line); color: var(--ev-muted); }
.theme-evening .ps-filed a, .theme-evening .ps-copy-text { color: var(--ev-ink); font-weight: 500; }
.theme-evening .ps-authorbox { gap: 1.5rem; padding: 1rem 0; }
.theme-evening .ps-avatar-lg { width: 5.5rem; height: 5.5rem; font-size: 2rem; }
.theme-evening .ps-author-name { font-family: var(--font-heading); font-weight: 400; font-size: 1.8rem; line-height: 1.1; }
.theme-evening .ps-author-bio { color: var(--ev-muted); font-size: .98rem; margin-top: .35rem; }
.theme-evening .ps-related { background: var(--ev-tint); }
.theme-evening .ps-related h2 { color: var(--ev-ink); }
.theme-evening .ps-rel-card { background: var(--ev-raise); border-radius: 16px; }
.theme-evening .ps-rel-media { background: #DCD2C1; }
.theme-evening .ps-rel-cat { font-weight: 500; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.theme-evening .ps-rel-title { font-size: 1.6rem; line-height: 1.12; letter-spacing: -.01em; }
.theme-evening .ps-rel-card:hover .ps-rel-title { color: var(--color-primary); }

/* ---- Work / case studies ---- */
.theme-evening .ws-lead, .theme-evening .cs-results, .theme-evening .cs-next { background: var(--color-dark); border-radius: 22px; }
.theme-evening .ws-lead-title, .theme-evening .cs-next-title { letter-spacing: -.02em; }
.theme-evening .cs-hero h1 { font-size: clamp(3.4rem, 10vw, 9rem); letter-spacing: -.025em; line-height: .9; }
.theme-evening .ws-go, .theme-evening .cs-next-go { background: var(--color-highlight); color: var(--color-dark); }
.theme-evening .ws-card-media, .theme-evening .proj-media { border-radius: 16px; background: var(--ev-tint); }
.theme-evening .cs-delivered li { background: var(--ev-raise); border: 1px solid var(--color-line); font-weight: 500; }
.theme-evening .cs-delivered li::before { border-color: var(--color-primary); }

/* ---- Footer ---- */
.theme-evening .site-footer-studio { color: var(--ev-d-muted); padding-top: 1rem; }
.theme-evening .sf-newsletter { border-color: var(--ev-d-line); }
.theme-evening .sf-newsletter h3 { color: var(--ev-d-text); font-weight: 400; }
.theme-evening .site-footer-studio .newsletter-form input[type=email] { background: var(--ev-d-raise); border: 1px solid var(--ev-d-line); }
.theme-evening .sf-grid { padding: 4.5rem 0 3.5rem; }
.theme-evening .sf-logo { color: var(--ev-d-text); font-size: 1.9rem; letter-spacing: -.01em; }
.theme-evening .sf-tagline { font-family: var(--font-heading); font-size: 1.75rem; line-height: 1.2; color: var(--ev-d-text); }
.theme-evening .sf-heading { color: var(--ev-d-text); font-weight: 500; }
.theme-evening .sf-col a, .theme-evening .sf-social a { color: var(--ev-d-muted); }
.theme-evening .sf-col a:hover, .theme-evening .sf-social a:hover { color: var(--color-highlight); }
.theme-evening .sf-bottom { border-color: var(--ev-d-line); color: var(--ev-d-muted); font-size: .8rem; }
.theme-evening .sf-bottom a { color: var(--ev-d-muted); }
.theme-evening .back-to-top { background: var(--color-dark); color: var(--color-highlight); }

/* ---- Mobile ---- */
@media (max-width: 900px) {
  .theme-evening .main-nav { background: var(--color-dark); }
  .theme-evening .main-nav > a, .theme-evening .main-nav .nav-parent-link { font-weight: 400; font-size: 1.6rem; color: var(--ev-d-text); border-color: var(--ev-d-line); }
  .theme-evening .main-nav .header-cta-mobile { background: var(--color-highlight); color: var(--color-dark); font-weight: 500; }
  .theme-evening .block-banner-bold.has-media { grid-template-columns: 1fr; gap: 3rem; margin-bottom: 7rem; }
  .theme-evening .block-banner-bold.has-media .bold-media { margin-bottom: -10rem; max-width: 520px; }
}
@media (max-width: 720px) {
  .theme-evening .site-header { padding: 1.1rem 1rem; }
  .theme-evening .logo { font-size: 1.6rem; }
  .theme-evening .block { padding: 4.5rem 1rem; }
  .theme-evening .block-text.tone-dark, .theme-evening .block-text.tone-tint { padding-top: 4.5rem; padding-bottom: 4.5rem; }
  .theme-evening .block-banner.block-banner-bold { padding: 4.5rem 1rem 4rem; }
  .theme-evening .block-banner.block-banner-bold.bold-compact { padding: 3.5rem 1rem 3.5rem; }
  .theme-evening .block-banner-bold h1 { font-size: clamp(3.2rem, 15vw, 4.5rem); }
  .theme-evening .block-banner-bold.bold-compact h1 { font-size: clamp(2.8rem, 13vw, 3.8rem); }
  .theme-evening .block-banner-bold.has-media h1 { font-size: clamp(3.4rem, 17vw, 4.6rem); }
  .theme-evening .block-banner-bold.has-media { margin-bottom: 6rem; }
  .theme-evening .block-banner-bold.has-media .bold-media { margin-bottom: -8rem; }
  .theme-evening .block.block-ticker.ticker-dark { padding: 0 1rem; }
  .theme-evening .ticker-dark .ticker-set { flex-direction: column; gap: .5rem; }
  .theme-evening .ticker-dark .ticker-sep { display: none; }
  .theme-evening .section-head { margin-bottom: 2.5rem; }
  .theme-evening .block-cta-scroller:not(.cta-photo-band) { padding: 5rem 1rem; }
  .theme-evening .contact-split { padding-top: 3.5rem; padding-bottom: 4.5rem; gap: 3rem; }
  .theme-evening .ps-hero { padding: 3rem 1rem 8rem; }
  .theme-evening .ps-body > p:first-child { font-size: 1.2rem; }
}

/* Emphasis inside headings typed in the editor: italic brass, like *accent* words */
.theme-evening h1 em, .theme-evening h2 em, .theme-evening h3 em { font-style: italic; color: var(--color-primary); font-weight: inherit; }
.theme-evening .tone-dark h1 em, .theme-evening .tone-dark h2 em, .theme-evening .tone-dark h3 em { color: var(--color-highlight); }
.theme-evening .block-text li strong { color: inherit; font-weight: 600; }

/* Two columns of text (Twin Text block): side-by-side ivory cards */
.theme-evening .block-twin-text { gap: 1rem; }
.theme-evening .block-twin-text > div { background: var(--ev-raise); border: 1px solid var(--color-line); border-radius: 20px; padding: 2.5rem 2.25rem; color: var(--ev-soft); }
.theme-evening .block-twin-text h3 { font-size: 2rem; color: var(--ev-ink); margin: 0 0 1.25rem; }
.theme-evening .block-twin-text p { margin: 0 0 .8rem; line-height: 1.6; }
.theme-evening .block-twin-text strong { color: var(--ev-ink); font-weight: 600; }
@media (max-width: 720px) { .theme-evening .block-twin-text { flex-direction: column; } }
/* Long-form text pages (e.g. privacy): a comfortable single column */
.theme-evening .block-text h3 { font-size: 1.6rem; margin: 2.25rem 0 .75rem; }

/* Category labels follow the Evening palette, whatever colour a category is given */
.theme-evening .post-chip, .theme-evening .bs-chip, .theme-evening .ps-chip { background: var(--ev-raise) !important; color: var(--ev-ink) !important; }
.theme-evening .ps-chip { background: rgba(255,255,255,.08) !important; color: var(--ev-d-text) !important; }
.theme-evening .ps-rel-cat { color: var(--color-primary) !important; }
