/* Mobile service frames share typography, gutters and the split hero. */
@media (min-width: 901px) and (max-width: 1439px) {
  body.social-media-marketing-page .expertise-grid { width: calc(100% - 48px); grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.social-media-marketing-page .expertise-grid a { display: flex; align-items: center; gap: 16px; padding: 16px; }
  body.social-media-marketing-page .expertise-grid :is(span,strong,i) { position: static; transform: none; }
  body.social-media-marketing-page .expertise-grid strong { flex: 1; }
  body.social-media-marketing-page .web-expertise { height: auto; padding-bottom: 80px; }
  body.social-media-marketing-page .social-approach { height: auto; }
  body.social-media-marketing-page .social-approach__grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding-inline: 24px; }
  body.social-media-marketing-page .social-approach__grid article { height: auto; min-height: 350px; }
  body.social-media-marketing-page .social-approach__grid p { width: auto; }
  body:is(.social-media-marketing-page,.digital-marketing-page) .digital-results { height: auto; }
  body:is(.social-media-marketing-page,.digital-marketing-page) .digital-results__grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding-inline: 24px; }
  body:is(.social-media-marketing-page,.digital-marketing-page) .digital-results__grid article { height: auto; min-height: 235px; }
  body:is(.social-media-marketing-page,.digital-marketing-page) .digital-results__grid p { width: auto; }
}
@media (max-width: 767px) {
  html { scrollbar-width: none; }
  html::-webkit-scrollbar { display: none; }
  main :is(h1,h2,h3,p):not(.eyebrow) { text-box-trim: trim-both; text-box-edge: cap alphabetic; }
  main :is(.seo-intro,.web-section-intro,.section-intro) :is(h2,p) { max-width: 100%; }
  main .eyebrow { min-height: 30px; height: 30px; font-size: 14px; }
  body:is(.seo-page,.web-development-page,.email-marketing-page) .branding-hero { min-height: 0; }
  body:is(.seo-page,.web-development-page,.email-marketing-page) .branding-hero__inner { display: flex; flex-direction: column; align-items: center; gap: 0; padding: 60px 16px 40px; }
  body:is(.seo-page,.web-development-page,.email-marketing-page) .branding-hero__copy { display: flex; flex-direction: column; align-items: center; padding: 0; text-align: center; width: 100%; }
  body:is(.seo-page,.web-development-page,.email-marketing-page) .branding-hero__copy h1 { width: min(100%,347px); margin: 32px 0 0; font-size: 40px; line-height: 40px; letter-spacing: 0; }
  body.seo-page .branding-hero__copy h1 { width: 237px; }
  body:is(.web-development-page,.email-marketing-page) .branding-hero__copy h1 em { display: inline; }
  body:is(.seo-page,.web-development-page,.email-marketing-page) .branding-hero__copy > p:not(.eyebrow) { width: min(347px,100%); margin: 32px 0 0; font-size: 16px; line-height: 24px; }
  .branding-hero__actions { width: min(100%,334px); justify-content: center; flex-wrap: nowrap; gap: 24px; }
  body:is(.seo-page,.web-development-page,.email-marketing-page) .branding-hero__actions { margin-top: 40px; }
  .branding-hero__actions .button { flex: 1 1 0; width: auto; min-width: 0; padding-inline: 8px; height: 50px; font-size: 16px; }
  .branding-hero__actions .button:nth-child(2) { color: #000; background: transparent; border: 1px solid rgba(0,0,0,.2); }
  .branding-hero__actions .button:nth-child(2) .corner-frame__ornaments { display: none; }
  body:is(.seo-page,.email-marketing-page) .branding-hero__visual { width: 100%; height: auto; margin-top: 48px; }
  body.web-development-page .branding-hero__visual { display: none; }
  body.web-development-page .branding-hero__inner { padding-bottom: 84px; }
  body.web-development-page .branding-hero__actions { width: min(100%,346px); }
  body.web-development-page .branding-hero__actions .shopify-partner { display: none; }
  body.web-development-page .branding-hero__copy h1 { width: min(311px,100%); }
  body.web-development-page .brand-services { padding: 80px 0; }
  body.web-development-page .brand-services .section-intro h2 { width: min(334px,100%); margin-top: 32px; font-size: 32px; line-height: 32px; }
  body.web-development-page .brand-services .section-intro > p:last-of-type:not(.eyebrow) { max-width: 334px; margin-top: 32px; font-size: 16px; line-height: 24px; }
  body.web-development-page .brand-services__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding-inline: 16px; }
  body.web-development-page .brand-service-card { height: auto; min-height: 318px; padding: 116px 16px 20px; }
  body.web-development-page .brand-service-card img { top: 16px; bottom: auto; width: 110px; height: 80px; object-fit: contain; }
  body.web-development-page .brand-service-card h3 { font-size: 20px; font-weight: 500; line-height: 24px; }
  body.web-development-page .brand-service-card p { font-size: 14px; line-height: 20px; margin-top: 24px; }
  body.web-development-page .brand-services__action { display: none; }
  body.web-development-page .web-work__track :is(img,video,.work-frame) { border-radius: 8px; }
  body.web-development-page .web-section-intro h2 { margin-top: 32px; }
  body.web-development-page .web-section-intro > p:last-child { margin-top: 32px; }
  body.web-development-page .web-work__viewport { margin-top: 40px; }
  body.web-development-page .why-idris__grid { margin-top: 40px; }
  body.web-development-page .why-idris__action { margin-top: 40px; }
  body.seo-page .branding-hero__inner { padding-bottom: 40px; }
  body.seo-page .branding-hero__visual img { aspect-ratio: 382 / 349; object-fit: fill; }
  body.seo-page .seo-intro h2 { font-size: 32px; line-height: 32px; margin-top: 32px; }
  body.seo-page .seo-intro > p:not(.eyebrow) { font-size: 16px; line-height: 24px; margin-top: 32px; }
  body.seo-page .seo-difference { height: auto; }
  body.seo-page .seo-difference .seo-intro h2 { width: min(362px,100%); margin-top: 32px; }
  body.seo-page .seo-difference .seo-intro > p:not(.eyebrow) { margin-top: 32px; }
  body.seo-page .seo-comparison { width: calc(100% - 32px); grid-template-columns: minmax(0, .47fr) minmax(0,.53fr); grid-template-rows: auto; }
  body.seo-page .seo-comparison__head { min-height: 40px; font-size: 12px; line-height: 16px; font-weight: 400; padding: 4px 12px; }
  body.seo-page .seo-comparison__head--idris { align-self: stretch; }
  body.seo-page .seo-comparison__cell { min-height: 64px; font-size: 14px; line-height: 18px; font-weight: 400; padding: 12px 14px; }
  body.seo-page .seo-service-card p { font-size: 16px; letter-spacing: .64px; }
  body.seo-page .seo-service-card > span img { width: 20px; height: 20px; }
  .seo-local__copy h2 { max-width: 100%; margin-top: 32px; }
  .seo-local__features article { height: auto; min-height: 163px; grid-template-columns: 40px minmax(0,1fr); gap: 20px; padding: 24px; }
  .seo-local__features h3 { width: auto; margin: 0; font-size: 20px; line-height: 26px; }
  .seo-local__features p { width: auto; margin-top: 16px; font-size: 16px; line-height: 24px; letter-spacing: .64px; }
  body.seo-page .seo-labs__head { max-width: calc(100% - 48px); }
  body.seo-page .seo-labs__head h2 { margin-top: 32px; max-width: 100%; }
  body.seo-page .seo-labs__head > p:not(.eyebrow) { margin-top: 32px; max-width: 100%; }
  body.seo-page .seo-labs__cards { margin-top: 40px; }
  body.seo-page .seo-labs__cards article { flex: 0 0 305px; width: 305px; min-width: 0; min-height: 447px; padding: 20px; }
  body.seo-page .seo-labs__cards h3 { font-size: 20px; line-height: 20px; margin-top: 16px; max-width: 230px; }
  body.seo-page .seo-labs__cards p { margin-top: 24px; }
  body.seo-page .seo-labs__cards ul { margin-top: 24px; }
  body.seo-page .seo-report .seo-intro h2, body.seo-page .seo-approach .seo-intro h2 { width: min(284px,100%); }
  body.seo-page .seo-report { height: auto; min-height: 1146px; }
  body.seo-page .seo-report__panel { width: calc(100% - 32px); height: auto; min-height: 724px; margin-top: 40px; }
  body.seo-page .seo-report__bar { min-height: 135px; justify-content: center; gap: 24px 16px; padding: 36px 12px 24px; }
  body.seo-page .seo-report__bar img { width: 85px; }
  body.seo-page .seo-report__bar strong { font-size: 14px; }
  body.seo-page .seo-report__row { border-bottom: 1px solid rgba(0,0,0,.05); }
  body.seo-page .seo-report__row b { font-size: 12px; font-weight: 500; }
  body.seo-page .seo-report__insight p { font-size: 12px; line-height: 22px; }
  body.seo-page .seo-approach__grid, body.seo-page .seo-industries__grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding-inline: 16px; }
  body.seo-page .seo-approach__grid h3 { font-size: 20px; line-height: 20px; }
  body.seo-page .seo-approach__grid p { width: auto; }
  body.seo-page .seo-local { height: auto; min-height: 1368px; padding-bottom: 60px; }
  body.seo-page .seo-local__copy > p:not(.eyebrow) { margin-top: 32px; }
  body.seo-page .seo-local__copy > p + p { margin-top: 24px; }
  body.seo-page .seo-local__copy .button { margin-top: 40px; }
  body.seo-page .seo-local__features { margin-top: 60px; }
  body.seo-page .seo-local__features span { border-radius: 50%; width: 40px; height: 40px; }
  body.email-marketing-page .branding-hero__copy h1 { width: min(316px,100%); }
  body.email-marketing-page .branding-hero__visual { margin-top: 48px; }
  body.email-marketing-page .branding-hero__visual img { aspect-ratio: 381 / 266; }
  body.email-marketing-page .brand-pillars { padding: 80px 0 40px; }
  body.email-marketing-page .brand-pillars .seo-intro { padding-inline: 29px; }
  body.email-marketing-page .brand-pillars .seo-intro h2 { width: min(356px,100%); margin-top: 32px; font-size: 32px; line-height: 32px; }
  body.email-marketing-page .brand-pillars .seo-intro > p:not(.eyebrow) { margin-top: 32px; }
  body.email-marketing-page .brand-pillars__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding-inline: 16px; margin-top: 40px; }
  body.email-marketing-page .brand-pillars__grid article { min-height: 298px; padding: 16px; }
  body.email-marketing-page .brand-pillars__grid span { height: 80px; margin-top: 0; }
  body.email-marketing-page .brand-pillars__grid span img { max-height: 80px; }
  body.email-marketing-page .brand-pillars__grid h3 { font-size: 20px; line-height: 24px; margin-top: 20px; }
  body.email-marketing-page .brand-pillars__grid p { font-size: 14px; line-height: 20px; margin-top: 20px; }
  body.email-marketing-page .email-work .web-section-intro h2 { font-size: 32px; line-height: 32px; max-width: 341px; padding: 0; margin: 32px auto 0; }
  body.email-marketing-page .email-work .web-section-intro > p:last-child { margin-top: 32px; }
  body:is(.web-development-page,.digital-marketing-page) .process-section { padding: 100px 0 0; }
  body:is(.web-development-page,.digital-marketing-page) .process-section .section-intro h2 { font-size: 32px; line-height: 32px; }
  body:is(.web-development-page,.digital-marketing-page) .process-section .section-intro > p:last-of-type:not(.eyebrow):not(.eyebrow) { max-width: 309px; margin-top: 24px; line-height: 24px; }
  body:is(.web-development-page,.digital-marketing-page) .process-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin-top: 94px; padding-inline: 16px; overflow: visible; }
  body:is(.web-development-page,.digital-marketing-page) .process-card { width: auto; min-height: 270px; padding: 20px; border-bottom: 1px solid rgba(0,0,0,.1); }
  body:is(.web-development-page,.digital-marketing-page) .process-card__number { font-size: 40px; line-height: 40px; }
  body:is(.web-development-page,.digital-marketing-page) .process-card h3 { margin-top: 50px; font-size: 20px; line-height: 20px; }
  body:is(.web-development-page,.digital-marketing-page) .process-card p { margin-top: 20px; font-size: 16px; line-height: 24px; }
  body:is(.web-development-page,.digital-marketing-page) .process-card__shapes { right: 0; left: auto; width: 192px; overflow: hidden; }
  body:is(.web-development-page,.digital-marketing-page) .process-card__shapes i { margin-left: -139px; }
  body.branding-page .brand-pillars { padding: 60px 16px; }
  body.branding-page .brand-pillars .seo-intro h2 { width: min(293px,100%); margin-top: 32px; line-height: 32px; }
  body.branding-page .brand-pillars .seo-intro > p:not(.eyebrow) { margin-top: 32px; }
  body.branding-page .brand-pillars__grid { grid-template-columns: minmax(0,298px); justify-content: center; gap: 16px; padding: 0; margin-top: 40px; }
  body.branding-page .brand-pillars__grid article { min-height: 224px; padding: 16px; }
  body.branding-page .brand-pillars__grid span { height: 100px; margin-top: 0; }
  body.branding-page .brand-pillars__grid span img { max-height: 100px; }
  body.branding-page .brand-pillars__grid h3 { font-size: 20px; line-height: 20px; margin-top: 24px; }
  body.branding-page .brand-pillars__grid p { margin-top: 16px; font-size: 16px; line-height: 24px; }
  body.branding-page .seo-local { padding: 60px 16px; }
  body.branding-page .seo-local__copy { text-align: left; }
  body.branding-page .seo-local__copy .eyebrow { margin-left: 0; }
  body.branding-page .seo-local__copy h2 { width: min(295px,100%); margin: 32px 0 0; }
  body.branding-page .seo-local__copy h2 { font-size: 32px; line-height: 32px; }
  body.branding-page .seo-local__copy > p:not(.eyebrow) { margin: 32px 0 0; }
  body.branding-page .seo-local__features { margin-top: 40px; gap: 10px; }
  body.branding-page .seo-local__features article { min-height: 80px; padding: 16px; gap: 0 20px; }
  body.branding-page .seo-local__features h3 { font-size: 20px; font-weight: 500; line-height: 20px; }
  body.branding-page .seo-local__features p { font-size: 16px; line-height: 24px; letter-spacing: 0; margin-top: 20px; }
  body.branding-page .team-section { padding: 80px 0 0; }
  body.branding-page .team-section .section-intro h2 { max-width: 200px; margin-top: 32px; font-size: 32px; line-height: 32px; }
  body.branding-page .team-section .section-intro > p:last-of-type:not(.eyebrow):not(.eyebrow) { max-width: 353px; margin-top: 32px; font-size: 16px; line-height: 24px; }
  body.branding-page .team-card { width: 183px; }
  body.branding-page .team-card > div { height: 230px; }
  body.branding-page .team-card h3 { font-size: 20px; line-height: 24px; margin-top: 20px; }
  body.branding-page .team-card p { font-size: 16px; line-height: 20px; }
  body.social-media-marketing-page .branding-hero__copy h1 { width: min(305px,100%); margin-top: 32px; letter-spacing: 0; text-transform: capitalize; }
  body.social-media-marketing-page .branding-hero__copy > p:not(.eyebrow) { margin-top: 32px; }
  body.social-media-marketing-page .branding-hero__actions { margin-top: 40px; }
  body.social-media-marketing-page .social-approach__grid { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 40px; }
  body.social-media-marketing-page .social-approach__grid h3 { line-height: 20px; }
  body.social-media-marketing-page .digital-work .digital-intro > p:last-child { margin-top: 32px; }
  body.social-media-marketing-page .digital-work .web-work__viewport { margin-top: 40px; }
  body.social-media-marketing-page .digital-results .digital-intro > p:last-child { margin-top: 32px; }
  body.social-media-marketing-page .digital-results__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.social-media-marketing-page .process-section .section-intro > p:last-of-type:not(.eyebrow):not(.eyebrow) { max-width: 309px; margin-top: 24px; }
  body.social-media-marketing-page .process-card { height: auto; min-height: 270px; padding: 20px; }
  body.social-media-marketing-page .process-card__number { font-size: 40px; line-height: 40px; }
  body.social-media-marketing-page .process-card h3 { margin-top: 50px; line-height: 20px; }
  body.social-media-marketing-page .process-card p { margin-top: 20px; font-size: 16px; line-height: 24px; }
  body.social-media-marketing-page .process-card__shapes { right: 0; left: auto; width: 192px; overflow: hidden; }
  body.social-media-marketing-page .process-card__shapes i { margin-left: -139px; }
  body.social-media-marketing-page .web-expertise .web-section-intro h2 { width: min(236px,100%); }
  body.social-media-marketing-page .web-expertise .web-section-intro > p:last-child { margin-top: 32px; }
  body.social-media-marketing-page .expertise-grid { margin-top: 40px; }
  body.social-media-marketing-page .team-section .section-intro h2 { max-width: 200px; }
  body.digital-marketing-page .branding-hero { min-height: 471px; }
  body.digital-marketing-page .branding-hero__inner { min-height: 471px; gap: 0; padding: 103px 24px 60px; isolation: isolate; }
  body.digital-marketing-page .branding-hero__inner::after { position: absolute; z-index: -1; inset: 0; content: ''; background: linear-gradient(35.332deg,#f9f6f6 47.604%,rgba(237,234,234,0) 80.562%); pointer-events: none; }
  body.digital-marketing-page .branding-hero__copy { position: relative; z-index: 1; padding: 0; }
  body.digital-marketing-page .branding-hero__copy h1 { width: min(311px,100%); margin-top: 32px; font-size: 40px; line-height: 40px; letter-spacing: 0; text-transform: capitalize; }
  body.digital-marketing-page .branding-hero__copy > p:not(.eyebrow) { width: min(284px,100%); margin-top: 32px; color: #000; line-height: 24px; }
  body.digital-marketing-page .branding-hero__actions { justify-content: flex-start; margin-top: 40px; }
  body.digital-marketing-page .branding-hero__visual { position: absolute; z-index: -2; top: 24px; left: 186px; width: 258px; height: 343px; }
  body.digital-marketing-page .branding-hero__visual img { width: 100%; height: 100%; object-fit: contain; }
  body.digital-marketing-page .digital-work { margin-top: 80px; height: auto; padding: 0; }
  body.digital-marketing-page .digital-work .digital-intro h2 { width: min(334px,100%); font-size: 32px; line-height: 32px; margin-top: 32px; }
  body.digital-marketing-page .digital-work .digital-intro > p:last-child { margin-top: 32px; font-size: 16px; line-height: 24px; }
  body.digital-marketing-page .digital-work .web-work__viewport { margin-top: 40px; }
  body.digital-marketing-page .brand-services { padding: 80px 0; }
  body.digital-marketing-page .brand-services .section-intro h2 { max-width: 264px; margin-top: 32px; font-size: 32px; line-height: 32px; }
  body.digital-marketing-page .brand-services .section-intro > p:last-of-type:not(.eyebrow) { max-width: 342px; margin-top: 32px; font-size: 16px; line-height: 24px; }
  body.digital-marketing-page .brand-services__grid { display: flex; gap: 16px; margin-top: 40px; padding-inline: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body.digital-marketing-page .brand-service-card { flex: 0 0 min(300px,calc(100vw - 32px)); height: 272px; padding: 16px; scroll-snap-align: start; }
  body.digital-marketing-page .brand-service-card h3 { font-size: 20px; line-height: 24px; }
  body.digital-marketing-page .brand-service-card p { max-width: 252px; margin-top: 16px; font-size: 16px; line-height: 24px; }
  body.digital-marketing-page .brand-service-card img { width: 268px; height: 179px; right: -56px; bottom: -68px; }
  body.digital-marketing-page .brand-services__controls { display: flex; margin-top: 40px; padding-inline: 16px; }
  body.digital-marketing-page .brand-services__action .button { width: auto; min-width: 150px; }
  body.digital-marketing-page .email-tools { min-height: 0; padding: 60px 0; }
  body.digital-marketing-page .email-tools .section-intro { padding: 0 24px; }
  body.digital-marketing-page .email-tools .section-intro h2 { max-width: 334px; margin-top: 32px; font-size: 32px; line-height: 32px; }
  body.digital-marketing-page .email-tools .section-intro > p:last-of-type:not(.eyebrow) { max-width: 362px; margin-top: 32px; font-size: 16px; line-height: 24px; }
  body.digital-marketing-page .email-tools__logos { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px 24px; margin-top: 40px; padding-inline: 24px; }
  body.digital-marketing-page .email-tools__logos img { width: 100%; height: 26px; }
  body.digital-marketing-page .digital-results { margin-top: 80px; padding-top: 0; height: auto; }
  body.digital-marketing-page .digital-results .digital-intro h2 { max-width: 334px; margin-top: 32px; font-size: 32px; line-height: 32px; }
  body.digital-marketing-page .digital-results .digital-intro > p:last-child { max-width: 361px; margin-top: 32px; font-size: 16px; line-height: 26px; }
  body.digital-marketing-page .digital-results__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; overflow: visible; }
  body.digital-marketing-page .digital-results__grid article { width: auto; height: auto; min-height: 257px; padding: 16px; text-align: center; }
  body.digital-marketing-page .digital-results__grid img { height: 80px; margin-top: 16px; }
  body.digital-marketing-page .digital-results__grid strong { font-size: 24px; line-height: 32px; }
  body.digital-marketing-page .digital-results__grid h3 { margin-top: 16px; font-size: 16px; line-height: 18px; }
  body.digital-marketing-page .digital-results__grid p { width: auto; margin-top: 16px; font-size: 14px; line-height: 20px; }
  body.digital-marketing-page .digital-team { margin-top: 80px; padding: 0; }
  body.digital-marketing-page .digital-team .section-intro h2 { max-width: 200px; font-size: 32px; line-height: 32px; margin-top: 32px; }
  body.digital-marketing-page .digital-team .section-intro > p:last-of-type:not(.eyebrow):not(.eyebrow) { max-width: 353px; font-size: 16px; line-height: 24px; margin-top: 32px; }
  body.digital-marketing-page .digital-team .team-rail { margin-top: 40px; }
  body.digital-marketing-page .digital-team .team-card { width: 183px; }
  body.digital-marketing-page .digital-team .team-card > div { height: 230px; }
  body.digital-marketing-page .digital-team .team-card h3 { margin-top: 20px; font-size: 20px; line-height: 24px; }
  .demo-contact .demo-contact__intro h1 { font-size: 40px; line-height: 40px; }
  .demo-contact .demo-contact__intro > p { width: min(306px,100%); margin: 32px auto 0; font-size: 16px; line-height: 24px; }
  .demo-contact .demo-form { width: 100%; margin-top: 60px; padding: 40px 16px; }
  .demo-contact .demo-form :is(.demo-form__grid,.gform_fields) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px 16px; }
  .demo-contact .demo-form .gfield { min-width: 0; grid-column: 1 / -1; }
  .demo-contact .demo-form .gfield:nth-child(-n+2) { grid-column: span 1; }
  .demo-contact--split .demo-form .gfield--width-half { grid-column: span 1; }
  .demo-contact .demo-form .gfield_label { height: auto; min-height: 0; margin-bottom: 16px; font-size: 16px; line-height: 16px; text-box-trim: trim-both; text-box-edge: cap alphabetic; }
  .demo-contact .demo-form :is(input[type=text],input[type=email],input[type=tel],input[type=url],select) { min-height: 40px; height: 40px; }
  .demo-contact .demo-form :is(input,textarea)::placeholder { color: transparent; }
  .demo-contact .demo-form textarea { height: 128px; min-height: 128px; }
  .demo-contact .demo-form .gform_footer { padding-top: 40px; }
  .demo-contact .demo-form .gform_footer .button { width: 100%; margin: 0; height: 50px; }
  .demo-contact .demo-form > p { width: 100%; margin-top: 20px; font-size: 12px; line-height: 16px; }
  .demo-contact--split .demo-contact__details { margin-top: 40px; }
  .demo-contact .demo-contact__intro > p { padding-top: 3px; }
  .demo-contact--split .demo-form .gfield--type-phone .ginput_container::before { height: 40px; }
  .demo-contact--split .demo-form .chosen-container { width: 100% !important; }
  .demo-contact--split .demo-form .chosen-container .chosen-choices { min-height: 40px; padding: 8px 40px 8px 8px; }
  .demo-contact--split .demo-form .chosen-container .search-field input { min-height: 0; height: 22px; margin: 0; }
  .demo-contact--split .demo-form .chosen-container .chosen-choices::after { top: 14px; }
  .demo-contact--split .demo-form .gfield--type-multiselect .gfield_label { max-width: 285px; line-height: 20px; }
  body.social-media-marketing-page .legend-cta__content { width: calc(100% - 32px); padding: 0; }
}
@media (max-width: 413px) {
  body:is(.branding-page,.social-media-marketing-page,.digital-marketing-page) .branding-hero__inner { grid-template-columns: minmax(0,1fr); }
  body:is(.branding-page,.social-media-marketing-page,.digital-marketing-page) .branding-hero__copy { min-width: 0; width: 100%; }
  body:is(.branding-page,.social-media-marketing-page,.digital-marketing-page) .branding-hero__actions { width: 100%; }
  body:is(.branding-page,.social-media-marketing-page,.digital-marketing-page) .branding-hero__actions .button { width: auto; max-width: none; flex: 1 1 0; }
  body:is(.branding-page,.social-media-marketing-page) .branding-hero__copy > p:not(.eyebrow) { width: 100%; }
  .legend-cta :is(h2,p) { max-width: 100% !important; width: auto !important; }
  .legend-cta .legend-cta__content > div { width: 100%; }
  body:is(.web-development-page,.seo-page,.email-marketing-page,.branding-page,.social-media-marketing-page,.digital-marketing-page) .legend-cta .button { width: calc((100% - 14px) / 2); min-width: 0; flex: 0 1 auto; }
  body.seo-page :is(.seo-services,.seo-labs,.seo-approach,.seo-process,.seo-industries,.seo-expertise) { height: auto; min-height: 0; padding-bottom: 60px; }
  body.seo-page :is(.seo-services,.seo-report,.seo-approach,.seo-industries) .seo-intro { width: calc(100% - 48px); }
  body.seo-page .seo-labs__cards article { flex-basis: min(305px,calc(100vw - 32px)); }
  .branding-hero__actions { gap: 16px; }
}

/* SEO's CTA row sits 26px inside the hero's side rails in the mobile frame. */
@media (max-width: 767px) {
  body.seo-page .branding-hero__actions {
    width: min(334px, calc(100% - 52px));
    gap: 24px;
    margin-inline: auto;
  }
  body.seo-page .branding-hero__actions .button:first-child { flex: 151 1 0; }
  body.seo-page .branding-hero__actions .button:nth-child(2) { flex: 159 1 0; }
}
@media (max-width: 389px) {
  body.seo-page .branding-hero__actions { gap: 16px; }
  body.seo-page .branding-hero__actions .button { font-size: 14px; padding-inline: 4px; white-space: nowrap; }
}
@media (max-width: 900px) {
  body.seo-page .seo-labs { padding-top: 80px; }
}
@media (max-width: 767px) {
  /* The preceding section already supplies 60px below its cards. Keep the
     remaining spacing inside the report section so its rails stay continuous. */
  body.seo-page .seo-report { margin-top: 0; padding-top: 20px; }
}
@media (max-width: 767px) {
  body.seo-page .seo-report { height: auto; min-height: 0; }
  body.seo-page .seo-process { margin-top: 0; padding-top: 80px; }
  body.seo-page .seo-process__tabs button.is-active {
    background-clip: border-box;
    padding: 0 19px;
  }
  body.seo-page .seo-process__tabs button.is-active .corner-frame__ornaments { inset: -4px; }
}
@media (max-width: 767px) {
  /* Extend the Local SEO rails through its existing section margin. */
  body.seo-page .seo-local::before,
  body.seo-page .seo-local::after { top: -87px; }
}
/* SEO mobile section spacing belongs inside the frame, keeping rails intact. */
@media (max-width: 767px) {
  body.seo-page .seo-local { margin-top: 0; padding-top: 80px; min-height: 0; }
  body.seo-page .seo-local::before,
  body.seo-page .seo-local::after { top: 0; }
  body.seo-page .seo-expertise { margin-top: 0; padding-top: 60px; height: auto; min-height: 0; padding-bottom: 60px; }
  body.seo-page .legend-cta { margin-top: 40px; }
  body.seo-page .legend-cta::before,
  body.seo-page .legend-cta::after { top: -40px; }
  body.seo-page .faq-section { margin-top: 0; padding-top: 80px; }
}
@media (max-width: 767px) {
  body.seo-page .seo-expertise { background-color: #fff; background-image: var(--noise); }
  body.seo-page .legend-cta .photo-collage { background-image: none; }
  body.seo-page .legend-cta .legend-cta__content > div {
    width: min(324px, calc(100% - 58px));
    margin-inline: auto;
    gap: 24px;
  }
  body.seo-page .legend-cta .button { width: calc((100% - 24px) / 2); padding-inline: 4px; white-space: nowrap; }
}
@media (max-width: 389px) {
  body.seo-page .legend-cta .legend-cta__content > div { gap: 16px; }
  body.seo-page .legend-cta .button { width: calc((100% - 16px) / 2); font-size: 14px; }
}
@media (max-width: 767px) {
  body.seo-page .seo-approach .seo-intro > p:not(.eyebrow) { margin-top: 32px; }
  body.seo-page .seo-approach .seo-intro > p + p { margin-top: 24px; }
  body.seo-page .seo-labs { height: auto; min-height: 0; padding-bottom: 60px; }
  body.seo-page .seo-approach { height: auto; min-height: 0; padding-bottom: 60px; }
}
@media (max-width: 767px) {
  /* Labs already provides 60px below its note. */
  body.seo-page .seo-approach { margin-top: 20px; }
}
@media (max-width: 767px) {
  body:is(.web-development-page,.email-marketing-page,.branding-page,.social-media-marketing-page,.digital-marketing-page) .legend-cta .photo-collage { background-image: none; }
  body:is(.web-development-page,.email-marketing-page,.branding-page,.social-media-marketing-page,.digital-marketing-page) .legend-cta .legend-cta__content > div { width: min(324px, calc(100% - 58px)); margin-inline: auto; gap: 24px; }
  body:is(.web-development-page,.email-marketing-page,.branding-page,.social-media-marketing-page,.digital-marketing-page) .legend-cta .button { width: calc((100% - 24px) / 2); padding-inline: 4px; white-space: nowrap; }
}
@media (max-width: 389px) {
  body:is(.web-development-page,.email-marketing-page,.branding-page,.social-media-marketing-page,.digital-marketing-page) .legend-cta .legend-cta__content > div { gap: 16px; }
  body:is(.web-development-page,.email-marketing-page,.branding-page,.social-media-marketing-page,.digital-marketing-page) .legend-cta .button { width: calc((100% - 16px) / 2); font-size: 14px; }
}