/* DBY DETAILING / Modern Automotive V4 → Avada 7.16.x design layer.
   All selectors are scoped to .dby-* to avoid unexpected Avada UI overrides. */
:root{--dby-yellow:#e7d000;--dby-ink:#171c22;--dby-paper:#f2f3f4;--dby-copy:#68727b;--dby-max:1250px}
.dby-section,.dby-section *{box-sizing:border-box}
.dby-section{font-family:"DM Sans",Arial,sans-serif;color:var(--dby-ink)}
.dby-section h1,.dby-section h2,.dby-section h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-.045em;line-height:1.18;margin:0 0 20px;font-weight:800}
.dby-section h1{font-size:clamp(42px,5.2vw,78px)}
.dby-section h2{font-size:clamp(32px,3.45vw,51px)}
.dby-section h3{font-size:24px}
.dby-section p{font-family:"DM Sans",Arial,sans-serif;color:var(--dby-copy);font-size:15px;line-height:1.85;margin:0 0 20px}
.dby-section a{text-decoration:none}
.dby-section .fusion-text{margin:0}
.dby-section .dby-kicker{font:800 11px/1.5 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#748088;display:block;margin:0 0 23px}
.dby-kicker::before{content:"";display:inline-block;width:23px;height:1px;background:currentColor;margin:0 11px 4px 0;opacity:.7}
.dby-section .dby-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:var(--dby-yellow);color:#171c22!important;font:800 12px Manrope,Arial,sans-serif;letter-spacing:.025em;transition:background .2s,transform .2s;border:1px solid var(--dby-yellow);margin:5px 10px 5px 0}
.dby-section .dby-btn:hover{background:#ffed4c;border-color:#ffed4c;transform:translateY(-2px)}
.dby-section .dby-btn--outline{border-color:rgba(255,255,255,.5);background:transparent;color:#fff!important}
.dby-section .dby-btn--outline:hover{background:#fff;color:#171c22!important;border-color:#fff}
.dby-section .dby-btn--dark{background:#171c22;border-color:#171c22;color:#fff!important}
.dby-section .dby-btn--dark:hover{background:#39424b;border-color:#39424b}
.dby-section .dby-btn--light{background:#fff;border-color:#fff;color:#171c22!important}
.dby-section .dby-btn--light:hover{background:#eceff0;border-color:#eceff0}
.dby-section > .fusion-builder-row{max-width:var(--dby-max)!important;margin-left:auto!important;margin-right:auto!important}
.dby-section > .fusion-builder-row > .fusion-layout-column{margin-bottom:0!important}
.dby-section .fusion-column-wrapper{height:100%}
/* full width containers with a centered interior, no conflicting Avada padding */
.dby-section.fusion-fullwidth{padding-left:clamp(20px,3.2vw,48px)!important;padding-right:clamp(20px,3.2vw,48px)!important}
.dby-hero{min-height:650px;position:relative;isolation:isolate;background-color:#181f26;background-size:cover!important;background-position:center!important;color:#fff;display:flex;align-items:center;padding-top:110px!important;padding-bottom:110px!important}
.dby-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,16,20,.94) 0%,rgba(16,22,27,.78) 50%,rgba(12,15,19,.3) 100%);z-index:0;pointer-events:none}
.dby-hero .fusion-builder-row{width:100%;position:relative;z-index:1}
.dby-hero h1{color:#fff;max-width:810px}
.dby-hero h1 em{font-style:normal;position:relative;color:#e5e8ea;white-space:normal;background-image:url('../images/dby-brush.svg');background-size:100% 11px;background-repeat:no-repeat;background-position:center bottom;padding-bottom:16px}
.dby-hero .dby-kicker{color:#cfd5d9}
.dby-hero p{max-width:520px;color:#c9ced2;font-size:16px;line-height:1.9}
.dby-hero .dby-founder{display:block;margin-top:38px;color:#c6cbd0;font-size:11px;letter-spacing:.1em}
.dby-intro{background:var(--dby-paper);padding-top:90px!important;padding-bottom:48px!important}
.dby-intro .dby-intro-copy{padding:10px 0 0 20px}
.dby-services-heading{background:var(--dby-paper);padding-top:44px!important;padding-bottom:32px!important}
.dby-services-heading .dby-section-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;align-items:flex-end}
.dby-services-heading h2{margin-bottom:0}
.dby-services-group{background:var(--dby-paper);padding-top:0!important;padding-bottom:16px!important}
.dby-services-group--last{padding-bottom:100px!important}
.dby-services-group > .fusion-builder-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px;width:100%;}
.dby-services-group--large > .fusion-builder-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.dby-services-group > .fusion-builder-row>.fusion-layout-column{width:auto!important;max-width:none!important;margin:0!important;float:none!important;min-height:270px}
.dby-services-group--large > .fusion-builder-row>.fusion-layout-column{min-height:340px}
.dby-service-card .fusion-column-wrapper{border:0!important;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;min-height:inherit;background-size:cover!important;background-position:center!important;padding:28px!important;overflow:hidden}
.dby-service-card .fusion-column-wrapper::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,17,.96) 0%,rgba(8,12,17,.66) 48%,rgba(8,12,17,.1) 100%);z-index:0;pointer-events:none}
.dby-service-card .fusion-column-wrapper>.fusion-text{position:relative;z-index:1}
.dby-service-card .fusion-column-wrapper>.fusion-builder-column-content{z-index:1;position:relative}
.dby-service-card .dby-number{font:800 10px Manrope,sans-serif;letter-spacing:.14em;color:#ccd3d8;display:block;margin-bottom:13px}
.dby-service-card h3{color:#fff;font-size:clamp(20px,2vw,28px);margin-bottom:11px}
.dby-service-card p{color:#ccd5db;font-size:12px;line-height:1.65;margin-bottom:14px;max-width:390px}
.dby-service-card .dby-card-link{font:800 10px Manrope,sans-serif;color:#e7d000!important;letter-spacing:.08em}
.dby-service-card .dby-card-link:focus-visible{outline:3px solid var(--dby-yellow);outline-offset:5px}
.dby-commerce{background:#171c22;color:#fff;padding-top:86px!important;padding-bottom:86px!important}
.dby-commerce .fusion-builder-row{align-items:stretch}
.dby-commerce h2{color:#fff}
.dby-commerce p{color:#bac4cc}
.dby-commerce .dby-kicker{color:#d1d9dc}
.dby-commerce .dby-pill{border:1px solid #5c646b;color:#e7e9ec;font-size:10px;padding:8px 11px;margin:0 6px 8px 0;display:inline-block}
.dby-commerce .dby-store-board{background:#242c32;border:1px solid #414b53;padding:40px 29px 30px;min-height:300px;display:flex;flex-direction:column;justify-content:space-between;text-align:center}
.dby-store-board .dby-store-kicker{color:#bdc6cb;font:800 10px Manrope,sans-serif;letter-spacing:.13em}
.dby-store-board strong{font:800 clamp(28px,3vw,48px) Manrope,sans-serif;letter-spacing:-.07em;color:#fff;display:block;margin:23px 0 6px}
.dby-store-board strong span{color:var(--dby-yellow)}
.dby-store-board .dby-brands{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:23px}
.dby-store-board .dby-brands span{border:1px solid #536069;color:#dde3e6;padding:7px 9px;font:700 10px Manrope,sans-serif}
.dby-social{background:#e9ecee;padding-top:88px!important;padding-bottom:93px!important}
.dby-social .dby-social-intro{margin-bottom:22px}
.dby-social-grid{background:#e9ecee;padding-top:0!important;padding-bottom:100px!important}
.dby-social-grid .fusion-builder-row{gap:18px}
.dby-social-card .fusion-column-wrapper{min-height:305px;position:relative;padding:33px!important;display:flex;justify-content:flex-end;background:#1c2329}
.dby-social-card--instagram .fusion-column-wrapper{background:linear-gradient(140deg,#302c3b,#1e262b 55%,#3c3140)}
.dby-social-card--youtube .fusion-column-wrapper{background:linear-gradient(135deg,#222831,#101419)}
.dby-social-card .dby-platform{position:absolute;top:33px;left:32px;color:#edf0f3;font:800 11px Manrope,sans-serif;letter-spacing:.15em}
.dby-social-card h3{color:#fff;font-size:clamp(24px,2.5vw,35px);overflow-wrap:anywhere;margin-bottom:12px}
.dby-social-card .dby-social-strap{color:#bfc9cc;font-size:10px;letter-spacing:.11em;font-weight:800}
.dby-social-card .dby-card-link{color:var(--dby-yellow)!important;font:800 11px Manrope,sans-serif;letter-spacing:.08em}
.dby-about{background:var(--dby-paper);padding-top:96px!important;padding-bottom:96px!important}
.dby-about .dby-photo-column .fusion-column-wrapper{min-height:460px;background-size:cover!important;background-position:center!important;background-color:#343c44;padding:24px;display:flex;align-items:flex-end}
.dby-about .dby-year{display:inline-block;background:#fff;color:#1d2328;padding:16px 25px;font:800 29px Manrope,sans-serif}
.dby-about .dby-year small{display:block;color:#717980;font:700 10px Manrope,sans-serif;margin-top:4px;letter-spacing:.08em}
.dby-about .dby-about-copy .fusion-column-wrapper{padding-left:30px}
.dby-about .dby-value{border-top:1px solid #cbd1d4;padding-top:14px;font-weight:700!important;font-size:13px!important;margin:12px 0!important;color:#333c43!important}
.dby-about .dby-value b{color:#81909a;margin-right:12px}
.dby-work{background:#f9fafa;padding-top:95px!important;padding-bottom:30px!important}
.dby-work-cards{background:#f9fafa;padding-bottom:96px!important}
.dby-work-cards .fusion-builder-row{gap:16px}
.dby-work-card .fusion-column-wrapper{min-height:265px;background-size:cover!important;background-position:center!important;display:flex;justify-content:flex-end;padding:25px!important;position:relative;isolation:isolate}
.dby-work-card .fusion-column-wrapper::before{content:"";background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.12));position:absolute;inset:0;z-index:0;pointer-events:none}
.dby-work-card .fusion-column-wrapper>.fusion-text{position:relative;z-index:1}
.dby-work-card h3{color:#fff;font-size:21px;margin:0 0 7px}
.dby-work-card p{color:#d9e1e6!important;font-size:11px}
.dby-process{background:#1a2025;padding-top:93px!important;padding-bottom:28px!important}
.dby-process h2{color:#fff}
.dby-process .dby-kicker{color:#bec6ca}
.dby-process p{color:#aeb7be}
.dby-process-steps{background:#1a2025;padding-bottom:85px!important}
.dby-process-step .fusion-column-wrapper{background:#222b32;border:1px solid #495159;padding:27px!important;min-height:200px}
.dby-process-step h3{color:#fff;font-size:22px}
.dby-process-step p{color:#bac4cc;font-size:13px}
.dby-process-step .dby-number{color:var(--dby-yellow);font:800 11px Manrope,sans-serif;letter-spacing:.1em}
.dby-faq{background:var(--dby-paper);padding-top:95px!important;padding-bottom:95px!important}
.dby-faq .dby-questions .fusion-column-wrapper{padding-left:26px}
.dby-faq details{padding:20px 3px;border-bottom:1px solid #d3d8dc}
.dby-faq summary{font:750 14px Manrope,sans-serif;cursor:pointer;line-height:1.6}
.dby-faq details p{margin-top:13px;font-size:13px}
.dby-cta{background:#e5e9eb;padding-top:75px!important;padding-bottom:80px!important}
.dby-cta p{margin-bottom:0}
.dby-cta .dby-cta-right{text-align:right}
/* Page-specific guard to avoid header/subheader collision; use Avada Page Options to hide title bar. */
@media (max-width:1000px){.dby-section h1{font-size:clamp(42px,7vw,68px)}.dby-services-group>.fusion-builder-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dby-services-group--large>.fusion-builder-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dby-commerce .dby-store-board{padding:30px 16px}.dby-section.fusion-fullwidth{padding-left:22px!important;padding-right:22px!important}}
@media (max-width:680px){.dby-hero{min-height:620px;padding-top:85px!important;padding-bottom:80px!important;background-position:60% center}.dby-hero h1{font-size:clamp(38px,10vw,56px)}.dby-section h2{font-size:32px}.dby-intro,.dby-about,.dby-commerce,.dby-faq{padding-top:65px!important;padding-bottom:65px!important}.dby-services-heading{padding-top:35px!important}.dby-services-group>.fusion-builder-row,.dby-services-group--large>.fusion-builder-row{grid-template-columns:1fr!important}.dby-services-group>.fusion-builder-row>.fusion-layout-column{min-height:255px}.dby-services-group--large>.fusion-builder-row>.fusion-layout-column{min-height:300px}.dby-intro .dby-intro-copy,.dby-about .dby-about-copy .fusion-column-wrapper,.dby-faq .dby-questions .fusion-column-wrapper{padding-left:0}.dby-section .fusion-layout-column{margin-bottom:16px!important}.dby-about .dby-photo-column .fusion-column-wrapper{min-height:330px}.dby-social-grid,.dby-work-cards{padding-bottom:65px!important}.dby-cta .dby-cta-right{text-align:left}}
 

/* ================= DBY / Avada 7.16.2 visual corrections, v1.1.0 ================
   Repair plan derived from the first real Avada screenshot (Oct 10 2026).
   Avada default color/typography and generated column backgrounds can override
   plain declarations, so these rules intentionally use a scoped specificity bump.
   These fixes only apply where a DBY container/class is present.
*/
body .fusion-fullwidth.dby-section,
body .fusion-fullwidth.dby-section * {box-sizing:border-box}
body .fusion-fullwidth.dby-section {
  --dby-yellow:#e7d000;
  --dby-paper:#f2f3f4;
  --dby-ink:#171c22;
}
/* Color and typography fix: Avada's default H1/H3 colors were rendering black
   on top of dark hero and service images. The overrides below are intentional. */
body .dby-section h1,
body .dby-section h2,
body .dby-section h3 {font-family:Manrope,Arial,sans-serif!important;font-weight:800!important;line-height:1.14!important;letter-spacing:-.044em!important;}
body .dby-section h1 {font-size:clamp(43px,5.1vw,78px)!important;}
body .dby-section h2 {font-size:clamp(31px,3.5vw,51px)!important;}
body .dby-section h3 {font-size:clamp(20px,2vw,28px)!important;}
body .dby-intro h2,
body .dby-services-heading h2,
body .dby-social h2,
body .dby-about h2,
body .dby-work h2,
body .dby-faq h2,
body .dby-cta h2 {color:#171c22!important;}
body .fusion-fullwidth.dby-hero h1,
body .fusion-fullwidth.dby-hero h1 *,
body .fusion-fullwidth.dby-commerce h2,
body .fusion-fullwidth.dby-process h2,
body .dby-service-card h3,
body .dby-work-card h3,
body .dby-social-card h3,
body .dby-process-step h3 {color:#fff!important;}
body .dby-hero .dby-kicker,
body .dby-hero .dby-founder {color:#cfd5d9!important;}
body .dby-hero p {color:#c9ced2!important;font-size:16px!important;max-width:600px;}
body .dby-commerce p,
body .dby-process p,
body .dby-process-step p {color:#bac4cc!important;}
body .dby-service-card p {color:#e0e6e9!important;font-size:13px!important;line-height:1.65!important;}
body .dby-service-card .dby-number {color:#f0f2f3!important;}
/* Native container backgrounds: Avada's fullwidth background declarations were
   showing white. Explicit shortcode background_color can also be added later,
   but these are sufficient on already imported pages. */
body .fusion-fullwidth.dby-intro,
body .fusion-fullwidth.dby-services-heading,
body .fusion-fullwidth.dby-services-group,
body .fusion-fullwidth.dby-about,
body .fusion-fullwidth.dby-faq {background:#f2f3f4!important;background-color:#f2f3f4!important;}
body .fusion-fullwidth.dby-social,
body .fusion-fullwidth.dby-social-grid {background:#e9ecee!important;background-color:#e9ecee!important;}
body .fusion-fullwidth.dby-work,
body .fusion-fullwidth.dby-work-cards {background:#f9fafa!important;background-color:#f9fafa!important;}
body .fusion-fullwidth.dby-commerce {background:#171c22!important;background-color:#171c22!important;color:#fff!important;}
body .fusion-fullwidth.dby-process,
body .fusion-fullwidth.dby-process-steps {background:#1a2025!important;background-color:#1a2025!important;}
body .fusion-fullwidth.dby-cta {background:#e5e9eb!important;background-color:#e5e9eb!important;}
body .fusion-fullwidth.dby-hero {background-color:#181f26!important;}
body .dby-hero .fusion-builder-row {position:relative!important;z-index:2!important;}
body .dby-hero:before {z-index:1!important;}
/* The Avada wrapper is the background image host. Give the wrapper its actual
   required height rather than relying on min-height:inherit from a column. */
body .dby-service-card .fusion-column-wrapper {
  min-height:285px!important;
  height:100%!important;
  padding:26px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background-size:cover!important;
  background-position:center center!important;
}
body .dby-services-group--large .dby-service-card .fusion-column-wrapper {min-height:355px!important;}
body .dby-service-card .fusion-column-wrapper:before {z-index:0!important;pointer-events:none!important;}
body .dby-service-card .fusion-column-wrapper > .fusion-text,
body .dby-service-card .fusion-column-wrapper > .fusion-builder-column-content,
body .dby-work-card .fusion-column-wrapper > .fusion-text {position:relative!important;z-index:2!important;}
/* Prevent Avada's internal column spacing from adding unexpected holes. */
body .dby-services-group > .fusion-builder-row {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
body .dby-services-group--large > .fusion-builder-row {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
body .dby-services-group > .fusion-builder-row > .fusion-layout-column {width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;}
/* Avada two 1/2 columns PLUS a CSS flex gap can exceed 100% width, causing
   the Instagram / YouTube social cards to stack even on desktop. */
body .dby-social-grid > .fusion-builder-row {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important;}
body .dby-social-grid > .fusion-builder-row > .fusion-layout-column {width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;}
body .dby-social-card .fusion-column-wrapper {min-height:305px!important;padding:34px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;position:relative!important;isolation:isolate!important;background-color:#20272d!important;}
body .dby-social-card--instagram .fusion-column-wrapper {background:linear-gradient(135deg,#362f40,#252c33 55%,#37303f)!important;}
body .dby-social-card--youtube .fusion-column-wrapper {background:linear-gradient(135deg,#2c333a,#14181d)!important;}
body .dby-social-card .dby-platform {position:static!important;display:block!important;margin-bottom:42px;color:#f2f4f6!important;font-size:12px!important;}
body .dby-social-card .dby-social-strap {color:#bdc8cf!important;display:block;margin-bottom:8px;}
/* Exactly the same width+gap issue caused the 3-column portfolio gallery to
   show two images on the first row, and one on the following row. */
body .dby-work-cards > .fusion-builder-row {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
body .dby-work-cards > .fusion-builder-row > .fusion-layout-column {width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;}
body .dby-work-card .fusion-column-wrapper {min-height:295px!important;padding:27px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;background-size:cover!important;background-position:center!important;position:relative!important;isolation:isolate!important;}
body .dby-work-card .fusion-column-wrapper:before {z-index:0!important;}
body .dby-work-card p {color:#ecf0f2!important;}
body .dby-process-step .fusion-column-wrapper {background:#222b32!important;border:1px solid #495159!important;min-height:220px!important;}
/* Store cards must be readable on a dark container. */
body .dby-commerce .dby-store-board {background:#242c32!important;border-color:#414b53!important;}
body .dby-commerce .dby-kicker,
body .dby-commerce .dby-store-kicker {color:#cbd4da!important;}
body .dby-commerce .dby-pill {color:#e8ecef!important;border-color:#69747d!important;}
/* Fix an inconsistent default Avada bottom-margin after an inner Text element. */
body .dby-section .fusion-text > :last-child {margin-bottom:0;}
/* Tablet and mobile: keep rows readable, do not constrain body to 2 columns. */
@media (max-width:1024px) {
 body .dby-services-group > .fusion-builder-row {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body .dby-services-group--large > .fusion-builder-row {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body .dby-work-cards > .fusion-builder-row {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 body .dby-service-card .fusion-column-wrapper {min-height:315px!important;}
}
@media (max-width:700px) {
 body .dby-section h1 {font-size:clamp(38px,10vw,56px)!important;}
 body .dby-section h2 {font-size:clamp(29px,8vw,38px)!important;}
 body .dby-services-group > .fusion-builder-row,
 body .dby-services-group--large > .fusion-builder-row,
 body .dby-social-grid > .fusion-builder-row,
 body .dby-work-cards > .fusion-builder-row {grid-template-columns:1fr!important;}
 body .dby-service-card .fusion-column-wrapper,
 body .dby-services-group--large .dby-service-card .fusion-column-wrapper {min-height:310px!important;}
 body .dby-social-card .fusion-column-wrapper {min-height:260px!important;}
 body .dby-work-card .fusion-column-wrapper {min-height:265px!important;}
 body .dby-hero {min-height:630px!important;}
}
