/* ============================================================
   DAILYGOOD HOMEPAGE v2 -- "See the good. Amplify it."
   All rules namespaced under #dg2 so nothing leaks into the
   shared header/footer or other pages (bootstrap coexists).
   Dusk section fades into --color-earth (#5D4E37) so the
   existing gandhi-section + footer continue seamlessly.
   ============================================================ */
#dg2 {
  --dg2-paper:      #f9f5ec;
  --dg2-paper-warm: #f3ecdd;
  --dg2-ink:        #29291f;
  --dg2-ink-soft:   #6f6a5c;
  --dg2-gold:       #dfa23a;
  --dg2-gold-soft:  #eec87e;
  --dg2-leaf:       #3d7a5c;
  --dg2-blush:      #f0d9c6;
  --dg2-booth:      #faf1e4;
  --dg2-earth:      #5D4E37;
  --dg2-hair:       rgba(41,41,31,.13);

  --dg2-display: "Fraunces", Georgia, serif;
  --dg2-body:    "Newsreader", Georgia, serif;
  --dg2-utility: "Karla", -apple-system, sans-serif;

  font-family: var(--dg2-body);
  color: var(--dg2-ink);
  background: var(--dg2-paper);
  font-size: 18.5px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
#dg2 * { margin:0; padding:0; box-sizing:border-box; }
#dg2 img { max-width:100%; display:block; }
#dg2 a { color:inherit; text-decoration:none; }
#dg2 a:focus-visible, #dg2 button:focus-visible, #dg2 input:focus-visible {
  outline:2px solid var(--dg2-gold); outline-offset:3px; border-radius:3px;
}
#dg2 ul { list-style:none; }
#dg2 .dg2-wrap { max-width:1120px; margin:0 auto; padding:0 28px; }
#dg2 .dg2-eyebrow {
  font-family:var(--dg2-utility); font-size:12px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase;
}
#dg2 .dg2-chip {
  display:inline-flex; align-items:center; gap:7px;
  font-family:var(--dg2-utility); font-size:11px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  padding:6px 13px; border-radius:99px;
}
#dg2 .dg2-chip i { font-style:normal; font-size:12px; }

/* reveal on scroll */
#dg2 .dg2-rv { opacity:0; transform:translateY(20px); transition:opacity .8s ease, transform .8s ease; }
#dg2 .dg2-rv.in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  #dg2 .dg2-rv { opacity:1; transform:none; transition:none; }
  #dg2 * { animation:none !important; transition:none !important; }
  #dg2 .dg2-ticker-track { transform:none !important; }
}

/* ============================================================
   HERO
   ============================================================ */
