/* generated by uae/tools/build.mjs: self-hosted Manrope (OFL-1.1, LICENSE next to the files) */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-cyrillic-800-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-cyrillic-ext-400-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-cyrillic-ext-500-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-cyrillic-ext-700-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-cyrillic-ext-800-normal.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(/uae-meta-ads/static/fonts/manrope/manrope-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* DWE-P14-UAE-META — page styles. Engineering skeleton (Opus) + visual reconstruction of the four selected v4.1
 * previews (Fable): composition, scale, scenes, light, responsive reflow. Tokens, base and shared controls forked from
 * the DWE-P13 Israel page (8a9f7fc).
 * One file, dwe-* scoped classes, tokens in :root. Breakpoints: phone < 768 (base, designed at 390 / 360), tablet
 * >= 768, scope split >= 960, desktop >= 1024, wide >= 1200 (interlocked path diagram from 1280), reference 1440.
 * Floors (DESIGN_TOKENS): mobile body 18px/1.4, inputs >= 52px, primary CTA >= 56px, tap targets >= 44px.
 * Engineering hooks are data-* attributes (scripts/page.js); state classes: .is-inactive / .is-current / .is-invalid /
 * .is-on, [data-state], [data-gallery-mode], [data-lightbox-state], [data-header-mode], [data-channel].
 */

/* ============================================================ tokens */
:root {
  --dwe-font-family: 'Manrope';
  --dwe-font: var(--dwe-font-family), system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

  --dwe-white: #fff;
  --dwe-warm: #faf9f7;        /* DESIGN_TOKENS warm_white: process + contact fields */
  --dwe-cool: #fafbfc;        /* hero field (preview sample 250/251/252) */
  --dwe-ink: #111111;         /* DESIGN_TOKENS body */
  --dwe-graphite: #191b1c;    /* DESIGN_TOKENS graphite (scope band) */
  --dwe-graphite-art: #141b21;/* the graphite of the supplied scope art (mobile art lower part) */
  --dwe-muted: #626d83;       /* DESIGN_TOKENS muted: 5.2:1 on white */
  --dwe-primary: #ff1016;     /* DESIGN_TOKENS red: large headings / accents only (3.9:1 on white) */
  --dwe-btn: #e4060b;       /* white on it 4.7:1 (header CTA / phone CTA labels are small text) */
  --dwe-btn-hover: #ce0006;
  --dwe-btn-active: #b50005;
  --dwe-btn-disabled: #6f7585; /* sending state: white label 4.9:1 */
  --dwe-link: #cf0007;        /* red text links: 5.7:1 on white */
  --dwe-link-hover: #a80005;
  --dwe-focus: #1c4fc4;
  --dwe-focus-dark: #a9c2ff;  /* focus ring on the graphite band and in the viewer */
  --dwe-line: #d9dee8;
  --dwe-line-soft: #e6eaf1;
  --dwe-surface: #f6f7f9;
  --dwe-surface-press: #e3e8f2;
  --dwe-tint: #fff6f6;        /* red-tinted surfaces: open FAQ item, path source / destination */
  --dwe-error: #c40008;
  --dwe-placeholder: #62728f;
  --dwe-on-dark: #f4f4f2;
  --dwe-on-dark-muted: #d6d9dd;

  --dwe-radius: 16px;
  --dwe-radius-sm: 12px;
  --dwe-radius-xs: 10px;
  --dwe-shadow: 0 18px 44px rgba(9, 11, 16, .12), 0 2px 8px rgba(9, 11, 16, .06);
  --dwe-shadow-soft: 0 10px 28px rgba(9, 11, 16, .09), 0 1px 3px rgba(9, 11, 16, .05);
  --dwe-shadow-card: 0 6px 18px rgba(9, 11, 16, .07), 0 1px 2px rgba(9, 11, 16, .05);

  --dwe-gutter: 22px;          /* 22 at 390, 18 at 360 (LAYOUT) */
  --dwe-container: 1280px;
  --dwe-header-h: 60px;
  --dwe-header-full-min: 1100px;
  --dwe-section-y: 28px;

  --dwe-fs-h1: 37px;
  --dwe-fs-h2: 30px;
  --dwe-fs-h3: 20px;
  --dwe-fs-h4: 20px;
  --dwe-fs-lead: 18px;
  --dwe-fs-body: 18px;
  --dwe-fs-caption: 15px;
  --dwe-fs-micro: 12px;
  --dwe-fs-label: 15px;
  --dwe-fs-button: 18px;
  --dwe-fs-chip: 14px;
  --dwe-lh-head: 1.06;
  --dwe-lh-text: 1.4;
  --dwe-track-head: -.03em;

  --dwe-field-h: 52px;
  --dwe-cta-h: 56px;
  --dwe-touch: 44px;
  --dwe-ease: 180ms ease;
  --dwe-ease-fast: 120ms ease;
}
@media (max-width: 374.98px) { :root { --dwe-gutter: 18px; } }
@media (min-width: 768px) {
  :root {
    --dwe-gutter: 40px; --dwe-header-h: 68px; --dwe-section-y: 56px;
    --dwe-fs-h1: 54px; --dwe-fs-h2: 42px; --dwe-fs-h3: 24px; --dwe-fs-h4: 21px;
    --dwe-fs-lead: 20px; --dwe-fs-body: 18px; --dwe-fs-caption: 16px; --dwe-fs-label: 16px; --dwe-fs-button: 19px; --dwe-fs-chip: 17px;
  }
}
@media (min-width: 1024px) {
  :root {
    --dwe-gutter: 48px; --dwe-header-h: 76px; --dwe-section-y: 60px;
    --dwe-fs-h1: 52px; --dwe-fs-h2: 48px; --dwe-fs-h3: 26px; --dwe-fs-h4: 21px;
    --dwe-fs-lead: 22px; --dwe-fs-body: 20px; --dwe-fs-caption: 17px; --dwe-fs-micro: 13px; --dwe-fs-button: 21px; --dwe-fs-chip: 18px;
    --dwe-cta-h: 60px;
  }
}
@media (min-width: 1200px) {
  :root {
    --dwe-gutter: 64px; --dwe-header-h: 84px; --dwe-section-y: 64px;
    --dwe-fs-h1: clamp(60px, 5vw, 70px); --dwe-fs-h2: 56px; --dwe-fs-h3: 29px; --dwe-fs-h4: 23px;
    --dwe-fs-lead: 24px; --dwe-fs-body: 22px; --dwe-fs-caption: 18px; --dwe-fs-micro: 14px; --dwe-fs-label: 16px; --dwe-fs-button: 24px; --dwe-fs-chip: 20px;
    --dwe-cta-h: 64px;
  }
}
@media (min-width: 1440px) {
  :root { --dwe-gutter: 80px; --dwe-header-h: 88px; --dwe-fs-h1: 70px; --dwe-fs-h2: 60px; --dwe-fs-h3: 30px; }
}

/* ============================================================ base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
html.dwe-scroll-lock { scrollbar-gutter: stable; }
html.dwe-scroll-lock, html.dwe-scroll-lock body { overflow: hidden; }
body.dwe-page {
  margin: 0; background: var(--dwe-white); color: var(--dwe-ink); font-family: var(--dwe-font);
  font-size: var(--dwe-fs-body); line-height: var(--dwe-lh-text); overflow-x: clip;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
:where(.dwe-page) :where(h1, h2, h3, h4, p, figure, ul, ol, dl, dd, fieldset) { margin: 0; }
:where(.dwe-page) :where(ul, ol) { padding: 0; list-style: none; }
:where(.dwe-page) :where(fieldset) { padding: 0; border: 0; min-width: 0; }
:where(.dwe-page) :where(img) { max-width: 100%; height: auto; display: block; }
:where(.dwe-page) :where(a) { color: inherit; }
:where(.dwe-page) :where(button, input, textarea) { font: inherit; color: inherit; }
.dwe-page [hidden] { display: none !important; }
:where(.dwe-page) :where(:focus) { outline: none; }
:where(.dwe-page) :where(:focus-visible) { outline: 2px solid var(--dwe-focus); outline-offset: 2px; }
.dwe-main > section { scroll-margin-top: var(--dwe-header-real, var(--dwe-header-h)); }
.dwe-container { width: 100%; max-width: calc(var(--dwe-container) + 2 * var(--dwe-gutter)); margin: 0 auto; padding: 0 var(--dwe-gutter); }
.dwe-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.dwe-icon { flex: none; }
.dwe-v-mob { display: none; }
@media (max-width: 767.98px) { .dwe-v-desk { display: none; } .dwe-v-mob { display: inline; } }

/* ============================================================ typography roles */
.dwe-type-h1 { font-size: var(--dwe-fs-h1); line-height: 1.02; font-weight: 800; letter-spacing: -.045em; text-wrap: pretty; }
@media (min-width: 768px) { .dwe-type-h1 { letter-spacing: -.035em; } }
.dwe-type-h2 { font-size: var(--dwe-fs-h2); line-height: var(--dwe-lh-head); font-weight: 800; letter-spacing: var(--dwe-track-head); text-wrap: pretty; }
/* short columns (phones, tablets): balanced heading lines break at the phrase, not at the last word that fits; the
 * desktop breaks of the previews are the greedy ones (kept) */
@media (max-width: 1023.98px) { .dwe-type-h2 { text-wrap: balance; } }
.dwe-type-h3 { font-size: var(--dwe-fs-h3); line-height: 1.18; font-weight: 700; letter-spacing: -.02em; text-wrap: pretty; }
.dwe-type-h4 { font-size: var(--dwe-fs-h4); line-height: 1.3; font-weight: 700; letter-spacing: -.015em; }
.dwe-type-lead { font-size: var(--dwe-fs-lead); line-height: 1.36; font-weight: 400; }
.dwe-type-body { font-size: var(--dwe-fs-body); line-height: var(--dwe-lh-text); font-weight: 400; }
.dwe-type-caption { font-size: var(--dwe-fs-caption); line-height: 1.4; font-weight: 400; }
.dwe-type-micro { font-size: var(--dwe-fs-micro); line-height: 1.4; font-weight: 400; }
.dwe-type-label { font-size: var(--dwe-fs-label); line-height: 1.35; font-weight: 600; }
.dwe-type-chip { font-size: var(--dwe-fs-chip); line-height: 1.2; font-weight: 500; }
.dwe-type-link { font-size: var(--dwe-fs-body); font-weight: 500; }
.dwe-accent { color: var(--dwe-primary); }
.dwe-line { display: block; }
.dwe-line--narrow { display: inline; }
@media (max-width: 1023.98px) { .dwe-line--narrow { display: block; } }
.dwe-nobr { white-space: nowrap; }
.dwe-dash::before { content: ''; display: block; width: 60px; height: 5px; margin: 0 0 22px; border-radius: 1px; background: var(--dwe-primary); }
@media (max-width: 767.98px) { .dwe-dash::before { width: 50px; height: 4px; margin-bottom: 18px; } }

/* ============================================================ shared controls */
.dwe-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  min-height: var(--dwe-cta-h); padding: 12px 28px; border: 1px solid transparent; border-radius: var(--dwe-radius-sm);
  font-size: var(--dwe-fs-button); font-weight: 500; line-height: 1.2; letter-spacing: -.01em; text-decoration: none; text-align: center;
  cursor: pointer; transition: background-color var(--dwe-ease), box-shadow var(--dwe-ease), color var(--dwe-ease), border-color var(--dwe-ease), transform var(--dwe-ease-fast);
}
.dwe-btn--primary { background: var(--dwe-btn); color: var(--dwe-white); box-shadow: 0 12px 28px rgba(228, 6, 11, .22), 0 2px 6px rgba(228, 6, 11, .14); }
.dwe-btn--secondary { min-height: var(--dwe-touch); padding: 8px 18px; background: var(--dwe-white); border-color: var(--dwe-line); color: var(--dwe-ink); font-size: 16px; }
.dwe-btn .dwe-icon--arrow { width: 26px; height: 26px; transition: transform var(--dwe-ease); }
@media (min-width: 1200px) { .dwe-btn .dwe-icon--arrow { width: 30px; height: 30px; } }

