*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } body { background: #000; } @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=Montserrat:wght@300;400;500&display=swap'); .sls-hero { background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(200,160,60,0.18) 0%, transparent 55%), radial-gradient(ellipse 60% 40% at 80% 60%, rgba(180,130,40,0.10) 0%, transparent 50%), radial-gradient(ellipse 50% 40% at 20% 70%, rgba(120,80,20,0.08) 0%, transparent 50%), radial-gradient(ellipse 100% 80% at 50% 40%, #2a1e06 0%, #120e02 45%, #000000 100%); padding: 110px 32px 90px; text-align: center; font-family: 'Montserrat', sans-serif; position: relative; overflow: hidden; } .sls-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 70% 50% at 50% 100%, rgba(0,0,0,0.9) 0%, transparent 60%), radial-gradient(ellipse 100% 30% at 50% 0%, rgba(0,0,0,0.4) 0%, transparent 100%), radial-gradient(ellipse 40% 60% at 0% 50%, rgba(0,0,0,0.5) 0%, transparent 70%), radial-gradient(ellipse 40% 60% at 100% 50%, rgba(0,0,0,0.5) 0%, transparent 70%); pointer-events: none; z-index: 0; } .sls-hero::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 40% at 50% 45%, rgba(200,160,50,0.05) 0%, transparent 70%); pointer-events: none; z-index: 0; } .sls-hero > * { position: relative; z-index: 1; } .sls-tagline-row { display: flex; align-items: center; justify-content: center; gap: 18px; margin-bottom: 48px; } .sls-tagline-line { width: 40px; height: 1px; background: #c8aa50; opacity: 0.7; } .sls-tagline { color: #c8b96a; font-size: 9px; font-weight: 400; letter-spacing: 0.35em; text-transform: uppercase; line-height: 1.7; text-align: center; } .sls-headline { margin: 40px 0 56px; line-height: 1.15; padding-bottom: 16px; } .sls-headline .line-normal { display: block; font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: normal; font-size: clamp(72px, 18vw, 110px); color: #f0ece0; letter-spacing: -0.01em; text-shadow: 0 0 140px rgba(200,160,60,0.3), 0 0 60px rgba(200,160,60,0.12), 0 2px 20px rgba(0,0,0,0.9); position: relative; } .sls-headline .line-italic { display: block; font-family: 'Cormorant Garamond', serif; font-weight: 300; font-style: italic; font-size: clamp(72px, 18vw, 110px); color: #c8aa50; letter-spacing: -0.01em; text-shadow: 0 0 100px rgba(200,160,60,0.7), 0 0 200px rgba(200,160,60,0.25), 0 2px 20px rgba(0,0,0,0.9); position: relative; animation: goldShimmer 3s ease-in-out infinite 0s; } @keyframes goldShimmer { 0% { text-shadow: 0 0 40px rgba(200,160,60,0.4), 0 0 80px rgba(200,160,60,0.15), 0 2px 20px rgba(0,0,0,0.9); color: #c8aa50; } 50% { text-shadow: 0 0 80px rgba(230,190,80,0.9), 0 0 160px rgba(230,190,80,0.4), 0 0 240px rgba(200,160,60,0.2), 0 2px 20px rgba(0,0,0,0.9); color: #e8c96a; } 100% { text-shadow: 0 0 40px rgba(200,160,60,0.4), 0 0 80px rgba(200,160,60,0.15), 0 2px 20px rgba(0,0,0,0.9); color: #c8aa50; } } 10% { opacity: 1; } 60% { left: 160%; opacity: 1; } 61% { opacity: 0; } 100% { left: 160%; opacity: 0; } } 10% { opacity: 1; } 60% { left: 160%; opacity: 1; } 61% { opacity: 0; } 100% { left: 160%; opacity: 0; } } @keyframes cinematicFade { from { opacity: 0; transform: translateY(30px) scale(0.97); letter-spacing: 0.1em; } to { opacity: 1; transform: translateY(0) scale(1); } } .sls-services-grid { display: grid; grid-template-columns: repeat(3, auto); gap: 16px; margin: 0 auto 48px; max-width: 680px; justify-content: center; justify-items: center; transform: translateX(-30px); } .sls-service-btn { display: flex; align-items: center; justify-content: center; text-align: center; padding: 14px 16px; border-radius: 50px; background: transparent; border: none; color: #ffffff; font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase; cursor: pointer; text-decoration: none; transition: all 0.35s ease; animation: heroFadeUp 0.9s ease both; white-space: nowrap; } .sls-service-btn:hover { color: #c8aa50; transform: translateY(-2px); } @media (max-width: 600px) { .sls-services-grid { grid-template-columns: repeat(2, 1fr); } } /* ── Vibes tagline ── */ .sls-vibes { display: flex; align-items: center; justify-content: center; gap: 20px; margin: 0 auto 44px; } .sls-vibes-line { flex: 1; max-width: 60px; height: 1px; background: rgba(200, 170, 80, 0.3); } .sls-vibes-text { color: #f0ece0; font-size: 9px; font-weight: 400; letter-spacing: 0.32em; text-transform: uppercase; } .sls-vibes-text em { font-style: normal; color: #f0ece0; } .sls-cta-box { border: 1px solid rgba(200,170,80,0.35); padding: 16px; margin: 0 auto 28px; max-width: 500px; } .sls-cta-btn { display: flex; align-items: center; justify-content: center; gap: 16px; background: #c8aa50; color: #1a1508; text-decoration: none; padding: 22px 32px; font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 500; letter-spacing: 0.35em; text-transform: uppercase; transition: background 0.3s ease; cursor: pointer; } .sls-cta-btn:hover { background: #dbbf60; } .sls-cta-arrow { width: 32px; height: 32px; border: 1px solid rgba(26,21,8,0.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; } .sls-fleet-link { display: inline-flex; align-items: center; gap: 10px; color: #9a958a; text-decoration: none; font-size: 9px; font-weight: 400; letter-spacing: 0.3em; text-transform: uppercase; border-bottom: 1px solid rgba(154,149,138,0.4); padding-bottom: 3px; transition: color 0.3s ease, border-bottom-color 0.3s ease; position: relative; } .sls-fleet-link .fleet-arrow { display: inline-block; animation: arrowBounce 1.6s ease-in-out infinite; } .sls-fleet-link .fleet-text { position: relative; } .sls-fleet-link .fleet-text::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0%; height: 1px; background: #c8aa50; animation: underlineWipe 2.5s ease-in-out infinite; } @keyframes arrowBounce { 0%, 100% { transform: translateX(0); opacity: 0.6; } 50% { transform: translateX(5px); opacity: 1; } } @keyframes underlineWipe { 0% { width: 0%; opacity: 0; } 40% { width: 100%; opacity: 1; } 70% { width: 100%; opacity: 1; } 100% { width: 0%; opacity: 0; } } .sls-fleet-link:hover { color: #c8aa50; border-bottom-color: #c8aa50; } @keyframes heroFadeUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } } .sls-tagline-row { animation: heroFadeUp 0.9s ease both; animation-delay: 0.1s; } .sls-headline { animation: heroFadeUp 0.9s ease both; animation-delay: 0.3s; } .sls-services-grid { animation: heroFadeUp 0.9s ease both; animation-delay: 0.5s; } .sls-vibes { animation: heroFadeUp 0.9s ease both; animation-delay: 0.9s; } .sls-cta-box { animation: heroFadeUp 0.9s ease both; animation-delay: 1.0s; } .sls-fleet-link { animation: heroFadeUp 0.9s ease both; animation-delay: 1.1s; } @media (max-width: 600px) { .sls-hero { padding: 50px 20px 40px; } .sls-cta-box { margin: 0 0 24px; } } /* ── Light sweep animation ── */ .sls-headline-wrap { position: relative; display: inline-block; width: 100%; overflow: hidden; } .sls-headline-wrap::after { content: ''; position: absolute; top: 0; left: -100%; width: 40%; height: 100%; background: linear-gradient( 105deg, transparent 20%, rgba(255, 245, 200, 0.06) 50%, transparent 80% ); animation: lightSweep 5s ease 2s infinite; pointer-events: none; z-index: 2; } @keyframes lightSweep { 0% { left: -60%; opacity: 0; } 5% { opacity: 1; } 55% { left: 120%; opacity: 1; } 56% { opacity: 0; } 100% { left: 120%; opacity: 0; } }
Oregon's Premier Luxury
Transportation Since 2000

Arrive in Effortless Elegance

Luxury fleet  ·  Pro drivers  ·  Unforgettable vibes