@import url("https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");

/* ============================================================
   Epigenesis Edu — "Slate & Chalk"
   Pine green + ochre on a chalk-dust ground.
   Newsreader (display) / IBM Plex Sans (body) / IBM Plex Mono (data).
   Wording is untouched; this file only changes how it looks.
   ============================================================ */

:root{
  --ground:#ECEEE9; --surface:#F8F9F6; --surface-2:#E2E7E0;
  --ink:#14201B; --ink-2:#3E4F48; --muted:#6A7970;
  --line:#CCD4CC; --line-strong:#A6B3AA;
  --accent:#0E5C4A; --accent-hi:#0B4B3C; --accent-soft:#D8E7E0; --accent-ink:#FFFFFF;
  --ochre:#9E5A16; --ochre-soft:#F1E3CF;
  --sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Newsreader",ui-serif,Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
/* Light-only: the Elementor home page sets many fixed colours, so an
   automatic dark mode would only be half applied. */

/* --- Map the block theme's palette onto the design tokens --- */
body,
.editor-styles-wrapper{
  --wp--preset--color--base:var(--ground);
  --wp--preset--color--contrast:var(--ink);
  --wp--preset--color--accent-1:var(--accent);
  --wp--preset--color--accent-2:var(--ochre);
  --wp--preset--color--accent-3:var(--accent);
  --wp--preset--color--accent-4:var(--accent-soft);
  --wp--preset--color--accent-5:var(--line);
  --wp--preset--font-family--body:var(--sans);
  --wp--preset--font-family--heading:var(--serif);
  --wp--style--global--content-size:880px;
  --wp--style--global--wide-size:1120px;
}

/* ============================================================
   BASE
   ============================================================ */
html{ background:var(--ground); }
body{
  background:var(--ground) !important;
  color:var(--ink) !important;
  font-family:var(--sans) !important;
  font-size:1.0625rem;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
body p,
.entry-content p,
.wp-block-post-content p{ color:var(--ink-2); }
a{ color:var(--accent); text-underline-offset:3px; }
a:hover{ color:var(--accent-hi); }
:focus-visible{ outline:2px solid var(--accent); outline-offset:2px; }
strong,b{ color:var(--ink); font-weight:600; }
hr,.wp-block-separator{
  border:none; border-top:1px solid var(--line); opacity:1;
  margin-block:44px;
}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,.wp-block-post-title,
.section-title,.hero-title{
  font-family:var(--serif) !important;
  font-weight:500 !important;
  letter-spacing:-.014em;
  color:var(--ink) !important;
  text-wrap:balance;
}
h3,h4,h5,h6{
  font-family:var(--sans) !important;
  font-weight:600 !important;
  color:var(--ink) !important;
}
.wp-block-post-title{
  font-size:clamp(2rem,5vw,2.75rem) !important;
  line-height:1.14 !important;
  text-align:left !important;
  margin-bottom:.2em;
}
.entry-content h2,
.wp-block-post-content h2{
  font-size:1.4rem !important; line-height:1.2;
  margin:40px 0 12px; letter-spacing:-.01em;
}
.entry-content h3,
.wp-block-post-content h3{
  font-size:1.0625rem !important; margin:24px 0 8px;
}

/* First paragraph of a page reads as the lede. */
.entry-content > p:first-of-type,
.wp-block-post-content > p:first-of-type{
  font-size:1.1875rem; line-height:1.6; color:var(--ink);
}

/* ============================================================
   LISTS — the design's hairline dot bullets
   ============================================================ */
.entry-content ul,
.wp-block-post-content ul,
.service-list,
.footer-col ul{
  list-style:none; padding-left:0;
  display:flex; flex-direction:column; gap:9px;
  color:var(--ink-2);
}
.entry-content ul li,
.wp-block-post-content ul li,
.service-list li,
.footer-col ul li{
  position:relative; padding-left:22px; margin:0;
}
.entry-content ul li::before,
.wp-block-post-content ul li::before,
.service-list li::before{
  content:""; position:absolute; left:2px; top:.62em;
  width:5px; height:5px; border-radius:50%; background:var(--accent);
}
.footer-col ul li{ padding-left:0; }
.entry-content ol,
.wp-block-post-content ol{ color:var(--ink-2); }

/* ============================================================
   TABLES, QUOTES, CODE
   ============================================================ */
.entry-content table,
.wp-block-table table{
  width:100%; border-collapse:collapse; font-size:.9375rem;
}
.entry-content th,.entry-content td,
.wp-block-table th,.wp-block-table td{
  text-align:left; padding:11px 12px; vertical-align:top;
  border:none; border-bottom:1px solid var(--line);
}
.entry-content th,.wp-block-table th{
  font-family:var(--mono); font-size:.68rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--muted); font-weight:500;
}
.wp-block-quote,blockquote{
  border-left:3px solid var(--accent); background:var(--accent-soft);
  padding:14px 18px; border-radius:0 3px 3px 0; margin:24px 0;
}
.wp-block-quote p,blockquote p{ color:var(--ink) !important; margin:0; }
code,kbd{
  font-family:var(--mono); font-size:.875em;
  background:var(--surface-2); padding:2px 5px; border-radius:2px;
}
pre{
  font-family:var(--mono); background:var(--surface);
  border:1px solid var(--line); border-radius:3px; padding:16px 18px;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-button__link,
.btn-hero-primary,
.btn-nav-cta,
.cta-buttons-group a,
.service-cta,
button[type="submit"],
input[type="submit"],
.elementor-button{
  font-family:var(--sans) !important;
  font-weight:600 !important;
  font-size:.9375rem !important;
  border-radius:3px !important;
  border:1px solid var(--accent) !important;
  background:var(--accent) !important;
  background-image:none !important;
  color:var(--accent-ink) !important;
  padding:13px 22px !important;
  box-shadow:none !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  transition:filter .15s ease;
}
.wp-block-button__link:hover,
.btn-hero-primary:hover,
.btn-nav-cta:hover,
.cta-buttons-group a:hover,
button[type="submit"]:hover,
.elementor-button:hover{ filter:brightness(1.08); }

.wp-block-button.is-style-outline .wp-block-button__link,
.btn-hero-secondary,
.cta-buttons-group a:not(:first-child){
  background:transparent !important;
  color:var(--accent) !important;
  border:1px solid var(--accent) !important;
}
.service-cta{
  background:transparent !important; border:none !important;
  padding:0 !important; color:var(--accent) !important;
  font-family:var(--mono) !important; font-size:.72rem !important;
  letter-spacing:.11em !important; text-transform:uppercase !important;
  border-bottom:1px solid var(--line) !important; padding-bottom:6px !important;
}

/* ============================================================
   SITE HEADER (block template part, interior pages)
   ============================================================ */
header.wp-block-template-part{
  background:var(--surface) !important;
  border-bottom:1px solid var(--line);
}
header.wp-block-template-part .has-base-background-color{
  background:transparent !important;
}
header.wp-block-template-part .wp-block-site-title a{
  font-family:var(--serif) !important;
  font-weight:600; font-size:1.3rem; letter-spacing:-.02em;
  color:var(--ink) !important; text-decoration:none;
}
header.wp-block-template-part .wp-block-navigation a{
  font-family:var(--sans); font-size:.9rem;
  color:var(--ink-2) !important; text-decoration:none;
}
header.wp-block-template-part .wp-block-navigation a:hover{
  color:var(--accent) !important; text-decoration:underline;
}
header.wp-block-template-part .wp-block-navigation .current-menu-item a{
  color:var(--accent) !important; font-weight:600;
}

/* ============================================================
   SITE FOOTER (block template part)
   ============================================================ */
footer.wp-block-template-part{
  background:var(--surface) !important;
  border-top:3px solid var(--accent);
  color:var(--muted);
}
footer.wp-block-template-part a{ color:var(--ink-2) !important; text-decoration:none; }
footer.wp-block-template-part a:hover{ color:var(--accent) !important; }
footer.wp-block-template-part h2,
footer.wp-block-template-part h3,
footer.wp-block-template-part h4{
  font-family:var(--mono) !important; font-size:.75rem !important;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted) !important; font-weight:500 !important;
}

/* ============================================================
   HOME PAGE — announcement strip and navigation
   ============================================================ */
.header-redesign{
  background:var(--surface) !important;
  border-bottom:1px solid var(--line) !important;
  border-top:3px solid var(--accent) !important;
  box-shadow:none !important;
}
header.wp-block-template-part{ border-top:3px solid var(--accent) !important; }
.logo-redesign{ text-decoration:none !important; }
.logo-text{
  font-family:var(--serif) !important; font-weight:600 !important;
  font-size:1.3rem !important; letter-spacing:-.02em !important;
  color:var(--ink) !important; text-transform:none !important;
  background:none !important; -webkit-text-fill-color:var(--ink) !important;
}
.logo-tagline{
  font-family:var(--mono) !important; font-size:.68rem !important;
  letter-spacing:.1em !important; text-transform:uppercase !important;
  color:var(--muted) !important;
}
.nav-menu-redesign a{
  font-family:var(--sans) !important; font-size:.9rem !important;
  font-weight:500 !important; color:var(--ink-2) !important;
  text-transform:none !important; letter-spacing:0 !important;
}
.nav-menu-redesign a:hover{ color:var(--accent) !important; }
.nav-menu-redesign li::before{ display:none !important; }

/* ============================================================
   HOME PAGE — hero
   ============================================================ */
.hero-redesign{
  background:var(--accent-soft) !important;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px) !important;
  background-size:100% 34px, 34px 100% !important;
  background-position:0 0 !important;
  border-bottom:1px solid var(--line) !important;
  color:var(--ink) !important;
  padding-block:clamp(56px,8vw,104px) !important;
  min-height:0 !important;
}
.hero-redesign::before,
.hero-overlay{
  background:linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 70%, transparent), var(--accent-soft)) !important;
  opacity:1 !important;
}
.hero-content-redesign{ text-align:left !important; max-width:820px; }
.hero-title{
  font-size:clamp(2.1rem,5.2vw,3.1rem) !important;
  line-height:1.12 !important;
  color:var(--ink) !important;
  text-shadow:none !important;
  margin-bottom:.35em !important;
}
.hero-subtitle{
  font-family:var(--mono) !important;
  font-size:.75rem !important; letter-spacing:.14em !important;
  text-transform:uppercase !important; color:var(--accent) !important;
  display:flex; align-items:center; gap:10px;
  margin-bottom:14px !important; text-shadow:none !important;
}
.hero-subtitle::before{
  content:""; width:22px; height:1px; background:var(--accent); flex:none;
}
.hero-description{
  font-size:1.1875rem !important; line-height:1.6 !important;
  color:var(--ink-2) !important; max-width:56ch;
  text-shadow:none !important;
}
.hero-cta-buttons{ justify-content:flex-start !important; gap:12px !important; }

