/* Perspective, second pass: the same sky, a more approachable conversation. */
.singularity-art, .hero-compare-link { display: none; }
html[data-hero="singularity"] .orbital-art,
html[data-hero="singularity"] .hero-default-link { display: none; }
html[data-hero="singularity"] .hero-compare-link { display: inline-flex; align-items: center; }
/* Page-wide distant stars belong behind the silhouette, not over it. */
html[data-hero="singularity"] .dark-opening::after { z-index: 0; }
html[data-hero="singularity"] .hero { z-index: 1; }
html[data-hero="singularity"] .singularity-art {
  display: block; position: absolute; right: 0; top: -28px;
  width: min(84%, 1260px); margin: 0; aspect-ratio: 7 / 5; isolation: isolate;
  pointer-events: none;
  --scene-bleed: 0px;
}
html[data-companion="true"] .singularity-art { top: 15px; width: min(59%, 850px); aspect-ratio: 800 / 740; }
html[data-hero="singularity"] .hero h1 { text-shadow: 0 2px 18px #100e19, 0 0 3px #100e19; }
@media (min-width: 981px) {
  /* Only the painting bleeds out of the wrap; its controls stay on the grid. */
  html[data-hero="singularity"]:not([data-companion]) .singularity-art { --scene-bleed: min(32vw, 400px); }
  html[data-hero="singularity"]:not([data-companion]) .hero-copy::before {
    content: ''; position: absolute; z-index: -1; inset: -45px -25px -30px calc(-1 * var(--gutter));
    background: radial-gradient(ellipse closest-side at 42% 48%, #100e19bb 25%, #100e1977 70%, transparent 100%);
    pointer-events: none;
  }
}
.companion-source, .legacy-disk { display: none; }
html[data-companion="true"] .legacy-disk { display: initial; }
html[data-companion="true"] .solo-disk { display: none; }
.singularity-system { transform: translate(0%, -12%) scale(1.14); transform-origin: 370px 421px; }
.singularity-shadow { transform: scale(1.30); transform-origin: 370px 421px; }
html[data-companion="true"] .singularity-shadow { transform: none; }
html[data-companion="true"] .companion-source { display: initial; }
html[data-companion="true"] .singularity-system { transform: none; }
.singularity-visual { position: absolute; inset: 0 calc(-1 * var(--scene-bleed)) 0 0; }
.singularity-fallback, .singularity-canvas { display: block; width: 100%; height: 100%; position: absolute; inset: 0; }
.singularity-fallback { width: calc(100% - var(--scene-bleed)); }
.singularity-canvas { opacity: 0; }
.singularity-art[data-renderer="webgl"] .singularity-canvas { opacity: 1; }
.singularity-art[data-renderer="webgl"] .singularity-fallback { visibility: hidden; }
.singularity-caption { position: absolute; left: 42%; right: 8%; bottom: 15%; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #bfb0d0; }
html[data-companion="true"] .singularity-caption { left: 22%; right: 10%; bottom: 8%; }
@media (min-width: 1101px) {
  html[data-hero="singularity"]:not([data-companion]) .singularity-fallback { transform: translateX(18%); overflow: visible; }
}
.singularity-caption>span { font-size: 8px; letter-spacing: 1.45px; }
.singularity-motion { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 11px; color: #d8c9e9; background: #16121f99; border: 1px solid #bfa0e82b; border-radius: 30px; font: inherit; font-size: 11px; white-space: nowrap; cursor: pointer; pointer-events: auto; }
.singularity-motion[hidden] { display: none; }
.singularity-motion:hover { background: #30223e; border-color: #bfa0e86b; }
.singularity-motion:focus-visible { outline: 2px solid #d9b7ff; outline-offset: 4px; }
.motion-symbol { font-size: 12px; width: 12px; text-align: center; }
@media (max-width: 1100px) {
  html[data-hero="singularity"] .hero { min-height: 0; }
  html[data-hero="singularity"] .hero-copy { width: 100%; padding-bottom: 0; }
  html[data-hero="singularity"] .singularity-art { position: relative; right: auto; top: auto; width: 100%; max-width: 800px; margin: -50px auto -20px; aspect-ratio: 800 / 740; }
  .singularity-caption { left: 12%; right: 9%; bottom: 6%; }
}
@media (min-width: 981px) and (max-width: 1100px) {
  html[data-hero="singularity"] .hero { min-height: 805px; }
  html[data-hero="singularity"] .hero-copy { width: 70%; padding-bottom: 48px; }
  html[data-hero="singularity"] .singularity-art { position: absolute; top: 160px; right: 0; width: 60%; margin: 0; }
  .singularity-caption { left: 18%; right: 11%; bottom: 2%; flex-direction: column; gap: 0; }
}
@media (max-width: 560px) {
  html[data-hero="singularity"] .singularity-art { width: calc(100% + 24px); margin: 0 -12px; }
  .singularity-caption { left: 4%; right: 4%; bottom: 2%; }
  .singularity-caption>span { font-size: 7px; letter-spacing: .8px; }
  .singularity-motion { font-size: 10px; min-height: 44px; padding: 8px 10px; }
  html[data-hero="singularity"] .hero-foot { flex-wrap: wrap; gap: 8px; }
  html[data-hero="singularity"] .hero-compare-link { min-height: 44px; font-size: 11px; }
}

:root {
  --night: #0e0d14;
  --cream: #f6f3ee;
  --ink: #29242f;
  --gutter: clamp(24px, 5.6vw, 88px);
}
body { font-size: 18px; }
.site-header { height: 104px; }
.wordmark>span { font-size: 28px; }
.wordmark-studio { font-size: 10px; }
.site-header nav { gap: 30px; font-size: 14px; }
.button { min-height: 52px; padding: 17px 22px; font-size: 15px; border-radius: 5px; gap: 24px; }
.nav-cta { min-height: 45px; font-size: 14px; padding: 12px 18px; }
.text-link { font-size: 15px; }
.eyebrow { font-size: 11px; letter-spacing: 1.7px; }
.eyebrow>span:first-child:not(.tiny-orbit) { font-size: 11px; }
.micro { font-size: 12px; }
.hero { min-height: 820px; padding-top: 58px; }
.hero-copy { width: 64%; padding-bottom: 48px; }
.hero h1 { font-size: clamp(62px, 5.25vw, 78px); letter-spacing: -3.8px; line-height: 1.06; max-width: 710px; margin-bottom: 25px; }
.hero-opener { display: block; }
.hero-invitation { display: block; margin-top: 19px; font-size: .77em; line-height: 1.12; letter-spacing: -2.3px; color: #e0d9e8; }
.hero-invitation em { color: #d5bced; font-size: 1.2em; letter-spacing: -1.5px; }
.hero-description { font-size: 19px; line-height: 1.75; max-width: 460px; color: #c6bfd0; margin: 28px 0 0; }
.hero-actions { margin-top: 29px; gap: 24px; flex-wrap: wrap; }
.hero-actions .text-link { font-size: 14px; }
.founder-intro { display: inline-flex; align-items: center; gap: 14px; margin-top: 32px; border: 0; }
.founder-intro>img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: center 30%; filter: saturate(.65); border: 1px solid #c5acdd55; }
.founder-intro>span { display: flex; flex-direction: column; gap: 1px; }
.founder-intro strong { font-size: 13px; font-weight: 600; color: #e1d8e9; }
.founder-intro>span>span { font-size: 12px; color: #ac9fb9; }
.orbital-art { width: 66%; right: -95px; top: 35px; height: 720px; }
.art-coordinate { font-size: 9px; letter-spacing: 1.5px; color: #b1a0c5; }
.art-coordinate-top { right: 10%; top: 12%; }
.art-coordinate-bottom { left: 30%; bottom: 8%; }
.art-aura { opacity: .75; }
.art-aura::before, .art-aura::after {
  content: '';
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
}
.art-aura::before {
  inset: -7%;
  background:
    radial-gradient(ellipse at 70% 36%, #cba0ff38 0%, #9563d91c 25%, transparent 57%),
    radial-gradient(ellipse at 34% 68%, #b79aef26 0%, transparent 45%);
  opacity: .36;
  animation: nebula-drift 14s ease-in-out infinite;
}
.art-aura::after {
  inset: 5% -8%;
  background: radial-gradient(ellipse at 67% 45%, #eddaff38 0%, #c799ff20 19%, #ac7edf0a 37%, transparent 58%);
  opacity: .22;
  animation: nebula-shimmer 9s ease-in-out infinite;
  animation-delay: -2s;
}
@keyframes nebula-drift {
  0%, 100% { opacity: .3; transform: translate(-3%, 2%) rotate(-5deg) scale(.96); }
  50% { opacity: .72; transform: translate(3%, -2%) rotate(4deg) scale(1.04); }
}
@keyframes nebula-shimmer {
  0%, 100% { opacity: .16; transform: translate(-3%, 3%) scale(.96, .94); }
  50% { opacity: .68; transform: translate(4%, -2%) scale(1.05, 1.02); }
}
.orbit-mover {
  offset-path: path('M43 346 A330 97 0 0 0 703 346 A330 97 0 0 0 43 346');
  offset-distance: 18%;
  offset-rotate: auto;
  animation: craft-orbit 8s linear infinite;
  animation-delay: -1.4s;
}
@keyframes craft-orbit { from { offset-distance: 0%; } to { offset-distance: 100%; } }
.hero-foot { font-size: 10px; padding: 24px 0; letter-spacing: 1px; color: #b6a9c3; gap: 12px 24px; flex-wrap: wrap; }
.hero-foot a { font-size: 12px; }
.hero-project-links { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px 24px; }
.hero-project-links a { min-height: 44px; align-items: center; letter-spacing: .1px; }
.hero-explorer-link, .hero-project-links .hero-default-link { display: inline-flex; }
.hero-project-links .hero-default-link>span { margin: 0 8px 0 0; }
@media (max-width: 800px) {
  .hero-project-links { width: 100%; justify-content: flex-start; gap: 0 20px; }
  .hero-project-links a { font-size: 11px; }
}
h2 { font-size: clamp(40px, 3.7vw, 56px); }
.possibilities { padding: 96px 0 55px; }
.possibilities-heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 7%; margin-bottom: 42px; }
.possibilities-heading h2 { margin-bottom: 0; }
.possibilities-heading h2 em { color: var(--purple); }
.recognition-intro>p { font-size: 18px; line-height: 1.8; color: #625b68; max-width: 490px; margin-bottom: 18px; }
.recognition-intro>.possibility-note { color: #6f4f85; margin: 0 0 22px; }
.possibility-note em { font-size: 1.4em; }
.explore-hint { display: inline-flex; align-items: center; gap: 13px; font-size: 14px; color: #6f4f85; }
.disclosure-chevron { display: inline-block; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); flex-shrink: 0; transition: transform .2s; }
.question-hint-arrow:before { content: '→'; font-size: 20px; }
.question-explorer { --question-gap: 42px; --question-violet: #745287; display: grid; grid-template-columns: .95fr 1.18fr; gap: var(--question-gap); align-items: start; }
.question-choices { border-top: 1px solid #d7cfdc; }
.question-choice { width: 100%; position: relative; display: grid; grid-template-columns: 24px 1fr 23px; gap: 15px; align-items: center; min-height: 99px; padding: 23px 17px 23px 6px; text-align: left; background: transparent; border-bottom: 1px solid #ddd6df; border-radius: 0; font-size: 17px; font-weight: 600; line-height: 1.6; letter-spacing: -.2px; transition: background .2s, color .2s; }
.question-index { color: #8d769b; font-size: 11px; font-weight: 400; align-self: start; padding-top: 5px; }
.question-arrow { justify-self: end; color: #9576a6; margin-right: 4px; transform: rotate(-45deg); }
.question-choice:hover { background: #eae3ed; }
.question-choice[data-active=true] { color: #fffafc; background: var(--question-violet); border-bottom-color: var(--question-violet); border-radius: 7px 0 0 7px; }
.question-choice[data-active=true] .question-index { color: #e5d6ee; }
.question-choice[data-active=true] .question-arrow { color: #fffafc; }
.question-choice[data-active=true]:after { content: ''; position: absolute; left: 100%; top: 50%; width: calc(var(--question-gap) + 2px); height: 2px; background: var(--question-violet); pointer-events: none; }
.answer-panel { position: relative; padding: 0; background: #fffcf8; border: 2px solid var(--question-violet); border-radius: 10px; box-shadow: 0 15px 35px #40225109; min-height: 638px; scroll-margin-top: 24px; }
.answer-panel[hidden] { display: none; }
.answer-selection { display: flex; align-items: center; gap: 18px; padding: 22px 30px; color: #fffafc; background: var(--question-violet); border-radius: 7px 7px 0 0; }
.answer-number { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border: 1px solid #dac9e660; border-radius: 50%; font-size: 13px; }
.answer-question-caption { display: block; margin-bottom: 6px; font-size: 10px; letter-spacing: 1.5px; color: #e5d6ee; }
.answer-selection .answer-question-text { margin: 0; font-size: 17px; line-height: 1.6; font-weight: 600; }
.answer-body { padding: 28px 30px; }
.answer-topline { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.answer-topline .eyebrow { margin: 0; font-size: 10px; color: #7d608e; letter-spacing: 1.5px; }
.answer-panel h3 { font-size: 35px; line-height: 1.18; letter-spacing: -1px; margin: 27px 0 23px; }
.answer-panel h3 em { color: #78578c; font-size: 1.22em; }
.answer-description { font-size: 17px; line-height: 1.8; color: #63586b; margin-bottom: 22px; }
.answer-example { background: #f0eaf4; border: 1px solid #e5daed; padding: 21px; border-radius: 7px; }
.example-label { display: block; font-size: 10px; letter-spacing: 1.3px; font-weight: 700; color: #7a5b8c; margin-bottom: 10px; }
.answer-example>p { font-size: 16px; line-height: 1.8; margin: 0; color: #594b62; }
.example-flow { margin: 22px 0 0; padding: 17px 0 0; list-style: none; border-top: 1px solid #d9ccdf; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.example-flow li { position: relative; font-size: 12px; line-height: 1.6; color: #65516f; }
.example-flow li>span { display: block; margin-bottom: 5px; font-size: 10px; color: #9579a3; }
.example-flow li:not(:last-child):after { content: '→'; position: absolute; top: 0; right: 0; font-size: 14px; color: #a18aad; }
.answer-grounding { font-size: 14px; line-height: 1.8; color: #7b6a85; margin: 21px 0; }
.answer-actions { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; margin-top: 24px; }
.answer-actions .button { font-size: 13px; min-height: 48px; padding: 15px 18px; gap: 19px; }
.answer-next { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; color: #7d628c; background: none; padding: 10px 0; }
.back-to-questions { display: none; }
.possibilities-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid #dcd4dd; margin-top: 39px; padding-bottom: 28px; }
.possibilities-foot>span { font-size: 13px; color: #7c6e85; }
.possibilities-foot .text-link { font-size: 13px; }
.founder { background: var(--cream); color: var(--ink); padding: 50px 0 96px; }
.founder-grid { grid-template-columns: .76fr 1.1fr; gap: 10%; }
.founder-image { min-height: 510px; max-height: 670px; border-radius: 8px; }
.founder-image>img { filter: saturate(.65); opacity: 1; }
.photo-caption { font-size: 10px; letter-spacing: 1.1px; }
.founder-copy .eyebrow { font-size: 11px; }
.founder-copy h2 { font-size: 52px; }
.founder-copy h2 em { color: #755187; }
.founder-copy>p:not(.eyebrow) { font-size: 18px; line-height: 1.85; color: #665a6e; max-width: 590px; }
.founder-copy strong { font-weight: 600; color: #4e3d5a; }
.inline-product-link { color: #6f4f85; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; white-space: nowrap; }
.inline-product-link>span { font-size: .8em; }
.inline-product-link:hover { color: #4e3d5a; }
.signature { font-size: 33px; color: #6f4e83; }
.founder-signoff .micro { font-size: 10px; color: #877291; }
.work { padding-top: 75px; }
.section-topline>.micro { font-size: 10px; color: #b0a0bf; }
.work-copy h2 { font-size: 47px; }
.work-copy>p { font-size: 18px; line-height: 1.85; max-width: 440px; color: #bfb2ca; }
.project-name { font-size: 19px; }
.work-tags span { font-size: 10px; }
.work-bottom { font-size: 15px; color: #b3a2bf; padding: 30px 0; }
.product-caption { font-size: 9px; color: #b5a1c3; letter-spacing: 1.2px; }
.process { padding: 95px 0; }
.section-intro { font-size: 18px; line-height: 1.85; color: #716475; max-width: 500px; }
.process-tour { position: relative; }
.process-tour-controls { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 5px; font-size: 12px; color: #85738e; }
.process-tour-controls[hidden] { display: none; }
.tour-toggle { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 12px; margin-right: -12px; color: #6f4f85; background: transparent; font-size: 12px; white-space: nowrap; border-radius: 6px; }
.tour-toggle:hover { background: #e9dff080; }
.tour-control-icon { width: 10px; height: 10px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.tour-toggle[data-enabled=false] .tour-control-icon { width: 10px; height: 11px; border: 0; background: currentColor; clip-path: polygon(15% 0, 100% 50%, 15% 100%); }
.process-steps button { font-size: 16px; }
.process-steps button>span:first-child { font-size: 11px; }
.process-steps button[aria-selected=true]:after { background: #aa91bd40; }
.step-progress { visibility: hidden; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, #8f69a6, #c3a0dc); z-index: 2; }
.process-steps button[aria-selected=true] .step-progress { visibility: visible; }
.step-progress:after { content: ''; position: absolute; right: -3px; top: -2.5px; width: 7px; height: 7px; border-radius: 50%; background: #895bad; box-shadow: 0 0 0 3px #b68ad82e, 0 0 8px #b68ad855; }
.process-tour[data-running=false] .step-progress:after { box-shadow: none; }
@media (prefers-reduced-motion: reduce) {
  .step-progress { opacity: 0; }
  .process-steps button[aria-selected=true]:after { background: #725089; }
}
.process-detail { grid-template-columns: 55px 1.3fr 1fr; gap: 28px; padding: 36px 0 50px; }
.process-detail h3 { font-size: 25px; }
.process-detail p { font-size: 17px; color: #6e6178; line-height: 1.85; }
.process-deliverable .eyebrow { font-size: 10px; }
.portal-copy .eyebrow { font-size: 10px; }
.portal-copy h3 { font-size: 38px; }
.portal-copy>p { font-size: 17px; line-height: 1.85; color: #74637f; max-width: 400px; }
.sample-note { font-size: 10px; line-height: 1.8; letter-spacing: .8px; color: #7d638d; }
.portal-window-top { font-size: 10px; }
.sample-pill { font-size: 10px; }
.portal-project-heading .micro { font-size: 10px; }
.portal-project-heading h4 { font-size: 20px; }
.on-track { font-size: 10px; }
.milestone-count>span { font-size: 12px; }
.portal-update strong { font-size: 14px; }
.portal-update p { font-size: 12px; }
.portal-action { min-height: 46px; font-size: 13px; }
.questions { padding: 85px 0 100px; background: #efebe5; }
.questions-intro { font-size: 18px; line-height: 1.85; color: #77697e; max-width: 370px; }
.faq-list summary { font-size: 18px; padding: 23px 0; }
.faq-list details>p { font-size: 17px; line-height: 1.85; color: #71617b; }
.closing { padding: 105px 0 88px; }
.closing .eyebrow { font-size: 11px; }
.closing h2 { font-size: 62px; }
.closing .micro { font-size: 14px; color: #c1aecf; }
.footer-main>span { font-size: 24px; }
.back-top { font-size: 12px; }
.footer-meta { font-size: 10px; color: #ad9bbd; letter-spacing: .7px; padding-top: 20px; padding-bottom: 22px; }
.studio-dialog { width: min(740px, calc(100% - 32px)); padding: 31px 38px 38px; }
.wide-dialog { width: min(960px, calc(100% - 32px)); }
.dialog-top .eyebrow { font-size: 10px; }
.close-dialog { width: 42px; height: 42px; font-size: 28px; }
.studio-dialog h2 { font-size: 43px; }
.dialog-lead, .guide-result p, .case-story p { font-size: 17px; line-height: 1.85; color: #6d5c78; }
.guide-step { font-size: 11px; }
.guide-option { font-size: 16px; min-height: 85px; }
.guide-field { font-size: 16px; }
.guide-field textarea, .guide-field input { font-size: 16px; }
.guide-field>small { font-size: 12px; color: #7e6f88; }
.back-button { font-size: 14px; }
.small-muted, .prototype-notice { font-size: 13px; color: #786384; }
.answer-summary p, .brief-output p { font-size: 16px; color: #695473; }
.case-facts span { font-size: 11px; }
.case-story .eyebrow { font-size: 10px; }
.case-story h3 { font-size: 26px; }
.sample-tabs button { font-size: 15px; }
.demo-milestones li { font-size: 15px; }
.demo-milestones li small { font-size: 12px; }
.sample-feedback .eyebrow { font-size: 10px; }
.sample-feedback p, .scope-list { font-size: 16px; }
.sample-feedback button { font-size: 14px; min-height: 44px; }

@media (min-width: 1550px) {
  .hero { min-height: 850px; padding-top: 68px; }
  .hero h1 { font-size: 78px; }
  .orbital-art { top: 34px; right: -80px; height: 755px; }
}
@media (max-width: 1100px) {
  .site-header nav { gap: 20px; }
  .hero { min-height: 805px; }
  .hero-copy { width: 69%; }
  .hero h1 { font-size: 66px; }
  .orbital-art { width: 75%; right: -150px; top: 42px; height: 650px; }
  .hero-description { max-width: 425px; }
  .hero-actions { max-width: 470px; gap: 17px; }
  .question-explorer { --question-gap: 25px; grid-template-columns: 1fr 1.12fr; }
  .question-choice { font-size: 16px; padding-right: 9px; gap: 10px; grid-template-columns: 20px 1fr 16px; }
  .answer-body, .answer-selection { padding: 25px; }
  .answer-panel h3 { font-size: 31px; }
  .answer-description { font-size: 16px; }
  .example-flow { gap: 12px; }
  .founder-grid { gap: 7%; }
  .founder-copy h2 { font-size: 46px; }
  .founder-copy>p:not(.eyebrow) { font-size: 17px; }
  .founder-image { min-height: 500px; }
  .work-copy h2 { font-size: 39px; }
  .work-copy>p { font-size: 17px; }
  .process-detail { gap: 20px; grid-template-columns: 40px 1.3fr 1fr; }
}
@media (max-width: 800px) {
  .site-header { height: 91px; }
  .site-header nav>a { font-size: 12px; }
  .nav-cta { font-size: 12px; gap: 12px; }
  .wordmark>span { font-size: 25px; }
  .hero { min-height: 795px; padding-top: 44px; }
  .hero-copy { width: 82%; }
  .hero h1 { font-size: 62px; }
  .hero-description { font-size: 18px; max-width: 410px; }
  .orbital-art { width: 83%; right: -220px; top: 100px; height: 575px; opacity: .58; }
  .art-coordinate, .art-cross { display: none; }
  .hero-foot { font-size: 8px; letter-spacing: .4px; gap: 18px; }
  .hero-foot a { font-size: 10px; white-space: nowrap; }
  .hero-foot a>span { margin-left: 8px; }
  .possibilities { padding: 70px 0 36px; }
  .possibilities-heading { gap: 25px; }
  .possibilities-heading h2 { font-size: 39px; }
  .recognition-intro>p { font-size: 16px; }
  .explore-hint { font-size: 12px; }
  .question-explorer { gap: 24px; grid-template-columns: 1fr; }
  .question-hint-arrow:before { content: '↓'; }
  .question-choices { display: block; }
  .question-choice { min-height: 85px; padding: 21px 13px; }
  .question-arrow { transform: rotate(45deg); margin-top: -5px; }
  .question-choice[data-active=true] { border-radius: 7px 7px 0 0; }
  .question-choice[data-active=true]:after { display: none; }
  .question-choice[data-active=true] .question-arrow { transform: rotate(225deg); margin-top: 5px; }
  .answer-panel { min-height: 0; border-radius: 0 0 10px 10px; }
  .answer-body { padding: 30px; }
  .answer-selection { display: none; }
  .question-choices .answer-panel { margin: 0 0 16px; }
  .answer-panel h3 { font-size: 36px; }
  .answer-description, .answer-example>p { font-size: 17px; }
  .answer-actions { justify-content: space-between; }
  .back-to-questions { display: inline-flex; margin-top: 23px; font-size: 13px; color: #77578a; text-decoration: underline; text-underline-offset: 4px; }
  .possibilities-foot { align-items: flex-start; gap: 12px; }
  .founder { padding: 34px 0 70px; }
  .founder-grid { grid-template-columns: .8fr 1fr; gap: 6%; }
  .founder-image { min-height: 570px; }
  .founder-copy h2 { font-size: 37px; }
  .founder-copy .eyebrow { font-size: 10px; }
  .photo-caption { font-size: 8px; left: 16px; }
  .work { padding-top: 60px; }
  .work-copy h2 { font-size: 45px; }
  .work-copy>p { font-size: 18px; max-width: 550px; }
  .process, .questions { padding: 70px 0; }
  .process-steps button { font-size: 14px; gap: 8px; }
  .section-intro { font-size: 17px; max-width: 560px; }
  .process-detail p { font-size: 16px; }
  .portal-copy>p { max-width: 550px; }
  .portal-preview { justify-self: center; }
  .portal-window-body { padding: 25px; }
  .portal-project-heading h4 { font-size: 19px; }
  .portal-update strong { font-size: 14px; }
  .portal-update p { font-size: 12px; }
  .portal-action { font-size: 13px; }
  .questions-intro { max-width: 540px; }
  .footer-main>span { font-size: 20px; }
  .footer-meta { font-size: 9px; }
}
@media (max-width: 560px) {
  .site-header { height: 87px; }
  .site-header nav>a, .nav-cta { font-size: 16px; }
  .menu-toggle { font-size: 14px; min-height: 44px; }
  .hero { padding-top: 35px; min-height: 0; }
  .hero-copy { width: 100%; padding-bottom: 0; }
  .hero .eyebrow { font-size: 9px; letter-spacing: 1.35px; margin-bottom: 25px; }
  .hero h1 { font-size: clamp(43px, 11.6vw, 59px); letter-spacing: -2.4px; margin-bottom: 23px; }
  .hero-invitation { font-size: .77em; letter-spacing: -1.3px; margin-top: 17px; }
  .hero-invitation em { letter-spacing: -.7px; }
  .hero-description { font-size: 17px; line-height: 1.8; max-width: 380px; width: 100%; margin-top: 23px; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 13px; margin-top: 26px; }
  .hero-actions .button { font-size: 15px; min-height: 53px; }
  .hero-actions .text-link { font-size: 14px; }
  .founder-intro { margin-top: 27px; gap: 12px; }
  .founder-intro strong { font-size: 12px; }
  .founder-intro>span>span { font-size: 11px; }
  .founder-intro>img { width: 40px; height: 40px; }
  .orbital-art { position: relative; top: auto; right: auto; width: calc(100% + 66px); height: auto; aspect-ratio: 740 / 620; margin: -5px -33px -24px; opacity: 1; }
  .art-coordinate-bottom { display: block; left: 27%; bottom: 10%; font-size: 7px; }
  .hero-foot { padding: 21px 0 24px; font-size: 8px; letter-spacing: .7px; justify-content: center; }
  .hero-foot>span { line-height: 1.9; text-align: center; justify-content: center; }
  .hero-foot>a { display: none; }
  h2 { font-size: 38px; letter-spacing: -1.6px; }
  .possibilities { padding: 61px 0 26px; }
  .possibilities-heading { grid-template-columns: 1fr; gap: 23px; margin-bottom: 30px; }
  .possibilities-heading h2 { font-size: 39px; }
  .recognition-intro>p { font-size: 17px; margin-bottom: 14px; }
  .explore-hint { font-size: 13px; }
  .explore-hint>span { transform: rotate(-45deg); }
  .question-choices { grid-template-columns: 1fr; }
  .question-choice { min-height: 95px; font-size: 16px; padding: 20px 10px 20px 5px; gap: 13px; grid-template-columns: 20px 1fr 19px; }
  .question-choice:nth-child(odd) { border-right: 0; }
  .question-index { font-size: 10px; }
  .answer-body { padding: 24px 20px; }
  .answer-topline .eyebrow { font-size: 9px; letter-spacing: 1px; }
  .answer-panel h3 { font-size: 31px; margin-top: 24px; }
  .answer-description, .answer-example>p { font-size: 16px; }
  .answer-example { padding: 18px 16px; }
  .example-flow { gap: 10px; }
  .example-flow li { font-size: 11px; }
  .answer-actions { gap: 12px; }
  .answer-actions .button { font-size: 12px; gap: 13px; padding: 15px 14px; }
  .answer-grounding { font-size: 13px; }
  .possibilities-foot>span, .possibilities-foot .text-link { font-size: 12px; }
  .founder { padding: 26px 0 63px; }
  .founder-grid { grid-template-columns: 1fr; gap: 33px; }
  .founder-image { aspect-ratio: 1.05; min-height: 0; max-width: none; width: 100%; }
  .founder-image>img { object-position: center 35%; }
  .photo-caption { font-size: 9px; left: 22px; }
  .founder-copy h2 { font-size: 40px; }
  .founder-copy>p:not(.eyebrow) { font-size: 17px; line-height: 1.85; }
  .signature { font-size: 31px; }
  .founder-signoff .micro { font-size: 9px; }
  .section-topline .eyebrow { font-size: 10px; }
  .work-copy h2 { font-size: 37px; }
  .work-copy>p { font-size: 17px; }
  .work-tags span { font-size: 9px; }
  .work-bottom { font-size: 12px; align-items: flex-end; gap: 15px; }
  .work-bottom .text-link { font-size: 12px; gap: 10px; white-space: nowrap; }
  .product-caption { font-size: 8px; letter-spacing: .5px; }
  .process, .questions { padding: 62px 0; }
  .process-tour-controls { font-size: 11px; gap: 12px; }
  .tour-toggle { font-size: 11px; }
  .process h2 { font-size: 38px; }
  .section-intro { font-size: 17px; }
  .process-steps { gap: 12px; display: flex; padding-bottom: 6px; border-bottom: 0; background: linear-gradient(var(--line), var(--line)) left calc(100% - 6px) / 100% 1px no-repeat; }
  .process-steps button { flex: 1 0 auto; font-size: 12px; padding-right: 8px; }
  .process-detail { grid-template-columns: 27px 1fr; gap: 16px; padding-top: 29px; }
  .process-detail h3 { font-size: 24px; }
  .process-detail p { font-size: 16px; }
  .process-deliverable { grid-column: 2; padding-left: 0; border-left: 0; }
  .portal-copy h3 { font-size: 35px; }
  .portal-copy>p { font-size: 17px; }
  .portal-copy .text-link { font-size: 14px; }
  .sample-note { font-size: 9px; }
  .portal-window-top { font-size: 9px; padding: 13px; gap: 8px; letter-spacing: .7px; }
  .portal-window-body { padding: 18px 15px; }
  .portal-project-heading h4 { font-size: 16px; }
  .portal-project-heading .micro { font-size: 8px; }
  .on-track { font-size: 8px; }
  .portal-update strong { font-size: 12px; }
  .portal-update p { font-size: 11px; }
  .portal-action { font-size: 12px; }
  .questions h2 { font-size: 37px; }
  .questions-intro { font-size: 17px; }
  .faq-list summary { font-size: 17px; padding: 22px 0; }
  .faq-list details>p { font-size: 16px; margin-right: 5px; }
  .closing { padding: 76px 0 66px; }
  .closing .eyebrow { font-size: 9px; letter-spacing: .9px; }
  .closing h2 { font-size: 43px; }
  .closing .button { font-size: 15px; }
  .closing .micro { font-size: 13px; max-width: 270px; margin: 18px auto 0; }
  .footer-main>span { font-size: 24px; }
  .back-top { font-size: 11px; }
  .footer-meta { font-size: 9px; letter-spacing: .2px; }
  .studio-dialog { padding: 22px; width: calc(100% - 20px); max-height: 92dvh; }
  .dialog-top .eyebrow { font-size: 9px; letter-spacing: .8px; }
  .studio-dialog h2 { font-size: 33px; }
  .dialog-lead, .guide-result p, .case-story p { font-size: 16px; }
  .guide-option { font-size: 15px; min-height: 64px; }
  .guide-field { font-size: 15px; }
  .guide-actions { flex-wrap: wrap; gap: 13px; }
  .guide-actions .button { font-size: 14px; }
  .small-muted, .prototype-notice { font-size: 12px; }
  .case-story h3 { font-size: 24px; }
  .sample-tabs button { font-size: 12px; padding: 12px 8px; }
  .sample-feedback p, .scope-list { font-size: 15px; }
  .demo-milestones li { flex-wrap: wrap; font-size: 13px; gap: 9px; }
  .demo-milestones li strong { flex: 1; }
  .demo-milestones li small { font-size: 11px; }
}

/* A clear dark interval between the process and questions. */
.project-space { background: #191421; padding: clamp(64px, 7vw, 108px) 0; }
.project-space .portal-section { padding-top: 0; border-top: 0; }
.project-space .portal-copy h3 { color: #f5f3ec; }
.project-space .portal-copy h3 em { color: #ccb5ff; }
.project-space .portal-copy > p { color: #d0c9da; }
.project-space .portal-copy .eyebrow, .project-space .sample-note { color: #c3b3d5; }
.project-space .portal-copy .text-link { color: #e0ccff; border-color: #a58cbe; }
.project-space .portal-preview { color: #211d2c; transform: none; box-shadow: 0 20px 50px #0003; }
.portal-brand { font-size: 14px; font-weight: 700; color: #49365e; letter-spacing: -.3px; }
.portal-space-label { font-size: 12px; letter-spacing: 0; color: #655c70; }
.project-space .portal-window-top { flex-wrap: wrap; gap: 8px 14px; }
.project-space .milestone-count strong { font: 700 clamp(16px, 1.5vw, 22px)/1.4 var(--sans); color: #35263f; }
.project-space .portal-project-heading .micro { color: #6b6074; }
.project-space .portal-update p { color: #65596e; }
.project-space .milestone-track .current { background: #cbbbdc; }
@media(max-width:600px) {
  .portal-space-label { flex-basis: 100%; order: 3; }
  .project-space .portal-project-heading { flex-wrap: wrap; }
}

/* Violet wordmark and persistent frosted navigation. */
.wordmark-shift { color: #ccb5ff; }
.wordmark-studio { color: #c3b6d4; }
html { scroll-padding-top: 124px; }
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  width: 100%;
  padding-inline: max(var(--gutter), calc((100vw - 1440px) / 2 + var(--gutter)));
  background: rgba(16, 14, 25, .84);
  -webkit-backdrop-filter: blur(20px) saturate(125%);
  backdrop-filter: blur(20px) saturate(125%);
  border-bottom: 1px solid rgba(204, 181, 255, .16);
}
.skip-link { position: fixed; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header { background: #100e19; }
}
@media(max-width:600px) { html { scroll-padding-top: 107px; } }

/* A three-chapter story: pocket, workplace, bigger picture. */
.solutions { background:#100e17; padding:90px 0 76px; overflow:hidden; }
.solutions-heading { display:grid; grid-template-columns:1fr 1fr; gap:8%; align-items:end; }
.solutions-heading .eyebrow { color:#c5b1df; font-size:11px; }
.solutions-heading h2 { font-size:clamp(40px,4.8vw,66px); line-height:1.06; letter-spacing:-2px; }
.solutions-heading h2 em,.solution-story h3 em,.services-intro h3 em { color:#ccb5ff; }
.solutions-heading>p { color:#c0b7cb; font-size:17px; line-height:1.85; max-width:500px; margin:0 0 6px; }
.solution-carousel { margin-top:42px; }
.solution-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #ffffff21; padding-top:20px; }
.solution-choices { display:flex; gap:8px; }
.solution-choices button,.solution-play { background:transparent; color:#b8afc3; font-size:13px; padding:10px 20px; border-radius:30px; min-height:44px; }
.solution-choices button[aria-pressed=true] { background:#ccb5ff; color:#21182e; font-weight:700; }
.solution-choices button:hover { color:#fff; background:#ffffff15; }
.solution-choices button[aria-pressed=true]:hover { color:#21182e; background:#ddccff; }
.solution-play { display:flex; gap:12px; align-items:center; padding-right:0; }
.solution-stage { position:relative; height:565px; touch-action:pan-y; }
.solution-slide { position:absolute; inset:0; display:grid; grid-template-columns:.85fr 1.15fr; gap:5%; align-items:center; opacity:0; visibility:hidden; transform:translateX(80px); transition:opacity .65s ease,transform .85s cubic-bezier(.22,.7,.24,1),visibility .85s; pointer-events:none; }
.solution-slide.is-leaving { transform:translateX(-80px); }
.solution-slide.is-active { opacity:1; visibility:visible; transform:translateX(0); pointer-events:auto; }
.solution-number { color:#b59dce; letter-spacing:1.8px; font-size:11px; }
.solution-story h3 { font-size:clamp(30px,3.3vw,46px); line-height:1.18; letter-spacing:-1.4px; margin:18px 0 22px; }
.solution-story>p { font-size:17px; line-height:1.85; color:#d0c8d8; max-width:410px; }
.solution-examples { display:block; color:#ad9dbb; font-size:12px; line-height:1.9; margin-top:24px; }
.solution-visual { margin:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; position:relative; min-width:0; }
.solution-visual:before { content:""; position:absolute; z-index:0; width:90%; height:80%; background:radial-gradient(ellipse,#8054bf30,transparent 68%); pointer-events:none; }
.solution-visual figcaption { position:relative; color:#ad9dbb; font-size:10px; letter-spacing:.4px; text-align:center; }
.device { position:relative; z-index:1; }
.device img { width:100%; height:auto; display:block; }
.device-phone { width:216px; padding:7px; background:linear-gradient(125deg,#8f8998,#22202a 25%,#625b6a 75%,#302b37); border-radius:35px; box-shadow:0 25px 60px #0009,0 0 0 1px #aaa0b44d; }
.device-phone img { border-radius:28px; }
.device-tablet { width:100%; max-width:610px; background:linear-gradient(135deg,#898390,#24212a 40%,#696171); padding:13px; border-radius:25px; box-shadow:0 30px 60px #0008; }
.device-tablet img { border-radius:14px; }
.device-laptop { width:100%; max-width:660px; padding:0 10px; }
.laptop-lid { margin:0 5%; padding:12px 9px 15px; border:1px solid #9b92a7; border-radius:15px 15px 2px 2px; background:#19161e; box-shadow:0 15px 55px #0009; }
.laptop-lid img { border-radius:5px; }
.laptop-base { height:15px; background:linear-gradient(#b0aab6,#605a69 65%,#28232e); border-radius:2px 2px 65% 65% / 2px 2px 100% 100%; position:relative; }
.laptop-base:before { content:""; position:absolute; width:15%; height:5px; background:#625b70; left:42.5%; border-radius:0 0 8px 8px; }
.solution-timer { height:2px; background:#ffffff13; }
.solution-timer span { display:block; height:100%; width:calc(var(--tour-progress,0) * 100%); background:#b99be2; }
.solution-services { border-top:1px solid #ffffff21; margin-top:50px; padding-top:42px; display:grid; grid-template-columns:.7fr 1.3fr; gap:6%; }
.services-intro h3 { font-size:29px; line-height:1.25; letter-spacing:-.6px; }
.services-intro>p { color:#b8afc3; font-size:14px; }
.services-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px 32px; }
.services-grid h4 { font-size:15px; font-weight:600; margin:0 0 7px; color:#efe7f8; }
.services-grid p { font-size:13px; line-height:1.8; color:#b8afc3; margin:0; }
.services-conversation { align-self:center; }
.services-conversation .text-link { color:#dcc4fa; font-size:13px; text-align:left; }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media(max-width:900px) {
  .solutions-heading { gap:5%; }
  .solutions-heading>p,.solution-story>p { font-size:15px; }
  .solution-stage { height:530px; }
  .solution-slide { grid-template-columns:1fr 1fr; gap:4%; }
  .solution-services { grid-template-columns:1fr; gap:24px; }
}
@media(max-width:600px) {
  .solutions { padding:62px 0; }
  .solutions-heading { grid-template-columns:1fr; gap:22px; }
  .solutions-heading h2 { font-size:43px; }
  .solutions-heading>p { font-size:16px; }
  .solution-carousel { margin-top:28px; }
  .solution-controls { gap:6px; }
  .solution-choices { gap:2px; }
  .solution-choices button { padding:9px 13px; font-size:12px; }
  .solution-play { font-size:12px; gap:6px; }
  .solution-stage { height:780px; }
  .solution-slide { grid-template-columns:1fr; grid-template-rows:300px 460px; gap:0; align-items:start; transform:translateX(35px); }
  .solution-slide.is-leaving { transform:translateX(-35px); }
  .solution-slide.is-active { transform:none; }
  .solution-story { padding-top:30px; }
  .solution-story h3 { font-size:34px; margin:12px 0 16px; }
  .solution-story>p { font-size:15px; margin:0; }
  .solution-examples { font-size:11px; margin-top:15px; }
  .solution-visual { height:460px; gap:20px; }
  .device-phone { width:184px; border-radius:31px; }
  .device-phone img { border-radius:25px; }
  .device-tablet { padding:9px; border-radius:18px; }
  .device-tablet img { border-radius:10px; }
  .laptop-lid { padding:8px 5px 10px; border-radius:10px 10px 2px 2px; }
  .laptop-base { height:10px; }
  .solution-services { margin-top:30px; padding-top:32px; }
  .services-grid { grid-template-columns:1fr; gap:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .solution-slide { transition:none; transform:none!important; }
}
@media(max-width:360px) {
  .solution-stage { height:840px; }
  .solution-slide { grid-template-rows:360px 460px; }
}

/* Direct section navigation, with enough room for every destination. */
.site-header { gap: 24px; }
.site-header .wordmark { flex-shrink: 0; }
.site-header nav { gap: clamp(14px, 1.35vw, 22px); }
.site-header nav>a { font-size: 13px; white-space: nowrap; }
.site-header nav>a:not(.button) { min-height: 44px; display: inline-flex; align-items: center; }
.site-header .nav-cta { gap: 12px; }

/* An invitation, not an intake wizard. */
.contact { padding: 96px 0 88px; background: radial-gradient(ellipse at 5% 35%, #7753961a, transparent 58%), #100e19; }
.contact-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(32px, 6vw, 90px); align-items: start; }
.contact-invitation, .contact-fields { min-width: 0; }
.contact h2 { font-size: clamp(40px, 3.7vw, 56px); line-height: 1.12; letter-spacing: -1.8px; margin: 0 0 24px; }
.contact h2 em { color: #d5bced; }
.contact-lead { font-size: 18px; line-height: 1.8; color: #c6bfd0; max-width: 490px; margin: 0; }
.contact-context { border: 0; padding: 0; margin: 32px 0 0; min-width: 0; }
.contact-context legend { padding: 0; font-size: 15px; font-weight: 600; color: #f2eaf9; }
#contact-context-hint { font-size: 13px; color: #b4a7c2; margin: 7px 0 15px; }
.context-choices { display: flex; flex-wrap: wrap; gap: 9px; }
.context-choice { position: relative; display: inline-flex; max-width: 100%; cursor: pointer; }
.context-choice input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.context-choice>span { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 10px 13px; border: 1px solid #675575; border-radius: 9px; background: #211a2c; color: #d8cce3; font-size: 13px; line-height: 1.45; transition: background .16s, border-color .16s, color .16s; }
.context-mark { display: inline-grid; place-content: center; width: 14px; flex: 0 0 14px; font-size: 16px; line-height: 1; color: #bba0d4; }
.context-mark::before { content: '+'; }
.context-choice:hover>span { border-color: #bb9bd9; background: #30233e; }
.context-choice input:checked+span { background: #463257; color: #f5eaff; border-color: #cba8f0; }
.context-choice input:checked+span .context-mark::before { content: '✓'; color: #eddaff; }
.context-choice input:focus-visible+span { outline: 2px solid #dbc3fc; outline-offset: 4px; }
.contact-reassurance { font-size: 13px; color: #b4a7c2; line-height: 1.8; margin: 22px 0 0; max-width: 420px; }
.contact-fields { background: linear-gradient(145deg,#241b30,#1b1724); border: 1px solid #554364; border-radius: 14px; padding: clamp(22px,2.5vw,36px); box-shadow: 0 24px 60px #0002; display: grid; gap: 20px; }
.contact-field-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.contact-field { display: grid; gap: 9px; min-width: 0; color: #eee5f6; font-size: 14px; font-weight: 600; }
.contact-field small { font-size: 12px; font-weight: 400; color: #b6a8c5; margin-left: 7px; }
.contact-field input,.contact-field textarea { font: inherit; font-size: 16px; font-weight: 400; width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #796586; border-radius: 7px; background: #14101c; color: #f3eaf9; caret-color: #d5bced; }
.contact-field textarea { resize: vertical; line-height: 1.6; min-height: 154px; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color: #ae9fbe; opacity: 1; }
.contact-field input:focus-visible,.contact-field textarea:focus-visible { outline: 2px solid #cba8f0; outline-offset: 3px; border-color: #cba8f0; }
.contact-field input:autofill { border-color: #cba8f0; }
.contact-short-note { font-size: 12px; line-height: 1.75; color: #bdafca; margin: -8px 0 0; }
.contact-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.contact-submit-row .button { background: #e2cdf5; color: #271730; border: 1px solid #e2cdf5; }
.contact-submit-row .button:hover { background: #eddefb; }
.contact-submit-row .button:disabled { opacity: .6; cursor: not-allowed; }
.contact-privacy-note { font-size: 12px; line-height: 1.7; color: #b6a8c5; margin: -7px 0 0; }
.contact-privacy-note a { color: #e2cdf5; text-underline-offset: 3px; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.contact-status { font-size: 14px; color: #e4cbfc; line-height: 1.75; margin: 0; }
.contact-status:empty { display: none; }
.contact-origin { border-left: 2px solid #bea0dc; padding-left: 14px; }
.contact-origin>span { font-size: 10px; text-transform: uppercase; letter-spacing: 1px; color: #bea6d0; }
.contact-origin p { margin: 6px 0; font-size: 13px; line-height: 1.65; color: #e6d9f1; }
.contact-origin button { padding: 4px 0; min-height: 30px; background: none; color: #c8b0db; text-decoration: underline; font-size: 12px; }
@media all {
  .site-header .menu-toggle { display: flex; gap: 14px; align-items: center; font-size: 14px; color: #e2d4ed; background: none; min-height: 44px; padding: 10px; }
  .site-header .menu-toggle>span { font-size: 22px; line-height: 1; }
  .site-header nav { display: none; position: absolute; left: var(--gutter); right: var(--gutter); top: calc(100% - 1px); padding: 16px; background: #211a2df7; border: 1px solid #725c85; border-radius: 10px; box-shadow: 0 20px 40px #0008; max-height: calc(100dvh - 125px); overflow-y: auto; }
  .site-header nav.is-open { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 4px 16px; }
  .site-header nav>a { padding: 12px 14px; font-size: 15px; min-height: 46px; border-radius: 6px; }
  .site-header nav>a:hover { background: #382947; }
  .site-header nav .nav-cta { justify-content: space-between; }
}
@media(max-width:900px) {
  .contact-layout { grid-template-columns: minmax(0,1fr); gap: 30px; max-width: 660px; margin-inline: auto; }
  .contact { padding: 72px 0; }
  .contact h2 { font-size: 46px; }
  .contact-lead { max-width: 580px; }
}
@media(max-width:560px) {
  .site-header nav.is-open { grid-template-columns: minmax(0,1fr); gap: 2px; }
  .site-header nav>a { font-size: 15px; }
  .contact { padding: 58px 0; }
  .contact h2 { font-size: clamp(34px,9vw,44px); letter-spacing: -1.3px; margin-bottom: 20px; }
  .contact-lead { font-size: 17px; line-height: 1.75; }
  .contact-context { margin-top: 26px; }
  .context-choices { gap: 8px; }
  .context-choice>span { font-size: 12px; padding: 10px 11px; }
  .contact-fields { padding: 21px; gap: 20px; }
  .contact-field-row { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .contact .eyebrow { font-size: 10px; letter-spacing: 1.5px; }
}

/* The approved Studio mark stays still while its small moon orbits. */
.site-header .wordmark { gap: 7px; }
.studio-header-mark { width: 56px; height: 42px; flex: none; overflow: visible; filter: drop-shadow(0 0 5px #bb8cf44d); }
.studio-header-mark .orbit-moon-front, .studio-header-mark .orbit-moon-back { filter: drop-shadow(0 0 3px #f5d6bd85); }
@media (max-width: 560px) {
  .site-header .wordmark { gap: 3px; }
  .studio-header-mark { width: 48px; height: 36px; }
}

/* Useful shared footer routes, including the customer methodology. */
.studio-footer-links{display:flex;flex-wrap:wrap;gap:12px 28px;padding-block:22px;font-size:12px;color:#cbbbd7}.studio-footer-links a{padding-block:8px}.studio-footer-links a:hover{color:#eadbff}

/* Website-first copy and a compact header at every viewport. */
.brand-disclaimer{font-size:11px!important;line-height:1.8!important;color:#75667e!important;margin-top:22px!important}.case-brand-disclaimer{color:#c3b4ce!important;max-width:1100px;margin-bottom:30px}.all-questions{margin-top:25px}.site-header nav{max-width:640px;left:auto;min-width:min(600px,calc(100vw - 2 * var(--gutter)))}.menu-toggle[aria-expanded=true]>span{transform:rotate(45deg)}@media(max-width:560px){.site-header nav{left:var(--gutter);min-width:0}.work .section-topline{align-items:flex-start;gap:16px}.work .section-topline>.micro{max-width:170px;text-align:right;font-size:8px}}
