/* Bridge for the hand-built content pages.
   1) remap the old design tokens to the new palette and fonts
   2) restyle the shared components in the new minimal look */
html:root,html:root[data-theme]{ /* [data-theme]: outranks the pages' own :root[data-theme="light"] tokens */
  --bg:#0E0D0C; --bg-2:#131210; --card:#181614; --ink:#F5F2ED; --muted:#A39D95;
  --line:rgba(255,244,230,.08); --line-2:rgba(255,244,230,.14);
  --panel:#131210; --panel-2:#181614; --on-panel:#F5F2ED; --on-panel-muted:#A39D95;
  --primary:#FF8A1F; --primary-2:#E9740C; --cyan:#FFA54D; --gold:#F2C14E; --good:#5BD08A;
  --glowc:255,138,31; --glowb:255,165,77;
  --maxw:1240px; --r:16px; --surface:#181614;
  --dsp:"IBM Plex Sans",system-ui,sans-serif; --bdy:"IBM Plex Sans",system-ui,sans-serif;
  --shadow:none; --shadow-lg:0 30px 60px -30px rgba(0,0,0,.6);
}
html[lang^="fa"]:root{--dsp:"Vazirmatn","IBM Plex Sans",sans-serif;--bdy:"Vazirmatn","IBM Plex Sans",sans-serif}
body.dh{background:var(--dh-bg)!important;color:var(--dh-text)!important;font-family:var(--dh-font)!important}

.dh-legacy{display:block}
.dh-legacy .wrap{max-width:var(--dh-container);margin-inline:auto;padding-inline:var(--dh-gutter)}
.dh-legacy .block{padding:96px 0;background:transparent}
.dh-legacy .block+.block[style*="padding-top:0"]{padding-top:0}
.dh-legacy h1,.dh-legacy h2,.dh-legacy h3,.dh-legacy h4,.dh-legacy h5{font-family:var(--dh-font);color:var(--dh-text);letter-spacing:-.02em}
html[lang^="fa"] .dh-legacy h1,html[lang^="fa"] .dh-legacy h2,html[lang^="fa"] .dh-legacy h3{letter-spacing:0;line-height:1.35}
.dh-legacy p{color:var(--dh-muted)}
.dh-legacy a:not(.btn):not(.rcard):not(.pcard){color:inherit}
.dh-legacy .gridbg,.dh-legacy .grain::before,.dh-legacy .grain::after{display:none!important}
.dh-legacy .rv{transition:opacity .7s var(--dh-ease),transform .7s var(--dh-ease)}

/* eyebrow */
.dh-legacy .eyebrow{font:500 12px/1.3 var(--dh-mono)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--dh-brand)!important;display:inline-flex;align-items:center;gap:10px}
.dh-legacy .eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
html[lang^="fa"] .dh-legacy .eyebrow{font-family:var(--dh-font)!important;letter-spacing:0;font-size:13px!important}

/* buttons */
.dh-legacy .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:10px;font:600 15px/1.2 var(--dh-font);background:var(--dh-brand);color:var(--dh-brand-ink)!important;border:1px solid transparent;box-shadow:none;transition:background .2s,border-color .2s,color .2s}
.dh-legacy .btn:hover{background:var(--dh-brand-2);transform:none}
.dh-legacy .btn svg{width:16px;height:16px}
[dir="rtl"] .dh-legacy .btn svg{transform:scaleX(-1)}
.dh-legacy .btn-glass,.dh-legacy .btn-ghost,.dh-legacy .btn-outline{background:transparent!important;color:var(--dh-text)!important;border-color:var(--dh-line-2)!important;backdrop-filter:none}
.dh-legacy .btn-glass:hover,.dh-legacy .btn-ghost:hover,.dh-legacy .btn-outline:hover{border-color:var(--dh-brand)!important;color:var(--dh-brand)!important}
.dh-legacy .btn[style]{background:var(--dh-brand)!important;color:var(--dh-brand-ink)!important}
.dh-legacy .ctas{display:flex;flex-wrap:wrap;gap:12px}