/* ============================================================
   HOME PAGE — stats strip
   ============================================================ */
.stats-redesign{
  background:var(--accent-soft) !important;
  border-bottom:1px solid var(--line) !important;
  padding-block:0 !important;
}
.stats-grid-redesign{ gap:0 !important; }
.stat-card-redesign{
  background:transparent !important;
  border:none !important;
  border-right:1px solid var(--line) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:22px 24px !important;
  text-align:left !important;
  transform:none !important;
}
.stat-card-redesign:last-child{ border-right:none !important; }
.stat-icon{ display:none !important; }
.stat-number{
  font-family:var(--serif) !important; font-weight:600 !important;
  font-size:1.9rem !important; letter-spacing:-.02em !important;
  color:var(--ink) !important; background:none !important;
  -webkit-text-fill-color:var(--ink) !important;
}
.stat-label{
  font-family:var(--mono) !important; font-size:.68rem !important;
  letter-spacing:.11em !important; text-transform:uppercase !important;
  color:var(--muted) !important; margin-top:4px !important;
}

/* ============================================================
   HOME PAGE — section headers
   ============================================================ */
.about-redesign,
.services-redesign,
.contact-cta-redesign{
  background:var(--ground) !important;
  border-top:1px solid var(--line) !important;
  padding-block:clamp(48px,7vw,88px) !important;
}
.section-header-center{
  text-align:left !important; max-width:62ch;
  margin:0 0 40px !important;
}
.section-tag{
  font-family:var(--mono) !important; font-size:.72rem !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  color:var(--accent) !important; background:none !important;
  border:none !important; padding:0 !important;
  display:flex !important; align-items:center; gap:10px; width:fit-content;
}
.section-tag::before{
  content:""; width:22px; height:1px; background:var(--accent); flex:none;
}
.section-title{
  font-size:clamp(1.6rem,3.4vw,2.1rem) !important;
  line-height:1.16 !important; margin:14px 0 0 !important;
}
.section-subtitle{
  font-size:1.0625rem !important; color:var(--ink-2) !important;
  margin-top:12px !important;
}

