/* Rebuild additions: replaces behaviour that webflow.js and IX2 used to provide. */
.skip-link{position:absolute;left:-9999px;top:0;z-index:10000;padding:.75rem 1rem;background:#fff;color:#000}
.skip-link:focus{left:1rem;top:1rem}
/* Content reveal (see scripts/reveal.ts): opacity plus 16px rise, 500ms ease-out, once. */
.js-reveal [data-reveal] { opacity: 0; transform: translate3d(0, 16px, 0); transition: opacity .5s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms), transform .5s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms); }
.js-reveal [data-reveal].is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

button.w-nav-button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}
.w-nav-button{-webkit-tap-highlight-color:transparent}
@media screen and (max-width:991px){
  .navbar1_component.is-open .w-nav-menu{display:block;position:absolute;top:100%;left:0;right:0;z-index:1000}
  .navbar1_component.is-open .w-nav-link{display:block;position:relative}
  html.menu-open{overflow:hidden}
}
.w-dropdown-toggle{cursor:pointer}
.w-tab-link{cursor:pointer}
.faq1_question{cursor:pointer}
.faq1_answer{transition:height .4s ease}
.faq1_icon-wrapper{transition:transform .4s ease}
.faq1_accordion.is-open .faq1_icon-wrapper{transform:rotate(180deg)}
.w-slider-mask{touch-action:pan-y}
.w-slide{transition:transform .5s ease}
.w-slider-dot{cursor:pointer}


/* Menu icon: IX2 "Navbar 1 menu" open/close (inOutQuint). Open: middle line collapses in 200ms, outer lines
   meet in 400ms and rotate to an X in 600ms. Close: lines part in 600ms, unrotate in 400ms, middle returns after 400ms. */
.menu-icon1_line-top,.menu-icon1_line-bottom{transition:translate .6s cubic-bezier(.86,0,.07,1),rotate .4s cubic-bezier(.86,0,.07,1)}
.menu-icon1_line-middle{transition:width .2s cubic-bezier(.86,0,.07,1) .4s}
.w--open .menu-icon1_line-top{translate:0 8px;rotate:-45deg;transition:translate .4s cubic-bezier(.86,0,.07,1),rotate .6s cubic-bezier(.86,0,.07,1)}
.w--open .menu-icon1_line-bottom{translate:0 -8px;rotate:45deg;transition:translate .4s cubic-bezier(.86,0,.07,1),rotate .6s cubic-bezier(.86,0,.07,1)}
.w--open .menu-icon1_line-middle{width:0;transition:width .2s cubic-bezier(.86,0,.07,1)}
@media (prefers-reduced-motion:reduce){.menu-icon1 *{transition:none!important}}

