@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,300..700;1,8..60,400&family=Archivo:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap");
/* tokens/fonts.css */
/* D. Math Academy webfonts — Google Fonts substitutions.
   No brand font files were provided; see readme.md "Font substitution". */



/* tokens/colors.css */
:root{
/* ── Base: navy (primary) — sampled #0E30A3 from channel art ─── */
--navy-50:#F2F5FD;--navy-100:#D3DCF4;--navy-200:#A7B8E9;--navy-300:#6E86D6;
--navy-400:#3453BC;--navy-500:#0E30A3;--navy-600:#0A2685;--navy-700:#071C63;--navy-800:#05144A;

/* ── Base: gold (secondary) — sampled #FBD248 ────────────────── */
--gold-50:#FFFBEE;--gold-100:#FEF3CE;--gold-200:#FDE79E;--gold-300:#FCDD70;
--gold-400:#FBD248;--gold-500:#E8BB2A;--gold-600:#C69A1C;--gold-700:#967314;--gold-800:#6E5209;

/* ── Base: paper (neutral surfaces) ──────────────────────────── */
--paper-50:#FDFCFA;--paper-100:#F7F5F0;--paper-200:#F0EDE6;--paper-300:#E3DFD6;--paper-400:#CFCAC0;

/* ── Base: ink (text) — navy-shifted, never pure black ───────── */
--ink-900:#14192E;--ink-800:#262B40;--ink-700:#3E4358;--ink-600:#5E6377;--ink-500:#6B6F80;--ink-400:#A8ACB9;

/* ── Base: secondary accents from the thumbnails ─────────────── */
--teal-100:#D6F4F7;--teal-300:#45D8E5;--teal-500:#12909E;--teal-700:#0B5D68;
--coral-100:#FBDFD9;--coral-500:#DF4E37;--coral-700:#A4331F;

/* ── Semantic: text ──────────────────────────────────────────── */
--text-heading:var(--navy-700);
--text-body:var(--ink-700);
--text-muted:var(--ink-500);
--text-on-navy:#FFFFFF;
--text-on-gold:var(--navy-700);
--text-link:var(--navy-500);
--text-link-hover:var(--navy-700);

/* ── Semantic: surface ───────────────────────────────────────── */
--surface-page:var(--paper-100);
--surface-card:#FFFFFF;
--surface-sunken:var(--paper-200);
--surface-inverse:var(--navy-700);
--surface-accent:var(--navy-50);
--surface-accent-strong:var(--navy-500);
--surface-highlight:var(--gold-400);
--surface-highlight-soft:var(--gold-100);

/* ── Semantic: border ────────────────────────────────────────── */
--border-subtle:var(--paper-300);
--border-strong:var(--paper-400);
--border-accent:var(--navy-200);
--border-focus:var(--navy-500);

/* ── Semantic: status (seat availability) ────────────────────── */
--status-open-bg:var(--teal-100);--status-open-fg:var(--teal-700);
--status-few-bg:var(--gold-100);--status-few-fg:var(--gold-800);
--status-full-bg:var(--coral-100);--status-full-fg:var(--coral-700);
}


/* tokens/typography.css */
:root{
--font-serif:"Source Serif 4",Georgia,"Times New Roman",serif;
--font-sans:"Archivo","Helvetica Neue",Arial,sans-serif;
--font-mono:"IBM Plex Mono",ui-monospace,monospace;

/* Display + headings: serif, tight, optical sizing on */
--text-display-size:clamp(2.75rem,5.2vw,4.25rem);--text-display-lh:1.04;--text-display-ls:-0.022em;
--text-h1-size:3rem;--text-h1-lh:1.08;--text-h1-ls:-0.02em;
--text-h2-size:2.125rem;--text-h2-lh:1.14;--text-h2-ls:-0.015em;
--text-h3-size:1.5rem;--text-h3-lh:1.25;--text-h3-ls:-0.01em;
--text-h4-size:1.1875rem;--text-h4-lh:1.35;--text-h4-ls:-0.005em;

/* Body: serif, generous leading for parent-facing reading */
--text-lede-size:1.3125rem;--text-lede-lh:1.55;
--text-body-size:1.0625rem;--text-body-lh:1.65;
--text-small-size:0.9375rem;--text-small-lh:1.55;

/* Labels, buttons, nav, meta: sans */
--text-label-size:0.875rem;--text-label-lh:1.2;--text-label-ls:0.01em;
--text-eyebrow-size:0.75rem;--text-eyebrow-lh:1.2;--text-eyebrow-ls:0.14em;
--text-caption-size:0.8125rem;--text-caption-lh:1.45;

--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;
}


