:root {
  color-scheme:dark;
  --bg:#03050c;
  --ink:#eef3fc;
  --muted:#a3b0c6;
  --line:#253043;
  --accent:#a7ccf6;
  --max:1280px;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  font-synthesis:none;
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
  background:var(--bg);
}
body {
  margin:0;
  color:var(--ink);
  background:var(--bg);
  line-height:1.7;
}
a {
  color:inherit;
  text-decoration:none;
}
button,summary,a {
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,summary:focus-visible {
  outline:2px solid #b8ddff;
  outline-offset:6px;
}
a:hover {
  color:var(--accent);
}
p {
  color:var(--muted);
}
h1,h2,h3,p {
  margin-top:0;
}
h1,h2,h3 {
  font-weight:350;
  line-height:1.13;
}
h2 {
  font-size:clamp(2rem,5vw,4rem);
  letter-spacing:-.045em;
}
h2 span,h1 span {
  color:#92a8c8;
}
.eyebrow,.status,.text-link,.path-meta,.hero-tag {
  font-size:.75rem;
  letter-spacing:.15em;
  font-weight:500;
}
.eyebrow {
  color:#b6c9e2;
  margin-bottom:28px;
}
.status {
  color:#b5d7f8;
  display:inline-block;
}
.section {
  width:min(var(--max),calc(100% - 40px));
  margin:auto;
  padding:80px 0;
  border-top:1px solid var(--line);
  scroll-margin-top:30px;
}
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  min-height:76px;
  padding:12px max(20px,calc((100% - var(--max))/2));
  padding-top:max(12px,env(safe-area-inset-top));
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:#03050cf2;
  border-bottom:1px solid #ffffff12;
}
.brand {
  font-size:1.1rem;
  letter-spacing:.28em;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  min-height:44px;
}
.desktop-nav {
  display:none;
}
.mobile-nav summary {
  cursor:pointer;
  list-style:none;
  min-height:44px;
  display:flex;
  align-items:center;
  gap:20px;
  font-size:.75rem;
  letter-spacing:.16em;
}
.mobile-nav summary::-webkit-details-marker {
  display:none;
}
.mobile-nav summary span {
  font-size:1.5rem;
}
.mobile-nav[open] summary span {
  transform:rotate(45deg);
}
.mobile-nav nav {
  position:absolute;
  top:100%;
  left:0;
  right:0;
  padding:20px;
  background:#070c16;
  border-bottom:1px solid var(--line);
  box-shadow:0 30px 40px #0008;
  display:grid;
}
.mobile-nav nav a {
  padding:14px 10px;
  letter-spacing:.15em;
  font-size:.875rem;
}
.mobile-nav a[aria-current] {
  color:#bfddff;
}
.skip-link {
  position:fixed;
  top:10px;
  left:10px;
  z-index:100;
  padding:12px 20px;
  background:white;
  color:black;
  transform:translateY(-200%);
}
.skip-link:focus {
  transform:none;
}
.hero {
  width:min(var(--max),calc(100% - 40px));
  margin:auto;
  position:relative;
  padding:72px 0;
}
.home-hero {
  text-align:center;
  min-height:calc(100svh - 76px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  isolation:isolate;
}
.home-hero::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 -20px;
  background:radial-gradient(ellipse at 50% 45%,#203c6433,transparent 60%);
}
.wordmark {
  font-size:clamp(3.5rem,15vw,12rem);
  font-weight:250;
  letter-spacing:.16em;
  text-indent:.16em;
  line-height:1.1;
  margin:15px 0 20px;
}
.hero-tag {
  font-size:clamp(.75rem,1.3vw,1rem);
  letter-spacing:.28em;
  color:#cedbeb;
}
.light-line {
  width:100%;
  height:1px;
  margin:40px 0 32px;
  background:linear-gradient(90deg,transparent,#435e89,#d8eaff,#435e89,transparent);
  box-shadow:0 0 30px 5px #6398f52b;
  animation:light 9s ease-in-out infinite;
}
.manifesto {
  font-size:clamp(1.5rem,2.8vw,2.5rem);
  line-height:1.4;
  font-weight:300;
  color:#c2cddd;
}
.manifesto span {
  color:#f5f8ff;
}
.text-link {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  min-height:48px;
  padding:10px 0;
  border-bottom:1px solid #63718a;
  color:#dae9fc;
  max-width:100%;
}
.text-link span {
  font-size:1.3rem;
}
.hero-note {
  display:none;
}
.section-top {
  margin-bottom:32px;
}
.section-top p {
  margin-bottom:12px;
}
.path-grid {
  display:grid;
  gap:16px;
}
.path {
  position:relative;
  isolation:isolate;
  padding:28px 24px;
  min-height:390px;
  border:1px solid var(--line);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  background:#080e19;
}
.path-meta {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  justify-content:space-between;
  width:100%;
  color:#afc1d8;
  font-size:.75rem;
  letter-spacing:.09em;
}
.path h2 {
  font-size:clamp(2.75rem,6vw,5rem);
  letter-spacing:.02em;
  margin:45px 0 24px;
  font-weight:300;
}
.path p {
  max-width:290px;
  position:relative;
  z-index:2;
}
.path .text-link {
  margin-top:auto;
  position:relative;
  z-index:2;
}
.orion-path {
  background:radial-gradient(ellipse at 90% 45%,#152443,#060b15 65%);
}
.path-symbol {
  position:absolute;
  right:-10px;
  top:95px;
  width:160px;
  height:190px;
  opacity:.35;
  z-index:-1;
  object-fit:contain;
}
.tiny-star {
  position:absolute;
  right:18px;
  top:112px;
  font-size:5rem;
  color:#8094b83b;
}
.brand-statement {
  text-align:center;
  padding-block:110px;
}
.brand-statement h2 {
  margin-bottom:35px;
}
.lead {
  font-size:1.125rem;
  line-height:1.8;
  max-width:650px;
}
.editorial-hero {
  padding-block:85px 100px;
}
.editorial-hero h1 {
  font-size:clamp(2.7rem,6.5vw,6rem);
  letter-spacing:-.05em;
  margin-bottom:35px;
}
.editorial-hero .eyebrow .status {
  display:block;
  margin-top:14px;
}
.service-list {
  margin-top:45px;
}
.service-list article {
  display:grid;
  gap:16px;
  padding:32px 0;
  border-top:1px solid var(--line);
}
.number {
  font-size:.75rem;
  color:#b6c9e2;
  letter-spacing:.2em;
}
.service-list h2,.service-list h3 {
  font-size:1.35rem;
  letter-spacing:.04em;
  margin:0;
}
.service-list p {
  margin:0;
  max-width:520px;
}
.preparation {
  background:radial-gradient(ellipse at 20% 0,#0c1b30,transparent 65%);
}
.orion-hero .wordmark {
  font-size:clamp(3.4rem,13vw,9rem);
  text-indent:0;
  letter-spacing:.12em;
}
.orion-hero .text-link {
  display:flex;
  width:fit-content;
  margin-top:20px;
}
.symbol-stage {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:310px;
  background:radial-gradient(ellipse,#1a2c443b,transparent 65%);
}
.symbol-stage img {
  width:min(100%,330px);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
}
.symbol-stage span {
  font-size:.75rem;
  letter-spacing:.1em;
  color:#a1b3ca;
  text-align:center;
}
.split {
  display:grid;
  gap:20px;
}
.split p:last-child {
  margin-bottom:0;
}
.capabilities {
  padding:0;
  margin:48px 0 20px;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:0;
  border-block:1px solid var(--line);
}
.capabilities li {
  font-size:.75rem;
  letter-spacing:.12em;
  padding:20px 18px;
  flex:1;
  text-align:center;
}
.caption {
  font-size:.875rem;
  line-height:1.7;
  color:#a1b0c6;
}
.environment {
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:55px;
  letter-spacing:.12em;
  font-size:.75rem;
}
.environment i {
  height:1px;
  flex:1;
  background:linear-gradient(90deg,#31415a,#c0dfff,#31415a);
}
.timeline {
  display:grid;
  margin-top:45px;
  gap:30px;
}
.timeline article {
  padding:30px 24px;
  border-left:2px solid #a0c2e9;
  background:#0b1421;
}
.timeline h3 {
  font-size:1.75rem;
}
.timeline .future {
  border-left:1px dashed #7b8ba4;
  background:#060a12;
}
.genesis {
  text-align:center;
  background:#010207;
  padding-block:110px;
}
.genesis h2 {
  font-size:clamp(2.5rem,8vw,7rem);
  letter-spacing:.2em;
  text-indent:.2em;
  margin:45px 0 15px;
}
.genesis>p:last-child {
  max-width:550px;
  margin:30px auto 0;
}
.contact h2 {
  font-size:clamp(2rem,4vw,3rem);
}
.contact {
  padding-bottom:60px;
}
footer {
  width:min(var(--max),calc(100% - 40px));
  margin:auto;
  padding:24px 0 max(24px,env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:20px;
  color:#a3b0c6;
  font-size:.75rem;
}
footer p {
  flex-basis:100%;
  margin:0;
}
footer>a:last-child {
  margin-left:auto;
  font-size:1.5rem;
  min-width:44px;
  min-height:44px;
  text-align:center;
}
main {
  overflow:clip;
}
@keyframes light {
  50% {
    opacity:.55;
  }
}
@media(min-width:760px) {
  .section,.hero,footer {
    width:min(var(--max),calc(100% - 96px));
  }
  .site-header {
    padding-inline:max(48px,calc((100% - var(--max))/2));
  }
  .desktop-nav {
    display:flex;
    gap:30px;
    align-items:center;
  }
  .desktop-nav a {
    font-size:.75rem;
    letter-spacing:.12em;
    padding-block:12px;
    color:#a5b3c9;
  }
  .desktop-nav a[aria-current],.desktop-nav a:hover {
    color:#eef5ff;
  }
  .mobile-nav {
    display:none;
  }
  .home-hero {
    min-height:780px;
    max-height:1000px;
    padding-block:80px 100px;
  }
  .home-hero::before {
    inset:0 -48px;
  }
  .home-hero .light-line {
    width:85%;
    margin-top:42px;
  }
  .hero-note {
    display:block;
    position:absolute;
    bottom:24px;
    font-size:.65rem;
    letter-spacing:.2em;
    color:#899bb7;
  }
  .section {
    padding-block:110px;
  }
  .section-top {
    display:flex;
    justify-content:space-between;
    gap:25px;
  }
  .path-grid {
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .path {
    padding:36px;
    min-height:450px;
  }
  .path-symbol {
    width:230px;
    height:250px;
    right:15px;
    top:90px;
  }
  .brand-statement {
    padding-block:150px;
  }
  .split {
    grid-template-columns:1fr 1fr;
    gap:70px;
  }
  .service-list article {
    grid-template-columns:.15fr 1fr 1fr;
    align-items:start;
    padding-block:38px;
    gap:28px;
  }
  .timeline {
    grid-template-columns:1fr 1fr;
  }
  .orion-hero {
    display:grid;
    grid-template-columns:1.15fr 1fr;
    align-items:center;
    gap:32px;
    min-height:700px;
  }
  .symbol-stage img {
    width:100%;
    max-width:440px;
  }
  .editorial-hero {
    padding-block:120px;
  }
  .editorial-hero .eyebrow .status {
    display:inline;
    margin-left:30px;
  }
  .environment {
    max-width:750px;
    margin-inline:auto;
  }
  .contact {
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:50px;
  }
  .contact .eyebrow {
    grid-column:1/-1;
  }
  .contact h2 {
    grid-row:2/4;
  }
  footer p {
    flex:1;
    text-align:center;
  }
  footer>a:last-child {
    margin-left:10px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
}
@media(max-width:360px) {
  .wordmark {
    font-size:15vw;
  }
  .path {
    padding:24px 18px;
  }
  .path-meta {
    font-size:.75rem;
    letter-spacing:0;
  }
  .capabilities li {
    padding-inline:12px;
  }
  .genesis h2 {
    letter-spacing:.12em;
  }
  .eyebrow {
    letter-spacing:.1em;
  }
}
/* Respect landscape notches without reducing the readable content width. */
body {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* Studio: each service pairs its explanation with an illustrative image. */
.studio-services .service-copy {
  min-width: 0;
  display: grid;
  gap: 18px;
}
.studio-services .service-visual {
  min-width: 0;
  margin: 8px 0 0;
}
.service-visual img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border: 1px solid var(--line);
  background: #080e19;
}
.service-visual figcaption {
  margin-top: 10px;
  color: var(--muted);
  font-size: .75rem;
  letter-spacing: .06em;
}
@media (min-width: 760px) {
  .studio-services article {
    grid-template-columns: 36px minmax(0, 1fr) minmax(0, 1.3fr);
    align-items: center;
    gap: 26px;
    padding-block: 42px;
  }
  .studio-services .number {
    align-self: start;
  }
  .studio-services .service-visual {
    margin: 0;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.contact-details {
  min-width: 0;
}
.contact-links {
  margin: 24px 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}
.contact-links a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}
.contact-links a > span:first-child {
  font-size: .75rem;
  letter-spacing: .12em;
  color: var(--muted);
}
.contact-links strong {
  grid-column: 1;
  font-size: 1.125rem;
  font-weight: 400;
  overflow-wrap: anywhere;
}
.contact-arrow {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  font-size: 1.5rem;
}
@media (min-width: 760px) {
  .contact-details {
    grid-column: 2;
    grid-row: 2 / 4;
  }
}
