:root {
  --ink: #12131a;
  --paper: #f5f3ee;
  --muted: #787873;
  --line: #d9d7d1;
  --lime: #d9fa50;
  --blue: #7588ff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Manrope, Arial, sans-serif; }
a { color: inherit; text-decoration: none; }

.site-header { height: 80px; padding: 0 5vw; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; }
.wordmark { font-size: 1.1rem; font-weight: 700; letter-spacing: -.06em; }
.wordmark span { font-family: "DM Mono", monospace; font-size: .45rem; vertical-align: top; margin-left: 2px; letter-spacing: 0; }
nav { display: flex; gap: 2rem; font-family: "DM Mono", monospace; font-size: .71rem; }
nav a { transition: opacity .2s; } nav a:hover { opacity: .5; }

.hero { min-height: calc(100vh - 80px); padding: 11vh 12vw 6vh; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; }
.eyebrow, .section-label { text-transform: uppercase; font: 500 .66rem/1.35 "DM Mono", monospace; letter-spacing: .06em; }
.eyebrow { margin: 0 0 2.1rem; display: flex; gap: .55rem; align-items: center; }
.eyebrow span { width: 8px; height: 8px; background: var(--lime); border-radius: 50%; }
h1, h2, p { margin-top: 0; }
h1 { font-size: clamp(3.1rem, 7.35vw, 8rem); font-weight: 500; letter-spacing: -.075em; line-height: 1.02; margin-bottom: 2.1rem; position: relative; z-index: 1; }
h1 em { font-family: Georgia, serif; font-weight: 400; }
.hero-copy { max-width: 405px; font-size: 1rem; line-height: 1.7; color: #53544f; position: relative; z-index: 1; }
.button { margin-top: 1.35rem; padding: .9rem 1.1rem; background: var(--ink); color: white; font: 500 .7rem "DM Mono", monospace; transition: transform .2s, background .2s; position: relative; z-index: 1; }
.button:hover { transform: translateY(-3px); background: #30313b; }.button span { padding-left: 1.5rem; font-size: 1rem; }
.hero-orbit { position: absolute; right: 3vw; top: 8vh; width: min(55vw, 730px); aspect-ratio: 1; opacity: .9; }
.orbit { position: absolute; border: 1px solid #c6c4bd; border-radius: 50%; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-24deg); }
.orbit-one { width: 100%; height: 38%; }.orbit-two { width: 66%; height: 100%; }
.orbit-dot { width: 15px; height: 15px; background: var(--blue); border-radius: 50%; position: absolute; top: 15%; left: 47%; box-shadow: 0 0 0 8px rgba(117,136,255,.14); }
.scroll-cue { margin-top: auto; padding-top: 5rem; font: 500 .65rem "DM Mono", monospace; text-transform: uppercase; letter-spacing: .07em; }.scroll-cue span { padding-left: .5rem; font-size: 1rem; }

.section { padding: 8.5rem 12vw; border-top: 1px solid var(--line); display: grid; grid-template-columns: 25% 1fr; gap: 2rem; }
.section-label { margin: .5rem 0; color: var(--muted); }
.section-content { max-width: 790px; }.section h2, .contact h2 { font-size: clamp(2.15rem, 4vw, 4.4rem); line-height: 1.02; letter-spacing: -.065em; font-weight: 500; margin-bottom: 2rem; }
.section-content p { max-width: 590px; color: #555650; font-size: 1rem; line-height: 1.75; }
.intro { background: var(--ink); color: var(--paper); overflow: hidden; }
.intro .section-label { color: #94958e; }.intro .section-content p { color: #c0c1b9; }
.about-mark { width: 94px; height: 94px; border-radius: 50%; background: rgba(117,136,255,.17); display: grid; place-items: center; margin: 0 0 3rem auto; }
.about-mark span { width: 46px; height: 46px; border-radius: 50%; background: var(--blue); box-shadow: 0 8px 22px rgba(117,136,255,.22); }
.operations { background: #fff; }
.contact { padding: 8.5rem 12vw; background: var(--lime); }.contact .section-label { color: #4d5620; }.contact h2 { max-width: 700px; margin: 2.4rem 0 4.2rem; }
.contact-links { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; max-width: 860px; }.contact-links a { border-top: 1px solid rgba(18,19,26,.4); padding: 1.2rem 0; font-size: clamp(1rem, 1.8vw, 1.45rem); letter-spacing: -.04em; transition: opacity .2s; }.contact-links a:hover { opacity: .62; }.contact-links span { display: block; font: .62rem "DM Mono", monospace; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .6rem; }.contact-links b { float: right; font-weight: 400; }
footer { padding: 1.6rem 5vw; font: .61rem "DM Mono", monospace; display: flex; gap: 2rem; justify-content: space-between; color: #666760; } footer p { margin: 0; } footer div { display: flex; gap: 1.3rem; } footer a:hover { color: var(--ink); }
.back-link { font: 500 .66rem "DM Mono", monospace; text-transform: uppercase; letter-spacing: .06em; }
.legal-page { max-width: 920px; padding: 9rem 5vw 8rem; margin: auto; }.legal-page > h1 { font-size: clamp(3.4rem, 7.5vw, 7.5rem); margin: 2.3rem 0 1.4rem; }.legal-updated { color: var(--muted); font: .67rem "DM Mono", monospace; text-transform: uppercase; letter-spacing: .04em; }.legal-content { max-width: 640px; margin-top: 5rem; }.legal-content > p { font-size: 1.12rem; line-height: 1.75; margin-bottom: 4rem; }.legal-content section { border-top: 1px solid var(--line); padding: 2rem 0 1.7rem; }.legal-content h2 { font-size: 1.05rem; letter-spacing: -.03em; margin-bottom: .8rem; }.legal-content p { color: #555650; font-size: .91rem; line-height: 1.75; }.legal-content a { text-decoration: underline; text-decoration-color: var(--blue); text-underline-offset: 3px; }

@media (max-width: 720px) { .site-header { height: 66px; padding: 0 6vw; } nav { gap: 1rem; font-size: .62rem; }.hero { min-height: calc(100vh - 66px); padding: 12vh 7vw 5vh; }.hero-orbit { width: 100vw; right: -30vw; top: 10vh; opacity: .52; } h1 { font-size: clamp(3.1rem, 15vw, 5rem); }.hero-copy { font-size: .92rem; }.section { grid-template-columns: 1fr; padding: 5.5rem 7vw; gap: 2rem; }.about-mark { width: 76px; height: 76px; margin-bottom: 2.2rem; }.about-mark span { width: 38px; height: 38px; }.contact { padding: 5.5rem 7vw; }.contact h2 { margin: 2rem 0 3rem; }.contact-links { grid-template-columns: 1fr; gap: .5rem; } footer { padding: 1.5rem 7vw; flex-direction: column; gap: .65rem; } }