/* tokens/spacing.css */
:root{
/* 4px base step */
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;
--space-20:80px;--space-24:96px;--space-32:128px;

/* Section rhythm */
--section-y:96px;--section-y-tight:64px;
--container-max:1160px;--container-narrow:720px;--gutter:24px;
}


/* tokens/effects.css */
:root{
/* Radii — soft but not pill-shaped, except pills for tags/buttons */
--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--radius-circle:50%;

/* Shadows — navy-tinted, low and diffuse. Never neutral-grey/black. */
--shadow-xs:0 1px 2px rgba(7,28,99,.07);
--shadow-sm:0 2px 6px rgba(7,28,99,.08);
--shadow-md:0 6px 18px rgba(7,28,99,.11);
--shadow-lg:0 16px 40px rgba(7,28,99,.14);
--shadow-inset:inset 0 1px 0 rgba(255,255,255,.7);

/* Borders */
--border-width:1px;--border-width-strong:2px;
--ring-focus:0 0 0 3px var(--navy-200);

/* Motion */
--ease-out:cubic-bezier(.22,.61,.36,1); /* @kind other */
--ease-in-out:cubic-bezier(.4,0,.2,1); /* @kind other */
--dur-fast:120ms; /* @kind other */
--dur-base:200ms; /* @kind other */
--dur-slow:320ms; /* @kind other */
--transition-base:all var(--dur-base) var(--ease-out);
}


/* tokens/patterns.css */
/* Geometric math patterns — the brand's stand-in for photography.
   Apply as a class on any block; all are pure CSS so they scale and recolor. */
:root{
--pattern-ink:rgba(14,48,163,.14);
--pattern-ink-soft:rgba(14,48,163,.08);
--pattern-grid-size:24px;
--pattern-dot-size:20px;
}
/* Graph paper — hero backdrops, page washes */
.dm-pattern-grid{background-color:var(--surface-accent);background-image:linear-gradient(var(--pattern-ink-soft) 1px,transparent 1px),linear-gradient(90deg,var(--pattern-ink-soft) 1px,transparent 1px);background-size:var(--pattern-grid-size) var(--pattern-grid-size)}
/* Dot lattice — cards, sidebars, empty states */
.dm-pattern-dots{background-color:var(--surface-sunken);background-image:radial-gradient(var(--pattern-ink) 1.5px,transparent 1.5px);background-size:var(--pattern-dot-size) var(--pattern-dot-size)}
/* Diagonal hatch — accent bands, image placeholders */
.dm-pattern-hatch{background-color:var(--navy-50);background-image:repeating-linear-gradient(45deg,var(--pattern-ink) 0 1.5px,transparent 1.5px 9px)}
/* Isometric triangles — footers, section dividers */
.dm-pattern-tri{background-color:var(--surface-sunken);background-image:repeating-linear-gradient(60deg,var(--pattern-ink-soft) 0 1px,transparent 1px 22px),repeating-linear-gradient(-60deg,var(--pattern-ink-soft) 0 1px,transparent 1px 22px)}
/* Concentric arcs — decorative corners behind the mark */
.dm-pattern-arcs{background-color:var(--gold-100);background-image:repeating-radial-gradient(circle at 0% 100%,transparent 0 26px,var(--pattern-ink) 26px 27px)}
/* Gold band — the channel's signature full-bleed highlight */
.dm-band-gold{background-color:var(--gold-400);color:var(--navy-700)}


/* styles.css */

