/* dijitul 2026 — re-skin of pre-2026 content (hm-*, cs-*, core blocks, Gravity Forms, Rank Math FAQ).
   Layout comes from legacy-components.css / legacy-case-study.css; this file only changes the look. */

:root{
  --hm-red:#E7362E;--hm-ink:#0B0B0D;--hm-soft:#EEEAE2;--hm-line:rgba(11,11,13,.12);--hm-line-dark:rgba(255,255,255,.12);
  --hm-muted:#5E5E64;--hm-muted-dark:#A6A6AD;--hm-radius:8px;
  --cs-red:#E7362E;--cs-ink:#0B0B0D;--cs-paper:#fff;--cs-soft:#EEEAE2;--cs-line:rgba(11,11,13,.12);--cs-line-dark:rgba(255,255,255,.12);
  --cs-muted:#5E5E64;--cs-muted-dark:#A6A6AD;--cs-radius:8px;--cs-radius-sm:6px;
}

/* ---------- page canvas for old content: paper, under the fixed header ---------- */
.dj-legacy .dj-main,.single-our_work .dj-main{background:var(--paper);color:var(--ink);padding-top:76px;overflow-x:clip}
.dj-legacy .dj-main>.wp-block-post-content>*:first-child{margin-top:0}
.dj-legacy .wp-block-post-content{padding-bottom:var(--sec)}
.dj-legacy .dj-main a:not(.wp-block-button__link):not(.btn){text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:3px}
.dj-legacy .dj-main :where(p,li){color:inherit}
.dj-legacy .dj-main :where(h1,h2,h3,h4){color:inherit;text-wrap:balance}
.dj-legacy .dj-main h2{font-size:clamp(32px,4vw,56px)}
.dj-legacy .dj-main h3{font-size:clamp(22px,2.2vw,30px)}
.dj-legacy .dj-main mark,.dj-legacy .dj-main .has-custom-rd-color{color:var(--red)!important;background:none}

