@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/instrument-serif-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 100 800; font-display: swap; src: url('../fonts/jetbrains-mono-latin-wght-normal.woff2') format('woff2'); }
.olp-home:focus { outline: none; }
.olp-hero { position: relative; min-height: 100vh; display: flex; flex-direction: column; overflow: hidden; background: var(--wp--preset--color--background); color: var(--wp--preset--color--foreground); }
.olp-hero__particles, .olp-hero__glow { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.olp-hero__glow { background: radial-gradient(ellipse 500px 500px at 50% 75%, rgb(65 102 213 / 5%), transparent), radial-gradient(ellipse 350px 300px at 55% 100%, rgb(65 102 213 / 3%), transparent); }
.olp-hero__inner { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; justify-content: space-between; width: 100%; max-width: 1600px; margin-inline: auto; padding: 8rem 1.5rem 2.5rem; }
.olp-hero__eyebrow { display: flex; align-items: center; gap: .625rem; margin: 0 0 2rem; font-family: var(--wp--preset--font-family--mono, 'JetBrains Mono', monospace); font-size: .75rem; line-height: 1rem; font-weight: 400; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.olp-hero__eyebrow > span { width: .5rem; height: .5rem; flex-shrink: 0; border-radius: 50%; background: #34d399; }
.olp-hero__title { margin: 0; font-family: var(--wp--preset--font-family--sans); font-size: clamp(3.2rem, 8.5vw, 9rem); font-weight: 700; letter-spacing: -.035em; line-height: .95; overflow-wrap: break-word; }
.olp-hero__line { display: block; margin-bottom: .5rem; }
.olp-hero__last { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 1.25rem; margin-bottom: 0; }
.olp-hero__last em { font-family: var(--wp--preset--font-family--serif, 'Instrument Serif', Georgia, serif); font-style: italic; font-weight: 400; color: var(--wp--preset--color--accent); }
.olp-hero__bottom { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; align-items: end; margin-top: 3rem; }
.olp-hero__description { max-width: 24rem; margin: 0 0 2rem; font-size: 1.125rem; font-weight: 300; line-height: 1.625; color: var(--wp--preset--color--muted); }
.olp-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.olp-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .875rem 1.75rem; border-radius: 100vmax; font-size: .875rem; line-height: 1.25rem; font-weight: 600; text-decoration: none; transition: color .2s, background-color .2s, border-color .2s, transform .2s; }
.olp-button svg { width: 14px; height: 14px; flex-shrink: 0; }
.olp-button--primary { color: var(--wp--preset--color--background); background: var(--wp--preset--color--foreground); }
.olp-button--primary:hover { background: #dcd9d5; transform: scale(1.03); }
.olp-button--secondary { border: 1px solid var(--wp--preset--color--border, #252525); color: var(--wp--preset--color--muted); }
.olp-button--secondary:hover { border-color: rgb(240 237 232 / 30%); color: var(--wp--preset--color--foreground); }
.olp-hero__visual { display: none; }
.olp-globe { width: 240px; height: 240px; position: relative; }
.olp-globe::before { content: ''; position: absolute; inset: 9%; border-radius: 50%; border: 1px solid #252525; background: radial-gradient(circle at 35% 36%, #292929, #080808 52%, #030303 80%); box-shadow: 0 0 35px rgb(65 102 213 / 12%); }
.olp-globe__canvas { position: relative; width: 100%; height: 100%; display: block; }
.olp-hero__clients { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.olp-hero__clients p { margin: 0 0 .5rem; font: 400 .75rem/1rem var(--wp--preset--font-family--mono, 'JetBrains Mono', monospace); letter-spacing: .15em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.olp-hero__clients ul { display: flex; flex-direction: column; gap: .75rem; list-style: none; margin: 0; padding: 0; font-size: .875rem; line-height: 1.25rem; font-weight: 500; color: rgb(136 136 136 / 60%); }
.olp-hero__scroll { position: absolute; bottom: 2rem; left: 50%; width: 1px; height: 3rem; background: linear-gradient(transparent, #252525, transparent); }
@media (min-width: 48rem) {
    .olp-hero__inner { padding-inline: 3rem; }
    .olp-hero__bottom { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 3rem; margin-top: 0; }
    .olp-hero__visual { display: flex; align-items: center; justify-content: center; }
    .olp-hero__clients { align-items: flex-end; text-align: right; }
}
@media (min-width: 64rem) { .olp-hero__inner { padding-inline: 4rem; } .olp-globe { width: 300px; height: 300px; } }
@media (prefers-reduced-motion: reduce) { .olp-button { transition: none; } .olp-button--primary:hover { transform: none; } }