/* service hero */
.dh-legacy .svc-hero,.dh-legacy .ab-hero,.dh-legacy .ct-hero,.dh-legacy .kn-hero,.dh-legacy .loc-hero{position:relative;background:var(--dh-bg)!important;color:var(--dh-text);border-bottom:1px solid var(--dh-line);overflow:hidden;padding:72px 0 80px}
.dh-legacy .svc-hero::before,.dh-legacy .ab-hero::before,.dh-legacy .ct-hero::before,.dh-legacy .kn-hero::before,.dh-legacy .loc-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--dh-line) 1px,transparent 1px),linear-gradient(90deg,var(--dh-line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 60% 80% at 75% 40%,#000 15%,transparent 70%);mask-image:radial-gradient(ellipse 60% 80% at 75% 40%,#000 15%,transparent 70%);opacity:.6;pointer-events:none}
.dh-legacy .svc-hero::after,.dh-legacy .ab-hero::after,.dh-legacy .ct-hero::after,.dh-legacy .kn-hero::after,.dh-legacy .loc-hero::after{display:none}
.dh-legacy .hero-in{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center}
.dh-legacy .hero-txt h1,.dh-legacy .svc-hero h1,.dh-legacy .ab-hero h1,.dh-legacy .ct-hero h1,.dh-legacy .kn-hero h1,.dh-legacy .loc-hero h1{font-size:clamp(34px,4.6vw,58px);line-height:1.05;font-weight:700;margin:18px 0 18px;color:var(--dh-text)!important}
html[lang^="fa"] .dh-legacy .svc-hero h1{line-height:1.3}
.dh-legacy .lead{color:var(--dh-muted)!important;font-size:clamp(16px,1.4vw,18px);max-width:620px}
.dh-legacy .crumb{font-size:13px;color:var(--dh-faint);display:flex;gap:8px;flex-wrap:wrap}
.dh-legacy .crumb a:hover{color:var(--dh-brand)}
.dh-legacy .crumb .cur{color:var(--dh-text-2)}
.dh-legacy .hbadges{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:26px}
.dh-legacy .hbadge{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--dh-muted);background:none;border:0;padding:0}
.dh-legacy .hbadge svg{width:16px;height:16px;color:var(--dh-brand)}
.dh-legacy .hshot{position:relative;border-radius:var(--dh-r-lg);overflow:hidden;border:1px solid var(--dh-line-2);box-shadow:0 40px 80px -40px rgba(0,0,0,.8);transform:perspective(1200px) rotateY(-6deg) rotateX(2deg);transition:transform .8s var(--dh-ease)}
[dir="rtl"] .dh-legacy .hshot{transform:perspective(1200px) rotateY(6deg) rotateX(2deg)}
.dh-legacy .hshot:hover{transform:perspective(1200px) rotateY(0) rotateX(0)}
.dh-legacy .hshot img{display:block;width:100%;height:auto;filter:saturate(.85) contrast(1.05)}
.dh-legacy .tagpill{position:absolute;bottom:14px;inset-inline-start:14px;display:inline-flex;align-items:center;gap:8px;background:rgba(24,22,20,.85);backdrop-filter:blur(8px);border:1px solid var(--dh-line-2);border-radius:999px;padding:6px 12px;font:500 12px var(--dh-mono);color:var(--dh-text)}
.dh-legacy .tagpill i{width:7px;height:7px;border-radius:50%;background:var(--dh-ok)}

/* pillars */
.dh-legacy .pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--dh-line);border:1px solid var(--dh-line);border-radius:var(--dh-r-lg);overflow:hidden}
.dh-legacy .pillar{background:var(--dh-bg)!important;border:0!important;border-radius:0!important;padding:28px;box-shadow:none!important}
.dh-legacy .pillar .ic,.dh-legacy .rcard .ic,.dh-legacy .ic{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;color:var(--dh-brand)!important;background:var(--dh-surface)!important;border:1px solid var(--dh-line-2);box-shadow:none!important}
.dh-legacy .ic svg{width:21px;height:21px}
.dh-legacy .pillar h3{font-size:17px;font-weight:600;margin:20px 0 8px;line-height:1.35}
.dh-legacy .pillar p{font-size:14px;margin:0}

