/*
Theme Name: Beacon Networking
Theme URI: https://beacon4life.org/
Author: Beacon
Description: A self-contained Gutenberg block theme for Beacon4Life’s membership community, including page setup, bundled media, and inquiry forms.
Requires at least: 6.5
Tested up to: 6.6
Requires PHP: 7.4
Version: 2.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: beacon-networking
Tags: full-site-editing, block-patterns, wide-blocks, accessibility-ready
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root {
  --beacon-ink: #213345;
  --beacon-ink-deep: #172736;
  --beacon-green: #80a022;
  --beacon-green-dark: #4f721d;
  --beacon-paper: #f6f5f1;
  --beacon-mist: #edf0f3;
  --beacon-white: #ffffff;
  --beacon-line: #b6bfc9;
  --beacon-copy: #4c5d6d;
  --beacon-serif: "Playfair Display", Georgia, serif;
  --beacon-sans: "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { scroll-behavior: smooth; }
body { background: var(--beacon-paper); }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Header and footer */
.site-header {
  position: relative;
  z-index: 10;
  border-bottom: 1px solid rgba(33, 51, 69, 0.16);
  background: rgba(246, 245, 241, 0.96);
}
.site-header .wp-block-group { min-height: 78px; }
.beacon-header-row { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.site-header .wp-block-site-title { margin: 0; line-height: 1; }
.site-header .wp-block-site-title a { color: var(--beacon-ink); text-decoration: none; font-family: var(--beacon-serif); font-size: 1.5rem; font-weight: 600; }
.site-header .custom-logo-link { display: block; line-height: 0; }
.site-header .custom-logo { width: auto; max-height: 42px; }
.site-header .wp-block-navigation { font-family: var(--beacon-sans); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.site-header .wp-block-navigation a { color: var(--beacon-ink); text-decoration: none; }
.site-header .wp-block-navigation a:hover, .site-header .wp-block-navigation .current-menu-item a { color: var(--beacon-green-dark); }
.beacon-header-apply .wp-block-button__link { padding: 0.76rem 1rem; font-size: 0.69rem; }

.beacon-footer { background: var(--beacon-ink-deep); color: rgba(255,255,255,0.78); }
.beacon-footer .wp-block-site-title a, .beacon-footer a { color: #fff; }
.beacon-footer .wp-block-site-title { margin: 0; }
.beacon-footer .wp-block-site-title a { font-family: var(--beacon-serif); font-size: 1.55rem; text-decoration: none; }
.beacon-footer .wp-block-navigation { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
.beacon-footer .wp-block-navigation a { text-decoration: none; }
.beacon-footer .wp-block-navigation a:hover { color: #d4e5a0; }
.beacon-footer-rule { border-top: 1px solid rgba(255,255,255,0.2); }

/* Shared content treatment */
.beacon-section { padding-block: clamp(4.5rem, 9vw, 8.5rem); }
.beacon-section--tight { padding-block: clamp(3.5rem, 7vw, 6rem); }
.beacon-eyebrow {
  margin: 0 0 1.1rem;
  color: var(--beacon-green-dark);
  font-family: var(--beacon-sans);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1.35;
  text-transform: uppercase;
}
.beacon-eyebrow--light { color: #cce39a; }
.beacon-display {
  max-width: 15ch;
  font-family: var(--beacon-serif);
  font-size: clamp(2.65rem, 6vw, 5.75rem);
  font-weight: 500;
  letter-spacing: -0.045em;
  line-height: 0.98;
}
.beacon-display em { color: var(--beacon-green); font-style: italic; }
.beacon-heading {
  font-family: var(--beacon-serif);
  font-size: clamp(2.2rem, 4.1vw, 4.1rem);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.02;
}
.beacon-lead { max-width: 39rem; color: var(--beacon-copy); font-size: clamp(1.05rem, 1.5vw, 1.28rem); line-height: 1.65; }
.beacon-dark { background: var(--beacon-ink); color: #fff; }
.beacon-dark .beacon-heading, .beacon-dark .beacon-display { color: #fff; }
.beacon-dark .beacon-lead, .beacon-dark p { color: rgba(255,255,255,0.78); }
.beacon-mist { background: var(--beacon-mist); }
.beacon-rule { border-top: 1px solid rgba(33, 51, 69, 0.22); }

/* Hero */
.beacon-hero {
  position: relative;
  display: grid;
  align-items: end;
  min-height: min(760px, calc(100vh - 78px));
  padding-block: clamp(6rem, 13vw, 10rem) clamp(2.75rem, 5vw, 4.5rem);
  color: #fff;
  background:
    linear-gradient(90deg, rgba(18, 34, 48, 0.94) 0%, rgba(18, 34, 48, 0.72) 45%, rgba(18, 34, 48, 0.34) 100%),
    radial-gradient(circle at 74% 26%, rgba(128,160,34,0.50), transparent 32%),
    linear-gradient(135deg, #182a3a 10%, #2e4a5f 100%);
}
.beacon-hero::after { content: ""; position: absolute; inset: auto -15vw -25vw auto; width: 62vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,0.19); border-radius: 50%; pointer-events: none; }
.beacon-hero > .wp-block-group { position: relative; z-index: 1; }
.beacon-hero .beacon-eyebrow { color: #d7e9af; }
.beacon-hero .beacon-display { margin-bottom: 1.6rem; }
.beacon-hero .beacon-lead { color: rgba(255,255,255,0.86); }
.beacon-hero .wp-block-button__link { background: var(--beacon-green); color: #182a3a; }
.beacon-hero .is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,0.72); color: #fff; }
.beacon-hero .is-style-outline .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--beacon-ink); }
.beacon-hero-meta { display: flex; flex-wrap: wrap; gap: 1rem 2.75rem; margin-top: clamp(4rem, 8vw, 7rem); padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,0.32); }
.beacon-hero-meta p { margin: 0; }
.beacon-hero-meta strong, .beacon-stat strong { display: block; color: #fff; font-family: var(--beacon-serif); font-size: 1.6rem; font-weight: 500; letter-spacing: -0.03em; line-height: 1.1; }
.beacon-hero-meta span, .beacon-stat span { display: block; margin-top: 0.3rem; color: rgba(255,255,255,0.7); font-family: var(--beacon-sans); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; }

/* Components */
.beacon-ticker { overflow: hidden; padding-block: 1.18rem; color: #fff; background: var(--beacon-green-dark); white-space: nowrap; }
.beacon-ticker p { margin: 0; font-family: var(--beacon-sans); font-size: 0.74rem; font-weight: 700; letter-spacing: 0.15em; text-align: center; text-transform: uppercase; }
.beacon-card { height: 100%; padding: clamp(1.6rem, 3vw, 2.7rem); border: 1px solid rgba(33,51,69,0.18); background: var(--beacon-white); }
.beacon-card h3 { margin-top: 0; color: var(--beacon-ink); font-family: var(--beacon-serif); font-size: 1.65rem; font-weight: 500; letter-spacing: -0.025em; }
.beacon-card p { color: var(--beacon-copy); line-height: 1.6; }
.beacon-card-number { color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.18em; }
.beacon-feature { padding-block: 1.6rem; border-top: 1px solid rgba(33,51,69,0.25); }
.beacon-feature:last-child { border-bottom: 1px solid rgba(33,51,69,0.25); }
.beacon-feature h3 { margin: 0; color: var(--beacon-ink); font-family: var(--beacon-serif); font-size: clamp(1.35rem, 2.1vw, 1.85rem); font-weight: 500; }
.beacon-feature p { margin: 0.65rem 0 0; max-width: 39rem; color: var(--beacon-copy); }
.beacon-stat { padding: 1.5rem 0; border-top: 1px solid rgba(255,255,255,0.3); }
.beacon-stat:last-child { border-bottom: 1px solid rgba(255,255,255,0.3); }
.beacon-stat strong { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.beacon-step { padding: 1.55rem 0; border-top: 1px solid rgba(33,51,69,0.24); }
.beacon-step:last-child { border-bottom: 1px solid rgba(33,51,69,0.24); }
.beacon-step-number { color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.14em; }
.beacon-step h3 { margin: 0.3rem 0 0; font-family: var(--beacon-serif); font-size: 1.55rem; font-weight: 500; }
.beacon-step p { margin: 0.55rem 0 0; max-width: 43rem; color: var(--beacon-copy); }
.beacon-link { font-family: var(--beacon-sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; text-decoration: none; text-transform: uppercase; }
.beacon-link::after { content: "  ↗"; }

/* WordPress block refinements */
.wp-block-button__link { border-radius: 0; font-family: var(--beacon-sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; padding: 0.94rem 1.25rem; text-transform: uppercase; transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease; }
.wp-block-button__link:hover { background: var(--beacon-green-dark); }
.is-style-outline .wp-block-button__link { border-width: 1px; color: var(--beacon-ink); }
.is-style-outline .wp-block-button__link:hover { background: var(--beacon-ink); border-color: var(--beacon-ink); color: #fff; }
.wp-block-separator { border-color: rgba(33,51,69,0.2); }
.wp-block-quote { border-left: 2px solid var(--beacon-green); padding-left: 1.4rem; }
.wp-block-quote p { color: var(--beacon-ink); font-family: var(--beacon-serif); font-size: clamp(1.5rem, 3vw, 2.45rem); line-height: 1.25; }
.wp-block-post-title { font-family: var(--beacon-serif); font-weight: 500; letter-spacing: -0.035em; }

@media (max-width: 900px) {
  .beacon-header-row { min-height: 68px !important; }
}
@media (max-width: 600px) {
  .beacon-hero { min-height: 620px; }
  .beacon-hero-meta { gap: 1rem; }
  .beacon-hero-meta > * { min-width: 43%; }
  .wp-block-buttons { gap: 0.75rem; }
}

.beacon-brand-line { margin: 0.22rem 0 0; color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: 0.54rem !important; font-weight: 700; letter-spacing: 0.19em; line-height: 1.1; text-transform: uppercase; }
.beacon-footer-tagline { max-width: 28rem; margin-top: 1rem; line-height: 1.65; }
.beacon-footer-label { margin: 0 0 1rem; color: #cce39a; font-family: var(--beacon-sans); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; }

/* Native companion-form plugin */
.beacon-form { max-width: 820px; margin-top: 2rem; padding: clamp(1.35rem, 4vw, 2.5rem); border: 1px solid rgba(33,51,69,0.2); background: #fff; }
.beacon-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 1.5rem; }
.beacon-form-grid__full { grid-column: 1 / -1; }
.beacon-form label { display: block; margin-bottom: 0.48rem; color: var(--beacon-ink); font-family: var(--beacon-sans); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.beacon-form input, .beacon-form textarea { box-sizing: border-box; width: 100%; border: 1px solid #9ca8b4; border-radius: 0; background: #fff; color: var(--beacon-ink); font: inherit; padding: 0.75rem 0.82rem; }
.beacon-form input:focus, .beacon-form textarea:focus { border-color: var(--beacon-green-dark); outline: 3px solid rgba(128,160,34,0.25); outline-offset: 1px; }
.beacon-form textarea { min-height: 9rem; resize: vertical; }
.beacon-form-consent { max-width: 44rem; color: var(--beacon-copy); font-size: 0.77rem; line-height: 1.55; }
.beacon-form-submit { border: 0; border-radius: 0; background: var(--beacon-green); color: var(--beacon-ink-deep); cursor: pointer; font-family: var(--beacon-sans); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; padding: 0.94rem 1.25rem; text-transform: uppercase; }
.beacon-form-submit:hover { background: var(--beacon-green-dark); color: #fff; }
.beacon-form-honeypot { position: absolute !important; left: -9999px !important; overflow: hidden !important; width: 1px !important; height: 1px !important; }
.beacon-form-notice { max-width: 820px; margin: 1.25rem 0; padding: 1rem 1.2rem; border-left: 3px solid var(--beacon-green-dark); background: #eaf1d9; color: var(--beacon-ink); }
.beacon-form-notice--error { border-left-color: #9d2a24; background: #faecea; }

@media (max-width: 700px) {
  .beacon-form-grid { grid-template-columns: 1fr; }
  .beacon-form-grid__full { grid-column: auto; }
}


/* Premium editorial upgrade: all classes below are optional Gutenberg block classes. */
.beacon-intro { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, #294859 0%, #102734 42%, #071722 100%); color: #fff; }
.beacon-intro::before { position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.035) 1px, transparent 1px); background-size: 42px 42px; content: ""; mask-image: radial-gradient(circle at center, #000, transparent 70%); }
.beacon-intro::after { position: absolute; width: min(78vw, 960px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ""; animation: beacon-intro-orbit 18s linear infinite; }
.beacon-intro.is-leaving { opacity: 0; pointer-events: none; transition: opacity .68s cubic-bezier(.23,1,.32,1); }
.beacon-intro-content { position: relative; z-index: 1; max-width: 840px; padding: 2rem; text-align: center; }
.beacon-intro-label { margin: 0 0 1rem; color: #cce39a; font-family: var(--beacon-sans); font-size: .62rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.beacon-intro-name { margin: 0; color: #fff; font-family: var(--beacon-serif); font-size: clamp(4.4rem, 12vw, 9rem); font-weight: 500; letter-spacing: -.075em; line-height: .82; }
.beacon-intro-tagline { margin: 1.2rem 0 2.2rem; color: rgba(255,255,255,.78); font-family: var(--beacon-sans); font-size: .66rem; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; }
.beacon-intro-button { display: inline-flex; align-items: center; gap: 1rem; padding: .85rem .85rem .85rem 1.2rem; border: 1px solid rgba(255,255,255,.58); border-radius: 0; background: rgba(255,255,255,.04); color: #fff; cursor: pointer; font-family: var(--beacon-sans); font-size: .66rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.beacon-intro-button::after { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; background: var(--beacon-green); color: var(--beacon-ink-deep); content: "→"; font-size: 1rem; }
.beacon-intro-button:hover { background: #d9e9ae; color: var(--beacon-ink-deep); }
@keyframes beacon-intro-orbit { to { transform: rotate(360deg); } }

.beacon-cinematic-hero { position: relative; min-height: min(825px, calc(100vh - 78px)); overflow: hidden; color: #fff; background: var(--beacon-ink-deep); }
.beacon-cinematic-slide { position: absolute; inset: 0; background-position: center; background-size: cover; opacity: 0; transform: scale(1.07); transition: opacity 1.4s cubic-bezier(.77,0,.175,1), transform 6.4s ease-out; }
.beacon-cinematic-slide.is-active { opacity: 1; transform: scale(1); }
.beacon-cinematic-slide::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,28,40,.96) 0%, rgba(11,28,40,.82) 38%, rgba(11,28,40,.3) 78%), linear-gradient(0deg, rgba(11,28,40,.78), transparent 58%); content: ""; }
.beacon-cinematic-hero::after { position: absolute; inset: auto -18vw -35vw auto; width: 72vw; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; content: ""; }
.beacon-cinematic-content { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 13rem; gap: 3rem; align-items: center; min-height: 630px; padding-block: clamp(6rem, 12vw, 10rem) 8rem; }
.beacon-cinematic-hero .beacon-display { max-width: 10.8ch; color: #fff; font-size: clamp(3.9rem, 7vw, 6.9rem); }
.beacon-cinematic-hero .beacon-display em { color: #c8db72; }
.beacon-cinematic-hero .beacon-lead { color: rgba(255,255,255,.85); }
.beacon-cinematic-side { align-self: end; padding: 0 0 1.25rem 1.2rem; border-left: 1px solid rgba(255,255,255,.38); }
.beacon-cinematic-side > p { margin: 0 0 .35rem; color: #d5e5a6; font-family: var(--beacon-sans); font-size: .6rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.beacon-cinematic-caption { display: none; }.beacon-cinematic-caption.is-active { display: block; }
.beacon-cinematic-caption strong { display: block; color: #fff; font-family: var(--beacon-serif); font-size: 1.7rem; font-weight: 500; letter-spacing: -.04em; line-height: 1.08; }
.beacon-cinematic-caption span { color: rgba(255,255,255,.68); font-size: .72rem; }
.beacon-cinematic-controls { display: flex; gap: .45rem; margin-top: 1rem; }.beacon-cinematic-controls button { padding: .4rem .55rem; border: 1px solid rgba(255,255,255,.42); border-radius: 0; background: transparent; color: #fff; cursor: pointer; font-family: var(--beacon-sans); font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.beacon-cinematic-controls button:hover { background: #fff; color: var(--beacon-ink); }
.beacon-cinematic-meta { position: absolute; z-index: 2; right: max(1.25rem, calc((100vw - 1320px) / 2)); bottom: 1.5rem; left: max(1.25rem, calc((100vw - 1320px) / 2)); display: flex; justify-content: space-between; gap: 2rem; }.beacon-cinematic-meta > p { align-self: end; margin: 0; color: rgba(255,255,255,.64); font-family: var(--beacon-sans); font-size: .6rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.beacon-cinematic-stats { display: flex; gap: 1.6rem; }.beacon-cinematic-stats div { min-width: 8rem; padding-top: .7rem; border-top: 1px solid rgba(255,255,255,.33); }.beacon-cinematic-stats strong { display: block; color: #fff; font-family: var(--beacon-serif); font-size: 1.1rem; font-weight: 500; line-height: 1.1; }.beacon-cinematic-stats span { display: block; margin-top: .25rem; color: rgba(255,255,255,.63); font-family: var(--beacon-sans); font-size: .53rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

.beacon-reveal { opacity: 0; transform: translateY(1.4rem); transition: opacity .72s cubic-bezier(.23,1,.32,1), transform .72s cubic-bezier(.23,1,.32,1); }.beacon-reveal.is-visible { opacity: 1; transform: translateY(0); }
.beacon-editorial-split { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(3rem, 9vw, 9rem); align-items: start; }.beacon-editorial-copy { max-width: 34rem; padding-top: .4rem; color: var(--beacon-ink); font-family: var(--beacon-serif); font-size: clamp(1.55rem, 2.5vw, 2.4rem); letter-spacing: -.035em; line-height: 1.3; }.beacon-editorial-copy p { margin-bottom: 1.5rem; }.beacon-text-link { color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .66rem; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }.beacon-text-link::after { content: "  →"; }.beacon-text-link:hover { color: var(--beacon-ink); }
.beacon-pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(3.2rem, 7vw, 6rem); border-top: 1px solid rgba(33,51,69,.24); }.beacon-pillar { position: relative; min-height: 19rem; padding: 1.5rem 1.7rem 1.5rem 0; border-right: 1px solid rgba(33,51,69,.18); }.beacon-pillar + .beacon-pillar { padding-left: 1.7rem; }.beacon-pillar:last-child { border: 0; }.beacon-pillar-number { margin: 0 0 4.4rem; color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .62rem; font-weight: 700; letter-spacing: .16em; }.beacon-pillar h3 { max-width: 9ch; margin: 0; font-size: 1.9rem; }.beacon-pillar p:last-child { position: absolute; right: 1.3rem; bottom: 1.4rem; left: 0; max-width: 18rem; margin: 0; color: var(--beacon-copy); font-size: .87rem; line-height: 1.58; }.beacon-pillar + .beacon-pillar p:last-child { left: 1.7rem; }
.beacon-photo-statement { position: relative; overflow: hidden; min-height: 33rem; padding-block: clamp(5rem, 10vw, 9rem); color: #fff; background-position: center; background-size: cover; }.beacon-photo-statement::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(12,29,41,.93), rgba(12,29,41,.35)); content: ""; }.beacon-photo-statement > * { position: relative; z-index: 1; }.beacon-photo-statement h2 { max-width: 16ch; color: #fff; }.beacon-photo-statement-meta { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 2.8rem; color: rgba(255,255,255,.78); font-family: var(--beacon-sans); font-size: .6rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.beacon-photo-statement-meta span::before { margin-right: .55rem; color: #cce39a; content: "◆"; }
.beacon-visual-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.1rem; margin-top: 3.5rem; }.beacon-visual-card { overflow: hidden; border: 1px solid rgba(33,51,69,.16); background: #fff; transition: transform .23s cubic-bezier(.23,1,.32,1), box-shadow .23s cubic-bezier(.23,1,.32,1); }.beacon-visual-card:hover { box-shadow: 0 1.5rem 3.4rem rgba(23,39,54,.16); transform: translateY(-.35rem); }.beacon-visual-card-image { min-height: 16rem; background-position: center; background-size: cover; }.beacon-visual-card-content { padding: 1.6rem; }.beacon-visual-card-content h3 { font-size: 1.75rem; }.beacon-visual-card-content p { min-height: 5.4rem; color: var(--beacon-copy); font-size: .87rem; }.beacon-card-kicker { color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .6rem; font-weight: 700; letter-spacing: .15em; }
.beacon-orb-section { background: var(--beacon-ink); color: #fff; }.beacon-orb-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 10vw, 10rem); align-items: center; }.beacon-orb { display: grid; width: min(100%, 27rem); aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,.36); border-radius: 50%; background: radial-gradient(circle at 35% 35%,rgba(205,229,155,.65),transparent 15%),radial-gradient(circle at 55% 59%,#385464,transparent 62%); box-shadow: inset 0 0 5rem rgba(0,0,0,.28); }.beacon-orb span { color: #fff; font-family: var(--beacon-serif); font-size: clamp(2rem, 3.7vw, 3.65rem); letter-spacing: -.065em; line-height: .95; text-align: center; }.beacon-orb em { color: #cce39a; }.beacon-orb-grid h2 { color: #fff; }.beacon-check-list { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem 1.2rem; margin: 2rem 0; }.beacon-check-list p { display: flex; align-items: center; gap: .45rem; margin: 0; color: rgba(255,255,255,.8); font-size: .83rem; }.beacon-check-list p::before { color: #cce39a; content: "✓"; }
.beacon-location-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(3rem, 9vw, 9rem); align-items: center; }.beacon-location-image { position: relative; min-height: 29rem; background-position: center; background-size: cover; }.beacon-location-badge { position: absolute; right: 1.4rem; bottom: 1.4rem; padding: .85rem 1rem; background: var(--beacon-green); color: var(--beacon-ink-deep); font-family: var(--beacon-sans); font-size: .62rem; font-weight: 700; letter-spacing: .11em; line-height: 1.35; text-transform: uppercase; }.beacon-location-copy p:not(.beacon-eyebrow) { max-width: 32rem; color: var(--beacon-copy); }
.beacon-program-list { border-top: 1px solid rgba(33,51,69,.24); }.beacon-program-list article { display: grid; grid-template-columns: 3rem 1fr auto; gap: 1rem; align-items: center; padding: 1.05rem 0; border-bottom: 1px solid rgba(33,51,69,.24); transition: padding .2s ease, background .2s ease; }.beacon-program-list article:hover { padding-inline: .65rem; background: rgba(255,255,255,.38); }.beacon-program-list span { color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .6rem; font-weight: 700; letter-spacing: .13em; }.beacon-program-list small { display: block; color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .56rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.beacon-program-list h3 { margin: 0; font-size: 1.55rem; }.beacon-program-list b { color: var(--beacon-green); font-size: 1.1rem; font-weight: 400; }

@media (max-width: 900px) { .beacon-cinematic-content { grid-template-columns: 1fr; min-height: 34rem; }.beacon-cinematic-side { display: none; }.beacon-visual-card-grid { grid-template-columns: 1fr; }.beacon-pillar-grid { grid-template-columns: 1fr; }.beacon-pillar,.beacon-pillar + .beacon-pillar { min-height: 14rem; padding: 1.35rem 0; border-right: 0; border-bottom: 1px solid rgba(33,51,69,.18); }.beacon-pillar p:last-child,.beacon-pillar + .beacon-pillar p:last-child { right: 0; left: 0; }.beacon-orb-grid,.beacon-editorial-split,.beacon-location-grid { grid-template-columns: 1fr; }.beacon-check-list { grid-template-columns: 1fr; }.beacon-orb { margin-inline: auto; }.beacon-location-image { min-height: 22rem; } }
@media (max-width: 600px) { .beacon-intro-name { font-size: 4.7rem; }.beacon-intro-label { font-size: .5rem; }.beacon-intro-tagline { font-size: .5rem; }.beacon-cinematic-hero { min-height: 45rem; }.beacon-cinematic-content { min-height: 39rem; padding-block: 5rem 6rem; }.beacon-cinematic-hero .beacon-display { font-size: 3.45rem; }.beacon-cinematic-meta > p { display: none; }.beacon-cinematic-stats { width: 100%; gap: .75rem; }.beacon-cinematic-stats div { min-width: 0; flex: 1; }.beacon-cinematic-stats strong { font-size: .9rem; }.beacon-cinematic-stats span { font-size: .46rem; letter-spacing: .08em; }.beacon-photo-statement { min-height: 28rem; }.beacon-photo-statement h2 { font-size: 2.45rem; }.beacon-program-list h3 { font-size: 1.25rem; }.beacon-location-image { min-height: 19rem; } }
@media (prefers-reduced-motion: reduce) { .beacon-intro::after { animation: none; }.beacon-cinematic-slide,.beacon-reveal { opacity: 1; transform: none; transition: none; } }

.beacon-cinematic-slide--hero { background-image: url('assets/images/hero-community.jpg'); }
.beacon-cinematic-slide--reception { background-image: url('assets/images/evening-reception.jpg'); }
.beacon-cinematic-slide--city { background-image: url('assets/images/philadelphia-dusk.jpg'); }

.beacon-photo-statement--reception { background-image: url('assets/images/evening-reception.jpg') !important; }
.beacon-photo-statement--handshake { background-image: url('assets/images/handshake-detail.jpg') !important; }
.beacon-location-image--city { background-image: url('assets/images/philadelphia-dusk.jpg') !important; }
.beacon-visual-card-image--salon { background-image: url('assets/images/salon-circle.jpg') !important; }
.beacon-visual-card-image--reception { background-image: url('assets/images/evening-reception.jpg') !important; }
.beacon-visual-card-image--handshake { background-image: url('assets/images/handshake-detail.jpg') !important; }

.beacon-top-band { background: var(--beacon-ink-deep); color: rgba(255,255,255,.7); }.beacon-top-band .wp-block-group { min-height: auto; padding-block: .38rem; }.beacon-top-band p { margin: 0; font-family: var(--beacon-sans); font-size: .53rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.site-header .beacon-header-row { min-height: 82px; }.beacon-header-brand { align-items: center; }.site-header .wp-block-site-title a { font-size: 1.7rem; letter-spacing: -.05em; }.beacon-header-apply .wp-block-button__link { padding: .8rem 1rem; }
@media (max-width: 900px) { .beacon-top-band p:last-child { display: none; }.beacon-top-band .wp-block-group { justify-content: center !important; }.site-header .beacon-header-row { min-height: 70px; } }

.beacon-page-hero { position: relative; overflow: hidden; padding-block: clamp(6rem, 12vw, 10.5rem) clamp(4.5rem, 8vw, 7rem); color: #fff; background-color: var(--beacon-ink); background-position: center; background-size: cover; }.beacon-page-hero::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,34,48,.92), rgba(14,34,48,.38)); content: ""; }.beacon-page-hero > * { position: relative; z-index: 1; }.beacon-page-hero .beacon-display,.beacon-page-hero .beacon-heading { color: #fff; }.beacon-page-hero .beacon-lead { color: rgba(255,255,255,.84); }.beacon-page-hero--city { background-image: url('assets/images/philadelphia-dusk.jpg'); }.beacon-page-hero--salon { background-image: url('assets/images/salon-circle.jpg'); }.beacon-page-hero--reception { background-image: url('assets/images/evening-reception.jpg'); }.beacon-page-hero--handshake { background-image: url('assets/images/handshake-detail.jpg'); }.beacon-fact-row { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; margin-top: 2rem; color: rgba(255,255,255,.8); font-family: var(--beacon-sans); font-size: .58rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }.beacon-fact-row span::before { margin-right: .45rem; color: #cce39a; content: "◆"; }
.beacon-timeline { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 2.5rem; border-top: 1px solid rgba(255,255,255,.3); }.beacon-timeline article { min-height: 10.5rem; padding: 1.25rem 1.4rem 1.2rem 0; border-right: 1px solid rgba(255,255,255,.18); }.beacon-timeline article + article { padding-left: 1.4rem; }.beacon-timeline article:last-child { border-right: 0; }.beacon-timeline strong { display: block; margin-bottom: 1.35rem; color: #cce39a; font-family: var(--beacon-serif); font-size: 2.65rem; font-weight: 500; letter-spacing: -.05em; }.beacon-timeline span { color: rgba(255,255,255,.78); font-size: .8rem; line-height: 1.55; }
.beacon-program-showcase { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 3rem; }.beacon-program-showcase article { overflow: hidden; border: 1px solid rgba(33,51,69,.16); background: #fff; }.beacon-program-showcase-image { min-height: 14rem; background-position: center; background-size: cover; }.beacon-program-showcase-content { padding: 1.55rem; }.beacon-program-showcase-content h3 { font-size: 1.7rem; }.beacon-program-showcase-content p { color: var(--beacon-copy); font-size: .86rem; line-height: 1.58; }
.beacon-membership-price { max-width: 21rem; padding: 1.5rem; border-left: 2px solid var(--beacon-green); background: #fff; }.beacon-membership-price small { display: block; color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .58rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.beacon-membership-price strong { display: block; color: var(--beacon-ink); font-family: var(--beacon-serif); font-size: 3.6rem; font-weight: 500; letter-spacing: -.06em; line-height: 1.05; }.beacon-membership-price p { margin: .3rem 0 0; color: var(--beacon-copy); font-size: .73rem; line-height: 1.5; }
.beacon-premium-list { border-top: 1px solid rgba(33,51,69,.24); }.beacon-premium-list article { display: grid; grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(33,51,69,.24); }.beacon-premium-list span { color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .6rem; font-weight: 700; letter-spacing: .12em; }.beacon-premium-list h3 { margin: 0 0 .35rem; font-size: 1.45rem; }.beacon-premium-list p { margin: 0; color: var(--beacon-copy); font-size: .84rem; }
.beacon-contact-card { padding: clamp(1.8rem,4vw,3.5rem); border: 1px solid rgba(33,51,69,.18); background: #fff; }.beacon-contact-card h2 { font-size: clamp(2rem,3.3vw,3.35rem); }.beacon-contact-card > p { color: var(--beacon-copy); }.beacon-contact-details { display: grid; gap: 1rem; margin-top: 2rem; }.beacon-contact-details p { margin: 0; }.beacon-contact-details span { display: block; margin-bottom: .25rem; color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .57rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }.beacon-contact-details a { color: var(--beacon-ink); font-family: var(--beacon-serif); font-size: 1.35rem; text-decoration: none; }.beacon-contact-details a:hover { color: var(--beacon-green-dark); }
@media (max-width: 900px) { .beacon-timeline,.beacon-program-showcase { grid-template-columns: 1fr 1fr; }.beacon-timeline article:nth-child(2) { border-right: 0; }.beacon-timeline article:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.18); } }
@media (max-width: 600px) { .beacon-page-hero { padding-block: 5.2rem 4rem; }.beacon-page-hero .beacon-display { font-size: 3.1rem; }.beacon-timeline,.beacon-program-showcase { grid-template-columns: 1fr; }.beacon-timeline article,.beacon-timeline article + article { min-height: 0; padding: 1.1rem 0; border-right: 0; border-top: 1px solid rgba(255,255,255,.18); }.beacon-timeline article:first-child { border-top: 0; }.beacon-program-showcase-image { min-height: 12rem; } }

.beacon-form select { width: 100%; margin-top: .45rem; padding: .7rem .8rem; border: 1px solid rgba(33,51,69,.28); border-radius: 0; background: #fff; color: var(--beacon-ink); font-family: var(--beacon-sans); font-size: .9rem; }
.beacon-form select:focus { border-color: var(--beacon-green-dark); outline: 2px solid rgba(79,114,29,.25); outline-offset: 2px; }


/* Persona-led membership pathways */
.beacon-persona-introduction { background: #f6f5f1; }
.beacon-persona-summary { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 3rem; }
.beacon-persona-summary-card, .beacon-persona-path { min-height: 16rem; padding: 1.75rem; background: #fff; border: 1px solid rgba(33,51,69,.17); }
.beacon-persona-summary-card--momentum, .beacon-persona-path--momentum { border-top: 4px solid var(--beacon-green); }
.beacon-persona-summary-card--straight, .beacon-persona-path--straight { border-top: 4px solid var(--beacon-ink); }
.beacon-persona-summary-card h3 { font-size: 2rem; }
.beacon-persona-summary-card p:not(.beacon-card-kicker), .beacon-persona-path p:not(.beacon-card-kicker) { color: var(--beacon-copy); font-size: .9rem; line-height: 1.6; }
.beacon-persona-paths { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-top: 3.4rem; }
.beacon-persona-path { display: flex; flex-direction: column; }
.beacon-persona-path h2 { max-width: none; margin: .7rem 0; font-size: clamp(2rem,3vw,3.1rem); }
.beacon-persona-path h3 { font-family: var(--beacon-sans); font-size: 1.05rem; font-weight: 700; letter-spacing: 0; }
.beacon-persona-path .beacon-text-link { margin-top: auto; padding-top: 1.4rem; }
@media (max-width: 700px) { .beacon-persona-summary, .beacon-persona-paths { grid-template-columns: 1fr; } .beacon-persona-summary-card, .beacon-persona-path { min-height: 0; } }

/* Full-site layout safeguards for WordPress imports and cached template variations. */
.site-header.alignfull,
.site-header .beacon-top-band.alignfull,
.beacon-footer.alignfull,
.beacon-cinematic-hero.alignfull,
.beacon-page-hero.alignfull,
.beacon-photo-statement.alignfull {
  width: 100%;
  max-width: none;
}
/*
 * Version 1.2.3 source fragment.
 * Appended to style.css during release packaging.
 */

/* Correct legacy constrained Gutenberg blocks saved during the original import. */
body { overflow-x: clip; }

.wp-site-blocks .wp-block-post-content > .wp-block-group.beacon-cinematic-hero,
.wp-site-blocks .wp-block-post-content > .wp-block-group.beacon-page-hero,
.wp-site-blocks .wp-block-post-content > .wp-block-group.beacon-photo-statement {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-right: calc(50% - 50vw) !important;
  margin-left: calc(50% - 50vw) !important;
}

/* Keep the header content centered, visible, and clear of viewport edges. */
.site-header .beacon-top-band > .wp-block-group,
.site-header .beacon-header-row,
.beacon-footer > .wp-block-group.alignwide {
  width: min(calc(100% - 3rem), 1320px);
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
}

/* Rebuild the cinematic hero grid from the viewport—not a saved content-width wrapper. */
.beacon-cinematic-hero .beacon-cinematic-content {
  width: min(calc(100% - 3rem), 1320px);
  max-width: 1320px;
  margin-right: auto;
  margin-left: auto;
  grid-template-columns: minmax(0, 1fr) minmax(11rem, 13rem);
}

.beacon-cinematic-hero .beacon-cinematic-meta {
  right: max(1.5rem, calc((100% - 1320px) / 2));
  left: max(1.5rem, calc((100% - 1320px) / 2));
}

@media (max-width: 1100px) {
  .site-header .beacon-header-row { gap: .85rem; }
  .site-header .wp-block-navigation { font-size: .64rem; letter-spacing: .055em; }
  .beacon-header-apply .wp-block-button__link { padding: .68rem .74rem; }
}

@media (max-width: 900px) {
  .site-header .beacon-top-band > .wp-block-group,
  .site-header .beacon-header-row,
  .beacon-footer > .wp-block-group.alignwide,
  .beacon-cinematic-hero .beacon-cinematic-content {
    width: min(calc(100% - 2.5rem), 1320px);
  }

  .beacon-cinematic-hero .beacon-cinematic-content { grid-template-columns: 1fr; }
}

/* October 2026 membership, programs, sponsor, and newsletter components */
.beacon-membership-include-grid, .beacon-program-category-grid, .beacon-sponsor-value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; width: min(100% - 2.5rem, 1320px); margin: 3.5rem auto 0; }
.beacon-membership-include-grid article, .beacon-program-category-grid article, .beacon-sponsor-value-grid article { min-height: 17rem; padding: 1.65rem; border: 1px solid rgba(33,51,69,.18); background: #fff; }
.beacon-membership-include-grid span, .beacon-program-category-grid span, .beacon-sponsor-value-grid span, .beacon-eligibility-persona-grid > article > span { color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .62rem; font-weight: 700; letter-spacing: .15em; }
.beacon-membership-include-grid h3, .beacon-program-category-grid h3, .beacon-sponsor-value-grid h3 { margin: 2.25rem 0 .75rem; font-size: 1.75rem; }
.beacon-membership-include-grid p, .beacon-program-category-grid p, .beacon-sponsor-value-grid p { color: var(--beacon-copy); font-size: .88rem; line-height: 1.6; }
.beacon-program-category-grid { grid-template-columns: repeat(2, 1fr); }
.beacon-program-category-grid article { min-height: 19rem; border-top: 4px solid var(--beacon-green); }
.beacon-program-category-grid small { display: block; margin-top: 1.2rem; color: var(--beacon-green-dark); font-family: var(--beacon-sans); font-size: .6rem; font-weight: 700; letter-spacing: .08em; line-height: 1.6; text-transform: uppercase; }
.beacon-eligibility-persona-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; width: min(100% - 2.5rem, 1320px); margin: 3rem auto; }
.beacon-eligibility-persona-grid > article { padding: 1.65rem; border-top: 4px solid #cce39a; background: rgba(255,255,255,.06); }
.beacon-eligibility-persona-grid h3 { margin: 1.5rem 0 .65rem; color: #fff; font-size: 1.75rem; }
.beacon-eligibility-persona-grid strong { display: block; color: #d8e7a7; font-family: var(--beacon-serif); font-size: 1.22rem; font-weight: 500; line-height: 1.2; }
.beacon-eligibility-persona-grid p { color: rgba(255,255,255,.78); font-size: .87rem; line-height: 1.65; }
.beacon-eligibility-persona-grid b { color: #fff; }
.beacon-platform-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; align-items: end; }
.beacon-community-platform-panel { background: #fff; }
.beacon-community-platform-panel p:not(.beacon-eyebrow) { max-width: 43rem; color: var(--beacon-copy); }
.beacon-newsletter-wrap { display: grid; grid-template-columns: 1fr minmax(19rem,.7fr); gap: 3rem; align-items: end; }
.beacon-form-grid--newsletter { display: grid; grid-template-columns: 1fr 1.3fr auto; gap: 1rem; align-items: end; }
.beacon-form-grid--newsletter p { margin: 0; }
.beacon-form-grid--newsletter .beacon-form-submit-wrap { width: auto; }
.beacon-form--newsletter .beacon-form-submit { white-space: nowrap; }
.beacon-sponsor-value-grid article { min-height: 15rem; border-top: 4px solid var(--beacon-green); }
.beacon-sponsor-value-grid h3 { margin-top: 1.7rem; }
.beacon-dark .beacon-form { padding: 1.75rem; background: #fff; color: var(--beacon-ink); }
.beacon-dark .beacon-form label, .beacon-dark .beacon-form-consent { color: var(--beacon-ink); }
@media (max-width: 900px) { .beacon-membership-include-grid, .beacon-sponsor-value-grid { grid-template-columns: 1fr 1fr; } .beacon-newsletter-wrap, .beacon-platform-grid { grid-template-columns: 1fr; gap: 2rem; } .beacon-form-grid--newsletter { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .beacon-membership-include-grid, .beacon-program-category-grid, .beacon-sponsor-value-grid, .beacon-eligibility-persona-grid { grid-template-columns: 1fr; width: min(100% - 2rem, 1320px); } .beacon-membership-include-grid article, .beacon-program-category-grid article, .beacon-sponsor-value-grid article { min-height: 0; } }

/* Full sponsor and alliance partner destination */
.beacon-sponsor-principles { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.4rem; width:min(100% - 2.5rem,1320px); margin:3.5rem auto 0; padding-top:1.25rem; border-top:1px solid rgba(33,51,69,.24); color:var(--beacon-green-dark); font-family:var(--beacon-sans); font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.beacon-sponsor-principles i { color:var(--beacon-green); font-style:normal; }
.beacon-sponsor-opportunity-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; width:min(100% - 2.5rem,1320px); margin:3.3rem auto 0; }
.beacon-sponsor-opportunity-grid article { position:relative; min-height:18rem; overflow:hidden; padding:1.8rem; border:1px solid rgba(33,51,69,.18); background:#f6f5f1; }
.beacon-sponsor-opportunity-grid article::after { position:absolute; right:-3rem; bottom:-4rem; width:10rem; height:10rem; border:1px solid rgba(79,114,29,.26); border-radius:50%; content:""; }
.beacon-sponsor-opportunity-grid article > * { position:relative; z-index:1; }
.beacon-sponsor-opportunity-grid span,.beacon-sponsor-process-grid span { color:var(--beacon-green-dark); font-family:var(--beacon-sans); font-size:.62rem; font-weight:700; letter-spacing:.15em; }
.beacon-sponsor-opportunity-grid h3 { max-width:14ch; margin:2.1rem 0 .75rem; font-size:1.9rem; }
.beacon-sponsor-opportunity-grid p { color:var(--beacon-copy); font-size:.88rem; line-height:1.62; }
.beacon-sponsor-opportunity-grid small { display:block; margin-top:1.2rem; color:var(--beacon-green-dark); font-family:var(--beacon-sans); font-size:.58rem; font-weight:700; letter-spacing:.09em; line-height:1.6; text-transform:uppercase; }
.beacon-sponsor-checks { display:grid; gap:.8rem; margin-top:1.8rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.25); }
.beacon-sponsor-checks p { display:flex; gap:.6rem; align-items:center; margin:0; color:rgba(255,255,255,.83); font-size:.88rem; }
.beacon-sponsor-checks p::before { color:#cce39a; content:"✓"; }
.beacon-sponsor-process-grid { display:grid; grid-template-columns:repeat(3,1fr); width:min(100% - 2.5rem,1320px); margin:3.3rem auto 0; border-top:1px solid rgba(255,255,255,.28); }
.beacon-sponsor-process-grid article { min-height:13rem; padding:1.45rem 1.6rem 1.6rem 0; border-right:1px solid rgba(255,255,255,.18); }
.beacon-sponsor-process-grid article + article { padding-left:1.6rem; }
.beacon-sponsor-process-grid article:last-child { border-right:0; }
.beacon-sponsor-process-grid span { color:#cce39a; }
.beacon-sponsor-process-grid h3 { margin:2.2rem 0 .6rem; color:#fff; font-size:1.65rem; }
.beacon-sponsor-process-grid p { color:rgba(255,255,255,.76); font-size:.85rem; line-height:1.6; }
.beacon-sponsor-inquiry { background:linear-gradient(90deg,#102a3c,#183747); }
.beacon-sponsor-inquiry .beacon-text-link { font-size:.68rem; }
@media (max-width:900px) { .beacon-sponsor-opportunity-grid { grid-template-columns:1fr; } .beacon-sponsor-process-grid { grid-template-columns:1fr; } .beacon-sponsor-process-grid article,.beacon-sponsor-process-grid article + article { min-height:0; padding:1.2rem 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); } .beacon-sponsor-process-grid article:last-child { border-bottom:0; } }
@media (max-width:600px) { .beacon-sponsor-principles,.beacon-sponsor-opportunity-grid,.beacon-sponsor-process-grid { width:min(100% - 2rem,1320px); } .beacon-sponsor-opportunity-grid article { min-height:0; padding:1.45rem; } }

/* Header correction: retain all desktop navigation items on one row. */
@media (min-width: 901px) {
  .site-header .beacon-header-row {
    flex-wrap: nowrap !important;
    column-gap: clamp(.65rem, 1.15vw, 1.5rem);
  }
  .site-header .beacon-header-brand {
    flex: 0 0 auto;
    gap: clamp(.55rem, .9vw, .9rem);
    white-space: nowrap;
  }
  .site-header .beacon-header-brand .wp-block-site-title,
  .site-header .beacon-brand-line {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .site-header .wp-block-navigation {
    min-width: 0;
    flex: 1 1 auto;
  }
  .site-header .wp-block-navigation__container {
    flex-wrap: nowrap !important;
    justify-content: flex-end;
    column-gap: clamp(.45rem, .85vw, 1.05rem) !important;
    row-gap: 0 !important;
  }
  .site-header .wp-block-navigation-item {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .site-header .wp-block-navigation-item__content {
    white-space: nowrap;
    font-size: clamp(.58rem, .59vw, .72rem);
    letter-spacing: clamp(.045em, .06vw, .08em);
  }
  .beacon-header-apply {
    flex: 0 0 auto;
  }
}

/* Focused cinematic hero: removes the legacy "Now framing" control card. */
.beacon-cinematic-hero .beacon-cinematic-side { display:none !important; }
.beacon-cinematic-hero .beacon-cinematic-content { grid-template-columns:minmax(0,1fr) !important; }
.beacon-cinematic-hero .beacon-cinematic-content > .wp-block-group:first-child { max-width:44rem; }

/* Preserve a compact single-row header with the Sponsors & Partners tab. */
@media (min-width:901px) and (max-width:1120px) {
  .site-header .beacon-header-row { column-gap:.55rem; }
  .site-header .wp-block-site-title a { font-size:1.4rem; }
  .site-header .beacon-brand-line { font-size:.56rem !important; letter-spacing:.12em; }
  .site-header .wp-block-navigation__container { column-gap:.38rem !important; }
  .site-header .wp-block-navigation-item__content { font-size:.55rem; letter-spacing:.035em; }
  .beacon-header-apply .wp-block-button__link { padding:.62rem .62rem; font-size:.6rem; }
}