/* ============================================================ header + menu */
.dwe-header { position: sticky; top: 0; z-index: 50; background: var(--dwe-white); transition: box-shadow var(--dwe-ease); }
.dwe-header.is-scrolled { box-shadow: 0 1px 0 rgba(9, 11, 16, .08), 0 6px 18px rgba(9, 11, 16, .06); }
.dwe-header__inner { display: flex; align-items: center; gap: 6px; min-height: var(--dwe-header-h); }
.dwe-logo { display: inline-flex; align-items: center; min-height: var(--dwe-touch); }
.dwe-logo__img { width: 136px; }
@media (max-width: 429.98px) { .dwe-logo__img { width: 116px; } }
.dwe-header__nav { display: none; }
.dwe-header__list { display: flex; gap: 4px; }
.dwe-header__list-link { position: relative; display: inline-flex; align-items: center; min-height: var(--dwe-touch); padding: 0 12px; text-decoration: none; font-size: 18px; font-weight: 500; color: var(--dwe-ink); white-space: nowrap; transition: color var(--dwe-ease); }
.dwe-header__list-link::after { content: ''; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 2px; border-radius: 1px; background: currentColor; opacity: 0; transition: opacity var(--dwe-ease); }
.dwe-locale { display: flex; align-items: center; gap: 0; }
.dwe-locale__link { position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: var(--dwe-touch); min-height: var(--dwe-touch); padding: 0 4px; text-decoration: none; font-size: 18px; font-weight: 600; letter-spacing: .01em; color: var(--dwe-muted); transition: color var(--dwe-ease); }
.dwe-locale__link.is-current { color: var(--dwe-link); }
.dwe-locale__link.is-current::after { content: ''; position: absolute; left: 10px; right: 10px; bottom: 8px; height: 2px; border-radius: 1px; background: var(--dwe-primary); }
.dwe-header__locale { margin-left: auto; }
.dwe-header__cta { display: inline-flex; flex: none; align-items: center; justify-content: center; min-height: var(--dwe-touch); padding: 0 18px; border-radius: 10px; background: var(--dwe-btn); color: var(--dwe-white); font-size: 16px; font-weight: 500; line-height: 1.2; text-decoration: none; white-space: nowrap; box-shadow: 0 6px 16px rgba(235, 5, 10, .18); transition: background-color var(--dwe-ease), box-shadow var(--dwe-ease), transform var(--dwe-ease-fast); }
.dwe-header__cta-short { display: none; }
@media (max-width: 767.98px) { .dwe-header__cta { padding: 0 11px; font-size: 14px; } .dwe-header__cta-long { display: none; } .dwe-header__cta-short { display: inline; } }
.dwe-header__menu-btn { display: inline-flex; align-items: center; justify-content: center; width: var(--dwe-touch); height: var(--dwe-touch); padding: 0; border: 0; border-radius: 10px; background: transparent; color: var(--dwe-ink); cursor: pointer; }
.dwe-header[data-header-mode="compact"] .dwe-header__nav,
.dwe-header[data-header-mode="minimal"] .dwe-header__nav,
.dwe-header[data-header-mode="minimal"] .dwe-header__locale { display: none; }
.dwe-header[data-header-mode="compact"] .dwe-header__menu-btn,
.dwe-header[data-header-mode="minimal"] .dwe-header__menu-btn { display: inline-flex; }
.dwe-header[data-header-mode="minimal"] .dwe-header__cta { margin-left: auto; }
.dwe-header.is-measuring .dwe-header__inner > * { flex-shrink: 0; }
@media (min-width: 768px) { .dwe-header__inner { gap: 12px; } .dwe-logo__img { width: 160px; } .dwe-locale { gap: 2px; } }
@media (min-width: 1024px) {
  .dwe-header__nav { display: flex; margin-left: auto; margin-right: auto; }
  .dwe-header__locale { margin-left: 0; }
  .dwe-header[data-header-mode="full"] .dwe-header__menu-btn { display: none; }
  .dwe-logo__img { width: 180px; }
}
@media (min-width: 1200px) {
  .dwe-logo__img { width: 212px; }
  .dwe-header__list { gap: 20px; }
  .dwe-header__list-link { font-size: 20px; font-weight: 400; }
  .dwe-locale__link { font-size: 20px; }
  .dwe-header__cta { margin-left: 16px; min-height: 48px; padding: 0 22px; font-size: 18px; }
}
.dwe-menu { position: fixed; inset: 0; z-index: 100; background: var(--dwe-white); overflow-y: auto; padding: 0 var(--dwe-gutter) 32px; display: flex; flex-direction: column; gap: 24px; }
.dwe-menu__top { display: flex; align-items: center; justify-content: space-between; min-height: var(--dwe-header-h); }
.dwe-menu__close { display: inline-flex; align-items: center; justify-content: center; width: var(--dwe-touch); height: var(--dwe-touch); border: 0; border-radius: 10px; background: transparent; cursor: pointer; }
.dwe-menu__list { display: flex; flex-direction: column; gap: 6px; }
.dwe-menu__list-link { display: flex; align-items: center; min-height: 56px; font-size: 30px; font-weight: 700; letter-spacing: -.025em; text-decoration: none; }
.dwe-menu__locale { gap: 8px; }
.dwe-menu__locale .dwe-locale__link { font-size: 22px; font-weight: 700; min-width: 56px; }
.dwe-menu__cta { align-self: stretch; }