/* a11y: white on industry orange was 2.8:1; navy text passes AA */
.button.is-accent, .button.is-small.is-accent { color: #0b1428; }
picture{display:contents}
picture>source{display:none!important}
:where(img[data-a]){width:auto;height:auto}
[id]{scroll-margin-top:120px !important}

/* Oct 26 mobile QA: section spacing tokens (dominant existing values) applied through the shared section class. */
:root{--section-pad-top:7rem;--section-pad-bottom:7rem;--section-head-gap:5rem;--section-cta-gap:5rem}
@media screen and (max-width:991px){:root{--section-pad-top:6rem;--section-pad-bottom:6rem;--section-head-gap:4.5rem;--section-cta-gap:4.5rem}}
@media screen and (max-width:767px){:root{--section-pad-top:4rem;--section-pad-bottom:4rem;--section-head-gap:3rem;--section-cta-gap:3rem}}
.padding-section-large{padding-top:var(--section-pad-top);padding-bottom:var(--section-pad-bottom)}
/* Trailing margins on the last block doubled the bottom padding (contact, sell pages). */
.padding-section-large>:last-child,.padding-section-large>:last-child>:last-child,.padding-section-large>:last-child>:last-child>:last-child,.padding-section-large>:last-child>:last-child>:last-child>:last-child{margin-bottom:0}
.padding-section-large>:last-child>:last-child>:last-child p:last-child{margin-bottom:0}
/* Buttons never wrap. */
.button{white-space:nowrap}
/* Turnstile is a fixed 300px widget: scale it on 320px screens so it never overflows. */
@media (max-width:359px){.cf-turnstile.ts-box{transform:scale(.9);transform-origin:0 0}}
/* Long email/phone links break instead of overflowing. */
.text-style-link,.contact6_item{overflow-wrap:anywhere}
/* Inventory cards (2-up on phones): stack title and price, keep the button on one line. */
@media screen and (max-width:479px){
  .product2_title-wrapper{flex-direction:column;row-gap:.25rem}
  .product2_item-link .button.is-small{width:100%;padding-left:.5rem;padding-right:.5rem;font-size:.875rem;text-align:center}
  .product2_list{grid-column-gap:1rem}
}
/* Eyebrows: one line where the text allows it. */
@media screen and (max-width:479px){.text-style-tagline{font-size:.875rem}}
/* Tap targets >= 44px without moving the layout (padding offset by negative margin). */
@media screen and (max-width:991px){.navbar1_menu-button{min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center}}
/* Tab links: 44px tap height. */
.layout501_tab-link{min-height:44px}
/* Slider dots keep the live size and spacing; an invisible 44px hit area sits on top. */
.w-slider-dot::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.button.is-link{padding-top:14px;padding-bottom:14px;margin-top:-14px;margin-bottom:-14px}
.contact6_item,.footer3_logo-link{min-height:44px;display:flex;align-items:center}
a.text-size-small,a.text-style-link{display:inline-block;padding:14px 0;margin:-14px 0}
.navbar1_link{min-height:44px;display:flex;align-items:center}
/* The links are flex items now (for the 44px tap height), so their wrapper must lay them out in a row on desktop
   and a column inside the tablet/mobile menu. Without this they stacked vertically in the desktop header. */
.navbar1_menu-links{display:flex;align-items:center}
@media screen and (max-width:991px){.navbar1_menu-links{flex-direction:column;align-items:stretch}}
.button:not(.is-link){min-height:44px}
.button.is-secondary.w-button{display:inline-flex;align-items:center;justify-content:center}
/* Empty button-group wrappers left a 2rem gap under the last block. */
.margin-top:empty,.margin-bottom:empty{display:none}
@media screen and (max-width:767px){.product2_list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Same-colour neighbours: drop the second section's top padding so the gap is one token, not two. */
.section_layout359+.section_portfolio23 .padding-section-large,
.section_portfolio23+.section_layout239 .padding-section-large,
.section_layout239+.section_layout359 .padding-section-large,
.section_layout359+.section_faq1 .padding-section-large,
.section_contact16+.section_contact7 .padding-section-large,
.section_layout140+.section_layout138 .padding-section-large{padding-top:0}
/* Sell page step tabs: the third tab was cut off at 320-430px; share the row equally instead of scrolling. */
@media screen and (max-width:479px){.layout501_tabs-menu.no-scrollbar{column-gap:.5rem;justify-content:space-between}.layout501_tab-link{white-space:nowrap;font-size:min(1rem,4vw);display:flex;align-items:center}}
/* Long eyebrows that must wrap (sentence-length card tagline) break evenly. */
.text-style-tagline{text-wrap:balance}

/* ===== Oct 27 QA + improvement pass ===== */
:root{--dlc-orange:var(--_primitives---colors--industry-orange);--dlc-orange-light:var(--_primitives---colors--industry-orange-light)}

/* Header: four links plus a phone CTA must stay on one line from 992px up (links wrapped to two lines at 1024). */
.navbar1_link{white-space:nowrap}
@media screen and (min-width:992px) and (max-width:1199px){.navbar1_link{padding-left:.6rem;padding-right:.6rem}.navbar1_menu-buttons{margin-left:.5rem}}
.navbar1_link.w--current{text-decoration-line:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.nav-call{display:inline-flex;align-items:center;gap:.5rem}
.nav-call svg{flex:none}
@media screen and (max-width:991px){.navbar1_menu-buttons .nav-call{justify-content:center}}

/* Accent buttons: hover state (Webflow had none, so the main CTAs felt dead on hover). */
.button.is-accent{transition:background-color .2s ease,border-color .2s ease}
.button.is-accent:hover{background-color:var(--dlc-orange-light);border-color:var(--dlc-orange-light)}

/* Hero legibility: white type sat directly on a busy photo. Darken the text side only. */
.section_header5 .image-overlay-layer{background:linear-gradient(90deg,rgba(7,8,9,.78) 0%,rgba(7,8,9,.55) 45%,rgba(7,8,9,.1) 75%)}
@media screen and (max-width:767px){.section_header5 .image-overlay-layer{background:linear-gradient(180deg,rgba(7,8,9,.25) 0%,rgba(7,8,9,.75) 55%,rgba(7,8,9,.85) 100%)}}

/* Home inventory: only three units, so show them side by side on desktop instead of a half-hidden slider. */
@media screen and (min-width:992px){
  .product12_mask{width:calc(100% + 2rem);margin-right:-2rem}
  .product12_slide{width:33.333%;padding-right:2rem}
  .product12_slider{padding-bottom:0;height:auto}
  .product12_slider .w-slider-nav,.product12_slider .slider-arrow{display:none}
}

/* Inventory page: the Webflow grid had four columns for three units (an empty column on desktop, ~115px cards at 1024). */
.product2_list{grid-template-columns:repeat(3,minmax(0,1fr))}
@media screen and (max-width:767px){.product2_list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media screen and (max-width:479px){.product2_list{grid-template-columns:1fr;row-gap:3rem}}
.product2_item,.product2_item-link{width:100%}

/* Status badges on unit photos: "Photos coming soon" on the logo placeholder, "Sold" on sold units. */
.product12_image-wrapper,.product2_image-wrapper{position:relative}
.product12_image-wrapper:has(img[src*="shield-mark"]) img,.product2_image-wrapper:has(img[src*="shield-mark"]) img{object-fit:contain;padding:22%;background:var(--_primitives---colors--slate-blue-dark)}
.product12_image-wrapper:has(img[src*="shield-mark"])::after,.product2_image-wrapper:has(img[src*="shield-mark"])::after,
.product12_item-link:has(.strike) .product12_image-wrapper::after,.product2_item-link:has(.strike) .product2_image-wrapper::after{
  position:absolute;left:1rem;top:1rem;padding:.35rem .7rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.product12_image-wrapper:has(img[src*="shield-mark"])::after,.product2_image-wrapper:has(img[src*="shield-mark"])::after{content:"Photos coming soon";background:rgba(255,255,255,.92);color:#0b1428}
.product12_item-link:has(.strike) .product12_image-wrapper::after,.product2_item-link:has(.strike) .product2_image-wrapper::after{content:"Sold";background:var(--dlc-orange);color:#0b1428}
.product12_item-link:has(.strike) img,.product2_item-link:has(.strike) img{filter:grayscale(.6)}
.strike{text-decoration:line-through;opacity:.6;font-size:.7em;margin-left:.35em}
.product12_item-link img,.product2_item-link img{transition:transform .5s cubic-bezier(.22,.61,.36,1)}
@media (hover:hover){.product12_item-link:hover img,.product2_item-link:hover img{transform:scale(1.03)}}

/* Sell page steps: the tabs had no visible state, so they read as three loose words. */
.layout501_tabs-menu{gap:0!important;border-bottom:1px solid var(--color-scheme-1--border)}
.layout501_tab-link{padding:.9rem 1.25rem!important;border-bottom:3px solid transparent!important;margin-bottom:-1px;opacity:.6;font-weight:500;transition:opacity .2s ease,border-color .2s ease}
.layout501_tab-link{display:inline-flex;align-items:baseline}
.layout501_tab-link:hover{opacity:1}
.layout501_tab-link.w--current{opacity:1;border-bottom-color:var(--dlc-orange)!important}
@media screen and (max-width:479px){.layout501_tabs-menu.no-scrollbar{justify-content:stretch}.layout501_tab-link{padding:.6rem .25rem .75rem!important;flex:1 1 0;min-width:0;flex-direction:column;align-items:center;justify-content:center;text-align:center;white-space:normal;font-size:.875rem;line-height:1.25}}

/* Form photos (sell and contact): height:100% stretched a 3:4 box to the full form height, cropping the photo to a sliver. */
.contact7_image{height:auto}
@media screen and (min-width:992px){.contact7_image-wrapper{align-self:start;position:sticky;top:7rem}}

/* Footer: links and contact details in columns instead of one sparse block. */
.footer3_top-wrapper{grid-template-columns:1.4fr 1fr 1.2fr;row-gap:3rem}
@media screen and (max-width:767px){.footer3_top-wrapper{grid-template-columns:1fr 1fr}.footer3_left-wrapper{grid-column:1/-1}}
@media screen and (max-width:479px){.footer3_top-wrapper{grid-template-columns:1fr}}
.footer-blurb{max-width:22rem;opacity:.75;margin:0}
.footer-heading{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:.04em;font-weight:500;font-size:1rem;margin-bottom:1rem}
.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem;font-size:.9375rem}
.footer-list a{display:inline-block;padding:.35rem 0;overflow-wrap:anywhere;transition:color .2s ease}
.footer-list a:hover{color:var(--dlc-orange-light)}
.footer-list a[aria-current]{color:var(--dlc-orange-light)}
.footer-list address{font-style:normal;padding:.35rem 0;opacity:.85;line-height:1.5}

/* Home proof strip under the hero (facts taken from the page's own copy). */
.dlc-proof{border-bottom:1px solid rgba(255,255,255,.08)}
.dlc-proof_list{list-style:none;margin:0;padding:2.25rem 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.dlc-proof_list li{display:flex;flex-direction:column;gap:.35rem;padding-left:1rem;border-left:3px solid var(--dlc-orange);font-size:.9375rem;line-height:1.4;opacity:.92}
.dlc-proof_big{font-family:Oswald,sans-serif;font-weight:600;font-size:1.5rem;text-transform:uppercase;letter-spacing:.01em;line-height:1.1;opacity:1}
@media screen and (max-width:991px){.dlc-proof_list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.75rem}}
@media screen and (max-width:479px){.dlc-proof_list{grid-template-columns:1fr;gap:1.25rem;padding:2rem 0}}
.dlc-proof+.section_product12 .padding-section-large{padding-top:var(--section-pad-top)}

/* ===== Oct 28 design pass ===== */
/* Header: links and the call button sit flush right; the menu was only as wide as its content, leaving them mid-bar. */
@media screen and (min-width:992px){.navbar1_menu{flex:1;justify-content:flex-end}}


/* Home inventory: equal-height cards, so a two-line spec (GP9) no longer pushes its button out of line. */
.product12_mask{display:flex;white-space:normal}
.product12_slide{flex:none;display:flex;height:auto}
.product12_item,.product12_item-link{display:flex;flex-direction:column;height:100%}
.product12_item-link>.margin-bottom:nth-child(2){flex:1}
.product12_item-link>.button{margin-top:auto}
.product2_list{align-items:stretch}
.product2_item,.product2_item-link{display:flex;flex-direction:column;height:100%}
.product2_item-link>.button{margin-top:auto}

/* Modernize Your Fleet: stacked cover-flow. Each card scales up from 90% as it enters (the original Webflow effect);
   on taller screens it then pins under the header and recedes as the next card slides over it. Driven by --enter/--cover. */
.portfolio23_item{position:relative;transform-origin:50% 0;transform:scale(calc((.9 + .1 * var(--enter,1)) * (1 - .06 * var(--cover,0))));box-shadow:0 -1.5rem 3rem -1.5rem rgba(0,0,0,.6);will-change:transform}
.portfolio23_item::after{content:"";position:absolute;inset:0;background:#000;opacity:calc(.55 * var(--cover,0));pointer-events:none;border-radius:inherit}
.portfolio23_item>*{opacity:calc(.15 + .85 * var(--enter,1))}
.portfolio23_content-left{justify-content:center}
.portfolio23_title-wrapper h3{text-wrap:balance}
.portfolio23_image-wrapper img{transition:transform .8s cubic-bezier(.22,.61,.36,1)}
@media (hover:hover){.portfolio23_item:hover .portfolio23_image-wrapper img{transform:scale(1.03)}}
@media screen and (min-width:768px) and (min-height:640px){
  .portfolio23_item{position:sticky;top:6.5rem}
  .portfolio23_item:nth-child(2){top:8rem}
  .portfolio23_item:nth-child(3){top:9.5rem}
  /* Sticky items only travel inside the list's content box, so an empty last row gives the stacked state room to hold. */
  .portfolio23_list{row-gap:6rem;margin-bottom:-4rem}
  .portfolio23_list::after{content:"";height:0}
}
@media (prefers-reduced-motion:reduce){.portfolio23_item{transform:none}.portfolio23_item>*{opacity:1}.portfolio23_item::after{display:none}}

/* Why Industry Leaders Choose Us: portrait photo cards, heading over the photo, copy revealed on hover,
   and the hovered card widens from a third to about 45% of the row. */
.dlc-why{position:relative;isolation:isolate;overflow:hidden;justify-content:flex-end;text-align:left;border-radius:var(--_ui-styles---radius--medium);background:#0b1428;color:#fff}
.dlc-why .layout239_image-wrapper{position:absolute;inset:0;z-index:-1;border-radius:0;margin:0}
.dlc-why .layout239_image-wrapper::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,9,0) 35%,rgba(7,8,9,.55) 65%,rgba(7,8,9,.9) 100%)}
.dlc-why .layout239_image{aspect-ratio:auto;height:100%;transition:transform 1s cubic-bezier(.22,.61,.36,1)}
.dlc-why:nth-child(1) .layout239_image{object-position:62% 50%}
.dlc-why:nth-child(2) .layout239_image{object-position:50% 50%}
.dlc-why:nth-child(3) .layout239_image{object-position:45% 50%}
.dlc-why-list{place-items:stretch;align-items:stretch}
.dlc-why_body{padding:2rem}
.dlc-why h3{margin:0;font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.05;text-wrap:balance}
.dlc-why_more{display:grid;grid-template-rows:1fr}
.dlc-why_more>div{min-height:0;overflow:hidden}
.dlc-why_more p{margin:.75rem 0 0;max-width:26rem;opacity:.9}
@media screen and (min-width:992px){
  .dlc-why-list{display:flex;gap:1.25rem;height:clamp(32rem,44vw,38rem)}
  .dlc-why{flex:1 1 0;min-width:0;transition:flex-grow .7s cubic-bezier(.22,.61,.36,1)}
  .dlc-why_body{min-width:20rem}
}
@media screen and (min-width:992px) and (hover:hover){
  .dlc-why:hover{flex-grow:1.7}
  .dlc-why_more{grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.22,.61,.36,1),opacity .35s ease}
  .dlc-why:hover .dlc-why_more{grid-template-rows:1fr;opacity:1;transition-delay:.12s}
  .dlc-why:hover .layout239_image{transform:scale(1.05)}
}
@media screen and (max-width:991px){
  .dlc-why .layout239_image-wrapper::after{background:linear-gradient(180deg,rgba(7,8,9,0) 20%,rgba(7,8,9,.65) 50%,rgba(7,8,9,.92) 100%)}
  .dlc-why-list{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -5vw;padding:0 5vw;scroll-padding:0 5vw;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .dlc-why-list::-webkit-scrollbar{display:none}
  .dlc-why{flex:0 0 min(78%,22rem);aspect-ratio:3/4;scroll-snap-align:start}
  .dlc-why_body{padding:1.5rem}
}
@media (prefers-reduced-motion:reduce){.dlc-why,.dlc-why_more,.dlc-why .layout239_image{transition:none!important}}

/* ===== Oct 28 design pass 2: refine the Webflow defaults ===== */
/* Hairlines instead of full-white 1px borders on cards, FAQ rules, dividers and tabs. */
:root{
  --color-scheme-1--border:rgba(255,255,255,.14);
  --color-scheme-2--border:rgba(255,255,255,.14);
  --color-scheme-4--border:rgba(255,255,255,.14);
  --color-scheme-5--border:rgba(255,255,255,.14);
  --color-scheme-3--border:rgba(7,8,9,.14);
  /* Light sections: warm paper instead of screen white, closer to the rust/steel palette. */
  --color-scheme-3--background:#f4f2ee;
  --color-scheme-3--foreground:#f4f2ee;
  --dlc-orange-ink:#c2410c;
}
.slider-arrow{border-color:rgba(255,255,255,.35)}

/* Eyebrows: small tracked caps in orange, not underlined (they read as links). */
.text-style-tagline{text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:.8125rem;font-weight:600;color:var(--dlc-orange)}
.color-scheme-3 .text-style-tagline,.section_contact7.color-scheme-3 .text-style-tagline{color:var(--dlc-orange-ink)}
.section_header5 .text-style-tagline,.section_cta4 .text-style-tagline{color:var(--dlc-orange)}

/* Cards: a lifted surface with a hairline, so they separate from the section without a hard outline. */
.layout359_card,.portfolio23_item{background-color:#0d1015}
.color-scheme-2 .layout359_card{background-color:#0d1015}
.layout359_card{overflow:hidden}

/* Headings breathe less tightly when they wrap. */
h1,h2,h3{text-wrap:balance}

/* Inner page heroes: taller, with a bottom fade so the text sits on calm ground. */
.section_header69 .padding-section-large{padding-top:clamp(6rem,12vw,10rem);padding-bottom:clamp(5rem,10vw,8rem)}
.section_header69 .image-overlay-layer{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(7,8,9,.35) 0%,rgba(7,8,9,.55) 60%,rgba(7,8,9,.8) 100%)}
.section_header69 .header69_background-image-wrapper{background-image:none}

/* Forms: filled fields with hairlines and an orange focus ring; primary submit buttons in the accent colour. */
.form_input.is-alternate,.form_input{border-width:1px;border-color:rgba(255,255,255,.2);background-color:rgba(255,255,255,.04);min-height:3rem;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease}
.color-scheme-3 .form_input:not(.is-alternate){border-color:rgba(7,8,9,.22);background-color:#fff}
.form_input.is-alternate:hover,.form_input:hover{background-color:rgba(255,255,255,.07);background-image:none}
.form_input:focus,.form_input.is-alternate:focus{border-color:var(--dlc-orange);box-shadow:0 0 0 3px rgba(249,115,22,.25);outline:none}
.form_input.is-text-area{min-height:9rem}
form[data-w3f] [type="submit"].button{background-color:var(--dlc-orange);border-color:var(--dlc-orange);color:#0b1428;font-weight:600;min-width:10rem;transition:background-color .2s ease,border-color .2s ease}
form[data-w3f] [type="submit"].button:hover{background-color:var(--dlc-orange-light);border-color:var(--dlc-orange-light)}
form[data-w3f] [type="submit"].button:disabled{opacity:.7;cursor:progress}
.form_field-label{font-size:.875rem;font-weight:500;opacity:.85}
/* Interaction-only Turnstile: no box, no badge, no reserved gap unless Cloudflare asks for a click. */
.cf-turnstile.ts-box{margin:0;min-height:0!important;height:0!important;overflow:hidden}
/* Shown by turnstile.ts when Cloudflare asks for a click (the challenge lives in a closed shadow root CSS cannot see). */
.cf-turnstile.ts-box.is-challenge{height:auto!important;overflow:visible;margin:0 0 12px}

/* Inventory cards: unit names and prices in the display face. */
.product12_left>.text-size-medium,.product2_left>.text-size-medium{font-family:Oswald,sans-serif;text-transform:uppercase;font-weight:500;font-size:1.375rem;letter-spacing:.01em;line-height:1.2}
.product12_tittle-wrapper>.text-size-large,.product2_title-wrapper>.text-size-large{font-family:Oswald,sans-serif;font-weight:500;font-size:1.5rem;line-height:1.2;white-space:nowrap}
.product12_left>.text-size-small,.product2_left>.text-size-small{opacity:.75;margin-top:.25rem}

/* FAQ accordion: clearer hover and a little more air. */
.faq1_question{padding-top:1.25rem;padding-bottom:1.25rem;transition:color .2s ease}
.faq1_question:hover{color:var(--dlc-orange-light)}
.faq7_list{row-gap:2.25rem}
.faq7_question,.faq7_list h3{font-weight:600}

/* Footer: links line up with their headings. */
.footer-list a,.footer-list address{margin-left:0;padding-left:0}

/* Sell page: Expertise and Worldwide side by side instead of two near-empty full-width sections. */
.dlc-split_grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.dlc-split_col{padding-top:2rem;border-top:2px solid var(--dlc-orange)}
.dlc-split_col h2{margin:0 0 1rem}
.dlc-split_col p{opacity:.85;margin:0;max-width:34rem}
@media screen and (max-width:767px){.dlc-split_grid{grid-template-columns:1fr;gap:3rem}}
.section_layout140.dlc-split+.section_contact7 .padding-section-large{padding-top:var(--section-pad-top,5rem)}

/* Header: hairline under the bar once the page scrolls under it. */
.navbar1_component{border-bottom:1px solid rgba(255,255,255,.06)}
.footer-list li{padding-left:0}

/* ===== Nov 9 refinement pass: small premium touches ===== */
html{color-scheme:dark}
::selection{background:var(--dlc-orange);color:#0b1428}
a:focus-visible,button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--dlc-orange);outline-offset:3px}

/* Header: frosted glass once content scrolls under it. */
.navbar1_component.color-scheme-5{background-color:rgba(15,23,42,.86);-webkit-backdrop-filter:saturate(150%) blur(14px);backdrop-filter:saturate(150%) blur(14px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.navbar1_component.color-scheme-5{background-color:#0f172a}}

/* Buttons: hairline outlines, a touch more weight, and hover states that actually respond. */
.button{font-weight:500;letter-spacing:.01em;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.button.is-secondary{border-width:1px}
.button.is-secondary:hover{background-color:#0b1428;border-color:#0b1428;color:#fff}
.button.is-secondary.is-alternate:hover{background-color:#fff;border-color:#fff;color:#0b1428}
.button.is-link .icon-embed-xxsmall{transition:transform .25s cubic-bezier(.22,.61,.36,1)}
.button.is-link:hover .icon-embed-xxsmall{transform:translateX(4px)}
/* Sell page closing CTA: the primary action in the accent colour like every other primary button. */
.section_cta1 .button:not(.is-secondary){background-color:var(--dlc-orange);border-color:var(--dlc-orange);color:#0b1428;font-weight:600}
.section_cta1 .button:not(.is-secondary):hover{background-color:var(--dlc-orange-light);border-color:var(--dlc-orange-light)}

/* Card labels ("Acquisition") match the section eyebrows. */
.tag.is-text{text-transform:uppercase;letter-spacing:.14em;font-size:.8125rem;font-weight:600;color:var(--dlc-orange)}

/* Story and sell cards: slow zoom on the photo on hover. */
.layout359_image-wrapper{overflow:hidden}
.layout359_image{transition:transform 1s cubic-bezier(.22,.61,.36,1)}
@media (hover:hover){.layout359_card:hover .layout359_image{transform:scale(1.04)}}

/* Heroes: the photo settles in with a slow pull-back on load. */
@keyframes dlc-settle{from{transform:scale(1.08)}to{transform:scale(1)}}
.header5_background-image,.header69_background-image{animation:dlc-settle 2.4s cubic-bezier(.22,.61,.36,1) both}
.header5_background-image-wrapper,.header69_background-image-wrapper{overflow:hidden}
@media (prefers-reduced-motion:reduce){.header5_background-image,.header69_background-image{animation:none}}

/* Alert sign-up over the photo: the email field was nearly invisible; give it a dark frosted fill. */
.section_cta4 .form_input{background-color:rgba(7,8,9,.55);border-color:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.section_cta4 .form_input:hover{background-color:rgba(7,8,9,.65)}
.section_cta4 .form_input::placeholder{color:rgba(255,255,255,.7)}

/* 404 and thank-you: the hero is a flex row, so its content shrank to the left; let it span the page. */
.up-hero>.padding-global{flex:1;min-width:0}

/* Button hover: label rolls up, an identical copy rises from below (button-roll.ts). */
.btn-roll{display:inline-block;overflow:hidden;vertical-align:top}
.btn-roll_in{display:block;position:relative;transition:transform .5s cubic-bezier(.65,0,.35,1)}
.btn-roll_in::after{content:attr(data-text);content:attr(data-text) / "";position:absolute;left:0;right:0;top:100%;text-align:inherit}
.button:hover .btn-roll_in,.button:focus-visible .btn-roll_in,
.product12_item-link:hover .button .btn-roll_in,.product2_item-link:hover .button .btn-roll_in{transform:translateY(-100%)}
.button:disabled .btn-roll_in{transform:none}
@media (prefers-reduced-motion:reduce){.btn-roll_in{transition:none}.button:hover .btn-roll_in,.product12_item-link:hover .button .btn-roll_in,.product2_item-link:hover .button .btn-roll_in{transform:none}}

/* Header logo: on scroll the wordmark wipes right-to-left, leaving the shield symbol (its left 14.6%) in place. */
.navbar1_logo{transition:clip-path .55s cubic-bezier(.65,0,.35,1),transform .55s cubic-bezier(.65,0,.35,1);clip-path:inset(0 0 0 0);transform-origin:0 50%}
.navbar1_component.is-scrolled .navbar1_logo{clip-path:inset(0 85.4% 0 0);transform:scale(1.12)}
@media (prefers-reduced-motion:reduce){.navbar1_logo{transition:none}}

/* ===== Blog ===== */
.dlc-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
@media screen and (max-width:991px){.dlc-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media screen and (max-width:767px){.dlc-post-grid{grid-template-columns:1fr;gap:2.5rem}}
.dlc-post-card{height:100%}
.dlc-post-card_link{display:flex;flex-direction:column;height:100%;background:#0d1015;border:1px solid rgba(255,255,255,.1);text-decoration:none;color:inherit;transition:border-color .3s ease}
.dlc-post-card_link:hover{border-color:rgba(249,115,22,.6)}
.dlc-post-card_image{aspect-ratio:16/10;overflow:hidden}
.dlc-post-card_img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,.61,.36,1)}
@media (hover:hover){.dlc-post-card_link:hover .dlc-post-card_img{transform:scale(1.04)}}
.dlc-post-card_body{display:flex;flex-direction:column;gap:.75rem;padding:1.75rem;flex:1}
.dlc-post-card_date{font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase;opacity:.6}
.dlc-post-card_title{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;font-size:1.5rem;line-height:1.15;margin:0}
.dlc-post-card_text{opacity:.8;margin:0;font-size:.9375rem;line-height:1.55}
.dlc-post-card_more{margin-top:auto;padding-top:.5rem;font-weight:600;font-size:.9375rem;color:var(--dlc-orange)}
.dlc-post-card_more::after{content:" \2192";display:inline-block;transition:transform .25s ease}
.dlc-post-card_link:hover .dlc-post-card_more::after{transform:translateX(4px)}

.dlc-article_meta{display:flex;gap:.6rem;align-items:center;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;opacity:.7;margin:0 0 2.5rem}
.dlc-article_meta a{color:var(--dlc-orange);text-decoration:none}
.dlc-article{font-size:1.125rem;line-height:1.75;color:rgba(255,255,255,.88)}
.dlc-article>*{margin:0 0 1.25rem}
.dlc-article h2{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.1;color:#fff;margin:3.5rem 0 1.25rem}
.dlc-article h3{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;font-size:1.375rem;line-height:1.2;color:#fff;margin:2.25rem 0 .75rem}
.dlc-article>:first-child{margin-top:0}
.dlc-article a{color:var(--dlc-orange-light);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.dlc-article a:hover{color:#fff}
.dlc-article strong{color:#fff;font-weight:600}
.dlc-article ul,.dlc-article ol{padding-left:1.25rem}
.dlc-article li{margin-bottom:.6rem;padding-left:.25rem}
.dlc-article li::marker{color:var(--dlc-orange)}
.dlc-article table{width:100%;border-collapse:collapse;font-size:1rem;margin:2rem 0;display:block;overflow-x:auto}
.dlc-article th,.dlc-article td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.14);white-space:nowrap}
.dlc-article th{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.9375rem;color:#fff}
@media screen and (max-width:479px){.dlc-article{font-size:1.0625rem}}
.dlc-post-cta{margin-top:4rem;padding:2.5rem;background:#0d1015;border:1px solid rgba(255,255,255,.1);border-top:3px solid var(--dlc-orange);display:grid;gap:1.5rem}
.dlc-post-cta_title{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;font-size:1.75rem;line-height:1.1;margin:0 0 .5rem}
.dlc-post-cta p{margin:0;opacity:.85}
@media screen and (max-width:479px){.dlc-post-cta{padding:1.75rem}}
.section_header69 .text-style-tagline{color:var(--dlc-orange)}

/* Custom checkboxes and radios: webflow.js used to add .w--redirected-checked on click; without it the box never
   changed (the real input was still checked). Style from the hidden input's own state instead. */
.w-checkbox:has(input:checked) .form_checkbox-icon{border:1px solid var(--dlc-orange);background-color:var(--dlc-orange);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%230b1428' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat;background-position:center}
.w-radio:has(input:checked) .form_radio-icon{border:5px solid var(--dlc-orange);background-color:#fff}
.w-checkbox:has(input:focus-visible) .form_checkbox-icon,.w-radio:has(input:focus-visible) .form_radio-icon{outline:2px solid var(--dlc-orange);outline-offset:3px}
.w-checkbox,.w-radio{cursor:pointer}
