:root { --corral-navy: #012334; --corral-red: #cf2939; --corral-gutter: clamp(24px, 5vw, 96px); }
.fc-corral { position: relative; width: 100%; max-width: 1920px; margin-inline: auto; background: var(--corral-bg, #f4f1eb); color: var(--corral-navy); box-sizing: border-box; }
.fc-corral img { display: block; max-width: 100%; }
.fc-corral__content, .fc-corral__heading { position: relative; z-index: 1; }
.fc-corral h1, .fc-corral h2 { margin: 0 0 18px; line-height: .94; font-weight: 650; }
.fc-corral p { max-width: 620px; margin: 0 0 24px; }
.fc-corral--hero { min-height: clamp(520px, 37.5vw, 720px); overflow: hidden; color: #fff; background: #012334; }
.fc-corral--hero > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.fc-corral--hero .fc-corral__overlay { position: absolute; inset: 0; display: flex; align-items: center; padding: var(--corral-gutter); background: linear-gradient(90deg, #012334db, #01233440 60%, transparent); }
.fc-corral--hero h1 { max-width: 760px; font-size: clamp(52px, 7vw, 132px); }
.fc-corral--cta { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 52px var(--corral-gutter); color: #fff; background: var(--corral-bg, var(--corral-red)); }
.fc-corral--cta h2 { font-size: clamp(30px, 4vw, 68px); }
.fc-corral-button { display: inline-flex; align-items: center; gap: 20px; min-height: 48px; padding: 12px 20px; border: 1px solid currentColor; color: inherit; text-decoration: none; transition: transform .2s ease, background .2s ease; }
.fc-corral-button:hover { transform: translateY(-2px); background: #ffffff1a; color: inherit; }
.fc-corral--columns, .fc-corral--programs, .fc-corral--contact { padding: 80px var(--corral-gutter); }
.fc-corral__columns, .fc-corral__program-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.fc-corral--image-text { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.fc-corral--image-text .fc-corral__media img { width: 100%; height: 100%; object-fit: cover; }
.fc-corral--image-text .fc-corral__content { display: flex; flex-direction: column; justify-content: center; padding: var(--corral-gutter); }
.fc-corral--video { min-height: 500px; display: grid; place-items: center; overflow: hidden; color: #fff; background: #012334; }
.fc-corral--video > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.fc-corral--video .fc-corral__content { text-align: center; padding: 80px 24px; }
.fc-corral--contact { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; }
.fc-corral--fullwidth-image { margin: 0; overflow: hidden; }
.fc-corral--fullwidth-image img { width: 100%; height: auto; }
.fc-corral-image-link { display: block; }
.fc-corral-editor-preview { min-height: 180px; display: grid; align-content: center; gap: 10px; padding: 40px; background: #f4f1eb; border: 1px dashed #9da6aa; }
.fc-corral-editor-preview img { max-height: 180px; width: 100%; object-fit: cover; margin-bottom: 12px; }
.fc-corral-editor-preview--fullwidth { padding: 0; }
.fc-corral-editor-preview--fullwidth img { max-height: none; height: auto; object-fit: contain; margin: 0; }
.fc-corral-media-button { margin: -4px 0 16px; }
.fc-corrales-page { width: 100%; max-width: 1920px; margin-inline: auto; min-height: 55vh; }
.fc-corrales-document { margin: 0; }
.fc-corrales-page-title, .fc-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.fc-corrales-content { width: 100%; }
.fc-corrales-content > .fc-corral--fullwidth-image { width: 100%; max-width: 1920px; margin-inline: auto; }
.fc-corral-canvas-page { background: #f4f1eb; }
.fc-corral-canvas, .fc-corral-canvas-document { width: 100%; max-width: 1920px; margin: 0 auto; }
.fc-corral-canvas-home {
    position: fixed;
    top: 40px;
    right: 24px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #fff;
    border-radius: 999px;
    background: rgba(1, 35, 52, .5);
    color: #fff;
    font: 600 14px/1.1 "Google Sans Flex", sans-serif;
    text-decoration: none;
    opacity: .5;
    transition: background-color .2s ease, color .2s ease, opacity .2s ease, transform .2s ease;
}
.fc-corral-canvas-home:hover,
.fc-corral-canvas-home:focus-visible {
    background: #012334;
    color: #fff;
    opacity: 1;
    transform: translateY(-1px);
}
@media (max-width: 640px) {
    .fc-corral-canvas-home { top: 30px; right: 14px; min-height: 38px; padding: 0 14px; font-size: 13px; }
}
@media (max-width: 720px) {
  .fc-corral--cta, .fc-corral--contact { display: block; }
  .fc-corral--cta .fc-corral-button { margin-top: 18px; }
  .fc-corral__columns, .fc-corral__program-grid, .fc-corral--image-text { grid-template-columns: 1fr; }
  .fc-corral--hero { min-height: 540px; }
  .fc-corral--hero > img { object-fit: contain; height: auto; min-height: 100%; }
}