#dg2 .dg2-hero {
  position:relative; text-align:center; padding:74px 0 0;
  background:
    radial-gradient(110% 62% at 50% -6%, #7d5f68 0%, rgba(125,95,104,0) 44%),
    linear-gradient(180deg, #5c4a56 0%, #4a3d3c 46%, var(--dg2-earth) 100%);
  color:var(--dg2-paper);
}
#dg2 .dg2-hero .dg2-eyebrow { color:rgba(249,245,236,.7); margin-bottom:30px; }
#dg2 .dg2-hero .dg2-eyebrow b { color:var(--dg2-gold-soft); }
#dg2 .dg2-hero h1 {
  font-family:var(--dg2-display); font-weight:380;
  font-size:clamp(46px, 7.6vw, 96px);
  line-height:1.02; letter-spacing:-.02em;
  margin-bottom:28px;
}
#dg2 .dg2-hero h1 .l2 { display:block; font-style:italic; font-weight:430; }
#dg2 .dg2-circled { position:relative; display:inline-block; padding:0 .08em; }
#dg2 .dg2-circled svg { position:absolute; inset:-14% -9% -18% -9%; width:118%; height:132%; overflow:visible; pointer-events:none; }
#dg2 .dg2-circled path {
  fill:none; stroke:var(--dg2-gold); stroke-width:3.4; stroke-linecap:round;
  stroke-dasharray:620; stroke-dashoffset:620;
  animation:dg2draw 1.4s .6s ease forwards;
}
#dg2 .dg2-swashed { position:relative; display:inline-block; }
#dg2 .dg2-swashed svg { position:absolute; left:2%; right:0; bottom:-.14em; width:96%; height:.24em; overflow:visible; pointer-events:none; }
#dg2 .dg2-swashed path {
  fill:none; stroke:var(--dg2-gold); stroke-width:5; stroke-linecap:round;
  stroke-dasharray:900; stroke-dashoffset:900;
  animation:dg2draw 1.1s 1.5s ease forwards;
}
@keyframes dg2draw { to { stroke-dashoffset:0; } }
#dg2 .dg2-hero-sub {
  font-size:clamp(17px,2vw,21px); font-weight:300; color:rgba(249,245,236,.82);
  max-width:56ch; margin:0 auto 38px;
}
#dg2 .dg2-hero-sub b { color:var(--dg2-paper); font-weight:500; }
#dg2 .dg2-hero-ctas { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:36px; }
#dg2 .dg2-cta {
  font-family:var(--dg2-utility); font-size:15px; font-weight:700;
  border-radius:99px; padding:15px 30px;
  transition:transform .18s ease, background .18s ease, color .18s ease;
}
#dg2 .dg2-cta:hover { transform:translateY(-2px); }
#dg2 .dg2-cta-gold { background:var(--dg2-gold); color:#2b2107; }
#dg2 .dg2-cta-gold:hover { background:var(--dg2-gold-soft); color:#2b2107; }
#dg2 .dg2-cta-line { border:1.5px solid rgba(249,245,236,.6); color:var(--dg2-paper); }
#dg2 .dg2-cta-line:hover { background:var(--dg2-paper); color:#2b2107; border-color:var(--dg2-paper); }
#dg2 .dg2-hero-ask { max-width:470px; margin:0 auto; }
#dg2 .dg2-ask-pill {
  display:flex; align-items:center; background:rgba(249,245,236,.08);
  border:1px solid rgba(249,245,236,.28); border-radius:99px;
  padding:4px 6px 4px 22px;
}
#dg2 .dg2-ask-pill input {
  flex:1; background:none; border:none; font-family:var(--dg2-body);
  font-size:16px; color:var(--dg2-paper); padding:10px 0; min-width:0;
  outline-offset:0;
}
#dg2 .dg2-ask-pill input::placeholder { color:rgba(249,245,236,.5); font-style:italic; }
#dg2 .dg2-ask-pill input:focus { outline:none; }
#dg2 .dg2-ask-pill button {
  background:rgba(249,245,236,.15); border:none; border-radius:99px;
  width:40px; height:40px; font-size:17px; cursor:pointer; color:var(--dg2-paper);
  flex:0 0 40px;
}
#dg2 .dg2-ask-pill button:hover { background:var(--dg2-gold); color:#2b2107; }
#dg2 .dg2-ask-hint { font-family:var(--dg2-utility); font-size:12px; letter-spacing:.05em; color:rgba(249,245,236,.55); margin-top:11px; }

/* ---- ticker ---- */
#dg2 .dg2-ticker {
  margin-top:56px; border-top:1px solid var(--dg2-hair); border-bottom:1px solid var(--dg2-hair);
  background:#fffdf8; overflow:hidden; position:relative;
}
#dg2 .dg2-ticker::before {
  content:"Fresh good \2742"; position:absolute; left:0; top:0; bottom:0; z-index:2;
  display:flex; align-items:center; padding:0 18px;
  background:var(--dg2-gold); color:#2b2107;
  font-family:var(--dg2-utility); font-size:12px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; white-space:nowrap;
}
#dg2 .dg2-ticker-track { display:flex; width:max-content; animation:dg2tick 110s linear infinite; padding-left:150px; }
#dg2 .dg2-ticker:hover .dg2-ticker-track { animation-play-state:paused; }
@keyframes dg2tick { to { transform:translateX(-50%); } }
#dg2 .dg2-ticker a {
  display:flex; align-items:center; padding:13px 26px; white-space:nowrap;
  font-family:var(--dg2-utility); font-size:14px; font-weight:500; color:var(--dg2-ink);
}
#dg2 .dg2-ticker a:hover { color:var(--dg2-leaf); }
#dg2 .dg2-ticker a b { color:var(--dg2-ink-soft); font-weight:600; font-size:12px; margin-left:8px; }
#dg2 .dg2-ticker a::after { content:"\2742"; color:var(--dg2-gold); margin-left:22px; font-size:11px; }

/* ============================================================
   MOSAIC
   ============================================================ */