/* ============================================================ hero */
.dwe-hero { position: relative; overflow: hidden; background: var(--dwe-cool); }
@media (min-width: 1024px) { .dwe-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(58% 60% at 84% 18%, rgba(247, 236, 200, .62), rgba(247, 236, 200, 0) 72%); pointer-events: none; } }
.dwe-hero__inner { display: flex; flex-direction: column; padding-top: 18px; padding-bottom: 0; }
.dwe-hero__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding-bottom: 22px; }
.dwe-hero__eyebrow { display: inline-flex; align-items: center; min-height: 38px; padding: 6px 15px; border: 1px solid rgba(255, 16, 22, .36); border-radius: 999px; background: var(--dwe-white); color: var(--dwe-link); box-shadow: 0 4px 14px rgba(235, 5, 10, .08); }
.dwe-hero__title { margin-top: 4px; }
.dwe-hero__accent { display: inline-block; vertical-align: top; max-width: 100%; }
.dwe-hero__body { margin-top: 4px; }
.dwe-hero__market { color: var(--dwe-muted); }
.dwe-hero__cta { align-self: stretch; margin-top: 8px; }
.dwe-hero__note { color: var(--dwe-muted); }
.dwe-hero__art { position: relative; margin: 0 calc(-1 * var(--dwe-gutter)); }
.dwe-hero__img { width: 100%; }
@media (min-width: 768px) and (max-width: 1023.98px) {
  .dwe-hero__inner { padding-top: 32px; }
  .dwe-hero__copy { max-width: 640px; gap: 16px; padding-bottom: 32px; }
  .dwe-hero__cta { align-self: flex-start; min-width: 420px; }
}
@media (min-width: 1024px) {
  .dwe-hero__inner { display: grid; grid-template-columns: minmax(0, 54%) minmax(0, 1fr); align-items: center; min-height: 640px; padding-top: 40px; padding-bottom: 0; }
  .dwe-hero__copy { position: relative; z-index: 1; gap: 18px; padding-bottom: 48px; }
  .dwe-hero__eyebrow { min-height: 38px; padding: 6px 15px; }
  .dwe-hero__body { max-width: 24.5em; margin-top: 2px; }
  .dwe-hero__cta { align-self: flex-start; min-width: 440px; margin-top: 10px; }
  /* the scene sits on the lower right, its own bottom edge on the section edge; the copy may run over its blurred
   * left margin but never over the phone (art left edge = phone left edge - 17% of the art width) */
  .dwe-hero__art { position: absolute; z-index: 0; top: auto; right: 0; bottom: 0; left: auto; width: min(560px, calc(100vw - 500px)); margin: 0; }
  .dwe-hero__img { width: 100%; height: auto; }
  /* The scene is shorter than the hero: its top edge (and the left edge under the copy) dissolve into the field through
   * a mask instead of a hard seam. Layers (top to bottom): the phone silhouette (SVG rounded rect in asset units,
   * 887 x 643) added back in full, so the phone's top is never ghosted; the left fade (20 %) intersected with the top
   * fade (10 % = 64 px at the reference width, above the man's hair at asset y 70). Nothing is painted over the art. */
  .dwe-hero__art {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 887 643'%3E%3Crect x='170' y='26' width='272' height='582' rx='40'/%3E%3C/svg%3E"), linear-gradient(90deg, rgba(0, 0, 0, 0) 0, #000 20%), linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 10%);
    -webkit-mask-size: var(--dwe-hero-mask-w, 100%) var(--dwe-hero-mask-h, 100%), 100% 100%, 100% 100%;
    -webkit-mask-position: 0 0; -webkit-mask-repeat: no-repeat; -webkit-mask-composite: source-over, source-in, source-over;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 887 643'%3E%3Crect x='170' y='26' width='272' height='582' rx='40'/%3E%3C/svg%3E"), linear-gradient(90deg, rgba(0, 0, 0, 0) 0, #000 20%), linear-gradient(180deg, rgba(0, 0, 0, 0) 0, #000 10%);
    mask-size: var(--dwe-hero-mask-w, 100%) var(--dwe-hero-mask-h, 100%), 100% 100%, 100% 100%;
    mask-position: 0 0; mask-repeat: no-repeat; mask-composite: add, intersect, add;
  }
}
@media (min-width: 1200px) {
  .dwe-hero__inner { grid-template-columns: minmax(0, 54%) minmax(0, 1fr); min-height: 800px; padding-top: 48px; }
  .dwe-hero__copy { gap: 22px; padding-bottom: 60px; }
  .dwe-hero__cta { min-width: 540px; }
  .dwe-hero__art { width: min(851px, calc(100vw - 589px)); }
}
@media (min-width: 1440px) {
  /* Reference composition: the scene at its native 887 x 643 px (no resampling), as far right as the baked caption
   * «Пример рекламного сценария» allows (its last pixel at asset x 843 -> page x 1427, 13 px inside the viewport); the
   * box is 856 px wide, so 31 px of the scene's right margin are cropped (cover, left-anchored) and nothing reaches past
   * the viewport. The headline keeps the preview's four lines («Реклама в Facebook» ends at x 735 at 70 px); the phone's
   * top (page y 311) sits below that line (y 232-303), its left bezel at x 754. */
  .dwe-hero__inner { min-height: 840px; }
  .dwe-hero__art { width: 856px; height: 643px; --dwe-hero-mask-w: 887px; --dwe-hero-mask-h: 643px; }
  .dwe-hero__img { height: 100%; object-fit: cover; object-position: 0 50%; }
}

/* ============================================================ benefits (unboxed columns) */
.dwe-benefits { padding: var(--dwe-section-y) 0; }
.dwe-benefits__title { margin-bottom: 26px; }
.dwe-benefits__list { display: grid; gap: 16px; }
.dwe-benefits__item { display: flex; flex-direction: column; gap: 6px; }
.dwe-benefits__item + .dwe-benefits__item { padding-top: 16px; border-top: 1px solid var(--dwe-line); }
.dwe-benefits__item-text { color: var(--dwe-muted); }
@media (min-width: 768px) {
  .dwe-benefits__title { margin-bottom: 36px; }
  .dwe-benefits__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .dwe-benefits__item { gap: 12px; padding: 4px 28px 8px; }
  .dwe-benefits__item:first-child { padding-left: 0; }
  .dwe-benefits__item + .dwe-benefits__item { padding-top: 4px; border-top: 0; border-left: 1px solid var(--dwe-line); }
}
@media (min-width: 1200px) {
  .dwe-benefits { padding: 54px 0 48px; }
  .dwe-benefits__title { margin-bottom: 44px; }
  .dwe-benefits__item { padding: 6px 40px 12px; }
  .dwe-benefits__item:first-child { padding-left: 0; }
}

/* ============================================================ scope (graphite band, SCOPE_CONSTRUCTION) */
.dwe-scope { position: relative; isolation: isolate; overflow: hidden; background: var(--dwe-graphite-art); color: var(--dwe-on-dark); }
.dwe-scope__art { position: absolute; z-index: -1; top: 0; left: 0; right: 0; }
.dwe-scope__art picture { display: block; width: 100%; }
.dwe-scope__img { width: 100%; height: auto; }
/* the lower edge of the art dissolves into the band's own graphite (mobile scene has a built-in fade; this seals it) */
.dwe-scope__art::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 22%; background: linear-gradient(180deg, rgba(20, 27, 33, 0), var(--dwe-graphite-art)); }
.dwe-scope__inner { position: relative; display: flex; flex-direction: column; padding-bottom: 34px; }
.dwe-scope__copy { display: flex; flex-direction: column; }
/* stage = the photo region: headline and lead at the top left, the scene caption at its lower edge (SCOPE_CONSTRUCTION
 * mobile: h2 [24,22], lead [24,155], caption y398, list from 410; the region grows when the text wraps more) */
