@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap'); :root { color-scheme: light; --bg: #eef5fb; --bg-accent: #dcecff; --panel: rgba(255, 255, 255, 0.82); --panel-strong: #ffffff; --text: #102233; --muted: #516475; --brand: #0b4f7a; --brand-2: #1d76b8; --brand-soft: rgba(11, 79, 122, 0.12); --line: rgba(16, 34, 51, 0.12); --critical: #a11f3a; --warning: #bb6800; --info: #1974b6; --shadow: 0 18px 42px rgba(16, 34, 51, 0.1); --radius: 1.1rem; --radius-sm: 0.8rem; --content: 1120px; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-family: 'Manrope', system-ui, sans-serif; background: radial-gradient(circle at top left, rgba(29, 118, 184, 0.18), transparent 34%), radial-gradient(circle at right 18%, rgba(11, 79, 122, 0.12), transparent 28%), linear-gradient(180deg, #f8fbff 0%, var(--bg) 44%, #eef6fd 100%), var(--bg); color: var(--text); line-height: 1.55; } a { color: inherit; text-decoration-thickness: 0.08em; text-underline-offset: 0.16em; } a:hover { color: var(--brand); } img { max-width: 100%; display: block; } .container { width: min(calc(100% - 2rem), var(--content)); margin-inline: auto; } .topbar, .navshell, .site-footer { backdrop-filter: blur(18px); } .topbar { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--line); background: rgba(248, 251, 255, 0.88); } .topbar-inner, .nav-inner, .footer-grid { display: flex; justify-content: space-between; gap: 1rem; } .topbar-inner { align-items: center; padding: 0.85rem 0; } .navshell { position: relative; z-index: 30; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, 0.84); } .nav-inner { align-items: center; padding: 1rem 0; flex-wrap: wrap; } .brand { font-family: 'Fraunces', Georgia, serif; font-size: 1.25rem; font-weight: 700; letter-spacing: 0.02em; text-decoration: none; display: flex; align-items: center; height: auto; } .brand img { max-height: 2.5rem; width: auto; display: block; } .brand-mobile { display: none; } .nav-links { display: flex; flex-wrap: wrap; gap: 0.9rem 1.2rem; color: var(--muted); font-size: 0.98rem; } .nav-links a { text-decoration: none; } .nav-item { position: relative; padding-bottom: 0.5rem; } .nav-dropdown-menu { position: absolute; top: calc(100% + 0.5rem); left: 50%; transform: translateX(-50%); min-width: 11rem; display: grid; gap: 0.2rem; padding: 0.45rem; border: 1px solid var(--line); border-radius: 0.8rem; background: rgba(255, 255, 255, 0.97); box-shadow: var(--shadow); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.18s ease; z-index: 24; margin-top: -0.5rem; } .nav-dropdown-menu a { padding: 0.45rem 0.6rem; border-radius: 0.6rem; color: var(--text); } .nav-dropdown-menu a:hover { background: var(--brand-soft); } .nav-dropdown:hover .nav-dropdown-menu, .nav-dropdown:focus-within .nav-dropdown-menu { opacity: 1; visibility: visible; pointer-events: auto; } .nav-links a:hover, .mobile-nav-panel a:hover { color: var(--brand); } .mobile-nav { display: none; position: relative; margin-left: auto; } .mobile-nav > summary { list-style: none; display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; min-height: 3rem; min-width: 5.5rem; padding: 0 0.85rem; border: 1px solid var(--line); border-radius: 0.85rem; background: var(--brand); color: #ffffff; font-weight: 800; font-size: 0.96rem; line-height: 1; cursor: pointer; box-shadow: 0 12px 28px rgba(11, 79, 122, 0.22); text-decoration: none; } .mobile-nav > summary span:not(.mobile-nav-icon) { display: block; line-height: 1; } .mobile-nav > summary:hover, .mobile-nav > summary:focus-visible { background: #083c5f; } .mobile-nav > summary:focus-visible { outline: 3px solid rgba(246, 181, 56, 0.72); outline-offset: 3px; } .mobile-nav > summary::-webkit-details-marker { display: none; } .mobile-nav-icon { position: relative; display: block; width: 1.2rem; height: 0.9rem; flex: 0 0 auto; border-block: 0.18rem solid currentColor; } .mobile-nav-icon::before, .mobile-nav-icon::after { content: ''; position: absolute; left: 0; width: 100%; height: 0.18rem; border-radius: 999px; background: currentColor; } .mobile-nav-icon::before { top: 50%; transform: translateY(-50%); } .mobile-nav-icon::after { display: none; } .mobile-nav[open] .mobile-nav-icon { width: 1rem; height: 1rem; border-block: 0; } .mobile-nav[open] .mobile-nav-icon::before, .mobile-nav[open] .mobile-nav-icon::after { display: block; top: 50%; } .mobile-nav[open] .mobile-nav-icon::before { transform: translateY(-50%) rotate(45deg); } .mobile-nav[open] .mobile-nav-icon::after { transform: translateY(-50%) rotate(-45deg); } .mobile-nav-panel { position: absolute; top: calc(100% + 0.65rem); right: 0; width: min(18rem, calc(100vw - 2rem)); display: grid; gap: 0.35rem; padding: 0.8rem; border: 1px solid var(--line); border-radius: 1rem; background: rgba(255, 255, 255, 0.96); box-shadow: var(--shadow); z-index: 22; } .mobile-nav-panel a { display: block; padding: 0.7rem 0.8rem; border-radius: 0.75rem; text-decoration: none; color: var(--text); font-weight: 700; } .mobile-subnav { border-radius: 0.75rem; } .mobile-subnav > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; padding: 0.7rem 0.8rem; border-radius: 0.75rem; font-weight: 700; color: var(--text); cursor: pointer; } .mobile-subnav > summary:hover { background: rgba(11, 79, 122, 0.08); } .mobile-subnav > summary::-webkit-details-marker { display: none; } .mobile-subnav > summary::after { content: '+'; color: var(--brand-2); font-weight: 800; } .mobile-subnav[open] > summary::after { content: '-'; } .mobile-subnav-panel { display: grid; gap: 0.2rem; margin: 0 0.2rem 0.35rem; padding: 0.35rem; border: 1px solid var(--line); border-radius: 0.7rem; background: rgba(255, 255, 255, 0.7); } main { padding-block: 1.5rem 4rem; } section { padding-block: 1rem; } .hero { padding-block: 1rem 2rem; } .hero-stack { display: grid; gap: 1rem; } .hero-panel, .card, .surface, .notice { background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(237, 245, 253, 0.94)); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); } .hero-panel { padding: 1.6rem; } .hero-logo { display: block; width: min(12rem, 42vw); height: auto; margin-bottom: 1rem; } .hero-title { margin: 0; font-family: 'Manrope', system-ui, sans-serif; font-weight: 800; font-size: clamp(2.2rem, 5vw, 4.6rem); line-height: 0.98; } .hero-copy { color: var(--muted); font-size: 1.05rem; } .cta-row { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.3rem; } .button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.8rem; padding: 0.75rem 1rem; border-radius: 999px; text-decoration: none; font-weight: 700; border: 1px solid transparent; } .button.primary { background: var(--brand); color: white; box-shadow: 0 12px 24px rgba(11, 79, 122, 0.2); } .button.secondary { background: rgba(255, 255, 255, 0.72); border-color: rgba(11, 79, 122, 0.18); } .stats-grid, .panel-grid, .cards-grid { display: grid; gap: 1rem; } .story-flow { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr); gap: 1.25rem; align-items: center; margin-top: 0.5rem; } .story-copy { display: grid; gap: 0.85rem; padding: 0.5rem 0; } .story-copy p:last-child { margin-bottom: 0; } .story-image { margin: 0; overflow: hidden; border: 0; border-radius: 0; box-shadow: none; background: transparent; } .story-image img { width: 100%; display: block; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; box-shadow: none; } .story-image .banner-rotator { min-height: 0; aspect-ratio: 4 / 3; background: transparent; } .business-promo { display: grid; gap: 1rem; margin-top: 1rem; } .business-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .business-card { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(8rem, 10rem) minmax(0, 1fr); min-height: 9.25rem; gap: 1.2rem; align-items: center; padding: 1.1rem; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255, 255, 255, 0.9); text-decoration: none; box-shadow: var(--shadow); overflow: hidden; transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; } .business-card::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, rgba(29, 118, 184, 0.15), transparent 38%), linear-gradient(315deg, rgba(246, 181, 56, 0.2), transparent 34%); opacity: 0; transition: opacity 180ms ease; } .business-card:hover { color: inherit; border-color: rgba(29, 118, 184, 0.28); box-shadow: 0 22px 48px rgba(16, 34, 51, 0.16); transform: translateY(-3px); } .business-card:hover::before { opacity: 1; } .business-logo-frame { display: grid; place-items: center; min-height: 7rem; padding: 0.85rem; border: 1px solid rgba(29, 118, 184, 0.14); border-radius: 0.9rem; background: radial-gradient(circle at 30% 18%, rgba(255, 255, 255, 0.92), transparent 38%), linear-gradient(145deg, #ffffff 0%, #f4f9fd 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 12px 28px rgba(16, 34, 51, 0.1); } .business-logo { width: 100%; height: 6.4rem; object-fit: contain; border-radius: 0; box-shadow: none; filter: drop-shadow(0 8px 12px rgba(16, 34, 51, 0.12)); transition: transform 180ms ease; } .business-card:hover .business-logo { transform: scale(1.08); } .business-copy { display: grid; gap: 0.35rem; } .business-copy h3 { margin: 0; font-family: 'Manrope', system-ui, sans-serif; font-weight: 800; font-size: 1.1rem; } .business-copy p { margin: 0; color: var(--muted); } .business-link { color: var(--brand); font-size: 0.92rem; font-weight: 800; } .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .stat, .card, .surface, .notice { padding: 1rem; } .stat strong { display: block; font-size: 1.6rem; margin-bottom: 0.25rem; } .eyebrow { margin: 0 0 0.35rem; color: var(--brand-2); text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.75rem; font-weight: 700; } .topline, .muted { color: var(--muted); } .section-head { display: flex; justify-content: space-between; gap: 1rem; align-items: end; margin-bottom: 1rem; } .section-title { margin: 0; font-family: 'Manrope', system-ui, sans-serif; font-weight: 800; font-size: clamp(1.4rem, 2.8vw, 2.2rem); } .section-copy { margin: 0.25rem 0 0; color: var(--muted); max-width: 68ch; } .notice-list, .compact-list { list-style: none; margin: 0; padding: 0; } .notice-list { display: grid; gap: 0.8rem; } .notice { border-left: 0.5rem solid var(--info); } .notice.warning { border-left-color: var(--warning); } .notice.critical { border-left-color: var(--critical); } .pill, .tag, .meta { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.2rem 0.65rem; border-radius: 999px; background: rgba(18, 57, 77, 0.08); color: var(--brand); font-size: 0.8rem; font-weight: 700; } .tag { background: rgba(29, 118, 184, 0.1); color: var(--brand-2); } .meta { background: rgba(18, 33, 44, 0.06); color: var(--muted); } .cards-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } .operational-info { display: grid; gap: 1rem; } .operational-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .card h3, .card h4, .surface h3, .surface h4, .notice h3 { margin-top: 0; font-family: 'Manrope', system-ui, sans-serif; font-weight: 800; } .card p:last-child, .surface p:last-child, .notice p:last-child { margin-bottom: 0; } .event-card { position: relative; } .stretched-link { position: absolute; inset: 0; z-index: 1; } .event-card-actions { position: relative; z-index: 2; } .event-layout { display: grid; grid-template-columns: minmax(10rem, 11.5rem) minmax(0, 1fr); gap: 1rem; align-items: start; } .event-date-block { padding: 0.85rem 0.95rem; border: 1px solid rgba(16, 34, 51, 0.12); border-radius: var(--radius-sm); background: linear-gradient(180deg, rgba(11, 79, 122, 0.1), rgba(29, 118, 184, 0.06)); } .event-logo { width: 100%; height: 3.6rem; object-fit: contain; margin-top: 0.85rem; padding: 0.45rem; border: 1px solid rgba(16, 34, 51, 0.1); border-radius: 0.65rem; background: rgba(255, 255, 255, 0.82); box-shadow: 0 8px 18px rgba(16, 34, 51, 0.08); } .event-weekday, .event-date, .event-time { margin: 0; } .event-weekday { text-transform: uppercase; letter-spacing: 0.08em; color: var(--brand-2); font-size: 0.73rem; font-weight: 800; } .event-date { margin-top: 0.3rem; font-family: 'Fraunces', Georgia, serif; font-size: 1.2rem; font-weight: 700; line-height: 1.2; } .event-time { margin-top: 0.35rem; color: var(--muted); font-size: 0.9rem; font-weight: 700; } .split-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } .site-footer { border-top: 1px solid var(--line); background: linear-gradient(180deg, #0d2e47, #091d2f); color: rgba(245, 250, 255, 0.9); padding: 2rem 0; } .footer-logo { display: block; width: min(9rem, 34vw); height: auto; margin-bottom: 0.9rem; } .site-footer a { color: inherit; } .footer-link { font-weight: 800; text-decoration-color: rgba(245, 250, 255, 0.42); } .footer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } .site-footer .eyebrow, .site-footer .muted { color: rgba(245, 250, 255, 0.68); } .prose { max-width: 72ch; } .runway-table-wrap { width: 100%; overflow-x: auto; margin: 1rem auto 1.25rem; } .runway-facts-table { width: min(100%, 46rem); margin-inline: auto; border-collapse: collapse; border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; background: rgba(255, 255, 255, 0.84); box-shadow: 0 12px 24px rgba(16, 34, 51, 0.08); } .runway-facts-table thead { background: linear-gradient(180deg, rgba(11, 79, 122, 0.14), rgba(29, 118, 184, 0.09)); } .runway-facts-table th, .runway-facts-table td { padding: 0.7rem 0.85rem; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; } .runway-facts-table th { font-size: 0.83rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--brand); } .runway-facts-table tbody tr:nth-child(even) { background: rgba(255, 255, 255, 0.64); } .runway-facts-table tbody tr:hover { background: var(--brand-soft); } .runway-facts-table tbody tr:last-child td { border-bottom: 0; } .prose h2, .prose h3 { font-family: 'Manrope', system-ui, sans-serif; font-weight: 800; } .text-multiline { white-space: pre-line; } .stack { display: grid; gap: 1rem; } @media (max-width: 860px) { .event-layout { grid-template-columns: 1fr; } .split-grid, .footer-grid, .operational-grid { grid-template-columns: 1fr; } .story-flow { grid-template-columns: 1fr; gap: 0.9rem; } .business-grid { grid-template-columns: 1fr; } .business-card { grid-template-columns: minmax(6.8rem, 8rem) minmax(0, 1fr); min-height: 8.5rem; } .business-logo-frame { min-height: 6rem; padding: 0.7rem; } .business-logo { height: 5.4rem; } .topbar-inner, .footer-grid { display: grid; } .topbar-inner { grid-template-columns: 1fr auto; align-items: center; } .topbar-meta { grid-column: 1 / -1; gap: 0.5rem 0.8rem; font-size: 0.88rem; } .nav-inner { display: none; } .navshell { display: none; } .mobile-nav { display: block; } .brand-mobile { display: flex; } .brand-mobile img { max-height: 2rem; } @media (max-width: 390px) { .topbar-inner { gap: 0.65rem; } .brand-mobile img { max-width: min(12rem, 58vw); } } .runway-facts-table { min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; } .runway-table-wrap { overflow: visible; } .runway-facts-table, .runway-facts-table tbody, .runway-facts-table tr, .runway-facts-table td { display: block; width: 100%; } .runway-facts-table thead { display: none; } .runway-facts-table tbody { display: grid; gap: 0.75rem; } .runway-facts-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 0.75rem; background: rgba(255, 255, 255, 0.88); box-shadow: 0 10px 22px rgba(16, 34, 51, 0.07); } .runway-facts-table tbody tr:nth-child(even), .runway-facts-table tbody tr:hover { background: rgba(255, 255, 255, 0.88); } .runway-facts-table td { display: grid; gap: 0.18rem; min-height: 3.4rem; padding: 0.62rem 0.7rem; border: 1px solid rgba(16, 34, 51, 0.08); border-radius: 0.7rem; background: rgba(255, 255, 255, 0.72); font-weight: 800; line-height: 1.2; white-space: normal; } .runway-facts-table td:first-child { display: flex; align-items: center; gap: 0.45rem; grid-column: 1 / -1; min-height: 0; padding: 0.85rem; border: 0; background: linear-gradient(180deg, rgba(11, 79, 122, 0.12), rgba(29, 118, 184, 0.07)); color: var(--text); font-size: 1.08rem; font-weight: 800; } .runway-facts-table td:first-child::before { content: 'Runway'; color: var(--brand); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; } .runway-facts-table td:last-child { border-bottom: 1px solid rgba(16, 34, 51, 0.08); } .runway-facts-table td::before { content: attr(data-label); color: var(--brand); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.04em; line-height: 1; text-transform: uppercase; } }