/* ============================================================
   Kurtz & Blum — Foundations
   Colors, type tokens, fonts, spacing, radii, shadows.
   Source of truth: K&B Brand Guide (May 2026) + kurtzandblum.com.
   ============================================================ */

/* ---------- Fonts ---------- */

@font-face {
  font-family: "Bebas Neue";
  src: url("/dwi-assets/320a2032-c008-4803-a343-9ff781b5c4cf.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Poppins — full italic + roman, 100..900 */
@font-face { font-family: "Poppins"; src: url("/dwi-assets/150d5887-f495-43d7-bab5-e26240e61606.ttf") format("truetype"); font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/cd7e5b31-1259-45f6-bf19-e48690035bf3.ttf") format("truetype"); font-weight: 100; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/48cac1c6-a890-44de-9d71-c909bda3125e.ttf") format("truetype"); font-weight: 200; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/50896e8a-b480-4244-96ea-c22b276b6beb.ttf") format("truetype"); font-weight: 200; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/e5a1981d-c7c7-4af6-ba8d-16e786eeab50.ttf") format("truetype"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/943e085f-5e96-48d6-8516-2f1c2399a1a7.ttf") format("truetype"); font-weight: 300; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/6c71de52-673d-43b5-82c1-4bee98293b80.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/39b9f40f-9fcc-4b1d-b5d6-cefbaef8e15f.ttf") format("truetype"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/3b2e004a-9ef8-4fb3-ae48-6f9a2d9751b8.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/d640f74a-acbf-4f6b-aac0-f91831726842.ttf") format("truetype"); font-weight: 500; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/dd191cdc-f5b6-4fad-a9ad-f302c705f3d6.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/aaf9c58b-019a-4f54-ac0c-ab50b14fcfa5.ttf") format("truetype"); font-weight: 600; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/74504059-775f-407f-b6b8-b47e41257b3c.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/2e54b82d-60bb-4eab-b16b-114f7587d108.ttf") format("truetype"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/d38826ea-0c2d-44ed-9a41-91a6ec73683f.ttf") format("truetype"); font-weight: 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/8c169df8-ade8-461d-ae3e-9648d258bb34.ttf") format("truetype"); font-weight: 800; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/2a5960ea-a062-450f-9654-ff50cda26844.ttf") format("truetype"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("/dwi-assets/cc52cdf9-92fd-415b-9055-57cf1fabb9cc.ttf") format("truetype"); font-weight: 900; font-style: italic; font-display: swap; }

/* ---------- Tokens ---------- */

:root {
  /* Brand colors — from PDF brand guide */
  --kb-blue:        #0054A0;  /* primary, CMYK 98/75/4/0 */
  --kb-orange:      #BC6D0A;  /* accent, CMYK 22/62/100/8 */
  --kb-black:       #000000;  /* primary text on light, CMYK 75/68/67/90 */

  /* Tonal extensions — derived for backgrounds, hovers, borders */
  --kb-blue-900:    #002F5C;  /* deep navy — footer / dark hero overlay */
  --kb-blue-800:    #003E78;
  --kb-blue-700:    #00468B;
  --kb-blue:        #0054A0;
  --kb-blue-500:    #1E6FB8;  /* hover lift */
  --kb-blue-400:    #4D8FCC;
  --kb-blue-200:    #B3CDE6;  /* light divider */
  --kb-blue-100:    #E5EEF7;  /* tinted surface */
  --kb-blue-50:     #F2F7FC;

  --kb-orange-900:  #6B3E05;
  --kb-orange-800:  #8C500A;
  --kb-orange-700:  #A35F0A;
  --kb-orange:      #BC6D0A;
  --kb-orange-500:  #D17F1E;  /* hover lift */
  --kb-orange-400:  #E0985C;
  --kb-orange-200:  #ECC79A;
  --kb-orange-100:  #F8EEDF;
  --kb-orange-50:   #FCF7EF;

  /* Neutrals */
  --kb-ink:         #0C0C0C;  /* "near-black" body text */
  --kb-graphite:    #2A2A2A;
  --kb-slate:       #4A4A4A;
  --kb-mute:        #6B6B6B;  /* secondary text */
  --kb-rule:        #D6D6D6;  /* hairline rules */
  --kb-line:        #E6E6E6;
  --kb-surface-2:   #F2F2F2;
  --kb-surface-1:   #F8F8F8;
  --kb-paper:       #FFFFFF;

  /* Semantic */
  --kb-success:     #1F7A4D;
  --kb-warning:     #BC6D0A;   /* reuses orange */
  --kb-danger:     #B3261E;
  --kb-info:        #0054A0;

  /* Surface roles */
  --kb-bg:          var(--kb-paper);
  --kb-bg-alt:      var(--kb-surface-1);
  --kb-bg-dark:     var(--kb-blue-900);
  --kb-fg:          var(--kb-ink);
  --kb-fg-mute:     var(--kb-mute);
  --kb-fg-inverse:  #FFFFFF;
  --kb-border:      var(--kb-line);
  --kb-border-strong: var(--kb-rule);
  --kb-link:        var(--kb-blue);
  --kb-link-hover:  var(--kb-orange);

  /* Typography */
  --kb-font-display: "Bebas Neue", "Oswald", "Impact", sans-serif;
  --kb-font-body:    "Poppins", "Segoe UI", system-ui, -apple-system, sans-serif;
  --kb-font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* Scale (clamped, 1.20 ratio at the top, denser body steps) */
  --kb-size-eyebrow: 0.8125rem;   /* 13px — UPPERCASE label / kicker */
  --kb-size-xs:      0.75rem;     /* 12px */
  --kb-size-sm:      0.875rem;    /* 14px */
  --kb-size-base:    1rem;        /* 16px body */
  --kb-size-lg:      1.125rem;    /* 18px */
  --kb-size-xl:      1.375rem;    /* 22px lead */
  --kb-size-h4:      1.5rem;      /* 24px */
  --kb-size-h3:      2rem;        /* 32px */
  --kb-size-h2:      2.75rem;     /* 44px */
  --kb-size-h1:      3.75rem;     /* 60px display */
  --kb-size-hero:    5.25rem;     /* 84px banner Bebas */

  --kb-tracking-display: 0.01em;
  --kb-tracking-eyebrow: 0.18em;
  --kb-tracking-button:  0.06em;

  /* Line heights */
  --kb-lh-tight:   1.05;
  --kb-lh-snug:    1.18;
  --kb-lh-body:    1.6;
  --kb-lh-loose:   1.75;

  /* Spacing — 4px base */
  --kb-space-1: 0.25rem;
  --kb-space-2: 0.5rem;
  --kb-space-3: 0.75rem;
  --kb-space-4: 1rem;
  --kb-space-5: 1.5rem;
  --kb-space-6: 2rem;
  --kb-space-7: 3rem;
  --kb-space-8: 4rem;
  --kb-space-9: 6rem;
  --kb-space-10: 8rem;

  /* Radii — mostly square, gentle softening on cards/buttons */
  --kb-radius-none: 0;
  --kb-radius-xs:   2px;
  --kb-radius-sm:   4px;
  --kb-radius-md:   6px;
  --kb-radius-lg:   10px;
  --kb-radius-pill: 999px;

  /* Borders */
  --kb-border-w: 1px;
  --kb-border-w-strong: 2px;
  --kb-rule-w-display: 4px;  /* the chunky orange underbar under hero headlines */

  /* Shadows — restrained, courthouse-glass not floaty pastel */
  --kb-shadow-xs: 0 1px 2px rgba(12, 12, 12, 0.06);
  --kb-shadow-sm: 0 2px 6px rgba(12, 12, 12, 0.08);
  --kb-shadow-md: 0 8px 24px rgba(12, 12, 12, 0.10);
  --kb-shadow-lg: 0 16px 48px rgba(12, 12, 12, 0.14);
  --kb-shadow-card: 0 4px 14px rgba(0, 47, 92, 0.10);
  --kb-shadow-focus: 0 0 0 3px rgba(0, 84, 160, 0.35);

  /* Motion */
  --kb-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --kb-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --kb-dur-fast: 140ms;
  --kb-dur-base: 220ms;
  --kb-dur-slow: 420ms;

  /* Layout */
  --kb-container: 1200px;
  --kb-container-narrow: 880px;
  --kb-header-h: 96px;
}