/* body + aside */
.dh-legacy .svc-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.dh-legacy .prose{color:var(--dh-text-2);font-size:17px;line-height:1.8;max-width:760px}
.dh-legacy .prose p{color:var(--dh-text-2);margin:0 0 1.1em}
.dh-legacy .prose h2{font-size:clamp(22px,2.4vw,30px);margin:1.8em 0 .6em;padding-top:1.2em;border-top:1px solid var(--dh-line)}
.dh-legacy .prose h2:first-of-type{border-top:0;padding-top:0}
.dh-legacy .prose h3{font-size:20px;margin:1.4em 0 .5em}
.dh-legacy .prose ul,.dh-legacy .prose ol{padding-inline-start:1.2em}
.dh-legacy .prose li{margin:.3em 0}
.dh-legacy .prose li::marker{color:var(--dh-brand)}
.dh-legacy .prose a{color:var(--dh-brand);text-decoration:underline;text-underline-offset:3px}
.dh-legacy .prose b,.dh-legacy .prose strong{color:var(--dh-text)}
.dh-legacy .svc-aside{position:sticky;top:calc(var(--dh-header-h) + 24px);display:grid;gap:16px}
.dh-legacy .aside-cta{border:1px solid rgba(255,138,31,.4);border-radius:var(--dh-r-lg);padding:26px;background:linear-gradient(180deg,rgba(255,138,31,.09),var(--dh-bg-2) 70%)!important;color:var(--dh-text)}
.dh-legacy .aside-cta h4{font-size:20px;margin:0 0 8px}
.dh-legacy .aside-cta p{font-size:14px;margin:0 0 18px}
.dh-legacy .aside-cta .btn{width:100%}
.dh-legacy .aside-cta .ph{margin-top:12px;font-size:13px;color:var(--dh-muted);text-align:center}
.dh-legacy .aside-card{border:1px solid var(--dh-line);border-radius:var(--dh-r-lg);padding:22px 24px;background:var(--dh-bg-2)!important;box-shadow:none}
.dh-legacy .aside-card h5{margin:0 0 12px;font:600 11px var(--dh-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dh-faint)}
html[lang^="fa"] .dh-legacy .aside-card h5{font-family:var(--dh-font);letter-spacing:0;font-size:13px}
.dh-legacy .fact{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px dashed var(--dh-line);font-size:14px;color:var(--dh-muted)}
.dh-legacy .fact:last-child{border-bottom:0}
.dh-legacy .fact svg{width:16px;height:16px;color:var(--dh-brand);flex-shrink:0}
.dh-legacy .fact b{margin-inline-start:auto;color:var(--dh-text);font-family:var(--dh-mono);font-weight:600}

/* image band */
.dh-legacy .ib{position:relative;border-radius:var(--dh-r-lg);overflow:hidden;border:1px solid var(--dh-line);min-height:380px;display:flex;align-items:flex-end}
.dh-legacy .ib img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.7)}
.dh-legacy .ib-cap{position:relative;padding:40px;max-width:640px;background:linear-gradient(0deg,rgba(14,13,12,.92),rgba(14,13,12,0));width:100%;max-width:none}
.dh-legacy .ib-cap span{font:500 12px var(--dh-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dh-brand)}
.dh-legacy .ib-cap h3{font-size:clamp(22px,2.6vw,32px);margin:10px 0;max-width:640px}
.dh-legacy .ib-cap p{max-width:600px;margin:0}

/* section heads + related */
.dh-legacy .sec-head{margin-bottom:38px}
.dh-legacy .sec-head h2{font-size:clamp(28px,3.4vw,44px);line-height:1.1;margin-top:14px}
.dh-legacy .rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dh-legacy .rcard{display:block;border:1px solid var(--dh-line);border-radius:var(--dh-r-lg);background:var(--dh-bg-2)!important;box-shadow:none!important;transition:border-color .2s,transform .3s var(--dh-ease)}
.dh-legacy .rcard:hover{border-color:rgba(255,138,31,.5);transform:translateY(-3px)}
.dh-legacy .rcard .in{padding:24px;background:none!important}
.dh-legacy .rcard h4{font-size:18px;margin:18px 0 6px}
.dh-legacy .rcard p{font-size:14px;margin:0 0 16px}
.dh-legacy .rcard .go{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--dh-brand)}
.dh-legacy .rcard .go svg{width:14px;height:14px}
[dir="rtl"] .dh-legacy .rcard .go svg{transform:scaleX(-1)}