.dwe-scope__stage { display: flex; flex-direction: column; justify-content: space-between; min-height: clamp(400px, 105vw, 760px); padding-top: 22px; }
.dwe-scope__head { display: flex; flex-direction: column; gap: 12px; }
.dwe-scope__title { max-width: 9.6em; text-shadow: 0 2px 18px rgba(0, 0, 0, .35); }
.dwe-scope__body { max-width: 15em; color: var(--dwe-on-dark); text-shadow: 0 1px 12px rgba(0, 0, 0, .45); }
.dwe-scope__caption { align-self: flex-end; margin-top: 16px; padding-bottom: 2px; color: var(--dwe-on-dark-muted); text-align: right; text-shadow: 0 1px 6px rgba(0, 0, 0, .6); }
.dwe-scope__list { display: flex; flex-direction: column; }
.dwe-scope__row { display: flex; flex-direction: column; gap: 1px; padding: 8px 0 9px; border-bottom: 1px solid rgba(255, 255, 255, .24); }
.dwe-scope__term { color: var(--dwe-white); }
.dwe-scope__desc { color: var(--dwe-on-dark-muted); line-height: 1.35; }
.dwe-scope__note { margin-top: 14px; color: var(--dwe-on-dark-muted); font-size: 17px; line-height: 1.4; }
@media (max-width: 959.98px) {
  .dwe-scope__art { max-width: 720px; margin: 0 auto; }
  .dwe-scope__copy { max-width: 600px; }
}
@media (min-width: 600px) and (max-width: 959.98px) {
  .dwe-scope__stage { min-height: min(105vw, 720px); padding-top: 36px; }
  .dwe-scope__title { max-width: 12em; }
  .dwe-scope__body { max-width: 20em; }
}
@media (min-width: 960px) {
  .dwe-scope { background: var(--dwe-graphite); }
  .dwe-scope__art { inset: 0; max-width: none; margin: 0; }
  .dwe-scope__art picture, .dwe-scope__img { width: 100%; height: 100%; }
  /* the scene is cropped on the left below the reference width (the specialist and the drafts stay on the right);
   * a soft graphite scrim keeps the copy on a dark readable field where the drafts come under the ledger */
  .dwe-scope__img { object-fit: cover; object-position: 0 45%; }
  /* copy side: horizontal scrim + a soft dark pool under the ledger tail / note (the printed sheets start there) */
  .dwe-scope__art::after { inset: 0; width: auto; height: auto; background: linear-gradient(90deg, rgba(20, 27, 33, .6) 0%, rgba(20, 27, 33, .56) 58%, rgba(20, 27, 33, 0) 100%) left top / 56% 100% no-repeat, radial-gradient(ellipse 50% 42% at 24% 78%, rgba(20, 27, 33, .55), rgba(20, 27, 33, 0) 72%) left top / 100% 100% no-repeat; }
  .dwe-scope__inner { min-height: 700px; padding-top: 72px; padding-bottom: 24px; }
  .dwe-scope__copy { flex: 1 1 auto; }
  .dwe-scope__stage { display: block; min-height: 0; padding-top: 0; }
  .dwe-scope__head { gap: 16px; }
  .dwe-scope__title { max-width: 15.5em; font-size: 44px; line-height: 1.06; text-shadow: none; }
  .dwe-scope__body { max-width: 30em; color: var(--dwe-on-dark); text-shadow: none; }
  /* the caption crosses the printed sheets at the bottom right: graphite backing keeps it readable on paper */
  .dwe-scope__caption { position: absolute; right: var(--dwe-gutter); bottom: 18px; margin: 0; padding: 5px 10px; border-radius: 6px; background: rgba(20, 27, 33, .74); color: #e6e8eb; text-shadow: none; }
  .dwe-scope__list { max-width: 440px; margin-top: 26px; }
  .dwe-scope__row { gap: 2px; padding: 9px 0 10px; }
  .dwe-scope__term { font-size: 21px; line-height: 1.3; }
  .dwe-scope__desc { font-size: 19px; line-height: 1.35; }
  .dwe-scope__note { max-width: 24em; margin-top: 22px; font-size: 18px; line-height: 1.4; }
}
@media (min-width: 1200px) {
  .dwe-scope__img { object-position: 15% 45%; }
  .dwe-scope__art::after { background: linear-gradient(90deg, rgba(20, 27, 33, .5) 0%, rgba(20, 27, 33, .46) 62%, rgba(20, 27, 33, 0) 100%) left top / 60% 100% no-repeat, radial-gradient(ellipse 50% 42% at 24% 78%, rgba(20, 27, 33, .55), rgba(20, 27, 33, 0) 72%) left top / 100% 100% no-repeat; }
  .dwe-scope__inner { min-height: 860px; padding-top: 108px; padding-bottom: 26px; }
  .dwe-scope__head { gap: 20px; }
  .dwe-scope__title { max-width: 16.5em; font-size: 52px; line-height: 58px; }
  .dwe-scope__body { max-width: 36em; font-size: 24px; line-height: 32px; }
  /* ledger_box: ~700 px wide, title 49% / explanation 51%; explanations smaller than the titles, may wrap to two lines */
  .dwe-scope__list { max-width: 640px; margin-top: 30px; }
  .dwe-scope__row { display: grid; grid-template-columns: 49% 51%; column-gap: 12px; align-items: baseline; padding: 13px 0 14px; }
  .dwe-scope__term { font-size: 22px; line-height: 28px; }
  .dwe-scope__desc { font-size: 19px; line-height: 26px; }
  .dwe-scope__note { max-width: 31em; margin-top: 24px; font-size: 20px; line-height: 28px; }
}
@media (min-width: 1440px) {
  /* reference composition: the whole scene, focal point x75% y45% (SCOPE_CONSTRUCTION) */
  .dwe-scope__img { object-position: 75% 45%; }
  .dwe-scope__art::after { background: linear-gradient(90deg, rgba(20, 27, 33, .4) 0%, rgba(20, 27, 33, .36) 60%, rgba(20, 27, 33, 0) 100%) left top / 52% 100% no-repeat, radial-gradient(ellipse 50% 42% at 24% 78%, rgba(20, 27, 33, .5), rgba(20, 27, 33, 0) 72%) left top / 100% 100% no-repeat; }
  .dwe-scope__title { font-size: 54px; line-height: 60px; }
  .dwe-scope__list { max-width: 700px; }
  .dwe-scope__row { padding: 14px 0 15px; }
  .dwe-scope__term { font-size: 23px; line-height: 29px; }
  .dwe-scope__desc { font-size: 20px; line-height: 27px; }
}

/* ============================================================ path (explanatory diagram, DIAGRAM_SPEC) */
.dwe-path { padding: var(--dwe-section-y) 0 calc(var(--dwe-section-y) * .7); }
.dwe-path__inner { display: grid; gap: 26px; }
.dwe-path__copy { display: flex; flex-direction: column; gap: 14px; }
.dwe-path__body { color: var(--dwe-muted); }
.dwe-path__diagram { position: relative; }
.dwe-path__lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.dwe-path__edge { fill: none; stroke: var(--dwe-primary); stroke-width: 1.8; }
.dwe-path__dot { fill: var(--dwe-primary); }
.dwe-path__flow { position: relative; display: flex; flex-direction: column; align-items: center; gap: 26px; }
.dwe-path__step { min-width: 0; }
.dwe-path__step--alts { width: 100%; }
.dwe-path__alts { display: flex; align-items: stretch; gap: 8px; }
.dwe-path__alts > li { flex: 1 1 0; min-width: 0; }
.dwe-path__alts > .dwe-path__or { flex: 0 0 auto; display: flex; align-items: center; color: var(--dwe-muted); font-size: 15px; }
.dwe-path__node { display: inline-flex; align-items: center; gap: 8px; width: 100%; min-height: 54px; padding: 8px 10px 8px 12px; border: 1px solid var(--dwe-line); border-radius: 12px; background: var(--dwe-white); box-shadow: var(--dwe-shadow-card); font-size: 16px; font-weight: 500; line-height: 1.25; letter-spacing: -.01em; }
.dwe-path__node .dwe-icon { color: var(--dwe-primary); width: 24px; height: 24px; }
.dwe-path__node--source, .dwe-path__node--dest { width: auto; min-width: 176px; gap: 10px; padding: 10px 16px; border-color: rgba(255, 16, 22, .5); background: var(--dwe-tint); font-size: 18px; font-weight: 700; letter-spacing: -.015em; }
.dwe-path__node--source .dwe-icon, .dwe-path__node--dest .dwe-icon { width: 28px; height: 28px; }
.dwe-path__node--alt { gap: 6px; padding: 8px 8px 8px 9px; font-size: 15px; }
.dwe-path__node--alt .dwe-icon { width: 20px; height: 20px; }
@media (max-width: 374.98px) { .dwe-path__node--alt { padding: 8px 6px 8px 8px; font-size: 14px; } .dwe-path__alts { gap: 6px; } }
.dwe-path__node--source, .dwe-path__node--dest { font-size: 17px; }
.dwe-path__node--source .dwe-icon, .dwe-path__node--dest .dwe-icon { width: 26px; height: 26px; }
.dwe-path__step--dest { position: relative; width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: 'node bubble'; align-items: center; column-gap: 8px; }
.dwe-path__node--dest { grid-area: node; justify-self: start; }
.dwe-path__bubble { position: relative; grid-area: bubble; justify-self: start; max-width: 100%; padding: 10px 12px; border-radius: 14px; background: var(--dwe-white); box-shadow: var(--dwe-shadow-soft); font-size: 13px; line-height: 1.3; }
.dwe-path__bubble::after { content: ''; position: absolute; left: 10px; bottom: -8px; width: 14px; height: 14px; background: var(--dwe-white); clip-path: polygon(0 0, 100% 0, 0 100%); }
.dwe-path__note { display: block; margin-top: 22px; color: var(--dwe-muted); }
@media (min-width: 480px) and (max-width: 1023.98px) {
  .dwe-path__diagram { max-width: 560px; }
  .dwe-path__alts { gap: 14px; }
  .dwe-path__node, .dwe-path__node--alt { gap: 10px; padding: 10px 14px; font-size: 17px; }
  .dwe-path__node--alt .dwe-icon { width: 24px; height: 24px; }
  .dwe-path__node--source, .dwe-path__node--dest { font-size: 18px; }
  .dwe-path__node--source .dwe-icon, .dwe-path__node--dest .dwe-icon { width: 28px; height: 28px; }
  .dwe-path__bubble { font-size: 15px; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .dwe-path__diagram { margin: 0 auto; }
  .dwe-path__step--dest { grid-template-columns: auto minmax(0, 300px); }
}
/* desktop: horizontal flow source -> two alternatives (stacked) -> destination; bubble above and note below the team */
@media (min-width: 1024px) {
  .dwe-path__inner { grid-template-rows: auto auto; gap: 28px; }
  .dwe-path__copy { max-width: 760px; }
  .dwe-path__diagram { display: grid; grid-template-columns: minmax(0, 1fr) 330px; row-gap: 16px; max-width: none; }
  .dwe-path__flow { grid-column: 1 / 3; flex-direction: row; align-items: center; justify-content: space-between; gap: 0; }
  .dwe-path__step--source { flex: none; margin-right: 56px; }
  .dwe-path__step--alts { flex: 0 1 300px; }
  .dwe-path__alts { flex-direction: column; justify-content: flex-end; gap: 56px; }
  .dwe-path__alts > .dwe-path__or { display: none; }
  .dwe-path__step--dest { flex: 0 0 330px; margin-left: 86px; display: grid; grid-template-columns: 1fr; grid-template-areas: 'bubble' 'node'; row-gap: 0; }
  .dwe-path__node, .dwe-path__node--alt { min-height: 90px; padding: 14px 22px; font-size: 21px; gap: 14px; }
  .dwe-path__node .dwe-icon, .dwe-path__node--alt .dwe-icon { width: 32px; height: 32px; }
  .dwe-path__node--source, .dwe-path__node--dest { min-height: 72px; min-width: 230px; padding: 14px 24px; font-size: 22px; }
  .dwe-path__node--source .dwe-icon, .dwe-path__node--dest .dwe-icon { width: 32px; height: 32px; }
  .dwe-path__node--dest { min-height: 80px; justify-self: start; }
  .dwe-path__bubble { margin-bottom: 44px; padding: 14px 22px; font-size: 20px; border-radius: 18px; box-shadow: var(--dwe-shadow); }
  .dwe-path__bubble::after { left: 58%; bottom: -10px; width: 18px; height: 18px; clip-path: polygon(0 0, 100% 0, 50% 100%); }
  .dwe-path__note { grid-column: 2; margin-top: 0; max-width: 320px; font-size: 20px; line-height: 1.4; }
}
/* >= 1280 with subgrid: the preview's interlocked composition — copy top left, the source node tucked under it, the
 * alternatives and the team to the right, the bubble level with the heading. Columns: copy | source | gap | alts | gap |
 * team; rows: copy / bubble / messages, source / landing / team / note, note overflow. */
@supports (grid-template-rows: subgrid) {
  @media (min-width: 1280px) {
    .dwe-path { padding-top: 44px; padding-bottom: 36px; }
    .dwe-path__inner { grid-template-columns: minmax(250px, 345px) minmax(200px, 230px) minmax(40px, 56px) minmax(236px, 263px) minmax(48px, 90px) minmax(270px, 300px); grid-template-rows: auto auto auto; row-gap: 20px; column-gap: 0; align-items: start; }
    .dwe-path__copy { grid-column: 1 / 4; grid-row: 1; max-width: none; padding-right: 0; }
    .dwe-path__title { font-size: 50px; }
    .dwe-path__diagram { grid-column: 2 / 7; grid-row: 1 / 4; display: grid; grid-template-columns: subgrid; grid-template-rows: subgrid; }
    .dwe-path__flow { grid-column: 1 / 6; grid-row: 1 / 4; display: grid; grid-template-columns: subgrid; grid-template-rows: subgrid; align-items: start; justify-content: stretch; }
    .dwe-path__step--source { grid-column: 1; grid-row: 2; align-self: start; margin: 0; padding-top: 0; }
    .dwe-path__step--alts { grid-column: 3; grid-row: 1 / 3; align-self: stretch; flex: none; display: flex; flex-direction: column; justify-content: flex-end; }
    .dwe-path__alts { gap: 48px; }
    .dwe-path__step--dest { grid-column: 5; grid-row: 1 / 3; flex: none; margin: 0; display: grid; grid-template-rows: subgrid; grid-template-columns: 1fr; grid-template-areas: none; }
    .dwe-path__bubble { grid-area: auto; grid-column: 1; grid-row: 1; align-self: start; justify-self: start; margin: 0; }
    .dwe-path__node--dest { grid-area: auto; grid-column: 1; grid-row: 1 / 3; align-self: center; margin-top: 44px; }
    .dwe-path__note { grid-column: 5; grid-row: 2 / 4; align-self: start; margin-top: 12px; }
  }
  /* below the reference width the copy cell is narrower: keep air between the lead and the alternatives column */
  @media (min-width: 1280px) and (max-width: 1439.98px) {
    .dwe-path__copy { padding-right: 20px; }
  }
  @media (min-width: 1440px) {
    .dwe-path__inner { grid-template-columns: 345px 230px 56px 263px 90px 300px; }
  }
}

/* ============================================================ extras */
.dwe-extras { padding: 0 0 var(--dwe-section-y); border-top: 1px solid var(--dwe-line); }
.dwe-extras > .dwe-container { padding-top: calc(var(--dwe-section-y) * .8); }
.dwe-extras__body { margin-top: 12px; color: var(--dwe-muted); }
.dwe-extras__list { display: grid; gap: 16px; margin-top: 22px; }
.dwe-extras__item { display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 16px; row-gap: 3px; align-items: start; }
.dwe-extras__icon { grid-row: span 2; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; color: var(--dwe-primary); }
.dwe-extras__icon .dwe-icon { width: 40px; height: 40px; }
.dwe-extras__item-text { color: var(--dwe-muted); }
@media (min-width: 768px) {
  .dwe-extras__body { margin-top: 14px; }
  .dwe-extras__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 34px; }
  .dwe-extras__item { display: flex; flex-direction: column; gap: 12px; padding: 4px 28px 8px; }
  .dwe-extras__item:first-child { padding-left: 0; }
  .dwe-extras__item + .dwe-extras__item { border-left: 1px solid var(--dwe-line); }
  .dwe-extras__icon { display: none; }
}
@media (min-width: 1200px) {
  .dwe-extras { padding-bottom: 40px; }
  .dwe-extras > .dwe-container { padding-top: 20px; }
  .dwe-extras__body { margin-top: 14px; }
  .dwe-extras__list { margin-top: 32px; }
  .dwe-extras__item { padding: 6px 40px 12px; }
  .dwe-extras__item:first-child { padding-left: 0; }
}

/* ============================================================ work (compact gallery: row | tabs) */
.dwe-work { padding: 0 0 var(--dwe-section-y); border-top: 1px solid var(--dwe-line); }
.dwe-work > .dwe-container { padding-top: calc(var(--dwe-section-y) * .8); }
.dwe-work__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; margin-bottom: 20px; }
.dwe-work__meta { color: var(--dwe-muted); }
.dwe-gallery { position: relative; }
.dwe-gallery__tabs { display: flex; gap: 8px; margin-bottom: 16px; }
.dwe-gallery__tab { flex: 1 1 auto; min-width: 0; min-height: var(--dwe-touch); padding: 8px 8px; border: 1px solid var(--dwe-line); border-radius: 12px; background: var(--dwe-white); font-size: 14px; font-weight: 500; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; transition: border-color var(--dwe-ease), color var(--dwe-ease), background-color var(--dwe-ease); }
.dwe-gallery__tab[aria-selected="true"] { border-color: var(--dwe-primary); color: var(--dwe-link); background: var(--dwe-tint); }
@media (max-width: 374.98px) { .dwe-gallery__tab { font-size: 13px; padding: 8px 6px; } }
.dwe-gallery__list { position: relative; display: grid; }
.dwe-gallery__card { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dwe-gallery__frame { overflow: hidden; aspect-ratio: 346 / 136; border: 1px solid var(--dwe-line-soft); border-radius: 12px; background: var(--dwe-surface); box-shadow: var(--dwe-shadow-card); cursor: zoom-in; transition: box-shadow var(--dwe-ease); }
.dwe-gallery__img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; }
.dwe-gallery__name { margin-top: 12px; }
.dwe-gallery__caption { color: var(--dwe-muted); }
.dwe-gallery__open { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; min-height: var(--dwe-touch); padding: 0; border: 0; background: none; color: var(--dwe-link); cursor: pointer; text-align: left; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 4px; transition: color var(--dwe-ease), text-decoration-color var(--dwe-ease); }
.dwe-gallery__controls { display: none; align-items: center; justify-content: flex-end; gap: 6px; }
.dwe-gallery__arrow { display: inline-flex; align-items: center; justify-content: center; width: var(--dwe-touch); height: var(--dwe-touch); border: 1px solid var(--dwe-line); border-radius: 50%; background: var(--dwe-white); color: var(--dwe-muted); cursor: pointer; transition: background-color var(--dwe-ease), border-color var(--dwe-ease), box-shadow var(--dwe-ease), color var(--dwe-ease); }
.dwe-gallery__arrow[data-gallery-next] { border-color: var(--dwe-primary); color: var(--dwe-link); }
.dwe-gallery__count { min-width: 40px; text-align: center; color: var(--dwe-muted); font-size: 15px; font-variant-numeric: tabular-nums; }
.dwe-gallery__count-sep { margin: 0 2px; }
.dwe-work__note { margin-top: 18px; color: var(--dwe-muted); font-size: 15px; }
/* tabs mode (phones and small tablets, < 900): one card at a time, all cards in one grid cell (no height jump), soft
 * cross-fade; the link is pinned to the cell's bottom edge so the arrows never cover it whatever the caption length */