/* ---------- Semantic role classes ----------
   Drop these on elements for instant on-brand type.
   ------------------------------------------------ */

.kb-eyebrow {
  font-family: var(--kb-font-body);
  font-weight: 600;
  font-size: var(--kb-size-eyebrow);
  text-transform: uppercase;
  letter-spacing: var(--kb-tracking-eyebrow);
  color: var(--kb-orange);
}

.kb-hero {
  font-family: var(--kb-font-display);
  font-weight: 400;
  font-size: var(--kb-size-hero);
  line-height: var(--kb-lh-tight);
  letter-spacing: var(--kb-tracking-display);
  color: var(--kb-blue);
  text-transform: uppercase;
}

.kb-h1 {
  font-family: var(--kb-font-body);
  font-weight: 700;
  font-size: var(--kb-size-h1);
  line-height: var(--kb-lh-tight);
  color: var(--kb-blue-900);
  letter-spacing: -0.01em;
}

.kb-h2 {
  font-family: var(--kb-font-body);
  font-weight: 700;
  font-size: var(--kb-size-h2);
  line-height: var(--kb-lh-snug);
  color: var(--kb-blue-900);
  letter-spacing: -0.005em;
}

.kb-h3 {
  font-family: var(--kb-font-body);
  font-weight: 600;
  font-size: var(--kb-size-h3);
  line-height: var(--kb-lh-snug);
  color: var(--kb-blue-900);
}

.kb-h4 {
  font-family: var(--kb-font-body);
  font-weight: 600;
  font-size: var(--kb-size-h4);
  line-height: var(--kb-lh-snug);
  color: var(--kb-blue);
}

.kb-lead {
  font-family: var(--kb-font-body);
  font-weight: 400;
  font-size: var(--kb-size-xl);
  line-height: var(--kb-lh-body);
  color: var(--kb-graphite);
}

.kb-body {
  font-family: var(--kb-font-body);
  font-weight: 400;
  font-size: var(--kb-size-base);
  line-height: var(--kb-lh-body);
  color: var(--kb-ink);
}

.kb-small {
  font-family: var(--kb-font-body);
  font-weight: 400;
  font-size: var(--kb-size-sm);
  line-height: var(--kb-lh-body);
  color: var(--kb-slate);
}

.kb-micro {
  font-family: var(--kb-font-body);
  font-weight: 500;
  font-size: var(--kb-size-xs);
  line-height: 1.4;
  color: var(--kb-mute);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.kb-tagline {
  font-family: var(--kb-font-body);
  font-weight: 700;
  font-size: var(--kb-size-base);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--kb-orange);
}

.kb-quote {
  font-family: var(--kb-font-body);
  font-weight: 300;
  font-style: italic;
  font-size: var(--kb-size-xl);
  line-height: 1.5;
  color: var(--kb-graphite);
}

/* ============================================================
   Kurtz & Blum — DUI Defense CAMPAIGN funnel
   Cinematic, asymmetric, photography-led conversion page.
   NOT a website rhythm — interrupted pacing, full-bleed imagery,
   embedded floating proof. Prefix: dc-  (dui campaign)
   Foundations (Poppins / Bebas / brand) from colors_and_type.css
   ============================================================ */

:root {
  /* tweakable */
  --dc-gold:    #D18A1F;
  --dc-gold-2:  #E5A130;
  --dc-bg:      #06080B;
  --dc-bg-2:    #0C1014;
  --dc-photo:   grayscale(48%) contrast(1.08) brightness(.94);

  /* fixed */
  --dc-navy:    #00284f;
  --dc-blue:    #0054A0;
  --dc-fg:      #F0F1F3;
  --dc-fg-mute: #939DAA;
  --dc-fg-dim:  #5A636E;
  --dc-line:    #1C232C;
  --dc-line-2:  #2A333E;
  /* right edge of the centered 1320px container (48px gutter) at any viewport */
  --dc-edge:    max(48px, calc(50% - 612px));
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--kb-font-body); background:var(--dc-bg); color:var(--dc-fg); line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }

