/* AUTO-GENERATED by scripts/build_css_bundles.py. Do not edit the container bundle directly. */
/* ---- tailwind.css ---- */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.z-10{z-index:10}.order-1{order:1}.order-2{order:2}.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.aspect-video{aspect-ratio:16/9}.h-72{height:18rem}.h-80{height:20rem}.h-\[36rem\]{height:36rem}.h-full{height:100%}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-xl{max-width:36rem}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-\[0\.25em\]{letter-spacing:.25em}.tracking-\[0\.3em\]{letter-spacing:.3em}.text-accent{--tw-text-opacity:1;color:rgb(201 162 39/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(30 58 95/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/90{color:hsla(0,0%,100%,.9)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media (min-width:640px){.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:p-6{padding:1.5rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}}

/* ---- design-system.css ---- */
/*
 * WMCOG Design System
 * -------------------
 * Canonical visual tokens and shared primitives for the public and staff sites.
 * New shared UI should use these tokens/components instead of creating another
 * phase/hotfix stylesheet. Feature-specific styles may extend this foundation.
 */

:root {
  /* Brand */
  --wm-navy-950: #061a2f;
  --wm-navy-900: #0f1f33;
  --wm-navy-800: #1e3a5f;
  --wm-navy-700: #284d78;
  --wm-gold-600: #b58f1f;
  --wm-gold-500: #c9a227;
  --wm-gold-300: #e5cf7a;
  --wm-warm-50: #faf9f6;
  --wm-white: #ffffff;

  /* Semantic colors */
  --wm-text: #0f172a;
  --wm-text-muted: #475569;
  --wm-border: #e2e8f0;
  --wm-surface: #ffffff;
  --wm-surface-subtle: #f8fafc;
  --wm-success: #166534;
  --wm-success-bg: rgba(34, 197, 94, 0.12);
  --wm-danger: #991b1b;
  --wm-danger-bg: rgba(239, 68, 68, 0.12);
  --wm-warning: #92400e;
  --wm-warning-bg: #fffbeb;
  --wm-info: #1e3a5f;
  --wm-info-bg: #eff6ff;

  /* Compatibility aliases retained for existing templates. */
  --primary: var(--wm-navy-800);
  --accent: var(--wm-gold-500);
  --warm: var(--wm-warm-50);
  --deep: var(--wm-navy-900);

  /* Typography */
  --wm-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --wm-font-size-xs: 0.75rem;
  --wm-font-size-sm: 0.875rem;
  --wm-font-size-base: 1rem;
  --wm-font-size-lg: 1.125rem;
  --wm-font-size-xl: 1.25rem;
  --wm-font-size-2xl: clamp(1.5rem, 2vw, 2rem);
  --wm-font-size-3xl: clamp(2rem, 4vw, 3.25rem);
  --wm-line-tight: 1.15;
  --wm-line-normal: 1.6;

  /* Layout */
  --wm-content-sm: 42rem;
  --wm-content-md: 64rem;
  --wm-content-lg: 80rem;
  --wm-content-xl: 90rem;
  --wm-page-gutter: clamp(1rem, 3vw, 2rem);
  --wm-section-space: clamp(3.5rem, 7vw, 6.5rem);

  /* Spacing */
  --wm-space-1: 0.25rem;
  --wm-space-2: 0.5rem;
  --wm-space-3: 0.75rem;
  --wm-space-4: 1rem;
  --wm-space-5: 1.25rem;
  --wm-space-6: 1.5rem;
  --wm-space-8: 2rem;
  --wm-space-10: 2.5rem;
  --wm-space-12: 3rem;
  --wm-space-16: 4rem;

  /* Shape / elevation */
  --wm-radius-sm: 0.5rem;
  --wm-radius-md: 0.75rem;
  --wm-radius-lg: 1rem;
  --wm-radius-xl: 1.25rem;
  --wm-radius-2xl: 1.75rem;
  --wm-radius-pill: 999px;
  --wm-shadow-sm: 0 10px 30px rgba(15, 23, 42, 0.08);
  --wm-shadow-md: 0 20px 45px rgba(15, 23, 42, 0.1);
  --wm-shadow-lg: 0 25px 60px rgba(15, 23, 42, 0.14);
  --wm-focus-ring: 0 0 0 3px rgba(201, 162, 39, 0.28);
  --wm-transition-fast: 160ms ease;
  --wm-transition: 220ms ease;

  /* Layering */
  --wm-z-header: 50;
  --wm-z-banner: 60;
  --wm-z-modal: 100;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background-color: var(--wm-warm-50);
  color: var(--wm-text);
  font-family: var(--wm-font-sans);
  line-height: var(--wm-line-normal);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

main {
  padding-top: 5.5rem;
}

body.home main {
  padding-top: 0;
}

section {
  scroll-margin-top: 6rem;
}

img,
picture,
svg,
video {
  max-width: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

/* Layout primitives */
.wm-container {
  width: min(100% - (2 * var(--wm-page-gutter)), var(--wm-content-lg));
  margin-inline: auto;
}

.wm-container--wide {
  max-width: var(--wm-content-xl);
}

.wm-container--narrow {
  max-width: var(--wm-content-sm);
}

.wm-section {
  padding-block: var(--wm-section-space);
}

.wm-stack {
  display: flex;
  flex-direction: column;
  gap: var(--wm-space-6);
}

.wm-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wm-space-3);
}

.wm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: var(--wm-space-6);
}

/* Shared surfaces */
.wm-card,
.card {
  background: var(--wm-surface);
  border: 1px solid rgba(15, 23, 42, 0.06);
  border-radius: var(--wm-radius-xl);
  padding: var(--wm-space-8);
  box-shadow: var(--wm-shadow-md);
  transition: transform var(--wm-transition), box-shadow var(--wm-transition), border-color var(--wm-transition);
}

.wm-card--interactive:hover,
.card:hover {
  transform: translateY(-4px);
  box-shadow: var(--wm-shadow-lg);
}

.wm-panel {
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius-lg);
  background: var(--wm-surface);
  padding: var(--wm-space-6);
}

.pattern-panel {
  background: radial-gradient(circle at top, rgba(201, 162, 39, 0.1), transparent 60%), var(--wm-surface);
}

/* Typography primitives */
.wm-eyebrow {
  margin: 0 0 var(--wm-space-2);
  color: var(--wm-gold-600);
  font-size: var(--wm-font-size-sm);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wm-heading,
.section-title {
  margin: 0;
  color: var(--wm-navy-800);
  font-size: var(--wm-font-size-2xl);
  font-weight: 800;
  line-height: var(--wm-line-tight);
  letter-spacing: -0.02em;
}

.wm-heading--hero {
  font-size: var(--wm-font-size-3xl);
}

.wm-muted {
  color: var(--wm-text-muted);
}

/* Buttons. Compatibility selectors preserve the current site API. */
.wm-button,
.btn-primary,
.btn-secondary,
.nav-cta {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  gap: var(--wm-space-2);
  border-radius: var(--wm-radius-pill);
  padding: 0.75rem 1.5rem;
  border: 1px solid transparent;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--wm-transition-fast), box-shadow var(--wm-transition-fast), background-color var(--wm-transition-fast), border-color var(--wm-transition-fast);
}

.wm-button:hover,
.btn-primary:hover,
.btn-secondary:hover,
.nav-cta:hover {
  transform: translateY(-2px);
}

.wm-button--primary,
.btn-primary,
.nav-cta {
  background: var(--wm-gold-500);
  color: var(--wm-navy-800);
  box-shadow: 0 12px 24px rgba(201, 162, 39, 0.28);
}

.wm-button--navy,
.nav-cta.secondary {
  background: var(--wm-navy-800);
  color: var(--wm-white);
  box-shadow: 0 12px 24px rgba(30, 58, 95, 0.24);
}

.wm-button--outline,
.btn-secondary {
  border-color: rgba(255, 255, 255, 0.8);
  background: transparent;
  color: var(--wm-white);
}

.wm-button--outline-dark,
.btn-secondary.dark {
  border-color: var(--wm-navy-800);
  color: var(--wm-navy-800);
}

/* Forms */
.wm-field {
  display: grid;
  gap: var(--wm-space-2);
}

.wm-label {
  color: var(--wm-text);
  font-size: var(--wm-font-size-sm);
  font-weight: 700;
}

.wm-input,
.form-input {
  width: 100%;
  min-height: 2.75rem;
  border-radius: var(--wm-radius-md);
  border: 1px solid var(--wm-border);
  background: var(--wm-white);
  color: var(--wm-text);
  padding: 0.75rem 1rem;
  transition: border-color var(--wm-transition-fast), box-shadow var(--wm-transition-fast);
}

.wm-input:focus,
.form-input:focus {
  outline: none;
  border-color: var(--wm-gold-500);
  box-shadow: var(--wm-focus-ring);
}

.wm-help {
  color: var(--wm-text-muted);
  font-size: var(--wm-font-size-sm);
}

/* Status / feedback */
.flash-message,
.wm-alert {
  padding: 1rem 1.25rem;
  border-radius: var(--wm-radius-md);
  margin-bottom: 1rem;
  font-weight: 600;
}

.flash-message.success,
.wm-alert--success {
  background: var(--wm-success-bg);
  color: var(--wm-success);
}

.flash-message.error,
.wm-alert--danger {
  background: var(--wm-danger-bg);
  color: var(--wm-danger);
}

.wm-alert--warning {
  background: var(--wm-warning-bg);
  color: var(--wm-warning);
}

.wm-badge,
.social-pill {
  display: inline-flex;
  align-items: center;
  border-radius: var(--wm-radius-pill);
  padding: 0.35rem 0.85rem;
  font-size: var(--wm-font-size-sm);
  font-weight: 650;
}

.social-pill {
  background: rgba(255, 255, 255, 0.1);
  color: var(--wm-white);
}

.social-pill.dark {
  background: rgba(30, 58, 95, 0.1);
  color: var(--wm-navy-800);
}

/* Navigation */
#site-header {
  background-color: rgba(250, 249, 246, 0.96);
  color: var(--wm-text);
  box-shadow: var(--wm-shadow-sm);
}

body.home #site-header {
  background-color: rgba(30, 58, 95, 0.35);
  color: #f8fafc;
  box-shadow: none;
}

body.home #site-header.scrolled,
body.menu-open #site-header {
  background-color: rgba(250, 249, 246, 0.98);
  color: var(--wm-text);
  box-shadow: var(--wm-shadow-sm);
}

body.menu-open #menu-toggle,
body:not(.home) #menu-toggle {
  border-color: rgba(15, 23, 42, 0.2);
  color: var(--wm-text);
}

#site-header .nav-link,
#site-header .nav-cta,
#site-header .mobile-link {
  color: inherit;
}

.nav-link {
  font-weight: 500;
  transition: color var(--wm-transition-fast);
}

.nav-link:hover,
.nav-link.is-active {
  color: var(--wm-gold-500);
}

.nav-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 14rem;
  background: var(--wm-white);
  color: var(--wm-text);
  border-radius: var(--wm-radius-md);
  padding: 1rem 0.75rem 0.75rem;
  box-shadow: var(--wm-shadow-lg);
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: all var(--wm-transition-fast);
}

.group:hover .nav-dropdown,
.group:focus-within .nav-dropdown,
.group.is-open .nav-dropdown {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.dropdown-link {
  display: block;
  padding: 0.5rem 0.75rem;
  border-radius: var(--wm-radius-sm);
  font-size: 0.95rem;
  color: var(--wm-text);
}

.dropdown-link:hover {
  background: rgba(201, 162, 39, 0.15);
  color: var(--wm-navy-800);
}

.mobile-menu-panel {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--wm-shadow-lg);
  overflow-y: auto;
}

.mobile-menu-inner {
  padding-top: 5.5rem;
}

.mobile-menu-panel .mobile-link {
  color: var(--wm-text);
}

.mobile-menu-panel .nav-cta {
  color: var(--wm-navy-800);
}

.mobile-menu-panel .nav-cta.secondary {
  color: var(--wm-white);
}

.mobile-link {
  display: block;
  font-weight: 500;
  color: var(--wm-text);
}

.mobile-link:hover {
  color: var(--wm-navy-800);
}

/* Hero/shared media */
.hero-overlay {
  background: linear-gradient(120deg, rgba(30, 58, 95, 0.85), rgba(15, 31, 51, 0.6));
}

.hero-logo {
  display: flex;
  justify-content: center;
  margin-bottom: 1.75rem;
}

.hero-logo-img {
  width: min(420px, 75vw);
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 12px 24px rgba(15, 23, 42, 0.35));
}

/* Interactive primitives */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.accordion {
  border: 1px solid transparent;
}

.accordion-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  cursor: pointer;
  list-style: none;
}

.accordion-summary::-webkit-details-marker {
  display: none;
}

.accordion-body {
  margin-top: 1rem;
  display: grid;
  gap: 1rem;
}

.accordion[open] {
  border-color: rgba(15, 23, 42, 0.08);
  box-shadow: var(--wm-shadow-lg);
}

.slider {
  display: grid;
  gap: 1rem;
}

.slider-window {
  position: relative;
  overflow: hidden;
  border-radius: var(--wm-radius-lg);
  background: var(--wm-surface-subtle);
}

.slider-slide {
  display: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slider-slide.is-active {
  display: block;
}

.slider-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.slider-btn {
  border: 1px solid rgba(15, 23, 42, 0.2);
  background: var(--wm-white);
  color: var(--wm-navy-800);
  padding: 0.4rem 1rem;
  border-radius: var(--wm-radius-pill);
  font-weight: 600;
}

.slider-btn:hover {
  background: rgba(201, 162, 39, 0.15);
}

.slider-count {
  font-size: 0.9rem;
  color: var(--wm-text-muted);
}

/* Accessibility and utility */
.skip-link {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: var(--wm-z-modal);
  transform: translateY(-150%);
  border-radius: var(--wm-radius-sm);
  background: var(--wm-white);
  color: var(--wm-navy-800);
  padding: 0.75rem 1rem;
  font-weight: 700;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.2);
}

.skip-link:focus {
  transform: translateY(0);
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(201, 162, 39, 0.9);
  outline-offset: 3px;
}

.honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  white-space: nowrap !important;
}

/* Live service banner */
.live-site-banner {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: var(--wm-z-banner);
  display: flex;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  background: #b91c1c;
  color: var(--wm-white);
  padding: 0.45rem 1rem;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.live-dot {
  width: 0.65rem;
  height: 0.65rem;
  border-radius: var(--wm-radius-pill);
  background: var(--wm-white);
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.8);
  animation: live-pulse 1.7s infinite;
}

body.has-live-banner #site-header {
  top: 2.5rem;
}

body.has-live-banner main {
  padding-top: 8rem;
}

body.has-live-banner.home main {
  padding-top: 2.5rem;
}

.footer-link:hover {
  color: var(--wm-gold-500);
}

@keyframes live-pulse {
  70% { box-shadow: 0 0 0 0.55rem rgba(255, 255, 255, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0); }
}

@media (max-width: 640px) {
  .wm-card,
  .card {
    padding: var(--wm-space-6);
  }

  .wm-button,
  .btn-primary,
  .btn-secondary,
  .nav-cta {
    min-height: 2.875rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
  .reveal { opacity: 1; transform: none; }
  .live-dot { animation: none; }
}

/* ---- phase2.css ---- */
.event-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
}

.event-card {
  overflow: hidden;
  border: 1px solid rgba(30, 58, 95, 0.09);
  border-radius: 1.25rem;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.event-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 60px rgba(15, 23, 42, 0.13);
}

.event-flyer-link {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #e2e8f0;
}

.event-flyer {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.event-card:hover .event-flyer {
  transform: scale(1.025);
}

.event-card-body {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
}

.event-date-badge {
  flex: 0 0 3.75rem;
  overflow: hidden;
  border-radius: 0.85rem;
  border: 1px solid rgba(201, 162, 39, 0.35);
  background: rgba(201, 162, 39, 0.09);
  text-align: center;
}

.event-date-badge span {
  display: block;
  background: #1e3a5f;
  color: #ffffff;
  padding: 0.35rem 0.25rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.event-date-badge strong {
  display: block;
  color: #1e3a5f;
  padding: 0.45rem 0.25rem 0.55rem;
  font-size: 1.55rem;
  line-height: 1;
}

.event-card-content {
  min-width: 0;
}

.event-date-label {
  color: #64748b;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.event-card-content h3 {
  margin-top: 0.35rem;
  color: #1e3a5f;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.25;
}

.event-location {
  margin-top: 0.55rem;
  color: #334155;
  font-size: 0.95rem;
  font-weight: 600;
}

.event-description {
  display: -webkit-box;
  margin-top: 0.65rem;
  overflow: hidden;
  color: #64748b;
  white-space: pre-line;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1rem;
  margin-top: 1rem;
}

.event-actions a {
  color: #1e3a5f;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(201, 162, 39, 0.6);
  text-underline-offset: 0.25rem;
}

.event-actions a:hover {
  color: #9a7514;
}

.event-empty-state {
  border: 1px dashed rgba(30, 58, 95, 0.25);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.7);
  padding: 2.5rem;
  text-align: center;
}

.event-empty-state h3 {
  color: #1e3a5f;
  font-size: 1.35rem;
  font-weight: 700;
}

.event-empty-state p {
  margin: 0.75rem auto 1.5rem;
  max-width: 38rem;
  color: #64748b;
}

.visit-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(120deg, rgba(15, 31, 51, 0.96), rgba(30, 58, 95, 0.86)),
    url("../images/current-church-1600.webp") center / cover;
}

.visit-hero::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 78% 20%, rgba(201, 162, 39, 0.2), transparent 32%);
  content: "";
  pointer-events: none;
}

.visit-info-card {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  background: #f8fafc;
  padding: 2rem;
}

.visit-card-number {
  color: rgba(201, 162, 39, 0.55);
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
}

.visit-info-card h2 {
  margin-top: 1.2rem;
  color: #1e3a5f;
  font-size: 1.45rem;
  font-weight: 700;
}

.visit-info-card p,
.visit-info-card ul {
  margin-top: 0.8rem;
  color: #64748b;
}

.visit-info-card li + li {
  margin-top: 0.4rem;
}

.visit-info-card a {
  display: inline-block;
  margin-top: 1.1rem;
  color: #1e3a5f;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #c9a227;
  text-underline-offset: 0.25rem;
}

.visit-callout {
  position: sticky;
  top: 7rem;
  border-radius: 1.5rem;
  background: #1e3a5f;
  color: #ffffff;
  padding: 2.25rem;
  box-shadow: 0 24px 55px rgba(15, 31, 51, 0.2);
}

.visit-callout h2 {
  margin-top: 0.75rem;
  font-size: 2rem;
  font-weight: 700;
}

.visit-callout p:not(:first-child) {
  margin-top: 1rem;
  color: rgba(255, 255, 255, 0.82);
}

@media (max-width: 640px) {
  .event-card-body {
    gap: 0.75rem;
    padding: 1.2rem;
  }

  .event-date-badge {
    flex-basis: 3.25rem;
  }

  .event-date-badge strong {
    font-size: 1.3rem;
  }

  .visit-callout {
    position: static;
  }
}

@media (prefers-reduced-motion: reduce) {
  .event-card,
  .event-flyer {
    transition: none;
  }
}

/* ---- phase3a.css ---- */
.site-announcement-stack {
  position: relative;
  z-index: 30;
  display: grid;
  gap: 1px;
  background: rgba(15, 23, 42, 0.15);
}

.site-announcement {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 0.85rem 1.5rem;
  text-align: center;
}

.site-announcement-copy {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.55rem;
  min-width: 0;
}

.site-announcement-copy strong {
  font-weight: 800;
}

.site-announcement-copy span {
  line-height: 1.45;
}

.site-announcement-action {
  flex: 0 0 auto;
  border-bottom: 1px solid currentColor;
  font-size: 0.9rem;
  font-weight: 800;
  line-height: 1.25;
}

.site-announcement-info {
  background: #eaf2fb;
  color: #173a60;
}

.site-announcement-service {
  background: #fff5cf;
  color: #654b00;
}

.site-announcement-urgent {
  background: #991b1b;
  color: #ffffff;
}

.event-card {
  position: relative;
}

.event-card.is-featured {
  border-color: rgba(201, 162, 39, 0.72);
  box-shadow: 0 22px 55px rgba(154, 117, 20, 0.16);
}

.event-featured-badge {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 999px;
  background: #c9a227;
  color: #132a46;
  padding: 0.38rem 0.7rem;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.phase3-dashboard {
  background:
    radial-gradient(circle at 90% 2%, rgba(201, 162, 39, 0.1), transparent 23rem),
    #f6f8fb;
}

.staff-role-pill {
  display: grid;
  gap: 0.15rem;
  min-width: 10rem;
  border: 1px solid rgba(30, 58, 95, 0.12);
  border-radius: 1rem;
  background: #ffffff;
  padding: 0.9rem 1.1rem;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.staff-role-pill span {
  color: #64748b;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.staff-role-pill strong {
  color: #1e3a5f;
}

.staff-admin-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.5rem;
  border: 1px solid rgba(30, 58, 95, 0.1);
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.9);
  padding: 0.65rem;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.05);
}

.staff-admin-links,
.staff-admin-account {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.staff-admin-links a {
  border-radius: 0.8rem;
  color: #475569;
  padding: 0.72rem 1rem;
  font-size: 0.9rem;
  font-weight: 800;
}

.staff-admin-links a:hover,
.staff-admin-links a.is-active {
  background: #1e3a5f;
  color: #ffffff;
}

.staff-admin-account > span {
  max-width: 18rem;
  overflow: hidden;
  color: #64748b;
  font-size: 0.82rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.staff-admin-account form {
  margin: 0;
}

.staff-metric-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 1.5rem;
}

.staff-metric-card,
.staff-panel {
  border: 1px solid rgba(30, 58, 95, 0.09);
  background: #ffffff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.065);
}

.staff-metric-card {
  border-radius: 1.15rem;
  padding: 1.25rem;
}

.staff-metric-card > span {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.staff-metric-card > strong {
  display: block;
  margin-top: 0.35rem;
  color: #1e3a5f;
  font-size: 2.2rem;
  font-weight: 850;
  line-height: 1;
}

.staff-metric-card > p {
  margin-top: 0.55rem;
  color: #64748b;
  font-size: 0.82rem;
  line-height: 1.45;
}

.staff-dashboard-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
  margin-top: 1.25rem;
}

.staff-panel {
  border-radius: 1.35rem;
  padding: clamp(1.2rem, 3vw, 1.75rem);
}

.staff-panel-wide {
  grid-column: 1 / -1;
}

.staff-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
}

.staff-panel-heading.compact {
  display: block;
}

.staff-panel-heading h2,
.staff-preview-guide h2 {
  margin-top: 0.35rem;
  color: #1e3a5f;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 800;
  line-height: 1.15;
}

.staff-panel-heading p:not(.staff-eyebrow),
.staff-panel > p,
.staff-helper-text,
.staff-preview-guide > p {
  margin-top: 0.55rem;
  color: #64748b;
  line-height: 1.55;
}

.staff-panel-action {
  margin-top: 1.25rem;
}

.staff-announcement-list {
  display: grid;
  gap: 1rem;
  margin-top: 1.4rem;
}

.staff-announcement-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  border: 1px solid rgba(30, 58, 95, 0.1);
  border-left-width: 0.35rem;
  border-radius: 1.05rem;
  background: #fbfdff;
  padding: 1.15rem;
}

.staff-announcement-card.announcement-kind-info {
  border-left-color: #3b82f6;
}

.staff-announcement-card.announcement-kind-service {
  border-left-color: #c9a227;
}

.staff-announcement-card.announcement-kind-urgent {
  border-left-color: #b91c1c;
}

.staff-announcement-main {
  flex: 1;
  min-width: 0;
}

.staff-announcement-meta,
.staff-announcement-actions,
.staff-form-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.staff-announcement-main h3 {
  margin-top: 0.7rem;
  color: #1e3a5f;
  font-size: 1.15rem;
  font-weight: 800;
}

.staff-announcement-main > p {
  margin-top: 0.4rem;
  color: #475569;
  line-height: 1.5;
  white-space: pre-line;
}

.staff-badge,
.staff-live-label {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.32rem 0.62rem;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.staff-badge-info {
  background: #dbeafe;
  color: #1d4ed8;
}

.staff-badge-service {
  background: #fef3c7;
  color: #854d0e;
}

.staff-badge-urgent {
  background: #fee2e2;
  color: #991b1b;
}

.staff-badge-status-draft {
  background: #e2e8f0;
  color: #475569;
}

.staff-badge-status-published {
  background: #dcfce7;
  color: #166534;
}

.staff-badge-status-archived {
  background: #f1f5f9;
  color: #64748b;
}

.staff-live-label {
  border: 1px solid rgba(22, 101, 52, 0.18);
  background: #f0fdf4;
  color: #166534;
}

.staff-announcement-schedule {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  margin-top: 0.85rem;
}

.staff-announcement-schedule div {
  display: grid;
  gap: 0.1rem;
}

.staff-announcement-schedule dt {
  color: #94a3b8;
  font-size: 0.65rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.staff-announcement-schedule dd {
  color: #475569;
  font-size: 0.8rem;
  font-weight: 650;
}

.staff-announcement-actions {
  flex: 0 0 auto;
  justify-content: flex-end;
}

.staff-announcement-actions form {
  margin: 0;
}

.staff-announcement-actions .btn-primary,
.staff-announcement-actions .staff-outline-button,
.staff-announcement-actions .staff-danger-button {
  min-height: 2.55rem;
  padding: 0.55rem 0.85rem;
  font-size: 0.82rem;
}

.staff-featured-current {
  display: grid;
  gap: 0.25rem;
  margin-top: 1rem;
  border: 1px solid rgba(201, 162, 39, 0.3);
  border-radius: 1rem;
  background: #fffbeb;
  padding: 1rem;
}

.staff-featured-current span {
  color: #9a7514;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.staff-featured-current strong {
  color: #1e3a5f;
}

.staff-feature-form {
  margin-top: 1.1rem;
}

.staff-helper-text,
.staff-field-hint {
  color: #64748b;
  font-size: 0.78rem;
  line-height: 1.45;
}

.staff-helper-text {
  margin-top: 1rem;
}

.staff-empty-panel {
  border: 1px dashed rgba(30, 58, 95, 0.25);
  border-radius: 1rem;
  padding: 2rem;
  text-align: center;
}

.staff-empty-panel h3 {
  color: #1e3a5f;
  font-size: 1.2rem;
  font-weight: 800;
}

.staff-empty-panel p {
  margin: 0.6rem auto 1.15rem;
  max-width: 38rem;
  color: #64748b;
}

.staff-audit-list {
  display: grid;
  gap: 0;
  margin-top: 1.2rem;
}

.staff-audit-list article {
  position: relative;
  display: flex;
  gap: 0.85rem;
  padding: 0.7rem 0;
}

.staff-audit-list article + article {
  border-top: 1px solid rgba(30, 58, 95, 0.08);
}

.staff-audit-dot {
  flex: 0 0 0.65rem;
  width: 0.65rem;
  height: 0.65rem;
  margin-top: 0.35rem;
  border: 2px solid #ffffff;
  border-radius: 999px;
  background: #c9a227;
  box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.22);
}

.staff-audit-list strong {
  color: #334155;
  font-size: 0.9rem;
}

.staff-audit-list p {
  margin-top: 0.15rem;
  color: #94a3b8;
  font-size: 0.76rem;
}

.staff-form-layout {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.8fr);
  margin-top: 1.25rem;
}

