.elementor-kit-7{--e-global-color-primary:#000000;--e-global-color-secondary:#000000;--e-global-color-text:#000000;--e-global-color-accent:#B8D433;--e-global-color-dca896f:#000000;--e-global-color-ec4964a:#FFFFFF;--e-global-color-8fb63f4:#B8D433;--e-global-color-d58545b:#F3F1F0;--e-global-typography-primary-font-family:"calibri";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"castoro";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"castoro";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"castoro";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-primary );font-family:"castoro", Sans-serif;font-weight:400;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:var( --e-global-color-8fb63f4 );font-family:"castoro", Sans-serif;}.elementor-kit-7 a:hover{color:var( --e-global-color-dca896f );}.elementor-kit-7 h1{color:var( --e-global-color-dca896f );font-family:"calibri", Sans-serif;}.elementor-kit-7 h2{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-kit-7 h3{color:var( --e-global-color-dca896f );font-family:"calibri", Sans-serif;}.elementor-kit-7 h4{color:var( --e-global-color-dca896f );font-family:"calibri", Sans-serif;}.elementor-kit-7 h5{color:var( --e-global-color-dca896f );font-family:"calibri", Sans-serif;}.elementor-kit-7 h6{color:var( --e-global-color-dca896f );font-family:"calibri", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */h1 span, h2 span, h3 span, h4 span, h5 span {
    color: #b7d333;
}

/* Refresh My Brand: site custom CSS v69
   Paste into: Elementor > Site Settings > Custom CSS (replace everything there).
   Built from: 00-shared.css, 05-header.css, 06-footer.css, 10-home.css, 20-process.css, 30-about.css, 40-help.css, 50-contact.css, 60-examples.css, 70-case.css, 72-case-editorial.css, 74-case-sample.css, 76-case-client.css, 80-clarity.css
   All rules are scoped to .rmb-page (CSS class on each top-level container of an RMB page). */

/* ===== SHARED: tokens, base, type, buttons, motion (used by every RMB page) ===== */
.rmb-page{
  --ink:#000000;--ink-2:#0d0d0d;--line:rgba(255,255,255,.10);--line-2:rgba(255,255,255,.18);
  --text:#FFFFFF;--muted:#B3AFAC;--soft:#F3F1F0;--lime:#B8D433;--lime-hi:#C9E34A;
  --serif:"Plus Jakarta Sans","Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;  /* headings (name kept for compatibility) */
  --sans:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --gutter:clamp(20px,5vw,48px);--radius:18px;--ease:cubic-bezier(.2,.7,.2,1);
  --step--1:clamp(.9rem,.88rem + .1vw,.95rem);
  --step-0:clamp(1.0625rem,1.03rem + .15vw,1.125rem);
  --step-1:clamp(1.15rem,1.08rem + .35vw,1.35rem);
  --step-2:clamp(1.4rem,1.25rem + .75vw,1.9rem);
  --step-3:clamp(1.85rem,1.5rem + 1.6vw,2.9rem);
  --step-4:clamp(2.3rem,1.7rem + 3vw,4.25rem);
  --step-5:clamp(2.5rem,1.55rem + 4.6vw,5.4rem);
  --section:clamp(80px,11vw,150px);
  /* Font Awesome 5 Free solid chevrons (CC BY 4.0), used as masks wherever the site shows direction */
  --rmb-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E");
  --rmb-chev-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z'/%3E%3C/svg%3E");
}