.dc-wrap { max-width:1320px; margin:0 auto; padding:0 48px; }
.dc-photo { filter:var(--dc-photo); }
[data-photo="cinematic"]{ --dc-photo:grayscale(48%) contrast(1.08) brightness(.94); }
[data-photo="noir"]     { --dc-photo:grayscale(100%) contrast(1.16) brightness(.9); }
[data-photo="cool"]     { --dc-photo:grayscale(18%) contrast(1.06) brightness(.92) saturate(1.15); }

/* ---------- type ---------- */
.dc-kick { display:inline-flex; align-items:center; gap:13px; font-size:11.5px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--dc-gold); }
.dc-kick .ln { width:26px; height:1.5px; background:currentColor; }
.dc-mega { font-family:var(--kb-font-display); line-height:.84; letter-spacing:.006em; text-transform:uppercase; margin:0; }
.dc-mega .o { color:var(--dc-gold); }
.dc-mega .stroke { -webkit-text-stroke:1.5px var(--dc-fg); color:transparent; }
.dc-h2 { font-family:var(--kb-font-display); font-size:clamp(2.6rem,5.2vw,4.8rem); line-height:.94; letter-spacing:.006em; text-transform:uppercase; margin:0; }
.dc-h2 .o { color:var(--dc-gold); }
.dc-body { font-size:17px; line-height:1.7; color:var(--dc-fg-mute); font-weight:300; }