@media (max-width: 899.98px) {
  .dwe-gallery__list { grid-template-areas: 'card'; }
  .dwe-gallery__card { grid-area: card; padding-right: 0; transition: opacity 180ms ease, visibility 0s linear 0s; }
  .dwe-gallery__card.is-inactive { opacity: 0; visibility: hidden; transition: opacity 180ms ease, visibility 0s linear 180ms; }
  .dwe-gallery__open { margin-top: auto; }
  .dwe-gallery__name { padding-right: 150px; }
  .dwe-gallery__caption::before { content: ''; float: right; width: 146px; height: 22px; }
  .dwe-gallery__controls { display: flex; position: absolute; right: 0; bottom: 52px; }
}
@media (min-width: 768px) and (max-width: 899.98px) {
  .dwe-gallery__tabs { gap: 12px; margin-bottom: 20px; }
  .dwe-gallery__tab { flex: 0 1 auto; padding: 8px 20px; font-size: 16px; }
  .dwe-gallery__frame { aspect-ratio: 16 / 7; }
  .dwe-gallery__img { object-position: 50% 0; }
}
@media (min-width: 768px) {
  .dwe-gallery__name { margin-top: 14px; }
  .dwe-work__note { margin-top: 22px; font-size: var(--dwe-fs-caption); }
}
@media (min-width: 900px) {
  .dwe-gallery__tabs { display: none; }
  .dwe-gallery__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
  .dwe-gallery__frame { aspect-ratio: 17 / 10; }
  .dwe-gallery__img { object-position: 50% 0; }
  /* the Steel House crop is very wide (RTL site, logo at the right end): keep its right edge */
  .dwe-gallery__card[data-project="steel"] .dwe-gallery__img { object-position: 100% 0; }
}
@media (min-width: 1200px) {
  .dwe-work { padding-bottom: 40px; }
  .dwe-work > .dwe-container { padding-top: 20px; }
  .dwe-work__head { margin-bottom: 22px; }
  .dwe-gallery__list { gap: 30px; }
  .dwe-gallery__card { gap: 4px; }
  .dwe-gallery__name { margin-top: 14px; font-size: 26px; }
  .dwe-gallery__open { font-size: var(--dwe-fs-body); }
  .dwe-work__note { margin-top: 18px; font-size: 20px; }
}