/* ══ static port of the D. Math Academy design-system components ══
   Ported 1:1 from _ds_bundle.js so the markup needs no JavaScript. */

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-serif)}
img{max-width:100%}
a{color:var(--navy-600)}
a:hover{color:var(--navy-700)}
h1,h2,h3,h4,p,blockquote,figure,dl,dd{margin:0}
ul,ol{margin:0}

/* ---- layout primitives (from the DC template) ---- */
.dm-wrap{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter)}
.dm-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--gutter)}
.dm-sect{padding:var(--section-y) 0}
.dm-sect--tight{padding:var(--section-y-tight) 0}
.dm-page{background:var(--surface-page)}
.dm-sunken{background:var(--surface-sunken)}
.dm-inverse{background:var(--surface-inverse)}
.dm-gold{background:var(--gold-400)}
.dm-hairline{border-bottom:1px solid var(--border-subtle)}
.dm-grid{display:grid;gap:var(--space-5)}
.dm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dm-split{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-16);align-items:center}
.dm-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}
.dm-stack{display:flex;flex-direction:column;gap:var(--space-5)}
.dm-between{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap}

/* ---- Icon: Lucide via CSS mask, inherits currentColor ---- */
.dm-i{display:inline-block;width:20px;height:20px;flex:0 0 auto;background-color:currentColor;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.dm-i--13{width:13px;height:13px}
.dm-i--16{width:16px;height:16px}
.dm-i--19{width:19px;height:19px}
.dm-i--21{width:21px;height:21px}
.dm-i--24{width:24px;height:24px}

/* ---- Button ---- */
.dm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;
  font-family:var(--font-sans);font-size:14px;font-weight:var(--weight-medium);
  letter-spacing:var(--text-label-ls);line-height:1.2;border-radius:var(--radius-pill);
  cursor:pointer;text-decoration:none;outline:none;
  transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out);
  background:var(--navy-500);color:var(--text-on-navy);border:1px solid var(--navy-500);box-shadow:var(--shadow-sm)}
.dm-btn:hover{background:var(--navy-600);border-color:var(--navy-600);color:var(--text-on-navy)}
.dm-btn:active{transform:translateY(1px);box-shadow:none}
.dm-btn:focus-visible{box-shadow:var(--ring-focus)}
.dm-btn--sm{padding:8px 15px;font-size:13px;gap:7px}
.dm-btn--lg{padding:15px 26px;font-size:15px;gap:9px}
.dm-btn--full{display:flex;width:100%}
.dm-btn--secondary{background:var(--surface-card);color:var(--navy-700);border:1px solid var(--border-accent);box-shadow:var(--shadow-xs)}
.dm-btn--secondary:hover{background:var(--navy-50);color:var(--navy-700);border-color:var(--border-accent)}
.dm-btn--ghost{background:transparent;color:var(--navy-700);border:1px solid transparent;box-shadow:none}
.dm-btn--ghost:hover{background:var(--navy-50);color:var(--navy-700)}
.dm-btn--gold{background:var(--gold-400);color:var(--navy-700);border-color:var(--gold-400)}
.dm-btn--gold:hover{background:var(--gold-500);color:var(--navy-700);border-color:var(--gold-500)}
.dm-btn--inverse{background:var(--navy-700);color:#fff;border-color:var(--navy-700)}
.dm-btn--inverse:hover{background:var(--navy-600);color:#fff}

/* ---- Tag ---- */
.dm-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--radius-pill);
  background:var(--paper-200);color:var(--ink-700);font-family:var(--font-sans);font-size:12px;
  font-weight:var(--weight-semibold);letter-spacing:.02em;line-height:1.3;white-space:nowrap}
.dm-tag--accent{background:var(--navy-100);color:var(--navy-700)}
.dm-tag--gold{background:var(--gold-200);color:var(--gold-700)}
.dm-tag--open{background:var(--status-open-bg);color:var(--status-open-fg)}
.dm-tag--few{background:var(--status-few-bg);color:var(--status-few-fg)}
.dm-tag--full{background:var(--status-full-bg);color:var(--status-full-fg)}

