/* Dental marketing: the morning huddle. Page-scoped styles (dn-). */
.dn-page {
  --dn-linen: #f2eee6;
  --dn-paper: #fbfaf6;
  --dn-sheet: #ffffff;
  --dn-ink: #1c2433;
  --dn-soft: #4f5967;
  --dn-muted: #6a7280;
  --dn-rule: #ddd8ce;
  --dn-coral: #b9482f;
  --dn-coral-deep: #963824;
  --dn-coral-wash: #f6e2da;
  --dn-sage: #3f7159;
  --dn-sage-deep: #2f5844;
  --dn-sage-wash: #e1ece5;
  --dn-marker: #f1ea7c;
  --dn-board: #8f6a44;
  --dn-board-2: #7b5a39;
  --dn-navy: #172030;
  --dn-red: #b3312f;
  --dn-amber: #94600a;
  --dn-green: #3f7159;
  color: var(--dn-ink);
  background: var(--dn-paper);
  font-family: var(--font-sans);
  font-size: 16.5px;
  line-height: 1.65;
  overflow: clip;
}
.dn-page *,
.dn-page *::before,
.dn-page *::after { box-sizing: border-box; }
.dn-page :where(h1, h2, h3, p, ol, ul, figure, dl, dd) { margin: 0; }
.dn-page :where(ol, ul) { padding: 0; list-style: none; }
.dn-page ::selection { background: var(--dn-marker); color: var(--dn-ink); }
.dn-page a:focus-visible,
.dn-page summary:focus-visible,
.dn-page [tabindex]:focus-visible {
  outline: 2px solid var(--dn-coral);
  outline-offset: 4px;
}
.dn-page section[id] { scroll-margin-top: 130px; }
.dn-wrap { width: min(100% - 80px, 1280px); margin-inline: auto; }
.dn-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.dn-page h1, .dn-page h2 {
  font-family: var(--font-serif);
  font-weight: 500;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
.dn-page h2 { font-size: clamp(2.2rem, 3.6vw, 3.7rem); line-height: 1.05; }
.dn-page h1 em, .dn-page h2 em { font-style: italic; }
.dn-page h3 { font-size: 1.08rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.005em; }
.dn-section { padding: clamp(72px, 9vw, 120px) 0; }
.dn-section p { max-width: 68ch; }
.dn-page p a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.dn-page p a:hover { color: var(--dn-coral); }
.dn-tie { margin-top: 26px; font-weight: 500; }

/* Buttons and quiet links */
.dn-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; margin-top: 28px; }
.dn-button {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 0 26px;
  border-radius: 999px;
  background: var(--dn-coral);
  color: #fff;
  font-weight: 700;
  font-size: 15.5px;
  text-decoration: none;
  box-shadow: 0 8px 20px -10px rgba(150, 56, 36, 0.75);
  transition: background-color 160ms ease-out, transform 160ms ease-out;
}
.dn-button:hover { background: var(--dn-coral-deep); transform: translateY(-1px); }
.dn-quiet-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--dn-ink);
  font-weight: 600;
  font-size: 15px;
  text-decoration: underline;
  text-decoration-color: rgba(28, 36, 51, 0.3);
  text-underline-offset: 5px;
}
.dn-quiet-link:hover { text-decoration-color: currentColor; }
.dn-close .dn-quiet-link { color: #edf0f4; text-decoration-color: rgba(237, 240, 244, 0.35); }

/* Hero: the break room wall, before the huddle */
.dn-hero-shell {
  background: linear-gradient(180deg, #ebe5da 0%, var(--dn-linen) 55%, #f5f2ec 100%);
  padding-top: 101px;
  border-bottom: 1px solid var(--dn-rule);
}
.dn-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; padding-top: 28px; font-size: 12.5px; color: var(--dn-soft); }
.dn-breadcrumb a { color: inherit; text-decoration: none; }
.dn-breadcrumb a:hover { color: var(--dn-ink); }
.dn-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(36px, 5vw, 80px);
  align-items: start;
  padding: clamp(28px, 3.5vw, 48px) 0 clamp(60px, 7vw, 96px);
}
.dn-hero-copy { position: sticky; top: 104px; padding-top: 8px; }
.dn-hero h1 { font-size: clamp(2.6rem, 4vw, 4rem); line-height: 1.02; }
.dn-hero .h1-kicker { color: var(--dn-coral-deep); }
.dn-h1-line { display: block; }
.dn-hero h1 em { display: block; color: var(--dn-sage); }
.dn-lede { margin-top: 20px; max-width: 54ch; font-size: 1.1rem; line-height: 1.6; color: #2a3140; }
.dn-price {
  display: grid;
  gap: 4px;
  margin-top: 20px;
  padding-top: 14px;
  border-top: 1px solid rgba(28, 36, 51, 0.16);
  max-width: 540px;
}
.dn-price span { font-size: 1rem; }
.dn-price strong { font-weight: 700; margin-right: 6px; }
.dn-price small { font-size: 13px; color: var(--dn-soft); }
.dn-hero-copy .dn-actions { margin-top: 22px; }

/* The huddle sheet on its clipboard */
.dn-huddle { position: relative; min-width: 0; }
.dn-huddle > .dn-sheet, .dn-clip { position: relative; }
.dn-huddle::before {
  content: "";
  position: absolute;
  inset: 0 0 34px 0;
  border-radius: 18px;
  background: linear-gradient(160deg, var(--dn-board) 0%, var(--dn-board-2) 100%);
  box-shadow: 0 30px 50px -30px rgba(60, 40, 20, 0.6);
}
.dn-clip {
  z-index: 2;
  width: 132px;
  height: 34px;
  margin: 0 auto -14px;
  top: -8px;
  border-radius: 8px 8px 12px 12px;
  background: linear-gradient(180deg, #d4d8dd 0%, #9fa5ad 100%);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.25);
}
.dn-sheet {
  z-index: 1;
  margin: 0 18px;
  padding: 30px 26px 22px;
  background: var(--dn-sheet);
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
.dn-sheet-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 10px; border-bottom: 2px solid var(--dn-ink); }
.dn-sheet-title { font-family: var(--font-serif); font-size: 1.7rem; line-height: 1.05; letter-spacing: -0.01em; }
.dn-sheet-date { font-size: 12.5px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--dn-muted); }
.dn-sheet-summary { margin-top: 12px; font-size: 14.5px; line-height: 1.5; }
.dn-page mark { background: linear-gradient(180deg, transparent 12%, var(--dn-marker) 12%, var(--dn-marker) 88%, transparent 88%); color: inherit; padding: 0 2px; }
.dn-group { margin-top: 16px; }
.dn-group-title { font-size: 11.5px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--dn-coral-deep); padding-bottom: 4px; border-bottom: 1px solid var(--dn-rule); }
.dn-group li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; padding: 8px 0; border-bottom: 1px dashed var(--dn-rule); }
.dn-group li:last-child { border-bottom: 0; }
.dn-box {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-top: 2px;
  border: 1.5px solid var(--dn-sage);
  border-radius: 4px;
  color: var(--dn-sage);
  background: var(--dn-sage-wash);
}
.dn-item { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 0 12px; font-size: 13.5px; line-height: 1.45; }
.dn-when { grid-row: span 2; font-size: 12px; font-weight: 700; color: var(--dn-muted); font-variant-numeric: tabular-nums; padding-top: 1px; }
.dn-what { font-weight: 600; }
.dn-done { color: var(--dn-sage-deep); }
.dn-sheet-foot { margin-top: 14px; padding-top: 12px; border-top: 2px solid var(--dn-ink); font-size: 13px; color: var(--dn-soft); }
.dn-huddle figcaption { position: relative; margin-top: 44px; font-size: 12.5px; color: var(--dn-muted); text-align: center; }

