/* ============================================================
   DHM Group — Design System v2
   Brand navy + brighter brand-blue accent (same hue family).
   No gold. Light, confident, professional. All sizing in rem.
   Swap --font to 'Ploni', sans-serif when licensed.
   ============================================================ */

:root{
  /* ---- Brand navy (the logo) ---- */

  --navy-500:#2c5587;
  --steel:#647d9d;
  --steel-200:#aebfd3;

  /* ---- Brand blue accent (brightened navy hue) ---- */



  /* ---- Neutrals (cool, clean) ---- */
  --paper:#f3f6fa;
  --paper-2:#e8eef6;
  --white:#ffffff;

  --muted-on-dark:#b7c4d6;

  --line:rgba(20,34,54,.12);
  --line-soft:rgba(20,34,54,.07);
  --line-on-dark:rgba(255,255,255,.14);

  /* ---- WhatsApp (functional brand color) ---- */



  /* ---- Typography ---- */
  
  --fs-eyebrow:.8125rem;
  --fs-body:1.0625rem;
  --fs-lead:1.25rem;
  --fs-h3:1.5rem;
  --fs-h2:clamp(2rem,1.2rem + 2.8vw,3.25rem);
  --fs-h1:clamp(2.6rem,1.2rem + 5vw,4.75rem);

  /* ---- Spacing / shape ---- */
  --container:80rem;
  --container-narrow:58rem;
  --gutter:clamp(1.25rem,4vw,3rem);
  --section-y:clamp(4rem,8vw,7.5rem);
  --radius:.5rem;
  --radius-lg:1rem;
  --radius-xl:1.75rem;
  --shadow-sm:0 1px 2px rgba(12,23,38,.05),0 6px 20px rgba(12,23,38,.06);
  --shadow-md:0 18px 50px -22px rgba(12,23,38,.4);
  --shadow-lg:0 50px 100px -45px rgba(12,23,38,.5);

  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------------- Reset ---------------- */
*,*::before,*::after{box-sizing:border-box;}
html{font-size:100%;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;font-size:var(--fs-body);line-height:1.7;
  color:var(--dhm-ink);background:var(--white);direction:rtl;
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"kern";
}
img,svg,video{display:block;max-width:100%;}
h1,h2,h3,h4,p{margin:0;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;}
ul{margin:0;padding:0;list-style:none;}
:focus-visible{outline:2px solid var(--dhm-accent);outline-offset:3px;border-radius:2px;}

/* ---------------- Layout ---------------- */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.container.narrow{max-width:var(--container-narrow);}
.section{padding-block:var(--section-y);}
.section.tight{padding-block:clamp(3rem,5vw,4.5rem);}
.bg-paper{background:var(--paper);}
.bg-tint{background:var(--dhm-accent-tint);}

/* ---------------- Type helpers ---------------- */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-size:var(--fs-eyebrow);font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--dhm-accent);}
.eyebrow::before{content:"";width:1.6rem;height:2px;background:var(--dhm-accent);border-radius:2px;}
.eyebrow.on-dark{color:#8fb0ee;}
.eyebrow.center{justify-content:center;}

h1,.h1{font-size:var(--fs-h1);line-height:1.02;font-weight:800;letter-spacing:-.02em;}
h2,.h2{font-size:var(--fs-h2);line-height:1.08;font-weight:800;letter-spacing:-.015em;}
h3,.h3{font-size:var(--fs-h3);line-height:1.25;font-weight:700;}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--dhm-muted);font-weight:400;}
.measure{max-width:42rem;}
.text-accent{color:var(--dhm-accent);}
.text-muted{color:var(--dhm-muted);}
.underline-accent{position:relative;white-space:nowrap;}
.underline-accent::after{content:"";position:absolute;inset-inline:0;bottom:.06em;height:.32em;background:var(--dhm-accent-200);z-index:-1;border-radius:2px;}

.section-head{display:flex;flex-direction:column;gap:1.1rem;margin-bottom:clamp(2.5rem,5vw,4rem);}
.section-head.center{align-items:center;text-align:center;}

