/*
 * GCSA Conference: safety net.
 * Recreates the brand variables and WordPress's base layout rules, in case a plugin or cache
 * stops WordPress from printing its own "global styles". Low-specificity selectors, so the
 * real global styles (and anything set in Appearance → Editor → Styles) still win when present.
 */
:where(html){
	--wp--preset--color--navy:#1D2939;--wp--preset--color--cream:#FFFAF2;--wp--preset--color--sand:#FDECD4;--wp--preset--color--mint:#E5F6C6;
	--wp--preset--color--peach:#FFC56E;--wp--preset--color--leaf:#89A84F;--wp--preset--color--grey:#677575;--wp--preset--color--forest:#3E4531;
	--wp--preset--color--dark-leaf:#4F6A22;--wp--preset--color--white:#FFFFFF;
	--wp--preset--font-family--system:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif;
	--wp--preset--font-family--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
	--wp--preset--font-size--small:15px;--wp--preset--font-size--base:17px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:24px;
	--wp--preset--font-size--x-large:clamp(30px,4.2vw,46px);--wp--preset--font-size--xx-large:clamp(40px,6.2vw,76px);
	--wp--preset--spacing--10:8px;--wp--preset--spacing--20:16px;--wp--preset--spacing--30:24px;--wp--preset--spacing--40:32px;
	--wp--preset--spacing--50:48px;--wp--preset--spacing--60:64px;--wp--preset--spacing--section:clamp(72px,9vw,112px);
	--wp--style--global--content-size:1152px;--wp--style--global--wide-size:1152px;
	--wp--style--root--padding-top:0px;--wp--style--root--padding-bottom:0px;--wp--style--root--padding-left:24px;--wp--style--root--padding-right:24px;
	--wp--style--block-gap:24px;--wp--custom--label-column:220px;
}
:where(body){margin:0;background:#FFFAF2;color:#1D2939;font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.65}
:where(h1,h2,h3,h4,h5,h6){color:inherit;font-family:inherit;font-weight:600;line-height:1.15;letter-spacing:-0.02em}
:where(h1){font-size:clamp(40px,6.2vw,76px);line-height:1.04;letter-spacing:-0.03em}
:where(h2){font-size:clamp(30px,4.2vw,46px);line-height:1.12}
:where(h3){font-size:24px;line-height:1.2;letter-spacing:-0.015em}
:where(h4){font-size:20px;line-height:1.3}
:where(a:not(.wp-element-button)){color:#1D2939;text-decoration:underline;text-underline-offset:3px}
:where(a:not(.wp-element-button)):hover{color:#4F6A22}
:where(.wp-element-button,.wp-block-button__link){display:inline-block;background:#1D2939;color:#FFFAF2;border:0;border-radius:999px;padding:15px 28px;font-family:inherit;font-size:17px;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer}
:where(.wp-element-button,.wp-block-button__link):hover{background:#33465F;color:#FFFAF2}

/* Palette classes WordPress normally prints */
.has-navy-color{color:#1D2939!important}.has-navy-background-color{background-color:#1D2939!important}
.has-cream-color{color:#FFFAF2!important}.has-cream-background-color{background-color:#FFFAF2!important}
.has-sand-color{color:#FDECD4!important}.has-sand-background-color{background-color:#FDECD4!important}
.has-mint-color{color:#E5F6C6!important}.has-mint-background-color{background-color:#E5F6C6!important}
.has-peach-color{color:#FFC56E!important}.has-peach-background-color{background-color:#FFC56E!important}
.has-leaf-color{color:#89A84F!important}.has-leaf-background-color{background-color:#89A84F!important}
.has-grey-color{color:#677575!important}.has-grey-background-color{background-color:#677575!important}
.has-forest-color{color:#3E4531!important}.has-forest-background-color{background-color:#3E4531!important}
.has-dark-leaf-color{color:#4F6A22!important}.has-dark-leaf-background-color{background-color:#4F6A22!important}
.has-white-color{color:#FFFFFF!important}.has-white-background-color{background-color:#FFFFFF!important}

/* WordPress base layout rules */
.wp-site-blocks{padding-top:0;padding-bottom:0}
.has-global-padding{padding-right:var(--wp--style--root--padding-right);padding-left:var(--wp--style--root--padding-left)}
.has-global-padding>.alignfull{margin-right:calc(var(--wp--style--root--padding-right) * -1);margin-left:calc(var(--wp--style--root--padding-left) * -1)}
.has-global-padding :where(:not(.alignfull.is-layout-flow)>.has-global-padding:not(.wp-block-block,.alignfull)){padding-right:0;padding-left:0}
.has-global-padding :where(:not(.alignfull.is-layout-flow)>.has-global-padding:not(.wp-block-block,.alignfull))>.alignfull{margin-left:0;margin-right:0}
.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:var(--wp--style--global--content-size);margin-left:auto!important;margin-right:auto!important}
.is-layout-constrained>.alignwide{max-width:var(--wp--style--global--wide-size)}
:where(body .is-layout-flow)>*,:where(body .is-layout-constrained)>*{margin-block-start:24px;margin-block-end:0}
:where(body .is-layout-flow)>:first-child,:where(body .is-layout-constrained)>:first-child{margin-block-start:0}
body .is-layout-flex{display:flex}
.is-layout-flex{flex-wrap:wrap;align-items:center}
.is-layout-flex>:is(*,div){margin:0}
:where(.is-layout-flex),:where(.is-layout-grid){gap:24px}
body .is-layout-grid{display:grid}
.is-layout-grid>:is(*,div){margin:0}

/* Cover block essentials (hero video) */
.wp-block-cover{position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;box-sizing:border-box;min-height:430px;padding:1em}
.wp-block-cover .wp-block-cover__video-background,.wp-block-cover .wp-block-cover__image-background{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;object-fit:cover;border:0;box-shadow:none}
.wp-block-cover .wp-block-cover__background{position:absolute;inset:0;z-index:1;opacity:.5}
.wp-block-cover .wp-block-cover__background.has-background-dim-60{opacity:.6}
.wp-block-cover .wp-block-cover__inner-container{position:relative;z-index:2;width:100%;color:inherit}

/* Password-protected pages */
.gcsa-password { padding-block: 96px; }
.gcsa-password .post-password-form { max-width: 560px; display: grid; gap: 20px; }
.gcsa-password .post-password-form p { margin: 0; color: #1D2939; font-size: 1.125rem; }
.gcsa-password .post-password-form label { display: grid; gap: 8px; font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #1D2939; }
.gcsa-password .post-password-form p:last-child { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.gcsa-password .post-password-form input[type="password"] { min-width: 280px; height: 48px; padding: 0 16px; border: 1px solid #1D2939; border-radius: 0; background: #fff; font: inherit; font-size: 1rem; letter-spacing: normal; text-transform: none; color: #1D2939; }
.gcsa-password .post-password-form input[type="password"]:focus { outline: 2px solid #89A84F; outline-offset: 2px; }
.gcsa-password .post-password-form input[type="submit"] { height: 48px; padding: 0 28px; border: 0; border-radius: 999px; background: #1D2939; color: #FFFAF2; font: inherit; font-weight: 600; cursor: pointer; }
.gcsa-password .post-password-form input[type="submit"]:hover { background: #2c3e54; }