.staff-announcement-form {
  align-self: start;
}

.staff-form-notice {
  margin-bottom: 1.25rem;
  border: 1px solid rgba(201, 162, 39, 0.28);
  border-radius: 0.9rem;
  background: #fffbeb;
  color: #654b00;
  padding: 0.9rem 1rem;
  font-size: 0.88rem;
  line-height: 1.5;
}

.staff-form-grid {
  display: grid;
  gap: 1.15rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.staff-form-field-wide {
  grid-column: 1 / -1;
}

.staff-textarea {
  min-height: 8.5rem;
  resize: vertical;
}

.staff-field-hint {
  margin-top: 0.35rem;
}

.staff-type-guide {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.55rem;
  color: #64748b;
  font-size: 0.78rem;
}

.staff-type-guide strong {
  color: #334155;
}

.staff-form-actions {
  margin-top: 1.4rem;
}

.staff-preview-guide {
  align-self: start;
  position: sticky;
  top: 7rem;
}

.staff-preview-guide ol {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.2rem;
  padding-left: 1.25rem;
  color: #475569;
  list-style: decimal;
}

.staff-preview-guide li {
  padding-left: 0.25rem;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .staff-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .staff-dashboard-grid,
  .staff-form-layout {
    grid-template-columns: 1fr;
  }

  .staff-panel-wide {
    grid-column: auto;
  }

  .staff-preview-guide {
    position: static;
  }
}

@media (max-width: 700px) {
  .site-announcement {
    align-items: stretch;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.8rem 1rem;
  }

  .site-announcement-copy {
    align-items: center;
    flex-direction: column;
    gap: 0.2rem;
  }

  .staff-role-pill {
    width: 100%;
  }

  .staff-admin-nav,
  .staff-admin-account,
  .staff-announcement-card,
  .staff-panel-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .staff-admin-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .staff-admin-links a {
    text-align: center;
  }

  .staff-admin-account {
    justify-content: space-between;
  }

  .staff-admin-account > span {
    max-width: 100%;
  }

  .staff-announcement-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .staff-announcement-actions > *,
  .staff-announcement-actions form,
  .staff-announcement-actions button,
  .staff-announcement-actions a {
    flex: 1 1 auto;
  }

  .staff-form-grid {
    grid-template-columns: 1fr;
  }

  .staff-form-field-wide {
    grid-column: auto;
  }
}

@media (max-width: 460px) {
  .staff-metric-grid {
    grid-template-columns: 1fr;
  }

  .staff-admin-links {
    grid-template-columns: 1fr;
  }

  .staff-admin-account {
    gap: 0.75rem;
  }
}

/* ---- announcement-layout.css ---- */
/*
 * Announcement layout hotfix.
 *
 * The primary navigation is fixed, so announcements must reserve the same
 * vertical space before rendering. Keeping announcements in normal document
 * flow lets long or multiple messages expand naturally without overlapping the
 * header or the page content.
 */
.site-announcement-stack {
  position: relative;
  z-index: 40;
  padding-top: 5.5rem;
  background: transparent;
}

body.has-live-banner .site-announcement-stack {
  padding-top: 8rem;
}

.site-announcement + .site-announcement {
  border-top: 1px solid rgba(15, 23, 42, 0.15);
}

body.has-site-announcements main,
body.home.has-site-announcements main,
body.has-live-banner.has-site-announcements main,
body.has-live-banner.home.has-site-announcements main {
  padding-top: 0;
}

/*
 * On the homepage the normal header is intentionally translucent over the hero.
 * When an announcement is present, the header sits above the hero instead, so a
 * solid church-blue background keeps the masthead readable and intentional.
 */
body.home.has-site-announcements #site-header:not(.scrolled) {
  background-color: rgba(30, 58, 95, 0.98);
  color: #f8fafc;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.16);
}

@media (max-width: 700px) {
  .site-announcement-stack {
    padding-top: 5.25rem;
  }

  body.has-live-banner .site-announcement-stack {
    padding-top: 7.75rem;
  }

  .site-announcement-action {
    align-self: center;
  }
}

/* ---- phase3b.css ---- */
.sermon-library-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 18%, rgba(201, 162, 39, 0.22), transparent 28rem),
    linear-gradient(135deg, #0f1f33 0%, #1e3a5f 58%, #294d78 100%);
  color: #ffffff;
  padding: clamp(4rem, 8vw, 7rem) 1.5rem clamp(5rem, 9vw, 8rem);
}

.sermon-library-hero::after {
  position: absolute;
  right: -8rem;
  bottom: -16rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  box-shadow:
    0 0 0 4rem rgba(255, 255, 255, 0.025),
    0 0 0 8rem rgba(255, 255, 255, 0.018);
  content: "";
}

.sermon-library-hero-inner,
.sermon-library-container,
.sermon-detail-container {
  position: relative;
  z-index: 1;
  width: min(100%, 76rem);
  margin-right: auto;
  margin-left: auto;
}

.sermon-library-intro {
  max-width: 48rem;
}

.sermon-eyebrow {
  color: #c9a227;
  font-size: 0.74rem;
  font-weight: 850;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.sermon-library-intro h1,
.sermon-detail-heading h1 {
  margin-top: 0.8rem;
  max-width: 54rem;
  font-size: clamp(2.6rem, 7vw, 5.4rem);
  font-weight: 850;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.sermon-library-intro > p:last-child {
  margin-top: 1.4rem;
  max-width: 42rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(1rem, 2vw, 1.18rem);
  line-height: 1.7;
}

.sermon-search-panel {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 1.25rem;
  margin-top: 2.5rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.96);
  color: #0f172a;
  padding: clamp(1.2rem, 3vw, 1.8rem);
  box-shadow: 0 30px 70px rgba(6, 18, 34, 0.28);
  backdrop-filter: blur(14px);
}

.sermon-search-panel label {
  display: block;
  margin-bottom: 0.4rem;
  color: #334155;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.sermon-search-input-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 3.45rem;
  border: 1px solid #cbd5e1;
  border-radius: 1rem;
  background: #ffffff;
  padding: 0 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.sermon-search-input-wrap:focus-within {
  border-color: #c9a227;
  box-shadow: 0 0 0 4px rgba(201, 162, 39, 0.16);
}

.sermon-search-input-wrap svg {
  width: 1.3rem;
  height: 1.3rem;
  flex: 0 0 auto;
  color: #64748b;
}

.sermon-search-input-wrap input {
  width: 100%;
  border: 0;
  background: transparent;
  color: #0f172a;
  outline: 0;
}

.sermon-filter-grid {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.sermon-filter-grid select {
  width: 100%;
  min-height: 2.9rem;
  border: 1px solid #cbd5e1;
  border-radius: 0.85rem;
  background: #ffffff;
  color: #334155;
  padding: 0.65rem 2rem 0.65rem 0.8rem;
}

.sermon-filter-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.sermon-clear-link,
.sermon-back-link {
  color: #1e3a5f;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(201, 162, 39, 0.7);
  text-underline-offset: 0.25rem;
}

.sermon-library-content,
.sermon-related-section {
  background: #f6f8fb;
  padding: clamp(4rem, 7vw, 6.5rem) 1.5rem;
}

.featured-sermon-panel {
  display: grid;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.2fr) minmax(22rem, 0.8fr);
  border: 1px solid rgba(201, 162, 39, 0.35);
  border-radius: 1.75rem;
  background: #ffffff;
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.1);
}

.featured-sermon-media {
  position: relative;
  display: block;
  min-height: 25rem;
  overflow: hidden;
  background: #132a46;
}

.featured-sermon-media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(15, 31, 51, 0.08), rgba(15, 31, 51, 0.42));
  content: "";
}

.featured-sermon-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.featured-sermon-media:hover img {
  transform: scale(1.025);
}

.featured-sermon-play,
.sermon-play-icon {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #c9a227;
  color: #132a46;
  box-shadow: 0 16px 35px rgba(15, 23, 42, 0.25);
}

.featured-sermon-play {
  top: 50%;
  left: 50%;
  width: 5rem;
  height: 5rem;
  transform: translate(-50%, -50%);
}

.featured-sermon-play svg {
  width: 2rem;
  height: 2rem;
  margin-left: 0.2rem;
}

.featured-sermon-copy {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding: clamp(2rem, 5vw, 3.5rem);
}

.featured-sermon-copy h2,
.sermon-results-heading h2,
.sermon-message-panel h2,
.sermon-action-panel h2 {
  margin-top: 0.55rem;
  color: #1e3a5f;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 850;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.featured-sermon-copy > p:not(.sermon-eyebrow),
.sermon-message-panel > p,
.sermon-action-panel > p {
  margin-top: 1.1rem;
  color: #64748b;
  line-height: 1.7;
  white-space: pre-line;
}

.featured-sermon-copy .btn-primary {
  margin-top: 1.5rem;
}

.featured-sermon-meta,
.sermon-detail-meta,
.sermon-card-meta,
.sermon-admin-card-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 0.9rem;
  color: #64748b;
  font-size: 0.88rem;
  font-weight: 650;
}

.featured-sermon-meta span + span::before,
.sermon-detail-meta span + span::before,
.sermon-card-meta span + span::before,
.sermon-admin-card-meta span + span::before {
  margin-right: 1rem;
  color: #c9a227;
  content: "•";
}

.sermon-results-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin: 3.5rem 0 1.5rem;
}

.sermon-results-heading > p {
  color: #64748b;
  font-weight: 700;
}

.sermon-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sermon-card {
  overflow: hidden;
  border: 1px solid rgba(30, 58, 95, 0.09);
  border-radius: 1.35rem;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.sermon-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 28px 60px rgba(15, 23, 42, 0.12);
}

.sermon-card-media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #132a46;
}

.sermon-card-media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(15, 31, 51, 0.5));
  content: "";
}

.sermon-card-media img,
.sermon-thumbnail-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.sermon-card:hover .sermon-card-media img {
  transform: scale(1.035);
}

.sermon-thumbnail-placeholder {
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.75);
  font-size: 1.2rem;
  font-weight: 850;
  letter-spacing: 0.2em;
}

.sermon-duration,
.sermon-featured {
  position: absolute;
  z-index: 3;
  display: inline-flex;
  border-radius: 999px;
  padding: 0.36rem 0.65rem;
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.04em;
}

.sermon-duration {
  right: 0.8rem;
  bottom: 0.8rem;
  background: rgba(15, 31, 51, 0.88);
  color: #ffffff;
}

.sermon-featured {
  top: 0.8rem;
  left: 0.8rem;
  background: #c9a227;
  color: #132a46;
  text-transform: uppercase;
}

.sermon-play-icon {
  top: 50%;
  left: 50%;
  width: 3.6rem;
  height: 3.6rem;
  opacity: 0;
  transform: translate(-50%, -44%) scale(0.9);
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.sermon-play-icon svg {
  width: 1.45rem;
  height: 1.45rem;
  margin-left: 0.15rem;
}

.sermon-card:hover .sermon-play-icon,
.sermon-card-media:focus-visible .sermon-play-icon {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.sermon-card-body {
  padding: 1.35rem;
}

.sermon-card-kicker {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: #9a7514;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sermon-card-body h3 {
  margin-top: 0.65rem;
  color: #1e3a5f;
  font-size: 1.28rem;
  font-weight: 800;
  line-height: 1.25;
}

.sermon-card-body h3 a:hover {
  color: #9a7514;
}

.sermon-card-body > p {
  display: -webkit-box;
  margin-top: 0.8rem;
  overflow: hidden;
  color: #64748b;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.sermon-card-meta {
  font-size: 0.78rem;
}

.sermon-series-label {
  margin-top: 0.85rem;
  color: #475569;
  font-size: 0.8rem;
  font-weight: 750;
}

.sermon-topic-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1rem;
}

.sermon-topic-list span,
.sermon-topic-list a {
  border: 1px solid rgba(30, 58, 95, 0.12);
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  padding: 0.32rem 0.62rem;
  font-size: 0.7rem;
  font-weight: 750;
}

.sermon-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 1.1rem;
  color: #1e3a5f;
  font-size: 0.86rem;
  font-weight: 850;
}

.sermon-card-link:hover {
  color: #9a7514;
}

.sermon-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.5rem;
}

.sermon-pagination a,
.sermon-pagination span {
  border: 1px solid rgba(30, 58, 95, 0.14);
  border-radius: 999px;
  background: #ffffff;
  color: #1e3a5f;
  padding: 0.7rem 1rem;
  font-size: 0.85rem;
  font-weight: 800;
}

.sermon-empty-state {
  width: min(100%, 46rem);
  margin: 2rem auto 0;
  border: 1px dashed rgba(30, 58, 95, 0.25);
  border-radius: 1.5rem;
  background: #ffffff;
  padding: clamp(2rem, 5vw, 3.5rem);
  text-align: center;
}

.sermon-empty-state h1,
.sermon-empty-state h3 {
  margin-top: 0.5rem;
  color: #1e3a5f;
  font-size: clamp(1.65rem, 4vw, 2.4rem);
  font-weight: 850;
}

.sermon-empty-state > p {
  margin: 0.8rem auto 1.5rem;
  max-width: 35rem;
  color: #64748b;
  line-height: 1.65;
}

.sermon-unavailable-shell {
  min-height: 70vh;
  display: grid;
  place-items: center;
  background: #f6f8fb;
  padding: 4rem 1.5rem;
}

.sermon-detail-hero {
  background:
    radial-gradient(circle at 82% 16%, rgba(201, 162, 39, 0.17), transparent 24rem),
    linear-gradient(135deg, #0f1f33, #1e3a5f);
  color: #ffffff;
  padding: clamp(3rem, 6vw, 5rem) 1.5rem;
}

.sermon-detail-hero .sermon-back-link {
  color: rgba(255, 255, 255, 0.82);
}

.sermon-detail-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 2rem;
}

.sermon-detail-heading h1 {
  max-width: 58rem;
  font-size: clamp(2.2rem, 6vw, 4.5rem);
}

.sermon-detail-meta {
  color: rgba(255, 255, 255, 0.72);
}

.sermon-detail-meta strong {
  color: #ffffff;
}

.sermon-detail-featured {
  flex: 0 0 auto;
  border-radius: 999px;
  background: #c9a227;
  color: #132a46;
  padding: 0.55rem 0.85rem;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sermon-detail-content {
  background: #f6f8fb;
  padding: clamp(3rem, 6vw, 5rem) 1.5rem;
}

.sermon-video-frame {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 1.5rem;
  background: #0f172a;
  box-shadow: 0 30px 70px rgba(15, 23, 42, 0.2);
}

.sermon-video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.sermon-detail-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.85fr);
  margin-top: 1.5rem;
}

.sermon-message-panel,
.sermon-action-panel {
  border: 1px solid rgba(30, 58, 95, 0.09);
  border-radius: 1.4rem;
  background: #ffffff;
  padding: clamp(1.5rem, 4vw, 2.4rem);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
}