/* ---------------- Buttons ---------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-size:1rem;font-weight:600;line-height:1;
  padding:1rem 1.75rem;border:1.5px solid transparent;border-radius:999rem;white-space:nowrap;
  transition:transform .25s var(--ease),background .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);}
.btn:hover{transform:translateY(-2px);}
.btn .ic{width:1.15rem;height:1.15rem;flex:none;}
.btn-primary{background:var(--dhm-accent);color:#fff;box-shadow:0 10px 24px -12px rgba(47,100,216,.6);}
.btn-primary:hover{background:var(--dhm-accent-700);box-shadow:0 16px 34px -14px rgba(47,100,216,.7);}
.btn-navy{background:var(--dhm-navy);color:#fff;}
.btn-navy:hover{background:var(--dhm-navy-700);}
.btn-ghost{background:transparent;border-color:var(--line);color:var(--dhm-ink);}
.btn-ghost:hover{border-color:var(--dhm-navy);background:rgba(29,58,92,.04);}
.btn-ghost.on-dark{color:#fff;border-color:var(--line-on-dark);}
.btn-ghost.on-dark:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-wa{background:var(--dhm-wa);color:#fff;}
.btn-wa:hover{background:var(--dhm-wa);box-shadow:0 14px 30px -12px rgba(37,168,90,.6);}

.linkmore{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--dhm-accent);transition:gap .25s var(--ease),color .2s;}
.linkmore .ic{width:1rem;height:1rem;transition:transform .25s var(--ease);}
.linkmore:hover{color:var(--dhm-accent-700);}
.linkmore:hover .ic{transform:translateX(-.3rem);}
.on-dark .linkmore,.linkmore.on-dark{color:#8fb0ee;}

/* ---------------- Header ---------------- */
.site-header{position:sticky;top:0;z-index:50;background:transparent;transition:background .3s,box-shadow .3s,border-color .3s;border-bottom:1px solid transparent;}
.site-header.solid{background:rgba(255,255,255,.9);backdrop-filter:saturate(140%) blur(12px);border-bottom-color:var(--line-soft);}
.nav{display:flex;align-items:center;gap:1.5rem;height:5.25rem;}
.nav__logo{display:flex;align-items:center;height:2.6rem;gap:0;}
.nav__logo img{height:100%;width:auto;}
.nav__links{display:flex;align-items:center;gap:.25rem;margin-inline-start:auto;}
.nav__links a{position:relative;padding:.55rem .85rem;font-weight:500;font-size:1rem;color:var(--dhm-ink);border-radius:999rem;white-space:nowrap;transition:color .2s,background .2s;}
.nav__links a:hover{color:var(--dhm-accent);background:var(--dhm-accent-soft);}
.nav__links a.active{color:var(--dhm-accent);font-weight:600;}