/* ---------- buttons ---------- */
.dc-btn { display:inline-flex; align-items:center; gap:12px; padding:18px 30px; border-radius:2px; font-family:var(--kb-font-body); font-weight:700; font-size:13px; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; border:none; transition:background .2s,color .2s,border-color .2s,transform .2s; }
.dc-btn--gold { background:var(--dc-gold); color:#08090B; }
.dc-btn--gold:hover { background:var(--dc-gold-2); transform:translateY(-2px); }
.dc-btn--ghost { background:transparent; color:var(--dc-fg); border:1px solid rgba(240,241,243,.26); }
.dc-btn--ghost:hover { border-color:var(--dc-gold); color:var(--dc-gold); }
.dc-btn__n { font-size:11px; color:var(--dc-gold); letter-spacing:.18em; }
.dc-btn--gold .dc-btn__n { color:#08090B; opacity:.65; }

/* ---------- header ---------- */
.dc-header { position:fixed; top:0; left:0; right:0; z-index:50; transition:background .35s, border-color .35s, backdrop-filter .35s; border-bottom:1px solid transparent; }
.dc-header.is-scrolled { background:color-mix(in srgb,var(--dc-bg) 90%, transparent); backdrop-filter:blur(18px) saturate(140%); border-bottom-color:var(--dc-line); }
.dc-header__row { max-width:1320px; margin:0 auto; padding:18px 48px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.dc-brand { display:flex; align-items:center; gap:15px; }
.dc-brand__logo { height:38px; }
.dc-brand__rule { width:1px; height:26px; background:rgba(255,255,255,.28); }
.dc-brand__div { font-family:var(--kb-font-display); font-size:15px; letter-spacing:.3em; text-transform:uppercase; color:var(--dc-gold); white-space:nowrap; }
.dc-header__phone { display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:600; }
.dc-header__phone svg { width:16px; height:16px; color:var(--dc-gold); }
.dc-header__right { display:flex; align-items:center; gap:22px; }

/* ---------- sticky urgency CTA ---------- */
.dc-sticky { position:fixed; left:0; right:0; bottom:0; z-index:55; transform:translateY(130%); transition:transform .45s cubic-bezier(.22,1,.36,1); }
.dc-sticky.is-shown { transform:translateY(0); }
.dc-sticky__inner { max-width:1320px; margin:0 auto 16px; padding:15px 24px; background:linear-gradient(100deg,#1A0F00,var(--dc-bg-2)); border:1px solid var(--dc-gold); border-radius:6px; box-shadow:0 20px 60px -18px rgba(0,0,0,.8); display:flex; align-items:center; justify-content:space-between; gap:24px; }
.dc-sticky__msg { display:flex; align-items:center; gap:15px; }
.dc-sticky__pulse { width:11px; height:11px; border-radius:999px; background:var(--dc-gold); animation:dcPulse 1.8s infinite; flex-shrink:0; }
@keyframes dcPulse { 0%{box-shadow:0 0 0 0 rgba(209,138,31,.6);} 70%{box-shadow:0 0 0 13px rgba(209,138,31,0);} 100%{box-shadow:0 0 0 0 rgba(209,138,31,0);} }
.dc-sticky__msg .t { font-size:15px; font-weight:700; letter-spacing:.01em; }
.dc-sticky__msg .s { font-size:12.5px; color:var(--dc-fg-mute); }
.dc-sticky__cta { display:flex; gap:10px; }
@media (max-width:760px){ .dc-sticky__msg .s { display:none; } }

/* ============ HERO ============ */
.dc-hero { position:relative; min-height:100vh; display:flex; align-items:flex-end; overflow:hidden; }
.dc-hero__bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(55%) contrast(1.12) brightness(.5); transform:scale(1.04); }
.dc-hero__bg::after { content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,8,11,.35) 0%, rgba(6,8,11,.2) 35%, rgba(6,8,11,.96) 92%),
  radial-gradient(1000px 600px at 18% 88%, rgba(0,84,160,.4), transparent 60%),
  radial-gradient(700px 500px at 92% 8%, rgba(209,138,31,.16), transparent 55%); }
.dc-hero__inner { position:relative; z-index:2; width:100%; max-width:1320px; margin:0 auto; padding:120px 48px 88px; }
.dc-hero__caseid { display:inline-flex; align-items:center; gap:12px; padding:9px 15px; border:1px solid var(--dc-line-2); background:rgba(6,8,11,.55); border-radius:3px; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--dc-gold); font-weight:600; margin-bottom:28px; }
.dc-hero__caseid .dot { width:6px; height:6px; border-radius:999px; background:var(--dc-gold); animation:dcBlink 1.7s infinite; }
@keyframes dcBlink { 0%,100%{opacity:1;} 50%{opacity:.3;} }
.dc-hero__title { font-size:clamp(3.4rem,8.5vw,9rem); max-width:14ch; margin:0 0 30px; }
.dc-hero__sub { font-size:19px; line-height:1.55; color:rgba(240,241,243,.85); max-width:540px; font-weight:300; margin:0 0 36px; border-left:2px solid var(--dc-gold); padding-left:22px; }
.dc-hero__ctas { display:flex; gap:13px; flex-wrap:wrap; align-items:center; }
.dc-hero__rea { margin-top:26px; display:flex; align-items:center; gap:13px; font-size:13.5px; color:var(--dc-fg-mute); }
.dc-hero__rea .stars { color:var(--dc-gold); letter-spacing:2px; font-size:15px; }
/* floating proof over hero */
.dc-hero__float { position:absolute; top:128px; right:var(--dc-edge); z-index:3; width:268px; background:rgba(10,14,18,.82); backdrop-filter:blur(14px); border:1px solid var(--dc-line-2); border-radius:12px; padding:20px 22px; box-shadow:0 24px 60px -22px rgba(0,0,0,.7); }
.dc-hero__float .gh { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.dc-hero__float .gdot { width:24px; height:24px; border-radius:999px; background:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; color:#4285F4; }
.dc-hero__float .stars { color:var(--dc-gold); letter-spacing:1px; font-size:13px; }
.dc-hero__float p { font-size:13.5px; line-height:1.55; color:rgba(240,241,243,.85); margin:0 0 10px; font-style:italic; }
.dc-hero__float .by { font-size:11.5px; color:var(--dc-fg-mute); font-weight:600; }
.dc-hero__scroll { position:absolute; right:var(--dc-edge); bottom:40px; z-index:3; writing-mode:vertical-rl; font-size:10px; letter-spacing:.4em; text-transform:uppercase; color:var(--dc-fg-mute); display:flex; align-items:center; gap:14px; }
.dc-hero__scroll::after { content:""; width:1px; height:40px; background:linear-gradient(180deg,var(--dc-gold),transparent); }
/* Raleigh's Best medal floating on hero */
.dc-hero__award { position:absolute; right:var(--dc-edge); bottom:184px; z-index:3; width:188px; filter:drop-shadow(0 18px 40px rgba(0,0,0,.65)); }

/* ============ AFFILIATIONS STRIP (embedded, white marks on dark) ============ */
.dc-affil { border-bottom:1px solid var(--dc-line); }
.dc-affil__inner { display:flex; align-items:center; gap:40px; padding:30px 0; flex-wrap:wrap; }
.dc-affil__label { font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--dc-fg-dim); font-weight:600; white-space:nowrap; }
.dc-affil__logos { flex:1; display:flex; align-items:center; justify-content:space-between; gap:22px 30px; flex-wrap:wrap; }
.dc-affil__logos img { height:40px; opacity:.82; transition:opacity .25s; }
.dc-affil__logos img:hover { opacity:1; }

/* ============ EMERGENCY INTERRUPT BAR ============ */
.dc-interrupt { background:var(--dc-gold); color:#08090B; }
.dc-interrupt__row { max-width:1320px; margin:0 auto; padding:18px 48px; display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; text-align:center; }
.dc-interrupt strong { font-family:var(--kb-font-display); font-size:24px; letter-spacing:.02em; text-transform:uppercase; }
.dc-interrupt span { font-size:15px; font-weight:500; }
.dc-interrupt a { font-weight:700; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; }

/* ============ COST OF WAITING (asymmetric, image bleeds left) ============ */
.dc-cost { position:relative; padding:130px 0; }
.dc-cost__grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:0; align-items:center; }
.dc-cost__art { position:relative; height:660px; }
.dc-cost__art .img { position:absolute; inset:0 0 0 -120px; border-radius:0 8px 8px 0; overflow:hidden; box-shadow:0 50px 100px -40px rgba(0,0,0,.8); }
.dc-cost__art .img img { width:100%; height:100%; object-fit:cover; }
.dc-cost__art .img::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 40%,rgba(6,8,11,.5)); }
.dc-cost__big { position:absolute; right:-40px; top:50%; transform:translateY(-50%); z-index:3; background:var(--dc-bg); border:1px solid var(--dc-gold); border-radius:8px; padding:26px 30px; max-width:260px; box-shadow:0 30px 60px -24px rgba(0,0,0,.7); }
.dc-cost__big .num { font-family:var(--kb-font-display); font-size:84px; line-height:.84; color:var(--dc-gold); }
.dc-cost__big .lbl { font-size:13.5px; color:var(--dc-fg); margin-top:8px; line-height:1.45; }
.dc-cost__body { padding:0 0 0 100px; }
.dc-cost__body h2 { margin:20px 0 22px; }
.dc-cost__body > p { margin:0 0 30px; max-width:520px; }
.dc-cost__list { display:flex; flex-direction:column; }
.dc-cost__item { display:grid; grid-template-columns:54px 1fr; gap:20px; padding:20px 0; border-top:1px solid var(--dc-line); align-items:start; }
.dc-cost__item:last-child { border-bottom:1px solid var(--dc-line); }
.dc-cost__item .ic { font-family:var(--kb-font-display); font-size:22px; color:var(--dc-gold); }
.dc-cost__item .h { font-size:17px; font-weight:600; color:var(--dc-fg); margin:0 0 4px; }
.dc-cost__item .d { font-size:14.5px; color:var(--dc-fg-mute); margin:0; line-height:1.6; font-weight:300; }

