/* Correct Digital: site design (2026 redesign). Warm neutral canvas, floating navigation,
   card trays, dark gradient panels, large light headings. No text smaller than 16px. */

@font-face{font-family:"Inter";src:url(/fonts/inter-opsz.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url(/fonts/inter-opsz-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}

:root{
  --bg:#f7f6fb;
  --tray:#ecebf6;
  --card:#ffffff;
  --white:#fff;
  --ink:#140e29;
  --ink-2:#4a4560;
  --ink-3:#8a85a0;
  --line:rgba(20,14,41,.08);
  --accent:#fe6500;
  --accent-ink:#c24c00;
  --violet:#6c47ff;
  --violet-2:#8f73ff;
  --violet-soft:#e9e4ff;
  --plum:#241a4a;
  --wrap:1120px;
  --gap:24px;
  --sec:clamp(48px,5vw,72px);
  --block:clamp(48px,5vw,72px);
  --r-card:22px;
  --r-tray:30px;
  --r-panel:36px;
  --ease:cubic-bezier(.22,1,.36,1);
  --shadow-card:0 1px 1px rgba(36,26,74,.03),0 2px 4px rgba(36,26,74,.03),0 12px 28px -14px rgba(36,26,74,.14);
  --shadow-lift:0 1px 1px rgba(36,26,74,.04),0 4px 8px rgba(36,26,74,.04),0 28px 48px -20px rgba(36,26,74,.22);
  --panel:
    radial-gradient(55% 75% at 85% 95%,rgba(254,101,0,.42) 0%,rgba(254,101,0,0) 60%),
    radial-gradient(60% 80% at 12% 0%,rgba(108,71,255,.65) 0%,rgba(108,71,255,0) 65%),
    radial-gradient(50% 60% at 60% 50%,rgba(143,115,255,.18) 0%,rgba(143,115,255,0) 70%),
    linear-gradient(160deg,#2b1f5c 0%,#140e29 100%);
  --media:
    radial-gradient(70% 70% at 15% 90%,#c9bbff 0%,rgba(201,187,255,0) 62%),
    radial-gradient(55% 55% at 92% 10%,#ffd2b3 0%,rgba(255,210,179,0) 64%),
    linear-gradient(135deg,#f1edff 0%,#e3dcff 100%);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  --arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{margin:0;font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.62;color:var(--ink-2);background:var(--bg);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;letter-spacing:-.011em;overflow-x:clip}
img,video{max-width:100%;height:auto}
img{display:inline-block;vertical-align:middle}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,h5,h6{margin:0 0 .55em;color:var(--ink);font-weight:400;letter-spacing:-.035em;line-height:1.1;text-wrap:balance}
h1{font-size:clamp(40px,5vw,64px)}
h2{font-size:clamp(32px,3.6vw,48px)}
h3{font-size:22px;line-height:1.28;letter-spacing:-.022em;font-weight:450}
h4{font-size:19px;line-height:1.35;letter-spacing:-.018em;font-weight:500}
h5,h6{font-size:17px;line-height:1.4;letter-spacing:-.012em;font-weight:500}
p{margin:0 0 1.05em}
:is(p,ul,ol,h1,h2,h3,h4,h5,h6):last-child{margin-bottom:0}
strong,b{font-weight:560;color:var(--ink)}
:is(h1,h2,h3,h4,h5,h6) :is(strong,b){font-weight:inherit}
ul,ol{padding-left:1.25em;margin:0 0 1.05em}
li{margin:.3em 0}
li::marker{color:var(--ink-3)}
hr{border:0;border-top:1px solid var(--line);margin:32px 0}
table{width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:17px}
th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--ink);font-weight:550}
blockquote{margin:0 0 1.2em;padding:4px 0 4px 22px;border-left:2px solid var(--accent);color:var(--ink)}
::selection{background:#dcd3ff;color:var(--ink)}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:8px}
/* nothing below 16px, even where the old content set a size inline */
.tb_text_wrap [style*="font-size"]{font-size:inherit!important}
.tb_text_wrap [style*="line-height"]{line-height:inherit!important}
/* accent words from the old site's headings: a soft second tone instead of orange */
:is(h1,h2,h3,h4) :is(span[style*="color"],font[color]){color:var(--violet)!important}
:is(h1,h2,h3,h4) em{font-style:normal}
.tb_text_wrap p span[style*="#fe6500"]{color:var(--accent-ink)!important}
.tb_text_wrap a{color:var(--violet);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(108,71,255,.35);text-underline-offset:3px;transition:text-decoration-color .25s,color .25s}
.tb_text_wrap a:hover{text-decoration-color:var(--violet);color:#4f2ee0}
.tb_text_wrap a[href^="tel:"]{white-space:nowrap}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-to-content:focus{position:fixed!important;top:12px;left:12px;width:auto;height:auto;clip:auto;z-index:1000;background:#fff;padding:10px 16px;border-radius:12px}
.tf_hide{display:none!important}
.tf_textl{text-align:left}.tf_textc{text-align:center}.tf_textr{text-align:right}
.tf_fa{width:1em;height:1em;display:inline-block;fill:currentColor;vertical-align:-.125em;overflow:visible}
@media (min-width:1281px){.hide-desktop{display:none!important}}
@media (min-width:769px) and (max-width:1280px){.hide-tablet_landscape{display:none!important}}
@media (min-width:681px) and (max-width:768px){.hide-tablet{display:none!important}}
@media (max-width:680px){.hide-mobile{display:none!important}}

/* ---------- Navigation ---------- */
.g-nav{position:fixed;top:16px;left:0;right:0;z-index:100;display:flex;flex-direction:column;align-items:center;padding:0 16px;pointer-events:none}
.g-nav-pill{position:relative;pointer-events:auto;display:flex;align-items:center;gap:6px;height:64px;width:min(100%,940px);padding:0 8px 0 24px;border-radius:999px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 1px rgba(20,14,41,.05),0 12px 32px -14px rgba(36,26,74,.2);transition:box-shadow .4s var(--ease),transform .5s var(--ease)}
.is-scrolled .g-nav-pill{box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 1px rgba(20,14,41,.06),0 18px 40px -16px rgba(36,26,74,.28)}
.g-logo{display:flex;align-items:center;flex:none;margin-right:auto}
.g-logo img{height:26px;width:auto;display:block}
.g-menu>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.g-menu li{margin:0}
.g-menu>ul>li>a{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:999px;font-size:16px;font-weight:450;color:var(--ink);transition:background .25s}
.g-menu>ul>li>a svg{width:12px;height:12px;opacity:.55;transition:transform .35s var(--ease)}
.g-menu>ul>li:hover>a,.g-menu>ul>li:focus-within>a{background:var(--violet-soft);color:var(--violet)}
.g-menu>ul>li:hover>a svg{transform:rotate(180deg)}
.g-menu li.has-sub{position:relative}
.g-menu li.has-sub:has(.g-sub-mega){position:static}
.g-sub{position:absolute;top:100%;left:50%;padding-top:12px;opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .3s var(--ease),transform .4s var(--ease),visibility 0s .3s;z-index:2}
.g-menu li.has-sub:hover>.g-sub,.g-menu li.has-sub:focus-within>.g-sub{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:0s}
.g-sub-panel{background:#fff;border-radius:24px;padding:8px;min-width:230px;box-shadow:0 0 0 1px rgba(20,14,41,.05),0 30px 60px -24px rgba(36,26,74,.3)}
.g-sub-panel ul{list-style:none;margin:0;padding:0}
.g-sub-panel li{margin:0}
.g-sub-panel a{display:block;padding:10px 14px;border-radius:14px;font-size:16px;color:var(--ink);white-space:nowrap;transition:background .2s}
.g-sub-panel a:hover{background:var(--violet-soft);color:var(--violet)}
.g-sub-mega .g-sub-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:min(900px,calc(100vw - 48px));padding:14px}
.g-sub-group{padding:4px;border-radius:18px}
.g-sub-group:hover{background:#fbfaf8}
.g-sub-head{display:block;padding:8px 14px 6px;font-size:16px;color:var(--ink-3)!important;background:none!important}
.g-sub-group a:not(.g-sub-head){white-space:normal}
.g-nav-cta{margin-left:6px}
.g-burger{display:none}
.g-mobile{display:none}

/* ---------- Buttons ---------- */
.g-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:7px 7px 7px 24px;border-radius:999px;font-size:16px;font-weight:500;letter-spacing:-.01em;line-height:1.2;text-decoration:none!important;white-space:nowrap;cursor:pointer;border:0;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s,color .25s}
.g-btn-primary{background:var(--accent);color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 24px -10px rgba(254,101,0,.75)}
.g-btn-primary:hover{transform:translateY(-1px);background:#ff7414;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 16px 32px -12px rgba(254,101,0,.85)}
.g-btn-arrow{position:relative;flex:none;width:38px;height:38px;border-radius:50%;background:#fff;overflow:hidden}
.g-btn-arrow::before,.g-btn-arrow::after{content:"";position:absolute;inset:0;margin:auto;width:15px;height:15px;background:var(--accent);-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transition:transform .45s var(--ease)}
.g-btn-arrow::after{transform:translateX(-26px)}
.g-btn:hover .g-btn-arrow::before{transform:translateX(26px)}
.g-btn:hover .g-btn-arrow::after{transform:none}
.g-btn-ghost{padding:7px 24px;background:transparent;color:var(--ink)!important;box-shadow:inset 0 0 0 1px rgba(20,14,41,.85)}
.g-btn-ghost:hover{background:var(--violet);color:#fff!important;box-shadow:inset 0 0 0 1px var(--violet)}
.g-btn-ghost .g-btn-arrow{display:none}
.g-btn-ghost svg{width:18px;height:18px;fill:currentColor}
[data-tone=dark] .g-btn-primary{box-shadow:0 12px 32px -10px rgba(254,101,0,.7)}
[data-tone=dark] .g-btn-ghost{color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
[data-tone=dark] .g-btn-ghost:hover{background:#fff;color:var(--ink)!important}
.module-buttons{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.module-buttons.buttons-vertical{flex-direction:column;align-items:flex-start}
.module-buttons[data-align=center]{justify-content:center}
.module-buttons[data-align=right]{justify-content:flex-end}
.module-buttons-item{display:inline-flex}

/* ---------- Sections and columns ---------- */
#layout{width:100%}
.module_row{position:relative;padding:var(--sec) 24px}
.module_row>.row_inner{position:relative;z-index:1;max-width:var(--wrap);margin:0 auto}
.row_inner,.module_subrow{display:flex;flex-wrap:wrap;gap:var(--gap)}
.row_inner.col_align_middle,.module_subrow.col_align_middle{align-items:center}
.row_inner.col_align_bottom,.module_subrow.col_align_bottom{align-items:flex-end}
.module_column{min-width:0;flex:1 1 0;display:flex;flex-direction:column;gap:20px}
.module_column:empty{display:none}
.col-full{flex-basis:100%}
.col2-1,.col4-2{flex:2 1 45%}.col4-3{flex:3 1 68%}.col4-1{flex:1 1 21%}
.col3-1{flex:1 1 29%}.col3-2{flex:2 1 60%}.col5-1{flex:1 1 17%}.col6-1{flex:1 1 13%}
.module_column>.module_subrow{width:100%}
.module_column>.module_subrow:not(:first-child),.module_column>.module_subrow+.module{margin-top:calc(var(--block) - 20px)}
.module_column>:is(.module-text,.module-fancy-heading)+.module_subrow{margin-top:12px}
.module_column>.module_subrow[data-kind=btnrow]{margin-top:8px}
.module{min-width:0}
.module_row[data-wrap]{padding:0}
.module_row[data-wrap]>.row_inner{max-width:none}
.module_row[data-wrap]>.row_inner>.module_column{gap:0}
.module-layout-part>.tb_layout_part_wrap>.themify_builder_content>.module_row:not([data-tone=dark]){padding-inline:24px}

/* long-form text reads at a comfortable width */
.col-full>.module-text,.module_column:only-child>.module-text{max-width:760px;margin-inline:auto;width:100%}
[data-tone=dark] .col-full>.module-text{max-width:860px}
/* centred section heads */
.module-text:has(>.tb_text_wrap>h2[style*="center"]),.module-text:has(>.tb_text_wrap>h1[style*="center"]){max-width:780px;margin-inline:auto;text-align:center}
.module-text:has(>.tb_text_wrap>:is(h1,h2)[style*="center"]) p{max-width:640px;margin-inline:auto;font-size:18px}
.module-fancy-heading{max-width:820px;margin-inline:auto;width:100%}
.module-fancy-heading.tf_textl,.module-fancy-heading:has(.tf_textl){margin-inline:0}
.fancy-heading{margin:0}
.fancy-heading .main-head{display:block;font-size:clamp(32px,3.6vw,48px);line-height:1.08;letter-spacing:-.038em;color:var(--ink)}
.fancy-heading .sub-head{display:block;margin-top:16px;font-size:18px;line-height:1.55;letter-spacing:-.012em;color:var(--ink-2);font-weight:400}
.inline-fancy-heading .fancy-heading>span{display:inline}
[data-hero] .inline-fancy-heading .fancy-heading>span{display:block}
.column-text-wrap,.tb_text_wrap{min-width:0}

/* ---------- Hero ---------- */
.module_row[data-hero]{padding-top:clamp(132px,13vw,176px);padding-bottom:var(--sec);overflow:hidden}
.g-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(108,71,255,.16) 1px,transparent 1.4px);background-size:22px 22px;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,transparent 75%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 0%,transparent 75%)}
.g-hero-bg::before,.g-hero-bg::after{content:"";position:absolute;border-radius:50%;filter:blur(60px)}
.g-hero-bg::before{left:-8%;top:-18%;width:min(720px,80vw);height:520px;background:rgba(108,71,255,.22)}
.g-hero-bg::after{right:-6%;top:6%;width:min(520px,60vw);height:420px;background:rgba(254,101,0,.12)}
.module_row[data-hero]::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#efecfd 0%,var(--bg) 85%);z-index:0}
.g-eyebrow{display:inline-flex!important;align-items:center;gap:10px;margin:0 0 22px!important;padding:7px 16px 7px 12px;border-radius:999px;background:rgba(255,255,255,.75);box-shadow:0 0 0 1px rgba(20,14,41,.06),0 6px 16px -10px rgba(36,26,74,.25);font-size:16px!important;line-height:1.3!important;font-weight:500!important;letter-spacing:-.01em!important;color:var(--ink)!important}
.g-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 4px rgba(108,71,255,.18)}
.g-eyebrow *{font-weight:inherit!important;color:inherit!important}
.g-display,.g-display-fh .main-head{font-size:clamp(44px,6.2vw,84px)!important;line-height:1.01!important;letter-spacing:-.048em!important;font-weight:400!important;margin:0 0 22px!important}
.g-display *{font-weight:inherit!important}
.g-subtitle{font-size:clamp(21px,2.2vw,28px)!important;line-height:1.25!important;letter-spacing:-.025em!important;color:var(--ink-2)!important;font-weight:400!important}
.g-subtitle *{font-weight:inherit!important}
.g-display-fh .sub-head{font-size:19px;max-width:560px}
[data-hero] .tb_text_wrap>p{font-size:19px;line-height:1.6;max-width:600px}
[data-hero] .tb_text_wrap>p strong{font-weight:inherit;color:inherit}
[data-hero] .tb_text_wrap>[style*="center"]{margin-inline:auto}
[data-hero] .row_inner>.module_column>.module_subrow:first-child{gap:clamp(32px,5vw,72px);align-items:center}
[data-hero] .module_subrow:first-child>.module_column:not(:has(.cd-form-slot)) .g-display{font-size:clamp(42px,5vw,68px)!important}
[data-hero] .module_subrow:first-child:has(>.module_column:nth-child(2)) .g-display-fh .main-head{font-size:clamp(42px,5vw,68px)!important}

/* hero with video (homepage) */
[data-hero][data-video] .row_inner{max-width:920px;text-align:center}
[data-hero][data-video] .module_column{align-items:center}
[data-hero][data-video] .module-buttons{justify-content:center}
.g-hero-media{position:relative;z-index:1;max-width:1180px;margin:clamp(48px,6vw,80px) auto 0}
.g-hero-frame{padding:8px;border-radius:34px;background:var(--tray);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),var(--shadow-lift);transform-origin:50% 0;will-change:transform}
.g-hero-frame video{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:27px;background:#2c323a}
/* "Get $500 in Google Ads credit" style chips */
.module-icon{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.module-icon-item{display:inline-flex}
.module-icon-item,.module-icon-item>a{align-items:center;gap:10px;padding:8px 18px 8px 10px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(20,14,41,.05),0 8px 20px -12px rgba(36,26,74,.3);font-size:16px;font-weight:500;color:var(--ink)}
.module-icon-item img{width:auto;height:26px}
.module-icon-item em{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--bg)!important;color:var(--ink)!important}
/* consultation form card in the hero */
[data-hero] .module_column:has(>.module-plain-text .cd-form-slot){background:#fff;border-radius:30px;padding:clamp(24px,3vw,36px);box-shadow:0 0 0 1px rgba(20,14,41,.04),var(--shadow-lift)}
[data-hero] .module_column:has(>.module-plain-text .cd-form-slot) .module-text :is(h1,h2,h3,h4){font-size:26px;letter-spacing:-.03em;text-align:left!important}
.cd-form-slot{min-height:120px}
.cd-form-slot.cd-loading{min-height:420px;border-radius:18px;background:linear-gradient(100deg,rgba(20,14,41,.04) 20%,rgba(20,14,41,.08) 40%,rgba(20,14,41,.04) 60%) 0 0/200% 100%;animation:gShimmer 1.6s linear infinite}
@keyframes gShimmer{to{background-position:-200% 0}}
/* star ratings */
.tb_star_wrap{display:flex;flex-direction:column;gap:6px}
.tb_star_item{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--ink-2)}
.tb_star_container{display:inline-flex;gap:2px;color:#d9d4ca}
.tb_star_container svg{width:16px;height:16px}
.tb_star_fill{fill:#f4a91f;color:#f4a91f;stop-color:#f4a91f}
.tb_star_half{fill:var(--tb_star_half)}

/* ---------- Cards and trays ---------- */
[data-kind^=tray]{gap:8px!important;padding:8px;border-radius:var(--r-tray);background:var(--tray);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);counter-reset:card;align-items:stretch!important}
[data-kind=tray]>.module_column,[data-kind=tray-mods]>.module_column>.module,[data-kind=tray-mixed]>.module_column>.module,[data-kind=tray-mixed]>.module_column:not(:has(>.module-image)){position:relative;background:var(--card);border-radius:var(--r-card);padding:clamp(24px,2.6vw,34px);box-shadow:var(--shadow-card);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
[data-kind=tray]>.module_column{justify-content:flex-start;gap:14px;min-height:clamp(220px,22vw,290px);padding-top:84px!important}
[data-kind=tray]>.module_column::before{counter-increment:card;content:counter(card,decimal-leading-zero);position:absolute;top:clamp(22px,2.4vw,30px);left:clamp(24px,2.6vw,34px);display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--violet-soft);font-size:16px;font-weight:500;color:var(--violet);letter-spacing:0}
[data-kind=tray]>.module_column:hover,[data-kind=tray-mods]>.module_column>.module:hover,[data-kind=tray-mixed]>.module_column>.module-image:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
[data-kind=tray-mods]>.module_column,[data-kind=tray-mixed]>.module_column{gap:8px}
[data-kind=tray-mixed]>.module_column:has(>.module-image){background:none;box-shadow:none;padding:0}
[data-kind=tray-mixed]>.module_column:has(>.module-buttons){background:none;box-shadow:none;justify-content:space-between}
[data-kind=tray-mods]>.module_column>.module,[data-kind=tray-mixed]>.module_column>.module-image{flex:1}
@media (min-width:1025px){[data-kind=tray]:has(>.module_column:nth-child(4)):not(:has(>.module_column:nth-child(5))):not(:has(.module-counter)){display:grid!important;grid-template-columns:repeat(2,1fr)}}
[data-kind=tray] .module-text h2{font-size:clamp(28px,2.6vw,36px)}
[data-kind^=tray] :is(h3,h4,.image-title){font-size:22px;line-height:1.25;letter-spacing:-.025em;font-weight:450;color:var(--ink);margin:0 0 10px}
[data-kind^=tray] p,[data-kind^=tray] .image-caption{font-size:17px;line-height:1.55;color:var(--ink-2)}
/* counter cards: the number leads */
[data-kind=tray]>.module_column:has(.module-counter){justify-content:flex-start;padding-top:clamp(24px,2.6vw,34px)!important}
[data-kind=tray]>.module_column:has(.module-counter)::before{display:none}
[data-kind=tray]>.module_column:has(.module-counter)>.module-text{margin-top:auto}
.module-counter{text-align:left}
.module-counter .number{font-size:clamp(52px,5.6vw,76px);line-height:1.05;letter-spacing:-.055em;color:var(--violet);background:linear-gradient(135deg,#6c47ff 10%,#a48bff 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:400;font-variant-numeric:tabular-nums}
.module-counter .counter-text{margin-top:12px;font-size:18px;line-height:1.35;letter-spacing:-.02em;font-weight:500;color:var(--ink)}
/* first card holding the section intro */
[data-kind=tray]>.module_column:first-child:has(.module-buttons){justify-content:space-between;background:transparent;box-shadow:none;padding-top:clamp(24px,2.6vw,34px)!important}
[data-kind=tray]>.module_column:first-child:has(.module-buttons)::before{display:none}
[data-kind=tray]>.module_column:first-child:has(.module-buttons):hover{transform:none;box-shadow:none}
/* image cards (title + caption) */
.module-image{position:relative}
.module-image .image-wrap{position:relative}
.module-image img{border-radius:18px}
.module-image .image-content{margin-top:0}
.module-image:has(.image-content) .image-wrap{margin-bottom:18px}
.module-image:has(.image-content) .image-wrap img{max-height:180px;width:auto;border-radius:14px}
img[src*="marketing-agency-features"]{display:none}
.module-image:has(img[src*="marketing-agency-features"]) .image-wrap{display:none}
.image-title{font-size:22px}
.image-title a{text-decoration:none}

/* ---------- Text beside media ---------- */
[data-kind=split]{gap:8px!important;padding:8px;border-radius:var(--r-tray);background:var(--tray);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);align-items:stretch!important}
[data-kind=split]>.module_column{justify-content:center;padding:clamp(28px,4.6vw,64px);border-radius:var(--r-card);background:var(--card);box-shadow:var(--shadow-card)}
[data-kind=split]>.module_column:has(>:is(.module-image,.module-lottie,.module-gallery):only-child),[data-kind=split]>.module_column:not(:has(>.module-text,>.module-fancy-heading,>.module-buttons)){position:relative;overflow:hidden;align-items:center;background:#fff;padding:clamp(28px,4vw,56px)}

[data-kind=split]>.module_column:not(:has(>.module-text,>.module-fancy-heading,>.module-buttons)) img{border-radius:18px}
[data-kind=split] .module-text h2,[data-kind=split] .fancy-heading .main-head{font-size:clamp(30px,3vw,42px)}
[data-kind=split] .module-fancy-heading{margin:0;max-width:none}
[data-kind=split] .fancy-heading{text-align:left}
[data-kind=split] .module-lottie,[data-kind=split] .module-gallery,[data-kind=split] .module-image{width:100%;max-width:520px}
[data-kind=split] .module-image .image-wrap{text-align:center}
[data-dark-split] [data-kind=split],[data-tone=dark] [data-kind=split]{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
[data-tone=dark] [data-kind=split]>.module_column{background:rgba(255,255,255,.04);box-shadow:none}
[data-tone=dark] [data-kind=split]>.module_column:not(:has(>.module-text,>.module-fancy-heading,>.module-buttons)){background:radial-gradient(70% 70% at 70% 30%,rgba(143,115,255,.45),rgba(143,115,255,0) 70%),rgba(255,255,255,.05)}

/* ---------- Testimonials ---------- */
[data-kind=quotes]{gap:16px!important;align-items:stretch!important}
[data-kind=quotes]>.module_column{position:relative;background:var(--card);border-radius:var(--r-card);padding:84px clamp(24px,2.6vw,34px) clamp(24px,2.6vw,34px);box-shadow:var(--shadow-card)}
[data-kind=quotes]>.module_column::before{content:"";position:absolute;top:30px;left:clamp(24px,2.6vw,34px);width:34px;height:28px;background:var(--violet);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 28'%3E%3Cpath d='M0 28V16.6C0 6.9 5.1 1.2 13.4 0l1.3 4.2C10.3 5.6 8 8.6 7.8 13H14v15H0Zm19.3 0V16.6C19.3 6.9 24.4 1.2 32.7 0L34 4.2c-4.4 1.4-6.7 4.4-6.9 8.8h6.2v15H19.3Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 28'%3E%3Cpath d='M0 28V16.6C0 6.9 5.1 1.2 13.4 0l1.3 4.2C10.3 5.6 8 8.6 7.8 13H14v15H0Zm19.3 0V16.6C19.3 6.9 24.4 1.2 32.7 0L34 4.2c-4.4 1.4-6.7 4.4-6.9 8.8h6.2v15H19.3Z'/%3E%3C/svg%3E") center/contain no-repeat}

[data-kind=quotes] .tb_text_wrap>p:first-child,[data-kind=quotes] .tb_text_wrap>p:first-child strong{font-size:19px;line-height:1.55;letter-spacing:-.018em;font-weight:400;color:var(--ink)}
[data-kind=quotes]>.module_column>.module-text,[data-kind=quotes] .tb_text_wrap{height:100%;display:flex;flex-direction:column}
[data-kind=quotes] .tb_text_wrap>:not(:first-child){margin-top:auto}
[data-kind=quotes] .tb_text_wrap>p:not(:first-child),[data-kind=quotes] .tb_text_wrap>div p{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:16px}
[data-kind=quotes] .tb_text_wrap>p:not(:first-child) :is(strong,em),[data-kind=quotes] .tb_text_wrap>div :is(strong,em){font-style:normal;font-weight:500;color:var(--ink)}
.module_column:has(>[data-kind=quotes])>.module-buttons{justify-content:center;margin-top:28px}
/* rotating testimonial (location pages) */
.cd-slider .tf_swiper-wrapper{display:grid}
.cd-slider .tf_swiper-slide{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .9s var(--ease),transform .9s var(--ease),visibility 0s .9s}
.cd-slider .tf_swiper-slide.is-active{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.module-testimonial-slider{max-width:860px;margin-inline:auto;width:100%}
.testimonial-item{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}
.testimonial-entry-content,.testimonial-entry-content p{font-size:clamp(22px,2.4vw,30px);line-height:1.35;letter-spacing:-.028em;color:var(--ink)}
.testimonial-title{font-size:20px}
.testimonial-author{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:16px;color:var(--ink-3)}
.testimonial-author .person-name{color:var(--ink);font-weight:500}
.testimonial-image img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.tb_rating_wrap{display:flex;gap:2px;justify-content:center;color:#f4a91f}
.module-divider{border:0!important;height:1px;width:64px!important;margin:8px auto!important;background:currentColor;opacity:.25}

/* ---------- Dark panels ---------- */
.module_row[data-tone=dark]{margin:16px;border-radius:var(--r-panel);color:rgba(255,255,255,.74);background:var(--panel);overflow:hidden;isolation:isolate;padding-inline:clamp(24px,5vw,72px)}
.module_row[data-tone=dark]::before{content:"";position:absolute;inset:0;z-index:0;background:var(--grain);opacity:.12;mix-blend-mode:overlay;pointer-events:none}
[data-tone=dark] :is(h1,h2,h3,h4,h5,h6,strong,b,.main-head),[data-tone=dark] .testimonial-entry-content,[data-tone=dark] .testimonial-entry-content p,[data-tone=dark] .person-name{color:#fff}
[data-tone=dark] :is(h1,h2,h3,h4) :is(span[style*="color"],font[color]){color:#b3a2ff!important}
[data-tone=dark] .sub-head,[data-tone=dark] p{color:rgba(255,255,255,.74)}
[data-tone=dark] .tb_text_wrap a{color:#fff;text-decoration-color:rgba(255,255,255,.4)}
[data-tone=dark] .tb_text_wrap a:hover{text-decoration-color:var(--accent)}
[data-tone=dark] .tb_text_wrap p span[style*="#fe6500"]{color:#ffb27f!important}
[data-tone=dark] .testimonial-author{color:rgba(255,255,255,.6)}
[data-tone=dark] .module-text{text-align:inherit}
/* dark panels hold their content in a glass card when it is a simple call to action */
[data-tone=dark]>.row_inner>.module_column:only-child:not(:has(.module_subrow,.module-testimonial-slider,.module-fancy-heading)){align-items:center;text-align:center}
[data-tone=dark]>.row_inner>.module_column:only-child:not(:has(.module_subrow,.module-testimonial-slider,.module-fancy-heading)) .module-text:first-child :is(h1,h2,h3,h4,p:first-child){font-size:clamp(30px,3.4vw,46px);line-height:1.1;letter-spacing:-.038em;color:#fff}
[data-tone=dark] .module-buttons{justify-content:inherit}
[data-tone=dark]>.row_inner>.module_column:only-child>.module-buttons{justify-content:center}
[data-tone=dark] [data-kind=tray],[data-tone=dark] [data-kind^=tray]{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
[data-tone=dark] [data-kind=tray]>.module_column,[data-tone=dark] [data-kind^=tray] .module{background:rgba(255,255,255,.05);box-shadow:none}
[data-tone=dark] [data-kind^=tray] :is(p,.image-caption){color:rgba(255,255,255,.74)}
[data-tone=dark] [data-kind^=tray] :is(h3,h4,.image-title){color:#fff}
[data-tone=dark] .module-image .image-wrap img{border-radius:18px}

/* ---------- FAQ / click-to-open panels ---------- */
.module_column:has(>.module-accordion){display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:clamp(32px,6vw,96px);row-gap:16px;align-content:start}
.module_column:has(>.module-accordion)>*{grid-column:1}
.module_column:has(>.module-accordion)>.module-accordion{grid-column:2;grid-row:1/span 12}
.module_column:has(>.module-accordion)>.module-text *{text-align:left!important}
.module_column:has(>.module-accordion)>.module-text{max-width:none;margin:0;text-align:left}
.module-accordion ul.module-accordion{list-style:none;margin:0;padding:8px;border-radius:var(--r-tray);background:var(--tray);display:flex;flex-direction:column;gap:8px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.module-accordion li{margin:0;border-radius:20px;background:var(--card);box-shadow:var(--shadow-card)}
.module-accordion .accordion-title{margin:0}
.module-accordion .tb_title_accordion{display:flex;align-items:center;gap:16px;padding:22px 26px;font-size:19px;line-height:1.35;letter-spacing:-.018em;color:var(--ink);font-weight:450}
.module-accordion .tb_title_accordion i{display:none}
.module-accordion .accordion-title-wrap{flex:1}
.module-accordion .tb_title_accordion::after,.cd-acc-icon{content:"";flex:none;position:relative;width:30px;height:30px;border-radius:50%;background-color:var(--violet-soft);background-image:linear-gradient(var(--violet),var(--violet)),linear-gradient(var(--violet),var(--violet));background-size:12px 1.5px,1.5px 12px;background-position:center;background-repeat:no-repeat;transition:transform .45s var(--ease),background-size .45s var(--ease)}
.module-accordion li.builder-accordion-active .tb_title_accordion::after,.cd-acc[open] .cd-acc-icon{transform:rotate(180deg);background-size:12px 1.5px,1.5px 0}
.module-accordion .accordion-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.module-accordion li.builder-accordion-active .accordion-content{grid-template-rows:1fr}
.module-accordion .accordion-content>*{min-height:0;overflow:hidden;padding:0 26px}
.module-accordion .accordion-content>*>:last-child{margin-bottom:24px}
.module-accordion .accordion-content p{font-size:17px}
/* location-page panels */
.module-cd-accordion{width:100%}
.module-cd-accordion.has-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.cd-acc-intro{position:sticky;top:120px}
.cd-acc-intro :is(h1,h2,h3,h4,p){text-align:left!important}
.cd-acc-intro :is(h2,h3,h4):first-child{font-size:clamp(30px,3.2vw,44px);line-height:1.1;letter-spacing:-.038em;font-weight:400}
.cd-acc-list{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:var(--r-tray);background:var(--tray);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.cd-acc{border-radius:20px;background:var(--card);box-shadow:var(--shadow-card);overflow:hidden}
.cd-acc summary{display:flex;align-items:center;gap:16px;padding:22px 26px;cursor:pointer;list-style:none}
.cd-acc summary::-webkit-details-marker{display:none}
.cd-acc summary img{display:none}
.cd-acc-title{flex:1;margin:0!important;font-size:19px!important;line-height:1.35!important;letter-spacing:-.018em!important;font-weight:450!important;color:var(--ink)}
.cd-acc-body{padding:0 26px 24px;font-size:17px;overflow:hidden}
.cd-acc-body>:first-child{margin-top:0}

/* ---------- Award logos ---------- */
.module_row:has([data-kind=logos]){padding-top:8px;padding-bottom:8px}
[data-hero][data-video]{padding-bottom:40px!important}
[data-kind=logos]{flex-wrap:nowrap!important;gap:0!important;overflow:hidden;background:var(--bg);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent)}
[data-kind=logos]>.g-track{background:var(--bg);display:flex;flex:none;align-items:center;gap:clamp(40px,6vw,88px);padding-right:clamp(40px,6vw,88px);animation:gMarquee 38s linear infinite}
[data-kind=logos]:hover>.g-track{animation-play-state:paused}
[data-kind=logos] .module_column{flex:none;width:auto;display:block}
[data-kind=logos] img{height:44px;width:auto;max-width:180px;object-fit:contain;border-radius:0;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;opacity:.62;transition:opacity .3s}
[data-kind=logos] img:hover{opacity:1}
@keyframes gMarquee{to{transform:translateX(-100%)}}
html:not(.cd-js) [data-kind=logos]{flex-wrap:wrap!important;justify-content:center;gap:40px!important}

/* ---------- Media ---------- */
tf-lottie{display:block}
.module-gallery .tf_swiper-slide img{width:100%;border-radius:18px}
.cd-logos .tf_swiper-wrapper{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px}
.cd-logos .tf_swiper-slide{opacity:1;width:auto;height:auto;flex:0 1 180px}
.cd-logos img{mix-blend-mode:multiply;filter:grayscale(1);opacity:.7}
.module-video iframe,.tb_text_wrap iframe{max-width:100%;border-radius:18px}
.module-text-more{display:inline-block;margin-top:8px;font-weight:500;color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* ---------- Pages with a plain title ---------- */
.g-page>.page-title,body.archive #content>.page-title,body.search #content>.page-title{max-width:var(--wrap);margin:0 auto;padding:clamp(140px,15vw,190px) 24px 8px;font-size:clamp(44px,6vw,80px);letter-spacing:-.048em;line-height:1.02}
.g-page:has(>.page-title) .module_row:first-child{padding-top:48px}
.category-description{max-width:var(--wrap);margin:16px auto 0;padding:0 24px;font-size:19px}

/* ---------- Blog listings ---------- */
.loops-wrapper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.loops-wrapper.grid4{grid-template-columns:repeat(3,minmax(0,1fr))}
.loops-wrapper.grid2,.loops-wrapper.list-post{grid-template-columns:repeat(2,minmax(0,1fr))}
.loops-wrapper>article{display:flex;flex-direction:column;margin:0;padding:8px;border-radius:26px;background:var(--card);box-shadow:var(--shadow-card);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
.loops-wrapper>article:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.loops-wrapper .post-image{margin:0;overflow:hidden;border-radius:19px;background:var(--tray)}
.loops-wrapper .post-image img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:19px;transition:transform 1s var(--ease)}
.loops-wrapper>article:hover .post-image img{transform:scale(1.035)}
.loops-wrapper .post-content{padding:18px 16px 16px;display:flex;flex-direction:column;flex:1}
.loops-wrapper .post-content-inner{display:flex;flex-direction:column;gap:10px;flex:1}
.loops-wrapper .post-title{margin:0;font-size:21px;line-height:1.3;letter-spacing:-.022em;font-weight:450}
.loops-wrapper .post-title a:hover{color:var(--ink-2)}
.post-date-wrap,.post-date{font-size:16px;color:var(--ink-3)}
.loops-wrapper .entry-content:empty{display:none}
.loops-wrapper .entry-content{font-size:16px}
.post-meta{margin:0;display:flex;flex-wrap:wrap;gap:6px;font-size:16px}
.post-meta .separator{display:none}
.post-meta .post-category,.post-meta .post-tag{display:flex;flex-wrap:wrap;gap:6px}
.post-meta a{display:inline-flex;padding:3px 12px;border-radius:999px;background:var(--tray);color:var(--ink-2);font-size:16px;line-height:1.5;transition:background .25s,color .25s}
.post-meta a:hover{background:var(--violet);color:#fff}
.loops-wrapper .post-content-inner{order:0}
.loops-wrapper .post-date-wrap{order:-1}
.loops-wrapper .post-meta{order:2;margin-top:auto}
.pagenav{display:flex;justify-content:center;gap:6px;margin-top:40px}
.pagenav .number{display:grid;place-items:center;min-width:46px;height:46px;padding:0 12px;border-radius:999px;background:var(--card);box-shadow:var(--shadow-card);font-size:16px;color:var(--ink)}
.pagenav .number.current,.pagenav a.number:hover{background:var(--violet);color:#fff}
.tf_load_more{text-align:center;margin-top:40px}
.load-more-button{display:inline-flex;align-items:center;min-height:52px;padding:0 26px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink);font-weight:500;transition:background .25s,color .25s}
.load-more-button:hover{background:var(--violet);color:#fff;box-shadow:inset 0 0 0 1px var(--violet)}
body.archive #content,body.search #content{padding-bottom:clamp(80px,9vw,124px)}
body.archive #loops-wrapper{max-width:var(--wrap);margin:48px auto 0;padding:0 24px}
/* category picker on the blog page */
.module-widget .widget_categories{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.widgettitle{font-size:16px;font-weight:500;color:var(--ink-3);letter-spacing:-.01em;margin:0}
.postform{appearance:none;-webkit-appearance:none;font:inherit;font-size:16px;color:var(--ink);height:48px;padding:0 44px 0 20px;border-radius:999px;border:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%230f0f0e' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") right 18px center/12px no-repeat;box-shadow:0 0 0 1px rgba(20,14,41,.06),var(--shadow-card);cursor:pointer}
[data-hero]:has(.module-post) .row_inner>.module_column>.module-post{margin-top:40px}
[data-hero]:has(.module-post) .module-fancy-heading{text-align:center}

/* ---------- Single blog post ---------- */
body.single-post #layout,body.single-portfolio #layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,72px);max-width:1200px;margin:0 auto;padding:clamp(130px,13vw,170px) 24px clamp(80px,9vw,120px)}
body.single-portfolio #layout{grid-template-columns:minmax(0,1fr)}
body.single-portfolio article.portfolio .post-content>.post-title{font-size:clamp(36px,4.4vw,58px);line-height:1.04;letter-spacing:-.045em;margin:0 0 28px;text-wrap:balance}
body.single-post #content{min-width:0}
body.single-post article.post>.post-image{margin:0 0 32px;border-radius:28px;overflow:hidden;padding:8px;background:var(--tray)}
body.single-post article.post>.post-image img{display:block;width:100%;border-radius:21px}
body.single-post article.post .post-content-inner>.post-title{font-size:clamp(36px,4.4vw,58px);line-height:1.04;letter-spacing:-.045em;margin:0 0 18px}
body.single-post .post-content-inner>.post-meta{margin-bottom:32px}
body.single-post .entry-content .module_row,body.single-portfolio .entry-content .module_row{padding:0;margin:0 0 28px}
body.single-post .entry-content .row_inner,body.single-portfolio .entry-content .row_inner{max-width:none}
body.single-post .entry-content .module_row[data-tone=dark]{padding:clamp(28px,4vw,48px);margin:0 0 28px}
body.single-post .entry-content .tb_text_wrap{font-size:18px;line-height:1.75}
body.single-post .entry-content .tb_text_wrap h2{font-size:clamp(28px,2.8vw,36px);margin:1.6em 0 .55em;letter-spacing:-.035em}
body.single-post .entry-content .tb_text_wrap h3{font-size:24px;margin:1.5em 0 .5em}
body.single-post .entry-content .tb_text_wrap h4{font-size:20px;margin:1.4em 0 .5em}
body.single-post .entry-content .tb_text_wrap>:first-child{margin-top:0}
body.single-post .entry-content .module-image img{border-radius:20px}
body.single-post .entry-content .module-layout-part{margin-top:40px}
body.single-post .entry-content .module-layout-part .module_row{padding:0!important;margin:0 0 16px}
body.single-post .entry-content .module-layout-part .row_inner{padding:clamp(24px,3vw,36px);border-radius:var(--r-tray);background:var(--card);box-shadow:var(--shadow-card)}
body.single-post .entry-content .module-layout-part .module_subrow{align-items:center}
body.single-post .entry-content .module-layout-part .module-image img{max-width:160px;border-radius:16px}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:48px}
.post-nav a{display:flex;flex-direction:column;gap:6px;height:100%;padding:22px 24px;border-radius:22px;background:var(--card);box-shadow:var(--shadow-card);font-size:17px;line-height:1.4;color:var(--ink);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.post-nav a:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.post-nav .arrow::before{font-size:16px;color:var(--ink-3)}
.post-nav .prev .arrow::before{content:"← Previous"}
.post-nav .next{grid-column:2;text-align:right}
.post-nav .next .arrow::before{content:"Next →"}
.related-posts{margin-top:64px}
.related-title{font-size:clamp(28px,3vw,38px);letter-spacing:-.035em;margin-bottom:24px}
.related-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.related-posts>.related-title{grid-column:1/-1;margin-bottom:8px}
.related-posts article{margin:0;padding:8px;border-radius:24px;background:var(--card);box-shadow:var(--shadow-card)}
.related-posts .post-image{margin:0}
.related-posts .post-image img{display:block;width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;border-radius:17px}
.related-posts .post-content{padding:14px 12px 10px;display:flex;flex-direction:column;gap:10px}
.related-posts .post-title{font-size:19px;line-height:1.3;letter-spacing:-.02em;font-weight:450;margin:0}
.related-posts .entry-content:empty{display:none}
#sidebar{min-width:0}
#sidebar .widget{position:sticky;top:110px;padding:24px;border-radius:var(--r-tray);background:var(--card);box-shadow:var(--shadow-card);max-height:calc(100vh - 140px);overflow:auto;overscroll-behavior:contain}
#sidebar .widgettitle{font-size:16px;color:var(--ink-3);margin:0 0 12px}
#sidebar ul{list-style:none;margin:0;padding:0}
#sidebar li{margin:0;padding:12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
#sidebar li:first-child{border-top:0}
#sidebar li a{font-size:16px;line-height:1.4;color:var(--ink);font-weight:450}
#sidebar li a[aria-current]{color:var(--violet)}
#sidebar li a:hover{color:var(--ink-2)}
#sidebar .post-date{font-size:16px}
.project-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:8px;border-radius:var(--r-tray);background:var(--tray);margin:0 0 32px}
.project-meta>div{padding:18px 20px;border-radius:18px;background:var(--card);display:flex;flex-direction:column;gap:4px;font-size:17px}
.project-meta strong{font-size:16px;font-weight:500;color:var(--ink-3)}

/* ---------- Footer ---------- */
.g-footer{padding:16px}
.g-footer-panel{position:relative;overflow:hidden;isolation:isolate;padding:clamp(48px,6vw,88px) clamp(24px,6vw,88px) 28px;border-radius:var(--r-panel);background:var(--panel);color:rgba(255,255,255,.72)}
.g-footer-panel::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain);opacity:.12;mix-blend-mode:overlay}
.g-footer-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(40px,6vw,96px)}
.g-footer-title{margin:0 0 14px;font-size:clamp(32px,3.6vw,48px);line-height:1.06;letter-spacing:-.04em;color:#fff;text-wrap:balance}
.g-footer-lead{margin:0 0 28px;font-size:18px}
.g-footer-actions{display:flex;flex-wrap:wrap;gap:10px}
.g-footer-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.g-footer-cols ul{list-style:none;margin:0;padding:0}
.g-footer-cols li{margin:0 0 10px}
.g-footer-cols a{font-size:16px;color:rgba(255,255,255,.72);transition:color .2s}
.g-footer-cols a:hover{color:#fff}
.g-footer .g-btn-ghost{color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.g-footer .g-btn-ghost:hover{background:#fff;color:var(--plum)!important}
.g-footer-h{margin:0 0 16px;font-size:16px;color:#b3a2ff}
.g-footer-h.g-mt{margin-top:28px}
.g-footer-addr{font-size:16px;line-height:1.6;margin:0}
.g-footer-phone{font-size:20px!important;color:#fff!important;letter-spacing:-.02em}
.g-footer-mid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;margin-top:clamp(48px,6vw,72px);padding-top:32px;border-top:1px solid rgba(255,255,255,.12)}
.g-badges{display:flex;align-items:center;gap:24px}
.g-badges a{display:inline-flex;padding:8px 14px;border-radius:14px;background:#fff}
.g-badges img{height:36px;width:auto}
.g-social{display:flex;gap:8px;list-style:none;margin:0;padding:0}
.g-social li{margin:0}
.g-social a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:transform .4s var(--ease),background .25s}
.g-social a:hover{transform:translateY(-2px);background:var(--violet)}
.g-social svg{width:18px;height:18px;fill:#fff}
.g-wordmark{display:none}
.g-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px;font-size:16px;color:rgba(255,255,255,.55)}
.g-footer-bottom>span+span{display:flex;gap:24px}
.g-footer-bottom a:hover{color:#fff}
.g-actionbar{display:none}

/* ---------- Motion ---------- */
html.cd-js [data-reveal]{opacity:0;transform:translate3d(0,32px,0);filter:blur(8px);transition:opacity 1s var(--ease),transform 1.1s var(--ease),filter 1s var(--ease);transition-delay:var(--d,0s)}
html.cd-js [data-reveal].is-in{opacity:1;transform:none;filter:none}
@keyframes gRise{from{opacity:0;transform:translate3d(0,26px,0);filter:blur(10px)}to{opacity:1;transform:none;filter:none}}
html.cd-js [data-hero] .row_inner>.module_column>.module,html.cd-js [data-hero] .module_subrow:first-child>.module_column>.module{animation:gRise 1.1s var(--ease) both}
html.cd-js [data-hero] .module_column>.module:nth-child(2){animation-delay:.08s}
html.cd-js [data-hero] .module_column>.module:nth-child(3){animation-delay:.16s}
html.cd-js [data-hero] .module_column>.module:nth-child(4){animation-delay:.24s}
html.cd-js [data-hero] .module_column>.module:nth-child(5){animation-delay:.32s}
html.cd-js [data-hero] .module_column>.module:nth-child(n+6){animation-delay:.4s}
html.cd-js [data-hero] .module_subrow:first-child>.module_column+.module_column>.module{animation-delay:.3s}
html.cd-js .g-nav-pill{animation:gDrop .9s var(--ease) both}
@keyframes gDrop{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  html.cd-js [data-reveal]{opacity:1;transform:none;filter:none;transition:none}
  html.cd-js [data-hero] .module,html.cd-js .g-nav-pill{animation:none!important}
  [data-kind=logos]>.g-track{animation:none}
  *{scroll-behavior:auto!important}
}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .g-menu>ul>li>a{padding:0 10px}
  [data-kind=tray]:has(>.module_column:nth-child(4))>.module_column{flex:1 1 calc(50% - 4px)}
  .module_column:has(>.module-accordion),.module-cd-accordion.has-intro{grid-template-columns:1fr;row-gap:28px}
  .module_column:has(>.module-accordion)>.module-accordion{grid-column:1;grid-row:auto}
  .cd-acc-intro{position:static}
  body.single-post #layout{grid-template-columns:1fr}
  #sidebar .widget{position:static;max-height:none}
  .g-footer-top{grid-template-columns:1fr}
}
@media (max-width:960px){
  .g-menu,.g-nav-cta{display:none}
  .g-nav-pill{height:60px;padding:0 8px 0 20px}
  .g-burger{display:grid;place-items:center;align-content:center;gap:5px;width:44px;height:44px;border:0;border-radius:50%;background:var(--plum);cursor:pointer;padding:0}
  .g-burger span{display:block;width:16px;height:1.5px;background:#fff;border-radius:2px;transition:transform .4s var(--ease)}
  .g-nav.is-open .g-burger span:first-child{transform:translateY(3.25px) rotate(45deg)}
  .g-nav.is-open .g-burger span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
  .g-mobile{display:block;position:fixed;top:84px;left:16px;right:16px;pointer-events:none;opacity:0;transform:translateY(-10px) scale(.98);transform-origin:50% 0;transition:opacity .35s var(--ease),transform .45s var(--ease)}
  .g-nav.is-open .g-mobile{opacity:1;transform:none;pointer-events:auto}
  .g-mobile-panel{max-height:calc(100dvh - 104px);overflow:auto;overscroll-behavior:contain;padding:12px;border-radius:28px;background:#fff;box-shadow:0 0 0 1px rgba(20,14,41,.05),0 30px 60px -20px rgba(36,26,74,.35)}
  .g-mobile-list{list-style:none;margin:0;padding:0}
  .g-mobile-list>li{margin:0;border-bottom:1px solid var(--line)}
  .g-mobile-list>li:last-child{border-bottom:0}
  .g-mobile-list>li>a,.g-mobile-list summary{display:flex;align-items:center;justify-content:space-between;padding:16px 12px;font-size:20px;letter-spacing:-.02em;color:var(--ink);cursor:pointer;list-style:none}
  .g-mobile-list summary::-webkit-details-marker{display:none}
  .g-plus{width:22px;height:22px;background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));background-size:12px 1.5px,1.5px 12px;background-position:center;background-repeat:no-repeat;transition:transform .4s var(--ease),background-size .4s}
  .g-mobile-list details[open] .g-plus{transform:rotate(180deg);background-size:12px 1.5px,1.5px 0}
  .g-mobile-list details ul{list-style:none;margin:0 0 12px;padding:0 4px}
  .g-mobile-list details li{margin:0}
  .g-mobile-list details a{display:block;padding:9px 10px;font-size:17px;color:var(--ink-2);border-radius:12px}
  .g-mobile-list .g-m-head{display:block;padding:12px 10px 4px;font-size:16px;color:var(--ink-3)!important}
  .g-mobile-foot{display:grid;gap:8px;padding:12px 4px 4px}
  .g-mobile-foot .g-btn{width:100%}
  .g-mobile-foot .g-btn-primary{justify-content:space-between}
}

/* ---------- Phone ---------- */
@media (max-width:768px){
  body{font-size:17px}
  .module_row{padding:var(--sec) 16px}
  .module_row[data-hero]{padding-top:124px;padding-bottom:64px}
  .module_row[data-tone=dark]{margin:12px 8px;padding:64px 20px;border-radius:28px}
  .row_inner,.module_subrow{flex-direction:column;flex-wrap:nowrap}
  .module_column{flex:1 1 auto!important;width:100%}
  [data-kind=tray]>.module_column{min-height:0;padding-top:72px!important}
  [data-kind=tray]>.module_column:has(.module-counter),[data-kind=tray]>.module_column:first-child:has(.module-buttons){padding-top:26px!important}
  [data-kind=split]>.module_column{padding:28px 22px}
  [data-kind=quotes]>.module_column{padding-top:76px}
  [data-kind=logos]{flex-direction:row!important}
  [data-kind=logos] img{height:36px}
  .g-display,.g-display-fh .main-head{font-size:clamp(40px,11.5vw,56px)!important;letter-spacing:-.045em!important}
  [data-hero] .module_subrow:first-child>.module_column:not(:has(.cd-form-slot)) .g-display,[data-hero] .module_subrow:first-child:has(>.module_column:nth-child(2)) .g-display-fh .main-head{font-size:clamp(38px,10.5vw,52px)!important}
  [data-hero] .tb_text_wrap>p{font-size:18px}
  .g-hero-frame{padding:6px;border-radius:24px}
  .g-hero-frame video{aspect-ratio:4/3;border-radius:19px}
  .module-accordion .tb_title_accordion,.cd-acc summary{padding:18px 18px;font-size:18px}
  .cd-acc-title{font-size:18px!important}
  .module-accordion .accordion-content>*{padding:0 18px}
  .cd-acc-body{padding:0 18px 20px}
  .loops-wrapper,.loops-wrapper.grid4,.loops-wrapper.grid2,.related-posts{grid-template-columns:1fr}
  body.single-post #layout,body.single-portfolio #layout{padding:116px 16px 72px}
  .post-nav{grid-template-columns:1fr}
  .post-nav .next{grid-column:1}
  .g-footer{padding:8px 8px 96px}
  .g-footer-panel{border-radius:28px;padding:48px 22px 24px}
  .g-footer-cols{grid-template-columns:1fr 1fr}
  .g-footer-cols>div:last-child{grid-column:1/-1}
  .g-footer-bottom{flex-direction:column}
  .g-actionbar{display:flex;gap:8px;position:fixed;left:12px;right:12px;bottom:12px;z-index:90;padding:6px;border-radius:999px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 0 0 1px rgba(20,14,41,.06),0 16px 36px -14px rgba(36,26,74,.35);transform:translateY(calc(100% + 24px));transition:transform .55s var(--ease)}
  .g-actionbar.is-shown{transform:none}
  .g-actionbar .g-btn{flex:1;min-height:50px}
  .g-actionbar .g-btn-ghost{padding:0 18px;gap:8px}
  .g-actionbar .g-btn-primary{justify-content:space-between;padding-left:22px}
  .g-nav.is-open~* .g-actionbar{display:none}
}

/* ---------- Feature icons (sign-up steps) ---------- */
.module-feature-image{text-align:left!important;margin-bottom:18px}
.module-feature-chart-html5{position:relative;display:inline-block;width:64px;height:64px}
.module-feature-chart-html5>svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.module-feature-chart-html5 circle{fill:none}
.tb_feature_fill{stroke:rgba(20,14,41,.08)}
.tb_feature_stroke{stroke:var(--violet)!important}
.chart-html5-circle{position:absolute;inset:0;display:grid;place-items:center}
.module-feature-icon{display:grid;place-items:center;font-size:22px;color:var(--ink)}
.module-feature-content{text-align:left!important}
.module-feature-title{font-size:22px;margin:0 0 8px}
/* embedded forms outside the hero sit on a white card */
.module-plain-text:has(.cd-form-slot){width:100%;max-width:760px;margin-inline:auto;padding:clamp(20px,3vw,36px);border-radius:30px;background:#fff;box-shadow:0 0 0 1px rgba(20,14,41,.04),var(--shadow-lift)}
[data-hero] .module_column:has(>.module-plain-text .cd-form-slot) .module-plain-text{padding:0;box-shadow:none;max-width:none}


/* ---------- Oct 19: typography rules ---------- */
p,li{text-wrap:pretty}
.sub-head,.g-subtitle,.counter-text,.image-title,.cd-acc-title{text-wrap:balance}
/* centred text keeps its box centred too */
.tb_text_wrap>[style*="center"],[data-hero][data-video] .tb_text_wrap>p,.tf_textc>*,.module-text:has(>.tb_text_wrap>:is(h1,h2)[style*="center"]) p{margin-inline:auto}
/* a button that closes a block of long-form text sits centred under it */
.col-full>.module-text+.module-buttons:not([data-align]):last-child{justify-content:center}
[data-hero] .module_subrow .module-buttons:not([data-align]){justify-content:flex-start}
.module_column:has(>.module-text[style*="center"],>.module-text :is(h1,h2)[style*="center"])>.module-buttons:not([data-align]){justify-content:center}

/* ---------- Button rows (case studies) ---------- */
[data-kind=btnrow]{justify-content:center;gap:10px!important;flex-direction:row!important;flex-wrap:wrap!important}
[data-kind=btnrow]>.module_column{flex:0 0 auto!important;width:auto!important}
[data-kind=btnrow] .module-buttons{justify-content:center}
[data-kind=btnrow] .g-btn-ghost{background:#fff;box-shadow:0 0 0 1px rgba(20,14,41,.08),var(--shadow-card);padding:7px 22px}
[data-kind=btnrow] .g-btn-ghost:hover{background:var(--violet);color:#fff!important}

/* ---------- Website portfolio grid ---------- */
[data-kind=gallery]{gap:clamp(28px,3.5vw,48px) clamp(20px,2.5vw,32px)!important}
[data-kind=gallery]>.module_column{flex:1 1 calc(50% - 32px);gap:14px;padding:8px 8px 18px;border-radius:26px;background:var(--card);box-shadow:var(--shadow-card);transition:transform .6s var(--ease),box-shadow .6s var(--ease)}
[data-kind=gallery]>.module_column:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
[data-kind=gallery] .module-image img{width:100%;border-radius:19px}
[data-kind=gallery] .module-text{padding:0 12px;font-size:16px;text-align:left}
[data-kind=gallery] .module-text *{text-align:left!important}

/* ---------- Card trays: consistent numbering, buttons on the baseline ---------- */
[data-kind=tray]>.module_column:first-child:has(.module-buttons){justify-content:flex-start;background:var(--card);box-shadow:var(--shadow-card);padding-top:84px!important}
[data-kind=tray]>.module_column:first-child:has(.module-buttons)::before{display:grid}
[data-kind=tray]:not(:has(>.module_column:nth-child(n+2) .module-buttons))>.module_column:first-child:has(.module-buttons){justify-content:space-between;background:transparent;box-shadow:none;padding-top:clamp(24px,2.6vw,34px)!important}
[data-kind=tray]:not(:has(>.module_column:nth-child(n+2) .module-buttons))>.module_column:first-child:has(.module-buttons)::before{display:none}
[data-kind=tray]>.module_column>.module-buttons:last-child{margin-top:auto;padding-top:6px}
[data-kind=tray]>.module_column:not(:first-child) .module-text h2,[data-kind=tray]:has(>.module_column:nth-child(n+2) .module-buttons)>.module_column .module-text h2{font-size:24px;line-height:1.25;letter-spacing:-.025em;font-weight:450}

/* ---------- Forms (HubSpot) ---------- */
.hs-form,.hbspt-form form{font-family:inherit;font-size:16px;color:var(--ink)}
.hs-form fieldset{max-width:none!important;border:0;padding:0;margin:0}
.hs-form .hs-form-field{margin:0 0 16px!important;padding:0 2px}
.hs-form fieldset.form-columns-2 .hs-form-field{width:50%!important;float:left;padding:0 6px!important}
.hs-form fieldset.form-columns-2 .hs-form-field:first-child{padding-left:2px!important}
.hs-form fieldset.form-columns-2 .hs-form-field:last-child{padding-right:2px!important}
.hs-form fieldset::after{content:"";display:table;clear:both}
.hs-form label{display:block;margin:0 0 6px;font-size:16px;font-weight:500;color:var(--ink)}
.hs-form .input{margin:0!important}
.hs-form .hs-input:not([type=checkbox]):not([type=radio]){width:100%!important;max-width:none!important;min-height:50px;padding:12px 16px!important;border-radius:14px!important;border:1px solid rgba(20,14,41,.14)!important;background:#fff;font:inherit;font-size:16px;color:var(--ink);box-shadow:none;outline:0;transition:border-color .2s,box-shadow .2s;text-indent:0!important}
.hs-form textarea.hs-input{min-height:120px;resize:vertical}
.hs-form select.hs-input{appearance:none;-webkit-appearance:none;padding-right:40px!important;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%23140e29' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") right 16px center/12px no-repeat}
.hs-form .hs-input:focus{border-color:var(--violet)!important;box-shadow:0 0 0 4px rgba(108,71,255,.15)!important}
.hs-form .hs-error-msgs{list-style:none;margin:6px 0 0;padding:0;font-size:16px;color:#c0262d}
.hs-form .legal-consent-container,.hs-form .hs-richtext{font-size:16px;color:var(--ink-2)}
.hs-form .hs-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:0 26px;border:0;border-radius:999px;background:var(--accent);color:#fff;font:inherit;font-size:16px;font-weight:500;cursor:pointer;box-shadow:0 10px 24px -10px rgba(254,101,0,.75);transition:background .25s,transform .3s var(--ease)}
.hs-form .hs-button:hover{background:#ff7414;transform:translateY(-1px)}
.hs-form .actions{margin:8px 0 0;padding:0}
.hbspt-form iframe{width:100%!important}
.cd-form-slot{overflow:visible}

/* ---------- Location pages: hero and trust row ---------- */
[data-hero] .module_subrow:first-child:has(>.module_column .cd-form-slot){align-items:flex-start!important}
[data-hero] .module_subrow:first-child>.module_column:has(>.module-plain-text .cd-form-slot){margin-top:62px}


/* ---------- Fact-checked banner and author strip ---------- */
.module-image:has(img[src*="Fact-Checked"]){flex:none}
.module-image:has(img[src*="Fact-Checked"]) .image-wrap{width:150px;margin:0 auto;padding:0;background:none;border-radius:0}
.module-image:has(img[src*="Fact-Checked"]) img{display:block;width:150px!important;height:auto!important;max-height:none!important;border-radius:0!important;mix-blend-mode:normal;filter:none!important}
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"]){flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:24px!important;padding:24px 28px!important;border-radius:var(--r-tray);background:#fff!important;box-shadow:0 0 0 1px rgba(20,14,41,.05),var(--shadow-card)!important}
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"])>.module_column{padding:0!important;background:none!important;box-shadow:none!important;flex:1 1 auto!important;width:auto!important}
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"])>.module_column:has(>.module-image img[src*="Fact-Checked"]){flex:0 0 auto!important}
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"])>.module_column::after{display:none}
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"]) .module-text :is(h2,h3,h4,p:first-child strong){font-size:20px;line-height:1.3;letter-spacing:-.02em;font-weight:500}
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"]) .module-text{font-size:16px;max-width:none;margin:0}
.module-layout-part[data-part$="author-bio"],.module-layout-part[data-part$="author-section"]{margin-top:24px}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module_row{padding:0!important;margin:0!important}
:is([data-part$="author-bio"],[data-part$="author-section"]) .row_inner,:is([data-part$="author-bio"],[data-part$="author-section"]) .module_subrow{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:20px!important;padding:20px 24px!important;border-radius:22px;background:#fff!important;box-shadow:0 0 0 1px rgba(20,14,41,.05),var(--shadow-card)!important}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module_column{padding:0!important;background:none!important;box-shadow:none!important;flex:1 1 auto!important;width:auto!important;min-height:0}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module_column:has(>.module-image){flex:0 0 72px!important}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module_column::after{display:none}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module-image img{width:72px!important;height:72px!important;max-width:none!important;object-fit:cover;border-radius:50%!important;filter:none!important}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module-image .image-wrap{text-align:left}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module-text{font-size:16px;line-height:1.55;max-width:none;margin:0}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module-text :is(h2,h3,h4){font-size:16px!important;line-height:1.3;font-weight:500;letter-spacing:0;color:var(--violet);margin:0 0 4px!important}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module-text p{font-size:16px!important;margin:0}

/* ---------- Blog post: table of contents + recent posts ---------- */
.g-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.g-toc li{margin:0;counter-increment:toc}
.g-toc a{display:flex;gap:10px;padding:8px 10px;border-radius:12px;font-size:16px;line-height:1.4;color:var(--ink-2);transition:background .2s,color .2s}
.g-toc a::before{content:counter(toc,decimal-leading-zero);flex:none;font-size:16px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.g-toc a:hover{background:var(--violet-soft);color:var(--violet)}
.g-toc a.is-current{background:var(--violet-soft);color:var(--violet)}
.g-toc a.is-current::before{color:var(--violet)}
.g-toc-h{margin:0 0 10px;padding:0 10px;font-size:16px;color:var(--ink-3)}
.g-toc-side{display:none}
.g-toc-inline{margin:0 0 32px;border-radius:22px;background:#fff;box-shadow:0 0 0 1px rgba(20,14,41,.05),var(--shadow-card)}
.g-toc-inline summary{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;font-size:18px;font-weight:500;color:var(--ink);cursor:pointer;list-style:none}
.g-toc-inline summary::-webkit-details-marker{display:none}
.g-toc-inline .g-plus{width:22px;height:22px;background-image:linear-gradient(var(--ink),var(--ink)),linear-gradient(var(--ink),var(--ink));background-size:12px 1.5px,1.5px 12px;background-position:center;background-repeat:no-repeat;transition:transform .4s var(--ease),background-size .4s}
.g-toc-inline details[open] .g-plus{transform:rotate(180deg);background-size:12px 1.5px,1.5px 0}
.g-toc-inline ol{padding:0 12px 14px}
@media (min-width:1181px){
  body.single-post.has-toc #layout{grid-template-columns:240px minmax(0,1fr) 260px;max-width:1360px}
  body.single-post.has-toc .g-toc-side{display:block;grid-column:1;grid-row:1;position:sticky;top:110px;align-self:start;max-height:calc(100vh - 140px);overflow:auto;overscroll-behavior:contain;padding:16px 8px 16px 6px;border-radius:var(--r-tray);background:#fff;box-shadow:0 0 0 1px rgba(20,14,41,.05),var(--shadow-card)}
  body.single-post.has-toc #content{grid-column:2;grid-row:1}
  body.single-post.has-toc #sidebar{grid-column:3;grid-row:1}
  body.single-post.has-toc .g-toc-inline{display:none}
}
body.single-post #sidebar{align-self:start;position:sticky;top:110px}
#sidebar .widget{position:static;max-height:calc(100vh - 140px);overflow:auto;overscroll-behavior:contain;padding:18px 10px 10px;border-radius:var(--r-tray);background:#fff;box-shadow:0 0 0 1px rgba(20,14,41,.05),var(--shadow-card);scrollbar-width:thin;scrollbar-color:rgba(108,71,255,.3) transparent}
#sidebar .widgettitle{padding:0 12px}
#sidebar li{padding:0;border-top:0}
#sidebar li a{display:block;padding:10px 12px 2px;border-radius:12px 12px 0 0;font-size:16px;line-height:1.4;font-weight:450;color:var(--ink)}
#sidebar li .post-date{display:block;padding:0 12px 10px;font-size:16px;color:var(--ink-3)}
#sidebar li:hover{background:var(--violet-soft);border-radius:14px}
#sidebar li:hover a{color:var(--violet)}
#sidebar li a[aria-current]{color:var(--violet)}
#sidebar li:has(a[aria-current]){background:var(--violet-soft);border-radius:14px}
@media (max-width:1180px){body.single-post #sidebar{position:static}}

/* ---------- Case study cards ---------- */
.g-metric{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;aspect-ratio:16/10;padding:22px 24px;border-radius:19px;overflow:hidden;isolation:isolate;color:#fff;background:var(--panel)}
.g-metric.is-seo{background:radial-gradient(60% 80% at 100% 0%,rgba(143,115,255,.75),rgba(143,115,255,0) 65%),radial-gradient(50% 60% at 0% 100%,rgba(254,101,0,.35),rgba(254,101,0,0) 70%),linear-gradient(160deg,#5a3ae6 0%,#2b1f5c 100%)}
.g-metric::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain);opacity:.14;mix-blend-mode:overlay}
.g-metric-top{position:absolute;top:18px;left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.g-metric-client{font-size:16px;font-weight:500;color:rgba(255,255,255,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.g-metric-tag{flex:none;padding:3px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:16px;line-height:1.4;color:#fff}
.g-metric-num{font-size:clamp(48px,5vw,68px);line-height:1;letter-spacing:-.05em;font-weight:400;color:#fff;font-variant-numeric:tabular-nums}
.g-metric-label{font-size:19px;line-height:1.25;letter-spacing:-.02em;font-weight:500;color:#fff}
.g-metric-detail{font-size:16px;line-height:1.4;color:rgba(255,255,255,.72)}
.loops-wrapper>article:hover .g-metric{transform:none}
.module-portfolio .loops-wrapper .post-content{padding:16px 14px 12px}
.module-portfolio .loops-wrapper .post-title{font-size:19px}

/* ---------- Sign-up page ---------- */
body.page-id-4179 [data-hero] .module_subrow:first-child{flex-direction:column!important;align-items:center!important;gap:12px!important}
body.page-id-4179 [data-hero] .module_subrow:first-child>.module_column{width:100%;max-width:820px;flex:none!important}
body.page-id-4179 .g-subtitle{font-size:clamp(19px,1.8vw,22px)!important;color:var(--ink-2)!important}
body.page-id-4179 .g-subtitle a{color:var(--violet);text-decoration:none}
body.page-id-4179 [data-hero] .module-divider{display:none}
body.page-id-4179 [data-hero] .module_column>.module_subrow+.module_subrow{margin-top:28px}
body.page-id-4179 .module-plain-text:has(.cd-form-slot){max-width:640px}

@media (max-width:768px){
  [data-hero] .module_subrow:first-child>.module_column:has(>.module-plain-text .cd-form-slot){margin-top:0}
  [data-kind=gallery]>.module_column{flex-basis:100%}
  .hs-form fieldset.form-columns-2 .hs-form-field{width:100%!important;float:none;padding:0 2px!important}
  :is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"]){flex-direction:column!important;align-items:flex-start!important;padding:20px!important}
  :is([data-part$="author-bio"],[data-part$="author-section"]) :is(.row_inner,.module_subrow){align-items:flex-start!important;padding:18px!important}
  :is([data-part$="author-bio"],[data-part$="author-section"]) .module_column:has(>.module-image){flex-basis:56px!important}
  :is([data-part$="author-bio"],[data-part$="author-section"]) .module-image img{width:56px!important;height:56px!important}
}
/* keep banner rows inside the page width */
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"])>.module_column{flex:1 1 0%!important;min-width:0}
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"])>.module_column:has(>.module-image img[src*="Fact-Checked"]){flex:0 0 auto!important}
:is([data-part$="author-bio"],[data-part$="author-section"]) .module_column{flex:1 1 0%!important;min-width:0}
/* a sub-row that only holds a button stays close to the text above it */
.module_column>.module_subrow:not([data-kind]):has(>.module_column:only-child>.module-buttons:only-child){margin-top:4px}

.module_column>.g-trust{margin-top:calc(var(--block) - 28px)}
.module_column>.g-trust+.module_subrow{margin-top:calc(var(--block) - 20px)}
.loops-wrapper .post-title,.loops-wrapper .post-content{text-align:left}
.module.g-toc-inline{margin:8px 0 8px}


/* ---------- Oct 19 (2) ---------- */
/* trust row */
.g-trust{display:grid;grid-template-columns:repeat(2,minmax(150px,.7fr)) minmax(170px,.8fr) minmax(0,2.6fr);gap:8px;padding:8px;border-radius:var(--r-tray);background:var(--tray);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);margin-top:calc(var(--block) - 28px)}
.g-trust-tile{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:20px 22px;border-radius:var(--r-card);background:#fff;box-shadow:var(--shadow-card)}
.g-trust-num{font-size:44px;line-height:1;letter-spacing:-.045em;color:var(--violet)}
.g-trust-stars{display:flex;gap:2px}
.g-trust-stars svg{width:17px;height:17px;fill:#f4a91f}
.g-trust-cap{font-size:16px;line-height:1.35;color:var(--ink-2)}
.g-trust-partner{align-items:center}
.g-trust-partner img{width:100%;max-width:170px;height:auto}
.g-trust-awards{gap:14px}
.g-trust-label{margin:0;font-size:16px;color:var(--ink-3)}
.g-trust-awards ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:16px;list-style:none;margin:0;padding:0}
.g-trust-awards li{margin:0;display:flex;justify-content:center}
.g-trust-awards img{width:100%;max-width:130px;height:auto;mix-blend-mode:multiply}
.module_column>.g-trust+.module_subrow{margin-top:calc(var(--block) - 20px)}
@media (max-width:1100px){.g-trust{grid-template-columns:repeat(3,minmax(0,1fr))}.g-trust-awards{grid-column:1/-1}}
@media (max-width:640px){.g-trust{grid-template-columns:1fr 1fr}.g-trust-partner{grid-column:1/-1}.g-trust-partner img{max-width:200px}.g-trust-awards ul{grid-template-columns:repeat(3,minmax(0,1fr))}.g-trust-num{font-size:38px}}
/* fact-checked banner: plain white card, larger badge */
:is(.module_subrow,.row_inner):has(>.module_column>.module-image img[src*="Fact-Checked"]){gap:28px!important;padding:28px 32px!important}
/* pages written as plain text (privacy policy, terms) */
.g-page>.page-content>.g-prose{max-width:780px;margin:0 auto;padding:0 24px var(--sec)}
.g-page>.page-content>.g-prose:first-child{padding-top:clamp(132px,13vw,176px)}
.g-prose h1{font-size:clamp(40px,5vw,60px);letter-spacing:-.045em;margin-bottom:28px}
.g-prose h2{font-size:clamp(26px,2.6vw,32px);margin:1.6em 0 .5em}
.g-prose h3{font-size:22px;margin:1.4em 0 .5em}
.g-prose p,.g-prose li{font-size:17px;line-height:1.7}
/* footer logo */
.g-footer-logo{display:inline-flex;margin-bottom:28px}
.g-footer-logo img{height:30px;width:auto}
/* headings that are links keep the heading colour */
.tb_text_wrap :is(h1,h2,h3,h4,h5,h6) a{color:inherit;text-decoration:none}
.tb_text_wrap :is(h1,h2,h3,h4,h5,h6) a:hover{color:var(--violet)}
/* pages with a plain title (terms of service): title lines up with the text column */
.g-page>.page-title{max-width:808px!important;font-size:clamp(40px,5vw,60px)!important}
.g-page:has(>.page-title) .module_row:first-child{padding-top:24px}
.g-page:has(>.page-title) .tb_text_wrap h2{font-size:clamp(24px,2.4vw,30px);margin:1.5em 0 .5em}
.g-page:has(>.page-title) .tb_text_wrap h3{font-size:21px;margin:1.4em 0 .5em}
/* 404 */
body.error404 [data-kind=split] .module-image img{max-width:320px}
/* decorative divider lines from the old theme are not used in this design */
.module-divider{display:none!important}
/* two light sections in a row share their spacing instead of doubling it */
.module_row:not([data-tone=dark]):not([data-hero])+.module_row:not([data-tone=dark]):not([data-wrap]){padding-top:calc(var(--sec) * .4)}
/* post thumbnails fill their card */
.related-posts .post-image,.loops-wrapper .post-image{background:none}
.related-posts .post-image a,.loops-wrapper .post-image a{display:block}

/* ---------- Oct 19 (3) ---------- */
/* step cards that carry their own number icon don't get the extra badge */
[data-kind=tray]>.module_column:has(.module-feature)::before{display:none}
[data-kind=tray]>.module_column:has(.module-feature){padding-top:clamp(24px,2.6vw,34px)!important}
/* metric cards: the card carries the client name and type, so the card is just the metric */
.module-portfolio .loops-wrapper>article:has(.g-metric) .post-content,#loops-wrapper>article:has(.g-metric) .post-content{display:none}
.loops-wrapper>article:has(.g-metric){padding:6px}
.loops-wrapper>article:has(.g-metric) .g-metric{border-radius:20px}
/* website portfolio: more room between projects */
[data-kind=gallery]{column-gap:clamp(28px,4vw,56px)!important;row-gap:clamp(36px,4.5vw,64px)!important}
[data-kind=gallery]>.module_column{flex:1 1 calc(50% - clamp(28px,4vw,56px))!important;max-width:calc(50% - clamp(14px,2vw,28px))}
/* headings never spill out of their column: long words wrap only as a last resort (sizes are fitted by script) */
:is(h1,h2,h3,h4,.main-head){min-width:0;hyphens:manual}
/* headings in narrow card columns start at a card size (the fit script trims further if a word still does not fit) */
:is([data-kind^=tray],[data-kind=split],[data-kind=gallery])>.module_column:not(.col-full) :is(h1,h2,.main-head){font-size:clamp(26px,2.4vw,34px);line-height:1.12;letter-spacing:-.032em}
[data-kind=split]>.module_column :is(h1,h2,.main-head){font-size:clamp(28px,3vw,42px)}
/* service page heroes: text and image side by side on the page background, centred against each other */
[data-hero] [data-kind=split]{background:none!important;box-shadow:none!important;padding:0!important;gap:clamp(32px,5vw,80px)!important;align-items:center!important}
[data-hero] [data-kind=split]>.module_column{background:none!important;box-shadow:none!important;padding:0!important}
[data-hero] [data-kind=split]>.module_column:not(:has(>.module-text,>.module-fancy-heading,>.module-buttons)){padding:0!important}
[data-hero] [data-kind=split] .module-image{max-width:none}
[data-hero] [data-kind=split] .module-image img{width:100%;max-width:560px;border-radius:24px}
[data-hero] [data-kind=split] .g-display-fh .main-head,[data-hero] [data-kind=split] .g-display{font-size:clamp(40px,4.6vw,62px)!important}
[data-hero] [data-kind=split] .module-fancy-heading .sub-head{font-size:20px;color:var(--ink);max-width:none}
body.error404 [data-hero] [data-kind=split]>.module_column:first-child{background:#fff!important;padding:clamp(28px,4vw,48px)!important;border-radius:var(--r-card)!important;box-shadow:var(--shadow-card)!important}
@media (max-width:768px){[data-kind=gallery]>.module_column{max-width:none}}

/* tables in posts: tidy, and scroll sideways inside the column on narrow screens */
.tb_text_wrap table{display:block;width:auto!important;max-width:100%;height:auto!important;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:16px;box-shadow:0 0 0 1px rgba(20,14,41,.08);background:#fff}
.tb_text_wrap table td,.tb_text_wrap table th{min-width:150px;padding:12px 16px;font-size:16px;line-height:1.5}
.tb_text_wrap table tr:first-child td{background:var(--violet-soft);color:var(--ink)}
.tb_text_wrap table td p{margin:0;font-size:16px}
.tb_text_wrap table tr:last-child td{border-bottom:0}

/* floating call to action (desktop and tablet) */
.g-float{display:none}
@media (min-width:769px){
  .g-float{display:flex;align-items:center;gap:14px;position:fixed;right:20px;bottom:20px;z-index:90;padding:8px 8px 8px 10px;border-radius:999px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 0 0 1px rgba(20,14,41,.06),0 24px 48px -18px rgba(36,26,74,.4);opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transition:opacity .45s var(--ease),transform .55s var(--ease),visibility 0s .45s}
  .g-float.is-shown{opacity:1;visibility:visible;transform:none;transition-delay:0s}
  .g-float-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--violet-soft)}
  .g-float-icon svg{width:19px;height:19px;fill:var(--violet)}
  .g-float-text{display:flex;flex-direction:column;line-height:1.3;padding-right:4px}
  .g-float-text strong{font-size:16px;font-weight:500;color:var(--ink);white-space:nowrap}
  .g-float-text a{font-size:16px;color:var(--violet);white-space:nowrap}
  .g-float-text a:hover{text-decoration:underline;text-underline-offset:3px}
  .g-float .g-btn{min-height:48px}
  .g-float-close{display:grid;place-items:center;position:absolute;top:-8px;right:-6px;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--ink-2);box-shadow:0 0 0 1px rgba(20,14,41,.1),0 4px 10px -4px rgba(36,26,74,.3);cursor:pointer;opacity:0;transition:opacity .25s}
  .g-float:hover .g-float-close,.g-float-close:focus-visible{opacity:1}
  .g-float-close svg{width:12px;height:12px}
}

/* a single list of panels (no intro beside it) sits centred at a readable width */
.module-cd-accordion:not(.has-intro){max-width:860px;margin-inline:auto}

/* thank-you page: a compact confirmation (smaller heading and check mark) so the follow-up form below shows above the fold */
.tb_ktab764{padding-top:136px!important;padding-bottom:32px!important}
.tb_ktab764 .tb_xswx688 h1.g-display{font-size:clamp(34px,3.2vw,46px)!important;margin-bottom:14px!important}
.tb_ktab764 .tb_6590677{width:150px;max-width:100%;margin:0 auto}
.tb_d823830{padding-top:32px!important}
@media (max-width:680px){.tb_ktab764{padding-top:104px!important}.tb_ktab764 .tb_6590677{width:110px;margin-top:8px}}