/* dropdown submenu */
.nav__links .has-sub{position:relative;}
.subtoggle{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;font-weight:500;font-size:1rem;color:var(--dhm-ink);padding:.55rem .85rem;border-radius:999rem;cursor:pointer;white-space:nowrap;transition:color .2s,background .2s;}
.subtoggle .caret{width:.95rem;height:.95rem;transition:transform .25s var(--ease);}
.subtoggle:hover{color:var(--dhm-accent);background:var(--dhm-accent-soft);}
.has-sub.active .subtoggle{color:var(--dhm-accent);font-weight:600;}
.has-sub.open .subtoggle .caret{transform:rotate(180deg);}
.subnav{position:absolute;inset-inline-end:0;top:calc(100% + .35rem);min-width:15.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:.5rem;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translateY(.5rem);transition:opacity .22s var(--ease),transform .22s var(--ease),visibility .22s;z-index:60;}
.has-sub:hover .subnav,.has-sub:focus-within .subnav,.has-sub.open .subnav{opacity:1;visibility:visible;transform:none;}
.subnav a{padding:.65rem .85rem;border-radius:.5rem;font-size:.98rem;font-weight:500;color:var(--dhm-ink);white-space:nowrap;}
.subnav a:hover{background:var(--dhm-accent-soft);color:var(--dhm-accent);}
.nav__cta{display:flex;align-items:center;gap:.6rem;}
.nav__burger{display:none;width:2.75rem;height:2.75rem;border:1px solid var(--line);border-radius:999rem;background:#fff;align-items:center;justify-content:center;}
.nav__burger span{display:block;width:1.1rem;height:2px;background:var(--dhm-ink);position:relative;}
.nav__burger span::before,.nav__burger span::after{content:"";position:absolute;left:0;width:1.1rem;height:2px;background:var(--dhm-ink);}
.nav__burger span::before{top:-.34rem;}.nav__burger span::after{top:.34rem;}

@media (max-width:62rem){
  .nav__links{position:fixed;inset:5.25rem 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:var(--white);padding:1rem var(--gutter) 1.5rem;box-shadow:var(--shadow-md);transform:translateY(-130%);transition:transform .35s var(--ease);margin:0;}
  .nav__links.open{transform:translateY(0);}
  .nav__links a{padding:.9rem .5rem;border-radius:0;border-bottom:1px solid var(--line-soft);font-size:1.1rem;}
  .nav__burger{display:flex;margin-inline-start:auto;}
  .nav__cta .btn-label-lg{display:none;}
  /* dropdown on mobile: inline accordion */
  .nav__links .has-sub{display:flex;flex-direction:column;}
  .subtoggle{justify-content:space-between;width:100%;padding:.9rem .5rem;border-bottom:1px solid var(--line-soft);font-size:1.1rem;border-radius:0;}
  .subnav{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;border-radius:0;padding:0;min-width:0;max-height:0;overflow:hidden;transition:max-height .3s var(--ease);}
  .has-sub:hover .subnav,.has-sub:focus-within .subnav{max-height:0;}
  .has-sub.open .subnav{max-height:24rem;}
  .subnav a{padding:.8rem 1.4rem;color:var(--dhm-muted);}
}

/* ---------------- Footer ---------------- */
.site-footer{background:var(--dhm-navy-900);color:var(--muted-on-dark);padding-block:clamp(3.5rem,6vw,5.5rem) 2rem;}
.site-footer a{transition:color .2s;}
.site-footer a:hover{color:#fff;}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;}
.footer-brand img{height:3rem;margin-bottom:1.25rem;}
.footer-brand p{color:var(--muted-on-dark);max-width:24rem;font-size:1rem;}
.footer-col h4{color:#fff;font-size:1rem;font-weight:600;margin-bottom:1.1rem;}
.footer-col li{margin-bottom:.7rem;font-size:1rem;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line-on-dark);font-size:.875rem;color:var(--steel-200);}
@media (max-width:52rem){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}.footer-brand{grid-column:1/-1;}}

/* ---------------- Generic grid ---------------- */
.grid{display:grid;gap:clamp(1rem,2.5vw,1.75rem);}
.g-2{grid-template-columns:repeat(2,1fr);}.g-3{grid-template-columns:repeat(3,1fr);}.g-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:62rem){.g-4{grid-template-columns:repeat(2,1fr);}.g-3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:40rem){.g-2,.g-3,.g-4{grid-template-columns:1fr;}}

/* ---------------- Image placeholder ---------------- */
.ph{position:relative;overflow:hidden;background:var(--paper-2);
  background-image:repeating-linear-gradient(135deg,rgba(29,58,92,.05) 0 1px,transparent 1px 12px);display:flex;}