/* ---------- base / Elementor resets ---------- */
.rmb-page.e-con{display:flex;flex-direction:column;width:100%;max-width:none;position:relative;padding:0;gap:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:var(--step-0);line-height:1.6;-webkit-font-smoothing:antialiased}
.rmb-page .e-con{display:flex;padding:0;gap:0;flex-direction:column;flex-wrap:nowrap;min-width:0}
.rmb-page .rmb-wrap.e-con{width:100%;max-width:1200px;margin-inline:auto;padding-inline:var(--gutter)}
.rmb-page p{margin:0}
/* the site kit styles every link (castoro + lime); RMB links take their font from their own rules/parent instead */
.rmb-page a:not(.elementor-button){font-family:inherit}
.rmb-page .screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rmb-page .elementor-widget-heading .elementor-heading-title{font-family:var(--serif);font-weight:700;line-height:1.1;letter-spacing:-.022em;color:var(--text);margin:0}
.rmb-page .elementor-widget-heading .elementor-heading-title em{font-style:italic;font-weight:500;color:var(--lime)}
.rmb-page .elementor-widget-text-editor{font-family:var(--sans);font-size:var(--step-0);line-height:1.6;color:var(--soft)}
.rmb-page a:focus-visible,.rmb-page button:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:6px}
.rmb-page ::selection{background:var(--lime);color:#000}

/* hidden helper widget (styles + script) */
.rmb-assets{display:none!important}
.elementor-editor-active .rmb-assets{display:block!important;width:100%}
.rmb-assets-label{font:600 12px/1.4 system-ui,sans-serif;color:#000;background:var(--lime);padding:6px 10px;border-radius:6px}

/* eyebrow */
.rmb-page .rmb-eyebrow .elementor-heading-title{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:var(--step--1);font-weight:500;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rmb-page .rmb-eyebrow .elementor-heading-title::before{content:"";width:22px;height:1px;background:var(--lime)}
.rmb-page .rmb-on-lime .elementor-heading-title{color:#000}
.rmb-page .rmb-on-lime .elementor-heading-title::before{background:#000}

/* section heads */
.rmb-page.rmb-sec.e-con{padding-block:var(--section)}
.rmb-page .rmb-sec-head.e-con{gap:18px;max-width:760px}
.rmb-page .rmb-h2 .elementor-heading-title{font-size:var(--step-4)}
.rmb-page .rmb-lede{font-size:var(--step-1);line-height:1.55;color:var(--soft);max-width:56ch}

/* ---------- buttons ---------- */
.rmb-page .rmb-btns.e-con{flex-direction:row;flex-wrap:wrap;gap:14px;align-items:center}
.rmb-page .rmb-btns > .elementor-widget{width:auto}
.rmb-page .rmb-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:999px;border:1px solid transparent;font-family:var(--sans);font-size:var(--step-0);font-weight:600;line-height:1.1;letter-spacing:-.005em;text-align:center;background:var(--lime);color:#000;fill:#000;box-shadow:none;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.rmb-page .rmb-btn .elementor-button:hover,.rmb-page .rmb-btn .elementor-button:focus{background:var(--lime-hi);color:#000;transform:translateY(-1px);box-shadow:0 10px 30px -10px rgba(184,212,51,.55)}
.rmb-page .rmb-btn-ghost .elementor-button{background:transparent;color:var(--text);border-color:var(--line-2)}
.rmb-page .rmb-btn-ghost .elementor-button:hover,.rmb-page .rmb-btn-ghost .elementor-button:focus{background:rgba(255,255,255,.04);color:var(--text);border-color:var(--text);box-shadow:none;transform:none}
.rmb-page .rmb-btn-dark .elementor-button{background:#000;color:#fff}
.rmb-page .rmb-btn-dark .elementor-button:hover,.rmb-page .rmb-btn-dark .elementor-button:focus{background:#000;color:#fff;box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
.rmb-page .rmb-arrow .elementor-button-text::after{content:"";display:inline-block;width:.66em;height:.66em;background:currentColor;-webkit-mask:var(--rmb-chev) center/contain no-repeat;mask:var(--rmb-chev) center/contain no-repeat;vertical-align:-.02em;margin-left:12px;transition:transform .25s var(--ease)}
.rmb-page .rmb-arrow .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}
/* .rmb-chevron on a button widget / .rmb-chev span in HTML links: the same Font Awesome chevron */
.rmb-page .rmb-chevron .elementor-button-text::after,.rmb-page .rmb-chev{content:"";display:inline-block;width:.66em;height:.66em;background:currentColor;-webkit-mask:var(--rmb-chev) center/contain no-repeat;mask:var(--rmb-chev) center/contain no-repeat;vertical-align:-.02em;margin-left:12px;transition:transform .25s var(--ease)}
.rmb-page .rmb-chevron .elementor-button:hover .elementor-button-text::after,.rmb-page a:hover > .rmb-chev{transform:translateX(3px)}.rmb-page .rmb-btn .elementor-button:focus-visible{outline:2px solid var(--lime);outline-offset:4px;border-radius:999px}

/* trust line */
.rmb-page .rmb-trust{font-size:var(--step--1);color:var(--muted)}
.rmb-page .rmb-trust p{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.rmb-page .rmb-trust .rmb-dot{color:var(--lime);font-size:.7em;line-height:1}

/* alternate (dark gray) section */
.rmb-page.rmb-alt.e-con{background:var(--ink-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ---------- page heading (H1 + focus word + subhead) ---------- */
.rmb-page .rmb-h1{margin-top:26px}
.rmb-page .rmb-h1 .elementor-heading-title{font-size:var(--step-5);line-height:1.04;letter-spacing:-.022em;max-width:14ch}
/* letter-spacing stays fixed: animating it changed the phrase width, so it wrapped to the next line and then jumped back */
.rmb-page .rmb-focus{display:inline-block;letter-spacing:-.022em;animation:rmbFocus 1.8s var(--ease) .45s both}
@keyframes rmbFocus{0%{filter:blur(14px);opacity:.25}60%{filter:blur(2px);opacity:.9}100%{filter:blur(0);opacity:1}}
.rmb-page .rmb-hero-sub{margin-top:28px;max-width:54ch;font-size:var(--step-1);line-height:1.55;color:var(--soft)}

/* ---------- lime statement band (.rmb-stakes) ---------- */
.rmb-page.rmb-stakes.e-con{overflow:hidden;background:var(--lime);color:#000;padding-block:clamp(72px,10vw,140px)}
.rmb-page.rmb-stakes .rmb-eyebrow{margin-bottom:28px}
.rmb-page .rmb-big .elementor-heading-title{font-size:var(--step-4);line-height:1.1;letter-spacing:-.018em;max-width:21ch;color:#000}
.rmb-page .rmb-big .elementor-heading-title em{color:#000}
.rmb-page .rmb-stakes-row.e-con{display:grid;gap:28px;margin-top:clamp(36px,5vw,64px);padding-top:28px;border-top:1px solid rgba(0,0,0,.25)}
@media (min-width:860px){.rmb-page .rmb-stakes-row.e-con{grid-template-columns:1fr auto;align-items:center}}
.rmb-page .rmb-stakes-row .elementor-heading-title{font-size:var(--step-2);line-height:1.2;max-width:30ch;color:#000}

/* ---------- focus words: --f (0..1) set by JS; 1 = sharp ---------- */
.rmb-page .rmb-step-when .elementor-heading-title{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.14em;line-height:1.3;text-transform:uppercase;color:var(--muted)}
.rmb-page .rmb-step-when .elementor-heading-title::before{content:"";display:block;height:2px;margin-bottom:18px;border-radius:2px;background:linear-gradient(90deg,var(--lime) calc(var(--f,1) * 100%),var(--line-2) 0)}
.rmb-page .rmb-step-word{margin-top:14px}
.rmb-page .rmb-step-word .elementor-heading-title{font-size:clamp(2.7rem,1.6rem + 2.6vw,4.2rem);line-height:1;letter-spacing:calc(-.025em + (1 - var(--f,1)) * .08em);font-style:italic;color:var(--text);filter:blur(calc((1 - var(--f,1)) * 10px));opacity:calc(.22 + var(--f,1) * .78);will-change:filter}
.rmb-page .rmb-step-last .rmb-step-word .elementor-heading-title{color:var(--lime)}

/* ---------- section footer row (note + buttons) ---------- */
.rmb-page .rmb-process-foot.e-con{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:clamp(48px,6vw,80px);padding-top:32px;border-top:1px solid var(--line)}
.rmb-page .rmb-process-foot > *{width:auto}
.rmb-page .rmb-process-note{font-family:var(--serif);font-style:italic;font-size:var(--step-1);color:var(--soft)}
.rmb-page .rmb-process-note b,.rmb-page .rmb-process-note strong{font-weight:600;color:var(--lime)}

/* ---------- final cta ---------- */
.rmb-page.rmb-final.e-con{overflow:hidden;text-align:center;border-top:1px solid var(--line);background:radial-gradient(min(900px,140vw) min(900px,140vw) at 50% 60%,rgba(184,212,51,.20),transparent 60%),#000}
.rmb-page.rmb-final .rmb-wrap.e-con{align-items:center}
.rmb-page .rmb-final-h .elementor-heading-title{font-size:var(--step-5);line-height:1.04;letter-spacing:-.022em;max-width:15ch;margin:22px auto 0}
.rmb-page.rmb-final .rmb-lede{margin:26px auto 0}
.rmb-page.rmb-final .rmb-btns.e-con{justify-content:center;margin-top:40px}
.rmb-page.rmb-final .rmb-trust{margin-top:26px}
.rmb-page.rmb-final .rmb-trust p{justify-content:center}

/* ---------- pillars ---------- */
.rmb-page .rmb-pillars.e-con{display:grid;margin-top:clamp(44px,6vw,80px);border-top:1px solid var(--line)}
@media (min-width:860px){.rmb-page .rmb-pillars.e-con{grid-template-columns:repeat(3,1fr)}}
.rmb-page .rmb-pillar.e-con{gap:14px;padding:36px 0;border-bottom:1px solid var(--line)}
@media (min-width:860px){
  .rmb-page .rmb-pillar.e-con{padding:44px clamp(24px,3vw,44px) 12px;border-bottom:0;border-left:1px solid var(--line)}
  .rmb-page .rmb-pillar.e-con:first-child{border-left:0;padding-left:0}
}
.rmb-pillar-icon svg{width:44px;height:44px;color:var(--lime);margin-bottom:10px}
.rmb-page .rmb-h3 .elementor-heading-title{font-size:var(--step-3)}
.rmb-page .rmb-q .elementor-heading-title{font-style:italic;font-size:var(--step-1);line-height:1.3;color:var(--lime)}
.rmb-page .rmb-pillar .elementor-widget-text-editor{color:var(--muted);max-width:34ch}

/* ---------- founder ---------- */
.rmb-page .rmb-founder-grid.e-con{display:grid;gap:clamp(36px,6vw,80px);align-items:center}
@media (min-width:900px){.rmb-page .rmb-founder-grid.e-con{grid-template-columns:5fr 7fr}}
.rmb-page .rmb-portrait.e-con{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 180'%3E%3Cg fill='%231d1e17'%3E%3Ccircle cx='100' cy='62' r='34'/%3E%3Cpath d='M28 180c4-46 34-72 72-72s68 26 72 72z'/%3E%3C/g%3E%3C/svg%3E") bottom center/100% 82% no-repeat,
  radial-gradient(80% 60% at 50% 35%,#24261c,#0d0d0d 70%)}
.rmb-page .rmb-portrait-img{position:absolute;inset:0;width:100%;height:100%}
.rmb-page .rmb-portrait-img .elementor-widget-container{height:100%}
.rmb-page .rmb-portrait-img img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 22%;transform:scale(1.04);border-radius:0}
.rmb-page .rmb-ph-label{position:absolute;left:16px;top:16px;width:auto}
.rmb-page .rmb-ph-label .elementor-heading-title{font-family:var(--sans);font-weight:600;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);background:rgba(0,0,0,.45);padding:6px 10px;border-radius:999px}
.rmb-page .rmb-since{position:absolute;right:16px;bottom:16px;width:auto}
.rmb-page .rmb-since .elementor-heading-title{font-family:var(--sans);font-weight:600;font-size:.82rem;letter-spacing:0;color:#000;background:var(--lime);border-radius:999px;padding:8px 14px}
.rmb-page .rmb-founder-quote{margin-top:22px}
.rmb-page .rmb-founder-quote .elementor-heading-title{font-size:var(--step-3);line-height:1.18}
.rmb-page .rmb-founder-body{margin-top:28px;max-width:56ch;font-size:var(--step-1);line-height:1.55;color:var(--soft)}
.rmb-page .rmb-sig{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);font-size:var(--step--1);color:var(--muted)}
.rmb-page .rmb-sig b,.rmb-page .rmb-sig strong{display:block;font-family:var(--serif);font-weight:700;font-size:var(--step-1);color:var(--text)}

/* ---------- check list (.rmb-checks) + two-column head/list grid (.rmb-why-grid) ---------- */
.rmb-page .rmb-why-grid.e-con{display:grid;gap:clamp(40px,5vw,64px)}
@media (min-width:960px){.rmb-page .rmb-why-grid.e-con{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}}
.rmb-page .rmb-checks{list-style:none;margin:0;padding:0;display:grid;gap:0}
.rmb-page .rmb-checks li{position:relative;margin:0;padding:22px 0 22px 44px;border-top:1px solid var(--line);font-family:var(--sans);font-size:var(--step-1);line-height:1.5;color:var(--muted)}
.rmb-page .rmb-checks li:last-child{border-bottom:1px solid var(--line)}
/* icon is vertically centred on the FIRST line: top padding + (line-height - icon) / 2 */
.rmb-page .rmb-checks li::before{content:"";position:absolute;left:0;top:calc(22px + (1.5em - 26px) / 2);width:26px;height:26px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%23B8D433' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13' cy='13' r='12'/%3E%3Cpath d='M7.6 13.4l3.6 3.6 7.2-7.6'/%3E%3C/svg%3E") center/contain no-repeat}
.rmb-page .rmb-checks strong{font-weight:600;color:var(--text)}

/* ---------- split hero: copy left, animation right (.rmb-phero) ---------- */
.rmb-page.rmb-phero.e-con{overflow:hidden;padding:clamp(64px,9vw,128px) 0 clamp(72px,9vw,120px);background:radial-gradient(55% 70% at 85% 45%,rgba(184,212,51,.12),transparent 65%),#000}
.rmb-page .rmb-phero-grid.e-con{display:grid;gap:clamp(40px,5vw,72px);align-items:center}
@media (min-width:960px){.rmb-page .rmb-phero-grid.e-con{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}
.rmb-page.rmb-phero .rmb-h1 .elementor-heading-title{max-width:13ch}
.rmb-page.rmb-phero .rmb-hero-sub{margin-top:30px}
.rmb-page.rmb-phero .rmb-btns{margin-top:56px}

/* ---------- heading font weights (Plus Jakarta Sans via --serif, all pages) ---------- */
.rmb-page :is(.rmb-h1,.rmb-h2,.rmb-big,.rmb-final-h,.rmb-founder-quote,.rmb-stakes-row,.rmb-stat-num,.rmb-quote-mark) .elementor-heading-title{font-weight:700;letter-spacing:-.022em;line-height:1.08}
.rmb-page .elementor-widget-heading .elementor-heading-title em{font-weight:500}
.rmb-page :is(.rmb-h3,.rmb-q,.rmb-tagline,.rmb-step-word) .elementor-heading-title{font-weight:600;letter-spacing:-.025em}
.rmb-page .rmb-stakes-row .elementor-heading-title,.rmb-page .rmb-founder-quote .elementor-heading-title{font-weight:600;line-height:1.25}
.rmb-page .rmb-q .elementor-heading-title{font-weight:500}
.rmb-page .rmb-sym h3{font-weight:700;letter-spacing:-.025em;line-height:1.15}
.rmb-page .rmb-tally-num{font-weight:700;letter-spacing:-.02em}
.rmb-page :is(.rmb-testi-quote,.rmb-process-note,.rmb-logo-ph .elementor-widget-text-editor){font-weight:500;letter-spacing:-.015em}
.rmb-page .rmb-sig b,.rmb-page .rmb-sig strong{font-weight:700;letter-spacing:-.01em}
.rmb-page .rmb-sym-num{font-weight:600}

/* ---------- sticky mobile CTA ---------- */
.rmb-mbar{position:fixed;left:0;right:0;bottom:0;z-index:999;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(0,0,0,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .4s var(--ease)}
.rmb-mbar.show{transform:none}
.rmb-mbar a{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:999px;background:var(--lime);font:600 var(--step-0)/1.1 var(--sans);text-decoration:none}
.rmb-page .rmb-mbar a,.rmb-page .rmb-mbar a:hover{color:#000}
@media (min-width:900px){.rmb-mbar{display:none}}
@media (max-width:899px){body:has(.rmb-mbar){padding-bottom:76px}}
.elementor-editor-active .rmb-mbar{position:static;transform:none;margin-top:24px}

/* ---------- scroll reveal (live site only; off in the Elementor editor) ---------- */
html.rmb-js body:not(.elementor-editor-active) .rmb-reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
html.rmb-js body:not(.elementor-editor-active) .rmb-reveal.rmb-in{opacity:1;transform:none}
.rmb-d1{transition-delay:.08s!important}.rmb-d2{transition-delay:.16s!important}.rmb-d3{transition-delay:.24s!important}

@media (prefers-reduced-motion:reduce){
  .rmb-page *,.rmb-page *::before,.rmb-page *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .rmb-page .rmb-focus{animation:none;filter:none;opacity:1}
  html.rmb-js body .rmb-reveal{opacity:1;transform:none}
}

/* ---------- Font Awesome chevrons: Elementor button icons (.rmb-fa-btn, inline SVG) and inline .rmb-fa SVGs ---------- */
.rmb-page .rmb-fa-btn .elementor-button-content-wrapper{align-items:center;gap:12px}
.rmb-page .rmb-fa-btn .elementor-button-icon{display:inline-flex;align-items:center;margin:0}
.rmb-page .rmb-fa-btn .elementor-button-icon svg,.rmb-page svg.rmb-fa{display:inline-block;width:.68em;height:.68em;fill:currentColor;flex:none;transition:transform .25s var(--ease)}
.rmb-page .rmb-fa-btn .elementor-button:hover .elementor-button-icon svg{transform:translateX(3px)}
.rmb-page .rmb-fa-btn .elementor-button[href^="#"]:hover .elementor-button-icon svg{transform:translateY(3px)}
.rmb-page .rmb-mbar svg.rmb-fa{margin-left:10px}
.rmb-mbar .rmb-chev{display:inline-block;width:.66em;height:.66em;margin-left:10px;background:currentColor;-webkit-mask:var(--rmb-chev) center/contain no-repeat;mask:var(--rmb-chev) center/contain no-repeat}
/* text-only button (secondary action next to a primary one) */
.rmb-page .rmb-btn-text .elementor-button{background:transparent;color:var(--soft);border-color:transparent;padding-inline:10px}
.rmb-page .rmb-btn-text .elementor-button:hover,.rmb-page .rmb-btn-text .elementor-button:focus{background:transparent;color:var(--lime);box-shadow:none;transform:none}

/* ===== Header (Theme Builder template 35) =====
   Elementor IDs: 615a775d header row, 4521bca0 logo column, 5241976 menu column,
   61fb16e Nav Menu widget, ed704fd "Take Assessment" button.
   "body" prefix beats the header template's own per-element CSS. */

/* 768px and up: one line at every width. Sizes scale with the viewport (clamp) instead of
   stepping at breakpoints: menu text 14px at 768 -> 19.2px (Elementor's 1.2rem) from ~1130px,
   logo 120 -> 228px, side padding 20px -> 8vw. Worst case (768px) leaves ~100px spare. */
@media (min-width:768px){
body .elementor-35 .elementor-element.elementor-element-615a775d{--padding-left:clamp(20px,calc(10vw - 80px),8vw);--padding-right:clamp(20px,calc(10vw - 80px),8vw);flex-wrap:nowrap}
body .elementor-35 .elementor-element.elementor-element-4521bca0{--width:auto;flex:0 0 auto}
body .elementor-35 .elementor-element.elementor-element-4521bca0 img{width:clamp(120px,15vw,228px);max-width:none}
body .elementor-35 .elementor-element.elementor-element-5241976{--width:auto;flex:1 1 auto;min-width:0;justify-content:flex-end}
body .elementor-35 .elementor-element.elementor-element-61fb16e{--e-nav-menu-horizontal-menu-item-margin:clamp(0px,calc(2.2vw - 14px),12px)}
body .elementor-35 .elementor-element.elementor-element-61fb16e .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:nowrap}
body .elementor-35 .elementor-element.elementor-element-61fb16e .elementor-nav-menu--main .elementor-item{font-size:clamp(14px,1.7vw,19.2px);padding-left:clamp(6px,0.9vw,14px);padding-right:clamp(6px,0.9vw,14px);white-space:nowrap}
body .elementor-35 .elementor-element.elementor-element-ed704fd{flex:0 0 auto;align-self:center;margin:0 0 0 clamp(10px,1.6vw,24px)}
body .elementor-35 .elementor-element.elementor-element-ed704fd .elementor-button{font-size:clamp(14px,1.7vw,19.2px);padding:clamp(10px,1vw,12px) clamp(14px,1.6vw,22px);white-space:nowrap}
}

/* Mobile: logo left, lime hamburger right and vertically centred, no header button */
@media (max-width:767px){
body .elementor-35 .elementor-element.elementor-element-ed704fd{display:none}
body .elementor-35 .elementor-element.elementor-element-4521bca0{--width:auto;flex:1 1 auto}
body .elementor-35 .elementor-element.elementor-element-4521bca0 img{max-width:150px}
body .elementor-35 .elementor-element.elementor-element-5241976{--width:auto;flex:0 0 auto;margin-left:auto;align-self:center;justify-content:flex-end}
body .elementor-35 .elementor-element.elementor-element-61fb16e div.elementor-menu-toggle{color:#B8D433;margin:0}
body .elementor-35 .elementor-element.elementor-element-61fb16e div.elementor-menu-toggle svg{fill:#B8D433}
/* Dropdown: black panel, 2px lime border, lime links; hover/focus reverses */
body .elementor-35 .elementor-element.elementor-element-61fb16e nav.elementor-nav-menu--dropdown{background:#000;border:2px solid #B8D433}
body .elementor-35 .elementor-element.elementor-element-61fb16e .elementor-nav-menu--dropdown a.elementor-item{background:#000;color:#B8D433}
body .elementor-35 .elementor-element.elementor-element-61fb16e .elementor-nav-menu--dropdown a.elementor-item:hover,
body .elementor-35 .elementor-element.elementor-element-61fb16e .elementor-nav-menu--dropdown a.elementor-item:focus-visible{background:#B8D433;color:#000}
}

/* ===== Footer (Theme Builder template 38) =====
   Elementor IDs: 716f7798 top row, 48038ee logo column, 1d05596 logo,
   119b35d0 menu column, 32b3c419 Nav Menu widget. */

/* body padding reserved for the sticky Clarity bar (below 900px) showed white under the footer */
body:has(.rmb-mbar){background:#000}

@media (max-width:767px){
/* stack logo over the links, both centred */
body .elementor-38 .elementor-element.elementor-element-716f7798{flex-direction:column;align-items:center;gap:16px}
body .elementor-38 .elementor-element.elementor-element-48038ee,
body .elementor-38 .elementor-element.elementor-element-119b35d0{--width:100%;justify-content:center}
body .elementor-38 .elementor-element.elementor-element-1d05596 img{max-width:170px}
/* links as a wrapped row instead of a second hamburger */
body .elementor-38 .elementor-element.elementor-element-32b3c419{--e-nav-menu-horizontal-menu-item-margin:0px}
body .elementor-38 .elementor-element.elementor-element-32b3c419 .elementor-nav-menu--main{display:block}
body .elementor-38 .elementor-element.elementor-element-32b3c419 .elementor-menu-toggle,
body .elementor-38 .elementor-element.elementor-element-32b3c419 nav.elementor-nav-menu--dropdown{display:none}
body .elementor-38 .elementor-element.elementor-element-32b3c419 .elementor-nav-menu--main .elementor-nav-menu{flex-wrap:wrap;justify-content:center}
body .elementor-38 .elementor-element.elementor-element-32b3c419 .elementor-nav-menu--main .elementor-item{padding:8px 10px}
}

/* "Powered by DeMarco Design" credit, centred in the bottom row (HTML widget d3a7c0e between
   the copyright 579441d0 and the social icons 58bd568). Lockup = vectors from Dan's DDesign logo.ai. */
body .elementor-38 .elementor-element.elementor-element-579441d0,
body .elementor-38 .elementor-element.elementor-element-58bd568{flex:1 1 0;min-width:0}
body .elementor-38 .elementor-element.elementor-element-d3a7c0e{flex:0 0 auto;width:auto;padding:0 24px}
body .elementor-38 .rmb-poweredby{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-family:calibri,sans-serif;font-size:13px;font-weight:300;letter-spacing:.02em;white-space:nowrap}
body .elementor-38 .rmb-poweredby svg{display:block;height:36px;width:auto;transition:opacity .2s}
body .elementor-38 .rmb-poweredby:hover svg,
body .elementor-38 .rmb-poweredby:focus-visible svg{opacity:.8}
@media (max-width:1024px){
body .elementor-38 .rmb-poweredby svg{height:30px}
}
@media (max-width:767px){
/* stacked: copyright, social icons, then the credit */
body .elementor-38 .elementor-element.elementor-element-2faad0bb{flex-direction:column;align-items:center}
body .elementor-38 .elementor-element.elementor-element-579441d0,
body .elementor-38 .elementor-element.elementor-element-58bd568{flex:0 0 auto;width:100%}
body .elementor-38 .elementor-element.elementor-element-d3a7c0e{order:3;padding:6px 0 0}
body .elementor-38 .rmb-poweredby{justify-content:center}
}

/* ===== PAGE: Home ===== */
/* ---------- hero ---------- */
.rmb-page.rmb-hero.e-con{overflow:hidden;isolation:isolate;padding:clamp(56px,10vw,128px) 0 clamp(72px,10vw,130px)}
.rmb-page .rmb-hero-media{position:absolute;z-index:-1;top:0;right:0;bottom:0;width:68%;max-width:none;margin:0;pointer-events:none}
.rmb-page .rmb-hero-media .elementor-widget-container{height:100%}
.rmb-page .rmb-hero-media img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:72% 30%;border-radius:0;animation:rmbPhoto 1.6s var(--ease) both}
.rmb-page .rmb-hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,#000 0%,rgba(0,0,0,.92) 18%,rgba(0,0,0,.55) 40%,rgba(0,0,0,.12) 62%,transparent 80%),
  linear-gradient(0deg,#000 0%,rgba(0,0,0,.6) 14%,transparent 34%)}
@keyframes rmbPhoto{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.rmb-page .rmb-hero-copy.e-con{max-width:620px}
.rmb-page .rmb-hero-copy .rmb-btns{margin-top:40px}
.rmb-page .rmb-hero-copy .rmb-trust{margin-top:26px}
.rmb-page .rmb-hero-foot.e-con{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:clamp(56px,8vw,96px);padding-top:22px;border-top:1px solid var(--line)}
.rmb-page .rmb-hero-foot > .elementor-widget{width:auto}
.rmb-page .rmb-tagline .elementor-heading-title{font-style:italic;font-size:var(--step-1)}
.rmb-page .rmb-scroll-cue{display:none}
.rmb-page .rmb-scroll-cue .elementor-heading-title{font-family:var(--sans);font-weight:400;font-size:var(--step--1);line-height:1.4;letter-spacing:0;color:var(--muted)}
.rmb-page .rmb-scroll-cue a{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--muted)}
.rmb-page .rmb-scroll-cue a:hover{color:var(--text)}
.rmb-page .rmb-scroll-cue a::before{content:"";width:1px;height:34px;background:linear-gradient(var(--lime),transparent)}
@media (min-width:720px){.rmb-page .rmb-scroll-cue{display:block}}
@media (max-width:899px){
  .rmb-page.rmb-hero.e-con{padding-top:0}
  .rmb-page .rmb-hero-media{position:relative;z-index:0;width:100%;height:clamp(260px,62vw,440px);margin:0 0 -56px}
  .rmb-page .rmb-hero-media img{object-position:68% 28%}
  .rmb-page .rmb-hero-media::after{background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,transparent 45%),linear-gradient(0deg,#000 0%,rgba(0,0,0,.7) 22%,transparent 55%)}
  .rmb-page.rmb-hero > .rmb-wrap{position:relative;z-index:1}
}

/* ---------- sound familiar ---------- */
.rmb-page.rmb-symptoms.e-con{background:var(--ink-2);border-top:1px solid var(--line)}
.rmb-page .rmb-sym-top.e-con{flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.rmb-page .rmb-sym-top > *{width:auto}
.rmb-page .rmb-sym-hint{font-size:var(--step-1);color:var(--muted)}
.rmb-sym-grid{display:grid;gap:14px;margin-top:clamp(36px,5vw,56px)}
@media (min-width:720px){.rmb-sym-grid{grid-template-columns:1fr 1fr;gap:18px}}
.rmb-page .rmb-sym{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;min-height:220px;margin:0;padding:clamp(24px,3vw,36px);text-align:left;white-space:normal;background:linear-gradient(180deg,#151515,#0e0e0e);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font:inherit;line-height:1.6;overflow:hidden;transition:border-color .3s var(--ease),transform .3s var(--ease),background .3s var(--ease)}
.rmb-page .rmb-sym::after{content:"";position:absolute;right:-30%;bottom:-60%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(184,212,51,.22),transparent 65%);opacity:0;transition:opacity .4s var(--ease);pointer-events:none}
.rmb-page .rmb-sym:hover,.rmb-page .rmb-sym:focus{border-color:var(--line-2);transform:translateY(-2px);background:linear-gradient(180deg,#151515,#0e0e0e);color:var(--text)}
.rmb-page .rmb-sym:focus-visible{outline:2px solid var(--lime);outline-offset:4px;border-radius:var(--radius)}
.rmb-sym-num{font-family:var(--serif);font-size:.95rem;color:var(--muted);letter-spacing:.02em}
.rmb-page .rmb-sym h3{margin:0;font-family:var(--serif);font-weight:700;font-size:var(--step-2);line-height:1.1;color:var(--text);max-width:18ch}
.rmb-page .rmb-sym p{margin:0;color:var(--muted);max-width:42ch;font-size:var(--step-0)}
.rmb-sym-tag{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-size:.88rem;font-weight:600;color:var(--text);padding:9px 14px 9px 10px;border-radius:999px;border:1px solid var(--line-2);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.rmb-sym-check{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-2)}
.rmb-sym-check svg{width:11px;height:11px;opacity:0;transform:scale(.6);transition:opacity .25s,transform .3s var(--ease)}
.rmb-page .rmb-sym[aria-pressed="true"],.rmb-page .rmb-sym[aria-pressed="true"]:hover{border-color:rgba(184,212,51,.65);background:linear-gradient(180deg,#262a18,#1f2114)}
.rmb-sym[aria-pressed="true"]::after{opacity:1}
.rmb-sym[aria-pressed="true"] .rmb-sym-num{color:var(--lime)}
.rmb-page .rmb-sym[aria-pressed="true"] p{color:var(--soft)}
.rmb-sym[aria-pressed="true"] .rmb-sym-tag{background:var(--lime);color:#000;border-color:var(--lime)}
.rmb-sym[aria-pressed="true"] .rmb-sym-check{border-color:#000;background:#000}
.rmb-sym[aria-pressed="true"] .rmb-sym-check svg{opacity:1;transform:scale(1)}
.rmb-tally{margin-top:clamp(28px,4vw,40px);display:grid;gap:22px;align-items:center;padding:clamp(22px,3vw,32px);border-radius:var(--radius);border:1px solid var(--line);background:rgba(255,255,255,.02)}
@media (min-width:860px){.rmb-tally{grid-template-columns:auto 1fr auto;gap:32px}}
/* tally row is hidden until a card is picked (live site only; always shown in the editor, without JS,
   or with page templates older than Home v4, whose script doesn't set .rmb-tally-gated) */
html.rmb-tally-gated body:not(.elementor-editor-active) .rmb-sym-widget:not(.rmb-has-picks) .rmb-tally{display:none}
.rmb-sym-widget.rmb-has-picks .rmb-tally{animation:rmbTallyIn .5s var(--ease) both}
@keyframes rmbTallyIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.rmb-tally > *{min-width:0}
.rmb-tally-count{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.rmb-meter{display:flex;gap:6px}
.rmb-meter i{width:26px;height:6px;border-radius:3px;background:var(--line-2);transition:background .35s var(--ease)}
.rmb-meter i.on{background:var(--lime)}
.rmb-page .rmb-tally-num{font-family:var(--serif);font-size:var(--step-2);line-height:1.2;white-space:nowrap;color:var(--text)}
.rmb-tally-num b{font-weight:700;color:var(--lime)}
.rmb-page .rmb-tally-msg{color:var(--soft);max-width:52ch}
.rmb-tally-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:999px;border:1px solid var(--lime);background:var(--lime);color:#000;font:600 var(--step-0)/1.1 var(--sans);text-decoration:none;text-align:center;transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.rmb-page a.rmb-tally-cta,.rmb-page a.rmb-tally-cta:hover{color:#000;font-family:var(--sans)}
.rmb-tally-cta:hover{background:var(--lime-hi);transform:translateY(-1px)}
.rmb-page a.rmb-tally-cta[data-state="idle"]{background:transparent;color:var(--text);border-color:var(--line-2)}
.rmb-page a.rmb-tally-cta[data-state="idle"]:hover{border-color:var(--text);transform:none}


/* ---------- process: "focus pull" ----------
   Each step is a word that comes into focus as a lens-style scale is scrolled from Blurry to Clear.
   JS sets --p (0..1, scale needle) on .rmb-steps and --f (0..1, sharpness) on each .rmb-step.
   Without JS, in the editor, or with reduced motion both default to 1 (fully sharp). */
.rmb-page .rmb-steps.e-con{position:relative;display:grid;gap:44px;margin-top:clamp(40px,5vw,64px)}
.rmb-page .rmb-steps > .rmb-scale-widget{grid-column:1/-1;width:100%}
.rmb-scale{display:flex;align-items:center;gap:16px;font:500 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.rmb-scale-track{position:relative;flex:1;height:22px;background:
  repeating-linear-gradient(90deg,var(--line-2) 0 1px,transparent 1px 12px) left center/100% 9px no-repeat,
  repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 1px,transparent 1px 60px) left center/100% 22px no-repeat}
.rmb-scale-track::before{content:"";position:absolute;left:0;top:50%;height:1px;width:calc(var(--p,1) * 100%);background:var(--lime)}
.rmb-scale-needle{position:absolute;top:-5px;bottom:-5px;left:calc(var(--p,1) * 100%);width:2px;margin-left:-1px;background:var(--lime);box-shadow:0 0 14px rgba(184,212,51,.7)}
.rmb-scale-needle::after{content:"";position:absolute;left:50%;top:-7px;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:var(--lime)}
.rmb-scale-end:last-child{color:var(--lime)}
.rmb-page .rmb-step.e-con{position:relative;gap:0}
.rmb-page .rmb-step-title{margin-top:20px}
.rmb-page .rmb-step-title .elementor-heading-title{font-family:var(--sans);font-size:var(--step-1);font-weight:600;letter-spacing:-.005em;line-height:1.25;color:var(--text)}
.rmb-page .rmb-step .elementor-widget-text-editor{margin-top:8px;color:var(--muted);max-width:30ch}
@media (min-width:720px) and (max-width:1023px){.rmb-page .rmb-steps.e-con{grid-template-columns:repeat(2,1fr);gap:48px 36px}}
@media (min-width:1024px){.rmb-page .rmb-steps.e-con{grid-template-columns:repeat(4,1fr);gap:40px 36px}}

/* ---------- proof ---------- */
.rmb-page .rmb-logos.e-con{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:clamp(36px,5vw,56px)}
@media (min-width:860px){.rmb-page .rmb-logos.e-con{grid-template-columns:repeat(4,1fr)}}
.rmb-page .rmb-logo-ph.e-con{position:relative;display:grid;place-items:center;min-height:120px;padding:20px;border:1px dashed var(--line-2);border-radius:14px;text-align:center;background:rgba(255,255,255,.015)}
.rmb-page .rmb-logo-ph .elementor-widget-text-editor{font-family:var(--serif);font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);color:var(--soft);letter-spacing:-.01em;line-height:1.3}
.rmb-page .rmb-logo-ph > .elementor-widget{position:static}
.rmb-page .rmb-logo-ph small{position:absolute;top:10px;left:12px;font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rmb-page .rmb-logo-ph img{max-height:72px;width:auto}
/* client logo marquee (Home v12+): two rows of transparent logos on black drifting right to left at
   different speeds; the edges fade out. Motion is driven by rmb-site.js (requestAnimationFrame, sub-pixel
   translate3d): the rows loop forever; hover eases them to a stop, and a drag or swipe (mouse, finger,
   trackpad) scrubs a row 1:1 with a glide on release. Without JS the rows simply sit still. */
.rmb-page .rmb-marquee.e-con{width:100%;max-width:none;margin-top:clamp(28px,4vw,48px);gap:clamp(4px,1vw,12px);overflow:hidden;padding-block:clamp(14px,2vw,26px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
.rmb-page .rmb-mrow.e-con{flex-direction:row;width:100%;overflow:visible;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}
.rmb-page .rmb-mrow.rmb-grabbing{cursor:grabbing}
.rmb-page .rmb-mtrack.e-con{--width:max-content;flex-direction:row;flex-wrap:nowrap;width:max-content;max-width:none;gap:0;will-change:transform;backface-visibility:hidden}
.rmb-page .rmb-mtrack > .elementor-widget{flex:0 0 auto;width:auto;max-width:none;margin:0;padding-inline-end:clamp(8px,1.6vw,28px)}
.rmb-page .rmb-mlogo img{display:block;width:clamp(150px,15vw,230px);max-width:none;height:auto;aspect-ratio:3/2;object-fit:contain;-webkit-user-drag:none;user-select:none;pointer-events:none;transform:translateZ(0)}
.rmb-page .rmb-marquee + .rmb-wrap .rmb-proof-grid.e-con{margin-top:clamp(28px,4vw,48px)}
.rmb-page .rmb-proof-grid.e-con{display:grid;gap:18px;margin-top:18px}
@media (min-width:860px){.rmb-page .rmb-proof-grid.e-con{grid-template-columns:1.35fr 1fr}}
.rmb-page .rmb-card.e-con{border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,3.5vw,44px);background:linear-gradient(180deg,#141414,#0d0d0d)}
.rmb-page .rmb-quote-mark .elementor-heading-title{font-size:4.5rem;line-height:.6;height:30px;color:var(--lime)}
.rmb-page .rmb-testi-quote{margin-top:18px;font-family:var(--serif);font-size:var(--step-2);line-height:1.3;color:var(--soft)}
.rmb-page .rmb-testi-quote blockquote{margin:0;padding:0;border:0;font:inherit;color:inherit}
.rmb-page .rmb-testi-cite{margin-top:26px;font-size:var(--step--1);color:var(--muted)}
.rmb-page .rmb-stat.e-con{justify-content:space-between;gap:24px;background:radial-gradient(120% 100% at 100% 0%,rgba(184,212,51,.16),transparent 60%),linear-gradient(180deg,#141414,#0d0d0d)}
.rmb-page .rmb-stat-num .elementor-heading-title{font-size:clamp(4.5rem,3rem + 7vw,8.5rem);line-height:.85;letter-spacing:-.035em;color:var(--lime)}
/* 68% stat: Elementor Counter widget (counts 0 -> 68 once, when it scrolls into view) styled like the old heading */
.rmb-page .rmb-counter .elementor-counter{display:block}
.rmb-page .rmb-counter .elementor-counter-number-wrapper{display:flex;justify-content:flex-start;margin:0;font-family:var(--serif);font-weight:700;font-size:clamp(4.5rem,3rem + 7vw,8.5rem);line-height:.85;letter-spacing:-.035em;color:var(--lime);font-variant-numeric:tabular-nums}
.rmb-page .rmb-counter .elementor-counter-number-prefix,.rmb-page .rmb-counter .elementor-counter-number-suffix{flex-grow:0;text-align:start;white-space:nowrap}
.rmb-page .rmb-counter .elementor-counter-title{display:none}
.rmb-page .rmb-stat-text{font-size:var(--step-1);line-height:1.45;color:var(--soft)}
.rmb-page .rmb-stat-text cite{display:block;margin-top:10px;font-style:normal;font-size:.8rem;color:var(--muted)}

/* ---------- Home v6+: hero = shared split hero, with the fading crowd on the right ---------- */
.rmb-page.rmb-p-home.rmb-phero .rmb-h1 .elementor-heading-title{max-width:12ch}
@media (min-width:960px){.rmb-page.rmb-p-home .rmb-phero-grid.e-con{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.rmb-page.rmb-p-home.rmb-phero .rmb-trust{margin-top:24px}
.rmb-page .rmb-crowd{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;animation:rmbGearsIn 1.4s var(--ease) .3s both}
.rmb-page .rmb-crowd > .elementor-widget-container{width:100%;display:flex;justify-content:center}
.rmb-crowd-svg{display:block;width:100%;max-width:600px;height:auto;overflow:visible}
.rmb-crowd-svg path,.rmb-crowd-svg circle{stroke:var(--lime);stroke-width:1.6;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.rmb-crowd-svg .rmb-c-fig path,.rmb-crowd-svg .rmb-c-fig circle{fill:#000}  /* front rows hide the rows behind them */
.rmb-crowd-svg .rmb-c-ghost path,.rmb-crowd-svg .rmb-c-ghost circle{fill:none;stroke-opacity:.35;stroke-dasharray:3 4}
@media (max-width:959px){.rmb-crowd-svg{max-width:360px}}
/* the crowd sits on plain black (the split hero's lime glow would show behind the busts' black fill) */
.rmb-page.rmb-p-home.rmb-phero.e-con{background:#000}
/* "Brands we've helped sharpen" head row: heading + lede left, "See the case studies" button right, level with
   the heading's last line, right above the logo marquee; stacks (button under the lede) below 860px */
.rmb-page .rmb-head-row.e-con{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
@media (min-width:860px){.rmb-page .rmb-head-row.e-con{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:40px}}
.rmb-page .rmb-head-row > .rmb-sec-head.e-con{flex:1 1 auto}
.rmb-page .rmb-head-row > .rmb-cases-btn{flex:0 0 auto;width:auto}

/* ===== PAGE: Our Process ===== */
/* Containers on this site default to 0 row/column gap, so spacing below is set explicitly. */

/* gears: outlined only, all brand green; each turns around its own axle (SVG animateTransform).
   The cluster is taller than wide; its height is capped and its width never exceeds its grid column,
   so it can't run into the hero text. */
.rmb-page .rmb-gears{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;animation:rmbGearsIn 1.4s var(--ease) .3s both}
.rmb-gears-svg{display:block;height:clamp(460px,52vw,700px);width:auto;max-width:100%;overflow:hidden}
.rmb-gears-svg path,.rmb-gears-svg circle,.rmb-gears-svg line{fill:none;stroke:var(--lime);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.rmb-gears-svg .rmb-g-axle{fill:var(--lime);stroke:none}
.rmb-gears-svg .rmb-g-link{stroke:rgba(184,212,51,.3);stroke-dasharray:3 7}
@keyframes rmbGearsIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:959px){.rmb-gears-svg{height:clamp(320px,90vw,440px)}}
/* ---------- chapters: one row per step; the focus word sticks while its details scroll ---------- */
.rmb-page .rmb-chapters.e-con{margin-top:clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}
.rmb-page .rmb-chapter.e-con{display:grid;gap:28px;padding:clamp(56px,7vw,96px) 0;border-top:1px solid var(--line)}
@media (min-width:960px){
  .rmb-page .rmb-chapter.e-con{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,6vw,96px)}
  .rmb-page .rmb-ch-mark.e-con{position:sticky;top:48px;align-self:start}
}
.rmb-page .rmb-chapter .rmb-step-word{margin-top:18px}
.rmb-page .rmb-chapter .rmb-step-word .elementor-heading-title{font-size:clamp(3rem,1.8rem + 3.6vw,5.6rem)}
.rmb-page .rmb-ch-body.e-con{gap:0;max-width:640px}
.rmb-page .rmb-ch-title .elementor-heading-title{font-family:var(--sans);font-size:var(--step-1);font-weight:600;letter-spacing:-.005em;line-height:1.25;color:var(--text)}
.rmb-page .rmb-ch-lead{margin-top:18px;font-family:var(--serif);font-weight:500;letter-spacing:-.012em;font-size:var(--step-2);line-height:1.32;color:var(--soft)}
.rmb-page .rmb-ch-detail{margin-top:22px;color:var(--muted);max-width:58ch}

/* criteria tags (step 3) and fix/keep/path items (step 4) */
.rmb-page .rmb-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.rmb-page .rmb-chips li{margin:0;padding:8px 15px;border:1px solid var(--line-2);border-radius:999px;font-size:.92rem;line-height:1.3;color:var(--soft)}
.rmb-page .rmb-plan{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.rmb-page .rmb-plan li{margin:0;padding:2px 0 2px 18px;border-left:2px solid var(--lime);color:var(--muted)}
.rmb-page .rmb-plan strong{display:block;margin-bottom:2px;font-weight:600;color:var(--text)}


/* "you walk away with" */
.rmb-page .rmb-ch-get.e-con{margin-top:32px;gap:8px;padding:20px 22px;border-radius:12px;background:rgba(184,212,51,.07);border:1px solid rgba(184,212,51,.28)}
.rmb-page .rmb-ch-get-label .elementor-heading-title{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}
.rmb-page .rmb-ch-get .elementor-widget-text-editor{color:var(--text)}

/* ---------- FAQ ---------- */
.rmb-page .rmb-faq.e-con{display:grid;gap:0 clamp(40px,6vw,88px);margin-top:clamp(44px,5vw,72px)}
@media (min-width:860px){.rmb-page .rmb-faq.e-con{grid-template-columns:1fr 1fr}}
.rmb-page .rmb-faq-item.e-con{gap:14px;padding:36px 0;border-top:1px solid var(--line)}
.rmb-page .rmb-faq-q .elementor-heading-title{font-size:var(--step-2);line-height:1.2}
.rmb-page .rmb-faq-item .elementor-widget-text-editor{color:var(--muted);max-width:52ch}

/* ---------- section spacing on this page (.rmb-p-process is on every top-level section of this page only) ---------- */
.rmb-page.rmb-p-process .rmb-sec-head.e-con{gap:22px}
.rmb-page .rmb-steps-foot.e-con{margin-top:clamp(56px,7vw,96px)}

/* ---------- "The path to clarity": each step's heading sits on a stage with its own drawing ----------
   rmb-site.js sets --p (0-1) on each .rmb-chapter as it scrolls through the viewport, --mx/--my on the stage
   under the pointer, and .is-live while the step is on screen (loops only run then). No border: the stage
   is carried by light, a dot grid and the drawing. */
.rmb-page.rmb-p-process .rmb-chapter.e-con{--p:1}
.rmb-page.rmb-p-process .rmb-ch-mark.e-con{--ga:calc(.2 + var(--p) * .14);position:relative;isolation:isolate;container-type:inline-size;overflow:hidden;justify-content:flex-start;gap:0;min-height:clamp(380px,64vh,600px);padding:clamp(24px,3vw,36px);border:0;border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(184,212,51,var(--ga)) 0%,rgba(184,212,51,calc(var(--ga) * .82)) 10%,rgba(184,212,51,calc(var(--ga) * .64)) 20%,rgba(184,212,51,calc(var(--ga) * .48)) 30%,rgba(184,212,51,calc(var(--ga) * .34)) 40%,rgba(184,212,51,calc(var(--ga) * .23)) 50%,rgba(184,212,51,calc(var(--ga) * .14)) 60%,rgba(184,212,51,calc(var(--ga) * .07)) 70%,rgba(184,212,51,calc(var(--ga) * .03)) 80%,rgba(184,212,51,calc(var(--ga) * .01)) 90%,rgba(184,212,51,0) 100%),linear-gradient(135deg,#10120c 0%,#0b0b0b 40%,#070707 75%,#050505 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.rmb-page.rmb-p-process .rmb-ch-mark > .elementor-widget-heading{position:relative;z-index:2}
.rmb-page.rmb-p-process .rmb-ch-art-w{position:absolute;inset:0;z-index:0;margin:0;width:auto;max-width:none;pointer-events:none}
.rmb-page.rmb-p-process .rmb-ch-art-w > .elementor-widget-container,.rmb-ch-art{position:absolute;inset:0}
/* dot grid: faint everywhere, lit around the pointer (or around the drawing when there is no pointer) */
.rmb-ch-grid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1.5px);background-size:18px 18px;opacity:.35;-webkit-mask:radial-gradient(240px circle at var(--mx,62%) var(--my,68%),#000,transparent 75%);mask:radial-gradient(240px circle at var(--mx,62%) var(--my,68%),#000,transparent 75%);transition:opacity .4s var(--ease)}
.rmb-ch-mark:hover .rmb-ch-grid{opacity:.8}
/* the step's progress: a lime hairline along the bottom of the stage */
.rmb-ch-meter{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--lime);transform-origin:0 50%;transform:scaleX(var(--p));opacity:.85}
/* the drawing: lower part of the stage, under the heading, drifting a little toward the pointer */
.rmb-ar{position:absolute;bottom:3%;left:0;right:0;margin-inline:auto;width:min(88%,430px);height:auto;aspect-ratio:1;overflow:visible;transform:translate(var(--ax,0px),var(--ay,0px));transition:transform .6s var(--ease)}
.rmb-ar *{fill:none;stroke:var(--lime);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* focus word: drawn as an outline, then fills in (left to right) through the first part of the step */
.rmb-page.rmb-p-process .rmb-ch-mark .rmb-step-word .elementor-heading-title{--wc:var(--text);font-size:clamp(2.6rem,17cqi,6rem);color:transparent;-webkit-text-stroke:1.5px var(--wc);background:linear-gradient(90deg,var(--wc) 0 46%,transparent 54% 100%);background-size:220% 100%;background-position:calc(100% - min(1,var(--p) * 2.4) * 100%) 0;-webkit-background-clip:text;background-clip:text;filter:none;opacity:1;padding-right:.08em}
.rmb-page.rmb-p-process .rmb-step-last .rmb-ch-mark .rmb-step-word .elementor-heading-title{--wc:var(--lime)}
.rmb-page.rmb-p-process .rmb-ch-mark .rmb-step-when .elementor-heading-title{color:var(--soft)}
.rmb-page.rmb-p-process .rmb-ch-mark .rmb-step-when .elementor-heading-title::before{display:none}

/* Listen: a voice waveform that swells from a murmur to a full signal, ripples rolling off it */
.rmb-ar-listen .rmb-ar-base{stroke:rgba(255,255,255,.12);stroke-width:1}
.rmb-ar-listen .rmb-ar-wave{transform-box:view-box;transform-origin:200px 200px;transform:scaleY(calc(.12 + var(--p) * .88))}
.rmb-ar-listen .rmb-ar-wave line{stroke-width:3.2;transform-box:fill-box;transform-origin:50% 50%;animation:rmbWave var(--t) ease-in-out var(--d) infinite alternate paused}
.rmb-ar-listen .rmb-ar-ring{stroke:rgba(184,212,51,.5);stroke-width:1;transform-box:view-box;transform-origin:200px 200px;opacity:0;animation:rmbRipple 4.8s var(--ease) var(--d) infinite paused}
@keyframes rmbWave{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@keyframes rmbRipple{0%{transform:scale(.6);opacity:0}15%{opacity:calc(var(--p) * .9)}100%{transform:scale(2.9);opacity:0}}

/* Look: the focus ring turns, the iris opens (blade lines drawn by the script), the target sharpens */
.rmb-ar-look .rmb-ar-focus{transform-box:view-box;transform-origin:200px 200px;transform:rotate(calc(var(--p) * -110deg))}
.rmb-ar-look .rmb-ar-focus *{stroke:rgba(184,212,51,.45);stroke-width:1}
.rmb-ar-look .rmb-ar-barrel{stroke-width:2}
.rmb-ar-look .rmb-ar-barrel2{stroke:rgba(184,212,51,.35);stroke-width:1}
.rmb-ar-look .rmb-ar-iris path{stroke-width:1.6;fill:rgba(184,212,51,.035)}
.rmb-ar-look .rmb-ar-subject{opacity:calc(.25 + var(--p) * .75);filter:blur(calc((1 - var(--p)) * 5px))}
.rmb-ar-look .rmb-ar-subject circle:last-of-type{fill:var(--lime)}

/* Measure: a five-point brand radar; the reading grows from the centre while the arm sweeps */
.rmb-ar-measure .rmb-ar-grid *{stroke:rgba(255,255,255,.13);stroke-width:1}
.rmb-ar-measure .rmb-ar-labels text{fill:var(--muted);stroke:none;font:600 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.rmb-ar-measure .rmb-ar-sweep{transform-box:view-box;transform-origin:200px 208px;animation:rmbSweep 7s linear infinite paused}
.rmb-ar-measure .rmb-ar-sweep line{stroke-width:1.2}
.rmb-ar-measure .rmb-ar-shape{transform-box:view-box;transform-origin:200px 208px;transform:scale(calc(.06 + min(1,var(--p) * 1.4) * .94))}
.rmb-ar-measure .rmb-ar-shape polygon{fill:rgba(184,212,51,.14);stroke-width:2}
.rmb-ar-measure .rmb-ar-shape circle{fill:#0a0a0a;stroke-width:2}
@keyframes rmbSweep{to{transform:rotate(360deg)}}

/* Map: a street map; the route draws itself along the streets, stops light up at its turns, the pin drops in */
.rmb-ar-map .rmb-ar-st{stroke:rgba(255,255,255,.11);stroke-width:1.1}
.rmb-ar-map .rmb-ar-av{stroke:rgba(255,255,255,.2);stroke-width:3.2}
.rmb-ar-map .rmb-ar-hw{stroke:rgba(255,255,255,.22);stroke-width:9}
.rmb-ar-map .rmb-ar-hw2{stroke:#0b0b0b;stroke-width:5.5}
.rmb-ar-map .rmb-ar-river{stroke:rgba(255,255,255,.05);stroke-width:26}
.rmb-ar-map .rmb-ar-park{fill:rgba(184,212,51,.09);stroke:none}
.rmb-ar-map .rmb-ar-blk{fill:rgba(255,255,255,.045);stroke:none}
.rmb-ar-map .rmb-ar-route{stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--p));filter:drop-shadow(0 0 7px rgba(184,212,51,.55))}
.rmb-ar-map .rmb-ar-start{fill:var(--lime);stroke:#0b0b0b;stroke-width:2}
.rmb-ar-map .rmb-ar-here{fill:rgba(184,212,51,.16);stroke:none}
.rmb-ar-map .rmb-ar-stop{fill:#0b0b0b;stroke-width:2.4;transform-box:fill-box;transform-origin:50% 50%;opacity:clamp(0,(var(--p) - var(--at)) * 12,1);transform:scale(clamp(.3,(var(--p) - var(--at)) * 10,1))}
.rmb-ar-map .rmb-ar-goal{transform-box:fill-box;transform-origin:50% 100%;opacity:clamp(0,(var(--p) - .92) * 14,1);transform:translateY(calc((1 - clamp(0,(var(--p) - .92) * 12,1)) * -14px))}
.rmb-ar-map .rmb-ar-pinbody{fill:var(--lime);stroke:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.rmb-ar-map .rmb-ar-pindot{fill:#0b0b0b;stroke:none}
.rmb-ar-map .rmb-ar-goal-pulse{stroke-width:1.6;transform-box:fill-box;transform-origin:50% 50%;animation:rmbGoal 2.4s var(--ease) infinite paused}
@keyframes rmbGoal{0%{transform:scale(1);opacity:.8}100%{transform:scale(3);opacity:0}}

/* loops run only while the step is on screen */
.rmb-chapter.is-live .rmb-ar *{animation-play-state:running}

@media (min-width:960px){.rmb-page.rmb-p-process .rmb-ch-mark.e-con{position:sticky;top:104px}}
@media (max-width:959px){
  .rmb-page.rmb-p-process .rmb-ch-mark.e-con{min-height:clamp(380px,112vw,500px)}
  .rmb-ar{width:min(78%,330px);bottom:3%}
}
@media (prefers-reduced-motion:reduce){
  .rmb-page.rmb-p-process .rmb-chapter.e-con{--p:1 !important}
  .rmb-ar *{animation:none !important}
  .rmb-ar-listen .rmb-ar-ring{opacity:0}
}
/* "See the results" under the evidence copy */
.rmb-page .rmb-why-btns.e-con{margin-top:12px}

/* ===== PAGE: About ===== */
/* Containers on this site default to 0 row/column gap, so spacing below is set explicitly.
   .rmb-p-about is on every top-level section of this page only. */

/* ---------- hero animation: "tangle -> refresh" (SVG morph; paused on the clean arrow for reduced motion) ---------- */
.rmb-page .rmb-tangle{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;animation:rmbGearsIn 1.4s var(--ease) .3s both}
.rmb-page .rmb-tangle > .elementor-widget-container{width:100%;display:flex;justify-content:center}
.rmb-tangle-svg{display:block;width:100%;max-width:520px;height:auto;aspect-ratio:1;overflow:visible}
.rmb-tangle-svg path,.rmb-tangle-svg circle,.rmb-tangle-svg line{fill:none;stroke:var(--lime);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.rmb-tangle-svg .rmb-t-echo{stroke-opacity:.28;stroke-width:1.2}
.rmb-tangle-svg .rmb-t-guide{stroke:rgba(184,212,51,.14);stroke-width:1;stroke-dasharray:2 8}
@media (max-width:959px){.rmb-tangle-svg{max-width:320px}}

/* ---------- lime band: stat source ---------- */
.rmb-page .rmb-src{display:block;margin-top:10px;font-family:var(--sans);font-size:.8rem;letter-spacing:0;color:rgba(0,0,0,.65)}

/* ---------- meet Dan ---------- */
.rmb-page.rmb-p-about .rmb-founder-grid.e-con{align-items:start}
@media (min-width:900px){.rmb-page.rmb-p-about .rmb-portrait.e-con{position:sticky;top:48px}}
.rmb-page .rmb-about-h2{margin-top:22px}
.rmb-page .rmb-about-h2 .elementor-heading-title{font-size:var(--step-3);line-height:1.15}
.rmb-page .rmb-story{margin-top:26px;font-size:var(--step-1);line-height:1.6;color:var(--soft);max-width:56ch}
.rmb-page .rmb-story p + p{margin-top:16px}

/* timeline */
.rmb-page .rmb-timeline{list-style:none;margin:36px 0 0;padding:0;border-left:1px solid var(--line-2)}
.rmb-page .rmb-timeline li{position:relative;margin:0;padding:0 0 22px 28px;font-family:var(--sans);font-size:var(--step-0);line-height:1.5;color:var(--muted)}
.rmb-page .rmb-timeline li:last-child{padding-bottom:0}
.rmb-page .rmb-timeline li::before{content:"";position:absolute;left:-5px;top:calc((1.5em - 9px) / 2 + 2px);width:9px;height:9px;border-radius:50%;background:#000;border:1.5px solid var(--lime)}
.rmb-page .rmb-timeline li:last-child::before{background:var(--lime)}
.rmb-page .rmb-timeline strong{display:inline-block;min-width:4.2em;margin-right:8px;font-family:var(--serif);font-weight:700;font-size:1.15em;color:var(--lime)}

/* ---------- section spacing on this page ---------- */
.rmb-page.rmb-p-about .rmb-sec-head.e-con{gap:22px}
.rmb-page.rmb-p-about .rmb-pillars.e-con{margin-top:clamp(48px,6vw,80px)}

/* lime band: "You don't need more marketing." holds one line on desktop (wraps on smaller screens), "Smarter marketing." under it */
.rmb-page.rmb-p-about.rmb-stakes .rmb-big .elementor-heading-title{max-width:none}

/* ===== PAGE: How We Help ===== */
/* Containers on this site default to 0 row/column gap, so spacing below is set explicitly.
   .rmb-p-help is on every top-level section of this page only. The three pillars reuse the
   Our Process chapter rows (.rmb-chapter, .rmb-chips, .rmb-ch-get). */

/* ---------- hero animation: "review -> plan" (SVG; paused on the finished plan for reduced motion) ---------- */
.rmb-page .rmb-plan-anim{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;animation:rmbGearsIn 1.4s var(--ease) .3s both}
.rmb-page .rmb-plan-anim > .elementor-widget-container{width:100%;display:flex;justify-content:center}
.rmb-plan-svg{display:block;width:100%;max-width:500px;height:auto;aspect-ratio:1;overflow:visible}
.rmb-plan-svg text{font-family:"Source Sans 3",system-ui,sans-serif;fill:#F3F1F0}
.rmb-plan-svg .rmb-pl-card{fill:rgba(255,255,255,.025);stroke:rgba(255,255,255,.14);stroke-width:1}
.rmb-plan-svg .rmb-pl-rule{stroke:rgba(255,255,255,.10);stroke-width:1}
.rmb-plan-svg .rmb-pl-eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;fill:#B3AFAC}
.rmb-plan-svg .rmb-pl-meta{font-size:13px;fill:#B3AFAC}
.rmb-plan-svg .rmb-pl-row{fill:rgba(255,255,255,.03);stroke:rgba(255,255,255,.10);stroke-width:1}
.rmb-plan-svg .rmb-pl-hotbox{fill:rgba(184,212,51,.09);stroke:rgba(184,212,51,.55);stroke-width:1}
.rmb-plan-svg .rmb-pl-slot{fill:none;stroke:rgba(255,255,255,.18);stroke-width:1;stroke-dasharray:2 3}
.rmb-plan-svg .rmb-pl-label{font-size:16px;fill:#FFFFFF}
.rmb-plan-svg .rmb-pl-num{font-size:14px;font-weight:600;fill:#B8D433}
.rmb-plan-svg .rmb-pl-num-ink{fill:#000}
.rmb-plan-svg .rmb-pl-word{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;fill:#B3AFAC}
.rmb-plan-svg .rmb-pl-hot{fill:#B8D433}
.rmb-plan-svg .rmb-pl-mark circle,.rmb-plan-svg .rmb-pl-mark path{fill:none;stroke:#B8D433;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.rmb-plan-svg .rmb-pl-mark .rmb-pl-fix,.rmb-plan-svg .rmb-pl-fix{fill:#B8D433;stroke:none}
.rmb-plan-svg .rmb-pl-mark .rmb-pl-ink{stroke:#000;stroke-width:2}
.rmb-plan-svg .rmb-pl-mark .rmb-pl-dot{fill:#000;stroke:none}
.rmb-plan-svg .rmb-pl-mark .rmb-pl-dim{stroke:#B3AFAC}
.rmb-plan-svg .rmb-pl-scan{stroke:#B8D433;stroke-width:2;stroke-linecap:round}
@media (max-width:959px){.rmb-plan-svg{max-width:400px}}

/* ---------- hero: "Message. Identity. Experience." under the H1 (each links to its row below) ---------- */
.rmb-page .rmb-three{margin-top:clamp(24px,3vw,36px)}
.rmb-page .rmb-three ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}
.rmb-page .rmb-three li{margin:0}
.rmb-page .rmb-three a{color:var(--text);text-decoration:none;transition:color .25s var(--ease)}
.rmb-page .rmb-three span{font-family:var(--serif);font-weight:700;font-size:var(--step-2);line-height:1.15;letter-spacing:-.02em}
.rmb-page .rmb-three a:hover span,.rmb-page .rmb-three a:focus-visible span{color:var(--lime)}/* space between the three things and the subhead */
.rmb-page.rmb-p-help.rmb-phero .rmb-hero-sub{margin-top:clamp(40px,5vw,60px)}

/* ---------- lime band: "Sixty seconds..." line in the sans ---------- */
.rmb-page.rmb-p-help .rmb-stakes-row .elementor-heading-title{font-family:var(--sans);font-weight:500;font-size:var(--step-1);line-height:1.45;letter-spacing:0;max-width:40ch}

/* ---------- pillar rows: anchor offset under the sticky header ---------- */
.rmb-page.rmb-p-help .rmb-chapter.e-con{scroll-margin-top:90px}
.rmb-page.rmb-p-help .rmb-ch-get-label{margin-bottom:6px}
/* the focus word is the first thing in each row now (no "01 - The question" label above it) */
.rmb-page.rmb-p-help .rmb-chapter .rmb-step-word{margin-top:0}

/* ---------- examples (placeholders until real case studies exist) ---------- */
.rmb-page .rmb-ex-grid.e-con{display:grid;gap:18px;margin-top:clamp(44px,5vw,72px)}
@media (min-width:860px){.rmb-page .rmb-ex-grid.e-con{grid-template-columns:repeat(3,1fr)}}
.rmb-page .rmb-ex.e-con{gap:16px;border-style:dashed}
.rmb-page .rmb-ex .rmb-chips li{padding:5px 12px;font-size:.8rem;border-color:rgba(184,212,51,.4);color:var(--lime)}
.rmb-page .rmb-ex-name .elementor-heading-title{font-size:var(--step-2)}
.rmb-page .rmb-ex .elementor-widget-text-editor{color:var(--muted)}
.rmb-page .rmb-ex-link{margin-top:auto;padding-top:8px}
.rmb-page .rmb-ex-link .elementor-heading-title{font-family:var(--sans);font-size:var(--step--1);font-weight:600}
.rmb-page .rmb-ex-link .elementor-heading-title a{color:var(--lime);text-decoration:none}
.rmb-page .rmb-ex-link .elementor-heading-title a:hover{text-decoration:underline;text-underline-offset:4px}
.rmb-page .rmb-ex-foot.e-con{flex-direction:row;justify-content:center;margin-top:36px}
.rmb-page .rmb-ex-foot .elementor-heading-title{font-family:var(--sans);font-size:var(--step-0);font-weight:600}
.rmb-page .rmb-ex-foot .elementor-heading-title a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--lime);padding-bottom:3px}

/* "What it looks like in practice": the three most recent case studies (Posts widget, .rmb-help-cases).
   Image (4:3), tag pills, client name, one-line story and a "Read the case study" link; the whole card is the
   link, and the image glows faintly on hover, as on the Examples page. */
.rmb-page .rmb-help-cases{margin-top:clamp(44px,5vw,72px)}
.rmb-page .rmb-help-cases .elementor-posts-container.elementor-grid{display:grid;grid-template-columns:1fr;gap:clamp(48px,5vw,64px) clamp(24px,3vw,40px)}
@media (min-width:700px){.rmb-page .rmb-help-cases .elementor-posts-container.elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.rmb-page .rmb-help-cases .elementor-posts-container.elementor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rmb-page .rmb-help-cases .elementor-post{position:relative;display:flex;flex-direction:column;margin:0;background:none;border:0;box-shadow:none}
.rmb-page .rmb-help-cases .elementor-post__text,.rmb-page .rmb-help-cases .elementor-post__read-more-wrapper{display:contents}
.rmb-page .rmb-help-cases .elementor-post__thumbnail__link{order:1;position:relative;display:block;width:100%;margin:0 0 18px;border-radius:10px;overflow:hidden;background:#111;transition:box-shadow .5s var(--ease)}
.rmb-page .rmb-help-cases .elementor-post:hover .elementor-post__thumbnail__link{box-shadow:0 0 0 1px rgba(184,212,51,.45),0 0 48px -6px rgba(184,212,51,.45)}
.rmb-page .rmb-help-cases .elementor-post__thumbnail{position:relative;aspect-ratio:4/3;padding-bottom:0!important;overflow:hidden}
.rmb-page .rmb-help-cases .elementor-posts-container .elementor-post__thumbnail img{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover;transform:none;transition:transform 1s var(--ease)}
.rmb-page .rmb-help-cases .elementor-posts-container .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.035)}
.rmb-page .rmb-help-cases .rmb-chips{order:2;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.rmb-page .rmb-help-cases .rmb-chips li{margin:0;padding:4px 11px;border:1px solid rgba(184,212,51,.45);border-radius:999px;background:rgba(184,212,51,.06);font:500 .78rem/1.3 var(--sans);color:var(--lime)}
.rmb-page .rmb-help-cases .elementor-post__title{order:3;margin:0 0 8px;font-family:var(--serif);font-size:var(--step-2);font-weight:700;line-height:1.12;letter-spacing:-.02em}
.rmb-page .rmb-help-cases .elementor-post__title a{font-family:var(--serif);font-weight:700;color:var(--text);text-decoration:none;transition:color .3s var(--ease)}
.rmb-page .rmb-help-cases .elementor-post__title a::after{content:"";position:absolute;inset:0;z-index:3}
.rmb-page .rmb-help-cases .elementor-post:hover .elementor-post__title a{color:var(--lime)}
.rmb-page .rmb-help-cases .elementor-post__excerpt{order:4;margin:0}
.rmb-page .rmb-help-cases .elementor-post__excerpt p{margin:0;font-family:var(--sans);font-size:var(--step-0);line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rmb-page .rmb-help-cases a.elementor-post__read-more{order:5;position:relative;z-index:4;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:16px;font:600 var(--step--1)/1.2 var(--sans);color:var(--lime);text-decoration:none}
.rmb-page .rmb-help-cases a.elementor-post__read-more::after{content:"";width:.62em;height:.62em;background:currentColor;-webkit-mask:var(--rmb-chev) center/contain no-repeat;mask:var(--rmb-chev) center/contain no-repeat;transition:transform .25s var(--ease)}
.rmb-page .rmb-help-cases .elementor-post:hover a.elementor-post__read-more::after{transform:translateX(4px)}
/* Elementor clips each post (overflow:hidden), which cut the hover glow off the image's top and sides */
.rmb-page .rmb-help-cases .elementor-posts-container .elementor-post{overflow:visible}

/* ===== PAGE: Contact ===== */
/* Containers on this site default to 0 row/column gap, so spacing below is set explicitly.
   .rmb-p-contact is on every top-level section of this page only. The hero is the shared split hero (.rmb-phero). */

/* ---------- hero ---------- */
.rmb-page.rmb-p-contact.rmb-phero .rmb-btns{margin-top:48px}
.rmb-page.rmb-p-contact.rmb-phero .rmb-trust{margin-top:22px}

/* "first message": a note to Dan types itself out, Send flashes, Dan replies (SVG SMIL; see src/rmb-convo.ps1) */
.rmb-page .rmb-convo{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;animation:rmbGearsIn 1.4s var(--ease) .3s both}
.rmb-page .rmb-convo > .elementor-widget-container{width:100%;display:flex;justify-content:center}
.rmb-cv-svg{display:block;width:100%;max-width:500px;height:auto;aspect-ratio:460/420;overflow:visible}
.rmb-cv-svg text{font-family:"Source Sans 3",system-ui,sans-serif}
.rmb-cv-svg .rmb-cv-card{fill:rgba(255,255,255,.03);stroke:rgba(255,255,255,.18);stroke-width:1}
.rmb-cv-svg .rmb-cv-card-dan{fill:#0f1109;stroke:rgba(184,212,51,.55);stroke-width:1}
.rmb-cv-svg .rmb-cv-rule{stroke:rgba(255,255,255,.10);stroke-width:1}
.rmb-cv-svg .rmb-cv-label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;fill:#B3AFAC}
.rmb-cv-svg .rmb-cv-label-dan{fill:#B8D433}
.rmb-cv-svg .rmb-cv-q{font-family:"Plus Jakarta Sans","Source Sans 3",system-ui,sans-serif;font-weight:600;font-size:22px;letter-spacing:-.01em;fill:#FFFFFF}
.rmb-cv-svg .rmb-cv-a{font-size:18px;fill:#F3F1F0}
.rmb-cv-svg .rmb-cv-dot{fill:#B8D433}
.rmb-cv-svg .rmb-cv-send rect{fill:none;stroke:rgba(255,255,255,.18);stroke-width:1}
.rmb-cv-svg .rmb-cv-send text{font-size:14px;font-weight:600;fill:#B3AFAC}
.rmb-cv-svg .rmb-cv-send-hot rect{fill:#B8D433;stroke:#B8D433}
.rmb-cv-svg .rmb-cv-send-hot text{fill:#000}
@media (max-width:959px){.rmb-cv-svg{max-width:420px}}

/* ---------- message section: form + aside ---------- */
.rmb-page .rmb-msg-grid.e-con{display:grid;gap:clamp(48px,6vw,96px)}
@media (min-width:960px){.rmb-page .rmb-msg-grid.e-con{grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:start}}
.rmb-page.rmb-p-contact .rmb-sec-head.e-con{gap:22px}
.rmb-page .rmb-form{margin-top:clamp(36px,4vw,52px)}

/* aside */
.rmb-page .rmb-aside.e-con{gap:0}
@media (min-width:960px){.rmb-page .rmb-aside.e-con{position:sticky;top:48px}}
.rmb-page .rmb-dan.e-con{display:grid;grid-template-columns:64px 1fr;gap:4px 18px;align-items:center;padding:22px;border-radius:var(--radius);border:1px solid var(--line);background:#000}
.rmb-page .rmb-dan-photo{grid-row:span 2;width:64px}
.rmb-page .rmb-dan-photo img{display:block;width:64px;height:64px;max-width:none;object-fit:cover;object-position:50% 20%;border-radius:50%;border:1px solid var(--line-2)}
.rmb-page .rmb-dan-name .elementor-heading-title{font-size:var(--step-1);line-height:1.2}
.rmb-page .rmb-dan-role .elementor-heading-title{font-family:var(--sans);font-weight:400;font-size:var(--step--1);line-height:1.3;color:var(--muted)}
.rmb-page .rmb-dan-note{grid-column:1 / -1;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);color:var(--soft)}
.rmb-page .rmb-aside .rmb-next-h{margin-top:44px}
.rmb-page .rmb-next-h .elementor-heading-title{font-size:var(--step-1);font-weight:700;letter-spacing:-.015em}
.rmb-page .rmb-aside .rmb-plan{margin-top:22px}
.rmb-page .rmb-alt-path.e-con{gap:14px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.rmb-page .rmb-alt-path .rmb-q .elementor-heading-title{font-size:var(--step-2)}
.rmb-page .rmb-alt-path .rmb-btns{margin-top:6px}


/* ---------- Gravity Form 1 in the Essential Addons Gravity Forms widget (.rmb-form) ----------
   Colours, borders, radius, padding, heights, type, button colours and error colours are set in the
   widget's own settings (see build-contact-template.ps1). Only what the widget has no setting for lives here. */
.rmb-page .rmb-form .gform_wrapper{margin:0;font-family:var(--sans);color:var(--soft)}
.rmb-page .rmb-form .gform_wrapper .gform_heading{display:none}
.rmb-page .rmb-form .gform_wrapper .gform_fields{row-gap:26px;column-gap:20px}
.rmb-page .rmb-form .gform_wrapper .gform_required_legend{margin:0 0 22px;font-size:var(--step--1);color:var(--muted)}
.rmb-page .rmb-form .gform_wrapper .gfield_label{margin-bottom:10px;line-height:1.3}
.rmb-page .rmb-form .gform_wrapper :is(.gfield_required,.gfield_required_asterisk){color:var(--lime)}
/* EA's field settings only target text/email/tel/number inputs and textareas, so the Website (url) field
   and any select get the same look here (values match the widget's field settings) */
.rmb-page .rmb-form .gform_wrapper.gform-theme :is(input[type="url"],select){height:54px;padding:14px 18px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background-color:rgba(255,255,255,.04);color:#FFFFFF;font-family:var(--sans);font-size:18px;font-weight:400}
.rmb-page .rmb-form .gform_wrapper.gform-theme :is(input[type="url"],select):focus{border-color:var(--lime);background-color:rgba(184,212,51,.05);box-shadow:0 0 0 3px rgba(184,212,51,.18)}.rmb-page .rmb-form .gform_wrapper :is(input,textarea,select){box-shadow:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}
.rmb-page .rmb-form .gform_wrapper :is(input,textarea):hover{border-color:rgba(255,255,255,.32)}
.rmb-page .rmb-form .gform_wrapper :is(input,textarea):focus{outline:none}
.rmb-page .rmb-form .gform_wrapper textarea{resize:vertical}
.rmb-page .rmb-form .gform_wrapper input:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 60px #141511 inset;caret-color:var(--text)}
/* submit: pill shape, colours and padding come from the widget; this adds the arrow, lift and focus ring */
.rmb-page .rmb-form .gform_wrapper .gform_footer{padding:0;margin:0}
.rmb-page .rmb-form .gform_wrapper .gform_footer .gform_button{display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.1;cursor:pointer;
  transition:background .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease)}
.rmb-page .rmb-form .gform_wrapper .gform_footer .gform_button:hover{transform:translateY(-1px);box-shadow:0 10px 30px -10px rgba(184,212,51,.55)}
.rmb-page .rmb-form .gform_wrapper .gform_footer button.gform_button::after{content:"";display:inline-block;width:.66em;height:.66em;background:currentColor;-webkit-mask:var(--rmb-chev) center/contain no-repeat;mask:var(--rmb-chev) center/contain no-repeat;vertical-align:-.02em;background:#000;transition:transform .25s var(--ease)}
.rmb-page .rmb-form .gform_wrapper .gform_footer button.gform_button:hover::after{transform:translateX(3px)}
.rmb-page .rmb-form .gform_wrapper .gform_footer .gform_button:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
@media (max-width:640px){.rmb-page .rmb-form .gform_wrapper .gform_footer .gform_button{width:100%}}
/* validation box + thank-you message: shapes only (colours come from the widget) */
.rmb-page .rmb-form .gform_wrapper .gform_validation_errors{margin:0 0 26px;padding:16px 20px;border-radius:12px;border-width:1px;border-style:solid;box-shadow:none}
.rmb-page .rmb-form .gform_wrapper .validation_message{margin-top:8px;padding:0;border:0;background:none;font-size:var(--step--1)}
.rmb-page .rmb-form .gform_confirmation_message{padding:28px 26px;border-radius:var(--radius);border:1px solid rgba(184,212,51,.35);background:rgba(184,212,51,.07);line-height:1.3}
/* hero: the line under "Ready to get clear?" */
.rmb-page .rmb-contact-dek{margin-top:clamp(18px,2.2vw,28px)}
.rmb-page .rmb-contact-dek .elementor-heading-title{font-family:var(--serif);font-size:var(--step-2);font-weight:500;line-height:1.25;letter-spacing:-.015em;color:var(--soft);max-width:28ch}

/* ===== PAGE: Examples ===== */
/* Containers on this site default to 0 row/column gap, so spacing below is set explicitly.
   .rmb-p-examples is on every top-level section of this page only. */

/* "See the work" jumps down the page */
.rmb-page .rmb-down .elementor-button-text::after{content:"";display:inline-block;width:.66em;height:.66em;background:currentColor;-webkit-mask:var(--rmb-chev-down) center/contain no-repeat;mask:var(--rmb-chev-down) center/contain no-repeat;vertical-align:-.02em;margin-left:12px;transition:transform .25s var(--ease)}
.rmb-page .rmb-down .elementor-button:hover .elementor-button-text::after{transform:translateY(3px)}
.rmb-page.rmb-p-examples .rmb-hero-sub strong{display:block;margin-bottom:6px;font-family:var(--serif);font-weight:600;font-style:italic;color:var(--lime)}

/* ---------- hero animation: logo drafted on graph paper (front / side / top views) ---------- */
.rmb-page .rmb-blueprint{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;animation:rmbGearsIn 1.4s var(--ease) .3s both}
.rmb-page .rmb-blueprint > .elementor-widget-container{width:100%;display:flex;justify-content:center}
.rmb-bp-svg{display:block;width:100%;max-width:620px;height:auto;aspect-ratio:490/450;overflow:visible}
.rmb-bp-svg path,.rmb-bp-svg line,.rmb-bp-svg circle{fill:none;stroke-linecap:butt;stroke-linejoin:round}
.rmb-bp-svg .bp-grid-minor{stroke:rgba(184,212,51,.07);stroke-width:.5}
.rmb-bp-svg .bp-grid-major{stroke:rgba(184,212,51,.15);stroke-width:.8}
.rmb-bp-svg .bp-center{stroke:rgba(184,212,51,.55);stroke-width:.7;stroke-dasharray:14 3 2 3}
.rmb-bp-svg .bp-con{stroke:rgba(184,212,51,.5);stroke-width:.8}
.rmb-bp-svg .bp-proj{stroke:rgba(184,212,51,.35);stroke-width:.6;stroke-dasharray:2 3}
.rmb-bp-svg .bp-view{stroke:var(--lime);stroke-width:1.2}
.rmb-bp-svg .bp-hidden{stroke:var(--lime);stroke-width:.8;stroke-dasharray:4 3}
.rmb-bp-svg .bp-dim,.rmb-bp-svg .bp-tick{stroke:var(--muted);stroke-width:.7}
.rmb-bp-svg .bp-tick{stroke-width:1.1}
.rmb-bp-svg text{font-family:var(--sans);font-size:8.5px;font-weight:600;letter-spacing:.14em;fill:var(--muted)}
.rmb-bp-svg .bp-status{font-size:9.5px;letter-spacing:.18em}
.rmb-bp-svg .bp-final{fill:var(--lime)}
.rmb-bp-svg .bp-ink{stroke:var(--lime);stroke-width:2}
.rmb-bp-svg .bp-fill{fill:var(--lime);stroke:none}
.rmb-bp-svg .bp-stem{stroke:var(--lime);stroke-width:7}
.rmb-bp-svg .bp-rib{stroke:#000;stroke-width:2.6;stroke-linecap:round}
.rmb-bp-svg .bp-pen circle{fill:var(--lime);stroke:none}
.rmb-bp-svg .bp-pen .bp-pen-halo{fill:rgba(184,212,51,.18);stroke:var(--lime);stroke-width:.8}
@media (max-width:959px){.rmb-bp-svg{max-width:400px}}

/* ---------- introduction ---------- */
.rmb-page.rmb-p-examples .rmb-sec-head.e-con{gap:22px}
.rmb-page .rmb-intro-lede p + p{margin-top:14px}

/* ---------- work grid: lime band; Elementor Pro Posts widget (classic skin) restyled as equal 4:3 cards,
   2 across: the thumbnail fills the card, title + category chips (added by rmb-site.js) sit on top ---------- */
.rmb-page.rmb-work.e-con{background:var(--lime);color:#000;padding-block:var(--section)}
.rmb-page .rmb-work-head.e-con{gap:14px;margin-bottom:clamp(40px,5vw,64px)}
.rmb-page.rmb-work .rmb-h2 .elementor-heading-title,.rmb-page.rmb-work .rmb-h2 .elementor-heading-title em{color:#000}
.rmb-page .rmb-work-sub .elementor-heading-title{font-size:var(--step-2);font-style:italic;color:rgba(0,0,0,.72)}
.rmb-page .rmb-posts .elementor-posts-container.elementor-grid{display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,28px)}
@media (min-width:700px){.rmb-page .rmb-posts .elementor-posts-container.elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rmb-page .rmb-posts .elementor-post{position:relative;display:block;aspect-ratio:4/3;margin:0;border-radius:var(--radius);overflow:hidden;isolation:isolate;background:#111;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.rmb-page .rmb-posts .elementor-post:hover{transform:translateY(-4px);box-shadow:0 26px 50px -24px rgba(0,0,0,.65)}
/* the thumbnail link covers the whole card, so the card is one big click target */
.rmb-page .rmb-posts .elementor-posts-container .elementor-post__thumbnail__link{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;margin:0}
.rmb-page .rmb-posts .elementor-posts-container .elementor-post__thumbnail{position:relative;height:100%;padding-bottom:0;overflow:hidden;background:#161616}
.rmb-page .rmb-posts .elementor-posts-container .elementor-post__thumbnail img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transform:none;transition:transform .7s var(--ease)}
.rmb-page .rmb-posts .elementor-post:hover .elementor-post__thumbnail img{transform:scale(1.05)}
.rmb-page .rmb-posts .elementor-post__text{position:absolute;inset:0 0 auto;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(22px,3vw,36px) clamp(22px,3vw,36px) clamp(56px,7vw,96px);background:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.5) 55%,transparent);pointer-events:none}
.rmb-page .rmb-posts .elementor-post__title{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,1.1rem + 1.3vw,2.35rem);font-weight:700;line-height:1.1;letter-spacing:-.022em}
.rmb-page .rmb-posts .elementor-post__title a{color:var(--text);text-decoration:none;pointer-events:auto}
.rmb-page .rmb-posts .rmb-chips{gap:8px}
.rmb-page .rmb-posts .rmb-chips li{padding:5px 12px;font-family:var(--sans);font-size:.8rem;border-color:rgba(184,212,51,.55);color:var(--lime);background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
/* lime arrow button, bottom right */
.rmb-page .rmb-posts .elementor-post::after{content:"";position:absolute;right:clamp(16px,2.4vw,26px);bottom:clamp(16px,2.4vw,26px);z-index:2;width:52px;height:52px;border-radius:50%;background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512' fill='%23000'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E") center/15px 15px no-repeat;pointer-events:none;transition:transform .3s var(--ease)}
.rmb-page .rmb-posts .elementor-post:hover::after{transform:translateX(4px)}
.rmb-page .rmb-posts .elementor-posts-nothing-found{font-size:var(--step-1);color:#000}

/* ---------- this page's hero gives the drawing an equal column ---------- */
@media (min-width:960px){.rmb-page.rmb-p-examples .rmb-phero-grid.e-con{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---------- v5: work-first index (.rmb-ex-index). The headline sits right above the grid; the first case
   study runs full width, the rest two across. Each card: image, tag pills, title, one-line story
   (excerpt). The whole card is the link; a lime chevron button appears on hover. ---------- */
.rmb-page.rmb-ex-index.e-con{padding:clamp(48px,6.5vw,96px) 0 var(--section);background:radial-gradient(60% 40% at 85% 0%,rgba(184,212,51,.10),transparent 70%),#000}
.rmb-page .rmb-ex-head.e-con{display:grid;gap:20px 64px;align-items:end;margin-bottom:clamp(36px,4.5vw,64px)}
/* (v8: headline only, no dek, so the head is a single column) */
.rmb-page .rmb-ex-h1 .elementor-heading-title{font-size:var(--step-4);line-height:1.03;letter-spacing:-.032em;max-width:16ch}
.rmb-page .rmb-ex-dek{font-size:var(--step-0);line-height:1.55;color:var(--muted);max-width:40ch}
.rmb-page .rmb-index .elementor-posts-container.elementor-grid{display:grid;grid-template-columns:1fr;gap:clamp(56px,6vw,88px) clamp(20px,2.6vw,36px)}
@media (min-width:760px){
  .rmb-page .rmb-index .elementor-posts-container.elementor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rmb-page .rmb-index:not(.rmb-filtered) .elementor-post:first-child{grid-column:1 / -1}
  .rmb-page .rmb-index:not(.rmb-filtered) .elementor-post:first-child .elementor-post__thumbnail{aspect-ratio:2/1}
  .rmb-page .rmb-index:not(.rmb-filtered) .elementor-post:first-child .elementor-post__title{font-size:var(--step-4)}
}
.rmb-page .rmb-index .elementor-post{position:relative;display:flex;flex-direction:column;margin:0;background:none;border:0;box-shadow:none}
.rmb-page .rmb-index .elementor-post__thumbnail__link{position:relative;display:block;width:100%;margin:0 0 24px;border-radius:10px;overflow:hidden;background:#111}
.rmb-page .rmb-index .elementor-post__thumbnail{position:relative;aspect-ratio:4/3;padding-bottom:0!important;overflow:hidden}
.rmb-page .rmb-index .elementor-posts-container .elementor-post__thumbnail img{position:absolute;inset:0;top:0;left:0;width:100%;height:100%;max-width:none;object-fit:cover;transform:translateZ(0) scale(1);transition:transform .8s cubic-bezier(.22,.61,.36,1);will-change:transform;backface-visibility:hidden}
.rmb-page .rmb-index .elementor-posts-container .elementor-post:hover .elementor-post__thumbnail img{transform:translateZ(0) scale(1.04)}
/* (v68) the zoom runs on the GPU (will-change + translateZ) so it glides instead of stepping a pixel at a time */
/* lime button with a Font Awesome chevron (mask), bottom right of the image, on hover */
.rmb-page .rmb-index .elementor-post__thumbnail__link::before,.rmb-page .rmb-index .elementor-post__thumbnail__link::after{content:"";position:absolute;right:20px;bottom:20px;z-index:2;width:58px;height:58px;border-radius:50%;opacity:0;transform:translateY(10px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.rmb-page .rmb-index .elementor-post__thumbnail__link::before{background:var(--lime)}
.rmb-page .rmb-index .elementor-post__thumbnail__link::after{background:#000;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E") center/16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E") center/16px 16px no-repeat}
.rmb-page .rmb-index .elementor-post:hover .elementor-post__thumbnail__link::before,.rmb-page .rmb-index .elementor-post:hover .elementor-post__thumbnail__link::after{opacity:1;transform:none}
@media (hover:none){.rmb-page .rmb-index .elementor-post__thumbnail__link::before,.rmb-page .rmb-index .elementor-post__thumbnail__link::after{opacity:1;transform:none}}
.rmb-page .rmb-index .elementor-post__text{display:flex;flex-direction:column;gap:12px;padding:0}
.rmb-page .rmb-index .elementor-post__title{margin:0;font-family:var(--serif);font-size:var(--step-3);font-weight:700;line-height:1.06;letter-spacing:-.03em}
.rmb-page .rmb-index .elementor-post__title a{font-family:var(--serif);font-weight:700;color:var(--text);text-decoration:none;transition:color .3s var(--ease)}
.rmb-page .rmb-index .elementor-post:hover .elementor-post__title a{color:var(--lime)}
/* the title link stretches over the whole card, so the card is one click target */
.rmb-page .rmb-index .elementor-post__title a::after{content:"";position:absolute;inset:0;z-index:3}
.rmb-page .rmb-index .elementor-post__excerpt{margin:0}
.rmb-page .rmb-index .elementor-post__excerpt p{margin:0;max-width:56ch;font-family:var(--sans);font-size:var(--step-1);line-height:1.5;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* services line: the post tags as small pills above the title */
.rmb-page .rmb-index .rmb-chips{order:-1;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.rmb-page .rmb-index .rmb-chips li{margin:0;padding:5px 13px;border:1px solid rgba(184,212,51,.45);border-radius:999px;background:rgba(184,212,51,.06);font:500 .82rem/1.3 var(--sans);letter-spacing:.01em;color:var(--lime)}
.rmb-page .rmb-index .elementor-posts-nothing-found{font-size:var(--step-1);color:var(--muted)}
/* tag filter (added by rmb-site.js once there are 4+ case studies) */
.rmb-page .rmb-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(32px,4vw,48px)}
.rmb-page .rmb-filter button{padding:9px 18px;border:1px solid var(--line-2);border-radius:999px;background:none;font:600 .92rem/1.2 var(--sans);color:var(--soft);cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.rmb-page .rmb-filter button:hover{border-color:var(--text);color:var(--text)}
.rmb-page .rmb-filter button[aria-pressed="true"]{background:var(--lime);border-color:var(--lime);color:#000}

/* closing invitation with the drafting drawing */
.rmb-page.rmb-ex-close.e-con{border-top:1px solid var(--line);background:var(--ink-2)}
.rmb-page .rmb-ex-close-grid.e-con{display:grid;gap:clamp(40px,5vw,72px);align-items:center}
@media (min-width:960px){.rmb-page .rmb-ex-close-grid.e-con{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.rmb-page .rmb-ex-close-copy.e-con{gap:22px}
.rmb-page .rmb-ex-close-copy .rmb-btns.e-con{margin-top:16px}

/* ---------- v9 cards, built for a long list of case studies: a hairline, the image, the title, tag pills,
   the one-line story and a "View the case study" link. More air between cards; on hover the image gets a
   faint lime glow (the whole card is still one link). ---------- */
.rmb-page .rmb-index .elementor-posts-container.elementor-grid{gap:clamp(64px,8vw,128px) clamp(36px,4.5vw,72px)}
.rmb-page .rmb-index .elementor-post{padding-top:clamp(20px,2.4vw,28px);border-top:1px solid var(--line-2)}
.rmb-page .rmb-index .elementor-post__text,.rmb-page .rmb-index .elementor-post__read-more-wrapper{display:contents}
/* (v58: the title moved under the image) */
.rmb-page .rmb-index .elementor-post__thumbnail__link{order:1;margin:0 0 clamp(20px,2.2vw,28px);transition:box-shadow .5s var(--ease)}
.rmb-page .rmb-index .elementor-post__title{order:2;margin:0 0 clamp(12px,1.4vw,16px)}
.rmb-page .rmb-index .elementor-post:hover .elementor-post__thumbnail__link{box-shadow:0 0 0 1px rgba(184,212,51,.45),0 0 52px -6px rgba(184,212,51,.45)}
.rmb-page .rmb-index .rmb-chips{order:3;margin:0 0 14px}
.rmb-page .rmb-index .elementor-post__excerpt{order:4}
.rmb-page .rmb-index a.elementor-post__read-more{order:5;position:relative;z-index:4;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin-top:20px;font:600 var(--step-0)/1.2 var(--sans);color:var(--lime);text-decoration:none}
.rmb-page .rmb-index a.elementor-post__read-more::after{content:"";width:.62em;height:.62em;background:currentColor;-webkit-mask:var(--rmb-chev) center/contain no-repeat;mask:var(--rmb-chev) center/contain no-repeat;transition:transform .25s var(--ease)}
.rmb-page .rmb-index .elementor-post:hover a.elementor-post__read-more::after{transform:translateX(4px)}
/* Elementor clips each post (overflow:hidden), which cut the hover glow off the image's top and sides */
.rmb-page .rmb-index .elementor-posts-container .elementor-post{overflow:visible}

/* ---------- v59: card titles sized to the card (container units), so each name stays on one line at every
   width. Factors come from the longest names: "Muddy Driveways & Paving" is ~12.4em wide (two-across and
   phone cards), "Schenectady Municipal Housing Authority" ~19.2em (the featured first card). ---------- */
.rmb-page .rmb-index .elementor-post{container-type:inline-size}
.rmb-page .rmb-index .elementor-post__title{font-size:clamp(1rem,7.4cqi,2.25rem);text-wrap:balance}
.rmb-page .rmb-index:not(.rmb-filtered) .elementor-post:first-child .elementor-post__title{font-size:clamp(.875rem,4.8cqi,3.25rem)}

/* ---------- v69: a steady zoom. The image link used to clip the image AND fade in a box-shadow glow; on its own
   GPU layer that glow was repainted every frame, which stalled the zoom so the image seemed to nudge around.
   Now the thumbnail does the clipping (its own layer, so Safari keeps the rounded corners), the glow is a
   fixed shadow on a pseudo-element that only fades its opacity, and the lime button is one pseudo-element. ---------- */
.rmb-page .rmb-index .elementor-post__thumbnail__link{overflow:visible;transition:none}
.rmb-page .rmb-index .elementor-post:hover .elementor-post__thumbnail__link{box-shadow:none}
.rmb-page .rmb-index .elementor-post__thumbnail{border-radius:10px;background:#111;transform:translateZ(0);isolation:isolate}
.rmb-page .rmb-index .elementor-post__thumbnail__link::before{inset:0;width:auto;height:auto;z-index:0;border-radius:10px;background:none;box-shadow:0 0 0 1px rgba(184,212,51,.45),0 0 52px -6px rgba(184,212,51,.45);transform:none;transition:opacity .5s var(--ease);pointer-events:none}
.rmb-page .rmb-index .elementor-post__thumbnail__link::after{background:var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512' fill='%23000'%3E%3Cpath d='M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z'/%3E%3C/svg%3E") center/16px 16px no-repeat;-webkit-mask:none;mask:none}
@media (hover:none){.rmb-page .rmb-index .elementor-post__thumbnail__link::before{opacity:0}}

/* ===== PAGE: Case studies (single example posts) ===== */
/* .rmb-p-case is on every top-level section of a case study. Client colours (SMHA) only appear inside
   the client's own artwork; the page itself keeps the RMB palette. */

/* ---------- hero ---------- */
/* post title (dynamic H1) above the statement */
.rmb-page .rmb-post-title .elementor-heading-title{font-family:var(--serif);font-size:var(--step-2);font-weight:600;line-height:1.2;letter-spacing:-.015em;color:var(--lime);max-width:28ch}
/* the client name (dynamic post title) leads in the big H1 style; the statement under it starts the story */
.rmb-page .rmb-case-dek{margin-top:clamp(18px,2.2vw,28px)}
.rmb-page .rmb-case-dek .elementor-heading-title{font-family:var(--serif);font-size:var(--step-2);font-weight:500;line-height:1.25;letter-spacing:-.015em;color:var(--soft);max-width:30ch}
.rmb-page .rmb-case-dek .elementor-heading-title em{color:var(--lime);font-weight:500}
.rmb-page.rmb-p-case .rmb-h1 .elementor-heading-title{font-size:var(--step-4);max-width:17ch}
.rmb-page.rmb-p-case .rmb-hero-sub p + p{margin-top:14px}
@media (min-width:960px){.rmb-page.rmb-p-case .rmb-phero-grid.e-con{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}

/* old-to-new logo animation on a warm gray card (one 12s loop) */
.rmb-page .rmb-tl-widget{width:100%}
.rmb-tl{position:relative;width:100%;max-width:560px;margin-inline:auto;aspect-ratio:1200/930;border-radius:var(--radius);background:var(--soft);box-shadow:0 40px 80px -40px rgba(184,212,51,.35);overflow:hidden;animation:rmbGearsIn 1.2s var(--ease) .2s both}
.rmb-tl-svg{display:block;width:100%;height:100%;padding:9%;box-sizing:border-box}
.rmb-tl-svg .tl-old{animation:rmbTlOld 12s linear infinite}
.rmb-tl-svg .tl-fill{fill:#F0852C;opacity:0;animation:rmbTlFill 12s linear infinite}
.rmb-tl-svg .tl-line{fill:none;stroke:#24375F;stroke-width:35;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1;animation:12s cubic-bezier(.45,0,.2,1) infinite}
.rmb-tl-svg .tl-l1{animation-name:rmbTlL1}
.rmb-tl-svg .tl-l2{animation-name:rmbTlL2}
.rmb-tl-svg .tl-l3{animation-name:rmbTlL3}
.rmb-tl-svg .tl-new{opacity:0;animation:rmbTlNew 12s linear infinite}
.rmb-tl-tag{position:absolute;left:16px;top:16px;z-index:1;padding:5px 12px;border-radius:999px;font:600 .72rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:0}
.rmb-tl-tag-b{background:rgba(0,0,0,.08);color:#4a4744;animation:rmbTlTagB 12s linear infinite}
.rmb-tl-tag-a{background:#000;color:var(--lime);animation:rmbTlTagA 12s linear infinite}
@keyframes rmbTlOld{0%{opacity:0}4%{opacity:1}25%{opacity:1;transform:none}31%,100%{opacity:0;transform:translateY(24px)}}
@keyframes rmbTlL1{0%,30%{stroke-dashoffset:1;opacity:1}46%,92%{stroke-dashoffset:0;opacity:1}97%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes rmbTlL2{0%,40%{stroke-dashoffset:1;opacity:1}51%,92%{stroke-dashoffset:0;opacity:1}97%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes rmbTlL3{0%,46%{stroke-dashoffset:1;opacity:1}58%,92%{stroke-dashoffset:0;opacity:1}97%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes rmbTlFill{0%,57%{opacity:0}63%,92%{opacity:1}97%,100%{opacity:0}}
@keyframes rmbTlNew{0%,64%{opacity:0}71%,92%{opacity:1}97%,100%{opacity:0}}
@keyframes rmbTlTagB{0%{opacity:0}4%,25%{opacity:1}30%,100%{opacity:0}}
@keyframes rmbTlTagA{0%,66%{opacity:0}71%,92%{opacity:1}97%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  .rmb-tl,.rmb-tl *{animation:none!important}
  .rmb-tl-svg .tl-old,.rmb-tl-svg .tl-fill,.rmb-tl-svg .tl-line,.rmb-tl-tag-b{opacity:0}
  .rmb-tl-svg .tl-new,.rmb-tl-tag-a{opacity:1}
}

/* project facts strip under the hero */
.rmb-page .rmb-facts-wrap.e-con{margin-top:clamp(56px,7vw,96px)}
.rmb-page .rmb-facts{display:grid;gap:0;margin:0;border-top:1px solid var(--line)}
@media (min-width:700px){.rmb-page .rmb-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.rmb-page .rmb-facts{grid-template-columns:1.5fr 1.3fr 1fr .6fr}}
.rmb-page .rmb-facts > div{padding:20px 24px 4px 0}
.rmb-page .rmb-facts dt{font:600 .75rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.rmb-page .rmb-facts dd{margin:8px 0 0;font-size:var(--step-0);line-height:1.4;color:var(--text)}

/* ---------- challenge ---------- */
.rmb-page .rmb-case-body p + p{margin-top:16px}
.rmb-page .rmb-oldmark.e-con{justify-content:center}
.rmb-page .rmb-oldmark-img .wp-caption,.rmb-page .rmb-oldmark-img figure{margin:0}
.rmb-page .rmb-oldmark-img img{display:block;width:100%;height:auto;padding:clamp(48px,7vw,96px) clamp(28px,5vw,64px);box-sizing:border-box;border-radius:var(--radius);background:var(--soft);filter:saturate(.75)}
.rmb-page .rmb-shot .widget-image-caption,.rmb-page .rmb-case-video figcaption{max-width:52ch;margin:14px auto 0;font-family:var(--sans);font-size:var(--step--1);font-style:normal;line-height:1.5;text-align:center;color:var(--muted)}

/* ---------- lime band: the question sits left, button right ---------- */
.rmb-page.rmb-p-case.rmb-stakes .rmb-big .elementor-heading-title{max-width:20ch}

/* ---------- insight ---------- */
.rmb-page.rmb-insight.e-con{text-align:center;background:radial-gradient(min(800px,120vw) 420px at 50% 100%,rgba(184,212,51,.10),transparent 70%),#000}
.rmb-page.rmb-insight .rmb-wrap.e-con{align-items:center}
.rmb-page .rmb-insight-h .elementor-heading-title{font-size:var(--step-3);line-height:1.2;font-weight:600;max-width:26ch;margin-inline:auto}
.rmb-page.rmb-insight .rmb-wrap > .rmb-insight-note{margin-top:clamp(36px,4.5vw,56px);max-width:960px;font-size:var(--step-1);color:var(--muted)}
.rmb-page .rmb-insight-note strong{display:block;margin-top:14px;font-family:var(--serif);font-size:clamp(2rem,1.3rem + 3vw,3.75rem);font-weight:600;font-style:italic;line-height:1.1;letter-spacing:-.025em;color:var(--lime);text-wrap:balance}

/* ---------- what we did: 2 x 2 cards ---------- */
.rmb-page .rmb-moves.e-con{display:grid;gap:clamp(16px,2vw,24px);margin-top:clamp(44px,6vw,72px)}
@media (min-width:760px){.rmb-page .rmb-moves.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rmb-page .rmb-move.e-con{gap:12px;padding:clamp(24px,3vw,36px);border:1px solid var(--line);border-radius:var(--radius);background:#000;transition:border-color .3s var(--ease)}
.rmb-page .rmb-move.e-con:hover{border-color:rgba(184,212,51,.45)}
.rmb-page .rmb-move-visual{display:flex;align-items:center;height:120px;margin-bottom:14px}
.rmb-page .rmb-move-visual > .elementor-widget-container{width:100%}
.rmb-tm{display:block;height:110px;width:auto}
.rmb-tm path{fill:none;stroke-width:18;stroke-linejoin:round;stroke-linecap:round}
.rmb-tm .tm-hi{stroke:var(--lime)}
.rmb-tm .tm-lo{stroke:rgba(255,255,255,.16)}
.rmb-swatches{display:flex;gap:12px}
.rmb-swatches span{display:flex;flex-direction:column;justify-content:flex-end;width:120px;height:110px;padding:12px;border-radius:12px;background:var(--c);font:500 .78rem/1.3 var(--sans);letter-spacing:.04em;color:rgba(255,255,255,.85);box-sizing:border-box}
.rmb-swatches b{font-weight:700;font-size:.95rem;color:#fff}
.rmb-wordmark{display:flex;flex-direction:column;gap:4px;color:var(--text)}
.rmb-wordmark b{font:800 clamp(1.7rem,1.2rem + 1.6vw,2.5rem)/1 var(--serif);letter-spacing:.01em;color:var(--lime)}
.rmb-wordmark span{font:400 clamp(.95rem,.85rem + .35vw,1.15rem)/1.2 var(--sans);color:var(--soft)}
.rmb-page .rmb-move-h .elementor-heading-title{font-size:var(--step-2);font-weight:600;letter-spacing:-.02em}
.rmb-page .rmb-move-body{color:var(--muted)}

/* ---------- before / after slider ---------- */
.rmb-page .rmb-compare-widget{margin-top:clamp(40px,5vw,64px)}
.rmb-compare{position:relative;width:100%;max-width:100%;aspect-ratio:16/8;border-radius:var(--radius);overflow:hidden;background:var(--soft);user-select:none;-webkit-user-select:none}
.rmb-cmp-pane{position:absolute;inset:0;display:grid;place-items:center;padding:8% 9%;background:var(--soft)}
.rmb-cmp-pane img{display:block;width:100%;max-width:820px;height:auto;max-height:100%;object-fit:contain}
.rmb-cmp-before{background:#e6e3e1;clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0)}
.rmb-cmp-before img{max-width:700px}
.rmb-cmp-tag{position:absolute;top:16px;z-index:2;padding:5px 12px;border-radius:999px;font:600 .72rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;pointer-events:none}
.rmb-cmp-tag-b{left:16px;background:rgba(0,0,0,.08);color:#4a4744}
.rmb-cmp-tag-a{right:16px;background:#000;color:var(--lime)}
.rmb-cmp-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);z-index:2;width:2px;margin-left:-1px;background:#000;pointer-events:none}
.rmb-cmp-knob{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;gap:6px;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:var(--lime);color:#000;box-shadow:0 8px 24px -8px rgba(0,0,0,.5)}
.rmb-cmp-knob svg.rmb-fa{width:11px;height:11px;fill:#000}
.rmb-cmp-range{position:absolute;inset:0;z-index:3;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.rmb-compare:has(.rmb-cmp-range:focus-visible) .rmb-cmp-knob{outline:2px solid #000;outline-offset:3px}

/* ---------- the brand in use: the logo film full width (16:9), then three 4:3 stills ---------- */
.rmb-page .rmb-gallery.e-con{display:grid;gap:clamp(20px,2.4vw,32px);margin-top:clamp(44px,6vw,72px)}
@media (min-width:760px){.rmb-page .rmb-gallery.e-con{grid-template-columns:repeat(3,minmax(0,1fr))}.rmb-page .rmb-gallery > .rmb-film{grid-column:1 / -1}}
.rmb-page .rmb-gallery .rmb-shot figure,.rmb-page .rmb-gallery .rmb-shot .wp-caption{margin:0;width:100%;max-width:none}
.rmb-page .rmb-gallery .rmb-shot img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:#111}
.rmb-page .rmb-case-video{margin:0}
.rmb-page .rmb-case-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:#000}

/* ---------- results + final ---------- */
.rmb-page.rmb-p-case .rmb-process-foot .rmb-process-note{max-width:40ch}
.rmb-page .rmb-more-link{margin-top:48px;font-size:var(--step--1)}
.rmb-page .rmb-more-link svg.rmb-fa{margin-right:8px;vertical-align:-.05em}
.rmb-page .rmb-more-link a{color:var(--muted);text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:2px;transition:color .25s var(--ease),border-color .25s var(--ease)}
.rmb-page .rmb-more-link a:hover{color:var(--lime);border-color:var(--lime)}

/* ---------- project brief (replaces the plain facts strip): client mark tile + four facts on hairlines ---------- */
.rmb-page.rmb-p-case.rmb-phero.e-con{padding-bottom:clamp(40px,5vw,64px)}
.rmb-page .rmb-brief-widget{width:100%}
.rmb-brief{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,2.6vw,32px);padding:clamp(16px,2vw,22px) clamp(18px,2.4vw,28px);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}
.rmb-brief-mark{display:grid;place-items:center;width:clamp(56px,6vw,76px);aspect-ratio:1;border-radius:14px;background:var(--soft)}
.rmb-brief-mark svg{width:62%;height:auto;overflow:visible}
.rmb-brief-mark .bm-fill{fill:#F0852C}
.rmb-brief-mark .bm-line{fill:none;stroke:#24375F;stroke-width:38;stroke-linejoin:round;stroke-linecap:round}
.rmb-brief-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 0;margin:0}
.rmb-brief-list > div{min-width:0;padding:2px clamp(14px,2vw,26px)}
.rmb-brief-list > div:nth-child(odd){padding-left:0}
.rmb-brief-list > div:nth-child(even){border-left:1px solid var(--line)}
@media (min-width:1024px){
  .rmb-brief-list{grid-template-columns:1.45fr 1.35fr 1.2fr .55fr;gap:0}
  .rmb-brief-list > div:nth-child(n){padding-left:clamp(14px,2vw,26px);border-left:1px solid var(--line)}
  .rmb-brief-list > div:first-child{padding-left:0;border-left:0}
}
@media (max-width:599px){
  .rmb-brief{grid-template-columns:1fr;align-items:start}
  .rmb-brief-list > div:nth-child(n){padding-inline:0 12px}
  .rmb-brief-list > div:nth-child(even){padding-left:14px}
}
.rmb-page .rmb-brief dt{font:600 .8rem/1.3 var(--sans);letter-spacing:.02em;color:var(--lime)}
.rmb-page .rmb-brief dd{margin:6px 0 0;font:500 var(--step-0)/1.35 var(--sans);color:var(--text)}
.rmb-page .rmb-brief-tags{display:flex;flex-wrap:wrap;gap:6px}
.rmb-page .rmb-brief-tags span{padding:3px 10px;border:1px solid var(--line-2);border-radius:999px;font-size:.85rem;line-height:1.4;color:var(--soft)}

/* less air between the hero and "A name, but no identity" */
.rmb-page.rmb-p-case.rmb-challenge.e-con{padding-top:clamp(56px,7vw,96px)}
.rmb-page .rmb-case-body strong{display:block;font-family:var(--serif);font-weight:600;font-size:var(--step-2);line-height:1.25;letter-spacing:-.015em;color:var(--text)}

/* lime band: how SMHA was seen, before the visitor's own question */
.rmb-page.rmb-stakes .rmb-wrap > .rmb-stakes-story{margin-top:clamp(36px,4.5vw,60px);max-width:none;font-size:var(--step-1);line-height:1.55;color:rgba(0,0,0,.82)}
@media (min-width:860px){.rmb-page.rmb-stakes .rmb-wrap > .rmb-stakes-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,64px)}.rmb-page.rmb-stakes .rmb-stakes-story p + p{margin-top:0}}
.rmb-page .rmb-stakes-story p + p{margin-top:14px}
.rmb-page.rmb-stakes .rmb-stakes-row .elementor-heading-title em{color:#000;font-style:italic}

/* results: the perception shift, old story struck through, new one in full voice */
.rmb-page .rmb-shift-widget{margin-top:clamp(44px,6vw,72px)}
.rmb-shift-head{display:none}
@media (min-width:760px){
  .rmb-shift-head{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1.25fr);gap:24px;padding-bottom:12px;font:600 .8rem/1.3 var(--sans);letter-spacing:.02em;color:var(--muted)}
  .rmb-shift-head span:last-child{grid-column:3;color:var(--lime)}
}
.rmb-page .rmb-shift{margin:0;padding:0;list-style:none}
.rmb-page .rmb-shift li{display:grid;grid-template-columns:1fr;gap:10px;align-items:center;margin:0;padding:clamp(20px,2.6vw,30px) 0;border-top:1px solid var(--line)}
.rmb-page .rmb-shift li:last-child{border-bottom:1px solid var(--line)}
@media (min-width:760px){.rmb-page .rmb-shift li{grid-template-columns:minmax(0,1fr) 44px minmax(0,1.25fr);gap:24px}}
.rmb-page .rmb-shift-old{font-size:var(--step-1);line-height:1.35;color:var(--muted);text-decoration:line-through;text-decoration-color:rgba(184,212,51,.7);text-decoration-thickness:2px}
.rmb-page .rmb-shift-new{font:600 var(--step-2)/1.2 var(--serif);letter-spacing:-.02em;color:var(--text)}
.rmb-page svg.rmb-shift-chev{width:16px;height:16px;fill:var(--lime);justify-self:center}
@media (max-width:759px){.rmb-page svg.rmb-shift-chev{transform:rotate(90deg);justify-self:start;margin-left:4px}}

/* lime band: copy left, line drawing of an old SMHA building right (draws itself once, when it scrolls in) */
.rmb-page .rmb-stakes-grid.e-con{display:grid;gap:clamp(36px,5vw,72px);align-items:center}
.rmb-page .rmb-stakes-row.e-con{margin-top:clamp(40px,5vw,64px)}
@media (min-width:960px){.rmb-page .rmb-stakes-grid.e-con{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.rmb-page .rmb-stakes-grid > .rmb-bd-widget{width:100%;max-width:680px;justify-self:stretch;margin-inline:auto}
.rmb-page .rmb-bd-widget > .elementor-widget-container{width:100%}
.rmb-bd svg{display:block;width:100%;height:auto;overflow:visible}
/* the drawing's line hierarchy: construction, profile, medium, fine, texture */
.rmb-bd path{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:1}
.rmb-bd .bd-c{stroke-width:.7;opacity:.32}
.rmb-bd .bd-p{stroke-width:2.1}
.rmb-bd .bd-m{stroke-width:1.35}
.rmb-bd .bd-f{stroke-width:.85}
.rmb-bd .bd-h{stroke-width:.65;opacity:.7}
.rmb-bd .bd-mask{fill:#B8D433;stroke:none;stroke-dasharray:none;stroke-dashoffset:0}
/* .bd-go is added by rmb-site.js when the drawing scrolls in, and re-added 8 s after each pass to replay it */
.rmb-bd.bd-go path:not(.bd-mask){animation:rmbBdDraw var(--t,.5s) cubic-bezier(.6,0,.2,1) var(--d,0s) forwards}
@keyframes rmbBdDraw{to{stroke-dashoffset:0}}
html:not(.rmb-js) .rmb-bd path,.elementor-editor-active .rmb-bd path,.rmb-bd.bd-still path{stroke-dashoffset:0;animation:none}

/* "More work" at the end of every case study: three other case studies (.rmb-help-cases grid) and a link to all */
.rmb-page.rmb-more-work.e-con{border-top:1px solid var(--line);background:var(--ink-2)}
.rmb-page.rmb-more-work .rmb-ex-foot.e-con{margin-top:clamp(40px,5vw,64px)}

/* ===== PAGE: Case study, editorial layout ("Option B", .rmb-p-ed) ===== */
/* Big type, full-bleed imagery, one idea per screen. Client colours appear only in the client's artwork
   (the orange stage). Uses the shared before/after slider (.rmb-compare) from 70-case.css. */

.rmb-page.rmb-ed-sec.e-con{padding-block:var(--section)}
.rmb-page .rmb-ed-narrow.e-con{max-width:1040px}
.rmb-page .rmb-ed-body{margin-top:28px;max-width:52ch;font-size:var(--step-1);line-height:1.55;color:var(--muted)}
.rmb-page .rmb-ed-center{margin-inline:auto;text-align:center}
.rmb-page .rmb-ed-cap{max-width:60ch;margin:20px auto 0;font-size:var(--step--1);line-height:1.5;text-align:center;color:var(--muted)}
.rmb-page .rmb-ed-big .elementor-heading-title{font-size:clamp(1.9rem,1.25rem + 2.7vw,3.7rem);font-weight:600;line-height:1.14;letter-spacing:-.028em;max-width:24ch}

/* ---------- title ---------- */
.rmb-page.rmb-ed-title.e-con{padding:clamp(72px,10vw,150px) 0 clamp(56px,7vw,96px)}
.rmb-page .rmb-ed-h1 .elementor-heading-title{font-size:clamp(2.7rem,1.5rem + 5.4vw,6.4rem);font-weight:700;line-height:.98;letter-spacing:-.04em;max-width:15ch}
.rmb-page .rmb-ed-dek{margin-top:clamp(28px,3.5vw,44px)}
.rmb-page .rmb-ed-dek .elementor-heading-title{font-size:var(--step-2);font-weight:400;line-height:1.3;letter-spacing:-.012em;color:var(--soft);max-width:32ch}
.rmb-page .rmb-ed-dek .elementor-heading-title em{font-weight:500}
.rmb-page .rmb-ed-meta-widget{margin-top:clamp(56px,7vw,96px)}
.rmb-page .rmb-ed-meta{display:grid;gap:22px 32px;margin:0;padding-top:24px;border-top:1px solid var(--line)}
@media (min-width:700px){.rmb-page .rmb-ed-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.rmb-page .rmb-ed-meta{grid-template-columns:1.4fr 1.3fr 1fr .5fr}}
.rmb-page .rmb-ed-meta dt{font-size:var(--step--1);color:var(--muted)}
.rmb-page .rmb-ed-meta dd{margin:4px 0 0;font-size:var(--step-0);line-height:1.4;color:var(--text)}

/* ---------- stage: the mark drawn in navy on an orange field, once, when it scrolls in ---------- */
.rmb-page.rmb-ed-stage-sec.e-con{padding:0 0 clamp(72px,9vw,128px)}
.rmb-page .rmb-ed-stage{width:100%}
.rmb-ed-stage-art{display:grid;place-items:center;height:min(88vh,820px);min-height:420px;background:#F0852C}
.rmb-ed-stage-art svg{display:block;width:min(56vh,500px,68vw);height:auto;overflow:visible}
.rmb-ed-stage-art .ed-l{fill:none;stroke:#24375F;stroke-width:35;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1}
.rmb-ed-stage.rmb-in .ed-l1{animation:rmbEdDraw 1.7s cubic-bezier(.6,0,.2,1) .35s forwards}
.rmb-ed-stage.rmb-in .ed-l2{animation:rmbEdDraw 1s cubic-bezier(.6,0,.2,1) 1.6s forwards}
/* the house draws last, then turns white for a beat: "look closer" */
.rmb-ed-stage.rmb-in .ed-l3{animation:rmbEdDraw 1s cubic-bezier(.6,0,.2,1) 2.2s forwards,rmbEdHouse 2.4s ease 3.4s forwards}
@keyframes rmbEdDraw{to{stroke-dashoffset:0}}
@keyframes rmbEdHouse{0%{stroke:#24375F}30%,70%{stroke:#fff}100%{stroke:#24375F}}
html:not(.rmb-js) .rmb-ed-stage-art .ed-l,.elementor-editor-active .rmb-ed-stage-art .ed-l{stroke-dashoffset:0}

/* ---------- problem: the old labels get struck through ---------- */
.rmb-page .rmb-strike{position:relative;display:inline-block;color:var(--muted);font-style:italic;font-weight:500}
.rmb-page .rmb-strike::after{content:"";position:absolute;left:-2%;right:-2%;top:56%;height:.09em;border-radius:1em;background:var(--lime);transform:scaleX(0);transform-origin:left center;transition:transform .7s cubic-bezier(.6,0,.2,1) 1s}
.rmb-page .rmb-strike-2::after{transition-delay:1.5s}
.rmb-page .rmb-in .rmb-strike::after,html:not(.rmb-js) .rmb-page .rmb-strike::after,.elementor-editor-active .rmb-page .rmb-strike::after{transform:scaleX(1)}
.rmb-page .rmb-ed-compare-widget{margin-top:clamp(64px,8vw,112px)}
.rmb-page .rmb-ed-compare{aspect-ratio:16/7}
@media (max-width:699px){.rmb-compare,.rmb-page .rmb-ed-compare{aspect-ratio:4/3}}

/* ---------- idea ---------- */
.rmb-page.rmb-ed-idea.e-con{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink-2)}
.rmb-page.rmb-ed-idea .rmb-wrap.e-con{align-items:center}
.rmb-page .rmb-ed-idea-h .elementor-heading-title{font-size:var(--step-5);line-height:1.02;letter-spacing:-.035em;max-width:16ch;margin-inline:auto}

/* ---------- decisions: one word, one sentence ---------- */
.rmb-page .rmb-ed-row.e-con{display:grid;gap:14px 56px;padding:clamp(36px,4.5vw,64px) 0;border-top:1px solid var(--line)}
.rmb-page .rmb-ed-row.e-con:last-child{border-bottom:1px solid var(--line)}
@media (min-width:960px){.rmb-page .rmb-ed-row.e-con{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center}}
.rmb-page .rmb-ed-word .elementor-heading-title{font-size:clamp(3.2rem,1.8rem + 5.6vw,7rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:var(--text);transition:color .4s var(--ease)}
.rmb-page .rmb-ed-row:hover .rmb-ed-word .elementor-heading-title{color:var(--lime)}
.rmb-page .rmb-ed-stop{color:var(--lime)}
.rmb-page .rmb-ed-row .rmb-ed-body{margin-top:0;color:var(--soft)}

/* ---------- work: film edge to edge, then plates ---------- */
.rmb-page.rmb-ed-work.e-con{padding-bottom:var(--section)}
.rmb-page .rmb-ed-film-widget{width:100%}
.rmb-page .rmb-ed-film{margin:0}
.rmb-page .rmb-ed-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;max-height:92vh;object-fit:cover;background:#000;border-radius:0}
.rmb-page .rmb-ed-plate figure,.rmb-page .rmb-ed-plate .wp-caption{margin:0;width:100%;max-width:none}
.rmb-page .rmb-ed-plate img{display:block;width:100%;height:auto;border-radius:6px;background:#111}
.rmb-page .rmb-ed-plate .widget-image-caption{max-width:60ch;font-family:var(--sans);margin:18px auto 0;font-size:var(--step--1);font-style:normal;line-height:1.5;text-align:center;color:var(--muted)}
.rmb-page .rmb-ed-plate-wide{margin-top:clamp(72px,9vw,128px)}
.rmb-page .rmb-ed-pair.e-con{display:grid;gap:clamp(24px,3vw,40px);margin-top:clamp(40px,5vw,72px)}
@media (min-width:760px){.rmb-page .rmb-ed-pair.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rmb-page .rmb-ed-pair .rmb-ed-plate img{aspect-ratio:4/3;object-fit:cover}

/* ---------- outcome ---------- */
.rmb-page.rmb-ed-outcome .rmb-ed-big .elementor-heading-title{max-width:22ch}
.rmb-page .rmb-ed-outs.e-con{display:grid;gap:40px;margin-top:clamp(56px,7vw,96px)}
@media (min-width:860px){.rmb-page .rmb-ed-outs.e-con{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rmb-page .rmb-ed-out.e-con{padding-top:22px;border-top:2px solid var(--lime)}
.rmb-page .rmb-ed-out-h .elementor-heading-title{font-size:var(--step-2);font-weight:600;letter-spacing:-.02em}
.rmb-page .rmb-ed-out .rmb-ed-body{margin-top:12px;font-size:var(--step-0)}

/* ---------- close + next ---------- */
.rmb-page .rmb-ed-close-h .elementor-heading-title{font-size:var(--step-5);line-height:1.02;letter-spacing:-.035em;max-width:15ch;margin-inline:auto}
.rmb-page.rmb-ed-close .rmb-btns.e-con{justify-content:center;margin-top:40px}
.rmb-page .rmb-ed-next-widget{width:100%;margin-top:var(--section)}
.rmb-page .rmb-ed-next{display:flex;justify-content:center;padding:clamp(44px,6vw,80px) var(--gutter);border-top:1px solid var(--line);text-decoration:none;color:var(--text);transition:color .3s var(--ease),background .3s var(--ease)}
.rmb-page .rmb-ed-next-title{display:inline-flex;align-items:center;gap:.35em;font:700 var(--step-4)/1.05 var(--serif);letter-spacing:-.03em}
.rmb-page .rmb-ed-next svg.rmb-fa{width:.5em;height:.5em}
.rmb-page .rmb-ed-next:hover{color:var(--lime)}
.rmb-page .rmb-ed-next:hover svg.rmb-fa{transform:translateX(10px)}

/* ===== PAGE: sample case studies (editorial layout, .rmb-p-ed) -- the identity board under the title ===== */
.rmb-page.rmb-ed-hero-sec.e-con{padding:0 0 clamp(24px,3vw,40px)}
.rmb-page .rmb-ed-hero img{border-radius:10px}
.rmb-page .rmb-ed-decisions .rmb-ed-plate-wide{margin-top:clamp(64px,8vw,112px)}

/* ==========================================================================
   Client case studies (build-case-client-template.ps1): the SMHA layout (70-case.css) with
   photos and logo files in place of SMHA's drawn tulip and building.
   ========================================================================== */

/* ---------- hero: the logo card (the build animation lives in .rmb-lb below) ---------- */
.rmb-page .rmb-cx-widget{width:100%}
.rmb-cx{position:relative;width:100%;max-width:560px;margin-inline:auto;aspect-ratio:1200/930;border-radius:var(--radius);background:var(--soft);box-shadow:0 40px 80px -40px rgba(184,212,51,.35);overflow:hidden;animation:rmbGearsIn 1.2s var(--ease) .2s both}
.rmb-cx img{position:absolute;inset:0;width:100%;height:100%;padding:16% 14%;box-sizing:border-box;object-fit:contain}
.rmb-cx-tag{position:absolute;left:16px;top:16px;z-index:1;padding:5px 12px;border-radius:999px;font:600 .72rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.rmb-cx-tag-b{background:rgba(0,0,0,.08);color:#4a4744}
.rmb-cx-tag-a{background:#000;color:var(--lime)}
@media (prefers-reduced-motion:reduce){.rmb-cx{animation:none}}

/* ---------- hero logo build (rmb-logo-build.ps1 New-LogoBuild): drafted in ink, then filled ----------
   .lb-ink  every path once more as a stroke on a paper-colored fill, in the logo's own paint order, so later
            shapes cover the hidden parts of earlier outlines and only the edges you see in the logo are drawn.
            Paths are split into 8 groups (lb-s0..7) that start drawing one after another; every outline is
            finished before any color appears.
   .lb-fill the logo in color, faded in as one piece once the drawing is complete.
   One shared cycle, no animation-delay, so nothing jumps between loops. 12s, or 14s with an old logo first. */
.rmb-lb{--lb:12s}
.rmb-lb.has-old{--lb:14s}
.rmb-lb .rmb-lb-svg{position:absolute;inset:0;width:100%;height:100%;padding:15% 13%;box-sizing:border-box;overflow:visible}
.rmb-lb .rmb-lb-old{position:absolute;inset:0;width:100%;height:100%;padding:18% 14%;box-sizing:border-box;object-fit:contain;filter:saturate(.7);opacity:0;animation:rmbLbOld var(--lb) linear infinite}
.rmb-lb .lb-ink path{fill:var(--soft);stroke:#2b2a28;stroke-width:var(--sw);stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;animation:var(--lb) cubic-bezier(.45,.05,.25,1) infinite}
.rmb-lb .lb-ink{animation:rmbLbInk var(--lb) linear infinite}
.rmb-lb .lb-fill{opacity:0;animation:rmbLbFill var(--lb) var(--ease) infinite}
.rmb-lb.has-old .lb-ink{animation-name:rmbLbInkO}
.rmb-lb.has-old .lb-fill{animation-name:rmbLbFillO}
.rmb-lb .rmb-lb-tag{opacity:0;animation:rmbLbTag var(--lb) linear infinite}
.rmb-lb.has-old .rmb-cx-tag-b{opacity:0;animation:rmbLbTagB var(--lb) linear infinite}
.rmb-lb.has-old .rmb-lb-tag{animation-name:rmbLbTagO}
@keyframes rmbLbInk{0%,52%{opacity:1}58%,99%{opacity:0}100%{opacity:1}}
@keyframes rmbLbFill{0%,44%{opacity:0}52%,88%{opacity:1}94%,100%{opacity:0}}
@keyframes rmbLbTag{0%,50%{opacity:0}55%,88%{opacity:1}93%,100%{opacity:0}}
@keyframes rmbLbInkO{0%,19%{opacity:0}20%,67%{opacity:1}73%,100%{opacity:0}}
@keyframes rmbLbFillO{0%,60%{opacity:0}67%,90%{opacity:1}95%,100%{opacity:0}}
@keyframes rmbLbTagO{0%,67%{opacity:0}72%,90%{opacity:1}94%,100%{opacity:0}}
@keyframes rmbLbOld{0%{opacity:0}2%,15%{opacity:1;transform:none}20%,100%{opacity:0;transform:translateY(18px)}}
@keyframes rmbLbTagB{0%{opacity:0}2%,15%{opacity:1}19%,100%{opacity:0}}
.rmb-lb .lb-ink .lb-s0{animation-name:rmbLbS0}.rmb-lb.has-old .lb-ink .lb-s0{animation-name:rmbLbS0o}
@keyframes rmbLbS0{0%,2%{stroke-dashoffset:1}20%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@keyframes rmbLbS0o{0%,20%{stroke-dashoffset:1}37%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
.rmb-lb .lb-ink .lb-s1{animation-name:rmbLbS1}.rmb-lb.has-old .lb-ink .lb-s1{animation-name:rmbLbS1o}
@keyframes rmbLbS1{0%,5%{stroke-dashoffset:1}23%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@keyframes rmbLbS1o{0%,23%{stroke-dashoffset:1}40%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
.rmb-lb .lb-ink .lb-s2{animation-name:rmbLbS2}.rmb-lb.has-old .lb-ink .lb-s2{animation-name:rmbLbS2o}
@keyframes rmbLbS2{0%,8%{stroke-dashoffset:1}26%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@keyframes rmbLbS2o{0%,26%{stroke-dashoffset:1}43%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
.rmb-lb .lb-ink .lb-s3{animation-name:rmbLbS3}.rmb-lb.has-old .lb-ink .lb-s3{animation-name:rmbLbS3o}
@keyframes rmbLbS3{0%,11%{stroke-dashoffset:1}29%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@keyframes rmbLbS3o{0%,29%{stroke-dashoffset:1}46%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
.rmb-lb .lb-ink .lb-s4{animation-name:rmbLbS4}.rmb-lb.has-old .lb-ink .lb-s4{animation-name:rmbLbS4o}
@keyframes rmbLbS4{0%,14%{stroke-dashoffset:1}32%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@keyframes rmbLbS4o{0%,32%{stroke-dashoffset:1}49%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
.rmb-lb .lb-ink .lb-s5{animation-name:rmbLbS5}.rmb-lb.has-old .lb-ink .lb-s5{animation-name:rmbLbS5o}
@keyframes rmbLbS5{0%,17%{stroke-dashoffset:1}35%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@keyframes rmbLbS5o{0%,35%{stroke-dashoffset:1}52%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
.rmb-lb .lb-ink .lb-s6{animation-name:rmbLbS6}.rmb-lb.has-old .lb-ink .lb-s6{animation-name:rmbLbS6o}
@keyframes rmbLbS6{0%,20%{stroke-dashoffset:1}38%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@keyframes rmbLbS6o{0%,38%{stroke-dashoffset:1}55%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
.rmb-lb .lb-ink .lb-s7{animation-name:rmbLbS7}.rmb-lb.has-old .lb-ink .lb-s7{animation-name:rmbLbS7o}
@keyframes rmbLbS7{0%,23%{stroke-dashoffset:1}41%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@keyframes rmbLbS7o{0%,41%{stroke-dashoffset:1}58%,97%{stroke-dashoffset:0}98%,100%{stroke-dashoffset:1}}
@media (prefers-reduced-motion:reduce){
  .rmb-lb .lb-ink{display:none}
  .rmb-lb .lb-fill{animation:none;opacity:1}
  .rmb-lb .rmb-lb-old,.rmb-lb .rmb-cx-tag-b{animation:none;opacity:0}
  .rmb-lb .rmb-lb-tag{animation:none;opacity:1}
}

/* ---------- the mark in motion (New-LogoFilm): pieces fly in and lock together, then the brand line ---------- */
.rmb-lf{--lf:11s;position:relative;display:grid;place-items:center;align-content:center;gap:clamp(18px,3vw,40px);width:100%;aspect-ratio:16/9;padding:6% 8%;box-sizing:border-box;border-radius:var(--radius);
  background:radial-gradient(70% 90% at 50% 40%,#fff,var(--soft) 70%);overflow:hidden}
.rmb-lf-svg{display:block;width:min(52%,560px);height:auto;max-height:62%;overflow:visible}
.rmb-lf-svg path{transform-box:fill-box;transform-origin:center;opacity:0;animation:rmbLfPiece var(--lf) cubic-bezier(.2,.8,.2,1) infinite both;animation-delay:calc(var(--i) * .9s)}
.rmb-lf-line{margin:0;font:600 clamp(1rem,.7rem + 1.4vw,1.9rem)/1.2 var(--serif);letter-spacing:-.01em;color:#1d1c1a;text-align:center;opacity:0;animation:rmbLfLine var(--lf) var(--ease) infinite}
.rmb-lf-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--lime);transform-origin:left;transform:scaleX(0);animation:rmbLfBar var(--lf) linear infinite}
@keyframes rmbLfPiece{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(.4)}6%{opacity:1}34%{opacity:1;transform:none}84%{opacity:1;transform:none}92%,100%{opacity:0;transform:scale(.96)}}
@keyframes rmbLfLine{0%,50%{opacity:0;transform:translateY(14px)}58%,86%{opacity:1;transform:none}92%,100%{opacity:0}}
@keyframes rmbLfBar{0%{transform:scaleX(0)}92%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
@media (prefers-reduced-motion:reduce){
  .rmb-lf-svg path,.rmb-lf-line{animation:none;opacity:1;transform:none}
  .rmb-lf-bar{display:none}
}
.rmb-page .rmb-gallery > .rmb-film .rmb-lf-fig{margin:0}

/* ---------- project brief: the client's own mark on the tile ---------- */
.rmb-page .rmb-brief-mark img{display:block;width:72%;height:72%;object-fit:contain}

/* ---------- photos beside the copy (challenge, lime band) ---------- */
.rmb-page .rmb-case-photo .wp-caption,.rmb-page .rmb-case-photo figure{margin:0;width:100%;max-width:none}
.rmb-page .rmb-case-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);background:#111}
.rmb-page .rmb-oldmark-img.rmb-old-small img{padding:clamp(56px,8vw,110px) clamp(40px,8vw,110px)}
.rmb-page .rmb-stakes-grid > .rmb-stakes-photo{width:100%;max-width:620px;margin-inline:auto}
.rmb-page .rmb-stakes-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:0 30px 60px -30px rgba(0,0,0,.45)}

/* ---------- decision cards: logo pieces on a small warm tile ---------- */
.rmb-mv-tile{position:relative;display:grid;place-items:center;height:110px;aspect-ratio:1;border-radius:12px;background:var(--soft);overflow:hidden}
.rmb-mv-tile img{display:block;width:76%;height:76%;object-fit:contain}
.rmb-mv-tile.rmb-mv-zoom{aspect-ratio:16/9}
.rmb-mv-zoom img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:scale(var(--z,2.4));transform-origin:var(--o,50% 50%)}
.rmb-wordmark.rmb-wm-line b{font-size:clamp(1.35rem,1rem + 1.2vw,2rem);line-height:1.1;letter-spacing:-.01em}
.rmb-swatches span.rmb-sw-light{color:rgba(0,0,0,.6)}
.rmb-swatches span.rmb-sw-light b{color:#000}

/* ---------- the mark up close (clients without photos) ---------- */
.rmb-page .rmb-marks-widget{margin-top:clamp(44px,6vw,72px)}
.rmb-marks{display:grid;gap:clamp(16px,2vw,24px)}
@media (min-width:760px){.rmb-marks{grid-template-columns:repeat(3,minmax(0,1fr))}}
.rmb-marks figure{margin:0}
.rmb-mk{position:relative;aspect-ratio:4/3;border-radius:var(--radius);background:var(--soft);overflow:hidden}
.rmb-mk img{position:absolute;inset:0;width:100%;height:100%;padding:14%;box-sizing:border-box;object-fit:contain}
.rmb-mk-zoom img{padding:0;transform:scale(var(--z,2.4));transform-origin:var(--o,50% 50%)}
.rmb-mk-color{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(18px,2.4vw,28px);background:var(--c);color:#fff;font:500 .9rem/1.3 var(--sans);letter-spacing:.04em}
.rmb-mk-color b{font:700 clamp(1.4rem,1rem + 1.2vw,2rem)/1.1 var(--serif);letter-spacing:-.01em}
.rmb-marks figcaption{max-width:40ch;margin:14px auto 0;font-family:var(--sans);font-size:var(--step--1);line-height:1.5;text-align:center;color:var(--muted)}

/* ---------- gallery: a wide lead photo ---------- */
@media (min-width:760px){.rmb-page .rmb-gallery > .rmb-wide{grid-column:1 / -1}.rmb-page .rmb-gallery .rmb-wide img{aspect-ratio:21/9}}
.rmb-page .rmb-gallery.rmb-gallery-2.e-con{grid-template-columns:none}
@media (min-width:760px){.rmb-page .rmb-gallery.rmb-gallery-2.e-con{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rmb-page .rmb-gallery > .rmb-marks-widget{margin-top:0}

/* ===== PAGE: Clarity Check (/clarity-survey/) ===== */
/* .rmb-p-clarity is on every top-level section of this page only. The quiz itself is the [rmb_clarity] shortcode;
   its own styles ship with the mu-plugin (mu-plugins/rmb-clarity/clarity.css), not here. */

/* ---------- hero ---------- */
.rmb-page .rmb-cq-dek .elementor-heading-title{margin-top:22px;font-family:var(--sans);font-size:var(--step-1);font-weight:600;line-height:1.4;letter-spacing:0;color:var(--lime)}
.rmb-page.rmb-p-clarity.rmb-phero .rmb-hero-sub{margin-top:18px}
.rmb-page.rmb-p-clarity.rmb-phero .rmb-btns{margin-top:44px}
.rmb-page.rmb-p-clarity.rmb-phero .rmb-trust{margin-top:22px}

/* brand eye chart (SVG SMIL; see src/rmb-eyechart.ps1) */
.rmb-page .rmb-eyechart{display:flex;justify-content:center;align-items:center;width:100%;min-width:0;animation:rmbGearsIn 1.4s var(--ease) .3s both}
.rmb-page .rmb-eyechart > .elementor-widget-container{width:100%;display:flex;justify-content:center}
.rmb-ec-svg{display:block;width:100%;max-width:480px;height:auto;aspect-ratio:1;overflow:visible}
.rmb-ec-svg text{font-family:"Source Sans 3",system-ui,sans-serif}
.rmb-ec-svg .rmb-ec-card{fill:#0d0d0d;stroke:rgba(255,255,255,.14);stroke-width:1}
.rmb-ec-svg .rmb-ec-head{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;fill:#B3AFAC}
.rmb-ec-svg .rmb-ec-rule{stroke:rgba(255,255,255,.10);stroke-width:1}
.rmb-ec-svg .rmb-ec-rows text{font-family:"Plus Jakarta Sans","Source Sans 3",system-ui,sans-serif;font-weight:800;text-anchor:middle}
.rmb-ec-svg .rmb-ec-soft text{fill:rgba(243,241,240,.55)}
.rmb-ec-svg .rmb-ec-sharp text{fill:#FFFFFF}
.rmb-ec-svg .rmb-ec-sharp text:last-child{fill:#B8D433}
.rmb-ec-svg .rmb-ec-snel{font-size:10px;font-weight:600;letter-spacing:.06em;fill:rgba(179,175,172,.6)}
.rmb-ec-svg .rmb-ec-lime{stroke:#B8D433;stroke-width:2;stroke-linecap:round}
.rmb-ec-svg .rmb-ec-foot{font-size:12px;fill:#B3AFAC;font-style:italic}
.rmb-ec-svg .rmb-ec-ring{fill:none;stroke:#B8D433;stroke-width:2.5}
@media (max-width:959px){.rmb-ec-svg{max-width:400px}}

/* ---------- the check: an "answer sheet" -- faint lime graph paper under the quiz ---------- */
.rmb-page.rmb-cq-sec.e-con{position:relative;overflow:hidden;border-top:1px solid var(--line);
  background:
    radial-gradient(70% 55% at 50% 0%,rgba(184,212,51,.10),transparent 70%),
    linear-gradient(rgba(184,212,51,.055) 1px,transparent 1px) 0 0/32px 32px,
    linear-gradient(90deg,rgba(184,212,51,.055) 1px,transparent 1px) 0 0/32px 32px,
    #050505}
.rmb-page .rmb-cq-head.e-con{gap:18px;max-width:760px;margin:0 auto clamp(36px,5vw,56px);align-items:center;text-align:center}
.rmb-page .rmb-cq-head .rmb-h2 .elementor-heading-title{margin-inline:auto}
.rmb-page .rmb-cq-head .rmb-lede{margin-inline:auto}
.rmb-page .rmb-cq-widget{width:100%}
.rmb-page.rmb-cq-sec .rmb-trust{margin-top:28px}
.rmb-page.rmb-cq-sec .rmb-trust p{justify-content:center}/* End custom CSS */