@font-face {
  font-family: "CenturyGothic";
  src: url("../fonts/CenturyGothic.woff") format("woff"), url("../fonts/CenturyGothic.ttf") format("truetype");
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
}

:root {
  --de-v2-blue: #1f45f6;
  --de-v2-black: #160101;
  --de-v2-text: #231f20;
  --de-v2-gray: #f5f5f5;
  --de-v2-width: 1170px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.de-v2-theme {
  margin: 0;
  color: var(--de-v2-text);
  background: #fff;
  font: 300 14px/1.45 "CenturyGothic", Arial, sans-serif;
  overflow-x: hidden;
}
body.de-v2-theme a { color: inherit; }
body.de-v2-theme img { max-width: 100%; height: auto; }
body.de-v2-theme h1, body.de-v2-theme h2, body.de-v2-theme h3, body.de-v2-theme p { font-family: "CenturyGothic", Arial, sans-serif; }
.de-v2-container { width: min(calc(100% - 30px), var(--de-v2-width)); margin-inline: auto; }
.de-v2-main { min-height: 40vh; }
.de-v2-generic { padding: 60px 0; }
.de-v2-skip { position: fixed; left: 8px; top: -100px; z-index: 999999; padding: 10px 15px; background: #fff; color: #000; }
.de-v2-skip:focus { top: 8px; }
.elementor-widget-de-v2-header, .elementor-widget-de-v2-footer, .elementor-widget-de-v2-hero, .elementor-widget-de-v2-intro, .elementor-widget-de-v2-promos, .elementor-widget-de-v2-videos, .elementor-widget-de-v2-testimonials, .elementor-widget-de-v2-tabs, .elementor-widget-de-v2-inner-hero, .elementor-widget-de-v2-about, .elementor-widget-de-v2-hours, .elementor-widget-de-v2-faq-page, .elementor-widget-de-v2-review-list, .elementor-widget-de-v2-review-form, .elementor-widget-de-v2-traffic-signs, .elementor-widget-de-v2-contact-hero, .elementor-widget-de-v2-contact, .elementor-widget-de-v2-blog-posts { margin: 0 !important; }
.de-v2-visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* Header: 33px announcement + 107px navigation = original 140px. */
.de-v2-header { position: relative; z-index: 1000; height: 140px; color: #000; background: rgba(255,255,255,.98); }
.de-v2-topbar { height: 33px; display: grid; place-items: center; overflow: hidden; color: #fff; background: var(--de-v2-blue); font-size: 16px; }
.de-v2-topbar span { animation: de-v2-flash 3.5s ease-in-out infinite; }
.de-v2-nav { height: 107px; display: grid; grid-template-columns: 200px minmax(0,1fr) 265px; align-items: center; gap: 15px; }
.de-v2-logo { align-self: stretch; display: flex; align-items: center; text-decoration: none; overflow: visible; }
.de-v2-logo img { display: block; width: 122px; height: 122px; object-fit: contain; }
.de-v2-navigation { align-self: stretch; min-width: 0; }
.de-v2-menu { height: 100%; display: flex; align-items: stretch; justify-content: center; gap: 0; margin: 0; padding: 0; list-style: none; }
.de-v2-menu li { position: relative; display: flex; align-items: stretch; }
.de-v2-menu a { display: flex; align-items: center; padding: 28px 10px; color: var(--de-v2-menu-text,#000); text-decoration: none; font-size: 13px; font-weight: 700; white-space: nowrap; }
.de-v2-menu li::after { content: ""; position: absolute; left: 15px; right: 15px; bottom: 12px; height: 3px; background: transparent; }
.de-v2-menu li.current-menu-item::after, body.home .de-v2-menu li:first-child::after, .de-v2-menu li:hover::after { background: var(--de-v2-blue); }
.de-v2-menu li.current-menu-item a, .de-v2-menu a:hover { color: var(--de-v2-blue); }
.de-v2-phone { display: flex; align-items: center; justify-content: flex-end; gap: 27px; color: #000; text-decoration: none; }
.de-v2-phone__pulse { position: relative; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--de-v2-blue); box-shadow: 0 0 0 15px rgba(31,69,246,.08); animation: de-v2-phone-pulse 1.5s ease-out infinite; }
.de-v2-phone__pulse svg { width: 34px; fill: #fff; transform-origin: center; animation: de-v2-phone-shake 1.5s linear infinite; }
.de-v2-phone__text { display: block; font-size: 21px; line-height: 1.25; }
.de-v2-phone__text em, .de-v2-phone__text strong { display: block; }
.de-v2-phone__text em { font-size: 20px; font-weight: 700; }
.de-v2-phone__text strong { font-size: 21px; font-weight: 300; }
.de-v2-phone__text strong::first-letter { color: var(--de-v2-blue); }
.de-v2-menu-toggle { display: none; width: 44px; height: 38px; padding: 8px; border: 0; border-radius: 4px; background: #072a3b; cursor: pointer; }
.de-v2-menu-toggle span { display: block; width: 25px; height: 3px; margin: 4px auto; background: #fff; }

/* Reference carousel. */
.de-v2-hero { margin-top: 1%; }
.de-v2-hero__viewport { position: relative; width: 100%; height: auto; aspect-ratio: auto; max-height: none; overflow: hidden; background: transparent; }
.de-v2-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .65s ease, visibility .65s ease; }
.de-v2-slide.is-active { position: relative; inset: auto; opacity: 1; visibility: visible; z-index: 1; }
.de-v2-slide > img { display: block; width: 100%; height: auto; object-fit: cover; object-position: center; transform: none; }
.de-v2-slide.is-active > img { animation: none !important; transform: none !important; }
.de-v2-hero--no-zoom .de-v2-slide.is-active > img { animation: none !important; transform: none !important; }
.de-v2-slide__copy { position: absolute; z-index: 2; inset-inline: 5%; top: 34%; text-align: center; }
.de-v2-slide__copy--no-caption { top: auto; bottom: 7%; }
.de-v2-slide__copy h1, .de-v2-slide__copy h2 { display: inline-block; margin: 0 0 26px; padding: 8px 10px; color: var(--de-v2-blue); background: var(--de-v2-caption-bg,rgba(238,238,238,.55)); font-size: clamp(24px,2.45vw,35px); line-height: 1.1; font-weight: 700; }
.de-v2-slide__copy p { width: max-content; max-width: 90%; margin: 0 auto 40px; padding: 3px 10px; color: var(--de-v2-caption-color,#000); background: var(--de-v2-caption-bg,rgba(238,238,238,.55)); font-size: clamp(18px,1.83vw,26px); line-height: 1.45; font-weight: 700; }
.de-v2-slide__buttons { display: flex; justify-content: center; gap: 5px; }
.de-v2-btn { display: inline-flex; min-height: 60px; align-items: center; justify-content: center; padding: 18px 20px; color: #fff !important; border: 1px solid #ccc; border-radius: 0; text-decoration: none; font-size: 14px; font-weight: 400; transition: opacity .2s; }
.de-v2-btn:hover { opacity: .86; }
.de-v2-btn--dark { background: var(--de-v2-dark,var(--de-v2-black)); }
.de-v2-btn--blue { background: #1079db; border-color: #357ebd; }
.de-v2-slider-arrow { position: absolute; z-index: 4; top: 50%; display: grid; place-items: center; width: 48px; height: 48px; margin: 0; padding: 0; color: #fff; border: 2px solid rgba(255,255,255,.92); border-radius: 50%; background: rgba(31,69,246,.72); box-shadow: 0 4px 14px rgba(0,0,0,.24); opacity: .94; cursor: pointer; transform: translateY(-50%); transition: background .2s, transform .2s, opacity .2s; }
.de-v2-slider-arrow svg { width: 22px; height: 28px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.de-v2-slider-arrow:hover, .de-v2-slider-arrow:focus-visible { background: var(--de-v2-blue); opacity: 1; transform: translateY(-50%) scale(1.06); }
.de-v2-slider-arrow--prev { left: 25px; }
.de-v2-slider-arrow--next { right: 25px; }
.de-v2-mobile-cta { display: none; }

/* Intro: mirrors 5/12 + 7/12 reference grid. */
.de-v2-intro { width: 90%; min-height: 626px; margin: 0 auto; padding: 14px 0 42px; color: var(--de-v2-copy,var(--de-v2-text)); text-align: justify; }
.de-v2-intro__inner { display: grid; grid-template-columns: 41.6667% 58.3333%; }
.de-v2-intro__image { padding: 120px 15px 0; }
.de-v2-intro__image img { width: 100%; max-height: 360px; object-fit: cover; border-left: 3px solid var(--de-v2-blue); border-bottom: 3px solid var(--de-v2-blue); padding: 0 0 8px 8px; }
.de-v2-intro__content { padding: 0 15px; }
.de-v2-intro__content h2 { margin: 20px 0 10px; color: var(--de-v2-title,#212121); text-align: left; font-size: 30px; line-height: 1.1; }
.de-v2-intro__content h3 { margin: 0 0 23px; color: var(--de-v2-blue); text-align: left; font-size: 22px; font-style: italic; font-weight: 400; }
.de-v2-intro__lead { padding-left: 2%; border-left: 3px solid var(--de-v2-blue); }
.de-v2-intro__content p { margin: 0 0 15px; }
.de-v2-intro__body strong { color: var(--de-v2-blue); }
.de-v2-intro__content ul { margin: 20px 0; padding: 0; list-style: none; }
.de-v2-intro__content li { position: relative; margin: 0 0 19px; padding-left: 18px; }
.de-v2-intro__content li::before { content: "›"; position: absolute; left: 0; top: -2px; color: var(--de-v2-blue); font-size: 22px; font-weight: 700; }
.de-v2-intro blockquote { margin: 18px 0 0; color: var(--de-v2-blue); font-size: 17px; font-style: italic; font-weight: 700; }

/* Three 270px reference cards. */
.de-v2-promos { padding: 114px 0 43px; }
.de-v2-promos__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.de-v2-promo { position: relative; display: table; height: 270px; color: var(--de-v2-card-title,#222) !important; background: var(--de-v2-card-bg,var(--de-v2-gray)); text-align: center; text-decoration: none; }
.de-v2-promo::before { content: ""; position: absolute; right: 0; bottom: 0; width: 212px; height: 3px; background: var(--de-v2-blue); }
.de-v2-promo::after { content: ""; position: absolute; right: 0; bottom: 0; width: 3px; height: 212px; background: var(--de-v2-blue); }
.de-v2-promo > div { display: table-cell; padding: 10px 30px; vertical-align: middle; }
.de-v2-promo h2 { margin: 70px 0 14px; color: var(--de-v2-card-title,#222); font-size: 22px; font-weight: 700; }
.de-v2-promo p { margin: 0; color: var(--de-v2-card-text,#555); }
.de-v2-promo__icon { position: absolute; z-index: 2; left: 50%; top: -51px; display: grid; place-items: center; width: 145px; height: 145px; margin-left: -72.5px; border-radius: 50%; background: #fff; box-shadow: 0 6px 22px rgba(0,0,0,.09); }
.de-v2-promo__icon svg { width: 82px; height: 82px; fill: var(--de-v2-blue); stroke: var(--de-v2-blue); stroke-width: 3; }
.de-v2-promo__icon img { display: block; width: var(--de-v2-icon-size,125px); height: var(--de-v2-icon-size,125px); border-radius: 16%; object-fit: contain; }
.de-v2-promo__icon .cut { fill: #fff; stroke: none; }
.de-v2-promo__icon .check { fill: none; stroke: #fff; stroke-width: 5; }

/* New requested video area, styled within the original visual system. */
.de-v2-videos { padding: 55px 0 65px; background: #fff; }
.de-v2-section-heading { margin: 0 auto 28px; text-align: center; }
.de-v2-section-heading h1, .de-v2-section-heading h2 { margin: 0; color: var(--de-v2-title,#222); font-size: 24px; line-height: 1.25; font-weight: 700; }
.de-v2-section-heading > span { position: relative; display: block; width: 345px; max-width: 72%; height: 18px; margin: 0 auto; border-bottom: 1px solid #777; }
.de-v2-section-heading > span i { position: absolute; left: 50%; bottom: -3px; width: 6px; height: 6px; margin-left: -3px; border-radius: 50%; background: #555; }
.de-v2-section-heading > span::after { content: ""; position: absolute; left: 38%; right: 38%; bottom: -1px; height: 2px; background: #555; }
.de-v2-videos__description { margin: -6px auto 30px; color: var(--de-v2-copy,#555); text-align: center; font-size: 15px; }
.de-v2-videos__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.de-v2-video-card { margin: 0; border: 1px solid #e0e0e0; background: var(--de-v2-card-bg,#f8f8f8); }
.de-v2-video-card__media { position: relative; aspect-ratio: 16/9; overflow: hidden; background: #dde3e7 center/cover no-repeat; }
.de-v2-video-card__media::after { content: ""; position: absolute; inset: 0; background: rgba(31,69,246,.18); pointer-events: none; }
.de-v2-video-card video { position: relative; z-index: 2; width: 100%; height: 100%; object-fit: cover; }
.de-v2-video-card__media > a, .de-v2-video-card__media > .de-v2-play { position: absolute; z-index: 3; inset: 0; display: grid; place-items: center; color: #fff; text-decoration: none; }
.de-v2-play { font-size: 42px; text-shadow: 0 2px 8px rgba(0,0,0,.35); }
.de-v2-video-card h3 { margin: 0; padding: 14px; color: var(--de-v2-title,#222); text-align: center; font-size: 17px; }

/* Dynamic WordPress posts grid used on the homepage and Blog page. */
.de-v2-blog { padding: 55px 0 65px; color: var(--de-v2-copy,#555); background: #f7f7f7; }
.de-v2-blog__grid { display: grid; grid-template-columns: repeat(var(--de-v2-blog-cols,3),minmax(0,1fr)); gap: 30px; }
.de-v2-blog-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid #e1e1e1; background: var(--de-v2-blog-card,#fff); box-shadow: 0 8px 24px rgba(0,0,0,.05); }
.de-v2-blog-card__image { display: block; aspect-ratio: 16/9; overflow: hidden; background: #e8e8e8; }
.de-v2-blog-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.de-v2-blog-card:hover .de-v2-blog-card__image img { transform: scale(1.045); }
.de-v2-blog-card__body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.de-v2-blog-card time { color: var(--de-v2-blue); font-size: 12px; font-weight: 700; }
.de-v2-blog-card h3 { margin: 9px 0 12px; color: var(--de-v2-title,#222); font-size: 19px; line-height: 1.35; font-weight: 700; }
.de-v2-blog-card h3 a, .de-v2-blog-card__more { text-decoration: none; }
.de-v2-blog-card p { margin: 0 0 18px; color: var(--de-v2-copy,#555); line-height: 1.65; }
.de-v2-blog-card__more { margin-top: auto; color: var(--de-v2-blue) !important; font-weight: 700; }
.de-v2-blog__all { margin-top: 30px; text-align: center; }
.de-v2-blog__all .de-v2-btn { min-height: 46px; padding: 12px 24px; }
.de-v2-blog__empty { padding: 35px; border: 1px solid #ddd; background: #fff; text-align: center; }
.de-v2-blog-pagination ul { display: flex; justify-content: center; gap: 7px; margin: 34px 0 0; padding: 0; list-style: none; }
.de-v2-blog-pagination a, .de-v2-blog-pagination span { display: grid; place-items: center; min-width: 38px; height: 38px; padding: 0 10px; color: #222; border: 1px solid var(--de-v2-blue); background: #fff; text-decoration: none; }
.de-v2-blog-pagination .current { color: #fff; background: var(--de-v2-blue); }
.de-v2-single { padding: 55px 0 70px; }
.de-v2-single__article { max-width: 920px; margin: 0 auto; }
.de-v2-single__article h1 { margin: 0 0 12px; color: #222; font-size: 34px; line-height: 1.25; }
.de-v2-single__article time { color: var(--de-v2-blue); font-weight: 700; }
.de-v2-single__image { width: 100%; max-height: 520px; margin: 26px 0; object-fit: cover; }
.de-v2-single__content { font-size: 16px; line-height: 1.8; }
.de-v2-single__content img { height: auto; }
.de-v2-single__back { display: inline-flex; margin-top: 28px; color: var(--de-v2-blue) !important; font-weight: 700; text-decoration: none; }

/* Reference blue motorway testimonial section. */
.de-v2-testimonials { min-height: 557px; padding: 50px 0; color: var(--de-v2-testimonial-text,#fff); background-position: center; background-size: cover; background-attachment: fixed; }
.de-v2-testimonials h2 { margin: 0; color: var(--de-v2-testimonial-text,#fff); text-align: center; font-size: 24px; font-weight: 400; }
.de-v2-light-divider { display: block; width: 371px; max-width: 70%; height: 18px; margin: 0 auto 18px; border-bottom: 1px solid rgba(255,255,255,.8); }
.de-v2-testimonials__list { display: grid; gap: 8px; }
.de-v2-testimonial { display: grid; grid-template-columns: var(--de-v2-person-width,290px) 1fr; align-items: center; min-height: 126px; }
.de-v2-testimonial__person { display: grid; grid-template-columns: 105px 1fr; align-items: center; gap: 12px; }
.de-v2-testimonial__person img, .de-v2-avatar { display: grid; place-items: center; width: 100px; height: 100px; padding: 4px; border: 2px solid #fff; border-radius: 50%; color: #fff; font-size: 52px; object-fit: contain; }
.de-v2-testimonial h3 { margin: 0 0 10px; color: var(--de-v2-testimonial-text,#fff); font-size: 17px; font-weight: 700; }
.de-v2-testimonial time { color: var(--de-v2-testimonial-text,#fff); font-weight: 700; }
.de-v2-testimonial blockquote { margin: 0; color: var(--de-v2-testimonial-text,#fff); font-size: 16.5px; line-height: 2.4; font-style: italic; font-weight: 300; }
.de-v2-testimonials__all { float: right; margin-top: 6px; color: #fff !important; text-decoration: none; font-size: 15.5px; }

/* Two-tab reference area. */
.de-v2-tabs { min-height: 603px; padding: 43px 0; }
.de-v2-tabs__nav { display: grid; grid-template-columns: 1fr 1fr; }
.de-v2-tabs__nav button { height: 52px; color: #222; border: 0; border-bottom: 1px solid #ddd; background: var(--de-v2-tab-inactive,#eee); font: 700 17px "CenturyGothic",Arial,sans-serif; cursor: pointer; }
.de-v2-tabs__nav button.is-active { color: #fff; background: var(--de-v2-blue); }
.de-v2-tabs__body { min-height: 470px; padding: 45px 46px; border: 1px solid #ddd; border-top: 0; }
.de-v2-tab-panel { display: none; }
.de-v2-tab-panel.is-active { display: grid; grid-template-columns: 2fr 1fr; gap: 30px; }
.de-v2-tab-panel[data-panel="links"].is-active { display: block; }
.de-v2-tab-panel__copy { padding: 3px 0; }
.de-v2-tab-panel__copy p { margin: 0 0 21px; color: var(--de-v2-tab-copy,#333); font-size: 14px; line-height: 1.58; font-weight: 400; }
.de-v2-tab-panel__copy strong { color: var(--de-v2-tab-heading,#231f20); font-size: 15px; font-weight: 700; }
.de-v2-tab-panel__image { display: grid; place-items: start center; padding-top: 5px; }
.de-v2-tab-panel__image img { display: block; width: 100%; height: auto; padding: 5px; border: 1px solid #cecece; object-fit: cover; }
.de-v2-question { display: inline-grid; place-items: center; width: 15px; height: 15px; margin-right: 7px; color: #fff; border-radius: 50%; background: var(--de-v2-blue); font-size: 10px; }
.de-v2-useful-links { column-count: 2; column-gap: 40px; }
.de-v2-useful-links p { margin: 0 0 18px; break-inside: avoid; font-size: 15px; line-height: 1.45; }
.de-v2-useful-links a { color: #000; text-decoration: none; font-weight: 700; }
.de-v2-useful-links a span { margin-right: 6px; color: var(--de-v2-blue); }
.de-v2-useful-links a:hover { color: #12b8ec; }

/* Shared inner-page banner, measured from the HTTrack reference. */
.de-v2-inner-hero { position: relative; height: var(--de-v2-inner-height,147px); margin-top: 1%; color: #fff; background-position: center; background-size: cover; }
.de-v2-inner-hero__inner { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.de-v2-inner-hero h1 { margin: 0; padding-top: 2px; color: var(--de-v2-inner-title,#f2f2f2); text-shadow: 2px 1px 1px #000; font-size: 30px; line-height: 1.2; font-weight: 400; }
.de-v2-inner-hero nav { display: flex; align-items: center; gap: 12px; color: var(--de-v2-inner-crumb,#f2f2f2); text-shadow: 2px 1px 1px #000; font-size: 16px; font-weight: 700; }
.de-v2-inner-hero nav a { color: inherit; text-decoration: none; }
.de-v2-inner-hero nav strong { font-weight: 700; }

/* About page: 576px reference content block plus its 15px footer gap. */
.de-v2-about { min-height: 591px; padding: 42px 0 15px; color: var(--de-v2-copy,#333); }
.de-v2-about .de-v2-section-heading { margin-bottom: 29px; }
.de-v2-about__intro { max-width: 900px; margin: 0 auto; text-align: center; font-size: 14px; line-height: 1.45; }
.de-v2-about__intro p { margin: 0; }
.de-v2-about blockquote { max-width: 920px; margin: 27px auto 25px; padding: 0; color: var(--de-v2-blue); border: 0; font-size: 14px; line-height: 1.45; font-style: italic; font-weight: 700; text-align: left; }
.de-v2-about__gallery { min-height: 274px; display: flex; align-items: center; justify-content: center; gap: 74px; margin: 0; padding: 20px 35px; background: var(--de-v2-gallery-bg,#fafafa); }
.de-v2-about__gallery figure { margin: 0; }
.de-v2-about__gallery img { display: block; width: 336px; height: 232px; padding: 4px; border: 1px solid #c9dae8; object-fit: cover; }
.de-v2-about__gallery figure:nth-child(2) img { width: 350px; height: 257px; }

/* Working hours: original 1/2/8/1 Bootstrap column geometry. */
.de-v2-hours { min-height: 436px; padding: 29px 0 15px; color: var(--de-v2-copy,#333); }
.de-v2-hours .de-v2-section-heading { margin-bottom: 18px; }
.de-v2-hours__row { display: grid; grid-template-columns: 1fr 2fr 8fr 1fr; align-items: center; min-height: 321px; }
.de-v2-hours__row figure { grid-column: 2; margin: 0; padding-top: 2%; text-align: center; }
.de-v2-hours__row figure img { display: inline-block; width: var(--de-v2-hourglass-width,160px); max-height: 286px; object-fit: contain; }
.de-v2-hours__copy { grid-column: 3; padding: 8% 0 0; font-size: 17px; line-height: 1.45; }
.de-v2-hours__copy p { margin: 0; }

/* FAQ page: open question/answer flow, never cards or accordion. */
.de-v2-faq-page { min-height: 595px; padding: 21px 0 15px; }
.de-v2-faq-page .de-v2-section-heading { margin-bottom: 35px; }
.de-v2-faq-page__list { max-width: 1025px; margin: 0 auto; }
.de-v2-faq-page__list article { margin: 0 0 18px; }
.de-v2-faq-page__list h3 { display: flex; align-items: flex-start; gap: 7px; margin: 0 0 14px; color: var(--de-v2-faq-question,#333); font-size: var(--de-v2-faq-question-size,15px); line-height: 1.4; font-weight: 700; }
.de-v2-faq-page__list h3 .de-v2-question { flex: 0 0 15px; margin-top: 2px; margin-right: 0; }
.de-v2-faq-page__list article > div { color: var(--de-v2-faq-answer,#555); font-size: var(--de-v2-faq-answer-size,14px); line-height: 1.55; font-weight: 300; }
.de-v2-faq-page__list article > div p { margin: 0; }

/* Student reviews table/list. */
.de-v2-review-list { min-height: 1320px; padding: 50px 0 15px; }
.de-v2-review-list .de-v2-section-heading { margin-bottom: 42px; }
.de-v2-review-table__head, .de-v2-review-rows, .de-v2-review-pagination { margin-inline: 15px; }
.de-v2-review-table__head { height: 44px; display: grid; grid-template-columns: 16% 18% 51% 15%; align-items: center; padding: 0 28px; color: var(--de-v2-review-head,#fff); background: var(--de-v2-blue); font-size: 14px; font-weight: 700; }
.de-v2-review-row { min-height: 106px; display: grid; grid-template-columns: 16% 18% 34% 17% 15%; align-items: center; padding: 8px 12px; color: var(--de-v2-review-text,#111); border-bottom: 1px solid #d9e1e5; background: var(--de-v2-review-row,#fff); }
.de-v2-review-row.is-alt { background: var(--de-v2-review-alt,#f1f8fc); }
.de-v2-review-row__avatar { display: grid; place-items: center; }
.de-v2-review-row__avatar img { width: 58px; height: 69px; object-fit: contain; }
.de-v2-review-row h3 { margin: 0; color: var(--de-v2-review-name,var(--de-v2-blue)); font-size: 13px; line-height: 1.35; font-weight: 700; text-transform: uppercase; }
.de-v2-review-row__copy { display: contents; }
.de-v2-review-row__copy p { grid-column: 3; margin: 0; padding-right: 15px; font-size: 13.5px; line-height: 1.12; font-weight: 700; }
.de-v2-review-row__copy button { grid-column: 4; justify-self: start; color: var(--de-v2-blue); border: 0; background: transparent; font: 700 13px "CenturyGothic",Arial,sans-serif; cursor: pointer; }
.de-v2-review-row__more { grid-column: 3 / 5; padding: 7px 18px 0 0; font-size: 13px; line-height: 1.35; }
.de-v2-review-row time { grid-column: 5; justify-self: end; font-size: 12px; }
.de-v2-review-pagination { display: flex; gap: 7px; margin-top: 0; padding-top: 0; }
.de-v2-review-pagination button { width: 31px; height: 31px; color: #fff; border: 0; background: var(--de-v2-black); font: 700 12px "CenturyGothic",Arial,sans-serif; cursor: pointer; }
.de-v2-review-pagination button.is-active { background: var(--de-v2-blue); }

/* Review submission form. */
.de-v2-review-form { min-height: 669px; padding: 28px 30px 15px; }
.de-v2-review-form .de-v2-section-heading { margin-bottom: 8px; }
.de-v2-review-form__shortcode { margin: 0 15px; }
.de-v2-review-entry label { display: block; margin: 0 0 10px; color: var(--de-v2-form-label,#222); font-size: 14px; font-weight: 700; }
.de-v2-review-entry label > span:first-child { display: block; margin-bottom: 2px; }
.de-v2-review-entry input:not([type="submit"]), .de-v2-review-entry textarea { width: 100%; padding: 8px 10px; color: #222; border: 1px solid #ccc; border-radius: 3px; background: var(--de-v2-field-bg,#fff); font: 300 14px "CenturyGothic",Arial,sans-serif; }
.de-v2-review-entry input:not([type="submit"]) { height: 43px; }
.de-v2-review-entry textarea { height: 100px; resize: vertical; }
.de-v2-review-entry input[type="file"] { padding: 8px; }
.de-v2-review-entry .de-v2-review-security { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: end; }
.de-v2-review-entry input[type="submit"] { width: 342px; height: 28px; margin-top: 14px; color: #fff; border: 0; background: var(--de-v2-blue); font: 700 12px "CenturyGothic",Arial,sans-serif; cursor: pointer; }

/* Full traffic-sign catalogue. */
.de-v2-traffic { min-height: 1496px; padding: 20px 0 15px; }
.de-v2-traffic .de-v2-section-heading { margin-bottom: 42px; }
.de-v2-traffic__tabs { width: 815px; max-width: 100%; display: grid; grid-template-columns: repeat(6,1fr); gap: 14px; margin: 0 auto 68px; }
.de-v2-traffic__tabs button { grid-column: span 2; height: 36px; padding: 4px 10px; color: var(--de-v2-sign-button,#111); border: 1px solid var(--de-v2-blue); background: #fff; font: 700 14px "CenturyGothic",Arial,sans-serif; cursor: pointer; }
.de-v2-traffic__tabs button.is-active { color: var(--de-v2-sign-active,#fff); background: var(--de-v2-blue); }
.de-v2-traffic__tabs button:nth-child(7) { grid-column: 2 / span 2; }
.de-v2-traffic__tabs button:nth-child(8) { grid-column: 4 / span 2; }
.de-v2-sign-grid { display: none; grid-template-columns: repeat(8,minmax(0,1fr)); align-items: stretch; border-top: 1px solid var(--de-v2-sign-border,#e5e5e5); }
.de-v2-sign-grid.is-active { display: grid; }
.de-v2-sign-card { min-width: 0; min-height: 112px; display: grid; grid-template-rows: 70px auto; align-items: center; margin: 0; padding: 8px 5px 10px; border-right: 1px solid var(--de-v2-sign-border,#e5e5e5); border-bottom: 1px solid var(--de-v2-sign-border,#e5e5e5); text-align: center; }
.de-v2-sign-card:nth-child(8n+1) { border-left: 1px solid var(--de-v2-sign-border,#e5e5e5); }
.de-v2-sign-card > div { display: grid; place-items: center; height: 70px; }
.de-v2-sign-card img { display: block; max-width: 105px; max-height: 68px; object-fit: contain; }
.de-v2-sign-card p { margin: 0; color: var(--de-v2-sign-label,#444); font-size: 12.5px; line-height: 1.35; }

/* Contact page: 1920x400 image followed by the reference 5/7 grid. */
.de-v2-contact-hero { width: 100%; padding-top: 1%; line-height: 0; }
.de-v2-contact-hero img { display: block; width: 100%; height: auto; aspect-ratio: 1920/400; object-fit: cover; }
.de-v2-contact { min-height: 729px; padding: 37px 0 11px; color: var(--de-v2-copy,#333); }
.de-v2-contact .de-v2-section-heading { margin-bottom: 0; }
.de-v2-contact__grid { display: grid; grid-template-columns: 5fr 7fr; margin-top: 67px; }
.de-v2-contact__info { min-height: 130px; padding: 13px 15px 15px; background: var(--de-v2-contact-info-bg,#fafafa); }
.de-v2-contact__info h2 { margin: 0 0 35px; color: var(--de-v2-blue); font-size: 16px; font-weight: 400; }
.de-v2-contact__info hr { margin: 0 0 34px; border: 0; border-top: 1px solid #eee; }
.de-v2-contact__info p { margin: 0 0 14px; font-size: 15px; }
.de-v2-contact__info p strong { font-weight: 700; }
.de-v2-contact__info p span { color: var(--de-v2-blue); }
.de-v2-contact__info a { color: var(--de-v2-copy,#333); text-decoration: none; }
.de-v2-contact__form { padding: 25px 15px 0 30px; }
.de-v2-contact-entry label { display: block; margin: 0 0 5px; color: #000; font-size: 13px; font-weight: 700; }
.de-v2-contact-entry > p, .de-v2-contact-security > p { margin: 0; }
.de-v2-contact-entry label > span:first-child { display: block; margin-bottom: 2px; }
.de-v2-contact-entry .de-v2-input-group { display: grid; grid-template-columns: 35px 1fr; }
.de-v2-contact-entry .de-v2-input-group i { display: grid; place-items: center; color: #333; border: 1px solid #ccc; border-right: 0; background: #eee; font-style: normal; }
.de-v2-contact-entry input:not([type="submit"]), .de-v2-contact-entry textarea { width: 100%; padding: 7px 10px; color: #222; border: 1px solid #ccc; border-radius: 0; background: var(--de-v2-field-bg,#fff); font: 300 14px "CenturyGothic",Arial,sans-serif; }
.de-v2-contact-entry input:not([type="submit"]) { height: 34px; }
.de-v2-contact-entry textarea { height: 72px; resize: vertical; }
.de-v2-contact-security { display: grid; grid-template-columns: 1fr 2fr; margin-top: 3px; }
.de-v2-contact-submit { margin-top: 25px; text-align: right; }
.de-v2-contact-entry input[type="submit"] { min-width: 115px; height: 34px; padding: 0 16px; color: #fff; border: 0; border-radius: 3px; background: #d9534f; font: 700 13px "CenturyGothic",Arial,sans-serif; cursor: pointer; }

/* Footer matching the original 381px dark image block. */
.de-v2-footer { height: 381px; min-height: 381px; overflow: hidden; color: #fff; background: url("../images/footer-reference.png") center bottom/auto auto no-repeat; }
.de-v2-footer__overlay { height: 381px; min-height: 381px; padding: 28px 0 40px; background: var(--de-v2-footer-overlay,rgba(0,0,0,0)); }
.de-v2-footer__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 28px; min-height: 300px; }
.de-v2-footer h2 { margin: 0 0 13px; padding-bottom: 10px; color: #fff; border-bottom: 1px solid #f2f2f2; text-align: left; font-size: 16px; line-height: 1.25; font-weight: 400; }
.de-v2-footer a { color: #fff; text-decoration: none; }
.de-v2-footer-menu { margin: 0; padding: 0; list-style: none; columns: 2; }
.de-v2-footer-menu li { margin: 0; }
.de-v2-footer-menu a::before { content: "» "; }
.de-v2-type-phone { display: flex; align-items: center; min-height: 48px; margin-top: 63px; color: #fff; white-space: nowrap; font-size: 30px; line-height: 1; }
.de-v2-type-phone > img { display: block; flex: 0 0 26px; width: 26px; height: 31px; margin-right: 24px; object-fit: contain; }
.de-v2-type-phone strong { display: inline-block; min-width: 222px; font-weight: 300; }
.de-v2-type-phone i { display: inline-block; width: 2px; height: 31px; margin-left: 2px; background: var(--de-v2-blue); animation: de-v2-cursor .8s step-end infinite; }
.de-v2-footer-contact { text-align: right; }
.de-v2-footer-contact h2 { text-align: right; }
.de-v2-footer-contact h3 { margin: 7px 0 12px; padding-bottom: 8px; color: #fff; border-bottom: 1px solid #f2f2f2; text-align: center; font-size: 15px; font-weight: 400; }
.de-v2-footer-social { display: flex; justify-content: flex-end; gap: 12px; }
.de-v2-footer-social img { width: 23px; height: 23px; filter: brightness(0) invert(1); }
.de-v2-quick-form > p { margin: 0; }
.de-v2-quick-form label { display: grid; grid-template-columns: 98px 1fr; align-items: center; margin-bottom: 19px; color: #fff; font-weight: 300; }
.de-v2-quick-form input, .de-v2-quick-form textarea { width: 100%; height: 31px; padding: 5px 9px; color: #eee; border: 1px solid #656565; border-radius: 2px; background: rgba(34,34,34,.5); }
.de-v2-quick-form textarea { height: 50px; resize: vertical; }
.de-v2-quick-security .wpcf7-form-control-wrap > label { display: grid; grid-template-columns: 92px 1fr; gap: 8px; margin: 0; }
.de-v2-quick-security .wpcf7-quiz-label { display: grid; place-items: center; height: 31px; color: #fff; background: #070707; font-weight: 700; }
.de-v2-quick-submit { text-align: right; }
.de-v2-quick-form input[type="submit"] { width: auto; height: 31px; padding: 0 14px; color: #fff; border: 0; background: var(--de-v2-blue); font-weight: 700; cursor: pointer; }
.de-v2-credit { position: relative; z-index: 5; min-height: 40px; margin-top: -40px; padding: 10px 0; color: #fff; border-top: 1px solid rgba(255,255,255,.75); background: rgba(0,0,0,.28); font-size: 11px; }
.de-v2-credit__inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.de-v2-credit a { color: #cadc5c; font-weight: 700; text-decoration: none; }

/* Fixed controls. */
.de-v2-share { position: fixed; z-index: 10000; left: 27px; bottom: 25px; width: 50px; height: 50px; }
.de-v2-share__toggle { position: relative; z-index: 3; display: grid; place-items: center; width: 50px; height: 50px; padding: 0; border: 0; border-radius: 50%; background: var(--de-v2-blue); box-shadow: 0 6px 18px rgba(0,0,0,.25); cursor: pointer; }
.de-v2-share__toggle img { width: 25px; height: 25px; filter: brightness(0) invert(1); }
.de-v2-share__items a { position: absolute; left: 5px; top: 5px; display: grid; place-items: center; width: 40px; height: 40px; color: #222; border-radius: 50%; background: #d1dde8; text-decoration: none; opacity: 0; transform: scale(.4); transition: .35s ease; }
.de-v2-share__items img { width: 21px; height: 21px; }
.de-v2-share.is-open .de-v2-share__items a { opacity: 1; transform: scale(1); }
.de-v2-share.is-open .de-v2-share__items a:nth-child(1) { transform: translate(57px,-3px); }
.de-v2-share.is-open .de-v2-share__items a:nth-child(2) { transform: translate(47px,-49px); }
.de-v2-share.is-open .de-v2-share__items a:nth-child(3) { transform: translate(7px,-77px); }
.de-v2-share.is-open .de-v2-share__items a:nth-child(4) { transform: translate(-37px,-55px); }
.de-v2-whatsapp { position: fixed; z-index: 10001; right: 22px; bottom: 24px; display: grid; place-items: center; width: 58px; height: 58px; border: 3px solid #fff; border-radius: 50%; background: var(--de-v2-wa,#25d366); box-shadow: 0 5px 20px rgba(0,0,0,.26); animation: de-v2-whatsapp-pulse 2s ease-out infinite; }
.de-v2-whatsapp img { width: 34px; height: 34px; filter: brightness(0) invert(1); }

/* Reveal effects never hide content without JS. */
.de-v2-js .de-v2-reveal { opacity: 0; }
.de-v2-js .de-v2-reveal.is-visible[data-anim="fadeInLeft"] { animation: de-v2-fade-left .85s both; }
.de-v2-js .de-v2-reveal.is-visible[data-anim="fadeInRight"] { animation: de-v2-fade-right .85s both; }
.de-v2-js .de-v2-reveal.is-visible[data-anim="zoomIn"] { animation: de-v2-zoom-in .7s var(--de-delay,0ms) both; }

@keyframes de-v2-zoom { from { transform: scale(1); } to { transform: scale(1.5); } }
@keyframes de-v2-flash { 0%,50%,100%{opacity:1} 25%,75%{opacity:.42} }
@keyframes de-v2-phone-pulse { 0%{box-shadow:0 0 0 0 rgba(31,69,246,.25)} 100%{box-shadow:0 0 0 28px rgba(31,69,246,0)} }
@keyframes de-v2-phone-shake { 0%,40%,100%{transform:rotate(0)} 10%,20%{transform:rotate(28deg)} 15%,25%{transform:rotate(-28deg)} 30%{transform:rotate(16deg)} 35%{transform:rotate(-16deg)} }
@keyframes de-v2-cursor { 0%,49%{opacity:1} 50%,100%{opacity:0} }
@keyframes de-v2-whatsapp-pulse { 0%{box-shadow:0 0 0 0 rgba(37,211,102,.35)} 70%{box-shadow:0 0 0 18px rgba(37,211,102,0)} 100%{box-shadow:0 0 0 0 rgba(37,211,102,0)} }
@keyframes de-v2-fade-left { from{opacity:0;transform:translateX(-50px)} to{opacity:1;transform:none} }
@keyframes de-v2-fade-right { from{opacity:0;transform:translateX(50px)} to{opacity:1;transform:none} }
@keyframes de-v2-zoom-in { from{opacity:0;transform:scale(.45)} to{opacity:1;transform:scale(1)} }

@media (max-width: 1199px) {
  .de-v2-nav { grid-template-columns: 160px minmax(0,1fr) 220px; gap: 10px; }
  .de-v2-logo img { width: 108px; height: 108px; }
  .de-v2-menu a { padding-inline: 6px; font-size: 11px; }
  .de-v2-phone { gap: 16px; }
  .de-v2-phone__pulse { width: 55px; height: 55px; }
  .de-v2-phone__text em { font-size: 17px; }
  .de-v2-phone__text strong { font-size: 18px; }
}

@media (max-width: 991px) {
  .de-v2-header { height: 140px; }
  .de-v2-nav { grid-template-columns: 150px 1fr; }
  .de-v2-menu-toggle { display: block; justify-self: end; grid-column: 2; grid-row: 1; }
  .de-v2-navigation { position: absolute; left: 15px; right: 15px; top: 140px; display: none; height: auto; background: #fff; box-shadow: 0 15px 22px rgba(0,0,0,.16); }
  .de-v2-navigation.is-open { display: block; }
  .de-v2-menu { display: block; height: auto; }
  .de-v2-menu a { padding: 13px 18px; font-size: 14px; }
  .de-v2-menu li::after { display: none; }
  .de-v2-phone { display: none; }
  .de-v2-intro { width: 94%; }
  .de-v2-js .de-v2-intro.de-v2-reveal.is-visible[data-anim] { opacity: 1; transform: none !important; animation: none !important; }
  .de-v2-promos__grid, .de-v2-videos__grid { gap: 20px; }
  .de-v2-testimonial { grid-template-columns: 250px 1fr; }
  .de-v2-blog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .de-v2-container { width: min(calc(100% - 28px), var(--de-v2-width)); }
  .de-v2-header { height: 105px; }
  .de-v2-topbar { height: 33px; font-size: 15px; white-space: nowrap; }
  .de-v2-nav { position: relative; height: 72px; display: flex; justify-content: center; }
  .de-v2-logo { height: 72px; }
  .de-v2-logo img { width: 82px; height: 82px; }
  .de-v2-menu-toggle { position: absolute; left: 0; top: 17px; display: block; }
  .de-v2-navigation { left: 0; right: 0; top: 105px; }
  .de-v2-hero { margin-top: 0; }
  .de-v2-hero__viewport { height: auto; aspect-ratio: auto; }
  .de-v2-slide__copy { display: none; }
  .de-v2-slider-arrow { width: 34px; height: 34px; border-width: 1px; }
  .de-v2-slider-arrow svg { width: 16px; height: 20px; }
  .de-v2-slider-arrow--prev { left: 8px; }
  .de-v2-slider-arrow--next { right: 8px; }
  .de-v2-mobile-cta { display: flex; justify-content: center; gap: 5px; min-height: 88px; padding: 20px 8px; background: #fff; }
  .de-v2-mobile-cta .de-v2-btn { min-height: 35px; padding: 9px 12px; font-size: 13px; }
  .de-v2-intro { min-height: 0; padding: 0 18px 36px; }
  .de-v2-intro__inner { display: block; }
  .de-v2-intro__image { display: none; }
  .de-v2-intro__content { padding: 0; }
  .de-v2-intro__content h2 { font-size: 19px; }
  .de-v2-intro__content h3 { font-size: 23px; }
  .de-v2-intro__content p, .de-v2-intro__content li { font-size: 14px; line-height: 1.55; }
  .de-v2-promos { padding: 92px 0 25px; }
  .de-v2-promos__grid { display: block; }
  .de-v2-promo { display: table; width: 100%; height: 235px; margin: 0 0 100px; }
  .de-v2-promo:last-child { margin-bottom: 0; }
  .de-v2-videos { padding: 35px 0 45px; }
  .de-v2-videos__grid { grid-template-columns: 1fr; }
  .de-v2-blog { padding: 38px 0 45px; }
  .de-v2-blog__grid { grid-template-columns: 1fr; gap: 22px; }
  .de-v2-blog-card__body { padding: 18px; }
  .de-v2-single { padding: 36px 14px 50px; }
  .de-v2-single__article h1 { font-size: 27px; }
  .de-v2-single__content { font-size: 15px; }
  .de-v2-testimonials { min-height: 0; padding: 45px 0; background-attachment: scroll; }
  .de-v2-testimonial { display: block; padding: 18px 0 28px; text-align: center; }
  .de-v2-testimonial__person { display: block; }
  .de-v2-testimonial__person img, .de-v2-avatar { margin: 0 auto 12px; }
  .de-v2-testimonial blockquote { margin-top: 18px; font-size: 16px; line-height: 2.25; }
  .de-v2-testimonials__all { float: none; display: block; margin-top: 18px; }
  .de-v2-tabs { min-height: 0; padding: 16px 0 35px; }
  .de-v2-tabs__nav { display: block; }
  .de-v2-tabs__nav button { width: 100%; }
  .de-v2-tabs__body { min-height: 0; padding: 22px 18px; }
  .de-v2-tab-panel.is-active { display: block; }
  .de-v2-tab-panel__image { margin-top: 24px; }
  .de-v2-useful-links { column-count: 1; }
  .de-v2-inner-hero { height: calc(var(--de-v2-inner-height,147px) - 5px); margin-top: 0; }
  .de-v2-inner-hero__inner { justify-content: center; }
  .de-v2-inner-hero h1 { display: none; }
  .de-v2-inner-hero nav { justify-content: center; font-size: 15px; }
  .de-v2-about { min-height: 0; padding: 58px 18px 15px; }
  .de-v2-about .de-v2-container { width: 100%; }
  .de-v2-about .de-v2-section-heading { margin-bottom: 21px; }
  .de-v2-about__intro { max-width: 292px; font-size: 14px; line-height: 1.45; }
  .de-v2-about blockquote { max-width: 280px; margin: 18px auto 27px; font-size: 14px; line-height: 1.45; }
  .de-v2-about__gallery { min-height: 0; flex-direction: column; gap: 20px; padding: 8px 4px 20px; }
  .de-v2-about__gallery figure, .de-v2-about__gallery img, .de-v2-about__gallery figure:nth-child(2) img { width: 100%; height: auto; }
  .de-v2-hours { min-height: 330px; padding: 14px 0 0; }
  .de-v2-hours .de-v2-section-heading { margin-bottom: 8px; }
  .de-v2-hours__row { grid-template-columns: 1fr 2fr; min-height: 256px; align-items: start; }
  .de-v2-hours__row > div:first-child, .de-v2-hours__row > div:last-child { display: none; }
  .de-v2-hours__row figure { grid-column: 1; padding: 0 6px; }
  .de-v2-hours__row figure img { width: 92px; max-height: 165px; }
  .de-v2-hours__copy { grid-column: 2; padding: 8px 18px 0 4px; font-size: 16px; line-height: 1.4; }
  .de-v2-js .de-v2-hours__row .de-v2-reveal.is-visible[data-anim] { opacity: 1; transform: none !important; animation: none !important; }
  .de-v2-faq-page { min-height: 0; padding: 20px 14px 15px; }
  .de-v2-faq-page .de-v2-container { width: 100%; }
  .de-v2-faq-page .de-v2-section-heading { margin-bottom: 36px; }
  .de-v2-faq-page__list article { margin-bottom: 22px; }
  .de-v2-faq-page__list h3 { margin-bottom: 16px; line-height: 1.42; }
  .de-v2-faq-page__list article > div { line-height: 1.55; }
  .de-v2-review-list { min-height: 0; padding: 18px 0 15px; }
  .de-v2-review-list .de-v2-section-heading { margin-bottom: 62px; }
  .de-v2-review-table__head { display: none; }
  .de-v2-review-rows, .de-v2-review-pagination { margin-inline: 0; }
  .de-v2-review-row { position: relative; display: block; min-height: 200px; padding: 9px 14px 29px; }
  .de-v2-review-row__avatar { display: block; }
  .de-v2-review-row__avatar img { width: 62px; height: 74px; }
  .de-v2-review-row h3 { margin: 1px 0 12px; font-size: 13px; }
  .de-v2-review-row__copy { display: block; }
  .de-v2-review-row__copy p { margin: 0 0 7px; padding: 0; font-size: 14px; line-height: 1.18; }
  .de-v2-review-row__copy button { padding: 0; font-size: 14px; }
  .de-v2-review-row__more { padding: 8px 0 0; }
  .de-v2-review-row time { position: absolute; right: 8px; bottom: 8px; font-size: 12px; }
  .de-v2-review-pagination { padding: 10px 0 0; }
  .de-v2-review-form { min-height: 0; padding: 30px 14px 15px; }
  .de-v2-review-form__shortcode { margin: 0; }
  .de-v2-review-entry .de-v2-review-security { grid-template-columns: 1fr; gap: 8px; }
  .de-v2-review-entry input[type="submit"] { width: 100%; height: 28px; }
  .de-v2-traffic { min-height: 0; padding: 20px 12px 15px; }
  .de-v2-traffic .de-v2-container { width: 100%; }
  .de-v2-traffic .de-v2-section-heading { margin-bottom: 29px; }
  .de-v2-traffic__tabs { width: 255px; display: block; margin-bottom: 37px; }
  .de-v2-traffic__tabs button { display: block; width: 100%; height: 35px; margin-bottom: 14px; font-size: 13px; }
  .de-v2-sign-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .de-v2-sign-card { min-height: 140px; grid-template-rows: 92px auto; padding: 8px 5px 11px; }
  .de-v2-sign-card:nth-child(8n+1) { border-left: 0; }
  .de-v2-sign-card:nth-child(2n+1) { border-left: 1px solid var(--de-v2-sign-border,#e5e5e5); }
  .de-v2-sign-card > div { height: 92px; }
  .de-v2-sign-card img { max-width: 118px; max-height: 88px; }
  .de-v2-sign-card p { font-size: 13px; }
  .de-v2-contact-hero { padding-top: 0; }
  .de-v2-contact { min-height: 0; padding: 38px 14px 15px; }
  .de-v2-contact .de-v2-container { width: 100%; }
  .de-v2-contact__grid { display: block; margin-top: 16px; }
  .de-v2-contact__info { min-height: 195px; padding: 13px 15px; }
  .de-v2-contact__info h2 { margin-bottom: 54px; }
  .de-v2-contact__info hr { margin-bottom: 19px; }
  .de-v2-contact__info p { margin-bottom: 16px; }
  .de-v2-contact__info p span { display: none; }
  .de-v2-contact__form { padding: 45px 15px 0; }
  .de-v2-contact-entry label { margin-bottom: 5px; }
  .de-v2-contact-entry textarea { height: 90px; }
  .de-v2-contact-security { grid-template-columns: 1fr; }
  .de-v2-contact-submit { text-align: stretch; }
  .de-v2-contact-entry input[type="submit"] { width: 100%; }
  .de-v2-footer { height: auto; min-height: 0; overflow: visible; background: #222 !important; }
  .de-v2-footer__overlay { height: auto; min-height: 0; padding-bottom: 58px; }
  .de-v2-footer__grid { grid-template-columns: 1fr; gap: 28px; min-height: 0; }
  .de-v2-footer-contact { text-align: left; }
  .de-v2-footer-contact h2 { text-align: left; }
  .de-v2-footer-contact h3 { text-align: left; }
  .de-v2-footer-social { justify-content: flex-start; }
  .de-v2-type-phone { margin-top: 28px; font-size: 26px; }
  .de-v2-credit__inner { flex-direction: column; gap: 5px; text-align: center; }
  .de-v2-share { left: 17px; bottom: 72px; }
  .de-v2-whatsapp { width: 52px; height: 52px; right: 14px; bottom: 72px; }
}

@media (max-width: 390px) {
  .de-v2-topbar { font-size: 13px; }
  .de-v2-section-heading h2 { font-size: 22px; }
  .de-v2-quick-form label { grid-template-columns: 75px 1fr; }
}

@media (max-width: 340px) {
  .de-v2-topbar { font-size: 11px; }
  .de-v2-topbar span { max-width: 100%; overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .de-v2-js .de-v2-reveal { opacity: 1 !important; transform: none !important; }
}