/* Jump nav */
.dn-jump {
  position: sticky;
  top: 72px;
  z-index: 5;
  background: rgba(251, 250, 246, 0.95);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid var(--dn-rule);
}
.dn-jump .dn-wrap { display: flex; gap: 26px; overflow-x: auto; padding: 14px 0; scrollbar-width: none; }
.dn-jump a { flex: none; font-size: 13.5px; font-weight: 600; color: var(--dn-soft); text-decoration: none; }
.dn-jump a:hover { color: var(--dn-coral); }

/* The front desk */
.dn-desk-head, .dn-service-head, .dn-tooth-head, .dn-privacy-head, .dn-sources-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(36px, 5vw, 72px);
  align-items: end;
}
.dn-desk-head p, .dn-service-head p, .dn-tooth-head p, .dn-privacy-head p, .dn-sources-head p { color: var(--dn-soft); }
.dn-desk-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(28px, 4vw, 64px); margin-top: clamp(40px, 5vw, 64px); align-items: center; }
.dn-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 14px; }
.dn-moments { display: grid; gap: 0; }
.dn-moments li { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 2px 18px; padding: 18px 0; border-top: 1px solid var(--dn-rule); }
.dn-moments li:last-child { border-bottom: 1px solid var(--dn-rule); }
.dn-moment-time { grid-row: span 2; font-family: var(--font-serif); font-size: 1.35rem; color: var(--dn-coral); font-variant-numeric: tabular-nums; }
.dn-moments p { font-size: 15.5px; color: #333b48; }

.dn-audit { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(32px, 4vw, 64px); margin-top: clamp(56px, 7vw, 88px); align-items: start; }
.dn-page .dn-audit-title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.7rem, 2.6vw, 2.4rem); line-height: 1.1; letter-spacing: -0.02em; }
.dn-audit-copy p { margin-top: 14px; color: #333b48; }
.dn-grid-wrap { overflow-x: auto; padding: 20px 22px; border-radius: 12px; background: var(--dn-sheet); box-shadow: 0 1px 0 rgba(28, 36, 51, 0.06), 0 18px 36px -28px rgba(40, 30, 20, 0.5); }
.dn-grid { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 12.5px; }
.dn-grid caption { caption-side: top; text-align: left; padding-bottom: 12px; font-family: var(--font-serif); font-size: 1.2rem; }
.dn-grid th { padding: 6px 4px; font-weight: 700; color: var(--dn-muted); text-align: center; }
.dn-grid tbody th { text-align: left; padding-right: 10px; color: var(--dn-ink); }
.dn-grid td { height: 38px; border: 1px solid var(--dn-rule); }
.dn-grid .dn-hot { background: rgba(241, 234, 124, 0.45); }
.dn-grid thead .dn-hot { background: none; color: var(--dn-coral-deep); }

/* Answering service */
.dn-service { background: var(--dn-linen); }
.dn-handover { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(28px, 4vw, 56px); margin-top: clamp(40px, 5vw, 64px); align-items: start; }
.dn-slip {
  position: relative;
  margin-top: 18px;
  padding: 26px 22px 20px;
  background: #fbf1a0;
  transform: rotate(-2deg);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08), 0 18px 26px -20px rgba(70, 60, 10, 0.55);
}
.dn-slip::before { content: ""; position: absolute; left: 50%; top: -10px; width: 90px; height: 22px; transform: translateX(-50%) rotate(2deg); background: rgba(255, 255, 255, 0.55); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); }
.dn-slip-label { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #6d6420; }
.dn-slip-text {
  margin-top: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  word-break: break-word;
  color: #2b2a1c;
}
.dn-slip figcaption { margin-top: 14px; font-size: 14.5px; color: #4a4630; }
.dn-card {
  padding: clamp(22px, 3vw, 32px);
  border-radius: 14px;
  background: var(--dn-sheet);
  box-shadow: 0 1px 0 rgba(28, 36, 51, 0.06), 0 22px 44px -30px rgba(40, 30, 20, 0.5);
}
.dn-card-kind { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 16px; padding-bottom: 12px; border-bottom: 2px solid var(--dn-sage); font-family: var(--font-serif); font-size: 1.6rem; }
.dn-card-kind span { font-family: var(--font-sans); font-size: 12.5px; font-weight: 700; color: var(--dn-sage-deep); }
.dn-card dl { display: grid; margin-top: 6px; font-size: 15px; }
.dn-card dl > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--dn-rule); }
.dn-card dl > div:first-child { font-weight: 700; }
.dn-card dt { font-size: 13.5px; font-weight: 700; color: var(--dn-soft); padding-top: 1px; }
.dn-card figcaption { margin-top: 12px; font-size: 13px; color: var(--dn-muted); }