/* ============================================================ process */
.dwe-process { padding: var(--dwe-section-y) 0; background: var(--dwe-warm); }
.dwe-process__title { margin-bottom: 26px; }
.dwe-process__list { display: grid; gap: 18px; }
.dwe-process__item { display: flex; flex-direction: column; gap: 6px; }
.dwe-process__item-text, .dwe-process__term-text { color: var(--dwe-muted); }
.dwe-process__terms { display: grid; gap: 18px; margin-top: 18px; }
.dwe-process__term { display: flex; flex-direction: column; gap: 6px; }
@media (min-width: 768px) {
  .dwe-process__title { margin-bottom: 36px; }
  .dwe-process__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .dwe-process__item { gap: 12px; padding: 4px 28px 8px; }
  .dwe-process__item:first-child { padding-left: 0; }
  .dwe-process__item + .dwe-process__item { border-left: 1px solid var(--dwe-line); }
  .dwe-process__terms { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin-top: 30px; padding-top: 30px; border-top: 1px solid var(--dwe-line); }
  .dwe-process__term { gap: 12px; padding: 4px 32px 4px 0; }
  .dwe-process__term + .dwe-process__term { padding: 4px 0 4px 48px; border-left: 1px solid var(--dwe-line); }
}
@media (min-width: 1200px) {
  .dwe-process { padding: 52px 0 44px; }
  .dwe-process__title { margin-bottom: 36px; }
  .dwe-process__item { padding: 4px 40px 8px; }
  .dwe-process__item:first-child { padding-left: 0; }
  .dwe-process__terms { margin-top: 28px; padding-top: 30px; }
  .dwe-process__term { padding-right: 48px; }
  .dwe-process__term + .dwe-process__term { padding-left: 56px; }
}