#dg2 .dg2-mosaic { padding:86px 0 30px; }
#dg2 .dg2-sec-head { text-align:center; max-width:62ch; margin:0 auto 52px; }
#dg2 .dg2-sec-head .dg2-eyebrow { color:var(--dg2-gold); margin-bottom:14px; }
#dg2 .dg2-sec-head h2 {
  font-family:var(--dg2-display); font-weight:400;
  font-size:clamp(32px,4.2vw,50px); line-height:1.08; letter-spacing:-.015em;
  margin-bottom:16px;
}
#dg2 .dg2-sec-head h2 em { font-style:italic; }
#dg2 .dg2-sec-head p { color:var(--dg2-ink-soft); font-weight:300; }

#dg2 .dg2-grid {
  display:grid; gap:22px;
  grid-template-columns:1.15fr .85fr 1fr;
  grid-template-areas:
    "feature feature news"
    "feature feature news"
    "quote   video   video";
}
#dg2 .dg2-card {
  background:#fffdf8; border:1px solid var(--dg2-hair); border-radius:18px;
  overflow:hidden; position:relative;
  transition:transform .22s ease, box-shadow .22s ease;
}
#dg2 .dg2-card:hover { transform:translateY(-4px); box-shadow:0 14px 34px rgba(41,41,31,.09); }

/* feature */
#dg2 .dg2-c-feature { grid-area:feature; display:flex; flex-direction:column; }
#dg2 .dg2-c-feature .img { position:relative; aspect-ratio:16/8.4; overflow:hidden; }
#dg2 .dg2-c-feature .img img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
#dg2 .dg2-c-feature:hover .img img { transform:scale(1.03); }
#dg2 .dg2-c-feature .dg2-chip { position:absolute; top:16px; left:16px; background:rgba(255,253,248,.92); color:var(--dg2-ink); }
#dg2 .dg2-c-feature .dg2-chip i { color:var(--dg2-gold); }
#dg2 .dg2-c-feature .body { padding:26px 30px 30px; }
#dg2 .dg2-c-feature h3 {
  font-family:var(--dg2-display); font-weight:440;
  font-size:clamp(24px,2.6vw,33px); line-height:1.14; letter-spacing:-.01em;
  margin-bottom:12px;
}
#dg2 .dg2-c-feature h3 a:hover { color:#7a5a1c; }
#dg2 .dg2-c-feature p.dek { color:var(--dg2-ink-soft); font-weight:300; font-size:17.5px; margin-bottom:16px; }
#dg2 .dg2-mini-link {
  font-family:var(--dg2-utility); font-size:13px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase;
  border-bottom:2px solid var(--dg2-gold); padding-bottom:3px;
}
#dg2 .dg2-mini-link:hover { color:#7a5a1c; }

/* news wire */
#dg2 .dg2-c-news { grid-area:news; display:flex; flex-direction:column; padding:24px 24px 20px; }
#dg2 .dg2-c-news .dg2-chip { background:var(--dg2-paper-warm); color:var(--dg2-ink); align-self:flex-start; margin-bottom:8px; }
#dg2 .dg2-c-news .dg2-chip i { color:var(--dg2-leaf); }
#dg2 .dg2-wire { flex:1; }
#dg2 .dg2-wire li { border-bottom:1px solid var(--dg2-hair); }
#dg2 .dg2-wire li:last-child { border-bottom:none; }
#dg2 .dg2-wire a { display:flex; gap:14px; padding:16px 2px; align-items:flex-start; }
#dg2 .dg2-wire a:hover h4 { color:var(--dg2-leaf); }
#dg2 .dg2-wire .thumb { flex:0 0 62px; width:62px; height:62px; border-radius:12px; overflow:hidden; margin-top:2px; }
#dg2 .dg2-wire .thumb img { width:100%; height:100%; object-fit:cover; }
#dg2 .dg2-wire h4 { font-family:var(--dg2-body); font-weight:500; font-size:16.5px; line-height:1.35; margin-bottom:4px; transition:color .15s; }
#dg2 .dg2-wire .meta { font-family:var(--dg2-utility); font-size:11.5px; color:var(--dg2-ink-soft); letter-spacing:.05em; }
#dg2 .dg2-wire .meta b { color:var(--dg2-leaf); font-weight:700; }
#dg2 .dg2-beam-note {
  font-family:var(--dg2-utility); font-size:11.5px; color:var(--dg2-ink-soft);
  border-top:1px dashed var(--dg2-hair); padding-top:12px; margin-top:6px;
  display:flex; align-items:center; gap:8px;
}
#dg2 .dg2-beam-note::before { content:"\2727"; color:var(--dg2-gold); }
#dg2 .dg2-score-drop {
  display:block; margin-top:12px;
  font-family:var(--dg2-utility); font-size:12.5px; font-weight:600; line-height:1.5;
  color:var(--dg2-ink);
  border:1.5px dashed var(--dg2-gold); border-radius:13px;
  padding:11px 14px;
  transition:background .18s ease;
}
#dg2 .dg2-score-drop:hover { background:rgba(223,162,58,.1); }
#dg2 .dg2-c-news .more { margin-top:14px; font-family:var(--dg2-utility); font-size:13px; font-weight:700; color:var(--dg2-ink); }
#dg2 .dg2-c-news .more span { background:var(--dg2-leaf); color:#fffdf8; border-radius:99px; padding:2px 10px; margin-left:7px; font-size:11.5px; }
#dg2 .dg2-c-news .more:hover { color:var(--dg2-leaf); }