/* ---- Card ---- */
.dm-card{border-radius:var(--radius-lg);padding:var(--space-6);background:var(--surface-card);
  border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);
  transition:box-shadow var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.dm-card--pad8{padding:var(--space-8)}
.dm-card--interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.dm-card--sunken{background:var(--surface-sunken)}
.dm-card--gold{background:var(--surface-highlight);border-color:var(--gold-500);color:var(--navy-700)}

/* ---- SectionHeading ---- */
.dm-head{display:flex;flex-direction:column;gap:var(--space-3);max-width:620px;align-items:flex-start}
.dm-head--wide{max-width:780px}
.dm-eyebrow{font-family:var(--font-sans);font-size:var(--text-eyebrow-size);font-weight:var(--weight-semibold);
  letter-spacing:var(--text-eyebrow-ls);text-transform:uppercase;color:var(--navy-600)}
.dm-head h1,.dm-head h2{font-family:var(--font-serif);font-size:var(--text-h2-size);line-height:var(--text-h2-lh);
  letter-spacing:var(--text-h2-ls);font-weight:var(--weight-semibold);color:var(--text-heading);text-wrap:pretty}
.dm-lede{font-family:var(--font-serif);font-size:var(--text-lede-size);line-height:var(--text-lede-lh);
  color:var(--text-body);text-wrap:pretty}

/* ---- display heading (hero h1) ---- */
.dm-display{font-family:var(--font-serif);font-size:var(--text-display-size);line-height:var(--text-display-lh);
  letter-spacing:var(--text-display-ls);font-weight:600;color:var(--text-heading);text-wrap:balance}
.dm-h3{font-family:var(--font-serif);font-size:var(--text-h3-size);line-height:var(--text-h3-lh);
  letter-spacing:var(--text-h3-ls);font-weight:var(--weight-semibold);color:var(--text-heading)}
.dm-h4{font-family:var(--font-serif);font-size:var(--text-h4-size);font-weight:600;color:var(--text-heading)}
.dm-body{font-family:var(--font-serif);font-size:var(--text-body-size);line-height:var(--text-body-lh);
  color:var(--text-body);text-wrap:pretty}
.dm-small{font-family:var(--font-serif);font-size:var(--text-small-size);line-height:1.65;color:var(--text-body);text-wrap:pretty}
.dm-cap{font-family:var(--font-sans);font-size:var(--text-caption-size);color:var(--text-muted)}
.dm-mono{font-family:var(--font-mono)}
.dm-measure{max-width:46ch}
.dm-prose{max-width:68ch}

/* ---- ClassCard ---- */
.dm-class{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6)}
.dm-class__tags{display:flex;gap:var(--space-2);flex-wrap:wrap}
.dm-class__meta{display:flex;flex-direction:column;gap:var(--space-2)}
.dm-class__meta span{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);
  font-size:var(--text-small-size);color:var(--text-body)}
.dm-class__hr{height:1px;background:var(--border-subtle)}
.dm-class__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.dm-class__price{font-family:var(--font-serif);font-size:1.0625rem;color:var(--ink-800);white-space:nowrap}

/* ---- header ---- */
.dm-hdr{position:sticky;top:0;z-index:20;background:rgba(247,245,240,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-subtle)}
.dm-hdr__bar{max-width:var(--container-max);margin:0 auto;padding:0 var(--gutter);height:76px;
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-8)}
.dm-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.dm-logo img{width:40px;height:40px;display:block}
.dm-logo span{font-family:var(--font-serif);font-weight:var(--weight-semibold);font-size:20px;
  letter-spacing:-.015em;line-height:1;color:var(--navy-700);white-space:nowrap}
