/*
Theme Name: MoneyGlowUp
Theme URI: https://moneyglowup.info
Author: MoneyGlowUp
Description: A lightweight editorial block theme for MoneyGlowUp — beginner-friendly personal finance education. Deep navy, emerald and subtle gold. Built for Gutenberg / the Site Editor; pairs with the MoneyGlowUp Core plugin for video, disclosure and author features.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.2.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: moneyglowup
Tags: blog, news, block-patterns, full-site-editing, editor-style, accessibility-ready, one-column, wide-blocks
*/

/* Most styling lives in theme.json. This file holds the few rules theme.json cannot express. */

/* Visible keyboard focus everywhere */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--gold);
	outline-offset: 2px;
	border-radius: 3px;
}

/* Skip link (core adds it for block themes; keep it readable when focused) */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
	padding: 0.75rem 1rem;
	z-index: 100000;
}

/* Header */
.mgu-header { border-bottom: 1px solid rgba(255,255,255,.08); }
.mgu-header .wp-block-site-title a { text-decoration: none; }
.mgu-logo-mark { display:inline-block; width:12px; height:12px; border-radius:50%; background: var(--wp--preset--color--gold); box-shadow: 0 0 0 4px rgba(201,162,39,.25); margin-right:.55rem; vertical-align: middle; }
.mgu-header .wp-block-navigation a { text-decoration: none; }
.mgu-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: .25em; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--navy) !important; color: var(--wp--preset--color--white) !important; padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.25rem; padding: .35rem 0; }

/* Cards */
.mgu-card { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: 14px; height: 100%; transition: box-shadow .2s ease, transform .2s ease; }
.mgu-card:hover { box-shadow: 0 10px 30px rgba(11,31,58,.08); }
.mgu-card .wp-block-post-title a, .mgu-card h3 a { text-decoration: none; }
.mgu-card .wp-block-post-title a:hover, .mgu-card h3 a:hover { text-decoration: underline; }
.mgu-post-grid .wp-block-post-featured-image img { border-radius: 10px; aspect-ratio: 16/9; object-fit: cover; }
.mgu-eyebrow { letter-spacing: .08em; text-transform: uppercase; }

/* Category pills */
.mgu-cat-pills ul, ul.mgu-cat-pills { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.mgu-cat-pills li a { display: inline-block; padding: .5rem 1rem; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; background: var(--wp--preset--color--white); text-decoration: none; color: var(--wp--preset--color--navy); font-weight: 600; }
.mgu-cat-pills li a:hover { border-color: var(--wp--preset--color--emerald); color: var(--wp--preset--color--emerald); }
.mgu-cat-pills .cat-item-none { color: var(--wp--preset--color--muted); }

/* Article reading layout */
.mgu-article .wp-block-post-content > * + h2 { margin-top: 2.5rem; }
.mgu-article .wp-block-post-content p, .mgu-article .wp-block-post-content li { font-size: var(--wp--preset--font-size--reading); line-height: 1.75; }
.mgu-article .wp-block-post-content table { font-size: .95rem; }
.mgu-article .wp-block-post-content :where(h2,h3) { scroll-margin-top: 1.5rem; }
.mgu-example { background: var(--wp--preset--color--mint); border-left: 4px solid var(--wp--preset--color--emerald); border-radius: 0 10px 10px 0; padding: 1.1rem 1.25rem; }
.mgu-example > :first-child { margin-top: 0; }
.mgu-sources { font-size: .92rem; color: var(--wp--preset--color--muted); }
.mgu-sources a { word-break: break-word; }

/* Hero */
.mgu-hero { position: relative; overflow: hidden; }
.mgu-hero::after { content: ""; position: absolute; right: -120px; top: -120px; width: 380px; height: 380px; border-radius: 50%; background: radial-gradient(circle, rgba(201,162,39,.22), rgba(201,162,39,0) 70%); pointer-events: none; }

/* Tables */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table td, .wp-block-table th { border: 1px solid var(--wp--preset--color--line); padding: .6rem .75rem; }
.wp-block-table thead { background: var(--wp--preset--color--surface); }
.wp-block-table { overflow-x: auto; }

/* Pagination */
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { padding: .35rem .7rem; border-radius: 8px; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--white); }

/* Reduce motion */
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Small screens */
@media (max-width: 600px) {
	.mgu-hero::after { display: none; }
	.mgu-hide-mobile { display: none !important; }
}

/* Footer link lists */
.mgu-plain-list { list-style: none; padding-left: 0; }
.mgu-plain-list li { margin: .35rem 0; }
footer a { text-decoration: none; }
footer a:hover { text-decoration: underline; }

/* Sections sit flush: no white strips between header, colored sections and footer */
.wp-site-blocks > * + * { margin-block-start: 0; }
.page-template-page-landing .wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }

/* =====================================================================
   v1.1 — Modern blog & article layouts
   ===================================================================== */

