/* ============================================================================================
   Designflux base: tokens, page chrome, header, buttons, the CSS night sky, form skin.
   Everything else lives in assembler.css (hero), flow.css (chapters), hf.css (footer),
   pricing.css (pricing page). Elementor builds the structure; these classes (df-*) carry the look.
   ============================================================================================ */
/* Schibsted Grotesk (SIL Open Font License), self-hosted so the first paint never waits on a third party. One variable file per script. */
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("fonts/sg-latin-ext.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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Schibsted Grotesk"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("fonts/sg-latin.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; }

/* ==================================================================================================
   THEME COLOURS: change the values in this block and every page, the header, the footer, the chat and
   the hero follow. Nothing else in the plugin hard-codes the accent. The "-rgb" tokens hold the same
   colour as "r, g, b" so translucent versions can be made; keep each pair in step.
   ================================================================================================== */
:root {
  /* accent: bright start, middle, main and end of the button gradient */
  --df-hi: #f07a3a;
  --df-mid: #ee6a2b;       --df-mid-rgb: 238, 106, 43;
  --df-gold: #dc4a0f;      --df-gold-rgb: 220, 74, 15;
  --df-gold2: #b53a08;
  /* accent for text, labels, links and hover (needs to be dark enough to read on the background) */
  --df-ac: #c2410c;        --df-ac-rgb: 194, 65, 12;
  --df-deep: #8f2e08;      /* hover text */
  --df-deepest: #4d1703;
  --df-on: #ffffff;        /* text that sits on the bright accent */
  --df-hue: 20;           /* the same accent as a hue, for the layered shapes */
  /* soft tints of the accent: chips, the budget bar, highlights */
  --df-tint: #f1f4f9; --df-tint2: #d8deea; --df-tint3: #f7f9fc;
  --df-t1: #f1f4f9; --df-t2: #d8deea; --df-t3: #f7f9fc; --df-t4: #ffe8da; --df-t5: #f1f4f9; --df-t6: #f07a3a; --df-t7: #f9fafd; --df-t8: #e6ebf3;
  /* the page: background gradient, text, lines, cards */
  --df-bg-top: #ffffff; --df-bg: #ffffff; --df-bg-bot: #fbfbfc;  --df-bg-rgb: 255, 255, 255;  --df-bg2: #ffffff;
  --df-ink: #0f1729;       --df-text-rgb: 15, 23, 41;
  --df-ink-rgb: 15, 23, 41;
  --df-soft: rgba(var(--df-text-rgb), 0.62);
  --df-line: rgba(var(--df-ink-rgb), 0.14);
  --df-card: rgba(255, 255, 255, 0.5);
  --df-shadow-rgb: 15, 23, 41;
  --df-dot-rgb: 15, 23, 41;  /* the drifting dots */
  /* the glows in the background: top left, right, bottom */
  --df-orb1-rgb: 236, 241, 249; --df-orb2-rgb: 255, 236, 224; --df-orb3-rgb: 230, 238, 247;
  /* layout, type, motion */
  --df-pad: clamp(20px, 4vw, 64px);
  --df-font: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
  --df-ease: cubic-bezier(0.16, 1, 0.3, 1);
  /* hover (follows the accent) */
  --df-hv: var(--df-ac); --df-hv-deep: var(--df-deep); --df-hv-glow: var(--df-ac-rgb);
}

html { scroll-behavior: smooth; background: var(--df-bg); }
body.df-site { background: transparent; color: var(--df-ink); font-family: var(--df-font); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
body.df-site a { color: inherit; text-decoration: none; }
body.df-site ::selection { background: var(--df-gold); color: var(--df-on); }
.df-site .elementor-widget-container { margin: 0; }
.df-site h1, .df-site h2, .df-site h3, .df-site h4 { font-family: var(--df-font); color: var(--df-ink); }
.df-site .elementor-heading-title { color: inherit; font-family: var(--df-font); }
.df-site .elementor-widget-text-editor, .df-site .elementor-widget-text-editor p { color: var(--df-soft); font-family: var(--df-font); }
.df-site .elementor-widget-text-editor p { margin: 0 0 1em; }
.df-site .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.df-site :focus-visible { outline: 2px solid var(--df-gold); outline-offset: 3px; }
.df-skip { position: fixed; left: 16px; top: -60px; z-index: 300; padding: 12px 20px; border-radius: 999px; background: var(--df-gold); color: var(--df-on) !important; font-weight: 600; transition: top 0.3s var(--df-ease); }
.df-skip:focus { top: 14px; }

/* ---- the night sky: pure CSS, no WebGL, nothing to download ------------------------------------- */
.df-bg { position: fixed; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; contain: strict; background: radial-gradient(120% 90% at 50% 0%, var(--df-bg-top), var(--df-bg) 55%, var(--df-bg-bot)); }
.df-bg i { position: absolute; display: block; border-radius: 50%; will-change: transform; }
.df-bg .o1 { width: 90vmax; height: 90vmax; left: -30vmax; top: -34vmax; background: radial-gradient(closest-side, rgba(var(--df-orb1-rgb), 0.5), rgba(var(--df-orb1-rgb), 0.16) 55%, transparent 100%); transform: translate3d(0, calc(var(--sp, 0) * -26vh), 0); animation: dfdrift1 38s ease-in-out infinite alternate; }
.df-bg .o2 { width: 80vmax; height: 80vmax; right: -34vmax; top: 18vh; background: radial-gradient(closest-side, rgba(var(--df-orb2-rgb), 0.36), rgba(var(--df-orb2-rgb), 0.1) 55%, transparent 100%); transform: translate3d(0, calc(var(--sp, 0) * -40vh), 0); animation: dfdrift2 46s ease-in-out infinite alternate; }
.df-bg .o3 { width: 70vmax; height: 70vmax; left: 10vmax; bottom: -42vmax; background: radial-gradient(closest-side, rgba(var(--df-orb3-rgb), 0.28), transparent 100%); transform: translate3d(0, calc(var(--sp, 0) * -18vh), 0); }
@keyframes dfdrift1 { to { translate: 6vmax 4vmax; } }
@keyframes dfdrift2 { to { translate: -5vmax -3vmax; } }
@media (max-width: 700px) { .df-bg .o3 { display: none; } }
/* the dots: one canvas, drawn by base.js */
.df-bg::after { content: ""; position: absolute; inset: 0; background: radial-gradient(90% 70% at 50% 40%, rgba(var(--df-bg-rgb), 0.34), rgba(var(--df-bg-rgb), 0.12) 70%); -webkit-backdrop-filter: blur(1.4px); backdrop-filter: blur(1.4px); }
.df-dots { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.df-site main, .df-site .elementor-location-footer { position: relative; z-index: 1; }
.elementor-editor-active body.df-site, body.elementor-editor-active { background: var(--df-bg); }

/* a soft light that follows the pointer, desktop only */
.df-cd, .df-cur, .df-sp { position: fixed; left: 0; top: 0; pointer-events: none; border-radius: 50%; }
.df-cd { width: 6px; height: 6px; margin: -3px 0 0 -3px; z-index: 10000; background: var(--df-gold); opacity: 0; transition: opacity 0.3s; }
.df-cur { width: 36px; height: 36px; margin: -18px 0 0 -18px; z-index: 9999; border: 1px solid rgba(var(--df-gold-rgb), 0.5); opacity: 0; display: grid; place-items: center; transition: opacity 0.3s, width 0.4s var(--df-ease), height 0.4s var(--df-ease), margin 0.4s var(--df-ease), background 0.3s, border-radius 0.3s; will-change: transform; }
.df-cd.on, .df-cur.on { opacity: 1; }
.df-cur span { font: 600 11px/1 var(--df-font, inherit); letter-spacing: 0.08em; text-transform: uppercase; color: var(--df-on); opacity: 0; transition: opacity 0.2s; }
.df-cur.hot { width: 56px; height: 56px; margin: -28px 0 0 -28px; background: rgba(var(--df-gold-rgb), 0.12); }
.df-cur.lbl { width: 76px; height: 76px; margin: -38px 0 0 -38px; background: var(--df-gold); border-color: var(--df-gold); }
.df-cur.lbl span { opacity: 1; }
.df-cur.txt { width: 2px; height: 26px; margin: -13px 0 0 -1px; border-radius: 2px; background: var(--df-gold); }
.df-cur.down { transform-origin: center; filter: brightness(1.2); }
.df-mag { transition: transform 0.25s var(--df-ease); }
.df-sp { z-index: 9998; width: 6px; height: 6px; background: var(--df-gold); }
@media (hover: none) { .df-cur, .df-cd, .df-sp { display: none; } }

/* ---- layout primitives ------------------------------------------------------------------------------ */
.df-site .df-section { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; padding: clamp(72px, 9vw, 150px) var(--df-pad); width: 100%; align-items: center; position: relative; }
.df-site .df-section.alt { background: linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)); border-block: 1px solid rgba(var(--df-ink-rgb), 0.07); }
.df-site .df-in { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; width: 100%; max-width: 1240px; margin-inline: auto; padding: 0; gap: clamp(28px, 4vw, 56px); }
.df-site .df-hero { min-height: 100vh; min-height: 100svh; padding: 0; position: relative; overflow: hidden; background: transparent; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }

/* ---- type (the hero headline, the eyebrow, and the pricing page headings) ---------------------------- */
.df-site .df-eyebrow .elementor-heading-title, .df-site .df-eyebrow { font-size: 13px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--df-ac); }
.df-site .df-h1 .elementor-heading-title { font-weight: 600; font-size: clamp(44px, 7.4vw, 112px); line-height: 0.96; letter-spacing: -0.04em; text-wrap: balance; }
.df-site .df-h2 .elementor-heading-title, .df-site h2.df-h2 { font-weight: 600; font-size: clamp(34px, 4.8vw, 72px); line-height: 1.02; letter-spacing: -0.035em; text-wrap: balance; }

/* ---- buttons ----------------------------------------------------------------------------------------- */
.df-site .df-btn .elementor-button { font-family: var(--df-font); font-weight: 600; font-size: 16px; border-radius: 999px; padding: 17px 30px; line-height: 1; transition: transform 0.4s var(--df-ease), box-shadow 0.4s var(--df-ease), background 0.3s, border-color 0.3s; }
.df-site .df-btn.primary .elementor-button { background: linear-gradient(100deg, var(--df-hi), var(--df-gold) 50%, var(--df-gold2)); color: var(--df-on); border: 0; box-shadow: 0 8px 36px rgba(var(--df-gold-rgb), 0.28); }
.df-site .df-btn.primary .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 14px 52px rgba(var(--df-gold-rgb), 0.5); color: var(--df-on); }
.df-site .df-btn.ghost .elementor-button { background: rgba(var(--df-ink-rgb), 0.05); color: var(--df-ink); border: 1px solid rgba(var(--df-ink-rgb), 0.28); }
.df-site .df-btn.ghost .elementor-button:hover { border-color: var(--df-gold); background: rgba(var(--df-gold-rgb), 0.1); transform: translateY(-2px); color: var(--df-ink); }
.df-site .df-btns { flex-direction: row; flex-wrap: wrap; gap: 14px; padding: 0; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }

/* ---- header ------------------------------------------------------------------------------------------ */
.elementor-location-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; }
.admin-bar .elementor-location-header { top: 32px; }
.df-site .df-header { padding: 18px var(--df-pad); flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; transition: background 0.4s, padding 0.4s; --padding-top: 18px; --padding-bottom: 18px; }
.df-header.is-stuck { background: rgba(var(--df-bg-rgb), 0.82); -webkit-backdrop-filter: blur(18px) saturate(1.3); backdrop-filter: blur(18px) saturate(1.3); border-bottom: 1px solid var(--df-line); padding-block: 12px !important; }
.df-site .df-logo .elementor-heading-title { font-size: 21px; font-weight: 600; letter-spacing: -0.02em; display: inline-flex; align-items: center; gap: 10px; line-height: 1; }
.df-site .df-logo .elementor-heading-title::before { content: none; }
.df-logolink { display: inline-flex; align-items: center; gap: 11px; color: var(--df-ink); text-decoration: none; }
.df-word { font-size: 22px; font-weight: 650; letter-spacing: -0.03em; line-height: 1; }
.df-word b { font-weight: inherit; }
.df-mark { flex: none; display: block; transition: transform 0.6s var(--df-ease); }
.df-mark .m-tile { fill: var(--df-ink); transition: fill 0.4s var(--df-ease); }
.df-mark .m-d { fill: none; stroke: #fff; stroke-width: 3; stroke-linejoin: round; }
.df-mark .m-w { fill: none; stroke: var(--df-mid); stroke-width: 2.6; stroke-linecap: round; stroke-dasharray: 40; stroke-dashoffset: 0; transition: stroke-dashoffset 0.9s var(--df-ease); }
.df-logolink:hover .df-mark { transform: rotate(-6deg) scale(1.06); }
.df-logolink:hover .m-w { animation: df-wave 0.9s var(--df-ease); }
@keyframes df-wave { 0% { stroke-dashoffset: 40; } 100% { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .df-logolink:hover .m-w { animation: none; } .df-logolink:hover .df-mark { transform: none; } }
.df-nav { display: flex; align-items: center; }
.df-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(18px, 2.6vw, 40px); }
.df-menu a { font-size: 15px; font-weight: 500; color: var(--df-soft); position: relative; padding: 6px 0; transition: color 0.3s; }
.df-menu a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--df-gold); transform: scaleX(0); transform-origin: left; transition: transform 0.45s var(--df-ease); }
.df-menu a:hover, .df-menu .current-menu-item > a { color: var(--df-ink); }
.df-menu a:hover::after, .df-menu .current-menu-item > a::after { transform: scaleX(1); }
.df-burger { display: none; height: 44px; padding: 0 16px 0 14px; border-radius: 999px; border: 1px solid var(--df-line); background: rgba(var(--df-ink-rgb), 0.06); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); cursor: pointer; align-items: center; gap: 10px; color: var(--df-ink); font: 500 14px var(--df-font); transition: background 0.3s, border-color 0.3s; }
.df-burger:hover, .df-burger:focus { background: rgba(var(--df-ink-rgb), 0.1); color: var(--df-ink); }
.df-burger:focus-visible { outline: 2px solid var(--df-gold); outline-offset: 3px; }
.df-burger .bl { position: relative; width: 18px; height: 12px; flex: none; }
.df-burger .bl i { position: absolute; left: 0; right: 0; height: 1.5px; border-radius: 2px; background: currentColor; transition: transform 0.5s var(--df-ease), top 0.5s var(--df-ease), width 0.4s var(--df-ease); }
.df-burger .bl i:first-child { top: 1px; }
.df-burger .bl i:last-child { top: 9px; width: 62%; }
.df-burger em { display: block; height: 16px; overflow: hidden; font-style: normal; line-height: 16px; min-width: 38px; text-align: left; }
.df-burger em b { display: block; font-weight: 500; transition: transform 0.5s var(--df-ease); }
.df-burger[aria-expanded="true"] { border-color: rgba(var(--df-gold-rgb), 0.5); background: rgba(var(--df-gold-rgb), 0.12); }
.df-burger[aria-expanded="true"] .bl i:first-child { top: 5px; transform: rotate(45deg); }
.df-burger[aria-expanded="true"] .bl i:last-child { top: 5px; width: 100%; transform: rotate(-45deg); }
.df-burger[aria-expanded="true"] em b { transform: translateY(-100%); }
.df-mfoot { display: none; }
.df-mi { display: none; }
.df-header .df-btn .elementor-button { padding: 13px 22px; font-size: 14px; }
@media (max-width: 900px) {
  .df-burger { display: inline-flex; }
  .df-menu-panel { position: fixed; inset: 0; z-index: -1; overflow-y: auto; overscroll-behavior: contain; opacity: 0; visibility: hidden; background: rgba(var(--df-ink-rgb), 0.32); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: opacity 0.35s var(--df-ease), visibility 0s 0.5s; }
  .df-menu-panel.open { opacity: 1; visibility: visible; transition: opacity 0.35s var(--df-ease), visibility 0s; }
  .df-nav { z-index: 2; }
  /* the menu is a floating card: icon rows, a soft pill on the page you are on, contact rows and a card at the foot */
  .df-mwrap { position: relative; margin: 76px 12px 12px; min-height: calc(100% - 88px); display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: 16px 14px max(14px, env(safe-area-inset-bottom)); box-sizing: border-box; background: #fff; border: 1px solid var(--df-line); border-radius: 28px; box-shadow: 0 30px 80px rgba(var(--df-shadow-rgb), 0.22), 0 2px 6px rgba(var(--df-shadow-rgb), 0.06); transform: translate3d(0, 18px, 0) scale(0.98); opacity: 0; transition: transform 0.7s var(--df-ease), opacity 0.4s var(--df-ease); }
  .df-menu-panel.open .df-mwrap { transform: none; opacity: 1; }
  .df-menu { flex-direction: column; align-items: stretch; gap: 2px; }
  .df-menu li { border: 0; }
  .df-menu a { display: flex; align-items: center; gap: 14px; padding: 0 14px; min-height: 52px; border-radius: 16px; font-size: 17px; font-weight: 550; letter-spacing: -0.01em; line-height: 1.2; color: rgba(var(--df-ink-rgb), 0.78); background: transparent; opacity: 0; transform: translate3d(14px, 0, 0); transition: transform 0.6s var(--df-ease), opacity 0.45s var(--df-ease), background-color 0.3s var(--df-ease), color 0.3s var(--df-ease); }
  .df-menu a::before, .df-menu a::after { display: none; }
  .df-mi { flex: none; display: grid; place-items: center; width: 22px; height: 22px; color: rgba(var(--df-ink-rgb), 0.62); transition: color 0.3s var(--df-ease), transform 0.4s var(--df-ease); }
  .df-mi svg { width: 22px; height: 22px; display: block; }
  .df-menu a:hover, .df-menu a:focus-visible { background: rgba(var(--df-ink-rgb), 0.05); color: var(--df-ink); }
  .df-menu a:hover .df-mi { transform: translateX(2px); }
  .df-menu .current-menu-item > a { background: rgba(var(--df-ink-rgb), 0.06); color: var(--df-ink); font-weight: 650; }
  .df-menu .current-menu-item > a .df-mi { color: var(--df-ac); }
  .df-menu-panel.open .df-menu a { transform: none; opacity: 1; }
  .df-menu-panel.open .df-menu li:nth-child(1) a { transition-delay: 0.10s; }
  .df-menu-panel.open .df-menu li:nth-child(2) a { transition-delay: 0.14s; }
  .df-menu-panel.open .df-menu li:nth-child(3) a { transition-delay: 0.18s; }
  .df-menu-panel.open .df-menu li:nth-child(4) a { transition-delay: 0.22s; }
  .df-menu-panel.open .df-menu li:nth-child(5) a { transition-delay: 0.26s; }
  .df-menu-panel.open .df-menu li:nth-child(6) a { transition-delay: 0.30s; }
  .df-menu-panel.open .df-menu li:nth-child(7) a { transition-delay: 0.34s; }
  .df-mfoot { display: grid; gap: 4px; opacity: 0; transform: translateY(12px); transition: opacity 0.5s var(--df-ease), transform 0.7s var(--df-ease); padding-top: 12px; border-top: 1px solid var(--df-line); }
  .df-menu-panel.open .df-mfoot { opacity: 1; transform: none; transition-delay: 0.4s; }
  .df-mrow { display: grid; gap: 2px; }
  .df-mrow a { display: flex; align-items: center; gap: 14px; min-height: 46px; padding: 0 14px; border-radius: 14px; font-size: 15px; color: rgba(var(--df-ink-rgb), 0.72); transition: background-color 0.3s var(--df-ease), color 0.3s var(--df-ease); }
  .df-mrow a:hover { background: rgba(var(--df-ink-rgb), 0.05); color: var(--df-ink); }
  .df-mcta { order: 3; display: flex; align-items: center; gap: 12px; margin-top: 10px; padding: 10px 14px 10px 10px; border-radius: 18px; border: 1px solid var(--df-line); background: var(--df-tint3, #f7f9fc); color: var(--df-ink); font-size: 15px; font-weight: 650; transition: border-color 0.3s var(--df-ease), box-shadow 0.4s var(--df-ease), transform 0.4s var(--df-ease); }
  .df-mcta:hover, .df-mcta:focus { color: var(--df-ink); border-color: rgba(var(--df-ac-rgb), 0.4); box-shadow: 0 10px 28px rgba(var(--df-shadow-rgb), 0.1); transform: translateY(-1px); }
  .df-mcta .df-mark { width: 40px; height: 40px; }
  .df-mcta .df-mt { flex: 1; display: grid; gap: 3px; line-height: 1.1; }
  .df-mcta .df-mt small { font-size: 12.5px; font-weight: 450; color: rgba(var(--df-ink-rgb), 0.55); }
  .df-mcta > svg { flex: none; color: var(--df-ac); }
  .df-mnote { display: none; }
  .df-header .df-btn { display: none; }
}

/* ---- the contact form skin (Elementor form) ----------------------------------------------------------- */
.df-site .df-form .elementor-field-label { color: var(--df-soft); font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; font-family: var(--df-font); }
.df-site .df-form .elementor-field, .df-site .df-form .elementor-field-textual { background: rgba(var(--df-ink-rgb), 0.04) !important; border: 1px solid var(--df-line) !important; border-radius: 14px !important; color: var(--df-ink) !important; font-family: var(--df-font); font-size: 16px; padding: 16px 18px !important; transition: border-color 0.3s, background 0.3s; }
.df-site .df-form .elementor-field:focus { border-color: var(--df-gold) !important; background: rgba(var(--df-gold-rgb), 0.06) !important; outline: none; }
.df-site .df-form select option { background: #ffffff; color: var(--df-ink); }
.df-site .df-form .elementor-button { background: linear-gradient(100deg, var(--df-hi), var(--df-gold) 50%, var(--df-gold2)) !important; color: var(--df-on) !important; border: 0 !important; border-radius: 999px !important; padding: 18px 34px !important; font-weight: 600; font-family: var(--df-font); box-shadow: 0 8px 36px rgba(var(--df-gold-rgb), 0.28); }
.df-site .df-form .elementor-message { color: var(--df-ink); }
.df-site .df-form .elementor-select-wrapper { background: transparent !important; border: 0 !important; padding: 0 !important; }
.df-site .df-form .elementor-select-wrapper select { width: 100%; }
.df-site .df-form .elementor-field-group { align-self: start; }
.df-site .df-form-wrap { padding: clamp(26px, 3vw, 44px); --padding-top: 40px; --padding-bottom: 40px; --padding-left: 40px; --padding-right: 40px; }

/* ---- the footer's base ------------------------------------------------------------------------------- */
.df-site .df-footer { padding: clamp(60px, 7vw, 110px) var(--df-pad) 34px; align-items: center; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.df-site .df-footer a { color: var(--df-ink); transition: color 0.3s; }
.df-site .df-legal { flex-direction: row; justify-content: space-between; gap: 16px; flex-wrap: wrap; width: 100%; max-width: 1240px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
.df-site .df-legal, .df-site .df-legal p { color: var(--df-soft); font-size: 14px; margin: 0; }

/* ---- WordPress chrome ---------------------------------------------------------------------------------- */
.df-site .page-header, .df-site .entry-title { display: none; }
.df-site main#content, .df-site .site-main { max-width: none; padding: 0; margin: 0; }
.df-site .elementor-location-header + * { margin-top: 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .df-bg i { animation: none !important; }
}