.ph::after{content:attr(data-label);position:absolute;inset:auto .9rem .9rem auto;font-size:.7rem;color:var(--navy-500);background:rgba(255,255,255,.82);padding:.3rem .55rem;border-radius:.25rem;max-width:82%;text-align:right;}
.ph.on-navy{background:rgba(255,255,255,.04);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 1px,transparent 1px 12px);}
.ph.on-navy::after{color:#cdd8e6;background:rgba(255,255,255,.08);}

/* ---------------- Labyrinth motif (concentric squares = the brand mark) ---------------- */
.lab{display:block;color:var(--dhm-accent);}
.lab rect{fill:none;stroke:currentColor;}
.brandmotif{position:absolute;pointer-events:none;}
.brandmotif rect{fill:none;stroke:currentColor;}
.lab-badge{width:3rem;height:3rem;flex:none;color:var(--dhm-accent);}

/* ---------------- Reveal on scroll (JS-gated) ---------------- */
.js [data-reveal]{opacity:0;transform:translateY(1.5rem);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.js [data-reveal].in{opacity:1;transform:none;}
[data-reveal][data-delay="1"]{transition-delay:.08s;}
[data-reveal][data-delay="2"]{transition-delay:.16s;}
[data-reveal][data-delay="3"]{transition-delay:.24s;}
[data-reveal][data-delay="4"]{transition-delay:.32s;}
[data-reveal][data-delay="5"]{transition-delay:.4s;}
@media (prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none;}}

/* ---------------- Inner page hero (light) ---------------- */
.page-hero{position:relative;background:var(--dhm-accent-tint);overflow:hidden;border-bottom:1px solid var(--line-soft);}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 90% -10%,rgba(47,100,216,.12),transparent 55%);}
.page-hero__inner{position:relative;z-index:2;padding-block:8.5rem clamp(3.5rem,6vw,5rem);}
.page-hero .brandmotif{color:rgba(47,100,216,.1);inset-block-start:-4rem;inset-inline-start:-5rem;}
.page-hero h1{max-width:20ch;margin-block:1.1rem 1.2rem;}
.page-hero .lead{max-width:52ch;}
.crumbs{display:flex;gap:.5rem;align-items:center;font-size:.9rem;color:var(--dhm-muted);}
.crumbs a:hover{color:var(--dhm-accent);}
.crumbs span{opacity:.45;}

/* Inner hero — split with arched media (company pages) */
.page-hero.split .page-hero__inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
@media (max-width:60rem){.page-hero.split .page-hero__inner{grid-template-columns:1fr;gap:2.5rem;}}
.ihero-media{position:relative;}
.ihero-media .arch{position:relative;aspect-ratio:4/3.4;border-radius:12rem 12rem var(--radius-lg) var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);z-index:2;}
.ihero-media .arch .ph{position:absolute;inset:0;}
.ihero-media .lab{position:absolute;inset-block-end:-1.5rem;inset-inline-start:-1.5rem;width:7rem;height:7rem;color:var(--dhm-accent);background:#fff;border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-md);z-index:3;}
@media (max-width:60rem){.ihero-media{max-width:26rem;margin-inline:auto;}}
.ihero-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.9rem;}

/* ---------------- Shared content components ---------------- */
.prose p{margin-bottom:1.1rem;color:var(--dhm-muted);}.prose p:last-child{margin-bottom:0;}
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
.split-2.lean{grid-template-columns:.92fr 1.08fr;}
@media (max-width:56rem){.split-2,.split-2.lean{grid-template-columns:1fr;gap:2.5rem;}}
.fig .ph{aspect-ratio:5/6;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
.fig.wide .ph{aspect-ratio:4/3;}
.fig{position:relative;}
.fig .arc{position:absolute;inset-block-start:-1.1rem;inset-inline-start:-1.1rem;width:52%;aspect-ratio:1;border-radius:var(--radius-lg);background:var(--dhm-accent-soft);z-index:-1;}

.checklist{display:grid;gap:1rem;margin-top:1.6rem;}
.checklist li{display:flex;gap:.8rem;align-items:flex-start;color:var(--dhm-ink);}
.checklist .ck{flex:none;width:1.5rem;height:1.5rem;border-radius:999rem;background:var(--dhm-accent);color:#fff;display:flex;align-items:center;justify-content:center;margin-top:.15rem;}
.checklist .ck svg{width:.85rem;height:.85rem;}

/* credentials / badges */
.badges{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.8rem;}
.badge{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:999rem;padding:.5rem .95rem;font-size:.9rem;font-weight:600;color:var(--dhm-navy);}
.badge svg{width:1rem;height:1rem;color:var(--dhm-accent);flex:none;}

/* feature cards */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
@media (max-width:62rem){.feature-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:40rem){.feature-grid{grid-template-columns:1fr;}}
.feature-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.9rem 1.7rem;display:flex;flex-direction:column;gap:.8rem;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
.feature-card::after{content:"";position:absolute;inset-block-start:0;inset-inline:0;height:3px;background:var(--dhm-accent);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease);}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent;}
.feature-card:hover::after{transform:scaleX(1);}
.feature-card__top{display:flex;align-items:center;justify-content:space-between;}
.feature-card__ic{width:3rem;height:3rem;color:var(--dhm-accent);background:var(--dhm-accent-soft);border-radius:.7rem;padding:.6rem;}
.feature-card__ic svg{width:100%;height:100%;}
.feature-card__n{font-size:.85rem;font-weight:700;color:var(--dhm-accent);letter-spacing:.12em;}
.feature-card h3{color:var(--dhm-navy);font-size:1.18rem;}
.feature-card p{color:var(--dhm-muted);font-size:1rem;}

