/*
  Donegal hero system (M1 final).
  Full-bleed approved artwork with live HTML copy and CTAs over a legibility scrim.

  Markup contract:
    <html lang="en" data-hero-set="{set}">            (home|stories|technology|advisory|about)
    <script src="assets/js/hero-art.js"></script>     (sync, in <head>: picks today's image)
    <section class="dg-hero dg-hero--{variant}" aria-labelledby="...">
      <div class="shell dg-hero__layout"><div class="dg-hero__content"> copy + CTAs </div></div>
    </section>

  Art: approved masters -> tools/hero-art/build_derivatives.py ->
  assets/images/hero/{name}-2560|1600.avif|webp (resized only; never cropped or altered).
  Each variant below sets its static default (first image of its set). When JS runs,
  hero-art.js sets --dg-hero-lg/--dg-hero-sm/--dg-hero-pos/--dg-hero-pos-sm on <html>
  before first paint, which take precedence. Rotation/pinning lives only in hero-art.js.
*/
.dg-hero {
  --dg-hero-accent: var(--gold-soft);
  --dg-hero-focus: 65% center;
  --dg-hero-focus-sm: 65% center;
  --dg-hero-scrim: linear-gradient(90deg, rgba(8,11,17,.9) 0%, rgba(8,11,17,.74) 30%, rgba(8,11,17,.28) 56%, rgba(8,11,17,0) 76%);
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: end;
  min-height: min(92vh, 980px);
  padding: 150px 0 clamp(64px, 9vw, 120px);
  overflow: hidden;
  color: var(--ivory);
  background-color: #0b0f16;
  background-image: var(--dg-hero-scrim), linear-gradient(180deg, rgba(8,11,17,.6) 0%, rgba(8,11,17,0) 22%, rgba(8,11,17,0) 70%, rgba(8,11,17,.88) 100%), var(--dg-hero-lg, var(--dg-hero-image));
  background-size: cover, cover, cover;
  background-position: center, center, var(--dg-hero-pos, var(--dg-hero-focus));
  background-repeat: no-repeat;
}
.dg-hero__layout { position: relative; z-index: 1; }
.dg-hero__content { max-width: 640px; }
.dg-hero__content .eyebrow { color: var(--dg-hero-accent); }
.dg-hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  font-size: clamp(2.8rem, 6.2vw, 5.4rem);
  line-height: .98;
  letter-spacing: -.035em;
  margin: 16px 0 22px;
  text-shadow: 0 2px 28px rgba(0,0,0,.55);
}
.dg-hero h1 em { color: var(--dg-hero-accent); font-style: italic; }
.dg-hero .lead { color: #ece7dc; max-width: 580px; text-shadow: 0 1px 18px rgba(0,0,0,.6); }
.dg-hero .button-row { margin-top: 30px; }
.dg-hero__meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.dg-hero__meta span { padding: 7px 14px; border: 1px solid rgba(244,240,232,.24); border-radius: 999px; background: rgba(8,11,17,.5); font-size: .8rem; color: #e6e1d6; backdrop-filter: blur(6px); }

.dg-hero--home {
  --dg-hero-image: image-set(url("../images/hero/donegal-home-hero-observatory-study-2560.avif") type("image/avif"), url("../images/hero/donegal-home-hero-observatory-study-2560.webp") type("image/webp"));
  --dg-hero-image-sm: image-set(url("../images/hero/donegal-home-hero-observatory-study-1600.avif") type("image/avif"), url("../images/hero/donegal-home-hero-observatory-study-1600.webp") type("image/webp"));
  --dg-hero-focus: 62% center;
  --dg-hero-focus-sm: 66% center;
  align-items: center;
}
.dg-hero--stories, .dg-hero--circles {
  --dg-hero-image: image-set(url("../images/hero/donegal-stories-hero-01-anastasia-finn-georgia-2560.avif") type("image/avif"), url("../images/hero/donegal-stories-hero-01-anastasia-finn-georgia-2560.webp") type("image/webp"));
  --dg-hero-image-sm: image-set(url("../images/hero/donegal-stories-hero-01-anastasia-finn-georgia-1600.avif") type("image/avif"), url("../images/hero/donegal-stories-hero-01-anastasia-finn-georgia-1600.webp") type("image/webp"));
  --dg-hero-focus: 62% 40%;
  --dg-hero-focus-sm: 62% 40%;
}
.dg-hero--technology, .dg-hero--labs, .dg-hero--readiness {
  --dg-hero-image: image-set(url("../images/hero/donegal-technology-hero-tokyo-fuji-2560.avif") type("image/avif"), url("../images/hero/donegal-technology-hero-tokyo-fuji-2560.webp") type("image/webp"));
  --dg-hero-image-sm: image-set(url("../images/hero/donegal-technology-hero-tokyo-fuji-1600.avif") type("image/avif"), url("../images/hero/donegal-technology-hero-tokyo-fuji-1600.webp") type("image/webp"));
  --dg-hero-focus: 60% center;
  --dg-hero-focus-sm: 62% center;
  --dg-hero-accent: #9fd3c5;
}
.dg-hero--advisory, .dg-hero--board {
  --dg-hero-image: image-set(url("../images/hero/donegal-advisory-hero-observatory-2560.avif") type("image/avif"), url("../images/hero/donegal-advisory-hero-observatory-2560.webp") type("image/webp"));
  --dg-hero-image-sm: image-set(url("../images/hero/donegal-advisory-hero-observatory-1600.avif") type("image/avif"), url("../images/hero/donegal-advisory-hero-observatory-1600.webp") type("image/webp"));
  --dg-hero-focus: 70% center;
  --dg-hero-focus-sm: 74% center;
}
.dg-hero--in-development {
  --dg-hero-image: image-set(url("../images/hero/donegal-home-hero-observatory-study-2560.avif") type("image/avif"), url("../images/hero/donegal-home-hero-observatory-study-2560.webp") type("image/webp"));
  --dg-hero-image-sm: image-set(url("../images/hero/donegal-home-hero-observatory-study-1600.avif") type("image/avif"), url("../images/hero/donegal-home-hero-observatory-study-1600.webp") type("image/webp"));
  --dg-hero-focus: 62% center;
  --dg-hero-focus-sm: 66% center;
  --dg-hero-accent: #b9c3d3;
}
/* About: see the "About hero layout" block at the end of this file. */

/* Two-door fork and hub cards */
.dg-doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.dg-door {
  display: flex; flex-direction: column; gap: 12px;
  padding: 34px; border: 1px solid var(--line); border-radius: var(--radius);
  background: linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.01));
  color: inherit; text-decoration: none;
  transition: border-color .2s ease, transform .2s ease;
}
.dg-door:hover { border-color: rgba(216,189,120,.5); transform: translateY(-2px); }
.dg-door:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 4px; }
.dg-door .mini { color: var(--gold-soft); letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; }
.dg-door h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: clamp(1.7rem, 3vw, 2.3rem); color: var(--ivory); }
.dg-door p { margin: 0; color: var(--muted); }