/* quote card */
#dg2 .dg2-c-quote { grid-area:quote; background:var(--dg2-gold); border:none; padding:30px 28px; display:flex; flex-direction:column; justify-content:center; }
#dg2 .dg2-c-quote .dg2-chip { background:rgba(43,33,7,.12); color:#2b2107; align-self:flex-start; margin-bottom:18px; }
#dg2 .dg2-c-quote p {
  font-family:var(--dg2-display); font-style:italic; font-weight:420;
  font-size:clamp(19px,1.9vw,23px); line-height:1.35; color:#2b2107;
}
#dg2 .dg2-c-quote cite {
  display:block; margin-top:14px; font-style:normal;
  font-family:var(--dg2-utility); font-size:12px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:rgba(43,33,7,.65);
}
#dg2 .dg2-c-quote > a { position:absolute; inset:0; }

/* karmatube theatre */
#dg2 .dg2-c-video { grid-area:video; background:#20263b; border:none; color:var(--dg2-paper); display:flex; }
#dg2 .dg2-c-video .img { position:relative; flex:0 0 46%; overflow:hidden; }
#dg2 .dg2-c-video .img a { display:block; width:100%; height:100%; }
#dg2 .dg2-c-video .img img { width:100%; height:100%; object-fit:cover; opacity:.72; }
#dg2 .dg2-c-video .play {
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:58px; height:58px; border-radius:50%;
  background:rgba(249,245,236,.94); color:#20263b;
  display:flex; align-items:center; justify-content:center;
  font-size:19px; padding-left:5px;
  transition:transform .2s ease, background .2s ease;
}
#dg2 .dg2-c-video:hover .play { transform:translate(-50%,-50%) scale(1.1); background:var(--dg2-gold); }
#dg2 .dg2-c-video .body { padding:24px 26px; display:flex; flex-direction:column; justify-content:center; }
#dg2 .dg2-c-video .dg2-chip { background:rgba(249,245,236,.12); color:var(--dg2-paper); align-self:flex-start; margin-bottom:14px; }
#dg2 .dg2-c-video .dg2-chip i { color:var(--dg2-gold-soft); }
#dg2 .dg2-c-video h4 { font-family:var(--dg2-display); font-weight:430; font-size:clamp(20px,2vw,25px); line-height:1.18; margin-bottom:8px; }
#dg2 .dg2-c-video h4 a:hover { color:var(--dg2-gold-soft); }
#dg2 .dg2-c-video .body > p { font-family:var(--dg2-utility); font-size:13.5px; color:rgba(249,245,236,.68); margin-bottom:12px; }
#dg2 .dg2-kt-arc { font-family:var(--dg2-utility); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dg2-gold-soft); }
#dg2 .dg2-kt-arc i { font-style:normal; color:rgba(249,245,236,.4); margin:0 7px; }
#dg2 .dg2-kt-lib {
  display:inline-block; margin-top:12px; align-self:flex-start;
  font-family:var(--dg2-utility); font-size:12.5px; font-weight:600;
  color:rgba(249,245,236,.7); border-bottom:1px solid rgba(238,200,126,.5); padding-bottom:2px;
}
#dg2 .dg2-kt-lib:hover { color:var(--dg2-gold-soft); border-color:var(--dg2-gold-soft); }