/* ============================================================ faq (native details) */
.dwe-faq { padding: var(--dwe-section-y) 0 calc(var(--dwe-section-y) * .8); }
.dwe-faq__title { margin-bottom: 22px; }
.dwe-faq__list { display: flex; flex-direction: column; gap: 12px; }
.dwe-faq__item { border: 1px solid var(--dwe-line); border-radius: 12px; background: var(--dwe-white); transition: border-color var(--dwe-ease), box-shadow var(--dwe-ease), background-color var(--dwe-ease); }
.dwe-faq__item[open] { border-color: var(--dwe-primary); background: #fefafa; box-shadow: 0 6px 18px rgba(255, 16, 22, .05); }
.dwe-faq__toggle { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; min-height: 60px; padding: 15px 18px; border-radius: 12px; cursor: pointer; list-style: none; transition: background-color var(--dwe-ease); }
.dwe-faq__toggle::-webkit-details-marker { display: none; }
.dwe-faq__toggle::marker { content: ''; }
.dwe-faq__q { flex: 1 1 auto; min-width: 0; }
.dwe-faq__toggle:focus-visible { outline-offset: -3px; }
.dwe-faq__icon { position: relative; flex: none; width: 22px; height: 22px; margin-top: 2px; }
.dwe-faq__icon::before, .dwe-faq__icon::after { content: ''; position: absolute; left: 0; top: 10px; width: 22px; height: 2px; border-radius: 2px; background: var(--dwe-ink); }
.dwe-faq__item[open] .dwe-faq__icon::before, .dwe-faq__item[open] .dwe-faq__icon::after { background: var(--dwe-primary); }
.dwe-faq__icon::after { transform: rotate(90deg); transition: transform 200ms ease; }
.dwe-faq__item[open] > .dwe-faq__toggle .dwe-faq__icon::after { transform: rotate(0deg); }
.dwe-faq__a { color: var(--dwe-muted); }
.dwe-faq__a-body { padding: 0 18px 18px; }
.dwe-faq__item { interpolate-size: allow-keywords; }
.dwe-faq__item::details-content { block-size: 0; overflow: hidden; transition: block-size 200ms ease, content-visibility 200ms allow-discrete; }
.dwe-faq__item[open]::details-content { block-size: auto; }
@media (min-width: 768px) {
  .dwe-faq__title { margin-bottom: 28px; }
  .dwe-faq__list { gap: 14px; }
  .dwe-faq__toggle { padding: 18px 24px; }
  .dwe-faq__a-body { padding: 0 24px 20px; }
  .dwe-faq__icon { margin-top: 4px; }
}
@media (min-width: 1200px) {
  .dwe-faq { padding: 52px 0 40px; }
  .dwe-faq__title { margin-bottom: 28px; }
  .dwe-faq__toggle { min-height: 72px; padding: 20px 30px; }
  .dwe-faq__q { font-size: 23px; }
  .dwe-faq__a-body { margin-top: -8px; padding: 0 30px 22px; }
  .dwe-faq__icon { width: 24px; height: 24px; margin-top: 4px; }
  .dwe-faq__icon::before, .dwe-faq__icon::after { width: 24px; top: 11px; }
}

/* ============================================================ contact (format + form) */
.dwe-contact { padding: var(--dwe-section-y) 0; background: var(--dwe-warm); }
.dwe-contact__inner { display: grid; gap: 28px; }
.dwe-contact__intro { display: flex; flex-direction: column; gap: 16px; }
.dwe-contact__title:focus-visible { outline-offset: 6px; }
.dwe-contact__body { color: var(--dwe-muted); }
.dwe-format { margin-top: 6px; }
.dwe-format__options { display: grid; gap: 10px; }
.dwe-format__option { position: relative; display: block; }
.dwe-format__input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.dwe-format__label { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 10px 18px; border: 1px solid var(--dwe-line); border-radius: 12px; background: var(--dwe-white); font-size: 17px; font-weight: 500; text-align: center; transition: border-color var(--dwe-ease), color var(--dwe-ease), background-color var(--dwe-ease), box-shadow var(--dwe-ease); }
.dwe-format__input:checked + .dwe-format__label { border-color: var(--dwe-primary); box-shadow: inset 0 0 0 1px var(--dwe-primary); color: var(--dwe-link); background: var(--dwe-white); }
.dwe-format__input:focus-visible + .dwe-format__label { outline: 2px solid var(--dwe-focus); outline-offset: 2px; }
.dwe-contact__card { min-width: 0; }
.dwe-form { display: grid; gap: 12px; }
.dwe-form__alert { padding: 12px 16px; border-left: 3px solid var(--dwe-error); border-radius: var(--dwe-radius-xs); background: #fdeeee; color: var(--dwe-error); font-weight: 600; }
.dwe-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dwe-field__label { display: block; color: var(--dwe-ink); }
.dwe-req { color: var(--dwe-primary); margin-left: 1px; }
.dwe-opt { color: var(--dwe-muted); font-weight: 400; }
.dwe-field__input { width: 100%; min-height: var(--dwe-field-h); padding: 12px 16px; border: 1px solid #d3d8e2; border-radius: var(--dwe-radius-xs); background: var(--dwe-white); font-size: max(16px, var(--dwe-fs-label)); line-height: 1.4; color: var(--dwe-ink); transition: border-color var(--dwe-ease), box-shadow var(--dwe-ease), background-color var(--dwe-ease); }
.dwe-field__input::placeholder { color: var(--dwe-placeholder); opacity: 1; }
.dwe-field__input:focus-visible { outline: 2px solid var(--dwe-focus); outline-offset: 2px; border-color: var(--dwe-focus); }
.dwe-field__input--area { min-height: 84px; resize: vertical; }
.dwe-field.is-invalid .dwe-field__input { border-color: var(--dwe-error); box-shadow: 0 0 0 1px var(--dwe-error); }
.dwe-field__hint { color: var(--dwe-muted); }
.dwe-field__error { color: var(--dwe-error); font-weight: 500; }
/* channel radio group (owner reference: separate radio buttons in a row, no preselection, contact field below) */
.dwe-channel { display: flex; flex-direction: column; gap: 6px; }
.dwe-channel > legend { padding: 0; margin-bottom: 6px; }
.dwe-channel__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.dwe-channel__option { position: relative; display: block; min-width: 0; }
.dwe-channel__input { position: absolute; left: 12px; top: 50%; width: 20px; height: 20px; margin: -10px 0 0; accent-color: var(--dwe-btn); cursor: pointer; }
.dwe-channel__label { display: flex; align-items: center; min-height: var(--dwe-field-h); padding: 10px 12px 10px 40px; border: 1px solid #d3d8e2; border-radius: var(--dwe-radius-xs); background: var(--dwe-white); font-size: 16px; white-space: nowrap; cursor: pointer; transition: border-color var(--dwe-ease), background-color var(--dwe-ease), box-shadow var(--dwe-ease); }
.dwe-channel__input:checked + .dwe-channel__label { border-color: var(--dwe-primary); box-shadow: inset 0 0 0 1px var(--dwe-primary); color: var(--dwe-link); font-weight: 600; }
.dwe-channel__input:focus-visible { outline: 2px solid var(--dwe-focus); outline-offset: 2px; }
.dwe-channel.is-invalid .dwe-channel__label { border-color: var(--dwe-error); }
.dwe-consent { display: flex; flex-direction: column; }
.dwe-consent__row { display: flex; align-items: flex-start; gap: 12px; min-height: var(--dwe-touch); cursor: pointer; }
.dwe-consent__box { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--dwe-btn); cursor: pointer; }
.dwe-consent__label { color: var(--dwe-ink); }
.dwe-consent__link { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.dwe-consent.is-invalid .dwe-consent__box { outline: 2px solid var(--dwe-error); outline-offset: 2px; }
.dwe-form__submit { width: 100%; }
.dwe-form[data-state="sending"] .dwe-form__submit { cursor: progress; }
.dwe-form[data-state="sending"] .dwe-form__submit .dwe-icon--arrow { display: none; }
.dwe-form[data-state="sending"] .dwe-form__submit::after { content: ''; flex: none; width: 22px; height: 22px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .38); border-top-color: var(--dwe-white); animation: dwe-spin 900ms linear infinite; }
@keyframes dwe-spin { to { transform: rotate(360deg); } }
.dwe-form__status { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; padding: 12px 16px; border-radius: var(--dwe-radius-xs); background: #fdeeee; color: var(--dwe-ink); }
.dwe-form[data-state="unknown"] .dwe-form__status { background: #fff7e6; }
.dwe-form__edit { min-height: var(--dwe-touch); padding: 0; border: 0; background: none; color: var(--dwe-link); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; font-size: 16px; }
.dwe-form-success { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 24px 24px 24px 84px; border-radius: var(--dwe-radius); background: var(--dwe-white); box-shadow: var(--dwe-shadow-soft); }
.dwe-form-success::before { content: ''; position: absolute; left: 24px; top: 24px; width: 44px; height: 44px; border-radius: 50%; background: #e4f5ea url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23138a3f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 24px no-repeat; }
.dwe-form-success__receipt { color: var(--dwe-muted); }
.dwe-form-success__back { align-self: flex-start; display: inline-flex; align-items: center; min-height: var(--dwe-touch); color: var(--dwe-link); }
@media (min-width: 768px) {
  .dwe-contact__inner { gap: 36px; }
  .dwe-contact__card { max-width: 640px; }
  .dwe-format__options { display: flex; flex-wrap: wrap; gap: 12px; }
  .dwe-format__label { min-height: 56px; padding: 10px 22px; white-space: nowrap; }
  .dwe-channel__options { display: flex; flex-wrap: nowrap; gap: 6px; }
  .dwe-channel__option { flex: 1 1 0; }
  .dwe-channel__input { left: 10px; }
  .dwe-channel__label { padding: 8px 6px 8px 34px; font-size: 15px; }
}
@media (min-width: 1024px) {
  .dwe-contact__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 500px); gap: 48px; align-items: start; }
  .dwe-contact__card { max-width: none; }
  .dwe-form { grid-template-columns: 1fr; }
}
@media (min-width: 1200px) {
  .dwe-contact { padding: 52px 0 72px; }
  .dwe-contact__inner { gap: 64px; }
  .dwe-contact__intro { gap: 20px; }
  .dwe-contact__body { max-width: 28em; }
  .dwe-format { margin-top: 12px; }
  .dwe-format__options { gap: 14px; }
  .dwe-format__label { min-height: 54px; padding: 10px 20px; font-size: 19px; }
  .dwe-form { gap: 10px; }
  .dwe-field { gap: 5px; }
  .dwe-field__input { font-size: 17px; }
  .dwe-field__input--area { min-height: 80px; }
  .dwe-channel__label { font-size: 15px; }
}

/* ============================================================ footer */
.dwe-footer { padding: 14px 0 16px; background: var(--dwe-white); }
.dwe-footer__inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'logo locale' 'tagline tagline' 'privacy privacy'; align-items: center; gap: 0 16px; }
.dwe-footer__logo { grid-area: logo; }
.dwe-footer__logo .dwe-logo__img { width: 150px; }
.dwe-footer__tagline { grid-area: tagline; }
.dwe-footer__privacy { grid-area: privacy; display: inline-flex; align-items: center; justify-self: start; min-height: var(--dwe-touch); color: var(--dwe-muted); }
.dwe-footer__locale { grid-area: locale; justify-self: end; }
@media (min-width: 768px) {
  .dwe-footer { padding: 18px 0 20px; }
  .dwe-footer__inner { grid-template-columns: auto minmax(0, 1fr) auto auto; grid-template-areas: 'logo tagline privacy locale'; gap: 8px 24px; }
  .dwe-footer__tagline { text-align: center; }
  .dwe-footer__privacy { justify-self: end; }
}
@media (min-width: 1200px) { .dwe-footer { padding: 14px 0 16px; } .dwe-footer__logo .dwe-logo__img { width: 212px; } }

/* ============================================================ viewer (dialog) */
.dwe-viewer { position: fixed; inset: 0; z-index: 120; display: flex; flex-direction: column; background: rgba(12, 14, 16, .96); color: var(--dwe-on-dark); }
.dwe-viewer__bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: 'heading close' 'original original'; align-items: center; gap: 6px 12px; width: 100%; max-width: 1360px; margin: 0 auto; padding: 10px var(--dwe-gutter); }
.dwe-viewer__heading { grid-area: heading; }
.dwe-viewer__close { grid-area: close; }
.dwe-viewer__heading { flex: 1 1 auto; min-width: 0; }
.dwe-viewer__kicker { overflow: hidden; color: var(--dwe-on-dark-muted); font-size: 13px; white-space: nowrap; text-overflow: ellipsis; }
.dwe-viewer__title { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.dwe-viewer__original { grid-area: original; justify-self: start; display: inline-flex; align-items: center; gap: 6px; min-height: var(--dwe-touch); padding: 0 14px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; color: var(--dwe-on-dark); font-size: 15px; text-decoration: none; white-space: nowrap; transition: background-color var(--dwe-ease), border-color var(--dwe-ease); }
.dwe-viewer__close { display: inline-flex; flex: none; align-items: center; justify-content: center; width: var(--dwe-touch); height: var(--dwe-touch); border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: transparent; color: var(--dwe-on-dark); cursor: pointer; }
.dwe-viewer__body { flex: 1 1 auto; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 10px; width: 100%; max-width: 1360px; margin: 0 auto; padding: 0 var(--dwe-gutter); }
.dwe-viewer__viewport { position: relative; overflow: auto; overscroll-behavior: contain; border-radius: 10px; background: #26292d; touch-action: pan-x pan-y pinch-zoom; }
.dwe-viewer__img { width: auto; max-width: 100%; height: auto; margin: 0 auto; background: var(--dwe-white); }
.dwe-viewer__img.is-preview { opacity: .55; filter: saturate(.6); }
.dwe-viewer__img[data-empty] { visibility: hidden; }
.dwe-viewer__status { position: absolute; left: 50%; top: 24px; transform: translateX(-50%); display: none; align-items: center; gap: 10px; padding: 8px 14px; border-radius: 999px; background: rgba(0, 0, 0, .72); color: var(--dwe-white); font-size: 15px; white-space: nowrap; }
.dwe-viewer__status.is-on { display: inline-flex; }
.dwe-viewer__spinner { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid rgba(255, 255, 255, .35); border-top-color: var(--dwe-white); animation: dwe-spin 900ms linear infinite; }
.dwe-viewer__error { position: absolute; left: 50%; top: 24px; transform: translateX(-50%); width: min(420px, calc(100% - 32px)); display: flex; flex-direction: column; gap: 12px; padding: 16px 18px; border-radius: 12px; background: var(--dwe-white); color: var(--dwe-ink); box-shadow: var(--dwe-shadow); }
.dwe-viewer__error-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.dwe-viewer__error-link { color: var(--dwe-link); }
.dwe-viewer__notes { color: var(--dwe-on-dark-muted); }
.dwe-viewer__facts { display: grid; gap: 4px 16px; padding: 2px 0; }
.dwe-viewer__facts > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); column-gap: 10px; min-width: 0; }
.dwe-viewer__facts dt { color: var(--dwe-on-dark-muted); font-size: 12px; line-height: 1.5; text-transform: uppercase; letter-spacing: .06em; }
.dwe-viewer__facts dd { color: var(--dwe-on-dark); font-size: 13px; line-height: 1.4; }
.dwe-viewer__nav { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 6px var(--dwe-gutter) 12px; }
.dwe-viewer__arrow { display: inline-flex; align-items: center; justify-content: center; width: var(--dwe-touch); height: var(--dwe-touch); border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; background: transparent; color: var(--dwe-on-dark); cursor: pointer; }
.dwe-viewer__count { color: var(--dwe-on-dark-muted); font-variant-numeric: tabular-nums; }
.dwe-viewer :focus-visible { outline-color: var(--dwe-focus-dark); }
@media (min-width: 600px) {
  .dwe-viewer__bar { display: flex; }
  .dwe-viewer__original { display: inline-flex; }
  .dwe-viewer__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 4px 0 2px; }
  .dwe-viewer__facts > div { display: block; }
  .dwe-viewer__facts dt { font-size: 13px; }
  .dwe-viewer__facts dd { margin-top: 2px; font-size: 15px; }
}
@media (min-width: 1024px) {
  .dwe-viewer__bar { padding-top: 14px; padding-bottom: 14px; }
  .dwe-viewer__body { grid-template-rows: none; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; }
  .dwe-viewer__facts { grid-template-columns: 1fr; gap: 18px; padding-top: 4px; }
  .dwe-viewer__facts dd { margin-top: 4px; font-size: 16px; line-height: 1.4; }
  .dwe-viewer__nav { padding-bottom: 16px; }
}

/* ============================================================ phone rhythm (round 3): compact vertical rhythm like the
 * 390 previews; primary body stays 18/1.4, secondary (muted) copy 16/1.35, captions >= 14; tap targets keep 44 px (links
 * get it through padding inside the row, not through extra space) */
@media (max-width: 767.98px) {
  .dwe-hero__inner { padding-top: 12px; }
  .dwe-hero__copy { gap: 8px; padding-bottom: 14px; }
  .dwe-hero__eyebrow { min-height: 30px; padding: 4px 12px; }
  .dwe-hero__note { line-height: 1.35; }
  .dwe-hero__title { margin-top: 2px; }
  .dwe-hero__body { margin-top: 2px; }
  .dwe-hero__market { font-size: 16px; line-height: 1.4; }
  .dwe-hero__cta { margin-top: 6px; }
  .dwe-benefits__title { margin-bottom: 16px; }
  .dwe-benefits__list { gap: 12px; }
  .dwe-benefits__item { gap: 3px; }
  .dwe-benefits__item + .dwe-benefits__item { padding-top: 12px; }
  .dwe-scope__inner { padding-bottom: 12px; }
  .dwe-scope__head { gap: 10px; }
  .dwe-scope__row { gap: 0; padding: 3px 0 4px; }
  .dwe-scope__term { line-height: 1.2; }
  .dwe-scope__desc { font-size: 16px; line-height: 1.28; }
  .dwe-scope__note { margin-top: 10px; line-height: 1.35; }
  .dwe-path { padding-bottom: 24px; }
  .dwe-path__inner { gap: 18px; }
  .dwe-path__copy { gap: 10px; }
  .dwe-path__flow { gap: 20px; }
  .dwe-path__node { min-height: 46px; }
  .dwe-path__note { margin-top: 14px; }
  .dwe-extras { padding-bottom: 24px; }
  .dwe-extras > .dwe-container { padding-top: 22px; }
  .dwe-extras__body { margin-top: 8px; }
  .dwe-extras__list { gap: 12px; margin-top: 16px; }
  .dwe-extras__item { grid-template-columns: 36px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; }
  .dwe-extras__icon { width: 36px; height: 36px; }
  .dwe-extras__icon .dwe-icon { width: 34px; height: 34px; }
  .dwe-work { padding-bottom: 24px; }
  .dwe-work > .dwe-container { padding-top: 22px; }
  .dwe-work__head { gap: 6px 24px; margin-bottom: 10px; }
  .dwe-gallery__tabs { margin-bottom: 10px; }
  .dwe-gallery__card { gap: 3px; }
  .dwe-gallery__name { margin-top: 10px; }
  .dwe-gallery__name { padding-right: 140px; }
  .dwe-gallery__caption::before { width: 136px; height: 20px; }
  /* the link keeps a 44 px hit area through its padding; the arrows sit beside the title, under the frame */
  .dwe-gallery__open { min-height: 0; padding: 10px 0; margin: -6px 0 -10px; }
  .dwe-gallery__controls { top: calc(64px + (100vw - 2 * var(--dwe-gutter)) * .393); bottom: auto; }
  .dwe-work__note { margin-top: 10px; font-size: 14px; line-height: 1.35; }
  .dwe-process { padding-bottom: 24px; }
  .dwe-process__title { margin-bottom: 14px; }
  .dwe-process__list { gap: 12px; }
  .dwe-process__item, .dwe-process__term { gap: 2px; }
  .dwe-process__terms { gap: 12px; margin-top: 12px; }
  .dwe-faq { padding-bottom: 20px; }
  .dwe-faq__title { margin-bottom: 14px; }
  .dwe-faq__list { gap: 8px; }
  .dwe-faq__toggle { min-height: 48px; padding: 12px 16px; }
  .dwe-faq__q { font-size: 18px; line-height: 1.25; }
  .dwe-faq__icon { margin-top: 0; }
  .dwe-faq__a-body { margin-top: -4px; padding: 0 16px 14px; }
  .dwe-contact__inner { gap: 16px; }
  .dwe-contact__intro { gap: 10px; }
  .dwe-format { margin-top: 2px; }
  .dwe-format__options { display: flex; flex-wrap: wrap; gap: 8px; }
  .dwe-format__option { flex: 1 1 auto; }
  .dwe-format__label { min-height: 52px; padding: 8px 16px; font-size: 16px; }
  .dwe-form { gap: 10px; }
  .dwe-field { gap: 4px; }
  .dwe-field__input--area { min-height: 72px; }
  .dwe-channel { gap: 4px; }
  .dwe-channel > legend { margin-bottom: 4px; }
  .dwe-channel__options { gap: 6px; }
  .dwe-channel__input { left: 10px; }
  .dwe-channel__label { min-height: 52px; padding: 8px 8px 8px 36px; font-size: 15px; }
  .dwe-consent__row { gap: 10px; }
  .dwe-footer { padding: 6px 0 8px; }
  .dwe-footer__inner { gap: 0 16px; }
  .dwe-footer__tagline { font-size: 14px; line-height: 1.4; }
  .dwe-footer__privacy { min-height: 0; padding: 12px 0; margin: -10px 0 -12px; font-size: 14px; }
  /* secondary (muted) copy */
  .dwe-path__body, .dwe-extras__body, .dwe-contact__body, .dwe-work__meta, .dwe-gallery__caption { font-size: 16px; line-height: 1.4; }
  .dwe-extras__item-text, .dwe-process__item-text, .dwe-process__term-text, .dwe-faq__a-body, .dwe-path__note { font-size: 16px; line-height: 1.35; }
}

/* ============================================================ reactions: default / hover / focus-visible / pressed / disabled */
@media (hover: hover) {
  .dwe-btn--primary:hover { background: var(--dwe-btn-hover); box-shadow: 0 14px 30px rgba(206, 0, 6, .3), 0 3px 8px rgba(206, 0, 6, .18); }
  .dwe-btn--primary:hover .dwe-icon--arrow { transform: translateX(3px); }
  .dwe-btn--secondary:hover { border-color: #aab5cb; background: var(--dwe-surface); }
  .dwe-header__cta:hover { background: var(--dwe-btn-hover); box-shadow: 0 8px 18px rgba(206, 0, 6, .26); }
  .dwe-header__list-link:hover, .dwe-locale__link:hover, .dwe-menu__list-link:hover { color: var(--dwe-link); }
  .dwe-header__list-link:hover::after { opacity: 1; }
  .dwe-header__menu-btn:hover, .dwe-menu__close:hover { background: var(--dwe-surface); }
  .dwe-gallery__frame:hover { box-shadow: var(--dwe-shadow); }
  .dwe-gallery__open:hover { color: var(--dwe-link-hover); text-decoration-color: currentColor; }
  .dwe-gallery__tab:hover { border-color: #aab5cb; }
  .dwe-gallery__arrow:hover { background: var(--dwe-surface); border-color: #c5cfe0; color: var(--dwe-link); }
  .dwe-format__option:hover .dwe-format__label, .dwe-channel__option:hover .dwe-channel__label { border-color: #aab5cb; }
  .dwe-faq__toggle:hover { background: rgba(9, 11, 16, .035); }
  .dwe-field__input:hover { border-color: #aab5cb; }
  .dwe-consent__link:hover, .dwe-footer__privacy:hover, .dwe-form-success__back:hover, .dwe-form__edit:hover { color: var(--dwe-link-hover); }
  .dwe-viewer__close:hover, .dwe-viewer__arrow:hover, .dwe-viewer__original:hover { background: rgba(255, 255, 255, .1); }
}
.dwe-btn--primary:active { background: var(--dwe-btn-active); transform: translateY(1px); box-shadow: 0 6px 14px rgba(181, 0, 5, .22); }
.dwe-btn--primary:disabled { background: var(--dwe-btn-disabled); box-shadow: none; cursor: default; transform: none; }
.dwe-header__cta:active { background: var(--dwe-btn-active); transform: translateY(1px); }
.dwe-gallery__arrow:active, .dwe-gallery__tab:active, .dwe-btn--secondary:active { background: var(--dwe-surface-press); }
.dwe-format__input:active + .dwe-format__label, .dwe-channel__input:active + .dwe-channel__label { background: var(--dwe-surface-press); }
.dwe-faq__toggle:active { background: var(--dwe-surface-press); }
.dwe-viewer__close:active, .dwe-viewer__arrow:active, .dwe-viewer__original:active { background: rgba(255, 255, 255, .18); }
.dwe-header__list-link[aria-current], .dwe-menu__list-link[aria-current] { color: var(--dwe-link); }
.dwe-header__list-link[aria-current]::after { opacity: 1; }
.dwe-scope :focus-visible { outline-color: var(--dwe-focus-dark); }

/* ============================================================ motion */
@media (prefers-reduced-motion: reduce) {
  .dwe-page *, .dwe-page *::before, .dwe-page *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .dwe-btn--primary:active, .dwe-header__cta:active { transform: none; }
  .dwe-btn .dwe-icon--arrow { transform: none !important; }
}

/* ============================================================ print: every FAQ answer open, no interactive chrome */
@media print {
  .dwe-header { position: static; }
  .dwe-header__nav, .dwe-header__menu-btn, .dwe-header__cta, .dwe-locale, .dwe-menu, .dwe-viewer, .dwe-gallery__controls, .dwe-gallery__tabs,
  .dwe-gallery__open, .dwe-faq__icon, .dwe-contact__card, [data-dwe-preview-banner] { display: none !important; }
  .dwe-gallery__card.is-inactive { opacity: 1 !important; visibility: visible !important; }
  .dwe-faq__item::details-content { block-size: auto !important; content-visibility: visible !important; }
  .dwe-faq__item, .dwe-gallery__card { break-inside: avoid; }
}
