:root {
  --black: #080808;
  --white: #f2f0eb;
  --grey: #96948e;
  --dim: #5d5b56;
  --red: #e51b2e;
  --line: rgba(242,240,235,.13);
  --mono: "DM Mono", monospace;
  --sans: "Manrope", Arial, sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--black);
  color: var(--white);
  font-family: var(--sans);
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }

.noise {
  position: fixed; inset: 0; pointer-events: none; z-index: 50; opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.grid {
  position: fixed; inset: 0; pointer-events: none; z-index: 0; opacity: .22;
  background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom,black 0%,black 55%,transparent 100%);
}
.cursor, .cursor-ring { position: fixed; pointer-events: none; z-index: 100; border-radius: 50%; transform: translate(-50%,-50%); }
.cursor { width: 5px; height: 5px; background: var(--red); }
.cursor-ring { width: 30px; height: 30px; border: 1px solid rgba(229,27,46,.55); transition: width .25s,height .25s; }

.site-header {
  height: 65px; padding: 0 5vw; display:flex; align-items:center; justify-content:space-between;
  position:sticky; top: 0%; z-index:100; border-bottom:1px solid var(--line); background: #050505; backdrop-filter: none;
}
.brand { display:flex; align-items:center; gap:13px; font-size:13px; font-weight:800; line-height:1.05; letter-spacing:.5px; }
.brand em { font-style:normal; color:var(--); font-weight:500; font-size:8px; letter-spacing:2px; }
.brand-mark { width:31px;height:31px;background:var(--red);display:grid;align-content:center;gap:4px;transform:skew(-12deg);overflow:hidden; }
.brand-mark i { display:block;width:45px;height:2px;background:var(--black);margin-left:-7px; }

.nav { display:flex; gap:38px; font-family:var(--mono); font-size:12px; letter-spacing:1.5px; text-transform:uppercase; color:var(--white); }
.nav a, .header-cta { transition:color .2s; }
.nav a:hover, .header-cta:hover { color:var(--red); }
.header-cta { font-family:var(--mono);font-size:12px;letter-spacing:1px;text-transform:uppercase; }
.header-cta span { color:var(--red); margin-left:7px; }

main { position:relative; z-index:2; }
.section { padding: 150px 8vw; position:relative; max-width:1600px; margin:auto; }
.hero { min-height:calc(100vh - 100px); padding:4vh 8vw 90px; position:relative; overflow:hidden; max-width:none; }
.hero-content { position:relative; z-index:3; }
.eyebrow, .section-tag {
  font-family:var(--mono); text-transform:uppercase; letter-spacing:2px; font-size:12px;
}
.eyebrow { color:var(--red); display:flex; gap:12px; align-items:center; margin-bottom:30px; }
.eyebrow span { width:40px;height:1px;background:var(--red); }

.hero h1 {
  font-size:clamp(72px,11.2vw,180px); line-height:.81; letter-spacing:-.08em;
  font-weight:800; text-transform:uppercase; max-width:1100px;
}
.hero h1 span { color:var(--red); }
.hero-copy {
  max-width:420px; margin-left:15vw; margin-top:55px; color:var(--grey);
  font-size:16px; line-height:1.9;
}
.hero-bottom { display:flex; align-items:flex-end; gap:80px; }
.circle-link, .contact-circle {
  width:130px;height:130px;border:1px solid var(--line);border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:10px;letter-spacing:1px;line-height:1.5;
  transition:background .3s,border-color .3s,transform .3s;
}
.circle-link b, .contact-circle b { color:var(--red);font-size:18px;font-weight:400;margin-top:8px; }
.circle-link:hover, .contact-circle:hover { background:var(--red);border-color:var(--red);color:var(--black);transform:rotate(8deg); }
.circle-link:hover b, .contact-circle:hover b { color:var(--black); }