/* CTA band (shared) */
.cta{position:relative;overflow:hidden;background:var(--dhm-navy);color:#fff;text-align:center;}
.cta .brandmotif{color:rgba(255,255,255,.06);inset-block-start:-8rem;inset-inline-start:-6rem;}
.cta__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.4rem;}
.cta .lead{color:#cdd9e8;max-width:50ch;}
.cta__btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem;}
.cta__mail{margin-top:.3rem;color:var(--steel-200);font-size:.95rem;}
.cta__mail a{color:#9bb8ee;font-weight:600;}


/* ===== Homepage ===== */
.hero{position:relative;overflow:hidden;background:var(--white);}
.hero::before{content:"";position:absolute;inset-block:0;inset-inline-start:-10%;width:55%;
  background:radial-gradient(80% 80% at 30% 30%,var(--dhm-accent-tint),transparent 70%);z-index:0;}
.hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);
  align-items:center;padding-block:clamp(7rem,10vw,9rem) clamp(3rem,6vw,5rem);min-height:min(90vh,50rem);}
@media (max-width:60rem){.hero__grid{grid-template-columns:1fr;gap:2.5rem;padding-block:7rem 3rem;}}
.hero__eyebrow{margin-bottom:1.3rem;}
.hero h1{margin-bottom:1.5rem;}
.hero .lead{max-width:40ch;}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.2rem;}
.hero__trust{display:flex;gap:2.4rem;margin-top:2.8rem;flex-wrap:wrap;}
.htr{display:flex;flex-direction:column;gap:.1rem;}
.htr b{font-size:1.9rem;font-weight:800;color:var(--dhm-navy);line-height:1;letter-spacing:-.02em;}
.htr span{font-size:.9rem;color:var(--dhm-muted);}
.htr .text-accent{color:var(--dhm-accent);}

.hero__media{position:relative;}
.hero__media .arch{position:relative;aspect-ratio:4/4.5;border-radius:16rem 16rem var(--radius-lg) var(--radius-lg);
  overflow:hidden;box-shadow:var(--shadow-lg);z-index:2;}
.hero__media .arch .ph{position:absolute;inset:0;}
.hero__media .arc{position:absolute;inset-block-start:-1.5rem;inset-inline-end:-1.5rem;width:70%;aspect-ratio:4/4.5;
  border-radius:16rem 16rem var(--radius-lg) var(--radius-lg);background:var(--dhm-accent);opacity:.14;z-index:1;}
.hero__media .lab{position:absolute;inset-block-end:-1.75rem;inset-inline-start:-1.75rem;width:8.5rem;height:8.5rem;
  color:var(--dhm-accent);background:#fff;border-radius:var(--radius-lg);padding:1.1rem;box-shadow:var(--shadow-md);z-index:3;}
.hero__badge{position:absolute;inset-block-start:2.5rem;inset-inline-start:-1.5rem;background:#fff;border:1px solid var(--line);
  border-radius:999rem;padding:.7rem 1.1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.6rem;z-index:4;font-weight:600;font-size:.95rem;}
.hero__badge .dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--dhm-wa);box-shadow:0 0 0 4px rgba(37,168,90,.18);}
@media (max-width:60rem){.hero__media{max-width:30rem;margin-inline:auto;}}