.dm-logo--light span{color:#fff}
.dm-logo--light img{filter:invert(1) brightness(1.08)}
.dm-nav{display:flex;align-items:center;gap:var(--space-6)}
.dm-nav a{font-family:var(--font-sans);font-size:var(--text-label-size);font-weight:500;
  text-decoration:none;padding-bottom:3px;color:var(--navy-500);border-bottom:2px solid transparent}
.dm-nav a:hover{border-bottom-color:var(--navy-200)}
.dm-nav a[aria-current=page]{color:var(--navy-700);border-bottom-color:var(--navy-500)}
.dm-nav a.dm-nav__ondemand{color:var(--gold-700)}
.dm-nav a.dm-nav__shop{font-weight:600;padding:6px 14px;border-radius:var(--radius-pill);
  background:var(--gold-400);color:var(--navy-700);border-bottom:none;
  animation:dm-nav-blink 1.8s steps(1,end) infinite}
@keyframes dm-nav-blink{
  0%,32.9%{background:var(--gold-400);color:var(--navy-700)}
  33%,65.9%{background:#D90000;color:#fff}
  66%,100%{background:var(--navy-500);color:#fff}}
.dm-navbox{display:none}
.dm-menu{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-8px;
  background:transparent;border:none;border-radius:var(--radius-pill);color:var(--navy-600);cursor:pointer}

/* ---- photo band (CTA / Gulf) ---- */
.dm-band{position:relative;border-radius:24px;overflow:hidden;padding:var(--space-12);background:var(--navy-700)}
.dm-band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dm-band__wash{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(10,18,48,.90) 0%,rgba(10,18,48,.58) 48%,rgba(10,18,48,.06) 88%),
             linear-gradient(180deg,rgba(14,48,163,.14),rgba(14,48,163,.20))}
.dm-band__in{position:relative;display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-10);flex-wrap:wrap;text-shadow:0 1px 2px rgba(10,18,48,.9),0 2px 12px rgba(10,18,48,.7)}
.dm-band h2{font-family:var(--font-serif);font-size:var(--text-h2-size);line-height:var(--text-h2-lh);
  letter-spacing:var(--text-h2-ls);font-weight:600;color:#fff}
.dm-band p{font-family:var(--font-serif);font-size:var(--text-body-size);line-height:1.65;color:rgba(255,255,255,.9)}

/* ---- gold panel ---- */
.dm-panel{border-radius:24px;padding:var(--space-10);background:var(--gold-400)}
.dm-panel__in{display:flex;align-items:center;justify-content:space-between;gap:var(--space-10);flex-wrap:wrap}

/* ---- step card (how it works) ---- */
.dm-step{position:relative;display:flex;flex-direction:column;min-height:300px;border-radius:16px;
  overflow:hidden;box-shadow:var(--shadow-xs);border:1px solid var(--border-subtle);background:var(--surface-card)}
.dm-step__img{position:relative;height:132px;flex:0 0 auto;background:var(--paper-200)}
.dm-step__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dm-step__in{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-8)}
.dm-step__dot{width:44px;height:44px;border-radius:var(--radius-circle);background:var(--navy-50);
  color:var(--navy-600);display:inline-flex;align-items:center;justify-content:center}
.dm-step__n{font-family:var(--font-mono);font-size:13px;color:var(--navy-500);margin-right:8px}

/* ---- quote band ---- */
.dm-quote{font-family:var(--font-serif);font-size:2rem;line-height:1.3;letter-spacing:-.015em;
  color:var(--paper-50);text-wrap:balance}
.dm-quote__by{font-family:var(--font-sans);font-size:var(--text-caption-size);letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold-400)}

/* ---- testimonial ---- */
.dm-t__foot{margin-top:auto;padding-top:var(--space-5);border-top:1px solid var(--border-subtle);
  display:flex;align-items:center;gap:var(--space-4)}
.dm-t__pic{width:52px;height:52px;flex:0 0 auto;border-radius:var(--radius-circle);
  border:1px solid var(--border-subtle);background-color:var(--paper-200);background-size:cover;background-position:center}

/* ---- FAQ ---- */
.dm-faq{border-bottom:1px solid var(--border-subtle)}
.dm-faq summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);
  padding:var(--space-5) 0;cursor:pointer;list-style:none;font-family:var(--font-serif);
  font-size:var(--text-h4-size);font-weight:var(--weight-semibold);color:var(--text-heading)}