/* ============================================================
   HOME PAGE — about and service cards
   ============================================================ */
.about-grid-redesign,
.services-grid-redesign{
  gap:1px !important;
  background:var(--line) !important;
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  overflow:hidden !important;
}
.about-card-redesign,
.service-card-redesign{
  background:var(--surface) !important;
  border:none !important; border-radius:0 !important;
  box-shadow:none !important; transform:none !important;
  padding:26px 24px 28px !important;
  text-align:left !important;
}
.about-card-redesign:hover,
.service-card-redesign:hover{ transform:none !important; box-shadow:none !important; }
.about-icon,
.service-icon-large{ display:none !important; }
.about-card-redesign h3,
.service-card-redesign h3{
  font-family:var(--serif) !important; font-weight:500 !important;
  font-size:1.25rem !important; margin:0 0 8px !important;
}
.about-card-redesign p{ color:var(--ink-2) !important; font-size:.9375rem !important; }
.service-card-redesign.service-featured{ background:var(--surface) !important; }
.service-featured::before,
.service-card-redesign .featured-badge,
.service-card-redesign [class*="badge"]{
  font-family:var(--mono) !important; font-size:.68rem !important;
  letter-spacing:.12em !important; text-transform:uppercase !important;
  background:transparent !important; color:var(--ochre) !important;
  border:none !important; box-shadow:none !important;
  padding:0 !important; position:static !important;
}
.service-list li{ font-size:.9375rem !important; }