/* ============ AUTHORITY / FORMER PROSECUTOR (portrait bleeds, text overlaps) ============ */
.dc-auth { position:relative; padding:130px 0; background:linear-gradient(180deg,var(--dc-bg),var(--dc-bg-2)); overflow:hidden; }
.dc-auth__grid { position:relative; display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:72px; align-items:center; }
.dc-auth__art { position:relative; overflow:hidden; border-radius:10px; aspect-ratio:4/5; max-height:580px; box-shadow:0 40px 90px -38px rgba(0,0,0,.8); }
.dc-auth__art img { width:100%; height:100%; object-fit:cover; object-position:center top; }
.dc-auth__art::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,8,11,.05),rgba(6,8,11,.45)); }
.dc-auth__badge { position:absolute; left:22px; top:22px; z-index:3; display:inline-flex; align-items:center; gap:10px; padding:10px 16px; background:rgba(6,8,11,.7); backdrop-filter:blur(10px); border:1px solid var(--dc-gold); border-radius:4px; font-family:var(--kb-font-display); font-size:18px; letter-spacing:.08em; text-transform:uppercase; color:var(--dc-gold); }
.dc-auth__body { padding:0; display:flex; flex-direction:column; justify-content:center; position:relative; }
.dc-auth__body .dc-h2 { margin:18px 0 26px; }
.dc-auth__quote { font-family:var(--kb-font-display); font-size:clamp(1.9rem,2.8vw,2.7rem); line-height:1.04; text-transform:uppercase; color:var(--dc-fg); margin:0 0 26px; }
.dc-auth__quote .o { color:var(--dc-gold); }
.dc-auth__p { font-size:16px; line-height:1.7; color:var(--dc-fg-mute); font-weight:300; margin:0 0 30px; max-width:480px; }
.dc-auth__cred { display:flex; gap:36px; padding-top:26px; border-top:1px solid var(--dc-line); }
.dc-auth__cred .v { font-family:var(--kb-font-display); font-size:40px; line-height:1; color:var(--dc-gold); }
.dc-auth__cred .k { font-size:12px; color:var(--dc-fg-mute); margin-top:6px; letter-spacing:.05em; }
/* floating review fragment overlapping the seam */
.dc-auth__float { position:absolute; left:-28px; bottom:36px; z-index:4; width:276px; background:rgba(10,14,18,.92); backdrop-filter:blur(12px); border:1px solid var(--dc-line-2); border-left:3px solid var(--dc-gold); border-radius:8px; padding:22px 24px; box-shadow:0 30px 70px -26px rgba(0,0,0,.8); }
.dc-auth__float .stars { color:var(--dc-gold); letter-spacing:1px; font-size:14px; margin-bottom:10px; }
.dc-auth__float p { font-size:14px; line-height:1.55; font-style:italic; color:rgba(240,241,243,.88); margin:0 0 10px; }
.dc-auth__float .by { font-size:12px; color:var(--dc-fg-mute); font-weight:600; }

/* ============ STRATEGY (staggered offset rows, not a grid) ============ */
.dc-strat { padding:130px 0; position:relative; }
.dc-strat::before { content:"DEFENSE"; position:absolute; left:50%; top:40px; transform:translateX(-50%); font-family:var(--kb-font-display); font-size:clamp(6rem,16vw,15rem); line-height:1; color:rgba(255,255,255,.025); letter-spacing:.06em; pointer-events:none; white-space:nowrap; }
.dc-strat__head { max-width:880px; margin:0 0 70px; position:relative; }
.dc-strat__head h2 { margin:18px 0 22px; }
.dc-strat__head .dc-body { max-width:760px; }
.dc-strat__rows { display:flex; flex-direction:column; gap:0; position:relative; }
.dc-strat__row { display:grid; grid-template-columns:auto 1fr; gap:40px; padding:38px 0; border-top:1px solid var(--dc-line); align-items:center; transition:padding .3s, background .3s; }
.dc-strat__row:last-child { border-bottom:1px solid var(--dc-line); }
.dc-strat__row:nth-child(even) { margin-left:auto; max-width:64%; }
.dc-strat__row:nth-child(odd) { max-width:64%; }
.dc-strat__row:hover { padding-left:20px; background:linear-gradient(90deg,rgba(20,26,33,.6),transparent); }
.dc-strat__n { font-family:var(--kb-font-display); font-size:64px; line-height:.8; color:transparent; -webkit-text-stroke:1.5px var(--dc-gold); }
.dc-strat__row:hover .dc-strat__n { color:var(--dc-gold); -webkit-text-stroke:1.5px var(--dc-gold); }
.dc-strat__t { font-family:var(--kb-font-display); font-size:clamp(1.7rem,2.6vw,2.4rem); line-height:1; text-transform:uppercase; color:var(--dc-fg); margin:0 0 8px; }
.dc-strat__d { font-size:15.5px; color:var(--dc-fg-mute); margin:0; line-height:1.6; font-weight:300; }