@media (max-width:960px){
  #dg2 .dg2-grid { grid-template-columns:1fr 1fr; grid-template-areas:
    "feature feature" "news news" "quote quote" "video video"; }
}
@media (max-width:620px){
  #dg2 .dg2-grid { grid-template-columns:1fr; grid-template-areas:"feature" "news" "quote" "video"; }
  #dg2 .dg2-c-video { flex-direction:column; }
  #dg2 .dg2-c-video .img { flex:none; aspect-ratio:16/9; }
}

/* ============================================================
   STORY BOOTH
   ============================================================ */
#dg2 .dg2-booth-sec {
  margin-top:70px; padding:96px 0 90px;
  background:var(--dg2-booth);
  border-top:1px solid var(--dg2-hair); border-bottom:1px solid var(--dg2-hair);
  position:relative; overflow:hidden;
}
#dg2 .dg2-booth-sec::before {
  content:"\275D"; position:absolute; right:-40px; top:-60px;
  font-family:var(--dg2-display); font-size:380px; line-height:1;
  color:rgba(223,162,58,.10); pointer-events:none;
}
#dg2 .dg2-booth-head { max-width:66ch; margin:0 auto 56px; text-align:center; position:relative; z-index:1; }
#dg2 .dg2-booth-head .dg2-eyebrow { color:#a15a32; margin-bottom:14px; }
#dg2 .dg2-booth-head h2 {
  font-family:var(--dg2-display); font-weight:390;
  font-size:clamp(32px,4.4vw,52px); line-height:1.07; letter-spacing:-.015em;
  margin-bottom:18px;
}
#dg2 .dg2-booth-head h2 em { font-style:italic; }
#dg2 .dg2-booth-head p { color:var(--dg2-ink-soft); font-weight:300; max-width:58ch; margin:0 auto; }
#dg2 .dg2-booth-head p b { color:var(--dg2-ink); font-weight:500; }

#dg2 .dg2-booth-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:26px; align-items:stretch; position:relative; z-index:1; }

#dg2 .dg2-b-featured {
  background:#fffdf8; border:1px solid var(--dg2-hair); border-radius:18px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .22s ease, box-shadow .22s ease;
}
#dg2 .dg2-b-featured:hover { transform:translateY(-4px); box-shadow:0 14px 34px rgba(41,41,31,.09); }
#dg2 .dg2-b-featured .img { overflow:hidden; position:relative; }
#dg2 .dg2-b-featured .img img {
  width:100%; height:auto; max-height:520px;
  object-fit:cover; object-position:center 18%;
}
#dg2 .dg2-b-featured .dg2-chip { position:absolute; top:16px; left:16px; background:rgba(255,253,248,.92); color:#6c4028; }
#dg2 .dg2-b-featured .dg2-chip i { color:#c06a3e; }
#dg2 .dg2-b-featured .body { padding:24px 28px 26px; }
#dg2 .dg2-b-featured h3 {
  font-family:var(--dg2-display); font-weight:450;
  font-size:clamp(22px,2.4vw,30px); line-height:1.15; margin-bottom:8px;
}
#dg2 .dg2-b-featured h3 a:hover { color:#a15a32; }
#dg2 .dg2-b-who {
  font-family:var(--dg2-utility); font-size:12px; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:#a15a32;
  margin-bottom:10px;
}
#dg2 .dg2-b-featured .body > p { color:var(--dg2-ink-soft); font-weight:300; font-size:17px; margin-bottom:14px; }