.hero-code {
  position:absolute;right:7vw;top:10vh;font:9px/1.8 var(--mono);letter-spacing:1.5px;color:var(--dim);
}
.hero-code span { color:var(--red); }
.hero-number { position:absolute;bottom:35px;right:8vw;font:10px var(--mono);color:var(--dim); }
.hero-line {
  position:absolute;left:-5vw;top:57%;width:110vw;height:2px;background:var(--red);
  transform:rotate(-3deg);box-shadow:0 0 35px rgba(229,27,46,.35);z-index:4;
}
.hero-line:after {
  content:"";position:absolute;right:5%;top:-5px;width:12px;height:12px;background:var(--red);border-radius:50%;
  box-shadow:0 0 25px rgba(229,27,46,.8);
}
.hero-orbit { position:absolute;right:-5vw;top:7vh;width:min(55vw,780px);height:min(55vw,780px);border-radius:50%;z-index:1;opacity:.65; }
.orbit { position:absolute;inset:0;border:1px solid rgba(229,27,46,.16);border-radius:50%; }
.orbit-a { transform:rotate(32deg) scaleX(.42); }
.orbit-b { transform:rotate(-32deg) scaleX(.42);border-color:rgba(242,240,235,.08); }
.orbit-dot { position:absolute;width:9px;height:9px;border-radius:50%;background:var(--red);top:5%;left:50%;box-shadow:0 0 35px var(--red); }

.manifesto { display:grid;grid-template-columns:20% 1fr 20%;gap:40px;border-top:1px solid var(--line); }
.section-tag { color:var(--dim); }
.manifesto-copy { max-width:800px; }
.manifesto-small { font:12px var(--mono);letter-spacing:2px;color:var(--red);margin-bottom:30px; }
.manifesto h2,.section-heading h2,.founder h2,.contact h2 {
  font-size:clamp(50px,7vw,105px);line-height:.9;letter-spacing:-.07em;font-weight:700;
}
.manifesto h2 span,.section-heading h2 span,.founder h2 span,.contact h2 span { color:var(--red); }
.manifesto-body { max-width:610px;margin-top:55px;color:var(--grey);font-size:15px;line-height:2; }
.manifesto-side { font:9px/2.8 var(--mono);letter-spacing:1px;color:var(--dim);padding-top:5px; }
.vertical-line { width:1px;height:80px;background:var(--red);margin-bottom:20px; }

.services { border-top:1px solid var(--line); }
.section-heading { display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:90px; }
.section-heading h2 { text-align:right; }
.service-list { border-top:1px solid var(--line); }
.service {
  display:grid;grid-template-columns:12% 1fr 10%;align-items:center;min-height:220px;
  border-bottom:1px solid var(--line);transition:padding .35s,background .35s;position:relative;
}
.service:hover { padding:0 25px;background:rgba(229,27,46,.035); }
.service-index { font:10px var(--mono);color:var(--red);align-self:start;padding-top:32px; }
.service-main { display:flex;align-items:center;justify-content:space-between;gap:60px; }
.service h3 { font-size:clamp(38px,4.5vw,72px);line-height:.86;letter-spacing:-.07em;font-weight:700; }
.service p { max-width:330px;color:var(--grey);font-size:14px;line-height:1.8; }
.service-arrow { font-size:30px;color:var(--red);text-align:right;transition:transform .3s; }
.service:hover .service-arrow { transform:translate(8px,-8px); }

.principles { border-top:1px solid var(--line); }
.principle-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:80px;background:var(--line); }
.principle { background:var(--black);padding:45px;min-height:390px;position:relative; }
.principle span { font:9px var(--mono);color:var(--red); }
.principle h3 { font-size:clamp(38px,4vw,62px);line-height:.9;letter-spacing:-.06em;margin-top:100px; }
.principle p { color:var(--grey);font-size:12px;line-height:1.8;max-width:300px;margin-top:35px; }

