:root {
  --doyjo-navy-1000: #070b38;
  --doyjo-navy-950: #090d43;
  --doyjo-navy-900: #11176d;
  --doyjo-navy-800: #202a8b;
  --doyjo-blue: #1d55a7;
  --doyjo-electric: #00b8f5;
  --doyjo-electric-2: #55d7ff;
  --doyjo-violet: #6757ff;
  --doyjo-coral: #ff7a3d;
  --doyjo-ink: #101426;
  --doyjo-text: #334256;
  --doyjo-muted: #66758c;
  --doyjo-line: #d7e3f0;
  --doyjo-line-strong: #b9cce3;
  --doyjo-soft: #f6fbff;
  --doyjo-soft-blue: #eef8ff;
  --doyjo-white: #fff;
  --doyjo-shell: 1180px;
  --doyjo-copy: 820px;
  --doyjo-radius-sm: 14px;
  --doyjo-radius: 22px;
  --doyjo-radius-lg: 34px;
  --doyjo-shadow-xs: 0 7px 20px rgba(7, 11, 56, .055);
  --doyjo-shadow-sm: 0 16px 42px rgba(7, 11, 56, .09);
  --doyjo-shadow: 0 30px 82px rgba(7, 11, 56, .18);
  --doyjo-section: clamp(68px, 8vw, 112px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.doyjo-kadence-theme {
  margin: 0;
  background: #fff;
  color: var(--doyjo-text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.doyjo-kadence-theme img { display: block; max-width: 100%; height: auto; }
.doyjo-kadence-theme a { color: var(--doyjo-blue); text-underline-offset: .18em; }
.doyjo-kadence-theme p { margin: 0 0 1.05rem; }
.doyjo-kadence-theme h1,
.doyjo-kadence-theme h2,
.doyjo-kadence-theme h3,
.doyjo-kadence-theme h4 {
  margin-top: 0;
  color: var(--doyjo-navy-950);
  font-family: Poppins, Inter, sans-serif;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.doyjo-kadence-theme h1 { margin-bottom: 22px; font-size: 32px; line-height: 1.14; }
.doyjo-kadence-theme h2 { margin-bottom: 17px; font-size: 30px; line-height: 1.08; }
.doyjo-kadence-theme .doyjo-page-content h2 { font-size: 30px; }
.doyjo-kadence-theme h3 { margin-bottom: 11px; font-size: clamp(1.1rem, 1.7vw, 1.42rem); line-height: 1.2; letter-spacing: -.025em; }
.doyjo-shell { width: min(var(--doyjo-shell), calc(100% - 48px)); margin-inline: auto; }
.doyjo-copy-width { max-width: var(--doyjo-copy); }
.doyjo-main,
.doyjo-page,
.doyjo-page-content { width: 100%; margin: 0; padding: 0; max-width: none; }
.doyjo-default-page-header { padding-block: 80px 24px; }
.doyjo-page-content > :first-child { margin-top: 0; }
.doyjo-page-content > :last-child { margin-bottom: 0; }

/* Header */
.doyjo-topbar { position: relative; z-index: 102; min-height: 34px; display: grid; align-items: center; background: linear-gradient(90deg, var(--doyjo-navy-950), var(--doyjo-navy-800)); color: #fff; font-size: .78rem; font-weight: 700; }
.doyjo-topbar-inner { display: flex; justify-content: flex-end; align-items: center; gap: clamp(16px, 3vw, 32px); }
.doyjo-topbar a, .doyjo-topbar span { color: #fff; text-decoration: none; }
.doyjo-site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid rgba(215,227,240,.92); background: rgba(255,255,255,.975); box-shadow: 0 8px 24px rgba(7,11,56,.055); backdrop-filter: blur(18px); }
.admin-bar .doyjo-site-header { top: 32px; }
.doyjo-header-inner { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.doyjo-brand { flex: 0 0 auto; display: inline-flex; align-items: center; text-decoration: none; }
.doyjo-brand img, .doyjo-brand .custom-logo { width: 190px; max-width: 35vw; height: auto; }
.doyjo-brand .custom-logo-link { display: flex; }
.doyjo-primary-nav { display: flex; align-items: center; gap: 18px; }
.doyjo-menu, .doyjo-menu-fallback { display: flex; align-items: center; gap: clamp(13px, 1.6vw, 24px); margin: 0; padding: 0; list-style: none; }
.doyjo-menu li, .doyjo-menu-fallback li { position: relative; margin: 0; }
.doyjo-menu > li > a, .doyjo-menu-fallback a { display: inline-flex; align-items: center; min-height: 44px; color: var(--doyjo-navy-950); font-size: .86rem; font-weight: 800; text-decoration: none; }
.doyjo-menu > li > a:hover, .doyjo-menu > li > a:focus-visible, .doyjo-menu-fallback a:hover { color: var(--doyjo-blue); }
.doyjo-menu .menu-item-has-children > a::after { content: ''; width: 7px; height: 7px; margin: -4px 0 0 8px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); }
.doyjo-menu .sub-menu { position: absolute; top: calc(100% + 10px); left: 50%; z-index: 120; width: min(360px, 86vw); margin: 0; padding: 12px; visibility: hidden; opacity: 0; isolation: isolate; list-style: none; border: 1px solid var(--doyjo-line); border-radius: 22px; background-color: #fff; background-image: none; box-shadow: 0 30px 82px rgba(7,11,56,.24); backdrop-filter: none; transform: translate(-50%, 10px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.doyjo-menu .sub-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.doyjo-menu li:hover > .sub-menu, .doyjo-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.doyjo-menu .sub-menu a { display: block; padding: 11px 13px; border-radius: 12px; color: var(--doyjo-navy-950); font-size: .86rem; font-weight: 750; line-height: 1.3; text-decoration: none; }
.doyjo-menu .sub-menu a:hover, .doyjo-menu .sub-menu a:focus-visible { background: var(--doyjo-soft-blue); color: var(--doyjo-blue); }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu { left: 50%; width: min(880px, calc(100vw - 42px)); display: grid; grid-template-columns: 1.05fr .9fr .95fr; gap: 0; padding: 25px 28px; transform: translate(-39%, 10px); }
.doyjo-menu > .doyjo-menu-has-mega:hover > .sub-menu,
.doyjo-menu > .doyjo-menu-has-mega:focus-within > .sub-menu { transform: translate(-39%, 0); }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu > li { min-width: 0; padding: 0 22px; border-left: 1px solid var(--doyjo-line); }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu > li:first-child { padding-left: 0; border-left: 0; }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu > li:last-child { padding-right: 0; }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu > .doyjo-menu-group-heading > a { min-height: 0; padding: 0 0 10px; border-bottom: 1px solid #bce9fb; border-radius: 0; color: #0874cb; font-size: .7rem; font-weight: 900; letter-spacing: .15em; line-height: 1.25; text-transform: uppercase; pointer-events: none; }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu > .doyjo-menu-group-heading > a::after { display: none; }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu > li > .sub-menu { position: static; width: auto; display: grid; gap: 2px; margin: 8px 0 0; padding: 0; visibility: visible; opacity: 1; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu > li > .sub-menu::before { display: none; }
.doyjo-menu > .doyjo-menu-has-mega > .sub-menu > li > .sub-menu a { padding: 9px 4px; }
.doyjo-header-cta, .doyjo-button, .doyjo-kadence-theme .wp-block-button__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 22px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--doyjo-electric), var(--doyjo-electric-2));
  box-shadow: 0 13px 30px rgba(0,184,245,.22);
  color: var(--doyjo-navy-950) !important;
  font-family: Inter, sans-serif;
  font-size: .9rem;
  font-weight: 850;
  line-height: 1.1;
  text-align: center;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.doyjo-header-cta::before, .doyjo-button::before, .doyjo-kadence-theme .wp-block-button__link::before { content: ''; position: absolute; inset: 0; background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.48) 45%, transparent 67%); transform: translateX(-120%); transition: transform .45s ease; }
.doyjo-header-cta:hover, .doyjo-button:hover, .doyjo-kadence-theme .wp-block-button__link:hover { color: var(--doyjo-navy-950) !important; transform: translateY(-2px); box-shadow: 0 17px 36px rgba(0,184,245,.3); }
.doyjo-header-cta:hover::before, .doyjo-button:hover::before, .doyjo-kadence-theme .wp-block-button__link:hover::before { transform: translateX(120%); }
.doyjo-nav-toggle { display: none; min-height: 44px; padding: 10px 15px; border: 0; border-radius: 999px; background: var(--doyjo-navy-900); color: #fff; font: inherit; font-size: .85rem; font-weight: 800; }
.doyjo-nav-toggle-lines, .doyjo-nav-toggle-lines::before, .doyjo-nav-toggle-lines::after { width: 18px; height: 2px; display: block; border-radius: 2px; background: currentColor; }
.doyjo-nav-toggle-lines { position: relative; margin-left: 9px; }
.doyjo-nav-toggle-lines::before, .doyjo-nav-toggle-lines::after { content: ''; position: absolute; left: 0; }
.doyjo-nav-toggle-lines::before { top: -6px; }
.doyjo-nav-toggle-lines::after { top: 6px; }

/* Heroes */
.doyjo-hero { position: relative; overflow: hidden; padding: clamp(72px, 9vw, 128px) 0; background: radial-gradient(circle at 77% 18%, rgba(0,184,245,.24), transparent 30rem), radial-gradient(circle at 17% 110%, rgba(103,87,255,.22), transparent 34rem), linear-gradient(145deg, var(--doyjo-navy-1000), var(--doyjo-navy-900) 62%, #16238c); color: rgba(255,255,255,.82); }
.doyjo-hero::before { content: ''; position: absolute; width: 480px; height: 480px; right: -260px; top: -280px; border: 1px solid rgba(85,215,255,.2); border-radius: 50%; box-shadow: 0 0 0 50px rgba(85,215,255,.02), 0 0 0 100px rgba(85,215,255,.02); }
.doyjo-hero::after { content: ''; position: absolute; left: 6%; bottom: 8%; width: 120px; height: 120px; opacity: .18; background-image: radial-gradient(circle, #55d7ff 1.5px, transparent 1.5px); background-size: 14px 14px; }
.doyjo-hero > *, .doyjo-hero-grid { position: relative; z-index: 2; }
.doyjo-hero h1, .doyjo-hero h2, .doyjo-hero h3 { color: #fff; }
.doyjo-home-hero h1 { max-width: 760px; }
.doyjo-hero-grid { display: grid !important; grid-template-columns: minmax(0, 1.02fr) minmax(380px, .86fr); gap: clamp(48px, 7vw, 104px); align-items: center; }
.doyjo-hero-grid > .wp-block-column { min-width: 0; }
.doyjo-eyebrow { margin: 0 0 12px !important; color: var(--doyjo-electric-2); font-size: .72rem; font-weight: 900; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.doyjo-section .doyjo-eyebrow, .doyjo-section-heading .doyjo-eyebrow, .doyjo-service-card .doyjo-eyebrow, .doyjo-project-card .doyjo-eyebrow, .doyjo-portfolio-copy .doyjo-eyebrow { color: var(--doyjo-blue); }
.doyjo-hero-lede { max-width: 720px; color: rgba(255,255,255,.78); font-size: clamp(1.02rem, 1.35vw, 1.22rem); line-height: 1.7; }
.doyjo-hero-actions, .doyjo-hero .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 28px; }
.doyjo-button-ghost, .doyjo-outline-button .wp-block-button__link { border: 2px solid rgba(255,255,255,.8) !important; background: transparent !important; box-shadow: none !important; color: #fff !important; }
.doyjo-button-ghost:hover, .doyjo-outline-button .wp-block-button__link:hover { background: #fff !important; color: var(--doyjo-navy-950) !important; }
.doyjo-trust-list { display: flex !important; flex-wrap: wrap; gap: 9px; margin: 26px 0 0 !important; padding: 0 !important; list-style: none !important; }
.doyjo-trust-list li { min-height: 34px; display: inline-flex; align-items: center; margin: 0; padding: 7px 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.88); font-size: .8rem; font-weight: 750; backdrop-filter: blur(10px); }
.doyjo-inner-hero { padding-block: clamp(68px, 8vw, 108px); }
.doyjo-inner-hero-copy { max-width: 920px; }
.doyjo-inner-hero h1 { max-width: 900px; }
.doyjo-price-line { color: var(--doyjo-electric-2); font-weight: 850; }
.doyjo-hero-card { position: relative; overflow: hidden; padding: clamp(28px, 4vw, 42px); border: 1px solid rgba(255,255,255,.16); border-radius: var(--doyjo-radius-lg); background: rgba(255,255,255,.09); box-shadow: 0 30px 84px rgba(0,0,0,.24); color: rgba(255,255,255,.76); backdrop-filter: blur(18px); }
.doyjo-hero-card::before { content: ''; position: absolute; inset: 0 0 auto 0; height: 5px; background: linear-gradient(90deg, var(--doyjo-electric), var(--doyjo-violet)); }
.doyjo-visual-proof-card { min-width: 0; padding: clamp(24px,3vw,34px); }
.doyjo-visual-proof-card h2 { margin-bottom: 18px; font-size: clamp(1.28rem,2vw,1.8rem); line-height: 1.16; }
.doyjo-hero-project-grid { min-width: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin: 0 0 24px; }
.doyjo-hero-project { min-width: 0; overflow: hidden; display: grid; grid-template-rows: auto auto 1fr; border: 1px solid rgba(255,255,255,.22); border-radius: 16px; background: #fff; box-shadow: 0 16px 36px rgba(0,0,0,.16); color: var(--doyjo-navy-950) !important; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.doyjo-hero-project:hover { transform: translateY(-3px); box-shadow: 0 20px 44px rgba(0,0,0,.22); }
.doyjo-hero-project .doyjo-browser-bar { position: relative; inset: auto; height: 24px; padding-left: 10px; }
.doyjo-hero-project-image { overflow: hidden; display: grid; place-items: start center; aspect-ratio: 4 / 3; background: #eef4f8; }
.doyjo-hero-project-image img { width: 100%; height: 100%; object-fit: contain; object-position: top center; }
.doyjo-hero-project:hover img { transform: none; }
.doyjo-hero-project strong { display: block; padding: 10px 11px 11px; color: var(--doyjo-navy-950); font-size: .72rem; line-height: 1.25; }
.doyjo-hero-proof-list { display: grid; gap: 9px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.doyjo-hero-proof-list li { position: relative; margin: 0; padding: 10px 12px 10px 37px; border: 1px solid rgba(255,255,255,.14); border-radius: 13px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.9); font-size: .82rem; font-weight: 720; line-height: 1.4; }
.doyjo-hero-proof-list li::before { content: ''; position: absolute; left: 14px; top: 50%; width: 11px; height: 11px; border: 3px solid var(--doyjo-electric-2); border-radius: 50%; transform: translateY(-50%); }

/* The DOYJO replacement for Excel Dental's tooth-shaped media treatment. */
.doyjo-system-portal { position: relative; width: 100%; min-height: clamp(480px, 47vw, 620px); isolation: isolate; }
.doyjo-portal-ring { position: absolute; inset: 4% 4% 7% 9%; z-index: -1; border: 1px solid rgba(85,215,255,.28); border-radius: 46% 32% 43% 34%; transform: rotate(-3deg); box-shadow: 0 0 0 22px rgba(85,215,255,.025), 0 0 0 44px rgba(103,87,255,.025); }
.doyjo-portal-main { position: absolute; left: 3%; top: 1%; width: 72%; height: 84%; overflow: hidden; display: block; border: 11px solid rgba(255,255,255,.96); border-radius: var(--doyjo-radius-lg); background: #fff; box-shadow: var(--doyjo-shadow); color: #fff; text-decoration: none; transform: rotate(-1.5deg); }
.doyjo-portal-main::after, .doyjo-portal-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(7,11,56,.82), transparent 58%); }
.doyjo-portal-main img, .doyjo-portal-card img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .35s ease; }
.doyjo-portal-main span, .doyjo-portal-card span { position: absolute; left: 18px; right: 18px; bottom: 17px; z-index: 2; color: #fff; font-size: .85rem; font-weight: 850; line-height: 1.2; }
.doyjo-portal-main:hover img, .doyjo-portal-card:hover img { transform: scale(1.025); }
.doyjo-portal-card { position: absolute; right: 0; width: 48%; height: 34%; overflow: hidden; display: block; border: 9px solid #fff; border-radius: 27px; background: #fff; box-shadow: var(--doyjo-shadow); color: #fff; text-decoration: none; }
.doyjo-portal-card-one { top: 12%; transform: rotate(3deg); }
.doyjo-portal-card-two { right: 7%; bottom: 0; transform: rotate(-2deg); }
.doyjo-portal-node { position: absolute; z-index: 5; width: 16px; height: 16px; border: 3px solid var(--doyjo-navy-950); border-radius: 50%; background: var(--doyjo-electric-2); box-shadow: 0 0 0 5px rgba(85,215,255,.22); }
.doyjo-node-one { left: 1%; top: 45%; }
.doyjo-node-two { right: 3%; bottom: 20%; background: #a59cff; box-shadow: 0 0 0 5px rgba(165,156,255,.22); }

/* Shared sections and proof */
.doyjo-section { padding: var(--doyjo-section) 0; }
.doyjo-section-light { background: #fff; }
.doyjo-section-soft { background: radial-gradient(circle at 8% 6%, rgba(0,184,245,.1), transparent 25rem), linear-gradient(180deg, #eef8ff, #f8fcff); }
.doyjo-section-heading { max-width: 850px; margin-bottom: 38px; }
.doyjo-section-heading p:not(.doyjo-eyebrow) { color: var(--doyjo-muted); font-size: 1.04rem; }
.doyjo-centered-actions { justify-content: center; margin-top: 34px; }
.doyjo-proof-strip { position: relative; overflow: hidden; padding: 27px 0; border-bottom: 1px solid var(--doyjo-line); background: #fff; }
.doyjo-proof-strip::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 34%; background: linear-gradient(90deg, rgba(0,184,245,.08), transparent); }
.doyjo-proof-grid { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; background: var(--doyjo-line); }
.doyjo-proof-grid > div { min-height: 82px; display: grid; align-content: center; padding: 8px 26px; background: #fff; }
.doyjo-proof-grid strong { color: var(--doyjo-navy-950); font-family: Poppins, sans-serif; font-size: clamp(1.35rem, 2.4vw, 2.15rem); line-height: 1.1; }
.doyjo-proof-grid span { margin-top: 4px; color: var(--doyjo-muted); font-size: .8rem; font-weight: 700; }

/* Compact trust module */
.doyjo-trust-section { overflow: hidden; overflow: clip; padding-block: clamp(58px, 6vw, 82px); border-bottom: 1px solid var(--doyjo-line); background: radial-gradient(circle at 91% 5%, rgba(0,184,245,.09), transparent 25rem), #fff; }
.doyjo-trust-section > .doyjo-shell { min-width: 0; }
.doyjo-trust-heading { min-width: 0; display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(22px,3.5vw,42px); align-items: stretch; margin-bottom: 30px; }
.doyjo-trust-intro { min-width: 0; display: grid; align-content: center; padding: clamp(26px,4vw,44px); border: 1px solid var(--doyjo-line); border-radius: 22px; background: radial-gradient(circle at 8% 8%,rgba(0,184,245,.12),transparent 18rem),linear-gradient(145deg,#fff,#f5fbff); box-shadow: var(--doyjo-shadow-xs); }
.doyjo-trust-intro > * { width: 100%; max-width: var(--doyjo-copy); }
.doyjo-trust-intro .doyjo-text-link { width: fit-content; margin-top: 3px; }
.doyjo-google-proof { width: 100%; max-width: 100%; min-width: 0; min-height: 290px; overflow: hidden; overflow: clip; contain: layout paint; display: grid; align-content: start; padding: 22px 24px; isolation: isolate; border: 1px solid var(--doyjo-line); border-radius: 22px; background: #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-google-proof > strong { color: var(--doyjo-navy-950); font-family: Poppins, sans-serif; font-size: 1.04rem; }
.doyjo-google-proof > span { color: var(--doyjo-muted); font-size: .78rem; }
.doyjo-google-proof .ti-widget,
.doyjo-google-proof .ti-widget-container,
.doyjo-google-proof .ti-reviews-container,
.doyjo-google-proof .ti-reviews-container-wrapper,
.doyjo-google-reviews-widget .ti-widget,
.doyjo-google-reviews-widget .ti-widget-container,
.doyjo-google-reviews-widget .ti-reviews-container,
.doyjo-google-reviews-widget .ti-reviews-container-wrapper { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
.doyjo-compact-review-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.doyjo-compact-review-grid figure { min-width: 0; margin: 0; padding: 23px; border: 1px solid var(--doyjo-line); border-radius: 18px; background: #fff; box-shadow: var(--doyjo-shadow-xs); }
.doyjo-compact-review-grid blockquote { margin: 0; color: var(--doyjo-text); font-size: .9rem; line-height: 1.6; }
.doyjo-compact-review-grid figcaption { margin-top: 17px; }
.doyjo-compact-review-grid figcaption strong, .doyjo-compact-review-grid figcaption span { display: block; }
.doyjo-compact-review-grid figcaption strong { color: var(--doyjo-navy-950); font-size: .85rem; }
.doyjo-compact-review-grid figcaption span { color: var(--doyjo-muted); font-size: .72rem; }
.doyjo-client-logo-marquee { width: 100%; max-width: 100%; min-width: 0; overflow: hidden; overflow: clip; contain: layout paint; margin-top: 24px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.doyjo-client-logo-track { position: relative; width: max-content; max-width: none; display: flex; will-change: transform; animation: doyjo-logo-scroll 42s linear infinite; }
.doyjo-client-logo-group { flex: none; display: flex; gap: 12px; padding-right: 12px; }
.doyjo-client-logo-group > span { width: 150px; min-height: 72px; display: grid; place-items: center; padding: 12px; border: 1px solid #e2ebf5; border-radius: 13px; background: rgba(255,255,255,.86); }
.doyjo-client-logo-group img { width: auto; max-width: 100%; max-height: 44px; object-fit: contain; filter: grayscale(1); opacity: .72; }
.doyjo-client-logo-group .doyjo-client-name { color: var(--doyjo-muted); font-size: .69rem; font-weight: 800; line-height: 1.25; text-align: center; }
.doyjo-client-logo-marquee:hover .doyjo-client-logo-track { animation-play-state: paused; }
@keyframes doyjo-logo-scroll { to { transform: translateX(-50%); } }
.doyjo-google-reviews-section { border-bottom: 1px solid var(--doyjo-line); background: radial-gradient(circle at 90% 5%, rgba(0,184,245,.1), transparent 30rem), #fff; }
.doyjo-google-reviews-widget { width: 100%; max-width: 100%; min-width: 0; min-height: 230px; overflow: hidden; overflow: clip; contain: layout paint; padding: clamp(20px,3vw,34px); isolation: isolate; border: 1px solid var(--doyjo-line); border-radius: 24px; background: #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-review-outcomes { background: #fff; }

.doyjo-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.doyjo-service-card, .doyjo-price-card, .doyjo-process-grid article, .doyjo-project-card, .doyjo-testimonial, .doyjo-project-sidebar, .doyjo-proof-cards article { position: relative; overflow: hidden; border: 1px solid var(--doyjo-line); border-radius: var(--doyjo-radius); background: #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-service-card { min-height: 345px; display: flex; flex-direction: column; padding: 28px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.doyjo-service-card::before, .doyjo-price-card::before, .doyjo-project-card::before, .doyjo-testimonial::before { content: ''; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--doyjo-electric), var(--doyjo-violet)); }
.doyjo-service-card::after { content: ''; position: absolute; right: -70px; bottom: -70px; width: 170px; height: 170px; border-radius: 50%; background: radial-gradient(circle, rgba(0,184,245,.16), transparent 69%); }
.doyjo-service-card:hover, .doyjo-price-card:hover, .doyjo-project-card:hover { border-color: rgba(0,184,245,.48); box-shadow: var(--doyjo-shadow); transform: translateY(-6px); }
.doyjo-reveal { opacity: 0; transform: translateY(22px); transition: opacity .55s ease, transform .55s ease, box-shadow .2s ease, border-color .2s ease; }
.doyjo-reveal.doyjo-revealed { opacity: 1; transform: translateY(0); }
.doyjo-service-card h3 a, .doyjo-project-card h3 a, .doyjo-portfolio-copy h2 a { color: var(--doyjo-navy-950); text-decoration: none; }
.doyjo-service-card p:not(.doyjo-eyebrow), .doyjo-project-card p:not(.doyjo-eyebrow), .doyjo-portfolio-copy > p:not(.doyjo-eyebrow) { color: var(--doyjo-muted); }
.doyjo-service-card .doyjo-price-line { margin-top: auto; padding-top: 16px; color: var(--doyjo-navy-900); font-size: .92rem; font-weight: 850; }
.doyjo-card-node { width: 42px; height: 6px; display: block; margin-bottom: 23px; border-radius: 999px; background: linear-gradient(90deg, var(--doyjo-electric), var(--doyjo-violet)); }
.doyjo-text-link { margin-top: 8px; color: var(--doyjo-blue); font-size: .9rem; font-weight: 850; text-decoration: none; }
.doyjo-text-link span { display: inline-block; margin-left: 4px; transition: transform .16s ease; }
.doyjo-text-link:hover span { transform: translateX(4px); }

.doyjo-control-band { position: relative; overflow: hidden; padding: clamp(72px, 9vw, 118px) 0; background: radial-gradient(circle at 82% 12%, rgba(0,184,245,.24), transparent 30rem), linear-gradient(145deg, var(--doyjo-navy-950), var(--doyjo-navy-800)); color: rgba(255,255,255,.79); }
.doyjo-control-band::after { content: ''; position: absolute; inset: 0; opacity: .14; background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px); background-size: 62px 62px; }
.doyjo-control-band > * { position: relative; z-index: 2; }
.doyjo-control-band h2, .doyjo-control-band h3 { color: #fff; }
.doyjo-control-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,.7fr); gap: clamp(46px,7vw,100px); align-items: center; }
.doyjo-control-points, .doyjo-support-list { display: grid; gap: 12px; }
.doyjo-control-points span, .doyjo-support-list span { position: relative; display: block; padding: 15px 18px 15px 48px; border: 1px solid rgba(255,255,255,.15); border-radius: 15px; background: rgba(255,255,255,.07); color: #fff; font-weight: 750; }
.doyjo-control-points span::before, .doyjo-support-list span::before { content: ''; position: absolute; left: 18px; top: 50%; width: 14px; height: 14px; border: 3px solid var(--doyjo-electric-2); border-radius: 50%; transform: translateY(-50%); }
.doyjo-button-light { background: #fff !important; color: var(--doyjo-navy-950) !important; box-shadow: 0 14px 34px rgba(0,0,0,.18); }

.doyjo-process-section { background: #fff; }
.doyjo-process-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.doyjo-process-grid article { min-height: 230px; padding: 26px; }
.doyjo-process-grid article > span { width: 38px; height: 38px; display: grid; place-items: center; margin-bottom: 28px; border-radius: 50%; background: linear-gradient(135deg, var(--doyjo-electric), var(--doyjo-electric-2)); color: var(--doyjo-navy-950); font-size: .78rem; font-weight: 900; }
.doyjo-process-grid article p { color: var(--doyjo-muted); }

.doyjo-support-card { display: grid; grid-template-columns: minmax(0,1fr) minmax(320px,.72fr); gap: clamp(40px,6vw,84px); align-items: center; padding: clamp(32px,5vw,58px); border: 1px solid var(--doyjo-line); border-radius: var(--doyjo-radius-lg); background: radial-gradient(circle at 92% 10%, rgba(0,184,245,.15), transparent 18rem), #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-support-list span { border-color: var(--doyjo-line); background: var(--doyjo-soft); color: var(--doyjo-navy-950); }
.doyjo-support-list span::before { border-color: var(--doyjo-electric); }

.doyjo-about-grid, .doyjo-project-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(310px,390px); gap: clamp(42px,7vw,90px); align-items: start; }
.doyjo-about-grid .doyjo-hero-card { background: linear-gradient(145deg, var(--doyjo-navy-950), var(--doyjo-navy-800)); }
.doyjo-check-list { display: grid; gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.doyjo-check-list li { position: relative; padding-left: 26px; }
.doyjo-check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--doyjo-electric-2); font-weight: 900; }
.doyjo-timeline { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.doyjo-timeline::before { content: ''; position: absolute; left: 8%; right: 8%; top: 31px; height: 2px; background: linear-gradient(90deg, var(--doyjo-electric), var(--doyjo-violet)); }
.doyjo-timeline article { position: relative; padding-top: 65px; }
.doyjo-timeline article::before { content: ''; position: absolute; left: 22px; top: 22px; width: 18px; height: 18px; border: 4px solid #fff; border-radius: 50%; background: var(--doyjo-electric); box-shadow: 0 0 0 2px var(--doyjo-electric); }
.doyjo-timeline strong { color: var(--doyjo-violet); font-family: Poppins,sans-serif; font-size: 1.15rem; }

/* Deliverables, proof, pricing */
.doyjo-deliverables-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.doyjo-deliverables-grid li { position: relative; min-height: 72px; display: flex; align-items: center; padding: 17px 18px 17px 50px; border: 1px solid var(--doyjo-line); border-radius: 17px; background: #fff; box-shadow: var(--doyjo-shadow-xs); color: var(--doyjo-navy-950); font-weight: 750; }
.doyjo-deliverables-grid li::before { content: ''; position: absolute; left: 18px; width: 15px; height: 15px; border: 3px solid var(--doyjo-electric); border-radius: 50%; }
.doyjo-proof-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.doyjo-proof-cards article { min-height: 160px; display: flex; gap: 14px; padding: 24px; }
.doyjo-proof-cards article > span { flex: 0 0 auto; color: var(--doyjo-electric); font-size: 1.25rem; font-weight: 900; }
.doyjo-service-next .doyjo-shell { max-width: 880px; text-align: center; }
.doyjo-pricing-section { background: var(--doyjo-soft); }
.doyjo-pricing-group + .doyjo-pricing-group { margin-top: 64px; }
.doyjo-pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.doyjo-price-card { min-height: 220px; padding: 27px; transition: transform .2s ease, box-shadow .2s ease; }
.doyjo-price-card .doyjo-price { margin: 17px 0 12px; color: var(--doyjo-navy-900); font-family: Poppins,sans-serif; font-size: 1.08rem; font-weight: 800; }
.doyjo-price-card p:last-child { color: var(--doyjo-muted); }
.doyjo-pricing-note { max-width: 900px; margin: 58px auto 0; padding: clamp(28px,4vw,42px); border: 1px solid #bce9fb; border-radius: var(--doyjo-radius-lg); background: linear-gradient(135deg,#fff,#f2fbff); box-shadow: var(--doyjo-shadow-sm); }

/* Portfolio */
.doyjo-portfolio-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; }
.doyjo-related-work { background: radial-gradient(circle at 10% 5%, rgba(0,184,245,.1), transparent 24rem), #f7fbff; }
.doyjo-related-project-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.doyjo-related-project-grid .doyjo-project-card { grid-template-columns: 1fr; }
.doyjo-related-project-grid .doyjo-project-card-image { min-height: 230px; }
.doyjo-related-project-grid .doyjo-project-card-content { padding: 23px; }
.doyjo-project-card { display: grid; grid-template-columns: minmax(190px,.8fr) minmax(0,1.2fr); min-height: 320px; transition: transform .2s ease, box-shadow .2s ease; }
.doyjo-project-card-image, .doyjo-portfolio-media, .doyjo-project-frame, .doyjo-gallery figure { position: relative; overflow: hidden; background: #eff7ff; }
.doyjo-project-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.doyjo-project-card-content { display: flex; flex-direction: column; padding: 26px; }
.doyjo-project-card-content .doyjo-text-link { margin-top: auto; }
.doyjo-browser-bar { position: absolute; inset: 0 0 auto; z-index: 3; height: 29px; display: flex; align-items: center; gap: 6px; padding-left: 13px; border-bottom: 1px solid var(--doyjo-line); background: rgba(255,255,255,.94); backdrop-filter: blur(8px); }
.doyjo-browser-bar i { width: 7px; height: 7px; border-radius: 50%; background: #bdcadb; }
.doyjo-browser-bar i:first-child { background: #ff7c7c; }
.doyjo-browser-bar i:nth-child(2) { background: #ffd36a; }
.doyjo-browser-bar i:nth-child(3) { background: #45d59b; }
.doyjo-portfolio-list { display: grid; gap: 34px; padding-block: var(--doyjo-section); }
.doyjo-portfolio-row { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(350px,.94fr) minmax(0,1.06fr); gap: clamp(32px,6vw,78px); align-items: center; padding: clamp(26px,4vw,52px); border: 1px solid var(--doyjo-line); border-radius: 38px; background: radial-gradient(circle at 94% 5%, rgba(0,184,245,.13), transparent 20rem), #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-portfolio-row::before { content: ''; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--doyjo-electric), var(--doyjo-violet)); }
.doyjo-portfolio-row.is-reversed { grid-template-columns: minmax(0,1.06fr) minmax(350px,.94fr); }
.doyjo-portfolio-row.is-reversed .doyjo-portfolio-media { order: 2; transform: rotate(.7deg); }
.doyjo-portfolio-media { min-height: 360px; display: block; border: 11px solid #fff; border-radius: 28px; box-shadow: 0 27px 68px rgba(7,11,56,.15); transform: rotate(-.7deg); }
.doyjo-portfolio-media img { width: 100%; height: 410px; object-fit: cover; object-position: top center; transition: transform .3s ease; }
.doyjo-portfolio-media:hover img { transform: scale(1.025); }
.doyjo-portfolio-copy h2 { font-size: clamp(1.55rem,2.7vw,2.75rem); }
.doyjo-tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0 27px; }
.doyjo-tag-list span { display: inline-flex; padding: 7px 11px; border: 1px solid var(--doyjo-line); border-radius: 999px; background: #fff; color: var(--doyjo-navy-950); font-size: .77rem; font-weight: 750; }
.doyjo-button-small { min-height: 40px; padding: 10px 17px; font-size: .82rem; }

/* Project detail */
.doyjo-project-hero .doyjo-hero-grid { grid-template-columns: minmax(0,1fr) minmax(380px,.78fr); }
.doyjo-project-frame { min-height: 430px; border: 11px solid #fff; border-radius: var(--doyjo-radius-lg); box-shadow: var(--doyjo-shadow); transform: rotate(.7deg); }
.doyjo-project-frame img { width: 100%; height: 450px; object-fit: cover; object-position: top center; }
.doyjo-project-metrics { border-top: 0; }
.doyjo-project-editor-content { max-width: 820px; }
.doyjo-project-editor-content h2:not(:first-child) { margin-top: 52px; }
.doyjo-project-editor-content p { color: var(--doyjo-text); font-size: 1.02rem; }
.doyjo-project-sidebar { position: sticky; top: 116px; padding: 28px; }
.doyjo-tag-list-vertical { display: grid; }
.doyjo-tag-list-vertical span { justify-content: flex-start; }
.doyjo-gallery { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.doyjo-gallery figure { margin: 0; border: 1px solid var(--doyjo-line); border-radius: 24px; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-gallery img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; }
.doyjo-gallery figcaption { padding: 16px 18px; border-top: 1px solid var(--doyjo-line); background: #fff; color: var(--doyjo-muted); font-size: .86rem; }

/* Current DOYJO page content restored through Site Setup. */
.doyjo-imported-page { display: grid; gap: 28px; padding: 0 0 28px; background: linear-gradient(180deg, #f5faff 0%, #fff 52%, #f5faff 100%); }
.doyjo-imported-page > section { width: min(var(--doyjo-shell), calc(100% - 48px)); margin-inline: auto; overflow: hidden; border: 1px solid var(--doyjo-line); border-radius: 34px; background: #fff; box-shadow: var(--doyjo-shadow-xs); }
.doyjo-imported-page > .doyjo-section { padding-block: clamp(52px, 6vw, 82px); }
.doyjo-imported-page > .doyjo-imported-hero { width: 100%; max-width: none; padding-block: clamp(58px, 7vw, 92px); border: 0; border-radius: 0; background: radial-gradient(circle at 77% 18%, rgba(0,184,245,.24), transparent 30rem), radial-gradient(circle at 17% 110%, rgba(103,87,255,.22), transparent 34rem), linear-gradient(145deg, var(--doyjo-navy-1000), var(--doyjo-navy-900) 62%, #16238c); box-shadow: none; color: rgba(255,255,255,.82); }
.doyjo-imported-page > .doyjo-imported-hero .doyjo-hero-card { border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.09); color: rgba(255,255,255,.78); }
.doyjo-imported-page + .doyjo-decision-section,
.doyjo-imported-page + .doyjo-decision-section + .doyjo-form-section,
.doyjo-imported-page + .doyjo-form-section { width: min(var(--doyjo-shell), calc(100% - 48px)); margin: 0 auto 28px !important; overflow: hidden; border: 1px solid var(--doyjo-line); border-radius: 34px; }
.doyjo-imported-page + .doyjo-decision-section { padding-block: clamp(38px,5vw,62px); }
.doyjo-imported-page .doyjo-section > .doyjo-shell + .doyjo-shell { margin-top: 34px; }
.doyjo-imported-page .doyjo-section-heading { max-width: 820px; margin-bottom: 34px; }
.doyjo-imported-page .doyjo-section-heading.compact { max-width: 780px; }
.doyjo-imported-page .doyjo-hero-grid { grid-template-columns: minmax(0, 1.04fr) minmax(340px, .96fr); gap: clamp(34px, 5vw, 68px); }
.doyjo-imported-page .doyjo-service-grid > article:not(.doyjo-service-card),
.doyjo-imported-page .callout,
.doyjo-imported-page .roomy-callout { padding: 26px; border: 1px solid var(--doyjo-line); border-radius: var(--doyjo-radius); background: #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-imported-page .doyjo-service-card { min-height: 0; padding: 26px; }
.doyjo-imported-page .value-grid,
.doyjo-imported-page .product-feature-grid,
.doyjo-imported-page .capability-system-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; }
.doyjo-imported-page .value-grid > *,
.doyjo-imported-page .product-feature-grid > *,
.doyjo-imported-page .capability-system-grid > * { grid-column: span 2; min-width: 0; }
.doyjo-imported-page .value-grid > :last-child:nth-child(3n + 1),
.doyjo-imported-page .product-feature-grid > :last-child:nth-child(3n + 1),
.doyjo-imported-page .capability-system-grid > :last-child:nth-child(3n + 1) { grid-column: 3 / span 2; }
.doyjo-imported-page .value-grid > :nth-last-child(2):nth-child(3n + 1),
.doyjo-imported-page .product-feature-grid > :nth-last-child(2):nth-child(3n + 1),
.doyjo-imported-page .capability-system-grid > :nth-last-child(2):nth-child(3n + 1) { grid-column: 2 / span 2; }
.doyjo-imported-page .value-grid > :last-child:nth-child(3n + 2),
.doyjo-imported-page .product-feature-grid > :last-child:nth-child(3n + 2),
.doyjo-imported-page .capability-system-grid > :last-child:nth-child(3n + 2) { grid-column: 4 / span 2; }
.doyjo-imported-page .capability-system-card { padding: 26px; border: 1px solid var(--doyjo-line); border-radius: var(--doyjo-radius); background: #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-imported-page .capability-system-card::before { content: ''; position: static; inset: auto; flex: 0 0 auto; display: block; width: 42px; height: 5px; margin-bottom: 18px; border-radius: 999px; background: linear-gradient(90deg, var(--doyjo-electric), var(--doyjo-violet)); }
.doyjo-imported-page .capability-system-card::after { display: none; }
.doyjo-imported-page .industry-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.doyjo-imported-page .site-type-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.doyjo-imported-page .compact-site-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.doyjo-imported-page .industry-card,
.doyjo-imported-page .site-type-card { height: 100%; }
.doyjo-imported-page .doyjo-about-grid,
.doyjo-imported-page .industry-strategy-card { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: clamp(28px, 4vw, 52px); }
.doyjo-imported-page .doyjo-about-grid > *,
.doyjo-imported-page .industry-strategy-card > * { min-width: 0; }
.doyjo-imported-page .industry-two-col,
.doyjo-imported-page .industry-strategy-card,
.doyjo-imported-page .economic-impact-panel { padding: clamp(28px, 4vw, 48px); border: 1px solid var(--doyjo-line); border-radius: 28px; background: radial-gradient(circle at 100% 0, rgba(0,184,245,.12), transparent 28rem), #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-imported-page .industry-two-col { align-items: center; }
.doyjo-imported-page .industry-two-col > .review-checklist { grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 12px; padding: 18px; border: 1px solid var(--doyjo-line); border-radius: 22px; background: var(--doyjo-soft-blue); }
.doyjo-imported-page .strategy-bites { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-content: center; }
.doyjo-imported-page .strategy-bites span { padding: 13px 15px 13px 45px; }
.doyjo-imported-page .doyjo-section .doyjo-hero-card { border-color: var(--doyjo-line); background: #fff; color: var(--doyjo-text); }
.doyjo-imported-page .doyjo-section .doyjo-button-ghost { border-color: var(--doyjo-line-strong) !important; color: var(--doyjo-navy-950) !important; }
.doyjo-imported-page .doyjo-section .doyjo-button-ghost:hover { border-color: var(--doyjo-electric) !important; }
.doyjo-imported-page .doyjo-deliverables-grid .deliverable { position: relative; min-height: 72px; display: flex; align-items: center; gap: 10px; padding: 17px 18px; border: 1px solid var(--doyjo-line); border-radius: 17px; background: #fff; box-shadow: var(--doyjo-shadow-xs); color: var(--doyjo-navy-950); font-weight: 750; }
.doyjo-imported-page .doyjo-deliverables-grid .deliverable > span { color: var(--doyjo-electric); font-weight: 900; }
.doyjo-imported-page .industry-project-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; }
.doyjo-imported-page .industry-project-card { grid-column: span 2; min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--doyjo-line); border-radius: var(--doyjo-radius); background: #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-imported-page .industry-project-card:last-child:nth-child(3n + 1) { grid-column: 3 / span 2; }
.doyjo-imported-page .industry-project-card:nth-last-child(2):nth-child(3n + 1) { grid-column: 2 / span 2; }
.doyjo-imported-page .industry-project-card:last-child:nth-child(3n + 2) { grid-column: 4 / span 2; }
.doyjo-imported-page .industry-project-image { width: 100%; aspect-ratio: 16 / 10; display: block; overflow: hidden; border-bottom: 1px solid var(--doyjo-line); background: var(--doyjo-soft-blue); }
.doyjo-imported-page .industry-project-image img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.doyjo-imported-page .industry-project-card > div { flex: 1; display: flex; flex-direction: column; padding: 24px; }
.doyjo-imported-page .industry-project-card .doyjo-text-link { margin-top: auto; }
.doyjo-imported-page .industry-project-card h3 a { color: var(--doyjo-navy-950); text-decoration: none; }
.doyjo-imported-page .industry-testimonial-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; margin-top: 34px; }
.doyjo-imported-page .industry-testimonial-card { flex: 1 1 320px; max-width: 440px; }
.doyjo-imported-page .proof-metric { margin-top: 12px; padding: 15px 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; background: rgba(255,255,255,.07); }
.doyjo-imported-page .doyjo-section .proof-metric { border-color: var(--doyjo-line); background: var(--doyjo-soft); }
.doyjo-imported-page .proof-metric span { display: block; color: var(--doyjo-electric-2); font-family: Poppins, sans-serif; font-size: 1.18rem; font-weight: 850; }
.doyjo-imported-page .doyjo-section .proof-metric span { color: var(--doyjo-blue); }
.doyjo-imported-page .proof-metric p { margin: 3px 0 0; }
.doyjo-imported-page .mini-price { display: flex; justify-content: space-between; gap: 18px; margin-top: 10px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.doyjo-imported-page .economic-impact-panel { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 30px; align-items: center; }
.doyjo-imported-page .economic-impact-panel blockquote { margin: 22px 0; padding: 20px 22px; border-left: 5px solid var(--doyjo-electric); border-radius: 18px; background: #fff; box-shadow: var(--doyjo-shadow-xs); color: var(--doyjo-navy-950); font-weight: 800; }
.doyjo-imported-page .impact-stats { display: grid; grid-template-columns: 1fr; gap: 14px; }
.doyjo-imported-page .impact-stats > * { padding: 20px; border: 1px solid var(--doyjo-line); border-radius: 18px; background: #fff; }
.doyjo-imported-page .doyjo-tag-list { margin: 16px 0; }
.doyjo-imported-page .taw-capabilities-panel { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: 38px; align-items: start; padding: clamp(28px, 4vw, 46px); border: 1px solid var(--doyjo-line); border-radius: 28px; background: #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-imported-page .taw-shortcode-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.doyjo-imported-page .taw-shortcode-card { min-height: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr); grid-template-areas: "icon code" "icon label"; gap: 7px 11px; padding: 16px; }
.doyjo-imported-page .taw-shortcode-card::before { content: '✓'; position: static; inset: auto; grid-area: icon; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 50%; background: var(--doyjo-electric); color: #fff; font-size: .75rem; }
.doyjo-imported-page .taw-shortcode-card::after { display: none; }
.doyjo-imported-page .taw-shortcode-card code { grid-area: code; padding: 6px 8px; border: 1px solid var(--doyjo-line); border-radius: 9px; background: var(--doyjo-soft); font-size: .76rem; }
.doyjo-imported-page .taw-shortcode-card span { grid-area: label; }
.doyjo-imported-page .screenshot-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.doyjo-imported-page .screenshot-card { margin: 0; border: 1px solid var(--doyjo-line); border-radius: 22px; background: #fff; box-shadow: var(--doyjo-shadow-sm); }
.doyjo-imported-page .screenshot-card img { width: 100%; height: 360px; object-fit: cover; object-position: top center; }
.doyjo-imported-page .faq-list { display: grid; gap: 14px; max-width: 900px; }
.doyjo-imported-page .faq-list details { padding: 18px 20px; border: 1px solid var(--doyjo-line); border-radius: 18px; background: #fff; box-shadow: var(--doyjo-shadow-xs); }
.doyjo-imported-page .faq-list summary { cursor: pointer; color: var(--doyjo-navy-950); font-weight: 800; }
.doyjo-imported-page .faq-list details p { margin: 12px 0 0; color: var(--doyjo-muted); }
.doyjo-imported-page .doyjo-gallery figure { overflow: hidden; }
.doyjo-imported-page code { overflow-wrap: anywhere; }

/* Choose equal card rows from the number of items already present on each page. */
.doyjo-adaptive-grid > * { min-width: 0; grid-column: auto !important; }
.doyjo-adaptive-grid.doyjo-grid-cols-1 { grid-template-columns: minmax(0, 560px); justify-content: center; }
.doyjo-adaptive-grid.doyjo-grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.doyjo-adaptive-grid.doyjo-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.doyjo-adaptive-grid.doyjo-grid-remainder-1,
.doyjo-adaptive-grid.doyjo-grid-remainder-2 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.doyjo-adaptive-grid.doyjo-grid-remainder-1 > *,
.doyjo-adaptive-grid.doyjo-grid-remainder-2 > * { grid-column: span 2 !important; }
.doyjo-adaptive-grid.doyjo-grid-remainder-1 > :last-child { grid-column: 3 / span 2 !important; }
.doyjo-adaptive-grid.doyjo-grid-remainder-2 > :nth-last-child(2) { grid-column: 2 / span 2 !important; }
.doyjo-adaptive-grid.doyjo-grid-remainder-2 > :last-child { grid-column: 4 / span 2 !important; }

/* Reviews */
.doyjo-testimonial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.doyjo-testimonial-grid.doyjo-testimonial-masonry { display: block; columns: 3; column-gap: 22px; }
.doyjo-testimonial { margin: 0; padding: 28px; }
.doyjo-testimonial-masonry .doyjo-testimonial { width: 100%; display: inline-block; margin: 0 0 22px; break-inside: avoid; page-break-inside: avoid; vertical-align: top; }
.doyjo-testimonial blockquote { margin: 0; color: var(--doyjo-text); font-size: .98rem; }
.doyjo-testimonial figcaption { margin-top: 22px; }
.doyjo-testimonial figcaption strong, .doyjo-testimonial figcaption span { display: block; }
.doyjo-testimonial figcaption strong { color: var(--doyjo-navy-950); }
.doyjo-testimonial figcaption span { color: var(--doyjo-muted); font-size: .83rem; }

/* Decision support */
.doyjo-decision-section { background: linear-gradient(180deg,#fff 0%,#f5faff 100%); }
.doyjo-decision-panel { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.92fr); gap: clamp(26px,4vw,58px); align-items: stretch; padding: clamp(30px,5vw,60px); border: 1px solid var(--doyjo-line); border-radius: 34px; background: #fff; box-shadow: var(--doyjo-shadow); }
.doyjo-decision-copy, .doyjo-decision-proof { min-width: 0; }
.doyjo-decision-copy > p:not(.doyjo-eyebrow) { color: var(--doyjo-muted); }
.doyjo-decision-fit { margin-top: 24px; padding: 18px 20px; border-left: 4px solid var(--doyjo-electric); border-radius: 0 15px 15px 0; background: #eef9ff; }
.doyjo-decision-fit strong, .doyjo-decision-question strong { color: var(--doyjo-navy-950); }
.doyjo-decision-proof { padding: clamp(26px,4vw,44px); border: 1px solid rgba(101,151,255,.28); border-radius: 27px; background: radial-gradient(circle at 90% 5%,rgba(0,184,245,.2),transparent 18rem),linear-gradient(145deg,var(--doyjo-navy-950),#172579 62%,#263b9a); color: rgba(255,255,255,.82); }
.doyjo-decision-proof h3 { color: #fff; }
.doyjo-decision-proof .doyjo-eyebrow { color: var(--doyjo-electric-2); }
.doyjo-decision-proof p { color: rgba(255,255,255,.82); }
.doyjo-decision-question { margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); }
.doyjo-decision-question strong { display: block; margin-bottom: 6px; color: #fff; }

/* Forms */
.doyjo-form-section { background: radial-gradient(circle at 12% 12%, rgba(0,184,245,.14), transparent 27rem), radial-gradient(circle at 90% 16%, rgba(103,87,255,.1), transparent 28rem), #edf8ff; }
.doyjo-form-shell { max-width: 1080px; }
.doyjo-review-form { position: relative; display: grid; gap: 20px; padding: clamp(28px,5vw,52px); border: 1px solid rgba(185,204,227,.92); border-radius: 34px; background: #fff; box-shadow: var(--doyjo-shadow); }
.doyjo-review-form::before { content: ''; position: absolute; inset: 0 0 auto; height: 5px; border-radius: 34px 34px 0 0; background: linear-gradient(90deg, var(--doyjo-electric), var(--doyjo-violet)); }
.doyjo-form-heading { max-width: 760px; margin-bottom: 4px; }
.doyjo-form-section-card { margin: 0; padding: 22px; border: 1px solid var(--doyjo-line); border-radius: 20px; background: #fbfdff; }
.doyjo-form-section-card legend { padding: 0 9px; color: var(--doyjo-navy-950); font-family: Poppins,sans-serif; font-size: 1rem; font-weight: 750; }
.doyjo-form-section-card legend span { margin-left: 6px; color: var(--doyjo-muted); font-family: Inter,sans-serif; font-size: .78rem; font-weight: 600; }
.doyjo-checkbox-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.doyjo-checkbox-grid label { min-height: 48px; display: flex; align-items: flex-start; gap: 9px; padding: 12px; border: 1px solid transparent; border-radius: 13px; background: #f2f8fe; color: var(--doyjo-navy-950); font-size: .84rem; font-weight: 750; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.doyjo-checkbox-grid label:hover, .doyjo-checkbox-grid label:has(input:checked) { border-color: #8bdcff; background: #ebfaff; }
.doyjo-checkbox-grid input { width: auto; min-height: 0; margin: 3px 0 0; accent-color: var(--doyjo-blue); }
.doyjo-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.doyjo-field-grid label { color: var(--doyjo-navy-950); font-size: .86rem; font-weight: 800; }
.doyjo-field-grid label strong, .doyjo-field-grid label em { margin-left: 5px; font-size: .7rem; font-style: normal; letter-spacing: .03em; text-transform: uppercase; }
.doyjo-field-grid label strong { color: #b42318; }
.doyjo-field-grid label em { color: var(--doyjo-muted); }
.doyjo-field-wide { grid-column: 1/-1; }
.doyjo-review-form input:not([type="checkbox"]):not([type="hidden"]), .doyjo-review-form select, .doyjo-review-form textarea { width: 100%; min-height: 49px; margin-top: 7px; padding: 12px 14px; border: 1px solid var(--doyjo-line-strong); border-radius: 12px; background: #fff; color: var(--doyjo-ink); font: inherit; box-shadow: inset 0 1px 2px rgba(7,11,56,.025); }
.doyjo-review-form textarea { min-height: 150px; resize: vertical; }
.doyjo-review-form input:focus, .doyjo-review-form select:focus, .doyjo-review-form textarea:focus { outline: none; border-color: var(--doyjo-electric); box-shadow: 0 0 0 4px rgba(0,184,245,.14); }
.doyjo-submit-row { display: flex; align-items: center; gap: 22px; padding-top: 4px; }
.doyjo-submit-row p { margin: 0; color: var(--doyjo-muted); font-size: .82rem; }
.doyjo-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.doyjo-form-message { max-width: 1080px; margin: 0 auto 20px; padding: 15px 18px; border-radius: 14px; }
.doyjo-form-message.success { border: 1px solid #7bdcb5; background: #ebfff5; color: #12633f; }
.doyjo-form-message.error { border: 1px solid #ffb4aa; background: #fff2f0; color: #912018; }

/* Footer */
.doyjo-site-footer { position: relative; overflow: hidden; padding: 0; background: var(--doyjo-navy-1000); color: rgba(255,255,255,.76); }
.doyjo-site-footer a { color: rgba(255,255,255,.86); text-decoration: none; }
.doyjo-site-footer a:hover { color: #fff; }
.doyjo-footer-cta { position: relative; z-index: 3; padding: clamp(54px, 6vw, 78px) 0; border-bottom: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 88% 20%, rgba(0,184,245,.16), transparent 24rem), linear-gradient(110deg, #071b3f, #082944); }
.doyjo-footer-cta::after { content: ''; position: absolute; right: -110px; top: -190px; width: 410px; height: 410px; border: 1px solid rgba(85,215,255,.16); border-radius: 50%; box-shadow: 0 0 0 48px rgba(85,215,255,.025), 0 0 0 96px rgba(85,215,255,.02); pointer-events: none; }
.doyjo-footer-cta-inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(30px, 5vw, 74px); align-items: end; }
.doyjo-footer-cta .doyjo-eyebrow { color: var(--doyjo-electric-2); }
.doyjo-footer-cta h2 { max-width: 830px; margin-bottom: 14px; color: #fff; font-size: clamp(2.35rem, 4.2vw, 3.75rem); line-height: 1; letter-spacing: -.05em; text-transform: none; }
.doyjo-footer-cta p:not(.doyjo-eyebrow) { max-width: 770px; margin: 0; color: rgba(255,255,255,.72); font-size: 1rem; }
.doyjo-footer-cta .doyjo-button { flex: 0 0 auto; gap: 9px; margin-bottom: 4px; }
.doyjo-footer-cta .doyjo-button span { font-size: 1.2em; transition: transform .18s ease; }
.doyjo-footer-cta .doyjo-button:hover span { transform: translateX(3px); }
.doyjo-footer-body { position: relative; overflow: hidden; padding: clamp(58px, 7vw, 84px) 0 0; background: radial-gradient(circle at 18% 5%, rgba(0,184,245,.13), transparent 31rem), radial-gradient(circle at 88% 76%, rgba(103,87,255,.16), transparent 34rem), linear-gradient(145deg, var(--doyjo-navy-1000), var(--doyjo-navy-900)); }
.doyjo-footer-body::before { content: ''; position: absolute; right: -210px; top: -165px; width: 560px; height: 560px; border: 1px solid rgba(85,215,255,.13); border-radius: 50%; box-shadow: 0 0 0 54px rgba(85,215,255,.025), 0 0 0 108px rgba(103,87,255,.022); }
.doyjo-footer-body::after { content: ''; position: absolute; inset: 0; opacity: .075; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 64px 64px; }
.doyjo-footer-grid, .doyjo-footer-contact-strip, .doyjo-footer-bottom { position: relative; z-index: 2; }
.doyjo-footer-grid { display: grid; grid-template-columns: minmax(240px, 1.25fr) repeat(3, minmax(150px, .82fr)); gap: clamp(30px, 4.5vw, 62px); padding-bottom: clamp(42px, 5vw, 62px); }
.doyjo-footer-logo { width: 224px; max-width: 100%; display: inline-flex; align-items: center; margin-bottom: 23px; padding: 10px 13px; border-radius: 12px; background: rgba(255,255,255,.97); box-shadow: 0 12px 30px rgba(0,0,0,.17); }
.doyjo-footer-logo img { width: 100%; margin: 0; }
.doyjo-footer-brand p { max-width: 360px; }
.doyjo-footer-service-area { color: rgba(255,255,255,.58); font-size: .88rem; }
.doyjo-footer-nav h2 { position: relative; margin: 4px 0 24px; padding-bottom: 13px; color: #fff; font-size: .82rem; letter-spacing: .15em; line-height: 1.2; text-transform: uppercase; }
.doyjo-footer-nav h2::after { content: ''; position: absolute; left: 0; bottom: 0; width: 36px; height: 2px; border-radius: 4px; background: linear-gradient(90deg, var(--doyjo-electric), var(--doyjo-violet)); }
.doyjo-site-footer ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.doyjo-footer-links a { display: grid; grid-template-columns: minmax(0, 1fr) 14px; gap: 7px; align-items: start; color: rgba(255,255,255,.73); font-size: .9rem; line-height: 1.4; }
.doyjo-footer-links a::after { content: '→'; color: var(--doyjo-electric-2); font-weight: 900; transition: transform .18s ease; }
.doyjo-footer-links a:hover::after { transform: translateX(3px); }
.doyjo-footer-contact-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); font-style: normal; }
.doyjo-footer-contact-card { min-width: 0; min-height: 114px; display: flex; align-items: center; gap: 16px; padding: 24px clamp(18px, 3vw, 34px); border-left: 1px solid rgba(255,255,255,.12); }
.doyjo-footer-contact-card:first-child { padding-left: 0; border-left: 0; }
.doyjo-footer-contact-card:last-child { padding-right: 0; }
.doyjo-footer-contact-icon { flex: 0 0 48px; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(85,215,255,.28); border-radius: 50%; background: rgba(85,215,255,.11); color: var(--doyjo-electric-2); }
.doyjo-footer-contact-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.doyjo-footer-contact-card span:last-child { min-width: 0; }
.doyjo-footer-contact-card small, .doyjo-footer-contact-card strong { display: block; }
.doyjo-footer-contact-card small { margin-bottom: 3px; color: rgba(255,255,255,.53); font-size: .69rem; font-style: normal; letter-spacing: .08em; text-transform: uppercase; }
.doyjo-footer-contact-card strong { overflow-wrap: anywhere; color: #fff; font-size: .86rem; font-style: normal; line-height: 1.45; }
.doyjo-footer-bottom { display: grid; grid-template-columns: 1fr auto 1fr; gap: 22px; align-items: center; padding: 20px 0 24px; color: rgba(255,255,255,.55); font-size: .74rem; }
.doyjo-footer-bottom span:nth-child(2) { text-align: center; }
.doyjo-footer-bottom a { justify-self: end; }

@media (max-width: 1120px) {
  .doyjo-header-cta { display: none; }
  .doyjo-menu { gap: 15px; }
  .doyjo-service-grid, .doyjo-testimonial-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .doyjo-testimonial-grid.doyjo-testimonial-masonry { column-count: 2; }
  .doyjo-project-card { grid-template-columns: 1fr; }
  .doyjo-project-card-image { min-height: 270px; }
  .doyjo-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.doyjo-related-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .doyjo-adaptive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .doyjo-adaptive-grid > * { grid-column: auto !important; }
}

@media (max-width: 900px) {
  .admin-bar .doyjo-site-header { top: 46px; }
  .doyjo-topbar-inner { justify-content: center; }
  .doyjo-topbar-inner span { display: none; }
  .doyjo-nav-toggle { display: inline-flex; align-items: center; }
  .doyjo-primary-nav { position: absolute; left: 24px; right: 24px; top: calc(100% + 10px); display: none; max-height: calc(100vh - 150px); overflow-y: auto; padding: 18px; border: 1px solid var(--doyjo-line); border-radius: 22px; background: #fff; box-shadow: var(--doyjo-shadow); }
  .doyjo-primary-nav.is-open { display: block; }
  .doyjo-menu, .doyjo-menu-fallback { display: grid; gap: 2px; }
  .doyjo-menu > li > a, .doyjo-menu-fallback a { width: 100%; padding: 5px 8px; }
  .doyjo-menu .sub-menu { position: static; width: 100%; display: none; margin: 0 0 8px; padding: 5px 0 5px 14px; visibility: visible; opacity: 1; border: 0; border-left: 2px solid var(--doyjo-electric); border-radius: 0; box-shadow: none; transform: none; }
  .doyjo-menu li:hover > .sub-menu, .doyjo-menu li:focus-within > .sub-menu { display: grid; transform: none; }
  .doyjo-menu > .doyjo-menu-has-mega > .sub-menu { width: 100%; grid-template-columns: 1fr; padding: 8px 0 8px 14px; transform: none; }
  .doyjo-menu > .doyjo-menu-has-mega > .sub-menu > li { padding: 13px 0 0; border: 0; }
  .doyjo-menu > .doyjo-menu-has-mega > .sub-menu > li > .sub-menu { display: grid; padding-left: 8px; }
  .doyjo-header-cta { display: inline-flex; margin-top: 10px; }
  .doyjo-hero-grid, .doyjo-project-hero .doyjo-hero-grid, .doyjo-control-grid, .doyjo-support-card, .doyjo-about-grid, .doyjo-project-detail-grid { grid-template-columns: 1fr !important; }
  .doyjo-system-portal { max-width: 690px; min-height: 560px; }
  .doyjo-proof-grid, .doyjo-process-grid, .doyjo-timeline { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .doyjo-timeline::before { display: none; }
  .doyjo-pricing-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .doyjo-portfolio-row, .doyjo-portfolio-row.is-reversed { grid-template-columns: 1fr; }
  .doyjo-portfolio-row.is-reversed .doyjo-portfolio-media { order: 0; }
  .doyjo-portfolio-media, .doyjo-portfolio-row.is-reversed .doyjo-portfolio-media { transform: none; }
  .doyjo-project-sidebar { position: static; }
  .doyjo-proof-cards { grid-template-columns: 1fr; }
  .doyjo-decision-panel { grid-template-columns: 1fr; }
	.doyjo-trust-heading { grid-template-columns: 1fr; }
	.doyjo-compact-review-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.doyjo-compact-review-grid > :last-child { grid-column: 1 / -1; width: calc(50% - 9px); justify-self: center; }
  .doyjo-imported-page .doyjo-hero-grid,
  .doyjo-imported-page .doyjo-about-grid,
  .doyjo-imported-page .industry-strategy-card,
  .doyjo-imported-page .economic-impact-panel,
  .doyjo-imported-page .taw-capabilities-panel { grid-template-columns: 1fr; }
  .doyjo-imported-page .industry-card-grid,
  .doyjo-imported-page .site-type-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .doyjo-imported-page .value-grid,
  .doyjo-imported-page .product-feature-grid,
  .doyjo-imported-page .capability-system-grid,
  .doyjo-imported-page .industry-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .doyjo-imported-page .value-grid > *,
  .doyjo-imported-page .product-feature-grid > *,
  .doyjo-imported-page .capability-system-grid > *,
  .doyjo-imported-page .industry-project-card { grid-column: auto !important; }
  .doyjo-imported-page .value-grid > :last-child:nth-child(odd),
  .doyjo-imported-page .product-feature-grid > :last-child:nth-child(odd),
  .doyjo-imported-page .capability-system-grid > :last-child:nth-child(odd),
  .doyjo-imported-page .industry-project-card:last-child:nth-child(odd) { width: calc(50% - 11px); grid-column: 1 / -1 !important; justify-self: center; }
  .doyjo-footer-cta-inner { grid-template-columns: 1fr; align-items: start; }
  .doyjo-footer-contact-strip { grid-template-columns: 1fr; }
  .doyjo-footer-contact-card { min-height: 96px; padding: 20px 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .doyjo-footer-contact-card:first-child { border-top: 0; }
  .doyjo-adaptive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .doyjo-adaptive-grid > * { grid-column: auto !important; }
}

@media (max-width: 680px) {
  :root { --doyjo-section: 64px; }
  .doyjo-shell { width: min(100% - 30px, var(--doyjo-shell)); }
  .doyjo-topbar { min-height: 31px; font-size: .7rem; }
  .doyjo-topbar-inner { gap: 13px; }
  .doyjo-header-inner { min-height: 72px; }
  .doyjo-brand img, .doyjo-brand .custom-logo { width: 158px; }
  .doyjo-primary-nav { left: 15px; right: 15px; }
  .doyjo-hero { padding: 62px 0 74px; }
  .doyjo-hero h1 { font-size: 28px; }
  .doyjo-hero-actions, .doyjo-hero .wp-block-buttons { display: grid; }
  .doyjo-hero-actions .doyjo-button, .doyjo-hero .wp-block-button, .doyjo-hero .wp-block-button__link { width: 100%; }
  .doyjo-system-portal { min-height: 410px; margin-top: 18px; }
  .doyjo-portal-main { width: 82%; height: 78%; border-width: 7px; }
  .doyjo-portal-card { width: 55%; height: 32%; border-width: 6px; border-radius: 19px; }
  .doyjo-portal-card-one { top: 14%; }
  .doyjo-portal-card-two { right: 0; }
	.doyjo-proof-grid, .doyjo-service-grid, .doyjo-process-grid, .doyjo-pricing-grid, .doyjo-portfolio-grid, .doyjo-testimonial-grid, .doyjo-gallery, .doyjo-timeline { grid-template-columns: 1fr; }
	.doyjo-testimonial-grid.doyjo-testimonial-masonry { column-count: 1; }
	.doyjo-compact-review-grid, .doyjo-related-project-grid { grid-template-columns: 1fr; }
	.doyjo-compact-review-grid > :last-child { width: 100%; grid-column: auto; }
	.doyjo-client-logo-group > span { width: 132px; }
	.doyjo-hero-project-grid { gap: 9px; }
	.doyjo-hero-project strong { padding: 9px; font-size: .68rem; }
	.doyjo-hero-proof-list li { font-size: .78rem; }
  .doyjo-proof-grid { gap: 0; }
  .doyjo-proof-grid > div { min-height: 67px; border-bottom: 1px solid var(--doyjo-line); }
  .doyjo-service-card { min-height: 0; }
  .doyjo-control-points span, .doyjo-support-list span { padding-left: 44px; }
  .doyjo-deliverables-grid, .doyjo-field-grid, .doyjo-checkbox-grid { grid-template-columns: 1fr; }
  .doyjo-field-wide { grid-column: auto; }
  .doyjo-portfolio-row { padding: 18px; border-radius: 27px; }
  .doyjo-portfolio-media { min-height: 260px; border-width: 7px; }
  .doyjo-portfolio-media img { height: 310px; }
  .doyjo-project-frame { min-height: 310px; border-width: 7px; transform: none; }
  .doyjo-project-frame img { height: 330px; }
  .doyjo-gallery img { height: 280px; aspect-ratio: auto; }
  .doyjo-imported-page .industry-project-card { grid-template-columns: 1fr; }
  .doyjo-imported-page .impact-stats { grid-template-columns: 1fr; }
  .doyjo-imported-page { gap: 18px; padding: 0 0 18px; }
  .doyjo-imported-page > section,
  .doyjo-imported-page + .doyjo-decision-section,
  .doyjo-imported-page + .doyjo-decision-section + .doyjo-form-section,
  .doyjo-imported-page + .doyjo-form-section { width: min(100% - 24px, var(--doyjo-shell)); border-radius: 24px; }
  .doyjo-imported-page > .doyjo-imported-hero { width: 100%; border-radius: 0; }
  .doyjo-imported-page .industry-two-col > .review-checklist { grid-template-columns: 1fr; padding: 15px; }
  .doyjo-imported-page .industry-card-grid,
  .doyjo-imported-page .site-type-card-grid,
  .doyjo-imported-page .compact-site-type-grid,
  .doyjo-imported-page .strategy-bites,
  .doyjo-imported-page .value-grid,
  .doyjo-imported-page .product-feature-grid,
  .doyjo-imported-page .capability-system-grid,
  .doyjo-imported-page .industry-project-grid,
  .doyjo-imported-page .taw-shortcode-grid,
  .doyjo-imported-page .screenshot-gallery { grid-template-columns: 1fr; }
  .doyjo-imported-page .value-grid > *,
  .doyjo-imported-page .product-feature-grid > *,
  .doyjo-imported-page .capability-system-grid > *,
  .doyjo-imported-page .industry-project-card,
  .doyjo-imported-page .industry-testimonial-card { width: 100%; max-width: 100%; grid-column: auto; }
  .doyjo-imported-page .value-grid > :last-child:nth-child(odd),
  .doyjo-imported-page .product-feature-grid > :last-child:nth-child(odd),
  .doyjo-imported-page .capability-system-grid > :last-child:nth-child(odd),
  .doyjo-imported-page .industry-project-card:last-child:nth-child(odd) { width: 100%; grid-column: auto !important; }
  .doyjo-imported-page .screenshot-card img { height: 320px; }
  .doyjo-review-form { padding: 22px 16px; border-radius: 24px; }
  .doyjo-decision-panel { padding: 24px 18px; border-radius: 24px; }
  .doyjo-decision-proof { padding: 24px 19px; border-radius: 20px; }
  .doyjo-form-section-card { padding: 17px 13px; }
  .doyjo-form-section-card legend span { display: block; margin: 3px 0 0; }
  .doyjo-submit-row { align-items: stretch; flex-direction: column; }
  .doyjo-footer-cta h2 { font-size: clamp(2.2rem, 12vw, 2.8rem); }
  .doyjo-footer-grid { grid-template-columns: 1fr; }
  .doyjo-footer-bottom { grid-template-columns: 1fr; }
  .doyjo-footer-bottom span:nth-child(2) { text-align: left; }
  .doyjo-footer-bottom a { justify-self: start; }
  .doyjo-adaptive-grid { grid-template-columns: 1fr !important; }
  .doyjo-adaptive-grid > * { grid-column: auto !important; }
}

@media (prefers-reduced-motion: reduce) {
	.doyjo-client-logo-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
	.doyjo-client-logo-track { width: 100%; animation: none; }
	.doyjo-client-logo-group { width: 100%; flex-wrap: wrap; justify-content: center; padding-right: 0; }
	.doyjo-client-logo-group[aria-hidden="true"] { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