/* ============================================================
   HOME PAGE — closing call to action
   ============================================================ */
.contact-cta-redesign{ background:var(--accent-soft) !important; }
.cta-content-redesign{ text-align:left !important; max-width:62ch; }
.cta-content-redesign h2{
  font-family:var(--serif) !important; font-weight:500 !important;
  font-size:clamp(1.6rem,3.4vw,2.1rem) !important;
  color:var(--ink) !important;
}
.cta-content-redesign p{ color:var(--ink-2) !important; }
.cta-buttons-group{ justify-content:flex-start !important; gap:12px !important; }

/* ============================================================
   HOME PAGE — enquiry form
   ============================================================ */
#enquiry,
.elementor-widget-form{
  background:var(--surface) !important;
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  padding:24px 24px 28px !important;
}
.elementor-field-group label,
#enquiry label{
  font-family:var(--mono) !important; font-size:.7rem !important;
  letter-spacing:.1em !important; text-transform:uppercase !important;
  color:var(--muted) !important;
}
.elementor-field-textual,
#enquiry input,
#enquiry select,
#enquiry textarea{
  font-family:var(--sans) !important; font-size:1rem !important;
  color:var(--ink) !important; background:var(--ground) !important;
  border:1px solid var(--line) !important; border-radius:3px !important;
  padding:10px 12px !important; box-shadow:none !important;
}
.elementor-field-textual:focus,
#enquiry input:focus,
#enquiry select:focus,
#enquiry textarea:focus{
  outline:2px solid var(--accent); outline-offset:1px;
  border-color:var(--accent) !important;
}

/* ============================================================
   HOME PAGE — footer block
   ============================================================ */
.footer-content-redesign{ gap:36px !important; }
.footer-col h4{
  font-family:var(--mono) !important; font-size:.72rem !important;
  letter-spacing:.12em !important; text-transform:uppercase !important;
  color:var(--muted) !important; font-weight:500 !important;
  margin-bottom:12px !important;
}
.footer-col p,
.footer-col li{ color:var(--ink-2) !important; font-size:.875rem !important; }
.footer-col a{ color:var(--ink-2) !important; text-decoration:none !important; }
.footer-col a:hover{ color:var(--accent) !important; }

/* Emoji icons are not part of this design system. */
img.emoji{ display:none !important; }

/* ============================================================
   TIDYING
   ============================================================ */
.wp-block-post-content > *:first-child{ margin-top:0; }
.entry-content img,
.wp-block-image img{ border-radius:3px; }
@media (max-width:700px){
  .stat-card-redesign{ border-right:none !important; border-bottom:1px solid var(--line) !important; }
  .hero-cta-buttons,.cta-buttons-group{ flex-wrap:wrap !important; }
}
@media print{
  .header-redesign,header.wp-block-template-part,footer.wp-block-template-part{ display:none !important; }
}

/* ============================================================
   SPECIFICITY BOOSTERS
   The Elementor home-page stylesheet marks several colours
   !important, so these rules restate them at higher weight.
   ============================================================ */