/* old hero (home-hero / hm-hero): full-bleed ink band */
.dj-legacy .home-hero,.dj-legacy .hm-hero,.dj-legacy .wp-block-group.alignwide:has(.hm-hero__title){
  position:relative;color:#fff;background:transparent!important;padding-top:clamp(48px,6vw,90px)!important;padding-bottom:clamp(56px,7vw,100px)!important;margin-top:0!important;margin-bottom:0!important;isolation:isolate}
.dj-legacy .home-hero::before,.dj-legacy .hm-hero::before,.dj-legacy .wp-block-group.alignwide:has(.hm-hero__title)::before{
  content:"";position:absolute;z-index:-1;top:-76px;bottom:0;left:50%;width:100vw;transform:translateX(-50%);
  background:radial-gradient(800px 500px at 85% 0%,rgba(231,54,46,.16),transparent 60%),var(--ink)}
.dj-legacy .home-hero :where(p,li,h1,h2),.dj-legacy .hm-hero :where(p,li,h1,h2){color:#fff}
.dj-legacy .hm-hero__title,.dj-legacy .home-hero h1{font:800 clamp(42px,6.2vw,96px)/.96 var(--display)!important;letter-spacing:-.035em!important;max-width:16ch;margin:0}
.dj-legacy .home-hero p:not(.hm-eyebrow-h){color:#CFCFD4;font-size:clamp(17px,1.4vw,20px);max-width:56ch}
.dj-legacy .home-hero img,.dj-legacy .hm-hero-img img{border-radius:8px}

/* eyebrows: old emoji/annotation headings become mono labels with the red dot */
.hm-eyebrow-h,.is-style-text-annotation,.cs-eyebrow,.cs-hero__eyebrow{
  font:500 12.5px/1.5 var(--mono)!important;letter-spacing:.14em!important;text-transform:uppercase;color:var(--stone)!important;
  background:none!important;border:0!important;padding:0!important;margin:0 0 18px!important;display:block!important}
.hm-eyebrow-h::before,.is-style-text-annotation::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin:0 12px 1px 0;vertical-align:middle}
.home-hero .hm-eyebrow-h,.home-hero .is-style-text-annotation,.cs-hero .cs-hero__eyebrow,.has-contrast-background-color .is-style-text-annotation{color:var(--mist)!important}
.hm-head__title{font-family:var(--display)!important;font-weight:800!important;letter-spacing:-.03em!important}

/* trust strip */
.hm-trust{display:flex!important;flex-wrap:wrap;gap:10px 26px!important;list-style:none!important;padding:0!important;margin:28px 0 0!important;font:500 12.5px/1.4 var(--mono)!important;letter-spacing:.04em;color:#CFCFD4!important}
.hm-trust li{margin:0!important;padding:0!important;color:inherit!important}
.hm-trust li::before,.hm-trust li::marker{content:none!important}
.hm-trust__stars{color:var(--red)!important;letter-spacing:2px}

/* buttons */
.wp-block-button__link{border-radius:4px!important;font:600 16px/1 var(--body)!important;padding:17px 26px!important;min-height:54px;display:inline-flex!important;align-items:center;justify-content:center;transition:background .2s,border-color .2s,color .2s}
.wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--red)!important;color:#fff!important;border:1px solid var(--red)!important}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--red-d)!important;border-color:var(--red-d)!important}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent!important;color:inherit!important;border:1px solid color-mix(in srgb,currentColor 35%,transparent)!important}
.wp-block-button.is-style-outline .wp-block-button__link:hover{border-color:currentColor!important}
.hm-actions{gap:12px!important;margin-top:32px!important}

/* sections */
.dj-legacy .hm-section{color:var(--ink)}
.dj-legacy .hm-section--soft{background:var(--hm-soft)!important}
.dj-legacy .has-contrast-background-color{background:var(--ink)!important;color:#fff!important}
.dj-legacy .has-custom-wt-background-color{background:#fff!important;color:var(--ink)!important}
.hm-lede{color:var(--stone)!important;font-size:clamp(17px,1.4vw,20px)!important}

/* the "In short" answer block */
.dijitul-answer{position:relative;background:var(--ink)!important;color:#EDEDF0!important;border:0!important;border-radius:8px!important;padding:32px 32px 28px 32px!important;margin:0 auto!important;max-width:1320px}
.dijitul-answer::before{content:"In short";display:block;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
.dijitul-answer p{color:#EDEDF0!important;font-size:clamp(17px,1.4vw,20px)!important;line-height:1.55;margin:0 0 10px!important}
.dijitul-answer p:last-child{font:500 12.5px/1.6 var(--mono)!important;color:var(--mist)!important;margin:12px 0 0!important}

/* service / price cards */
.hm-services .hm-service-card,.hm-service-card{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line-l)!important;border-radius:8px!important;box-shadow:none!important;transition:border-color .3s,transform .4s var(--ease)}
.hm-service-card:hover{border-color:var(--ink)!important;transform:translateY(-3px)}
.hm-service-card :where(h3,h4){font-family:var(--display)!important;letter-spacing:-.02em}
.hm-service-card :where(p){color:var(--stone)!important}
.hm-service-card strong,.hm-service-card .has-x-large-font-size,.hm-service-card .has-large-font-size{font-family:var(--display)!important;color:var(--ink)!important}
.has-contrast-background-color .hm-service-card{background:var(--ink-2)!important;color:#fff!important;border-color:var(--line-d)!important}

/* FAQ cards */
.hm-faq__answer-card{background:#fff!important;border:1px solid var(--line-l)!important;border-radius:8px!important;box-shadow:none!important}
.hm-faq__answer-card :where(h3,h4){font:700 clamp(19px,1.8vw,24px)/1.25 var(--display)!important;letter-spacing:-.015em}
.hm-faq__answer-card p{color:#3A3A40!important}
/* core accordion */
.wp-block-accordion-item{border-bottom:1px solid var(--line-l)}
.wp-block-accordion-heading{font:700 clamp(19px,1.8vw,24px)/1.25 var(--display)}

/* proof quote + quotes */
.hm-proof,.wp-block-quote{border:0!important;border-left:3px solid var(--red)!important;padding:6px 0 6px 28px!important;margin-left:0}
.hm-proof p,.wp-block-quote p{font:700 clamp(22px,2.4vw,34px)/1.2 var(--display)!important;letter-spacing:-.02em;color:inherit!important}
.hm-proof cite,.wp-block-quote cite,.hm-proof p:last-child{font:500 12.5px/1.5 var(--mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--stone)!important}

/* star rating block */
.dijitul-star-rating__star,.dijitul-star-rating__icon{color:var(--red)!important;fill:var(--red)!important}

/* tables */
.wp-block-table table{border-collapse:collapse;width:100%;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 0 0 1px var(--line-l);font-size:16px}
.wp-block-table th{font:500 11.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:14px 16px;background:var(--ink);color:#fff;border:0}
.wp-block-table td{padding:16px;border:0;border-top:1px solid var(--line-l);vertical-align:top}
.wp-block-table figcaption{font:500 12px var(--mono);color:var(--stone)}

/* images, galleries, embeds */
.dj-main .wp-block-image img,.body-text .wp-block-image img{border-radius:8px}
.wp-block-image figcaption,.wp-caption-text{font:500 12px/1.5 var(--mono);color:var(--stone);margin-top:10px;text-align:left}
.wp-block-separator{border:0;border-top:1px solid var(--line-l);opacity:1;margin:48px 0}
.wp-block-code,.wp-block-preformatted{background:var(--ink);color:#EDEDF0;border-radius:8px;padding:20px 22px;font:500 14px/1.6 var(--mono);overflow:auto;border:0}
:not(pre)>code{font:500 .88em var(--mono);background:rgba(11,11,13,.07);padding:2px 6px;border-radius:4px}

/* Gravity Forms (the "Let's Chat" block and others) */
.gform_wrapper{--gf-color-primary:var(--red)}
.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label{font:500 12px/1.4 var(--mono)!important;letter-spacing:.1em;text-transform:uppercase;color:inherit!important;opacity:.75}
.gform_wrapper input[type=text],.gform_wrapper input[type=email],.gform_wrapper input[type=tel],.gform_wrapper input[type=url],.gform_wrapper input[type=number],.gform_wrapper select,.gform_wrapper textarea{
  font:400 17px var(--body)!important;color:inherit!important;background:color-mix(in srgb,currentColor 5%,transparent)!important;border:1px solid color-mix(in srgb,currentColor 20%,transparent)!important;border-radius:4px!important;padding:14px 16px!important;min-height:54px!important;box-shadow:none!important;width:100%}
.gform_wrapper textarea{min-height:140px!important}
.gform_wrapper :is(input,select,textarea):focus{outline:0!important;border-color:currentColor!important;box-shadow:0 0 0 4px rgba(231,54,46,.15)!important}
.gform_wrapper .gform_footer .gform_button,.gform_wrapper .gform_page_footer .button{background:var(--red)!important;color:#fff!important;border:0!important;border-radius:4px!important;font:600 16px var(--body)!important;min-height:56px!important;padding:0 32px!important;cursor:pointer}
.gform_wrapper .gform_footer .gform_button:hover{background:var(--red-d)!important}
.gform_wrapper .gfield_consent_label,.gform_wrapper .gfield_description,.gform_wrapper .ginput_counter{font-size:14px!important;color:inherit!important;opacity:.75}

/* Rank Math FAQ block (posts) */
.rank-math-block .rank-math-list-item{border-top:1px solid var(--line-l);padding:22px 0 6px}
.rank-math-block .rank-math-question{font:700 clamp(19px,1.8vw,24px)/1.25 var(--display)!important;letter-spacing:-.015em;margin:0 0 8px!important}
.rank-math-block .rank-math-answer{color:#3A3A40}

/* Google reviews plugin (where pages still use the shortcode) */
.grwp_body,.grwp_header{font-family:var(--body)!important}
.grwp_header .grwp_business-title,.grwp_overall{font-family:var(--display)!important}

/* ---------- article content (posts) ---------- */
.body-text>.wp-block-post-content>p:first-child{font-size:23px;line-height:1.55;font-weight:600;color:var(--ink)}
.body-text .wp-block-post-content h2{font:800 clamp(30px,3vw,42px)/1.08 var(--display);letter-spacing:-.025em;margin:2em 0 .6em;scroll-margin-top:100px}
.body-text .wp-block-post-content h3{font:700 24px/1.2 var(--display);letter-spacing:-.015em;margin:1.6em 0 .4em}
.body-text .wp-block-post-content :where(ul,ol):not(.rank-math-list){padding-left:1.2em}
.body-text .wp-block-post-content li{margin:.35em 0}
.body-text .wp-block-post-content li::marker{color:var(--red)}
.body-text .wp-block-post-content a{color:var(--red-d);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.body-text .wp-block-post-content .wp-block-image{margin:2em 0}
.body-text .wp-block-post-content .alignwide,.body-text .wp-block-post-content .alignfull{margin-left:0;margin-right:0;width:auto}
.dj-article .afig img{width:100%;height:100%;object-fit:cover}
.dj-article .ahero .wp-block-post-title{max-width:20ch}
.dj-article .wp-block-post-featured-image.afig{margin-bottom:0}

/* ---------- case studies (cs-*) ---------- */
.cs-hero{border-radius:8px!important;background:var(--ink)!important}
.cs-hero__title{font:800 clamp(40px,5.6vw,84px)/.98 var(--display)!important;letter-spacing:-.035em!important}
.cs-hero__intro{color:#CFCFD4!important}
.cs-stat__value,.cs-delta__to,.cs-delta__from{font-family:var(--display)!important;letter-spacing:-.04em}
.cs-stat{border-radius:8px!important}
.cs-stat__note,.cs-bar__label,.cs-bar__value,.cs-delta__label,.cs-delta__pill,.cs-tags span,.cs-browser__url{font-family:var(--mono)!important}
.cs-panel{border-radius:8px!important;box-shadow:none!important}
.cs-panel__title,.cs-cta__title{font-family:var(--display)!important;letter-spacing:-.025em}
.cs-bar__fill{background:linear-gradient(90deg,#b8241d,var(--red))!important}
.cs-btn--primary{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important;border-radius:4px!important}
.cs-btn--ghost{border-radius:4px!important}
.cs-cta{border-radius:8px!important;background:var(--ink)!important}
.cs-quote{border-left:3px solid var(--red)!important}
.cs-quote p{font-family:var(--display)!important}
.single-our_work .dj-main>.wp-block-post-content{padding-top:24px;padding-bottom:var(--sec)}

/* ---------- phones ---------- */
@media (max-width:760px){
  .dj-legacy .dj-main,.single-our_work .dj-main{padding-top:64px}
  .dj-legacy .home-hero::before,.dj-legacy .hm-hero::before,.dj-legacy .wp-block-group.alignwide:has(.hm-hero__title)::before{top:-64px}
  .dj-legacy .hm-hero__title,.dj-legacy .home-hero h1{font-size:clamp(38px,11vw,52px)!important}
  .hm-actions{flex-direction:column;align-items:stretch!important}
  .hm-actions .wp-block-button,.hm-actions .wp-block-button__link{width:100%}
  .dijitul-answer{padding:24px 20px!important}
  .wp-block-table{overflow-x:auto}
  .body-text>.wp-block-post-content>p:first-child{font-size:20px}
}

/* ---------- fixes after first live preview ---------- */
/* pages rebuilt in 2026 markup: sections run full width inside the constrained post-content */
.dj-native .wp-block-post-content.is-layout-constrained>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
/* rebuilt pages are full-bleed sections with their own padding: no block-gap margins, or the dark body shows through as a stripe */
.dj-native .wp-block-post-content.is-layout-constrained>*{margin-block:0!important}
.dj-native .wp-block-post-content{padding:0!important}
/* paper-topped pages: header is a solid ink bar from the start */
body.dj-legacy .hdr,body.single-our_work .hdr,body.error404 .hdr{background:rgba(11,11,13,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line-d)}
/* old hero trust line: bold words were ink on ink */
.hm-trust :is(b,strong,a){color:#fff!important}
/* case study hero facts: labelled grid instead of pills */
.cs-hero__meta{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:0!important;border-top:1px solid var(--line-d);margin-top:36px!important}
.cs-hero__meta li{display:block!important;border:0!important;border-radius:0!important;padding:18px 18px 4px 0!important;font-size:15px!important;color:#ECECEF}
.cs-hero__meta b{display:block;font:500 11px/1 var(--mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)!important;margin-bottom:8px}
@media (max-width:760px){.cs-hero__meta{grid-template-columns:1fr 1fr}.cs-hero__meta li:nth-child(n+3){border-top:1px solid var(--line-d)!important}}
/* contact page already ends with its own contact block */
.dj-contact .ftr .talk{display:none}
.dj-contact .ftr .cols{margin-top:0;border-top:0;padding-top:0}
/* white cards keep ink headings even when old content set white text on them */
.dj-legacy :is(.has-custom-wt-background-color,.hm-service-card) :is(h1,h2,h3,h4,h5,strong,.has-base-color,.has-accent-5-color){color:var(--ink)!important}
.dj-legacy :is(.has-custom-wt-background-color,.hm-service-card) p{color:var(--stone)!important}
.dj-legacy .has-contrast-background-color :is(p,li,h2,h3) a:not(.wp-block-button__link){color:#fff!important}
/* core accordion: inherit the section's colours instead of white-on-white */
.dj-legacy .wp-block-accordion,.dj-legacy .wp-block-accordion-item,.dj-legacy .wp-block-accordion-panel{background:transparent!important;color:inherit!important}
.dj-legacy .wp-block-accordion-heading,.dj-legacy .wp-block-accordion-heading__toggle{background:transparent!important;color:inherit!important;border:0;padding:18px 0;width:100%;text-align:left;font:700 clamp(18px,1.7vw,22px)/1.3 var(--display)!important;cursor:pointer}
.dj-legacy .wp-block-accordion-item{border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.dj-legacy .wp-block-accordion-panel{padding-bottom:18px}