/* sectors strip */
.sectors{border-block:1px solid var(--line-soft);background:var(--white);}
.sectors .container{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);flex-wrap:wrap;justify-content:center;padding-block:1.6rem;}
.sectors .lbl{font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dhm-muted);}
.sectors .sct{font-size:1.05rem;font-weight:600;color:var(--dhm-navy);}
.sectors .sep{width:.35rem;height:.35rem;border-radius:50%;background:var(--dhm-accent-200);}

/* about split */
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;}
@media (max-width:56rem){.split{grid-template-columns:1fr;gap:2.5rem;}}
.prose p{margin-bottom:1.1rem;color:var(--dhm-muted);}.prose p:last-child{margin-bottom:0;}
.about-fig{position:relative;}
.about-fig .ph{aspect-ratio:5/6;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
.about-fig .arc{position:absolute;inset-block-start:-1.25rem;inset-inline-start:-1.25rem;width:55%;aspect-ratio:1;border-radius:var(--radius-lg);background:var(--dhm-accent-soft);z-index:-1;}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:2rem;}
.kpi{border-inline-start:3px solid var(--dhm-accent);padding-inline-start:1rem;}
.kpi b{display:block;font-size:1.7rem;font-weight:800;color:var(--dhm-navy);line-height:1;letter-spacing:-.02em;}
.kpi span{font-size:.9rem;color:var(--dhm-muted);}
@media (max-width:30rem){.kpis{grid-template-columns:1fr 1fr;}}

/* companies */
.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
@media (max-width:62rem){.company-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:40rem){.company-grid{grid-template-columns:1fr;}}
.ccard{position:relative;display:flex;flex-direction:column;gap:.85rem;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:2rem 1.85rem;overflow:hidden;transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s;}
.ccard::after{content:"";position:absolute;inset-block-end:0;inset-inline:0;height:3px;background:var(--dhm-accent);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease);}
.ccard:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:transparent;}
.ccard:hover::after{transform:scaleX(1);}
.ccard__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.ccard__lab{width:3rem;height:3rem;color:var(--dhm-accent);background:var(--dhm-accent-soft);border-radius:.7rem;padding:.62rem;}
.ccard__lab rect{fill:none;stroke:currentColor;stroke-width:6;}
.ccard__lab rect:last-of-type{fill:currentColor;stroke:none;}
.ccard:hover .ccard__lab{background:var(--dhm-accent);color:#fff;}
.ccard__idx{font-size:.85rem;font-weight:700;color:var(--dhm-accent);letter-spacing:.12em;}
.ccard h3{color:var(--dhm-navy);font-size:1.3rem;}
.ccard p{color:var(--dhm-muted);font-size:1rem;flex:1;}
.ccard .linkmore{margin-top:.2rem;}

/* ground services feature (navy) */
.ground{background:var(--dhm-navy-800);color:#fff;position:relative;overflow:hidden;}
.ground .brandmotif{color:rgba(255,255,255,.05);inset-block-start:-6rem;inset-inline-end:-6rem;}
.ground__head{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-bottom:clamp(2.5rem,5vw,3.5rem);}
.ground__head .lead{color:#cdd9e8;}
@media (max-width:52rem){.ground__head{grid-template-columns:1fr;}}
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line-on-dark);border:1px solid var(--line-on-dark);border-radius:var(--radius-lg);overflow:hidden;}
@media (max-width:64rem){.svc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:40rem){.svc-grid{grid-template-columns:1fr;}}
.svc{background:var(--dhm-navy-800);padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1rem;transition:background .3s;}
.svc:hover{background:var(--dhm-navy-700);}
.svc__ic{width:3rem;height:3rem;border-radius:.7rem;background:rgba(47,100,216,.18);color:#9bb8ee;display:flex;align-items:center;justify-content:center;}
.svc__ic svg{width:1.5rem;height:1.5rem;}
.svc__n{font-size:.8rem;font-weight:700;color:#8fb0ee;letter-spacing:.12em;}
.svc h3{font-size:1.12rem;line-height:1.3;color:#fff;}
.svc p{font-size:.95rem;color:var(--muted-on-dark);}

/* video */
.video-split{display:grid;grid-template-columns:auto 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;}
@media (max-width:56rem){.video-split{grid-template-columns:1fr;justify-items:center;text-align:center;}}
.vframe{position:relative;width:clamp(15rem,30vw,19rem);aspect-ratio:9/16;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line);background:var(--dhm-navy-800);}
.vframe .ph{position:absolute;inset:0;}
.vframe__play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;}
.vframe__play button{width:4.5rem;height:4.5rem;border-radius:999rem;border:none;background:rgba(255,255,255,.94);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:transform .25s var(--ease);}
.vframe__play button:hover{transform:scale(1.06);}
.vframe__play svg{width:1.6rem;height:1.6rem;color:var(--dhm-accent);margin-inline-start:.2rem;}
.video-text .h2{margin-block:1rem 1.1rem;}

/* why us */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.25rem,3vw,2rem);}
@media (max-width:62rem){.why-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:40rem){.why-grid{grid-template-columns:1fr;}}
.why{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.9rem 1.6rem;display:flex;flex-direction:column;gap:.8rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.why:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);}
.why__ic{width:3rem;height:3rem;color:var(--dhm-accent);background:var(--dhm-accent-soft);border-radius:.7rem;padding:.6rem;}
.why__ic svg{width:100%;height:100%;}
.why h3{font-size:1.15rem;color:var(--dhm-navy);}.why p{color:var(--dhm-muted);font-size:1rem;}

