/* Shared by the public renderer, Studio canvas and block examples. */
.cca-composition{padding:28px clamp(16px,3vw,48px);margin:20px auto;max-width:1400px}.cca-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.cca-columns-wide-left{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.cca-columns-wide-right{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.cca-columns-three{grid-template-columns:repeat(3,minmax(0,1fr))}.cca-columns>div{min-width:0}.cca-columns .section-pad,.cca-columns .container-cca,.cca-columns .cca-composition{padding:20px 0;width:100%;max-width:100%;margin:0}.cca-columns .flight-live-grid,.cca-columns .cca-card-grid{grid-template-columns:1fr}.cca-columns img{max-width:100%}.cca-columns h2{font-size:clamp(24px,3vw,40px)}
.cca-tone-plain{background:white}.cca-tone-soft{background:#eef3f7}.cca-tone-navy{background:#102137;color:white}.cca-tone-navy h2,.cca-tone-navy h3,.cca-tone-navy p,.cca-tone-navy a{color:inherit}.cca-accordion details{border:1px solid #ccd7df;border-radius:8px;background:white;margin:12px 0;color:#102137}.cca-accordion summary{padding:18px 22px;cursor:pointer;font-weight:700}.cca-accordion details[open] summary{border-bottom:1px solid #e0e7ed}.cca-accordion details p{padding:18px 22px;margin:0;white-space:pre-line}.cca-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px}.cca-content-card{background:white;border:1px solid #d4dfe5;border-radius:10px;overflow:hidden;color:#102137}.cca-content-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 20%;display:block}.cca-content-card>div{padding:24px}.cca-content-card h3{font-size:28px}.cca-content-card a{font-weight:700}.cca-callout{padding:32px;margin:24px auto;border-left:4px solid #df203b;border-radius:6px;max-width:1280px}.cca-callout h2{font-size:32px}.cca-callout p{white-space:pre-line}.cca-facts dl{display:flex;gap:32px;flex-wrap:wrap}.cca-facts dl>div{flex:1;min-width:140px;border-top:3px solid #df203b;padding:20px 0}.cca-facts dt{font:bold 44px/1.2 system-ui;color:#102137}.cca-facts dd{margin:12px 0}.cca-data-table{overflow:auto;border:1px solid #cbd5df;border-radius:8px}.cca-data-table table{width:100%;border-collapse:collapse;min-width:420px}.cca-data-table th{background:#102137;color:white;text-align:left}.cca-data-table th,.cca-data-table td{padding:14px 18px;border-bottom:1px solid #dce4ea;vertical-align:top}.cca-data-table tbody tr:nth-child(even){background:#f2f6f8}.cca-divider{padding:8px 24px}.cca-divider.cca-space-medium{padding-block:24px}.cca-divider.cca-space-large{padding-block:48px}.cca-divider hr{border:0;border-top:1px solid #cbd5df;margin:0}.cca-video{width:100%;aspect-ratio:16/9;border:0}.cca-form-embed{width:100%;height:800px;border:1px solid #d3dde5;border-radius:8px}.cca-placeholder{padding:32px;background:#eef3f7;border:1px dashed #8195a7}.flight-buttons.cca-align-center{justify-content:center}.flight-buttons.cca-align-right{justify-content:flex-end}.flight-buttons.cca-variant-outline .button{background:transparent;color:#102137;border:2px solid #102137}.flight-buttons.cca-variant-text .button{background:transparent;color:#102137;border:0;border-bottom:1px solid #102137}.flight-buttons{gap:12px;flex-wrap:wrap}.flight-richtext .prose{overflow-wrap:anywhere}.flight-richtext h2:empty{display:none}.flight-richtext .prose ul{list-style:disc;padding-left:1.6em}.flight-richtext .prose ol{list-style:decimal;padding-left:1.6em}.flight-richtext .prose a{text-decoration:underline}.flight-richtext .prose p{margin-block:0 1em}
@media(max-width:700px){.cca-columns,.cca-columns-wide-left,.cca-columns-wide-right,.cca-columns-three{grid-template-columns:1fr}.cca-composition{padding:20px 16px}.cca-callout{padding:22px;margin:16px}.cca-card-grid{grid-template-columns:1fr}.cca-form-embed{height:700px}}

.studio-hidden-block{opacity:.65;outline:2px dashed #8195a7;outline-offset:-2px}.studio-hidden-label{background:#102137;color:#fff;padding:8px 16px;font:600 13px system-ui}.cca-page-theme-white{background:white}.cca-page-theme-navy{background:#102137;color:white}.cca-page-theme-navy :is(h2,h3,h4,p,a){color:inherit}.cca-page-theme-navy .cca-content-card,.cca-page-theme-navy .cca-accordion details{color:#102137}

/* Shared page frame. Text alignment remains independent of frame alignment. */
.flight-design.cca-layout-standard{max-width:1280px}.flight-design.cca-layout-reading{max-width:860px}.flight-design.cca-layout-wide{max-width:1600px}.flight-design.cca-layout-full{max-width:none;width:100%}.flight-design[class*="cca-layout-"]:not(.cca-layout-original){width:100%;padding:0 clamp(16px,3vw,32px)}.flight-design.cca-position-center{margin-inline:auto}.flight-design.cca-position-left{margin-left:0;margin-right:auto}.flight-design.cca-position-right{margin-left:auto;margin-right:0}.flight-design[class*="cca-layout-"]:not(.cca-layout-original)>.section-pad{padding:28px 0;margin-block:0;width:100%;max-width:100%}.flight-design[class*="cca-layout-"]:not(.cca-layout-original) .flight-photo img{display:block;margin-inline:auto;max-width:100%;height:auto}.flight-design[class*="cca-layout-"]:not(.cca-layout-original) .flight-richtext .prose{max-width:none}.flight-design.cca-text-center>.flight-text,.flight-design.cca-text-center>.flight-richtext,.flight-design.cca-text-center>.cca-document{text-align:center}.flight-design.cca-text-right>.flight-text,.flight-design.cca-text-right>.flight-richtext,.flight-design.cca-text-right>.cca-document{text-align:right}.flight-design.cca-text-justify>.flight-text,.flight-design.cca-text-justify>.flight-richtext,.flight-design.cca-text-justify>.cca-document{text-align:justify}

/* Original content pages use the same centered frame during migration. */
.page-cms-body{width:100%;max-width:1280px!important;margin-inline:auto!important}.page-cms-photo{margin:24px auto!important;text-align:center}.page-cms-photo img{display:block;margin-inline:auto;max-width:100%;height:auto;max-height:480px;object-fit:contain}.page-cms-html{margin-block:24px}.flight-design:not(.cca-layout-original)>.flight-legacy{padding:28px 0;max-width:100%;margin-inline:auto}.flight-design.cca-text-center>.flight-legacy{text-align:center}.flight-design.cca-text-right>.flight-legacy{text-align:right}.flight-design.cca-text-justify>.flight-legacy{text-align:justify}

/* Converted school introductions retain the published photo/text relationship. */
.cca-composition:has(>.cca-columns-editorial){max-width:100%;border:1px solid #e1e6eb;border-radius:14px;padding:clamp(20px,3vw,40px);margin:24px auto}
.cca-columns-editorial{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.35rem;align-items:start;font-size:16px;line-height:1.85}
.cca-columns-editorial .flight-photo img{width:100%;height:auto;max-height:480px;object-fit:contain;border-radius:8px}
.cca-columns-editorial .flight-richtext h2:empty{display:none}.cca-columns-editorial .prose{max-width:none}
@media(max-width:859px){.cca-columns-editorial{grid-template-columns:1fr}.cca-columns-editorial>div:first-child{order:2}.cca-columns-editorial>div:last-child{order:1}}

/* Public content and section navigation share one measured outer frame. */
:root{--cca-content-max:1280px;--cca-content-gutter:24px;--cca-shell:min(var(--cca-content-max),calc(100% - 2 * var(--cca-content-gutter)))}
.public-v2 main .container-cca,.public-v2 footer .container-cca{width:var(--cca-shell);max-width:var(--cca-content-max)}
body.public-v2 .flight-page-title{padding-inline:max(var(--cca-content-gutter),calc((100% - var(--cca-content-max))/2))}
.flight-design.cca-layout-standard{width:var(--cca-shell)!important;max-width:var(--cca-content-max);padding-inline:0!important}
.flight-design.cca-layout-standard>.cca-composition,.flight-design.cca-layout-standard>.flight-legacy{width:100%;max-width:100%;margin-inline:0}
.flight-design.cca-layout-standard>.flight-richtext,.flight-design.cca-layout-standard>.flight-legacy{background:var(--cca-surface);border:1px solid #e1e6eb;border-radius:14px;padding:clamp(20px,3vw,40px)!important;margin-block:24px}
.flight-design.cca-layout-standard>.flight-richtext .prose{width:100%;max-width:none}
.public-v2 .card-cca,.public-v2 .page-cms-body{border-color:#e1e6eb;border-radius:4px;background:var(--cca-surface)}
.flight-richtext .prose table,.flight-legacy table{display:block;width:100%;max-width:100%;overflow:auto;border-collapse:collapse;margin:20px 0;font-size:15px;line-height:1.6}
.flight-richtext .prose :is(th,td),.flight-legacy :is(th,td){padding:12px 16px;border:1px solid #d7e0e8;text-align:left;vertical-align:top}
.flight-richtext .prose th,.flight-legacy th{background:#edf2f6;color:#102137;font-weight:700}
.flight-richtext .prose tbody tr:nth-child(even),.flight-legacy tbody tr:nth-child(even){background:#f7f9fb}
/* Imported documents use content typography, never oversized marketing headings. */
.flight-legacy h1,.flight-richtext .prose h1{font-size:clamp(28px,3vw,36px);line-height:1.2;margin:0 0 24px}
.flight-legacy h2,.flight-richtext .prose h2{font-size:clamp(24px,2.5vw,32px);line-height:1.25;margin:28px 0 16px}
.flight-legacy h3,.flight-richtext .prose h3{font-size:clamp(21px,2vw,26px);line-height:1.3;margin:24px 0 12px}
.flight-legacy p{margin:0 0 18px;line-height:1.75}
.flight-legacy img{max-width:100%;height:auto;margin-block:8px 20px;border-radius:6px}
.flight-legacy :is(ul,ol){margin-block:12px 20px}
@media(max-width:600px){:root{--cca-content-gutter:16px}.flight-design.cca-layout-standard>.cca-composition{padding:20px}}

/* Shared editorial surfaces: document and rich-text blocks have identical chrome. */
.flight-design .flight-richtext .prose{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;margin:0}
.cca-columns-editorial>div:first-child{background:#f4f6f8;border:1px solid #dbe2e8;border-radius:12px;padding:clamp(18px,2.5vw,30px)}
.cca-columns-editorial>div:first-child>.flight-legacy,.cca-columns-editorial>div:first-child>.flight-richtext{padding:0;width:100%;margin:0}
.cca-composition{border-radius:14px}
.cca-columns-editorial :is(h2,h3):first-child{margin-top:0}
.flight-design .flight-gallery{margin-block:32px!important}
.flight-gallery .flight-live-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.flight-gallery figure{margin:0;background:white;border:1px solid #dbe2e8;border-radius:14px;overflow:hidden}
.flight-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.flight-gallery figcaption{padding:16px 20px;font-size:14px;color:#526576}
.flight-design.cca-layout-original{width:100%;max-width:none;margin:0}
.flight-design .flight-richtext>h2:not(:empty){font-size:clamp(26px,3vw,38px);line-height:1.2;margin:0 0 20px}

.public-v2 .cca-custom-background{border-radius:18px;overflow:hidden;color:#102035}.public-v2 .cca-custom-background>section,.public-v2 .cca-custom-background>div,.public-v2 .cca-custom-background>figure{background:transparent}.cca-document details{border:1px solid #d8e0e8;border-radius:12px;padding:20px;margin:12px 0}.cca-document summary{font-weight:700;cursor:pointer}

.cca-photo-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cca-photo-layout figure{margin:0;min-width:0}.cca-photo-layout img{width:100%;height:260px;object-fit:cover;border-radius:14px}.cca-photo-masonry{display:block;columns:3}.cca-photo-masonry figure{break-inside:avoid;margin-bottom:20px}.cca-photo-masonry img{height:auto}.cca-photo-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.cca-photo-strip figure{flex:0 0 75%;scroll-snap-align:start}.flight-gallery details{border:1px solid #d8e0e8;padding:20px;border-radius:14px;margin:12px 0}.flight-gallery summary{cursor:pointer;font-weight:700;margin-bottom:15px}.cca-photo-viewer{width:min(1100px,96vw);max-height:95vh;border:0;border-radius:16px;background:#102035;color:white;padding:16px}.cca-photo-viewer::backdrop{background:#000c}.cca-photo-viewer img{display:block;width:100%;height:70vh;object-fit:contain}.cca-photo-viewer nav{display:flex;justify-content:space-between;gap:12px}.cca-photo-viewer button{padding:12px;background:white;color:#102035;border:0;border-radius:6px}.cca-photo-viewer p{text-align:center;color:white}@media(max-width:700px){.cca-photo-layout{grid-template-columns:1fr}.cca-photo-masonry{columns:1}.cca-photo-viewer img{height:60vh}}

.flight-design .flight-photo.cca-corners-square img{border-radius:0}.flight-design .flight-photo.cca-corners-rounded img{border-radius:8px}.flight-design .flight-photo.cca-corners-soft img{border-radius:20px}.flight-design .flight-photo.cca-shadow-soft img{box-shadow:0 6px 20px #10203526}.flight-design .flight-photo.cca-shadow-strong img{box-shadow:0 12px 32px #10203545}.flight-design .flight-photo.cca-shadow-none img{box-shadow:none}

.flight-design .portrait .hero-image-pair{position:absolute;inset:0;transform-origin:center center}

.flight-design .flight-hero .hero-art .portrait .hero-image-pair :is(img,canvas){object-fit:var(--hero-image-fit,cover)!important}
/* Hero geometry is shared by Studio and public pages. Never widen the image
   while keeping a fixed height: that changes the source crop at large viewports. */
.flight-design .flight-hero{width:100%;max-width:none;margin-inline:auto}
.flight-design .flight-hero .hero-art{width:100%;height:auto;min-height:0;aspect-ratio:196/205;align-self:center}
@media(max-width:600px){.flight-design .flight-hero .hero-art{height:auto;min-height:0;aspect-ratio:196/205}}
/* Staff may paste complete application URLs; keep them inside phone layouts. */
.flight-legacy a,.flight-richtext .prose a{overflow-wrap:anywhere}

/* Term groups: the board's existing content, with a shared Studio presentation. */
.cca-term-groups{margin:28px 0;padding:clamp(22px,3vw,42px);background:#edf1f5;border:1px solid #d7e0e8;border-radius:12px;color:#102137;font-family:'DM Sans',sans-serif}
.cca-term-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:26px}
.cca-term-heading h2{font:700 clamp(25px,2.4vw,34px)/1.2 'DM Sans',sans-serif;letter-spacing:-.035em;margin:0;color:#102137}
.cca-term-groups .cca-term-eyebrow{font:700 10px/1.5 'DM Sans',sans-serif;letter-spacing:.16em;color:#b51e38;margin:0 0 9px;display:flex;align-items:center;gap:10px}
.cca-term-eyebrow:before{content:'';width:22px;height:2px;background:#d7193f}
.cca-term-groups .cca-term-intro{font-size:15px;line-height:1.65;color:#536579;max-width:640px;margin:12px 0 0}
.cca-term-count{flex-shrink:0;border:1px solid #cbd6e1;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:600;color:#52667b}
.cca-term-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:18px}
.cca-term-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #d5dfe7;border-top:3px solid #d7193f;border-radius:7px;padding:24px;min-width:0;box-shadow:0 4px 14px #10213704}
.cca-term-card .cca-term-label{font:600 10px/1.5 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:#617388;margin:0 0 8px}
.cca-term-card h3{font:700 clamp(25px,2.4vw,32px)/1.2 'DM Sans',sans-serif;letter-spacing:-.04em;color:#102137;margin:0 0 21px;font-variant-numeric:tabular-nums}
.cca-term-card ul{list-style:none;margin:0 0 20px;padding:0;flex:1}
.cca-term-card li{display:flex;align-items:baseline;gap:10px;border-top:1px solid #ecf0f3;padding:12px 0;font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.cca-term-mark{display:inline-block;flex:none;width:5px;height:5px;border-radius:50%;background:#b7c5d1;position:relative;top:-2px}
.cca-term-card .cca-term-members{font-size:11px;letter-spacing:.035em;color:#617388;margin:0;padding-top:12px;border-top:1px solid #e5ebf0}
@media(max-width:600px){.cca-term-heading{align-items:flex-start;flex-direction:column;gap:13px}.cca-term-grid{grid-template-columns:1fr}.cca-term-card{padding:20px}.cca-term-card ul{margin-bottom:8px}}

.person-bio-link{display:inline-flex;gap:10px;color:#102137;font-weight:700;text-decoration:none;border-bottom:2px solid #d7193f;padding:6px 0}.person-bio-edit{font-size:12px;color:#52687c}.cca-related-pages{padding-top:40px;padding-bottom:45px}.cca-related-pages>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.cca-related-pages>div>a{display:flex;justify-content:space-between;gap:20px;padding:22px;background:#edf1f5;border:1px solid #d7e0e8;border-radius:8px;color:#102137;text-decoration:none;font-weight:700}.cca-related-pages>div>a:hover{border-color:#d7193f}.cca-dev-banner{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;background:#102137;color:white;padding:10px 18px;font:13px/1.5 sans-serif}.cca-dev-banner a{color:white;text-decoration:underline}