.sermon-message-panel h2,
.sermon-action-panel h2 {
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.sermon-detail-row {
  display: grid;
  gap: 0.3rem;
  grid-template-columns: 7rem 1fr;
  margin-top: 1.1rem;
  border-top: 1px solid #e2e8f0;
  padding-top: 1.1rem;
}

.sermon-detail-row strong {
  color: #1e3a5f;
}

.sermon-detail-row span {
  color: #64748b;
}

.sermon-detail-topics {
  margin-top: 1.35rem;
}

.sermon-detail-actions {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.sermon-detail-actions > * {
  width: 100%;
}

.sermon-related-section {
  border-top: 1px solid rgba(30, 58, 95, 0.08);
  padding-top: 1rem;
}

.sermon-admin-shell .staff-panel {
  width: min(100%, 76rem);
}

.sermon-admin-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.25rem;
}

.sermon-admin-search {
  flex: 1;
}

.sermon-admin-search-row {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.sermon-admin-list-panel {
  margin-top: 1.25rem;
}

.sermon-admin-list {
  display: grid;
  gap: 0.9rem;
  margin-top: 1.4rem;
}

.sermon-admin-card {
  display: grid;
  align-items: center;
  gap: 1rem;
  grid-template-columns: 11rem minmax(0, 1fr) auto;
  border: 1px solid rgba(30, 58, 95, 0.1);
  border-radius: 1.1rem;
  background: #fbfdff;
  padding: 0.9rem;
}

.sermon-admin-card.is-hidden {
  background: #f8fafc;
  opacity: 0.78;
}

.sermon-admin-thumb {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 0.8rem;
  background: #132a46;
}

.sermon-admin-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sermon-admin-thumb span {
  position: absolute;
  right: 0.45rem;
  bottom: 0.45rem;
  border-radius: 999px;
  background: rgba(15, 31, 51, 0.88);
  color: #ffffff;
  padding: 0.25rem 0.45rem;
  font-size: 0.62rem;
  font-weight: 800;
}

.sermon-admin-card-main {
  min-width: 0;
}

.sermon-admin-card-main h3 {
  margin-top: 0.5rem;
  color: #1e3a5f;
  font-size: 1.1rem;
  font-weight: 800;
}

.sermon-admin-source-title,
.sermon-admin-topics {
  margin-top: 0.3rem;
  overflow: hidden;
  color: #64748b;
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sermon-admin-badges,
.sermon-admin-card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.sermon-admin-card-actions {
  justify-content: flex-end;
}

.sermon-admin-card-actions > * {
  min-height: 2.5rem;
  padding: 0.55rem 0.85rem;
  font-size: 0.78rem;
}

.sermon-edit-layout {
  align-items: start;
  grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.85fr);
  margin-top: 1.25rem;
}

.sermon-edit-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sermon-summary-input {
  min-height: 9rem;
  resize: vertical;
}

.sermon-edit-options {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 1.4rem;
}

.sermon-check-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  border: 1px solid rgba(201, 162, 39, 0.28);
  border-radius: 1rem;
  background: #fffbeb;
  padding: 1rem;
  cursor: pointer;
}

.sermon-check-card.danger {
  border-color: rgba(185, 28, 28, 0.2);
  background: #fff7f7;
}

.sermon-check-card input {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: 0.15rem;
  accent-color: #1e3a5f;
}

.sermon-check-card span {
  display: grid;
  gap: 0.25rem;
}

.sermon-check-card strong {
  color: #1e3a5f;
}

.sermon-check-card small {
  color: #64748b;
  line-height: 1.45;
}

.sermon-source-panel {
  position: sticky;
  top: 7rem;
}

.sermon-source-panel > img {
  width: 100%;
  margin-top: 0.8rem;
  border-radius: 1rem;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.sermon-source-panel h2 {
  margin-top: 1rem;
  color: #1e3a5f;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.3;
}

.sermon-source-panel dl {
  display: grid;
  gap: 0.65rem;
  margin-top: 1rem;
}

.sermon-source-panel dl div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid #e2e8f0;
  padding-bottom: 0.65rem;
}

.sermon-source-panel dt {
  color: #64748b;
  font-size: 0.75rem;
  font-weight: 750;
  text-transform: uppercase;
}

.sermon-source-panel dd {
  color: #334155;
  font-size: 0.82rem;
  text-align: right;
}

.sermon-source-panel details {
  margin-top: 1rem;
}

.sermon-source-panel summary {
  color: #1e3a5f;
  font-weight: 800;
  cursor: pointer;
}

.sermon-source-panel details p {
  max-height: 15rem;
  margin-top: 0.65rem;
  overflow: auto;
  color: #64748b;
  font-size: 0.8rem;
  line-height: 1.5;
  white-space: pre-line;
}

.sermon-source-panel > .staff-outline-button {
  width: 100%;
  margin-top: 1rem;
}

@media (max-width: 1050px) {
  .sermon-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sermon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sermon-admin-card {
    grid-template-columns: 9rem minmax(0, 1fr);
  }

  .sermon-admin-card-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

@media (max-width: 820px) {
  .featured-sermon-panel,
  .sermon-detail-grid,
  .sermon-edit-layout {
    grid-template-columns: 1fr;
  }

  .featured-sermon-media {
    min-height: auto;
    aspect-ratio: 16 / 9;
  }

  .sermon-detail-heading,
  .sermon-admin-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .sermon-source-panel {
    position: static;
  }
}

@media (max-width: 680px) {
  .sermon-library-hero {
    padding-top: 3.25rem;
  }

  .sermon-filter-grid,
  .sermon-grid,
  .sermon-edit-grid,
  .sermon-edit-options {
    grid-template-columns: 1fr;
  }

  .sermon-search-panel {
    border-radius: 1.15rem;
  }

  .sermon-filter-actions > *,
  .sermon-filter-actions .btn-primary {
    width: 100%;
    text-align: center;
  }

  .sermon-results-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .sermon-admin-search-row {
    align-items: stretch;
    flex-direction: column;
  }

  .sermon-admin-toolbar > form,
  .sermon-admin-toolbar button,
  .sermon-admin-toolbar a {
    width: 100%;
  }

  .sermon-admin-card {
    grid-template-columns: 1fr;
  }

  .sermon-admin-thumb {
    width: 100%;
  }

  .sermon-admin-card-actions {
    grid-column: auto;
  }

  .sermon-admin-card-actions > * {
    flex: 1 1 auto;
  }

  .sermon-detail-row {
    grid-template-columns: 1fr;
  }

  .sermon-pagination {
    align-items: stretch;
    flex-direction: column;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .featured-sermon-media img,
  .sermon-card,
  .sermon-card-media img,
  .sermon-play-icon {
    transition: none;
  }
}

/* ---- sermon-filter-hotfix.css ---- */
.sermon-filter-grid {
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

@media (max-width: 680px) {
  .sermon-filter-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- phase3c.css ---- */
.care-container{width:min(100%,76rem);margin-inline:auto}.care-hero{background:radial-gradient(circle at 82% 18%,rgba(201,162,39,.23),transparent 24rem),linear-gradient(135deg,#0f1f33,#1e3a5f 62%,#294d78);color:#fff;padding:clamp(4.5rem,9vw,8rem) 1.5rem}.care-hero-grid{display:grid;gap:3rem;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);align-items:center}.care-eyebrow{color:#c9a227;font-size:.74rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}.care-hero h1{margin-top:.7rem;font-size:clamp(3rem,8vw,6rem);font-weight:850;letter-spacing:-.055em;line-height:.95}.care-hero>div>p,.care-hero-grid>div>p{max-width:44rem;margin-top:1.25rem;color:rgba(255,255,255,.82);font-size:clamp(1rem,2vw,1.2rem);line-height:1.75}.care-hero-actions,.care-filter-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.8rem}.care-outline-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:999px;color:inherit;padding:.8rem 1.2rem;font-weight:800}.care-scripture-card,.care-side-panel{border:1px solid rgba(255,255,255,.18);border-radius:1.5rem;background:rgba(255,255,255,.09);padding:clamp(1.5rem,4vw,2.3rem);backdrop-filter:blur(12px)}.care-scripture-card span{color:#c9a227;font-weight:850}.care-scripture-card blockquote{margin-top:.8rem;font-size:1.35rem;font-weight:750;line-height:1.5}.care-scripture-card p{margin-top:1rem;color:rgba(255,255,255,.68);line-height:1.6}.care-page-section{background:#f5f7fb;padding:clamp(3.5rem,7vw,6rem) 1.5rem}.care-form-layout{display:grid;gap:1.5rem;grid-template-columns:minmax(0,2fr) minmax(18rem,.8fr);align-items:start}.care-form-card,.care-side-panel,.care-thank-you-card{border:1px solid rgba(30,58,95,.09);border-radius:1.5rem;background:#fff;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 24px 60px rgba(15,23,42,.08)}.care-form-card h2,.care-side-panel h2,.care-thank-you-card h1{margin-top:.5rem;color:#1e3a5f;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:850;letter-spacing:-.035em}.care-form-intro,.care-side-panel p{margin-top:.8rem;color:#64748b;line-height:1.7}.care-field-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.5rem}.care-field-grid label,.next-step-radio-list legend{display:block;margin-bottom:.4rem;color:#334155;font-size:.8rem;font-weight:800}.care-field-wide{grid-column:1/-1}.care-textarea,.care-note-area{resize:vertical;min-height:9rem}.care-check-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.2rem}.care-check-card{display:flex;align-items:flex-start;gap:.7rem;border:1px solid rgba(30,58,95,.13);border-radius:1rem;background:#f8fafc;padding:1rem;cursor:pointer}.care-check-card.urgent{border-color:rgba(185,28,28,.22);background:#fff7f7}.care-check-card input{width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:#1e3a5f}.care-check-card span{display:grid;gap:.2rem}.care-check-card strong{color:#1e3a5f}.care-check-card small{color:#64748b;line-height:1.4}.care-emergency-note{margin-top:1rem;border-left:3px solid #c9a227;background:#fffbeb;color:#6b5a20;padding:.8rem 1rem;font-size:.82rem;line-height:1.5}.care-submit{width:100%;margin-top:1.2rem}.care-side-panel{position:sticky;top:7rem;background:linear-gradient(160deg,#132a46,#1e3a5f);color:#fff}.care-side-panel h2{color:#fff}.care-side-panel p{color:rgba(255,255,255,.75)}.care-side-panel>a{display:flex;margin-top:1rem;color:#fff;font-weight:800}.care-side-panel .care-outline-button{width:100%;color:#fff}.next-steps-hero{text-align:center}.next-steps-hero p{margin-inline:auto}.next-step-card-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.next-step-card{border:1px solid rgba(30,58,95,.1);border-radius:1.25rem;background:#fff;padding:1.4rem;box-shadow:0 14px 36px rgba(15,23,42,.06);transition:transform .2s ease,box-shadow .2s ease}.next-step-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(15,23,42,.11)}.next-step-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:999px;background:#fff6ce;color:#1e3a5f;font-size:1.3rem;font-weight:900}.next-step-card h2{margin-top:.9rem;color:#1e3a5f;font-size:1.25rem;font-weight:850}.next-step-card p{margin-top:.45rem;color:#64748b;line-height:1.55}.next-step-card strong{display:inline-block;margin-top:.9rem;color:#9a7514;font-size:.82rem}.next-step-form-layout{margin-top:2rem}.next-step-radio-list{display:grid;gap:.65rem;margin-top:1.4rem}.next-step-radio-list label{display:flex;gap:.65rem;align-items:flex-start;border:1px solid #dbe3ed;border-radius:.9rem;padding:.85rem}.next-step-radio-list input{margin-top:.2rem;accent-color:#1e3a5f}.permission-card{margin-top:1rem}.care-thank-you-shell{min-height:72vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,rgba(201,162,39,.14),transparent 28rem),#f5f7fb;padding:4rem 1.5rem}.care-thank-you-card{width:min(100%,42rem);text-align:center}.care-thank-you-mark{display:grid;place-items:center;width:4rem;height:4rem;margin:0 auto 1rem;border-radius:999px;background:#c9a227;color:#132a46;font-size:2rem;font-weight:900}.care-thank-you-card>p:not(.care-eyebrow){margin:1rem auto 1.5rem;max-width:34rem;color:#64748b;line-height:1.7}.care-home-link{display:block;margin-top:1rem;color:#1e3a5f;font-weight:800}.care-admin-shell .staff-panel{width:min(100%,76rem)}.care-metric-grid .urgent{border-color:rgba(185,28,28,.2);background:#fff7f7}.care-admin-filters{display:grid;gap:.8rem;grid-template-columns:1fr 1fr auto auto auto;align-items:end}.care-urgent-filter{display:flex;align-items:center;gap:.45rem;min-height:2.8rem;color:#334155;font-size:.82rem;font-weight:800}.care-request-list{display:grid;gap:.8rem;margin-top:1.2rem}.care-request-row{display:grid;align-items:center;gap:1rem;grid-template-columns:auto minmax(0,1fr) auto auto;border:1px solid rgba(30,58,95,.1);border-radius:1rem;background:#fbfdff;padding:1rem}.care-request-row.is-urgent{border-left:4px solid #b91c1c}.care-request-row.is-confidential{background:#fffdf6}.care-request-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:999px;background:#eef3f8}.care-request-badges{display:flex;flex-wrap:wrap;gap:.4rem}.care-request-main h3{margin-top:.45rem;color:#1e3a5f;font-size:1rem;font-weight:850}.care-request-main p,.care-request-main>span{display:block;margin-top:.25rem;color:#64748b;font-size:.8rem}.care-request-assignee{display:grid;gap:.2rem;text-align:right}.care-request-assignee small{color:#94a3b8}.care-request-assignee strong{color:#334155;font-size:.82rem}.care-request-arrow{color:#9a7514;font-size:1.3rem}.care-detail-layout{display:grid;gap:1.2rem;grid-template-columns:minmax(0,1.5fr) minmax(18rem,.7fr);margin-top:1.2rem}.care-detail-card h2,.care-update-panel h2{margin-top:.7rem;color:#1e3a5f;font-size:1.7rem;font-weight:850}.care-detail-list{display:grid;gap:.65rem;margin-top:1.2rem}.care-detail-list div{display:grid;gap:.4rem;grid-template-columns:10rem 1fr;border-bottom:1px solid #e2e8f0;padding-bottom:.65rem}.care-detail-list dt{color:#64748b;font-size:.75rem;font-weight:800;text-transform:uppercase}.care-detail-list dd{color:#334155}.care-request-message{margin-top:1.4rem;border-radius:1rem;background:#f8fafc;padding:1.2rem}.care-request-message>p:last-child{margin-top:.6rem;color:#334155;line-height:1.7;white-space:pre-line}.care-update-panel .staff-label{display:block;margin-top:1rem}.care-notes-panel{margin-top:1.2rem}.care-note-list{display:grid;gap:.8rem;margin-top:1rem}.care-note-list article{border-left:3px solid #c9a227;background:#f8fafc;padding:1rem}.care-note-list article>div{display:flex;justify-content:space-between;gap:1rem}.care-note-list strong{color:#1e3a5f}.care-note-list span{color:#94a3b8;font-size:.75rem}.care-note-list p{margin-top:.5rem;color:#475569;line-height:1.6;white-space:pre-line}@media(max-width:900px){.care-hero-grid,.care-form-layout,.care-detail-layout{grid-template-columns:1fr}.care-side-panel{position:static}.next-step-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.care-admin-filters{grid-template-columns:1fr 1fr}.care-request-row{grid-template-columns:auto minmax(0,1fr)}.care-request-assignee,.care-request-arrow{display:none}}@media(max-width:620px){.care-field-grid,.care-check-grid,.next-step-card-grid,.care-admin-filters{grid-template-columns:1fr}.care-hero-actions>*{width:100%}.care-request-row{grid-template-columns:1fr}.care-request-icon{display:none}.care-detail-list div{grid-template-columns:1fr}.care-note-list article>div{align-items:flex-start;flex-direction:column}.care-hero{padding-top:3.5rem}}

/* ---- phase3d.css ---- */
.comm-hero{background:radial-gradient(circle at 80% 20%,rgba(201,162,39,.25),transparent 25rem),linear-gradient(135deg,#0f1f33,#1e3a5f);color:#fff;padding:clamp(4rem,8vw,7rem) 1.5rem}.comm-wrap{width:min(100%,72rem);margin:auto}.comm-eyebrow{color:#c9a227;font-size:.75rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase}.comm-hero h1,.comm-state h1{margin-top:.8rem;font-size:clamp(2.5rem,7vw,5rem);font-weight:850;letter-spacing:-.045em;line-height:1}.comm-hero p:last-child{max-width:43rem;margin-top:1.2rem;color:#d7e0eb;font-size:1.1rem;line-height:1.7}.comm-section,.comm-state{background:#f5f7fa;padding:clamp(3rem,7vw,6rem) 1.5rem}.comm-public-grid,.comm-staff-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.75fr);gap:1.5rem}.comm-card,.comm-side-card{border:1px solid rgba(30,58,95,.1);border-radius:1.4rem;background:#fff;padding:clamp(1.4rem,4vw,2.4rem);box-shadow:0 18px 45px rgba(15,23,42,.07)}.comm-form{display:grid;gap:1.2rem}.comm-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.comm-field label,.comm-field legend{display:block;margin-bottom:.45rem;color:#334155;font-size:.82rem;font-weight:800}.comm-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.comm-choice,.comm-consent{display:flex;align-items:flex-start;gap:.65rem;border:1px solid #dbe3ec;border-radius:.9rem;background:#f8fafc;padding:.85rem;cursor:pointer}.comm-choice input,.comm-consent input{margin-top:.15rem;accent-color:#1e3a5f}.comm-consent{border:0;background:transparent;padding:0}.comm-submit{width:100%}.comm-fineprint{color:#64748b;font-size:.78rem;line-height:1.5}.comm-side{display:grid;gap:1rem;align-content:start}.comm-side-card h2{margin-top:.7rem;color:#1e3a5f;font-size:1.35rem;font-weight:850}.comm-side-card p{margin-top:.6rem;color:#64748b;line-height:1.6}.comm-icon{display:inline-flex;align-items:center;justify-content:center;min-width:2.8rem;height:2.8rem;border-radius:999px;background:#edf2f7;color:#1e3a5f;font-weight:850}.comm-sms{position:relative;background:linear-gradient(145deg,#fffdf5,#fff)}.comm-coming-soon{display:inline-flex;border-radius:999px;background:#c9a227;color:#10233d;padding:.3rem .65rem;font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.comm-sms button,.comm-staff-grid button:disabled{width:100%;margin-top:1rem;border:1px dashed #94a3b8;border-radius:999px;background:#f1f5f9;color:#64748b;padding:.7rem;font-weight:750}.comm-state{min-height:70vh;display:grid;place-items:center}.comm-state .comm-card{max-width:42rem;text-align:center}.comm-state p{margin:1rem auto 1.5rem;color:#64748b;line-height:1.7}.comm-staff-grid{margin-top:1.25rem}.comm-list{display:grid;gap:.65rem;margin-top:1rem}.comm-row{display:flex;justify-content:space-between;gap:1rem;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem}.comm-row>div{display:grid;gap:.25rem}.comm-row span,.comm-row small{color:#64748b;font-size:.78rem}.comm-events{margin-top:1.25rem}.comm-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}.comm-event-grid article{display:grid;gap:.35rem;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem}.comm-event-grid span{color:#64748b;font-size:.8rem}.comm-event-grid a{color:#1e3a5f;font-weight:800}.comm-table-wrap{overflow-x:auto}.comm-table{width:100%;margin-top:1rem;border-collapse:collapse}.comm-table th,.comm-table td{border-bottom:1px solid #e2e8f0;padding:.8rem;text-align:left;font-size:.82rem}.comm-editor{display:grid;gap:1.2rem;margin-top:1.25rem}.comm-send-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}.comm-sms-inline{border:1px dashed #c9a227;border-radius:1rem;background:#fffbeb;padding:1rem}.comm-sms-inline strong{margin-left:.6rem;color:#1e3a5f}.comm-sms-inline p{margin-top:.45rem;color:#64748b;font-size:.85rem}@media(max-width:850px){.comm-public-grid,.comm-staff-grid{grid-template-columns:1fr}.comm-event-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.comm-two,.comm-choice-grid,.comm-event-grid{grid-template-columns:1fr}.comm-send-actions>*{width:100%}.comm-row{align-items:flex-start;flex-direction:column}}

/* ---- phase3e.css ---- */
.access-shell{max-width:84rem}.access-role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.25rem}.access-role-card{border:1px solid rgba(30,58,95,.1);border-radius:1rem;background:#fff;padding:1rem;box-shadow:0 12px 30px rgba(15,23,42,.05)}.access-role-card span,.access-role-detail strong{color:#1e3a5f;font-weight:850}.access-role-card p,.access-role-detail p{margin-top:.35rem;color:#64748b;font-size:.84rem;line-height:1.5}.access-table-panel{margin-top:1.25rem}.access-table-wrap{overflow-x:auto}.access-table{width:100%;border-collapse:collapse}.access-table th,.access-table td{border-bottom:1px solid #e2e8f0;padding:.85rem;text-align:left;vertical-align:middle}.access-table th{color:#64748b;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.access-table td{color:#334155;font-size:.85rem}.access-table td strong,.access-table td small{display:block}.access-table td small{margin-top:.2rem;color:#64748b}.access-role-pill,.access-status{display:inline-flex;border-radius:999px;padding:.32rem .58rem;font-size:.7rem;font-weight:800}.access-role-pill{background:#eaf0f7;color:#1e3a5f}.access-status.active{background:#dcfce7;color:#166534}.access-status.inactive{background:#fee2e2;color:#991b1b}.access-edit-layout{grid-template-columns:minmax(0,1.4fr) minmax(18rem,.75fr);margin-top:1.25rem}.access-active-toggle{display:flex;gap:.75rem;align-items:flex-start;margin-top:1.25rem;border:1px solid rgba(30,58,95,.12);border-radius:1rem;background:#f8fafc;padding:1rem}.access-active-toggle input{width:1.15rem;height:1.15rem;margin-top:.12rem;accent-color:#1e3a5f}.access-active-toggle span{display:grid;gap:.2rem}.access-active-toggle strong{color:#1e3a5f}.access-active-toggle small{color:#64748b}.access-role-detail{border-bottom:1px solid #e2e8f0;padding:.85rem 0}.access-role-detail.selected{border-radius:.8rem;background:#fffbeb;padding:.85rem}.staff-admin-account>span{display:grid;line-height:1.15}.staff-admin-account>span small{color:#64748b;font-size:.68rem}@media(max-width:1000px){.access-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.access-edit-layout{grid-template-columns:1fr}}@media(max-width:640px){.access-role-grid{grid-template-columns:1fr}.access-table th:nth-child(4),.access-table td:nth-child(4){display:none}}

/* ---- phase3f.css ---- */
.passkey-layout{display:grid;gap:1.25rem;grid-template-columns:minmax(18rem,.8fr) minmax(0,1.4fr);margin-top:1.25rem}.passkey-enroll-card h2,.passkey-list-card h2,.passkey-recovery-note h2{margin-top:.45rem;color:#1e3a5f;font-size:1.65rem;font-weight:850}.passkey-enroll-card>p:not(.staff-eyebrow),.passkey-recovery-note p:last-child{margin-top:.7rem;color:#64748b;line-height:1.65}.passkey-enroll-card .staff-label{display:block;margin-top:1.25rem}.passkey-primary-action{width:100%;margin-top:1rem}.passkey-status{min-height:1.5rem;margin-top:.8rem;color:#1e3a5f;font-size:.85rem;font-weight:750}.passkey-status.is-error{color:#b91c1c}.passkey-list{display:grid;gap:.8rem;margin-top:1.2rem}.passkey-item{display:grid;align-items:center;gap:1rem;grid-template-columns:auto minmax(0,1fr) auto;border:1px solid rgba(30,58,95,.12);border-radius:1rem;background:#fbfdff;padding:1rem}.passkey-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:999px;background:#eaf3ee;color:#176b43;font-size:1.2rem;font-weight:900}.passkey-item h3{color:#1e3a5f;font-weight:850}.passkey-item p,.passkey-item small{display:block;margin-top:.25rem;color:#64748b;font-size:.8rem}.staff-outline-button.danger{border-color:rgba(185,28,28,.28);color:#991b1b}.passkey-recovery-note{margin-top:1.25rem;border-left:4px solid #c9a227}.passkey-login-divider{display:flex;align-items:center;gap:.8rem;margin:1.25rem 0;color:#94a3b8;font-size:.75rem;font-weight:800;text-transform:uppercase}.passkey-login-divider::before,.passkey-login-divider::after{height:1px;flex:1;background:#e2e8f0;content:""}.passkey-login-button{width:100%;min-height:3rem;border:1px solid #1e3a5f;border-radius:.85rem;background:#fff;color:#1e3a5f;font-weight:850}.passkey-login-button:hover{background:#f4f7fb}.passkey-login-button:disabled,.passkey-primary-action:disabled{cursor:wait;opacity:.6}@media(max-width:820px){.passkey-layout{grid-template-columns:1fr}}@media(max-width:620px){.passkey-item{align-items:start;grid-template-columns:auto 1fr}.passkey-item form{grid-column:1/-1}.passkey-item form button{width:100%}}

/* ---- phase4a.css ---- */
.intelligence-shell{padding-bottom:5rem}.intelligence-count-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.intelligence-sermon-list{display:grid;gap:.9rem}.intelligence-sermon-row{display:grid;grid-template-columns:150px 1fr auto;gap:1.25rem;align-items:center;padding:1rem;border:1px solid rgba(30,58,95,.12);border-radius:1.2rem;background:#fff}.intelligence-sermon-row img{width:150px;aspect-ratio:16/9;object-fit:cover;border-radius:.8rem}.intelligence-sermon-copy h3{margin:.35rem 0 .25rem;color:#17375e;font-size:1.05rem}.intelligence-sermon-copy p{margin:0;color:#68758a}.intelligence-status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:.32rem .65rem;font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.status-not_started{background:#eef2f7;color:#5f6d80}.status-draft{background:#fff4d1;color:#745a00}.status-ready{background:#dff3fb;color:#14536f}.status-published{background:#dff4e6;color:#24643a}.intelligence-review-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:1.25rem;align-items:start}.intelligence-transcript{min-height:640px;resize:vertical;line-height:1.65}.intelligence-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.intelligence-analysis-card{position:sticky;top:7rem}.intelligence-analysis-block{padding:1rem 0;border-top:1px solid rgba(30,58,95,.12)}.intelligence-analysis-block:first-of-type{margin-top:1rem}.intelligence-analysis-block h3{margin:0 0 .55rem;color:#17375e;font-size:1rem}.intelligence-analysis-block p,.intelligence-analysis-block li{color:#66758b;line-height:1.6}.intelligence-analysis-block ul,.intelligence-analysis-block ol{margin:.4rem 0 0;padding-left:1.2rem}.sermon-intelligence-public{margin-top:2rem;padding:2rem;border-radius:1.5rem;background:#f7f9fc;border:1px solid rgba(30,58,95,.1)}.sermon-intelligence-public h2{color:#17375e;margin:.25rem 0 1rem}.sermon-intelligence-summary{font-size:1.05rem;line-height:1.75;color:#596b84}.sermon-intelligence-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0}.sermon-transcript-disclosure{margin-top:1.5rem}.sermon-transcript-disclosure summary{cursor:pointer;font-weight:800;color:#17375e}.sermon-transcript-copy{white-space:pre-wrap;line-height:1.8;color:#52647d;margin-top:1rem}.sermon-topic-list span{display:inline-flex;margin:.2rem;padding:.35rem .65rem;border-radius:999px;background:#edf3fa;color:#17375e;font-size:.84rem;font-weight:700}@media(max-width:900px){.intelligence-count-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intelligence-review-layout{grid-template-columns:1fr}.intelligence-analysis-card{position:static}.intelligence-sermon-row{grid-template-columns:110px 1fr}.intelligence-sermon-row img{width:110px}.intelligence-sermon-row>a{grid-column:1/-1}.sermon-intelligence-columns{grid-template-columns:1fr}}@media(max-width:560px){.intelligence-sermon-row{grid-template-columns:1fr}.intelligence-sermon-row img{width:100%}.intelligence-count-grid{gap:.65rem}.sermon-intelligence-public{padding:1.25rem}}

/* ---- phase4a4.css ---- */
.sermon-study-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.sermon-study-actions{display:flex;flex-wrap:wrap;gap:.75rem}.sermon-transcript-tools{margin:2rem 0 1rem;padding:1.25rem;border:1px solid rgba(30,58,95,.16);border-radius:1rem;background:#f8fafc}.sermon-transcript-tools label{display:block;font-weight:700;margin-bottom:.6rem}.sermon-transcript-search-row{display:grid;grid-template-columns:1fr auto;gap:.75rem}.sermon-transcript-search-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.7rem}.sermon-transcript-search-status .staff-helper-text{margin:0}.sermon-transcript-nav{display:flex;align-items:center;gap:.55rem}.sermon-transcript-nav[hidden]{display:none}.sermon-transcript-nav span{min-width:3.6rem;text-align:center;color:#52647d;font-size:.86rem;font-weight:800}.sermon-transcript-nav button{padding:.45rem .7rem;font-size:.82rem}.sermon-transcript-nav button:disabled{opacity:.45;cursor:not-allowed}.sermon-transcript-copy{white-space:pre-wrap;line-height:1.85}.sermon-transcript-copy mark{background:#f9df98;padding:.05em .15em;border-radius:.2em}.sermon-transcript-copy mark.is-active{background:#f3c64f;box-shadow:0 0 0 3px rgba(243,198,79,.24)}.sermon-intelligence-public a{color:#1e3a5f;font-weight:650}.sermon-intelligence-public a:hover{text-decoration:underline}.sermon-search-arrival{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.25rem 0;padding:1rem 1.1rem;border:1px solid rgba(201,155,42,.32);border-radius:1rem;background:linear-gradient(135deg,#fff8e8,#f8fafc)}.sermon-search-arrival>div{display:grid;gap:.18rem}.sermon-search-arrival-label{color:#9a7418;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.sermon-search-arrival strong{color:#17375e}.sermon-search-match{margin:1rem 0;padding:1rem;border:1px solid rgba(30,58,95,.14);border-left:4px solid #c99b2a;border-radius:.9rem;background:linear-gradient(145deg,#fffaf0,#f8fafc)}.sermon-search-match-meta{display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:center;margin-bottom:.55rem;color:#68758a;font-size:.76rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.sermon-search-match-meta span+span:before{content:'•';margin-right:.7rem;color:#c99b2a}.sermon-search-match-excerpt{margin:0!important;color:#425873!important;line-height:1.6!important;font-size:.93rem!important}.sermon-search-match-excerpt mark{background:#f7dda0;color:#17375e;padding:.05em .18em;border-radius:.2em;font-weight:800}.sermon-search-match-actions{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.7rem}.sermon-search-match-actions a{color:#17375e;font-size:.84rem;font-weight:800;text-decoration:none}.sermon-search-match-actions a:hover{text-decoration:underline}@media(max-width:700px){.sermon-study-heading{display:block}.sermon-study-actions{margin-top:1rem}.sermon-transcript-search-row{grid-template-columns:1fr}.sermon-transcript-search-row button{width:100%}.sermon-transcript-search-status{align-items:flex-start}.sermon-transcript-nav{width:100%;justify-content:space-between}.sermon-search-arrival{align-items:flex-start;flex-direction:column}.sermon-search-match-actions{display:grid;gap:.55rem}}@media print{nav,.site-announcement-stack,.live-site-banner,.sermon-video-frame,.sermon-action-panel,.sermon-related-section,.sermon-back-link,.sermon-study-actions,.sermon-transcript-tools,.sermon-search-arrival,footer{display:none!important}.sermon-detail-content,.sermon-intelligence-public{background:#fff!important;box-shadow:none!important}.sermon-transcript-disclosure{display:block!important}.sermon-transcript-copy{font-size:10pt;line-height:1.5}}

/* ---- lighthouse-redesign.css ---- */
:root{--lh-navy:#061a2f;--lh-navy-2:#0b2745;--lh-ink:#152238;--lh-gold:#d7a63c;--lh-gold-soft:#f3d58e;--lh-ivory:#f8f5ee;--lh-white:#fff;--lh-muted:#68758a;--lh-line:rgba(11,39,69,.12);--lh-shadow:0 24px 65px rgba(6,26,47,.16)}
html{scroll-behavior:smooth}body{background:var(--lh-ivory);color:var(--lh-ink);font-family:Inter,system-ui,sans-serif}.section-title,h1,h2,h3{letter-spacing:-.035em}.lighthouse-header{position:fixed;inset:0 0 auto;z-index:80;color:#fff;transition:.3s;background:linear-gradient(180deg,rgba(2,12,25,.72),transparent)}.lighthouse-header.is-scrolled{background:rgba(4,20,37,.96);box-shadow:0 10px 30px rgba(0,0,0,.22);backdrop-filter:blur(16px)}.lighthouse-header-inner{max-width:1480px;margin:auto;height:92px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;gap:26px}.lighthouse-brand{display:flex;align-items:center;gap:12px;color:#fff}.lighthouse-brand img{width:50px;height:52px;object-fit:contain}.lighthouse-brand span{display:grid;line-height:1}.lighthouse-brand strong{font-family:Georgia,serif;font-size:1.25rem}.lighthouse-brand small{text-transform:uppercase;letter-spacing:.28em;color:var(--lh-gold-soft);font-size:.65rem;margin-top:7px}.lighthouse-desktop-nav{display:flex;align-items:center;gap:2px}.lighthouse-nav-group{position:relative}.lighthouse-nav-link{border:0;background:transparent;color:rgba(255,255,255,.9);padding:14px 15px;font-size:.88rem;font-weight:700;cursor:pointer}.lighthouse-nav-link span{color:var(--lh-gold);margin-left:5px}.lighthouse-nav-link:hover,.lighthouse-nav-link.is-active{color:var(--lh-gold-soft)}.lighthouse-mega-menu{position:absolute;top:52px;left:50%;transform:translate(-50%,10px);width:320px;padding:12px;background:rgba(5,24,43,.98);border:1px solid rgba(215,166,60,.28);border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.34);opacity:0;visibility:hidden;transition:.2s}.lighthouse-mega-wide{width:620px;display:grid;grid-template-columns:1fr 1fr}.lighthouse-nav-group:hover .lighthouse-mega-menu,.lighthouse-nav-group.is-open .lighthouse-mega-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}.lighthouse-mega-menu a{display:grid;gap:4px;padding:13px 14px;color:#fff;border-radius:12px}.lighthouse-mega-menu a:hover{background:rgba(255,255,255,.08)}.lighthouse-mega-menu strong{font-size:.9rem}.lighthouse-mega-menu small{color:rgba(255,255,255,.6);font-size:.75rem;line-height:1.45}.lighthouse-header-actions{display:flex;align-items:center;gap:10px}.lighthouse-icon-action,.lighthouse-staff-button{border:1px solid rgba(255,255,255,.28);border-radius:10px;padding:11px 14px;color:#fff;font-size:.78rem;font-weight:700}.lighthouse-icon-action:hover{border-color:var(--lh-gold);color:var(--lh-gold-soft)}.lighthouse-staff-button{background:var(--lh-gold);border-color:var(--lh-gold);color:#08192c}.lighthouse-menu-toggle{display:none;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(6,26,47,.55);padding:12px}.lighthouse-menu-toggle span{display:block;height:2px;background:#fff;margin:4px}.lighthouse-mobile-menu{background:#071d34;padding:20px 24px 30px;max-height:calc(100vh - 90px);overflow:auto;border-top:1px solid rgba(255,255,255,.12)}.lighthouse-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.lighthouse-mobile-actions a{border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:11px;text-align:center;color:#fff;font-weight:700}.lighthouse-mobile-actions .is-gold{background:var(--lh-gold);color:#071d34}.lighthouse-mobile-menu details{border-top:1px solid rgba(255,255,255,.1);padding:13px 0}.lighthouse-mobile-menu summary{font-weight:800;color:#fff;cursor:pointer}.lighthouse-mobile-menu details a{display:block;padding:9px 0 2px 16px;color:rgba(255,255,255,.72)}
.lighthouse-hero{position:relative;min-height:820px;background:url('../images/lighthouse-hero.svg') center/cover no-repeat;color:#fff;display:flex;align-items:center;padding:120px 0 170px;overflow:hidden}.lighthouse-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,16,30,.18),rgba(3,16,30,.14) 45%,rgba(2,13,25,.72) 76%,rgba(2,13,25,.86))}.lighthouse-hero-inner{position:relative;z-index:2;width:min(1450px,calc(100% - 60px));margin:auto;display:flex;justify-content:flex-end}.lighthouse-hero-copy{width:min(640px,48%)}.lighthouse-kicker{text-transform:uppercase;letter-spacing:.28em;font-size:.76rem;font-weight:800;color:#fff}.lighthouse-kicker span{display:inline-block;width:42px;height:1px;background:var(--lh-gold);vertical-align:middle;margin-right:14px}.lighthouse-hero h1{font-family:Georgia,serif;font-size:clamp(3.4rem,6.5vw,6.5rem);line-height:.95;margin:24px 0}.lighthouse-hero h1 em{display:block;color:var(--lh-gold);font-weight:400}.lighthouse-hero-copy>p:not(.lighthouse-kicker){font-size:1.2rem;line-height:1.65;max-width:530px;color:rgba(255,255,255,.86)}.lighthouse-hero-actions{display:flex;gap:16px;margin-top:30px}.lighthouse-primary-button,.lighthouse-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:11px;font-weight:800;font-size:.88rem}.lighthouse-primary-button{background:linear-gradient(135deg,#edc66a,var(--lh-gold));color:#091a2d;box-shadow:0 14px 35px rgba(215,166,60,.25)}.lighthouse-outline-button{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(3,16,30,.2)}.lighthouse-outline-button.dark{border-color:rgba(6,26,47,.32);color:var(--lh-navy);background:#fff}.lighthouse-service-dock{position:absolute;z-index:3;left:50%;bottom:0;transform:translate(-50%,50%);width:min(1180px,calc(100% - 40px));display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(135deg,#071f39,#0c2c4d);border:1px solid rgba(215,166,60,.18);border-radius:18px;box-shadow:0 28px 60px rgba(5,20,36,.28);overflow:hidden}.lighthouse-service-dock article{padding:26px 30px;border-right:1px solid rgba(255,255,255,.1)}.lighthouse-service-dock article:last-child{border:0}.lighthouse-service-dock span{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--lh-gold);font-size:.68rem;font-weight:800}.lighthouse-service-dock strong{display:block;font-family:Georgia,serif;font-size:1.45rem;margin:7px 0;color:#fff}.lighthouse-service-dock p,.lighthouse-service-dock a{color:rgba(255,255,255,.68);font-size:.78rem}.lighthouse-service-dock a{color:var(--lh-gold-soft)}
.lighthouse-pathways{max-width:1450px;margin:105px auto 0;padding:0 28px;display:grid;grid-template-columns:repeat(6,1fr)}.lighthouse-pathways a{background:#fff;padding:28px 22px;border:1px solid var(--lh-line);min-height:230px;transition:.25s}.lighthouse-pathways a:first-child{border-radius:16px 0 0 16px}.lighthouse-pathways a:last-child{border-radius:0 16px 16px 0}.lighthouse-pathways a:hover{transform:translateY(-8px);box-shadow:var(--lh-shadow);border-color:rgba(215,166,60,.45)}.lighthouse-pathways span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fbf2df;color:#a77a21;font-weight:900}.lighthouse-pathways strong{display:block;margin:20px 0 10px;color:var(--lh-navy);font-size:.94rem}.lighthouse-pathways p{font-size:.78rem;line-height:1.65;color:var(--lh-muted)}.lighthouse-pathways b{display:block;margin-top:18px;color:#a77319;font-size:.75rem}.lighthouse-welcome-section{max-width:1240px;margin:120px auto;padding:0 30px;display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:center}.lighthouse-section-label{text-transform:uppercase;letter-spacing:.2em;font-weight:800;font-size:.72rem;color:#a67418}.lighthouse-welcome-section h2,.lighthouse-content-band h2,.lighthouse-events-section h2,.lighthouse-connect-banner h2{font-family:Georgia,serif;font-size:clamp(2.5rem,4.5vw,4.4rem);line-height:1.05;color:var(--lh-navy);margin:14px 0 22px}.lighthouse-welcome-section>div>p:not(.lighthouse-section-label){font-size:1.08rem;line-height:1.8;color:var(--lh-muted)}.lighthouse-text-link{display:inline-block;margin-top:22px;color:#9c6c13;font-weight:800}.lighthouse-welcome-section aside{background:var(--lh-navy);color:#fff;padding:48px;border-radius:24px;box-shadow:var(--lh-shadow);position:relative;overflow:hidden}.lighthouse-welcome-section aside:after{content:"";position:absolute;width:260px;height:80px;background:linear-gradient(90deg,rgba(215,166,60,.25),transparent);filter:blur(18px);transform:rotate(-14deg);top:15px;right:-40px}.lighthouse-welcome-section blockquote{font-family:Georgia,serif;font-size:1.8rem;line-height:1.45;position:relative;z-index:1}.lighthouse-welcome-section cite{display:block;margin-top:24px;color:var(--lh-gold-soft);font-style:normal}.lighthouse-content-band{background:#fff;padding:110px 30px}.lighthouse-featured-message{max-width:1240px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.lighthouse-featured-message p:not(.lighthouse-section-label){color:var(--lh-muted);line-height:1.8}.lighthouse-featured-message>div:first-child>div{display:flex;gap:14px;margin-top:28px}.lighthouse-video-card{aspect-ratio:16/9;border-radius:24px;overflow:hidden;box-shadow:var(--lh-shadow);border:8px solid #fff}.lighthouse-video-card iframe{width:100%;height:100%}.lighthouse-events-section{max-width:1240px;margin:110px auto;padding:0 30px}.lighthouse-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:36px}.lighthouse-section-heading h2{margin-bottom:0}.lighthouse-section-heading>a{color:#996b19;font-weight:800}.lighthouse-connect-banner{max-width:1240px;margin:110px auto;padding:55px 60px;border-radius:26px;background:linear-gradient(120deg,#071e37,#0d3155);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:50px;box-shadow:var(--lh-shadow)}.lighthouse-connect-banner h2{color:#fff;font-size:2.5rem;margin:10px 0}.lighthouse-connect-banner p:not(.lighthouse-section-label){color:rgba(255,255,255,.72)}
.lighthouse-footer{position:relative;background:#04172a;color:#fff;margin-top:120px;overflow:hidden}.lighthouse-footer-beam{position:absolute;right:-8%;top:12%;width:60%;height:110px;background:linear-gradient(90deg,rgba(215,166,60,.18),transparent);filter:blur(25px);transform:rotate(-10deg)}.lighthouse-footer-inner{max-width:1300px;margin:auto;padding:70px 30px 28px;position:relative}.lighthouse-footer-brand{display:flex;align-items:center;gap:20px;padding-bottom:38px;border-bottom:1px solid rgba(255,255,255,.12)}.lighthouse-footer-brand img{width:72px;height:72px;object-fit:contain}.lighthouse-footer-brand h2{font-family:Georgia,serif;font-size:2rem}.lighthouse-footer-brand p{color:var(--lh-gold-soft);margin-top:6px}.lighthouse-footer-grid{display:grid;grid-template-columns:1.4fr 1.4fr 1fr 1fr;gap:50px;padding:42px 0}.lighthouse-footer-grid h3{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--lh-gold)}.lighthouse-footer-grid p,.lighthouse-footer-grid a{display:block;color:rgba(255,255,255,.66);font-size:.85rem;line-height:1.8}.lighthouse-footer-grid a:hover{color:#fff}.lighthouse-footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;color:rgba(255,255,255,.45);font-size:.75rem}
body:has(.lighthouse-staff-sidebar){background:#f5f3ee}body:has(.lighthouse-staff-sidebar) #site-header,body:has(.lighthouse-staff-sidebar) .site-announcement-stack,body:has(.lighthouse-staff-sidebar) .lighthouse-footer{display:none}body:has(.lighthouse-staff-sidebar) main{padding:0!important}.lighthouse-staff-sidebar{position:fixed;inset:0 auto 0 0;width:290px;z-index:90;background:linear-gradient(180deg,#04172b,#08233f);color:#fff;display:flex;flex-direction:column;padding:24px 18px;border-right:1px solid rgba(255,255,255,.08)}.lighthouse-staff-brand{display:flex;align-items:center;gap:12px;color:#fff;padding:0 8px 24px;border-bottom:1px solid rgba(255,255,255,.1)}.lighthouse-staff-brand img{width:48px;height:50px;object-fit:contain}.lighthouse-staff-brand span{display:grid}.lighthouse-staff-brand strong{font-family:Georgia,serif;font-size:1.35rem}.lighthouse-staff-brand small{text-transform:uppercase;letter-spacing:.18em;color:var(--lh-gold);font-size:.62rem}.lighthouse-staff-nav-scroll{overflow:auto;padding:15px 0;flex:1}.lighthouse-staff-nav-scroll p{color:var(--lh-gold);text-transform:uppercase;letter-spacing:.14em;font-size:.62rem;font-weight:900;margin:20px 12px 8px}.lighthouse-staff-nav-scroll a{display:flex;gap:12px;align-items:center;padding:12px 14px;color:rgba(255,255,255,.75);border-radius:10px;margin:2px 0;font-size:.84rem}.lighthouse-staff-nav-scroll a:hover,.lighthouse-staff-nav-scroll a.is-active{color:#fff;background:linear-gradient(90deg,rgba(215,166,60,.85),rgba(215,166,60,.58));box-shadow:0 9px 20px rgba(0,0,0,.14)}.lighthouse-staff-account{padding:16px 10px 0;border-top:1px solid rgba(255,255,255,.1);display:grid;gap:9px}.lighthouse-staff-account div{display:grid}.lighthouse-staff-account small{color:rgba(255,255,255,.5);font-size:.67rem;overflow:hidden;text-overflow:ellipsis}.lighthouse-staff-account a,.lighthouse-staff-account button{font-size:.72rem;color:rgba(255,255,255,.75);background:none;border:0;padding:0;text-align:left;cursor:pointer}.lighthouse-staff-dashboard{margin-left:290px!important;max-width:none!important;padding:0 0 70px!important}.lighthouse-staff-dashboard>.lighthouse-staff-sidebar{margin:0}.lighthouse-staff-hero{min-height:265px;padding:55px 55px 90px;background:linear-gradient(90deg,rgba(5,25,45,.98),rgba(5,25,45,.78)),url('../images/lighthouse-hero.svg') center/cover;color:#fff;display:flex;justify-content:space-between;align-items:start}.lighthouse-staff-hero p{text-transform:uppercase;letter-spacing:.22em;color:var(--lh-gold);font-size:.7rem;font-weight:900}.lighthouse-staff-hero h1{font-family:Georgia,serif;font-size:3.2rem;margin:9px 0}.lighthouse-staff-hero span{color:rgba(255,255,255,.65)}.lighthouse-staff-profile{display:grid;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:14px 18px;text-align:right}.lighthouse-staff-profile small{color:var(--lh-gold-soft)}.lighthouse-staff-metrics{margin:-55px 45px 0;position:relative;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--lh-line);border-radius:18px;box-shadow:var(--lh-shadow);overflow:hidden}.lighthouse-staff-metrics article{padding:25px;border-right:1px solid var(--lh-line)}.lighthouse-staff-metrics article:last-child{border:0}.lighthouse-staff-metrics span{font-size:.72rem;text-transform:uppercase;color:var(--lh-muted);font-weight:800}.lighthouse-staff-metrics strong{display:block;font-family:Georgia,serif;font-size:2.1rem;color:var(--lh-navy);margin:7px 0}.lighthouse-staff-metrics small{color:#8791a1}.lighthouse-staff-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;padding:38px 45px}.lighthouse-admin-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.lighthouse-admin-tiles a{background:#fff;border:1px solid var(--lh-line);border-radius:16px;padding:24px 20px;min-height:220px;text-align:center;display:flex;flex-direction:column;align-items:center;transition:.2s}.lighthouse-admin-tiles a:hover{transform:translateY(-5px);box-shadow:var(--lh-shadow);border-color:rgba(215,166,60,.45)}.lighthouse-admin-tiles i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fbf3e2;color:#af7d20;font-style:normal;font-size:1.45rem}.lighthouse-admin-tiles h2{font-family:Georgia,serif;font-size:1.25rem;margin:16px 0 8px;color:var(--lh-navy)}.lighthouse-admin-tiles p{color:var(--lh-muted);font-size:.76rem;line-height:1.55;flex:1}.lighthouse-admin-tiles span{border:1px solid rgba(215,166,60,.35);border-radius:999px;padding:5px 10px;color:#9a6c17;font-size:.65rem;font-weight:800;margin-top:14px}.lighthouse-staff-panel{background:#fff;border:1px solid var(--lh-line);border-radius:18px;padding:25px;box-shadow:0 10px 32px rgba(6,26,47,.05);margin-bottom:24px}.lighthouse-staff-panel-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:22px}.lighthouse-staff-panel-heading p{text-transform:uppercase;letter-spacing:.13em;font-size:.64rem;color:#a67519;font-weight:900}.lighthouse-staff-panel-heading h2{font-family:Georgia,serif;font-size:1.55rem;color:var(--lh-navy)}.lighthouse-staff-panel-heading>a{background:var(--lh-gold);color:var(--lh-navy);border-radius:9px;padding:10px 14px;font-weight:800;font-size:.72rem}.lighthouse-quick-actions>a{display:flex;justify-content:space-between;padding:13px 3px;border-top:1px solid var(--lh-line);color:var(--lh-ink);font-size:.82rem}.lighthouse-quick-actions>a:hover{color:#9d6d16}
@media(max-width:1180px){.lighthouse-desktop-nav,.lighthouse-icon-action{display:none}.lighthouse-menu-toggle{display:block}.lighthouse-hero{min-height:760px}.lighthouse-hero-copy{width:55%}.lighthouse-pathways{grid-template-columns:repeat(3,1fr);gap:12px}.lighthouse-pathways a,.lighthouse-pathways a:first-child,.lighthouse-pathways a:last-child{border-radius:14px}.lighthouse-admin-tiles{grid-template-columns:repeat(2,1fr)}.lighthouse-staff-layout{grid-template-columns:1fr}.lighthouse-staff-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.lighthouse-staff-layout>aside .lighthouse-staff-panel{margin:0}}
@media(max-width:760px){.lighthouse-header-inner{height:76px;padding:0 18px}.lighthouse-brand img{width:42px;height:44px}.lighthouse-brand strong{font-size:1rem}.lighthouse-brand small{font-size:.52rem}.lighthouse-staff-button{display:none}.lighthouse-hero{min-height:760px;padding:110px 0 210px;background-position:36% center}.lighthouse-hero:before{background:linear-gradient(180deg,rgba(3,16,30,.15),rgba(3,16,30,.58) 48%,rgba(3,16,30,.88))}.lighthouse-hero-inner{width:calc(100% - 36px);align-items:end;height:100%;justify-content:start}.lighthouse-hero-copy{width:100%;margin-top:250px}.lighthouse-kicker{font-size:.62rem}.lighthouse-hero h1{font-size:3.35rem}.lighthouse-hero-copy>p:not(.lighthouse-kicker){font-size:1rem}.lighthouse-hero-actions{display:grid}.lighthouse-service-dock{grid-template-columns:1fr 1fr;transform:translate(-50%,48%)}.lighthouse-service-dock article{padding:18px;border-bottom:1px solid rgba(255,255,255,.1)}.lighthouse-service-dock strong{font-size:1rem}.lighthouse-pathways{margin-top:155px;grid-template-columns:1fr;padding:0 18px}.lighthouse-pathways a{min-height:auto}.lighthouse-welcome-section,.lighthouse-featured-message{grid-template-columns:1fr;gap:35px;margin-top:85px}.lighthouse-welcome-section{padding:0 20px}.lighthouse-welcome-section aside{padding:30px}.lighthouse-welcome-section blockquote{font-size:1.35rem}.lighthouse-content-band{padding:75px 20px}.lighthouse-featured-message>div:first-child>div{display:grid}.lighthouse-events-section{margin:80px auto;padding:0 20px}.lighthouse-section-heading{align-items:start;display:block}.lighthouse-section-heading>a{display:inline-block;margin-top:16px}.lighthouse-connect-banner{margin:75px 20px;padding:35px 26px;display:block}.lighthouse-connect-banner .lighthouse-primary-button{margin-top:25px}.lighthouse-footer{margin-top:80px}.lighthouse-footer-grid{grid-template-columns:1fr 1fr}.lighthouse-footer-brand h2{font-size:1.45rem}.lighthouse-footer-bottom{display:grid;gap:8px}.lighthouse-staff-sidebar{position:relative;width:auto;inset:auto;padding:15px}.lighthouse-staff-nav-scroll{display:flex;overflow:auto;gap:6px}.lighthouse-staff-nav-scroll p{display:none}.lighthouse-staff-nav-scroll a{white-space:nowrap}.lighthouse-staff-account{display:none}.lighthouse-staff-dashboard{margin-left:0!important}.lighthouse-staff-hero{padding:34px 20px 72px}.lighthouse-staff-hero h1{font-size:2.25rem}.lighthouse-staff-profile{display:none}.lighthouse-staff-metrics{margin:-42px 16px 0;grid-template-columns:1fr 1fr}.lighthouse-staff-metrics article:nth-child(2){border-right:0}.lighthouse-staff-metrics article{padding:17px}.lighthouse-staff-metrics strong{font-size:1.55rem}.lighthouse-staff-layout{padding:25px 16px}.lighthouse-admin-tiles{grid-template-columns:1fr}.lighthouse-admin-tiles a{min-height:185px}.lighthouse-staff-layout>aside{display:block}.lighthouse-staff-layout>aside .lighthouse-staff-panel{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.lighthouse-pathways a,.lighthouse-admin-tiles a,.lighthouse-mega-menu{transition:none!important}}

/* ---- lighthouse-hubs.css ---- */
.lighthouse-hub-hero{min-height:570px;padding:150px 30px 95px;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(4,22,40,.95),rgba(4,22,40,.55)),url('../images/lighthouse-hero.svg') center/cover no-repeat}.lighthouse-hub-hero>div{width:min(1180px,100%);margin:auto}.lighthouse-hub-hero>div>p:not(.lighthouse-section-label){max-width:660px;font-size:1.08rem;line-height:1.8;color:rgba(255,255,255,.78)}.lighthouse-hub-hero h1{font-family:Georgia,serif;font-size:clamp(3.2rem,6vw,6rem);line-height:1;max-width:820px;margin:18px 0 24px}.lighthouse-hub-hero>div>div{display:flex;gap:14px;margin-top:30px}.lighthouse-hub-connect{background-position:center 45%}.lighthouse-hub-messages{background-position:center 60%}.lighthouse-hub-section{width:min(1240px,calc(100% - 40px));margin:95px auto}.lighthouse-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lighthouse-hub-grid>a,.lighthouse-hub-grid>article{display:flex;flex-direction:column;min-height:285px;padding:34px;background:#fff;border:1px solid rgba(11,39,69,.12);border-radius:18px;box-shadow:0 14px 36px rgba(6,26,47,.06);transition:.22s}.lighthouse-hub-grid>a:hover{transform:translateY(-6px);box-shadow:0 25px 55px rgba(6,26,47,.15);border-color:rgba(215,166,60,.5)}.lighthouse-hub-grid span{text-transform:uppercase;letter-spacing:.17em;color:#a47318;font-size:.68rem;font-weight:900}.lighthouse-hub-grid h2{font-family:Georgia,serif;color:#061a2f;font-size:1.8rem;margin:18px 0 12px}.lighthouse-hub-grid p{color:#68758a;line-height:1.72;font-size:.9rem;flex:1}.lighthouse-hub-grid b{color:#9c6d17;margin-top:22px;font-size:.78rem}.lighthouse-connect-grid{grid-template-columns:repeat(3,1fr)}.lighthouse-hub-split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.lighthouse-hub-split h2{font-family:Georgia,serif;color:#061a2f;font-size:clamp(2.4rem,4vw,4rem);line-height:1.08;margin:15px 0 22px}.lighthouse-hub-split p{color:#68758a;line-height:1.8}.lighthouse-hub-split iframe{width:100%;height:420px;border:0;border-radius:22px;box-shadow:0 24px 65px rgba(6,26,47,.16)}.lighthouse-messages-feature .lighthouse-video-card{width:100%}.lighthouse-hub-inline-actions{display:flex;align-items:center;gap:20px;margin-top:28px}.lighthouse-hub-inline-actions .lighthouse-text-link{margin:0}@media(max-width:900px){.lighthouse-hub-grid,.lighthouse-connect-grid{grid-template-columns:1fr 1fr}.lighthouse-hub-split{grid-template-columns:1fr;gap:35px}}@media(max-width:650px){.lighthouse-hub-hero{min-height:620px;padding:125px 20px 70px;background-position:35% center}.lighthouse-hub-hero h1{font-size:3.2rem}.lighthouse-hub-hero>div>div,.lighthouse-hub-inline-actions{display:grid}.lighthouse-hub-grid,.lighthouse-connect-grid{grid-template-columns:1fr}.lighthouse-hub-section{margin:70px auto}.lighthouse-hub-grid>a,.lighthouse-hub-grid>article{min-height:250px;padding:28px}.lighthouse-hub-split iframe{height:330px}}

/* ---- phase4c-hotfix.css ---- */
:root{--lh-mobile-gutter:20px}

/* Hero artwork: use a native, crisp SVG rather than the filtered embedded raster. */
.lighthouse-hero{background-image:url('../images/lighthouse-hero-v2.svg')!important;background-position:center center!important;background-size:cover!important;background-color:#061a2f}
.lighthouse-hero:before{background:linear-gradient(90deg,rgba(2,13,25,.22),rgba(2,13,25,.08) 44%,rgba(2,13,25,.67) 72%,rgba(2,13,25,.88))!important}
.lighthouse-beam{position:absolute;z-index:1;left:19%;top:31%;width:62%;height:85px;background:linear-gradient(90deg,rgba(255,226,146,.28),rgba(255,226,146,0));filter:blur(18px);transform:rotate(-7deg);transform-origin:left center;pointer-events:none;animation:lighthouseBeam 14s ease-in-out infinite alternate}
@keyframes lighthouseBeam{from{opacity:.42;transform:rotate(-9deg) scaleX(.88)}to{opacity:.78;transform:rotate(-3deg) scaleX(1.06)}}

.lighthouse-brand img,.lighthouse-staff-brand img,.lighthouse-footer-brand img{object-fit:contain;filter:drop-shadow(0 8px 15px rgba(0,0,0,.22))}
.lighthouse-brand img{width:42px;height:58px}
.lighthouse-footer-brand img{width:76px;height:96px}
.lighthouse-staff-brand img{width:40px;height:54px}
.lighthouse-footer-brand{align-items:center}

.staff-header-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end}
.access-intro-panel{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.access-intro-panel h2{margin:.35rem 0 .55rem}
.access-intro-panel p:last-child{max-width:760px;color:#68758a}
.access-role-card small,.access-role-detail small{display:block;margin-top:12px;color:#9a6c18;font-weight:800;font-size:.72rem}
.access-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.access-row-actions form{margin:0}
.access-row-actions .staff-outline-button,.access-row-actions .staff-danger-button{min-height:40px;padding:9px 13px}

.intelligence-count-grid{gap:16px!important}
.intelligence-count-grid .staff-stat-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:22px 24px!important;border:1px solid rgba(11,39,69,.12)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 30px rgba(6,26,47,.07)!important}
.intelligence-count-grid .staff-stat-card span{font-weight:800;color:#657287}
.intelligence-count-grid .staff-stat-card strong{font-family:Georgia,serif;font-size:2rem;color:#0b2745}

@media(max-width:980px){
  .lighthouse-header-inner{height:82px;padding:0 22px}
  .lighthouse-brand span{display:grid}
  .lighthouse-brand strong{font-size:1.05rem}
  .lighthouse-brand small{font-size:.55rem}
  .lighthouse-hero{min-height:900px!important;padding:110px 0 60px!important;background-position:38% center!important;display:block!important}
  .lighthouse-hero:before{background:linear-gradient(180deg,rgba(2,13,25,.12),rgba(2,13,25,.2) 30%,rgba(2,13,25,.78) 62%,rgba(2,13,25,.96))!important}
  .lighthouse-beam{left:22%;top:29%;width:92%;height:60px}
  .lighthouse-hero-inner{width:calc(100% - 40px)!important;min-height:590px!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important}
  .lighthouse-hero-copy{width:100%!important;max-width:620px!important}
  .lighthouse-hero h1{font-size:clamp(3.25rem,12vw,5rem)!important;line-height:.95!important;margin:18px 0 24px!important}
  .lighthouse-hero-copy>p:not(.lighthouse-kicker){font-size:1.05rem!important;line-height:1.65!important}
  .lighthouse-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .lighthouse-primary-button,.lighthouse-outline-button{width:100%;min-height:58px}
  .lighthouse-service-dock{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:calc(100% - 40px)!important;margin:32px auto 0!important;grid-template-columns:1fr 1fr!important;border-radius:18px!important}
  .lighthouse-service-dock article{padding:20px!important;border-right:1px solid rgba(255,255,255,.1)!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
  .lighthouse-service-dock article:nth-child(2n){border-right:0!important}
  .lighthouse-service-dock article:nth-last-child(-n+2){border-bottom:0!important}
  .lighthouse-service-dock strong{font-size:1.12rem!important}
  .lighthouse-pathways{margin-top:80px!important;grid-template-columns:repeat(2,1fr)!important;padding:0 var(--lh-mobile-gutter)!important;gap:12px!important}
  .lighthouse-pathways a{border-radius:16px!important;min-height:190px!important;padding:22px 18px!important}
  .lighthouse-welcome-section,.lighthouse-featured-message{grid-template-columns:1fr!important;gap:40px!important}
  .lighthouse-section-heading,.lighthouse-connect-banner{align-items:flex-start!important;flex-direction:column!important}

  body:has(.lighthouse-staff-sidebar){background:#f5f3ee}
  body:has(.lighthouse-staff-sidebar) main{padding:0!important}
  .staff-dashboard-shell{margin-left:0!important;padding:120px var(--lh-mobile-gutter) 64px!important;max-width:none!important}
  .staff-dashboard-header{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;align-items:start!important;margin-bottom:20px!important}
  .staff-dashboard-header>div:first-child{max-width:none!important}
  .staff-dashboard-header h1{font-size:clamp(2.25rem,10vw,3.5rem)!important;line-height:1!important}
  .staff-dashboard-header>p,.staff-dashboard-header>div:first-child>p:last-child{font-size:1rem!important;line-height:1.6!important}
  .staff-role-pill{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:15px 18px!important;border-radius:16px!important;min-height:0!important}
  .staff-role-pill span{margin:0!important}
  .staff-role-pill strong{text-align:right}
  .staff-header-actions{width:100%;display:grid;grid-template-columns:1fr;justify-content:stretch}
  .staff-header-actions a{width:100%;text-align:center;justify-content:center}

  .lighthouse-staff-sidebar{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;min-height:0!important;margin:20px 0 28px!important;padding:0!important;border-radius:20px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;overflow:hidden!important;box-shadow:0 18px 40px rgba(6,26,47,.15)!important}
  .lighthouse-staff-brand{grid-column:1!important;padding:14px 16px!important;border:0!important;min-width:0!important}
  .lighthouse-staff-brand strong{font-size:1.15rem!important}
  .lighthouse-staff-brand small{font-size:.58rem!important}
  .lighthouse-staff-account{grid-column:2!important;padding:12px 14px!important;border:0!important;display:flex!important;align-items:center!important;gap:8px!important}
  .lighthouse-staff-account>div{display:none!important}
  .lighthouse-staff-account>a,.lighthouse-staff-account button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:8px 11px!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:9px!important;color:#fff!important;background:transparent!important;font-size:.68rem!important;white-space:nowrap!important}
  .lighthouse-staff-account form{margin:0!important}
  .lighthouse-staff-nav-scroll{grid-column:1/-1!important;display:flex!important;align-items:center!important;gap:8px!important;overflow-x:auto!important;max-height:none!important;padding:10px 12px 14px!important;border-top:1px solid rgba(255,255,255,.1)!important;scrollbar-width:none!important}
  .lighthouse-staff-nav-scroll::-webkit-scrollbar{display:none}
  .lighthouse-staff-nav-scroll p{display:none!important}
  .lighthouse-staff-nav-scroll a{flex:0 0 auto!important;margin:0!important;padding:10px 13px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.04)!important;border-radius:10px!important;font-size:.76rem!important;white-space:nowrap!important}
  .lighthouse-staff-nav-scroll a.is-active{background:linear-gradient(90deg,#d7a63c,#bb8420)!important;color:#061a2f!important;border-color:#d7a63c!important}

  .intelligence-count-grid{grid-template-columns:1fr 1fr!important;margin-bottom:24px!important}
  .intelligence-count-grid .staff-stat-card{padding:17px 16px!important;display:grid!important;gap:6px!important}
  .intelligence-count-grid .staff-stat-card strong{font-size:1.7rem!important}

  .access-intro-panel{display:block}
  .access-role-grid{grid-template-columns:1fr!important}
  .access-table-wrap{overflow:visible!important}
  .access-table,.access-table tbody,.access-table tr,.access-table td{display:block!important;width:100%!important}
  .access-table thead{display:none!important}
  .access-table tr{padding:18px!important;margin-bottom:14px!important;border:1px solid rgba(11,39,69,.12)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 10px 24px rgba(6,26,47,.06)!important}
  .access-table td{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;gap:12px!important;align-items:center!important;padding:9px 0!important;border:0!important;text-align:left!important}
  .access-table td:before{content:attr(data-label);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#778397}
  .access-table td:last-child{grid-template-columns:1fr!important;padding-top:14px!important}
  .access-table td:last-child:before{display:none}
  .access-row-actions{justify-content:flex-start;flex-wrap:wrap}
  .staff-form-layout,.access-edit-layout{grid-template-columns:1fr!important}
}

@media(max-width:560px){
  .lighthouse-header-inner{padding:0 16px}
  .lighthouse-brand img{width:36px;height:50px}
  .lighthouse-brand strong{font-size:1rem}
  .lighthouse-hero{min-height:860px!important;background-position:35% center!important}
  .lighthouse-hero-inner{min-height:545px!important}
  .lighthouse-kicker{font-size:.66rem!important;letter-spacing:.2em!important}
  .lighthouse-hero h1{font-size:3.45rem!important}
  .lighthouse-service-dock{grid-template-columns:1fr!important}
  .lighthouse-service-dock article{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
  .lighthouse-service-dock article:last-child{border-bottom:0!important}
  .lighthouse-pathways{grid-template-columns:1fr 1fr!important}
  .lighthouse-pathways a{min-height:175px!important;padding:19px 15px!important}
  .lighthouse-pathways p{display:none}
  .lighthouse-footer-brand{align-items:center!important}
  .lighthouse-footer-brand img{width:64px;height:86px;flex:0 0 auto}
  .lighthouse-footer-brand h2{font-size:1.55rem!important}
  .lighthouse-footer-grid{grid-template-columns:1fr 1fr!important;gap:30px 22px!important}
  .lighthouse-footer-bottom{display:grid!important;gap:8px!important}
  .staff-dashboard-shell{padding-left:16px!important;padding-right:16px!important}
  .lighthouse-staff-account>a{display:none!important}
  .intelligence-count-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .access-table td{grid-template-columns:90px minmax(0,1fr)!important}
}

@media(prefers-reduced-motion:reduce){.lighthouse-beam{animation:none!important}}

/* ---- phase4c-mobile-polish.css ---- */
@media(max-width:980px){
  .staff-dashboard-shell{padding-top:32px!important}
  .lighthouse-staff-account{padding:10px 12px!important}
  .lighthouse-staff-account>div{display:grid!important;line-height:1.15!important;text-align:right!important}
  .lighthouse-staff-account>div>span{display:block!important;color:rgba(255,255,255,.55)!important;font-size:.54rem!important;text-transform:uppercase!important;letter-spacing:.08em!important}
  .lighthouse-staff-account>div>strong{color:#fff!important;font-size:.72rem!important}
  .lighthouse-staff-account>div>small{display:none!important}
  .lighthouse-staff-account>a{display:none!important}
  .lighthouse-staff-account button{min-height:34px!important;padding:7px 9px!important}
}

@media(max-width:560px){
  .lighthouse-hero{min-height:820px!important;padding-top:96px!important}
  .lighthouse-hero-inner{min-height:510px!important}
  .lighthouse-service-dock{grid-template-columns:1fr 1fr!important}
  .lighthouse-service-dock article{border-right:1px solid rgba(255,255,255,.1)!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
  .lighthouse-service-dock article:nth-child(2n){border-right:0!important}
  .lighthouse-service-dock article:nth-last-child(-n+2){border-bottom:0!important}
  .lighthouse-staff-brand{padding-right:8px!important}
  .lighthouse-staff-brand img{width:34px!important;height:46px!important}
  .lighthouse-staff-brand strong{font-size:1rem!important}
  .lighthouse-staff-account{gap:6px!important;padding-left:4px!important}
  .lighthouse-staff-account button{font-size:.62rem!important}
}

/* ---- approved-design.css ---- */
/* ---- approved-public.css ---- */
:root{
  --approved-navy:#061a2f;
  --approved-navy-2:#0a2948;
  --approved-navy-3:#0f365c;
  --approved-gold:#e0ad3f;
  --approved-gold-light:#f2cc70;
  --approved-ivory:#fbfaf7;
  --approved-ink:#112844;
  --approved-muted:#6c788b;
  --approved-line:#dde3eb;
  --approved-shadow:0 18px 50px rgba(6,26,47,.13);
}

.approved-site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(5,24,43,.97);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.08);transition:background .2s ease,box-shadow .2s ease}
.approved-site-header-home{background:linear-gradient(180deg,rgba(3,18,34,.98) 0%,rgba(3,18,34,.88) 58%,rgba(3,18,34,0) 100%);box-shadow:none}
.approved-site-header.is-scrolled{background:rgba(4,21,39,.98);box-shadow:0 10px 30px rgba(0,0,0,.22);backdrop-filter:blur(14px)}
.approved-header-inner{width:min(1460px,calc(100% - 48px));height:98px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.approved-brand{display:flex;align-items:center;gap:15px;color:#fff;min-width:max-content}
.approved-brand img{width:46px;height:66px;object-fit:contain;filter:drop-shadow(0 7px 14px rgba(0,0,0,.28))}
.approved-brand span{display:grid;line-height:1}
.approved-brand strong{font-family:Georgia,'Times New Roman',serif;font-size:1.48rem;font-weight:500;letter-spacing:-.02em}
.approved-brand small{text-transform:uppercase;letter-spacing:.3em;color:var(--approved-gold-light);font-size:.63rem;margin-top:9px}
.approved-desktop-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.approved-nav-group{position:relative}
.approved-nav-link{border:0;background:transparent;color:rgba(255,255,255,.92);padding:14px 15px;font-weight:700;font-size:.86rem;cursor:pointer}
.approved-nav-link span{color:var(--approved-gold);margin-left:4px}
.approved-nav-link:hover,.approved-nav-link.is-active{color:var(--approved-gold-light)}
.approved-mega-menu{position:absolute;top:52px;left:50%;transform:translate(-50%,10px);width:330px;padding:12px;background:rgba(5,24,43,.99);border:1px solid rgba(224,173,63,.24);border-radius:16px;box-shadow:0 24px 58px rgba(0,0,0,.35);opacity:0;visibility:hidden;transition:.18s ease}
.approved-mega-wide{width:630px;display:grid;grid-template-columns:1fr 1fr}
.approved-nav-group:hover .approved-mega-menu,.approved-nav-group.is-open .approved-mega-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.approved-mega-menu a{display:grid;gap:4px;padding:13px 14px;border-radius:11px;color:#fff}
.approved-mega-menu a:hover{background:rgba(255,255,255,.07)}
.approved-mega-menu strong{font-size:.9rem}.approved-mega-menu small{color:rgba(255,255,255,.62);font-size:.75rem;line-height:1.45}
.approved-header-actions{display:flex;align-items:center;gap:10px}
.approved-header-action,.approved-staff-login{display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:0 14px;border:1px solid rgba(255,255,255,.25);border-radius:9px;color:#fff;font-size:.78rem;font-weight:800}
.approved-header-action svg,.approved-staff-login svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.approved-header-action:hover{border-color:var(--approved-gold);color:var(--approved-gold-light)}
.approved-staff-login{background:linear-gradient(135deg,var(--approved-gold-light),var(--approved-gold));border-color:var(--approved-gold);color:#091b30}
.approved-menu-toggle{display:none;width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.38);background:rgba(6,26,47,.56);padding:14px}
.approved-menu-toggle span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:99px}
.approved-mobile-menu{background:#071e36;padding:18px 22px 30px;max-height:calc(100vh - 86px);overflow:auto;border-top:1px solid rgba(255,255,255,.1)}
.approved-mobile-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.approved-mobile-actions a{border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:11px;text-align:center;color:#fff;font-weight:800;font-size:.78rem}
.approved-mobile-actions .is-gold{background:var(--approved-gold);border-color:var(--approved-gold);color:#071d34}
.approved-mobile-menu details{border-top:1px solid rgba(255,255,255,.1);padding:13px 0}.approved-mobile-menu summary{color:#fff;font-weight:800;cursor:pointer}.approved-mobile-menu details a{display:block;padding:9px 0 2px 15px;color:rgba(255,255,255,.72)}

.lighthouse-beam,.lighthouse-footer-beam{display:none!important}
.approved-home-hero{position:relative;min-height:850px;padding:118px 0 0;background:#061a2f;color:#fff;overflow:hidden}.approved-hero-photo{position:absolute;inset:0;z-index:0;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.approved-hero-photo img{width:100%;height:100%;object-fit:fill;display:block}
.approved-home-hero:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(3,15,29,.05) 0%,rgba(3,15,29,.04) 46%,rgba(3,15,29,.42) 66%,rgba(3,15,29,.82) 100%);pointer-events:none}
.approved-hero-inner{position:relative;z-index:1;width:min(1450px,calc(100% - 60px));min-height:590px;margin:auto;display:flex;justify-content:flex-end;align-items:center}
.approved-hero-copy{width:min(625px,46%);padding:36px 0 88px}
.approved-hero-kicker{display:flex;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:900;color:#fff}
.approved-hero-kicker span{display:inline-block;width:43px;height:1px;background:var(--approved-gold)}
.approved-hero-copy h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.6rem,6.1vw,6.25rem);line-height:.94;letter-spacing:-.055em;margin:24px 0 23px;font-weight:500}
.approved-hero-copy h1 em{display:block;color:var(--approved-gold);font-weight:400}
.approved-hero-copy>p:not(.approved-hero-kicker){max-width:525px;font-size:1.16rem;line-height:1.6;color:rgba(255,255,255,.88)}
.approved-hero-actions{display:flex;gap:15px;margin-top:30px}
.approved-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:53px;padding:0 23px;border-radius:10px;font-size:.84rem;font-weight:900;text-transform:none}
.approved-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.approved-button-gold{background:linear-gradient(135deg,#f3cf77,var(--approved-gold));color:#071a2f;box-shadow:0 14px 34px rgba(224,173,63,.24)}
.approved-button-outline{border:1px solid rgba(255,255,255,.72);color:#fff;background:rgba(2,14,27,.18)}
.approved-button:hover{transform:translateY(-1px)}
.approved-service-card{position:relative;z-index:2;width:min(1190px,calc(100% - 50px));margin:0 auto -72px;display:grid;grid-template-columns:1.03fr 1.03fr 1fr 1.08fr;background:linear-gradient(125deg,#071e37,#0b2d50);border:1px solid rgba(255,255,255,.14);border-radius:17px;box-shadow:0 25px 55px rgba(4,18,33,.32);overflow:hidden}
.approved-service-card article{display:flex;align-items:center;gap:17px;padding:26px 25px;border-right:1px solid rgba(255,255,255,.12)}
.approved-service-card article:last-child{border-right:0}
.approved-service-icon{display:grid;place-items:center;flex:0 0 45px;width:45px;height:45px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--approved-gold)}
.approved-service-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.approved-service-card span{display:block;text-transform:uppercase;color:var(--approved-gold);letter-spacing:.08em;font-size:.61rem;font-weight:900}
.approved-service-card strong{display:block;font-family:Georgia,'Times New Roman',serif;color:#fff;font-size:1.42rem;line-height:1.12;margin:6px 0 4px;font-weight:500}
.approved-service-card p,.approved-service-card a{color:rgba(255,255,255,.76);font-size:.75rem;line-height:1.45}.approved-service-card a,.approved-service-card b{color:var(--approved-gold-light);font-weight:800}.approved-service-expect p{margin:3px 0}

.approved-home-steps{position:relative;z-index:3;width:min(1450px,calc(100% - 48px));margin:116px auto 0;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid rgba(10,41,72,.09);border-radius:16px;box-shadow:0 10px 35px rgba(6,26,47,.07);overflow:hidden}
.approved-home-steps a{padding:27px 22px;min-height:220px;border-right:1px solid rgba(10,41,72,.09);color:var(--approved-ink);transition:transform .2s ease,box-shadow .2s ease}
.approved-home-steps a:last-child{border-right:0}.approved-home-steps a:hover{transform:translateY(-4px);box-shadow:0 15px 35px rgba(6,26,47,.1)}
.approved-home-steps span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#f8f1e3;color:#a6761c}
.approved-home-steps svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.approved-home-steps strong{display:block;margin:18px 0 10px;text-transform:uppercase;font-size:.78rem;letter-spacing:.02em;color:#0d2440}
.approved-home-steps p{font-size:.75rem;line-height:1.58;color:#68758a}.approved-home-steps b{display:block;margin-top:15px;color:#9c6b16;font-size:.72rem}
.approved-home-content{width:min(1450px,calc(100% - 48px));margin:28px auto 100px;display:grid;grid-template-columns:1.14fr .95fr .92fr;gap:20px;align-items:stretch}
.approved-featured-message,.approved-upcoming-events,.approved-stay-connected{border-radius:16px;overflow:hidden;box-shadow:0 9px 30px rgba(6,26,47,.08)}
.approved-featured-message{background:#fff;padding:26px}
.approved-section-label,.approved-staff-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.68rem;color:#8e681f}
.approved-message-card{display:grid;grid-template-columns:44% 1fr;gap:20px;align-items:center;margin-top:18px;color:var(--approved-ink)}
.approved-message-card img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:12px}
.approved-message-card h2{font-family:Georgia,'Times New Roman',serif;font-size:1.7rem;line-height:1.1;color:var(--approved-navy);margin:0 0 8px}.approved-message-card p{font-weight:700;margin:0 0 7px}.approved-message-card span{font-size:.75rem;color:var(--approved-muted)}
.approved-upcoming-events{background:#fff;padding:26px}.approved-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.approved-section-heading h2{font-family:Georgia,'Times New Roman',serif;color:var(--approved-navy);font-size:1.65rem;margin:6px 0 0}.approved-section-heading>a{color:#966815;font-weight:800;font-size:.74rem}
.approved-event-list{margin-top:15px;border-top:1px solid var(--approved-line)}.approved-event-list>a{display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--approved-line);color:var(--approved-ink)}.approved-event-list time{display:grid;place-items:center;background:#faf5e9;border-radius:8px;padding:5px}.approved-event-list time span{font-size:.55rem;text-transform:uppercase;color:#8f671f}.approved-event-list time strong{font-family:Georgia,serif;font-size:1.15rem}.approved-event-list h3{font-size:.82rem;margin:0 0 3px}.approved-event-list p{font-size:.7rem;color:var(--approved-muted);margin:0}.approved-event-list b{color:#9c6c16}
.approved-stay-connected{background:linear-gradient(135deg,#071f39,#0b3156);padding:28px;color:#fff}.approved-stay-connected .approved-section-label{color:var(--approved-gold)}.approved-stay-connected h2{font-family:Georgia,'Times New Roman',serif;font-size:1.75rem;line-height:1.12;margin:12px 0}.approved-stay-connected p:not(.approved-section-label){font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.75);margin-bottom:24px}.approved-stay-connected .approved-button{width:100%}.approved-empty-copy{font-size:.82rem;color:var(--approved-muted);line-height:1.6;margin-top:20px}

.approved-footer{background:#04182d;color:#fff;margin-top:80px}
.approved-footer-inner{width:min(1240px,calc(100% - 48px));margin:auto;padding:58px 0 28px;display:grid;grid-template-columns:1.25fr 1.75fr;gap:50px}
.approved-footer-brand{display:flex;gap:22px;align-items:flex-start}.approved-footer-brand img{width:92px;height:125px;object-fit:contain;filter:drop-shadow(0 10px 23px rgba(0,0,0,.35))}.approved-footer-brand h2{font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:500;margin:5px 0 2px}.approved-footer-brand h3{text-transform:uppercase;letter-spacing:.25em;color:var(--approved-gold);font-size:.78rem;margin:0 0 12px}.approved-footer-brand p{color:rgba(255,255,255,.78);font-size:.82rem;line-height:1.55;max-width:320px}
.approved-footer-social{display:flex;gap:10px;margin-top:17px}.approved-footer-social a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);color:var(--approved-gold)}.approved-footer-social svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.approved-footer-social svg path:first-child:not(.fill-cutout){fill:none}.approved-footer-social .fill-cutout{fill:#04182d;stroke:none}
.approved-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.approved-footer-grid h3{text-transform:uppercase;letter-spacing:.14em;color:var(--approved-gold);font-size:.65rem;margin:0 0 14px}.approved-footer-grid a{display:block;color:rgba(255,255,255,.7);font-size:.75rem;line-height:1.8}.approved-footer-grid a:hover{color:#fff}.approved-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);padding-top:23px;color:rgba(255,255,255,.48);font-size:.7rem}
/* ---- approved-event.css ---- */
.approved-event-copy{display:flex;align-items:center;gap:10px;min-width:0}.approved-event-copy>div{min-width:0}.approved-event-thumb{width:48px;height:48px;object-fit:cover;border-radius:7px;flex:0 0 auto}.approved-featured-badge{display:inline-flex;margin-bottom:3px;padding:2px 6px;border-radius:99px;background:#fbf0d8;color:#8f6517;font-size:.5rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:700px){.approved-event-thumb{width:42px;height:42px}}
/* ---- approved-staff.css ---- */
body:has(.approved-staff-chrome){background:#f6f7fa!important}
body:has(.approved-staff-chrome) #site-header,body:has(.approved-staff-chrome) .site-announcement-stack{display:none!important}
body:has(.approved-staff-chrome) main#main-content{padding:0!important}
body:has(.approved-staff-chrome) .approved-footer{margin-top:30px}
.approved-staff-shell{max-width:none!important;margin:0!important;padding:0 0 60px!important;background:#f6f7fa!important;display:flex!important;flex-direction:column!important}
.approved-staff-chrome{order:-10;width:min(1120px,calc(100% - 36px));margin:22px auto 0;border-radius:20px 20px 0 0;overflow:hidden;box-shadow:0 12px 36px rgba(6,26,47,.12)}
.approved-staff-topbar{min-height:96px;padding:18px 27px;background:linear-gradient(135deg,#061a2f,#0b3156);display:flex;align-items:center;justify-content:space-between;color:#fff}
.approved-staff-brand{display:flex;align-items:center;gap:14px;color:#fff}.approved-staff-brand img{width:39px;height:56px;object-fit:contain}.approved-staff-brand span{display:grid;line-height:1}.approved-staff-brand strong{font-family:Georgia,'Times New Roman',serif;font-size:1.5rem;font-weight:500}.approved-staff-brand small{margin-top:7px;text-transform:uppercase;letter-spacing:.23em;color:var(--approved-gold);font-size:.58rem}
.approved-staff-menu-toggle{display:none;width:47px;height:47px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.04);padding:12px}.approved-staff-menu-toggle span{display:block;height:2px;background:#fff;margin:5px 0}
.approved-staff-account-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px 20px;background:#fff;border:1px solid var(--approved-line);border-top:0}
.approved-staff-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#657186;color:#fff}.approved-staff-avatar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.approved-staff-account-copy{display:grid;line-height:1.15}.approved-staff-account-copy span{font-size:.63rem;color:#6d7889}.approved-staff-account-copy strong{font-size:.87rem;color:#142c4a;margin:2px 0}.approved-staff-account-copy small{font-size:.64rem;color:#8b95a4}
.approved-staff-account-actions{display:flex;align-items:center;gap:8px}.approved-staff-account-actions a,.approved-staff-account-actions button{min-height:38px;padding:0 13px;border:1px solid var(--approved-line);border-radius:8px;background:#fff;color:#16304e;font-weight:800;font-size:.7rem}.approved-staff-account-actions form{margin:0}.approved-staff-account-actions button{cursor:pointer}
.approved-staff-tabs{display:flex;align-items:center;gap:0;padding:0 14px;background:#fff;border:1px solid var(--approved-line);border-top:0;overflow-x:auto;scrollbar-width:none}.approved-staff-tabs::-webkit-scrollbar{display:none}.approved-staff-tabs a{flex:0 0 auto;padding:16px 16px 14px;color:#4f5f74;font-size:.74rem;border-bottom:2px solid transparent;white-space:nowrap}.approved-staff-tabs a:hover,.approved-staff-tabs a.is-active{color:#102a48;border-bottom-color:#102a48;font-weight:800}
.approved-staff-main{order:0;width:min(1080px,calc(100% - 40px));margin:28px auto 0}
.approved-staff-welcome,.approved-staff-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.approved-staff-welcome h1,.approved-staff-page-heading h1,.approved-access-heading h1{font-size:clamp(2.25rem,5vw,4rem);line-height:1;color:#17375f;margin:8px 0 10px}.approved-staff-welcome p:not(.approved-staff-eyebrow),.approved-staff-page-heading p:not(.approved-staff-eyebrow),.approved-access-heading p:not(.approved-staff-eyebrow){max-width:690px;color:#6e7c91;line-height:1.55}
.approved-staff-primary,.approved-staff-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 16px;border-radius:8px;font-size:.73rem;font-weight:900}.approved-staff-primary{background:#071f39;color:#fff}.approved-staff-secondary{border:1px solid #cfd7e2;color:#183451;background:#fff}
.approved-dashboard-section{margin-bottom:30px}.approved-dashboard-section>.approved-staff-eyebrow{margin-bottom:12px}.approved-dashboard-section h2,.approved-card-heading h2{font-size:1.55rem;color:#17375f;margin:5px 0}
.approved-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.approved-metric-grid article{display:flex;justify-content:space-between;align-items:flex-start;min-height:135px;padding:20px;background:#fff;border:1px solid #dfe5ec;border-radius:12px;box-shadow:0 7px 18px rgba(6,26,47,.04)}.approved-metric-grid article.metric-alert{border-color:#f1cccc;background:#fffafa}.approved-metric-grid article.metric-success{border-color:#d8ead7;background:#fbfffb}.approved-metric-grid span{display:block;font-size:.72rem;font-weight:800;color:#264462}.approved-metric-grid strong{display:block;font-family:Georgia,serif;font-size:2rem;color:#0c2948;margin:10px 0 4px}.approved-metric-grid small{font-size:.65rem;color:#7b8797}.approved-metric-grid i{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#fff0f0;color:#c44d4d;font-style:normal}.approved-metric-grid i.metric-blue{background:#f0f5fb;color:#2d65a1}.approved-metric-grid .metric-success i{background:#eef7ec;color:#397a42}
.approved-admin-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.approved-admin-tiles>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;min-height:118px;padding:19px;background:#fff;border:1px solid #dfe5ec;border-radius:13px;color:#17375f;box-shadow:0 8px 20px rgba(6,26,47,.04)}.approved-admin-tiles>a:hover{border-color:#d7a63c;transform:translateY(-2px)}.approved-admin-tiles i{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#faf3e5;color:#9d711b;font-style:normal}.approved-admin-tiles h3{font-size:.9rem;margin:0 0 5px}.approved-admin-tiles p{font-size:.69rem;line-height:1.45;color:#748095;margin:0}.approved-admin-tiles>a>span{color:#a5771e}
.approved-dashboard-columns{display:grid;grid-template-columns:1.45fr .85fr;gap:18px}.approved-staff-card,.approved-intelligence-card,.approved-access-card{background:#fff;border:1px solid #e0e5eb;border-radius:15px;box-shadow:0 8px 24px rgba(6,26,47,.05);padding:24px}.approved-card-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:18px}.approved-card-heading>a{font-size:.7rem;color:#8e6519;font-weight:900}
.approved-intelligence-card{padding:27px}.approved-intelligence-title h2{font-size:2rem;color:#17375f;margin:7px 0}.approved-intelligence-title p:not(.approved-staff-eyebrow){color:#6f7d91;max-width:720px;line-height:1.55}.approved-workflow-status{display:flex;align-items:center;gap:13px;margin:22px 0;padding:16px;border:1px solid #e1e6ed;border-radius:10px}.approved-check-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#071f39;color:#fff;font-weight:900}.approved-workflow-status div{display:grid}.approved-workflow-status small{text-transform:uppercase;letter-spacing:.1em;color:#586b82;font-size:.58rem;font-weight:900}.approved-workflow-status strong{color:#17375f;font-size:.87rem;margin-top:3px}
.approved-intelligence-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 0 20px}.approved-intelligence-counts div{display:flex;justify-content:center;align-items:center;gap:8px;padding:11px 8px;background:#fbfcfd;border-radius:9px;color:#354c68;font-size:.68rem}.approved-intelligence-counts strong{display:grid;place-items:center;min-width:25px;height:25px;border-radius:50%;background:#e7f0fb;color:#1a5d99;font-size:.68rem}.approved-intelligence-counts div:nth-child(2) strong{background:#eaf5e8;color:#3b7742}.approved-intelligence-counts div:nth-child(3) strong{background:#eaf5e8;color:#3b7742}.approved-intelligence-counts div:nth-child(4) strong{background:#faf0dd;color:#94671a}
.approved-queue-card{border-top:1px solid #e3e7ed;padding-top:20px}.approved-sermon-queue{display:grid;gap:12px}.approved-sermon-queue article{display:grid;grid-template-columns:180px 1fr auto;gap:18px;align-items:center;padding:13px;border:1px solid #e1e6ed;border-radius:12px}.approved-sermon-queue img{width:180px;aspect-ratio:16/9;object-fit:cover;border-radius:9px}.approved-sermon-queue h3{font-size:.93rem;color:#17375f;margin:7px 0 5px}.approved-sermon-queue p{font-size:.7rem;color:#778397}.approved-sermon-queue .intelligence-status{font-size:.58rem}
.approved-access-card{padding:27px}.approved-access-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.approved-access-heading h1{font-size:2.25rem}.approved-access-tabs{display:flex;gap:30px;border-bottom:1px solid #dfe4eb;margin:22px 0}.approved-access-tabs button{border:0;background:transparent;padding:0 0 13px;color:#66758a;font-size:.74rem;cursor:pointer}.approved-access-tabs button.is-active{color:#17375f;border-bottom:2px solid #17375f;font-weight:900}
.approved-access-tools{display:grid;grid-template-columns:1fr 170px auto;gap:12px;align-items:end;margin:18px 0}.approved-staff-search{display:flex;align-items:center;gap:10px;border:1px solid #d7dee8;border-radius:9px;padding:0 12px;background:#fff}.approved-staff-search svg{width:17px;height:17px;fill:none;stroke:#7c899b;stroke-width:1.8}.approved-staff-search input{width:100%;min-height:43px;border:0;outline:0;background:transparent}.approved-role-filter{display:grid;gap:4px}.approved-role-filter span{font-size:.58rem;text-transform:uppercase;color:#768397;font-weight:800}.approved-role-filter select{height:43px;border:1px solid #d7dee8;border-radius:9px;padding:0 10px;background:#fff;color:#183451}
.approved-staff-list{display:grid;gap:0;border:1px solid #e0e5ec;border-radius:11px;overflow:hidden}.approved-staff-list article{display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto auto;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid #e4e8ee}.approved-staff-list article:last-child{border-bottom:0}.approved-staff-initials{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#718096,#3d4c62);color:#fff;font-size:.68rem;font-weight:900}.approved-staff-person{display:grid}.approved-staff-person strong{font-size:.79rem;color:#17375f}.approved-staff-person small{font-size:.64rem;color:#7b8797;margin-top:3px}.approved-role-badge,.approved-status-dot{display:inline-flex;align-items:center;justify-content:center;border-radius:99px;padding:5px 9px;font-size:.58rem;white-space:nowrap}.approved-role-badge{background:#e9f3ff;color:#1a67a8;border:1px solid #c9e1f8}.approved-role-badge.role-pastor{background:#fff3df;color:#9a6d1c;border-color:#efd7aa}.approved-role-badge.role-editor,.approved-role-badge.role-media{background:#f1edff;color:#6651a1;border-color:#ddd4f7}.approved-status-dot{background:#edf7ec;color:#397a42}.approved-status-dot.is-disabled{background:#f7eeee;color:#a44c4c}.approved-staff-row-actions{display:flex;align-items:center;gap:7px}.approved-staff-row-actions a,.approved-staff-row-actions button{border:0;background:transparent;color:#34516f;font-size:.65rem;font-weight:800;cursor:pointer}.approved-staff-row-actions button{color:#a44848}.approved-staff-row-actions form{margin:0}.approved-role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.approved-role-grid article{display:flex;gap:14px;padding:18px;border:1px solid #e0e5ec;border-radius:11px}.approved-role-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;background:#faf3e5;color:#986b18;font-weight:900}.approved-role-grid h2{font-size:.88rem;color:#17375f;margin:0 0 6px}.approved-role-grid p{font-size:.68rem;color:#728095;line-height:1.5}.approved-role-grid small{display:block;margin-top:8px;color:#9a6c18;font-size:.6rem;font-weight:800}.approved-no-results{padding:25px;text-align:center;color:#738094}
/* ---- approved-responsive.css ---- */
@media(max-width:1100px){
  .approved-desktop-nav,.approved-header-action,.approved-staff-login{display:none}.approved-menu-toggle{display:block}
  .approved-home-hero:after{background:linear-gradient(180deg,rgba(3,15,29,.02) 0%,rgba(3,15,29,.05) 38%,rgba(3,15,29,.7) 70%,rgba(3,15,29,.96) 100%)}
  .approved-hero-inner{justify-content:flex-start;align-items:flex-end;min-height:690px}.approved-hero-copy{width:min(620px,100%);padding:0 0 55px}
  .approved-service-card{grid-template-columns:repeat(2,1fr)}.approved-service-card article:nth-child(2){border-right:0}.approved-service-card article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}
  .approved-home-steps{grid-template-columns:repeat(3,1fr)}.approved-home-steps a:nth-child(3){border-right:0}.approved-home-steps a:nth-child(-n+3){border-bottom:1px solid rgba(10,41,72,.09)}
  .approved-home-content{grid-template-columns:1fr 1fr}.approved-stay-connected{grid-column:1/-1}
  .approved-footer-inner{grid-template-columns:1fr}.approved-footer-grid{grid-template-columns:repeat(4,1fr)}
  .approved-metric-grid{grid-template-columns:repeat(2,1fr)}.approved-admin-tiles{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:700px){
  .approved-header-inner{width:calc(100% - 32px);height:86px}.approved-brand img{width:38px;height:55px}.approved-brand strong{font-size:1.25rem}.approved-brand small{font-size:.55rem}.approved-menu-toggle{width:48px;height:48px}
  .approved-home-hero{min-height:1180px;padding-top:86px}.approved-hero-photo{width:185%;left:-35%;right:auto}.approved-hero-photo img{object-fit:fill}
  .approved-home-hero:after{background:linear-gradient(180deg,rgba(2,13,25,.04) 0%,rgba(2,13,25,.12) 42%,rgba(2,13,25,.78) 65%,rgba(2,13,25,.99) 100%)}
  .approved-hero-inner{width:calc(100% - 40px);min-height:765px;align-items:flex-end}.approved-hero-copy{width:100%;padding-bottom:38px}.approved-hero-kicker{font-size:.65rem;letter-spacing:.2em;gap:12px}.approved-hero-kicker span{width:38px}.approved-hero-copy h1{font-size:clamp(3.1rem,14vw,4.35rem);line-height:.94;margin:18px 0 21px}.approved-hero-copy>p:not(.approved-hero-kicker){font-size:1rem;line-height:1.58}.approved-hero-actions{display:grid;grid-template-columns:1fr;gap:11px}.approved-button{width:100%;min-height:57px}
  .approved-service-card{width:calc(100% - 40px);margin:0 auto 0;grid-template-columns:1fr;border-radius:15px}.approved-service-card article{border-right:0!important;border-bottom:1px solid rgba(255,255,255,.13)!important;padding:22px 24px}.approved-service-card article:last-child{border-bottom:0!important}.approved-service-card .approved-service-expect{display:none}.approved-service-card strong{font-size:1.55rem}.approved-service-card p,.approved-service-card a{font-size:.78rem}
  .approved-home-steps{width:100%;margin:0;border-radius:0;border-left:0;border-right:0;grid-template-columns:repeat(3,1fr);box-shadow:none}.approved-home-steps a{min-height:142px;padding:22px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;border-right:1px solid rgba(10,41,72,.09);border-bottom:1px solid rgba(10,41,72,.09)}.approved-home-steps a:nth-child(3n){border-right:0}.approved-home-steps a:nth-last-child(-n+3){border-bottom:0}.approved-home-steps span{width:43px;height:43px}.approved-home-steps strong{font-size:.66rem;line-height:1.35;margin:13px 0 0}.approved-home-steps p,.approved-home-steps b{display:none}
  .approved-home-content{width:calc(100% - 32px);margin:26px auto 65px;grid-template-columns:1fr;gap:17px}.approved-featured-message,.approved-upcoming-events,.approved-stay-connected{padding:22px}.approved-message-card{grid-template-columns:42% 1fr;gap:15px}.approved-message-card h2{font-size:1.15rem}.approved-message-card p{font-size:.76rem}.approved-message-card span{font-size:.65rem}.approved-upcoming-events,.approved-stay-connected{grid-column:auto}.approved-section-heading{align-items:flex-start}.approved-section-heading h2{font-size:1.45rem}
  .approved-footer{margin-top:55px}.approved-footer-inner{width:calc(100% - 48px);padding:46px 0 25px;gap:35px}.approved-footer-brand{gap:17px}.approved-footer-brand img{width:77px;height:105px}.approved-footer-brand h2{font-size:1.6rem}.approved-footer-brand h3{font-size:.65rem}.approved-footer-grid{grid-template-columns:1fr 1fr;gap:30px 24px}.approved-footer-bottom{display:grid;gap:8px}

  .approved-staff-shell{padding-bottom:45px!important}.approved-staff-chrome{width:100%;margin:0;border-radius:0;box-shadow:0 8px 26px rgba(6,26,47,.12)}.approved-staff-topbar{min-height:100px;padding:18px 22px}.approved-staff-brand img{width:36px;height:52px}.approved-staff-brand strong{font-size:1.38rem}.approved-staff-menu-toggle{display:block}.approved-staff-account-row{grid-template-columns:auto 1fr auto;padding:12px 16px}.approved-staff-account-copy small{display:none}.approved-staff-account-actions form{display:none}.approved-staff-account-actions a{padding:0 12px}.approved-staff-tabs{padding:0 10px;max-height:0;opacity:0;overflow:hidden;border:0;transition:max-height .22s ease,opacity .2s ease}.approved-staff-tabs.is-expanded{max-height:170px;opacity:1;border:1px solid var(--approved-line);border-top:0;overflow-x:auto}.approved-staff-tabs a{padding:15px 13px 13px}.approved-staff-main{width:calc(100% - 28px);margin-top:22px}.approved-staff-welcome,.approved-staff-page-heading,.approved-access-heading{display:grid;gap:15px;align-items:start}.approved-staff-welcome h1,.approved-staff-page-heading h1,.approved-access-heading h1{font-size:2.35rem}.approved-staff-welcome .approved-staff-primary,.approved-access-heading .approved-staff-primary{width:100%}.approved-metric-grid{grid-template-columns:1fr 1fr;gap:10px}.approved-metric-grid article{min-height:126px;padding:16px}.approved-metric-grid strong{font-size:1.75rem}.approved-admin-tiles{grid-template-columns:1fr}.approved-dashboard-columns{grid-template-columns:1fr}.approved-staff-card,.approved-intelligence-card,.approved-access-card{padding:19px;border-radius:13px}.approved-card-heading{align-items:flex-start}
  .approved-intelligence-title h2{font-size:1.75rem}.approved-intelligence-counts{grid-template-columns:repeat(4,max-content);justify-content:space-between;overflow-x:auto}.approved-intelligence-counts div{padding:9px 7px;gap:5px}.approved-sermon-queue article{grid-template-columns:1fr;gap:12px}.approved-sermon-queue img{width:100%}.approved-sermon-queue .approved-staff-secondary{width:100%}
  .approved-access-tools{grid-template-columns:1fr}.approved-access-tabs{gap:20px}.approved-staff-list{border:0;gap:10px}.approved-staff-list article{grid-template-columns:auto 1fr auto;padding:14px;border:1px solid #e0e5ec;border-radius:11px}.approved-role-badge{grid-column:2}.approved-status-dot{grid-column:3;grid-row:1}.approved-staff-row-actions{grid-column:2/-1;justify-content:flex-start;border-top:1px solid #e7ebf0;padding-top:10px}.approved-role-grid{grid-template-columns:1fr}
}

@media(max-width:430px){
  .approved-brand strong{font-size:1.12rem}.approved-brand small{letter-spacing:.24em}.approved-hero-photo{width:195%;left:-40%}.approved-hero-copy h1{font-size:3.3rem}.approved-service-icon{display:none}.approved-service-card article{padding:21px 22px}.approved-home-steps strong{font-size:.62rem}.approved-footer-inner{width:calc(100% - 34px)}.approved-footer-brand img{width:68px}.approved-footer-brand h2{font-size:1.42rem}.approved-staff-account-row{grid-template-columns:auto 1fr auto}.approved-staff-account-actions a{font-size:.64rem}.approved-metric-grid{grid-template-columns:1fr 1fr}.approved-metric-grid article{padding:14px}.approved-staff-list article{grid-template-columns:auto minmax(0,1fr)}.approved-status-dot{grid-column:2;grid-row:auto;justify-self:start}.approved-role-badge{grid-column:2;justify-self:start}.approved-staff-row-actions{grid-column:1/-1}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.approved-button,.approved-home-steps a,.approved-admin-tiles>a{transition:none!important}}
/* ---- approved-photo-hotfix.css ---- */
.approved-hero-photo{grid-template-columns:427fr 427fr 426fr;background:#061a2f}.approved-hero-photo img{display:block;min-width:0;width:100%;height:100%;object-fit:fill}

@media(max-width:700px){
  .approved-home-hero{background-color:#061a2f;background-image:url('../images/approved-hero-mobile.svg?v=20260725b');background-repeat:no-repeat;background-position:center 86px;background-size:100% 760px}
  .approved-hero-photo{display:none!important}
  .approved-home-hero:after{background:linear-gradient(180deg,rgba(2,13,25,.02) 0%,rgba(2,13,25,.08) 39%,rgba(2,13,25,.62) 59%,rgba(2,13,25,.97) 76%,#061a2f 100%)}
}

@media(max-width:430px){
  .approved-home-hero{background-size:100% 720px}
}
/* ---- approved-exact-mockup.css ---- */
/* Exact photographic lighthouse homepage treatment approved from the mobile mockup. */
.approved-site-header-home{
  background:linear-gradient(180deg,rgba(2,15,29,.82) 0%,rgba(2,15,29,.46) 62%,rgba(2,15,29,0) 100%);
  box-shadow:none;
}

.approved-home-hero{
  min-height:970px;
  padding-top:98px;
  isolation:isolate;
  background:#031428;
}

.approved-home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(2,12,24,.05) 0%,rgba(2,12,24,.04) 39%,rgba(2,12,24,.36) 66%,rgba(2,12,24,.91) 100%),
    linear-gradient(90deg,rgba(1,10,20,.12) 0%,rgba(1,10,20,0) 42%,rgba(1,10,20,.18) 100%);
}

.approved-home-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:38%;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,20,38,0),rgba(3,20,38,.88) 70%,#031428 100%);
}

.approved-hero-photo{z-index:0}
.approved-hero-photo img{filter:saturate(1.03) contrast(1.035) brightness(.99)}

.approved-hero-inner{
  z-index:4;
  width:min(1320px,calc(100% - 64px));
  min-height:650px;
  justify-content:flex-start;
  align-items:flex-end;
}

.approved-hero-copy{
  width:min(600px,50%);
  padding:0 0 74px;
  text-shadow:0 3px 18px rgba(0,0,0,.35);
}

.approved-hero-kicker{
  font-size:.73rem;
  letter-spacing:.31em;
}

.approved-hero-copy h1{
  font-size:clamp(4rem,6.4vw,6.55rem);
  line-height:.91;
  margin:25px 0 25px;
}

.approved-hero-copy h1 em{font-style:italic}
.approved-hero-copy>p:not(.approved-hero-kicker){max-width:520px;font-size:1.1rem;line-height:1.62}
.approved-hero-actions{max-width:540px;display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:31px}
.approved-button{min-height:58px;border-radius:10px;text-transform:uppercase;letter-spacing:.02em}
.approved-button-outline{background:rgba(2,14,27,.34);backdrop-filter:blur(3px)}

/* A realistic light layer that enhances the photographed beam without replacing it. */
.approved-hero-beam{
  position:absolute;
  left:40.7%;
  top:25.2%;
  z-index:2;
  width:62%;
  height:18%;
  transform-origin:0 50%;
  clip-path:polygon(0 44%,100% 5%,100% 95%,0 56%);
  background:linear-gradient(90deg,rgba(255,224,151,.34) 0%,rgba(255,238,193,.22) 38%,rgba(255,249,226,.1) 72%,rgba(255,255,255,0) 100%);
  filter:blur(11px);
  mix-blend-mode:screen;
  opacity:.66;
  pointer-events:none;
  animation:approved-beam-breathe 13s ease-in-out infinite;
}

.approved-hero-lamp-glow{
  position:absolute;
  left:38.6%;
  top:25.9%;
  z-index:3;
  width:92px;
  height:92px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,249,220,.92) 0%,rgba(255,209,107,.48) 30%,rgba(255,196,69,.12) 62%,transparent 74%);
  filter:blur(3px);
  mix-blend-mode:screen;
  pointer-events:none;
  animation:approved-lamp-breathe 6.5s ease-in-out infinite;
}

@keyframes approved-beam-breathe{
  0%,100%{opacity:.52;transform:scaleX(.985) translateY(0)}
  50%{opacity:.76;transform:scaleX(1.025) translateY(-1.5%)}
}

@keyframes approved-lamp-breathe{
  0%,100%{opacity:.78;transform:translate(-50%,-50%) scale(.94)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
}

.approved-service-card{
  z-index:5;
  width:min(1180px,calc(100% - 64px));
  margin:0 auto -66px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  background:linear-gradient(120deg,rgba(4,25,47,.97),rgba(8,47,82,.97));
  border:1px solid rgba(197,219,240,.23);
  border-radius:17px;
  box-shadow:0 24px 58px rgba(1,12,24,.42);
}

.approved-service-card article{
  min-height:175px;
  padding:27px 30px;
  border-right:1px solid rgba(255,255,255,.15);
  border-bottom:0!important;
}

.approved-service-card article:last-child{border-right:0}
.approved-service-card strong{font-size:1.7rem}
.approved-service-card .approved-live-card strong{display:flex;align-items:center;gap:9px}
.approved-live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--approved-gold);box-shadow:0 0 0 5px rgba(224,173,63,.12)}

.approved-home-steps{
  margin-top:112px;
  grid-template-columns:repeat(6,minmax(0,1fr));
}

.approved-home-steps a{min-height:190px;text-align:left}

@media(max-width:1100px) and (min-width:701px){
  .approved-hero-inner{min-height:680px}
  .approved-hero-copy{width:min(610px,65%)}
  .approved-service-card{grid-template-columns:repeat(3,minmax(0,1fr))}
  .approved-service-card article{border-bottom:0!important}
  .approved-service-card article:nth-child(2){border-right:1px solid rgba(255,255,255,.15)}
}

@media(max-width:700px){
  .approved-site-header-home{background:linear-gradient(180deg,rgba(2,14,28,.86),rgba(2,14,28,.38) 68%,transparent)}
  .approved-home-hero{
    min-height:1168px;
    padding-top:86px;
    background-color:#031428;
    background-image:url('../images/approved-hero-mobile.svg?v=20260725c');
    background-repeat:no-repeat;
    background-position:center top;
    background-size:100% 100%;
  }
  .approved-home-hero::before{
    background:linear-gradient(180deg,rgba(2,12,24,.01) 0%,rgba(2,12,24,.04) 36%,rgba(2,12,24,.29) 58%,rgba(2,12,24,.75) 77%,rgba(3,20,38,.98) 100%);
  }
  .approved-home-hero::after{height:28%;background:linear-gradient(180deg,transparent,#031428 92%)}
  .approved-hero-photo{display:none!important}
  .approved-hero-inner{
    width:calc(100% - 38px);
    min-height:800px;
    align-items:flex-end;
    justify-content:flex-start;
  }
  .approved-hero-copy{width:100%;padding:0 0 24px;text-align:left}
  .approved-hero-kicker{font-size:.62rem;letter-spacing:.24em;gap:12px;white-space:nowrap}
  .approved-hero-kicker span{width:34px}
  .approved-hero-copy h1{font-size:clamp(3.55rem,15vw,4.45rem);line-height:.9;margin:18px 0 20px;letter-spacing:-.06em}
  .approved-hero-copy>p:not(.approved-hero-kicker){max-width:390px;font-size:1rem;line-height:1.55}
  .approved-hero-actions{grid-template-columns:1fr;max-width:none;gap:11px;margin-top:25px}
  .approved-button{min-height:61px;font-size:.82rem}

  .approved-hero-beam{
    left:28.2%;
    top:10.4%;
    width:82%;
    height:11.5%;
    clip-path:polygon(0 43%,100% 3%,100% 97%,0 57%);
    filter:blur(8px);
    opacity:.62;
  }
  .approved-hero-lamp-glow{left:27.9%;top:11.3%;width:68px;height:68px}

  .approved-service-card{
    width:calc(100% - 38px);
    margin:0 auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-radius:16px;
  }
  .approved-service-card article{
    min-width:0;
    min-height:205px;
    padding:21px 13px;
    display:block;
    border-right:1px solid rgba(255,255,255,.15)!important;
    border-bottom:0!important;
  }
  .approved-service-card article:last-child{border-right:0!important}
  .approved-service-icon{display:none}
  .approved-service-card span{font-size:.54rem;letter-spacing:.06em;line-height:1.35}
  .approved-service-card strong{font-size:clamp(1.03rem,4.1vw,1.38rem);line-height:1.08;margin:13px 0 9px}
  .approved-service-card p,.approved-service-card a{font-size:.66rem;line-height:1.45}
  .approved-service-card b{font-size:.66rem;line-height:1.35;display:block;margin-top:6px}
  .approved-live-dot{width:7px;height:7px;box-shadow:0 0 0 4px rgba(224,173,63,.12)}

  .approved-home-steps{
    width:100%;
    margin:0;
    grid-template-columns:repeat(6,minmax(0,1fr));
    border-radius:0;
    overflow:hidden;
  }
  .approved-home-steps a{
    min-width:0;
    min-height:151px;
    padding:22px 5px;
    border-right:1px solid rgba(10,41,72,.09)!important;
    border-bottom:0!important;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .approved-home-steps a:last-child{border-right:0!important}
  .approved-home-steps span{width:39px;height:39px}
  .approved-home-steps svg{width:20px;height:20px}
  .approved-home-steps strong{font-size:.56rem;line-height:1.4;margin:12px 0 0;letter-spacing:0}
  .approved-home-steps p,.approved-home-steps b{display:none}
  .approved-home-content{margin-top:0;padding-top:28px}
}

@media(max-width:430px){
  .approved-home-hero{min-height:1138px}
  .approved-hero-inner{min-height:785px}
  .approved-hero-copy h1{font-size:3.45rem}
  .approved-service-card{width:calc(100% - 28px)}
  .approved-service-card article{padding:20px 9px;min-height:198px}
  .approved-service-card strong{font-size:1rem}
  .approved-service-card p,.approved-service-card a,.approved-service-card b{font-size:.59rem}
  .approved-home-steps strong{font-size:.51rem}
}

@media(prefers-reduced-motion:reduce){
  .approved-hero-beam,.approved-hero-lamp-glow{animation:none!important}
  .approved-hero-beam{opacity:.62}
  .approved-hero-lamp-glow{opacity:.9}
}
/* ---- approved-mobile-polish.css ---- */
/* Final mobile polish for the approved photographic lighthouse homepage. */
@media(max-width:700px){
  .approved-site-header-home{
    background:linear-gradient(180deg,rgba(3,20,40,.76) 0%,rgba(3,20,40,.34) 72%,rgba(3,20,40,0) 100%);
    box-shadow:none;
    backdrop-filter:none;
  }

  .approved-header-inner{
    width:calc(100% - 32px);
    height:84px;
  }

  .approved-brand{gap:11px}
  .approved-brand img{width:38px;height:54px}
  .approved-brand strong{font-size:1.3rem}
  .approved-brand small{font-size:.56rem;margin-top:7px;letter-spacing:.27em}
  .approved-menu-toggle{width:50px;height:50px;padding:13px;background:rgba(4,22,41,.38)}

  .approved-home-hero{
    min-height:1054px;
    padding-top:84px;
    background-color:#031428;
    background-image:url('../images/approved-hero-mobile-sharp.svg?v=20260725e');
    background-repeat:no-repeat;
    background-position:center top;
    background-size:100% 100%;
  }

  .approved-home-hero::before{
    background:
      linear-gradient(180deg,rgba(2,12,24,.02) 0%,rgba(2,12,24,.02) 33%,rgba(2,12,24,.16) 48%,rgba(2,12,24,.68) 67%,rgba(3,20,38,.98) 88%,#031428 100%),
      linear-gradient(90deg,rgba(1,10,20,.16),transparent 46%,rgba(1,10,20,.12));
  }

  .approved-home-hero::after{
    height:35%;
    background:linear-gradient(180deg,transparent,rgba(3,20,38,.92) 64%,#031428 100%);
  }

  .approved-hero-photo{display:none!important}

  .approved-hero-inner{
    width:calc(100% - 38px);
    min-height:690px;
    align-items:flex-end;
  }

  .approved-hero-copy{
    width:100%;
    padding:0 0 18px;
    text-align:left;
  }

  .approved-hero-kicker{
    font-size:.57rem;
    letter-spacing:.22em;
    gap:11px;
  }

  .approved-hero-kicker span{width:34px}

  .approved-hero-copy h1{
    font-size:clamp(2.92rem,12.8vw,3.48rem);
    line-height:.92;
    letter-spacing:-.055em;
    margin:17px 0 18px;
  }

  .approved-hero-copy>p:not(.approved-hero-kicker){
    max-width:360px;
    font-size:.96rem;
    line-height:1.5;
  }

  .approved-hero-actions{
    gap:10px;
    margin-top:23px;
  }

  .approved-button{
    min-height:58px;
    font-size:.79rem;
  }

  /* The realistic beam is baked into the photo. Remove the previous geometric overlay. */
  .approved-hero-beam{display:none!important}

  .approved-hero-lamp-glow{
    left:31%;
    top:21.3%;
    width:60px;
    height:60px;
    opacity:.72;
    filter:blur(5px);
    animation:approved-lamp-breathe 8s ease-in-out infinite;
  }

  .approved-service-card{
    width:calc(100% - 30px);
    margin:0 auto max(18px,env(safe-area-inset-bottom));
    border-radius:15px;
  }

  .approved-service-card article{
    min-height:188px;
    padding:19px 11px;
  }

  .approved-service-card span{font-size:.51rem}
  .approved-service-card strong{font-size:clamp(.98rem,4vw,1.25rem);margin:11px 0 8px}
  .approved-service-card p,.approved-service-card a,.approved-service-card b{font-size:.61rem}

  .approved-home-steps a{
    min-height:142px;
    padding:20px 4px;
  }
}

@media(max-width:430px){
  .approved-home-hero{min-height:1028px}
  .approved-hero-inner{min-height:672px}
  .approved-hero-copy h1{font-size:3rem}
  .approved-service-card{width:calc(100% - 24px)}
  .approved-service-card article{min-height:182px;padding:18px 8px}
  .approved-home-steps strong{font-size:.5rem}
}

@media(prefers-reduced-motion:reduce){
  .approved-hero-lamp-glow{animation:none!important;opacity:.82}
}
/* ---- approved-hero-final-responsive.css ---- */
/* Static, photorealistic homepage hero.
   The source photograph is never animated, blurred, filtered, or transformed. */
.approved-home-hero{
  min-height:920px;
  padding-top:98px;
  background:#031428!important;
  background-image:none!important;
}

.approved-home-hero::before{
  z-index:1;
  background:
    linear-gradient(180deg,rgba(2,12,24,.02) 0%,rgba(2,12,24,.02) 44%,rgba(2,12,24,.24) 67%,rgba(3,20,38,.88) 100%),
    linear-gradient(90deg,rgba(2,12,24,.02) 0%,rgba(2,12,24,.02) 48%,rgba(2,12,24,.4) 72%,rgba(2,12,24,.8) 100%);
}

.approved-home-hero::after{
  z-index:1;
  height:32%;
  background:linear-gradient(180deg,transparent 0%,rgba(3,20,38,.68) 70%,#031428 100%);
}

.approved-hero-photo{
  display:block!important;
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  animation:none!important;
  transition:none!important;
}

.approved-hero-photo img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:50% 50%;
  filter:none!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
  image-rendering:auto;
}

.approved-hero-beam,
.approved-hero-lamp-glow{
  display:none!important;
}

.approved-hero-inner{
  z-index:4;
  width:min(1320px,calc(100% - 64px));
  min-height:640px;
  justify-content:flex-end;
  align-items:flex-end;
}

.approved-hero-copy{
  width:min(600px,47%);
  padding:0 0 72px;
  text-shadow:0 3px 20px rgba(0,0,0,.56);
}

@media(min-width:1600px){
  .approved-home-hero{min-height:960px}
  .approved-hero-photo img{object-position:50% 49%}
  .approved-hero-inner{min-height:670px}
}

@media(min-width:1200px) and (max-width:1599px){
  .approved-home-hero{min-height:920px}
  .approved-hero-photo img{object-position:50% 50%}
}

@media(min-width:901px) and (max-width:1199px){
  .approved-home-hero{min-height:900px}
  .approved-hero-photo img{object-position:48% 50%}
  .approved-hero-inner{width:calc(100% - 52px);min-height:625px}
  .approved-hero-copy{width:min(560px,52%);padding-bottom:58px}
}

@media(min-width:701px) and (max-width:900px){
  .approved-home-hero{min-height:900px;padding-top:94px}
  .approved-home-hero::before{
    background:
      linear-gradient(180deg,rgba(2,12,24,.02),rgba(2,12,24,.16) 55%,rgba(3,20,38,.9) 100%),
      linear-gradient(90deg,rgba(2,12,24,.02) 0%,rgba(2,12,24,.04) 42%,rgba(2,12,24,.7) 100%);
  }
  .approved-hero-photo img{object-position:47% 50%}
  .approved-hero-inner{width:calc(100% - 46px);min-height:640px}
  .approved-hero-copy{width:min(535px,66%);padding-bottom:52px}
  .approved-hero-copy h1{font-size:clamp(3.5rem,8.3vw,4.8rem)}
}

/* Phones display the complete landscape photograph as a crisp, static panel.
   The copy then continues on the navy background instead of cropping or blurring it. */
@media(max-width:700px){
  .approved-site-header-home{
    background:#061a2f;
    box-shadow:0 1px 0 rgba(255,255,255,.08);
    backdrop-filter:none;
  }

  .approved-home-hero{
    min-height:clamp(980px,118svh,1090px);
    padding-top:84px;
    background:#031428!important;
  }

  .approved-home-hero::before,
  .approved-home-hero::after{
    display:none!important;
  }

  .approved-hero-photo{
    top:84px;
    right:0;
    bottom:auto;
    left:0;
    width:100%;
    height:min(56.28vw,390px);
    background:#031428;
  }

  .approved-hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:50% 50%;
  }

  .approved-hero-inner{
    width:calc(100% - 38px);
    min-height:clamp(700px,84svh,775px);
    padding-top:calc(min(56.28vw,390px) + 34px);
    justify-content:flex-start;
    align-items:flex-start;
  }

  .approved-hero-copy{
    width:100%;
    padding:0 0 24px;
    text-align:left;
    text-shadow:none;
  }

  .approved-hero-copy h1{font-size:clamp(2.95rem,12.9vw,3.55rem);line-height:.92;margin:17px 0 18px}
  .approved-hero-copy>p:not(.approved-hero-kicker){max-width:390px;font-size:.96rem;line-height:1.52}
  .approved-hero-actions{grid-template-columns:1fr;max-width:none;gap:10px;margin-top:23px}
  .approved-button{min-height:58px;font-size:.79rem}

  .approved-service-card{
    width:calc(100% - 30px);
    margin:0 auto max(18px,env(safe-area-inset-bottom));
  }
}

@media(max-width:480px){
  .approved-home-hero{min-height:clamp(960px,118svh,1050px)}
  .approved-hero-inner{min-height:clamp(680px,83svh,740px)}
  .approved-hero-copy h1{font-size:clamp(2.78rem,13.4vw,3.2rem)}
  .approved-hero-copy>p:not(.approved-hero-kicker){font-size:.92rem}
  .approved-service-card{width:calc(100% - 24px)}
  .approved-service-card article{min-height:182px;padding:18px 8px}
}

@media(max-width:375px){
  .approved-home-hero{min-height:950px}
  .approved-hero-inner{width:calc(100% - 30px);min-height:665px}
  .approved-hero-kicker{font-size:.52rem;letter-spacing:.18em}
  .approved-hero-copy h1{font-size:2.65rem}
  .approved-button{min-height:54px;font-size:.73rem}
  .approved-service-card article{min-height:176px;padding:16px 7px}
}

@media(max-height:560px) and (orientation:landscape){
  .approved-home-hero{min-height:760px;padding-top:78px}
  .approved-home-hero::before{display:block!important}
  .approved-hero-photo{inset:0;height:auto;width:auto}
  .approved-hero-photo img{object-position:50% 50%}
  .approved-hero-inner{width:calc(100% - 42px);min-height:500px;padding-top:0;justify-content:flex-end;align-items:flex-end}
  .approved-hero-copy{width:min(550px,58%);padding-bottom:28px;text-shadow:0 3px 20px rgba(0,0,0,.56)}
  .approved-hero-copy h1{font-size:clamp(2.8rem,7vw,4rem);margin:13px 0}
  .approved-hero-copy>p:not(.approved-hero-kicker){font-size:.9rem;line-height:1.42}
  .approved-hero-actions{grid-template-columns:1fr 1fr;margin-top:16px}
  .approved-button{min-height:50px}
}

/* ---- lighthouse-asset-cleanup.css ---- */
.approved-lighthouse-asset{
  display:block;
  flex:0 0 auto;
  overflow:hidden;
  shape-rendering:geometricPrecision;
}

.approved-lighthouse-asset image{
  image-rendering:auto;
}

.approved-brand .approved-lighthouse-asset-header{
  width:44px;
  height:68px;
  filter:none;
  transform:none;
}

.approved-footer-brand{
  min-width:0;
}

.approved-footer-brand>div{
  min-width:0;
}

.approved-footer-brand .approved-lighthouse-asset-footer{
  width:58px;
  height:150px;
  filter:none;
  transform:scaleX(1.06);
  transform-origin:center top;
}

@media(max-width:700px){
  .approved-site-header{
    overflow:visible;
  }

  .approved-header-inner{
    overflow:hidden;
  }

  .approved-brand .approved-lighthouse-asset-header{
    width:40px;
    height:66px;
  }

  .approved-footer-brand .approved-lighthouse-asset-footer{
    width:52px;
    height:134px;
  }
}

@media(max-width:430px){
  .approved-brand .approved-lighthouse-asset-header{
    width:38px;
    height:63px;
  }

  .approved-footer-brand .approved-lighthouse-asset-footer{
    width:48px;
    height:124px;
  }
}

/* ---- community-care.css ---- */
.community-care-hero{background:radial-gradient(circle at 80% 15%,rgba(210,168,79,.22),transparent 32%),linear-gradient(135deg,#061a2f,#0b3153);color:#fff;padding:clamp(5.5rem,9vw,8.5rem) 1.5rem 4.5rem}.community-care-hero-inner{max-width:1120px;margin:0 auto}.community-care-eyebrow{margin:0 0 .7rem;color:#b8872f;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.community-care-hero .community-care-eyebrow{color:#f1c76f}.community-care-hero h1{margin:0;max-width:780px;font-size:clamp(2.8rem,7vw,5.7rem);line-height:.98;letter-spacing:-.055em}.community-care-lead{max-width:720px;margin:1.4rem 0 2.2rem;color:#dbe8f4;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.7}.community-care-event-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:920px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.16)}.community-care-event-facts span{display:flex;min-height:112px;flex-direction:column;justify-content:center;padding:1.25rem 1.4rem;background:rgba(6,26,47,.72);color:#c8d7e5;line-height:1.5}.community-care-event-facts strong{display:block;margin-bottom:.3rem;color:#fff;font-size:1.04rem}.community-care-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:clamp(2rem,6vw,5rem);max-width:1180px;margin:0 auto;padding:clamp(4rem,8vw,7rem) 1.5rem}.community-care-info{padding-top:1rem}.community-care-info h2,.community-care-form-heading h2{margin:.2rem 0 1rem;color:#071d33;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.04em}.community-care-info>p:not(.community-care-eyebrow),.community-care-form-heading p{color:#526579;line-height:1.75}.community-care-area-list{display:grid;gap:1rem;margin-top:2rem}.community-care-area-list article{display:grid;grid-template-columns:52px 1fr;gap:1rem;padding:1.2rem;border:1px solid #dfe7ee;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(6,26,47,.05)}.community-care-area-list article>span{display:grid;width:52px;height:52px;place-items:center;border-radius:14px;background:#f5ead1;font-size:1.45rem}.community-care-area-list h3{margin:.1rem 0 .3rem;color:#0a2845;font-size:1.02rem}.community-care-area-list p{margin:0;color:#617386;font-size:.93rem;line-height:1.55}.community-care-form-card{border:1px solid #dce6ee;border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(6,26,47,.12);overflow:hidden}.community-care-form-heading{padding:2rem 2rem 1.25rem;border-bottom:1px solid #e6edf3;background:linear-gradient(180deg,#f8fbfd,#fff)}.community-care-form-heading h2{font-size:clamp(2rem,3.3vw,2.75rem)}.community-care-form-heading p{margin:.5rem 0 0}.community-care-form{display:grid;gap:1.7rem;padding:2rem}.community-care-form fieldset{display:grid;gap:1rem;margin:0;padding:0 0 1.7rem;border:0;border-bottom:1px solid #e5ebf0}.community-care-form legend{margin-bottom:1rem;color:#0b2945;font-size:1.18rem;font-weight:800}.community-care-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.community-care-field-wide{grid-column:1/-1}.community-care-number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.community-care-field{display:flex;flex-direction:column;gap:.45rem}.community-care-field label,.community-care-form>label{color:#173650;font-size:.9rem;font-weight:700}.community-care-field input,.community-care-field select,.community-care-field textarea{width:100%;border:1px solid #cbd7e1;border-radius:11px;background:#fff;padding:.82rem .9rem;color:#102e49;font:inherit;transition:border-color .18s,box-shadow .18s}.community-care-field input:focus,.community-care-field select:focus,.community-care-field textarea:focus{outline:0;border-color:#1f5d8f;box-shadow:0 0 0 4px rgba(31,93,143,.12)}.community-care-field-help,.community-care-optional,.community-care-privacy{margin:0;color:#708294;font-size:.82rem;line-height:1.5}.community-care-optional{font-weight:400}.community-care-checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.community-care-checkbox{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border:1px solid #d8e2ea;border-radius:11px;background:#f9fbfc;color:#173650;font-size:.88rem;font-weight:600;line-height:1.4}.community-care-checkbox input,.community-care-acknowledgment input{width:1.05rem;height:1.05rem;margin-top:.1rem;accent-color:#174f7b}.community-care-acknowledgment{display:flex;align-items:flex-start;gap:.7rem;color:#42596d!important;font-weight:500!important;line-height:1.55}.community-care-error{margin:0;color:#b42318;font-size:.82rem;font-weight:650}.community-care-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.community-care-submit{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:0;border-radius:12px;background:#b8872f;padding:.85rem 1.4rem;color:#fff;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s,background .18s}.community-care-submit:hover{background:#9c6f21;transform:translateY(-1px)}.community-care-privacy{text-align:center}.community-care-confirmation{display:grid;min-height:70vh;place-items:center;padding:7rem 1.5rem;background:#f5f8fb}.community-care-confirmation-card{max-width:720px;padding:clamp(2rem,6vw,4rem);border:1px solid #dce6ee;border-radius:26px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(6,26,47,.11)}.community-care-confirmation-icon{display:grid;width:68px;height:68px;margin:0 auto 1.5rem;place-items:center;border-radius:50%;background:#e8f5ee;color:#18794e;font-size:2rem;font-weight:900}.community-care-confirmation h1{margin:.3rem 0 1rem;color:#071d33;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.08;letter-spacing:-.045em}.community-care-confirmation p:not(.community-care-eyebrow){color:#596d7f;line-height:1.75}.community-care-confirmation-actions{display:flex;justify-content:center;gap:.8rem;margin-top:2rem;flex-wrap:wrap}.community-care-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:1px solid #b9c8d5;border-radius:12px;padding:.85rem 1.4rem;color:#163a5a;font-weight:750;text-decoration:none}.community-care-admin-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.community-care-admin-breakdowns{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.5rem}.community-care-breakdown-list{display:grid;gap:.2rem}.community-care-breakdown-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.82rem 0;border-bottom:1px solid #e8eef3;color:#3f566b}.community-care-breakdown-list>div:last-child{border-bottom:0}.community-care-breakdown-list strong{color:#0c2d49;white-space:nowrap}.community-care-registration-card{padding:1.5rem}.community-care-record-count{color:#6a7d8e;font-size:.88rem;font-weight:700}.community-care-registration-list{display:grid;gap:.85rem}.community-care-registration-row{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);gap:1.5rem;padding:1.25rem;border:1px solid #e0e8ef;border-radius:15px;background:#fff}.community-care-registration-name{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.community-care-registration-name h3{margin:0;color:#0a2945;font-size:1.05rem}.community-care-registration-name span{border-radius:999px;background:#edf4fa;padding:.24rem .58rem;color:#22557d;font-size:.76rem;font-weight:800}.community-care-registration-primary p{display:flex;gap:.42rem;flex-wrap:wrap;margin:.55rem 0;color:#536a7e;font-size:.88rem}.community-care-registration-primary a{color:#1b5a89}.community-care-registration-primary small{color:#7a8b9b}.community-care-registration-details dl{display:grid;gap:.65rem;margin:0}.community-care-registration-details dl>div{display:grid;grid-template-columns:90px 1fr;gap:.8rem}.community-care-registration-details dt{color:#738697;font-size:.77rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.community-care-registration-details dd{margin:0;color:#304b62;font-size:.88rem;line-height:1.5}@media(max-width:900px){.community-care-event-facts,.community-care-layout,.community-care-admin-breakdowns,.community-care-registration-row{grid-template-columns:1fr}.community-care-layout{padding-top:3.5rem}.community-care-event-facts span{min-height:86px}.community-care-registration-details{padding-top:1rem;border-top:1px solid #e6edf2}}@media(max-width:620px){.community-care-hero{padding-top:5rem}.community-care-field-grid,.community-care-number-grid,.community-care-checkbox-grid{grid-template-columns:1fr}.community-care-form,.community-care-form-heading{padding:1.35rem}.community-care-form-card{border-radius:18px}.community-care-event-facts{border-radius:14px}.community-care-registration-details dl>div{grid-template-columns:1fr;gap:.15rem}.community-care-admin-actions{width:100%}.community-care-admin-actions a{flex:1}}
.community-care-hero-actions{display:flex;align-items:stretch;gap:.9rem;flex-wrap:wrap;margin:0 0 .9rem}.community-care-donate-cta{display:flex;min-width:min(100%,360px);flex-direction:column;justify-content:center;border:1px solid rgba(255,255,255,.26);border-radius:16px;background:linear-gradient(135deg,#f3cd73,#d5a63d);padding:1rem 1.35rem;color:#071d33;text-decoration:none;box-shadow:0 18px 42px rgba(0,0,0,.24);transition:transform .18s,box-shadow .18s,filter .18s}.community-care-donate-cta span{font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.community-care-donate-cta strong{margin-top:.18rem;font-size:1.18rem;line-height:1.25}.community-care-donate-cta:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(0,0,0,.3);filter:brightness(1.04)}.community-care-donate-cta:focus-visible,.community-care-hero-secondary:focus-visible{outline:3px solid #fff;outline-offset:3px}.community-care-hero-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:64px;border:1px solid rgba(255,255,255,.38);border-radius:16px;background:rgba(255,255,255,.07);padding:1rem 1.3rem;color:#fff;font-weight:800;text-decoration:none;transition:background .18s,transform .18s}.community-care-hero-secondary:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}.community-care-hero-giving-note{max-width:760px;margin:0 0 1.8rem;color:#cbd9e6;font-size:.94rem;line-height:1.6}@media(max-width:620px){.community-care-hero-actions{display:grid}.community-care-donate-cta,.community-care-hero-secondary{width:100%;min-width:0}.community-care-donate-cta strong{font-size:1.08rem}}

/* ---- community-care-volunteer.css ---- */
.community-care-volunteer-hero h1{max-width:980px;font-size:clamp(2.65rem,6.2vw,5.35rem)}.community-care-volunteer-callout{display:grid;gap:.75rem;margin-top:2rem;padding:1.5rem;border:1px solid #d9e4ec;border-radius:18px;background:linear-gradient(145deg,#f8fbfd,#fff);box-shadow:0 14px 38px rgba(6,26,47,.07)}.community-care-volunteer-callout .community-care-eyebrow{margin:0}.community-care-volunteer-callout h3{margin:0;color:#092946;font-size:1.35rem}.community-care-volunteer-callout p:not(.community-care-eyebrow){margin:0;color:#5d7184;line-height:1.65}.community-care-volunteer-callout .community-care-secondary{justify-self:start;background:#fff}.community-care-team-grid{align-items:stretch}.community-care-team-grid .community-care-checkbox{min-height:58px}.community-care-admin-actions .approved-staff-primary,.community-care-admin-actions .staff-outline-button{white-space:nowrap}@media(max-width:620px){.community-care-volunteer-hero h1{font-size:clamp(2.35rem,12vw,3.7rem)}.community-care-volunteer-callout{padding:1.2rem}.community-care-volunteer-callout .community-care-secondary{width:100%;text-align:center}.community-care-admin-actions .approved-staff-primary,.community-care-admin-actions .staff-outline-button{white-space:normal}}

/* ---- community-care-donate.css ---- */
.community-care-donate-hero{padding:clamp(4rem,9vw,7rem) 1.5rem;background:linear-gradient(135deg,#061a2f,#0d3b5f);color:#fff}.community-care-donate-inner{max-width:980px;margin:0 auto;text-align:center}.community-care-donate-inner h1{margin:.5rem auto 1rem;max-width:850px;font-size:clamp(2.3rem,6vw,4.8rem);line-height:1.04}.community-care-donate-inner>p{max-width:780px;margin:0 auto;color:#dce8f2;font-size:1.1rem;line-height:1.7}.community-care-donate-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin:2rem 0 1rem}.community-care-donate-primary,.community-care-donate-secondary{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.35rem;border-radius:999px;font-weight:800;text-decoration:none}.community-care-donate-primary{background:#d1aa35;color:#071d33;box-shadow:0 14px 35px rgba(0,0,0,.22)}.community-care-donate-primary.is-disabled{opacity:.68;cursor:not-allowed}.community-care-donate-secondary{border:1px solid rgba(255,255,255,.45);color:#fff}.community-care-donate-note{font-size:.88rem!important;color:#bfcddb!important}.community-care-donate-content{max-width:1120px;margin:0 auto;padding:clamp(3rem,7vw,6rem) 1.5rem}.community-care-donate-goal{text-align:center;margin-bottom:2.5rem}.community-care-donate-goal strong{display:block;color:#0b2d4b;font-size:clamp(3rem,8vw,5.5rem);line-height:1}.community-care-donate-goal span{color:#66798a}.community-care-impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.community-care-impact-grid article{padding:1.5rem;border:1px solid #dce5ec;border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(8,34,56,.07)}.community-care-impact-grid article>span{font-size:2rem}.community-care-impact-grid h2{margin:.75rem 0 .45rem;color:#0b2d4b;font-size:1.2rem}.community-care-impact-grid p{margin:0;color:#627487;line-height:1.6}.community-care-sponsor-panel{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem;padding:2rem;border-radius:24px;background:#eef5e4}.community-care-sponsor-panel h2{margin:.3rem 0;color:#0b2d4b;font-size:2rem}.community-care-sponsor-panel p{max-width:720px;color:#566b58;line-height:1.65}.community-care-sponsor-panel>a{white-space:nowrap;padding:.9rem 1.2rem;border-radius:999px;background:#173f20;color:#fff;font-weight:800;text-decoration:none}.community-care-donation-disclaimer{margin:2rem auto 0;max-width:850px;text-align:center;color:#6d7e8c;font-size:.9rem;line-height:1.6}@media(max-width:820px){.community-care-impact-grid{grid-template-columns:1fr 1fr}.community-care-sponsor-panel{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.community-care-impact-grid{grid-template-columns:1fr}.community-care-donate-actions>*{width:100%}}

/* ---- community-care-finance.css ---- */
.community-care-finance-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(480px,1.2fr);gap:1.25rem;align-items:start}.community-care-finance-form-card,.community-care-finance-records{padding:1.5rem}.community-care-finance-form{display:grid;gap:1rem}.community-care-donation-list{display:grid;gap:.85rem}.community-care-donation-row{display:flex;justify-content:space-between;gap:1.25rem;padding:1.15rem;border:1px solid #dfe7ee;border-radius:15px;background:#fff}.community-care-donation-main{min-width:0}.community-care-donation-main p{margin:.42rem 0;color:#536a7e;font-size:.88rem;line-height:1.5}.community-care-donation-main small{color:#7a8b9b}.community-care-donation-value{display:block;margin:.5rem 0;color:#0b6847;font-size:1.7rem;line-height:1}.community-care-donation-row form{align-self:flex-start}.community-care-finance-form-card .approved-card-heading,.community-care-finance-records .approved-card-heading{margin-bottom:1.15rem}@media(max-width:980px){.community-care-finance-layout{grid-template-columns:1fr}}@media(max-width:620px){.community-care-finance-form-card,.community-care-finance-records{padding:1.1rem}.community-care-donation-row{flex-direction:column}.community-care-donation-row form{width:100%}.community-care-donation-row form button{width:100%}}

/* ---- hero-viewport-optimization.css ---- */
/* Final viewport polish for the approved static homepage hero.
   This file loads last and is cache-busted per deployment. */

@media (max-width:700px){
  /* Keep the mobile masthead readable over announcements and the hero. */
  body.home .approved-site-header-home,
  body.home.has-site-announcements .approved-site-header-home,
  body.home .approved-site-header-home.is-scrolled{
    background:#061a2f!important;
    background-image:none!important;
    color:#fff!important;
    box-shadow:0 1px 0 rgba(255,255,255,.1)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  /* The announcement stack already reserves header space. Avoid adding the
     normal fixed-header offset a second time inside the hero. */
  body.home.has-site-announcements .approved-home-hero{
    padding-top:0!important;
    min-height:clamp(896px,calc(118svh - 84px),1006px);
  }

  body.home.has-site-announcements .approved-hero-photo{
    top:0!important;
  }

  body.home.has-site-announcements .approved-hero-inner{
    padding-top:calc(min(56.28vw,390px) + 34px)!important;
  }
}

/* Keep the complete desktop composition visible on shorter laptop screens. */
@media (min-width:901px) and (max-height:820px){
  .approved-home-hero{
    min-height:780px!important;
    padding-top:82px!important;
  }

  .approved-hero-inner{
    min-height:560px!important;
  }

  .approved-hero-copy{
    padding-bottom:38px!important;
  }

  .approved-hero-copy h1{
    font-size:clamp(3.35rem,5.6vw,5.35rem);
    margin-top:18px;
    margin-bottom:18px;
  }

  .approved-hero-copy>p:not(.approved-hero-kicker){
    line-height:1.48;
  }

  .approved-hero-actions{
    margin-top:22px;
  }
}

@media (min-width:901px) and (max-height:700px){
  .approved-home-hero{
    min-height:700px!important;
    padding-top:76px!important;
  }

  .approved-hero-inner{
    min-height:500px!important;
  }

  .approved-hero-copy{
    padding-bottom:24px!important;
  }

  .approved-hero-copy h1{
    font-size:clamp(3rem,5vw,4.65rem);
  }
}

/* ---- site-operations-polish.css ---- */
/* Final shared polish for calendar, Staff Center, hero dock, and public headers. */

/* Keep every non-home public masthead dark enough for the white/gold brand. */
.approved-site-header:not(.approved-site-header-home),
.approved-site-header:not(.approved-site-header-home).is-scrolled{
  background:#061a2f!important;
  background-image:linear-gradient(135deg,#061a2f,#0a2948)!important;
  color:#fff!important;
  box-shadow:0 8px 24px rgba(3,18,34,.22)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.approved-site-header:not(.approved-site-header-home) .approved-brand,
.approved-site-header:not(.approved-site-header-home) .approved-nav-link,
.approved-site-header:not(.approved-site-header-home) .approved-header-action{
  color:#fff!important;
}
.approved-site-header:not(.approved-site-header-home) .approved-menu-toggle{
  background:#0a2948!important;
  border-color:rgba(255,255,255,.42)!important;
}

/* The service dock intentionally overlaps the bottom of the desktop hero. */
@media(min-width:701px){
  .approved-home-hero{overflow:visible!important}
  .approved-home-hero .approved-hero-photo{overflow:hidden!important}
  .approved-service-card{z-index:8!important}
}

/* Calendar flyers: show the entire approved design instead of center-cropping it. */
.calendar-page .event-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));
  align-items:start;
}
.calendar-page .event-flyer-link{
  display:grid;
  place-items:center;
  aspect-ratio:auto;
  min-height:240px;
  padding:12px;
  background:linear-gradient(145deg,#f5f2eb,#e8edf3);
}
.calendar-page .event-flyer{
  display:block;
  width:100%;
  height:auto;
  max-height:760px;
  object-fit:contain;
  object-position:center;
  transform:none!important;
  box-shadow:0 8px 24px rgba(6,26,47,.1);
}
.calendar-page .event-card:hover .event-flyer{transform:none!important}
.calendar-page .event-card{scroll-margin-top:120px}
.event-share-tools{
  margin-top:18px;
  padding-top:15px;
  border-top:1px solid #e0e6ee;
}
.event-share-tools>p{
  margin:0 0 9px;
  color:#223f60;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.event-share-tools>button{
  display:flex;
  width:100%;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid #17375f;
  border-radius:10px;
  background:#17375f;
  color:#fff;
  font:inherit;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
}
.event-share-tools>button:hover{border-color:#d7a63c;background:#102f53}
.event-share-tools>button:disabled{cursor:wait;opacity:.72}
.event-share-tools>small{
  display:block;
  margin-top:8px;
  color:#69788d;
  font-size:.68rem;
  line-height:1.45;
}
.event-share-status{display:block;min-height:1.2em;margin-top:8px;color:#65758a;font-size:.7rem}

/* Every authenticated staff page starts with the shared WMCOG Staff Center chrome. */
body:has(.approved-staff-chrome) .staff-dashboard-shell{
  display:flex!important;
  max-width:none!important;
  min-height:72vh;
  flex-direction:column!important;
  margin:0!important;
  padding:0 0 60px!important;
  background:#f6f7fa!important;
}
body:has(.approved-staff-chrome) .staff-dashboard-shell>.approved-staff-chrome{
  order:-20!important;
  width:min(1120px,calc(100% - 36px))!important;
  margin:22px auto 0!important;
}
body:has(.approved-staff-chrome) .staff-dashboard-shell>.staff-dashboard-header{
  order:-10!important;
  width:min(1080px,calc(100% - 40px))!important;
  margin:28px auto 0!important;
  align-items:flex-end;
}
body:has(.approved-staff-chrome) .staff-dashboard-shell>.staff-dashboard-header+*{
  margin-top:24px;
}

/* Use the same public lighthouse in the Staff Center masthead. */
.approved-staff-brand .staff-public-lighthouse{
  width:44px;
  height:68px;
  overflow:hidden;
  flex:0 0 auto;
}

/* Heritage Youth Camp-inspired large management tiles, promoted above metrics. */
.staff-tools-first{margin-bottom:34px}
.staff-tools-first .approved-section-heading{margin-bottom:15px}
.staff-tools-first .approved-section-heading p:not(.approved-staff-eyebrow){color:#718096;font-size:.78rem}
.staff-tool-tiles{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
  gap:15px;
}
.staff-tool-tiles>a{
  display:flex;
  min-height:178px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  padding:22px;
  border:1px solid #dce3eb;
  border-radius:16px;
  background:#fff;
  color:#17375f;
  box-shadow:0 12px 30px rgba(6,26,47,.065);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.staff-tool-tiles>a:hover{
  border-color:#d7a63c;
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(6,26,47,.13);
}
.staff-tool-tiles i{
  display:grid;
  width:45px;
  height:45px;
  place-items:center;
  border-radius:12px;
  background:#faf1df;
  color:#986b18;
  font-size:1.15rem;
  font-style:normal;
}
.staff-tool-tiles h3{margin:14px 0 7px;color:#102d4f;font-size:1.06rem}
.staff-tool-tiles p{margin:0;color:#6d7c91;font-size:.76rem;line-height:1.55}
.staff-tool-tiles>a>span{margin-top:16px;color:#956817;font-size:.7rem;font-weight:900}

/* Secure administrator role-preview controls. */
.staff-role-preview-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 20px;
  border:1px solid #e1b955;
  border-top:0;
  background:#fff4ce;
  color:#5e4310;
}
.staff-role-preview-banner div{display:grid;gap:3px}
.staff-role-preview-banner strong{font-size:.82rem}
.staff-role-preview-banner span{font-size:.68rem;line-height:1.4}
.staff-role-preview-banner form{margin:0}
.staff-role-preview-banner button,.assume-role-button{
  min-height:36px;
  padding:0 11px!important;
  border:1px solid #a47417!important;
  border-radius:8px;
  background:#fff!important;
  color:#76500c!important;
  font-size:.64rem!important;
  font-weight:900!important;
  white-space:nowrap;
  cursor:pointer;
}
.staff-role-preview-help{
  margin:0 0 15px;
  padding:12px 14px;
  border-left:4px solid #d7a63c;
  border-radius:7px;
  background:#fff8e8;
  color:#65758a;
  font-size:.72rem;
  line-height:1.5;
}
.staff-role-preview-help strong{color:#17375f}
.approved-staff-list article{grid-template-columns:auto minmax(170px,1fr) auto auto minmax(190px,auto)!important}

/* Communications heading belongs inside the shared Staff Center chrome. */
.communications-staff-shell{background:#f6f7fa!important}
.communications-page-heading{margin-bottom:24px!important}
.communications-metric-grid{margin-bottom:20px}
.communications-staff-shell .comm-staff-grid,
.communications-staff-shell .comm-events,
.communications-staff-shell .staff-panel{margin-top:18px}

@media(max-width:700px){
  .calendar-page .event-flyer-link{min-height:0;padding:8px}
  .staff-tool-tiles{grid-template-columns:1fr}
  .staff-tool-tiles>a{min-height:155px}
  .staff-role-preview-banner{align-items:stretch;flex-direction:column}
  .staff-role-preview-banner button{width:100%}
  .approved-staff-list article{grid-template-columns:auto minmax(0,1fr)!important}
  .approved-staff-row-actions{grid-column:1/-1!important;flex-wrap:wrap}
  body:has(.approved-staff-chrome) .staff-dashboard-shell>.approved-staff-chrome{
    width:calc(100% - 28px)!important;
    margin-top:14px!important;
  }
  body:has(.approved-staff-chrome) .staff-dashboard-shell>.staff-dashboard-header{
    width:calc(100% - 40px)!important;
    align-items:stretch;
    flex-direction:column;
    margin-top:24px!important;
  }
  body:has(.approved-staff-chrome) .staff-dashboard-shell>.staff-dashboard-header>a,
  body:has(.approved-staff-chrome) .staff-dashboard-shell>.staff-dashboard-header>.staff-role-pill{
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce){
  .staff-tool-tiles>a{transition:none}
}

/* ---- seo-foundation.css ---- */
.seo-event-page{
  background:linear-gradient(180deg,#f7f4ec 0%,#eef3f7 100%);
  padding:clamp(42px,7vw,92px) 24px;
}

.seo-event-shell{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(28px,5vw,72px);
  align-items:center;
  width:min(1180px,100%);
  margin:0 auto;
}

.seo-event-flyer{
  margin:0;
  padding:clamp(12px,2vw,22px);
  border:1px solid rgba(6,26,47,.12);
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 70px rgba(6,26,47,.14);
}

.seo-event-flyer img{
  display:block;
  width:100%;
  max-height:820px;
  object-fit:contain;
  border-radius:18px;
}

.seo-event-card{
  padding:clamp(30px,5vw,56px);
  border:1px solid rgba(6,26,47,.12);
  border-radius:30px;
  background:#fff;
  box-shadow:0 24px 70px rgba(6,26,47,.12);
}

.seo-event-eyebrow{
  margin:0 0 14px;
  color:#b98218;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.seo-event-card h1{
  margin:0;
  color:#0b2d52;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2.5rem,5vw,5rem);
  line-height:.98;
}

.seo-event-when,
.seo-event-location{
  margin:22px 0 0;
  color:#24476b;
  font-size:clamp(1.05rem,2vw,1.28rem);
  font-weight:700;
}

.seo-event-location{margin-top:8px;font-weight:500}

.seo-event-description{
  margin-top:26px;
  color:#4e6074;
  font-size:1.08rem;
  line-height:1.75;
}

.seo-event-actions{
  display:grid;
  gap:12px;
  margin-top:32px;
}

.seo-event-actions a,
.seo-event-actions button{
  display:flex;
  min-height:54px;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  font:inherit;
  font-weight:800;
  text-align:center;
  text-decoration:none;
}

.seo-event-share{
  border:1px solid #0b2d52;
  background:#0b2d52;
  color:#fff;
  cursor:pointer;
}

.seo-event-calendar-link{
  border:1px solid rgba(11,45,82,.28);
  color:#0b2d52;
  background:#fff;
}

.seo-event-card .event-share-status{
  min-height:1.4em;
  margin:14px 0 0;
  color:#52677f;
  font-size:.92rem;
}

@media(max-width:820px){
  .seo-event-page{padding:28px 18px 54px}
  .seo-event-shell{grid-template-columns:1fr;gap:22px}
  .seo-event-card{padding:28px 22px;border-radius:24px}
  .seo-event-flyer{padding:10px;border-radius:22px}
  .seo-event-flyer img{border-radius:14px}
}

/* ---- privacy.css ---- */
.privacy-hero{position:relative;overflow:hidden;padding:clamp(5rem,10vw,8rem) 1.5rem 4.5rem;background:radial-gradient(circle at 82% 18%,rgba(222,178,76,.24),transparent 28%),linear-gradient(135deg,#061a2f 0%,#0a3152 58%,#0f466b 100%);color:#fff}.privacy-hero::after{content:"";position:absolute;inset:auto -8% -48% auto;width:520px;height:520px;border:1px solid rgba(255,255,255,.1);border-radius:50%}.privacy-hero-inner{position:relative;z-index:1;width:min(1060px,100%);margin:0 auto}.privacy-eyebrow{margin:0 0 .8rem;color:#e4ba58;font-size:.78rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.privacy-hero h1{max-width:760px;margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(3.1rem,8vw,6.4rem);font-weight:600;line-height:.96;letter-spacing:-.055em}.privacy-hero-inner>p:not(.privacy-eyebrow){max-width:760px;margin:1.45rem 0 0;color:#d7e5f0;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.75}.privacy-effective{display:inline-flex;align-items:center;gap:.8rem;margin-top:2rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);padding:.65rem 1rem;color:#d9e7f2;font-size:.86rem}.privacy-effective strong{color:#fff}.privacy-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:min(1120px,calc(100% - 3rem));margin:-2rem auto 0;overflow:hidden;border:1px solid rgba(6,26,47,.12);border-radius:24px;background:#dce5ec;box-shadow:0 22px 55px rgba(6,26,47,.12);position:relative;z-index:2}.privacy-overview article{min-height:220px;background:#fff;padding:1.7rem}.privacy-overview article>span{display:inline-grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#f6ebd2;color:#9a6a13;font-size:.78rem;font-weight:900}.privacy-overview h2{margin:1.1rem 0 .55rem;color:#0a2945;font-size:1.12rem}.privacy-overview p{margin:0;color:#617487;line-height:1.65}.privacy-layout{display:grid;grid-template-columns:250px minmax(0,760px);gap:clamp(2rem,6vw,5rem);align-items:start;width:min(1100px,calc(100% - 3rem));margin:0 auto;padding:clamp(4rem,8vw,7rem) 0}.privacy-toc{position:sticky;top:2rem;display:grid;gap:.2rem;border-left:1px solid #dbe4eb;padding-left:1.2rem}.privacy-toc p{margin:0 0 .65rem;color:#0b2d4b;font-size:.78rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.privacy-toc a{border-radius:9px;padding:.55rem .7rem;color:#607487;font-size:.87rem;text-decoration:none;transition:background .18s,color .18s}.privacy-toc a:hover,.privacy-toc a:focus-visible{background:#edf3f7;color:#0d4d7b;outline:0}.privacy-content{min-width:0}.privacy-section{scroll-margin-top:2rem;padding:0 0 2.6rem;margin:0 0 2.6rem;border-bottom:1px solid #dfe7ed}.privacy-section-number{margin:0 0 .45rem;color:#b17d1b;font-size:.76rem;font-weight:900;letter-spacing:.14em}.privacy-section h2,.privacy-contact-card h2{margin:0 0 1.1rem;color:#082844;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:600;line-height:1.08;letter-spacing:-.035em}.privacy-section h3{margin:1.6rem 0 .55rem;color:#143b5b;font-size:1.05rem}.privacy-section p,.privacy-section li,.privacy-contact-card>p:not(.privacy-eyebrow){color:#536a7d;font-size:1rem;line-height:1.78}.privacy-section p{margin:.75rem 0}.privacy-section ul{display:grid;gap:.55rem;margin:1rem 0 0;padding-left:1.25rem}.privacy-section li::marker{color:#b17d1b}.privacy-note{margin-top:1.5rem;border:1px solid #d6e1e9;border-left:4px solid #bd8b2d;border-radius:16px;background:#f8fafb;padding:1.25rem 1.35rem}.privacy-note>strong{color:#0b2d4b}.privacy-note p{margin:.45rem 0}.privacy-inline-links{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.8rem}.privacy-inline-links a{color:#125c8d;font-size:.9rem;font-weight:750;text-decoration:none}.privacy-inline-links a:hover{text-decoration:underline}.privacy-contact-card{border-radius:26px;background:linear-gradient(135deg,#071d33,#0b3c60);padding:clamp(1.7rem,5vw,3rem);color:#fff;box-shadow:0 24px 60px rgba(6,26,47,.18)}.privacy-contact-card h2{color:#fff}.privacy-contact-card>p:not(.privacy-eyebrow){max-width:680px;color:#d2e0eb}.privacy-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.5rem}.privacy-contact-grid>a,.privacy-contact-grid>div{display:flex;min-height:112px;flex-direction:column;justify-content:center;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.06);padding:1rem 1.1rem;color:#fff;text-decoration:none}.privacy-contact-grid>div:last-child{grid-column:1/-1}.privacy-contact-grid span{color:#b9ccda;font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.privacy-contact-grid strong{margin-top:.35rem;font-size:.96rem;line-height:1.5}.privacy-contact-grid>a:hover{background:rgba(255,255,255,.11)}@media(max-width:860px){.privacy-overview{grid-template-columns:1fr;margin-top:-1.4rem}.privacy-overview article{min-height:0}.privacy-layout{grid-template-columns:1fr}.privacy-toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #dbe4eb;border-radius:16px;padding:1rem}.privacy-toc p{grid-column:1/-1}.privacy-toc a{background:#f7f9fb}.privacy-contact-grid{grid-template-columns:1fr}.privacy-contact-grid>div:last-child{grid-column:auto}}@media(max-width:560px){.privacy-hero{padding-top:4.6rem}.privacy-overview,.privacy-layout{width:min(100% - 2rem,1100px)}.privacy-overview{border-radius:18px}.privacy-toc{grid-template-columns:1fr}.privacy-contact-card{border-radius:20px}.privacy-inline-links{display:grid}}

/* ---- stay-connected.css ---- */
/* Stay Connected public communications signup */
.connect-page {
  position: relative;
  overflow: hidden;
  padding: clamp(3rem, 8vw, 6.5rem) 0 clamp(4rem, 9vw, 7rem);
  color: #0b2945;
  background:
    radial-gradient(circle at 12% 10%, rgba(216, 177, 63, 0.18), transparent 30rem),
    radial-gradient(circle at 88% 28%, rgba(62, 130, 176, 0.16), transparent 34rem),
    linear-gradient(145deg, #f8f4e9 0%, #edf5fb 48%, #f9f5e9 100%);
}

.connect-page::before,
.connect-page::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
  filter: blur(2px);
}

.connect-page::before {
  width: 28rem;
  height: 28rem;
  top: -13rem;
  right: -9rem;
  background: rgba(255, 255, 255, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.7);
}

.connect-page::after {
  width: 22rem;
  height: 22rem;
  bottom: -12rem;
  left: -8rem;
  background: rgba(216, 177, 63, 0.12);
}

.connect-shell {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100% - 2rem));
  margin: 0 auto;
}

.connect-hero {
  max-width: 760px;
  margin: 0 auto clamp(2rem, 5vw, 3.4rem);
  text-align: center;
}

.connect-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.85rem;
  padding: 0.48rem 0.85rem;
  border: 1px solid rgba(216, 177, 63, 0.42);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  box-shadow: 0 8px 30px rgba(6, 26, 47, 0.07);
  color: #9d7717;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.connect-eyebrow::before {
  content: "";
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: #d8b13f;
  box-shadow: 0 0 0 5px rgba(216, 177, 63, 0.13);
}

.connect-hero h1 {
  margin: 0;
  color: #061a2f;
  font-size: clamp(2.25rem, 5.5vw, 4.6rem);
  line-height: 0.98;
  letter-spacing: -0.045em;
  font-weight: 800;
}

.connect-hero p {
  max-width: 640px;
  margin: 1.15rem auto 0;
  color: #49647d;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  line-height: 1.7;
}

.connect-form {
  display: grid;
  gap: 1.15rem;
}

.connect-glass {
  border: 1px solid rgba(255, 255, 255, 0.86);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.68);
  box-shadow:
    0 28px 80px rgba(6, 26, 47, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(22px) saturate(130%);
  -webkit-backdrop-filter: blur(22px) saturate(130%);
}

.connect-form-card {
  padding: clamp(1.15rem, 3.5vw, 2.25rem);
}

.connect-section-head {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.connect-step {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  color: #061a2f;
  background: linear-gradient(145deg, #efd36e, #cda125);
  box-shadow: 0 8px 20px rgba(190, 144, 25, 0.22);
  font-size: 0.82rem;
  font-weight: 800;
}

.connect-section-head h2 {
  margin: 0;
  color: #08243f;
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.connect-section-head p {
  margin: 0.2rem 0 0;
  color: #6a7f91;
  font-size: 0.92rem;
  line-height: 1.5;
}

.connect-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.connect-field {
  display: grid;
  gap: 0.45rem;
  color: #173b5a;
  font-size: 0.86rem;
  font-weight: 750;
}

.connect-field:first-child {
  grid-column: 1 / -1;
}

.connect-field .optional {
  color: #7890a4;
  font-weight: 550;
}

.connect-page .form-input {
  width: 100%;
  min-height: 54px;
  padding: 0.82rem 1rem;
  border: 1px solid rgba(17, 58, 91, 0.15);
  border-radius: 16px;
  outline: none;
  background: rgba(255, 255, 255, 0.83);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
  color: #0b2945;
  font: inherit;
  font-weight: 500;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.connect-page .form-input::placeholder {
  color: #9aa9b6;
}

.connect-page .form-input:focus {
  border-color: rgba(198, 151, 31, 0.72);
  box-shadow: 0 0 0 4px rgba(216, 177, 63, 0.14), 0 10px 25px rgba(6, 26, 47, 0.08);
  transform: translateY(-1px);
}

.connect-topic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.connect-choice,
.connect-consent {
  position: relative;
  display: block;
  cursor: pointer;
}

.connect-choice input,
.connect-consent input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.connect-choice-ui {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-height: 64px;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(11, 41, 69, 0.11);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 9px 26px rgba(6, 26, 47, 0.055);
  color: #173b5a;
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.35;
  transition: transform 170ms ease, border-color 170ms ease, background 170ms ease, box-shadow 170ms ease;
}

.connect-choice-ui::before {
  content: "";
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  border: 2px solid #a8b6c2;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.9);
  transition: all 160ms ease;
}

.connect-choice:hover .connect-choice-ui {
  transform: translateY(-2px);
  border-color: rgba(198, 151, 31, 0.35);
  box-shadow: 0 14px 30px rgba(6, 26, 47, 0.08);
}

.connect-choice input:checked + .connect-choice-ui {
  border-color: rgba(198, 151, 31, 0.62);
  background: linear-gradient(145deg, rgba(255, 249, 222, 0.9), rgba(255, 255, 255, 0.75));
  box-shadow: 0 12px 32px rgba(181, 135, 20, 0.13);
}

.connect-choice input:checked + .connect-choice-ui::before {
  border-color: #c79c2c;
  background: #d8b13f;
  box-shadow: inset 0 0 0 3px #fff7da;
}

.connect-choice input:focus-visible + .connect-choice-ui,
.connect-consent input:focus-visible + .connect-consent-ui {
  outline: 3px solid rgba(53, 120, 166, 0.28);
  outline-offset: 2px;
}

.connect-consent-list {
  display: grid;
  gap: 0.75rem;
}

.connect-consent-ui {
  display: grid;
  grid-template-columns: 2.4rem 1fr;
  align-items: start;
  gap: 0.8rem;
  padding: 1rem;
  border: 1px solid rgba(11, 41, 69, 0.1);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.55);
  transition: border-color 170ms ease, background 170ms ease, transform 170ms ease;
}

.connect-consent-icon {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 12px;
  background: rgba(7, 43, 75, 0.07);
  color: #0c416d;
  font-size: 1.1rem;
}

.connect-consent-copy {
  display: grid;
  gap: 0.22rem;
  color: #244762;
  font-size: 0.86rem;
  line-height: 1.48;
}

.connect-consent-copy strong {
  color: #0b2945;
  font-size: 0.95rem;
}

.connect-consent-copy::before {
  content: "";
  position: absolute;
}

.connect-consent input:checked + .connect-consent-ui {
  border-color: rgba(198, 151, 31, 0.55);
  background: rgba(255, 248, 220, 0.7);
  transform: translateY(-1px);
}

.connect-consent input:checked + .connect-consent-ui .connect-consent-icon {
  background: #d8b13f;
  color: #061a2f;
}

.connect-action-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-top: 0.15rem;
  padding: clamp(1.1rem, 3vw, 1.55rem);
}

.connect-action-copy {
  color: #617789;
  font-size: 0.82rem;
  line-height: 1.55;
}

.connect-action-copy strong {
  display: block;
  margin-bottom: 0.15rem;
  color: #173b5a;
  font-size: 0.9rem;
}

.connect-page .connect-submit {
  flex: 0 0 auto;
  min-width: 190px;
  min-height: 54px;
  padding: 0.85rem 1.35rem;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #e3be49, #bd8f19);
  box-shadow: 0 13px 30px rgba(174, 128, 18, 0.25);
  color: #071d33;
  font-weight: 850;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: transform 170ms ease, box-shadow 170ms ease, filter 170ms ease;
}

.connect-page .connect-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 17px 34px rgba(174, 128, 18, 0.3);
  filter: saturate(1.08);
}

.connect-page .connect-submit:active {
  transform: translateY(0);
}

.connect-page .form-error {
  margin: 0.25rem 0 0;
  padding: 0.7rem 0.85rem;
  border-left: 3px solid #bd3f3f;
  border-radius: 9px;
  background: rgba(189, 63, 63, 0.08);
  color: #8f2929;
  font-size: 0.82rem;
}

.connect-privacy {
  margin: 1rem auto 0;
  max-width: 680px;
  text-align: center;
  color: #6f8394;
  font-size: 0.78rem;
  line-height: 1.55;
}

@media (max-width: 720px) {
  .connect-page {
    padding-top: 2.25rem;
  }

  .connect-shell {
    width: min(100% - 1.15rem, 1120px);
  }

  .connect-hero {
    margin-bottom: 1.55rem;
    padding: 0 0.5rem;
  }

  .connect-hero h1 {
    font-size: clamp(2.15rem, 11vw, 3.15rem);
  }

  .connect-hero p {
    margin-top: 0.9rem;
    font-size: 0.98rem;
    line-height: 1.62;
  }

  .connect-glass {
    border-radius: 22px;
  }

  .connect-form-card {
    padding: 1rem;
  }

  .connect-section-head {
    gap: 0.7rem;
    margin-bottom: 1rem;
  }

  .connect-fields,
  .connect-topic-grid {
    grid-template-columns: 1fr;
  }

  .connect-field:first-child {
    grid-column: auto;
  }

  .connect-page .form-input {
    min-height: 50px;
    border-radius: 14px;
  }

  .connect-choice-ui {
    min-height: 56px;
    padding: 0.78rem 0.85rem;
    border-radius: 15px;
  }

  .connect-consent-ui {
    padding: 0.85rem;
    border-radius: 15px;
  }

  .connect-action-card {
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
  }

  .connect-page .connect-submit {
    width: 100%;
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .connect-page *,
  .connect-page *::before,
  .connect-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* ---- stay-connected-hero-fix.css ---- */
/* Stay Connected final mobile polish.
   On phones, use the same photograph treatment as the homepage hero: show the
   landscape image as a clean panel, then continue the copy on the navy field.
   !important values intentionally beat both the older inline sizing fallback and
   the page-local taxonomy stylesheet, which is loaded later in the document. */
.connect-select-all {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1rem;
  padding: .9rem 1rem;
  border: 1px solid #e2e5e7;
  border-radius: 15px;
  background: #f8fafb;
}

.connect-select-all > div {
  display: grid;
  gap: .18rem;
}

.connect-select-all strong {
  color: #0a2139;
  font-size: .88rem;
}

.connect-select-all span {
  color: #6f8192;
  font-size: .74rem;
  line-height: 1.4;
}

.connect-select-all button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: .65rem 1rem;
  border: 1px solid #d3a631;
  border-radius: 999px;
  background: #fff7dc;
  color: #72520d;
  font: inherit;
  font-size: .78rem;
  font-weight: 800;
  cursor: pointer;
}

.connect-select-all button:hover,
.connect-select-all button:focus-visible {
  background: #f8e9ae;
  outline: none;
  box-shadow: 0 0 0 3px rgba(225,173,45,.18);
}

/* Neither contact field is individually required. The paired validation message
   appears only when the visitor tries to continue with both fields empty. */
.connect-info-fields .connect-approved-field strong span {
  display: none !important;
}

@media (max-width: 700px) {
  .connect-approved-hero {
    position: relative !important;
    display: block !important;
    min-height: 0 !important;
    padding-top: min(56.28vw, 390px) !important;
    overflow: hidden !important;
    background: #031428 !important;
    border-bottom: 1px solid rgba(224,171,43,.42) !important;
  }

  .connect-approved-hero-photo {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: min(56.28vw, 390px) !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
    transform: none !important;
    filter: none !important;
  }

  .connect-approved-hero-shade,
  .connect-approved-hero::after {
    display: none !important;
  }

  .connect-approved-hero-inner {
    position: relative !important;
    z-index: 1 !important;
    display: block !important;
    width: calc(100% - 38px) !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 34px 0 28px !important;
    background: #031428 !important;
  }

  .connect-approved-hero-copy {
    width: 100% !important;
    max-width: none !important;
    text-align: left !important;
    text-shadow: none !important;
  }

  .connect-approved-kicker {
    margin-bottom: .8rem !important;
    font-size: .64rem !important;
    letter-spacing: .18em !important;
  }

  .connect-approved-kicker span {
    width: 32px !important;
  }

  .connect-approved-hero h1 {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(2.95rem, 12.9vw, 3.55rem) !important;
    line-height: .92 !important;
  }

  .connect-approved-hero-copy > p:last-child {
    max-width: 390px !important;
    margin-top: 1.1rem !important;
    font-size: .96rem !important;
    line-height: 1.52 !important;
  }

  .connect-approved-benefits {
    margin: 28px 0 0 !important;
    padding: .35rem .9rem !important;
    border: 1px solid rgba(138,174,205,.28) !important;
    border-radius: 22px !important;
    background: rgba(7,31,53,.78) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,.18) !important;
    backdrop-filter: blur(10px) saturate(112%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(112%) !important;
  }

  .connect-approved-benefits article {
    grid-template-columns: 36px 1fr !important;
    gap: .75rem !important;
    padding: .85rem 0 !important;
  }

  .connect-benefit-icon {
    width: 34px !important;
    height: 34px !important;
  }

  .connect-approved-benefits strong {
    font-size: .88rem !important;
  }

  .connect-approved-benefits p {
    font-size: .76rem !important;
    line-height: 1.4 !important;
  }

  .connect-select-all {
    align-items: flex-start;
    padding: .8rem;
  }

  .connect-select-all > div {
    padding-top: .1rem;
  }

  .connect-select-all button {
    min-height: 40px;
    padding: .58rem .82rem;
    font-size: .72rem;
  }
}

@media (max-width: 480px) {
  .connect-approved-hero-inner {
    width: calc(100% - 30px) !important;
    padding-top: 30px !important;
  }

  .connect-approved-hero h1 {
    font-size: clamp(2.78rem, 13.4vw, 3.2rem) !important;
  }

  .connect-approved-hero-copy > p:last-child {
    font-size: .92rem !important;
  }
}

@media (max-width: 390px) {
  .connect-approved-kicker {
    font-size: .56rem !important;
  }

  .connect-approved-hero h1 {
    font-size: 2.65rem !important;
  }

  .connect-select-all {
    flex-direction: column;
  }

  .connect-select-all button {
    width: 100%;
  }
}

