/* Homepage only: a focused product-led front page. */
.homepage { background: #f4f3ef; color: #15211f; }
.homepage .header { position: relative; z-index: 3; }
.home-hero { min-height: 720px; position: relative; overflow: hidden; color: #fff; background: linear-gradient(116deg, rgba(6, 20, 25, .96), rgba(17, 52, 57, .82)), url('/images/Rocket.3.5.webp') center/cover; }
.home-hero:after { content: ''; position: absolute; width: 680px; height: 680px; right: -190px; bottom: -310px; border: 1px solid rgba(213, 185, 104, .32); border-radius: 50%; box-shadow: 0 0 0 75px rgba(213, 185, 104, .05), 0 0 0 150px rgba(213, 185, 104, .04); }
.hero-content, .home-container { max-width: 1180px; margin: 0 auto; padding-left: 32px; padding-right: 32px; }
.hero-content { position: relative; z-index: 2; padding-top: 112px; padding-bottom: 142px; }
.eyebrow { margin: 0 0 18px; color: #b99958; font-size: 12px; line-height: 1; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hero-content h1, .intro-grid h2, .section-heading h2, .home-cta h2 { margin: 0; font-size: clamp(43px, 6vw, 78px); letter-spacing: -.065em; line-height: .98; }
.hero-content h1 { max-width: 800px; }
.hero-lead { max-width: 575px; margin: 30px 0 34px; font-size: 19px; line-height: 1.65; color: rgba(255,255,255,.79); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.home-button { display: inline-flex; align-items: center; gap: 13px; padding: 15px 20px; border-radius: 4px; font-size: 14px; font-weight: 700; letter-spacing: .03em; text-decoration: none; transition: transform .2s, background .2s, color .2s; }
.home-button:hover { transform: translateY(-2px); }
.home-button-primary { background: #d5b968; color: #17211f; }
.home-button-primary:hover { background: #f1d882; color: #17211f; }
.home-button-secondary { border: 1px solid rgba(255,255,255,.42); color: #fff; }
.home-button-secondary:hover { background: #fff; color: #15211f; }
.hero-orbit { position: absolute; z-index: 1; right: 9%; top: 30%; width: 200px; height: 200px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.hero-orbit span { position: absolute; border-radius: 50%; background: #d5b968; }
.hero-orbit span:nth-child(1) { width: 10px; height: 10px; top: -5px; left: 47%; }.hero-orbit span:nth-child(2) { width: 6px; height: 6px; bottom: 14%; right: -3px; }.hero-orbit span:nth-child(3) { width: 5px; height: 5px; top: 26%; left: 1%; }
.intro-section { padding: 116px 0; background: #f4f3ef; }
.intro-grid { display: grid; grid-template-columns: .7fr 1.35fr 1fr; column-gap: 38px; align-items: start; }.intro-grid h2, .section-heading h2, .home-cta h2 { font-size: clamp(37px, 4.4vw, 60px); color: #15211f; }.intro-grid > div:last-child { padding-top: 7px; }.intro-grid p:not(.eyebrow), .section-heading > p, .home-cta > div > p:not(.eyebrow) { margin: 0; font-size: 16px; line-height: 1.75; color: #5d6762; }.text-link, .card-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 26px; color: #15211f; font-size: 14px; font-weight: 700; text-decoration: none; }.text-link:hover { color: #9b7936; }
.products-section { padding: 104px 0 120px; color: #fff; background: #15211f; }.section-heading { display: flex; justify-content: space-between; gap: 32px; margin-bottom: 42px; }.section-heading h2 { color: #fff; }.section-heading > p { max-width: 360px; padding-top: 25px; color: #b7c0bb; }
.product-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }.product-card { position: relative; min-height: 370px; overflow: hidden; border-radius: 7px; color: #fff; text-decoration: none; background-size: cover; background-position: center; isolation: isolate; }.product-card:before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(10,20,20,.05) 16%, rgba(8,20,20,.92) 93%); transition: background .25s; }.product-card:hover:before { background: linear-gradient(180deg, rgba(10,20,20,.12), rgba(8,20,20,.76)); }.product-card:hover .card-link { transform: translateX(5px); }.product-card-content { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 32px; }.product-number { position: absolute; top: 27px; right: 30px; font-size: 12px; font-weight: 700; letter-spacing: .15em; opacity: .8; }.product-card h3 { margin: 0; font-size: 35px; letter-spacing: -.05em; }.product-card p { max-width: 365px; margin: 11px 0 0; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.8); }.card-link { margin-top: 22px; color: #e7cc7e; transition: transform .2s; }.feature-card { grid-row: span 2; min-height: 758px; background-image: url('/images/Rocket.3.5.webp'); }.smartbooker-card { background: #93814b; }.wampum-card { background-image: url('/images/wampum.webp'); }.golf-card { background-image: url('/images/grass.webp'); }.fleet-card { background-image: url('/images/fleetio-background.webp'); }
.home-cta { padding: 126px 0; text-align: center; background: linear-gradient(112deg, rgba(7,19,23,.95), rgba(26,62,66,.83)), url('/images/galaxy.webp') center/cover; }.home-cta .home-container { max-width: 760px; }.home-cta h2 { color: #fff; }.home-cta > div > p:not(.eyebrow) { max-width: 520px; margin: 25px auto 32px; color: rgba(255,255,255,.77); }
.homepage .footer { padding: 60px 20px 30px; background: #0d1b1d; }.homepage .footer .floater { max-width: 1180px; }.homepage .footer .headline { color: #d5b968; letter-spacing: .12em; }.homepage .footer a.link { font-size: 14px; line-height: 1.4; letter-spacing: .045em; }.homepage .footer a.link:hover { color: #d5b968; }
@media (max-width: 760px) { .home-hero { min-height: 650px; }.hero-content, .home-container { padding-left: 22px; padding-right: 22px; }.hero-content { padding-top: 74px; }.hero-orbit { right: -50px; top: 36%; }.intro-section, .products-section { padding: 74px 0; }.intro-grid, .product-grid { grid-template-columns: 1fr; row-gap: 25px; }.section-heading { display: block; margin-bottom: 27px; }.section-heading > p { padding-top: 18px; }.product-card, .feature-card { min-height: 360px; grid-row: auto; }.product-card-content { padding: 26px; }.home-cta { padding: 88px 0; } }