/* Hero bands (blog, archive, search, author) */
.mgu-blog-hero { position: relative; overflow: hidden; background-image: radial-gradient(circle at 85% 10%, rgba(201,162,39,.28), transparent 45%), radial-gradient(circle at 10% 90%, rgba(127,217,180,.16), transparent 40%); }
.mgu-blog-hero h1, .mgu-blog-hero .wp-block-query-title { color: #fff; margin: .35rem 0 .5rem; }
.mgu-hero-lead { color: #C9D3DF; }
.mgu-blog-hero > .mgu-hero-search { max-width: 860px !important; }
.mgu-hero-search .wp-block-search__inside-wrapper { max-width: 40rem; }
.mgu-blog-hero .wp-block-term-description p { color: #C9D3DF; }
.mgu-blog-hero .mgu-breadcrumbs, .mgu-blog-hero .mgu-breadcrumbs a, .mgu-blog-hero .mgu-breadcrumbs span { color: #C9D3DF; }
.mgu-hero-search { margin-top: 1.5rem; }
.mgu-hero-search .wp-block-search__inside-wrapper { background: #fff; border-radius: 999px; padding: .3rem; border: 0; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.mgu-hero-search .wp-block-search__input { border: 0; background: transparent; padding: .65rem 1rem; font-size: 1rem; color: var(--wp--preset--color--ink); }
.mgu-hero-search .wp-block-search__input:focus { outline: none; }
.mgu-hero-search .wp-block-search__inside-wrapper:focus-within { outline: 3px solid var(--wp--preset--color--gold); outline-offset: 2px; }
.mgu-hero-search .wp-block-search__button { border-radius: 999px; margin-left: .3rem; background: var(--wp--preset--color--emerald); color: #fff; padding: .6rem 1.3rem; }
.mgu-cat-pills--dark { margin-top: 1.25rem !important; }
.mgu-cat-pills--dark li a { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: #fff !important; backdrop-filter: blur(4px); }
.mgu-cat-pills--dark li a:hover { background: #fff; color: var(--wp--preset--color--navy) !important; border-color: #fff; }
.mgu-author-hero .mgu-author-box { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.18); color: #fff; }
.mgu-author-hero .mgu-author-box h1, .mgu-author-hero .mgu-author-box p, .mgu-author-hero .mgu-author-box a { color: #fff; }

/* Feed grid + modern cards */
.mgu-feed .wp-block-post-template { gap: 1.75rem; }
.mgu-card-modern { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 20px; overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.mgu-card-modern:hover { transform: translateY(-4px); box-shadow: 0 22px 45px -20px rgba(11,31,58,.35); border-color: transparent; }
.mgu-card-modern .mgu-cover--card { border-radius: 0; }
.mgu-card-modern .mgu-card-body { flex: 1; }
.mgu-card-modern .wp-block-post-title, .mgu-card-modern .mgu-card-title { font-size: 1.3rem; line-height: 1.25; margin: 0; }
.mgu-card-modern .wp-block-post-title a, .mgu-card-modern .mgu-card-title a { color: var(--wp--preset--color--navy); text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .3s; }
.mgu-card-modern:hover .wp-block-post-title a, .mgu-card-modern:hover .mgu-card-title a { background-size: 100% 2px; }
.mgu-card-modern .wp-block-post-excerpt__excerpt, .mgu-card-modern .mgu-card-excerpt { color: var(--wp--preset--color--muted); margin: 0; font-size: .98rem; }
.mgu-card-modern .wp-block-post-excerpt { margin: 0; }
.mgu-card-modern .mgu-meta-line { margin-top: auto; padding-top: .5rem; }

/* First post on page 1 of the blog becomes a wide "featured" card */
@media (min-width: 900px) {
	body:not(.paged) .mgu-feed--featured .wp-block-post-template > li:first-child { grid-column: 1 / -1; }
	body:not(.paged) .mgu-feed--featured .wp-block-post-template > li:first-child .mgu-card-modern { display: grid; grid-template-columns: 1.15fr 1fr; align-items: stretch; }
	body:not(.paged) .mgu-feed--featured .wp-block-post-template > li:first-child .mgu-cover--card { aspect-ratio: auto; height: 100%; min-height: 320px; }
	body:not(.paged) .mgu-feed--featured .wp-block-post-template > li:first-child .mgu-card-body { padding: 2.25rem 2.5rem; justify-content: center; gap: .9rem; }
	body:not(.paged) .mgu-feed--featured .wp-block-post-template > li:first-child .wp-block-post-title { font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
	body:not(.paged) .mgu-feed--featured .wp-block-post-template > li:first-child .mgu-card-body::before { content: "Latest guide"; align-self: flex-start; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--gold-text); }
	body:not(.paged) .mgu-feed--featured .wp-block-post-template > li:first-child .mgu-meta-line { margin-top: .5rem; }
}

/* Pagination */
.mgu-pagination { margin-top: 2.5rem; gap: .4rem; }
.mgu-pagination a, .mgu-pagination .page-numbers { border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .45rem .95rem; text-decoration: none; background: #fff; }
.mgu-pagination .current { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); color: #fff; }
.mgu-empty { text-align: center; padding: 3rem 1rem; }

/* YouTube band */
.mgu-yt-band { background-image: radial-gradient(circle at 90% 50%, rgba(201,162,39,.22), transparent 40%); }
.mgu-yt-band h2 { margin: .3rem 0 .5rem; }
.mgu-yt-band__inner { gap: 1.5rem 3rem; }
.mgu-yt-band__inner > .wp-block-group { max-width: 40rem; }
.mgu-yt-band .mgu-yt-btn--solid { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--navy) !important; --mgu-yt-play: #C9A227; padding: 1rem 1.75rem; font-size: 1.05rem; }
.mgu-yt-band .mgu-yt-btn--solid svg rect { fill: var(--wp--preset--color--navy); }
.mgu-yt-band .mgu-yt-btn--solid:hover { background: #fff; }

/* ---------- Single article ---------- */
.mgu-article-hero { background: linear-gradient(180deg, var(--wp--preset--color--mint) 0%, #fff 100%); }
.mgu-article-hero .mgu-breadcrumbs { margin-bottom: 1.25rem; }
.mgu-article-title { font-size: clamp(2.1rem, 4.6vw, 3.4rem) !important; line-height: 1.1 !important; letter-spacing: -.02em !important; margin-top: .9rem !important; margin-bottom: .75rem !important; }
.mgu-article-lead p { font-size: clamp(1.1rem, 1.6vw, 1.3rem); color: var(--wp--preset--color--muted); line-height: 1.55; margin: 0; }
.mgu-article-meta--extras { border: 0; padding: 0; margin-top: 1rem; }
.mgu-article-meta--extras .mgu-jurisdiction { display: inline-flex; gap: .4rem; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: .35rem .9rem; font-size: .85rem; }
.mgu-article-cover { margin-top: 0 !important; margin-bottom: var(--wp--preset--spacing--50) !important; }

.mgu-article-layout { display: grid; gap: 3rem; grid-template-columns: minmax(0, 1fr); margin-bottom: var(--wp--preset--spacing--60) !important; }
@media (min-width: 1000px) {
	.mgu-article-layout { grid-template-columns: minmax(0, 720px) 280px; justify-content: center; }
	.mgu-article-aside { position: sticky; top: 2rem; align-self: start; }
	.admin-bar .mgu-article-aside { top: calc(2rem + 32px); }
}
@media (max-width: 999px) { .mgu-article-aside { order: -1; } }
.mgu-article-main > * + * { margin-top: 2rem; }

/* Article typography */
.mgu-article-main .wp-block-post-content > * { margin-top: 0; margin-bottom: 1.35rem; }
.mgu-article-main .wp-block-post-content p, .mgu-article-main .wp-block-post-content li { font-size: var(--wp--preset--font-size--reading); line-height: 1.8; color: #243041; }
.mgu-article-main .wp-block-post-content h2 { font-size: clamp(1.6rem, 2.6vw, 2.05rem); margin-top: 3rem; margin-bottom: 1rem; position: relative; padding-top: 1rem; scroll-margin-top: 5rem; }
.mgu-article-main .wp-block-post-content h2::before { content: ""; position: absolute; top: 0; left: 0; width: 48px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, var(--wp--preset--color--emerald), var(--wp--preset--color--gold)); }
.mgu-article-main .wp-block-post-content h3 { margin-top: 2rem; scroll-margin-top: 5rem; }
.mgu-article-main .wp-block-post-content > p:first-child { font-size: 1.22rem; color: var(--wp--preset--color--ink); }
.mgu-article-main .wp-block-post-content ul:not(.mgu-sources) { list-style: none; padding-left: 0; }
.mgu-article-main .wp-block-post-content ul:not(.mgu-sources) > li { position: relative; padding-left: 1.9rem; margin: .55rem 0; }
.mgu-article-main .wp-block-post-content ul:not(.mgu-sources) > li::before { content: ""; position: absolute; left: .2rem; top: .62em; width: .7rem; height: .7rem; border-radius: 50%; background: var(--wp--preset--color--mint); box-shadow: inset 0 0 0 3px var(--wp--preset--color--emerald); }
.mgu-article-main .wp-block-post-content ol { padding-left: 1.4rem; }
.mgu-article-main .wp-block-post-content ol li::marker { color: var(--wp--preset--color--emerald); font-weight: 700; }
.mgu-article-main .wp-block-post-content a { text-decoration-thickness: 1px; text-underline-offset: .2em; }
.mgu-article-main .wp-block-table { border: 1px solid var(--wp--preset--color--line); border-radius: 14px; overflow: hidden; }
.mgu-article-main .wp-block-table table { border: 0; }
.mgu-article-main .wp-block-table thead { background: var(--wp--preset--color--navy); }
.mgu-article-main .wp-block-table thead th { color: #fff; border-color: rgba(255,255,255,.15); text-align: left; font-size: .9rem; letter-spacing: .02em; }
.mgu-article-main .wp-block-table td, .mgu-article-main .wp-block-table th { border-left: 0; border-right: 0; padding: .75rem 1rem; }
.mgu-article-main .wp-block-table tbody tr:nth-child(even) { background: var(--wp--preset--color--surface); }
.mgu-article-main .wp-block-table figcaption { padding: .6rem 1rem; margin: 0; background: var(--wp--preset--color--surface); font-size: .85rem; }
.mgu-article-main .mgu-example { border: 0; border-radius: 18px; padding: 1.5rem 1.6rem; background: linear-gradient(135deg, var(--wp--preset--color--mint), #fff); box-shadow: inset 0 0 0 1px rgba(11,107,78,.18); position: relative; }
.mgu-article-main .mgu-example > p:first-child { display: inline-flex; align-items: center; gap: .5rem; font-size: .95rem !important; }
.mgu-article-main .mgu-example > p:first-child::before { content: "💡"; }
.mgu-article-main .mgu-example .wp-block-table { background: #fff; }
.mgu-article-main .wp-block-post-content hr { border: 0; height: 1px; background: var(--wp--preset--color--line); margin: 3rem 0 2rem; }
.mgu-article-main .mgu-sources { background: var(--wp--preset--color--surface); border-radius: 14px; padding: 1.1rem 1.25rem 1.1rem 2.4rem; }
.mgu-article-main .mgu-sources li { font-size: .92rem !important; line-height: 1.6 !important; color: var(--wp--preset--color--muted) !important; }

/* Aside */
.mgu-article-aside .mgu-toc { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 1.1rem 1.25rem; }
.mgu-article-aside .mgu-toc summary { font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; list-style: none; display: flex; justify-content: space-between; }
.mgu-article-aside .mgu-toc summary::-webkit-details-marker { display: none; }
.mgu-article-aside .mgu-toc summary::after { content: "+"; font-weight: 700; }
.mgu-article-aside .mgu-toc details[open] summary::after { content: "–"; }
.mgu-article-aside .mgu-toc ol { list-style: none; padding: 0; margin: .8rem 0 0; counter-reset: toc; border-left: 2px solid var(--wp--preset--color--line); }
.mgu-article-aside .mgu-toc li { counter-increment: toc; margin: 0; }
.mgu-article-aside .mgu-toc a { display: block; padding: .38rem 0 .38rem .9rem; margin-left: -2px; border-left: 2px solid transparent; text-decoration: none; color: var(--wp--preset--color--muted); font-size: .9rem; line-height: 1.4; }
.mgu-article-aside .mgu-toc a:hover { color: var(--wp--preset--color--navy); }
.mgu-article-aside .mgu-toc a.is-active { border-left-color: var(--wp--preset--color--emerald); color: var(--wp--preset--color--emerald); }

/* Article footer cards */
.mgu-article-main .mgu-disclosure { border-radius: 16px; background: var(--wp--preset--color--gold-soft); border-color: rgba(138,106,15,.2); }
.mgu-article-main .mgu-author-box { border-radius: 20px; padding: 1.5rem; background: linear-gradient(135deg, #fff, var(--wp--preset--color--surface)); align-items: center; }
.mgu-related-section .mgu-post-cards { margin: 0 auto; }
.mgu-related-section .mgu-section-title { text-align: left; }

@media (max-width: 600px) {
	.mgu-cover--hero { aspect-ratio: 16/10; border-radius: 16px; }
	.mgu-article-layout { gap: 1.5rem; }
	.mgu-blog-hero .wp-block-search__button { padding: .6rem 1rem; }
}

.mgu-card-body > .mgu-chip, .mgu-chip-wrap .mgu-chip { align-self: flex-start; }
.mgu-chip-wrap { margin-top: 0; }
.mgu-hero-search .wp-block-search__inside-wrapper { margin-left: 0 !important; margin-right: auto !important; }

/* =====================================================================
   v1.2 — Site-wide modern UI (header, pages, home, start here, about,
   contact, videos, policies, 404)
   ===================================================================== */

/* Sticky, glassy header */
.wp-site-blocks > .wp-block-template-part:first-child { position: sticky; top: 0; z-index: 60; }
.admin-bar .wp-site-blocks > .wp-block-template-part:first-child { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > .wp-block-template-part:first-child { top: 0; } }
.mgu-header { background: rgba(11,31,58,.92) !important; backdrop-filter: saturate(160%) blur(10px); -webkit-backdrop-filter: saturate(160%) blur(10px); }
.mgu-header .wp-block-search__button { background: transparent !important; border: 1px solid rgba(255,255,255,.3) !important; color: #fff !important; border-radius: 999px !important; width: 40px; height: 40px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; }
.mgu-header .wp-block-search__button:hover { border-color: var(--wp--preset--color--gold) !important; }
.mgu-header .wp-block-navigation-item__content { padding: .35rem .2rem; border-radius: 6px; }
.mgu-article-aside { top: 6rem !important; }
.admin-bar .mgu-article-aside { top: calc(6rem + 32px) !important; }

/* Shared section system */
.mgu-sec { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.mgu-sec:not(.mgu-sec--tint):not(.mgu-sec--why) + .mgu-sec:not(.mgu-sec--tint):not(.mgu-sec--why) { padding-top: 0; }
.mgu-sec--tint { background: var(--wp--preset--color--surface); }
.mgu-sec__head { max-width: 46rem; margin-bottom: 2.25rem; }
.mgu-kicker { font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--emerald); margin: 0 0 .6rem; }
.mgu-section-h { font-size: clamp(1.8rem, 3.4vw, 2.6rem); letter-spacing: -.02em; margin: 0 0 .6rem; }
.mgu-section-sub { color: var(--wp--preset--color--muted); font-size: 1.12rem; margin: 0; }
.mgu-pill { display: inline-flex; align-items: center; gap: .5rem; padding: .4rem .9rem; border-radius: 999px; font-size: .85rem; font-weight: 700; background: rgba(127,217,180,.14); color: var(--wp--preset--color--emerald-bright); border: 1px solid rgba(127,217,180,.35); margin: 0 0 1.25rem; }
.mgu-pill::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 4px rgba(127,217,180,.18); }

/* Buttons: gold style */
.wp-block-button.is-style-mgu-gold .wp-block-button__link { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--navy); box-shadow: 0 10px 24px -10px rgba(201,162,39,.8); }
.wp-block-button.is-style-mgu-gold .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--navy); }
.wp-block-button__link { transition: transform .15s ease, background .2s, box-shadow .2s; }
.wp-block-button__link:hover { transform: translateY(-1px); }

/* ---------- Home hero ---------- */
.mgu-home-hero { background: var(--wp--preset--color--navy); color: #fff; position: relative; overflow: hidden; padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); background-image: radial-gradient(circle at 80% 20%, rgba(201,162,39,.25), transparent 40%), radial-gradient(circle at 0% 100%, rgba(127,217,180,.18), transparent 45%); }
.mgu-home-hero__inner { display: grid; gap: 3rem; align-items: center; grid-template-columns: minmax(0,1fr); }
@media (min-width: 960px) { .mgu-home-hero__inner { grid-template-columns: 1.15fr .85fr; } }
.mgu-home-hero__title { color: #fff !important; font-size: clamp(2.4rem, 5.2vw, 4rem) !important; line-height: 1.05 !important; letter-spacing: -.03em; margin: 0 0 1.25rem; }
.mgu-home-hero__lead { color: #C9D3DF; font-size: clamp(1.08rem, 1.6vw, 1.25rem); max-width: 36rem; margin: 0 0 2rem; }
.mgu-home-hero__ctas { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.mgu-home-hero__ctas .wp-block-buttons { gap: .75rem; }
.mgu-home-hero .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.5); }
.mgu-home-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1); }
.mgu-home-hero .mgu-yt-btn--outline { color: #fff; border-color: rgba(255,255,255,.5); }
.mgu-home-hero__trust { margin: 1.5rem 0 0; font-size: .9rem; color: #9fb0c4; }

/* Hero illustration */
.mgu-hv { position: relative; max-width: 440px; margin: 0 auto; padding: 1.5rem 0 2.5rem; }
.mgu-hv__card { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 22px; backdrop-filter: blur(8px); color: #fff; box-shadow: 0 30px 60px -25px rgba(0,0,0,.6); }
.mgu-hv__card--main { padding: 1.6rem 1.6rem 1.8rem; }
.mgu-hv__head { display: flex; align-items: center; gap: .55rem; font-weight: 700; font-size: .95rem; }
.mgu-hv__head em { margin-left: auto; font-style: normal; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; padding: .2rem .55rem; border-radius: 999px; background: rgba(255,255,255,.12); color: #C9D3DF; }
.mgu-hv__dot { width: .6rem; height: .6rem; border-radius: 50%; background: var(--wp--preset--color--emerald-bright); }
.mgu-hv__big { font-family: var(--wp--preset--font-family--heading); font-size: 3rem; font-weight: 700; margin: 1rem 0 0; line-height: 1; }
.mgu-hv__sub { color: #9fb0c4; margin: .35rem 0 1.4rem; font-size: .92rem; }
.mgu-hv__row + .mgu-hv__row { margin-top: .9rem; }
.mgu-hv__label { display: flex; justify-content: space-between; font-size: .9rem; color: #C9D3DF; margin-bottom: .35rem; }
.mgu-hv__label strong { color: #fff; }
.mgu-hv__track { height: 10px; border-radius: 999px; background: rgba(255,255,255,.1); overflow: hidden; }
.mgu-hv__track span { display: block; height: 100%; border-radius: 999px; animation: mgu-grow 1.2s ease-out both; }
@keyframes mgu-grow { from { width: 0 !important; } }
.mgu-hv__card--float { position: absolute; right: -1.5rem; bottom: -.25rem; display: flex; align-items: center; gap: .8rem; padding: .9rem 1.1rem; background: #13294B; }
.mgu-hv__k { display: block; font-size: .78rem; color: #9fb0c4; }
.mgu-hv__card--chip { position: absolute; left: -1.25rem; top: 0; padding: .55rem .9rem; font-size: .85rem; font-weight: 700; background: var(--wp--preset--color--emerald); border: 0; }
@media (max-width: 600px) { .mgu-hv__card--float { right: 0; } .mgu-hv__card--chip { left: 0; } }

/* Sources strip */
.mgu-sources-strip { border-bottom: 1px solid var(--wp--preset--color--line); padding-top: 1.6rem; padding-bottom: 1.6rem; }
.mgu-sources-strip__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1.75rem; text-align: center; }
.mgu-sources-strip__label { margin: 0; color: var(--wp--preset--color--muted); font-size: .92rem; }
.mgu-sources-strip__list { margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.75rem; justify-content: center; }
.mgu-sources-strip__list span { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.2rem; color: var(--wp--preset--color--navy); opacity: .75; }
.mgu-sources-strip__note { margin: 0; width: 100%; font-size: .78rem; color: var(--wp--preset--color--muted); }

/* Steps (home) */
.mgu-steps { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); counter-reset: s; }
.mgu-step { position: relative; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 22px; padding: 1.75rem 1.6rem; transition: transform .25s, box-shadow .25s; }
.mgu-step:hover { transform: translateY(-4px); box-shadow: 0 22px 45px -22px rgba(11,31,58,.35); }
.mgu-step__num { width: 2.6rem; height: 2.6rem; border-radius: 12px; display: grid; place-items: center; margin: 0 0 1rem; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--wp--preset--color--emerald), var(--wp--preset--color--navy)); }
.mgu-step__meta { position: absolute; top: 1.9rem; right: 1.6rem; margin: 0; font-size: .78rem; font-weight: 700; color: var(--wp--preset--color--muted); background: var(--wp--preset--color--surface); padding: .25rem .6rem; border-radius: 999px; }
.mgu-step h3 { margin: 0 0 .5rem; font-size: 1.3rem; }
.mgu-step h3 a { text-decoration: none; color: var(--wp--preset--color--navy); }
.mgu-step h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 22px; }
.mgu-step p:last-child { color: var(--wp--preset--color--muted); margin: 0; }

/* Topics grid */
.mgu-topics { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.mgu-topic { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 18px; text-decoration: none; color: inherit; transition: transform .2s, box-shadow .2s, border-color .2s; }
.mgu-topic:hover { transform: translateY(-3px); box-shadow: 0 18px 35px -20px rgba(11,31,58,.35); border-color: transparent; }
.mgu-topic__icon { flex: 0 0 auto; width: 3.25rem; height: 3.25rem; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, var(--from), var(--to)); }
.mgu-topic__icon svg { stroke-width: 1; }
.mgu-topic__text { display: flex; flex-direction: column; gap: .2rem; }
.mgu-topic__name { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.15rem; color: var(--wp--preset--color--navy); }
.mgu-topic__desc { font-size: .92rem; color: var(--wp--preset--color--muted); line-height: 1.45; }
.mgu-topic__count { margin-top: .35rem; font-size: .82rem; font-weight: 700; color: var(--wp--preset--color--emerald); }

/* Feature cards */
.mgu-features { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.mgu-feature { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 20px; padding: 1.6rem; }
.mgu-sec--why { background: linear-gradient(180deg, var(--wp--preset--color--mint), #fff); }
.mgu-feature__icon { font-size: 1.6rem; width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 14px; background: var(--wp--preset--color--mint); margin: 0 0 1rem; }
.mgu-feature h3 { margin: 0 0 .4rem; font-size: 1.2rem; }
.mgu-feature p:last-child { margin: 0; color: var(--wp--preset--color--muted); }

/* CTA band (pages) */
.mgu-ctaband { background: var(--wp--preset--color--navy-soft); color: #fff; padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); background-image: radial-gradient(circle at 90% 50%, rgba(201,162,39,.22), transparent 40%); }
.mgu-ctaband__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; }
.mgu-ctaband__text { max-width: 40rem; }
.mgu-ctaband h2 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.4rem); margin: 0 0 .5rem; }
.mgu-ctaband p { color: #C9D3DF; margin: 0; }
.mgu-ctaband .mgu-kicker { color: var(--wp--preset--color--emerald-bright); }
.mgu-ctaband .mgu-yt-btn--solid { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--navy) !important; padding: 1rem 1.75rem; font-size: 1.05rem; }
.mgu-ctaband .mgu-yt-btn--solid svg rect { fill: var(--wp--preset--color--navy); }
.mgu-ctaband--light { background: var(--wp--preset--color--gold-soft); background-image: none; color: var(--wp--preset--color--ink); }
.mgu-ctaband--light h2 { color: var(--wp--preset--color--navy); }
.mgu-ctaband--light p { color: var(--wp--preset--color--muted); }

/* FAQ */
.mgu-faq { max-width: 52rem; }
.mgu-faq .wp-block-details { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 1.1rem 1.35rem; margin: 0 0 .75rem; transition: box-shadow .2s; }
.mgu-faq .wp-block-details[open] { box-shadow: 0 14px 30px -20px rgba(11,31,58,.35); }
.mgu-faq summary { cursor: pointer; font-weight: 700; font-size: 1.08rem; color: var(--wp--preset--color--navy); list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.mgu-faq summary::-webkit-details-marker { display: none; }
.mgu-faq summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--wp--preset--color--emerald); transition: transform .2s; }
.mgu-faq details[open] summary::after { transform: rotate(45deg); }
.mgu-faq details p { margin: .75rem 0 0; color: var(--wp--preset--color--muted); }

/* ---------- Page hero (landing pages) ---------- */
.mgu-phero { background: var(--wp--preset--color--navy); color: #fff; padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--60); background-image: radial-gradient(circle at 85% 15%, rgba(201,162,39,.25), transparent 40%), radial-gradient(circle at 5% 95%, rgba(127,217,180,.16), transparent 40%); }
.mgu-phero__inner { max-width: 860px !important; }
.mgu-phero__title { color: #fff !important; font-size: clamp(2.2rem, 4.8vw, 3.6rem) !important; line-height: 1.08 !important; letter-spacing: -.025em; margin: 0 0 1rem; }
.mgu-phero__lead { color: #C9D3DF; font-size: clamp(1.08rem, 1.6vw, 1.25rem); margin: 0; max-width: 44rem; }
.mgu-phero__meta { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.5rem 0 0; }
.mgu-phero__meta span { padding: .4rem .85rem; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); font-size: .88rem; font-weight: 600; }

/* Start Here path */
.mgu-path { display: grid; gap: 1.5rem; position: relative; max-width: 56rem; }
.mgu-path__step { position: relative; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 22px; padding: 2rem 2rem 2rem 5.5rem; }
.mgu-path__step::before { content: ""; position: absolute; left: 2.65rem; top: 5rem; bottom: -1.6rem; width: 2px; background: linear-gradient(var(--wp--preset--color--emerald), transparent); }
.mgu-path__step:last-child::before { display: none; }
.mgu-path__num { position: absolute; left: 1.5rem; top: 2rem; margin: 0; width: 2.4rem; height: 2.4rem; border-radius: 50%; display: grid; place-items: center; font-size: 0; background: var(--wp--preset--color--emerald); box-shadow: 0 0 0 6px var(--wp--preset--color--mint); }
.mgu-path__step:nth-child(1) .mgu-path__num::after { content: "1"; }
.mgu-path__step:nth-child(2) .mgu-path__num::after { content: "2"; }
.mgu-path__step:nth-child(3) .mgu-path__num::after { content: "3"; }
.mgu-path__num::after { font-size: 1rem; font-weight: 800; color: #fff; }
.mgu-path__step h2 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); margin: 0 0 .5rem; }
.mgu-path__step > p { color: var(--wp--preset--color--muted); }
@media (max-width: 600px) { .mgu-path__step { padding: 1.5rem 1.25rem 1.5rem 4.25rem; } .mgu-path__num { left: 1rem; top: 1.5rem; } .mgu-path__step::before { left: 2.2rem; } }
ul.mgu-checks { list-style: none; padding: 0; margin: 1rem 0 1.25rem; display: grid; gap: .45rem; }
ul.mgu-checks li { padding-left: 1.8rem; position: relative; }
ul.mgu-checks li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 1.25rem; height: 1.25rem; border-radius: 50%; background: var(--wp--preset--color--mint); color: var(--wp--preset--color--emerald); font-size: .75rem; font-weight: 800; display: grid; place-items: center; margin-top: .2rem; }

/* About */
.mgu-split { gap: 3rem !important; align-items: center !important; }
.mgu-quote { background: var(--wp--preset--color--navy); color: #fff; border-radius: 24px; padding: 2.25rem; position: relative; overflow: hidden; }
.mgu-quote::before { content: "“"; position: absolute; right: 1rem; top: -2.5rem; font-size: 10rem; font-family: Georgia, serif; color: rgba(201,162,39,.25); }
.mgu-quote p:first-child { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.3rem, 2.2vw, 1.7rem); line-height: 1.35; margin: 0 0 1rem; color: #fff; }
.mgu-quote__by { color: var(--wp--preset--color--emerald-bright); margin: 0; font-weight: 700; font-size: .9rem; }
.mgu-sec--creator .mgu-author-box { max-width: 48rem; padding: 2rem; border-radius: 22px; background: linear-gradient(135deg, #fff, var(--wp--preset--color--surface)); align-items: center; }
.mgu-linkcards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.mgu-linkcards p, .mgu-quicklinks p { margin: 0; }
.mgu-linkcards a, .mgu-quicklinks a { display: flex; flex-direction: column; gap: .3rem; height: 100%; padding: 1.35rem 1.4rem; border: 1px solid var(--wp--preset--color--line); border-radius: 18px; background: #fff; text-decoration: none; color: var(--wp--preset--color--navy); transition: transform .2s, box-shadow .2s, border-color .2s; }
.mgu-linkcards a:hover, .mgu-quicklinks a:hover { transform: translateY(-3px); box-shadow: 0 18px 35px -20px rgba(11,31,58,.35); border-color: var(--wp--preset--color--emerald); }
.mgu-linkcards strong::after, .mgu-quicklinks strong::after { content: " →"; color: var(--wp--preset--color--emerald); }
.mgu-linkcards span, .mgu-quicklinks span { font-size: .92rem; color: var(--wp--preset--color--muted); }
.mgu-quicklinks { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); margin-bottom: var(--wp--preset--spacing--60) !important; }

/* Contact */
.mgu-contact-grid { gap: 2rem !important; }
.mgu-contact-grid > .wp-block-column:first-child { flex: 1 1 62% !important; }
.mgu-contact-grid > .wp-block-column:last-child { flex: 1 1 32% !important; min-width: 16rem; }
.mgu-formcard { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 24px; padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: 0 24px 50px -30px rgba(11,31,58,.35); }
.mgu-formcard__h { font-size: 1.6rem; margin: 0 0 1.25rem; }
.mgu-sidecards { display: grid; gap: 1rem; }
.mgu-sidecard { background: var(--wp--preset--color--surface); border-radius: 18px; padding: 1.2rem 1.35rem; }
.mgu-sidecard h3 { font-size: 1.05rem; margin: 0 0 .35rem; }
.mgu-sidecard p { margin: 0; color: var(--wp--preset--color--muted); font-size: .95rem; }
.mgu-sidecard--dark { background: var(--wp--preset--color--navy); }
.mgu-sidecard--dark h3 { color: #fff; }
.mgu-sidecard--dark p { color: #C9D3DF; margin-bottom: 1rem; }
.mgu-sidecard--dark .mgu-yt-btn--solid { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--navy) !important; }
.mgu-sidecard--dark .mgu-yt-btn--solid svg rect { fill: var(--wp--preset--color--navy); }
.mgu-contact .mgu-btn { padding: .95rem 2rem; font-size: 1.05rem; }
.mgu-contact input[type=text], .mgu-contact input[type=email], .mgu-contact select, .mgu-contact textarea { border-radius: 12px !important; border-color: var(--wp--preset--color--line) !important; background: var(--wp--preset--color--surface) !important; padding: .85rem 1rem !important; }
.mgu-contact input:focus, .mgu-contact select:focus, .mgu-contact textarea:focus { background: #fff !important; border-color: var(--wp--preset--color--emerald) !important; box-shadow: 0 0 0 4px rgba(11,107,78,.12); outline: none; }

/* Default pages + policies */
.mgu-page-hero { background: linear-gradient(180deg, var(--wp--preset--color--mint), #fff); }
.mgu-page-title { font-size: clamp(2.1rem, 4.4vw, 3.2rem) !important; letter-spacing: -.02em; margin-top: 1rem !important; margin-bottom: .5rem !important; }
.mgu-page-hero .mgu-article-meta { border: 0; padding: 0; }
.mgu-policy-layout { margin-top: var(--wp--preset--spacing--50) !important; }
.mgu-policy-help { background: var(--wp--preset--color--surface); border-radius: 16px; padding: 1.1rem 1.35rem; margin-top: 2.5rem !important; }
.mgu-policy-help p { margin: 0; }
.mgu-policy-layout .mgu-article-main .wp-block-post-content > p:first-child { font-size: 1.15rem; }

/* Videos + empty states */
.mgu-blog-hero .mgu-yt-btn--solid { margin-top: 1.5rem; background: var(--wp--preset--color--gold); color: var(--wp--preset--color--navy) !important; padding: .95rem 1.6rem; }
.mgu-blog-hero .mgu-yt-btn--solid svg rect { fill: var(--wp--preset--color--navy); }
.mgu-video-feed .mgu-video-thumb img { border-radius: 0; }
.mgu-empty-state { text-align: center; max-width: 40rem; margin: 0 auto var(--wp--preset--spacing--60) !important; padding: 3rem 2rem; border: 2px dashed var(--wp--preset--color--line); border-radius: 24px; background: #fff; }
.mgu-empty-state__icon { width: 4.5rem; height: 4.5rem; margin: 0 auto 1rem !important; border-radius: 50%; display: grid; place-items: center; font-size: 1.6rem; color: #fff; background: linear-gradient(135deg, var(--wp--preset--color--emerald), var(--wp--preset--color--navy)); box-shadow: 0 0 0 10px var(--wp--preset--color--mint); }
.mgu-empty-state h2 { margin: .5rem 0; }
.mgu-empty-state p { color: var(--wp--preset--color--muted); }

/* Section-level post cards headers */
.mgu-sec .mgu-post-cards .mgu-section-head { margin-bottom: 1.5rem; }
.mgu-sec .mgu-post-cards .mgu-section-title { font-size: clamp(1.8rem, 3.4vw, 2.6rem); letter-spacing: -.02em; }
.mgu-sec .mgu-grid { gap: 1.75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); }

/* Homepage pattern overrides for legacy sections still in use */
.page-template-page-landing .wp-block-post-content > * { margin-block-start: 0 !important; }

/* Grid children must not inherit flow-layout top margins */
.mgu-features > *, .mgu-steps > *, .mgu-topics > *, .mgu-linkcards > *, .mgu-sidecards > *, .mgu-quicklinks > *, .mgu-path > *, .mgu-home-hero__inner > *, .mgu-ctaband__inner > *, .mgu-faq > * { margin-block-start: 0 !important; }
.mgu-yt-wrap { display: block; }
.mgu-header .mgu-yt-wrap, .mgu-home-hero__ctas .mgu-yt-wrap { display: inline-block; }
.mgu-blog-hero > .mgu-yt-wrap { margin-top: 1.5rem; }
.mgu-blog-hero > .mgu-yt-wrap .mgu-yt-btn--solid { margin-top: 0; }