body > div:first-child[style]{
  background:var(--accent) !important;
  color:var(--accent-ink) !important;
  border-bottom:1px solid var(--accent-hi) !important;
}
body > div:first-child[style] a{
  color:var(--accent-ink) !important;
  background:transparent !important;
  border:1px solid currentColor !important;
  border-radius:3px !important;
  padding:4px 12px !important;
  font-weight:600 !important;
  text-decoration:none !important;
}
body .navbar-redesign a.btn-nav-cta,
body .nav-menu-redesign a.btn-nav-cta,
body a.floating-enquiry-cta,
body .hero-cta-buttons a.btn-hero-primary,
body .cta-buttons-group a:first-child{
  background:var(--accent) !important;
  background-image:none !important;
  color:var(--accent-ink) !important;
  border:1px solid var(--accent) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  font-family:var(--sans) !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
body .hero-cta-buttons a.btn-hero-secondary,
body .cta-buttons-group a:not(:first-child){
  background:transparent !important;
  background-image:none !important;
  color:var(--accent) !important;
  border:1px solid var(--accent) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  font-family:var(--sans) !important;
  font-weight:600 !important;
  text-transform:none !important;
}
body .services-grid-redesign .service-card-redesign a.service-cta{
  background:transparent !important;
  color:var(--accent) !important;
  border:none !important;
  border-bottom:1px solid var(--line) !important;
  border-radius:0 !important;
  padding:0 0 6px !important;
  font-family:var(--mono) !important;
  font-size:.72rem !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
}
body .stats-redesign .stat-card-redesign .stat-number{
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important;
  background:none !important;
}
body .navbar-redesign .logo-text{
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important;
  background:none !important;
}

/* ============================================================
   HOME PAGE — footer block, corrected to the light ground
   ============================================================ */
body footer.footer-redesign{
  background:var(--surface) !important;
  color:var(--ink-2) !important;
  border-top:3px solid var(--accent) !important;
}
body footer.footer-redesign p,
body footer.footer-redesign li,
body footer.footer-redesign span,
body footer.footer-redesign a{
  color:var(--ink-2) !important;
  text-shadow:none !important;
}
body footer.footer-redesign a:hover{ color:var(--accent) !important; }
body footer.footer-redesign h4{
  color:var(--muted) !important;
  font-family:var(--mono) !important;
  font-size:.72rem !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  font-weight:500 !important;
}
body footer.footer-redesign .footer-bottom{
  border-top:1px solid var(--line) !important;
  margin-top:28px !important;
  padding-top:18px !important;
}
body footer.footer-redesign .footer-bottom,
body footer.footer-redesign .footer-bottom p{
  color:var(--muted) !important;
  font-family:var(--mono) !important;
  font-size:.72rem !important;
}

/* ============================================================
   ENQUIRY FORM — only field labels are set in mono caps
   ============================================================ */
body .elementor-field-option label,
body #enquiry .elementor-field-option label{
  font-family:var(--sans) !important;
  font-size:.9375rem !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--ink-2) !important;
}
body .elementor-field-option{ margin-bottom:6px !important; }
body .elementor-field-option input[type="radio"],
body .elementor-field-option input[type="checkbox"]{
  accent-color:var(--accent);
  margin-right:8px;
}
body .elementor-widget-form button[type="submit"]{
  justify-content:center !important;
}
body .elementor-field-label{
  font-family:var(--mono) !important;
  font-size:.7rem !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--muted) !important;
}

/* ============================================================
   INTERIOR HEADER — tidy the long menu labels
   ============================================================ */
header.wp-block-template-part .wp-block-group.is-layout-flex{
  align-items:center !important;
  gap:12px 28px !important;
}
header.wp-block-template-part .wp-block-site-title a{
  font-size:1.15rem !important;
  line-height:1.25 !important;
}
header.wp-block-template-part .wp-block-navigation__container{
  justify-content:flex-start !important;
  gap:4px 18px !important;
}
header.wp-block-template-part .wp-block-navigation a{
  font-size:.8125rem !important;
  line-height:1.45 !important;
}
header.wp-block-template-part .wp-block-navigation .wp-block-navigation-item{
  margin:0 !important;
}

/* ============================================================
   HOME HERO — the app site's two-column arrangement
   Palette, type and spacing are unchanged; only the layout.
   ============================================================ */
body .hero-redesign .hero-in-redesign{
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:48px;
  align-items:center;
  width:100%;
}
@media (max-width:920px){
  body .hero-redesign .hero-in-redesign{ grid-template-columns:1fr; gap:30px; }
}
body .hero-redesign .hero-content-redesign{ max-width:none; }
body .hero-figure-redesign{ display:flex; justify-content:center; }