.dm-faq summary::-webkit-details-marker{display:none}
.dm-faq summary:after{content:"";width:20px;height:20px;flex:0 0 auto;background-color:var(--navy-600);
  -webkit-mask:url("https://unpkg.com/lucide-static@0.544.0/icons/plus.svg") no-repeat center/contain;
  mask:url("https://unpkg.com/lucide-static@0.544.0/icons/plus.svg") no-repeat center/contain}
.dm-faq[open] summary:after{-webkit-mask-image:url("https://unpkg.com/lucide-static@0.544.0/icons/minus.svg");
  mask-image:url("https://unpkg.com/lucide-static@0.544.0/icons/minus.svg")}
.dm-faq__a{padding:0 0 var(--space-6)}

/* ---- forms ---- */
.dm-field{display:flex;flex-direction:column;gap:8px}
.dm-label{font-family:var(--font-sans);font-size:var(--text-label-size);font-weight:600;color:var(--text-heading)}
.dm-input,.dm-select,.dm-textarea{font-family:var(--font-serif);font-size:var(--text-body-size);
  padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);
  background:var(--surface-card);color:var(--text-body);width:100%;transition:var(--transition-base)}
.dm-input:focus,.dm-select:focus,.dm-textarea:focus{outline:none;border-color:var(--navy-500);box-shadow:var(--ring-focus)}
.dm-textarea{resize:vertical;min-height:120px}

/* ---- footer ---- */
.dm-ftr{background:var(--surface-inverse);color:rgba(255,255,255,.72);padding:var(--section-y-tight) 0 40px;
  font-family:var(--font-sans);font-size:.9375rem}
.dm-ftr a{color:rgba(255,255,255,.86);text-decoration:none}
.dm-ftr a:hover{color:#fff;text-decoration:underline}
.dm-ftr h4{font-family:var(--font-sans);font-size:var(--text-eyebrow-size);text-transform:uppercase;
  letter-spacing:var(--text-eyebrow-ls);font-weight:600;color:#fff;margin-bottom:14px}
.dm-ftr__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-10)}
.dm-ftr ul{list-style:none;padding:0;display:grid;gap:9px}
.dm-ftr__fine{margin-top:var(--space-10);font-size:.8125rem;color:rgba(255,255,255,.5)}

.dm-crumbs{font-family:var(--font-sans);font-size:.8125rem;color:var(--text-muted);padding:18px 0 0}
.dm-crumbs a{color:var(--text-muted)}

/* ---- responsive (mirrors the DC template's breakpoints) ---- */
@media (max-width:1024px){
  .dm-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dm-split{grid-template-columns:minmax(0,1fr);gap:var(--space-10)}
}
@media (max-width:860px){
  .dm-hdr__bar{position:relative;flex-wrap:wrap}
  .dm-navbox{display:block}
  .dm-menu{display:inline-flex}
  .dm-hdr__bar>.dm-nav{display:none}
  .dm-navbox[open] .dm-nav{display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;left:0;right:0;top:100%;background:var(--paper-100);
    border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-md);padding:4px var(--gutter) 18px}
  .dm-navbox[open] .dm-nav>a{padding:15px 2px;font-size:1.0625rem;border-bottom:1px solid var(--border-subtle)}
  .dm-navbox summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;color:var(--navy-600)}
  .dm-navbox summary::-webkit-details-marker{display:none}
}
@media (max-width:760px){
  :root{--section-y:60px;--section-y-tight:48px;--space-16:40px;--space-12:28px;--space-10:24px;
    --text-h1-size:clamp(2rem,8.5vw,3rem);--text-h2-size:clamp(1.6rem,6.8vw,2.125rem);--text-lede-size:1.125rem}
  .dm-grid--2,.dm-grid--3,.dm-ftr__grid{grid-template-columns:minmax(0,1fr)}
  .dm-quote{font-size:clamp(1.375rem,6.4vw,2rem)}
  .dm-band{padding:var(--space-8)}
  input,textarea,select{font-size:16px}
}
