msos/css/pages/_hub.css

127 lines
5.6 KiB
CSS

/* ==========================================================================
MSOS Hub page (venue / space promo)
========================================================================== */
.hub-page { padding-top: 80px; background: #FFFFFF; font-family: 'Inter', sans-serif; }
/* ---------- Hero ---------- */
.hub-hero {
background: linear-gradient(180deg, #F1F7F9 0%, #FFFFFF 100%);
padding: 56px 24px 44px; text-align: center;
}
.hub-hero .container {
max-width: 840px; margin: 0 auto;
display: flex; flex-direction: column; align-items: center; gap: 18px;
}
.hub-eyebrow {
display: inline-flex; align-items: center; gap: 8px;
font-weight: 700; font-size: 14px; letter-spacing: 0.06em;
text-transform: uppercase; color: #2D738C;
}
.hub-hero h1 { font-size: 44px; line-height: 1.12; color: #101828; margin: 0; font-weight: 700; }
.hub-lead { font-size: 19px; line-height: 30px; color: #475467; margin: 0; max-width: 700px; }
.hub-hero-cta { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
/* Quick facts strip */
.hub-facts {
display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
margin-top: 8px;
}
.hub-fact {
display: inline-flex; align-items: center; gap: 8px;
background: #FFFFFF; border: 1px solid #EAECF0; border-radius: 999px;
padding: 8px 16px; font-size: 14px; font-weight: 600; color: #344054;
}
.hub-fact i { color: #2D738C; }
/* ---------- Generic section ---------- */
.hub-section { max-width: 1120px; margin: 0 auto; padding: 64px 24px; }
.hub-section--tint { background: #F9FAFB; max-width: none; }
.hub-section--tint > .hub-inner { max-width: 1120px; margin: 0 auto; }
.hub-section-head { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.hub-h2 { font-size: 32px; line-height: 1.2; color: #101828; margin: 0 0 12px; font-weight: 700; }
.hub-sub { font-size: 17px; line-height: 27px; color: #667085; margin: 0; }
/* ---------- Story (two columns) ---------- */
.hub-story-grid {
display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
max-width: 1120px; margin: 0 auto;
}
.hub-story-text .hub-h2 { text-align: left; }
.hub-story-text p { font-size: 17px; line-height: 28px; color: #475467; margin: 0 0 16px; }
.hub-story-text p:last-child { margin-bottom: 0; }
/* ---------- Use cases ---------- */
.hub-uses { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.hub-use {
border: 1px solid #EAECF0; border-radius: 14px; padding: 22px; background: #fff;
display: flex; flex-direction: column; gap: 10px;
transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.hub-use:hover { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(16, 24, 40, 0.07); }
.hub-use-ico {
width: 44px; height: 44px; border-radius: 10px;
display: flex; align-items: center; justify-content: center;
font-size: 18px; color: #fff; background: #2D738C;
}
.hub-use:nth-child(3n+2) .hub-use-ico { background: #FA7850; }
.hub-use:nth-child(3n+3) .hub-use-ico { background: #3B82C4; }
.hub-use h3 { font-size: 17px; color: #101828; margin: 0; }
.hub-use p { font-size: 14px; line-height: 22px; color: #667085; margin: 0; }
/* ---------- Amenities ---------- */
.hub-amenities {
display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
max-width: 960px; margin: 0 auto;
}
.hub-amenity {
display: flex; align-items: center; gap: 12px;
border: 1px solid #EAECF0; border-radius: 12px; padding: 16px; background: #fff;
}
.hub-amenity i { color: #2E9E6B; font-size: 18px; width: 22px; text-align: center; flex-shrink: 0; }
.hub-amenity span { font-size: 15px; font-weight: 500; color: #344054; }
/* ---------- Gallery (image placeholders) ---------- */
.hub-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.hub-gallery .image-placeholder { margin: 0; }
/* ---------- Supporters / made possible by ---------- */
.hub-supporters { text-align: center; }
.hub-supporters-list {
display: flex; flex-wrap: wrap; justify-content: center; gap: 16px;
max-width: 900px; margin: 0 auto;
}
.hub-supporter {
border: 1px solid #EAECF0; border-radius: 12px; padding: 18px 22px;
background: #fff; font-size: 15px; font-weight: 600; color: #344054;
display: inline-flex; align-items: center; gap: 10px;
}
.hub-supporter i { color: #2D738C; font-size: 18px; }
/* ---------- Final booking CTA ---------- */
.hub-final {
background: linear-gradient(135deg, #2D738C 0%, #255F74 100%);
color: #fff; text-align: center; padding: 64px 24px;
}
.hub-final h2 { color: #fff; font-size: 30px; line-height: 1.2; margin: 0 0 12px; font-weight: 700; }
.hub-final p { color: #D6E6EC; font-size: 17px; line-height: 27px; max-width: 640px; margin: 0 auto 24px; }
.hub-final-cta { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.hub-final .btn-ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,0.6); }
.hub-final .btn-ghost:hover { background: rgba(255,255,255,0.12); }
/* ---------- Mobile ---------- */
@media (max-width: 768px) {
.hub-page { padding-top: 0; } /* body already offsets the fixed header on mobile */
.hub-hero { padding: 40px 20px 32px; }
.hub-hero h1 { font-size: 32px; }
.hub-lead { font-size: 17px; line-height: 27px; }
.hub-section { padding: 48px 20px; }
.hub-h2 { font-size: 26px; }
.hub-story-grid { grid-template-columns: 1fr; gap: 28px; }
.hub-story-media { order: -1; }
.hub-uses { grid-template-columns: 1fr; }
.hub-amenities { grid-template-columns: 1fr 1fr; }
.hub-gallery { grid-template-columns: 1fr; }
.hub-final { padding: 48px 20px; }
.hub-final h2 { font-size: 24px; }
}