/* Ahead Dallas Workforce — scoped page styles.
 *
 * Every selector is namespaced `.dw-*` so this file cannot bleed into the
 * approved landing page (landing.css) or the Aliya app shell (aliya.css).
 *
 * Colour and type tokens are the repository's real, already-approved tokens
 * from landing.css (--ink, --coral, --cream, --line, Georgia display / system
 * sans body). The reverse-engineered spec proposed a different palette
 * (#082632 / #f26b42 / Inter); where the two disagreed the repository's
 * shipped tokens win, so this page reads as the same product as the home page.
 * Only genuinely new tokens are added below.
 */

*{box-sizing:border-box}

:root{
  /* Shipped Ahead tokens — identical to landing.css. */
  --ink:#18353a;
  --text:#181818;
  --coral:#e67750;
  --cream:#f6f1ec;
  --line:#e6e3df;
  --muted:#626767;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;

  /* New to this page only. */
  --dw-navy:#0d2b33;          /* button fill in the Dallas mock: deeper than --ink */
  --dw-surface-warm:#faf7f4;  /* observatory / closing-CTA ground */
  --dw-icon-bg:#f7f2ee;
  --dw-border:#e3e6e8;
  --dw-border-strong:#cfd5d8;
  --dw-success:#249348;
  --dw-chart:#4267bd;
  --dw-subtle:#737b80;
  --dw-gutter:62px;
  --dw-radius:10px;
}

html{scroll-behavior:smooth}
body{
  margin:0;
  background:#fff;
  color:var(--text);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:50;
  background:var(--dw-navy);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;font-size:13px;
}
.skip-link:focus{left:0}

/* Visible focus everywhere — never removed. */
a:focus-visible,
.dw-btn:focus-visible{
  outline:2px solid var(--coral);
  outline-offset:3px;
  border-radius:6px;
}