.dn-vet { margin-top: clamp(64px, 8vw, 104px); }
.dn-page .dn-vet-title { font-family: var(--font-serif); font-weight: 500; font-size: clamp(1.7rem, 2.6vw, 2.4rem); line-height: 1.1; letter-spacing: -0.02em; }
.dn-vet ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 56px); margin-top: 22px; }
.dn-vet li { padding: 20px 0; border-top: 1px solid rgba(28, 36, 51, 0.2); }
.dn-vet-ask { font-family: var(--font-serif); font-size: 1.3rem; line-height: 1.25; margin-bottom: 8px; }
.dn-vet li p:not(.dn-vet-ask) { font-size: 15px; color: #333b48; margin-top: 4px; }
.dn-vet .dn-vet-ours { color: var(--dn-sage-deep); }
.dn-models { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 18px; font-size: 14px; }
.dn-models > p { font-weight: 700; }
.dn-models ul { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.dn-models li { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.dn-models li span { font-weight: 400; color: var(--dn-soft); }
.dn-model-openai { border-radius: 4px; }

/* Insurance card */
.dn-insurance-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(36px, 6vw, 88px); align-items: start; }
.dn-insurance-copy p { margin-top: 18px; color: #333b48; }
.dn-inscard {
  padding: 26px 28px 20px;
  border-radius: 18px;
  background: linear-gradient(135deg, #20304a 0%, var(--dn-navy) 100%);
  color: #eef1f5;
  box-shadow: 0 30px 50px -32px rgba(23, 32, 48, 0.8);
}
.dn-inscard-head { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 12px; border-bottom: 1px solid rgba(238, 241, 245, 0.25); font-family: var(--font-serif); font-size: 1.5rem; color: #fff; }
.dn-inscard-head span { font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #aebacb; }
.dn-inscard li { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 6px 20px; padding: 14px 0; border-bottom: 1px solid rgba(238, 241, 245, 0.14); }
.dn-inscard li:last-child { border-bottom: 0; }
.dn-ins-label { font-weight: 700; font-size: 15px; }
.dn-ins-label small { display: block; font-size: 12.5px; font-weight: 400; color: #aebacb; }
.dn-ins-blank { grid-column: 1; height: 20px; border-bottom: 1.5px dashed rgba(238, 241, 245, 0.5); }
.dn-ins-says { grid-column: 2; grid-row: 1 / span 2; font-size: 14.5px; line-height: 1.5; color: #f5e9c8; font-style: italic; }

/* Toothache card */
.dn-tooth { background: var(--dn-sheet); border-top: 1px solid var(--dn-rule); border-bottom: 1px solid var(--dn-rule); }
.dn-bands { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: clamp(40px, 5vw, 64px); }
.dn-band { position: relative; padding: 0 0 22px; border-radius: 14px; background: var(--dn-paper); overflow: hidden; box-shadow: 0 1px 0 rgba(28, 36, 51, 0.06); }
.dn-band h3 { padding: 16px 22px; color: #fff; font-family: var(--font-serif); font-weight: 500; font-size: 1.35rem; letter-spacing: -0.01em; }
.dn-band-red h3 { background: var(--dn-red); }
.dn-band-amber h3 { background: var(--dn-amber); }
.dn-band-green h3 { background: var(--dn-green); }
.dn-band p { padding: 14px 22px 0; font-size: 15px; }
.dn-band p span { display: block; font-size: 11.5px; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: var(--dn-muted); margin-bottom: 2px; }
.dn-band-does { font-weight: 500; }
.dn-tooth-note { margin-top: 20px; font-size: 14px; color: var(--dn-soft); }

/* Recall */
.dn-recall-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.dn-recall-grid > div > p { margin-top: 18px; color: #333b48; }
.dn-clock { position: relative; margin-top: 30px; display: grid; gap: 0; padding-left: 30px; }
.dn-clock::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--dn-rule); }
.dn-clock li { position: relative; padding: 0 0 22px; }
.dn-clock li::before { content: ""; position: absolute; left: -30px; top: 5px; width: 16px; height: 16px; border-radius: 50%; background: var(--dn-paper); border: 2px solid var(--dn-sage); }
.dn-clock li:nth-child(n + 4)::before { border-color: var(--dn-coral); }
.dn-clock h3 { font-family: var(--font-serif); font-weight: 500; font-size: 1.2rem; }
.dn-clock p { margin-top: 2px; font-size: 15.5px; color: #333b48; }
.dn-thread { position: sticky; top: 140px; }
.dn-phone {
  display: grid;
  gap: 10px;
  padding: 20px 18px 24px;
  border-radius: 28px;
  background: #fff;
  border: 8px solid var(--dn-ink);
  max-width: 380px;
  margin-inline: auto;
}
.dn-phone-top { font-size: 12px; font-weight: 600; text-align: center; color: var(--dn-muted); }
.dn-bubble { max-width: 88%; padding: 10px 13px; border-radius: 16px 16px 16px 4px; background: #ecebe6; font-size: 14.5px; line-height: 1.45; }
.dn-bubble-in { justify-self: end; border-radius: 16px 16px 4px 16px; background: var(--dn-sage); color: #fff; }
.dn-thread figcaption { margin: 16px auto 0; max-width: 380px; font-size: 13px; color: var(--dn-muted); }
.dn-thread figcaption a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

/* Privacy */
.dn-privacy { background: var(--dn-linen); }
.dn-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); margin-top: clamp(36px, 5vw, 56px); }
.dn-col { padding: 24px 26px; border-radius: 14px; background: var(--dn-sheet); }
.dn-col h3 { font-family: var(--font-serif); font-weight: 500; font-size: 1.4rem; padding-bottom: 10px; border-bottom: 2px solid currentColor; }
.dn-col-asks h3 { color: var(--dn-sage-deep); }
.dn-col-forms h3 { color: var(--dn-soft); }
.dn-col ul { display: grid; gap: 8px; margin-top: 14px; }
.dn-col li { position: relative; padding-left: 22px; font-size: 15px; }
.dn-col-asks li::before { content: ""; position: absolute; left: 0; top: 0.45em; width: 11px; height: 6px; border-left: 2px solid var(--dn-sage); border-bottom: 2px solid var(--dn-sage); transform: rotate(-45deg); }
.dn-col-forms li::before { content: ""; position: absolute; left: 1px; top: 0.7em; width: 10px; height: 2px; background: var(--dn-muted); }
.dn-privacy-note { margin-top: 22px; font-size: 14.5px; color: var(--dn-soft); }

/* Sources */
.dn-table-scroll { margin-top: clamp(28px, 4vw, 44px); overflow-x: auto; }
.dn-source-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 15px; }
.dn-source-table th, .dn-source-table td { padding: 15px 18px 15px 0; text-align: left; vertical-align: top; border-bottom: 1px solid var(--dn-rule); }
.dn-source-table thead th { font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--dn-soft); border-bottom: 2px solid var(--dn-ink); }
.dn-source-table tbody th { width: 26%; font-family: var(--font-serif); font-weight: 500; font-size: 1.15rem; line-height: 1.25; }
.dn-source-table td:last-child { color: var(--dn-sage-deep); font-weight: 500; }
.dn-found-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 5vw, 72px); margin-top: clamp(48px, 6vw, 72px); padding-top: clamp(32px, 4vw, 48px); border-top: 1px solid rgba(28, 36, 51, 0.18); }
.dn-found-grid p { margin-top: 10px; color: #333b48; }

/* How */
.dn-how { background: var(--dn-linen); }
.dn-how-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.dn-steps { margin-top: 28px; counter-reset: dn-step; }
.dn-steps li { counter-increment: dn-step; position: relative; padding: 0 0 26px 52px; }
.dn-steps li::before {
  content: counter(dn-step);
  position: absolute;
  left: 0;
  top: -2px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1.5px solid var(--dn-ink);
  font-weight: 700;
  font-size: 14px;
}
.dn-steps li:not(:last-child)::after { content: ""; position: absolute; left: 17px; top: 36px; bottom: 4px; width: 1px; background: rgba(28, 36, 51, 0.25); }
.dn-steps p { margin-top: 4px; color: #333b48; font-size: 15.5px; }
.dn-how-side { display: grid; gap: 22px; }
.dn-testsheet, .dn-stays { padding: 24px 26px; border-radius: 14px; background: var(--dn-sheet); }
.dn-testsheet > p:first-of-type { margin-top: 6px; font-size: 14.5px; color: var(--dn-soft); }
.dn-testsheet ul { margin-top: 14px; display: grid; gap: 8px; }
.dn-testsheet li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; }
.dn-check { flex: none; width: 17px; height: 17px; margin-top: 3px; border: 1.5px solid var(--dn-sage); border-radius: 4px; }
.dn-testsheet-foot { margin-top: 16px; font-size: 14px; color: var(--dn-soft); }
.dn-stays ul { margin-top: 12px; display: grid; gap: 6px; }
.dn-stays li { padding-left: 16px; position: relative; font-size: 15px; }
.dn-stays li::before { content: ""; position: absolute; left: 0; top: 0.7em; width: 7px; height: 1.5px; background: var(--dn-coral); }
.dn-stays > p { margin-top: 12px; font-size: 14px; color: var(--dn-soft); }

/* FAQ */
.dn-faq-grid { display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: clamp(36px, 6vw, 96px); align-items: start; }
.dn-faq-grid > div > p { margin-top: 14px; color: var(--dn-soft); }
.dn-faq-list details { border-bottom: 1px solid var(--dn-rule); }
.dn-faq-list details:first-child { border-top: 1px solid var(--dn-rule); }
.dn-faq-list summary {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 0;
  font-weight: 700;
  font-size: 1.04rem;
  cursor: pointer;
  list-style: none;
}
.dn-faq-list summary::-webkit-details-marker { display: none; }
.dn-faq-list summary span { color: var(--dn-coral); font-size: 1.3rem; line-height: 1; transition: transform 200ms ease-out; }
.dn-faq-list details[open] summary span { transform: rotate(45deg); }
.dn-faq-list details p { padding: 0 0 20px; color: #333b48; }

/* Close */
.dn-close { padding: clamp(72px, 9vw, 120px) 0; background: var(--dn-navy); color: #dfe4ea; }
.dn-close-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.6fr); gap: clamp(36px, 6vw, 96px); align-items: end; }
.dn-close h2 { color: #fbfaf6; }
.dn-close h2 em { color: var(--dn-marker); }
.dn-close p { margin-top: 20px; max-width: 60ch; color: #c4ccd6; }
.dn-close .dn-button { background: #d0583c; }
.dn-close .dn-button:hover { background: var(--dn-coral); }
.dn-close aside { display: grid; gap: 12px; }
.dn-close aside strong { font-size: 12.5px; letter-spacing: 0.05em; text-transform: uppercase; color: #a7b2bf; }
.dn-close aside a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(237, 240, 244, 0.2); color: #edf0f4; text-decoration: none; font-weight: 600; }
.dn-close aside a:hover { color: var(--dn-marker); }

@media (max-width: 1100px) {
  .dn-hero { grid-template-columns: 1fr; }
  .dn-hero-copy { position: static; }
  .dn-huddle { max-width: 720px; }
  .dn-bands { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .dn-wrap { width: min(100% - 40px, 1280px); }
  .dn-desk-head, .dn-service-head, .dn-tooth-head, .dn-privacy-head, .dn-sources-head, .dn-desk-grid, .dn-audit,
  .dn-handover, .dn-insurance-grid, .dn-recall-grid, .dn-columns, .dn-found-grid, .dn-how-grid, .dn-faq-grid,
  .dn-close-grid { grid-template-columns: 1fr; }
  .dn-vet ol { grid-template-columns: 1fr; }
  .dn-thread { position: static; }
}

@media (max-width: 720px) {
  .dn-page { font-size: 16px; }
  .dn-hero h1 { font-size: clamp(2.3rem, 10vw, 3rem); }
  .dn-lede { font-size: 1.02rem; margin-top: 16px; }
  .dn-hero h1 .h1-kicker { margin-bottom: 0.6rem; }
  .dn-hero-shell { padding-top: 76px; }
  .dn-breadcrumb { padding-top: 18px; }
  .dn-hero { padding-top: 22px; }
  .dn-actions { margin-top: 20px; }
  .dn-sheet { margin: 0 10px; padding: 26px 16px 18px; }
  .dn-sheet-title { font-size: 1.45rem; }
  .dn-item { grid-template-columns: 1fr; }
  .dn-when { grid-row: auto; }
  .dn-moments li { grid-template-columns: 1fr; }
  .dn-moment-time { grid-row: auto; }
  .dn-card dl > div { grid-template-columns: 1fr; gap: 1px; }
  .dn-inscard { padding: 22px 18px 16px; }
  .dn-inscard li { grid-template-columns: 1fr; }
  .dn-ins-says { grid-column: 1; grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .dn-page *, .dn-page *::before, .dn-page *::after { transition: none !important; }
}
.dn-grid-wrap { scrollbar-width: thin; }
