/* Datacore mirror — generated functional pages (products/projects/insights/
   contact) styled to match the live site: Texta type, teal accents, generous
   spacing. Dark mode is handled by the overlay filter on #dc-content. */
@font-face{font-family:'Texta';src:url('fonts/TextaRegular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Texta';src:url('fonts/TextaMedium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Texta';src:url('fonts/TextaBold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Texta';src:url('fonts/TextaHeavy.ttf') format('truetype');font-weight:800;font-display:swap}

/* --dcp-teal (bright) is decorative only: borders, watermark, dark-bg accents.
   Any teal that carries white text or is itself text uses --dcp-teal-d
   (#00776F), which clears WCAG AA — the live bright teal fails it. */
:root{--dcp-ink:#1a1b1f;--dcp-ink2:#565c61;--dcp-ink3:#8a9299;--dcp-teal:#00b3a6;
  --dcp-teal-d:#00776f;--dcp-teal-dd:#005a54;--dcp-line:#e6ebea;--dcp-bg:#fff;--dcp-soft:#f5f9f8;
  --dcp-sans:'Texta',system-ui,-apple-system,'Segoe UI',sans-serif}
html[dir=rtl]{--dcp-sans:'IBM Plex Sans Arabic','Texta',system-ui,sans-serif}
.dcp{font-family:var(--dcp-sans);color:var(--dcp-ink);background:var(--dcp-bg);
  font-size:17px;line-height:1.6}
.dcp *{box-sizing:border-box}
.dcp img{max-width:100%;display:block}
.dcp a{color:var(--dcp-teal-d);text-decoration:none}
.dcp-wrap{max-width:1200px;margin:0 auto;padding:0 clamp(18px,4vw,44px)}
.dcp h1,.dcp h2,.dcp h3{margin:0;line-height:1.12;letter-spacing:-.01em}
.dcp h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;text-transform:uppercase}
html[dir=rtl] .dcp h1{text-transform:none;line-height:1.3}
.dcp-lede{color:var(--dcp-ink2);font-size:1.15rem;max-width:60ch;margin-top:18px}
/* button selectors are ".dcp .dcp-btn" (0,2,0) so they beat ".dcp a" (0,1,1)
   — otherwise the generic link colour paints the label teal-on-teal */
.dcp .dcp-btn{display:inline-flex;align-items:center;gap:9px;background:var(--dcp-teal-d);
  color:#fff;font-weight:600;padding:13px 26px;border-radius:3px;border:0;cursor:pointer;
  font-size:1rem;font-family:inherit;text-decoration:none}
.dcp .dcp-btn:hover{background:var(--dcp-teal-dd);color:#fff}
.dcp .dcp-btn svg{transition:transform .25s ease}
.dcp .dcp-btn:hover svg{transform:translateX(4px)}
html[dir=rtl] .dcp .dcp-btn:hover svg{transform:translateX(-4px)}
@media(prefers-reduced-motion:reduce){.dcp .dcp-btn:hover svg{transform:none}}
.dcp .dcp-btn svg{flex:none}
.dcp .dcp-btn-o{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--dcp-line);
  color:var(--dcp-ink);font-weight:600;padding:12px 24px;border-radius:3px;text-decoration:none;
  background:none;cursor:pointer;font-size:1rem;font-family:inherit}
.dcp .dcp-btn-o:hover{border-color:var(--dcp-ink)}

/* page hero */
.dcp-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--dcp-line);
  background:linear-gradient(180deg,#eefaf8,#fff)}
.dcp-hero .dcp-wrap{padding-block:clamp(48px,8vw,96px) clamp(36px,5vw,60px);position:relative;z-index:1}
.dcp-ghost{position:absolute;top:-.15em;inset-inline-start:40%;font-size:clamp(6rem,20vw,17rem);
  font-weight:800;color:#00b3a6;opacity:.062;letter-spacing:-.04em;pointer-events:none;
  text-transform:uppercase;line-height:1;z-index:0;white-space:nowrap}
.dcp-crumb{font-size:.85rem;color:var(--dcp-ink3);margin-bottom:14px;letter-spacing:.02em}
.dcp-crumb a{color:var(--dcp-ink3)}

/* sections */
.dcp-sec{padding-block:clamp(52px,7vw,88px)}
.dcp-sec.alt{background:var(--dcp-soft);border-block:1px solid var(--dcp-line)}
.dcp-head{margin-bottom:38px}
.dcp-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;text-transform:uppercase}
html[dir=rtl] .dcp-head h2{text-transform:none}
.dcp-head p{color:var(--dcp-ink2);margin-top:12px;max-width:62ch}
.dcp-center{text-align:center}
.dcp-center .dcp-head p{margin-inline:auto}

/* project cards */
.dcp-projs{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.dcp-proj{border:1px solid var(--dcp-line);border-radius:6px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.dcp-proj:hover{box-shadow:0 26px 48px -30px rgba(26,27,31,.4);transform:translateY(-3px)}
.dcp-proj .ph img{width:100%;height:250px;object-fit:cover}
.dcp-proj .band{display:flex;justify-content:space-between;background:#12141a;color:#fff;
  padding:11px 22px;font-size:.78rem;letter-spacing:.08em}
.dcp-proj .band .c{color:#3fd6c8}
.dcp-proj .in{padding:26px 24px;display:flex;flex-direction:column;gap:15px;flex:1}
.dcp-proj h3{font-size:1.5rem;font-weight:700}
.dcp-proj .body{color:var(--dcp-ink2);font-size:1rem}
.dcp-kit{display:flex;flex-wrap:wrap;gap:8px}
.dcp-kit span{font-size:.8rem;border:1px solid var(--dcp-line);color:var(--dcp-teal-d);
  padding:4px 11px;border-radius:2px}
.dcp-proj dl{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;font-size:.92rem;
  border-top:1px solid var(--dcp-line);padding-top:16px;margin:auto 0 0}
.dcp-proj dt{color:var(--dcp-ink3)}.dcp-proj dd{margin:0;font-weight:500}
@media(max-width:760px){.dcp-projs{grid-template-columns:1fr}}

/* "how we work" feature grid + site gallery */
.dcp-featgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}
.dcp-featcell{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.dcp-featic{width:60px;height:60px;border-radius:50%;background:#eaf6f4;display:flex;
  align-items:center;justify-content:center;color:var(--dcp-teal-d)}
.dcp-featcell h3{font-size:1.06rem;font-weight:700}
.dcp-featcell p{color:var(--dcp-ink2);font-size:.92rem;line-height:1.45}
@media(max-width:820px){.dcp-featgrid{grid-template-columns:repeat(2,1fr);gap:30px}}
@media(max-width:440px){.dcp-featgrid{grid-template-columns:1fr}}
.dcp-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.dcp-gal figure{margin:0}
.dcp-gal img{width:100%;height:240px;object-fit:cover;display:block;border-radius:6px;border:1px solid var(--dcp-line)}
.dcp-gal figcaption{margin-top:10px;font-size:.88rem;color:var(--dcp-ink2);line-height:1.35}
@media(max-width:760px){.dcp-gal{grid-template-columns:1fr 1fr}.dcp-gal img{height:200px}}

/* insights / posts */
.dcp-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.dcp-post{border:1px solid var(--dcp-line);border-radius:6px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;transition:box-shadow .2s}
.dcp-post:hover{box-shadow:0 24px 44px -30px rgba(26,27,31,.38)}
.dcp-post .ph img{width:100%;aspect-ratio:561/306;object-fit:cover}
.dcp-post .in{padding:24px;display:flex;flex-direction:column;gap:11px}
.dcp-post .by{font-size:.8rem;color:var(--dcp-ink3);letter-spacing:.03em}
.dcp-post h3{font-size:1.28rem;font-weight:700}
.dcp-post p{color:var(--dcp-ink2);font-size:.98rem}
@media(max-width:860px){.dcp-posts{grid-template-columns:1fr}}

/* contact */
.dcp-cgrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(30px,5vw,64px);align-items:start}
.dcp-offices{display:grid;gap:18px}
.dcp-office{border:1px solid var(--dcp-line);border-radius:6px;padding:24px;background:#fff;cursor:pointer}
.dcp-office.on{border-color:var(--dcp-teal);box-shadow:inset 3px 0 0 var(--dcp-teal)}
html[dir=rtl] .dcp-office.on{box-shadow:inset -3px 0 0 var(--dcp-teal)}
.dcp-office h3{font-size:1.15rem;font-weight:700;margin-bottom:10px}
.dcp-office p{color:var(--dcp-ink2);font-size:.96rem}
.dcp-office .rows{margin-top:14px;display:grid;gap:7px;font-size:.96rem;font-weight:500}
.dcp-dir{display:inline-flex;gap:7px;align-items:center;margin-top:12px;font-weight:600;font-size:.9rem}
.dcp-form{border:1px solid var(--dcp-line);border-radius:6px;padding:clamp(24px,4vw,40px);background:var(--dcp-soft)}
.dcp-form h2{font-size:1.6rem;font-weight:700;margin-bottom:22px}
.dcp-field{margin-bottom:18px}
.dcp-field label{display:block;font-size:.9rem;font-weight:600;margin-bottom:6px}
.dcp-field input,.dcp-field select,.dcp-field textarea{width:100%;border:1px solid var(--dcp-line);
  border-radius:3px;padding:12px 14px;font:inherit;background:#fff;color:var(--dcp-ink)}
.dcp-field input:focus,.dcp-field textarea:focus,.dcp-field select:focus{outline:0;
  border-color:var(--dcp-teal);box-shadow:0 0 0 3px rgba(0,179,166,.14)}
.dcp-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dcp-form .dcp-btn{width:100%;justify-content:center;padding:15px}
.dcp-note{margin-top:14px;font-size:.85rem;color:var(--dcp-ink2);text-align:center}
.dcp-map{margin-top:22px;border:1px solid var(--dcp-line);border-radius:6px;overflow:hidden;
  aspect-ratio:16/10;background:var(--dcp-soft)}
.dcp-map iframe{width:100%;height:100%;border:0;display:block}
/* offices list (left) + auto-loading map (right) */
.dcp-geo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,4vw,48px);align-items:stretch}
.dcp-offices-list{display:flex;flex-direction:column;gap:16px}
.dcp-map-col{display:flex;flex-direction:column;min-width:0}
.dcp-map-col .dcp-map{flex:1;aspect-ratio:auto;min-height:440px;margin-top:0}
.dcp-mapcap{margin-top:12px;font-size:.9rem;color:var(--dcp-ink3)}
.dcp-mapcap a{color:var(--dcp-teal-d);font-weight:600;text-decoration:none}
.dcp-socials{display:flex;gap:10px;flex-wrap:wrap}
.dcp-socials a{border:1px solid var(--dcp-line);border-radius:3px;padding:9px 16px;font-weight:600;
  color:var(--dcp-ink);text-decoration:none}
.dcp-socials a:hover{border-color:var(--dcp-ink)}
@media(max-width:860px){.dcp-geo{grid-template-columns:1fr}.dcp-map-col .dcp-map{min-height:0;aspect-ratio:16/10}}
.dcp-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.dcp-tabs button{border:1px solid var(--dcp-line);background:#fff;border-radius:3px;
  padding:8px 16px;font:inherit;cursor:pointer;color:var(--dcp-ink)}
.dcp-tabs button.on{background:#12141a;color:#fff;border-color:#12141a}
@media(max-width:860px){.dcp-cgrid,.dcp-two{grid-template-columns:1fr}}

/* ── products: toolbar, grid, cards, RFQ ───────────────────────────── */
.dcp-tools{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;align-items:end;
  margin-bottom:12px}
.dcp-tools .fld{display:flex;flex-direction:column;gap:6px}
.dcp-tools label{font-size:.8rem;font-weight:600;color:var(--dcp-ink2)}
.dcp-tools input,.dcp-tools select{border:1px solid var(--dcp-line);border-radius:3px;
  padding:11px 13px;font:inherit;background:#fff;color:var(--dcp-ink)}
.dcp-tools input:focus,.dcp-tools select:focus{outline:0;border-color:var(--dcp-teal);
  box-shadow:0 0 0 3px rgba(0,179,166,.14)}
.dcp-toolrow{display:flex;justify-content:space-between;align-items:center;gap:16px;
  margin-bottom:26px;flex-wrap:wrap}
.dcp-count{color:var(--dcp-ink2);font-size:.95rem}
/* faceted catalogue: left sidebar + main results */
.dcp-cat-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
.dcp-facets{position:sticky;top:92px}
.dcp-fhead{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;
  border-bottom:1px solid var(--dcp-line);font-weight:700;font-size:.95rem}
.dcp-clearall{background:none;border:0;color:var(--dcp-teal-d);font:inherit;font-size:.85rem;
  font-weight:600;cursor:pointer;text-decoration:underline;padding:0}
.dcp-fgroup{border-bottom:1px solid var(--dcp-line);padding:15px 0}
.dcp-fgroup h4{margin:0 0 9px;font-size:.78rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--dcp-ink3)}
html[dir=rtl] .dcp-fgroup h4{letter-spacing:0}
.dcp-fgroup label{display:flex;align-items:center;gap:9px;padding:4px 0;font-size:.9rem;cursor:pointer}
.dcp-fgroup input{accent-color:var(--dcp-teal-d);width:15px;height:15px;flex:none}
.dcp-fgroup label>span:first-of-type{min-width:0}
.dcp-fc{margin-inline-start:auto;color:var(--dcp-ink3);font-size:.78rem;font-variant-numeric:tabular-nums}
.dcp-fgroup label.off{opacity:.4}
.dcp-more{background:none;border:0;color:var(--dcp-teal-d);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;padding:6px 0 0}
.dcp-searchbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.dcp-search-in{flex:1;display:flex;align-items:center;gap:9px;border:1px solid var(--dcp-line);
  border-radius:4px;padding:0 12px;background:#fff;color:var(--dcp-ink3)}
.dcp-search-in input{flex:1;border:0;outline:0;padding:12px 0;font:inherit;background:none;color:var(--dcp-ink)}
.dcp-mobfilter{display:none}
.dcp-catbar{margin-bottom:12px}
.dcp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.dcp-chip{display:inline-flex;align-items:center;gap:6px;background:var(--dcp-soft);
  border:1px solid var(--dcp-line);border-radius:20px;padding:4px 8px;padding-inline-start:12px;font-size:.83rem}
.dcp-chip button{background:none;border:0;font-size:1.15rem;line-height:1;cursor:pointer;color:var(--dcp-ink3)}
.dcp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
@media(max-width:900px){
  .dcp-cat-shell{grid-template-columns:1fr}
  .dcp-facets{position:static;display:none;border:1px solid var(--dcp-line);border-radius:6px;
    padding:14px 16px;margin-bottom:16px;background:var(--dcp-soft)}
  .dcp-facets.open{display:block}
  .dcp-mobfilter{display:inline-flex;align-items:center;border:1px solid var(--dcp-line);background:#fff;
    border-radius:4px;padding:12px 16px;font:inherit;font-weight:600;cursor:pointer;color:var(--dcp-ink)}
}
@media(max-width:460px){.dcp-grid{grid-template-columns:1fr 1fr}}
.dcp-card{border:1px solid var(--dcp-line);border-radius:6px;background:#fff;padding:20px;
  display:flex;flex-direction:column;gap:12px;transition:box-shadow .2s,border-color .2s}
.dcp-card:hover{box-shadow:0 20px 40px -28px rgba(26,27,31,.4);border-color:var(--dcp-line)}
.dcp-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.dcp-card-photo{aspect-ratio:5/4;border-radius:4px;overflow:hidden;background:#fff;
  border:1px solid var(--dcp-line);display:flex;align-items:center;justify-content:center;padding:12px}
.dcp-card-photo img{max-width:100%;max-height:100%;object-fit:contain}
.dcp-card-photo.dcp-noimg{background:var(--dcp-soft);padding:0}
.dcp-card-ic{width:52px;height:52px;border-radius:6px;background:#eaf6f4;display:flex;
  align-items:center;justify-content:center;color:var(--dcp-teal-d)}
.dcp-card-photo.dcp-noimg .dcp-card-ic{width:66px;height:66px}
.dcp-card-brand{font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--dcp-ink3);text-transform:uppercase}
.dcp-card h3{font-size:1.06rem;font-weight:700;line-height:1.28}
.dcp-card-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.dcp-tag{font-size:.76rem;border:1px solid var(--dcp-line);color:var(--dcp-ink2);padding:3px 9px;border-radius:2px}
.dcp-badge{font-size:.74rem;font-weight:600;padding:3px 9px;border-radius:2px}
.dcp-badge.stock{background:#e4f6ec;color:#1a7a45}
.dcp-badge.lead{background:#fdf0e0;color:#9a5b12}
.dcp-specs{display:grid;gap:5px;margin:0;font-size:.85rem;border-top:1px solid var(--dcp-line);padding-top:12px}
.dcp-specs>div{display:flex;justify-content:space-between;gap:12px}
.dcp-specs dt{color:var(--dcp-ink3);margin:0}.dcp-specs dd{margin:0;font-weight:500;text-align:end}
.dcp-card-sku{font-size:.74rem;color:var(--dcp-ink3);font-family:'IBM Plex Mono',ui-monospace,monospace}
.dcp-add{margin-top:auto;border:1px solid var(--dcp-teal-d);color:var(--dcp-teal-d);background:none;
  border-radius:3px;padding:10px;font:inherit;font-weight:600;cursor:pointer;transition:.15s}
.dcp-add:hover{background:#eaf6f4}
.dcp-add.on{background:var(--dcp-teal-d);color:#fff}
/* quantity stepper (left of "Add to request") + quantity in the RFQ drawer */
.dcp-add-row{margin-top:auto;display:flex;gap:8px;align-items:stretch}
.dcp-add-row .dcp-add{margin-top:0;flex:1;white-space:nowrap;padding-inline:8px;min-width:0}
.dcp-qty{display:inline-flex;align-items:center;border:1px solid var(--dcp-line);border-radius:8px;overflow:hidden;flex:none;background:#fff}
.dcp-qb{width:28px;border:0;background:none;color:var(--dcp-teal-d);font-size:1.1rem;line-height:1;cursor:pointer;padding:0}
.dcp-qb:hover{background:#eaf6f4}
.dcp-qn{width:30px;border:0;border-inline:1px solid var(--dcp-line);text-align:center;font:inherit;font-weight:600;color:var(--dcp-ink);padding:9px 0;background:none}
#dcp-rlist li>div:first-child{flex:1;min-width:0}
.dcp-rqty{display:inline-flex;align-items:center;gap:9px;font-variant-numeric:tabular-nums;font-weight:600;flex:none}
.dcp-rq{width:26px;height:26px;border:1px solid var(--dcp-line);border-radius:6px;background:#fff;color:var(--dcp-teal-d);cursor:pointer;font-size:1rem;line-height:1}
.dcp-rq:hover{background:#eaf6f4}
html.dc-dark .dcp-rq{background:transparent;border-color:#2a2e33;color:#5fd9cc}
/* RFQ floating button + drawer */
.dcp-fab{position:fixed;inset-block-end:96px;inset-inline-end:22px;z-index:1200;background:var(--dcp-teal-d);
  color:#fff;border:0;border-radius:40px;padding:14px 22px;font:inherit;font-weight:600;cursor:pointer;
  box-shadow:0 16px 30px -12px rgba(0,0,0,.4);display:inline-flex;gap:10px;align-items:center}
.dcp-fab:hover{background:var(--dcp-teal-dd)}
@media(max-width:900px){html.dcx-has-sticky .dcp-fab{inset-block-end:150px}}
.dcp-fabn{background:#fff;color:var(--dcp-teal-d);border-radius:20px;min-width:22px;height:22px;
  display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;padding:0 6px}
.dcp-scrim{position:fixed;inset:0;background:rgba(10,12,14,.5);z-index:1300}
.dcp-drawer{position:fixed;inset-block:0;inset-inline-end:0;width:min(420px,92vw);background:#fff;
  z-index:1400;transform:translateX(100%);transition:transform .22s ease;display:flex;flex-direction:column;
  box-shadow:-20px 0 50px -20px rgba(0,0,0,.4)}
html[dir=rtl] .dcp-drawer{transform:translateX(-100%)}
.dcp-drawer.open{transform:none}
.dcp-dhead{display:flex;justify-content:space-between;align-items:center;padding:20px 22px;border-bottom:1px solid var(--dcp-line)}
.dcp-dhead h2{font-size:1.25rem;font-weight:700}
.dcp-dclose{background:none;border:0;font-size:1.6rem;line-height:1;cursor:pointer;color:var(--dcp-ink2)}
.dcp-dbody{padding:20px 22px;overflow:auto;flex:1}
#dcp-rlist{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}
#dcp-rlist li{display:flex;justify-content:space-between;gap:12px;border:1px solid var(--dcp-line);
  border-radius:4px;padding:11px 13px}
#dcp-rlist strong{display:block;font-size:.92rem}
#dcp-rlist span{font-size:.78rem;color:var(--dcp-ink3)}
.dcp-rrm{background:none;border:0;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--dcp-ink3)}
.dcp-rempty{color:var(--dcp-ink2)}
.dcp-clearbtn{background:none;border:0;color:var(--dcp-teal-d);font:inherit;font-weight:600;cursor:pointer;padding:0;margin-bottom:16px}
.dcp-rform .dcp-field{margin-bottom:12px}
.dcp-rok h3{font-size:1.3rem;font-weight:700;margin-bottom:10px}
.dcp-rok p{color:var(--dcp-ink2)}
/* FAB + drawer live outside #dc-content, so dark mode is themed by hand */
html.dc-dark .dcp-drawer{background:#1c1e23;color:#e8eaeb}
html.dc-dark .dcp-dhead{border-color:#2a2e33}
html.dc-dark .dcp-drawer h2,html.dc-dark #dcp-rlist strong,html.dc-dark .dcp-rok h3{color:#e8eaeb}
html.dc-dark #dcp-rlist li{border-color:#2a2e33}
html.dc-dark .dcp-drawer .dcp-field input,html.dc-dark .dcp-drawer .dcp-field textarea,
html.dc-dark .dcp-drawer .dcp-field select{background:#14161a;color:#e8eaeb;border-color:#2a2e33}
html.dc-dark .dcp-dclose,html.dc-dark #dcp-rlist span,html.dc-dark .dcp-rempty,
html.dc-dark .dcp-drawer .dcp-field label,html.dc-dark .dcp-rok p{color:#abb3b6}

/* ═══ DARK MODE — a real dark theme for the generated (.dcp) pages, replacing the
   filter-invert (now scoped to the 3 live-capture pages in dc-overlay.css). Tokens
   are redefined; the hard-coded surface / tint colours are overridden below. ═══ */
html.dc-dark .dcp{
  --dcp-ink:#e8ecef;--dcp-ink2:#a6b0b7;--dcp-ink3:#7d878f;
  --dcp-line:#272e36;--dcp-bg:#0f1318;--dcp-soft:#161b21;
  --dcp-teal-d:#33c3b5;                 /* bright teal for link / heading TEXT on dark */
}
/* card & panel surfaces that were hard-coded #fff */
html.dc-dark .dcp-proj,html.dc-dark .dcp-post,html.dc-dark .dcp-office,html.dc-dark .dcp-card{background:#161b21}
html.dc-dark .dcp-hero{background:linear-gradient(180deg,#141b22,#0f1318)}
/* form & filter fields (were #fff) */
html.dc-dark .dcp-field input,html.dc-dark .dcp-field select,html.dc-dark .dcp-field textarea,
html.dc-dark .dcp-tools input,html.dc-dark .dcp-tools select,html.dc-dark .dcp-tabs button,
html.dc-dark .dcp-mobfilter,html.dc-dark .dcp-qty,html.dc-dark .dcp-search-in{background:#12161c;color:var(--dcp-ink)}
/* product image tiles stay light — product photos are shot on white, so a light tile is correct */
html.dc-dark .dcp-card-photo:not(.dcp-noimg){background:#f2f4f5}
/* teal tints (were #eaf6f4) -> subtle dark teal */
html.dc-dark .dcp-featic,html.dc-dark .dcp-card-ic,
html.dc-dark .dcp-add:hover,html.dc-dark .dcp-qb:hover{background:#123230}
/* teal-d is now bright (great for text); pin the button BACKGROUNDS to a readable mid-teal */
html.dc-dark .dcp .dcp-btn,html.dc-dark .dcp-add.on{background:#0c8074;border-color:#0c8074;color:#fff}
html.dc-dark .dcp .dcp-btn:hover{background:#0fa090;color:#fff}
/* stock / lead badges -> dark-tinted */
html.dc-dark .dcp-badge.stock{background:#123322;color:#69d799}
html.dc-dark .dcp-badge.lead{background:#33270f;color:#e3a559}
/* CTA band -> dark surface */
html.dc-dark .dcp-cta{background:#141b22}

/* ── service detail pages ──────────────────────────────────────────── */
.dcp-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.dcp-chips span{font-size:.82rem;font-weight:600;color:var(--dcp-teal-d);background:#eaf6f4;
  border-radius:3px;padding:6px 12px}
.dcp-svc-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(30px,5vw,60px);align-items:start}
.dcp-svc-body h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:700;margin:0 0 14px}
.dcp-svc-body section{margin-bottom:40px}
.dcp-svc-body p{color:var(--dcp-ink2);margin:0 0 14px;font-size:1.05rem;line-height:1.65}
.dcp-svc-body ul{color:var(--dcp-ink2);margin:0 0 14px;padding-inline-start:22px;line-height:1.6}
.dcp-svc-body li{margin-bottom:7px}
.dcp-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:20px}
.dcp-aside .box{border:1px solid var(--dcp-line);border-radius:6px;padding:22px;background:var(--dcp-soft)}
.dcp-aside h3{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--dcp-ink3);
  font-weight:700;margin:0 0 14px}
.dcp-aside .siblings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.dcp-aside .siblings li{border-top:1px solid var(--dcp-line)}
.dcp-aside .siblings li:first-child{border-top:0}
.dcp-aside .siblings a{display:block;padding:10px 0;color:var(--dcp-ink);font-weight:500;font-size:.95rem}
.dcp-aside .siblings a:hover{color:var(--dcp-teal-d)}
.dcp-aside .siblings a[aria-current]{color:var(--dcp-teal-d);font-weight:700}
.dcp-aside .box.cta{background:#12141a;color:#fff}
.dcp-aside .box.cta h3{color:#3fd6c8}
.dcp-aside .box.cta p{color:#c6cccf;font-size:.95rem;margin:0 0 16px}
.dcp-aside .box.cta .dcp-btn{width:100%;justify-content:center}
@media(max-width:900px){.dcp-svc-grid{grid-template-columns:1fr}.dcp-aside{position:static}}
/* methodology band (#4) */
.dcp-method{background:var(--dcp-soft);border-block:1px solid var(--dcp-line)}
.dcp-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;counter-reset:step}
.dcp-method-step{position:relative;padding-top:14px;border-top:3px solid var(--dcp-teal)}
.dcp-method-step::before{counter-increment:step;content:"0" counter(step);font-family:'IBM Plex Mono',monospace;
  font-size:.85rem;color:var(--dcp-teal-d);font-weight:600}
.dcp-method-step h3{font-size:1.15rem;font-weight:700;margin:6px 0 8px}
.dcp-method-step p{color:var(--dcp-ink2);font-size:.95rem;line-height:1.5;margin:0}
@media(max-width:820px){.dcp-method-grid{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:440px){.dcp-method-grid{grid-template-columns:1fr}}

/* ── motion: scroll reveals + count-up stats + brand marquee (#9) ────── */
@media (prefers-reduced-motion:no-preference){
  .dcx-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
  .dcx-reveal.dcx-in{opacity:1;transform:none}
}
.dcp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.dcp-stat .num{font-size:clamp(2.4rem,5vw,3.4rem);font-weight:800;color:var(--dcp-teal-d);
  line-height:1;font-variant-numeric:tabular-nums}
.dcp-stat .lab{margin-top:10px;color:var(--dcp-ink2);font-weight:500}
@media(max-width:720px){.dcp-stats{grid-template-columns:1fr 1fr;gap:30px}}
.dcp-marquee{overflow:hidden;border-block:1px solid var(--dcp-line);padding:26px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.dcp-marquee .track{display:flex;gap:56px;width:max-content;animation:dcp-scroll 34s linear infinite}
.dcp-marquee:hover .track{animation-play-state:paused}
.dcp-marquee span{font-size:1.35rem;font-weight:700;color:var(--dcp-ink3);white-space:nowrap;letter-spacing:.01em}
@keyframes dcp-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
html[dir=rtl] .dcp-marquee .track{animation-direction:reverse}
@media (prefers-reduced-motion:reduce){.dcp-marquee .track{animation:none;flex-wrap:wrap;justify-content:center}}

/* CTA band + footer (live look) */
.dcp-cta{background:#eefaf8;border-block:1px solid var(--dcp-line)}
.dcp-cta .dcp-wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;
  padding-block:44px;flex-wrap:wrap}
.dcp-cta h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:700}
.dcp-cta p{color:var(--dcp-ink2);margin-top:8px;max-width:52ch}
.dcp-cta .btns{display:flex;gap:12px;flex-wrap:wrap}
.dcp-foot{background:#12141a;color:#c6cccf;padding:64px 0 26px;font-size:.95rem}
.dcp-foot a{color:#c6cccf}.dcp-foot a:hover{color:#fff}
.dcp-foot-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:38px;
  padding-bottom:34px;border-bottom:1px solid #2a2e33}
.dcp-foot h4{font-size:.75rem;letter-spacing:.1em;color:#7c868a;margin-bottom:14px;font-weight:600;text-transform:uppercase}
.dcp-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.dcp-foot-blurb{margin-top:16px;max-width:38ch;color:#9aa3a8}
.dcp-foot-social{display:flex;gap:10px;margin-top:18px}
.dcp-foot-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border:1px solid rgba(255,255,255,.16);border-radius:8px;color:#9aa3a8;transition:background .2s,color .2s,border-color .2s}
.dcp-foot-social a:hover{color:#fff;background:var(--dcp-teal-d);border-color:var(--dcp-teal-d)}
.dcp-foot-btm{padding-top:24px;display:flex;gap:24px;flex-wrap:wrap;font-size:.82rem;color:#7c868a}
.dcp-foot .legal{color:#6b7478}
@media(max-width:860px){.dcp-foot-top{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.dcp-foot-top{grid-template-columns:1fr}}

/* ── interactive motion: card hover, hero entrance, RFQ badge ──────── */
.dcp-card{transition:transform .2s ease,box-shadow .2s ease}
.dcp-card:hover{transform:translateY(-4px)}
/* product photos sit contained on white — the card lifts on hover, the image does not zoom */
.dcp-proj .ph{overflow:hidden}
.dcp-proj .ph img{transition:transform .4s ease}
.dcp-proj:hover .ph img{transform:scale(1.05)}
.dcp-gal figure{transition:transform .2s ease}
.dcp-gal figure:hover{transform:translateY(-3px)}
.dcp-gal figure:hover img{border-color:var(--dcp-teal-d)}
/* keyframes at top level (nested-in-@media keyframes fail to resolve in some engines) */
@keyframes dcx-riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes dcx-bump{0%{transform:scale(1)}35%{transform:scale(1.35)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:no-preference){
  /* no standalone opacity:0 — fill-mode `both` hides during the delay yet the
     element defaults to visible if the animation never runs (fail-safe hero) */
  .dcp-hero .dcp-crumb,.dcp-hero h1,.dcp-hero .dcp-lede,.dcp-hero .btns{
    animation:dcx-riseIn .6s cubic-bezier(.22,.61,.36,1) both}
  .dcp-hero h1{animation-delay:.08s}
  .dcp-hero .dcp-lede{animation-delay:.16s}
  .dcp-hero .btns{animation-delay:.24s}
  .dcp-fabn.dcp-bump{animation:dcx-bump .34s ease}
}
.dcp-fab-ic{flex:none}
@keyframes dcp-cart{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-3px) scale(1.18)}70%{transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:no-preference){.dcp-fab.dcp-added .dcp-fab-ic{animation:dcp-cart .45s ease}}
/* terms/privacy: Quick-access table of contents + body */
.dcp-legal{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start;max-width:960px;margin:0 auto}
.dcp-toc{position:sticky;top:92px;border:1px solid var(--dcp-line);border-radius:8px;padding:16px 18px;background:var(--dcp-soft)}
.dcp-toc h2{font-size:.76rem;text-transform:uppercase;letter-spacing:.07em;color:var(--dcp-ink3);margin:0 0 10px;font-weight:700}
.dcp-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.dcp-toc a{display:block;padding:6px 0;color:var(--dcp-ink2);text-decoration:none;font-size:.9rem;line-height:1.35}
.dcp-toc a:hover{color:var(--dcp-teal-d)}
.dcp-legal-body{min-width:0}
.dcp-legal-body section{scroll-margin-top:92px}
.dcp-legal-body section+section{margin-top:28px}
.dcp-legal-body h2{font-size:1.25rem;margin:0 0 10px}
@media(max-width:800px){.dcp-legal{grid-template-columns:1fr;gap:24px}.dcp-toc{position:static}}
/* service-page project photo band */
.dcp-svc-shot{margin:0 auto;max-width:940px}
.dcp-svc-shot img{width:100%;height:auto;display:block;border:1px solid var(--dcp-line);border-radius:8px;
  transition:transform .22s ease,box-shadow .22s ease}
.dcp-svc-shot:hover img{transform:translateY(-4px);box-shadow:0 18px 34px -18px rgba(26,27,31,.4)}
.dcp-svc-shot figcaption{margin-top:11px;font-size:.9rem;color:var(--dcp-ink2);text-align:center}
@media(prefers-reduced-motion:reduce){.dcp-svc-shot:hover img{transform:none}}