/* closing CTA band */
.dh-legacy .cta{border:1px solid var(--dh-line-2);border-radius:24px;padding:64px 40px;text-align:center;background:radial-gradient(600px 300px at 50% 130%,rgba(255,138,31,.18),transparent 70%),var(--dh-bg-2)!important;color:var(--dh-text);box-shadow:none}
.dh-legacy .cta h2{font-size:clamp(28px,3.4vw,44px);color:var(--dh-text)!important;max-width:none;margin-inline:auto;text-align:center}
.dh-legacy .cta p{margin:14px auto 26px;max-width:620px;color:var(--dh-muted)!important}

/* cards used on about / contact / locations / news pages */
.dh-legacy .card,.dh-legacy .ct-card,.dh-legacy .lcard,.dh-legacy .vcard,.dh-legacy .dcard,.dh-legacy .ist-card,.dh-legacy .pcard,.dh-legacy .sol,.dh-legacy .hub,.dh-legacy .abstat,.dh-legacy .stat{background:var(--dh-bg-2)!important;border:1px solid var(--dh-line)!important;box-shadow:none!important;color:var(--dh-text)}
.dh-legacy .pcard:hover,.dh-legacy .lcard:hover,.dh-legacy .sol:hover{border-color:rgba(255,138,31,.5)!important}
.dh-legacy input:not([type=submit]):not([type=checkbox]):not([type=radio]),.dh-legacy select,.dh-legacy textarea{background:var(--dh-bg)!important;color:var(--dh-text)!important;border:1px solid var(--dh-line-2)!important;border-radius:10px!important;min-height:46px;padding:10px 14px;font:inherit}
.dh-legacy textarea{min-height:140px}
.dh-legacy input:focus,.dh-legacy textarea:focus,.dh-legacy select:focus{outline:0;border-color:var(--dh-brand)!important}
.dh-legacy .wpcf7-submit,.dh-legacy input[type=submit]{background:var(--dh-brand)!important;color:var(--dh-brand-ink)!important;border:0!important;border-radius:10px!important;min-height:46px;padding:0 24px;font:600 15px var(--dh-font);cursor:pointer}
.dh-legacy .chip{border:1px solid var(--dh-line-2)!important;background:transparent!important;color:var(--dh-text-2)!important}
.dh-legacy .tag{color:var(--dh-brand)}

/* pricing block inserted into service pages */
.dh-legacy .dh-svc-pricing{padding:88px 0;border-bottom:1px solid var(--dh-line)}

@media (max-width:1100px){
  .dh-legacy .pillars,.dh-legacy .rel-grid{grid-template-columns:repeat(2,1fr)}
  .dh-legacy .svc-body{grid-template-columns:1fr}
  .dh-legacy .svc-aside{position:static}
}
@media (max-width:860px){
  .dh-legacy .hero-in{grid-template-columns:1fr}
  .dh-legacy .hshot{transform:none!important}
}
@media (max-width:640px){
  .dh-legacy .block{padding:72px 0}
  .dh-legacy .pillars,.dh-legacy .rel-grid{grid-template-columns:1fr}
  .dh-legacy .cta{padding:44px 22px}
  .dh-legacy .ib-cap{padding:24px}
}

/* standalone contact form */
.dh-legacy .dh-form-block{padding-top:32px}
.dh-legacy .dh-form-card{max-width:820px;margin-inline:auto;border:1px solid var(--dh-line);border-radius:var(--dh-r-lg);background:var(--dh-bg-2);padding:clamp(22px,4vw,44px)}
.dh-legacy .dh-form-card .wpcf7{padding:0!important;background:none!important;border:0!important;box-shadow:none!important;margin:0!important}
.dh-legacy .dh-form-card label{color:var(--dh-text-2);font-size:14px;font-weight:500}
.dh-legacy .dh-form-card .wpcf7-list-item{margin:0 14px 8px 0}
.dh-legacy .dh-form-card .wpcf7-response-output{border-radius:10px;border-color:var(--dh-line-2)!important;color:var(--dh-text-2)}
