/* Newsletter box. Sized from its own container, not the viewport. */
/* --hgc-header is the sticky header height, set by the script; the fallback covers the first paint. */
[data-hgc-block],[data-hgc-block] .gform_anchor,[data-hgc-block] .gform_confirmation_wrapper{scroll-margin-top:calc(var(--hgc-header,110px) + 24px);}
.hgc-nl{container-type:inline-size;margin:3rem 0 0;clear:both;}
.hgc-nl__inner{text-align:left;background:#f2f6f9;border-left:6px solid #289747;padding:1.75rem 1.5rem;display:grid;gap:1.25rem;}
.hgc-nl__kicker{margin:0 0 .4rem;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#289747;line-height:1.3;}
.hgc-nl__title{text-align:left;margin:0 0 .5rem;font-size:1.5rem;line-height:1.25;color:#002b54;font-weight:700;}
.hgc-nl__lede{margin:0;font-size:1.0625rem;line-height:1.5;color:#3d4f5c;}
.hgc-nl .gform_wrapper{margin:0 !important;}
.hgc-nl .gform_wrapper form{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;}
.hgc-nl .gform_body{flex:1 1 14rem;min-width:0;}
.hgc-nl .gform_fields{display:block !important;}
.hgc-nl .gfield{margin:0 !important;padding:0 !important;}
.hgc-nl .gfield--type-hidden,.hgc-nl .gform_hidden{display:none !important;}
.hgc-nl input[type=email]{width:100% !important;min-height:48px;font-size:1.0625rem !important;padding:.65rem .9rem !important;border:1px solid #9aabb8 !important;border-radius:4px;background:#fff;color:#1f2d38;}
.hgc-nl input[type=email]:focus{outline:3px solid rgba(40,151,71,.35);outline-offset:1px;border-color:#289747 !important;}
.hgc-nl .gform_footer{flex:0 0 auto;margin:0 !important;padding:0 !important;}
.hgc-nl .gform_footer input[type=submit],.hgc-nl .gform_footer button{min-height:48px;min-width:44px;padding:.65rem 1.5rem !important;font-size:1rem !important;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#289747 !important;border:0 !important;border-radius:4px;color:#fff !important;cursor:pointer;line-height:1.2;}
.hgc-nl .gform_footer input[type=submit]:hover,.hgc-nl .gform_footer button:hover{background:#1f7a39 !important;}
.hgc-nl .gform_validation_errors,.hgc-nl .validation_message{font-size:.95rem;}
.hgc-nl .gform_confirmation_message{font-size:1.0625rem;color:#002b54;font-weight:600;}
@container (min-width: 44rem){
	.hgc-nl__inner{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;padding:2rem 2.25rem;gap:2rem;}
}
@container (max-width: 22rem){
	.hgc-nl__inner{padding:1.25rem 1rem;}
}

/* Compact sign-up in the sidebar: always stacked. */
.hgc-nl--sidebar{margin:0;}
.hgc-nl--sidebar .hgc-nl__inner{grid-template-columns:1fr !important;padding:1.25rem !important;gap:.9rem !important;}
.hgc-nl--sidebar .hgc-nl__title{font-size:1.2rem;}

/* Blocks after the article share one rhythm. */
.hgc-after{display:grid;gap:2.5rem;margin-top:3rem;text-align:left;}
.hgc-after > .hgc-nl{margin:0;}

/* Next-course card: quieter than the newsletter box (white, thin border, outline button). */
.hgc-course{container-type:inline-size;background:#fff;border:1px solid #d5dde3;border-radius:4px;padding:1.25rem 1.5rem;text-align:left;}
.hgc-course__kicker{margin:0 0 .35rem;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5a6b78;line-height:1.3;}
.hgc-course__title{margin:0 0 .4rem;font-size:1.2rem;line-height:1.3;font-weight:700;}
.hgc-course__title a{color:#002b54;text-decoration:none;}
.hgc-course__title a:hover{text-decoration:underline;}
.hgc-course__when{margin:0 0 .9rem;font-size:1rem;color:#3d4f5c;}
.hgc-course__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.5rem 1.25rem;border:2px solid #002b54;border-radius:4px;color:#002b54 !important;font-weight:700;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none !important;}
.hgc-course__btn:hover{background:#002b54;color:#fff !important;}
.hgc-course__notify{margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid #e3e9ee;}
.hgc-course__notify-title{margin:0 0 .6rem;font-size:1.0625rem;font-weight:700;color:#002b54;}
.hgc-course .gform_wrapper{margin:0 !important;}
.hgc-course .gform_wrapper form{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;}
.hgc-course .gform_body{flex:1 1 14rem;min-width:0;}
.hgc-course .gform_fields{display:block !important;}
.hgc-course .gfield{margin:0 !important;padding:0 !important;}
.hgc-course .gfield--type-hidden,.hgc-course .gform_hidden{display:none !important;}
.hgc-course input[type=email]{width:100% !important;min-height:48px;font-size:1.0625rem !important;padding:.65rem .9rem !important;border:1px solid #9aabb8 !important;border-radius:4px;}
.hgc-course .gform_footer{margin:0 !important;padding:0 !important;}
.hgc-course .gform_footer input[type=submit],.hgc-course .gform_footer button{min-height:48px;padding:.65rem 1.25rem !important;font-size:1rem !important;font-weight:700;background:#fff !important;border:2px solid #289747 !important;color:#1f7a39 !important;border-radius:4px;text-transform:uppercase;cursor:pointer;}
@container (max-width: 22rem){.hgc-course .gform_footer,.hgc-course .gform_footer input[type=submit]{width:100%;}}

/* Related lists: plain and quiet. */
.hgc-related{container-type:inline-size;text-align:left;}
.hgc-related__title{margin:0 0 1rem;font-size:1.15rem;font-weight:700;color:#002b54;}
.hgc-related__list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;}
.hgc-related__item{margin:0;padding:0;}
.hgc-related__item::before{content:none !important;}
.hgc-related__item a{display:flex;gap:1rem;align-items:flex-start;min-height:44px;color:inherit;text-decoration:none;}
.hgc-related__img{flex:0 0 6.5rem;aspect-ratio:16/10;overflow:hidden;border-radius:3px;background:#eef2f5;}
.hgc-related__img img{width:100%;height:100%;object-fit:cover;display:block;}
.hgc-related__text{display:flex;flex-direction:column;gap:.2rem;min-width:0;}
.hgc-related__name{font-size:1.0625rem;line-height:1.35;font-weight:600;color:#002b54;}
.hgc-related__item a:hover .hgc-related__name{text-decoration:underline;}
.hgc-related__meta{font-size:.9rem;color:#5a6b78;}
@container (min-width: 44rem){
	.hgc-related__list{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;}
	.hgc-related__item a{flex-direction:column;}
	.hgc-related__img{flex:none;width:100%;}
}

/* Side column, the same on every page type that has one (blog, wwhgs, Smart Talks, video, publications,
   and inside the podcast page's own column). It appears when the content area is about 1020px or wider
   (laptops 1200px and up), so the article keeps at least about 640px. The grid only switches on where a column
   exists. While it shows, the blocks after the article are hidden (the column holds the same things);
   on narrower screens the column is hidden and those blocks appear instead. */
.hg-article-wrap{container-type:inline-size;}
.hgc-side{display:none;}
.hgc-side--always{display:block;height:100%;}
@container (min-width: 64rem){
	.hg-article-grid:has(> .hgc-side){display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:2.5rem;align-items:start;}
	.hg-article-grid:has(> .hgc-side) > .hg-article-grid__main{min-width:0;}
	.hg-article-grid:has(> .hgc-side) > .hg-article-grid__main > .row > [class*="col-"]{flex:0 0 100%;max-width:100%;}
	/* What Would Henry George Say?: the news article and the response stack in one column beside the side column. */
	.hg-article-grid:has(> .hgc-side) .wwhgs-two-column-layout > [class*="col-"]{flex:0 0 100%;max-width:100%;}
	.hg-article-grid:has(> .hgc-side) .wwhgs-two-column-layout > [class*="col-"] + [class*="col-"]{margin-top:2.5rem;}
	/* Publications: cover and text keep their two columns inside the article area. */
	.hgc-side{display:block;align-self:stretch;padding-top:3.5rem;}
	.hg-article-grid:has(> .hgc-side) .hgc-after{display:none;}
}
.hgc-side__sticky{display:grid;gap:1.25rem;}
/* Sticky only when the whole column fits below the header (the script checks); otherwise it scrolls with the page. */
.hgc-side--fits .hgc-side__sticky{position:sticky;top:calc(var(--hgc-header,110px) + 1.5rem);}
.hgc-side--always{padding-top:0;}

/* Column pieces look like the podcast page's "More Episodes" box: light grey, rounded, simple. */
.hgc-side .hgc-nl{margin:0;}
.hgc-side .hgc-nl__inner{grid-template-columns:1fr !important;background:#f0f4f6;border-left:4px solid #289747;border-radius:.375rem;padding:1.5rem !important;gap:.9rem !important;}
.hgc-side .hgc-nl__title{font-size:1.25rem !important;margin:0 0 .35rem !important;}
.hgc-side .hgc-nl__lede{font-size:.95rem;}
.hgc-course--side{background:#fff;border:1px solid #d5dde3;border-radius:.375rem;padding:1.25rem 1.5rem;}
.hgc-course--side .hgc-course__title{font-size:1.05rem;}
.hgc-course--side .hgc-course__when{font-size:.92rem;margin-bottom:.7rem;}
.hgc-course--side .hgc-course__btn{width:100%;font-size:.85rem;}
.hgc-related--side{background:#f0f4f6;border-radius:.375rem;padding:1.5rem;}
.hgc-related--side .hgc-related__title{font-size:1.25rem;margin-bottom:1rem;}
.hgc-related--side .hgc-related__list{grid-template-columns:1fr !important;gap:0;}
.hgc-related--side .hgc-related__item a{flex-direction:row !important;align-items:center;padding:.75rem 0;border-bottom:1px solid #d9e1e7;}
.hgc-related--side .hgc-related__item:first-child a{padding-top:0;}
.hgc-related--side .hgc-related__img{flex:0 0 5.25rem !important;width:5.25rem !important;}
.hgc-related--side .hgc-related__name{font-size:.98rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.hgc-related--side .hgc-related__meta{font-size:.82rem;}
.hgc-related__all{display:inline-flex;align-items:center;min-height:44px;margin-top:.5rem;font-weight:700;font-size:.95rem;color:#002b54 !important;text-decoration:none !important;}
.hgc-related__all:hover{text-decoration:underline !important;}
.hgc-after__primary{display:grid;gap:1.5rem;}

/* Our blocks can land inside article areas that center headings, underline links and stretch images. */
.hgc-after,.hgc-side,.hgc-nl,.hgc-course,.hgc-related{text-align:left !important;}
.hgc-after h2,.hgc-side h2,.hgc-nl h2,.hgc-course h2,.hgc-related h2{text-align:left !important;margin-top:0 !important;}
.hgc-nl__title,.hgc-course__title,.hgc-related__title{font-family:Oswald,sans-serif;letter-spacing:.01em;}
.hgc-course a,.hgc-related a{text-decoration:none !important;}
.hgc-related__img img{width:100% !important;height:100% !important;max-width:none !important;margin:0 !important;object-fit:cover;}
.hgc-related__img--cover{aspect-ratio:3/4 !important;}
.hgc-related--side .hgc-related__img--cover{flex:0 0 3.75rem !important;width:3.75rem !important;}
.hgc-related__img--cover img{object-position:top;}

/* Email and Subscribe on one line, same height, everywhere. They only wrap when the box is very narrow. */
.hgc-nl .gform_wrapper form{flex-wrap:nowrap !important;align-items:flex-start;gap:.5rem !important;}
.hgc-nl .gform_body{flex:1 1 auto !important;}
.hgc-nl input[type=email]{height:46px !important;min-height:46px !important;box-sizing:border-box;}
.hgc-nl .gform_footer input[type=submit],.hgc-nl .gform_footer button{height:46px !important;min-height:46px !important;width:auto !important;padding:0 1.1rem !important;font-size:.9rem !important;box-sizing:border-box;white-space:nowrap;}
.hgc-side .hgc-nl input[type=email]{font-size:1rem !important;padding:.5rem .75rem !important;}
@container (max-width: 16rem){
	.hgc-nl .gform_wrapper form{flex-wrap:wrap !important;}
	.hgc-nl .gform_footer,.hgc-nl .gform_footer input[type=submit]{width:100% !important;}
}

/* Course card: solid brand navy, compact. */
.hgc-course{background:#002b54 !important;border:0 !important;border-radius:.375rem;color:#fff;}
.hgc-course__kicker{color:#8fc99f !important;}
.hgc-course__title a,.hgc-course__name{color:#fff !important;}
.hgc-course__when{color:#cbd1dc !important;}
.hgc-course__btn{background:#fff;border-color:#fff !important;color:#002b54 !important;}
.hgc-course__btn:hover{background:#289747 !important;border-color:#289747 !important;color:#fff !important;}
.hgc-course__items{list-style:none;margin:0;padding:0;display:grid;}
.hgc-course__item{margin:0;padding:0;border-top:1px solid rgba(255,255,255,.15);}
.hgc-course__item::before{content:none !important;}
.hgc-course__item:first-child{border-top:0;}
.hgc-course__link{display:grid;gap:.2rem;min-height:44px;padding:.7rem 0;text-decoration:none !important;}
.hgc-course__item:first-child .hgc-course__link{padding-top:.2rem;}
.hgc-course__name{font-family:Oswald,sans-serif;font-weight:500;font-size:1rem;line-height:1.3;}
.hgc-course__link:hover .hgc-course__name{text-decoration:underline;}
.hgc-course__meta{font-size:.85rem;color:#cbd1dc;}
.hgc-course__all{display:inline-flex;align-items:center;min-height:44px;margin-top:.25rem;font-weight:700;font-size:.92rem;color:#fff !important;text-decoration:none !important;}
.hgc-course__all:hover{color:#8fc99f !important;}

/* Course pages: a wider column so the Eventbrite form has room. */
@container (min-width: 64rem){
	.hg-article-grid:has(> .hgc-side--course){grid-template-columns:minmax(0,1fr) 24rem;}
}
.hgc-side--course{padding-top:1rem;}
/* Same light box as the podcast page's column. */
.hgc-reg{background:#f0f4f6;border-radius:.375rem;padding:1.25rem;text-align:left;}
.hgc-reg__title{margin:0 0 1rem !important;font-family:Oswald,sans-serif;font-size:1.25rem !important;font-weight:600;color:#002b54;text-align:left !important;}
.hgc-reg__form{background:#fff;border-radius:4px;overflow:hidden;}
.hgc-reg__form:empty{display:none;}
.hgc-reg__form iframe{display:block;width:100% !important;}
/* With the form beside the description, the top "Register Free" button is not needed; phones keep it. */
@container (min-width: 64rem){
	.hg-article-grid:has(> .hgc-side--course) .hg-register-top{display:none !important;}
}
/* With the form in the side column, the top "Register Free" button is not needed; it stays on phones. */
@container (min-width: 64rem){
	.hg-article-grid:has(> .hgc-side--course) .hg-register-top{display:none !important;}
}

/* Past course pages: the side column already shows upcoming courses, so the same list at the bottom is hidden
   while the column is visible. The column appears at the theme's 1200px container (content area 64rem+); this
   list sits outside that container, so it uses the same width as a media query. Phones keep the bottom list. */
@media (min-width: 1200px){
	body:has(.hgc-side--course .hgc-course) .hgc-after--course .hgc-related[data-block="upcoming"]{display:none;}
}

/* Confirmation after signing up: a clear title, the address they entered, and a way to fix a typo. */
.hgc-confirm{text-align:left;}
.hgc-confirm p{margin:0;}
.hgc-confirm__title{font-family:Oswald,sans-serif;font-size:1.25rem;font-weight:600;color:#289747;margin-bottom:.35rem !important;}
.hgc-confirm__text{font-size:1rem;line-height:1.5;color:#2b3a45;}
.hgc-confirm__email{font-weight:700;color:#002b54;overflow-wrap:anywhere;margin:.15rem 0 .35rem !important;}
.hgc-confirm__again{margin-top:.35rem !important;}
.hgc-confirm__again a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem;color:#455c82 !important;text-decoration:underline !important;}
.hgc-nl .gform_confirmation_message,.hgc-course .gform_confirmation_message{font-weight:400 !important;}

/* Email field with a paper-plane send button joined to it: one modern field, more room for the address.
   The button keeps its "Subscribe" text for screen readers; it is hidden visually behind the icon. */
.hgc-nl__label{margin:0 0 .35rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#289747;}
.hgc-nl__form:has(.gform_confirmation_message) .hgc-nl__label{display:none;}
.hgc-nl .gform_wrapper form{gap:0 !important;}
.hgc-nl input[type=email]{border-radius:6px 0 0 6px !important;border-right:0 !important;}
.hgc-nl .gform_footer input[type=submit],.hgc-nl .gform_footer button{
	width:48px !important;min-width:48px !important;padding:0 !important;border-radius:0 6px 6px 0 !important;
	color:transparent !important;font-size:0 !important;text-indent:-999px;overflow:hidden;
	background:#289747 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 2 11 13'/%3E%3Cpath d='M22 2 15 22l-4-9-9-4 20-7z'/%3E%3C/svg%3E") center/20px no-repeat !important;
}
.hgc-nl .gform_footer input[type=submit]:hover,.hgc-nl .gform_footer button:hover{background-color:#227f3c !important;}
.hgc-nl .gform_footer input[type=submit]:focus-visible{outline:3px solid rgba(40,151,71,.4);outline-offset:2px;}
@container (max-width: 16rem){
	.hgc-nl .gform_wrapper form{flex-wrap:nowrap !important;}
	.hgc-nl .gform_footer,.hgc-nl .gform_footer input[type=submit]{width:48px !important;}
}

/* Two states: before signing up, the heading and pitch; after, only the "Check your inbox" message. */
.hgc-nl__inner:has(.gform_confirmation_message) .hgc-nl__text{display:none;}
.hgc-nl__inner:has(.gform_confirmation_message){grid-template-columns:1fr !important;}

/* Compact side column, so all of it fits on a typical laptop screen (about 800px of usable height) and can stay
   pinned. Smaller thumbnails, 2-line titles, tighter spacing. The lists below the article (phones) are unchanged. */
.hgc-side__sticky{gap:.85rem;}
.hgc-side .hgc-nl__inner{padding:1.1rem 1.25rem !important;gap:.6rem !important;}
.hgc-side .hgc-nl__title{font-size:1.15rem !important;margin-bottom:.2rem !important;}
.hgc-side .hgc-nl__lede{font-size:.9rem;line-height:1.4;}
.hgc-side .hgc-nl__label{margin-bottom:.25rem;}
.hgc-side .hgc-course{padding:1rem 1.25rem;}
.hgc-side .hgc-course__link{padding:.5rem 0;}
.hgc-related--side{padding:1.1rem 1.25rem;}
.hgc-related--side .hgc-related__title{font-size:1.1rem;margin-bottom:.6rem;}
.hgc-related--side .hgc-related__item a{padding:.5rem 0;gap:.75rem;}
.hgc-related--side .hgc-related__img{flex:0 0 4rem !important;width:4rem !important;}
.hgc-related--side .hgc-related__img--cover{flex:0 0 2.75rem !important;width:2.75rem !important;}
.hgc-related--side .hgc-related__name{font-size:.92rem;-webkit-line-clamp:2;}
.hgc-related--side .hgc-related__meta{font-size:.78rem;}
.hgc-related--side .hgc-related__all{margin-top:.25rem;}

/* Sign-up on the economic news and digest list pages. */
.hgc-listing-signup{max-width:60rem;margin:0 auto 2.5rem;}
.hgc-listing-signup .hgc-nl{margin:0;}