.founder { border-top:1px solid var(--line); }
.founder-layout { display:grid;grid-template-columns:35% 1fr;align-items:center;min-height:550px; }
.founder-stamp {
  width:280px;height:280px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  font-size:80px;font-weight:800;letter-spacing:-.1em;color:var(--red);
}
.founder-stamp span { font:8px var(--mono);letter-spacing:3px;color:var(--grey);margin-top:8px; }
.founder-copy { max-width:760px; }
.founder-copy p:not(.eyebrow) { color:var(--grey);font-size:14px;line-height:1.9;max-width:520px;margin-top:45px; }
.text-link { display:inline-flex;gap:15px;margin-top:35px;font:10px var(--mono);letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--red);padding-bottom:9px; }
.text-link span { color:var(--red); }

.contact { border-top:1px solid var(--line);padding-bottom:90px; }
.contact-top { display:flex;justify-content:space-between; }
.contact-top p { font:11px var(--mono);color:var(--grey); }
.contact-title { display:flex;align-items:flex-end;justify-content:space-between;margin-top:85px; }
.contact h2 { font-size:clamp(80px,12vw,180px); }
.contact-circle { width:170px;height:170px;margin-bottom:10px; }
.contact-details { display:flex;flex-wrap:wrap;gap:45px;margin-top:90px;padding-top:22px;border-top:1px solid var(--line); }
.contact-details a { font:10px var(--mono);letter-spacing:1px;color:var(--grey);transition:color .2s; }
.contact-details a:hover { color:var(--red); }

.site-footer {
  border-top:1px solid var(--line);padding:22px 8vw 30px;display:flex;justify-content:space-between;
  font:8px var(--mono);letter-spacing:1.5px;color:var(--dim);
}

/* Reveal */
.reveal { opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }

/* Mobile */
@media (max-width:900px) {
  .site-header { height:80px;padding:0 6vw; }
  .nav { display:none; }
  .header-cta { font-size:8px; }
  .hero { min-height:calc(100vh - 80px);padding:10vh 6vw 70px; }
  .hero h1 { font-size:clamp(63px,17vw,110px); }
  .hero-code { display:none; }
  .hero-orbit { width:90vw;height:90vw;right:-48vw;top:17vh;opacity:.45; }
  .hero-line { top:52%; }
  .hero-bottom { display:block; }
  .hero-copy { margin:50px 0 35px;max-width:390px; }
  .circle-link { width:105px;height:105px; }
  .section { padding:100px 6vw; }
  .manifesto { display:block; }
  .manifesto-side { margin-top:55px; }
  .section-heading { display:block;margin-bottom:55px; }
  .section-heading h2 { text-align:left;margin-top:35px; }
  .service { grid-template-columns:45px 1fr 35px;min-height:190px; }
  .service-main { display:block; }
  .service p { margin-top:22px;max-width:310px; }
  .service h3 { font-size:40px; }
  .principle-grid { grid-template-columns:1fr; }
  .principle { min-height:310px;padding:35px; }
  .principle h3 { margin-top:75px; }
  .founder-layout { grid-template-columns:1fr;min-height:0;gap:70px;padding-top:70px; }
  .founder-stamp { width:210px;height:210px;font-size:60px; }
  .contact-top { display:block; }
  .contact-top p { margin-top:25px; }
  .contact-title { display:block;margin-top:65px; }
  .contact-circle { margin-top:50px; }
  .contact-details { display:block;margin-top:60px; }
  .contact-details a { display:block;margin-bottom:22px; }
  .site-footer { padding:22px 6vw 30px;display:block;line-height:2.2; }
}

/* Touch devices */
@media (hover:none) {
  .cursor,.cursor-ring { display:none; }
}

.brand {
    display: flex;
    align-items: center;
    gap: 1px;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .5px;
}

.brand img {
    width: 75px;
    height: 75px;
    object-fit: contain;
    display: block;
}

.brand-word small {
    display: block;
    font: 8px var(--mono);
    letter-spacing: 2px;
    color: var(--grey);
    margin-top: 4px;
    font-size: 9px;
}