#dg2 .dg2-b-stack { display:flex; flex-direction:column; gap:26px; }
#dg2 .dg2-b-live { background:#fffdf8; border:1.5px solid var(--dg2-gold); border-radius:18px; padding:24px 26px; position:relative; }
#dg2 .dg2-b-live .dg2-chip { background:var(--dg2-gold); color:#2b2107; margin-bottom:14px; }
#dg2 .dg2-live-dot { width:8px; height:8px; border-radius:50%; background:#2b2107; display:inline-block; animation:dg2blink 2.4s ease infinite; }
@keyframes dg2blink { 0%,100%{opacity:1} 50%{opacity:.25} }
#dg2 .dg2-b-live h4 { font-family:var(--dg2-display); font-weight:460; font-size:22px; margin-bottom:6px; }
#dg2 .dg2-b-live .when { font-family:var(--dg2-utility); font-size:13px; font-weight:700; letter-spacing:.06em; color:#a15a32; margin-bottom:10px; }
#dg2 .dg2-b-live p { font-size:16px; color:var(--dg2-ink-soft); font-weight:300; margin-bottom:16px; }
#dg2 .dg2-b-live .row2 { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
#dg2 .dg2-btn-sm {
  font-family:var(--dg2-utility); font-size:13.5px; font-weight:700;
  border-radius:99px; padding:11px 22px;
  background:var(--dg2-ink); color:var(--dg2-paper);
  transition:background .18s ease;
}
#dg2 .dg2-btn-sm:hover { background:var(--dg2-leaf); color:var(--dg2-paper); }
#dg2 .dg2-link-sm { font-family:var(--dg2-utility); font-size:13px; font-weight:700; border-bottom:1.5px solid var(--dg2-gold); padding-bottom:2px; }
#dg2 .dg2-link-sm:hover { color:#a15a32; }

#dg2 .dg2-b-ways h5 { font-family:var(--dg2-utility); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--dg2-ink-soft); margin-bottom:14px; }
#dg2 .dg2-ways { display:grid; gap:10px; }
#dg2 .dg2-ways a {
  display:flex; align-items:baseline; gap:12px;
  background:#fffdf8; border:1px solid var(--dg2-hair); border-radius:14px;
  padding:14px 18px; transition:transform .18s ease, border-color .18s ease;
}
#dg2 .dg2-ways a:hover { transform:translateX(4px); border-color:var(--dg2-gold); }
#dg2 .dg2-ways .role { font-family:var(--dg2-display); font-weight:480; font-size:17.5px; white-space:nowrap; }
#dg2 .dg2-ways .what { font-family:var(--dg2-utility); font-size:13.5px; color:var(--dg2-ink-soft); }
#dg2 .dg2-ways .what b { color:#a15a32; font-weight:700; }

