/* ============================================================
   Daming (大名) — F1 "Bold Industrial" family
   Dark overlay hero, poster-weight Anton headings, hard-edge cards.
   Prefix .dm  ·  Palette #A23E48 primary / #2F4858 accent / #16100F dark
   Fonts: Anton (display headings) + Mukta (body)
   Differs from sibling Qianglong (red/Barlow) + Dakang (green/Oswald):
   brick-rose + slate, Anton poster type, no stat strip, square chips.
   ============================================================ */

:root{
  --dm-primary:#A23E48;
  --dm-primary-700:#83313a;
  --dm-primary-soft:rgba(162,62,72,.08);
  --dm-accent:#2F4858;
  --dm-accent-700:#223744;
  --dm-dark:#16100F;
  --dm-dark-2:#221917;
  --dm-ink:#241c1b;
  --dm-muted:#6f6360;
  --dm-bg:#FFFFFF;
  --dm-surface:#F8F0F0;
  --dm-surface-2:#efe1e1;
  --dm-line:rgba(22,16,15,.15);
  --dm-line-soft:rgba(22,16,15,.08);
  --dm-radius:2px;
  --dm-shadow-sm:0 1px 0 rgba(22,16,15,.05), 0 1px 4px rgba(22,16,15,.07);
  --dm-shadow:0 14px 36px rgba(22,16,15,.16);
  --dm-section-y:82px;
  --dm-maxw:1180px;
  --dm-font-head:'Anton',Impact,'Haettenschweiler','Arial Narrow Bold',sans-serif;
  --dm-font-body:'Mukta',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--dm-font-body);
  font-size:17px;
  line-height:1.7;
  color:var(--dm-ink);
  background:var(--dm-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* Anton is a single 400 weight display face — let it stay big & airy on tracking */
h1,h2,h3,h4{font-family:var(--dm-font-head);font-weight:400;line-height:1.02;color:var(--dm-dark);margin:0 0 .42em;text-transform:uppercase;letter-spacing:.005em}
h1{font-size:clamp(2.7rem,3.85rem,5rem);}
h2{font-size:clamp(2rem,2.6rem,3.2rem);}
h3{font-family:var(--dm-font-body);font-weight:700;font-size:1.28rem;line-height:1.25;letter-spacing:0;text-transform:none}
h4{font-size:1rem;letter-spacing:.08em}
p{margin:0 0 1.1em}
a{color:var(--dm-primary);text-decoration:none}
a:hover{color:var(--dm-primary-700)}
img,svg{max-width:100%;display:block}
ul{margin:0 0 1.1em;padding:0 0 0 1.1em}
li{margin:.3em 0}
strong{font-weight:700;color:var(--dm-dark)}
small{font-size:.84rem;}
:focus-visible{outline:3px solid var(--dm-primary);outline-offset:2px}

.dm-wrap{max-width:var(--dm-maxw);margin:0 auto;padding:0 24px}
.dm-section{padding:var(--dm-section-y) 0}
.dm-section--tint{background:var(--dm-surface)}
.dm-section--dark{background:var(--dm-dark);color:#d8cdcb}
.dm-section--dark h2,.dm-section--dark h3,.dm-section--dark h4{color:#fff}
.dm-eyebrow{display:inline-flex;align-items:center;gap:.55em;font-family:var(--dm-font-body);font-weight:700;font-size:.82rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dm-primary);margin-bottom:14px}
.dm-eyebrow::before{content:"";width:26px;height:3px;background:var(--dm-primary);display:inline-block}
.dm-eyebrow svg{color:var(--dm-primary);font-size:1.15em;}
.dm-lede{font-size:1.15rem;color:var(--dm-muted);max-width:62ch}
.dm-center{text-align:center}
.dm-center .dm-eyebrow{justify-content:center}
.dm-center .dm-lede{margin-left:auto;margin-right:auto}

/* ---- buttons (hard edge, blocky) ---- */
.dm-btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--dm-font-body);font-weight:700;font-size:1rem;letter-spacing:.07em;text-transform:uppercase;padding:.85em 1.6em;border-radius:var(--dm-radius);border:2px solid transparent;cursor:pointer;transition:transform .12s ease, background .15s ease, color .15s;text-align:center}
.dm-btn svg{font-size:1.15em;}
.dm-btn--primary{background:var(--dm-primary);color:#fff}
.dm-btn--primary:hover{background:var(--dm-primary-700);color:#fff;transform:translateY(-2px)}
.dm-btn--dark{background:var(--dm-accent);color:#fff}
.dm-btn--dark:hover{background:var(--dm-accent-700);color:#fff;transform:translateY(-2px)}
.dm-btn--ghost{background:transparent;color:var(--dm-dark);border-color:var(--dm-line)}
.dm-btn--ghost:hover{background:var(--dm-dark);color:#fff;border-color:var(--dm-dark)}
.dm-btn--lg{padding:1em 2em;font-size:1.06rem;}
.dm-btn--onlight-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.dm-btn--onlight-ghost:hover{background:#fff;color:var(--dm-dark);border-color:#fff}

/* ============== Top bar / nav (solid) ============== */
.dm-topbar{background:var(--dm-dark);color:#c2b3b1;font-size:.85rem;}
.dm-topbar .dm-wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px;flex-wrap:wrap}
.dm-topbar a{color:#d8ccc9}
.dm-topbar a:hover{color:#fff}
.dm-topbar__meta{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.dm-topbar__meta span{display:inline-flex;align-items:center;gap:.45em}
.dm-topbar__meta svg{color:var(--dm-primary)}
.dm-topbar__tag{display:inline-flex;align-items:center;gap:.5em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;font-size:.8rem;}
.dm-topbar__tag svg{color:var(--dm-primary)}

.dm-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid var(--dm-dark);transition:box-shadow .2s}
.dm-header.is-stuck{box-shadow:var(--dm-shadow-sm)}
.dm-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}
.dm-logo{display:flex;align-items:center;gap:12px}
.dm-logo__img{height:40px !important;width:auto !important;max-width:200px;display:block;object-fit:contain;flex:none}
.dm-logo__chip{display:inline-flex;align-items:center;background:#fff;padding:6px 10px;border-radius:6px}
.dm-menu{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.dm-menu>li>a{display:flex;align-items:center;gap:.4em;font-family:var(--dm-font-body);font-weight:600;font-size:.96rem;letter-spacing:.05em;text-transform:uppercase;color:var(--dm-dark);padding:.6em .85em;border-radius:var(--dm-radius);position:relative}
.dm-menu>li>a::after{content:"";position:absolute;left:.85em;right:.85em;bottom:.4em;height:2px;background:var(--dm-primary);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.dm-menu>li>a:hover::after,.dm-menu>li>a[aria-current="page"]::after{transform:scaleX(1)}
.dm-menu>li>a:hover,.dm-menu>li>a[aria-current="page"]{color:var(--dm-primary)}
.dm-nav__cta{display:flex;align-items:center;gap:10px}
.dm-burger{display:none;background:none;border:2px solid var(--dm-line);border-radius:var(--dm-radius);width:46px;height:46px;cursor:pointer;color:var(--dm-dark);align-items:center;justify-content:center}
.dm-burger svg{font-size:1.5rem;}

/* ============== Hero (dark overlay bold) ============== */
.dm-hero{position:relative;background:var(--dm-dark);color:#fff;overflow:hidden}
.dm-hero__bg{position:absolute;inset:0;z-index:0}
.dm-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.30}
.dm-hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(102deg,rgba(22,16,15,.95) 0%,rgba(22,16,15,.84) 44%,rgba(22,16,15,.5) 100%)}
.dm-hero::before{content:"";position:absolute;top:0;bottom:0;left:0;width:9px;background:var(--dm-primary);z-index:2}
.dm-hero .dm-wrap{position:relative;z-index:2}
.dm-hero__in{max-width:780px;padding:104px 0 96px}
.dm-hero__badge{display:inline-flex;align-items:center;gap:.5em;background:var(--dm-primary);color:#fff;font-family:var(--dm-font-body);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;padding:.5em 1em;border-radius:var(--dm-radius);margin-bottom:24px}
.dm-hero h1{color:#fff;margin-bottom:.34em}
.dm-hero h1 .dm-hl{color:var(--dm-primary)}
.dm-hero__lede{font-size:1.2rem;color:#d6c9c7;max-width:60ch;margin-bottom:30px;line-height:1.6}
.dm-hero__btns{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:28px}
.dm-hero__note{font-size:.92rem;color:#bdaeac;display:flex;align-items:center;gap:.5em}
.dm-hero__note svg{color:var(--dm-primary)}

/* ============== Figures ============== */
.dm-figure{overflow:hidden;background:var(--dm-surface);position:relative;border-radius:var(--dm-radius)}
.dm-figure img{width:100%;height:100%;object-fit:cover;display:block}
.dm-figure figcaption{position:absolute;left:0;bottom:0;background:var(--dm-primary);color:#fff;font-family:var(--dm-font-body);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.45em .9em}
.dm-figure--bordered{border:1px solid var(--dm-line)}

/* ============== Grid / cards (hard edge) ============== */
.dm-grid{display:grid;gap:22px}
.dm-grid--3{grid-template-columns:repeat(3,1fr)}
.dm-grid--4{grid-template-columns:repeat(4,1fr)}

.dm-card{background:#fff;border:1px solid var(--dm-line);padding:30px 26px;transition:transform .16s ease, border-color .16s}
.dm-card:hover{border-color:var(--dm-primary)}
.dm-card__ic{width:52px;height:52px;display:grid;place-items:center;background:var(--dm-accent);color:#fff;font-size:1.55rem;margin-bottom:18px}
.dm-card h3{margin-bottom:.4em}
.dm-card p{color:var(--dm-muted);font-size:.97rem;margin-bottom:0}

/* product/category card with image */
.dm-pcard{background:#fff;border:1px solid var(--dm-line);overflow:hidden;transition:transform .16s, box-shadow .16s;display:flex;flex-direction:column}
.dm-pcard:hover{transform:translateY(-4px);box-shadow:var(--dm-shadow)}
.dm-pcard .dm-figure{border-radius:0;aspect-ratio:4/3}
.dm-pcard__body{padding:22px 24px 26px;display:flex;flex-direction:column;flex:1}
.dm-pcard__body h3{margin-bottom:.35em}
.dm-pcard__body p{color:var(--dm-muted);font-size:.95rem;flex:1}
.dm-pcard__link{font-family:var(--dm-font-body);font-weight:700;font-size:.92rem;letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.45em;margin-top:12px;color:var(--dm-primary)}
.dm-pcard__link svg{transition:transform .18s}
.dm-pcard:hover .dm-pcard__link svg{transform:translateX(5px)}
.dm-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.dm-tags li{font-family:var(--dm-font-body);font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dm-accent);background:var(--dm-surface-2);padding:.3em .7em;margin:0}

/* ============== Split / feature rows ============== */
.dm-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.dm-split--rev .dm-split__media{order:2}
.dm-split__media .dm-figure{aspect-ratio:5/4}
.dm-feature-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:2px;background:var(--dm-line);border:1px solid var(--dm-line)}
.dm-feature-list li{display:flex;gap:14px;align-items:flex-start;margin:0;background:#fff;padding:16px 18px}
.dm-feature-list .dm-fi{flex:none;width:34px;height:34px;display:grid;place-items:center;background:var(--dm-primary);color:#fff;font-size:1.05rem;margin-top:2px}
.dm-feature-list b{display:block;color:var(--dm-dark);font-weight:700;font-size:1.04rem;}
.dm-feature-list span{color:var(--dm-muted);font-size:.95rem;}

/* spec table */
.dm-spec{width:100%;border-collapse:collapse;font-size:.96rem;margin:8px 0 0}
.dm-spec th,.dm-spec td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--dm-line)}
.dm-spec th{color:var(--dm-dark);background:var(--dm-surface);width:38%;font-weight:700;letter-spacing:.02em}
.dm-spec tr:last-child th,.dm-spec tr:last-child td{border-bottom:none}
.dm-spec-wrap{border:1px solid var(--dm-line)}

/* markets */
.dm-markets{display:flex;flex-wrap:wrap;gap:2px;margin-top:26px;background:rgba(255,255,255,.1)}
.dm-markets span{background:var(--dm-dark-2);padding:.7em 1.2em;font-family:var(--dm-font-body);font-weight:600;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:#fff;display:inline-flex;align-items:center;gap:.55em}
.dm-markets span svg{color:var(--dm-primary)}

/* steps */
.dm-steps{counter-reset:s;display:grid;gap:2px;grid-template-columns:repeat(4,1fr);margin-top:30px;background:var(--dm-line);border:1px solid var(--dm-line)}
.dm-step{background:#fff;padding:28px 24px;position:relative}
.dm-step::before{counter-increment:s;content:counter(s,decimal-leading-zero);font-family:var(--dm-font-head);font-size:2.4rem;color:var(--dm-primary);display:block;margin-bottom:8px;line-height:1}
.dm-step h3{font-size:1.1rem;margin-bottom:.3em}
.dm-step p{color:var(--dm-muted);font-size:.93rem;margin:0}

/* ============== FAQ accordion ============== */
.dm-faq{max-width:840px;margin:0 auto}
.dm-acc{border:1px solid var(--dm-line);border-left:3px solid var(--dm-line);margin-bottom:10px;background:#fff;transition:border-color .15s}
.dm-acc.is-open{border-left-color:var(--dm-primary)}
.dm-acc__q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:20px 22px;font-family:var(--dm-font-body);font-weight:700;font-size:1.08rem;letter-spacing:0;color:var(--dm-dark);display:flex;justify-content:space-between;align-items:center;gap:16px}
.dm-acc__q:hover{color:var(--dm-primary)}
.dm-acc__q svg{flex:none;transition:transform .25s;color:var(--dm-primary);font-size:1.4rem;}
.dm-acc.is-open .dm-acc__q svg{transform:rotate(45deg)}
.dm-acc__a{padding:0 22px;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
.dm-acc.is-open .dm-acc__a{padding:0 22px 22px;max-height:620px}
.dm-acc__a p{color:var(--dm-muted);margin:0}

/* ============== Forms ============== */
.dm-form{background:#fff;border:1px solid var(--dm-line);border-top:3px solid var(--dm-primary);padding:32px}
.dm-form h3{margin-bottom:1rem}
.dm-field{margin-bottom:18px}
.dm-field label{display:block;font-family:var(--dm-font-body);font-weight:700;font-size:.9rem;letter-spacing:.03em;text-transform:uppercase;color:var(--dm-dark);margin-bottom:7px}
.dm-field .dm-req{color:var(--dm-primary)}
.dm-field input,.dm-field select,.dm-field textarea{width:100%;font-family:var(--dm-font-body);font-size:1rem;color:var(--dm-ink);padding:.78em 1em;border:1.5px solid var(--dm-line);border-radius:var(--dm-radius);background:var(--dm-surface);transition:border-color .15s,background .15s}
.dm-field input:focus,.dm-field select:focus,.dm-field textarea:focus{border-color:var(--dm-primary);background:#fff;outline:none}
.dm-field textarea{min-height:130px;resize:vertical}
.dm-field--row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.dm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.dm-form__msg{margin-top:10px;font-size:.94rem;font-weight:700;display:none}
.dm-form__msg.is-ok{display:block;color:#1a7a3c}
.dm-form__msg.is-err{display:block;color:var(--dm-primary-700)}
.dm-form small{color:var(--dm-muted)}

/* ============== Breadcrumb ============== */
.dm-crumb{font-size:.84rem;color:var(--dm-muted);padding:18px 0 0;letter-spacing:.02em;text-transform:uppercase;font-weight:600}
.dm-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5em;margin:0;padding:0}
.dm-crumb li{display:flex;align-items:center;gap:.5em;margin:0}
.dm-crumb li::after{content:"›";color:var(--dm-line)}
.dm-crumb li:last-child::after{content:""}
.dm-crumb a{color:var(--dm-muted)}
.dm-crumb a:hover{color:var(--dm-primary)}
.dm-crumb [aria-current]{color:var(--dm-dark);font-weight:700}

/* page header band */
.dm-pagehead{background:var(--dm-dark);color:#fff;position:relative;overflow:hidden}
.dm-pagehead::before{content:"";position:absolute;top:0;bottom:0;right:0;width:38%;background:var(--dm-primary);opacity:.13;transform:skewX(-12deg) translateX(40%)}
.dm-pagehead__in{padding:26px 0 56px;max-width:800px;position:relative}
.dm-pagehead h1{color:#fff;margin:14px 0 .32em}
.dm-pagehead .dm-lede{color:#d6c9c7}
.dm-pagehead .dm-eyebrow{color:#fff}
.dm-pagehead .dm-eyebrow::before{background:var(--dm-primary)}
.dm-pagehead .dm-crumb{color:#bdaeac}
.dm-pagehead .dm-crumb a{color:#bdaeac}
.dm-pagehead .dm-crumb [aria-current]{color:#fff}

/* CTA band */
.dm-cta{background:var(--dm-primary);color:#fff;padding:54px 48px;display:grid;grid-template-columns:1.4fr auto;gap:32px;align-items:center}
.dm-cta h2{color:#fff;margin-bottom:.3em}
.dm-cta p{color:rgba(255,255,255,.92);margin:0;max-width:56ch}
.dm-cta__btns{display:flex;gap:14px;flex-wrap:wrap}
.dm-cta .dm-btn--ghost{color:#fff;border-color:rgba(255,255,255,.55);background:transparent}
.dm-cta .dm-btn--ghost:hover{background:#fff;color:var(--dm-primary)}
.dm-cta .dm-btn--dark{background:var(--dm-dark);border-color:var(--dm-dark)}
.dm-cta .dm-btn--dark:hover{background:#000;border-color:#000;color:#fff}

/* prose */
.dm-prose>p:first-child{font-size:1.12rem;color:var(--dm-ink)}
.dm-prose h2{margin-top:1.5em}
.dm-prose h3{margin-top:1.3em}

/* ============== Footer ============== */
.dm-footer{background:var(--dm-dark);color:#a99c9a;padding:60px 0 26px;font-size:.94rem;}
.dm-footer a{color:#cabebc}
.dm-footer a:hover{color:#fff}
.dm-footer__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.3fr;gap:36px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.1)}
.dm-footer h4{color:#fff;font-size:.86rem;letter-spacing:.12em;margin-bottom:16px;font-family:var(--dm-font-body);font-weight:700;text-transform:uppercase}
.dm-footer ul{list-style:none;padding:0;margin:0}
.dm-footer li{margin:.5em 0}
.dm-footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.dm-footer__brand .dm-logo__img{height:34px}
.dm-footer__about{max-width:38ch;color:#a99c9a}
.dm-footer__contact li{display:flex;gap:.6em;align-items:flex-start}
.dm-footer__contact svg{color:var(--dm-primary);flex:none;margin-top:3px}
.dm-footer__bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;font-size:.85rem;color:#857978}
.dm-footer__bottom a{color:#a99c9a}

/* floating inquiry widget */
.dm-fab{position:fixed;right:22px;bottom:22px;z-index:80;background:var(--dm-primary);color:#fff;border:none;border-radius:var(--dm-radius);box-shadow:var(--dm-shadow);font-family:var(--dm-font-body);font-weight:700;font-size:.98rem;letter-spacing:.05em;text-transform:uppercase;padding:.9em 1.3em;display:inline-flex;align-items:center;gap:.5em;cursor:pointer;transition:transform .14s,background .15s}
.dm-fab:hover{background:var(--dm-primary-700);transform:translateY(-2px)}
.dm-fab svg{font-size:1.3em;}
.dm-modal{position:fixed;inset:0;z-index:90;display:none;align-items:flex-end;justify-content:flex-end;padding:22px}
.dm-modal.is-open{display:flex}
.dm-modal__overlay{position:absolute;inset:0;background:rgba(22,16,15,.55)}
.dm-modal__panel{position:relative;background:#fff;width:min(420px,100%);max-height:calc(100vh - 44px);overflow:auto;border-top:3px solid var(--dm-primary);box-shadow:var(--dm-shadow)}
.dm-modal__head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}
.dm-modal__head h3{margin:0}
.dm-modal__close{background:none;border:none;cursor:pointer;color:var(--dm-muted);font-size:1.6rem;line-height:1;padding:4px}
.dm-modal__close:hover{color:var(--dm-primary)}
.dm-modal .dm-form{border:none;border-top:none;padding:18px 24px 26px}

/* reveal on scroll */
.dm-reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.dm-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.dm-reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

.dm-mnav{display:none}

/* ============== Responsive ============== */
@media (max-width:980px){
  .dm-hero__in{padding:72px 0 64px}
  .dm-split{grid-template-columns:1fr;gap:36px}
  .dm-split--rev .dm-split__media{order:0}
  .dm-grid--3,.dm-grid--4{grid-template-columns:repeat(2,1fr)}
  .dm-steps{grid-template-columns:repeat(2,1fr)}
  .dm-cta{grid-template-columns:1fr;text-align:left}
  .dm-footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:16px;}
  :root{--dm-section-y:56px}
  .dm-menu,.dm-nav__cta .dm-btn{display:none}
  .dm-burger{display:flex}
  .dm-mnav{display:block;border-top:1px solid var(--dm-line-soft);background:#fff;max-height:0;overflow:hidden;transition:max-height .3s ease}
  .dm-mnav.is-open{max-height:560px}
  .dm-mnav ul{list-style:none;margin:0;padding:10px 24px 20px}
  .dm-mnav li{margin:0}
  .dm-mnav a{display:block;padding:13px 4px;font-family:var(--dm-font-body);font-weight:700;font-size:1.04rem;letter-spacing:.04em;text-transform:uppercase;color:var(--dm-dark);border-bottom:1px solid var(--dm-line-soft)}
  .dm-mnav .dm-btn{margin-top:14px;width:100%;justify-content:center}
  .dm-grid--3,.dm-grid--4{grid-template-columns:1fr}
  .dm-steps{grid-template-columns:1fr}
  .dm-field--row{grid-template-columns:1fr}
  .dm-footer__grid{grid-template-columns:1fr}
  .dm-cta{padding:36px 26px}
  .dm-topbar__meta{display:none}
  .dm-fab span{display:none}
  .dm-fab{padding:.9em}
}

/* ============== language switcher ============== */
.dm-lang{position:relative;flex:none}
.dm-lang__btn{display:inline-flex;align-items:center;gap:.4em;background:none;border:1.5px solid var(--dm-line);border-radius:var(--dm-radius);padding:.5em .7em;cursor:pointer;color:var(--dm-dark);font-family:var(--dm-font-body);font-weight:700;font-size:.86rem;letter-spacing:.02em}
.dm-lang__btn svg{color:var(--dm-primary);font-size:1.1rem;}
.dm-lang__btn:hover{border-color:var(--dm-primary);color:var(--dm-primary)}
.dm-lang__menu{position:absolute;top:calc(100% + 8px);right:0;min-width:168px;list-style:none;margin:0;padding:6px;background:#fff;border:1px solid var(--dm-line);border-radius:var(--dm-radius);box-shadow:var(--dm-shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:90}
.dm-lang:hover .dm-lang__menu,.dm-lang:focus-within .dm-lang__menu,.dm-lang__menu.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.dm-lang__menu li{margin:0}
.dm-lang__menu a{display:block;padding:.5em .8em;border-radius:var(--dm-radius);font-family:var(--dm-font-body);font-weight:600;font-size:.9rem;color:var(--dm-ink)}
.dm-lang__menu a:hover{background:var(--dm-surface);color:var(--dm-primary)}
.dm-lang__menu a[aria-current="true"]{color:var(--dm-primary);font-weight:800}
@media (max-width:980px){.dm-lang__btn span{display:none}}
/* ---------- blog ---------- */
.dm-pcard__body h3 a{color:var(--dm-dark)}
.dm-pcard__body h3 a:hover{color:var(--dm-primary)}
.dm-postwrap{max-width:820px;margin:0 auto}
.dm-post__hero{margin-bottom:34px}
.dm-post__hero .dm-figure{aspect-ratio:16/7}
.dm-prose.dm-post{font-size:1.05rem;}
.dm-prose.dm-post p{margin:0 0 1.1em;line-height:1.72;color:var(--dm-ink)}
.dm-prose.dm-post h2{font-size:1.55rem;margin:1.5em 0 .5em;color:var(--dm-dark)}
.dm-prose.dm-post a{color:var(--dm-primary);font-weight:700;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.dm-prose.dm-post a:hover{color:var(--dm-primary-700)}
.dm-prose.dm-post strong{color:var(--dm-dark)}
.dm-more{margin-top:48px;border-top:3px solid var(--dm-dark);padding-top:28px}
.dm-more h2{font-size:1.3rem;margin-bottom:18px}
.dm-more__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.dm-morecard{display:flex;flex-direction:column;gap:8px;background:var(--dm-surface);border:1px solid var(--dm-line);padding:20px 22px;transition:border-color .16s,transform .16s}
.dm-morecard:hover{border-color:var(--dm-primary);transform:translateY(-3px)}
.dm-morecard__k{font-family:var(--dm-font-body);font-weight:700;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dm-primary)}
.dm-morecard__t{font-family:var(--dm-font-head);font-size:1.12rem;line-height:1.1;text-transform:uppercase;color:var(--dm-dark)}
@media (max-width:640px){.dm-more__grid{grid-template-columns:1fr}}


/* codex layout hardening: prevents mobile overflow, image distortion and cramped nav/buttons */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,picture,video,canvas,svg{max-width:100%;height:auto}
img{display:block}
a,button,input,textarea,select{max-width:100%}
h1,h2,h3,h4,p,li,a,button,span{overflow-wrap:break-word}
nav,header,[class*="-nav"],[class*="-menu"],[class*="-hero__btns"],.actions,[class*="-footer"]{min-width:0}
[class*="-wrap"],[class*="-container"]{max-width:min(1200px, calc(100vw - 24px))}
[class*="-grid"],[class*="grid"],[class*="-split"],[class*="-hero__grid"]{min-width:0}
[class*="-grid"]>* ,[class*="grid"]>* ,[class*="-split"]>* ,[class*="-hero__grid"]>*{min-width:0}
[class*="-btn"],.btn,.cta{white-space:normal;text-align:center}
[class*="-lang__menu"],.lang-menu{max-width:calc(100vw - 24px)}
@media (max-width: 760px){
  h1{font-size:2rem;}
  h2{font-size:1.55rem;}
  h3{font-size:1.16rem;}
  [class*="-hero__btns"],.actions{display:flex;flex-direction:column;align-items:stretch}
  [class*="-btn"],.btn,.cta{width:100%;justify-content:center}
  [class*="-hero__stats"],[class*="-stats"],[class*="-grid--3"],.cols-3{grid-template-columns:1fr}
}

/* captcha layout hotfix 20260608 */
form :where(div):has(> :where(.captcha-q, [data-captcha-q])) {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
}
form :where(.captcha-q, [data-captcha-q]) {
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
  min-width: max-content !important;
  line-height: 1.2 !important;
}
form :where(input[name="captcha"], input[name="captchaAnswer"], input[data-captcha-a]) {
  width: clamp(88px, 18vw, 128px) !important;
  max-width: 128px !important;
  min-width: 88px !important;
  flex: 0 0 clamp(88px, 18vw, 128px) !important;
  text-align: center !important;
}
@media (max-width: 520px) {
  form :where(input[name="captcha"], input[name="captchaAnswer"], input[data-captcha-a]) {
    width: 96px !important;
    max-width: 96px !important;
    min-width: 80px !important;
    flex-basis: 96px !important;
  }
}
