/* Homepage finishing system. Explicit editorial scope leaves approved home,
   long-form articles, legal text, forms and account workflows untouched. */
.ggds-editorial { --gg-detail-green:var(--fern,#4a9b3e); --gg-detail-shadow:0 16px 34px #392a1914; }
.ggds-editorial #main :is(.hub-card,.book-product,.proof-card,.wbc-quotes>article) { transition:box-shadow .25s ease,border-color .25s ease; }
/* Green is a restrained secondary accent, not another primary action color. */
.ggds-editorial #main :is(.book-product,.proof-card,.wbc-quotes>article) { border-top:2px solid var(--gg-detail-green); }
.ggds-editorial #main :is(.book-product,.proof-card):nth-child(3n+2) { border-top-color:var(--orange-dark); }
.ggds-editorial #main :is(.hub-book-finder,.hub-member-events,.mfo-audience) { border-top:2px solid var(--gg-detail-green); }
.ggds-about .story-milestone { border-left-color:#4a9b3e60; }
.ggds-about .story-milestone:before { background:var(--gg-detail-green); box-shadow:0 0 0 1px var(--gg-detail-green); }
.ggds-editorial #main :is(.hub-button,.button) { transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.ggds-editorial #main :is(a,button,summary):focus-visible { outline:3px solid var(--orange-dark); outline-offset:5px; }
@media(hover:hover) {
 .ggds-editorial #main :is(.hub-card,.book-product,.proof-card):has(a):hover { box-shadow:var(--gg-detail-shadow); }
 .ggds-editorial #main :is(.hub-button,.button):hover { box-shadow:0 8px 20px #392a1920; }
}
@media(prefers-reduced-motion:no-preference) {
 .ggds-editorial .gg-detail-arrived { animation:gg-detail-settle .5s ease-out; }
 .ggds-editorial #main :is(.hub-button,.button):hover { transform:translateY(-2px); }
}
@keyframes gg-detail-settle { from { opacity:.65; translate:0 12px; } to { opacity:1; translate:0 0; } }
@media(prefers-reduced-motion:reduce) {
 .ggds-editorial .gg-detail-arrived { animation:none; }
 .ggds-editorial #main :is(.hub-card,.book-product,.proof-card,.hub-button,.button) { transition:none; }
}

/* Keep the long homepage belief statement bold, with room to read each word. */
html[data-variant="refined"] #beliefs .display-title {
  font-size:clamp(32px,4.1vw,60px);
  line-height:1.14;
  letter-spacing:-.02em;
  word-spacing:.04em;
  text-wrap:balance;
}
html[data-variant="refined"] #beliefs .display-title .accent-phrase {
  display:inline-block;
  padding-inline-end:.08em;
}