#dg2 .dg2-b-strip { margin-top:26px; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; z-index:1; }
#dg2 .dg2-b-mini {
  background:#fffdf8; border:1px solid var(--dg2-hair); border-radius:14px;
  overflow:hidden; display:block;
  transition:transform .2s ease, box-shadow .2s ease;
}
#dg2 .dg2-b-mini:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(41,41,31,.08); }
#dg2 .dg2-b-mini .img { display:block; aspect-ratio:16/10; overflow:hidden; }
#dg2 .dg2-b-mini img { width:100%; height:100%; object-fit:cover; object-position:center 25%; }
#dg2 .dg2-b-ph {
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; background:var(--dg2-blush);
  font-family:var(--dg2-display); font-size:42px; font-weight:420; color:#a15a32;
}
#dg2 .dg2-b-mini .t { display:block; padding:13px 15px 15px; }
#dg2 .dg2-b-mini h6 { font-family:var(--dg2-body); font-weight:500; font-size:15.5px; line-height:1.3; margin-bottom:3px; }
#dg2 .dg2-b-mini .by { font-family:var(--dg2-utility); font-size:11.5px; color:var(--dg2-ink-soft); letter-spacing:.04em; }
#dg2 .dg2-booth-foot { margin-top:34px; text-align:center; font-family:var(--dg2-utility); font-size:14.5px; color:var(--dg2-ink-soft); position:relative; z-index:1; }
#dg2 .dg2-booth-foot a { color:var(--dg2-ink); font-weight:700; border-bottom:1.5px solid var(--dg2-gold); padding-bottom:2px; }
#dg2 .dg2-booth-foot a:hover { color:#a15a32; }
@media (max-width:960px){
  #dg2 .dg2-booth-grid { grid-template-columns:1fr; }
  #dg2 .dg2-b-strip { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){ #dg2 .dg2-b-strip { grid-template-columns:1fr; } }

/* ============================================================
   THE PRACTICE (ripple)
   ============================================================ */
#dg2 .dg2-ripple-sec { padding:100px 0 40px; }
#dg2 .dg2-ripple-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
#dg2 .dg2-pond { position:relative; aspect-ratio:1; max-width:400px; margin:0 auto; width:100%; }
#dg2 .dg2-pond .ring { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); border:1.5px solid rgba(223,162,58,.7); border-radius:50%; }
#dg2 .dg2-pond .ring.r1 { width:15%; height:15%; background:var(--dg2-gold); border:none; }
#dg2 .dg2-pond .ring.r2 { width:42%; height:42%; }
#dg2 .dg2-pond .ring.r3 { width:68%; height:68%; border-color:rgba(223,162,58,.45); }
#dg2 .dg2-pond .ring.r4 { width:94%; height:94%; border-color:rgba(223,162,58,.28); }
#dg2 .dg2-pond .pulse {
  position:absolute; left:50%; top:50%; width:15%; height:15%; border-radius:50%;
  border:1px solid var(--dg2-gold); transform:translate(-50%,-50%);
  animation:dg2pond 9s ease-out infinite;
}
@keyframes dg2pond {
  0% { width:15%; height:15%; opacity:.55; }
  100% { width:100%; height:100%; opacity:0; }
}
#dg2 .dg2-pond .heart { position:absolute; left:50%; top:50%; transform:translate(-50%,-54%); font-size:clamp(18px,2.2vw,24px); z-index:2; }
#dg2 .dg2-ripple-copy .dg2-eyebrow { color:#8a6a2a; margin-bottom:16px; }
#dg2 .dg2-ripple-copy h2 {
  font-family:var(--dg2-display); font-weight:390;
  font-size:clamp(32px,4.2vw,50px); line-height:1.06; letter-spacing:-.015em;
  margin-bottom:18px;
}
#dg2 .dg2-ripple-copy h2 em { font-style:italic; }
#dg2 .dg2-ripple-copy > p { color:var(--dg2-ink-soft); font-weight:300; max-width:52ch; margin-bottom:36px; }
#dg2 .dg2-steps { display:grid; gap:22px; }
#dg2 .dg2-steps li { display:flex; gap:18px; align-items:flex-start; }
#dg2 .dg2-steps .glyph { flex:0 0 44px; height:44px; border-radius:50%; position:relative; }
#dg2 .dg2-steps .glyph::before { content:""; position:absolute; border-radius:50%; border:1.5px solid var(--dg2-gold); }
#dg2 .dg2-steps li:nth-child(1) .glyph::before { inset:15px; background:var(--dg2-gold); border:none; }
#dg2 .dg2-steps li:nth-child(2) .glyph::before { inset:11px; }
#dg2 .dg2-steps li:nth-child(3) .glyph::before { inset:7px; }
#dg2 .dg2-steps li:nth-child(4) .glyph::before { inset:2px; }
#dg2 .dg2-steps h3 { font-family:var(--dg2-display); font-weight:470; font-size:20.5px; margin-bottom:3px; }
#dg2 .dg2-steps p { font-size:16.5px; color:var(--dg2-ink-soft); font-weight:300; max-width:46ch; }
#dg2 .dg2-ripple-coda {
  margin:70px auto 30px; padding-top:34px;
  border-top:1px dashed var(--dg2-hair);
  font-size:clamp(17px,1.9vw,20px); color:var(--dg2-ink-soft); font-weight:300;
  max-width:62ch; text-align:center;
}
#dg2 .dg2-ripple-coda b { color:var(--dg2-ink); font-weight:500; }
#dg2 .dg2-field { display:grid; grid-template-columns:repeat(3,1fr); gap:14px 18px; }
#dg2 .dg2-field a {
  display:flex; flex-direction:column; gap:2px; height:100%;
  padding:16px 19px; border:1px solid var(--dg2-hair); border-radius:14px; background:#fffdf8;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
