@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root {
  --ink: #0d0e0d;
  --paper: #f4f3ed;
  --acid: #e6ff54;
  --muted: #a5a79c;
  --line: rgba(244,243,237,.22);
  --shell: min(1240px, calc(100vw - 64px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: 'DM Sans', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.shell { width: var(--shell); margin-inline: auto; }
.page-glow { position: fixed; border-radius: 50%; filter: blur(105px); pointer-events: none; opacity: .17; z-index: -1; }
.glow-one { width: 34vw; height: 34vw; min-width: 250px; min-height: 250px; background: #b5da20; top: 9vh; right: -11vw; }
.glow-two { width: 22vw; height: 22vw; min-width: 200px; min-height: 200px; background: #b898ff; left: -10vw; top: 66vh; opacity: .1; }
.site-header { min-height: 114px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { align-items: center; display: inline-flex; font-size: 15px; font-weight: 700; gap: 11px; letter-spacing: -.06em; line-height: 1; }
.brand-mark { align-items: center; background: var(--acid); border-radius: 9px 15px 9px 15px; box-shadow: 0 0 0 1px rgba(230,255,84,.23), 0 7px 20px rgba(230,255,84,.18); color: var(--ink); display: inline-flex; flex: 0 0 auto; height: 34px; justify-content: center; overflow: hidden; position: relative; transform: rotate(-4deg); transition: box-shadow .25s ease, transform .25s ease; width: 34px; }
.brand-mark::before { background: repeating-linear-gradient(130deg, rgba(13,14,13,.13) 0 1px, transparent 1px 4px); content: ''; inset: 0; opacity: .36; pointer-events: none; position: absolute; }
.brand-mark svg { height: 30px; overflow: visible; position: relative; width: 30px; }
.brand-mark .mark-orbit { fill: none; opacity: .74; stroke: currentColor; stroke-linecap: round; stroke-width: 2.4; }
.brand-mark .mark-p, .brand-mark .mark-spark { fill: currentColor; }
.brand:hover .brand-mark { box-shadow: 0 0 0 1px rgba(230,255,84,.42), 0 10px 27px rgba(230,255,84,.31); transform: rotate(0deg) scale(1.08); }
.brand-dot { color: var(--acid); display: inline-block; margin-inline: .03em; }
.header-cta { display: inline-flex; align-items: center; gap: 10px; font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: .02em; transition: color .25s ease; }
.header-cta:hover { color: var(--acid); }
.header-cta span { font-size: 17px; }
.hero { min-height: calc(100svh - 114px); padding: clamp(70px, 12vh, 145px) 0 55px; display: flex; flex-direction: column; justify-content: space-between; }
.eyebrow, .section-index { margin: 0; color: var(--muted); font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow { color: var(--paper); display: flex; align-items: center; gap: 9px; }
.eyebrow-dot { background: var(--acid); height: 6px; width: 6px; border-radius: 50%; }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 1100px; margin: clamp(36px, 7vh, 80px) 0; font-size: clamp(58px, 10.2vw, 152px); font-weight: 500; letter-spacing: -.08em; line-height: .86; }
h1 em, h2 em { color: var(--acid); font-family: 'Playfair Display', Georgia, serif; font-weight: 500; letter-spacing: -.09em; }
.hero-bottom { display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.hero-copy { color: #c8c9c1; font-size: 17px; line-height: 1.5; max-width: 426px; }
.round-link { border: 1px solid rgba(230,255,84,.8); border-radius: 50%; color: var(--acid); display: flex; flex-direction: column; flex: 0 0 auto; height: 122px; justify-content: space-between; padding: 19px 17px; transition: background .25s ease, color .25s ease; width: 122px; }
.round-link:hover { background: var(--acid); color: var(--ink); }
.round-link span { font-family: 'DM Mono', monospace; font-size: 9px; line-height: 1.25; text-transform: uppercase; }
.round-link b { align-self: end; font-size: 24px; font-weight: 400; }
.statement { border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr 2fr; gap: 34px; padding-block: clamp(100px, 16vw, 210px); }
.statement-content { max-width: 850px; }
h2 { font-size: clamp(40px, 5.8vw, 82px); font-weight: 500; letter-spacing: -.07em; line-height: .99; }
.statement-content > p { color: #c8c9c1; font-size: 19px; line-height: 1.55; margin: 50px 0 0 auto; max-width: 460px; }
.capabilities { background: var(--acid); color: var(--ink); padding: clamp(72px, 10vw, 140px) 0 0; overflow: hidden; }
.capabilities-heading { display: grid; grid-template-columns: 1fr 2fr; gap: 34px; padding-bottom: clamp(60px, 9vw, 120px); }
.capabilities .section-index { color: #5c6640; }
.capabilities h2 { margin: 0; max-width: 750px; }
.service-list { border-top: 1px solid rgba(13,14,13,.28); }
.service-row { display: grid; grid-template-columns: 1fr 2fr 2fr; gap: 34px; align-items: baseline; min-height: 135px; padding: 27px 0; border-bottom: 1px solid rgba(13,14,13,.28); }
.service-number { font-family: 'DM Mono', monospace; font-size: 11px; color: #53603a; }
.service-row h3 { margin: 0; font-size: clamp(24px, 3vw, 42px); font-weight: 500; letter-spacing: -.06em; }
.service-row p { max-width: 330px; margin: 0; font-size: 15px; line-height: 1.5; }
.manifesto { min-height: 850px; padding: clamp(100px, 15vw, 210px) 0; position: relative; overflow: hidden; }
.manifesto h2 { margin: clamp(48px, 8vw, 110px) 0 0; position: relative; z-index: 1; }
.manifesto-copy { color: #c8c9c1; font-size: 18px; line-height: 1.55; margin: 52px 0 0 33.333%; max-width: 412px; position: relative; z-index: 1; }
.manifesto-orb { position: absolute; width: min(57vw, 690px); aspect-ratio: 1; border: 1px solid rgba(230,255,84,.68); border-radius: 50%; right: -7vw; top: 8%; animation: drift 12s ease-in-out infinite alternate; }
.manifesto-orb span { border: 1px solid rgba(230,255,84,.45); border-radius: 50%; position: absolute; inset: 13%; }
.manifesto-orb span:nth-child(2) { inset: 27%; border-color: rgba(230,255,84,.32); }
.manifesto-orb span:nth-child(3) { inset: 41%; background: var(--acid); border: 0; }
@keyframes drift { from { transform: translate(0, 0) rotate(0deg); } to { transform: translate(-25px, 38px) rotate(11deg); } }
.contact { background: #272a26; padding: clamp(90px, 13vw, 180px) 0; }
.contact h2 { font-size: clamp(52px, 7.4vw, 102px); margin: clamp(55px, 8vw, 100px) 0 50px; }
.contact-link { border-bottom: 1px solid var(--acid); color: var(--acid); display: inline-flex; font-size: clamp(24px, 3.2vw, 48px); gap: 17px; letter-spacing: -.05em; padding-bottom: 8px; transition: color .2s ease, border-color .2s ease; }
.contact-link:hover { border-color: var(--paper); color: var(--paper); }
.contact-link span { font-family: 'DM Mono', monospace; font-size: .7em; }
.contact-note { color: #aeb1a4; font-family: 'DM Mono', monospace; font-size: 11px; margin: 24px 0 0; }
.site-footer { align-items: center; color: #aeb1a4; display: flex; font-family: 'DM Mono', monospace; font-size: 10px; justify-content: space-between; min-height: 120px; text-transform: uppercase; }
.site-footer p { margin: 0; }
.site-footer > a:last-child { color: var(--paper); }
.footer-links { display: flex; gap: 18px; }
.footer-links a:hover, .site-footer > a:hover { color: var(--acid); }
.legal { max-width: 1020px; padding: clamp(72px, 11vw, 145px) 0; }
.legal h1 { font-size: clamp(56px, 9vw, 128px); margin-bottom: 25px; }
.legal-updated { color: var(--muted); font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.legal-copy { margin: clamp(72px, 10vw, 120px) 0 0 auto; max-width: 645px; }
.legal-copy h2 { color: var(--acid); font-family: 'DM Mono', monospace; font-size: 11px; font-weight: 500; letter-spacing: .1em; line-height: 1.3; margin: 45px 0 12px; text-transform: uppercase; }
.legal-copy p { color: #d1d2ca; font-size: 16px; line-height: 1.62; }
.legal-copy a { border-bottom: 1px solid var(--acid); color: var(--acid); }
@media (max-width: 700px) {
  :root { --shell: min(100% - 38px, 1240px); }
  .site-header { min-height: 82px; }
  .header-cta { font-size: 9px; }
  .hero { min-height: calc(100svh - 82px); padding-top: 72px; }
  h1 { font-size: clamp(52px, 16vw, 88px); }
  .hero-bottom, .site-footer { align-items: start; flex-direction: column; }
  .hero-bottom { gap: 32px; }
  .round-link { height: 102px; width: 102px; }
  .statement, .capabilities-heading { display: block; }
  .statement .section-index, .capabilities-heading .section-index { margin-bottom: 46px; }
  .statement-content > p, .manifesto-copy { font-size: 16px; margin-left: 0; }
  .service-row { grid-template-columns: 36px 1fr; gap: 12px; min-height: auto; padding: 27px 0 34px; }
  .service-row p { grid-column: 2; margin-top: 8px; }
  .manifesto { min-height: 720px; }
  .manifesto-orb { width: 95vw; right: -41vw; top: 4%; }
  .contact-link { font-size: 24px; }
  .site-footer { justify-content: center; gap: 18px; padding: 35px 0; }
  .footer-brand { order: -1; }
  .footer-links { gap: 14px; }
  .legal-copy { margin-top: 70px; }
}