/* clients */
.client-row{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;}
@media (max-width:62rem){.client-row{grid-template-columns:repeat(3,1fr);}}
@media (max-width:40rem){.client-row{grid-template-columns:repeat(2,1fr);}}
.client{background:#fff;border:1px solid var(--line);border-radius:var(--radius);height:6rem;display:flex;align-items:center;justify-content:center;color:var(--steel);font-size:.7rem;text-align:center;padding:.5rem;transition:box-shadow .3s,transform .3s;}
.client:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px);}

/* CTA */
.cta{position:relative;overflow:hidden;background:var(--dhm-navy);color:#fff;text-align:center;}
.cta .brandmotif{color:rgba(255,255,255,.06);inset-block-start:-8rem;inset-inline-start:-6rem;}
.cta__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.4rem;}
.cta .lead{color:#cdd9e8;max-width:50ch;}
.cta__btns{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem;}
.cta__mail{margin-top:.3rem;color:var(--steel-200);font-size:.95rem;}
.cta__mail a{color:#9bb8ee;font-weight:600;}

/* ===== DHM mobile + behavior fixes ===== */
/* give the arched media a real height even when the image placeholder is empty */
.dhm-scope .hero__media .arch{min-height:18rem;}
.dhm-scope .hero__media .ph{min-height:18rem;}
@media (max-width:60rem){
  .dhm-scope .hero__grid{grid-template-columns:1fr;}
  .dhm-scope .hero__media{order:-1;max-width:22rem;margin-inline:auto;margin-bottom:2.5rem;}
  .dhm-scope .hero__media .arch{aspect-ratio:auto;min-height:15rem;}
  .dhm-scope .hero__media .ph{min-height:15rem;}
  .dhm-scope .hero__media .arc{inset-block-start:-1rem;inset-inline-end:-1rem;}
  /* keep the 24/7 badge inside the media, not over the headline */
  .dhm-scope .hero__badge{inset-block-start:auto;inset-block-end:-1rem;inset-inline-start:50%;transform:translateX(50%);white-space:nowrap;}
  .dhm-scope .hero__eyebrow{font-size:.72rem;letter-spacing:.06em;}
  .dhm-scope .hero__trust{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 1.6rem;margin-top:2rem;}
  .dhm-scope .htr b{font-size:1.55rem;}
}
@media (max-width:24rem){
  .dhm-scope .hero__badge{font-size:.85rem;padding:.55rem .9rem;}
}