/* ---------- Buttons ---------- */
.dw-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:34px;
  padding:0 20px;
  border-radius:8px;
  border:1px solid transparent;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
  transition:opacity 160ms ease, background-color 160ms ease;
}
.dw-btn-dark{background:var(--dw-navy);color:#fff}
.dw-btn-outline{background:#fff;color:#16303a;border-color:var(--dw-border-strong)}
.dw-btn-lg{height:40px;padding:0 24px;font-size:12px}
.dw-btn:hover{opacity:.85}

.dw-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:11.5px;
  font-weight:700;
  color:#16303a;
}
.dw-link:hover{opacity:.78}

.dw-eyebrow{
  color:var(--coral);
  font-size:9.5px;
  font-weight:700;
  letter-spacing:1.5px;
  line-height:1;
}

.dw-section-title{
  font-family:var(--serif);
  font-weight:400;
  font-size:24px;
  line-height:1.14;
  color:var(--ink);
  text-align:center;
  letter-spacing:-.4px;
}
.dw-rule{width:56px;height:2px;background:var(--coral);margin:9px auto 0}

.dw-stronger{
  padding:48px 24px;
  max-width:640px;
  margin:0 auto;
  text-align:center;
}
.dw-stronger-eyebrow{text-align:center;margin-bottom:10px}
.dw-stronger-body{
  margin:16px auto 0;
  font-size:13px;
  line-height:1.65;
  color:#4a5560;
}

/* ---------- Header — reference y0..60 ---------- */
.dw-header{
  height:60px;
  display:flex;
  align-items:center;
  gap:24px;
  padding:0 var(--dw-gutter);
  background:#fff;
  border-bottom:1px solid var(--dw-border);
}
.dw-brand{display:flex;align-items:center;gap:16px}
.dw-brand img{width:118px;height:28px;object-fit:contain}
.dw-brand-divider{width:1px;height:22px;background:var(--dw-border-strong)}
.dw-context{font-size:12.5px;font-weight:600;color:#22383d}
.dw-nav{
  display:flex;
  align-items:center;
  gap:30px;
  margin-left:auto;
  font-size:11.5px;
  color:#243036;
}
.dw-nav a:hover{opacity:.72}
.dw-header-actions{display:flex;align-items:center}

.dw-menu-toggle{display:none}

/* ---------- Hero — reference y60..465 (405px) ---------- */
.dw-hero{
  position:relative;
  height:405px;
  overflow:hidden;
  background:#fff;
}
.dw-hero-media{
  position:absolute;
  inset:0 0 0 auto;
  width:594px;      /* exact crop width taken from the approved reference */
  height:405px;
}
.dw-hero-media img{width:100%;height:100%;object-fit:cover;object-position:right top}
/* Two framings of the same approved photograph. The wide one keeps the
   reference's full field and is only used where the live Aliya card sits
   exactly over the painted one; the stacked one stops short of the painted
   card entirely. See the 1440px note below. */
.dw-hero-img-stacked{display:none}
/* The white wash that lets the headline sit legibly over the skyline, matching
   the reference's left-to-right fade. */
.dw-hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.86) 5%,rgba(255,255,255,.42) 15%,rgba(255,255,255,0) 30%);
}
.dw-hero-copy{
  position:relative;
  z-index:2;
  padding:52px 0 0 var(--dw-gutter);
  max-width:432px;
}
.dw-hero h1{
  margin:14px 0 0;
  font-family:var(--serif);
  font-weight:400;
  font-size:40px;
  line-height:1.13;
  letter-spacing:-1.1px;
  color:var(--ink);
}
.dw-hero h1 span{color:var(--coral)}
.dw-hero-body{
  margin:16px 0 0;
  font-size:11.6px;
  line-height:1.82;
  color:#2a3033;
}
.dw-hero-actions{
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:19px;
}
.dw-privacy{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:17px;
  font-size:9.5px;
  color:#5f6667;
}
.dw-lock{
  width:13px;height:13px;flex:none;
  fill:none;stroke:#223c40;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}

/* "Meet Aliya" card — reference x772..991, y128..424 */
.dw-aliya-card{
  position:absolute;
  z-index:3;
  top:68px;
  right:32px;
  width:220px;
  height:297px;
  padding:18px 19px;
  background:#fff;
  border-radius:var(--dw-radius);
  box-shadow:0 2px 6px rgba(8,38,50,.05), 0 14px 34px rgba(8,38,50,.13);
  display:flex;
  flex-direction:column;
}
.dw-aliya-title{
  font-family:var(--serif);
  font-weight:700;
  font-size:17px;
  line-height:1.15;
  color:var(--ink);
}
.dw-aliya-title span{color:var(--coral)}
.dw-aliya-role{
  margin-top:5px;
  padding-bottom:13px;
  border-bottom:1px solid var(--dw-border);
  font-size:11px;
  color:#3b464a;
}
.dw-aliya-body{
  margin-top:13px;
  font-size:10.4px;
  line-height:1.85;
  color:#2c3336;
}
.dw-aliya-cta{
  margin-top:auto;
  width:100%;
  font-size:10px;
}

/* ---------- Journey — reference y465..705 (240px) ---------- */
.dw-journey{
  padding:27px var(--dw-gutter) 22px;
  background:#fff;
}
.dw-steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  margin-top:18px;
}
.dw-step{
  position:relative;
  text-align:center;
  padding:0 6px;
}
.dw-step-icon{
  width:50px;height:50px;
  margin:0 auto 12px;
  border-radius:50%;
  background:var(--dw-icon-bg);
  display:grid;
  place-items:center;
}
.dw-step-icon svg{
  width:24px;height:24px;
  fill:none;stroke:#16202a;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
/* Dotted connector + arrowhead between adjacent steps, drawn from the icon row. */
.dw-step:not(:last-child)::before{
  content:"";
  position:absolute;
  top:25px;
  left:calc(50% + 33px);
  right:calc(-50% + 42px);
  border-top:1.5px dotted #b9c1c4;
}
.dw-step:not(:last-child)::after{
  content:"→";
  position:absolute;
  top:14px;
  left:calc(150% - 44px);
  font-size:13px;
  line-height:1;
  color:var(--coral);
}
.dw-step h3{
  font-size:11.5px;
  font-weight:700;
  color:#141b1d;
  line-height:1.3;
}
.dw-step p{
  margin-top:7px;
  font-size:9.6px;
  line-height:1.75;
  color:#3d4548;
}

/* ---------- Observatory — reference y705..1112 (407px) ---------- */
.dw-observatory{
  display:grid;
  grid-template-columns:265px 1fr;
  gap:30px;
  align-items:start;
  padding:28px 46px 24px var(--dw-gutter);
  background:var(--dw-surface-warm);
}
.dw-observatory-copy h2{
  margin:14px 0 0;
  font-family:var(--serif);
  font-weight:400;
  font-size:25px;
  line-height:1.12;
  letter-spacing:-.5px;
  color:var(--ink);
}
.dw-observatory-body{
  margin-top:12px;
  font-size:10.6px;
  line-height:1.75;
  color:#33393c;
}
.dw-outcomes{margin-top:15px;display:grid;gap:11px}
.dw-outcomes li{
  display:flex;
  align-items:center;
  gap:11px;
  font-size:10px;
  line-height:1.45;
  color:#22292c;
}
.dw-check{width:17px;height:17px;flex:none}
.dw-check svg{
  width:17px;height:17px;
  fill:none;stroke:var(--coral);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
.dw-observatory-cta{margin-top:18px}

/* Dashboard shell */
.dw-dashboard{
  background:#fff;
  border:1px solid #eceff0;
  border-radius:14px;
  box-shadow:0 2px 6px rgba(8,38,50,.04), 0 12px 32px rgba(8,38,50,.07);
  padding:14px 14px 12px;
}
.dw-dash-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}
.dw-dash-title{font-size:12.5px;font-weight:700;color:#16232a}
.dw-dash-select{
  display:inline-flex;align-items:center;gap:7px;
  height:24px;padding:0 10px;
  border:1px solid var(--dw-border);border-radius:6px;
  font-size:9px;color:#3d474b;background:#fff;
}
.dw-dash-body{display:grid;grid-template-columns:112px 1fr;gap:12px}
.dw-dash-side{display:grid;align-content:start;gap:3px}
.dw-dash-nav{
  display:flex;align-items:center;gap:8px;
  height:23px;padding:0 8px;border-radius:5px;
  font-size:9px;color:#5c6569;
}
.dw-dash-nav.is-active{background:var(--dw-surface-warm);color:#16232a;font-weight:700}
.dw-dot{width:8px;height:8px;border-radius:2px;border:1.2px solid currentColor;opacity:.6;flex:none}

.dw-dash-main{display:grid;gap:10px;min-width:0}
.dw-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dw-kpi{
  border:1px solid #eceff0;border-radius:8px;
  padding:9px 10px 10px;background:#fff;
}
.dw-kpi-label{font-size:8.5px;color:var(--dw-subtle)}
.dw-kpi-value{margin-top:3px;font-size:19px;font-weight:700;color:#11242b;letter-spacing:-.4px}
.dw-kpi-delta{margin-top:4px;font-size:7.5px;color:var(--dw-success)}

.dw-charts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dw-panel{
  border:1px solid #eceff0;border-radius:8px;
  padding:9px 10px 10px;background:#fff;
  min-width:0;
}
.dw-panel-title{font-size:9px;font-weight:700;color:#16232a}

.dw-donut-row{display:flex;align-items:center;gap:10px;margin-top:8px}
.dw-donut{
  position:relative;
  width:80px;height:80px;flex:none;
  border-radius:50%;
  background:conic-gradient(
    #3d4fae 0 28%,
    #3f74b4 28% 50%,
    #4b8bb4 50% 68%,
    #5c9aa8 68% 82%,
    #5f9c86 82% 92%,
    #8fae9d 92% 100%
  );
}
.dw-donut-hole{
  position:absolute;
  inset:15px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-content:center;
  text-align:center;
}
.dw-donut-value{font-size:12px;font-weight:700;color:#11242b}
.dw-donut-label{font-size:7.5px;color:var(--dw-subtle)}
.dw-legend{display:grid;gap:5px;flex:1;min-width:0}
.dw-legend li{display:flex;align-items:center;gap:7px;font-size:8px;color:#3c4548}
.dw-legend i{width:6px;height:6px;border-radius:50%;flex:none}
.dw-legend span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dw-legend b{flex:none;font-weight:600;color:#22292c}

.dw-line{position:relative;margin-top:8px;padding:0 0 12px 22px}
.dw-line svg{width:100%;height:76px;display:block;overflow:visible}
.dw-grid line{stroke:#eef1f2;stroke-width:1}
.dw-line-path{fill:none;stroke:var(--dw-chart);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.dw-line-dots circle{fill:var(--dw-chart)}
.dw-yaxis{
  position:absolute;left:0;top:0;height:76px;
  display:flex;flex-direction:column;justify-content:space-between;
  font-size:7px;color:var(--dw-subtle);
}
.dw-xaxis{
  display:flex;justify-content:space-between;
  margin-top:4px;font-size:7px;color:var(--dw-subtle);
}

.dw-employers .dw-employer-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:10px;
}
.dw-wordmark{
  display:block;
  font-size:8.5px;
  font-weight:700;
  color:#3d474b;
  text-align:center;
  line-height:1.3;
}
/* The synthetic-data label that sits ABOVE the dashboard figures.
 *
 * .dw-dash-note below is rendered at 7.5px inside the scaled dashboard mock,
 * which is small enough that a reasonable visitor can read four large KPI
 * numbers and never notice it. That is not an acceptable way to disclose that
 * 18,742 applications and 1,126 placements did not happen. This label is at
 * normal body size, outside the scaled mock, and directly precedes the
 * figures. */
.dw-dash-flag{
  max-width:760px;
  margin:0 auto 14px;
  padding:11px 15px;
  border:1px dashed #b4632f;
  border-radius:8px;
  background:#fdf1ec;
  color:#8c451c;
  font-size:13.5px;
  line-height:1.45;
}
.dw-dash-flag strong{ display:block; }

.dw-dash-note{
  /* Was 7.5px. Still the secondary, in-mock restatement of .dw-dash-flag
   * above, but no longer effectively invisible. */
  font-size:10px;
  color:var(--dw-subtle);
  text-align:right;
}

/* ---------- Partners — reference y1112..1254 (142px) ---------- */
.dw-partners{
  padding:18px var(--dw-gutter) 14px;
  background:#fff;
}
.dw-partners-title{font-size:20px}
.dw-partner-row{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  margin-top:16px;
}
.dw-partner-row li{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  padding:0 8px;
  text-align:center;
}
.dw-partner-row li + li{border-left:1px solid var(--line)}
/* Honest text badge standing in for licensed artwork. See the HTML comment. */
.dw-partner-badge{
  display:grid;
  place-content:center;
  width:100%;
  max-width:96px;
  min-height:38px;
  padding:4px 6px;
  border:1px solid var(--dw-border-strong);
  border-radius:6px;
  font-size:7.5px;
  font-weight:700;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:#4b565a;
  line-height:1.35;
}
.dw-partner-name{font-size:9px;font-weight:600;color:#22292c;line-height:1.35}

/* ---------- Closing CTA — reference y1254..1394 (140px) ---------- */
.dw-cta{
  display:grid;
  grid-template-columns:333px 1fr;
  align-items:stretch;
  background:var(--dw-surface-warm);
  overflow:hidden;
}
.dw-cta-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.dw-cta-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 var(--dw-gutter) 0 46px;
}
.dw-cta-copy h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:24px;
  line-height:1.15;
  letter-spacing:-.5px;
  color:var(--ink);
}
.dw-cta-copy p{
  margin-top:9px;
  font-size:11px;
  color:#3a4245;
}
.dw-cta-actions{
  display:flex;
  align-items:center;
  gap:30px;
  margin-top:20px;
}

/* ---------- Footer — reference y1394..1536 (142px) ---------- */
.dw-footer{
  background:#fff;
  padding:24px var(--dw-gutter) 14px;
}
.dw-footer-inner{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:24px;
}
.dw-footer-brand img{width:105px;height:auto}
.dw-footer-brand p{
  margin-top:12px;
  font-size:9px;
  line-height:1.7;
  color:#4a5356;
}
.dw-footer-col{display:grid;align-content:start;gap:7px}
.dw-footer-head{font-size:9.5px;font-weight:700;color:#16232a;margin-bottom:2px}
.dw-footer-col a{font-size:9px;color:#4a5356}
.dw-footer-col a:hover{opacity:.72}
.dw-footer-legal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:22px;
  font-size:8px;
  color:#6b7376;
}
.dw-footer-legal nav{display:flex;gap:22px}
.dw-footer-legal a:hover{opacity:.72}

/* =====================================================================
   RESPONSIVE
   The reference composition is authored at 1024px. Wider viewports keep
   the same composition centred; narrower ones restack.
   ===================================================================== */

/* --- 1440px and up ---------------------------------------------------
   The gutter opens up so the flowing sections breathe, but the hero photo
   and the "Meet Aliya" card KEEP their authored pixel sizes and stay
   right-anchored together.

   That pinning is load-bearing, not stylistic. The approved hero photograph
   is a crop of the reference composition, and the reference had its own
   Aliya card painted into those pixels. The live card is positioned to sit
   exactly on top of it. If either the photo or the card is allowed to scale
   independently, they drift apart and the painted card reappears from behind
   the real one. Both therefore stay fixed at every desktop width.
   ------------------------------------------------------------------- */
@media (min-width:1440px){
  :root{--dw-gutter:calc((100vw - 1316px) / 2)}
  .dw-hero-copy{max-width:470px}
  .dw-section-title{font-size:27px}
  .dw-observatory{grid-template-columns:320px 1fr;gap:40px}
  .dw-observatory-copy h2{font-size:28px}
  .dw-cta{grid-template-columns:400px 1fr}
  .dw-cta-copy h2{font-size:27px}
}

/* --- 1024–1439px: the native reference composition. No overrides. --- */

/* --- 768–1023px: two-up steps, dashboard below the copy --- */
@media (max-width:1023px){
  :root{--dw-gutter:40px}

  .dw-nav{display:none}

  .dw-hero{height:auto;padding-bottom:26px}
  .dw-hero-media{
    position:relative;
    width:100%;
    height:300px;
    margin-bottom:20px;
  }
  .dw-hero-img-wide{display:none}
  .dw-hero-img-stacked{display:block;object-position:center 28%}
  .dw-hero-media::after{
    background:linear-gradient(180deg,rgba(255,255,255,.35) 0%,rgba(255,255,255,0) 45%);
  }
  .dw-hero-copy{padding:0 var(--dw-gutter);max-width:none}
  .dw-hero h1{font-size:44px}
  .dw-hero-body{font-size:14px}
  .dw-hero-body br{display:none}
  .dw-aliya-card{
    position:static;
    width:auto;
    max-width:420px;
    height:auto;
    margin:26px var(--dw-gutter) 0;
    padding:20px;
  }
  .dw-aliya-title{font-size:20px}
  .dw-aliya-role,.dw-aliya-body{font-size:13px}
  .dw-aliya-body{line-height:1.7}
  .dw-aliya-cta{margin-top:18px;font-size:12px;height:44px}

  .dw-steps{grid-template-columns:repeat(2,1fr);gap:28px 20px}
  .dw-step:not(:last-child)::before,
  .dw-step:not(:last-child)::after{display:none}
  .dw-step h3{font-size:14px}
  .dw-step p{font-size:12.5px}
  .dw-step p br{display:none}

  .dw-observatory{grid-template-columns:1fr;gap:26px;padding:38px var(--dw-gutter)}
  .dw-observatory-copy h2{font-size:30px}
  .dw-observatory-copy h2 br{display:none}
  .dw-observatory-body,.dw-outcomes li{font-size:13px}
  .dw-observatory-cta{height:44px;font-size:12px}
  /* The dashboard keeps its authored proportions and scrolls inside its own
     container rather than forcing the page to scroll horizontally. */
  .dw-dashboard{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .dw-dash-body{min-width:640px}

  .dw-section-title{font-size:26px}
  .dw-partner-row{grid-template-columns:repeat(4,1fr);gap:22px 0}
  .dw-partner-row li + li{border-left:0}
  .dw-partner-badge{min-height:52px;font-size:9px}
  .dw-partner-name{font-size:11px}

  .dw-cta{grid-template-columns:1fr}
  .dw-cta-photo{height:190px}
  .dw-cta-copy{padding:28px var(--dw-gutter) 34px}
  .dw-cta-copy h2{font-size:28px}
  .dw-cta-copy p{font-size:14px}
  .dw-cta-actions{gap:22px;flex-wrap:wrap}

  .dw-footer-inner{grid-template-columns:repeat(2,1fr);gap:28px}
  .dw-footer-brand{grid-column:1 / -1}
  .dw-footer-brand p,.dw-footer-col a{font-size:12px}
  .dw-footer-head{font-size:12.5px}
  .dw-footer-legal{font-size:11px;flex-wrap:wrap}
}

/* --- 390–767px: single column, 44px touch targets --- */
@media (max-width:767px){
  :root{--dw-gutter:22px}

  .dw-header{gap:12px;padding:0 var(--dw-gutter)}
  .dw-nav{display:none}
  .dw-brand img{width:100px}
  .dw-context{font-size:11px}
  .dw-header-actions .dw-btn{height:44px;padding:0 14px;font-size:10px}

  .dw-hero-media{height:230px}
  .dw-hero h1{font-size:36px;letter-spacing:-.9px}
  .dw-hero h1 br{display:none}
  .dw-hero-body{font-size:13.5px}
  .dw-hero-actions{gap:18px;flex-wrap:wrap}
  .dw-hero-actions .dw-btn,
  .dw-hero-actions .dw-link{min-height:44px}
  .dw-hero-actions .dw-btn{height:44px;font-size:12.5px}

  .dw-journey{padding:32px var(--dw-gutter)}
  .dw-section-title{font-size:22px;text-align:left}
  .dw-rule{margin-left:0}
  .dw-steps{grid-template-columns:1fr;gap:24px}
  .dw-step{text-align:left;padding:0}
  .dw-step-icon{margin:0 0 12px}

  .dw-observatory-copy h2{font-size:26px}
  .dw-partner-row{grid-template-columns:repeat(2,1fr);gap:20px 0}
  .dw-partners-title,.dw-cta-copy h2{font-size:22px}

  .dw-cta-photo{height:150px}
  .dw-cta-actions .dw-btn{height:44px;width:100%}
  .dw-cta-actions .dw-link{min-height:44px}
  .dw-cta-actions{gap:12px;flex-direction:column;align-items:flex-start}

  .dw-footer-inner{grid-template-columns:1fr;gap:24px}
  /* 44px touch targets for the footer link lists. */
  .dw-footer-col{gap:0}
  .dw-footer-col a{display:flex;align-items:center;min-height:44px}
  .dw-footer-legal a{display:inline-flex;align-items:center;min-height:44px}
  .dw-footer-legal{flex-direction:column;align-items:flex-start;gap:12px}
  .dw-footer-legal nav{flex-wrap:wrap;gap:16px}
}

/* --- below 390px: tighten so nothing overflows --- */
@media (max-width:389px){
  :root{--dw-gutter:16px}
  .dw-hero h1{font-size:31px}
  .dw-section-title{font-size:20px}
  .dw-partner-row{grid-template-columns:1fr}
  .dw-header-actions .dw-btn{padding:0 11px;font-size:9.5px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}