#dg2 .dg2-field a:hover { transform:translateY(-3px); border-color:var(--dg2-gold); box-shadow:0 10px 24px rgba(41,41,31,.07); }
#dg2 .dg2-field .f-name { font-family:var(--dg2-display); font-weight:480; font-size:17.5px; }
#dg2 .dg2-field .f-what { font-family:var(--dg2-utility); font-size:12.5px; color:var(--dg2-ink-soft); line-height:1.45; }
@media (max-width:900px){
  #dg2 .dg2-ripple-grid { grid-template-columns:1fr; gap:48px; }
  #dg2 .dg2-pond { max-width:280px; }
  #dg2 .dg2-field { grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){ #dg2 .dg2-field { grid-template-columns:1fr; } }

/* ============================================================
   GIFT STRIP
   ============================================================ */
#dg2 .dg2-gift { padding:40px 0 84px; text-align:center; }
#dg2 .dg2-gift .dg2-eyebrow { color:var(--dg2-gold); margin-bottom:34px; }
#dg2 .dg2-gift-row { display:flex; justify-content:center; gap:20px 64px; flex-wrap:wrap; align-items:baseline; }
#dg2 .dg2-gift-stat .n {
  font-family:var(--dg2-display); font-weight:360;
  font-size:clamp(38px,4.6vw,58px); letter-spacing:-.02em; line-height:1;
}
#dg2 .dg2-gift-stat .n em { font-style:italic; color:var(--dg2-gold); }
#dg2 .dg2-gift-stat .l {
  font-family:var(--dg2-utility); font-size:12.5px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--dg2-ink-soft); margin-top:10px;
}
#dg2 .dg2-gift-line { margin-top:36px; font-family:var(--dg2-display); font-style:italic; font-weight:340; font-size:clamp(18px,2vw,22px); color:var(--dg2-ink-soft); }

/* ============================================================
   DUSK / SUBSCRIBE -- ends at --color-earth so the existing
   gandhi-section (#5D4E37) and footer continue seamlessly
   ============================================================ */
#dg2 .dg2-dusk {
  position:relative; overflow:hidden;
  background:
    radial-gradient(110% 62% at 50% -6%, #7d5f68 0%, rgba(125,95,104,0) 44%),
    linear-gradient(180deg, #5c4a56 0%, #4a3d3c 46%, var(--dg2-earth) 100%);
  color:var(--dg2-paper); padding:110px 0 96px; text-align:center;
}
#dg2 .dg2-dusk .dg2-eyebrow { color:var(--dg2-gold-soft); margin-bottom:20px; }
#dg2 .dg2-dusk h2 {
  font-family:var(--dg2-display); font-weight:340;
  font-size:clamp(34px,4.6vw,58px); line-height:1.07; margin-bottom:18px;
}
#dg2 .dg2-dusk h2 em { font-style:italic; color:var(--dg2-gold-soft); }
#dg2 .dg2-dusk-copy { color:rgba(249,245,236,.82); font-weight:300; max-width:46ch; margin:0 auto 42px; }
#dg2 .dg2-sub-form { max-width:520px; margin:0 auto; }
#dg2 .dg2-sub-row { display:flex; background:rgba(249,245,236,.08); border:1px solid rgba(249,245,236,.28); border-radius:99px; padding:5px; }
#dg2 .dg2-sub-row input {
  flex:1; background:none; border:none; color:var(--dg2-paper);
  font-family:var(--dg2-body); font-size:17px; padding:12px 22px; min-width:0;
}
#dg2 .dg2-sub-row input::placeholder { color:rgba(249,245,236,.45); font-style:italic; }
#dg2 .dg2-sub-row input:focus { outline:none; }
#dg2 .dg2-sub-row button {
  background:var(--dg2-gold); color:#2b2107; border:none; border-radius:99px;
  font-family:var(--dg2-utility); font-weight:700; font-size:14.5px;
  padding:12px 26px; cursor:pointer; white-space:nowrap;
}
#dg2 .dg2-sub-row button:hover { background:var(--dg2-gold-soft); }
#dg2 .dg2-freq { margin-top:18px; display:flex; gap:10px; justify-content:center; font-family:var(--dg2-utility); }
#dg2 .dg2-freq label {
  font-size:13px; font-weight:600; letter-spacing:.05em;
  border:1px solid rgba(249,245,236,.35); border-radius:99px;
  padding:8px 18px; cursor:pointer; color:rgba(249,245,236,.78);
}
#dg2 .dg2-freq input { position:absolute; opacity:0; }
#dg2 .dg2-freq label:has(input:checked) { border-color:var(--dg2-gold); color:var(--dg2-gold-soft); }
#dg2 .dg2-sub-trust { margin-top:24px; font-family:var(--dg2-utility); font-size:12.5px; letter-spacing:.08em; color:rgba(249,245,236,.55); }
@media (max-width:480px){
  #dg2 .dg2-sub-row { flex-direction:column; border-radius:22px; gap:6px; }
  #dg2 .dg2-sub-row button { width:100%; }
}