/* ============ EMBEDDED PROOF BAND (case wins over dark texture) ============ */
.dc-proof { position:relative; padding:130px 0; background:linear-gradient(160deg,var(--dc-navy),var(--dc-bg) 70%); overflow:hidden; }
.dc-proof__head { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:56px; flex-wrap:wrap; }
.dc-proof__head h2 { margin-top:16px; }
.dc-rating { display:flex; align-items:center; gap:24px; padding:18px 26px; background:rgba(6,8,11,.55); border:1px solid var(--dc-line-2); border-radius:8px; }
.dc-rating .src { text-align:center; }
.dc-rating .src .s { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--dc-fg-mute); margin-bottom:6px; }
.dc-rating .src .v { font-family:var(--kb-font-display); font-size:34px; line-height:1; color:var(--dc-fg); }
.dc-rating .src .stars { color:var(--dc-gold); font-size:12px; letter-spacing:1px; }
.dc-rating .dv { width:1px; height:46px; background:var(--dc-line-2); }
/* masonry-ish staggered wins */
.dc-wins { columns:3; column-gap:24px; }
.dc-win { break-inside:avoid; margin-bottom:24px; border-radius:10px; overflow:hidden; border:1px solid var(--dc-line-2); position:relative; }
.dc-win--photo { min-height:280px; background-size:cover; background-position:center; display:flex; align-items:flex-end; }
.dc-win--photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,rgba(6,8,11,.92)); }
.dc-win--photo .cap { position:relative; z-index:2; padding:24px; }
.dc-win--photo .verdict { display:inline-flex; padding:6px 12px; background:var(--dc-gold); color:#08090B; border-radius:3px; font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:12px; }
.dc-win--photo .charge { font-family:var(--kb-font-display); font-size:22px; text-transform:uppercase; color:#fff; line-height:1.05; }
.dc-win--review { background:rgba(10,14,18,.7); padding:28px 28px; }
.dc-win--review.feat { background:linear-gradient(150deg,var(--dc-navy),rgba(10,14,18,.7)); border-color:var(--dc-gold); }
.dc-win--review .stars { color:var(--dc-gold); letter-spacing:2px; font-size:15px; margin-bottom:12px; }
.dc-win--review p { font-size:15px; line-height:1.6; color:rgba(240,241,243,.85); margin:0 0 16px; font-weight:300; }
.dc-win--review.feat p { font-size:17px; font-style:italic; color:#fff; }
.dc-win--review .by { display:flex; align-items:center; gap:11px; }
.dc-win--review .av { width:38px; height:38px; border-radius:999px; background-size:cover; background-position:center; filter:grayscale(35%); }
.dc-win--review .nm { font-size:13.5px; font-weight:600; color:var(--dc-fg); }
.dc-win--review .cs { font-size:12px; color:var(--dc-fg-mute); }

/* ============ PROCESS (horizontal staggered) ============ */
.dc-proc { padding:130px 0; }
.dc-proc__head { max-width:640px; margin:0 auto 70px; text-align:center; }
.dc-proc__head h2 { margin:18px 0 14px; }
.dc-proc__head .dc-kick { justify-content:center; }
.dc-proc__track { display:grid; grid-template-columns:repeat(4,1fr); gap:48px; position:relative; padding-top:8px; }
.dc-proc__track::before { content:""; position:absolute; top:24px; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(209,138,31,.32), transparent); }
.dc-step { position:relative; padding-top:64px; }
.dc-step__dot { position:absolute; top:0; left:0; width:48px; height:48px; border-radius:999px; background:var(--dc-bg); border:1px solid rgba(209,138,31,.32); display:flex; align-items:center; justify-content:center; transition:border-color .5s ease; }
.dc-step__dot::after { content:""; width:8px; height:8px; border-radius:999px; background:rgba(209,138,31,.65); transition:background .3s ease, box-shadow .3s ease; }
.dc-step:first-child .dc-step__dot { border-color:rgba(209,138,31,.55); }
.dc-step:first-child .dc-step__dot::after { background:var(--dc-gold); box-shadow:0 0 15px rgba(209,138,31,.8); }
.dc-step:hover .dc-step__dot { border-color:var(--dc-gold); }
.dc-step:hover .dc-step__dot::after { background:var(--dc-gold); }
.dc-step__t { font-family:var(--kb-font-display); font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--dc-gold); margin-bottom:14px; }
.dc-step:not(:first-child) .dc-step__t { color:var(--dc-fg-mute); }
.dc-step__h { font-family:var(--kb-font-display); font-size:24px; font-weight:700; color:var(--dc-fg); margin:0 0 14px; line-height:1.15; letter-spacing:.005em; }
.dc-step__d { font-size:14px; color:var(--dc-fg-mute); line-height:1.6; margin:0; font-weight:300; max-width:260px; }


/* ============ CTA INTERRUPT (full-bleed, police-light) ============ */
.dc-cint { position:relative; min-height:60vh; display:flex; align-items:center; overflow:hidden; }
.dc-cint__bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(60%) contrast(1.15) brightness(.4); }
.dc-cint__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,8,11,.92),rgba(0,40,79,.5) 60%,rgba(209,138,31,.22)); }
.dc-cint__inner { position:relative; z-index:2; max-width:1320px; margin:0 auto; padding:90px 48px; width:100%; }
.dc-cint__title { font-family:var(--kb-font-display); font-size:clamp(3rem,7vw,6.5rem); line-height:.9; text-transform:uppercase; color:#fff; margin:0 0 26px; max-width:18ch; }
.dc-cint__title .o { color:var(--dc-gold); }
.dc-cint__sub { font-size:18px; color:rgba(240,241,243,.82); max-width:560px; font-weight:300; margin:0 0 34px; }
.dc-cint__ctas { display:flex; gap:13px; flex-wrap:wrap; }

/* ============ FAQ ============ */
.dc-faq { padding:130px 0; }
.dc-faq__grid { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:80px; align-items:flex-start; }
.dc-faq__head { position:sticky; top:120px; }
.dc-faq__head h2 { margin:18px 0 16px; }
.dc-faq__item { border-top:1px solid var(--dc-line); padding:28px 0; cursor:pointer; }
.dc-faq__item:last-child { border-bottom:1px solid var(--dc-line); }
.dc-faq__q { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.dc-faq__q h4 { font-family:var(--kb-font-display); font-size:22px; letter-spacing:.01em; text-transform:uppercase; color:var(--dc-fg); margin:0; line-height:1.18; }
.dc-faq__plus { font-family:var(--kb-font-display); font-size:26px; color:var(--dc-gold); transition:transform .28s; flex-shrink:0; }
.dc-faq__item.open .dc-faq__plus { transform:rotate(45deg); }
.dc-faq__a { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.dc-faq__item.open .dc-faq__a { max-height:360px; }
.dc-faq__a p { padding-top:16px; margin:0; font-size:16px; line-height:1.7; color:var(--dc-fg-mute); font-weight:300; max-width:760px; }

/* ============ FINAL CONVERSION (form floats over image) ============ */
.dc-final { position:relative; min-height:100vh; display:flex; align-items:center; overflow:hidden; }
.dc-final__bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(55%) contrast(1.1) brightness(.42); }
.dc-final__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,rgba(6,8,11,.95) 30%,rgba(0,40,79,.55)); }
.dc-final__inner { position:relative; z-index:2; max-width:1320px; margin:0 auto; padding:100px 48px; width:100%; display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:70px; align-items:center; }
.dc-final__left .dc-h2 { margin:18px 0 22px; }
.dc-final__left .dc-body { color:rgba(240,241,243,.78); margin-bottom:30px; max-width:480px; }
.dc-final__assure { display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.dc-final__assure .row { display:flex; gap:13px; align-items:center; font-size:15px; color:rgba(240,241,243,.86); }
.dc-final__assure .row svg { width:20px; height:20px; color:var(--dc-gold); flex-shrink:0; }
.dc-form { background:rgba(10,14,18,.86); backdrop-filter:blur(14px); border:1px solid var(--dc-line-2); border-radius:12px; padding:40px; box-shadow:0 40px 90px -34px rgba(0,0,0,.85); }
.dc-form .marker { display:inline-flex; align-items:center; gap:9px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#08090B; background:var(--dc-gold); padding:7px 13px; border-radius:3px; font-weight:700; margin-bottom:22px; }
.dc-form h3 { font-family:var(--kb-font-display); font-size:32px; text-transform:uppercase; color:#fff; margin:0 0 8px; line-height:1; }
.dc-form .sub { font-size:14px; color:var(--dc-fg-mute); margin:0 0 24px; font-weight:300; }
.dc-form .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:13px; }
.dc-form label { display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--dc-fg-mute); margin-bottom:7px; }
.dc-form input, .dc-form select { width:100%; background:rgba(255,255,255,.05); border:1px solid var(--dc-line-2); border-radius:4px; padding:14px 16px; font-family:var(--kb-font-body); color:#fff; font-size:14.5px; outline:none; transition:border-color .2s, background .2s; }
.dc-form input::placeholder { color:var(--dc-fg-dim); }
.dc-form input:focus, .dc-form select:focus { border-color:var(--dc-gold); background:rgba(255,255,255,.09); }
.dc-form button { width:100%; margin-top:8px; background:var(--dc-gold); color:#08090B; border:0; border-radius:4px; padding:17px; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; cursor:pointer; transition:background .2s,transform .2s; }
.dc-form button:hover { background:var(--dc-gold-2); transform:translateY(-1px); }
.dc-form .fine { margin-top:14px; font-size:11.5px; color:var(--dc-fg-dim); line-height:1.5; }

/* ============ FOOTER ============ */
.dc-foot { padding:44px 0; border-top:1px solid var(--dc-line); }
.dc-foot__row { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.dc-foot__brand { display:flex; align-items:center; gap:16px; }
.dc-foot__brand img { height:36px; }
.dc-foot__brand span { font-size:12.5px; color:var(--dc-fg-mute); max-width:340px; line-height:1.5; }
.dc-foot__meta { font-size:12.5px; color:var(--dc-fg-mute); text-align:right; line-height:1.7; }
.dc-foot__meta a { color:var(--dc-gold); font-weight:600; }

/* ============ reveal ============ */
.dc-reveal { opacity:0; transform:translateY(26px); transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.dc-reveal.in { opacity:1; transform:none; }

/* ============ responsive ============ */
@media (max-width:1024px){
  .dc-cost__grid, .dc-auth__grid, .dc-final__inner { grid-template-columns:1fr; }
  .dc-cost__art { height:420px; }
  .dc-cost__art .img { inset:0; border-radius:8px; }
  .dc-cost__body { padding:48px 0 0; }
  .dc-cost__big { right:16px; top:auto; bottom:16px; transform:none; }
  .dc-auth__art { aspect-ratio:16/10; max-height:420px; }
  .dc-auth__body { padding:0; }
  .dc-auth__float { display:none; }
  .dc-wins { columns:2; }
  .dc-faq__grid { grid-template-columns:1fr; gap:40px; }
  .dc-faq__head { position:static; }
  .dc-strat__row:nth-child(even), .dc-strat__row:nth-child(odd) { max-width:100%; margin-left:0; }
  .dc-nav, .dc-header__phone { display:none; }
}
@media (max-width:1024px){
  .dc-hero { align-items:center; }
  .dc-hero__inner { padding-top:150px; padding-bottom:64px; }
  .dc-hero__award { width:120px; bottom:40px; }
}
@media (max-width:680px){
  .dc-wrap, .dc-header__row { padding-left:22px; padding-right:22px; }
  /* Header: drop the CTA + divider on phones; brand only */
  .dc-header__row { padding:14px 22px; justify-content:flex-start; gap:14px; }
  .dc-header__right { display:none; }
  .dc-brand__div, .dc-brand__rule { display:none; }
  .dc-brand__logo { height:32px; }

  .dc-hero__inner { padding:120px 22px 72px; }
  .dc-hero__float { display:none; }
  .dc-hero__scroll { display:none; }
  /* Hero medal: hide on phones — "Raleigh's Best 2025" already appears in the rating row */
  .dc-hero__award { display:none; }
  .dc-hero__rea { flex-wrap:wrap; }

  /* Tighten section rhythm — desktop's 130px is too much on phones */
  .dc-cost, .dc-auth, .dc-strat, .dc-proof, .dc-proc, .dc-faq { padding:64px 0; }
  .dc-cint__inner, .dc-final__inner { padding-top:64px; padding-bottom:64px; }

  /* Interrupt bar: tighter, allow wrap */
  .dc-interrupt__row { padding:14px 22px; gap:10px; }
  .dc-interrupt strong { font-size:20px; }

  /* Affiliations: horizontal scrolling rail */
  .dc-affil { padding:8px 0; }
  .dc-affil__inner { flex-direction:column; align-items:flex-start; gap:14px; padding:18px 0; }
  .dc-affil__label { padding:0 22px; }
  .dc-affil__logos { display:flex; flex-wrap:nowrap; justify-content:flex-start; gap:30px; width:100%; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 22px 12px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .dc-affil__logos::-webkit-scrollbar { display:none; }
  .dc-affil__logos img { flex:0 0 auto; height:38px; scroll-snap-align:start; }

  /* Authority: keep badge over the photo but pin it to bottom-left, off Seth's face */
  .dc-auth__art { aspect-ratio:4/5; max-height:480px; }
  .dc-auth__art img { object-position:center 18%; }
  .dc-auth__badge { top:auto; left:14px; bottom:14px; right:auto; font-size:13px; padding:8px 12px; letter-spacing:.06em; }

  /* Process: condensed — dot inline with eyebrow, tighter vertical rhythm */
  .dc-proc__head { margin-bottom:36px; }
  .dc-proc__head h2 { font-size:2.1rem; }
  .dc-proc__track, .dc-wins, .dc-form .row { grid-template-columns:1fr; columns:1; }
  .dc-proc__track { gap:22px; padding-top:0; }
  .dc-proc__track::before { display:none; }
  .dc-step { padding:18px 0 18px 52px; border-top:1px solid var(--dc-line); position:relative; }
  .dc-step:first-child { border-top:0; padding-top:0; }
  .dc-step:first-child .dc-step__dot { top:0; }
  .dc-step__dot { width:32px; height:32px; top:18px; left:0; }
  .dc-step__t { margin-bottom:6px; font-size:10.5px; }
  .dc-step__h { font-size:19px; margin-bottom:8px; }
  .dc-step__d { font-size:14px; max-width:100%; }

  /* Final + form */
  .dc-form { padding:28px 24px; }
  .dc-auth__cred { gap:24px; flex-wrap:wrap; }


  /* Sticky CTA: stack message + buttons, no overflow */
  .dc-sticky__inner { flex-direction:column; align-items:stretch; gap:12px; padding:14px 16px; margin:0 12px 12px; }
  .dc-sticky__msg { gap:10px; }
  .dc-sticky__msg .t { font-size:14px; line-height:1.25; }
  .dc-sticky__cta { width:100%; gap:8px; }
  .dc-sticky__cta .dc-btn { flex:1; justify-content:center; padding:13px 12px; font-size:12px; letter-spacing:.08em; gap:8px; }

  /* Footer: left-align, full width on mobile */
  .dc-foot__row { flex-direction:column; align-items:flex-start; gap:18px; }
  .dc-foot__meta { text-align:left; }
  .dc-foot__brand { flex-direction:column; align-items:flex-start; gap:12px; }
  .dc-foot__brand span { max-width:100%; }
}


/* Noir photo treatment */
.dc-photo,
.dc-win--photo,
.dc-proof .av {
  filter: grayscale(100%) contrast(1.15) brightness(.88);
}
.dc-hero__bg--noir {
  filter: grayscale(40%) contrast(1.1) brightness(.7);
}

/* Strat accordion */
.dc-strat__rows { display:flex; flex-direction:column; gap:0; border-top:1px solid rgba(212,162,76,.18); }
.dc-strat__row,
.dc-strat__row:nth-child(odd),
.dc-strat__row:nth-child(even) {
  display:block; max-width:100%; margin:0; padding:0;
  border-top:none; border-bottom:1px solid rgba(212,162,76,.18);
  background:none;
}
.dc-strat__row:hover { padding-left:0; background:none; }
.dc-strat__row > summary {
  list-style:none; cursor:pointer; display:grid;
  grid-template-columns:auto 1fr auto; align-items:center; gap:24px;
  padding:28px 8px; transition:background .25s ease;
}
.dc-strat__row > summary::-webkit-details-marker { display:none; }
.dc-strat__row > summary:hover { background:rgba(212,162,76,.04); }
.dc-strat__row .dc-strat__n {
  font-family:'Oswald',sans-serif; font-size:28px; font-weight:600;
  color:rgba(212,162,76,.55); letter-spacing:.04em; min-width:56px;
}
.dc-strat__sum { min-width:0; display:flex; flex-direction:column; gap:6px; }
.dc-strat__eyebrow {
  font-size:10.5px; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:#d4a24c;
}
.dc-strat__t { font-family:'Oswald',sans-serif; font-size:24px; font-weight:500; color:#fff; line-height:1.25; margin:0; }
.dc-strat__chev {
  color:#d4a24c;
  width:38px; height:38px; display:grid; place-items:center;
  border:1px solid rgba(212,162,76,.4); border-radius:50%;
  transition:transform .3s ease, background .3s ease, border-color .3s ease;
}
.dc-strat__row > summary:hover .dc-strat__chev { background:rgba(212,162,76,.08); border-color:rgba(212,162,76,.65); }
.dc-strat__row[open] > summary .dc-strat__chev { transform:rotate(180deg); background:rgba(212,162,76,.12); border-color:rgba(212,162,76,.65); }
.dc-strat__body {
  padding:4px 8px 36px 88px; max-width:840px;
  color:rgba(255,255,255,.72); font-size:16px; line-height:1.7;
}
.dc-strat__body p { margin:0 0 14px; }
.dc-strat__body p:last-child { margin-bottom:0; }
.dc-strat__body strong.o { color:#d4a24c; }
.dc-strat__list { list-style:none; padding:0; margin:0 0 16px; }
.dc-strat__list li {
  padding:8px 0 8px 22px; position:relative; border-bottom:1px solid rgba(255,255,255,.06);
}
.dc-strat__list li:last-child { border-bottom:none; }
.dc-strat__list li::before {
  content:""; position:absolute; left:0; top:18px; width:10px; height:1px; background:#d4a24c;
}
.dc-strat__kicker { color:rgba(255,255,255,.55); font-style:italic; font-size:14.5px; }
.dc-strat__close { margin-top:80px; padding-top:0; border-top:none; max-width:780px; }
.dc-strat__close .dc-kick { margin-bottom:18px; }
.dc-strat__close .dc-h2 { margin:0 0 22px; font-size:clamp(2rem,3.6vw,3rem); }

@media (max-width:680px){
  .dc-strat__row > summary { gap:14px; padding:22px 4px; grid-template-columns:auto 1fr auto; }
  .dc-strat__row .dc-strat__n { font-size:20px; min-width:36px; }
  .dc-strat__t { font-size:18px; }
  .dc-strat__eyebrow { font-size:10px; letter-spacing:.18em; }
  .dc-strat__chev { width:30px; height:30px; font-size:26px; }
  .dc-strat__body { padding:0 4px 28px 50px; font-size:15px; }
  .dc-strat__close { margin-top:40px; padding-top:32px; }
  .dc-strat__closeT { font-size:24px; }
}
