/* Grace Matthews Books Money Map hub and free two-chapter sample */
body.gmbh-money-map-page {
    background:
        radial-gradient(circle at 8% 10%, rgba(194,161,74,.12), transparent 24%),
        radial-gradient(circle at 92% 18%, rgba(27,79,76,.12), transparent 26%),
        #faf6ee;
}

.gmbm-main { overflow: hidden; }
.gmbm-hero {
    position: relative;
    min-height: clamp(650px, 51vw, 900px);
    overflow: hidden;
    background: #061d34;
    isolation: isolate;
}
.gmbm-hero-picture,
.gmbm-hero-picture img {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
}
.gmbm-hero-picture img { object-fit: cover; object-position: center; }
.gmbm-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(2,22,40,.08) 0%, rgba(2,22,40,.02) 46%, rgba(2,22,40,0) 72%);
}
.gmbm-hero-inner {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: clamp(650px, 51vw, 900px);
    align-items: center;
}
.gmbm-hero-copy {
    width: min(620px, 48%);
    padding: 74px 0 96px;
    color: #faf6ee;
    text-shadow: 0 2px 18px rgba(0,0,0,.24);
}
body.gmbh-page .gmbm-hero h1 {
    margin-bottom: 8px;
    color: #fffaf0;
    font-family: Cinzel, serif;
    font-size: clamp(3.2rem, 6vw, 6.3rem);
    letter-spacing: -.045em;
}
.gmbm-hero .gmb-eyebrow { color: #e5c46e; }
.gmbm-hero-tagline {
    margin: 0 0 18px;
    color: #f7d986;
    font: 600 clamp(1.45rem, 2.2vw, 2.15rem) Lora, serif;
}
.gmbm-hero .gmb-lead { color: rgba(255,250,240,.9); }
.gmbm-button-gold {
    border-color: #d5ad3d;
    background: #d5ad3d;
    color: #102844 !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.gmbm-button-gold:hover,
.gmbm-button-gold:focus-visible { background:#f1d47f; color:#071a2e !important; }
.gmbm-trust-line { margin: 18px 0 0; color: rgba(255,250,240,.8); font-size: .98rem; }

.gmbm-skills { padding-top: 78px; }
.gmbm-skill-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.gmbm-skill-card {
    min-height: 240px;
    padding: 28px 24px;
    border: 1px solid rgba(27,42,77,.12);
    border-radius: 24px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 18px 42px rgba(27,42,77,.08);
    text-align: center;
}
.gmbm-skill-card > span {
    display:grid;
    width:70px;
    height:70px;
    place-items:center;
    margin:0 auto 18px;
    border:1px solid rgba(194,161,74,.4);
    border-radius:22px;
    background:linear-gradient(145deg,#fffdf8,#eef5ef);
    font-size:2rem;
}
.gmbm-skill-card p { color:rgba(43,43,51,.72); }

.gmbm-series {
    background:
        radial-gradient(circle at 20% 10%, rgba(194,161,74,.15), transparent 26%),
        linear-gradient(150deg,#0c2943,#153d45 58%,#1d544d);
}
.gmbm-series .gmb-section-heading h2,
.gmbm-series .gmb-section-heading p { color:#fffaf0; }
.gmbm-series-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.gmbm-book-card {
    display:grid;
    grid-template-columns:minmax(180px,240px) minmax(0,1fr);
    gap:28px;
    align-items:center;
    padding:30px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:28px;
    background:rgba(250,246,238,.96);
    box-shadow:0 24px 60px rgba(0,0,0,.22);
}
.gmbm-book-cover { position:relative; display:block; }
.gmbm-book-cover img { width:100%; max-height:390px; object-fit:contain; filter:drop-shadow(0 15px 20px rgba(0,0,0,.22)); }
.gmbm-book-badge {
    position:absolute;
    z-index:2;
    top:10px;
    left:10px;
    padding:8px 11px;
    border-radius:999px;
    background:#153d45;
    color:#fff;
    font-size:.78rem;
    font-weight:700;
    box-shadow:0 8px 18px rgba(0,0,0,.2);
}
.gmbm-book-copy p { color:rgba(43,43,51,.75); }
.gmbm-coming-label {
    display:inline-flex;
    padding:10px 14px;
    border:1px solid rgba(194,161,74,.55);
    border-radius:999px;
    background:#fffaf0;
    color:#1b2a4d;
    font-weight:700;
}

.gmbm-reader-section { background:#f5f0e5; }
.gmbm-reader {
    width:min(100%,980px);
    margin:0 auto;
    padding:26px;
    border:1px solid rgba(194,161,74,.5);
    border-radius:30px;
    background:linear-gradient(150deg,#0c2943,#183b5b);
    box-shadow:0 28px 70px rgba(27,42,77,.2);
}
.gmbm-reader-toolbar {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:12px;
    align-items:center;
    margin-bottom:22px;
}
.gmbm-reader-counter { margin:0; color:#fffaf0; font-weight:700; text-align:center; }
.gmbm-reader-button {
    min-height:48px;
    padding:11px 18px;
    border:1px solid rgba(255,255,255,.42);
    border-radius:999px;
    background:rgba(255,255,255,.1);
    color:#fffaf0;
    font:600 .98rem 'Source Sans 3',sans-serif;
    cursor:pointer;
    transition:transform .16s ease, background-color .16s ease, opacity .16s ease;
}
.gmbm-reader-button:hover,
.gmbm-reader-button:focus-visible { transform:translateY(-1px); background:rgba(255,255,255,.18); outline:3px solid #e5c46e; outline-offset:2px; }
.gmbm-reader-button:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.gmbm-reader-next { background:#d5ad3d; color:#102844; border-color:#d5ad3d; }
.gmbm-reader-fullscreen { grid-column:1 / 2; }
.gmbm-reader-copy { grid-column:3 / 4; }
.gmbm-reader-stage {
    display:grid;
    place-items:center;
    min-height:500px;
    padding:18px;
    border-radius:22px;
    background:rgba(255,255,255,.06);
    outline:none;
}
.gmbm-reader-stage.is-turning { opacity:.72; transform:scale(.995); }
.gmbm-reader-page { margin:0; }
.gmbm-reader-page img {
    display:block;
    width:min(100%,700px);
    max-height:78vh;
    object-fit:contain;
    border-radius:8px;
    background:#fff;
    box-shadow:0 20px 48px rgba(0,0,0,.35);
}
.gmbm-reader-help,
.gmbm-reader-status { color:rgba(255,250,240,.74); text-align:center; font-size:.93rem; }
.gmbm-reader-help { margin:18px auto 0; }
.gmbm-reader-status { min-height:1.4em; margin:8px auto 0; color:#f1d47f; }
.gmbm-reader:fullscreen { overflow:auto; border-radius:0; }
.gmbm-reader:fullscreen .gmbm-reader-page img { max-height:calc(100vh - 190px); }

.gmbm-after { padding-top:70px; }
.gmbm-after-card {
    display:grid;
    grid-template-columns:minmax(180px,270px) minmax(0,1fr);
    gap:42px;
    align-items:center;
    padding:40px;
    border:2px solid rgba(194,161,74,.58);
    border-radius:30px;
    background:linear-gradient(135deg,#fffdf8,#eef4ed);
    box-shadow:0 22px 54px rgba(27,42,77,.1);
}
.gmbm-after-cover img { width:100%; max-height:390px; object-fit:contain; filter:drop-shadow(0 15px 20px rgba(27,42,77,.2)); }
.gmbm-after-copy p { max-width:700px; color:rgba(43,43,51,.76); font-size:1.08rem; }

.gmbm-grownups { padding-top:50px; }
.gmbm-grownups-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); gap:56px; align-items:center; }
.gmbm-grownups-copy > p { color:rgba(43,43,51,.76); }
.gmbm-topic-list { display:grid; gap:12px; margin:24px 0; padding:0; list-style:none; }
.gmbm-topic-list li { position:relative; padding-left:30px; color:#2b2b33; }
.gmbm-topic-list li::before { content:'✓'; position:absolute; left:0; top:0; color:#1d6a5d; font-weight:800; }
.gmbm-disclaimer { padding:14px 16px; border-left:4px solid #c2a14a; background:#fffaf0; font-size:.94rem; }
.gmbm-grownups-art img { width:100%; max-height:520px; object-fit:contain; }

@media (max-width: 1100px) {
    .gmbm-skill-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .gmbm-series-grid { grid-template-columns:1fr; }
    .gmbm-book-card { grid-template-columns:minmax(180px,230px) minmax(0,1fr); }
}

@media (max-width: 720px) {
    .gmbm-hero { min-height:940px; }
    .gmbm-hero-picture img { object-position:center; }
    .gmbm-hero::after { background:linear-gradient(180deg,rgba(3,24,42,.05) 0%,rgba(3,24,42,.1) 55%,rgba(3,24,42,.45) 100%); }
    .gmbm-hero-inner { min-height:940px; align-items:flex-start; }
    .gmbm-hero-copy { width:72%; padding:56px 0 0; }
    body.gmbh-page .gmbm-hero h1 { font-size:clamp(2.7rem,12vw,4.3rem); }
    .gmbm-hero .gmb-lead { font-size:1rem; line-height:1.48; }
    .gmbm-hero .gmb-button-row { align-items:stretch; flex-direction:column; }
    .gmbm-hero .gmb-button { width:100%; }
    .gmbm-skill-grid { grid-template-columns:1fr; }
    .gmbm-skill-card { min-height:0; }
    .gmbm-book-card,
    .gmbm-after-card,
    .gmbm-grownups-grid { grid-template-columns:1fr; }
    .gmbm-book-card { padding:24px; text-align:center; }
    .gmbm-book-cover img { max-height:430px; }
    .gmbm-book-copy .gmb-button-row { justify-content:center; }
    .gmbm-reader { padding:16px 12px; border-radius:22px; }
    .gmbm-reader-toolbar { grid-template-columns:1fr 1fr; }
    .gmbm-reader-counter { grid-column:1 / -1; grid-row:1; }
    .gmbm-reader-button[data-reader-prev] { grid-column:1; grid-row:2; }
    .gmbm-reader-button[data-reader-next] { grid-column:2; grid-row:2; }
    .gmbm-reader-fullscreen { grid-column:1; grid-row:3; }
    .gmbm-reader-copy { grid-column:2; grid-row:3; }
    .gmbm-reader-stage { min-height:340px; padding:8px; }
    .gmbm-reader-page img { width:100%; max-height:none; }
    .gmbm-after-card { padding:26px 20px; text-align:center; }
    .gmbm-after-cover img { max-height:430px; }
    .gmbm-after-copy .gmb-button-row { justify-content:center; }
    .gmbm-grownups-art { order:-1; }
}

@media (max-width: 480px) {
    .gmbm-hero { min-height:900px; }
    .gmbm-hero-inner { min-height:900px; }
    .gmbm-hero-copy { width:82%; padding-top:40px; }
    .gmbm-hero-tagline { font-size:1.3rem; }
    .gmbm-reader-button { padding:10px 8px; font-size:.9rem; }
}

@media (prefers-reduced-motion: reduce) {
    .gmbm-reader-stage,
    .gmbm-reader-button { transition:none !important; }
}

/* v3.4.0 Money Map game feature */
.gmbm-hero-link{color:#fff!important;font-weight:800}.gmbm-game-feature{background:linear-gradient(180deg,#f5efe1,#faf6ee)}.gmbm-game-card{display:grid;grid-template-columns:1.02fr .98fr;overflow:hidden;border:1px solid rgba(194,161,74,.34);border-radius:28px;background:#fff;box-shadow:0 24px 60px rgba(27,42,77,.13)}.gmbm-game-art{position:relative;min-height:470px;background:#07182f}.gmbm-game-art>img:first-child{width:100%;height:100%;object-fit:cover}.gmbm-game-art::after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,transparent 50%,rgba(7,24,47,.42))}.gmbm-game-badge{position:absolute!important;z-index:2;right:24px;bottom:18px;width:150px!important;height:150px!important;object-fit:contain!important;filter:drop-shadow(0 15px 18px rgba(0,0,0,.35))}.gmbm-game-copy{display:flex;flex-direction:column;justify-content:center;padding:52px}.gmbm-game-copy ul{display:grid;gap:9px;margin:12px 0 24px;padding-left:22px;color:rgba(43,43,51,.76)}
@media(max-width:820px){.gmbm-game-card{grid-template-columns:1fr}.gmbm-game-art{min-height:330px}.gmbm-game-copy{padding:34px 26px}.gmbm-game-badge{width:115px!important;height:115px!important}}
