/* TULA v2: Elementor widget output for the supplied stucco-contractor reference. */
html:has(.tula-v2-site),
body.tula-landing-page { margin: 0 !important; padding: 0 !important; background: #020a12; }

.tula-v2-site {
  --tula-blue: #0656d8;
  --tula-deep: #020a12;
  --tula-ink: #080b13;
  --tula-white: #f8f9fa;
  color: var(--tula-ink);
  font-family: 'Open Sans', Arial, sans-serif;
  overflow: hidden;
}

.tula-v2-site * { box-sizing: border-box; }
.tula-v2-site a { color: inherit; }
.tula-v2-shell { position: relative; width: min(1170px, calc(100% - 64px)); margin: 0 auto; z-index: 2; }
.tula-v2-site .tula-parallax-section { isolation: isolate; overflow: hidden; position: relative; }
.tula-v2-site .tula-parallax-bg { position: absolute; inset: -12%; z-index: -2; background-position: center; background-repeat: no-repeat; background-size: cover; transform: translate3d(0, 0, 0) scale(var(--tula-scale, 1.08)); }
.tula-v2-site .is-parallax-active .tula-parallax-bg,
.tula-v2-site .is-parallax-active [data-tula-parallax-target] { will-change: transform; }

.tula-v2-button {
  align-items: center;
  background: var(--tula-blue);
  border: 0;
  color: #fff !important;
  display: inline-flex;
  font: 700 12px/1 Montserrat, Arial, sans-serif;
  gap: 18px;
  justify-content: center;
  letter-spacing: .05px;
  min-height: 43px;
  padding: 0 25px;
  text-decoration: none;
  text-transform: uppercase;
  transition: background .2s ease, transform .2s ease;
}

.tula-v2-button:hover { background: #0b48b6; transform: translateY(-1px); }
.tula-v2-button b { font: 400 26px/0 Arial, sans-serif; margin-top: -2px; }
.tula-v2-button-small { min-height: 31px; padding: 0 23px; font-size: 10px; }

/* Hero */
.tula-v2-hero { color: #fff; min-height: 580px; }
.tula-v2-hero .tula-parallax-bg { background-image: var(--tula-fallback-bg); inset: -10%; }
.tula-v2-hero-overlay { background: linear-gradient(90deg, rgba(0, 4, 9, .91) 0%, rgba(0, 4, 10, .43) 42%, rgba(0, 5, 10, .33) 68%, rgba(0, 4, 9, .79) 100%); inset: 0; position: absolute; z-index: -1; }
.tula-v2-hero-shell { height: 580px; }
.tula-v2-brand { display: block; left: 0; position: absolute; text-decoration: none; top: 14px; width: 185px; }
.tula-v2-brand .tula-logo-image { display: block; height: auto; width: 100%; }
.tula-v2-header-phone { align-items: center; display: flex; font: 700 23px/1 Montserrat, Arial, sans-serif; gap: 10px; left: 50%; position: absolute; text-decoration: none; top: 31px; transform: translateX(-50%); white-space: nowrap; }
.tula-v2-header-phone .tula-icon { color: var(--tula-blue); height: 26px; stroke-width: 3; width: 26px; }
.tula-v2-nav { left: 50%; position: absolute; top: 80px; transform: translateX(-50%); }
.tula-v2-nav a { border-bottom: 2px solid var(--tula-blue); color: #fff; display: block; font: 700 13px/30px Montserrat, Arial, sans-serif; min-width: 45px; padding-bottom: 6px; text-align: center; text-decoration: none; text-transform: uppercase; }
.tula-v2-hero-copy { left: 0; position: absolute; top: 266px; width: 380px; }
.tula-v2-hero-copy h1,
.tula-v2-title h2,
.tula-v2-why-heading h2,
.tula-v2-footer h2 { font-family: Montserrat, Arial, sans-serif; font-weight: 800; letter-spacing: -.7px; margin: 0; text-transform: uppercase; }
.tula-v2-hero-copy h1 { font-size: 31px; font-weight: 600; letter-spacing: -.45px; line-height: 1.22; white-space: nowrap; }
.tula-v2-hero-copy h1 em,
.tula-v2-footer h2 em { color: var(--tula-blue); font-style: normal; }
.tula-v2-hero-copy > i,
.tula-v2-title > i,
.tula-v2-quote-card > i { border-top: 2px solid var(--tula-blue); display: block; width: 72px; }
.tula-v2-hero-copy > i { margin: 15px 0 17px; }
.tula-v2-hero-copy p { font-size: 14px; line-height: 1.65; margin: 0 0 20px; }
.tula-v2-quote-card { background: rgba(2, 7, 13, .82); border: 1px solid rgba(255, 255, 255, .48); border-radius: 2px; min-height: 450px; padding: 18px 16px 16px; position: absolute; right: 0; top: 92px; width: 264px; }
.tula-v2-quote-card h2,
.tula-v2-footer-form h3,
.tula-v2-footer-contact h3 { font: 700 16px/1.2 Montserrat, Arial, sans-serif; margin: 0; text-transform: uppercase; }
.tula-v2-quote-card > i { margin: 11px 0 13px; width: 33px; }

/* Shared Contact Form 7 quote form */
.tula-v2-site .wpcf7 { width: 100%; }
.tula-v2-site .wpcf7 form,
.tula-v2-site .tula-form-fallback { display: grid; gap: 8px; margin: 0; }
.tula-v2-site .wpcf7-form > p { margin: 0 !important; }
.tula-v2-site .wpcf7-form br { display: none; }
.tula-v2-site .tula-form-row { display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 0; }
.tula-v2-site .tula-form-row > p { display: grid; gap: 8px; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); margin: 0 !important; }
.tula-v2-site .tula-form-row > *,
.tula-v2-site .tula-form-row > p > *,
.tula-v2-site .wpcf7-form-control-wrap { display: block; min-width: 0; width: 100%; }
.tula-v2-site .tula-form-row label,
.tula-v2-site .wpcf7-form > label { display: block; margin: 0 !important; }
.tula-v2-site .wpcf7 input:not([type='submit']),
.tula-v2-site .wpcf7 select,
.tula-v2-site .wpcf7 textarea,
.tula-v2-site .tula-form-fallback input,
.tula-v2-site .tula-form-fallback select,
.tula-v2-site .tula-form-fallback textarea {
  appearance: none;
  background: rgba(0, 0, 0, .15);
  border: 1px solid rgba(255, 255, 255, .44);
  border-radius: 2px;
  color: #fff;
  display: block;
  font: 400 11px/1 'Open Sans', Arial, sans-serif;
  height: 34px;
  margin: 0;
  outline: 0;
  padding: 0 9px;
  width: 100%;
}
.tula-v2-site .wpcf7 select,
.tula-v2-site .tula-form-fallback select { background-image: linear-gradient(45deg, transparent 50%, #fff 50%), linear-gradient(135deg, #fff 50%, transparent 50%); background-position: calc(100% - 13px) 14px, calc(100% - 9px) 14px; background-repeat: no-repeat; background-size: 4px 4px, 4px 4px; padding-right: 26px; }
.tula-v2-site .wpcf7 select option { background: #07101b; color: #fff; }
.tula-v2-site .wpcf7 textarea,
.tula-v2-site .tula-form-fallback textarea { height: 80px; padding: 9px; resize: vertical; }
.tula-v2-site .wpcf7 input::placeholder,
.tula-v2-site .wpcf7 textarea::placeholder,
.tula-v2-site .tula-form-fallback input::placeholder,
.tula-v2-site .tula-form-fallback textarea::placeholder { color: rgba(255, 255, 255, .9); opacity: 1; }
.tula-v2-site .wpcf7 input[type='submit'],
.tula-v2-site .tula-form-fallback .tula-v2-button { background: var(--tula-blue); border: 0; border-radius: 2px; color: #fff; cursor: pointer; font: 700 10px/1 Montserrat, Arial, sans-serif; height: 42px; margin: 0; padding: 0 15px; text-transform: uppercase; width: 100%; }
.tula-v2-site .wpcf7 input[type='submit']:hover { background: #0b48b6; }
.tula-v2-site .wpcf7-not-valid-tip,
.tula-v2-site .wpcf7-response-output { font-size: 10px; line-height: 1.35; margin: 5px 0 !important; padding: 4px !important; }
.tula-v2-site .wpcf7-spinner { display: none; }
.tula-v2-privacy { align-items: center; color: rgba(255, 255, 255, .88); display: flex; font-size: 9px; font-weight: 500; gap: 10px; line-height: 1.4; margin: 6px 0 0; min-height: 30px; }
.tula-v2-privacy .tula-icon { color: #bcc2ca; flex: 0 0 23px; height: 23px; stroke-width: 1.5; width: 23px; }
.tula-v2-privacy span { display: block; }

/* Services */
.tula-v2-services { background: #fafafa; padding: 18px 0 27px; }
.tula-v2-paper-texture { background-image: radial-gradient(rgba(0, 0, 0, .055) .6px, transparent .7px), linear-gradient(120deg, #fff, #f3f3f2); background-size: 5px 5px, 100% 100%; opacity: .7; }
.tula-v2-title { position: relative; text-align: center; }
.tula-v2-title > span,
.tula-v2-footer-why > span { color: var(--tula-blue); font: 700 11px/1.2 Montserrat, Arial, sans-serif; letter-spacing: .6px; text-transform: uppercase; }
.tula-v2-title h2 { font-size: 21px; line-height: 1.32; margin-top: 8px; }
.tula-v2-title > i { margin: 10px auto 13px; width: 40px; }
.tula-v2-service-grid { align-items: center; display: grid; gap: 34px; grid-template-columns: 270px 180px minmax(0, 1fr); padding: 0 22px 8px; }
.tula-v2-service-copy { text-align: center; }
.tula-v2-service-name { align-items: center; display: flex; gap: 14px; justify-content: center; margin: 0 0 6px; transform: translateX(-18px); }
.tula-v2-service-icon { align-items: center; display: flex; flex: 0 0 118px; height: 90px; justify-content: center; width: 118px; }
.tula-v2-service-icon .tula-exact-service-icon { display: block; height: 90px; max-width: none; object-fit: contain; width: 118px; }
.tula-v2-service-copy h3 { align-self: center; font: 800 13px/1 Montserrat, Arial, sans-serif; margin: 0; text-transform: uppercase; }
.tula-v2-service-copy p { font-size: 10px; line-height: 1.75; margin: 0 auto; max-width: 185px; text-align: left; }
.tula-v2-checklist { list-style: none; margin: 0; padding: 0; }
.tula-v2-checklist li { align-items: center; display: flex; font-size: 11px; gap: 11px; margin: 0 0 17px; }
.tula-v2-check { color: var(--tula-blue); fill: none; flex: 0 0 18px; height: 18px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; width: 18px; }
.tula-v2-service-photo { height: 226px; margin: 0; overflow: hidden; }
.tula-v2-service-photo img { display: block; height: 116%; object-fit: cover; transform: scale(1.08); width: 100%; }

/* Why Choose Us: keep the background and translucent dark wash continuous edge to edge. */
.tula-v2-why-band { color: #fff; min-height: 315px; padding: 65px 0 47px; }
.tula-v2-why-band .tula-v2-shell { width: min(1090px, calc(100% - 64px)); }
.tula-v2-why-band .tula-parallax-bg { background-position: center 57%; filter: grayscale(.68) saturate(.78) brightness(.9); opacity: .9; }
.tula-v2-why-overlay { background: linear-gradient(90deg, rgba(1, 10, 18, .93) 0%, rgba(1, 9, 16, .8) 42%, rgba(1, 8, 14, .58) 100%); inset: 0; position: absolute; z-index: -1; }
.tula-v2-why-heading > span { color: var(--tula-blue); font: 700 11px/1.2 Montserrat, Arial, sans-serif; letter-spacing: .7px; text-transform: uppercase; }
.tula-v2-why-heading h2 { font-size: 22px; line-height: 1.28; margin-top: 8px; }
.tula-v2-why-heading h2 em { color: var(--tula-blue); font-style: normal; }
.tula-v2-why-heading > i { border-top: 2px solid var(--tula-blue); display: block; margin-top: 13px; width: 76px; }
.tula-v2-why-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 23px; }
.tula-v2-why-feature { align-items: flex-start; display: grid; gap: 14px; grid-template-columns: 46px minmax(0, 1fr); margin: 0; min-height: 82px; padding: 2px 26px 0; position: relative; }
.tula-v2-why-feature:first-child { padding-left: 8px; }
.tula-v2-why-feature:last-child { padding-right: 0; }
.tula-v2-why-feature:not(:last-child)::after { background: rgba(255, 255, 255, .18); content: ''; height: 82px; position: absolute; right: 0; top: 0; width: 1px; }
.tula-v2-why-icon { align-items: flex-start; color: var(--tula-blue); display: flex; justify-content: center; width: 46px; }
.tula-v2-why-icon .tula-icon { height: 42px; stroke-width: 1.7; width: 42px; }
.tula-v2-why-icon .tula-exact-feature-icon { display: block; height: 46px; object-fit: contain; width: 46px; }
.tula-v2-why-feature h3 { font: 700 12px/1.2 Montserrat, Arial, sans-serif; margin: 2px 0 8px; text-transform: uppercase; }
.tula-v2-why-feature p { color: rgba(255, 255, 255, .88); font-size: 10px; line-height: 1.75; margin: 0; max-width: 190px; }
.tula-v2-why-feature:last-child p { max-width: 170px; }

/* Projects */
.tula-v2-projects { background: #fafafa; border-top: 1px solid #e0e0e0; padding: 20px 0 9px; }
.tula-v2-project-grid { display: grid; gap: 6px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tula-v2-project-card { background: #ddd; height: 165px; margin: 0; overflow: hidden; }
.tula-v2-gallery-thumb { appearance: none; background: transparent; border: 0; cursor: zoom-in; display: block; height: 100%; margin: 0; overflow: hidden; padding: 0; position: relative; width: 100%; }
.tula-v2-gallery-thumb::after { background: rgba(0, 0, 0, .2); content: ''; inset: 0; opacity: 0; position: absolute; transition: opacity .2s ease; }
.tula-v2-gallery-thumb:hover::after,
.tula-v2-gallery-thumb:focus-visible::after { opacity: 1; }
.tula-v2-gallery-thumb:focus-visible { outline: 2px solid var(--tula-blue); outline-offset: -2px; }
.tula-v2-project-card img { display: block; height: 116%; object-fit: cover; transform: scale(1.08); width: 100%; }
.tula-v2-center { margin: 10px 0 0; text-align: center; }
.tula-v2-center .tula-v2-button { cursor: pointer; }

/* Footer / contact */
.tula-v2-footer { background: radial-gradient(circle at 78% -10%, #0b3d72 0, rgba(4, 32, 59, .38) 24%, transparent 51%), linear-gradient(108deg, #031220 0%, #01080f 58%, #021526 100%); color: #fff; padding: 26px 0 15px; }
.tula-v2-footer .tula-parallax-bg { opacity: .36; }
.tula-v2-footer-overlay { background: linear-gradient(90deg, rgba(0, 8, 15, .18), rgba(0, 5, 10, .45)); inset: 0; position: absolute; z-index: -1; }
.tula-v2-footer-grid { display: grid; gap: 34px; grid-template-columns: 1.08fr 1.04fr 1.72fr; min-height: 338px; }
.tula-v2-footer-why h2 { font-size: 22px; line-height: 1.28; margin: 8px 0 23px; }
.tula-v2-footer-quality { align-items: flex-start; display: flex; gap: 14px; max-width: 225px; }
.tula-v2-footer-quality .tula-icon { color: var(--tula-blue); flex: 0 0 40px; height: 40px; stroke-width: 2; width: 40px; }
.tula-v2-footer-quality h3,
.tula-v2-footer-contact h3,
.tula-v2-footer-form h3 { font: 700 12px/1.2 Montserrat, Arial, sans-serif; margin: 0 0 10px; text-transform: uppercase; }
.tula-v2-footer-quality p { font-size: 11px; line-height: 1.7; margin: 0; }
.tula-v2-footer-logo { margin-top: 18px; width: 132px; }
.tula-v2-footer-logo .tula-logo-image { display: block; height: auto; width: 100%; }
.tula-v2-footer-contact { padding-left: 30px; padding-top: 1px; position: relative; }
.tula-v2-footer-contact::before { background: rgba(255, 255, 255, .22); content: ''; height: 54px; left: -17px; position: absolute; top: 104px; width: 1px; }
.tula-v2-footer-contact p { align-items: center; display: flex; font-size: 14px; gap: 14px; margin: 0 0 17px; }
.tula-v2-footer-contact p a { align-items: center; display: flex; gap: 14px; text-decoration: none; }
.tula-v2-footer-contact .tula-icon { color: var(--tula-blue); flex: 0 0 24px; height: 24px; stroke-width: 2.5; width: 24px; }
.tula-v2-footer-form { padding-top: 1px; }
.tula-v2-footer-form .wpcf7 input:not([type='submit']),
.tula-v2-footer-form .wpcf7 select,
.tula-v2-footer-form .wpcf7 textarea { border-color: rgba(255, 255, 255, .42); }
.tula-v2-footer-form .wpcf7 textarea { height: 70px; }
.tula-v2-footer-form .wpcf7 input[type='submit'] { height: 38px; width: 148px; }
.tula-v2-footer-form .tula-v2-submit-row { align-items: center; display: flex; gap: 12px; width: 100%; }
.tula-v2-footer-form .tula-v2-submit-row .tula-v2-privacy { flex: 1 1 auto; margin: 0; min-width: 0; }
.tula-v2-copyright { font-size: 10px; margin: 9px 0 0; text-align: center; }

/* Full-screen gallery: image navigation and zoom without a premium Elementor dependency. */
.tula-v2-lightbox { align-items: center; background: rgba(0, 7, 15, .96); color: #fff; display: flex; inset: 0; justify-content: center; padding: 68px 74px 84px; position: fixed; z-index: 999999; }
.tula-v2-lightbox[hidden] { display: none; }
.tula-v2-lightbox-viewport { align-items: center; display: flex; height: 100%; justify-content: center; overflow: hidden; width: 100%; }
.tula-v2-lightbox-image { cursor: zoom-in; display: block; max-height: 100%; max-width: 100%; object-fit: contain; transform: scale(1); transform-origin: center; transition: transform .18s ease; }
.tula-v2-lightbox-image.is-zoomed { cursor: zoom-out; }
.tula-v2-lightbox-control { align-items: center; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%; color: #fff; cursor: pointer; display: flex; font: 400 25px/1 Arial, sans-serif; height: 42px; justify-content: center; padding: 0; position: absolute; transition: background .2s ease; width: 42px; }
.tula-v2-lightbox-control:hover,
.tula-v2-lightbox-control:focus-visible { background: var(--tula-blue); outline: 0; }
.tula-v2-lightbox-close { right: 23px; top: 21px; }
.tula-v2-lightbox-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.tula-v2-lightbox-next { right: 20px; top: 50%; transform: translateY(-50%); }
.tula-v2-lightbox-zoom { bottom: 23px; left: 50%; transform: translateX(-50%); }
.tula-v2-lightbox-count { bottom: 31px; font: 600 12px/1 Montserrat, Arial, sans-serif; left: 24px; letter-spacing: .4px; position: absolute; }

@media (max-width: 767px) {
  .tula-v2-lightbox { padding: 66px 48px 76px; }
  .tula-v2-lightbox-control { height: 38px; width: 38px; }
  .tula-v2-lightbox-prev { left: 8px; }
  .tula-v2-lightbox-next { right: 8px; }
  .tula-v2-lightbox-close { right: 13px; top: 13px; }
  .tula-v2-lightbox-count { bottom: 24px; left: 16px; }
  .tula-v2-lightbox-zoom { bottom: 16px; }
}

/* Elementor must never constrain these full-bleed section widgets. */
.elementor-element-a100000,
.elementor-element-a100001,
.elementor-element-a100002,
.elementor-element-a100003,
.elementor-element-a100004 { margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.elementor-widget-tula_hero,
.elementor-widget-tula_services,
.elementor-widget-tula_why,
.elementor-widget-tula_projects,
.elementor-widget-tula_contact { flex: 0 0 100% !important; max-width: none !important; width: 100% !important; }

@media (max-width: 900px) {
  .tula-v2-service-grid { gap: 20px; grid-template-columns: 235px 165px minmax(0, 1fr); padding-left: 0; padding-right: 0; }
  .tula-v2-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 24px; }
  .tula-v2-why-feature:nth-child(2)::after { display: none; }
  .tula-v2-footer-grid { gap: 22px; grid-template-columns: .94fr 1.08fr 1.65fr; }
  .tula-v2-footer-contact { padding-left: 21px; }
  .tula-v2-footer-contact::before { left: -11px; }
}

@media (max-width: 767px) {
  .tula-v2-shell { width: min(100% - 32px, 570px); }
  .tula-v2-hero { min-height: 0; }
  .tula-v2-hero .tula-parallax-bg { background-position: 60% 0 !important; background-size: auto 460px !important; inset: 0 !important; }
  .tula-v2-hero-shell { align-items: center; display: flex; flex-direction: column; height: auto; padding: 12px 0 26px; }
  .tula-v2-brand,
  .tula-v2-header-phone,
  .tula-v2-nav,
  .tula-v2-hero-copy,
  .tula-v2-quote-card { left: auto; position: relative; right: auto; top: auto; transform: none; }
  .tula-v2-brand { align-self: center; margin-top: 24px; width: 96px; }
  .tula-v2-header-phone { align-self: center; font-size: 16px; gap: 7px; left: 50%; margin: 0; padding-top: 10px; position: absolute; top: 3px; transform: translateX(-50%); }
  .tula-v2-header-phone .tula-icon { height: 18px; width: 18px; }
  .tula-v2-nav { display: none; }
  .tula-v2-hero-copy { align-self: flex-start; margin-top: 55px; width: min(100%, 320px); }
  .tula-v2-hero-copy h1 { font-size: 29px; white-space: normal; }
  .tula-v2-quote-card { margin-top: 28px; width: 100%; }
  .tula-v2-services { padding-top: 24px; }
  .tula-v2-title > span,
  .tula-v2-why-heading > span,
  .tula-v2-footer-why > span { font-size: 13px; }
  .tula-v2-title h2 { font-size: 22px; }
  .tula-v2-service-grid { grid-template-columns: 1fr; padding: 0 0 14px; }
  .tula-v2-service-name { margin-bottom: 16px; }
  .tula-v2-service-copy h3 { font-size: 17px; }
  .tula-v2-service-copy p { font-size: 15px; line-height: 1.65; max-width: 300px; }
  .tula-v2-checklist { margin: 0 auto; width: min(100%, 300px); }
  .tula-v2-checklist li { font-size: 15px; }
  .tula-v2-service-photo { height: 210px; }
  .tula-v2-why-band { min-height: 0; padding-bottom: 50px; padding-top: 51px; }
  .tula-v2-why-heading h2 { font-size: 26px; }
  .tula-v2-why-grid { grid-template-columns: 1fr; margin-top: 27px; row-gap: 0; }
  .tula-v2-why-feature { border-bottom: 1px solid rgba(255, 255, 255, .16); min-height: 0; padding: 18px 0; }
  .tula-v2-why-feature:first-child { padding-left: 0; padding-top: 0; }
  .tula-v2-why-feature:last-child { border-bottom: 0; padding-bottom: 0; }
  .tula-v2-why-feature::after { display: none; }
  .tula-v2-why-feature h3 { font-size: 17px; }
  .tula-v2-why-feature p { font-size: 15px; line-height: 1.65; max-width: 100%; }
  .tula-v2-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tula-v2-project-card { height: 145px; }
  .tula-v2-project-card:last-child { grid-column: 1 / -1; }
  .tula-v2-footer-grid { grid-template-columns: 1fr; }
  .tula-v2-footer { text-align: center; }
  .tula-v2-footer-why h2 { font-size: 26px; }
  .tula-v2-footer-quality { align-items: center; flex-direction: column; margin-left: auto; margin-right: auto; }
  .tula-v2-footer-quality h3,
  .tula-v2-footer-contact h3,
  .tula-v2-footer-form h3 { font-size: 17px; }
  .tula-v2-footer-quality p { font-size: 15px; line-height: 1.65; text-align: center; }
  .tula-v2-footer-logo { margin-left: auto; margin-right: auto; }
  .tula-v2-footer-contact { border-top: 1px solid rgba(255, 255, 255, .22); padding-left: 0; padding-top: 22px; }
  .tula-v2-footer-contact::before { display: none; }
  .tula-v2-footer-contact p { font-size: 16px; justify-content: center; overflow-wrap: anywhere; }
  .tula-v2-footer-form h3 { text-align: center; }
  .tula-v2-footer-form input:not([type='submit']),
  .tula-v2-footer-form select,
  .tula-v2-footer-form textarea { font-size: 16px; }
  .tula-v2-footer-form .wpcf7 input[type='submit'] { font-size: 14px; width: 100%; }
  .tula-v2-footer-form .tula-v2-submit-row { align-items: stretch; flex-direction: column; }
  .tula-v2-footer-form .tula-v2-privacy { display: flex; font-size: 13px; justify-content: center; margin: 12px 0 0; text-align: center; }
  .tula-v2-copyright { font-size: 12px; margin-top: 21px; }
}

@media (max-width: 420px) {
  .tula-v2-hero-copy { margin-top: 48px; }
  .tula-v2-site .tula-form-row,
  .tula-v2-site .tula-form-row > p { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .tula-v2-site .tula-parallax-bg,
  .tula-v2-site .tula-v2-project-card img,
  .tula-v2-site .tula-v2-service-photo img { transform: translate3d(0, 0, 0) scale(var(--tula-scale, 1.08)) !important; }
}