/* M8: the publishing slate (four substantial cards) and the quieter Donegal bench */
.dg-door--slate { min-height: 300px; padding: clamp(28px, 3.4vw, 42px); border-color: rgba(216,189,120,.24); background: radial-gradient(circle at 92% 0%, rgba(216,189,120,.1), transparent 45%), linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.01)); }
.dg-door--slate:hover { transform: none; }
.dg-door--slate .arrow { margin-top: auto; color: var(--ivory); }
.dg-bench-section { padding-top: 0; }
.dg-bench-head { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 56px); align-items: baseline; padding-top: 34px; border-top: 1px solid var(--line); }
.dg-bench-head h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: clamp(1.5rem, 2.4vw, 1.9rem); color: var(--ivory); }
.dg-bench-head p { margin: 0; color: var(--muted); }
.dg-bench { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; }
.dg-bench li { display: grid; gap: 4px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.08); }
.dg-bench strong { font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: 1.08rem; color: #e6e1d6; }
.dg-bench span { color: var(--muted); font-size: .92rem; }
.dg-bench a { color: var(--gold-soft); white-space: nowrap; }
@media (max-width: 760px) {
  .dg-bench-head, .dg-bench { grid-template-columns: 1fr; }
  .dg-door--slate { min-height: 0; }
}
.dg-door .arrow { margin-top: auto; color: var(--ivory); }
.dg-door--technology .mini { color: #9fd3c5; }
.dg-hub-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }

/* Advisory offer cards */
.dg-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 36px; }
.dg-offer { display: flex; flex-direction: column; gap: 10px; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.03); }
.dg-offer.featured { border-color: rgba(216,189,120,.45); background: linear-gradient(160deg, rgba(216,189,120,.09), rgba(255,255,255,.02)); }
.dg-offer .mini { color: var(--gold-soft); letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; font-weight: 800; }
.dg-offer h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: clamp(1.7rem, 3vw, 2.2rem); }
.dg-offer .price { font-family: Georgia, "Times New Roman", serif; font-size: 2.4rem; color: #fff; }
.dg-offer .price small { font-family: Inter, system-ui, sans-serif; font-size: .95rem; color: var(--muted); margin-left: 6px; }
.dg-offer ul { margin: 6px 0 0; padding-left: 20px; color: #c9cfda; }
.dg-offer .btn { margin-top: auto; align-self: flex-start; }
.dg-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 36px 0 0; padding: 0; list-style: none; counter-reset: step; }
.dg-steps li { padding: 22px; border-top: 1px solid rgba(216,189,120,.4); color: #c9cfda; }
.dg-steps li strong { display: block; color: #fff; margin-bottom: 6px; }
.dg-steps li::before { counter-increment: step; content: "0" counter(step); display: block; color: var(--gold-soft); font-size: .75rem; letter-spacing: .14em; margin-bottom: 8px; }

@media (max-width: 900px) {
  .dg-hero {
    min-height: 88vh;
    padding-top: 130px;
    --dg-hero-scrim: linear-gradient(180deg, rgba(8,11,17,.35) 0%, rgba(8,11,17,.55) 45%, rgba(8,11,17,.94) 78%);
    background-image: var(--dg-hero-scrim), var(--dg-hero-sm, var(--dg-hero-image-sm, var(--dg-hero-image)));
    background-size: cover, cover;
    background-position: center, var(--dg-hero-pos-sm, var(--dg-hero-focus-sm));
    align-items: end;
  }
  .dg-doors, .dg-offers { grid-template-columns: 1fr; }
  .dg-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
  .dg-door, .dg-offer { padding: 24px; }
  .dg-steps { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .dg-door { transition: none; }
  .dg-door:hover { transform: none; }
}

/* About: founder proof below the studio story (landscape conference photograph) */
.founder-proof { display: grid; grid-template-columns: minmax(260px, 440px) 1fr; gap: 30px; align-items: center; margin: 22px 0 34px; }
.founder-proof picture, .founder-proof img { display: block; width: 100%; }
.founder-proof img { height: auto; aspect-ratio: 1797 / 1200; object-fit: cover; border-radius: 18px; border: 1px solid var(--line); }
.founder-proof figcaption p { margin-top: 0; }
@media (max-width: 760px) { .founder-proof { grid-template-columns: 1fr; } }

/* About: the four approved clean compositions (William within a wide scene), full frame like
   Stories/Technology/Advisory. Static default = first image of the rotation (hero-art.js). */
.dg-hero--about {
  --dg-hero-image: image-set(url("../images/hero/donegal-about-hero-lucerne-2560.avif") type("image/avif"), url("../images/hero/donegal-about-hero-lucerne-2560.webp") type("image/webp"));
  --dg-hero-image-sm: image-set(url("../images/hero/donegal-about-hero-lucerne-1600.avif") type("image/avif"), url("../images/hero/donegal-about-hero-lucerne-1600.webp") type("image/webp"));
  --dg-hero-focus: 60% center;
  --dg-hero-focus-sm: 72% center;
}

/* Technology portfolio + forthcoming cards */
.dg-door .dg-boundary { font-size: .86rem; color: #aeb5c1; border-left: 2px solid rgba(159,211,197,.35); padding-left: 10px; }
.dg-door a.arrow { text-decoration: none; }
.dg-door a.arrow:hover { color: var(--gold-soft); }

/* Portfolio: cards in a row share label and title rows (subgrid), so every description
   starts on the same line at desktop. Single-column mobile keeps each card's natural wrap. */
@supports (grid-template-rows: subgrid) {
  .dg-portfolio > .dg-door { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 12px; }
  .dg-portfolio > .dg-door .arrow { align-self: end; }
  .dg-portfolio > .dg-door h3 { line-height: 1.1; }
}

/* Board Advisory */
.dg-role { margin: 24px 0 0; padding: 12px 16px; max-width: 560px; border-left: 2px solid var(--gold-soft); background: rgba(8,11,17,.55); color: #ece7dc; backdrop-filter: blur(6px); }
.dg-role strong { display: block; color: #fff; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; font-size: .78rem; margin-bottom: 2px; }
.dg-points { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 36px; }
.dg-point { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.03); }
.dg-point .mini, .dg-proof .mini, .dg-terms .mini { display: block; color: var(--gold-soft); letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; font-weight: 800; margin-bottom: 10px; }
.dg-point p { margin: 0; color: #c9cfda; }
.dg-gains { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 34px; margin-top: 36px; }
.dg-gains > div { padding-top: 18px; border-top: 1px solid rgba(216,189,120,.4); }
.dg-gains h3 { margin: 0 0 8px; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: 1.35rem; color: var(--ivory); }
.dg-gains p { margin: 0; color: #c9cfda; }
.dg-advisor { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: start; }
.dg-advisor .section-title { font-size: clamp(2.1rem, 3.6vw, 3.1rem); }
.dg-advisor__photo { margin: 26px 0 0; }
.dg-advisor__photo img { display: block; width: 100%; height: auto; aspect-ratio: 1797 / 1200; object-fit: cover; border-radius: 18px; border: 1px solid var(--line); }
.dg-proof { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.dg-proof li { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(160deg, rgba(255,255,255,.05), rgba(255,255,255,.01)); }
.dg-proof p { margin: 0; color: #d6dae2; }
.dg-advisor__more { margin-top: 28px; }
.dg-cadence { margin: 40px 0 0; }
.dg-cadence__year { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.dg-cadence__year li { position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 104px; padding: 12px 10px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.03); }
.dg-cadence__year li span { color: var(--muted); font-size: .75rem; letter-spacing: .12em; }
.dg-cadence__year li::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #9fd3c5; margin-top: auto; }
.dg-cadence__year li.cycle { border-color: rgba(216,189,120,.55); background: linear-gradient(180deg, rgba(216,189,120,.16), rgba(216,189,120,.04)); }
.dg-cadence__year li em { font-style: normal; font-size: .72rem; line-height: 1.25; color: var(--gold-soft); font-weight: 700; }
.dg-cadence figcaption { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 16px; font-size: .86rem; color: #c9cfda; }
.dg-cadence__key::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 8px; vertical-align: middle; }
.dg-cadence__key--call::before { background: #9fd3c5; }
.dg-cadence__key--cycle::before { border-radius: 3px; background: var(--gold-soft); }
.dg-cadence__note { color: var(--muted); }
.dg-included { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 34px; margin-top: 40px; align-items: start; }
.dg-included ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.dg-included li { padding-top: 14px; border-top: 1px solid rgba(216,189,120,.4); color: #c9cfda; }
.dg-included li strong { display: block; color: #fff; margin-bottom: 4px; }
.dg-terms { padding: 26px; border: 1px solid rgba(216,189,120,.45); border-radius: var(--radius); background: linear-gradient(160deg, rgba(216,189,120,.09), rgba(255,255,255,.02)); }
.dg-terms p { margin: 0 0 10px; color: #e6e1d6; }
.dg-terms p strong { color: #fff; }
.dg-terms .dg-terms__note { margin: 14px 0 0; font-size: .86rem; color: var(--muted); }
.dg-fit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 34px; }
.dg-fit__col { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.03); }
.dg-fit__col--yes { border-color: rgba(159,211,197,.4); }
.dg-fit__col h3 { margin: 0 0 14px; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: 1.5rem; }
.dg-fit__col ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.dg-fit__col li { position: relative; padding-left: 26px; color: #c9cfda; }
.dg-fit__col li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.dg-fit__col--yes li::before { content: "✓"; color: #9fd3c5; }
.dg-fit__col--no li::before { content: "–"; color: var(--muted); }
.dg-bounds { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; }
.dg-bounds li { padding: 10px 18px; border: 1px solid var(--line); border-radius: 999px; color: #e6e1d6; background: rgba(255,255,255,.03); }
.dg-bounds__seat { margin-top: 26px; max-width: 720px; color: #c9cfda; }
.dg-bounds__seat strong { color: #fff; }
.dg-capacity { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 48px; align-items: center; }
.dg-capacity__figure { font-family: Georgia, "Times New Roman", serif; font-size: clamp(7rem, 16vw, 12rem); line-height: .8; color: var(--gold-soft); }
.dg-capacity p:not(.lead) { color: #c9cfda; max-width: 660px; }
.dg-steps--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.dg-apply { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 34px; align-items: end; margin-top: 40px; padding: 30px; border: 1px solid rgba(216,189,120,.45); border-radius: var(--radius); background: rgba(255,255,255,.03); }
.dg-apply h3 { margin: 0 0 12px; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: 1.4rem; }
.dg-apply ul { margin: 0; padding-left: 20px; color: #c9cfda; }
.dg-apply__actions { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.dg-apply__alt { color: var(--muted); font-size: .9rem; }
.dg-apply__alt:hover { color: var(--gold-soft); }
@media (max-width: 1080px) {
  .dg-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dg-gains { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dg-advisor, .dg-included { grid-template-columns: 1fr; }
  .dg-cadence__year { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .dg-steps--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .dg-points, .dg-gains, .dg-proof, .dg-fit, .dg-included ul { grid-template-columns: 1fr; }
  .dg-cadence__year { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .dg-cadence__year li { min-height: 84px; }
  .dg-steps--five { grid-template-columns: 1fr; }
  .dg-capacity { grid-template-columns: 1fr; gap: 12px; }
  .dg-apply { grid-template-columns: 1fr; padding: 24px; }
  .dg-fit__col, .dg-terms { padding: 24px; }
}

/* M4: Circles, Support the writing, In development (shared form styles live in site.css) */
.dg-circles-start { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; align-items: start; }
.dg-circles-form { margin-top: 22px; }
.dg-support { padding: 28px; border: 1px solid rgba(216,189,120,.4); border-radius: var(--radius); background: linear-gradient(160deg, rgba(216,189,120,.07), rgba(255,255,255,.02)); }
.dg-support .mini { display: block; color: var(--gold-soft); letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; font-weight: 800; }
.dg-support h2 { margin: 8px 0 10px; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: 1.8rem; }
.dg-support > p { color: #c9cfda; margin: 0 0 16px; }
.dg-support fieldset { border: 0; margin: 0 0 14px; padding: 0; }
.dg-support legend { margin-bottom: 8px; font-size: .72rem; text-transform: uppercase; letter-spacing: .13em; font-weight: 800; opacity: .75; }
.dg-choice { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.dg-choice--frequency { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dg-choice label { position: relative; }
.dg-choice input { position: absolute; opacity: 0; inset: 0; }
.dg-choice span { display: block; padding: 11px 6px; text-align: center; border: 1px solid rgba(255,255,255,.22); border-radius: 10px; cursor: pointer; }
.dg-choice input:checked + span { border-color: var(--gold-soft); background: rgba(216,189,120,.16); color: #fff; }
.dg-choice input:focus-visible + span { outline: 2px solid var(--gold-soft); outline-offset: 2px; }
.dg-other { margin-top: 10px; }
.dg-other label { display: block; font-size: .8rem; color: var(--muted); margin-bottom: 6px; }
.dg-other__input { display: flex; align-items: center; gap: 8px; border: 1px solid rgba(255,255,255,.24); border-radius: 10px; background: #121925; padding: 0 12px; }
.dg-other__input input { flex: 1; min-width: 0; border: 0; background: transparent; color: #fff; padding: 12px 0; outline: none; }
.dg-other__input:has(input:disabled) { opacity: .5; }
.dg-support__summary { min-height: 1.3rem; margin: 0 0 10px; font-size: .9rem; color: #e6e1d6; }
.dg-support__test { margin: 10px 0 0; font-size: .82rem; color: #9fd3c5; }
.dg-support__terms { margin: 14px 0 0; font-size: .8rem; color: var(--muted); }
.dg-circle-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: 36px; }
.dg-circle { display: flex; flex-direction: column; gap: 10px; padding: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.03); }
.dg-circle--featured { border-color: rgba(216,189,120,.45); background: linear-gradient(160deg, rgba(216,189,120,.09), rgba(255,255,255,.02)); }
.dg-circle .mini { color: var(--gold-soft); letter-spacing: .14em; text-transform: uppercase; font-size: .72rem; font-weight: 800; }
.dg-circle h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: 1.9rem; }
.dg-circle__for { margin: 0; color: #c9cfda; }
.dg-circle__price { margin: 6px 0 0; color: var(--muted); }
.dg-circle__price strong { font-family: Georgia, "Times New Roman", serif; font-size: 2.3rem; font-weight: 500; color: #fff; }
.dg-circle__price span { display: block; font-size: .9rem; }
.dg-circle__cap { margin: 0; font-size: .86rem; color: #9fd3c5; }
.dg-circle ul { margin: 6px 0 14px; padding-left: 20px; color: #c9cfda; display: grid; gap: 6px; }
.dg-circle .btn { margin-top: auto; align-self: flex-start; }
/* M8: each paid circle separates what exists now from what begins as announced */
.dg-circle-benefits { display: grid; gap: 4px; margin: 6px 0 14px; }
.dg-circle-benefits ul { margin: 0 0 10px; padding-left: 20px; color: #c9cfda; display: grid; gap: 6px; }
.dg-circle-benefits__label { margin: 4px 0 2px; color: #9fd3c5; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dg-circle-benefits__label--announced { color: var(--gold-soft); }
.dg-circle .dg-circle-benefits__announced { color: #aeb5c0; }
.dg-circle-notes { display: grid; gap: 10px; margin-top: 30px; max-width: 900px; font-size: .9rem; color: #c9cfda; }
.dg-circle-notes p { margin: 0; }
.dg-circle-notes strong { color: #fff; }
.dg-dev-list { list-style: none; margin: 30px 0 0; padding: 0; display: grid; gap: 12px; }
.dg-dev-list li { display: grid; grid-template-columns: 220px 200px minmax(0, 1fr) auto; gap: 18px; align-items: baseline; padding: 18px 0; border-top: 1px solid var(--line); }
.dg-dev-list .mini { color: #9fd3c5; letter-spacing: .12em; text-transform: uppercase; font-size: .72rem; font-weight: 800; }
.dg-dev-list strong { font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: 1.3rem; }
.dg-dev-list span:not(.mini) { color: #c9cfda; }
.dg-dev-list a { color: var(--ivory); white-space: nowrap; }
.dg-thanks { max-width: 760px; }
/* M7: numbered editions and member experiences, confirmed vs in planning */
.dg-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 30px; }
.dg-detail { display: flex; flex-direction: column; gap: 10px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.03); }
.dg-detail h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; font-size: 1.6rem; }
.dg-detail p { margin: 0; color: #c9cfda; }
.dg-detail ul { margin: 0; padding-left: 20px; color: #c9cfda; display: grid; gap: 6px; }
.dg-status { align-self: flex-start; padding: 4px 10px; border-radius: 999px; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.dg-status--confirmed { color: #0b0f16; background: #9fd3c5; }
.dg-status--planning { color: var(--gold-soft); border: 1px dashed rgba(216,189,120,.6); }
@media (max-width: 1000px) {
  .dg-circles-start, .dg-circle-grid, .dg-detail-grid { grid-template-columns: 1fr; }
  .dg-dev-list li { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 420px) {
  .dg-support, .dg-circle, .dg-detail { padding: 22px; }
  .dg-choice { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dg-choice--frequency { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* M5: free Story-Keeper account path on Circles */
.dg-circles-account { margin-top: 22px; }
.dg-circles-account__note { margin: 12px 0 0; color: #c9cfda; font-size: .92rem; max-width: 560px; }
.dg-circles-email-only { margin: 26px 0 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .86rem; letter-spacing: .08em; text-transform: uppercase; }