.epi-plot{
  width:100%; max-width:430px; height:auto;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:3px;
  padding:14px;
}
.epi-grid path{ fill:none; stroke:var(--line); stroke-width:1; }
.epi-axis path{ fill:none; stroke:var(--line-strong); stroke-width:1.25; }
.epi-curve{
  fill:none; stroke:var(--accent); stroke-width:2.5;
  stroke-linecap:round; stroke-linejoin:round;
}
.epi-pt{ fill:var(--ochre); }
.epi-lbl{
  font-family:var(--mono); font-size:9px;
  fill:var(--muted); letter-spacing:.06em;
}

/* The mobile menu button is not part of this design's masthead. */
body .navbar-redesign .mobile-menu-toggle{ display:none !important; }
@media (max-width:760px){
  body .navbar-redesign{ flex-wrap:wrap !important; gap:10px 18px !important; }
  body .nav-menu-redesign{ flex-wrap:wrap !important; gap:8px 16px !important; }
}

/* ============================================================
   SERVICE CARDS — list rhythm and the "Most Popular" label
   ============================================================ */
body .services-grid-redesign .service-list li{
  padding:0 0 0 22px !important;
  margin:0 !important;
}
body .services-grid-redesign .service-list{
  gap:9px !important;
  margin:0 !important;
}
body .service-card-redesign .service-badge{
  display:block;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ochre);
  margin-bottom:8px;
}
body .service-card-redesign h3{ margin-top:0 !important; }

/* Card headings line up whether or not the card carries a label. */
body .services-grid-redesign .service-card-redesign:not(.service-featured)::before{
  content:"";
  display:block;
  height:calc(.68rem * 1.5 + 8px);
}

/* A dead "#" button left over in the Elementor header template; it used to
   sit hidden behind the masthead. Hidden rather than deleted. */
body .elementor-location-header .elementor-element-7f912aa5{ display:none !important; }

/* ============================================================
   ENQUIRY FORM ON CONTENT PAGES (Jetpack form block)
   ============================================================ */
.wp-block-jetpack-contact-form{
  border:1px solid var(--line);
  background:var(--surface);
  border-radius:3px;
  padding:24px 24px 26px;
  margin:26px 0 8px;
}
.wp-block-jetpack-contact-form .grunion-field-wrap,
.wp-block-jetpack-contact-form .contact-form .grunion-field-wrap{ margin-bottom:16px; }
.wp-block-jetpack-contact-form label,
.wp-block-jetpack-contact-form .grunion-field-label{
  display:block;
  font-family:var(--mono) !important;
  font-size:.7rem !important;
  font-weight:500 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--muted) !important;
  margin-bottom:6px;
}
.wp-block-jetpack-contact-form label span,
.wp-block-jetpack-contact-form .grunion-label-required{
  color:var(--accent) !important;
  text-transform:none;
  letter-spacing:0;
}
.wp-block-jetpack-contact-form input[type="text"],
.wp-block-jetpack-contact-form input[type="email"],
.wp-block-jetpack-contact-form input[type="tel"],
.wp-block-jetpack-contact-form select,
.wp-block-jetpack-contact-form textarea{
  width:100%;
  font-family:var(--sans) !important;
  font-size:1rem !important;
  color:var(--ink) !important;
  background:var(--ground) !important;
  border:1px solid var(--line) !important;
  border-radius:3px !important;
  padding:10px 12px !important;
  box-shadow:none !important;
}
.wp-block-jetpack-contact-form textarea{ min-height:96px; line-height:1.55; }
.wp-block-jetpack-contact-form input:focus,
.wp-block-jetpack-contact-form select:focus,
.wp-block-jetpack-contact-form textarea:focus{
  outline:2px solid var(--accent);
  outline-offset:1px;
  border-color:var(--accent) !important;
}
.wp-block-jetpack-contact-form button[type="submit"],
.wp-block-jetpack-contact-form .wp-block-button__link{
  font-family:var(--sans) !important;
  font-size:.9375rem !important;
  font-weight:600 !important;
  background:var(--accent) !important;
  background-image:none !important;
  color:var(--accent-ink) !important;
  border:1px solid var(--accent) !important;
  border-radius:3px !important;
  padding:12px 22px !important;
  box-shadow:none !important;
  cursor:pointer;
}
.wp-block-jetpack-contact-form button[type="submit"]:hover{ filter:brightness(1.08); }
.entry .wp-block-jetpack-contact-form li::before{ display:none; }
.contact-form-submission,
.wp-block-jetpack-contact-form + .contact-form-submission{
  border-left:3px solid var(--accent);
  background:var(--accent-soft);
  padding:16px 18px;
  border-radius:0 3px 3px 0;
}
